diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-07-12 09:59:49 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-07-12 09:59:49 +0800 |
commit | 43ba65ef8b733912cbbf73478b722787c528dab6 (patch) | |
tree | c876a8cb195269f1f373e13fe43192933da7035a | |
parent | 39d68ebd445be5657a916dec1b4872717e9c40d3 (diff) |
document pokemon function symbols
-rw-r--r-- | asm/battle_2.s | 12 | ||||
-rw-r--r-- | asm/battle_interface.s | 4 | ||||
-rw-r--r-- | asm/battle_script_commands.s | 10 | ||||
-rw-r--r-- | asm/battle_setup.s | 2 | ||||
-rw-r--r-- | asm/battle_tower.s | 6 | ||||
-rw-r--r-- | asm/battle_util.s | 2 | ||||
-rw-r--r-- | asm/overworld.s | 2 | ||||
-rw-r--r-- | asm/party_menu.s | 2 | ||||
-rw-r--r-- | asm/pokemon_3.s | 118 | ||||
-rw-r--r-- | asm/trade.s | 2 | ||||
-rw-r--r-- | asm/trainer_card.s | 4 | ||||
-rw-r--r-- | data/maps/BirthIsland_Exterior/scripts.inc | 2 | ||||
-rw-r--r-- | data/maps/NavelRock_Base/scripts.inc | 2 | ||||
-rw-r--r-- | data/maps/NavelRock_Summit/scripts.inc | 2 | ||||
-rw-r--r-- | data/specials.inc | 2 | ||||
-rw-r--r-- | include/pokemon.h | 5 | ||||
-rw-r--r-- | include/pokemon_3.h | 6 | ||||
-rw-r--r-- | sedTKU2fS | bin | 0 -> 9875456 bytes | |||
-rw-r--r-- | src/oak_speech.c | 6 | ||||
-rw-r--r-- | src/pokemon.c | 42 | ||||
-rw-r--r-- | src/trainer_tower.c | 8 | ||||
-rw-r--r-- | sym_ewram.txt | 2 |
22 files changed, 120 insertions, 121 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s index ee7b80ad4..3fdaeca33 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -1132,7 +1132,7 @@ _0801067E: adds r1, r0 ldrh r0, [r1] strh r0, [r2, 0x10] - bl sub_8044708 + bl SetDeoxysStats ldr r1, _080106F0 @ =gUnknown_2023E82 b _080108B2 .align 2, 0 @@ -1834,7 +1834,7 @@ _08010CE2: adds r1, r7, 0 bl sub_8010414 bl sub_801017C - bl sub_8044708 + bl SetDeoxysStats ldr r0, _08010D4C @ =gDecompressionBuffer ldr r1, _08010D50 @ =gPlayerParty movs r2, 0x96 @@ -6570,7 +6570,7 @@ _080131F6: add r1, r10 ldr r2, [r1] movs r1, 0x2 - bl sub_8044898 + bl HandleSetPokedexFlag b _080132C2 .align 2, 0 _08013230: .4byte gBaseStats @@ -6609,7 +6609,7 @@ _0801324C: add r1, r10 ldr r2, [r1] movs r1, 0x2 - bl sub_8044898 + bl HandleSetPokedexFlag b _080132B4 _0801328E: ldr r0, _08013324 @ =0x0001aa02 @@ -6628,7 +6628,7 @@ _0801328E: add r1, r10 ldr r2, [r1] movs r1, 0x2 - bl sub_8044898 + bl HandleSetPokedexFlag _080132B4: movs r0, 0 bl EmitLoadMonSprite @@ -7097,7 +7097,7 @@ _0801364C: adds r1, r7 ldr r2, [r1] movs r1, 0x2 - bl sub_8044898 + bl HandleSetPokedexFlag _08013684: ldrb r0, [r4] adds r0, 0x1 diff --git a/asm/battle_interface.s b/asm/battle_interface.s index acf228669..959e4e19d 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -3610,7 +3610,7 @@ _08049734: lsls r1, 24 lsrs r1, 24 adds r0, r7, 0 - bl sub_80448F8 + bl CheckBattleTypeGhost lsls r0, 24 cmp r0, 0 beq _08049754 @@ -3755,7 +3755,7 @@ sub_804981C: @ 804981C ldr r6, _080498EC @ =gEnemyParty adds r0, r6 adds r1, r4, 0 - bl sub_80448F8 + bl CheckBattleTypeGhost lsls r0, 24 cmp r0, 0 bne _0804991C diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index b240c3da2..747859147 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -13273,7 +13273,7 @@ sub_80240D4: @ 80240D4 adds r1, r4 ldr r2, [r1] movs r1, 0x2 - bl sub_8044898 + bl HandleSetPokedexFlag _0802412A: ldr r2, _08024180 @ =gAbsentBattlerFlags ldr r1, _08024184 @ =gBitTable @@ -13398,7 +13398,7 @@ _08024228: bl GetBankMultiplayerId lsls r0, 24 lsrs r0, 24 - bl sub_8043620 + bl GetLinkTrainerFlankId lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -21520,7 +21520,7 @@ _08028336: bl GetBankMultiplayerId lsls r0, 24 lsrs r0, 24 - bl sub_8043620 + bl GetLinkTrainerFlankId lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -21665,7 +21665,7 @@ _08028458: bl GetBankMultiplayerId lsls r0, 24 lsrs r0, 24 - bl sub_8043620 + bl GetLinkTrainerFlankId lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -32384,7 +32384,7 @@ _0802D9B4: lsrs r0, 16 movs r1, 0x3 adds r2, r4, 0 - bl sub_8044898 + bl HandleSetPokedexFlag ldr r1, _0802D9D4 @ =gUnknown_2023D74 ldr r0, [r1] adds r0, 0x5 diff --git a/asm/battle_setup.s b/asm/battle_setup.s index db8b366b4..99e4c3468 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -2051,7 +2051,7 @@ sub_8080628: @ 8080628 beq _080806BE ldr r0, _08080668 @ =gTrainerBattleOpponent_A ldrh r0, [r0] - bl sub_804367C + bl GetTrainerEncounterMusicId lsls r0, 24 lsrs r0, 24 cmp r0, 0xD diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 01ac780a2..453896446 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -1222,7 +1222,7 @@ _080E6286: adds r2, r3 ldr r1, [r4] adds r1, r2 - bl sub_803E0A4 + bl CreateBattleTowerMon adds r6, 0x1 cmp r6, 0x2 ble _080E6286 @@ -1251,7 +1251,7 @@ _080E62B2: muls r2, r6 adds r2, 0x1C adds r1, r2 - bl sub_803E0A4 + bl CreateBattleTowerMon adds r6, 0x1 cmp r6, 0x2 ble _080E62B2 @@ -2136,7 +2136,7 @@ _080E69A0: adds r2, r1 ldr r1, [r4] adds r1, r2 - bl sub_803E0A4 + bl CreateBattleTowerMon adds r5, 0x1 cmp r5, 0x2 ble _080E69A0 diff --git a/asm/battle_util.s b/asm/battle_util.s index 04202e9da..50f5210aa 100644 --- a/asm/battle_util.s +++ b/asm/battle_util.s @@ -5775,7 +5775,7 @@ _08019C40: mov r8, r0 _08019C66: adds r0, r7, 0 - bl sub_8043620 + bl GetLinkTrainerFlankId lsls r0, 24 lsrs r6, r0, 24 lsls r0, r6, 1 diff --git a/asm/overworld.s b/asm/overworld.s index be0fc577f..dec8f6715 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -38,7 +38,7 @@ sub_8054C04: @ 8054C04 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sub_80444F8 + bl GetPlayerPartyHighestLevel lsls r0, 24 lsrs r0, 24 ldr r1, _08054C40 @ =gUnknown_826D294 diff --git a/asm/party_menu.s b/asm/party_menu.s index 07db16817..d2052f4c2 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -18182,7 +18182,7 @@ sub_8127AC0: @ 8127AC0 bne _08127B08 _08127AE6: ldr r4, _08127AFC @ =gStringVar1 - bl sub_80444C4 + bl GetTrainerPartnerName adds r1, r0, 0 adds r0, r4, 0 bl StringCopy diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index 416c996bb..6e41bbc97 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_80444F8 -sub_80444F8: @ 80444F8 + thumb_func_start GetPlayerPartyHighestLevel +GetPlayerPartyHighestLevel: @ 80444F8 push {r4-r6,lr} movs r6, 0x1 movs r5, 0 @@ -47,10 +47,10 @@ _08044538: bx r1 .align 2, 0 _08044548: .4byte gPlayerParty - thumb_func_end sub_80444F8 + thumb_func_end GetPlayerPartyHighestLevel - thumb_func_start sub_804454C -sub_804454C: @ 804454C + thumb_func_start FacilityClassToPicIndex +FacilityClassToPicIndex: @ 804454C lsls r0, 16 lsrs r0, 16 ldr r1, _08044558 @ =gFacilityClassToPicIndex @@ -59,7 +59,7 @@ sub_804454C: @ 804454C bx lr .align 2, 0 _08044558: .4byte gFacilityClassToPicIndex - thumb_func_end sub_804454C + thumb_func_end FacilityClassToPicIndex thumb_func_start sub_804455C sub_804455C: @ 804455C @@ -261,7 +261,7 @@ _080446CC: lsls r2, r6, 24 lsrs r2, 24 adds r1, r4, 0 - bl nature_stat_mod + bl ModifyStatByNature lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 @@ -273,8 +273,8 @@ _080446FE: _08044704: .4byte gUnknown_825E026 thumb_func_end GetDeoxysStat - thumb_func_start sub_8044708 -sub_8044708: @ 8044708 + thumb_func_start SetDeoxysStats +SetDeoxysStats: @ 8044708 push {r4,r5,lr} sub sp, 0x4 movs r5, 0 @@ -347,7 +347,7 @@ _08044798: bx r0 .align 2, 0 _080447A8: .4byte gPlayerParty - thumb_func_end sub_8044708 + thumb_func_end SetDeoxysStats thumb_func_start sub_80447AC sub_80447AC: @ 80447AC @@ -374,7 +374,7 @@ sub_80447AC: @ 80447AC lsls r2, 1 adds r2, r0 ldrh r0, [r2] - bl sub_804454C + bl FacilityClassToPicIndex lsls r0, 16 lsrs r0, 16 pop {r1} @@ -420,8 +420,8 @@ _08044830: .4byte gFacilityClassToTrainerClass _08044834: .4byte gUnknown_825E032 thumb_func_end sub_80447F0 - thumb_func_start sub_8044838 -sub_8044838: @ 8044838 + thumb_func_start CreateObedientEnemyMon +CreateObedientEnemyMon: @ 8044838 push {r4-r7,lr} sub sp, 0x14 ldr r0, _08044888 @ =gSpecialVar_0x8004 @@ -465,10 +465,10 @@ _08044888: .4byte gSpecialVar_0x8004 _0804488C: .4byte gSpecialVar_0x8005 _08044890: .4byte gSpecialVar_0x8006 _08044894: .4byte gEnemyParty - thumb_func_end sub_8044838 + thumb_func_end CreateObedientEnemyMon - thumb_func_start sub_8044898 -sub_8044898: @ 8044898 + thumb_func_start HandleSetPokedexFlag +HandleSetPokedexFlag: @ 8044898 push {r4-r7,lr} adds r7, r2, 0 lsls r0, 16 @@ -515,10 +515,10 @@ _080448EE: bx r0 .align 2, 0 _080448F4: .4byte gSaveBlock2Ptr - thumb_func_end sub_8044898 + thumb_func_end HandleSetPokedexFlag - thumb_func_start sub_80448F8 -sub_80448F8: @ 80448F8 + thumb_func_start CheckBattleTypeGhost +CheckBattleTypeGhost: @ 80448F8 push {r4,lr} sub sp, 0xC adds r4, r0, 0 @@ -559,10 +559,10 @@ _08044946: pop {r4} pop {r1} bx r1 - thumb_func_end sub_80448F8 + thumb_func_end CheckBattleTypeGhost - thumb_func_start sub_8044950 -sub_8044950: @ 8044950 + thumb_func_start OakSpeechNidoranFSetupTemplate +OakSpeechNidoranFSetupTemplate: @ 8044950 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -688,10 +688,10 @@ _08044A2C: bx r0 .align 2, 0 _08044A3C: .4byte gUnknown_825DEF0 - thumb_func_end sub_8044950 + thumb_func_end OakSpeechNidoranFSetupTemplate - thumb_func_start sub_8044A40 -sub_8044A40: @ 8044A40 + thumb_func_start OakSpeechNidoranFSetupTemplateDummy +OakSpeechNidoranFSetupTemplateDummy: @ 8044A40 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -783,10 +783,10 @@ _08044ADA: .align 2, 0 _08044AE8: .4byte gUnknown_825E05C _08044AEC: .4byte gUnknown_82349BC - thumb_func_end sub_8044A40 + thumb_func_end OakSpeechNidoranFSetupTemplateDummy - thumb_func_start SetUpMonSpriteManagerMaybe -SetUpMonSpriteManagerMaybe: @ 8044AF0 + thumb_func_start OakSpeechNidoranFSetup +OakSpeechNidoranFSetup: @ 8044AF0 push {r4-r7,lr} mov r7, r8 push {r7} @@ -796,7 +796,7 @@ SetUpMonSpriteManagerMaybe: @ 8044AF0 lsrs r5, r1, 24 movs r0, 0 mov r8, r0 - ldr r4, _08044B34 @ =gUnknown_20244F4 + ldr r4, _08044B34 @ =sOakTutNidoranResources ldr r1, [r4] cmp r1, 0 beq _08044B1E @@ -810,7 +810,7 @@ SetUpMonSpriteManagerMaybe: @ 8044AF0 mov r1, r8 str r1, [r4] _08044B1E: - ldr r4, _08044B34 @ =gUnknown_20244F4 + ldr r4, _08044B34 @ =sOakTutNidoranResources movs r0, 0x18 bl AllocZeroed adds r2, r0, 0 @@ -821,7 +821,7 @@ _08044B2E: movs r0, 0 b _08044D70 .align 2, 0 -_08044B34: .4byte gUnknown_20244F4 +_08044B34: .4byte sOakTutNidoranResources _08044B38: cmp r5, 0 beq _08044B94 @@ -862,7 +862,7 @@ _08044B64: _08044B7C: orrs r0, r1 strb r0, [r2] - ldr r2, _08044B90 @ =gUnknown_20244F4 + ldr r2, _08044B90 @ =sOakTutNidoranResources ldr r1, [r2] movs r0, 0x4 strb r0, [r1, 0x1] @@ -871,7 +871,7 @@ _08044B7C: strb r0, [r1, 0x3] b _08044BD0 .align 2, 0 -_08044B90: .4byte gUnknown_20244F4 +_08044B90: .4byte sOakTutNidoranResources _08044B94: cmp r6, 0 bne _08044B9A @@ -881,7 +881,7 @@ _08044B9A: bls _08044BA0 movs r6, 0x8 _08044BA0: - ldr r4, _08044C10 @ =gUnknown_20244F4 + ldr r4, _08044C10 @ =sOakTutNidoranResources ldr r3, [r4] movs r0, 0xF adds r1, r6, 0 @@ -906,7 +906,7 @@ _08044BA0: ldr r0, [r4] strb r2, [r0, 0x3] _08044BD0: - ldr r5, _08044C10 @ =gUnknown_20244F4 + ldr r5, _08044C10 @ =sOakTutNidoranResources ldr r0, [r5] ldrb r1, [r0, 0x1] lsls r1, 11 @@ -937,7 +937,7 @@ _08044C04: mov r8, r1 b _08044C44 .align 2, 0 -_08044C10: .4byte gUnknown_20244F4 +_08044C10: .4byte sOakTutNidoranResources _08044C14: ldrb r0, [r1] lsls r0, 28 @@ -965,7 +965,7 @@ _08044C20: cmp r4, r0 blt _08044C20 _08044C44: - ldr r5, _08044C8C @ =gUnknown_20244F4 + ldr r5, _08044C8C @ =sOakTutNidoranResources ldr r0, [r5] ldrb r1, [r0] lsls r1, 28 @@ -1000,7 +1000,7 @@ _08044C7C: mov r8, r0 b _08044CE2 .align 2, 0 -_08044C8C: .4byte gUnknown_20244F4 +_08044C8C: .4byte sOakTutNidoranResources _08044C90: movs r4, 0 ldrb r0, [r1, 0x1] @@ -1038,19 +1038,19 @@ _08044CC6: cmp r4, 0x1 bne _08044CDA adds r1, r6, 0 - bl sub_8044950 + bl OakSpeechNidoranFSetupTemplate b _08044CE2 _08044CDA: - ldr r0, _08044D60 @ =gUnknown_20244F4 + ldr r0, _08044D60 @ =sOakTutNidoranResources ldr r0, [r0] - bl sub_8044A40 + bl OakSpeechNidoranFSetupTemplateDummy _08044CE2: movs r0, 0x2 mov r1, r8 ands r0, r1 cmp r0, 0 beq _08044D12 - ldr r4, _08044D60 @ =gUnknown_20244F4 + ldr r4, _08044D60 @ =sOakTutNidoranResources ldr r0, [r4] ldr r0, [r0, 0x14] cmp r0, 0 @@ -1074,7 +1074,7 @@ _08044D12: ands r0, r1 cmp r0, 0 beq _08044D42 - ldr r4, _08044D60 @ =gUnknown_20244F4 + ldr r4, _08044D60 @ =sOakTutNidoranResources ldr r0, [r4] ldr r0, [r0, 0xC] cmp r0, 0 @@ -1096,7 +1096,7 @@ _08044D42: mov r0, r8 cmp r0, 0 beq _08044D64 - ldr r4, _08044D60 @ =gUnknown_20244F4 + ldr r4, _08044D60 @ =sOakTutNidoranResources ldr r0, [r4] movs r1, 0 movs r2, 0x18 @@ -1107,14 +1107,14 @@ _08044D42: str r0, [r4] b _08044D6C .align 2, 0 -_08044D60: .4byte gUnknown_20244F4 +_08044D60: .4byte sOakTutNidoranResources _08044D64: - ldr r0, _08044D7C @ =gUnknown_20244F4 + ldr r0, _08044D7C @ =sOakTutNidoranResources ldr r1, [r0] movs r0, 0xA3 strb r0, [r1, 0x2] _08044D6C: - ldr r0, _08044D7C @ =gUnknown_20244F4 + ldr r0, _08044D7C @ =sOakTutNidoranResources ldr r0, [r0] _08044D70: pop {r3} @@ -1123,13 +1123,13 @@ _08044D70: pop {r1} bx r1 .align 2, 0 -_08044D7C: .4byte gUnknown_20244F4 - thumb_func_end SetUpMonSpriteManagerMaybe +_08044D7C: .4byte sOakTutNidoranResources + thumb_func_end OakSpeechNidoranFSetup - thumb_func_start sub_8044D80 -sub_8044D80: @ 8044D80 + thumb_func_start OakSpeechNidoranFFreeResources +OakSpeechNidoranFFreeResources: @ 8044D80 push {r4,lr} - ldr r4, _08044D9C @ =gUnknown_20244F4 + ldr r4, _08044D9C @ =sOakTutNidoranResources ldr r1, [r4] cmp r1, 0 beq _08044DFA @@ -1142,7 +1142,7 @@ sub_8044D80: @ 8044D80 bl memset b _08044DF6 .align 2, 0 -_08044D9C: .4byte gUnknown_20244F4 +_08044D9C: .4byte sOakTutNidoranResources _08044DA0: ldr r0, [r1, 0x14] cmp r0, 0 @@ -1192,14 +1192,14 @@ _08044DFA: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8044D80 + thumb_func_end OakSpeechNidoranFFreeResources - thumb_func_start sub_8044E00 -sub_8044E00: @ 8044E00 + thumb_func_start OakSpeechNidoranFGetBuffer +OakSpeechNidoranFGetBuffer: @ 8044E00 push {lr} lsls r0, 24 lsrs r1, r0, 24 - ldr r0, _08044E14 @ =gUnknown_20244F4 + ldr r0, _08044E14 @ =sOakTutNidoranResources ldr r2, [r0] ldrb r0, [r2, 0x2] cmp r0, 0xA3 @@ -1207,7 +1207,7 @@ sub_8044E00: @ 8044E00 movs r0, 0 b _08044E2C .align 2, 0 -_08044E14: .4byte gUnknown_20244F4 +_08044E14: .4byte sOakTutNidoranResources _08044E18: ldrb r0, [r2] lsls r0, 28 @@ -1223,6 +1223,6 @@ _08044E24: _08044E2C: pop {r1} bx r1 - thumb_func_end sub_8044E00 + thumb_func_end OakSpeechNidoranFGetBuffer .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index 3e8dc9fc1..468183b24 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -8135,7 +8135,7 @@ sub_80507A0: @ 80507A0 adds r0, r4, 0 movs r1, 0x3 adds r2, r5, 0 - bl sub_8044898 + bl HandleSetPokedexFlag _080507F4: pop {r4,r5} pop {r0} diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 502d47c89..a5a3613dc 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -4955,7 +4955,7 @@ sub_808B838: @ 808B838 adds r0, r1 ldrb r4, [r0] adds r0, r4, 0 - bl sub_804454C + bl FacilityClassToPicIndex lsls r0, 16 lsrs r0, 16 ldr r4, _0808B8A0 @ =gUnknown_83CD8EC @@ -4982,7 +4982,7 @@ _0808B8A4: cmp r0, 0 beq _0808B8FC adds r0, r4, 0 - bl sub_804454C + bl FacilityClassToPicIndex lsls r0, 16 lsrs r0, 16 ldr r4, _0808B8F4 @ =gUnknown_83CD8EC diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index 1d3fc4db6..f00cd73f2 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -90,7 +90,7 @@ EventScript_1652C0:: @ 81652C0 setvar VAR_0x8004, SPECIES_DEOXYS setvar VAR_0x8005, 30 setvar VAR_0x8006, 0 - special sub_8044838 + special CreateObedientEnemyMon setflag FLAG_0x807 special sub_807F9D8 waitstate diff --git a/data/maps/NavelRock_Base/scripts.inc b/data/maps/NavelRock_Base/scripts.inc index 34cca4e9b..8818c1d01 100644 --- a/data/maps/NavelRock_Base/scripts.inc +++ b/data/maps/NavelRock_Base/scripts.inc @@ -63,7 +63,7 @@ NavelRock_Base_EventScript_165134:: @ 8165134 setvar VAR_0x8004, SPECIES_LUGIA setvar VAR_0x8005, 70 setvar VAR_0x8006, 0 - special sub_8044838 + special CreateObedientEnemyMon setflag FLAG_0x807 special sub_807F9D8 waitstate diff --git a/data/maps/NavelRock_Summit/scripts.inc b/data/maps/NavelRock_Summit/scripts.inc index cb82149e8..d359d4d25 100644 --- a/data/maps/NavelRock_Summit/scripts.inc +++ b/data/maps/NavelRock_Summit/scripts.inc @@ -67,7 +67,7 @@ NavelRock_Summit_EventScript_164FFB:: @ 8164FFB setvar VAR_0x8004, SPECIES_HO_OH setvar VAR_0x8005, 70 setvar VAR_0x8006, 0 - special sub_8044838 + special CreateObedientEnemyMon setflag FLAG_0x807 special sub_807F9D8 waitstate diff --git a/data/specials.inc b/data/specials.inc index 24d793093..6341da329 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -452,5 +452,5 @@ gSpecials:: @ 815FD60 def_special sub_80CB328 def_special sub_80CD154 def_special sub_80CD1B4 - def_special sub_8044838 + def_special CreateObedientEnemyMon gSpecialsEnd:: diff --git a/include/pokemon.h b/include/pokemon.h index 558eedc67..40d63aa89 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -607,7 +607,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex); u8 GetNature(struct Pokemon *mon); 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 BoxMonRestorePP(struct BoxPokemon *); @@ -666,6 +666,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon); void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon); u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves); bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId); +u16 GetDeoxysStat(struct Pokemon *mon, s32 statId); #include "sprite.h" @@ -675,7 +676,7 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species); void PlayMapChosenOrBattleBGM(u16 songId); 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); const u8 * Battle_PrintStatBoosterEffectMessage(u16 itemId); diff --git a/include/pokemon_3.h b/include/pokemon_3.h index e65bc85fc..9a32d4771 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -5,8 +5,8 @@ const u8* GetTrainerClassNameFromId(u16 trainerId); const u8* GetTrainerNameFromId(u16 trainerId); -void * SetUpMonSpriteManagerMaybe(u8, u8); -void sub_8044D80(void); -void * sub_8044E00(u8 buffId); +void * OakSpeechNidoranFSetup(u8, u8); +void OakSpeechNidoranFFreeResources(void); +void * OakSpeechNidoranFGetBuffer(u8 buffId); #endif // GUARD_POKEMON_3_H diff --git a/sedTKU2fS b/sedTKU2fS Binary files differnew file mode 100644 index 000000000..7e06e9add --- /dev/null +++ b/sedTKU2fS diff --git a/src/oak_speech.c b/src/oak_speech.c index 14e7c87d0..491ac463c 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -500,7 +500,7 @@ static void Task_OaksSpeech1(u8 taskId) break; case 1: sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources)); - SetUpMonSpriteManagerMaybe(1, 1); + OakSpeechNidoranFSetup(1, 1); break; case 2: SetGpuReg(REG_OFFSET_WIN0H, 0); @@ -1513,7 +1513,7 @@ static void Task_OakSpeech41(u8 taskId) static void Task_OakSpeech42(u8 taskId) { FreeAllWindowBuffers(); - sub_8044D80(); + OakSpeechNidoranFFreeResources(); Free(sOakSpeechResources); sOakSpeechResources = NULL; gTextFlags.canABSpeedUpPrint = FALSE; @@ -1612,7 +1612,7 @@ static void CreateNidoranFSprite(u8 taskId) { u8 spriteId; - DecompressPicFromTable(gUnknown_8235194, sub_8044E00(0), SPECIES_NIDORAN_F); + DecompressPicFromTable(gUnknown_8235194, OakSpeechNidoranFGetBuffer(0), SPECIES_NIDORAN_F); LoadCompressedSpritePaletteUsingHeap(&gUnknown_82373F4); SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0); spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1); diff --git a/src/pokemon.c b/src/pokemon.c index b9b5e6d76..1482984f4 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -44,11 +44,10 @@ struct UnkStruct20244F4 }; // External symbols -extern struct UnkStruct20244F4 *gUnknown_20244F4; +extern struct UnkStruct20244F4 *sOakTutNidoranResources; extern struct SpriteTemplate gUnknown_825DEF0[]; extern struct SpriteTemplate gUnknown_825DF50[]; extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; -extern struct SpriteTemplate gUnknown_825DEF0[]; extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; extern const union AnimCmd *const gUnknown_82349BC[]; extern const u8 gUnknown_825DEA1[]; @@ -90,7 +89,6 @@ extern u8 StorageGetCurrentBox(void); // pokemon_storage_system extern void sub_80174B8(u8 battlerId); union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); -s32 GetDeoxysStat(struct Pokemon *mon, s32 statId); // code void ZeroBoxMonData(struct BoxPokemon *boxMon) @@ -351,7 +349,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI CalculateMonStats(mon); } -void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src) +void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src) { s32 i; u8 value; @@ -476,7 +474,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon) u8 baseStat = gBaseStats[species].base; \ s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \ u8 nature = GetNature(mon); \ - n = nature_stat_mod(nature, n, statIndex); \ + n = ModifyStatByNature(nature, n, statIndex); \ SetMonData(mon, field, &n); \ } @@ -1122,7 +1120,7 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) return MON_MALE; } -void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition) +void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition) { if(gMonSpritesGfxPtr != NULL) { @@ -1133,12 +1131,12 @@ void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition) } 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; - gMultiuseSpriteTemplate = gUnknown_20244F4->unk10[battlerPosition]; + gMultiuseSpriteTemplate = sOakTutNidoranResources->unk10[battlerPosition]; } else { @@ -1148,7 +1146,7 @@ void SetMultiuseSpriteTemplateToPokemon(u16 trainerSpriteId, u8 battlerPosition) gMultiuseSpriteTemplate = gUnknown_825DEF0[battlerPosition]; } } - gMultiuseSpriteTemplate.paletteTag = trainerSpriteId; + gMultiuseSpriteTemplate.paletteTag = speciesTag; gMultiuseSpriteTemplate.anims = gUnknown_82349BC; } @@ -1290,27 +1288,27 @@ u32 GetMonData(struct Pokemon *mon, s32 field, u8* data) ret = mon->maxHP; break; case MON_DATA_ATK: - ret = (u16)GetDeoxysStat(mon, STAT_ATK); + ret = GetDeoxysStat(mon, STAT_ATK); if (!ret) ret = mon->attack; break; case MON_DATA_DEF: - ret = (u16)GetDeoxysStat(mon, STAT_DEF); + ret = GetDeoxysStat(mon, STAT_DEF); if (!ret) ret = mon->defense; break; case MON_DATA_SPEED: - ret = (u16)GetDeoxysStat(mon, STAT_SPEED); + ret = GetDeoxysStat(mon, STAT_SPEED); if (!ret) ret = mon->speed; break; case MON_DATA_SPATK: - ret = (u16)GetDeoxysStat(mon, STAT_SPATK); + ret = GetDeoxysStat(mon, STAT_SPATK); if (!ret) ret = mon->spAttack; break; case MON_DATA_SPDEF: - ret = (u16)GetDeoxysStat(mon, STAT_SPDEF); + ret = GetDeoxysStat(mon, STAT_SPDEF); if (!ret) ret = mon->spDefense; break; @@ -4928,7 +4926,7 @@ bool8 sub_80435E0(void) return retVal; } -bool8 sub_8043620(u8 id) +bool8 GetLinkTrainerFlankId(u8 id) { bool8 retVal = FALSE; switch (gLinkPlayers[id].id) @@ -4954,12 +4952,12 @@ s32 GetBankMultiplayerId(u16 a1) return id; } -u8 sub_804367C(u16 trainer) +u8 GetTrainerEncounterMusicId(u16 trainer) { 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) { @@ -5214,7 +5212,7 @@ void sub_8043B40(void) 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]) { @@ -5235,7 +5233,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon) if(exp > gExperienceTables[gBaseStats[species].growthRate][newLevel]) { SetMonData(mon, MON_DATA_LEVEL, &newLevel); - sub_8043B48(mon, species, newLevel, exp); + SetMonExpWithMaxLevelCheck(mon, species, newLevel, exp); return TRUE; } else @@ -5243,7 +5241,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon) } else { - sub_8043B48(mon, species, level, exp); + SetMonExpWithMaxLevelCheck(mon, species, level, exp); return FALSE; } } @@ -5604,7 +5602,7 @@ bool8 IsShinyOtIdPersonality(u32 otId, u32 personality) return retVal; } -u8 *sub_80444C4(void) +u8 *GetTrainerPartnerName(void) { u8 id = GetMultiplayerId(); return gLinkPlayers[GetBankMultiplayerId(gLinkPlayers[id].id ^ 2)].name; diff --git a/src/trainer_tower.c b/src/trainer_tower.c index 65d825dfe..8f82e67d4 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -1378,21 +1378,21 @@ void sub_815E9FC(void) { r2 = gUnknown_847A2EE[r5][r6]; 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; case 1: r2 = gUnknown_847A2FE[r5][0]; 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]; 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; case 2: r2 = gUnknown_847A30E[r5][r4]; 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; } } diff --git a/sym_ewram.txt b/sym_ewram.txt index bec821a2f..889b5491c 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -490,7 +490,7 @@ gUnknown_2024478: @ 2024478 gMultiuseSpriteTemplate: @ 20244DC .space 0x18 -gUnknown_20244F4: @ 20244F4 +sOakTutNidoranResources: @ 20244F4 .space 0x4 .align 2 |