summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-12 09:59:49 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-12 09:59:49 +0800
commit43ba65ef8b733912cbbf73478b722787c528dab6 (patch)
treec876a8cb195269f1f373e13fe43192933da7035a
parent39d68ebd445be5657a916dec1b4872717e9c40d3 (diff)
document pokemon function symbols
-rw-r--r--asm/battle_2.s12
-rw-r--r--asm/battle_interface.s4
-rw-r--r--asm/battle_script_commands.s10
-rw-r--r--asm/battle_setup.s2
-rw-r--r--asm/battle_tower.s6
-rw-r--r--asm/battle_util.s2
-rw-r--r--asm/overworld.s2
-rw-r--r--asm/party_menu.s2
-rw-r--r--asm/pokemon_3.s118
-rw-r--r--asm/trade.s2
-rw-r--r--asm/trainer_card.s4
-rw-r--r--data/maps/BirthIsland_Exterior/scripts.inc2
-rw-r--r--data/maps/NavelRock_Base/scripts.inc2
-rw-r--r--data/maps/NavelRock_Summit/scripts.inc2
-rw-r--r--data/specials.inc2
-rw-r--r--include/pokemon.h5
-rw-r--r--include/pokemon_3.h6
-rw-r--r--sedTKU2fSbin0 -> 9875456 bytes
-rw-r--r--src/oak_speech.c6
-rw-r--r--src/pokemon.c42
-rw-r--r--src/trainer_tower.c8
-rw-r--r--sym_ewram.txt2
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
new file mode 100644
index 000000000..7e06e9add
--- /dev/null
+++ b/sedTKU2fS
Binary files differ
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