document pokemon function symbols
This commit is contained in:
+6
-6
@@ -1132,7 +1132,7 @@ _0801067E:
|
|||||||
adds r1, r0
|
adds r1, r0
|
||||||
ldrh r0, [r1]
|
ldrh r0, [r1]
|
||||||
strh r0, [r2, 0x10]
|
strh r0, [r2, 0x10]
|
||||||
bl sub_8044708
|
bl SetDeoxysStats
|
||||||
ldr r1, _080106F0 @ =gUnknown_2023E82
|
ldr r1, _080106F0 @ =gUnknown_2023E82
|
||||||
b _080108B2
|
b _080108B2
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
@@ -1834,7 +1834,7 @@ _08010CE2:
|
|||||||
adds r1, r7, 0
|
adds r1, r7, 0
|
||||||
bl sub_8010414
|
bl sub_8010414
|
||||||
bl sub_801017C
|
bl sub_801017C
|
||||||
bl sub_8044708
|
bl SetDeoxysStats
|
||||||
ldr r0, _08010D4C @ =gDecompressionBuffer
|
ldr r0, _08010D4C @ =gDecompressionBuffer
|
||||||
ldr r1, _08010D50 @ =gPlayerParty
|
ldr r1, _08010D50 @ =gPlayerParty
|
||||||
movs r2, 0x96
|
movs r2, 0x96
|
||||||
@@ -6570,7 +6570,7 @@ _080131F6:
|
|||||||
add r1, r10
|
add r1, r10
|
||||||
ldr r2, [r1]
|
ldr r2, [r1]
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8044898
|
bl HandleSetPokedexFlag
|
||||||
b _080132C2
|
b _080132C2
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08013230: .4byte gBaseStats
|
_08013230: .4byte gBaseStats
|
||||||
@@ -6609,7 +6609,7 @@ _0801324C:
|
|||||||
add r1, r10
|
add r1, r10
|
||||||
ldr r2, [r1]
|
ldr r2, [r1]
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8044898
|
bl HandleSetPokedexFlag
|
||||||
b _080132B4
|
b _080132B4
|
||||||
_0801328E:
|
_0801328E:
|
||||||
ldr r0, _08013324 @ =0x0001aa02
|
ldr r0, _08013324 @ =0x0001aa02
|
||||||
@@ -6628,7 +6628,7 @@ _0801328E:
|
|||||||
add r1, r10
|
add r1, r10
|
||||||
ldr r2, [r1]
|
ldr r2, [r1]
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8044898
|
bl HandleSetPokedexFlag
|
||||||
_080132B4:
|
_080132B4:
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl EmitLoadMonSprite
|
bl EmitLoadMonSprite
|
||||||
@@ -7097,7 +7097,7 @@ _0801364C:
|
|||||||
adds r1, r7
|
adds r1, r7
|
||||||
ldr r2, [r1]
|
ldr r2, [r1]
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8044898
|
bl HandleSetPokedexFlag
|
||||||
_08013684:
|
_08013684:
|
||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
adds r0, 0x1
|
adds r0, 0x1
|
||||||
|
|||||||
@@ -3610,7 +3610,7 @@ _08049734:
|
|||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
lsrs r1, 24
|
lsrs r1, 24
|
||||||
adds r0, r7, 0
|
adds r0, r7, 0
|
||||||
bl sub_80448F8
|
bl CheckBattleTypeGhost
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08049754
|
beq _08049754
|
||||||
@@ -3755,7 +3755,7 @@ sub_804981C: @ 804981C
|
|||||||
ldr r6, _080498EC @ =gEnemyParty
|
ldr r6, _080498EC @ =gEnemyParty
|
||||||
adds r0, r6
|
adds r0, r6
|
||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
bl sub_80448F8
|
bl CheckBattleTypeGhost
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0804991C
|
bne _0804991C
|
||||||
|
|||||||
@@ -13273,7 +13273,7 @@ sub_80240D4: @ 80240D4
|
|||||||
adds r1, r4
|
adds r1, r4
|
||||||
ldr r2, [r1]
|
ldr r2, [r1]
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8044898
|
bl HandleSetPokedexFlag
|
||||||
_0802412A:
|
_0802412A:
|
||||||
ldr r2, _08024180 @ =gAbsentBattlerFlags
|
ldr r2, _08024180 @ =gAbsentBattlerFlags
|
||||||
ldr r1, _08024184 @ =gBitTable
|
ldr r1, _08024184 @ =gBitTable
|
||||||
@@ -13398,7 +13398,7 @@ _08024228:
|
|||||||
bl GetBankMultiplayerId
|
bl GetBankMultiplayerId
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
bl sub_8043620
|
bl GetLinkTrainerFlankId
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
@@ -21520,7 +21520,7 @@ _08028336:
|
|||||||
bl GetBankMultiplayerId
|
bl GetBankMultiplayerId
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
bl sub_8043620
|
bl GetLinkTrainerFlankId
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
@@ -21665,7 +21665,7 @@ _08028458:
|
|||||||
bl GetBankMultiplayerId
|
bl GetBankMultiplayerId
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
bl sub_8043620
|
bl GetLinkTrainerFlankId
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
@@ -32384,7 +32384,7 @@ _0802D9B4:
|
|||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
movs r1, 0x3
|
movs r1, 0x3
|
||||||
adds r2, r4, 0
|
adds r2, r4, 0
|
||||||
bl sub_8044898
|
bl HandleSetPokedexFlag
|
||||||
ldr r1, _0802D9D4 @ =gUnknown_2023D74
|
ldr r1, _0802D9D4 @ =gUnknown_2023D74
|
||||||
ldr r0, [r1]
|
ldr r0, [r1]
|
||||||
adds r0, 0x5
|
adds r0, 0x5
|
||||||
|
|||||||
+1
-1
@@ -2051,7 +2051,7 @@ sub_8080628: @ 8080628
|
|||||||
beq _080806BE
|
beq _080806BE
|
||||||
ldr r0, _08080668 @ =gTrainerBattleOpponent_A
|
ldr r0, _08080668 @ =gTrainerBattleOpponent_A
|
||||||
ldrh r0, [r0]
|
ldrh r0, [r0]
|
||||||
bl sub_804367C
|
bl GetTrainerEncounterMusicId
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0xD
|
cmp r0, 0xD
|
||||||
|
|||||||
+3
-3
@@ -1222,7 +1222,7 @@ _080E6286:
|
|||||||
adds r2, r3
|
adds r2, r3
|
||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
adds r1, r2
|
adds r1, r2
|
||||||
bl sub_803E0A4
|
bl CreateBattleTowerMon
|
||||||
adds r6, 0x1
|
adds r6, 0x1
|
||||||
cmp r6, 0x2
|
cmp r6, 0x2
|
||||||
ble _080E6286
|
ble _080E6286
|
||||||
@@ -1251,7 +1251,7 @@ _080E62B2:
|
|||||||
muls r2, r6
|
muls r2, r6
|
||||||
adds r2, 0x1C
|
adds r2, 0x1C
|
||||||
adds r1, r2
|
adds r1, r2
|
||||||
bl sub_803E0A4
|
bl CreateBattleTowerMon
|
||||||
adds r6, 0x1
|
adds r6, 0x1
|
||||||
cmp r6, 0x2
|
cmp r6, 0x2
|
||||||
ble _080E62B2
|
ble _080E62B2
|
||||||
@@ -2136,7 +2136,7 @@ _080E69A0:
|
|||||||
adds r2, r1
|
adds r2, r1
|
||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
adds r1, r2
|
adds r1, r2
|
||||||
bl sub_803E0A4
|
bl CreateBattleTowerMon
|
||||||
adds r5, 0x1
|
adds r5, 0x1
|
||||||
cmp r5, 0x2
|
cmp r5, 0x2
|
||||||
ble _080E69A0
|
ble _080E69A0
|
||||||
|
|||||||
+1
-1
@@ -5775,7 +5775,7 @@ _08019C40:
|
|||||||
mov r8, r0
|
mov r8, r0
|
||||||
_08019C66:
|
_08019C66:
|
||||||
adds r0, r7, 0
|
adds r0, r7, 0
|
||||||
bl sub_8043620
|
bl GetLinkTrainerFlankId
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r6, r0, 24
|
lsrs r6, r0, 24
|
||||||
lsls r0, r6, 1
|
lsls r0, r6, 1
|
||||||
|
|||||||
+1
-1
@@ -38,7 +38,7 @@ sub_8054C04: @ 8054C04
|
|||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsrs r4, 24
|
lsrs r4, 24
|
||||||
bl sub_80444F8
|
bl GetPlayerPartyHighestLevel
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
ldr r1, _08054C40 @ =gUnknown_826D294
|
ldr r1, _08054C40 @ =gUnknown_826D294
|
||||||
|
|||||||
+1
-1
@@ -18182,7 +18182,7 @@ sub_8127AC0: @ 8127AC0
|
|||||||
bne _08127B08
|
bne _08127B08
|
||||||
_08127AE6:
|
_08127AE6:
|
||||||
ldr r4, _08127AFC @ =gStringVar1
|
ldr r4, _08127AFC @ =gStringVar1
|
||||||
bl sub_80444C4
|
bl GetTrainerPartnerName
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl StringCopy
|
bl StringCopy
|
||||||
|
|||||||
+59
-59
@@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_80444F8
|
thumb_func_start GetPlayerPartyHighestLevel
|
||||||
sub_80444F8: @ 80444F8
|
GetPlayerPartyHighestLevel: @ 80444F8
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
movs r6, 0x1
|
movs r6, 0x1
|
||||||
movs r5, 0
|
movs r5, 0
|
||||||
@@ -47,10 +47,10 @@ _08044538:
|
|||||||
bx r1
|
bx r1
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044548: .4byte gPlayerParty
|
_08044548: .4byte gPlayerParty
|
||||||
thumb_func_end sub_80444F8
|
thumb_func_end GetPlayerPartyHighestLevel
|
||||||
|
|
||||||
thumb_func_start sub_804454C
|
thumb_func_start FacilityClassToPicIndex
|
||||||
sub_804454C: @ 804454C
|
FacilityClassToPicIndex: @ 804454C
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
ldr r1, _08044558 @ =gFacilityClassToPicIndex
|
ldr r1, _08044558 @ =gFacilityClassToPicIndex
|
||||||
@@ -59,7 +59,7 @@ sub_804454C: @ 804454C
|
|||||||
bx lr
|
bx lr
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044558: .4byte gFacilityClassToPicIndex
|
_08044558: .4byte gFacilityClassToPicIndex
|
||||||
thumb_func_end sub_804454C
|
thumb_func_end FacilityClassToPicIndex
|
||||||
|
|
||||||
thumb_func_start sub_804455C
|
thumb_func_start sub_804455C
|
||||||
sub_804455C: @ 804455C
|
sub_804455C: @ 804455C
|
||||||
@@ -261,7 +261,7 @@ _080446CC:
|
|||||||
lsls r2, r6, 24
|
lsls r2, r6, 24
|
||||||
lsrs r2, 24
|
lsrs r2, 24
|
||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
bl nature_stat_mod
|
bl ModifyStatByNature
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r4, r0, 16
|
lsrs r4, r0, 16
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
@@ -273,8 +273,8 @@ _080446FE:
|
|||||||
_08044704: .4byte gUnknown_825E026
|
_08044704: .4byte gUnknown_825E026
|
||||||
thumb_func_end GetDeoxysStat
|
thumb_func_end GetDeoxysStat
|
||||||
|
|
||||||
thumb_func_start sub_8044708
|
thumb_func_start SetDeoxysStats
|
||||||
sub_8044708: @ 8044708
|
SetDeoxysStats: @ 8044708
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
sub sp, 0x4
|
sub sp, 0x4
|
||||||
movs r5, 0
|
movs r5, 0
|
||||||
@@ -347,7 +347,7 @@ _08044798:
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080447A8: .4byte gPlayerParty
|
_080447A8: .4byte gPlayerParty
|
||||||
thumb_func_end sub_8044708
|
thumb_func_end SetDeoxysStats
|
||||||
|
|
||||||
thumb_func_start sub_80447AC
|
thumb_func_start sub_80447AC
|
||||||
sub_80447AC: @ 80447AC
|
sub_80447AC: @ 80447AC
|
||||||
@@ -374,7 +374,7 @@ sub_80447AC: @ 80447AC
|
|||||||
lsls r2, 1
|
lsls r2, 1
|
||||||
adds r2, r0
|
adds r2, r0
|
||||||
ldrh r0, [r2]
|
ldrh r0, [r2]
|
||||||
bl sub_804454C
|
bl FacilityClassToPicIndex
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
pop {r1}
|
pop {r1}
|
||||||
@@ -420,8 +420,8 @@ _08044830: .4byte gFacilityClassToTrainerClass
|
|||||||
_08044834: .4byte gUnknown_825E032
|
_08044834: .4byte gUnknown_825E032
|
||||||
thumb_func_end sub_80447F0
|
thumb_func_end sub_80447F0
|
||||||
|
|
||||||
thumb_func_start sub_8044838
|
thumb_func_start CreateObedientEnemyMon
|
||||||
sub_8044838: @ 8044838
|
CreateObedientEnemyMon: @ 8044838
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
sub sp, 0x14
|
sub sp, 0x14
|
||||||
ldr r0, _08044888 @ =gSpecialVar_0x8004
|
ldr r0, _08044888 @ =gSpecialVar_0x8004
|
||||||
@@ -465,10 +465,10 @@ _08044888: .4byte gSpecialVar_0x8004
|
|||||||
_0804488C: .4byte gSpecialVar_0x8005
|
_0804488C: .4byte gSpecialVar_0x8005
|
||||||
_08044890: .4byte gSpecialVar_0x8006
|
_08044890: .4byte gSpecialVar_0x8006
|
||||||
_08044894: .4byte gEnemyParty
|
_08044894: .4byte gEnemyParty
|
||||||
thumb_func_end sub_8044838
|
thumb_func_end CreateObedientEnemyMon
|
||||||
|
|
||||||
thumb_func_start sub_8044898
|
thumb_func_start HandleSetPokedexFlag
|
||||||
sub_8044898: @ 8044898
|
HandleSetPokedexFlag: @ 8044898
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
adds r7, r2, 0
|
adds r7, r2, 0
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
@@ -515,10 +515,10 @@ _080448EE:
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080448F4: .4byte gSaveBlock2Ptr
|
_080448F4: .4byte gSaveBlock2Ptr
|
||||||
thumb_func_end sub_8044898
|
thumb_func_end HandleSetPokedexFlag
|
||||||
|
|
||||||
thumb_func_start sub_80448F8
|
thumb_func_start CheckBattleTypeGhost
|
||||||
sub_80448F8: @ 80448F8
|
CheckBattleTypeGhost: @ 80448F8
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
sub sp, 0xC
|
sub sp, 0xC
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
@@ -559,10 +559,10 @@ _08044946:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_80448F8
|
thumb_func_end CheckBattleTypeGhost
|
||||||
|
|
||||||
thumb_func_start sub_8044950
|
thumb_func_start OakSpeechNidoranFSetupTemplate
|
||||||
sub_8044950: @ 8044950
|
OakSpeechNidoranFSetupTemplate: @ 8044950
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
mov r7, r10
|
mov r7, r10
|
||||||
mov r6, r9
|
mov r6, r9
|
||||||
@@ -688,10 +688,10 @@ _08044A2C:
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044A3C: .4byte gUnknown_825DEF0
|
_08044A3C: .4byte gUnknown_825DEF0
|
||||||
thumb_func_end sub_8044950
|
thumb_func_end OakSpeechNidoranFSetupTemplate
|
||||||
|
|
||||||
thumb_func_start sub_8044A40
|
thumb_func_start OakSpeechNidoranFSetupTemplateDummy
|
||||||
sub_8044A40: @ 8044A40
|
OakSpeechNidoranFSetupTemplateDummy: @ 8044A40
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
mov r7, r10
|
mov r7, r10
|
||||||
mov r6, r9
|
mov r6, r9
|
||||||
@@ -783,10 +783,10 @@ _08044ADA:
|
|||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044AE8: .4byte gUnknown_825E05C
|
_08044AE8: .4byte gUnknown_825E05C
|
||||||
_08044AEC: .4byte gUnknown_82349BC
|
_08044AEC: .4byte gUnknown_82349BC
|
||||||
thumb_func_end sub_8044A40
|
thumb_func_end OakSpeechNidoranFSetupTemplateDummy
|
||||||
|
|
||||||
thumb_func_start SetUpMonSpriteManagerMaybe
|
thumb_func_start OakSpeechNidoranFSetup
|
||||||
SetUpMonSpriteManagerMaybe: @ 8044AF0
|
OakSpeechNidoranFSetup: @ 8044AF0
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
mov r7, r8
|
mov r7, r8
|
||||||
push {r7}
|
push {r7}
|
||||||
@@ -796,7 +796,7 @@ SetUpMonSpriteManagerMaybe: @ 8044AF0
|
|||||||
lsrs r5, r1, 24
|
lsrs r5, r1, 24
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
mov r8, r0
|
mov r8, r0
|
||||||
ldr r4, _08044B34 @ =gUnknown_20244F4
|
ldr r4, _08044B34 @ =sOakTutNidoranResources
|
||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
cmp r1, 0
|
cmp r1, 0
|
||||||
beq _08044B1E
|
beq _08044B1E
|
||||||
@@ -810,7 +810,7 @@ SetUpMonSpriteManagerMaybe: @ 8044AF0
|
|||||||
mov r1, r8
|
mov r1, r8
|
||||||
str r1, [r4]
|
str r1, [r4]
|
||||||
_08044B1E:
|
_08044B1E:
|
||||||
ldr r4, _08044B34 @ =gUnknown_20244F4
|
ldr r4, _08044B34 @ =sOakTutNidoranResources
|
||||||
movs r0, 0x18
|
movs r0, 0x18
|
||||||
bl AllocZeroed
|
bl AllocZeroed
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
@@ -821,7 +821,7 @@ _08044B2E:
|
|||||||
movs r0, 0
|
movs r0, 0
|
||||||
b _08044D70
|
b _08044D70
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044B34: .4byte gUnknown_20244F4
|
_08044B34: .4byte sOakTutNidoranResources
|
||||||
_08044B38:
|
_08044B38:
|
||||||
cmp r5, 0
|
cmp r5, 0
|
||||||
beq _08044B94
|
beq _08044B94
|
||||||
@@ -862,7 +862,7 @@ _08044B64:
|
|||||||
_08044B7C:
|
_08044B7C:
|
||||||
orrs r0, r1
|
orrs r0, r1
|
||||||
strb r0, [r2]
|
strb r0, [r2]
|
||||||
ldr r2, _08044B90 @ =gUnknown_20244F4
|
ldr r2, _08044B90 @ =sOakTutNidoranResources
|
||||||
ldr r1, [r2]
|
ldr r1, [r2]
|
||||||
movs r0, 0x4
|
movs r0, 0x4
|
||||||
strb r0, [r1, 0x1]
|
strb r0, [r1, 0x1]
|
||||||
@@ -871,7 +871,7 @@ _08044B7C:
|
|||||||
strb r0, [r1, 0x3]
|
strb r0, [r1, 0x3]
|
||||||
b _08044BD0
|
b _08044BD0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044B90: .4byte gUnknown_20244F4
|
_08044B90: .4byte sOakTutNidoranResources
|
||||||
_08044B94:
|
_08044B94:
|
||||||
cmp r6, 0
|
cmp r6, 0
|
||||||
bne _08044B9A
|
bne _08044B9A
|
||||||
@@ -881,7 +881,7 @@ _08044B9A:
|
|||||||
bls _08044BA0
|
bls _08044BA0
|
||||||
movs r6, 0x8
|
movs r6, 0x8
|
||||||
_08044BA0:
|
_08044BA0:
|
||||||
ldr r4, _08044C10 @ =gUnknown_20244F4
|
ldr r4, _08044C10 @ =sOakTutNidoranResources
|
||||||
ldr r3, [r4]
|
ldr r3, [r4]
|
||||||
movs r0, 0xF
|
movs r0, 0xF
|
||||||
adds r1, r6, 0
|
adds r1, r6, 0
|
||||||
@@ -906,7 +906,7 @@ _08044BA0:
|
|||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
strb r2, [r0, 0x3]
|
strb r2, [r0, 0x3]
|
||||||
_08044BD0:
|
_08044BD0:
|
||||||
ldr r5, _08044C10 @ =gUnknown_20244F4
|
ldr r5, _08044C10 @ =sOakTutNidoranResources
|
||||||
ldr r0, [r5]
|
ldr r0, [r5]
|
||||||
ldrb r1, [r0, 0x1]
|
ldrb r1, [r0, 0x1]
|
||||||
lsls r1, 11
|
lsls r1, 11
|
||||||
@@ -937,7 +937,7 @@ _08044C04:
|
|||||||
mov r8, r1
|
mov r8, r1
|
||||||
b _08044C44
|
b _08044C44
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044C10: .4byte gUnknown_20244F4
|
_08044C10: .4byte sOakTutNidoranResources
|
||||||
_08044C14:
|
_08044C14:
|
||||||
ldrb r0, [r1]
|
ldrb r0, [r1]
|
||||||
lsls r0, 28
|
lsls r0, 28
|
||||||
@@ -965,7 +965,7 @@ _08044C20:
|
|||||||
cmp r4, r0
|
cmp r4, r0
|
||||||
blt _08044C20
|
blt _08044C20
|
||||||
_08044C44:
|
_08044C44:
|
||||||
ldr r5, _08044C8C @ =gUnknown_20244F4
|
ldr r5, _08044C8C @ =sOakTutNidoranResources
|
||||||
ldr r0, [r5]
|
ldr r0, [r5]
|
||||||
ldrb r1, [r0]
|
ldrb r1, [r0]
|
||||||
lsls r1, 28
|
lsls r1, 28
|
||||||
@@ -1000,7 +1000,7 @@ _08044C7C:
|
|||||||
mov r8, r0
|
mov r8, r0
|
||||||
b _08044CE2
|
b _08044CE2
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044C8C: .4byte gUnknown_20244F4
|
_08044C8C: .4byte sOakTutNidoranResources
|
||||||
_08044C90:
|
_08044C90:
|
||||||
movs r4, 0
|
movs r4, 0
|
||||||
ldrb r0, [r1, 0x1]
|
ldrb r0, [r1, 0x1]
|
||||||
@@ -1038,19 +1038,19 @@ _08044CC6:
|
|||||||
cmp r4, 0x1
|
cmp r4, 0x1
|
||||||
bne _08044CDA
|
bne _08044CDA
|
||||||
adds r1, r6, 0
|
adds r1, r6, 0
|
||||||
bl sub_8044950
|
bl OakSpeechNidoranFSetupTemplate
|
||||||
b _08044CE2
|
b _08044CE2
|
||||||
_08044CDA:
|
_08044CDA:
|
||||||
ldr r0, _08044D60 @ =gUnknown_20244F4
|
ldr r0, _08044D60 @ =sOakTutNidoranResources
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8044A40
|
bl OakSpeechNidoranFSetupTemplateDummy
|
||||||
_08044CE2:
|
_08044CE2:
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
mov r1, r8
|
mov r1, r8
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08044D12
|
beq _08044D12
|
||||||
ldr r4, _08044D60 @ =gUnknown_20244F4
|
ldr r4, _08044D60 @ =sOakTutNidoranResources
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
ldr r0, [r0, 0x14]
|
ldr r0, [r0, 0x14]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
@@ -1074,7 +1074,7 @@ _08044D12:
|
|||||||
ands r0, r1
|
ands r0, r1
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08044D42
|
beq _08044D42
|
||||||
ldr r4, _08044D60 @ =gUnknown_20244F4
|
ldr r4, _08044D60 @ =sOakTutNidoranResources
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
ldr r0, [r0, 0xC]
|
ldr r0, [r0, 0xC]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
@@ -1096,7 +1096,7 @@ _08044D42:
|
|||||||
mov r0, r8
|
mov r0, r8
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08044D64
|
beq _08044D64
|
||||||
ldr r4, _08044D60 @ =gUnknown_20244F4
|
ldr r4, _08044D60 @ =sOakTutNidoranResources
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
movs r2, 0x18
|
movs r2, 0x18
|
||||||
@@ -1107,14 +1107,14 @@ _08044D42:
|
|||||||
str r0, [r4]
|
str r0, [r4]
|
||||||
b _08044D6C
|
b _08044D6C
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044D60: .4byte gUnknown_20244F4
|
_08044D60: .4byte sOakTutNidoranResources
|
||||||
_08044D64:
|
_08044D64:
|
||||||
ldr r0, _08044D7C @ =gUnknown_20244F4
|
ldr r0, _08044D7C @ =sOakTutNidoranResources
|
||||||
ldr r1, [r0]
|
ldr r1, [r0]
|
||||||
movs r0, 0xA3
|
movs r0, 0xA3
|
||||||
strb r0, [r1, 0x2]
|
strb r0, [r1, 0x2]
|
||||||
_08044D6C:
|
_08044D6C:
|
||||||
ldr r0, _08044D7C @ =gUnknown_20244F4
|
ldr r0, _08044D7C @ =sOakTutNidoranResources
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
_08044D70:
|
_08044D70:
|
||||||
pop {r3}
|
pop {r3}
|
||||||
@@ -1123,13 +1123,13 @@ _08044D70:
|
|||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044D7C: .4byte gUnknown_20244F4
|
_08044D7C: .4byte sOakTutNidoranResources
|
||||||
thumb_func_end SetUpMonSpriteManagerMaybe
|
thumb_func_end OakSpeechNidoranFSetup
|
||||||
|
|
||||||
thumb_func_start sub_8044D80
|
thumb_func_start OakSpeechNidoranFFreeResources
|
||||||
sub_8044D80: @ 8044D80
|
OakSpeechNidoranFFreeResources: @ 8044D80
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
ldr r4, _08044D9C @ =gUnknown_20244F4
|
ldr r4, _08044D9C @ =sOakTutNidoranResources
|
||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
cmp r1, 0
|
cmp r1, 0
|
||||||
beq _08044DFA
|
beq _08044DFA
|
||||||
@@ -1142,7 +1142,7 @@ sub_8044D80: @ 8044D80
|
|||||||
bl memset
|
bl memset
|
||||||
b _08044DF6
|
b _08044DF6
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044D9C: .4byte gUnknown_20244F4
|
_08044D9C: .4byte sOakTutNidoranResources
|
||||||
_08044DA0:
|
_08044DA0:
|
||||||
ldr r0, [r1, 0x14]
|
ldr r0, [r1, 0x14]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
@@ -1192,14 +1192,14 @@ _08044DFA:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
thumb_func_end sub_8044D80
|
thumb_func_end OakSpeechNidoranFFreeResources
|
||||||
|
|
||||||
thumb_func_start sub_8044E00
|
thumb_func_start OakSpeechNidoranFGetBuffer
|
||||||
sub_8044E00: @ 8044E00
|
OakSpeechNidoranFGetBuffer: @ 8044E00
|
||||||
push {lr}
|
push {lr}
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r1, r0, 24
|
lsrs r1, r0, 24
|
||||||
ldr r0, _08044E14 @ =gUnknown_20244F4
|
ldr r0, _08044E14 @ =sOakTutNidoranResources
|
||||||
ldr r2, [r0]
|
ldr r2, [r0]
|
||||||
ldrb r0, [r2, 0x2]
|
ldrb r0, [r2, 0x2]
|
||||||
cmp r0, 0xA3
|
cmp r0, 0xA3
|
||||||
@@ -1207,7 +1207,7 @@ sub_8044E00: @ 8044E00
|
|||||||
movs r0, 0
|
movs r0, 0
|
||||||
b _08044E2C
|
b _08044E2C
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08044E14: .4byte gUnknown_20244F4
|
_08044E14: .4byte sOakTutNidoranResources
|
||||||
_08044E18:
|
_08044E18:
|
||||||
ldrb r0, [r2]
|
ldrb r0, [r2]
|
||||||
lsls r0, 28
|
lsls r0, 28
|
||||||
@@ -1223,6 +1223,6 @@ _08044E24:
|
|||||||
_08044E2C:
|
_08044E2C:
|
||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_8044E00
|
thumb_func_end OakSpeechNidoranFGetBuffer
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
.align 2, 0 @ Don't pad with nop.
|
||||||
|
|||||||
+1
-1
@@ -8135,7 +8135,7 @@ sub_80507A0: @ 80507A0
|
|||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x3
|
movs r1, 0x3
|
||||||
adds r2, r5, 0
|
adds r2, r5, 0
|
||||||
bl sub_8044898
|
bl HandleSetPokedexFlag
|
||||||
_080507F4:
|
_080507F4:
|
||||||
pop {r4,r5}
|
pop {r4,r5}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
|
|||||||
+2
-2
@@ -4955,7 +4955,7 @@ sub_808B838: @ 808B838
|
|||||||
adds r0, r1
|
adds r0, r1
|
||||||
ldrb r4, [r0]
|
ldrb r4, [r0]
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_804454C
|
bl FacilityClassToPicIndex
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
ldr r4, _0808B8A0 @ =gUnknown_83CD8EC
|
ldr r4, _0808B8A0 @ =gUnknown_83CD8EC
|
||||||
@@ -4982,7 +4982,7 @@ _0808B8A4:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _0808B8FC
|
beq _0808B8FC
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_804454C
|
bl FacilityClassToPicIndex
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
ldr r4, _0808B8F4 @ =gUnknown_83CD8EC
|
ldr r4, _0808B8F4 @ =gUnknown_83CD8EC
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ EventScript_1652C0:: @ 81652C0
|
|||||||
setvar VAR_0x8004, SPECIES_DEOXYS
|
setvar VAR_0x8004, SPECIES_DEOXYS
|
||||||
setvar VAR_0x8005, 30
|
setvar VAR_0x8005, 30
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_8044838
|
special CreateObedientEnemyMon
|
||||||
setflag FLAG_0x807
|
setflag FLAG_0x807
|
||||||
special sub_807F9D8
|
special sub_807F9D8
|
||||||
waitstate
|
waitstate
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ NavelRock_Base_EventScript_165134:: @ 8165134
|
|||||||
setvar VAR_0x8004, SPECIES_LUGIA
|
setvar VAR_0x8004, SPECIES_LUGIA
|
||||||
setvar VAR_0x8005, 70
|
setvar VAR_0x8005, 70
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_8044838
|
special CreateObedientEnemyMon
|
||||||
setflag FLAG_0x807
|
setflag FLAG_0x807
|
||||||
special sub_807F9D8
|
special sub_807F9D8
|
||||||
waitstate
|
waitstate
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ NavelRock_Summit_EventScript_164FFB:: @ 8164FFB
|
|||||||
setvar VAR_0x8004, SPECIES_HO_OH
|
setvar VAR_0x8004, SPECIES_HO_OH
|
||||||
setvar VAR_0x8005, 70
|
setvar VAR_0x8005, 70
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_8044838
|
special CreateObedientEnemyMon
|
||||||
setflag FLAG_0x807
|
setflag FLAG_0x807
|
||||||
special sub_807F9D8
|
special sub_807F9D8
|
||||||
waitstate
|
waitstate
|
||||||
|
|||||||
+1
-1
@@ -452,5 +452,5 @@ gSpecials:: @ 815FD60
|
|||||||
def_special sub_80CB328
|
def_special sub_80CB328
|
||||||
def_special sub_80CD154
|
def_special sub_80CD154
|
||||||
def_special sub_80CD1B4
|
def_special sub_80CD1B4
|
||||||
def_special sub_8044838
|
def_special CreateObedientEnemyMon
|
||||||
gSpecialsEnd::
|
gSpecialsEnd::
|
||||||
|
|||||||
+3
-2
@@ -607,7 +607,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex);
|
|||||||
u8 GetNature(struct Pokemon *mon);
|
u8 GetNature(struct Pokemon *mon);
|
||||||
u8 GetNatureFromPersonality(u32 personality);
|
u8 GetNatureFromPersonality(u32 personality);
|
||||||
|
|
||||||
u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex);
|
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex);
|
||||||
|
|
||||||
void MonRestorePP(struct Pokemon *);
|
void MonRestorePP(struct Pokemon *);
|
||||||
void BoxMonRestorePP(struct BoxPokemon *);
|
void BoxMonRestorePP(struct BoxPokemon *);
|
||||||
@@ -666,6 +666,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon);
|
|||||||
void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon);
|
void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon);
|
||||||
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
|
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
|
||||||
bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId);
|
bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId);
|
||||||
|
u16 GetDeoxysStat(struct Pokemon *mon, s32 statId);
|
||||||
|
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
|
||||||
@@ -675,7 +676,7 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species);
|
|||||||
|
|
||||||
void PlayMapChosenOrBattleBGM(u16 songId);
|
void PlayMapChosenOrBattleBGM(u16 songId);
|
||||||
u8 GetMonsStateToDoubles(void);
|
u8 GetMonsStateToDoubles(void);
|
||||||
void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src);
|
void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src);
|
||||||
void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition);
|
void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition);
|
||||||
|
|
||||||
const u8 * Battle_PrintStatBoosterEffectMessage(u16 itemId);
|
const u8 * Battle_PrintStatBoosterEffectMessage(u16 itemId);
|
||||||
|
|||||||
+3
-3
@@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
const u8* GetTrainerClassNameFromId(u16 trainerId);
|
const u8* GetTrainerClassNameFromId(u16 trainerId);
|
||||||
const u8* GetTrainerNameFromId(u16 trainerId);
|
const u8* GetTrainerNameFromId(u16 trainerId);
|
||||||
void * SetUpMonSpriteManagerMaybe(u8, u8);
|
void * OakSpeechNidoranFSetup(u8, u8);
|
||||||
void sub_8044D80(void);
|
void OakSpeechNidoranFFreeResources(void);
|
||||||
void * sub_8044E00(u8 buffId);
|
void * OakSpeechNidoranFGetBuffer(u8 buffId);
|
||||||
|
|
||||||
#endif // GUARD_POKEMON_3_H
|
#endif // GUARD_POKEMON_3_H
|
||||||
|
|||||||
+3
-3
@@ -500,7 +500,7 @@ static void Task_OaksSpeech1(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources));
|
sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources));
|
||||||
SetUpMonSpriteManagerMaybe(1, 1);
|
OakSpeechNidoranFSetup(1, 1);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||||
@@ -1513,7 +1513,7 @@ static void Task_OakSpeech41(u8 taskId)
|
|||||||
static void Task_OakSpeech42(u8 taskId)
|
static void Task_OakSpeech42(u8 taskId)
|
||||||
{
|
{
|
||||||
FreeAllWindowBuffers();
|
FreeAllWindowBuffers();
|
||||||
sub_8044D80();
|
OakSpeechNidoranFFreeResources();
|
||||||
Free(sOakSpeechResources);
|
Free(sOakSpeechResources);
|
||||||
sOakSpeechResources = NULL;
|
sOakSpeechResources = NULL;
|
||||||
gTextFlags.canABSpeedUpPrint = FALSE;
|
gTextFlags.canABSpeedUpPrint = FALSE;
|
||||||
@@ -1612,7 +1612,7 @@ static void CreateNidoranFSprite(u8 taskId)
|
|||||||
{
|
{
|
||||||
u8 spriteId;
|
u8 spriteId;
|
||||||
|
|
||||||
DecompressPicFromTable(gUnknown_8235194, sub_8044E00(0), SPECIES_NIDORAN_F);
|
DecompressPicFromTable(gUnknown_8235194, OakSpeechNidoranFGetBuffer(0), SPECIES_NIDORAN_F);
|
||||||
LoadCompressedSpritePaletteUsingHeap(&gUnknown_82373F4);
|
LoadCompressedSpritePaletteUsingHeap(&gUnknown_82373F4);
|
||||||
SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0);
|
SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0);
|
||||||
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1);
|
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1);
|
||||||
|
|||||||
+20
-22
@@ -44,11 +44,10 @@ struct UnkStruct20244F4
|
|||||||
};
|
};
|
||||||
|
|
||||||
// External symbols
|
// External symbols
|
||||||
extern struct UnkStruct20244F4 *gUnknown_20244F4;
|
extern struct UnkStruct20244F4 *sOakTutNidoranResources;
|
||||||
extern struct SpriteTemplate gUnknown_825DEF0[];
|
extern struct SpriteTemplate gUnknown_825DEF0[];
|
||||||
extern struct SpriteTemplate gUnknown_825DF50[];
|
extern struct SpriteTemplate gUnknown_825DF50[];
|
||||||
extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
|
extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
|
||||||
extern struct SpriteTemplate gUnknown_825DEF0[];
|
|
||||||
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
|
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
|
||||||
extern const union AnimCmd *const gUnknown_82349BC[];
|
extern const union AnimCmd *const gUnknown_82349BC[];
|
||||||
extern const u8 gUnknown_825DEA1[];
|
extern const u8 gUnknown_825DEA1[];
|
||||||
@@ -90,7 +89,6 @@ extern u8 StorageGetCurrentBox(void); // pokemon_storage_system
|
|||||||
extern void sub_80174B8(u8 battlerId);
|
extern void sub_80174B8(u8 battlerId);
|
||||||
|
|
||||||
union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType);
|
union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType);
|
||||||
s32 GetDeoxysStat(struct Pokemon *mon, s32 statId);
|
|
||||||
|
|
||||||
// code
|
// code
|
||||||
void ZeroBoxMonData(struct BoxPokemon *boxMon)
|
void ZeroBoxMonData(struct BoxPokemon *boxMon)
|
||||||
@@ -351,7 +349,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI
|
|||||||
CalculateMonStats(mon);
|
CalculateMonStats(mon);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src)
|
void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src)
|
||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
u8 value;
|
u8 value;
|
||||||
@@ -476,7 +474,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon)
|
|||||||
u8 baseStat = gBaseStats[species].base; \
|
u8 baseStat = gBaseStats[species].base; \
|
||||||
s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \
|
s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \
|
||||||
u8 nature = GetNature(mon); \
|
u8 nature = GetNature(mon); \
|
||||||
n = nature_stat_mod(nature, n, statIndex); \
|
n = ModifyStatByNature(nature, n, statIndex); \
|
||||||
SetMonData(mon, field, &n); \
|
SetMonData(mon, field, &n); \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1122,7 +1120,7 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality)
|
|||||||
return MON_MALE;
|
return MON_MALE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition)
|
void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition)
|
||||||
{
|
{
|
||||||
if(gMonSpritesGfxPtr != NULL)
|
if(gMonSpritesGfxPtr != NULL)
|
||||||
{
|
{
|
||||||
@@ -1133,12 +1131,12 @@ void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(gUnknown_20244F4)
|
if(sOakTutNidoranResources)
|
||||||
{
|
{
|
||||||
if(battlerPosition >= (s8)gUnknown_20244F4->unk0_2) // why a cast?!? changing the unk0_2 type to s8 causes extra shifts, but a cast is the correct fix. why, compiler?
|
if(battlerPosition >= (s8)sOakTutNidoranResources->unk0_2) // why a cast?!? changing the unk0_2 type to s8 causes extra shifts, but a cast is the correct fix. why, compiler?
|
||||||
battlerPosition = 0;
|
battlerPosition = 0;
|
||||||
|
|
||||||
gMultiuseSpriteTemplate = gUnknown_20244F4->unk10[battlerPosition];
|
gMultiuseSpriteTemplate = sOakTutNidoranResources->unk10[battlerPosition];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1148,7 +1146,7 @@ void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition)
|
|||||||
gMultiuseSpriteTemplate = gUnknown_825DEF0[battlerPosition];
|
gMultiuseSpriteTemplate = gUnknown_825DEF0[battlerPosition];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gMultiuseSpriteTemplate.paletteTag = trainerSpriteId;
|
gMultiuseSpriteTemplate.paletteTag = speciesTag;
|
||||||
gMultiuseSpriteTemplate.anims = gUnknown_82349BC;
|
gMultiuseSpriteTemplate.anims = gUnknown_82349BC;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1290,27 +1288,27 @@ u32 GetMonData(struct Pokemon *mon, s32 field, u8* data)
|
|||||||
ret = mon->maxHP;
|
ret = mon->maxHP;
|
||||||
break;
|
break;
|
||||||
case MON_DATA_ATK:
|
case MON_DATA_ATK:
|
||||||
ret = (u16)GetDeoxysStat(mon, STAT_ATK);
|
ret = GetDeoxysStat(mon, STAT_ATK);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = mon->attack;
|
ret = mon->attack;
|
||||||
break;
|
break;
|
||||||
case MON_DATA_DEF:
|
case MON_DATA_DEF:
|
||||||
ret = (u16)GetDeoxysStat(mon, STAT_DEF);
|
ret = GetDeoxysStat(mon, STAT_DEF);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = mon->defense;
|
ret = mon->defense;
|
||||||
break;
|
break;
|
||||||
case MON_DATA_SPEED:
|
case MON_DATA_SPEED:
|
||||||
ret = (u16)GetDeoxysStat(mon, STAT_SPEED);
|
ret = GetDeoxysStat(mon, STAT_SPEED);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = mon->speed;
|
ret = mon->speed;
|
||||||
break;
|
break;
|
||||||
case MON_DATA_SPATK:
|
case MON_DATA_SPATK:
|
||||||
ret = (u16)GetDeoxysStat(mon, STAT_SPATK);
|
ret = GetDeoxysStat(mon, STAT_SPATK);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = mon->spAttack;
|
ret = mon->spAttack;
|
||||||
break;
|
break;
|
||||||
case MON_DATA_SPDEF:
|
case MON_DATA_SPDEF:
|
||||||
ret = (u16)GetDeoxysStat(mon, STAT_SPDEF);
|
ret = GetDeoxysStat(mon, STAT_SPDEF);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = mon->spDefense;
|
ret = mon->spDefense;
|
||||||
break;
|
break;
|
||||||
@@ -4928,7 +4926,7 @@ bool8 sub_80435E0(void)
|
|||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool8 sub_8043620(u8 id)
|
bool8 GetLinkTrainerFlankId(u8 id)
|
||||||
{
|
{
|
||||||
bool8 retVal = FALSE;
|
bool8 retVal = FALSE;
|
||||||
switch (gLinkPlayers[id].id)
|
switch (gLinkPlayers[id].id)
|
||||||
@@ -4954,12 +4952,12 @@ s32 GetBankMultiplayerId(u16 a1)
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 sub_804367C(u16 trainer)
|
u8 GetTrainerEncounterMusicId(u16 trainer)
|
||||||
{
|
{
|
||||||
return gTrainers[trainer].encounterMusic_gender & 0x7F;
|
return gTrainers[trainer].encounterMusic_gender & 0x7F;
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex)
|
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex)
|
||||||
{
|
{
|
||||||
if (statIndex < 1 || statIndex > 5)
|
if (statIndex < 1 || statIndex > 5)
|
||||||
{
|
{
|
||||||
@@ -5214,7 +5212,7 @@ void sub_8043B40(void)
|
|||||||
u8 foo[4]; // huh?
|
u8 foo[4]; // huh?
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8043B48(struct Pokemon *mon, int species, u8 unused, u32 data)
|
void SetMonExpWithMaxLevelCheck(struct Pokemon *mon, int species, u8 unused, u32 data)
|
||||||
{
|
{
|
||||||
if (data > gExperienceTables[gBaseStats[species].growthRate][100])
|
if (data > gExperienceTables[gBaseStats[species].growthRate][100])
|
||||||
{
|
{
|
||||||
@@ -5235,7 +5233,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon)
|
|||||||
if(exp > gExperienceTables[gBaseStats[species].growthRate][newLevel])
|
if(exp > gExperienceTables[gBaseStats[species].growthRate][newLevel])
|
||||||
{
|
{
|
||||||
SetMonData(mon, MON_DATA_LEVEL, &newLevel);
|
SetMonData(mon, MON_DATA_LEVEL, &newLevel);
|
||||||
sub_8043B48(mon, species, newLevel, exp);
|
SetMonExpWithMaxLevelCheck(mon, species, newLevel, exp);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -5243,7 +5241,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_8043B48(mon, species, level, exp);
|
SetMonExpWithMaxLevelCheck(mon, species, level, exp);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5604,7 +5602,7 @@ bool8 IsShinyOtIdPersonality(u32 otId, u32 personality)
|
|||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 *sub_80444C4(void)
|
u8 *GetTrainerPartnerName(void)
|
||||||
{
|
{
|
||||||
u8 id = GetMultiplayerId();
|
u8 id = GetMultiplayerId();
|
||||||
return gLinkPlayers[GetBankMultiplayerId(gLinkPlayers[id].id ^ 2)].name;
|
return gLinkPlayers[GetBankMultiplayerId(gLinkPlayers[id].id ^ 2)].name;
|
||||||
|
|||||||
+4
-4
@@ -1378,21 +1378,21 @@ void sub_815E9FC(void)
|
|||||||
{
|
{
|
||||||
r2 = gUnknown_847A2EE[r5][r6];
|
r2 = gUnknown_847A2EE[r5][r6];
|
||||||
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9;
|
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9;
|
||||||
sub_803E0A4(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]);
|
CreateBattleTowerMon(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
r2 = gUnknown_847A2FE[r5][0];
|
r2 = gUnknown_847A2FE[r5][0];
|
||||||
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2].level = r9;
|
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2].level = r9;
|
||||||
sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]);
|
CreateBattleTowerMon(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]);
|
||||||
r2 = gUnknown_847A2FE[r5][1];
|
r2 = gUnknown_847A2FE[r5][1];
|
||||||
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2].level = r9;
|
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2].level = r9;
|
||||||
sub_803E0A4(&gEnemyParty[1], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]);
|
CreateBattleTowerMon(&gEnemyParty[1], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
r2 = gUnknown_847A30E[r5][r4];
|
r2 = gUnknown_847A30E[r5][r4];
|
||||||
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9;
|
gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9;
|
||||||
sub_803E0A4(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]);
|
CreateBattleTowerMon(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -490,7 +490,7 @@ gUnknown_2024478: @ 2024478
|
|||||||
gMultiuseSpriteTemplate: @ 20244DC
|
gMultiuseSpriteTemplate: @ 20244DC
|
||||||
.space 0x18
|
.space 0x18
|
||||||
|
|
||||||
gUnknown_20244F4: @ 20244F4
|
sOakTutNidoranResources: @ 20244F4
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
|
|||||||
Reference in New Issue
Block a user