From ddf6bd43b0b23973fa974ecb6ecf63d01231e9be Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 24 Dec 2025 10:16:53 -0300 Subject: [PATCH] Sync pokemon.c with pokeheartgold --- arm9/asm/scrcmd_12.s | 68 +- arm9/asm/scrcmd_5.s | 10 +- arm9/asm/unk_02026CD0.s | 22 +- arm9/asm/unk_0202BE98.s | 10 +- arm9/asm/unk_02035068.s | 2 +- arm9/asm/unk_020377F0.s | 8 +- arm9/asm/unk_02047500.s | 2 +- arm9/asm/unk_020476CC.s | 20 +- arm9/asm/unk_0204B9EC.s | 10 +- arm9/asm/unk_02050E48.s | 2 +- arm9/asm/unk_02054C14.s | 4 +- arm9/asm/unk_020603B0.s | 12 +- arm9/asm/unk_020606B0.s | 4 +- arm9/asm/unk_02060CCC.s | 20 +- arm9/asm/unk_0206BB5C.s | 16 +- arm9/asm/unk_0206C700.s | 52 +- arm9/asm/unk_0206F3FC.s | 72 +- arm9/asm/unk_02072548.s | 12 +- arm9/asm/unk_02073710.s | 2 +- arm9/asm/unk_02073DA8.s | 6 +- arm9/asm/unk_0207550C.s | 72 +- arm9/asm/unk_020772F0.s | 12 +- arm9/asm/unk_02079C70.s | 104 +- arm9/asm/unk_0207C328.s | 4 +- arm9/asm/unk_0207D5BC.s | 2 +- arm9/asm/unk_0207EF6C.s | 4 +- arm9/asm/unk_0207FD00.s | 162 +- arm9/asm/unk_02080C38.s | 22 +- arm9/asm/unk_020828BC.s | 22 +- arm9/asm/unk_020854E0.s | 14 +- arm9/asm/unk_020859C0.s | 8 +- arm9/asm/unk_02086084.s | 14 +- arm9/asm/unk_02086414.s | 8 +- arm9/asm/unk_02086FA8.s | 4 +- arm9/asm/unk_02087D00.s | 10 +- arm9/global.inc | 74 +- arm9/overlays/05/asm/ov05_021D80E8.s | 2 +- arm9/overlays/05/asm/ov05_021E3444.s | 4 +- arm9/overlays/05/asm/ov05_021EC458.s | 308 +-- arm9/overlays/05/asm/ov05_021F38CC.s | 18 +- arm9/overlays/06/asm/overlay_06.s | 250 +- arm9/overlays/07/asm/overlay_07.s | 24 +- arm9/overlays/08/asm/overlay_08.s | 6 +- arm9/overlays/09/asm/overlay_09.s | 68 +- arm9/overlays/11/asm/ov11_0222D5C0_1.s | 74 +- arm9/overlays/11/asm/ov11_0222FF68.s | 62 +- arm9/overlays/11/asm/ov11_02232264.s | 186 +- arm9/overlays/11/asm/ov11_0223D1DC.s | 36 +- arm9/overlays/11/asm/ov11_02242B78.s | 116 +- arm9/overlays/11/asm/ov11_0224CA64.s | 22 +- arm9/overlays/11/asm/ov11_0224D550.s | 22 +- arm9/overlays/11/asm/ov11_02254710.s | 84 +- arm9/overlays/12/asm/overlay_12.s | 88 +- arm9/overlays/14/asm/overlay_14.s | 134 +- arm9/overlays/16/asm/overlay_16.s | 192 +- arm9/overlays/17/asm/overlay_17.s | 8 +- arm9/overlays/27/asm/overlay_27.s | 14 +- arm9/overlays/28/asm/overlay_28.s | 12 +- arm9/overlays/35/asm/overlay_35.s | 10 +- arm9/overlays/39/asm/overlay_39.s | 8 +- arm9/overlays/56/asm/overlay_56.s | 8 +- arm9/overlays/62/asm/overlay_62.s | 30 +- arm9/overlays/64/asm/overlay_64.s | 2 +- arm9/overlays/65/asm/overlay_65.s | 12 +- arm9/overlays/67/asm/overlay_67.s | 4 +- arm9/overlays/69/asm/overlay_69.s | 28 +- arm9/overlays/70/asm/overlay_70.s | 8 +- arm9/overlays/71/asm/overlay_71.s | 42 +- arm9/overlays/76/asm/overlay_76.s | 10 +- arm9/overlays/80/asm/overlay_80.s | 104 +- arm9/overlays/81/asm/overlay_81.s | 18 +- arm9/overlays/83/asm/overlay_83.s | 162 +- arm9/src/daycare.c | 8 +- arm9/src/encounter.c | 8 +- arm9/src/hall_of_fame.c | 24 +- arm9/src/mail.c | 6 +- arm9/src/message_format.c | 8 +- arm9/src/move_relearner.c | 8 +- arm9/src/party.c | 8 +- arm9/src/pokedex.c | 26 +- arm9/src/pokemon.c | 2050 +++++++++-------- arm9/src/pokemon_storage_system.c | 18 +- arm9/src/poketch.c | 2 +- arm9/src/scrcmd.c | 40 +- arm9/src/scrcmd_13.c | 4 +- arm9/src/scrcmd_names.c | 2 +- arm9/src/scrcmd_party.c | 106 +- arm9/src/script_pokemon_util.c | 46 +- arm9/src/trainer_data.c | 14 +- arm9/src/unk_0202C144.c | 4 +- arm9/src/unk_0206B688.c | 12 +- arm9/src/use_item_on_mon.c | 124 +- files/poketool/personal/personal.json.txt | 4 +- .../poketool/personal_pearl/personal.json.txt | 4 +- include/constants/pokemon.h | 85 +- include/pokemon.h | 263 ++- 96 files changed, 2988 insertions(+), 2952 deletions(-) diff --git a/arm9/asm/scrcmd_12.s b/arm9/asm/scrcmd_12.s index fef042675..af0b6cf13 100644 --- a/arm9/asm/scrcmd_12.s +++ b/arm9/asm/scrcmd_12.s @@ -349,17 +349,17 @@ sub_02042F6C: ; 0x02042F6C mov r1, #0x97 add r2, r7, #0x0 add r5, #0xf0 - bl GetMonData + bl Pokemon_GetData add r1, r7, #0x0 str r0, [sp, #0x8] add r0, r4, #0x0 add r2, r1, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x14] add r0, r4, #0x0 mov r1, #0x7 add r2, r7, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 bl OS_GetTick bl PRandom @@ -371,7 +371,7 @@ sub_02042F6C: ; 0x02042F6C cmp r0, #0x1 bne _02042FE6 add r0, r6, #0x0 - bl CalcShininessByOtIdAndPersonality + bl Personality_IsShiny cmp r0, #0x0 beq _02042FE8 _02042FD0: @@ -380,7 +380,7 @@ _02042FD0: add r1, r0, #0x0 add r0, r6, #0x0 str r1, [sp, #0x34] - bl CalcShininessByOtIdAndPersonality + bl Personality_IsShiny cmp r0, #0x0 bne _02042FD0 b _02042FE8 @@ -391,41 +391,41 @@ _02042FE8: add r0, r4, #0x0 bl sub_0206A23C add r0, r4, #0x0 - bl GetMonGender + bl Pokemon_GetGender str r0, [sp, #0x30] add r0, r4, #0x0 mov r1, #0x6f add r2, sp, #0x30 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0x0 mov r1, #0x4b mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x18] add r0, r4, #0x0 mov r1, #0x4a mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x1c] add r0, r4, #0x0 mov r1, #0x49 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x20] add r0, r4, #0x0 mov r1, #0x48 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x24] add r0, r4, #0x0 mov r1, #0x46 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x47 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r6, r0 ldr r0, [sp, #0x24] add r1, r0, r1 @@ -445,7 +445,7 @@ _02042FE8: add r0, r4, #0x0 mov r1, #0x46 add r2, sp, #0x34 - bl SetMonData + bl Pokemon_SetData mov r0, #0x3e lsl r0, r0, #0x4 and r0, r6 @@ -454,7 +454,7 @@ _02042FE8: add r0, r4, #0x0 mov r1, #0x47 add r2, sp, #0x34 - bl SetMonData + bl Pokemon_SetData mov r0, #0x1f lsl r0, r0, #0xa and r0, r6 @@ -463,7 +463,7 @@ _02042FE8: add r0, r4, #0x0 mov r1, #0x48 add r2, sp, #0x34 - bl SetMonData + bl Pokemon_SetData bl LCRandom add r6, r0, #0x0 mov r0, #0x1f @@ -472,7 +472,7 @@ _02042FE8: add r0, r4, #0x0 mov r1, #0x49 add r2, sp, #0x34 - bl SetMonData + bl Pokemon_SetData mov r0, #0x3e lsl r0, r0, #0x4 and r0, r6 @@ -481,7 +481,7 @@ _02042FE8: add r0, r4, #0x0 mov r1, #0x4a add r2, sp, #0x34 - bl SetMonData + bl Pokemon_SetData mov r0, #0x1f lsl r0, r0, #0xa and r0, r6 @@ -490,7 +490,7 @@ _02042FE8: add r0, r4, #0x0 mov r1, #0x4b add r2, sp, #0x34 - bl SetMonData + bl Pokemon_SetData _020430DA: ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] @@ -499,7 +499,7 @@ _020430DA: add r0, r4, #0x0 mov r1, #0x2e mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _020430FC mov r0, #0x49 @@ -510,7 +510,7 @@ _020430FC: add r0, r4, #0x0 mov r1, #0x2f mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _02043114 mov r0, #0x4a @@ -521,7 +521,7 @@ _02043114: add r0, r4, #0x0 mov r1, #0x30 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0204312C mov r0, #0x4b @@ -532,7 +532,7 @@ _0204312C: add r0, r4, #0x0 mov r1, #0x31 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _02043144 mov r0, #0x4c @@ -543,7 +543,7 @@ _02043144: add r0, r4, #0x0 mov r1, #0x32 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0204315C mov r0, #0x4d @@ -554,7 +554,7 @@ _0204315C: add r0, r4, #0x0 mov r1, #0x33 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _02043174 mov r0, #0x4e @@ -565,7 +565,7 @@ _02043174: add r0, r4, #0x0 mov r1, #0x34 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0204318C mov r0, #0x4f @@ -576,7 +576,7 @@ _0204318C: add r0, r4, #0x0 mov r1, #0x67 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _020431A4 mov r0, #0x19 @@ -587,7 +587,7 @@ _020431A4: add r0, r4, #0x0 mov r1, #0x68 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _020431BC mov r0, #0x1a @@ -598,7 +598,7 @@ _020431BC: add r0, r4, #0x0 mov r1, #0x69 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _020431D4 mov r0, #0x1b @@ -621,7 +621,7 @@ _020431D4: bl PlayerProfile_GetTrainerGender str r0, [sp, #0x28] mov r0, #0x20 - bl AllocMonZeroed + bl Pokemon_New add r7, r0, #0x0 add r0, r4, #0x0 add r1, r7, #0x0 @@ -629,15 +629,15 @@ _020431D4: add r0, r7, #0x0 mov r1, #0x90 add r2, r5, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r7, #0x0 mov r1, #0x7 add r2, sp, #0x2c - bl SetMonData + bl Pokemon_SetData add r0, r7, #0x0 mov r1, #0x9c add r2, sp, #0x28 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 add r4, r7, #0x0 bl String_Delete @@ -653,7 +653,7 @@ _0204322C: mov r2, #0x4 bl sub_0208089C add r0, r4, #0x0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] bl SaveArray_Party_Get diff --git a/arm9/asm/scrcmd_5.s b/arm9/asm/scrcmd_5.s index bd3ed6c30..fea6c7db8 100644 --- a/arm9/asm/scrcmd_5.s +++ b/arm9/asm/scrcmd_5.s @@ -91,13 +91,13 @@ _0204123C: mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 bne _0204127C add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 lsl r1, r1, #0x10 @@ -132,19 +132,19 @@ _02041290: mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 beq _020412E0 add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 bne _020412E0 add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 lsl r1, r1, #0x10 diff --git a/arm9/asm/unk_02026CD0.s b/arm9/asm/unk_02026CD0.s index f515ee5a1..a88a13fdf 100644 --- a/arm9/asm/unk_02026CD0.s +++ b/arm9/asm/unk_02026CD0.s @@ -15,27 +15,27 @@ sub_02026CD0: ; 0x02026CD0 mov r1, #0x5 mov r2, #0x0 add r7, r3, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r5, #0x0 strh r0, [r5, #0x8] add r0, r4, #0x0 mov r1, #0x74 add r2, #0xa - bl GetMonData + bl Pokemon_GetData mov r1, #0x0 add r0, r4, #0x0 add r2, r1, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [r5, #0x4] add r0, r4, #0x0 mov r1, #0x70 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x33 strb r0, [r1, #0x0] @@ -2120,17 +2120,17 @@ _02027B9C: str r0, [sp, #0xc] ldrh r1, [r5, #0x10] add r0, r4, #0x0 - bl CreateMon + bl Pokemon_InitWithParams add r2, r5, #0x0 add r0, r4, #0x0 mov r1, #0x74 add r2, #0x12 - bl SetMonData + bl Pokemon_SetData add r5, #0x3b add r0, r4, #0x0 mov r1, #0x70 add r2, r5, #0x0 - bl SetMonData + bl Pokemon_SetData add sp, #0x10 pop {r3-r5, pc} nop @@ -2295,17 +2295,17 @@ sub_02027CB8: ; 0x02027CB8 str r0, [sp, #0xc] ldrh r1, [r5, #0x8] add r0, r4, #0x0 - bl CreateMon + bl Pokemon_InitWithParams add r2, r5, #0x0 add r0, r4, #0x0 mov r1, #0x74 add r2, #0xa - bl SetMonData + bl Pokemon_SetData add r5, #0x33 add r0, r4, #0x0 mov r1, #0x70 add r2, r5, #0x0 - bl SetMonData + bl Pokemon_SetData add sp, #0x10 pop {r3-r5, pc} .balign 4 diff --git a/arm9/asm/unk_0202BE98.s b/arm9/asm/unk_0202BE98.s index e15af7362..50b463a3f 100644 --- a/arm9/asm/unk_0202BE98.s +++ b/arm9/asm/unk_0202BE98.s @@ -23,11 +23,11 @@ sub_0202BEA0: ; 0x0202BEA0 add r7, r4, #0x0 _0202BEB4: add r0, r5, #0x0 - bl ZeroMonData + bl Pokemon_Init add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0202BECC bl GF_AssertFail @@ -53,11 +53,11 @@ sub_0202BEDC: ; 0x0202BEDC add r7, r4, #0x0 _0202BEF0: add r0, r5, #0x0 - bl ZeroMonData + bl Pokemon_Init add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0202BF08 bl GF_AssertFail @@ -205,7 +205,7 @@ _0202C00A: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0202C01A add r4, r4, #0x1 diff --git a/arm9/asm/unk_02035068.s b/arm9/asm/unk_02035068.s index 669c24e3f..33d4ad6dc 100644 --- a/arm9/asm/unk_02035068.s +++ b/arm9/asm/unk_02035068.s @@ -2463,7 +2463,7 @@ _020363F6: ldr r0, [sp, #0xc] mov r1, #0x6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 bne _02036474 add r0, r5, #0x0 diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s index ec8d80e4c..26e57e53b 100644 --- a/arm9/asm/unk_020377F0.s +++ b/arm9/asm/unk_020377F0.s @@ -1617,7 +1617,7 @@ _020382F6: ldr r0, [r4, #0x44] mov r1, #0x6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r3, r0, #0x0 add r0, sp, #0x30 str r0, [sp, #0x0] @@ -1942,7 +1942,7 @@ _02038590: ldr r2, [r4, #0xc] mov r1, #0x75 add r2, #0x1c - bl SetMonData + bl Pokemon_SetData pop {r3-r5, pc} _020385A8: ldr r0, [r5, #0xc] @@ -2009,13 +2009,13 @@ _02038620: mov r1, #0x6f mov r2, #0x0 add r6, r0, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [r4, #0xc] mov r2, #0x0 str r0, [r1, #0x10] add r0, r6, #0x0 mov r1, #0x70 - bl GetMonData + bl Pokemon_GetData ldr r1, [r4, #0xc] cmp r5, #0x0 str r0, [r1, #0x8] diff --git a/arm9/asm/unk_02047500.s b/arm9/asm/unk_02047500.s index 0e4f0ad1b..e03bff50f 100644 --- a/arm9/asm/unk_02047500.s +++ b/arm9/asm/unk_02047500.s @@ -242,7 +242,7 @@ sub_02047668: ; 0x02047668 bl GetFirstAliveMonInParty_CrashIfNone mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020476C8 ; =0x000001DF sub r0, r0, r1 cmp r0, #0xe diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s index 9bea3a3fb..747a19dbd 100644 --- a/arm9/asm/unk_020476CC.s +++ b/arm9/asm/unk_020476CC.s @@ -250,7 +250,7 @@ sub_02047814: ; 0x02047814 add r3, r6, #0x0 bl Bag_AddItem add r0, r6, #0x0 - bl AllocMonZeroed + bl Pokemon_New add r6, r0, #0x0 ldr r0, [r5, #0xc] bl Save_VarsFlags_Get @@ -265,7 +265,7 @@ sub_02047814: ; 0x02047814 add r0, r6, #0x0 mov r2, #0x5 mov r3, #0x20 - bl CreateMon + bl Pokemon_InitWithParams ldr r0, [r4, #0x4] add r1, r6, #0x0 bl Party_AddMon @@ -278,7 +278,7 @@ sub_02047814: ; 0x02047814 ldr r1, _02047960 ; =0x0000018F add r0, r6, #0x0 mov r3, #0x20 - bl CreateMon + bl Pokemon_InitWithParams ldr r0, [r4, #0x8] add r1, r6, #0x0 bl Party_AddMon @@ -646,7 +646,7 @@ sub_02047BC0: ; 0x02047BC0 mov r2, #0x0 bl sub_02047A44 mov r0, #0xb - bl AllocMonZeroed + bl Pokemon_New add r5, r0, #0x0 ldr r0, [sp, #0x14] bl Party_GetCount @@ -667,7 +667,7 @@ _02047C40: add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r7, r0 beq _02047C82 cmp r7, #0x0 @@ -675,16 +675,16 @@ _02047C40: add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r7, #0x0 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel str r0, [sp, #0x18] add r0, r5, #0x0 mov r1, #0x8 add r2, sp, #0x18 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats _02047C82: add r0, r6, #0x0 add r1, r5, #0x0 @@ -844,7 +844,7 @@ _02047DC2: b _02047E14 _02047DD8: mov r0, #0xb - bl AllocMonZeroed + bl Pokemon_New str r0, [sp, #0x8] ldr r0, [r5, #0x4] add r1, r4, #0x0 diff --git a/arm9/asm/unk_0204B9EC.s b/arm9/asm/unk_0204B9EC.s index 2a4b67715..667afe6da 100644 --- a/arm9/asm/unk_0204B9EC.s +++ b/arm9/asm/unk_0204B9EC.s @@ -180,7 +180,7 @@ sub_0204BB20: ; 0x0204BB20 bl sub_02022528 str r0, [sp, #0x4] mov r0, #0x4 - bl AllocMonZeroed + bl Pokemon_New ldr r5, [sp, #0x0] add r4, r0, #0x0 mov r6, #0x0 @@ -198,7 +198,7 @@ _0204BB3C: add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 strh r0, [r5, #0x0] @@ -220,12 +220,12 @@ _0204BB72: ldrb r0, [r7, #0x2] strh r0, [r5, #0x4] add r0, r4, #0x0 - bl GetMonData + bl Pokemon_GetData strb r0, [r5, #0x6] add r0, r4, #0x0 mov r1, #0xb1 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strb r0, [r5, #0x7] add r6, r6, #0x1 add r5, #0x8 @@ -473,7 +473,7 @@ sub_0204BD40: ; 0x0204BD40 add r5, r0, #0x0 mov r0, #0x20 add r6, r1, #0x0 - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0x0 ldr r0, [r5, #0xc] bl sub_02022528 diff --git a/arm9/asm/unk_02050E48.s b/arm9/asm/unk_02050E48.s index 3975b4523..7567c06ce 100644 --- a/arm9/asm/unk_02050E48.s +++ b/arm9/asm/unk_02050E48.s @@ -1720,7 +1720,7 @@ _02051BD6: mov r1, #0x5 add r0, r0, r6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r0, #0x0 ldr r0, [sp, #0x18] ldr r2, [r5, #0xc] diff --git a/arm9/asm/unk_02054C14.s b/arm9/asm/unk_02054C14.s index b18e70aee..3ec6e9c5d 100644 --- a/arm9/asm/unk_02054C14.s +++ b/arm9/asm/unk_02054C14.s @@ -302,7 +302,7 @@ _02054E02: bl Party_GetMonByIndex add r1, r7, #0x0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 bne _02054E1E add r0, r4, #0x0 @@ -338,7 +338,7 @@ _02054E4A: bl Party_GetMonByIndex mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x0] add r6, r6, #0x1 add r5, r5, #0x2 diff --git a/arm9/asm/unk_020603B0.s b/arm9/asm/unk_020603B0.s index 53dab7eea..6531c951f 100644 --- a/arm9/asm/unk_020603B0.s +++ b/arm9/asm/unk_020603B0.s @@ -245,9 +245,9 @@ _020604D0: bl Save_PlayerData_GetProfile str r0, [sp, #0x18] mov r0, #0x4 - bl AllocMonZeroed + bl Pokemon_New str r0, [sp, #0x1c] - bl ZeroMonData + bl Pokemon_Init ldr r0, [sp, #0x18] bl PlayerProfile_GetTrainerID_VisibleHalf mov r1, #0x0 @@ -260,7 +260,7 @@ _020604D0: add r1, r7, #0x0 add r2, r6, #0x0 mov r3, #0x20 - bl CreateMon + bl Pokemon_InitWithParams add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 @@ -272,7 +272,7 @@ _020604D0: ldr r0, [sp, #0x1c] mov r1, #0xae mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 @@ -280,7 +280,7 @@ _020604D0: mov r1, #0x0 ldr r0, [sp, #0x1c] add r2, r1, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x3 @@ -288,7 +288,7 @@ _020604D0: ldr r0, [sp, #0x1c] mov r1, #0xa3 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x5 diff --git a/arm9/asm/unk_020606B0.s b/arm9/asm/unk_020606B0.s index e5ce5dd13..1082ac833 100644 --- a/arm9/asm/unk_020606B0.s +++ b/arm9/asm/unk_020606B0.s @@ -140,10 +140,10 @@ CallTask_NPCTrade: ; 0x02060790 str r5, [r4, #0x0] ldr r0, [sp, #0x0] str r6, [r4, #0x8] - bl AllocMonZeroed + bl Pokemon_New str r0, [r4, #0x24] ldr r0, [sp, #0x0] - bl AllocMonZeroed + bl Pokemon_New str r0, [r4, #0x28] ldr r1, _020607D0 ; =sub_020606D0 add r0, r7, #0x0 diff --git a/arm9/asm/unk_02060CCC.s b/arm9/asm/unk_02060CCC.s index cd7fabfb4..c0045b997 100644 --- a/arm9/asm/unk_02060CCC.s +++ b/arm9/asm/unk_02060CCC.s @@ -323,7 +323,7 @@ sub_02060E04: ; 0x02060E04 add r0, r6, #0x0 mov r1, #0x76 add r2, r4, #0x0 - bl GetMonData + bl Pokemon_GetData add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0xb @@ -342,22 +342,22 @@ sub_02060E34: ; 0x02060E34 mov r1, #0x5 mov r2, #0x0 add r7, r3, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x6f mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strb r0, [r6, #0x0] add r0, r5, #0x0 mov r1, #0xc mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strb r0, [r7, #0x0] add r0, r5, #0x0 mov r1, #0x79 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x18] strb r0, [r1, #0x0] pop {r3-r7, pc} @@ -420,7 +420,7 @@ sub_02060ECC: ; 0x02060ECC mov r1, #0x4d mov r2, #0x0 add r7, r3, #0x0 - bl GetMonData + bl Pokemon_GetData strb r0, [r4, #0x0] ldrb r0, [r4, #0x0] cmp r0, #0x0 @@ -432,7 +432,7 @@ sub_02060ECC: ; 0x02060ECC add r0, r5, #0x0 mov r1, #0x76 add r2, r4, #0x0 - bl GetMonData + bl Pokemon_GetData add r0, r4, #0x0 add r1, r7, #0x0 mov r2, #0xb @@ -479,7 +479,7 @@ sub_02060F3C: ; 0x02060F3C mov r0, #0x0 strb r0, [r4, #0x1f] add r0, r5, #0x0 - bl GetMonNature + bl Pokemon_GetNature strb r0, [r4, #0x1e] add r0, r4, #0x6 str r0, [sp, #0x0] @@ -491,7 +491,7 @@ sub_02060F3C: ; 0x02060F3C add r0, r5, #0x0 mov r1, #0x4d mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strb r0, [r4, #0x7] add r2, r4, #0x7 add r4, #0x8 @@ -624,7 +624,7 @@ sub_02061028: ; 0x02061028 add r0, r4, #0x0 mov r1, #0x9a mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x22] ldrh r0, [r5, #0x22] cmp r0, #0x0 diff --git a/arm9/asm/unk_0206BB5C.s b/arm9/asm/unk_0206BB5C.s index ea3dd8a14..e5f9291b4 100644 --- a/arm9/asm/unk_0206BB5C.s +++ b/arm9/asm/unk_0206BB5C.s @@ -34,7 +34,7 @@ sub_0206BB84: ; 0x0206BB84 add r0, r7, #0x0 mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r4, #0x0 @@ -49,7 +49,7 @@ _0206BBA2: add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, r5 bls _0206BBBE mov r0, #0x0 @@ -58,7 +58,7 @@ _0206BBBE: add r0, r7, #0x0 mov r1, #0x4c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0206BBD0 mov r0, #0x0 @@ -208,17 +208,17 @@ _0206BCE2: add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r7, #0x0] add r0, r4, #0x0 mov r1, #0x6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r6, #0x0] add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x10] add r0, r1, r0 str r0, [sp, #0x10] @@ -427,12 +427,12 @@ _0206BE72: str r0, [sp, #0x24] mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x0] ldr r0, [sp, #0x24] mov r1, #0xa0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x0] ldr r0, [sp, #0xc] ldr r1, [sp, #0x24] diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s index 3e68fc398..9bdbb53cf 100644 --- a/arm9/asm/unk_0206C700.s +++ b/arm9/asm/unk_0206C700.s @@ -76,7 +76,7 @@ sub_0206C700: ; 0x0206C700 mov r1, #0x5 mov r2, #0x0 str r0, [r4, #0x28] - bl GetMonData + bl Pokemon_GetData add r1, r4, #0x0 add r1, #0x60 strh r0, [r1, #0x0] @@ -1040,11 +1040,11 @@ _0206CF7E: ldr r0, [r4, #0x28] mov r1, #0x5 add r2, #0x62 - bl SetMonData + bl Pokemon_SetData ldr r0, [r4, #0x28] bl sub_0206A1C4 ldr r0, [r4, #0x28] - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats ldr r0, [r4, #0x28] bl sub_020690E4 add r2, r0, #0x0 @@ -1111,13 +1111,13 @@ _0206CFFA: ldr r0, [r4, #0x28] mov r1, #0x4d mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 bne _0206D05E ldr r0, [r4, #0x28] mov r1, #0xb2 mov r2, #0x0 - bl SetMonData + bl Pokemon_SetData _0206D05E: add r0, r4, #0x0 add r0, #0x64 @@ -1652,7 +1652,7 @@ _0206D4A6: ldr r0, [r4, #0x28] mov r2, #0x0 add r1, #0x36 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x1 @@ -1736,7 +1736,7 @@ _0206D560: ldr r0, [r4, #0x28] add r2, #0x66 add r1, #0x3e - bl SetMonData + bl Pokemon_SetData add r1, r4, #0x0 add r2, r4, #0x0 add r1, #0x6c @@ -2092,7 +2092,7 @@ _0206D86C: b _0206D9AE _0206D86E: ldr r0, [r4, #0x5c] - bl AllocMonZeroed + bl Pokemon_New add r5, r0, #0x0 ldr r0, [r4, #0x28] add r1, r5, #0x0 @@ -2103,30 +2103,30 @@ _0206D86E: add r0, r5, #0x0 mov r1, #0x5 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData mov r0, #0x4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x9a add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData mov r0, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 mov r1, #0xb add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData mov r1, #0x19 str r1, [sp, #0x4] add r6, sp, #0x0 _0206D8BA: add r0, r5, #0x0 add r2, r6, #0x0 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] @@ -2138,7 +2138,7 @@ _0206D8BA: _0206D8D2: add r0, r5, #0x0 add r2, r6, #0x0 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] @@ -2150,7 +2150,7 @@ _0206D8D2: _0206D8EA: add r0, r5, #0x0 add r2, r6, #0x0 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] @@ -2159,28 +2159,28 @@ _0206D8EA: add r0, r5, #0x0 mov r1, #0xb2 mov r2, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 mov r1, #0x4d add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData ldr r0, [r4, #0x5c] bl Mail_New add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa9 add r2, r6, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0x0 bl FreeToHeap add r0, r5, #0x0 mov r1, #0xa1 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData mov r0, #0x0 add r1, sp, #0x8 mov r2, #0x18 @@ -2188,11 +2188,11 @@ _0206D8EA: add r0, r5, #0x0 mov r1, #0xaa add r2, sp, #0x8 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 bl sub_0206A1C4 add r0, r5, #0x0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats ldr r0, [r4, #0x24] add r1, r5, #0x0 bl Party_AddMon @@ -2225,7 +2225,7 @@ _0206D9A0: ldr r0, [r4, #0x28] mov r1, #0x6 add r2, sp, #0x4 - bl SetMonData + bl Pokemon_SetData _0206D9AE: add sp, #0x20 pop {r4-r6, pc} @@ -2572,7 +2572,7 @@ sub_0206DC80: ; 0x0206DC80 bl sub_020073A0 str r0, [r4, #0x1c] ldr r0, [r4, #0x5c] - bl AllocMonZeroed + bl Pokemon_New add r5, r0, #0x0 ldr r0, [r4, #0x28] add r1, r5, #0x0 @@ -2581,9 +2581,9 @@ sub_0206DC80: ; 0x0206DC80 add r0, r5, #0x0 mov r1, #0x5 add r2, #0x62 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats add r0, sp, #0x10 add r1, r5, #0x0 mov r2, #0x2 diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s index 685ccf73e..41e75e925 100644 --- a/arm9/asm/unk_0206F3FC.s +++ b/arm9/asm/unk_0206F3FC.s @@ -1684,7 +1684,7 @@ _020700BC: mov r1, #0x5 mov r2, #0x0 add r7, r0, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x4] @@ -1708,42 +1708,42 @@ _020700DE: add r0, r7, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020701E4 ; =0x00000706 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020701E8 ; =0x00000708 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020701EC ; =0x0000070A add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0x6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020701F0 ; =0x0000070C add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa1 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020701F4 ; =0x00000712 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0x4c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x71 add r2, r5, r6 lsl r1, r1, #0x4 @@ -1751,14 +1751,14 @@ _020700DE: add r0, r7, #0x0 mov r1, #0x70 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020701F8 ; =0x00000711 add r2, r5, r6 strb r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xaf mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x1 ldr r0, _020701FC ; =0x0000070E bne _02070184 @@ -1778,7 +1778,7 @@ _0207018E: ldr r0, _020701FC ; =0x0000070E add r6, r5, r0 add r0, r7, #0x0 - bl GetMonGender + bl Pokemon_GetGender lsl r0, r0, #0x1e ldrh r2, [r6, r4] ldr r1, _02070204 ; =0xFFFF9FFF @@ -1867,7 +1867,7 @@ _02070256: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0207026C add r4, r4, #0x1 @@ -1928,106 +1928,106 @@ _020702BE: ; jump table (using 16-bit offset) _020702C8: mov r1, #0x7a mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x7b mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x7c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x7d mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 b _020703B6 _020702F8: mov r1, #0x7e mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x7f mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x80 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x81 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 b _020703B6 _02070328: mov r1, #0x82 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x83 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x84 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x85 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 b _020703B6 _02070358: mov r1, #0x86 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x87 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x88 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x89 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 b _020703B6 _02070388: mov r1, #0x8a mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8b mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x8c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x8d mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r4, r0 _020703B6: add r0, r4, #0x0 @@ -2842,7 +2842,7 @@ _02070A38: _02070A3A: mov r1, #0xa2 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 bne _02070A4E add r0, r4, #0x2 @@ -3793,7 +3793,7 @@ _020711D0: ldr r0, [sp, #0x8] add r1, #0x36 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r7, r0, #0x10 beq _02071210 @@ -5252,7 +5252,7 @@ _02071D14: add r2, sp, #0x0 str r1, [sp, #0x0] mov r1, #0xa2 - bl SetMonData + bl Pokemon_SetData mov r0, #0x1 pop {r3-r7, pc} _02071D30: @@ -5673,7 +5673,7 @@ sub_02072080: ; 0x02072080 add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 bl Pokemon_UpdateArceusForm ldr r1, _020720D8 ; =0x00000B25 @@ -5716,7 +5716,7 @@ sub_020720E0: ; 0x020720E0 add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x1c - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 bl Pokemon_UpdateArceusForm ldr r1, _02072138 ; =0x00000B25 diff --git a/arm9/asm/unk_02072548.s b/arm9/asm/unk_02072548.s index adec1227a..d1c84238b 100644 --- a/arm9/asm/unk_02072548.s +++ b/arm9/asm/unk_02072548.s @@ -1987,37 +1987,37 @@ sub_020734C0: ; 0x020734C0 mov r1, #0xa3 mov r2, #0x0 add r4, r0, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x20 strh r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0xa4 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x20 strh r0, [r1, #0x2] add r0, r4, #0x0 mov r1, #0xa5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x20 strh r0, [r1, #0x4] add r0, r4, #0x0 mov r1, #0xa7 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x20 strh r0, [r1, #0x6] add r0, r4, #0x0 mov r1, #0xa8 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x20 strh r0, [r1, #0x8] add r0, r4, #0x0 mov r1, #0xa6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x20 strh r0, [r1, #0xa] mov r3, #0x1 diff --git a/arm9/asm/unk_02073710.s b/arm9/asm/unk_02073710.s index 4abcbb68b..e34a4e940 100644 --- a/arm9/asm/unk_02073710.s +++ b/arm9/asm/unk_02073710.s @@ -248,7 +248,7 @@ sub_020737D0: ; 0x020737D0 ldr r0, [sp, #0x10] mov r1, #0x4c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 str r7, [sp, #0x14] add r0, sp, #0x14 diff --git a/arm9/asm/unk_02073DA8.s b/arm9/asm/unk_02073DA8.s index 59b30d020..c88367f7e 100644 --- a/arm9/asm/unk_02073DA8.s +++ b/arm9/asm/unk_02073DA8.s @@ -244,7 +244,7 @@ _02073F66: add r6, r0, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0x0 bl Pokemon_UpdateArceusForm ldr r2, _02074058 ; =0x0000069C @@ -631,7 +631,7 @@ sub_020742A8: ; 0x020742A8 add r5, r0, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 bl Pokemon_UpdateArceusForm ldr r1, _02074330 ; =0x00000B25 @@ -2386,7 +2386,7 @@ sub_02075118: ; 0x02075118 bl Party_GetMonByIndex mov r1, #0xa1 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 ldr r2, _02075198 ; =0x0000069C bne _0207515C diff --git a/arm9/asm/unk_0207550C.s b/arm9/asm/unk_0207550C.s index 05a06dc0f..bc789426b 100644 --- a/arm9/asm/unk_0207550C.s +++ b/arm9/asm/unk_0207550C.s @@ -1049,49 +1049,49 @@ sub_02075DC0: ; 0x02075DC0 mov r1, #0xd mov r2, #0x0 add r4, r0, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x1c] add r0, r4, #0x0 mov r1, #0xe mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x18] add r0, r4, #0x0 mov r1, #0xf mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x14] add r0, r4, #0x0 mov r1, #0x10 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x11 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x12 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x9 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r7, r0, #0x18 ldr r0, _02075F4C ; =0x000005A4 @@ -1135,42 +1135,42 @@ sub_02075DC0: ; 0x02075DC0 add r0, r4, #0x0 mov r1, #0xd mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x1c] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0xe mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x18] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0xf mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x14] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x10 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x10] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x11 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0xc] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x12 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x8] cmp r1, r0 beq _02075F26 @@ -1178,7 +1178,7 @@ _02075EFA: add r0, r4, #0x0 mov r1, #0x9 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r7, r0 ldr r1, _02075F4C ; =0x000005A4 beq _02075F18 @@ -1247,7 +1247,7 @@ sub_02075F60: ; 0x02075F60 mov r1, #0xa2 mov r2, #0x0 str r0, [sp, #0x8] - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 ldr r0, _02076084 ; =0x00000B25 ldrb r1, [r5, r0] @@ -1375,7 +1375,7 @@ sub_020760A0: ; 0x020760A0 bl Party_GetMonByIndex mov r1, #0xa2 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02076134 ; =0x00000B25 add r4, r0, #0x0 ldrb r2, [r5, r1] @@ -1574,7 +1574,7 @@ _02076212: add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r0, _020763E4 ; =0x0000069C mov r1, #0x46 ldr r0, [r4, r0] @@ -1649,7 +1649,7 @@ _020762DC: bl Party_GetMonByIndex mov r1, #0xa2 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r2, _020763E0 ; =0x00000B25 add r5, r0, #0x0 ldr r0, _02076400 ; =0x00000706 @@ -1786,38 +1786,38 @@ sub_0207640C: ; 0x0207640C mov r1, #0xa3 mov r2, #0x0 add r4, r0, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020765B8 ; =0x00000B28 mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa4 - bl GetMonData + bl Pokemon_GetData ldr r1, _020765BC ; =0x00000B2A mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa5 - bl GetMonData + bl Pokemon_GetData ldr r1, _020765C0 ; =0x00000B2C mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa7 - bl GetMonData + bl Pokemon_GetData ldr r1, _020765C4 ; =0x00000B2E mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa8 - bl GetMonData + bl Pokemon_GetData mov r1, #0xb3 lsl r1, r1, #0x4 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020765C8 ; =0x00000B32 strh r0, [r5, r1] ldr r0, _020765B0 ; =0x000005A4 @@ -1836,7 +1836,7 @@ sub_0207640C: ; 0x0207640C add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c @@ -1847,7 +1847,7 @@ sub_0207640C: ; 0x0207640C add r0, r4, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c @@ -1858,7 +1858,7 @@ sub_0207640C: ; 0x0207640C add r0, r4, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c @@ -2335,7 +2335,7 @@ _020768E6: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 @@ -2540,7 +2540,7 @@ _02076AAA: add r0, r6, #0x0 add r1, #0x36 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r2, r0, #0x10 ldr r0, [r5, r7] @@ -2803,7 +2803,7 @@ _02076CDC: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 @@ -3080,14 +3080,14 @@ sub_02076F2C: ; 0x02076F2C str r0, [sp, #0x0] add r0, r4, #0x0 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData mov r0, #0x0 add r1, r6, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 add r1, #0x3e add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData ldr r0, _02076FAC ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] @@ -3098,7 +3098,7 @@ sub_02076F2C: ; 0x02076F2C add r0, r4, #0x0 add r1, r6, #0x0 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData ldr r0, _02076FAC ; =0x000005A4 ldr r1, [r5, r0] ldrh r0, [r1, #0x24] @@ -3121,7 +3121,7 @@ _02076F98: add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x4 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship _02076FA8: add sp, #0x4 pop {r3-r6, pc} @@ -3142,7 +3142,7 @@ sub_02076FB0: ; 0x02076FB0 add r1, r6, #0x0 add r1, #0x36 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, _02077034 ; =0x0000069C @@ -3379,7 +3379,7 @@ _0207716A: add r4, #0x36 add r1, r4, #0x0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02077234 ; =0x000005A4 add r2, r0, #0x0 ldr r1, [r5, r1] diff --git a/arm9/asm/unk_020772F0.s b/arm9/asm/unk_020772F0.s index 570a33a18..a3d369714 100644 --- a/arm9/asm/unk_020772F0.s +++ b/arm9/asm/unk_020772F0.s @@ -1407,7 +1407,7 @@ sub_02077894: ; 0x02077894 cmp r0, #0x1 bne _020778DE mov r0, #0x12 - bl AllocMonZeroed + bl Pokemon_New mov r3, #0xa str r3, [sp, #0x0] str r3, [sp, #0x4] @@ -1416,7 +1416,7 @@ sub_02077894: ; 0x02077894 ldr r1, [r4, #0x4] add r6, r0, #0x0 mov r2, #0x5 - bl CreateMon + bl Pokemon_InitWithParams add r0, r6, #0x0 bl FreeToHeap _020778DE: @@ -1978,7 +1978,7 @@ _02077D88: cmp r0, #0x1 bne _02077DCE mov r0, #0x12 - bl AllocMonZeroed + bl Pokemon_New mov r3, #0xa str r3, [sp, #0x0] str r3, [sp, #0x4] @@ -1987,7 +1987,7 @@ _02077D88: ldr r1, [r4, #0x4] add r5, r0, #0x0 mov r2, #0x5 - bl CreateMon + bl Pokemon_InitWithParams add r0, r5, #0x0 bl sub_020690E4 add r2, r0, #0x0 @@ -2158,7 +2158,7 @@ _02077F04: beq _02077F50 _02077F1A: mov r0, #0x12 - bl AllocMonZeroed + bl Pokemon_New mov r3, #0x0 str r3, [sp, #0x0] str r3, [sp, #0x4] @@ -2167,7 +2167,7 @@ _02077F1A: ldr r1, [r5, #0x4] add r6, r0, #0x0 mov r2, #0x1 - bl CreateMon + bl Pokemon_InitWithParams add r0, r6, #0x0 bl sub_020690E4 add r2, r0, #0x0 diff --git a/arm9/asm/unk_02079C70.s b/arm9/asm/unk_02079C70.s index d0f0334ff..8c2796f6c 100644 --- a/arm9/asm/unk_02079C70.s +++ b/arm9/asm/unk_02079C70.s @@ -1532,7 +1532,7 @@ _0207A896: bl sub_0207B628 add r6, r0, #0x0 mov r0, #0x13 - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 @@ -1555,7 +1555,7 @@ _0207A8C0: mov r1, #0x13 ldrb r6, [r5, r0] add r0, r4, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _0207AA08 ; =0x00000295 strb r0, [r5, r1] ldrb r0, [r5, r1] @@ -1572,7 +1572,7 @@ _0207A8F4: ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _0207AA0C ; =0x00000296 strb r0, [r5, r1] ldrb r0, [r5, r1] @@ -1589,7 +1589,7 @@ _0207A916: ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _0207AA10 ; =0x00000297 strb r0, [r5, r1] ldrb r0, [r5, r1] @@ -1607,7 +1607,7 @@ _0207A938: add r0, r4, #0x0 mov r1, #0x16 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData mov r1, #0xa6 lsl r1, r1, #0x2 strb r0, [r5, r1] @@ -1625,7 +1625,7 @@ _0207A95E: ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _0207AA14 ; =0x00000299 strb r0, [r5, r1] ldrb r0, [r5, r1] @@ -1640,7 +1640,7 @@ _0207A980: add r0, r4, #0x0 mov r1, #0x18 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _0207AA18 ; =0x0000029A strb r0, [r5, r1] sub r1, #0x4e @@ -1821,7 +1821,7 @@ sub_0207AAE0: ; 0x0207AAE0 mov r0, #0x13 add r6, r1, #0x0 add r7, r2, #0x0 - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 @@ -1848,7 +1848,7 @@ sub_0207AB0C: ; 0x0207AB0C add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0xc] add r0, r6, #0x0 bl sub_020690E4 @@ -1913,12 +1913,12 @@ sub_0207AB0C: ; 0x0207AB0C add r0, r6, #0x0 mov r1, #0x6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0xe] add r0, r6, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldrb r1, [r5, #0x12] mov r2, #0x7f lsl r0, r0, #0x18 @@ -1931,7 +1931,7 @@ sub_0207AB0C: ; 0x0207AB0C add r0, r6, #0x0 mov r1, #0x4c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x1f ldr r2, [r5, #0x50] ldr r1, _0207AEB4 ; =0xEFFFFFFF @@ -1942,7 +1942,7 @@ sub_0207AB0C: ; 0x0207AB0C add r0, r6, #0x0 mov r1, #0xaf mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x1 bne _0207AC16 ldr r0, [r5, #0x50] @@ -1961,7 +1961,7 @@ _0207AC16: strb r0, [r5, #0x12] _0207AC1E: add r0, r6, #0x0 - bl GetMonGender + bl Pokemon_GetGender ldrb r1, [r5, #0x13] mov r2, #0x3 bic r1, r2 @@ -1972,7 +1972,7 @@ _0207AC1E: add r0, r6, #0x0 mov r1, #0x9a mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1a @@ -1985,27 +1985,27 @@ _0207AC1E: add r0, r6, #0x0 mov r1, #0xb0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strb r0, [r5, #0x10] add r0, r6, #0x0 mov r1, #0xb1 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strb r0, [r5, #0x11] add r0, r6, #0x0 mov r1, #0x7 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [r5, #0x14] add r0, r6, #0x0 mov r1, #0x8 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [r5, #0x18] add r0, r6, #0x0 mov r1, #0x9c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x44 strb r0, [r1, #0x0] @@ -2013,7 +2013,7 @@ _0207AC1E: ldrh r0, [r5, #0xc] lsl r1, r1, #0x19 lsr r1, r1, #0x19 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel str r0, [r5, #0x1c] ldrb r0, [r5, #0x12] lsl r0, r0, #0x19 @@ -2025,53 +2025,53 @@ _0207AC1E: _0207ACAA: ldrh r0, [r5, #0xc] add r1, r1, #0x1 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel _0207ACB2: str r0, [r5, #0x20] add r0, r6, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x24] add r0, r6, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x26] add r0, r6, #0x0 mov r1, #0xa4 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x28] add r0, r6, #0x0 mov r1, #0xa5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x2a] add r0, r6, #0x0 mov r1, #0xa7 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x2c] add r0, r6, #0x0 mov r1, #0xa8 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x2e] add r0, r6, #0x0 mov r1, #0xa6 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x30] add r0, r6, #0x0 mov r1, #0xa mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x32 strb r0, [r1, #0x0] add r0, r6, #0x0 - bl GetMonNature + bl Pokemon_GetNature add r1, r5, #0x0 add r1, #0x33 strb r0, [r1, #0x0] @@ -2084,14 +2084,14 @@ _0207AD26: add r0, r6, #0x0 add r1, #0x36 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x0] mov r2, #0x0 strh r0, [r1, #0x34] add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x3a - bl GetMonData + bl Pokemon_GetData add r1, r5, r4 add r1, #0x3c strb r0, [r1, #0x0] @@ -2099,7 +2099,7 @@ _0207AD26: add r0, r6, #0x0 add r1, #0x3e mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, [sp, #0x0] @@ -2116,42 +2116,42 @@ _0207AD26: add r0, r6, #0x0 mov r1, #0x13 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x45 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x14 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x46 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x15 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x47 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x16 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x48 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x17 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x49 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x18 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x4a strb r0, [r1, #0x0] @@ -2180,14 +2180,14 @@ _0207ADFE: add r0, r6, #0x0 mov r1, #0xb mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x4c strh r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x70 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0x0 add r1, #0x4e strh r0, [r1, #0x0] @@ -2243,7 +2243,7 @@ _0207AE7C: str r0, [r5, #0x50] _0207AE84: add r0, r6, #0x0 - bl MonIsShiny + bl Pokemon_IsShiny cmp r0, #0x1 ldr r1, [r5, #0x50] bne _0207AE98 @@ -2281,7 +2281,7 @@ _0207AECC: add r1, r0, #0x0 add r0, r6, #0x0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0207AF04 lsr r0, r4, #0x5 @@ -3123,13 +3123,13 @@ _0207B528: add r0, r6, r7 mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0207B50C add r0, r6, r7 mov r1, #0x4c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0207B55E add r0, r5, #0x0 @@ -3173,13 +3173,13 @@ _0207B58E: mov r1, #0x5 mov r2, #0x0 add r6, r0, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0207B574 add r0, r6, #0x0 mov r1, #0x4c mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0207B5BC add r0, r5, #0x0 @@ -3227,13 +3227,13 @@ _0207B5EC: add r0, r6, r7 mov r1, #0x5 mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 beq _0207B5D0 add r0, r6, r7 mov r1, #0x4c mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 beq _0207B622 add r0, r5, #0x0 @@ -4814,12 +4814,12 @@ sub_0207C2D4: ; 0x0207C2D4 add r5, r0, #0x0 mov r1, #0x9f mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 bne _0207C2F4 mov r0, #0x6 diff --git a/arm9/asm/unk_0207C328.s b/arm9/asm/unk_0207C328.s index eb5cf33a3..3c8eb3938 100644 --- a/arm9/asm/unk_0207C328.s +++ b/arm9/asm/unk_0207C328.s @@ -1892,8 +1892,8 @@ _0207D00C: mov r0, #0x97 lsl r0, r0, #0x2 ldrh r0, [r4, r0] - mov r1, #0x1c ; BASE_FLIP - bl GetMonBaseStat + mov r1, #0x1c ; SPECIES_DATA_FLIP_SPRITE + bl Species_GetValue add r2, r0, #0x0 ldr r0, _0207D068 ; =0x00000454 mov r1, #0x1 diff --git a/arm9/asm/unk_0207D5BC.s b/arm9/asm/unk_0207D5BC.s index 57a53e10e..68ef41a62 100644 --- a/arm9/asm/unk_0207D5BC.s +++ b/arm9/asm/unk_0207D5BC.s @@ -1536,7 +1536,7 @@ sub_0207E190: ; 0x0207E190 cmp r1, #0x2 bne _0207E1E8 mov r0, #0x13 - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 diff --git a/arm9/asm/unk_0207EF6C.s b/arm9/asm/unk_0207EF6C.s index 353184f9a..8d3a8a647 100644 --- a/arm9/asm/unk_0207EF6C.s +++ b/arm9/asm/unk_0207EF6C.s @@ -1168,8 +1168,8 @@ _0207F876: mov r0, #0x97 lsl r0, r0, #0x2 ldrh r0, [r4, r0] - mov r1, #0x1c ; BASE_FLIP - bl GetMonBaseStat + mov r1, #0x1c ; SPECIES_DATA_FLIP_SPRITE + bl Species_GetValue mov r1, #0x1 eor r0, r1 mov r1, #0xb6 diff --git a/arm9/asm/unk_0207FD00.s b/arm9/asm/unk_0207FD00.s index 9bd846387..fafc32710 100644 --- a/arm9/asm/unk_0207FD00.s +++ b/arm9/asm/unk_0207FD00.s @@ -472,7 +472,7 @@ sub_020800E0: ; 0x020800E0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl GetMonNature + bl Pokemon_GetNature add r4, r0, #0x0 cmp r4, #0x18 bgt _02080106 @@ -511,7 +511,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x94 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -523,7 +523,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x95 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x1 @@ -531,7 +531,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x96 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -544,7 +544,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x9b mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -557,7 +557,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x98 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x4 @@ -565,7 +565,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x91 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -577,7 +577,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x92 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 @@ -585,7 +585,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x93 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -598,7 +598,7 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0xc] mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 @@ -635,7 +635,7 @@ sub_02080228: ; 0x02080228 ldr r0, [r4, #0xc] mov r1, #0x94 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -647,7 +647,7 @@ sub_02080228: ; 0x02080228 ldr r0, [r4, #0xc] mov r1, #0x95 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x1 @@ -655,7 +655,7 @@ sub_02080228: ; 0x02080228 ldr r0, [r4, #0xc] mov r1, #0x96 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -668,7 +668,7 @@ sub_02080228: ; 0x02080228 ldr r0, [r4, #0xc] mov r1, #0x9b mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -681,7 +681,7 @@ sub_02080228: ; 0x02080228 ldr r0, [r4, #0xc] mov r1, #0x79 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0xf bhi _020802F8 add r0, r0, r0 @@ -797,7 +797,7 @@ sub_02080384: ; 0x02080384 bne _02080418 mov r1, #0x91 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -809,7 +809,7 @@ sub_02080384: ; 0x02080384 ldr r0, [r5, #0xc] mov r1, #0x92 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 @@ -817,7 +817,7 @@ sub_02080384: ; 0x02080384 ldr r0, [r5, #0xc] mov r1, #0x93 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -830,7 +830,7 @@ sub_02080384: ; 0x02080384 ldr r0, [r5, #0xc] mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 @@ -839,7 +839,7 @@ sub_02080384: ; 0x02080384 _02080418: mov r1, #0x94 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -851,7 +851,7 @@ _02080418: ldr r0, [r5, #0xc] mov r1, #0x95 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 @@ -859,7 +859,7 @@ _02080418: ldr r0, [r5, #0xc] mov r1, #0x96 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -872,7 +872,7 @@ _02080418: ldr r0, [r5, #0xc] mov r1, #0x98 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 @@ -899,37 +899,37 @@ sub_0208048C: ; 0x0208048C ldr r0, [r4, #0xc] mov r1, #0x46 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] ldr r0, [r4, #0xc] mov r1, #0x47 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x8] ldr r0, [r4, #0xc] mov r1, #0x48 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x4] ldr r0, [r4, #0xc] mov r1, #0x49 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x0] ldr r0, [r4, #0xc] mov r1, #0x4a mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x4b mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 mov r1, #0x0 ldr r0, [r4, #0xc] add r2, r1, #0x0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x6 bl _u32_div_f cmp r1, #0x5 @@ -1196,7 +1196,7 @@ sub_020806B4: ; 0x020806B4 ldr r0, [r5, #0xc] mov r1, #0x9 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 mov r0, #0x12 ldr r1, [r5, #0x0] @@ -1232,7 +1232,7 @@ sub_020806F4: ; 0x020806F4 mov r1, #0x4c mov r2, #0x0 add r5, r0, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _02080708 b _0208084E @@ -1240,13 +1240,13 @@ _02080708: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 bne _02080774 add r0, r5, #0x0 mov r1, #0x98 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 mov r0, #0x0 mov r1, #0x37 @@ -1259,7 +1259,7 @@ _02080732: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x1 bne _0208074C cmp r4, #0x1 @@ -1273,7 +1273,7 @@ _0208074C: add r0, r5, #0x0 mov r1, #0x98 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r5, r0, #0x0 mov r0, #0x1 add r1, r0, #0x0 @@ -1294,13 +1294,13 @@ _02080774: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x1 bne _020807D6 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x2 @@ -1318,7 +1318,7 @@ _020807A6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r5, r0, #0x0 mov r0, #0x2 mov r1, #0x1 @@ -1344,7 +1344,7 @@ _020807D6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 mov r0, #0x1 add r1, r0, #0x0 @@ -1354,7 +1354,7 @@ _020807D6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x0 @@ -1364,7 +1364,7 @@ _020807D6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x9 @@ -1374,7 +1374,7 @@ _020807D6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r5, r0, #0x0 mov r0, #0x1 mov r1, #0xa @@ -1403,13 +1403,13 @@ _0208084E: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x1 bne _02080880 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 mov r0, #0x2 mov r1, #0x1 @@ -1428,7 +1428,7 @@ _02080884: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x1 bne _02080896 mov r0, #0x13 @@ -1484,7 +1484,7 @@ _020808E4: add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 bne _0208090C add r0, r4, #0x0 @@ -1514,7 +1514,7 @@ _0208091E: _0208092A: mov r1, #0x4c mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 bne _02080958 add r0, r4, #0x0 @@ -1575,7 +1575,7 @@ _020809B0: add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 bne _020809E2 add r0, r4, #0x0 @@ -1601,7 +1601,7 @@ _020809F6: add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 bne _02080A1E add r0, r4, #0x0 @@ -1629,7 +1629,7 @@ _02080A30: _02080A38: mov r1, #0x4c mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0x0 beq _02080AE0 mov r0, #0x1 @@ -1657,39 +1657,39 @@ _02080A66: add r0, r4, #0x0 mov r1, #0x98 mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x97 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x94 mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x91 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x95 mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x92 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x96 mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x93 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData _02080ACC: add r0, r4, #0x0 add r1, r5, #0x0 @@ -1723,15 +1723,15 @@ sub_02080AE4: ; 0x02080AE4 add r0, r5, #0x0 mov r1, #0x7 add r2, sp, #0x4 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r5, #0x0 mov r1, #0x9c add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r5, #0x0 mov r1, #0x90 add r2, r4, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 bl String_Delete add sp, #0x8 @@ -1751,19 +1751,19 @@ sub_02080B30: ; 0x02080B30 bne _02080B76 add r0, r5, #0x0 mov r1, #0x97 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r5, #0x0 mov r1, #0x91 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r5, #0x0 mov r1, #0x92 add r2, sp, #0x4 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r5, #0x0 mov r1, #0x93 add r2, sp, #0x8 - bl SetBoxMonData + bl BoxPokemon_SetData add sp, #0x10 pop {r3-r5} pop {r3} @@ -1772,19 +1772,19 @@ sub_02080B30: ; 0x02080B30 _02080B76: add r0, r5, #0x0 mov r1, #0x98 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r5, #0x0 mov r1, #0x94 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r5, #0x0 mov r1, #0x95 add r2, sp, #0x4 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r5, #0x0 mov r1, #0x96 add r2, sp, #0x8 - bl SetBoxMonData + bl BoxPokemon_SetData add sp, #0x10 pop {r3-r5} pop {r3} @@ -1803,36 +1803,36 @@ sub_02080BA8: ; 0x02080BA8 add r2, sp, #0x0 bne _02080BE0 mov r1, #0x97 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x91 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x92 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x93 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add sp, #0x4 pop {r3-r4, pc} _02080BE0: mov r1, #0x98 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x94 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x95 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0x0 mov r1, #0x96 add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add sp, #0x4 pop {r3-r4, pc} @@ -1843,12 +1843,12 @@ sub_02080C08: ; 0x02080C08 add r4, r0, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x9b add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData add sp, #0x4 pop {r3-r4, pc} .balign 4 @@ -1860,5 +1860,5 @@ sub_02080C28: ; 0x02080C28 str r1, [sp, #0x0] mov r1, #0x6e add r2, sp, #0x0 - bl SetBoxMonData + bl BoxPokemon_SetData pop {r3, pc} diff --git a/arm9/asm/unk_02080C38.s b/arm9/asm/unk_02080C38.s index a244fac37..508e74d61 100644 --- a/arm9/asm/unk_02080C38.s +++ b/arm9/asm/unk_02080C38.s @@ -907,7 +907,7 @@ _020812B6: add r5, r4, #0x0 _020812F2: mov r0, #0x14 - bl AllocMonZeroed + bl Pokemon_New add r7, r7, #0x1 stmia r5!, {r0} cmp r7, #0x4 @@ -1083,7 +1083,7 @@ _02081454: ldr r0, [r4, #0x0] ldr r2, [r2, #0x0] mov r1, #0x90 - bl GetMonData + bl Pokemon_GetData add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x4 @@ -1223,7 +1223,7 @@ _02081566: add r0, r5, #0x0 add r1, #0x7a mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 b _020815BA _02081576: @@ -1231,7 +1231,7 @@ _02081576: add r0, r5, #0x0 add r1, #0x7e mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 b _020815BA _02081586: @@ -1239,7 +1239,7 @@ _02081586: add r0, r5, #0x0 add r1, #0x82 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 b _020815BA _02081596: @@ -1247,7 +1247,7 @@ _02081596: add r0, r5, #0x0 add r1, #0x86 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 b _020815BA _020815A6: @@ -1255,7 +1255,7 @@ _020815A6: add r0, r5, #0x0 add r1, #0x8a mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 b _020815BA _020815B6: @@ -2973,7 +2973,7 @@ sub_02082254: ; 0x02082254 ldr r0, _02082280 ; =0x00001990 mov r2, #0x0 ldr r0, [r4, r0] - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _0208227A mov r0, #0x1 @@ -3590,7 +3590,7 @@ _020826AC: add r1, r6, #0x0 ldr r0, [r4, r0] mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 bne _020826DE mov r5, #0x1 @@ -3599,7 +3599,7 @@ _020826DE: add r1, r6, #0x0 ldr r0, [r4, r0] add r2, sp, #0x8 - bl SetMonData + bl Pokemon_SetData _020826EA: ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] @@ -3748,7 +3748,7 @@ _02082820: lsl r2, r2, #0x10 mov r1, #0x9 lsr r2, r2, #0x10 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship _0208283A: add sp, #0xc pop {r4-r7, pc} diff --git a/arm9/asm/unk_020828BC.s b/arm9/asm/unk_020828BC.s index 79fb72b0e..efefaa3b2 100644 --- a/arm9/asm/unk_020828BC.s +++ b/arm9/asm/unk_020828BC.s @@ -765,7 +765,7 @@ sub_02082D60: ; 0x02082D60 lsl r1, r1, #0x18 lsr r1, r1, #0x18 mov r2, #0x0 - bl GenPersonalityByGenderAndNature + bl Personality_CreateFromGenderAndNature mov r1, #0x1 str r1, [sp, #0x0] str r0, [sp, #0x4] @@ -777,7 +777,7 @@ sub_02082D60: ; 0x02082D60 ldrh r1, [r7, #0x14] add r0, r6, #0x0 mov r3, #0x20 - bl CreateMon + bl Pokemon_InitWithParams mov r4, #0x0 add r5, r7, #0x0 _02082D9A: @@ -789,7 +789,7 @@ _02082D9A: add r0, r6, #0x0 add r1, #0x36 add r2, #0x2 - bl SetMonData + bl Pokemon_SetData add r4, r4, #0x1 add r5, r5, #0x2 cmp r4, #0x4 @@ -810,11 +810,11 @@ _02082D9A: add r0, r6, #0x0 mov r1, #0x76 add r2, r5, #0x0 - bl SetMonData + bl Pokemon_SetData ldr r2, [sp, #0x14] add r0, r6, #0x0 mov r1, #0x90 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 bl String_Delete ldr r0, [sp, #0x14] @@ -838,30 +838,30 @@ _02082D9A: strb r1, [r0, #0x0] add r0, r6, #0x0 mov r1, #0x13 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0x0 mov r1, #0x14 add r2, sp, #0x1c - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x15 add r2, #0x3 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x16 add r2, #0x2 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x17 add r2, #0x1 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0x0 mov r1, #0x18 add r2, sp, #0x18 - bl SetMonData + bl Pokemon_SetData add sp, #0x20 pop {r3-r7, pc} nop diff --git a/arm9/asm/unk_020854E0.s b/arm9/asm/unk_020854E0.s index a72e2591d..edd498f66 100644 --- a/arm9/asm/unk_020854E0.s +++ b/arm9/asm/unk_020854E0.s @@ -111,7 +111,7 @@ sub_02085578: ; 0x02085578 ldr r2, [r4, #0x14] add r0, r6, #0x0 mov r1, #0xa9 - bl GetMonData + bl Pokemon_GetData add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 @@ -180,7 +180,7 @@ _0208561E: ldr r2, [r5, #0x14] add r0, r4, #0x0 mov r1, #0xa9 - bl SetMonData + bl Pokemon_SetData mov r0, #0x1 pop {r3-r5, pc} @@ -218,7 +218,7 @@ sub_02085644: ; 0x02085644 add r0, r5, #0x0 mov r1, #0xa9 add r2, r4, #0x0 - bl GetMonData + bl Pokemon_GetData add r0, r7, #0x0 mov r1, #0x0 add r2, r6, #0x0 @@ -229,11 +229,11 @@ sub_02085644: ; 0x02085644 add r0, r5, #0x0 mov r1, #0xa9 add r2, r4, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0x0 bl FreeToHeap add r0, r6, #0x0 @@ -262,11 +262,11 @@ _020856BC: add r0, r4, #0x0 mov r1, #0xa9 add r2, r6, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r7, #0x0 mov r1, #0x0 add r2, r5, #0x0 diff --git a/arm9/asm/unk_020859C0.s b/arm9/asm/unk_020859C0.s index 4c036745a..8a4942262 100644 --- a/arm9/asm/unk_020859C0.s +++ b/arm9/asm/unk_020859C0.s @@ -204,7 +204,7 @@ sub_020859C0: ; 0x020859C0 bl OverlayManager_GetField18 str r0, [r4, #0x0] mov r0, #0x35 - bl AllocMonZeroed + bl Pokemon_New ldr r1, _02085BA4 ; =0x00000428 mov r2, #0xff str r0, [r4, r1] @@ -269,7 +269,7 @@ _02085A7C: beq _02085A9A add r1, r7, #0x0 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x0 beq _02085A9A lsl r0, r0, #0x3 @@ -766,7 +766,7 @@ _02085EA6: mov r1, #0xa1 add r2, sp, #0x8 add r5, r0, #0x0 - bl SetMonData + bl Pokemon_SetData ldr r1, [sp, #0x8] ldr r0, [r7, #0x20] sub r1, r1, #0x1 @@ -774,7 +774,7 @@ _02085EA6: add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0xaa - bl SetMonData + bl Pokemon_SetData ldr r1, [sp, #0x8] ldr r0, [r7, #0x20] sub r1, r1, #0x1 diff --git a/arm9/asm/unk_02086084.s b/arm9/asm/unk_02086084.s index 71b705575..3428e0ddf 100644 --- a/arm9/asm/unk_02086084.s +++ b/arm9/asm/unk_02086084.s @@ -125,7 +125,7 @@ _0208618C: mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, _020861D8 ; =0x000001EA cmp r0, r1 bne _020861A4 @@ -286,7 +286,7 @@ _020862D6: add r0, r5, #0x0 mov r1, #0x4c add r2, sp, #0x8 - bl SetMonData + bl Pokemon_SetData mov r0, #0xb str r0, [sp, #0x0] ldr r3, [sp, #0x4] @@ -297,7 +297,7 @@ _020862D6: add r0, r5, #0x0 mov r1, #0xb2 mov r2, #0x0 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0x0 bl FieldSystem_GetSaveData ldr r1, [r4, #0xc] @@ -319,7 +319,7 @@ _0208633A: ldr r0, [r4, #0xc] mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0x0 add r0, r6, #0x0 bl FieldSystem_GetSaveData @@ -334,13 +334,13 @@ _0208633A: ldr r0, [r4, #0xc] mov r1, #0x6f mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData ldr r1, [r4, #0x8] mov r2, #0x0 str r0, [r1, #0x10] ldr r0, [r4, #0xc] mov r1, #0x70 - bl GetMonData + bl Pokemon_GetData ldr r1, [r4, #0x8] str r0, [r1, #0x8] ldr r1, _020863D8 ; =UNK_020FA5FC @@ -359,7 +359,7 @@ _02086396: ldr r0, [r4, #0xc] ldr r2, [r2, #0x18] mov r1, #0x77 - bl SetMonData + bl Pokemon_SetData _020863A8: ldr r0, [r4, #0x8] bl sub_02077AC4 diff --git a/arm9/asm/unk_02086414.s b/arm9/asm/unk_02086414.s index ce530f58b..a9cca1652 100644 --- a/arm9/asm/unk_02086414.s +++ b/arm9/asm/unk_02086414.s @@ -1441,7 +1441,7 @@ sub_02086EE8: ; 0x02086EE8 ldr r4, [r0, #0xc] mov r2, #0x0 add r0, r4, #0x0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 @@ -1452,7 +1452,7 @@ sub_02086EE8: ; 0x02086EE8 add r0, r4, #0x0 mov r1, #0x4c add r2, sp, #0x10 - bl SetMonData + bl Pokemon_SetData add r0, sp, #0x28 add r1, r4, #0x0 mov r2, #0x2 @@ -1487,11 +1487,11 @@ sub_02086F4C: ; 0x02086F4C mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl GetMonNature + bl Pokemon_GetNature add r6, r0, #0x0 ldr r0, [r5, #0x68] mov r1, #0x1 diff --git a/arm9/asm/unk_02086FA8.s b/arm9/asm/unk_02086FA8.s index 3a7373b62..a994cc167 100644 --- a/arm9/asm/unk_02086FA8.s +++ b/arm9/asm/unk_02086FA8.s @@ -164,7 +164,7 @@ _020870D2: mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl sub_02005578 @@ -447,7 +447,7 @@ _02087322: mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl sub_02005578 diff --git a/arm9/asm/unk_02087D00.s b/arm9/asm/unk_02087D00.s index 136b0053a..b55cd10cd 100644 --- a/arm9/asm/unk_02087D00.s +++ b/arm9/asm/unk_02087D00.s @@ -704,7 +704,7 @@ sub_0208821C: ; 0x0208821C add r6, r1, #0x0 add r4, r0, #0x0 add r0, r6, #0x0 - bl GetMonNature + bl Pokemon_GetNature lsl r1, r0, #0x1 ldr r0, _02088310 ; =UNK_020FD17C ldrb r0, [r0, r1] @@ -723,7 +723,7 @@ _02088246: add r0, r6, #0x0 add r1, #0x13 add r2, r7, #0x0 - bl GetMonData + bl Pokemon_GetData lsl r1, r4, #0x2 str r0, [r5, r1] add r0, r4, #0x1 @@ -791,7 +791,7 @@ _020882D4: add r0, r6, #0x0 add r1, #0x13 add r2, r4, r2 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 @@ -800,7 +800,7 @@ _020882D4: add r0, r6, #0x0 mov r1, #0x9 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x8 strb r0, [r1, #0x0] ldrb r0, [r1, #0x0] @@ -811,7 +811,7 @@ _020882D4: add r0, r6, #0x0 mov r1, #0x9 add r2, sp, #0x8 - bl SetMonData + bl Pokemon_SetData _0208830C: add sp, #0x30 pop {r3-r7, pc} diff --git a/arm9/global.inc b/arm9/global.inc index 933bda30f..b8847fc5f 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -4726,50 +4726,50 @@ .extern sub_02065344 .extern sub_02066818 .extern sub_02066840 -.extern ZeroMonData -.extern ZeroBoxMonData +.extern Pokemon_Init +.extern BoxPokemon_Init .extern SizeOfStructPokemon -.extern AllocMonZeroed +.extern Pokemon_New .extern AcquireMonLock .extern ReleaseMonLock .extern AcquireBoxMonLock .extern ReleaseBoxMonLock -.extern CreateMon -.extern CreateMonWithNature -.extern CreateMonWithGenderNatureLetter -.extern GenPersonalityByGenderAndNature +.extern Pokemon_InitWithParams +.extern Pokemon_InitWithNature +.extern Pokemon_InitWithGenderNatureLetter +.extern Personality_CreateFromGenderAndNature .extern CreateMonWithFixedIVs -.extern CalcMonLevelAndStats -.extern CalcMonStats -.extern GetMonData -.extern GetBoxMonData -.extern SetMonData -.extern SetBoxMonData +.extern Pokemon_CalcLevelAndStats +.extern Pokemon_CalcStats +.extern Pokemon_GetData +.extern BoxPokemon_GetData +.extern Pokemon_SetData +.extern BoxPokemon_SetData .extern AddMonData -.extern AllocAndLoadMonPersonal -.extern GetPersonalAttr -.extern FreeMonPersonal -.extern GetMonBaseStat_HandleFormConversion -.extern GetMonBaseStat -.extern GetPercentProgressTowardsNextLevel -.extern CalcMonExpToNextLevel -.extern GetMonBaseExperienceAtCurrentLevel -.extern GetMonExpBySpeciesAndLevel -.extern CalcMonLevel -.extern CalcBoxMonLevel -.extern CalcLevelBySpeciesAndExp -.extern CalcLevelBySpeciesAndExp_PreloadedPersonal -.extern GetMonNature -.extern GetBoxMonNature -.extern GetNatureFromPersonality -.extern MonApplyFriendshipMod -.extern GetMonGender -.extern GetBoxMonGender -.extern GetGenderBySpeciesAndPersonality -.extern GetGenderBySpeciesAndPersonality_PreloadedPersonal -.extern MonIsShiny -.extern CalcShininessByOtIdAndPersonality -.extern GenerateShinyPersonality +.extern SpeciesData_NewFromSpecies +.extern SpeciesData_GetValue +.extern SpeciesData_Free +.extern Species_GetFormValue +.extern Species_GetValue +.extern Pokemon_CalcPercentToNextLevel +.extern Pokemon_CalcExpToNextLevel +.extern Pokemon_GetCurrentLevelBaseExp +.extern Species_GetExpAtLevel +.extern Pokemon_CalcLevel +.extern BoxPokemon_CalcLevel +.extern Species_CalcLevelByExp +.extern SpeciesData_CalcLevelByExp +.extern Pokemon_GetNature +.extern BoxPokemon_GetNature +.extern Personality_GetNature +.extern Pokemon_UpdateFriendship +.extern Pokemon_GetGender +.extern BoxPokemon_GetGender +.extern Species_GetGenderFromPersonality +.extern SpeciesData_GetGenderFromPersonality +.extern Pokemon_IsShiny +.extern Personality_IsShiny +.extern Personality_GenerateShiny .extern sub_02068B68 .extern sub_02068B70 .extern sub_02068C00 diff --git a/arm9/overlays/05/asm/ov05_021D80E8.s b/arm9/overlays/05/asm/ov05_021D80E8.s index 577686742..9fd6785e9 100644 --- a/arm9/overlays/05/asm/ov05_021D80E8.s +++ b/arm9/overlays/05/asm/ov05_021D80E8.s @@ -1861,7 +1861,7 @@ _021D8FF6: bl Party_GetMonByIndex mov r1, #5 add r2, r5, #0 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship add r4, r4, #1 cmp r4, r7 blt _021D8FF6 diff --git a/arm9/overlays/05/asm/ov05_021E3444.s b/arm9/overlays/05/asm/ov05_021E3444.s index 0b7adc827..8a2a52670 100644 --- a/arm9/overlays/05/asm/ov05_021E3444.s +++ b/arm9/overlays/05/asm/ov05_021E3444.s @@ -2799,12 +2799,12 @@ _021E4980: add r0, r7, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 ldr r0, [sp] mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x55 lsl r1, r1, #2 ldr r1, [r5, r1] diff --git a/arm9/overlays/05/asm/ov05_021EC458.s b/arm9/overlays/05/asm/ov05_021EC458.s index df0e6aa58..5a16b1c85 100644 --- a/arm9/overlays/05/asm/ov05_021EC458.s +++ b/arm9/overlays/05/asm/ov05_021EC458.s @@ -24,7 +24,7 @@ _021EC46E: bl DaycareMon_GetBoxMon add r1, r7, #0 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021EC48C add r0, r4, #1 @@ -56,7 +56,7 @@ _021EC4AA: bl DaycareMon_GetBoxMon add r1, r6, #0 add r2, r7, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 bne _021EC4C6 add r0, r4, #0 @@ -78,7 +78,7 @@ ov05_021EC4DC: ; 0x021EC4DC push {r3, lr} mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl ItemIdIsMail @@ -106,7 +106,7 @@ ov05_021EC4F0: ; 0x021EC4F0 add r0, r4, #0 mov r1, #0x74 add r2, sp, #0xc - bl GetMonData + bl Pokemon_GetData add r0, r4, #0 bl sub_020690E4 bl ov05_021EC4DC @@ -117,7 +117,7 @@ ov05_021EC4F0: ; 0x021EC4F0 add r2, r0, #0 add r0, r4, #0 mov r1, #0xa9 - bl GetMonData + bl Pokemon_GetData _021EC544: ldr r1, [sp, #4] add r0, r4, #0 @@ -186,13 +186,13 @@ ov05_021EC5B0: ; 0x021EC5B0 add r0, r6, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 bne _021EC600 add r0, r7, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021EC600 add r0, r5, #0 @@ -250,7 +250,7 @@ _021EC64E: blt _021EC616 _021EC658: add r0, r5, #0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats add sp, #0xc pop {r4, r5, r6, r7, pc} nop @@ -264,7 +264,7 @@ ov05_021EC668: ; 0x021EC668 add r6, r1, #0 mov r0, #4 add r7, r2, #0 - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0 add r0, r6, #0 bl DaycareMon_GetBoxMon @@ -279,7 +279,7 @@ ov05_021EC668: ; 0x021EC668 add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r7, r0, #0x10 add r0, r5, #0 @@ -288,13 +288,13 @@ ov05_021EC668: ; 0x021EC668 add r0, r4, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x64 beq _021EC6E0 add r0, r4, #0 mov r1, #8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] add r0, r6, #0 bl DaycareMon_GetSteps @@ -304,7 +304,7 @@ ov05_021EC668: ; 0x021EC668 str r0, [sp, #8] add r0, r4, #0 mov r1, #8 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 bl ov05_021EC604 _021EC6E0: @@ -317,13 +317,13 @@ _021EC6E0: add r2, r0, #0 add r0, r4, #0 mov r1, #0xa9 - bl SetMonData + bl Pokemon_SetData _021EC6FA: ldr r0, [sp] add r1, r4, #0 bl Party_AddMon add r0, r5, #0 - bl ZeroBoxMonData + bl BoxPokemon_Init add r0, r6, #0 mov r1, #0 bl DaycareMon_SetSteps @@ -359,7 +359,7 @@ ov05_021EC744: ; 0x021EC744 add r6, r0, #0 mov r0, #4 add r5, r1, #0 - bl AllocMonZeroed + bl Pokemon_New add r7, r0, #0 bl sub_020690E4 add r4, r0, #0 @@ -369,16 +369,16 @@ ov05_021EC744: ; 0x021EC744 add r0, r4, #0 mov r1, #8 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp] add r0, r0, r5 str r0, [sp] add r0, r4, #0 mov r1, #8 add r2, sp, #0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0 - bl CalcBoxMonLevel + bl BoxPokemon_CalcLevel add r4, r0, #0 add r0, r7, #0 bl FreeToHeap @@ -391,7 +391,7 @@ ov05_021EC78C: ; 0x021EC78C add r5, r0, #0 bl DaycareMon_GetBoxMon add r6, r0, #0 - bl CalcBoxMonLevel + bl BoxPokemon_CalcLevel lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0 @@ -500,7 +500,7 @@ ov05_021EC864: ; 0x021EC864 bl DaycareMon_GetBoxMon mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021EC888 add r0, r4, #0 @@ -539,7 +539,7 @@ ov05_021EC8A8: ; 0x021EC8A8 add r5, sp, #4 _021EC8BC: ldr r0, [r5] - bl GetBoxMonGender + bl BoxPokemon_GetGender cmp r0, #1 bne _021EC8C8 str r4, [sp] @@ -556,7 +556,7 @@ _021EC8D8: ldr r0, [r4] mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [r5] cmp r0, #0x84 bne _021EC8EC @@ -587,7 +587,7 @@ _021EC90E: add r0, sp, #4 ldr r0, [r0, r1] mov r1, #6 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0xe5 bne _021EC938 bl LCRandom @@ -627,15 +627,15 @@ _021EC960: bl ov05_021EC458 add r1, r5, #0 add r2, r1, #0 - bl GetBoxMonData - bl GetNatureFromPersonality + bl BoxPokemon_GetData + bl Personality_GetNature mov r7, #0x96 add r6, r0, #0 lsl r7, r7, #4 _021EC978: bl MTRandom add r4, r0, #0 - bl GetNatureFromPersonality + bl Personality_GetNature cmp r6, r0 bne _021EC98A cmp r4, #0 @@ -766,62 +766,62 @@ _021ECA60: ; jump table _021ECA6C: mov r1, #0x46 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r6] add r0, r4, #0 mov r1, #0x46 add r2, r7, #0 - bl SetMonData + bl Pokemon_SetData b _021ECAEE _021ECA82: mov r1, #0x47 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r6] add r0, r4, #0 mov r1, #0x47 add r2, r7, #0 - bl SetMonData + bl Pokemon_SetData b _021ECAEE _021ECA98: mov r1, #0x48 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r6] add r0, r4, #0 mov r1, #0x48 add r2, r7, #0 - bl SetMonData + bl Pokemon_SetData b _021ECAEE _021ECAAE: mov r1, #0x49 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r6] add r0, r4, #0 mov r1, #0x49 add r2, r7, #0 - bl SetMonData + bl Pokemon_SetData b _021ECAEE _021ECAC4: mov r1, #0x4a mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r6] add r0, r4, #0 mov r1, #0x4a add r2, r7, #0 - bl SetMonData + bl Pokemon_SetData b _021ECAEE _021ECADA: mov r1, #0x4b mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r6] add r0, r4, #0 mov r1, #0x4b add r2, r7, #0 - bl SetMonData + bl Pokemon_SetData _021ECAEE: add r0, r5, #1 lsl r0, r0, #0x18 @@ -839,7 +839,7 @@ ov05_021ECAFC: ; 0x021ECAFC mov r1, #5 add r2, r4, #0 add r6, r4, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r2, r0, #0x10 ldr r0, _021ECB60 ; =0x00004E20 @@ -910,14 +910,14 @@ ov05_021ECB6C: ; 0x021ECB6C add r0, r7, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x18] add r0, r7, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0xc] @@ -940,13 +940,13 @@ _021ECBC0: ldr r0, [sp] add r1, r6, #0 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData ldr r1, [sp, #0x20] mov r2, #0 str r0, [r4, r1] ldr r0, [sp, #4] add r1, r6, #0 - bl GetBoxMonData + bl BoxPokemon_GetData ldr r1, [sp, #0x10] str r0, [r1, #0x20] add r0, r5, #1 @@ -1193,13 +1193,13 @@ _021ECDAE: ldr r0, [sp] mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [sp, #4] mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r2, r0, #0x10 mov r0, #6 @@ -1233,12 +1233,12 @@ ov05_021ECDF4: ; 0x021ECDF4 ldr r0, [sp] mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r5, r0, #0 ldr r0, [sp, #4] mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r5, #0xec beq _021ECE20 cmp r0, #0xec @@ -1276,7 +1276,7 @@ _021ECE56: ldr r0, [r7, r6] mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r1, r4, #1 add r2, sp, #0xc strh r0, [r2, r1] @@ -1291,7 +1291,7 @@ _021ECE56: b _021ECE8C _021ECE7A: ldr r0, [r7, r6] - bl GetBoxMonGender + bl BoxPokemon_GetGender cmp r0, #1 bne _021ECE8C mov r0, #1 @@ -1352,7 +1352,7 @@ _021ECEDE: lsl r1, r0, #2 add r0, sp, #4 ldr r0, [r0, r1] - bl GetBoxMonGender + bl BoxPokemon_GetGender cmp r0, #1 beq _021ECF02 ldrb r1, [r5, #1] @@ -1376,9 +1376,9 @@ ov05_SetEggStats: ; 0x021ECF14 add r6, r1, #0 add r5, r0, #0 add r0, r6, #0 - mov r1, #0x13 ; BASE_EGG_CYCLES + mov r1, #0x13 ; SPECIES_DATA_EGG_CYCLES add r4, r3, #0 - bl GetMonBaseStat + bl Species_GetValue add r1, sp, #0x10 strb r0, [r1] mov r0, #0 @@ -1390,7 +1390,7 @@ ov05_SetEggStats: ; 0x021ECF14 add r1, r6, #0 mov r2, #1 mov r3, #0x20 - bl CreateMon + bl Pokemon_InitWithParams mov r1, #0 add r0, sp, #0x10 strb r1, [r0, #2] @@ -1399,16 +1399,16 @@ ov05_SetEggStats: ; 0x021ECF14 add r0, r5, #0 mov r1, #0x9a add r2, sp, #0x14 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0 mov r1, #9 add r2, sp, #0x10 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x10 add r0, r5, #0 mov r1, #0x9b add r2, #2 - bl SetMonData + bl Pokemon_SetData add r0, sp, #0x30 ldrb r0, [r0, #8] cmp r0, #0 @@ -1416,7 +1416,7 @@ ov05_SetEggStats: ; 0x021ECF14 add r0, r5, #0 mov r1, #0x97 add r2, sp, #0x38 - bl SetMonData + bl Pokemon_SetData _021ECF7E: add r2, sp, #0x10 mov r1, #1 @@ -1425,7 +1425,7 @@ _021ECF7E: add r0, r5, #0 mov r1, #0x4c add r2, #1 - bl SetMonData + bl Pokemon_SetData ldr r0, _021ED008 ; =0x000001EE mov r1, #4 bl GetSpeciesName @@ -1433,7 +1433,7 @@ _021ECF7E: add r0, r5, #0 mov r1, #0x76 add r2, r6, #0 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 bl String_Delete ldr r0, [sp, #0x40] @@ -1452,15 +1452,15 @@ _021ECF7E: add r0, r5, #0 mov r1, #0x90 add r2, r6, #0 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0 mov r1, #7 add r2, sp, #0x1c - bl SetMonData + bl Pokemon_SetData add r0, r5, #0 mov r1, #0x9c add r2, sp, #0x18 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 bl String_Delete _021ECFEE: @@ -1486,10 +1486,10 @@ ov05_Daycare_CreateEgg: ; 0x021ED00C str r1, [sp, #0x10] add r7, r0, #0 ldr r0, [sp, #0x10] - mov r1, #0x13 ; BASE_EGG_CYCLES + mov r1, #0x13 ; SPECIES_DATA_EGG_CYCLES add r5, r2, #0 add r6, r3, #0 - bl GetMonBaseStat + bl Species_GetValue add r1, sp, #0x14 strb r0, [r1] add r0, r5, #0 @@ -1501,7 +1501,7 @@ ov05_Daycare_CreateEgg: ; 0x021ED00C beq _021ED05E add r0, r6, #0 add r1, r4, #0 - bl CalcShininessByOtIdAndPersonality + bl Personality_IsShiny cmp r0, #0 bne _021ED05E mov r5, #0 @@ -1511,7 +1511,7 @@ _021ED044: add r4, r0, #0 add r0, r6, #0 add r1, r4, #0 - bl CalcShininessByOtIdAndPersonality + bl Personality_IsShiny cmp r0, #0 bne _021ED05E add r5, r5, #1 @@ -1527,7 +1527,7 @@ _021ED05E: ldr r1, [sp, #0x10] add r0, r7, #0 mov r3, #0x20 - bl CreateMon + bl Pokemon_InitWithParams add r2, sp, #0x14 mov r1, #0 add r0, sp, #0x14 @@ -1537,20 +1537,20 @@ _021ED05E: add r0, r7, #0 mov r1, #0x9a add r2, #2 - bl SetMonData + bl Pokemon_SetData add r0, r7, #0 mov r1, #9 add r2, sp, #0x14 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x14 add r0, r7, #0 mov r1, #0x9b add r2, #1 - bl SetMonData + bl Pokemon_SetData add r0, r7, #0 mov r1, #0x70 add r2, sp, #0x30 - bl SetMonData + bl Pokemon_SetData ldr r0, _021ED0C8 ; =0x000001EE mov r1, #4 bl GetSpeciesName @@ -1558,7 +1558,7 @@ _021ED05E: add r0, r7, #0 mov r1, #0x76 add r2, r4, #0 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 bl String_Delete add sp, #0x18 @@ -1574,7 +1574,7 @@ ov05_Daycare_GiveEggToPlayer: ; 0x021ED0CC mov r0, #4 str r1, [sp, #4] add r7, r2, #0 - bl AllocMonZeroed + bl Pokemon_New add r1, sp, #0x10 add r4, r0, #0 add r0, r5, #0 @@ -1592,7 +1592,7 @@ ov05_Daycare_GiveEggToPlayer: ; 0x021ED0CC bl ov05_021EC458 mov r1, #0x70 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] @@ -1639,7 +1639,7 @@ _021ED168: add r0, r4, #0 mov r1, #0x4c add r2, sp, #0x10 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #4] add r1, r4, #0 bl Party_AddMon @@ -1666,7 +1666,7 @@ _021ED1A2: bl Party_GetMonByIndex add r1, r7, #0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _021ED1D6 add r0, r5, #0 @@ -1674,7 +1674,7 @@ _021ED1A2: bl Party_GetMonByIndex mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x28 @@ -1740,29 +1740,29 @@ _021ED228: ldr r0, [r5] mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r4] ldr r0, [r5] mov r1, #7 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData ldr r1, [sp] str r0, [r1] mov r1, #0 ldr r0, [r5] add r2, r1, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r1, r0, #0 ldrh r0, [r4] - bl GetGenderBySpeciesAndPersonality + bl Species_GetGenderFromPersonality stmia r7!, {r0} ldrh r0, [r4] - mov r1, #0x16 ; BASE_EGG_GROUP_1 - bl GetMonBaseStat + mov r1, #0x16 ; SPECIES_DATA_EGG_GROUP_1 + bl Species_GetValue strh r0, [r6] ldrh r0, [r4] - mov r1, #0x17 ; GASE_EGG_GROUP_2 - bl GetMonBaseStat + mov r1, #0x17 ; SPECIES_DATA_EGG_GROUP_2 + bl Species_GetValue strh r0, [r6, #2] ldr r0, [sp] add r5, r5, #4 @@ -1931,7 +1931,7 @@ _021ED38E: ldr r0, [r5] mov r1, #0xab mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021ED3AC ldr r0, [sp] @@ -2002,19 +2002,19 @@ _021ED430: mov r1, #0x4c mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021ED484 add r0, r4, #0 mov r1, #3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _021ED484 add r0, r4, #0 mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x10] cmp r0, #0 beq _021ED47E @@ -2030,7 +2030,7 @@ _021ED472: add r0, r4, #0 mov r1, #9 add r2, sp, #0x10 - bl SetMonData + bl Pokemon_SetData b _021ED484 _021ED47E: add sp, #0x14 @@ -2065,13 +2065,13 @@ _021ED4AC: mov r1, #0x4c mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021ED4D4 add r0, r4, #0 mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _021ED4D4 add r0, r4, #0 @@ -2095,7 +2095,7 @@ ov05_021ED4E0: ; 0x021ED4E0 ldr r0, [sp] mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021ED50E ldr r2, [sp] @@ -2110,7 +2110,7 @@ _021ED50E: ldr r0, [sp, #4] mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021ED526 ldr r2, [sp, #4] @@ -2161,7 +2161,7 @@ ov05_021ED52C: ; 0x021ED52C add r0, r5, #0 mov r1, #0x6f mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #2 @@ -2169,7 +2169,7 @@ ov05_021ED52C: ; 0x021ED52C add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1d @@ -2180,7 +2180,7 @@ _021ED5A4: add r0, r5, #0 mov r1, #0x4d mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 bne _021ED5B4 mov r4, #2 @@ -2207,7 +2207,7 @@ ov05_021ED5C4: ; 0x021ED5C4 add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r3, r4, r5, pc} @@ -2286,12 +2286,12 @@ ov05_021ED650: ; 0x021ED650 bl String_New str r0, [sp, #0x10] add r0, r5, #0 - bl AllocMonZeroed + bl Pokemon_New add r6, r0, #0 add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x14] @@ -2302,14 +2302,14 @@ _021ED67C: add r0, r4, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r1, r5, #1 strh r0, [r7, r1] add r1, r5, #0 add r0, r4, #0 add r1, #0x3a mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x30 strb r0, [r1, r5] add r0, r5, #1 @@ -2320,7 +2320,7 @@ _021ED67C: mov r1, #0 add r0, r4, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 mov r5, #0 _021ED6B4: @@ -2328,7 +2328,7 @@ _021ED6B4: add r0, r4, #0 add r1, #0x46 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x24 add r1, #2 strb r0, [r1, r5] @@ -2340,52 +2340,52 @@ _021ED6B4: add r0, r4, #0 mov r1, #0xc mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #9] add r0, r4, #0 mov r1, #0x79 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #8] add r0, r4, #0 mov r1, #0xb mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #7] add r0, r4, #0 mov r1, #0x99 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #0xa] add r0, r4, #0 mov r1, #0x6e mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #5] ldr r2, [sp, #0x10] add r0, r4, #0 mov r1, #0x90 - bl GetMonData + bl Pokemon_GetData add r0, r4, #0 mov r1, #0x9c mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #3] add r0, r4, #0 mov r1, #7 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x2c] add r0, r4, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #4] ldr r1, _021ED93C ; =0x000001EA @@ -2395,7 +2395,7 @@ _021ED6B4: add r0, r4, #0 mov r1, #0x97 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, r0, #0 mov r0, #2 mov r1, #1 @@ -2404,7 +2404,7 @@ _021ED6B4: bne _021ED788 ldr r0, [sp, #0x2c] add r1, r7, #0 - bl CalcShininessByOtIdAndPersonality + bl Personality_IsShiny cmp r0, #0 beq _021ED788 _021ED774: @@ -2413,7 +2413,7 @@ _021ED774: add r7, r0, #0 ldr r0, [sp, #0x2c] add r1, r7, #0 - bl CalcShininessByOtIdAndPersonality + bl Personality_IsShiny cmp r0, #0 bne _021ED774 _021ED788: @@ -2426,7 +2426,7 @@ _021ED788: ldr r1, [sp, #0x14] add r0, r6, #0 mov r3, #0x20 - bl CreateMon + bl Pokemon_InitWithParams mov r5, #0 add r7, sp, #0x34 _021ED7A2: @@ -2435,13 +2435,13 @@ _021ED7A2: add r0, r6, #0 add r1, #0x36 add r2, r7, r2 - bl SetMonData + bl Pokemon_SetData add r1, r5, #0 add r2, sp, #0x30 add r0, r6, #0 add r1, #0x3a add r2, r2, r5 - bl SetMonData + bl Pokemon_SetData add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 @@ -2455,7 +2455,7 @@ _021ED7CE: add r0, r6, #0 add r1, #0x46 add r2, r7, r5 - bl SetMonData + bl Pokemon_SetData add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 @@ -2465,16 +2465,16 @@ _021ED7CE: add r0, r6, #0 mov r1, #0xc add r2, #1 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 mov r1, #0x79 add r2, sp, #0x20 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x1c add r0, r6, #0 mov r1, #0xb add r2, #3 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x1c mov r1, #0x78 add r0, sp, #0x18 @@ -2482,118 +2482,118 @@ _021ED7CE: add r0, r6, #0 mov r1, #9 add r2, #2 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x20 add r0, r6, #0 mov r1, #0x99 add r2, #2 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x1c add r0, r6, #0 mov r1, #0x6e add r2, #1 - bl SetMonData + bl Pokemon_SetData ldr r2, [sp, #0x10] add r0, r6, #0 mov r1, #0x90 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x18 add r0, r6, #0 mov r1, #0x9c add r2, #3 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 mov r1, #7 add r2, sp, #0x2c - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 mov r1, #0x70 add r2, sp, #0x1c - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 mov r1, #0x97 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strh r0, [r1, #0xc] add r0, r4, #0 mov r1, #0x91 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #2] add r0, r4, #0 mov r1, #0x92 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #1] add r0, r4, #0 mov r1, #0x93 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1] add r0, r6, #0 mov r1, #0x97 add r2, sp, #0x24 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x18 add r0, r6, #0 mov r1, #0x91 add r2, #2 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x18 add r0, r6, #0 mov r1, #0x92 add r2, #1 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 mov r1, #0x93 add r2, sp, #0x18 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 mov r1, #0x98 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strh r0, [r1, #0xc] add r0, r4, #0 mov r1, #0x94 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #2] add r0, r4, #0 mov r1, #0x95 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1, #1] add r0, r4, #0 mov r1, #0x96 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x18 strb r0, [r1] add r0, r6, #0 mov r1, #0x98 add r2, sp, #0x24 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x18 add r0, r6, #0 mov r1, #0x94 add r2, #2 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0x18 add r0, r6, #0 mov r1, #0x95 add r2, #1 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 mov r1, #0x96 add r2, sp, #0x18 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 add r1, r4, #0 bl CopyPokemonToPokemon @@ -2624,11 +2624,11 @@ ov05_021ED940: ; 0x021ED940 add r0, r4, #0 mov r1, #0x4c add r2, #3 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 mov r1, #5 add r2, r5, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 add r1, r5, #0 @@ -2637,23 +2637,23 @@ ov05_021ED940: ; 0x021ED940 add r0, r4, #0 mov r1, #0x74 add r2, sp, #4 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0 add r0, r4, #0 mov r1, #0x4d add r2, #2 - bl SetMonData + bl Pokemon_SetData add r2, sp, #0 add r0, r4, #0 mov r1, #0x9a add r2, #1 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 mov r1, #0x9b add r2, sp, #0 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats add sp, #0x1c pop {r4, r5, pc} .balign 4, 0 diff --git a/arm9/overlays/05/asm/ov05_021F38CC.s b/arm9/overlays/05/asm/ov05_021F38CC.s index b6cc167b7..61675a3b8 100644 --- a/arm9/overlays/05/asm/ov05_021F38CC.s +++ b/arm9/overlays/05/asm/ov05_021F38CC.s @@ -10,13 +10,13 @@ ov05_021F38CC: ; 0x021F38CC mov r1, #0 add r2, r1, #0 add r5, r0, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0 mov r1, #0x46 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0xf and r0, r1 lsl r0, r0, #0x10 @@ -25,7 +25,7 @@ ov05_021F38CC: ; 0x021F38CC add r0, r5, #0 mov r1, #0x47 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0xf and r0, r1 lsl r0, r0, #0x10 @@ -34,7 +34,7 @@ ov05_021F38CC: ; 0x021F38CC add r0, r5, #0 mov r1, #0x48 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0xf and r0, r1 lsl r0, r0, #0x10 @@ -43,7 +43,7 @@ ov05_021F38CC: ; 0x021F38CC add r0, r5, #0 mov r1, #0x49 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0xf and r0, r1 lsl r0, r0, #0x10 @@ -51,7 +51,7 @@ ov05_021F38CC: ; 0x021F38CC add r0, r5, #0 mov r1, #0x4a mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0xf and r0, r1 lsl r0, r0, #0x10 @@ -59,7 +59,7 @@ ov05_021F38CC: ; 0x021F38CC add r0, r5, #0 mov r1, #0x4b mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0xf and r0, r1 lsl r0, r0, #0x10 @@ -174,7 +174,7 @@ Field_CheckPokemonSizeRecord: ; 0x021F3A18 mov r1, #5 mov r2, #0 str r0, [sp] - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r0, [sp] @@ -339,7 +339,7 @@ Field_BufferPartyPokemonSize: ; 0x021F3B7C mov r1, #5 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r6, #0 diff --git a/arm9/overlays/06/asm/overlay_06.s b/arm9/overlays/06/asm/overlay_06.s index b5654673a..745752dfa 100644 --- a/arm9/overlays/06/asm/overlay_06.s +++ b/arm9/overlays/06/asm/overlay_06.s @@ -4869,7 +4869,7 @@ _0223BA42: str r1, [sp, #0x34] mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x24 strb r0, [r1, #0x18] _0223BA8C: @@ -5651,7 +5651,7 @@ _0223C0CE: str r1, [sp, #0x2c] mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x20 strb r0, [r1, #0x14] _0223C118: @@ -6465,7 +6465,7 @@ ov06_0223C738: ; 0x0223C738 add r4, r1, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 cmp r1, #0xe0 @@ -6529,7 +6529,7 @@ _0223C7AC: mov r1, #0 add r0, r4, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x19 bl _u32_div_f lsl r0, r1, #0x18 @@ -6620,9 +6620,9 @@ ov06_0223C854: ; 0x0223C854 mov r0, #0xb str r2, [sp, #0x18] add r5, r3, #0 - bl AllocMonZeroed + bl Pokemon_New str r0, [sp, #0x1c] - bl ZeroMonData + bl Pokemon_Init ldrb r0, [r6, #0xd] mov r7, #0 cmp r0, #0 @@ -6631,8 +6631,8 @@ ov06_0223C854: ; 0x0223C854 cmp r0, #0x38 bne _0223C8BE ldr r0, [sp, #0x10] - mov r1, #0x12 ; BASE_GENDER_RATIO - bl GetMonBaseStat + mov r1, #0x12 ; SPECIES_DATA_GENDER_RATIO + bl Species_GetValue cmp r0, #0 beq _0223C8E0 cmp r0, #0xfe @@ -6653,7 +6653,7 @@ _0223C8A6: ldr r0, [sp, #0x44] mov r1, #0x6f mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x24] @@ -6672,12 +6672,12 @@ _0223C8D2: cmp r4, #0 bne _0223C8E0 ldr r0, [sp, #0x44] - bl GetMonNature + bl Pokemon_GetNature str r0, [sp, #0x20] mov r7, #1 _0223C8E0: add r0, r5, #0 - bl GenerateShinyPersonality + bl Personality_GenerateShiny add r4, r0, #0 cmp r7, #0 beq _0223C92E @@ -6687,7 +6687,7 @@ _0223C8EC: bne _0223C914 ldr r0, [sp, #0x10] add r1, r4, #0 - bl GetGenderBySpeciesAndPersonality + bl Species_GetGenderFromPersonality add r7, r0, #0 cmp r7, #2 bne _0223C904 @@ -6697,19 +6697,19 @@ _0223C904: cmp r7, r0 bne _0223C92E add r0, r5, #0 - bl GenerateShinyPersonality + bl Personality_GenerateShiny add r4, r0, #0 b _0223C8EC _0223C914: cmp r0, #0x1c bne _0223C8EC add r0, r4, #0 - bl GetNatureFromPersonality + bl Personality_GetNature ldr r1, [sp, #0x20] cmp r0, r1 beq _0223C92E add r0, r5, #0 - bl GenerateShinyPersonality + bl Personality_GenerateShiny add r4, r0, #0 b _0223C8EC _0223C92E: @@ -6723,7 +6723,7 @@ _0223C92E: ldr r0, [sp, #0x1c] ldr r1, [sp, #0x10] ldr r2, [sp, #0x14] - bl CreateMon + bl Pokemon_InitWithParams ldr r0, [sp, #0x18] ldr r2, [sp, #0x1c] ldr r3, [sp, #0x48] @@ -6749,13 +6749,13 @@ ov06_0223C968: ; 0x0223C968 str r1, [sp, #0xc] str r2, [sp, #0x10] add r5, r3, #0 - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0 - bl ZeroMonData + bl Pokemon_Init add r0, r7, #0 - mov r1, #0x12 ; BASE_GENDER_RATIO + mov r1, #0x12 ; SPECIES_DATA_GENDER_RATIO mov r6, #1 - bl GetMonBaseStat + bl Species_GetValue cmp r0, #0 beq _0223C996 cmp r0, #0xfe @@ -6787,7 +6787,7 @@ _0223C9BE: ldr r0, [sp, #0x28] mov r1, #0x6f mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #1 @@ -6813,11 +6813,11 @@ _0223C9E4: add r0, r4, #0 add r1, r7, #0 mov r3, #0x20 - bl CreateMonWithGenderNatureLetter + bl Pokemon_InitWithGenderNatureLetter add r0, r4, #0 mov r1, #7 add r2, r5, #0 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x10] ldr r3, [sp, #0x2c] add r1, r5, #0 @@ -6840,11 +6840,11 @@ _0223CA28: add r0, r4, #0 add r1, r7, #0 mov r3, #0x20 - bl CreateMonWithNature + bl Pokemon_InitWithNature add r0, r4, #0 mov r1, #7 add r2, r5, #0 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x10] ldr r3, [sp, #0x2c] add r1, r5, #0 @@ -7384,15 +7384,15 @@ _0223CE6A: lsl r0, r5, #3 str r0, [sp, #0xc] ldr r0, [r6, r0] - mov r1, #6 ; BASE_TYPE1 - bl GetMonBaseStat + mov r1, #6 ; SPECIES_DATA_TYPE_1 + bl Species_GetValue lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [sp, #0xc] - mov r1, #7 ; BASE_TYPE2 + mov r1, #7 ; SPECIES_DATA_TYPE_2 ldr r0, [r6, r0] - bl GetMonBaseStat + bl Species_GetValue lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, [sp, #8] @@ -7553,7 +7553,7 @@ _0223CF96: add r0, r1, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #5 @@ -7651,7 +7651,7 @@ ov06_0223D044: ; 0x0223D044 add r5, r1, #0 mov r0, #4 add r6, r2, #0 - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0 add r0, r5, #0 mov r1, #4 @@ -7691,15 +7691,15 @@ ov06_0223D044: ; 0x0223D044 add r0, r4, #0 mov r1, #7 add r2, sp, #0x30 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 mov r1, #0x9f add r2, sp, #0x14 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 mov r1, #0xa2 add r2, sp, #0x10 - bl SetMonData + bl Pokemon_SetData ldr r0, [r6, #8] add r1, r4, #0 bl Party_AddMon @@ -7847,7 +7847,7 @@ _0223D1DA: add r0, r6, #0 mov r1, #5 add r2, r4, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _0223D270 ; =0x000001A6 cmp r0, r1 bne _0223D208 @@ -7904,7 +7904,7 @@ _0223D24E: add r0, r6, #0 mov r1, #0x70 add r2, sp, #8 - bl SetMonData + bl Pokemon_SetData _0223D25C: ldr r0, [sp] add r1, r6, #0 @@ -7984,14 +7984,14 @@ ov06_0223D2DC: ; 0x0223D2DC mov r1, #0x4c mov r2, #0 add r4, r3, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0223D302 mov r2, #0 add r0, r7, #0 mov r1, #0xa strb r2, [r4, #0xd] - bl GetMonData + bl Pokemon_GetData b _0223D308 _0223D302: mov r0, #1 @@ -19823,19 +19823,19 @@ _02243312: mov r1, #5 mov r2, #0 str r0, [sp, #0xc] - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r0, [sp, #0xc] mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r6, r0, #0x10 ldr r0, [sp, #0xc] mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0224336E add r0, r5, #0 @@ -20352,12 +20352,12 @@ _02243726: add r7, r0, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r6, #0x2e] add r0, r7, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r6, #0x36] add r0, r4, #1 lsl r0, r0, #0x10 @@ -20403,12 +20403,12 @@ _0224379C: lsl r6, r5, #1 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, r6] ldr r0, [sp, #8] mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r7, r6] cmp r5, #0 beq _022437FA @@ -21522,13 +21522,13 @@ _02243FFA: add r1, r6, #0 mov r2, #0 str r0, [sp, #4] - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _02244024 ldr r0, [sp, #4] add r1, r6, #0 add r2, sp, #8 - bl SetMonData + bl Pokemon_SetData add r0, r7, #1 lsl r0, r0, #0x18 lsr r7, r0, #0x18 @@ -21587,7 +21587,7 @@ ov06_0224406C: ; 0x0224406C add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] lsl r0, r0, #0x10 ldrh r1, [r1] @@ -21602,7 +21602,7 @@ ov06_0224406C: ; 0x0224406C strh r1, [r0] add r0, r5, #0 mov r1, #0x70 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] lsl r0, r0, #0x10 ldrh r2, [r1] @@ -21617,7 +21617,7 @@ ov06_0224406C: ; 0x0224406C strh r1, [r0] add r0, r5, #0 mov r1, #6 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] mov r4, #0 strh r0, [r1, #2] @@ -21632,13 +21632,13 @@ _022440D0: add r0, r5, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 strh r0, [r6, #4] add r0, r5, #0 add r1, #0x3e mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #4] lsl r0, r7 ldrb r1, [r1] @@ -21653,25 +21653,25 @@ _022440D0: add r0, r5, #0 mov r1, #0xc mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] mov r2, #0 strb r0, [r1, #0x1f] add r0, r5, #0 mov r1, #7 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] str r0, [r1, #0xc] mov r1, #0 add r0, r5, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] mov r2, #0 str r0, [r1, #0x10] add r0, r5, #0 mov r1, #0xae - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] mov r4, #0 str r0, [r1, #0x14] @@ -21681,7 +21681,7 @@ _0224413C: add r0, r5, #0 add r1, #0xd add r2, r6, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] add r1, r1, r4 add r4, r4, #1 @@ -21691,14 +21691,14 @@ _0224413C: add r0, r5, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] mov r2, #0 add r1, #0x20 strb r0, [r1] add r0, r5, #0 mov r1, #9 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp] ldr r2, [sp] add r1, #0x21 @@ -21707,7 +21707,7 @@ _0224413C: add r0, r5, #0 mov r1, #0x74 str r2, [sp] - bl GetMonData + bl Pokemon_GetData add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop @@ -21963,7 +21963,7 @@ ov06_02244388: ; 0x02244388 add r5, r1, #0 add r6, r0, #0 add r0, r5, #0 - bl ZeroMonData + bl Pokemon_Init ldr r0, [r6, #0x10] ldr r3, _02244520 ; =0x3FFFFFFF str r0, [sp] @@ -21984,11 +21984,11 @@ ov06_02244388: ; 0x02244388 strb r1, [r0, #1] add r0, r5, #0 mov r1, #0x70 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0 mov r1, #6 add r2, r6, #2 - bl SetMonData + bl Pokemon_SetData mov r4, #0 str r6, [sp, #4] add r7, r4, #0 @@ -22002,7 +22002,7 @@ _022443D4: add r1, r4, #0 add r0, r5, #0 add r1, #0x36 - bl SetMonData + bl Pokemon_SetData ldrb r0, [r6, #0x1e] add r2, sp, #8 add r2, #1 @@ -22015,19 +22015,19 @@ _022443D4: add r1, r4, #0 add r0, r5, #0 add r1, #0x3e - bl SetMonData + bl Pokemon_SetData add r1, r4, #0 add r0, r5, #0 add r1, #0x42 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #8 strb r0, [r1] add r1, r4, #0 add r0, r5, #0 add r1, #0x3a add r2, sp, #8 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #4] add r4, r4, #1 add r0, r0, #2 @@ -22040,7 +22040,7 @@ _022443D4: str r0, [sp, #0xc] add r0, r5, #0 add r2, sp, #0xc - bl SetMonData + bl Pokemon_SetData add r2, sp, #8 ldrb r1, [r6, #0x18] add r0, sp, #8 @@ -22048,7 +22048,7 @@ _022443D4: strb r1, [r0, #1] add r0, r5, #0 mov r1, #0xd - bl SetMonData + bl Pokemon_SetData add r2, sp, #8 ldrb r1, [r6, #0x19] add r0, sp, #8 @@ -22056,7 +22056,7 @@ _022443D4: strb r1, [r0, #1] add r0, r5, #0 mov r1, #0xe - bl SetMonData + bl Pokemon_SetData add r2, sp, #8 ldrb r1, [r6, #0x1a] add r0, sp, #8 @@ -22064,7 +22064,7 @@ _022443D4: strb r1, [r0, #1] add r0, r5, #0 mov r1, #0xf - bl SetMonData + bl Pokemon_SetData add r2, sp, #8 ldrb r1, [r6, #0x1b] add r0, sp, #8 @@ -22072,7 +22072,7 @@ _022443D4: strb r1, [r0, #1] add r0, r5, #0 mov r1, #0x10 - bl SetMonData + bl Pokemon_SetData add r2, sp, #8 ldrb r1, [r6, #0x1c] add r0, sp, #8 @@ -22080,7 +22080,7 @@ _022443D4: strb r1, [r0, #1] add r0, r5, #0 mov r1, #0x11 - bl SetMonData + bl Pokemon_SetData add r2, sp, #8 ldrb r1, [r6, #0x1d] add r0, sp, #8 @@ -22088,17 +22088,17 @@ _022443D4: strb r1, [r0, #1] add r0, r5, #0 mov r1, #0x12 - bl SetMonData + bl Pokemon_SetData add r2, r6, #0 add r0, r5, #0 mov r1, #0xa add r2, #0x20 - bl SetMonData + bl Pokemon_SetData add r2, r6, #0 add r0, r5, #0 mov r1, #9 add r2, #0x21 - bl SetMonData + bl Pokemon_SetData ldr r0, [r6, #0x14] lsl r0, r0, #1 lsr r0, r0, #0x1f @@ -22117,7 +22117,7 @@ _022443D4: add r0, r5, #0 mov r1, #0x76 add r2, r7, #0 - bl SetMonData + bl Pokemon_SetData add r0, r7, #0 bl String_Delete add r0, r4, #0 @@ -22128,15 +22128,15 @@ _022444FC: add r0, r5, #0 mov r1, #0x74 add r2, #0x22 - bl SetMonData + bl Pokemon_SetData _02244508: add r6, #0x1f add r0, r5, #0 mov r1, #0xc add r2, r6, #0 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop @@ -22202,7 +22202,7 @@ ov06_02244558: ; 0x02244558 add r0, r0, #4 str r1, [r7, r0] ldr r0, [r5, #4] - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0 ldrb r1, [r5, #0xe] ldr r0, [r7, #4] @@ -22222,22 +22222,22 @@ _022445A6: add r0, r4, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x32 bls _022445E8 add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x32 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel str r0, [sp, #8] add r0, r4, #0 mov r1, #8 add r2, sp, #8 - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats _022445E8: add r0, r7, #0 add r1, r4, #0 @@ -22413,7 +22413,7 @@ _0224471C: bl Party_GetMonByIndex mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x21 lsl r1, r1, #6 strh r0, [r5, r1] @@ -22645,14 +22645,14 @@ _022448EC: add r7, r6, #0 orr r7, r0 add r0, r7, #0 - bl GetNatureFromPersonality + bl Personality_GetNature add r1, sp, #8 ldrb r1, [r1, #0xb] cmp r1, r0 beq _0224491A ldr r0, [sp] add r1, r7, #0 - bl CalcShininessByOtIdAndPersonality + bl Personality_IsShiny cmp r0, #1 beq _022448EC _0224491A: @@ -22731,13 +22731,13 @@ _0224499C: mov r0, #0 strb r0, [r5, #0x1e] ldr r0, _02244A30 ; =gGameLanguage - mov r1, #0x19 ; BASE_ABILITY_2 + mov r1, #0x19 ; SPECIES_DATA_ABILITY_2 ldrb r0, [r0] strb r0, [r5, #0x1f] ldrh r0, [r5] lsl r0, r0, #0x15 lsr r0, r0, #0x15 - bl GetMonBaseStat + bl Species_GetValue cmp r0, #0 beq _022449E0 ldr r2, [r5, #0x10] @@ -22750,20 +22750,20 @@ _0224499C: b _022449F2 _022449CC: ldrh r0, [r5] - mov r1, #0x18 ; BASE_ABILITY_1 + mov r1, #0x18 ; SPECIES_DATA_ABILITY_1 lsl r0, r0, #0x15 lsr r0, r0, #0x15 - bl GetMonBaseStat + bl Species_GetValue add r1, r5, #0 add r1, #0x20 strb r0, [r1] b _022449F2 _022449E0: ldrh r0, [r5] - mov r1, #0x18 ; BASE_ABILITY_1 + mov r1, #0x18 ; SPECIES_DATA_ABILITY_1 lsl r0, r0, #0x15 lsr r0, r0, #0x15 - bl GetMonBaseStat + bl Species_GetValue add r1, r5, #0 add r1, #0x20 strb r0, [r1] @@ -23242,7 +23242,7 @@ ov06_02244D04: ; 0x02244D04 add r0, #0x5a strh r1, [r0] ldr r0, [sp, #0x20] - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0 ldr r0, [sp] mov r6, #0 @@ -23297,8 +23297,8 @@ ov06_02244DC4: ; 0x02244DC4 lsl r0, r0, #2 str r1, [r7, r0] add r0, r4, #0 - mov r1, #0x12 ; BASE_GENDER_RATIO - bl GetMonBaseStat + mov r1, #0x12 ; SPECIES_DATA_GENDER_RATIO + bl Species_GetValue lsl r0, r0, #0x18 lsr r0, r0, #0x18 beq _02244DEC @@ -26898,7 +26898,7 @@ ov06_0224690C: ; 0x0224690C str r0, [r4] ldr r0, [r4, #0x5c] mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl sub_02005578 @@ -28810,7 +28810,7 @@ _022477A8: mov r1, #0 add r0, r6, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp] mov r0, #0 str r0, [sp, #4] @@ -30834,7 +30834,7 @@ ov06_02248724: ; 0x02248724 add r0, r6, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r0, #0 add r0, r7, #0 bl ov06_02248810 @@ -30844,13 +30844,13 @@ ov06_02248724: ; 0x02248724 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r6, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r0, [sp] @@ -30997,7 +30997,7 @@ _0224886C: str r5, [r4, #0x10] str r6, [r4, #0xc] add r0, r5, #0 - bl AllocMonZeroed + bl Pokemon_New str r0, [r4, #4] add r0, r5, #0 bl PlayerProfile_New @@ -31083,7 +31083,7 @@ ov06_0224891C: ; 0x0224891C mov r1, #0xa0 mov r2, #0 add r7, r0, #0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 ldr r0, [r5, #0x10] str r0, [sp] @@ -31172,7 +31172,7 @@ CreateInGameTradeMon: ; 0x022489D4 mov r3, #0x20 str r1, [sp, #0xc] ldr r1, [r4] - bl CreateMon + bl Pokemon_InitWithParams ldr r0, [sp, #0x28] add r1, r6, #0 bl GetInGameTradeMonOrPartnerName @@ -31180,7 +31180,7 @@ CreateInGameTradeMon: ; 0x022489D4 add r0, r5, #0 mov r1, #0x76 add r2, r7, #0 - bl SetMonData + bl Pokemon_SetData add r0, r7, #0 bl String_Delete mov r1, #1 @@ -31189,66 +31189,66 @@ CreateInGameTradeMon: ; 0x022489D4 add r0, r5, #0 mov r1, #0x4d add r2, sp, #0x10 - bl SetMonData + bl Pokemon_SetData add r0, r5, #0 mov r1, #0x46 add r2, r4, #4 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x47 add r2, #8 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x48 add r2, #0xc - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x49 add r2, #0x10 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x4a add r2, #0x14 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x4b add r2, #0x18 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x13 add r2, #0x24 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x14 add r2, #0x28 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x15 add r2, #0x2c - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x16 add r2, #0x30 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #0x17 add r2, #0x34 - bl SetMonData + bl Pokemon_SetData add r2, r4, #0 add r0, r5, #0 mov r1, #6 add r2, #0x3c - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x28] add r1, r6, #4 bl GetInGameTradeMonOrPartnerName @@ -31256,19 +31256,19 @@ CreateInGameTradeMon: ; 0x022489D4 add r0, r5, #0 mov r1, #0x90 add r2, r6, #0 - bl SetMonData + bl Pokemon_SetData add r0, r6, #0 bl String_Delete add r2, r4, #0 add r0, r5, #0 mov r1, #0x9c add r2, #0x40 - bl SetMonData + bl Pokemon_SetData add r4, #0x48 add r0, r5, #0 mov r1, #0xc add r2, r4, #0 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x2c] bl MapHeader_GetMapSec add r3, r0, #0 @@ -31279,9 +31279,9 @@ CreateInGameTradeMon: ; 0x022489D4 mov r2, #1 bl sub_0208089C add r0, r5, #0 - bl CalcMonLevelAndStats + bl Pokemon_CalcLevelAndStats add r0, r5, #0 - bl MonIsShiny + bl Pokemon_IsShiny cmp r0, #0 beq _02248B08 bl GF_AssertFail diff --git a/arm9/overlays/07/asm/overlay_07.s b/arm9/overlays/07/asm/overlay_07.s index 02d395439..16d162021 100644 --- a/arm9/overlays/07/asm/overlay_07.s +++ b/arm9/overlays/07/asm/overlay_07.s @@ -2333,13 +2333,13 @@ _0221312A: mov r1, #5 mov r2, #0 add r7, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022131B0 add r0, r7, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _022131B0 add r0, r7, #0 @@ -3686,7 +3686,7 @@ _02213C2E: add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x86 lsl r1, r1, #2 strh r0, [r7, r1] @@ -3702,52 +3702,52 @@ _02213C2E: add r5, r0, r1 add r0, r4, #0 mov r1, #0x4c - bl GetMonData + bl Pokemon_GetData ldr r1, _02213D18 ; =0x00000223 mov r2, #0 strb r0, [r5, r1] add r0, r4, #0 mov r1, #0xa2 - bl GetMonData + bl Pokemon_GetData ldr r1, _02213D1C ; =0x0000021A mov r2, #0 strh r0, [r5, r1] add r0, r4, #0 mov r1, #0xa3 - bl GetMonData + bl Pokemon_GetData mov r1, #0x87 lsl r1, r1, #2 strh r0, [r5, r1] add r0, r4, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x22 lsl r1, r1, #4 strb r0, [r5, r1] add r0, r4, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02213D20 ; =0x0000021E mov r2, #0 strh r0, [r5, r1] add r0, r4, #0 mov r1, #0xa1 - bl GetMonData + bl Pokemon_GetData mov r1, #0x89 lsl r1, r1, #2 strb r0, [r5, r1] add r0, r4, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02213D24 ; =0x00000225 mov r2, #0 strb r0, [r5, r1] add r0, r4, #0 mov r1, #0xaf - bl GetMonData + bl Pokemon_GetData cmp r0, #1 bne _02213CE8 mov r1, #0 @@ -3758,7 +3758,7 @@ _02213CEA: ldr r0, _02213D28 ; =0x00000222 strb r1, [r7, r0] add r0, r4, #0 - bl GetMonGender + bl Pokemon_GetGender ldr r1, _02213D2C ; =0x00000221 strb r0, [r5, r1] add r0, r4, #0 diff --git a/arm9/overlays/08/asm/overlay_08.s b/arm9/overlays/08/asm/overlay_08.s index 7b588f50d..8bae320d8 100644 --- a/arm9/overlays/08/asm/overlay_08.s +++ b/arm9/overlays/08/asm/overlay_08.s @@ -45038,7 +45038,7 @@ ov08_02228244: ; 0x02228244 str r0, [r2] ldr r0, [r4, #0xc] mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 add r1, #0x9c str r0, [r1] @@ -45067,7 +45067,7 @@ _02228272: _02228290: ldr r0, [r4, #0xc] mov r1, #0x9a - bl GetMonData + bl Pokemon_GetData add r4, #0x98 str r0, [r4] pop {r4, pc} @@ -45080,7 +45080,7 @@ _0222829E: add r4, #0xa0 mov r1, #0xaa add r2, r4, #0 - bl GetMonData + bl Pokemon_GetData pop {r4, pc} thumb_func_start ov08_022282B4 diff --git a/arm9/overlays/09/asm/overlay_09.s b/arm9/overlays/09/asm/overlay_09.s index 08b45a96c..08ae43749 100644 --- a/arm9/overlays/09/asm/overlay_09.s +++ b/arm9/overlays/09/asm/overlay_09.s @@ -576,7 +576,7 @@ _022122BA: add r0, r5, r1 ldr r0, [r0, #4] mov r1, #0xa2 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x20] ldrb r1, [r4, #0x11] mov r0, #0x50 @@ -1630,7 +1630,7 @@ _02212B0A: ldr r0, [r0, #4] add r1, #0x3a mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r7, #4 strh r0, [r4, r1] mov r2, #2 @@ -1686,7 +1686,7 @@ _02212BAA: add r0, r4, r0 ldr r0, [r0, #4] mov r1, #0xa2 - bl GetMonData + bl Pokemon_GetData ldr r1, _02212C84 ; =0x0000207E mov r2, #4 strh r0, [r4, r1] @@ -1841,7 +1841,7 @@ _02212CD0: add r1, r7, #0 add r1, #0x3a mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x82 lsl r1, r1, #6 strh r0, [r4, r1] @@ -2441,7 +2441,7 @@ _022131E2: str r0, [r4, #4] mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #8] ldrh r0, [r4, #8] cmp r0, #0 @@ -2457,54 +2457,54 @@ _0221320C: add r4, r0, r5 ldr r0, [r4, #4] mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0xa] ldr r0, [r4, #4] mov r1, #0xa5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0xc] ldr r0, [r4, #4] mov r1, #0xa6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0xe] ldr r0, [r4, #4] mov r1, #0xa7 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x10] ldr r0, [r4, #4] mov r1, #0xa8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x12] ldr r0, [r4, #4] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x14] ldr r0, [r4, #4] mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x16] ldr r0, [r4, #4] mov r1, #0xb0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r4, #0x18] ldr r0, [r4, #4] mov r1, #0xb1 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r6, [sp] strb r0, [r4, #0x19] ldr r0, [r4, #4] add r6, #0x1a mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldrb r1, [r6, r5] mov r2, #0x7f lsl r0, r0, #0x18 @@ -2517,7 +2517,7 @@ _0221320C: ldr r0, [r4, #4] mov r1, #0xaf mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #1 ldrb r1, [r6, r5] bne _022132BC @@ -2535,7 +2535,7 @@ _022132C2: add r6, r0, #0 ldr r0, [r4, #4] add r6, #0x1b - bl GetMonGender + bl Pokemon_GetGender ldrb r1, [r6, r5] mov r2, #7 bic r1, r2 @@ -2557,7 +2557,7 @@ _022132C2: ldr r0, [r4, #4] mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1f @@ -2570,17 +2570,17 @@ _022132C2: ldr r0, [r4, #4] mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x1c] ldr r0, [r4, #4] mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x1e] ldr r0, [r4, #4] mov r1, #8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r6, [sp] str r0, [r4, #0x20] add r6, #0x1a @@ -2588,7 +2588,7 @@ _022132C2: ldrh r0, [r4, #8] lsl r1, r1, #0x19 lsr r1, r1, #0x19 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel str r0, [r4, #0x24] ldrb r0, [r6, r5] lsl r0, r0, #0x19 @@ -2604,55 +2604,55 @@ _0221335A: add r1, r1, #1 add r4, r0, r5 ldrh r0, [r4, #8] - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel _02213366: str r0, [r4, #0x28] ldr r0, [r4, #4] mov r1, #0x13 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 add r1, #0x2c strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x14 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 add r1, #0x2d strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x15 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 add r1, #0x2e strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x16 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 add r1, #0x2f strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x17 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 add r1, #0x30 strb r0, [r1] ldr r0, [r4, #4] mov r1, #0xa1 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 add r1, #0x31 strb r0, [r1] ldr r0, [r4, #4] mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r4, #0x32 strb r0, [r4] ldr r1, [sp] @@ -2670,7 +2670,7 @@ _022133E4: ldr r0, [r6, #4] add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0xc] strh r0, [r7, r1] add r0, r1, #0 @@ -2681,13 +2681,13 @@ _022133E4: ldr r0, [r6, #4] add r1, #0x3a mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r5, #2] add r1, r4, #0 ldr r0, [r6, #4] add r1, #0x3e mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r5, #3] ldrh r0, [r5] ldrb r1, [r5, #3] @@ -8336,7 +8336,7 @@ ov09_02216378: ; 0x02216378 mov r1, #0xa2 mov r2, #0 add r7, r0, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #8] diff --git a/arm9/overlays/11/asm/ov11_0222D5C0_1.s b/arm9/overlays/11/asm/ov11_0222D5C0_1.s index ea6240c24..7a7d57622 100644 --- a/arm9/overlays/11/asm/ov11_0222D5C0_1.s +++ b/arm9/overlays/11/asm/ov11_0222D5C0_1.s @@ -1685,7 +1685,7 @@ _0222E4AC: bl ov11_02230014 mov r1, #0x9a mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 ldr r1, [r6, #0x34] add r0, r5, #0 @@ -2024,19 +2024,19 @@ _0222E76C: mov r1, #5 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222E79E add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222E79E add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222E7AA _0222E79E: @@ -2129,19 +2129,19 @@ _0222E848: mov r1, #5 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222E87A add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222E87A add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222E886 _0222E87A: @@ -2255,38 +2255,38 @@ _0222E938: add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222E9AC add r0, r5, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222E9AC add r0, r5, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222E9B8 b _0222E9AC _0222E984: mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222E9AC add r0, r5, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222E9AC add r0, r5, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222E9B8 _0222E9AC: @@ -2355,19 +2355,19 @@ _0222EA22: mov r1, #5 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222EA54 add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EA54 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EA60 _0222EA54: @@ -2457,19 +2457,19 @@ _0222EAEE: bne _0222EB2E mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222EB56 add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EB56 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222EB56 ldr r0, [sp, #0x38] @@ -2479,19 +2479,19 @@ _0222EAEE: _0222EB2E: mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222EB56 add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EB56 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EB64 _0222EB56: @@ -2582,19 +2582,19 @@ _0222EBF6: mov r1, #5 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222EC28 add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EC28 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EC34 _0222EC28: @@ -2707,38 +2707,38 @@ _0222ECE0: add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222ED54 add r0, r5, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222ED54 add r0, r5, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222ED60 b _0222ED54 _0222ED2C: mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222ED54 add r0, r5, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222ED54 add r0, r5, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222ED60 _0222ED54: @@ -2810,19 +2810,19 @@ _0222EDD2: mov r1, #5 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222EE04 add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EE04 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222EE10 _0222EE04: @@ -2865,7 +2865,7 @@ _0222EE3E: add r2, r4, #0 mov r1, #0x8f add r2, #0xf4 - bl GetMonData + bl Pokemon_GetData _0222EE5A: ldr r1, [r4, #0x2c] mov r0, #1 @@ -2898,7 +2898,7 @@ _0222EE8C: add r1, r7, #0 lsl r2, r2, #0x10 lsr r2, r2, #0x10 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship ldr r0, [r4, #0x68] add r5, r5, #1 bl Party_GetCount @@ -2920,7 +2920,7 @@ _0222EEBC: add r1, r7, #0 lsl r2, r2, #0x10 lsr r2, r2, #0x10 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship ldr r0, [r4, #0x70] add r5, r5, #1 bl Party_GetCount diff --git a/arm9/overlays/11/asm/ov11_0222FF68.s b/arm9/overlays/11/asm/ov11_0222FF68.s index 58a8985da..ec8c2a3ac 100644 --- a/arm9/overlays/11/asm/ov11_0222FF68.s +++ b/arm9/overlays/11/asm/ov11_0222FF68.s @@ -740,7 +740,7 @@ _022303E4: ldr r0, [sp, #0x18] mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #7 str r0, [sp, #0x20] tst r1, r0 @@ -751,7 +751,7 @@ _022303E4: ldr r0, [sp, #0x18] mov r1, #0x9f add r2, sp, #0x20 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x10] cmp r0, r5 beq _02230434 @@ -802,7 +802,7 @@ _02230478: ldr r0, [sp, #0x18] mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _0223068C ; =0x00000F88 str r0, [sp, #0x20] tst r1, r0 @@ -813,7 +813,7 @@ _02230478: str r0, [sp, #0x20] ldr r0, [sp, #0x18] mov r1, #0x9f - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x10] cmp r0, r5 beq _022304B8 @@ -850,7 +850,7 @@ _022304DC: ldr r0, [sp, #0x18] mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x10 str r0, [sp, #0x20] tst r1, r0 @@ -861,7 +861,7 @@ _022304DC: ldr r0, [sp, #0x18] mov r1, #0x9f add r2, sp, #0x20 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x10] cmp r0, r5 beq _0223051C @@ -898,7 +898,7 @@ _02230540: ldr r0, [sp, #0x18] mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x20 str r0, [sp, #0x20] tst r1, r0 @@ -909,7 +909,7 @@ _02230540: ldr r0, [sp, #0x18] mov r1, #0x9f add r2, sp, #0x20 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x10] cmp r0, r5 beq _02230580 @@ -946,7 +946,7 @@ _022305A4: ldr r0, [sp, #0x18] mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x40 str r0, [sp, #0x20] tst r1, r0 @@ -957,7 +957,7 @@ _022305A4: ldr r0, [sp, #0x18] mov r1, #0x9f add r2, sp, #0x20 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x10] cmp r0, r5 beq _022305E4 @@ -1337,13 +1337,13 @@ _022308C4: ldr r0, [sp, #0x18] add r1, #0x3a mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r1, r4, #0 ldr r0, [sp, #0x18] add r1, #0x42 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r7, r0 beq _0223095A add r1, r4, #0 @@ -1408,13 +1408,13 @@ _0223097E: ldr r0, [sp, #0x18] add r1, #0x3a mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r1, r4, #0 ldr r0, [sp, #0x18] add r1, #0x42 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r7, r0 beq _022309F2 add r1, r4, #0 @@ -1485,7 +1485,7 @@ _02230A0C: ldr r0, [sp, #0x18] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _02230A42 mov r0, #1 @@ -1495,7 +1495,7 @@ _02230A36: ldr r0, [sp, #0x18] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x20] _02230A42: ldr r0, [sp, #0x20] @@ -1504,12 +1504,12 @@ _02230A42: ldr r0, [sp, #0x18] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0 ldr r0, [sp, #0x18] mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r4, r0 beq _02230B14 ldr r0, [sp, #0x38] @@ -1528,14 +1528,14 @@ _02230A42: ldr r0, [sp, #0x18] mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x20] b _02230AC2 _02230A8C: ldr r0, [sp, #0x18] mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsr r0, r0, #1 str r0, [sp, #0x20] bne _02230AC2 @@ -1546,7 +1546,7 @@ _02230AA2: ldr r0, [sp, #0x18] mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x19 mul r1, r0 add r0, r1, #0 @@ -1609,7 +1609,7 @@ _02230B14: ldr r0, [sp, #0x18] mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x64 bhs _02230B4A ldr r0, [sp, #0x14] @@ -1634,13 +1634,13 @@ _02230B4A: ldr r0, [sp, #0x18] mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x64 blo _02230B8E ldr r0, [sp, #0x18] mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0xc8 bhs _02230B8E ldr r0, [sp, #0x14] @@ -1665,7 +1665,7 @@ _02230B8E: ldr r0, [sp, #0x18] mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0xc8 blo _02230BC4 ldr r0, [sp, #0x14] @@ -1686,7 +1686,7 @@ _02230BC4: ldr r0, [sp, #0x18] mov r1, #0x9a mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0xb bne _02230BE0 ldr r0, [sp, #8] @@ -1696,7 +1696,7 @@ _02230BE0: ldr r0, [sp, #0x18] mov r1, #0x97 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0 ldr r0, [sp, #4] bl ov11_022302B0 @@ -1709,7 +1709,7 @@ _02230BFC: ldr r0, [sp, #0x18] mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x20] ldr r0, [sp, #0x38] mov r1, #1 @@ -2139,7 +2139,7 @@ _02230EE4: mov r1, #0xad mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 mov r0, #0x67 @@ -2189,7 +2189,7 @@ _02230F4E: add r0, r6, #0 mov r1, #0x70 add r2, sp, #0 - bl SetMonData + bl Pokemon_SetData _02230F58: add r0, r5, #0 mov r1, #0 @@ -3178,7 +3178,7 @@ _02231606: add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x67 lsl r1, r1, #2 cmp r0, r1 diff --git a/arm9/overlays/11/asm/ov11_02232264.s b/arm9/overlays/11/asm/ov11_02232264.s index da51549af..5de33e075 100644 --- a/arm9/overlays/11/asm/ov11_02232264.s +++ b/arm9/overlays/11/asm/ov11_02232264.s @@ -2928,13 +2928,13 @@ _02233950: mov r1, #5 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022339B4 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022339B4 add r0, r4, #0 @@ -2955,7 +2955,7 @@ _02233994: add r0, r6, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 add r0, r5, #0 @@ -2982,8 +2982,8 @@ _022339C6: mov r0, #0xb5 lsl r0, r0, #6 ldrh r0, [r1, r0] - mov r1, #9 ; BASE_EXP_YIELD - bl GetMonBaseStat + mov r1, #9 ; SPECIES_DATA_EXP_YIELD + bl Species_GetValue lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldr r2, [r5, #0x74] @@ -8823,19 +8823,19 @@ _02236794: mov r1, #5 mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022367C8 add r0, r4, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _022367C8 add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022367C8 add r7, r7, #1 @@ -8876,19 +8876,19 @@ _022367EA: add r1, r7, #0 mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022367EA add r0, r4, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #1 beq _022367EA add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022367EA ldr r0, [sp] @@ -10975,26 +10975,26 @@ _022378A2: beq _02237900 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022378F8 add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022378F8 add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02237AAC ; =0x000001EE cmp r0, r1 beq _022378F8 add r0, r4, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02237900 _022378F8: @@ -11011,22 +11011,22 @@ _02237900: add r4, r0, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #4] add r0, r4, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0 add r0, r4, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0 ldr r0, [sp, #4] add r1, r6, #0 - mov r2, #1 ; BASE_ATK - bl GetMonBaseStat_HandleFormConversion + mov r2, #1 ; SPECIES_DATA_BASE_ATK + bl Species_GetFormValue ldr r1, _02237AB0 ; =0x00002144 ldr r2, _02237AB4 ; =0x00003044 str r0, [r5, r1] @@ -11055,10 +11055,10 @@ _02237900: ldrh r0, [r2, r1] add r1, #0x26 ldrb r1, [r2, r1] - mov r2, #2 ; BASE_DEF + mov r2, #2 ; SPECIES_DATA_BASE_DEF lsl r1, r1, #0x1b lsr r1, r1, #0x1b - bl GetMonBaseStat_HandleFormConversion + bl Species_GetFormValue add r1, r0, #0 ldr r0, _02237AB0 ; =0x00002144 ldr r0, [r5, r0] @@ -11157,26 +11157,26 @@ _02237A2A: beq _02237A9A mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02237A7C add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02237A7C add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02237AAC ; =0x000001EE cmp r0, r1 beq _02237A7C add r0, r4, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02237A9A _02237A7C: @@ -11513,13 +11513,13 @@ _02237D16: mov r1, #0xad mov r2, #0 str r0, [sp, #8] - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02237D7E ldr r0, [sp, #8] mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02237DBC ; =0x000001EE cmp r0, r1 beq _02237D7E @@ -11529,7 +11529,7 @@ _02237D4E: ldr r0, [sp, #8] add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r6, #0 @@ -14215,20 +14215,20 @@ _02239222: mov r1, #0xad mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r4, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #4] @@ -14254,7 +14254,7 @@ _02239222: add r0, r4, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData sub r0, r0, #1 mov r1, #0xa bl _u32_div_f @@ -14278,7 +14278,7 @@ _022392AA: add r0, r4, #0 mov r1, #6 add r2, r5, r2 - bl SetMonData + bl Pokemon_SetData b _022392EC _022392C4: cmp r5, #0x62 @@ -14293,7 +14293,7 @@ _022392C4: add r0, r4, #0 mov r1, #6 add r2, r2, r3 - bl SetMonData + bl Pokemon_SetData b _022392EC _022392E2: add r1, r1, #1 @@ -14318,7 +14318,7 @@ _022392EC: mov r1, #0xa0 str r2, [sp, #0xc] mov r5, #0xa - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r1, #0xa @@ -14349,7 +14349,7 @@ _0223932E: add r0, r4, #0 mov r1, #6 add r2, sp, #0xc - bl SetMonData + bl Pokemon_SetData _02239350: ldr r0, [sp] mov r1, #0 @@ -15701,20 +15701,20 @@ _02239E2A: mov r1, #0xad mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02239E5C add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02239F48 ; =0x000001EE cmp r0, r1 beq _02239E5C add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, r5, r0 _02239E5C: add r0, r7, #0 @@ -15750,19 +15750,19 @@ _02239E90: mov r1, #0xad mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02239EC0 add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, r7 beq _02239EC0 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, r5, r0 _02239EC0: ldr r0, [sp, #8] @@ -15797,20 +15797,20 @@ _02239EF8: mov r1, #0xad mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02239F2A add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02239F48 ; =0x000001EE cmp r0, r1 beq _02239F2A add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, r5, r0 _02239F2A: add r0, r7, #0 @@ -16146,12 +16146,12 @@ ov11_0223A178: ; 0x0223A178 add r6, r0, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp] add r0, r6, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 ldr r0, _0223A210 ; =0x00002D67 add r1, r5, r4 @@ -16981,7 +16981,7 @@ _0223A7D6: mov r1, #6 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #1 @@ -17085,7 +17085,7 @@ _0223A8B0: add r0, r6, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #1 @@ -17107,7 +17107,7 @@ _0223A8B0: add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0223A90E ldr r1, [r4, #4] @@ -17133,7 +17133,7 @@ _0223A90E: ldr r2, [sp, #0x34] add r0, r6, #0 mov r1, #0xa2 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0223A928 b _0223AA34 @@ -17141,7 +17141,7 @@ _0223A928: add r0, r6, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0x64 beq _0223AA34 ldr r0, [r4, #4] @@ -17200,7 +17200,7 @@ _0223A994: add r0, r6, #0 mov r1, #0xc mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _0223ABAC ; =gGameLanguage ldrb r1, [r1] cmp r1, r0 @@ -17227,10 +17227,10 @@ _0223A9D6: add r0, r6, #0 mov r1, #8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x48] add r0, r6, #0 - bl GetMonBaseExperienceAtCurrentLevel + bl Pokemon_GetCurrentLevelBaseExp ldr r1, [sp, #0x48] sub r0, r1, r0 str r0, [r4, #0x3c] @@ -17253,7 +17253,7 @@ _0223AA0C: add r0, r6, #0 mov r1, #8 add r2, sp, #0x48 - bl SetMonData + bl Pokemon_SetData ldr r6, [r4, #4] ldr r0, [r4] add r1, r7, #0 @@ -17401,7 +17401,7 @@ _0223AB22: add r0, r6, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x30] mov r0, #5 mov r1, #0x18 @@ -17421,7 +17421,7 @@ _0223AB58: ldr r1, [r1, r2] add r0, r6, #0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x4c] lsl r2, r1, #2 ldr r1, [sp, #0x2c] @@ -17438,9 +17438,9 @@ _0223AB58: add r0, r6, #0 mov r1, #0 lsr r2, r2, #0x10 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship add r0, r6, #0 - bl CalcMonStats + bl Pokemon_CalcStats ldr r1, [r4, #4] ldr r0, _0223ABB0 ; =0x0000219C b _0223ABBC @@ -17663,7 +17663,7 @@ _0223AD30: ldr r1, [r1, r2] add r0, r6, #0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x28] lsl r2, r5, #2 ldr r1, [r1, r2] @@ -17729,7 +17729,7 @@ _0223ADEC: strb r0, [r5, #1] add r0, r6, #0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xb4] mov r0, #3 str r0, [sp, #0xcc] @@ -18177,7 +18177,7 @@ _0223B192: add r0, r6, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xb8] ldr r0, [r4] bl ov11_02230E54 @@ -18236,7 +18236,7 @@ _0223B1F6: add r0, r6, #0 add r1, #0x3e add r2, sp, #0x4c - bl SetMonData + bl Pokemon_SetData ldr r1, [r4, #0x40] ldr r2, [r4, #0x44] lsl r1, r1, #0x10 @@ -18323,7 +18323,7 @@ ov11_0223B2DC: ; 0x0223B2DC add r0, r2, #0 mov r1, #5 mov r4, #0 - bl AllocAndLoadMonPersonal + bl SpeciesData_NewFromSpecies add r7, r0, #0 ldr r0, [sp] ldr r1, [sp, #4] @@ -18331,7 +18331,7 @@ ov11_0223B2DC: ; 0x0223B2DC mov r1, #6 add r2, r4, #0 str r0, [sp, #0x14] - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r6, #0 @@ -18354,7 +18354,7 @@ _0223B328: ldr r0, [sp, #0x14] add r1, #0xd mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0xc] strb r0, [r1] add r0, r1, #0 @@ -18402,7 +18402,7 @@ _0223B37A: ; jump table _0223B386: add r0, r7, #0 mov r1, #0xa - bl GetPersonalAttr + bl SpeciesData_GetValue lsl r0, r0, #0x10 asr r4, r0, #0x10 cmp r5, #0x79 @@ -18414,7 +18414,7 @@ _0223B386: _0223B39E: add r0, r7, #0 mov r1, #0xb - bl GetPersonalAttr + bl SpeciesData_GetValue lsl r0, r0, #0x10 asr r4, r0, #0x10 cmp r5, #0x74 @@ -18426,7 +18426,7 @@ _0223B39E: _0223B3B6: add r0, r7, #0 mov r1, #0xc - bl GetPersonalAttr + bl SpeciesData_GetValue lsl r0, r0, #0x10 asr r4, r0, #0x10 cmp r5, #0x75 @@ -18438,7 +18438,7 @@ _0223B3B6: _0223B3CE: add r0, r7, #0 mov r1, #0xd - bl GetPersonalAttr + bl SpeciesData_GetValue lsl r0, r0, #0x10 asr r4, r0, #0x10 cmp r5, #0x78 @@ -18450,7 +18450,7 @@ _0223B3CE: _0223B3E6: add r0, r7, #0 mov r1, #0xe - bl GetPersonalAttr + bl SpeciesData_GetValue lsl r0, r0, #0x10 asr r4, r0, #0x10 cmp r5, #0x76 @@ -18462,7 +18462,7 @@ _0223B3E6: _0223B3FE: add r0, r7, #0 mov r1, #0xf - bl GetPersonalAttr + bl SpeciesData_GetValue lsl r0, r0, #0x10 asr r4, r0, #0x10 cmp r5, #0x77 @@ -18522,7 +18522,7 @@ _0223B45A: str r0, [sp, #0x18] ldr r0, [sp, #0x14] add r1, #0xd - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] @@ -18534,7 +18534,7 @@ _0223B45A: b _0223B35E _0223B48C: add r0, r7, #0 - bl FreeMonPersonal + bl SpeciesData_Free add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} nop @@ -18977,7 +18977,7 @@ _0223B83C: add r0, r6, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r0, #0 ldr r0, [r4] bl ov11_02231668 @@ -19359,7 +19359,7 @@ _0223BB76: mov r1, #5 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData add r5, r0, #0 ldr r0, [r4] bl ov11_02230E18 @@ -19397,7 +19397,7 @@ _0223BBEE: add r0, r6, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [r5, #8] ldr r0, [r4] bl ov11_02230290 @@ -19405,7 +19405,7 @@ _0223BBEE: add r0, r6, #0 mov r1, #0x6f mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [r5, #0x10] ldr r0, _0223BF18 ; =UNK_020FA5FC add r1, r5, #0 @@ -19441,7 +19441,7 @@ _0223BC38: bne _0223BC62 ldr r2, [r5, #0x18] mov r1, #0x77 - bl SetMonData + bl Pokemon_SetData _0223BC62: add r0, r5, #0 bl sub_02077AC4 @@ -19543,13 +19543,13 @@ _0223BD3E: add r0, r6, #0 add r1, #0x42 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r5, #0 str r0, [sp, #0x2c] add r0, r6, #0 add r1, #0x3a add r2, sp, #0x2c - bl SetMonData + bl Pokemon_SetData add r5, r5, #1 cmp r5, #4 blt _0223BD3E @@ -19871,8 +19871,8 @@ _0223BFEE: mov r0, #0xb5 lsl r0, r0, #6 ldrh r0, [r1, r0] - mov r1, #8 ; BASE_CATCH_RATE - bl GetMonBaseStat + mov r1, #8 ; SPECIES_DATA_CATCH_RATE + bl Species_GetValue ldr r1, _0223C200 ; =0x0000311C ldr r2, _0223C204 ; =ov11_0225DCF0 ldrb r1, [r4, r1] @@ -19892,8 +19892,8 @@ _0223C026: mov r0, #0xb5 lsl r0, r0, #6 ldrh r0, [r1, r0] - mov r1, #8 ; BASE_CATCH_RATE - bl GetMonBaseStat + mov r1, #8 ; SPECIES_DATA_CATCH_RATE + bl Species_GetValue str r0, [sp] _0223C03A: ldr r1, [r4, #0x6c] @@ -21769,7 +21769,7 @@ ov11_0223CDC4: ; 0x0223CDC4 ldr r0, [sp, #0x18] mov r1, #0xaf mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0223CF26 mov r0, #2 @@ -21778,7 +21778,7 @@ _0223CF26: ldr r0, [sp, #0x18] mov r1, #0x6f mov r2, #0 - bl GetMonData + bl Pokemon_GetData _0223CF30: cmp r0, #0 bne _0223CF42 @@ -21811,7 +21811,7 @@ _0223CF5C: ldr r0, [sp, #0x18] mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 mov r0, #0 str r0, [sp] @@ -22036,7 +22036,7 @@ _0223D148: add r0, r7, #0 mov r1, #8 lsr r2, r2, #0x10 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship pop {r3, r4, r5, r6, r7, pc} _0223D18E: add r0, r5, #0 @@ -22046,7 +22046,7 @@ _0223D18E: add r0, r7, #0 mov r1, #6 lsr r2, r2, #0x10 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship pop {r3, r4, r5, r6, r7, pc} _0223D1A4: add r0, r5, #0 @@ -22056,7 +22056,7 @@ _0223D1A4: add r0, r7, #0 mov r1, #6 lsr r2, r2, #0x10 - bl MonApplyFriendshipMod + bl Pokemon_UpdateFriendship _0223D1B8: pop {r3, r4, r5, r6, r7, pc} nop diff --git a/arm9/overlays/11/asm/ov11_0223D1DC.s b/arm9/overlays/11/asm/ov11_0223D1DC.s index e46bea518..58c0bb59a 100644 --- a/arm9/overlays/11/asm/ov11_0223D1DC.s +++ b/arm9/overlays/11/asm/ov11_0223D1DC.s @@ -9884,20 +9884,20 @@ _02241DFE: mov r1, #0xad mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02241E3E add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02241FCC ; =0x000001EE cmp r0, r1 beq _02241E3E add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02241E3E ldr r2, [sp, #8] @@ -9971,20 +9971,20 @@ _02241EB4: mov r1, #0xad mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02241EE6 add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02241FCC ; =0x000001EE cmp r0, r1 beq _02241EE6 add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r7, r0 _02241EE6: add r0, r6, #0 @@ -10176,20 +10176,20 @@ _02242056: mov r1, #0xad mov r2, #0 add r5, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02242088 add r0, r5, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242340 ; =0x000001EE cmp r0, r1 beq _02242088 add r0, r5, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r7, r0 _02242088: add r0, r6, #0 @@ -10256,20 +10256,20 @@ _022420FE: mov r1, #0xad mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02242130 add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242340 ; =0x000001EE cmp r0, r1 beq _02242130 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, r5, r0 _02242130: add r0, r7, #0 @@ -10291,19 +10291,19 @@ _0224214A: mov r1, #0xad mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0224217A add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, r7 beq _0224217A add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, r5, r0 _0224217A: ldr r0, [sp, #0x18] @@ -10360,20 +10360,20 @@ _022421DC: mov r1, #0xad mov r2, #0 add r5, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0224220E add r0, r5, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242340 ; =0x000001EE cmp r0, r1 beq _0224220E add r0, r5, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r7, r0 _0224220E: add r0, r6, #0 diff --git a/arm9/overlays/11/asm/ov11_02242B78.s b/arm9/overlays/11/asm/ov11_02242B78.s index 98028b957..d71c5f252 100644 --- a/arm9/overlays/11/asm/ov11_02242B78.s +++ b/arm9/overlays/11/asm/ov11_02242B78.s @@ -24,41 +24,41 @@ ov11_02242B78: ; 0x02242B78 mov r1, #5 mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x18] mov r2, #0 strh r0, [r1, r5] add r0, r4, #0 mov r1, #0xa4 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242F4C ; =0x00002D42 add r2, r7, r5 strh r0, [r2, r1] add r0, r4, #0 mov r1, #0xa5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242F50 ; =0x00002D44 add r2, r7, r5 strh r0, [r2, r1] add r0, r4, #0 mov r1, #0xa6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242F54 ; =0x00002D46 add r2, r7, r5 strh r0, [r2, r1] add r0, r4, #0 mov r1, #0xa7 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242F58 ; =0x00002D48 add r2, r7, r5 strh r0, [r2, r1] add r0, r4, #0 mov r1, #0xa8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r7, r5 ldr r2, _02242F5C ; =0x00002D4A str r1, [sp, #0xc] @@ -72,7 +72,7 @@ _02242C02: add r0, r4, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp, #0x14] ldr r1, _02242F60 ; =0x00002D4C strh r0, [r2, r1] @@ -80,7 +80,7 @@ _02242C02: add r0, r4, #0 add r1, #0x3a mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp, #0x10] ldr r1, _02242F64 ; =0x00002D6C strb r0, [r2, r1] @@ -88,7 +88,7 @@ _02242C02: add r0, r4, #0 add r1, #0x3e mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp, #0x10] ldr r1, _02242F68 ; =0x00002D70 add r6, r6, #1 @@ -107,7 +107,7 @@ _02242C02: add r0, r4, #0 mov r1, #0x46 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [r6, r5] mov r2, #0x1f bic r1, r2 @@ -118,7 +118,7 @@ _02242C02: add r0, r4, #0 mov r1, #0x47 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x1b ldr r2, [r6, r5] ldr r1, _02242F6C ; =0xFFFFFC1F @@ -129,7 +129,7 @@ _02242C02: add r0, r4, #0 mov r1, #0x48 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x1b ldr r2, [r6, r5] ldr r1, _02242F70 ; =0xFFFF83FF @@ -140,7 +140,7 @@ _02242C02: add r0, r4, #0 mov r1, #0x49 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x1b ldr r2, [r6, r5] ldr r1, _02242F74 ; =0xFFF07FFF @@ -151,7 +151,7 @@ _02242C02: add r0, r4, #0 mov r1, #0x4a mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x1b ldr r2, [r6, r5] ldr r1, _02242F78 ; =0xFE0FFFFF @@ -162,7 +162,7 @@ _02242C02: add r0, r4, #0 mov r1, #0x4b mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x1b ldr r2, [r6, r5] ldr r1, _02242F7C ; =0xC1FFFFFF @@ -173,7 +173,7 @@ _02242C02: add r0, r4, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [r6, r5] ldr r1, _02242F80 ; =0xBFFFFFFF lsl r0, r0, #0x1f @@ -184,7 +184,7 @@ _02242C02: add r0, r4, #0 mov r1, #0x4d mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [r6, r5] ldr r1, _02242F84 ; =0x7FFFFFFF lsl r0, r0, #0x1f @@ -258,14 +258,14 @@ _02242D2E: add r0, r4, #0 mov r1, #0xb0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FA0 ; =0x00002D64 add r2, r7, r5 strb r0, [r2, r1] add r0, r4, #0 mov r1, #0xb1 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FA4 ; =0x00002D65 add r2, r7, r5 strb r0, [r2, r1] @@ -273,7 +273,7 @@ _02242D2E: add r0, r7, r1 str r0, [sp, #0x1c] add r0, r4, #0 - bl GetMonGender + bl Pokemon_GetGender ldr r1, [sp, #0x1c] mov r2, #0xf ldrb r1, [r1, r5] @@ -286,7 +286,7 @@ _02242D2E: ldr r0, _02242FA8 ; =0x00002D66 add r6, r7, r0 add r0, r4, #0 - bl MonIsShiny + bl Pokemon_IsShiny ldrb r1, [r6, r5] mov r2, #0x20 lsl r0, r0, #0x1f @@ -297,7 +297,7 @@ _02242D2E: add r0, r4, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldrb r1, [r6, r5] mov r2, #0x1f lsl r0, r0, #0x18 @@ -330,14 +330,14 @@ _02242E24: add r0, r4, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FAC ; =0x00002D67 add r2, r7, r5 strb r0, [r2, r1] add r0, r4, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FB0 ; =0x00002DAC add r2, r7, r5 str r0, [r2, r1] @@ -348,7 +348,7 @@ _02242E24: add r0, r4, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r6, r5] _02242E58: ldr r0, [sp, #4] @@ -358,56 +358,56 @@ _02242E58: add r0, r4, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FB4 ; =0x00002D74 add r2, r7, r6 strb r0, [r2, r1] add r0, r4, #0 mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FB8 ; =0x00002D75 add r2, r7, r6 strb r0, [r2, r1] add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FBC ; =0x00002D8C add r2, r7, r6 str r0, [r2, r1] add r0, r4, #0 mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FC0 ; =0x00002D90 add r2, r7, r6 str r0, [r2, r1] add r0, r4, #0 mov r1, #8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FC4 ; =0x00002DA4 add r2, r7, r6 str r0, [r2, r1] mov r1, #0 add r0, r4, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FC8 ; =0x00002DA8 add r2, r7, r6 str r0, [r2, r1] add r0, r4, #0 mov r1, #7 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FCC ; =0x00002DB4 add r2, r7, r6 str r0, [r2, r1] add r0, r4, #0 mov r1, #0x9c mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x1c] lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -422,7 +422,7 @@ _02242E58: strb r1, [r0, r5] add r0, r4, #0 mov r1, #0x9a - bl GetMonData + bl Pokemon_GetData ldr r1, _02242FD0 ; =0x00002DBF add r2, r7, r6 strb r0, [r2, r1] @@ -448,13 +448,13 @@ _02242E58: add r2, r7, r2 mov r1, #0x74 add r2, r2, r6 - bl GetMonData + bl Pokemon_GetData ldr r2, _02242FDC ; =0x00002D94 add r0, r4, #0 add r2, r7, r2 mov r1, #0x8f add r2, r2, r6 - bl GetMonData + bl Pokemon_GetData ldr r0, _02242FE0 ; =0x00002DBC b _02242FE4 .align 2, 0 @@ -566,7 +566,7 @@ ov11_02243054: ; 0x02243054 mov r1, #0xa4 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -575,7 +575,7 @@ ov11_02243054: ; 0x02243054 add r0, r6, #0 mov r1, #0xa5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -584,7 +584,7 @@ ov11_02243054: ; 0x02243054 add r0, r6, #0 mov r1, #0xa6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -593,7 +593,7 @@ ov11_02243054: ; 0x02243054 add r0, r6, #0 mov r1, #0xa7 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -602,7 +602,7 @@ ov11_02243054: ; 0x02243054 add r0, r6, #0 mov r1, #0xa8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -611,7 +611,7 @@ ov11_02243054: ; 0x02243054 add r0, r6, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -620,7 +620,7 @@ ov11_02243054: ; 0x02243054 add r0, r6, #0 mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -629,7 +629,7 @@ ov11_02243054: ; 0x02243054 add r0, r6, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -638,7 +638,7 @@ ov11_02243054: ; 0x02243054 add r0, r6, #0 mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -676,21 +676,21 @@ _02243142: add r0, r6, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _022431CC ; =0x00002D4C mov r2, #0 strh r0, [r7, r1] add r1, r4, #0 add r0, r6, #0 add r1, #0x3a - bl GetMonData + bl Pokemon_GetData ldr r1, _022431D0 ; =0x00002D6C mov r2, #0 strb r0, [r5, r1] add r1, r4, #0 add r0, r6, #0 add r1, #0x3e - bl GetMonData + bl Pokemon_GetData ldr r1, _022431D4 ; =0x00002D70 strb r0, [r5, r1] _02243186: @@ -702,7 +702,7 @@ _02243186: add r0, r6, #0 mov r1, #8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r2, [sp] ldr r1, [sp, #4] add r2, r2, r1 @@ -5309,7 +5309,7 @@ _022453A4: bl Party_GetMonByIndex mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022453BA add r6, r6, #1 @@ -5366,7 +5366,7 @@ _02245418: bl Party_GetMonByIndex mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0224542E add r6, r6, #1 @@ -8796,19 +8796,19 @@ _02246E76: mov r1, #5 mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02246EB6 add r0, r4, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _02246EB6 add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02246EB6 ldr r0, [sp, #0xc] @@ -17101,7 +17101,7 @@ ov11_0224AD38: ; 0x0224AD38 add r0, r6, #0 mov r1, #0x9a mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 b _0224AD7A _0224AD76: @@ -17210,17 +17210,17 @@ ov11_0224AE14: ; 0x0224AE14 add r0, r5, #0 mov r1, #0x8f add r2, sp, #0 - bl GetMonData + bl Pokemon_GetData add r0, r5, #0 mov r1, #7 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r6, r0 bne _0224AE72 add r0, r5, #0 mov r1, #0x9c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r7, r0 bne _0224AE72 add r0, r4, #0 diff --git a/arm9/overlays/11/asm/ov11_0224CA64.s b/arm9/overlays/11/asm/ov11_0224CA64.s index 2866a49f2..2df18376f 100644 --- a/arm9/overlays/11/asm/ov11_0224CA64.s +++ b/arm9/overlays/11/asm/ov11_0224CA64.s @@ -629,13 +629,13 @@ _0224CEE2: add r0, r7, #0 add r1, #0x36 add r2, r5, #0 - bl SetMonData + bl Pokemon_SetData ldr r2, [sp, #8] add r1, r4, #0 add r0, r7, #0 add r1, #0x3a add r2, r2, r4 - bl SetMonData + bl Pokemon_SetData _0224CF0C: add r4, r4, #1 add r5, r5, #2 @@ -653,16 +653,16 @@ _0224CF14: add r0, r7, #0 mov r1, #6 add r2, #0xc - bl SetMonData + bl Pokemon_SetData _0224CF30: add r0, r7, #0 mov r1, #0xa2 add r2, r6, #2 - bl SetMonData + bl Pokemon_SetData add r0, r7, #0 mov r1, #0x9f add r2, r6, #4 - bl SetMonData + bl Pokemon_SetData mov r2, #0x65 ldr r1, [sp, #4] lsl r2, r2, #2 @@ -775,7 +775,7 @@ _0224D00A: _0224D024: mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData _0224D02C: ldrh r1, [r4, #2] cmp r1, #0xd7 @@ -787,7 +787,7 @@ _0224D038: add r0, r6, #0 mov r1, #0x9f add r2, sp, #8 - bl SetMonData + bl Pokemon_SetData _0224D042: ldr r0, [sp, #4] add r5, r5, #1 @@ -1317,13 +1317,13 @@ _0224D466: mov r1, #5 mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0224D4B4 add r0, r4, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0224D4B4 ldr r0, [sp] @@ -1334,7 +1334,7 @@ _0224D466: add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #8] add r0, r1, r0 str r0, [sp, #8] @@ -1343,7 +1343,7 @@ _0224D4A8: add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r7, r0 _0224D4B4: add r0, r6, #0 diff --git a/arm9/overlays/11/asm/ov11_0224D550.s b/arm9/overlays/11/asm/ov11_0224D550.s index b19331607..38a72a9ab 100644 --- a/arm9/overlays/11/asm/ov11_0224D550.s +++ b/arm9/overlays/11/asm/ov11_0224D550.s @@ -212,7 +212,7 @@ _0224D6D8: ldrb r0, [r6, r1] str r0, [r4, #0x1c] ldr r0, [r5, #4] - bl GetNatureFromPersonality + bl Personality_GetNature str r0, [r4, #0x24] ldrb r0, [r5, #1] add r1, r4, #0 @@ -363,7 +363,7 @@ _0224D774: add r0, #0x8c strb r1, [r0] ldr r0, [r5, #4] - bl GetNatureFromPersonality + bl Personality_GetNature add r1, r4, #0 add r1, #0x8d strb r0, [r1] @@ -520,7 +520,7 @@ _0224D8C4: add r0, #0x8c strb r1, [r0] ldr r0, [r4, #4] - bl GetNatureFromPersonality + bl Personality_GetNature add r1, r5, #0 add r1, #0x8d strb r0, [r1] @@ -7222,8 +7222,8 @@ ov11_02250F94: ; 0x02250F94 bl ov11_02243420 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - mov r1, #0x1a ; BASE_GREAT_MARSH_RATE - bl GetMonBaseStat + mov r1, #0x1a ; SPECIES_DATA_SAFARI_FLEE_RATE + bl Species_GetValue ldr r2, _0225100C ; =ov11_0225E830 lsl r1, r5, #1 ldrb r2, [r2, r1] @@ -8896,7 +8896,7 @@ _02251CEC: mov r1, #0xa2 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [r4, #8] mov r2, #0 ldr r1, [r1, #4] @@ -8905,7 +8905,7 @@ _02251CEC: str r0, [r5, #0x28] add r0, r6, #0 mov r1, #0xa3 - bl GetMonData + bl Pokemon_GetData str r0, [r5, #0x2c] ldr r0, [r4, #8] mov r1, #0x9f @@ -8914,7 +8914,7 @@ _02251CEC: ldrh r0, [r0, #0x20] str r0, [r5, #0x30] add r0, r6, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _02251D72 add r0, r5, #0 @@ -9035,7 +9035,7 @@ _02251E2E: bl ov11_02230014 mov r1, #0x9f add r2, r5, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _02251E6A ldr r0, [sp, #0x10] @@ -9435,7 +9435,7 @@ _02252196: str r0, [sp, #0x14] _022521A4: mov r0, #5 - bl AllocMonZeroed + bl Pokemon_New add r6, r0, #0 mov r5, #0 _022521AE: @@ -9827,7 +9827,7 @@ _022524D0: bl ov11_02230014 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022524F2 ldrb r0, [r7, #0xc] diff --git a/arm9/overlays/11/asm/ov11_02254710.s b/arm9/overlays/11/asm/ov11_02254710.s index 930ea36b7..b43e81878 100644 --- a/arm9/overlays/11/asm/ov11_02254710.s +++ b/arm9/overlays/11/asm/ov11_02254710.s @@ -1206,12 +1206,12 @@ ov11_02255034: ; 0x02255034 add r6, r0, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x10] add r0, r6, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] mov r0, #0xc add r2, sp, #0x14 @@ -1284,7 +1284,7 @@ _022550D0: _022550EA: ldr r0, [sp, #0x10] ldr r1, [sp, #0xc] - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel mov r1, #0xc0 mul r1, r4 add r2, r5, r1 @@ -1295,11 +1295,11 @@ _022550EA: str r0, [sp, #0x1c] ldr r0, [sp, #0x10] add r1, r1, #1 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel add r5, r0, #0 ldr r0, [sp, #0x10] ldr r1, [sp, #0xc] - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel sub r0, r5, r0 str r0, [sp, #0x20] ldrh r1, [r7, r6] @@ -1447,7 +1447,7 @@ _0225523A: mov r1, #0xad mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02255298 ldr r1, _02255500 ; =0x000001EE @@ -1456,13 +1456,13 @@ _0225523A: add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02255280 add r0, r4, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0225527A mov r0, #3 @@ -1483,7 +1483,7 @@ _02255284: b _02255294 _0225528E: add r0, r4, #0 - bl GetPercentProgressTowardsNextLevel + bl Pokemon_CalcPercentToNextLevel _02255294: strb r0, [r5, #2] add r5, r5, #1 @@ -1548,7 +1548,7 @@ _02255304: mov r1, #0xad mov r2, #0 add r7, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02255350 ldr r1, _02255500 ; =0x000001EE @@ -1557,13 +1557,13 @@ _02255304: add r0, r7, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0225534A add r0, r7, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02255344 mov r0, #3 @@ -1624,7 +1624,7 @@ _022553A0: mov r1, #0xad mov r2, #0 add r7, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022553EC ldr r1, _02255500 ; =0x000001EE @@ -1633,13 +1633,13 @@ _022553A0: add r0, r7, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022553E6 add r0, r7, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022553E0 mov r0, #3 @@ -1690,7 +1690,7 @@ _02255428: mov r1, #0xad mov r2, #0 add r7, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02255474 ldr r1, _02255500 ; =0x000001EE @@ -1699,13 +1699,13 @@ _02255428: add r0, r7, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0225546E add r0, r7, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02255468 mov r0, #3 @@ -2536,12 +2536,12 @@ ov11_02255A8C: ; 0x02255A8C add r4, r0, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r4, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0 mov r0, #0x18 add r2, sp, #0xc @@ -2592,7 +2592,7 @@ _02255B04: _02255B12: add r0, r7, #0 add r1, r6, #0 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel ldr r1, _02255B64 ; =0x00002DA4 add r2, r5, r4 ldr r1, [r2, r1] @@ -2600,11 +2600,11 @@ _02255B12: str r0, [sp, #0x18] add r0, r7, #0 add r1, r6, #1 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel add r4, r0, #0 add r0, r7, #0 add r1, r6, #0 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel sub r0, r4, r0 str r0, [sp, #0x1c] mov r0, #0x14 @@ -2640,12 +2640,12 @@ ov11_02255B68: ; 0x02255B68 add r6, r0, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r6, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0 mov r1, #0x19 add r0, sp, #0xc @@ -2654,7 +2654,7 @@ ov11_02255B68: ; 0x02255B68 add r1, r6, #0 str r0, [sp, #0x10] add r0, r7, #0 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel mov r1, #0xc0 mul r1, r4 add r2, r5, r1 @@ -2664,11 +2664,11 @@ ov11_02255B68: ; 0x02255B68 str r0, [sp, #0x14] add r0, r7, #0 add r1, r6, #1 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel add r5, r0, #0 add r0, r7, #0 add r1, r6, #0 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel sub r0, r5, r0 str r0, [sp, #0x18] mov r0, #0x10 @@ -3265,12 +3265,12 @@ ov11_02256020: ; 0x02256020 add r6, r0, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] add r0, r6, #0 mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] mov r0, #0x26 add r2, sp, #0x10 @@ -3343,7 +3343,7 @@ _022560BA: _022560D4: ldr r0, [sp, #0xc] ldr r1, [sp, #8] - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel mov r1, #0xc0 mul r1, r4 add r2, r5, r1 @@ -3354,11 +3354,11 @@ _022560D4: str r0, [sp, #0x18] ldr r0, [sp, #0xc] add r1, r1, #1 - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel add r5, r0, #0 ldr r0, [sp, #0xc] ldr r1, [sp, #8] - bl GetMonExpBySpeciesAndLevel + bl Species_GetExpAtLevel sub r0, r5, r0 str r0, [sp, #0x1c] ldrh r1, [r7, r6] @@ -4630,7 +4630,7 @@ _02256A80: mov r1, #0xad mov r2, #0 str r0, [sp, #0x14] - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256AD2 ldr r1, _02256C04 ; =0x000001EE @@ -4639,13 +4639,13 @@ _02256A80: ldr r0, [sp, #0x14] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256ACA ldr r0, [sp, #0x14] mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256AC2 add r1, r5, r4 @@ -4695,7 +4695,7 @@ _02256B02: mov r1, #0xad mov r2, #0 str r0, [sp, #0x18] - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256B54 ldr r1, _02256C04 ; =0x000001EE @@ -4704,13 +4704,13 @@ _02256B02: ldr r0, [sp, #0x18] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256B4C ldr r0, [sp, #0x18] mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256B44 add r1, r5, r4 @@ -4771,7 +4771,7 @@ _02256B9A: mov r1, #0xad mov r2, #0 str r0, [sp, #0x1c] - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256BEC ldr r1, _02256C04 ; =0x000001EE @@ -4780,13 +4780,13 @@ _02256B9A: ldr r0, [sp, #0x1c] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256BE4 ldr r0, [sp, #0x1c] mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02256BDC add r1, r5, r4 diff --git a/arm9/overlays/12/asm/overlay_12.s b/arm9/overlays/12/asm/overlay_12.s index 50a148498..5c0fde0f6 100644 --- a/arm9/overlays/12/asm/overlay_12.s +++ b/arm9/overlays/12/asm/overlay_12.s @@ -217,7 +217,7 @@ _0222D7BC: ldr r0, [r1, r0] add r1, r6, #0 add r1, #0x36 - bl GetMonData + bl Pokemon_GetData strh r0, [r5] add r6, r6, #1 add r5, r5, #2 @@ -975,7 +975,7 @@ _0222DE9E: ldr r0, [r1, r0] add r1, r4, #0 add r1, #0x36 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222DEBE mov r1, #0xb @@ -5972,7 +5972,7 @@ _0223072E: mov r1, #5 ldr r0, [r0, r6] mov r2, #0 - bl GetMonData + bl Pokemon_GetData bl ov12_0223EE70 add r1, r5, r4 add r4, r4, #1 @@ -7750,7 +7750,7 @@ _0223151C: ldr r0, [r4] mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r6, #0x64 add r5, r0, #0 add r0, r6, #0 @@ -7777,17 +7777,17 @@ _0223154E: ldr r0, [r4] mov r1, #0x13 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] ldr r0, [r4] mov r1, #0x17 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] ldr r0, [r4] mov r1, #0x14 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r6, #0 add r0, #0xa0 @@ -7812,17 +7812,17 @@ _02231594: ldr r0, [r4] mov r1, #0x14 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] ldr r0, [r4] mov r1, #0x13 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] ldr r0, [r4] mov r1, #0x15 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r6, #0 add r0, #0xa0 @@ -7847,17 +7847,17 @@ _022315DA: ldr r0, [r4] mov r1, #0x15 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] ldr r0, [r4] mov r1, #0x14 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] ldr r0, [r4] mov r1, #0x16 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r6, #0 add r0, #0xa1 @@ -7882,17 +7882,17 @@ _02231620: ldr r0, [r4] mov r1, #0x16 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] ldr r0, [r4] mov r1, #0x15 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] ldr r0, [r4] mov r1, #0x17 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r6, #0 add r0, #0xa2 @@ -7917,17 +7917,17 @@ _02231666: ldr r0, [r4] mov r1, #0x17 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] ldr r0, [r4] mov r1, #0x16 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] ldr r0, [r4] mov r1, #0x13 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r6, #0 add r0, #0xa0 @@ -7954,7 +7954,7 @@ _022316B2: ldr r0, [r4] mov r1, #0x18 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #8] add r1, r1, r7 add r1, r0, r1 @@ -8951,7 +8951,7 @@ _02231E5E: ldr r0, [r0, r1] add r1, r4, #0 add r1, #0x36 - bl GetMonData + bl Pokemon_GetData lsl r1, r4, #1 add r2, sp, #0x3c strh r0, [r2, r1] @@ -9369,7 +9369,7 @@ _022321A6: ldr r0, [r1, r0] add r1, r5, #0 add r1, #0x36 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022321C8 ldr r0, _0223220C ; =0x000002E1 @@ -10201,7 +10201,7 @@ _022327EC: ldr r0, [r0, r1] add r1, r6, #0 add r1, #0x36 - bl GetMonData + bl Pokemon_GetData strh r0, [r5] add r6, r6, #1 add r5, r5, #2 @@ -11076,7 +11076,7 @@ _02232EB2: ldr r0, [r0, r1] add r1, r4, #0 add r1, #0x36 - bl GetMonData + bl Pokemon_GetData lsl r2, r4, #1 add r1, sp, #0x10 strh r0, [r1, r2] @@ -12221,7 +12221,7 @@ _022336D4: mov r1, #5 ldr r0, [r0, r4] mov r2, #0 - bl GetMonData + bl Pokemon_GetData bl ov08_0222A6C8 cmp r0, #1 bne _02233750 @@ -12296,7 +12296,7 @@ _0223377C: ldr r0, [r0] mov r2, #0 ldr r0, [r0, r4] - bl GetMonData + bl Pokemon_GetData bl ov08_0222A6C8 cmp r0, #1 bne _022337E6 @@ -15395,7 +15395,7 @@ ov12_02235038: ; 0x02235038 ldr r0, [r1, r0] ldr r2, [sp, #0x30] mov r1, #0x76 - bl GetMonData + bl Pokemon_GetData ldr r1, [r5] ldr r0, _022350E8 ; =0x00000123 ldrb r0, [r1, r0] @@ -16862,12 +16862,12 @@ _02235B9C: ldr r0, [r6, r5] mov r1, #0xb0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 ldr r0, [r6, r5] mov r1, #0xb1 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r7, #7 beq _02235BBC cmp r0, #7 @@ -18438,7 +18438,7 @@ _02236736: lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #5 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0 ldr r0, [r4] mov r2, #0 @@ -18447,14 +18447,14 @@ _02236736: lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #0x6f - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 ldr r0, [r4] ldr r1, [r0, #0xc] ldrb r0, [r4, #0xd] lsl r0, r0, #2 ldr r0, [r1, r0] - bl MonIsShiny + bl Pokemon_IsShiny str r0, [sp, #0x20] ldr r0, [r4] mov r2, #0 @@ -18463,7 +18463,7 @@ _02236736: lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #0x70 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x1c] ldr r0, [r4] ldr r1, [r0, #0xc] @@ -18472,7 +18472,7 @@ _02236736: ldr r0, [r1, r0] mov r1, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] ldr r0, [r4] lsl r5, r5, #2 @@ -18480,33 +18480,33 @@ _02236736: mov r1, #5 ldr r0, [r0, r5] mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x18] ldr r0, [r4] mov r1, #0x6f ldr r0, [r0, #0xc] mov r2, #0 ldr r0, [r0, r5] - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x14] ldr r0, [r4] ldr r0, [r0, #0xc] ldr r0, [r0, r5] - bl MonIsShiny + bl Pokemon_IsShiny str r0, [sp, #0x10] ldr r0, [r4] mov r1, #0x70 ldr r0, [r0, #0xc] mov r2, #0 ldr r0, [r0, r5] - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xc] ldr r0, [r4] mov r1, #0 ldr r0, [r0, #0xc] add r2, r1, #0 ldr r0, [r0, r5] - bl GetMonData + bl Pokemon_GetData str r0, [sp, #4] mov r2, #0x47 mov r0, #0 @@ -19010,7 +19010,7 @@ _02236BD0: lsl r0, r0, #2 ldr r0, [r2, r0] mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x10] ldr r0, _02236CF0 ; =0x000005DD bl PlaySE @@ -23971,7 +23971,7 @@ _02239080: ldr r0, [r0, r1] add r1, r4, #0 add r1, #0x36 - bl GetMonData + bl Pokemon_GetData strh r0, [r5] mov r0, #0x23 lsl r0, r0, #4 @@ -27801,7 +27801,7 @@ _0223AC68: lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #5 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 mov r0, #0x7f str r0, [sp] @@ -43888,7 +43888,7 @@ _022428E6: str r0, [sp, #0x10] ldr r0, [r1, r0] mov r1, #0x76 - bl GetMonData + bl Pokemon_GetData add r0, r5, #1 lsl r0, r0, #4 str r0, [sp, #0x14] @@ -47346,7 +47346,7 @@ _022443A4: lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #5 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 mov r0, #0x7f str r0, [sp] diff --git a/arm9/overlays/14/asm/overlay_14.s b/arm9/overlays/14/asm/overlay_14.s index 2382b6f56..85721bc7d 100644 --- a/arm9/overlays/14/asm/overlay_14.s +++ b/arm9/overlays/14/asm/overlay_14.s @@ -3868,7 +3868,7 @@ _021D9488: bl PCStorage_GetMonByIndexPair mov r1, #0xab mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021D94AE mov r0, #0 @@ -4718,13 +4718,13 @@ _021D9B9E: add r0, r4, #0 mov r1, #0xac mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _021D9BD2 add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021D9BD2 add r5, r5, #1 @@ -5301,7 +5301,7 @@ _021DA042: mov r1, #0xab mov r2, #0 add r7, r0, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021DA080 ldr r4, _021DA164 ; =ov14_021E6224 @@ -5460,7 +5460,7 @@ ov14_021DA168: ; 0x021DA168 add r0, r5, #0 mov r1, #0xac mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 bne _021DA1A8 mov r4, #0 @@ -5470,7 +5470,7 @@ _021DA18C: add r0, r5, #0 add r1, #0x36 add r2, r7, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r6, r0 bne _021DA1A2 mov r0, #1 @@ -8518,7 +8518,7 @@ _021DB998: beq _021DB9C4 mov r1, #0xab mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021DB9C4 mov r0, #1 @@ -8739,7 +8739,7 @@ _021DBB36: mov r1, #0xab mov r2, #0 str r0, [sp, #0x20] - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021DBB86 ldr r0, [sp, #0x20] @@ -9122,7 +9122,7 @@ ov14_021DBE34: ; 0x021DBE34 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x14] - bl ZeroBoxMonData + bl BoxPokemon_Init mov r0, #1 strb r0, [r4, #0x13] add r0, r4, #0 @@ -9195,12 +9195,12 @@ ov14_021DBEAC: ; 0x021DBEAC add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r4, #4] add r0, r5, #0 mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r4, #6] mov r0, #0x47 lsl r0, r0, #2 @@ -9212,35 +9212,35 @@ ov14_021DBEAC: ; 0x021DBEAC add r0, r5, #0 mov r1, #0xac mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r4, #0xf] ldrh r0, [r4, #4] mov r1, #9 - bl AllocAndLoadMonPersonal + bl SpeciesData_NewFromSpecies add r7, r0, #0 add r0, r5, #0 mov r1, #8 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r2, r0, #0 ldrh r1, [r4, #4] add r0, r7, #0 - bl CalcLevelBySpeciesAndExp_PreloadedPersonal + bl SpeciesData_CalcLevelByExp strb r0, [r4, #0xa] add r0, r5, #0 mov r1, #0xb mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r4, #0xb] add r0, r5, #0 mov r1, #0xb0 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r4, #0xc] add r0, r5, #0 mov r1, #0xb1 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strb r0, [r4, #0xd] ldrb r0, [r4, #0xf] cmp r0, #0 @@ -9248,17 +9248,17 @@ ov14_021DBEAC: ; 0x021DBEAC add r0, r5, #0 mov r1, #0xaf mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021DBF68 mov r1, #0 add r0, r5, #0 add r2, r1, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r2, r0, #0 ldrh r1, [r4, #4] add r0, r7, #0 - bl GetGenderBySpeciesAndPersonality_PreloadedPersonal + bl SpeciesData_GetGenderFromPersonality strb r0, [r4, #0xe] b _021DBF6C _021DBF68: @@ -9268,7 +9268,7 @@ _021DBF6C: ldr r2, [r4, #0x14] add r0, r5, #0 mov r1, #0x76 - bl GetBoxMonData + bl BoxPokemon_GetData ldrb r0, [r4, #0xf] cmp r0, #0 bne _021DBF8C @@ -9302,7 +9302,7 @@ _021DBFAA: bl ReadMsgDataIntoString _021DBFB8: add r0, r5, #0 - bl GetBoxMonNature + bl BoxPokemon_GetNature add r1, r0, #0 mov r0, #0x65 lsl r0, r0, #2 @@ -9312,7 +9312,7 @@ _021DBFB8: add r0, r5, #0 mov r1, #0xa mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r1, r0, #0 mov r0, #0x66 lsl r0, r0, #2 @@ -9320,7 +9320,7 @@ _021DBFB8: ldr r2, [r4, #0x24] bl ReadMsgDataIntoString add r0, r7, #0 - bl FreeMonPersonal + bl SpeciesData_Free ldr r1, [sp] add r0, r5, #0 bl ReleaseBoxMonLock @@ -9378,112 +9378,112 @@ _021DC034: ldr r0, [r5, r0] mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0xa] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0xa4 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0xc] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0xa5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0xe] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0xa7 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x10] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0xa8 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x12] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0xa6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x14] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x13 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x16] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x14 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x18] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x15 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x1a] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x16 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x1c] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x17 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x1e] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x20] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x37 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x22] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x38 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x24] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x39 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x26] mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r4, #7] mov r0, #0x1a lsl r0, r0, #4 @@ -9557,7 +9557,7 @@ ov14_021DC1AC: ; 0x021DC1AC ldr r0, [r4, #0x4c] mov r1, #0xb add r2, sp, #0 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0 bl ov14_021DC3CC cmp r0, #0 @@ -9623,12 +9623,12 @@ _021DC24A: ldr r0, [r4] mov r1, #6 add r2, sp, #0x1c - bl SetBoxMonData + bl BoxPokemon_SetData _021DC254: ldr r0, [r4] mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData ldr r1, _021DC274 ; =0x000001ED cmp r0, r1 bne _021DC26A @@ -10215,7 +10215,7 @@ ov14_021DC58C: ; 0x021DC58C ldr r0, [r5, #0x4c] add r1, r4, #0 add r2, r6, #0 - bl GetBoxMonData + bl BoxPokemon_GetData pop {r4, r5, r6, pc} _021DC5B2: ldrb r0, [r5, #0x1f] @@ -10224,13 +10224,13 @@ _021DC5B2: ldr r0, [r5, #0x4c] add r1, r4, #0 add r2, r6, #0 - bl GetBoxMonData + bl BoxPokemon_GetData pop {r4, r5, r6, pc} _021DC5C4: ldr r0, [r5, #0x4c] add r1, r4, #0 add r2, r6, #0 - bl GetMonData + bl Pokemon_GetData pop {r4, r5, r6, pc} thumb_func_start ov14_021DC5D0 @@ -10245,13 +10245,13 @@ ov14_021DC5D0: ; 0x021DC5D0 ldr r0, [r5, #0x4c] add r1, r4, #0 add r2, r6, #0 - bl GetBoxMonData + bl BoxPokemon_GetData pop {r4, r5, r6, pc} _021DC5EC: ldr r0, [r5, #8] add r1, r4, #0 add r2, r6, #0 - bl GetMonData + bl Pokemon_GetData pop {r4, r5, r6, pc} thumb_func_start ov14_021DC5F8 @@ -14333,7 +14333,7 @@ _021DE5FE: mov r1, #0xab mov r2, #0 str r0, [sp, #0x34] - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021DE64E add r0, r4, #0 @@ -14434,7 +14434,7 @@ _021DE6D0: mov r1, #5 mov r2, #0 add r7, r0, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021DE70A ldr r1, _021DE724 ; =0x00005814 @@ -14908,7 +14908,7 @@ _021DEA70: mov r1, #0xab mov r2, #0 str r0, [sp, #0x20] - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021DEB02 ldrb r1, [r5, #2] @@ -15025,7 +15025,7 @@ _021DEB5C: mov r1, #5 mov r2, #0 str r0, [sp, #0x2c] - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _021DEBA0 add r0, r4, #0 @@ -18877,21 +18877,21 @@ ov14_021E0940: ; 0x021E0940 add r0, r6, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x18] add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x14] add r0, r6, #0 mov r1, #0x70 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r6, #0 @@ -18905,12 +18905,12 @@ ov14_021E0940: ; 0x021E0940 add r0, r6, #0 mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r4, #0x30] add r0, r6, #0 mov r1, #0xb mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r4, #0x2e] add r0, r4, #4 bl NNS_G2dInitImageProxy @@ -18992,14 +18992,14 @@ ov14_021E0A60: ; 0x021E0A60 add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] add r0, r6, #0 mov r1, #0x70 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] @@ -19023,12 +19023,12 @@ ov14_021E0A60: ; 0x021E0A60 add r0, r6, #0 mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r4, #0x30] add r0, r6, #0 mov r1, #0xb mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r4, #0x2e] add r0, r4, #4 bl NNS_G2dInitImageProxy @@ -21826,24 +21826,24 @@ _021E204A: add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r7, r0, #0 beq _021E20C8 add r0, r5, #0 mov r1, #0x4c mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 bne _021E209A add r0, r5, #0 mov r1, #0x70 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 add r0, r7, #0 - mov r2, #0x1b ; BASE_COLOR - bl GetMonBaseStat_HandleFormConversion + mov r2, #0x1b ; SPECIES_DATA_BODY_COLOR + bl Species_GetFormValue lsl r0, r0, #0x18 lsr r1, r0, #0x18 b _021E20AA diff --git a/arm9/overlays/16/asm/overlay_16.s b/arm9/overlays/16/asm/overlay_16.s index 9b58c9dbf..dcdd1a619 100644 --- a/arm9/overlays/16/asm/overlay_16.s +++ b/arm9/overlays/16/asm/overlay_16.s @@ -2392,7 +2392,7 @@ _021D873A: lsl r0, r5, #0x10 lsr r0, r0, #0x10 mov r1, #0 - bl GetGenderBySpeciesAndPersonality + bl Species_GetGenderFromPersonality add r4, r0, #0 _021D874E: ldr r0, [sp, #0x40] @@ -30398,13 +30398,13 @@ ov16_021E5554: ; 0x021E5554 str r0, [sp, #0x30] ldr r1, [sp, #0x30] add r0, r7, #0 - mov r2, #6 ; BASE_TYPE1 - bl GetMonBaseStat_HandleFormConversion + mov r2, #6 ; SPECIES_DATA_TYPE_1 + bl Species_GetFormValue add r6, r0, #0 ldr r1, [sp, #0x30] add r0, r7, #0 - mov r2, #7 ; BASE_TYPE2 - bl GetMonBaseStat_HandleFormConversion + mov r2, #7 ; SPECIES_DATA_TYPE_2 + bl Species_GetFormValue add r7, r0, #0 add r0, r6, #0 bl ov16_021E563C @@ -32777,9 +32777,9 @@ _021E66EC: ov16_021E66F4: ; 0x021E66F4 push {r3, r4, r5, lr} add r4, r1, #0 - mov r1, #0x12 ; BASE_GENDER_RATIO + mov r1, #0x12 ; SPECIES_DATA_GENDER_RATIO add r5, r0, #0 - bl GetMonBaseStat + bl Species_GetValue cmp r0, #0 bne _021E6708 mov r0, #1 @@ -51063,7 +51063,7 @@ ov16_021EEFA4: ; 0x021EEFA4 ldr r0, [r4, #0x10] mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x6f lsl r1, r1, #2 str r0, [r5, r1] @@ -51966,14 +51966,14 @@ ov16_021EF6E0: ; 0x021EF6E0 add r5, r0, #0 add r7, r1, #0 ldr r0, [sp, #0x60] - mov r1, #6 ; BASE_TYPE1 + mov r1, #6 ; SPECIES_DATA_TYPE_1 str r2, [sp] str r3, [sp, #4] - bl GetMonBaseStat + bl Species_GetValue add r4, r0, #0 ldr r0, [sp, #0x60] - mov r1, #7 ; BASE_TYPE2 - bl GetMonBaseStat + mov r1, #7 ; SPECIES_DATA_TYPE_2 + bl Species_GetValue add r6, r0, #0 add r0, r4, #0 bl ov16_021E563C @@ -55048,19 +55048,19 @@ _021F0E68: beq _021F0EB6 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F0EB6 add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F0EB6 add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F0ECC ; =0x000001EE cmp r0, r1 beq _021F0EB6 @@ -55189,12 +55189,12 @@ _021F0F88: sub r3, #0x80 add r7, r5, r3 ldrh r0, [r7, r6] - mov r1, #0x18 ; BASE_ABILITY_1 - bl GetMonBaseStat + mov r1, #0x18 ; SPECIES_DATA_ABILITY_1 + bl Species_GetValue add r4, r0, #0 ldrh r0, [r7, r6] - mov r1, #0x19 ; BASE_ABILITY_2 - bl GetMonBaseStat + mov r1, #0x19 ; SPECIES_DATA_ABILITY_2 + bl Species_GetValue add r6, r0, #0 cmp r4, #0 beq _021F0FC2 @@ -55300,13 +55300,13 @@ _021F1046: mul r1, r0 ldrh r0, [r6, r1] str r1, [sp] - mov r1, #0x18 ; BASE_ABILITY_1 - bl GetMonBaseStat + mov r1, #0x18 ; SPECIES_DATA_ABILITY_1 + bl Species_GetValue add r4, r0, #0 ldr r0, [sp] - mov r1, #0x19 ; BASE_ABILITY_2 + mov r1, #0x19 ; SPECIES_DATA_ABILITY_2 ldrh r0, [r6, r0] - bl GetMonBaseStat + bl Species_GetValue cmp r4, #0 beq _021F108C cmp r0, #0 @@ -55598,26 +55598,26 @@ _021F128E: beq _021F12EA mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F12EA add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F12EA add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F1300 ; =0x000001EE cmp r0, r1 beq _021F12EA add r0, r4, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x10] tst r0, r1 beq _021F12EA @@ -55713,26 +55713,26 @@ _021F1382: beq _021F13DE mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F13DE add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F13DE add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F13F4 ; =0x000001EE cmp r0, r1 beq _021F13DE add r0, r4, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x10] tst r0, r1 bne _021F13DE @@ -57095,12 +57095,12 @@ _021F1E2C: beq _021F1E66 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 ldr r0, [sp, #0xc] mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r7, r0 beq _021F1E66 ldr r0, [sp] @@ -57169,13 +57169,13 @@ _021F1ED6: add r0, r5, #0 add r1, #0x3a mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 add r6, r0, #0 add r0, r5, #0 add r1, #0x42 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r6, r0 beq _021F1EFE ldr r0, [sp, #4] @@ -57575,19 +57575,19 @@ _021F21D8: mov r1, #0xa2 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F22A0 add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F22A0 add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F22C0 ; =0x000001EE cmp r0, r1 beq _021F22A0 @@ -57599,7 +57599,7 @@ _021F221E: add r0, r6, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5] add r4, r4, #1 add r5, r5, #2 @@ -57612,7 +57612,7 @@ _021F2238: add r0, r6, #0 add r1, #0x46 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r4] add r5, r5, #1 add r4, r4, #1 @@ -57621,12 +57621,12 @@ _021F2238: add r0, r6, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0 add r0, r6, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, sp, #0x44 str r1, [sp] lsl r1, r4, #0x10 @@ -60085,7 +60085,7 @@ _021F3486: add r0, r4, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r0, #0 lsl r1, r1, #0x10 add r0, r6, #0 @@ -60098,7 +60098,7 @@ _021F34A2: add r0, r4, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r0, #0 lsl r1, r1, #0x10 add r0, r6, #0 @@ -60186,32 +60186,32 @@ _021F3530: add r0, r4, #0 mov r1, #0x4b mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, r0, #0 add r0, r4, #0 mov r1, #0x4a mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0 add r0, r4, #0 mov r1, #0x49 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r4, #0 mov r1, #0x48 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #4] add r0, r4, #0 mov r1, #0x46 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #8] add r0, r4, #0 mov r1, #0x47 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r0, #0 lsl r2, r6, #0x1f lsl r0, r5, #0x1f @@ -60418,19 +60418,19 @@ _021F36EC: mov r1, #0xa2 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F37DE add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F37DE add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F3804 ; =0x000001EE cmp r0, r1 beq _021F37DE @@ -60446,7 +60446,7 @@ _021F3730: add r0, r6, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x1c] @@ -60464,7 +60464,7 @@ _021F3730: add r0, r6, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x30] add r0, r5, #0 add r1, r4, #0 @@ -60720,19 +60720,19 @@ _021F3956: mov r1, #0xa2 mov r2, #0 str r0, [sp, #0x50] - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F39BC ldr r0, [sp, #0x50] mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F39BC ldr r0, [sp, #0x50] mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F3B84 ; =0x000001EE cmp r0, r1 beq _021F39BC @@ -60770,7 +60770,7 @@ _021F39C2: ldr r0, [sp, #0x50] add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r7, r0, #0x10 ldr r0, [sp, #0x14] @@ -60800,7 +60800,7 @@ _021F39F2: ldr r0, [sp, #0x50] mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x70] add r0, r5, #0 add r1, r6, #0 @@ -60864,7 +60864,7 @@ _021F3A7E: ldr r0, [sp, #0x50] mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x80] add r0, r5, #0 add r1, r4, #0 @@ -60954,19 +60954,19 @@ _021F3B3C: mov r1, #0xa2 mov r2, #0 str r0, [sp, #0x20] - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F3BBE ldr r0, [sp, #0x20] mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F3BBE ldr r0, [sp, #0x20] mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F3B84 ; =0x000001EE cmp r0, r1 beq _021F3BBE @@ -61013,7 +61013,7 @@ _021F3BC4: ldr r0, [sp, #0x20] add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r7, r0, #0x10 ldr r0, [sp, #0x14] @@ -61043,7 +61043,7 @@ _021F3BF4: ldr r0, [sp, #0x20] mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x90] add r0, r5, #0 add r1, r6, #0 @@ -61109,7 +61109,7 @@ _021F3C82: ldr r0, [sp, #0x20] mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0xa0] add r0, r5, #0 add r1, r4, #0 @@ -61475,19 +61475,19 @@ _021F3F62: mov r1, #0xa2 mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F3FE6 add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F3FE6 add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F3FFC ; =0x000001EE cmp r0, r1 beq _021F3FE6 @@ -61510,7 +61510,7 @@ _021F3F62: add r0, r4, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, [sp, #0x10] @@ -61628,19 +61628,19 @@ _021F4094: mov r1, #0xa2 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F40FA add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F40FA add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F4254 ; =0x000001EE cmp r0, r1 beq _021F40FA @@ -61689,12 +61689,12 @@ _021F40FC: add r0, r6, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x40] add r0, r6, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r0, #0 lsl r1, r1, #0x10 add r0, r5, #0 @@ -61705,12 +61705,12 @@ _021F40FC: add r0, r6, #0 mov r1, #0xb0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r6, #0 mov r1, #0xb1 mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [sp, #0x40] ldr r2, [sp, #0x38] str r1, [sp] @@ -61735,7 +61735,7 @@ _021F4182: add r0, r6, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x20] @@ -61753,7 +61753,7 @@ _021F4182: add r0, r6, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F425C ; =0x0000306C str r0, [sp, #0x4c] ldrh r1, [r4, r1] @@ -62100,19 +62100,19 @@ _021F445C: mov r1, #0xa2 mov r2, #0 add r4, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F44BA add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F44BA add r0, r4, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F4598 ; =0x000001EE cmp r0, r1 beq _021F44BA @@ -62328,7 +62328,7 @@ _021F462E: bl ov11_02230014 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F4664 ldr r0, _021F4694 ; =0x0000219C @@ -62440,7 +62440,7 @@ _021F4704: mov r1, #0xad mov r2, #0 str r0, [sp, #0x68] - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 beq _021F47E0 @@ -62450,7 +62450,7 @@ _021F4704: ldr r0, [sp, #0x68] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F47E0 add r0, r4, #0 @@ -62497,14 +62497,14 @@ _021F4704: ldr r0, [sp, #0x68] mov r1, #0xb0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x58] ldr r0, [sp, #0x68] mov r1, #0xb1 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x54] @@ -62562,7 +62562,7 @@ _021F480E: add r0, r4, #0 add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x3c] @@ -62580,7 +62580,7 @@ _021F480E: add r0, r4, #0 mov r1, #0xa mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x70] add r0, r5, #0 add r1, r6, #0 @@ -62668,7 +62668,7 @@ _021F48E0: mov r1, #0xad mov r2, #0 str r0, [sp, #0x1c] - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 beq _021F4900 @@ -62681,7 +62681,7 @@ _021F4902: ldr r0, [sp, #0x1c] mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F4A06 ldr r0, _021F4A20 ; =0x0000219C @@ -62723,7 +62723,7 @@ _021F4954: ldr r0, [sp, #0x1c] add r1, #0x36 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x8c] @@ -62896,19 +62896,19 @@ _021F4AA8: mov r1, #0xa2 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F4AE6 add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021F4AE6 add r0, r6, #0 mov r1, #0xad mov r2, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, _021F4D70 ; =0x000001EE cmp r0, r1 beq _021F4AE6 diff --git a/arm9/overlays/17/asm/overlay_17.s b/arm9/overlays/17/asm/overlay_17.s index a2ba7b2e1..c1da2f700 100644 --- a/arm9/overlays/17/asm/overlay_17.s +++ b/arm9/overlays/17/asm/overlay_17.s @@ -8856,7 +8856,7 @@ ov17_021DB700: ; 0x021DB700 add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r0, r6, #0 add r1, r4, #0 mov r2, #2 @@ -13208,7 +13208,7 @@ ov17_021DD6DC: ; 0x021DD6DC lsl r0, r0, #2 str r1, [r4, r0] ldr r0, [r5, #0x68] - bl AllocMonZeroed + bl Pokemon_New mov r1, #0x8a lsl r1, r1, #2 str r0, [r4, r1] @@ -13278,7 +13278,7 @@ ov17_021DD778: ; 0x021DD778 lsl r0, r0, #2 str r1, [r4, r0] ldr r0, [r5, #0x68] - bl AllocMonZeroed + bl Pokemon_New mov r1, #0x8a lsl r1, r1, #2 str r0, [r4, r1] @@ -14501,7 +14501,7 @@ ov17_021DE0F4: ; 0x021DE0F4 add r3, r6, #0 bl BufferString mov r0, #0xd - bl AllocMonZeroed + bl Pokemon_New add r6, r0, #0 ldr r0, [r5, #4] add r1, r6, #0 diff --git a/arm9/overlays/27/asm/overlay_27.s b/arm9/overlays/27/asm/overlay_27.s index c99b57e2f..a7438033d 100644 --- a/arm9/overlays/27/asm/overlay_27.s +++ b/arm9/overlays/27/asm/overlay_27.s @@ -301,27 +301,27 @@ _02254A62: add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #8] add r0, r4, #0 mov r1, #0xa2 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0xa] add r0, r4, #0 mov r1, #0xa3 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0xc] add r0, r4, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0xe] add r0, r4, #0 mov r1, #0x9f mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02254ABC mov r0, #1 @@ -333,12 +333,12 @@ _02254ABE: add r0, r4, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r5, #0x12] add r0, r4, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r5, #0x13] add r0, r4, #0 add r1, r7, #0 diff --git a/arm9/overlays/28/asm/overlay_28.s b/arm9/overlays/28/asm/overlay_28.s index 42de736a3..6cf741d3a 100644 --- a/arm9/overlays/28/asm/overlay_28.s +++ b/arm9/overlays/28/asm/overlay_28.s @@ -74,18 +74,18 @@ _022548D6: mov r1, #0x4c mov r2, #0 add r5, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _02254962 add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0xc] add r0, r5, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x10] add r0, r5, #0 bl sub_0206B688 @@ -93,7 +93,7 @@ _022548D6: add r0, r5, #0 mov r1, #9 mov r2, #0 - bl GetMonData + bl Pokemon_GetData bl ov28_0225498C cmp r0, #6 bhi _02254944 @@ -747,8 +747,8 @@ _02254DDC: bl GF_AssertFail _02254DE0: ldrh r0, [r4, #8] - mov r1, #0x1c ; BASE_FLIP - bl GetMonBaseStat + mov r1, #0x1c ; SPECIES_DATA_FLIP_SPRITE + bl Species_GetValue mov r1, #0x59 lsl r1, r1, #2 strb r0, [r5, r1] diff --git a/arm9/overlays/35/asm/overlay_35.s b/arm9/overlays/35/asm/overlay_35.s index 8d9608da8..30d156189 100644 --- a/arm9/overlays/35/asm/overlay_35.s +++ b/arm9/overlays/35/asm/overlay_35.s @@ -326,18 +326,18 @@ _02254A7A: add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r6, #0x1c] add r0, r4, #0 mov r1, #0x70 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r6, #0x20] ldr r0, [sp, #8] bl ov05_021EC7B4 str r0, [r5, #0xc] add r0, r4, #0 - bl GetBoxMonGender + bl BoxPokemon_GetGender str r0, [r5, #0x14] ldr r1, [sp, #0xc] add r0, r4, #0 @@ -912,8 +912,8 @@ _02254F00: cmp r0, #0 beq _02254F36 ldrh r0, [r6, #0x1c] - mov r1, #0x1c ; BASE_FLIP - bl GetMonBaseStat + mov r1, #0x1c ; SPECIES_DATA_FLIP_SPRITE + bl Species_GetValue cmp r0, #0 ldr r0, [r7, #0x24] beq _02254F30 diff --git a/arm9/overlays/39/asm/overlay_39.s b/arm9/overlays/39/asm/overlay_39.s index e0ddc7748..dc79e616a 100644 --- a/arm9/overlays/39/asm/overlay_39.s +++ b/arm9/overlays/39/asm/overlay_39.s @@ -73,12 +73,12 @@ _022548CC: add r0, r7, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x1c] add r0, r7, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r5, #0x28] ldr r0, [sp, #4] str r7, [r4, #0x48] @@ -995,8 +995,8 @@ ov39_02254FA4: ; 0x02254FA4 b _02254FCC _02254FBA: add r0, r7, #0 - mov r1, #0x1c ; BASE_FLIP - bl GetMonBaseStat + mov r1, #0x1c ; SPECIES_DATA_FLIP_SPRITE + bl Species_GetValue cmp r0, #0 beq _02254FCA mov r1, #4 diff --git a/arm9/overlays/56/asm/overlay_56.s b/arm9/overlays/56/asm/overlay_56.s index 6011b35dd..a8d0fe4fc 100644 --- a/arm9/overlays/56/asm/overlay_56.s +++ b/arm9/overlays/56/asm/overlay_56.s @@ -225,13 +225,13 @@ _02211FA2: mov r1, #0xa2 mov r2, #0 add r6, r0, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _02211FC8 add r0, r6, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _02211FC8 add r5, r5, #1 @@ -2005,13 +2005,13 @@ _02212E52: mov r1, #5 mov r2, #0 add r7, r0, #0 - bl GetMonData + bl Pokemon_GetData ldr r1, [r5, #4] mov r2, #0 strh r0, [r1, r4] add r0, r7, #0 mov r1, #6 - bl GetMonData + bl Pokemon_GetData ldr r1, [r5, #4] add r6, r6, #1 add r1, r1, r4 diff --git a/arm9/overlays/62/asm/overlay_62.s b/arm9/overlays/62/asm/overlay_62.s index 12f139403..b477de3c8 100644 --- a/arm9/overlays/62/asm/overlay_62.s +++ b/arm9/overlays/62/asm/overlay_62.s @@ -2207,17 +2207,17 @@ _0222E5EC: add r0, r7, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x10] add r0, r7, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x14] add r0, r7, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r1, r0, #0 ldr r0, [sp, #0x10] ldr r2, [sp, #0x14] @@ -2993,7 +2993,7 @@ ov62_0222EC54: ; 0x0222EC54 ldr r0, [r0, #4] mov r1, #0xa1 add r2, sp, #0xc - bl SetMonData + bl Pokemon_SetData _0222EC80: cmp r7, #0xff beq _0222EC9A @@ -3006,7 +3006,7 @@ _0222EC80: add r0, r1, r0 ldr r0, [r0, #4] mov r1, #0xa1 - bl SetMonData + bl Pokemon_SetData _0222EC9A: add r2, r5, #4 ldr r1, [r2, r6] @@ -4481,7 +4481,7 @@ _0222F83E: mov r1, #0x4c add r0, r7, #0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222F85C ldr r1, _0222F86C ; =0x00000428 @@ -5690,7 +5690,7 @@ ov62_022301AC: ; 0x022301AC mov r1, #5 ldr r0, [r5, r0] mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0 ldr r0, _02230214 ; =0x00000428 mov r1, #2 @@ -5738,11 +5738,11 @@ ov62_0223021C: ; 0x0223021C mov r1, #5 ldr r0, [r5, r0] mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r4, r0, #0 ldr r0, _02230268 ; =0x00000428 ldr r0, [r5, r0] - bl GetMonNature + bl Pokemon_GetNature add r6, r0, #0 mov r0, #0x6a lsl r0, r0, #2 @@ -6188,7 +6188,7 @@ _0223059A: str r0, [sp, #0x9c] ldr r0, _02230724 ; =0x00000428 ldr r0, [r4, r0] - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x8c] add r0, sp, #0x7c bl ov08_02229918 @@ -6224,12 +6224,12 @@ _022305E2: mov r1, #0xa1 ldr r0, [r4, r0] add r2, sp, #0x18 - bl SetMonData + bl Pokemon_SetData ldr r0, _02230724 ; =0x00000428 mov r1, #0xaa ldr r0, [r4, r0] add r2, sp, #0x64 - bl SetMonData + bl Pokemon_SetData mov r0, #0x35 add r1, sp, #0x58 bl ov08_02228218 @@ -6385,7 +6385,7 @@ _0223072C: str r0, [sp, #0x50] ldr r0, [r4, r1] mov r1, #0x9a - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x40] add r0, sp, #0x30 bl ov08_02229918 @@ -6520,7 +6520,7 @@ _02230860: add r2, r0, #0 add r0, r5, #0 mov r1, #0xaa - bl SetMonData + bl Pokemon_SetData _022308A8: mov r0, #0xf5 mov r1, #8 @@ -7080,7 +7080,7 @@ ov62_02230D38: ; 0x02230D38 ldr r0, [r0, #4] mov r1, #0xa1 add r2, sp, #0 - bl SetMonData + bl Pokemon_SetData _02230D5C: mov r0, #0xff str r0, [r4, r6] diff --git a/arm9/overlays/64/asm/overlay_64.s b/arm9/overlays/64/asm/overlay_64.s index 892ae5910..e6cd36408 100644 --- a/arm9/overlays/64/asm/overlay_64.s +++ b/arm9/overlays/64/asm/overlay_64.s @@ -824,7 +824,7 @@ ov64_021D7BB4: ; 0x021D7BB4 add r4, r1, #0 lsr r0, r0, #0x10 mov r1, #0 - bl GetGenderBySpeciesAndPersonality + bl Species_GetGenderFromPersonality add r2, r0, #0 mov r0, #0 str r0, [sp] diff --git a/arm9/overlays/65/asm/overlay_65.s b/arm9/overlays/65/asm/overlay_65.s index 2eb727e4c..5ec0a3cca 100644 --- a/arm9/overlays/65/asm/overlay_65.s +++ b/arm9/overlays/65/asm/overlay_65.s @@ -3372,23 +3372,23 @@ ov65_021D8F34: ; 0x021D8F34 str r0, [r4, #0x30] ldr r0, [r4, #0x10] ldr r0, [r0] - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #0x34] ldr r0, [r4, #0x10] ldr r0, [r0] - bl GetMonGender + bl Pokemon_GetGender add r1, r4, #0 add r1, #0x37 strb r0, [r1] ldr r0, [r4, #0x10] ldr r0, [r0] - bl GetMonNature + bl Pokemon_GetNature add r1, r4, #0 add r1, #0x36 strb r0, [r1] ldrh r0, [r4, #0x34] - mov r1, #0x1c ; BASE_FLIP - bl GetMonBaseStat + mov r1, #0x1c ; SPECIES_DATA_FLIP_SPRITE + bl Species_GetValue mov r1, #1 eor r1, r0 add r0, r4, #0 @@ -3402,7 +3402,7 @@ ov65_021D8F34: ; 0x021D8F34 ldr r2, [r4, #0x3c] ldr r0, [r0] mov r1, #0x76 - bl GetMonData + bl Pokemon_GetData add r1, r4, #0 ldr r0, [r4, #0x10] add r1, #0x36 diff --git a/arm9/overlays/67/asm/overlay_67.s b/arm9/overlays/67/asm/overlay_67.s index 8a1b776f1..3ffa8936c 100644 --- a/arm9/overlays/67/asm/overlay_67.s +++ b/arm9/overlays/67/asm/overlay_67.s @@ -3298,7 +3298,7 @@ ov67_021D8F00: ; 0x021D8F00 str r3, [sp, #0xc] mov r0, #0x2a add r7, r1, #0 - bl AllocMonZeroed + bl Pokemon_New str r4, [sp] mov r1, #0 str r1, [sp, #4] @@ -3307,7 +3307,7 @@ ov67_021D8F00: ; 0x021D8F00 add r1, r7, #0 mov r2, #1 mov r3, #0x20 - bl CreateMonWithGenderNatureLetter + bl Pokemon_InitWithGenderNatureLetter add r0, r6, #0 bl sub_020690E4 add r2, r0, #0 diff --git a/arm9/overlays/69/asm/overlay_69.s b/arm9/overlays/69/asm/overlay_69.s index 5ee578f33..962d4f00c 100644 --- a/arm9/overlays/69/asm/overlay_69.s +++ b/arm9/overlays/69/asm/overlay_69.s @@ -64,7 +64,7 @@ _0222D63A: bl Party_GetMonByIndex mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222D65E ldr r0, [r4, #4] @@ -1233,14 +1233,14 @@ _0222DF98: ldr r0, [sp, #0x2c] mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x81 lsl r1, r1, #2 str r0, [r5, r1] mov r1, #0 ldr r0, [sp, #0x2c] add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData str r4, [sp] str r0, [sp, #4] mov r0, #1 @@ -1268,7 +1268,7 @@ _0222DF98: mov r1, #0 ldr r0, [sp, #0x2c] add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData str r4, [sp] str r0, [sp, #4] mov r0, #1 @@ -2360,7 +2360,7 @@ HOF_MonGetUIStrings: ; 0x0222E8FC mov r1, #0 bl BufferBoxMonSpeciesName ldr r0, [r4, #0x24] - bl CalcMonLevel + bl Pokemon_CalcLevel add r2, r0, #0 mov r0, #0 str r0, [sp] @@ -2370,7 +2370,7 @@ HOF_MonGetUIStrings: ; 0x0222E8FC mov r3, #3 bl BufferIntegerAsString ldr r0, [r4, #0x24] - bl GetMonGender + bl Pokemon_GetGender cmp r0, #0 beq _0222E93C cmp r0, #1 @@ -2418,7 +2418,7 @@ _0222E982: ldr r0, [r5, #0x24] mov r1, #0x98 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 ldr r0, [r5, #0x14] mov r1, #0 @@ -2480,7 +2480,7 @@ _0222E9FC: ldr r0, [r4, #0x24] ldr r2, [r4, #0x1c] mov r1, #0x76 - bl GetMonData + bl Pokemon_GetData add r0, r4, #0 mov r1, #0x48 bl ov69_0222E89C @@ -4042,7 +4042,7 @@ HOF_MonGetMetLocationStringId: ; 0x0222F6C4 add r0, r4, #0 mov r1, #0x79 mov r2, #0 - bl GetMonData + bl Pokemon_GetData sub r1, r0, #1 cmp r1, #2 bhi _0222F6E8 @@ -4063,7 +4063,7 @@ _0222F6FA: add r0, r4, #0 mov r1, #0x6e mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _0222F70C mov r5, #6 @@ -4075,7 +4075,7 @@ _0222F70C: add r0, r4, #0 mov r1, #7 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r7, r0 beq _0222F726 mov r5, #2 @@ -4089,7 +4089,7 @@ _0222F726: add r0, r4, #0 ldr r2, [r5, r2] mov r1, #0x90 - bl GetMonData + bl Pokemon_GetData ldr r1, _0222F788 ; =0x00001B54 ldr r0, [r5, r1] add r1, r1, #4 @@ -4103,7 +4103,7 @@ _0222F750: add r0, r4, #0 mov r1, #0x98 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r1, #0x7d lsl r1, r1, #4 cmp r0, r1 @@ -4114,7 +4114,7 @@ _0222F766: add r0, r4, #0 mov r1, #0x92 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222F778 mov r5, #0 diff --git a/arm9/overlays/70/asm/overlay_70.s b/arm9/overlays/70/asm/overlay_70.s index 088450f04..b3e64c5f7 100644 --- a/arm9/overlays/70/asm/overlay_70.s +++ b/arm9/overlays/70/asm/overlay_70.s @@ -469,7 +469,7 @@ ov70_021D77CC: ; 0x021D77CC lsl r1, r1, #2 str r0, [r4, r1] mov r0, #0x3d - bl AllocMonZeroed + bl Pokemon_New mov r1, #0x66 lsl r1, r1, #2 str r0, [r4, r1] @@ -1191,7 +1191,7 @@ _021D7DC8: bl AddTextPrinterParameterized ldrh r0, [r7, #0x10] ldr r1, [r7, #8] - bl GetGenderBySpeciesAndPersonality + bl Species_GetGenderFromPersonality cmp r0, #0 beq _021D7E3A cmp r0, #1 @@ -1556,13 +1556,13 @@ _021D80F4: ldrb r2, [r2] ldr r0, [r7, r0] mov r3, #0x20 - bl CreateMon + bl Pokemon_InitWithParams mov r0, #0x66 lsl r0, r0, #2 ldr r0, [r7, r0] ldr r2, [sp, #0x1c] mov r1, #0x70 - bl SetMonData + bl Pokemon_SetData mov r1, #0x66 lsl r1, r1, #2 ldr r1, [r7, r1] diff --git a/arm9/overlays/71/asm/overlay_71.s b/arm9/overlays/71/asm/overlay_71.s index 03bc23df1..77291df92 100644 --- a/arm9/overlays/71/asm/overlay_71.s +++ b/arm9/overlays/71/asm/overlay_71.s @@ -1348,37 +1348,37 @@ ov71_0222E118: ; 0x0222E118 add r0, r5, #0 mov r1, #0x9a mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r4, #4] add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4] add r0, r5, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r4, #6] add r0, r5, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData strb r0, [r4, #5] add r0, r5, #0 mov r1, #0x6f mov r2, #0 - bl GetMonData + bl Pokemon_GetData strh r0, [r4, #8] add r0, r5, #0 mov r1, #0xa1 mov r2, #0 - bl GetMonData + bl Pokemon_GetData str r0, [r4, #0xc] add r0, r5, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0 add r0, r5, #0 add r1, r7, #0 @@ -1386,8 +1386,8 @@ ov71_0222E118: ; 0x0222E118 ldrh r0, [r4] cmp r0, #0 beq _0222E18E - mov r1, #0x1c ; BASE_FLIP - bl GetMonBaseStat + mov r1, #0x1c ; SPECIES_DATA_FLIP_SPRITE + bl Species_GetValue strh r0, [r4, #0xa] _0222E18E: cmp r6, #0 @@ -2647,12 +2647,12 @@ ov71_0222EBFC: ; 0x0222EBFC mov r1, #0 add r0, r6, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData add r7, r0, #0 add r0, r6, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r3, #0 str r3, [sp] mov r1, #0xa @@ -2697,7 +2697,7 @@ ov71_0222EC5C: ; 0x0222EC5C bl Party_GetMonByIndex mov r1, #0x76 add r2, r4, #0 - bl GetMonData + bl Pokemon_GetData add r0, r5, #0 mov r1, #0 bl FillWindowPixelBuffer @@ -2731,7 +2731,7 @@ _0222ECB6: bl Party_GetMonByIndex mov r1, #0x4d mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _0222ECCE mov r0, #2 @@ -2932,7 +2932,7 @@ _0222EE14: bl Party_GetMonByIndex mov r1, #0xa0 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r1, r0, #0x10 mov r0, #1 @@ -2978,7 +2978,7 @@ _0222EEA6: bl Party_GetMonByIndex mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, #0x20 lsl r0, r0, #0x10 lsl r4, r5, #4 @@ -6320,10 +6320,10 @@ ov71_022309E8: ; 0x022309E8 add r6, r2, #0 str r3, [sp, #0xc] ldr r5, [sp, #0x28] - bl AllocMonZeroed + bl Pokemon_New add r7, r0, #0 mov r0, #0x1a - bl AllocMonZeroed + bl Pokemon_New add r4, r0, #0 ldr r0, [sp, #4] add r1, r6, #0 @@ -6338,7 +6338,7 @@ ov71_022309E8: ; 0x022309E8 add r0, r4, #0 mov r1, #0x4c mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 bne _02230A40 mov r1, #0x46 @@ -6347,7 +6347,7 @@ ov71_022309E8: ; 0x022309E8 add r0, r4, #0 mov r1, #9 add r2, sp, #0x10 - bl SetMonData + bl Pokemon_SetData _02230A40: bl sub_02031190 bl sub_0202DFA4 @@ -6427,7 +6427,7 @@ ov71_02230AE4: ; 0x02230AE4 add r0, r4, #0 mov r1, #0x74 add r2, sp, #4 - bl GetMonData + bl Pokemon_GetData add r0, r5, #0 bl PlayerProfile_GetNamePtr add r7, r0, #0 @@ -6435,7 +6435,7 @@ ov71_02230AE4: ; 0x02230AE4 bl PlayerProfile_GetTrainerGender add r5, r0, #0 add r0, r4, #0 - bl GetMonGender + bl Pokemon_GetGender add r3, r0, #0 mov r0, #0x1a lsl r1, r5, #0x18 diff --git a/arm9/overlays/76/asm/overlay_76.s b/arm9/overlays/76/asm/overlay_76.s index c8e78ce95..8f0f03967 100644 --- a/arm9/overlays/76/asm/overlay_76.s +++ b/arm9/overlays/76/asm/overlay_76.s @@ -801,7 +801,7 @@ ov76_021D7B2C: ; 0x021D7B2C ldr r0, [r1] ldrb r1, [r1, #0x17] add r1, #0x36 - bl SetMonData + bl Pokemon_SetData mov r0, #0 str r0, [sp] ldr r1, [r4] @@ -809,7 +809,7 @@ ov76_021D7B2C: ; 0x021D7B2C ldr r0, [r1] ldrb r1, [r1, #0x17] add r1, #0x3e - bl SetMonData + bl Pokemon_SetData add r0, r4, #0 bl ov76_021D8514 mov r1, #0 @@ -820,7 +820,7 @@ ov76_021D7B2C: ; 0x021D7B2C ldr r0, [r1] ldrb r1, [r1, #0x17] add r1, #0x3a - bl SetMonData + bl Pokemon_SetData ldr r0, [r4] mov r1, #0 strb r1, [r0, #0x16] @@ -2028,7 +2028,7 @@ ov76_021D8524: ; 0x021D8524 ldr r0, [r1] ldrb r1, [r1, #0x17] add r1, #0x36 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r3, pc} @@ -2131,7 +2131,7 @@ _021D85EC: ldr r0, [r0] add r1, #0x36 add r2, r6, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _021D8608 add r0, r4, #1 diff --git a/arm9/overlays/80/asm/overlay_80.s b/arm9/overlays/80/asm/overlay_80.s index 69497eb92..c499eb477 100644 --- a/arm9/overlays/80/asm/overlay_80.s +++ b/arm9/overlays/80/asm/overlay_80.s @@ -4855,7 +4855,7 @@ ov80_0222FBC0: ; 0x0222FBC0 ldr r0, [sp, #0x48] ldr r2, [sp, #0x1c] mov r1, #0x76 - bl GetBoxMonData + bl BoxPokemon_GetData mov r2, #0 ldrsh r0, [r4, r2] mov r1, #6 @@ -4866,7 +4866,7 @@ ov80_0222FBC0: ; 0x0222FBC0 mov r0, #3 ldrsb r4, [r4, r0] ldr r0, [sp, #0x48] - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x30] add r0, r5, #0 mov r1, #0x46 @@ -5058,12 +5058,12 @@ ov80_0222FD88: ; 0x0222FD88 mov r1, #0 add r0, r5, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0 add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData mov r3, #0 str r3, [sp] mov r1, #0xa @@ -6810,8 +6810,8 @@ _02230BD4: ldrsh r0, [r4, r0] cmp r0, #0 beq _02230C04 - mov r1, #0x12 ; BASE_GENDER_RATIO - bl GetMonBaseStat + mov r1, #0x12 ; SPECIES_DATA_GENDER_RATIO + bl Species_GetValue mov r1, #0xfe lsl r1, r1, #4 ldr r2, [r4, r1] @@ -7820,8 +7820,8 @@ _0223138C: mov r3, #2 bl ov80_02233EA4 add r0, r5, #0 - mov r1, #0x12 ; BASE_GENDER_RATIO - bl GetMonBaseStat + mov r1, #0x12 ; SPECIES_DATA_GENDER_RATIO + bl Species_GetValue mov r1, #0xfe lsl r1, r1, #4 ldr r2, [r4, r1] @@ -9979,7 +9979,7 @@ _022325CE: bl Party_GetMonByIndex mov r1, #0xa1 add r2, r4, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022325FE mov r0, #0xe @@ -10219,7 +10219,7 @@ _022327CE: bl Party_GetMonByIndex mov r1, #0xa1 add r2, r4, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 beq _022327FE mov r0, #0xb @@ -10777,7 +10777,7 @@ ov80_02232BD4: ; 0x02232BD4 ov80_02232C2C: ; 0x02232C2C push {r4, lr} add r4, r1, #0 - bl CalcBoxMonLevel + bl BoxPokemon_CalcLevel strb r0, [r4, #3] pop {r4, pc} thumb_func_end ov80_02232C2C @@ -10836,34 +10836,34 @@ ov80_02232C88: ; 0x02232C88 add r0, r5, #0 mov r1, #0xab mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x1c] add r0, r5, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r6] add r0, r5, #0 mov r1, #0x70 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x10] add r0, r5, #0 mov r1, #0x4c mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x14] add r0, r5, #0 mov r1, #6 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x18] ldrh r0, [r6] mov r1, #0x6f mov r2, #0 strh r0, [r4] add r0, r5, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r0, r0, #1 strb r0, [r4, #2] ldr r0, [sp, #0x14] @@ -11076,7 +11076,7 @@ _02232E4A: ldr r0, [sp, #0x24] mov r1, #0xa1 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r0, #0 ldr r0, _02232F90 ; =0x00000E54 beq _02232EB4 @@ -11274,7 +11274,7 @@ _02233028: ldrh r1, [r5] add r0, r7, #0 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r6, r6, #1 add r4, r4, r0 add r5, r5, #2 @@ -11305,7 +11305,7 @@ ov80_02233054: ; 0x02233054 _02233062: mov r1, #0xab mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 bne _02233072 mov r0, #0 @@ -11314,7 +11314,7 @@ _02233072: add r0, r4, #0 mov r1, #0xac mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 beq _02233084 mov r0, #2 @@ -11386,18 +11386,18 @@ ov80_022330E4: ; 0x022330E4 mov r1, #5 mov r2, #0 add r5, r0, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r1, sp, #0 strh r0, [r1] add r0, r5, #0 mov r1, #0x6f mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r1, r0, #1 add r0, sp, #0 strb r1, [r0, #2] add r0, r5, #0 - bl CalcBoxMonLevel + bl BoxPokemon_CalcLevel add r1, sp, #0 strb r0, [r1, #3] add r0, sp, #0 @@ -11418,7 +11418,7 @@ ov80_0223311C: ; 0x0223311C ldr r0, [r0] mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r1, sp, #0 strh r0, [r1, #6] add r0, r5, #0 @@ -11426,14 +11426,14 @@ ov80_0223311C: ; 0x0223311C ldr r0, [r0] mov r1, #0x6f mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r1, r0, #1 add r0, sp, #0 strb r1, [r0, #8] add r0, r5, #0 add r0, #0xbc ldr r0, [r0] - bl CalcBoxMonLevel + bl BoxPokemon_CalcLevel add r1, sp, #0 strb r0, [r1, #9] add r0, r4, #0 @@ -11459,13 +11459,13 @@ ov80_0223311C: ; 0x0223311C mov r1, #5 mov r2, #0 add r5, r0, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r1, sp, #0 strh r0, [r1] add r0, r5, #0 mov r1, #0x6f mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r0, r0, #1 add r1, sp, #0 strb r0, [r1, #2] @@ -11524,7 +11524,7 @@ ov80_022331F8: ; 0x022331F8 push {r3, lr} mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl ItemIdIsMail @@ -12477,8 +12477,8 @@ _0223398C: ldr r0, _02233A5C ; =0x000005DC bl PlaySE add r0, r5, #0 - mov r1, #0x12 ; BASE_GENDER_RATIO - bl GetMonBaseStat + mov r1, #0x12 ; SPECIES_DATA_GENDER_RATIO + bl Species_GetValue mov r1, #0xfe lsl r1, r1, #4 ldr r2, [r4, r1] @@ -13374,14 +13374,14 @@ ov80_022340DC: ; 0x022340DC ldr r0, [sp, #0xc] ldr r2, [sp, #0x18] mov r1, #0x76 - bl GetBoxMonData + bl BoxPokemon_GetData ldr r0, [sp, #0xc] mov r1, #0x6f mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r6, r0, #1 ldr r0, [sp, #0xc] - bl CalcBoxMonLevel + bl BoxPokemon_CalcLevel str r0, [sp, #0x10] add r0, r4, #0 mov r1, #0x64 @@ -13467,7 +13467,7 @@ _022341CA: ldr r0, [sp, #0xc] mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData strh r0, [r7] ldr r0, [sp, #0x10] strb r6, [r7, #2] @@ -15243,7 +15243,7 @@ _02234F38: cmp r0, #0 beq _02234F9C mov r0, #0x3e - bl AllocMonZeroed + bl Pokemon_New add r5, r0, #0 ldr r0, [r4] add r1, r5, #0 @@ -15289,7 +15289,7 @@ _02234FA4: cmp r0, #0 beq _02235006 mov r0, #0x3e - bl AllocMonZeroed + bl Pokemon_New add r5, r0, #0 ldr r0, [r4] add r1, r5, #0 @@ -16064,7 +16064,7 @@ ov80_02235534: ; 0x02235534 cmp r0, #0x12 beq _02235590 mov r0, #0x3e - bl AllocMonZeroed + bl Pokemon_New add r1, r5, #0 add r2, r5, #0 add r4, r0, #0 @@ -16152,7 +16152,7 @@ ov80_022355F0: ; 0x022355F0 mov r1, #6 mov r2, #0 add r6, r3, #0 - bl GetMonData + bl Pokemon_GetData ldr r0, [r5] add r1, r4, #0 ldr r0, [r0, #0x20] @@ -16175,7 +16175,7 @@ _02235624: add r0, r4, #0 mov r1, #9 add r2, sp, #0 - bl SetMonData + bl Pokemon_SetData ldr r0, [r5] ldr r0, [r0] bl ov80_02235754 @@ -16258,7 +16258,7 @@ _022356D2: add r0, r4, #0 mov r1, #9 add r2, sp, #0 - bl SetMonData + bl Pokemon_SetData ldr r0, [sp, #0x20] cmp r0, #0x12 bne _02235706 @@ -16364,9 +16364,9 @@ ov80_022357A0: ; 0x022357A0 add r0, r4, #0 mov r1, #0x74 add r2, sp, #4 - bl GetMonData + bl Pokemon_GetData add r0, r4, #0 - bl GetMonGender + bl Pokemon_GetGender add r3, r0, #0 mov r0, #0x3e str r0, [sp] @@ -17194,7 +17194,7 @@ ov80_02235E08: ; 0x02235E08 push {r4, lr} add r4, r0, #0 mov r0, #0x3e - bl AllocMonZeroed + bl Pokemon_New mov r1, #1 lsl r1, r1, #0xc str r0, [r4, r1] @@ -17434,7 +17434,7 @@ _02235FDE: mov r1, #6 mov r2, #0 add r7, r0, #0 - bl GetMonData + bl Pokemon_GetData add r3, r0, #0 add r0, sp, #0x30 lsl r3, r3, #0x10 @@ -17493,7 +17493,7 @@ _02236068: bl ov80_022361E8 add r7, r0, #0 mov r0, #0x3e - bl AllocMonZeroed + bl Pokemon_New str r0, [sp, #0x20] ldr r0, [r4] ldr r1, [sp, #0x20] @@ -17502,30 +17502,30 @@ _02236068: add r0, r7, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r5, r0, #0 ldr r0, [sp, #0x20] mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData cmp r5, r0 bne _022360B6 mov r1, #0 add r0, r7, #0 add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData add r5, r0, #0 mov r1, #0 ldr r0, [sp, #0x20] add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData cmp r5, r0 beq _02236126 _022360B6: add r0, r7, #0 mov r1, #6 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r3, r0, #0 add r0, sp, #0x2c lsl r3, r3, #0x10 diff --git a/arm9/overlays/81/asm/overlay_81.s b/arm9/overlays/81/asm/overlay_81.s index 5bce93c2b..c725f9b17 100644 --- a/arm9/overlays/81/asm/overlay_81.s +++ b/arm9/overlays/81/asm/overlay_81.s @@ -136,7 +136,7 @@ _02237F22: mov r1, #5 ldr r0, [r0] mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData mov r1, #0x53 lsl r1, r1, #2 strh r0, [r4, r1] @@ -144,7 +144,7 @@ _02237F22: mov r1, #5 ldr r0, [r0, #4] mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData ldr r1, _02237FD8 ; =0x0000014E strh r0, [r4, r1] mov r0, #0 @@ -197,9 +197,9 @@ ov81_02237FE8: ; 0x02237FE8 push {r3, lr} mov r1, #5 mov r2, #0 - bl GetBoxMonData - mov r1, #0x1c ; BASE_FLIP - bl GetMonBaseStat + bl BoxPokemon_GetData + mov r1, #0x1c ; SPECIES_DATA_FLIP_SPRITE + bl Species_GetValue cmp r0, #0 bne _02238000 mov r0, #1 @@ -1008,12 +1008,12 @@ _02238610: mov r1, #0 add r0, r4, #0 add r2, r1, #0 - bl GetBoxMonData + bl BoxPokemon_GetData str r0, [sp, #0x1c] add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 ldr r1, [sp, #0x58] lsr r0, r0, #0x10 @@ -2514,7 +2514,7 @@ _02239138: bl ov81_02238818 mov r1, #0x4c mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 bne _0223918A ldr r0, [r4, #0x10] @@ -9501,7 +9501,7 @@ _0223C8D6: bl ov81_02238820 mov r1, #0x4c mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0 bne _0223C902 ldr r0, [r4] diff --git a/arm9/overlays/83/asm/overlay_83.s b/arm9/overlays/83/asm/overlay_83.s index 57459d44d..a40ea91fc 100644 --- a/arm9/overlays/83/asm/overlay_83.s +++ b/arm9/overlays/83/asm/overlay_83.s @@ -21811,7 +21811,7 @@ ov83_02237EDC: ; 0x02237EDC add r1, r0, #0 lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl CalcLevelBySpeciesAndExp + bl Species_CalcLevelByExp pop {r3, r4, r5, pc} thumb_func_end ov83_02237EDC @@ -21822,7 +21822,7 @@ ov83_02237F04: ; 0x02237F04 add r0, r1, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0 @@ -21831,8 +21831,8 @@ ov83_02237F04: ; 0x02237F04 bl AGB_GetBoxMonData add r6, r0, #0 add r0, r5, #0 - mov r1, #0x19 ; BASE_ABILITY_2 - bl GetMonBaseStat + mov r1, #0x19 ; SPECIES_DATA_ABILITY_2 + bl Species_GetValue cmp r0, #0 beq _02237F5E ldr r2, _02237F68 ; =ov83_SpeciesWithAbilityOverridesList @@ -21842,8 +21842,8 @@ _02237F32: cmp r5, r1 bne _02237F42 add r0, r5, #0 - mov r1, #0x18 ; BASE_ABILITY_1 - bl GetMonBaseStat + mov r1, #0x18 ; SPECIES_DATA_ABILITY_1 + bl Species_GetValue b _02237F4A _02237F42: add r4, r4, #1 @@ -21857,13 +21857,13 @@ _02237F4A: tst r1, r6 bne _02237F66 add r0, r5, #0 - mov r1, #0x18 ; BASE_ABILITY_1 - bl GetMonBaseStat + mov r1, #0x18 ; SPECIES_DATA_ABILITY_1 + bl Species_GetValue pop {r4, r5, r6, pc} _02237F5E: add r0, r5, #0 - mov r1, #0x18 ; BASE_ABILITY_1 - bl GetMonBaseStat + mov r1, #0x18 ; SPECIES_DATA_ABILITY_1 + bl Species_GetValue _02237F66: pop {r4, r5, r6, pc} .align 2, 0 @@ -21877,7 +21877,7 @@ MigrateBoxMon: ; 0x02237F6C add r4, r1, #0 add r6, r0, #0 add r0, r4, #0 - bl ZeroBoxMonData + bl BoxPokemon_Init add r0, r4, #0 bl AcquireBoxMonLock mov r1, #0 @@ -21889,7 +21889,7 @@ MigrateBoxMon: ; 0x02237F6C add r0, r4, #0 mov r1, #0 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0xb mov r2, #0 @@ -21900,7 +21900,7 @@ MigrateBoxMon: ; 0x02237F6C add r0, r4, #0 mov r1, #5 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0xc mov r2, #0 @@ -21916,7 +21916,7 @@ _02237FCE: add r0, r4, #0 mov r1, #6 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #1 mov r2, #0 @@ -21925,7 +21925,7 @@ _02237FCE: add r0, r4, #0 mov r1, #7 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x19 mov r2, #0 @@ -21934,13 +21934,13 @@ _02237FCE: add r0, r4, #0 mov r1, #8 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData mov r0, #0x46 str r0, [sp, #8] add r0, r4, #0 mov r1, #9 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 add r1, r4, #0 bl ov83_02237F04 @@ -21948,7 +21948,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xa add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #8 mov r2, #0 @@ -21957,7 +21957,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xb add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #3 mov r2, #0 @@ -21966,7 +21966,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xc add r2, sp, #4 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x1a mov r2, #0 @@ -21975,7 +21975,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xd add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x1b mov r2, #0 @@ -21984,7 +21984,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xe add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x1c mov r2, #0 @@ -21993,7 +21993,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0xf add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x1d mov r2, #0 @@ -22002,7 +22002,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x10 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x1e mov r2, #0 @@ -22011,7 +22011,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x11 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x1f mov r2, #0 @@ -22020,7 +22020,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x12 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x16 mov r2, #0 @@ -22029,7 +22029,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x13 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x17 mov r2, #0 @@ -22038,7 +22038,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x14 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x18 mov r2, #0 @@ -22047,7 +22047,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x15 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x21 mov r2, #0 @@ -22056,7 +22056,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x16 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x2f mov r2, #0 @@ -22065,7 +22065,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x17 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x30 mov r2, #0 @@ -22074,7 +22074,7 @@ _02237FCE: add r0, r4, #0 mov r1, #0x18 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData mov r5, #0 add r7, r5, #0 _0223815E: @@ -22088,7 +22088,7 @@ _0223815E: add r0, r4, #0 add r1, #0x36 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x15 mov r2, #0 @@ -22103,18 +22103,18 @@ _0223815E: add r0, r4, #0 add r1, #0x3e add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r1, r5, #0 add r0, r4, #0 add r1, #0x42 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x3a add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r5, r5, #1 add r7, r7, #2 cmp r5, #4 @@ -22127,7 +22127,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x46 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x28 mov r2, #0 @@ -22136,7 +22136,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x47 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x29 mov r2, #0 @@ -22145,7 +22145,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x48 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x2a mov r2, #0 @@ -22154,7 +22154,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x49 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x2b mov r2, #0 @@ -22163,7 +22163,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x4a add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x2c mov r2, #0 @@ -22172,7 +22172,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x4b add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x2d mov r2, #0 @@ -22181,7 +22181,7 @@ _0223815E: add r0, r4, #0 mov r1, #0x4c add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x32 mov r2, #0 @@ -22199,7 +22199,7 @@ _0223826C: add r0, r4, #0 add r1, #0x4e add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r5, r5, #1 cmp r5, r7 blt _0223826C @@ -22221,7 +22221,7 @@ _02238298: add r0, r4, #0 add r1, #0x52 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r5, r5, #1 cmp r5, r7 blt _02238298 @@ -22243,7 +22243,7 @@ _022382C4: add r0, r4, #0 add r1, #0x56 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r5, r5, #1 cmp r5, r7 blt _022382C4 @@ -22265,7 +22265,7 @@ _022382F0: add r0, r4, #0 add r1, #0x5a add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r5, r5, #1 cmp r5, r7 blt _022382F0 @@ -22287,7 +22287,7 @@ _0223831C: add r0, r4, #0 add r1, #0x5e add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r5, r5, #1 cmp r5, r7 blt _0223831C @@ -22300,7 +22300,7 @@ _02238332: add r0, r4, #0 mov r1, #0x62 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x44 mov r2, #0 @@ -22309,7 +22309,7 @@ _02238332: add r0, r4, #0 mov r1, #0x63 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x45 mov r2, #0 @@ -22318,7 +22318,7 @@ _02238332: add r0, r4, #0 mov r1, #0x64 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x46 mov r2, #0 @@ -22327,7 +22327,7 @@ _02238332: add r0, r4, #0 mov r1, #0x65 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x47 mov r2, #0 @@ -22336,7 +22336,7 @@ _02238332: add r0, r4, #0 mov r1, #0x66 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x48 mov r2, #0 @@ -22345,7 +22345,7 @@ _02238332: add r0, r4, #0 mov r1, #0x67 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x49 mov r2, #0 @@ -22354,7 +22354,7 @@ _02238332: add r0, r4, #0 mov r1, #0x68 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x4a mov r2, #0 @@ -22363,7 +22363,7 @@ _02238332: add r0, r4, #0 mov r1, #0x69 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x4b mov r2, #0 @@ -22372,7 +22372,7 @@ _02238332: add r0, r4, #0 mov r1, #0x6a add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x4c mov r2, #0 @@ -22381,7 +22381,7 @@ _02238332: add r0, r4, #0 mov r1, #0x6b add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x4d mov r2, #0 @@ -22390,7 +22390,7 @@ _02238332: add r0, r4, #0 mov r1, #0x6c add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x4e mov r2, #0 @@ -22399,7 +22399,7 @@ _02238332: add r0, r4, #0 mov r1, #0x6d add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x50 mov r2, #0 @@ -22408,18 +22408,18 @@ _02238332: add r0, r4, #0 mov r1, #0x6e add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0 - bl GetBoxMonGender + bl BoxPokemon_GetGender str r0, [sp, #8] add r0, r4, #0 mov r1, #0x6f add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData cmp r0, #0xc9 bne _022384AE mov r1, #0 @@ -22449,12 +22449,12 @@ _02238332: add r0, r4, #0 mov r1, #0x70 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData _022384AE: add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetBoxMonData + bl BoxPokemon_GetData ldr r1, _022385F0 ; =0x00000182 cmp r0, r1 bne _022384FE @@ -22494,7 +22494,7 @@ _022384F4: add r0, r4, #0 mov r1, #0x70 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData _022384FE: add r0, r6, #0 mov r1, #2 @@ -22508,7 +22508,7 @@ _022384FE: add r0, r4, #0 mov r1, #0x75 add r2, sp, #0xc - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #3 mov r2, #0 @@ -22522,7 +22522,7 @@ _022384FE: add r0, r4, #0 mov r1, #0x4d add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData _0223853E: add r0, r6, #0 mov r1, #0x25 @@ -22532,7 +22532,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x79 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #7 add r2, sp, #0x24 @@ -22545,7 +22545,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x8f add r2, sp, #0xc - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x23 mov r2, #0 @@ -22554,7 +22554,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x98 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x22 mov r2, #0 @@ -22563,7 +22563,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x99 add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x26 mov r2, #0 @@ -22572,7 +22572,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x9a add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x24 mov r2, #0 @@ -22581,7 +22581,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x9b add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData add r0, r6, #0 mov r1, #0x31 mov r2, #0 @@ -22590,7 +22590,7 @@ _0223853E: add r0, r4, #0 mov r1, #0x9c add r2, sp, #8 - bl SetBoxMonData + bl BoxPokemon_SetData ldr r1, [sp] add r0, r4, #0 bl ReleaseBoxMonLock @@ -23898,10 +23898,10 @@ ov83_02238F94: ; 0x02238F94 add r7, r2, #0 add r6, r3, #0 ldr r4, [sp, #0x40] - bl GetMonGender + bl Pokemon_GetGender str r0, [sp, #0x24] ldr r0, [sp, #0x20] - bl MonIsShiny + bl Pokemon_IsShiny lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] @@ -23921,7 +23921,7 @@ ov83_02238F94: ; 0x02238F94 mov r1, #0 ldr r0, [sp, #0x20] add r2, r1, #0 - bl GetMonData + bl Pokemon_GetData mov r3, #0 str r3, [sp] mov r1, #0xa @@ -24040,12 +24040,12 @@ _022390C2: add r0, r4, #0 mov r1, #5 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r6, r0, #0 add r0, r4, #0 mov r1, #0x70 mov r2, #0 - bl GetMonData + bl Pokemon_GetData add r2, r0, #0 mov r0, #0xe9 lsl r0, r0, #4 diff --git a/arm9/src/daycare.c b/arm9/src/daycare.c index 6b8cf712d..f233bf826 100644 --- a/arm9/src/daycare.c +++ b/arm9/src/daycare.c @@ -12,8 +12,8 @@ u32 Save_Daycare_sizeof(void) { void Save_Daycare_Init(Daycare *daycare) { memset(daycare, 0, sizeof(Daycare)); - ZeroBoxMonData(&daycare->mons[0].mon); - ZeroBoxMonData(&daycare->mons[1].mon); + BoxPokemon_Init(&daycare->mons[0].mon); + BoxPokemon_Init(&daycare->mons[1].mon); daycare->egg_pid = 0; daycare->egg_cycles = 0; } @@ -67,7 +67,7 @@ BOOL Save_Daycare_MasudaCheck(Daycare *daycare) { // Uses language as a proxy for country, even though it // only accounts for European languages and Japanese. // If true, shiny odds are increased. - return GetBoxMonData(&daycare->mons[0].mon, MON_DATA_LANGUAGE, NULL) != GetBoxMonData(&daycare->mons[1].mon, MON_DATA_LANGUAGE, NULL); + return BoxPokemon_GetData(&daycare->mons[0].mon, MON_DATA_LANGUAGE, NULL) != BoxPokemon_GetData(&daycare->mons[1].mon, MON_DATA_LANGUAGE, NULL); } void DaycareMon_Copy(DaycareMon *dest, const DaycareMon *src) { @@ -90,7 +90,7 @@ void DaycareMon_Extras_Init(DaycareMail *mail) { } void DaycareMon_Init(DaycareMon *mon) { - ZeroBoxMonData(&mon->mon); + BoxPokemon_Init(&mon->mon); mon->steps = 0; DaycareMon_Extras_Init(&mon->mail); } diff --git a/arm9/src/encounter.c b/arm9/src/encounter.c index 4b6998427..521d4358d 100644 --- a/arm9/src/encounter.c +++ b/arm9/src/encounter.c @@ -762,7 +762,7 @@ static void sub_020472F4(FieldSystem *fieldSystem, BattleSetup *setup) { GameStats_AddSpecial(Save_GameStats_Get(fieldSystem->saveData), GAME_STAT_UNK8); } else if (winFlag == BATTLE_OUTCOME_MON_CAUGHT) { mon = Party_GetMonByIndex(setup->party[BATTLER_ENEMY], 0); - if (Pokedex_ConvertToCurrentDexNo(FALSE, GetMonData(mon, MON_DATA_SPECIES, NULL)) != 0) { + if (Pokedex_ConvertToCurrentDexNo(FALSE, Pokemon_GetData(mon, MON_DATA_SPECIES, NULL)) != 0) { GameStats_AddSpecial(Save_GameStats_Get(fieldSystem->saveData), GAME_STAT_UNK9); } else { GameStats_AddSpecial(Save_GameStats_Get(fieldSystem->saveData), GAME_STAT_UNK10); @@ -774,7 +774,7 @@ static void sub_020472F4(FieldSystem *fieldSystem, BattleSetup *setup) { } } else if ((battleType & BATTLE_TYPE_SAFARI || battleType & BATTLE_TYPE_PAL_PARK) && winFlag == BATTLE_OUTCOME_MON_CAUGHT) { mon = Party_GetMonByIndex(setup->party[BATTLER_ENEMY], 0); - if (Pokedex_ConvertToCurrentDexNo(FALSE, GetMonData(mon, MON_DATA_SPECIES, NULL)) != 0) { + if (Pokedex_ConvertToCurrentDexNo(FALSE, Pokemon_GetData(mon, MON_DATA_SPECIES, NULL)) != 0) { GameStats_AddSpecial(Save_GameStats_Get(fieldSystem->saveData), GAME_STAT_UNK9); } else { GameStats_AddSpecial(Save_GameStats_Get(fieldSystem->saveData), GAME_STAT_UNK10); @@ -797,10 +797,10 @@ static void sub_020473CC(FieldSystem *fieldSystem, BattleSetup *setup) { return; } mon = Party_GetMonByIndex(setup->party[BATTLER_ENEMY], 0); - sub_02028AD4(fieldSystem->unk98, sub_0202920C(Save_PlayerData_GetIGTAddr(fieldSystem->saveData), GetMonData(mon, MON_DATA_SPECIES, NULL), GetMonData(mon, MON_DATA_GENDER, NULL), setup->unk160, HEAP_ID_FIELD), 2); + sub_02028AD4(fieldSystem->unk98, sub_0202920C(Save_PlayerData_GetIGTAddr(fieldSystem->saveData), Pokemon_GetData(mon, MON_DATA_SPECIES, NULL), Pokemon_GetData(mon, MON_DATA_GENDER, NULL), setup->unk160, HEAP_ID_FIELD), 2); } else if (winFlag == BATTLE_OUTCOME_MON_CAUGHT) { mon = Party_GetMonByIndex(setup->party[setup->unk170], 0); - sub_02028AD4(fieldSystem->unk98, sub_0202918C(Save_PlayerData_GetIGTAddr(fieldSystem->saveData), GetMonData(mon, MON_DATA_SPECIES, NULL), GetMonData(mon, MON_DATA_GENDER, NULL), setup->unk160, HEAP_ID_FIELD), 2); + sub_02028AD4(fieldSystem->unk98, sub_0202918C(Save_PlayerData_GetIGTAddr(fieldSystem->saveData), Pokemon_GetData(mon, MON_DATA_SPECIES, NULL), Pokemon_GetData(mon, MON_DATA_GENDER, NULL), setup->unk160, HEAP_ID_FIELD), 2); } } else if ((battleType & BATTLE_TYPE_TRAINER) || (battleType & BATTLE_TYPE_INGAME_PARTNER)) { if (winFlag == BATTLE_OUTCOME_WIN) { diff --git a/arm9/src/hall_of_fame.c b/arm9/src/hall_of_fame.c index 4785cb2e5..d11113f20 100644 --- a/arm9/src/hall_of_fame.c +++ b/arm9/src/hall_of_fame.c @@ -30,20 +30,20 @@ void Save_HOF_RecordParty(struct HallOfFame *hof, struct Party *party, RTCDate * for (i = 0, j = 0; i < nmons; i++) { struct Pokemon *mon = Party_GetMonByIndex(party, i); BOOL lock = AcquireMonLock(mon); - if (!GetMonData(mon, MON_DATA_IS_EGG, NULL)) { - hof_party->party[j].species = (u16)GetMonData(mon, MON_DATA_SPECIES, NULL); - hof_party->party[j].level = (u8)GetMonData(mon, MON_DATA_LEVEL, NULL); - hof_party->party[j].form = (u8)GetMonData(mon, MON_DATA_FORM, NULL); - hof_party->party[j].personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); - hof_party->party[j].otid = GetMonData(mon, MON_DATA_OT_ID, NULL); - hof_party->party[j].moves[0] = (u16)GetMonData(mon, MON_DATA_MOVE1, NULL); - hof_party->party[j].moves[1] = (u16)GetMonData(mon, MON_DATA_MOVE2, NULL); - hof_party->party[j].moves[2] = (u16)GetMonData(mon, MON_DATA_MOVE3, NULL); - hof_party->party[j].moves[3] = (u16)GetMonData(mon, MON_DATA_MOVE4, NULL); + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + hof_party->party[j].species = (u16)Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + hof_party->party[j].level = (u8)Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + hof_party->party[j].form = (u8)Pokemon_GetData(mon, MON_DATA_FORM, NULL); + hof_party->party[j].personality = Pokemon_GetData(mon, MON_DATA_PERSONALITY, NULL); + hof_party->party[j].otid = Pokemon_GetData(mon, MON_DATA_OT_ID, NULL); + hof_party->party[j].moves[0] = (u16)Pokemon_GetData(mon, MON_DATA_MOVE1, NULL); + hof_party->party[j].moves[1] = (u16)Pokemon_GetData(mon, MON_DATA_MOVE2, NULL); + hof_party->party[j].moves[2] = (u16)Pokemon_GetData(mon, MON_DATA_MOVE3, NULL); + hof_party->party[j].moves[3] = (u16)Pokemon_GetData(mon, MON_DATA_MOVE4, NULL); if (str != NULL) { - GetMonData(mon, MON_DATA_NICKNAME_STRING, str); + Pokemon_GetData(mon, MON_DATA_NICKNAME_STRING, str); CopyStringToU16Array(str, hof_party->party[j].nickname, POKEMON_NAME_LENGTH + 1); - GetMonData(mon, MON_DATA_OT_NAME_STRING, str); + Pokemon_GetData(mon, MON_DATA_OT_NAME_STRING, str); CopyStringToU16Array(str, hof_party->party[j].otname, PLAYER_NAME_LENGTH + 1); } else { hof_party->party[j].nickname[0] = EOS; diff --git a/arm9/src/mail.c b/arm9/src/mail.c index d663e3e3b..06dadb96e 100644 --- a/arm9/src/mail.c +++ b/arm9/src/mail.c @@ -64,9 +64,9 @@ void Mail_SetNewMessageDetails(struct Mail *mail, u8 type, u8 monIdx, struct Sav for (i = 0; monIdx < Party_GetCount(party); monIdx++) { union MailPatternData *ptr; pokemon = Party_GetMonByIndex(party, monIdx); - species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, NULL); - is_egg = (BOOL)GetMonData(pokemon, MON_DATA_IS_EGG, NULL); - form = GetMonData(pokemon, MON_DATA_FORM, NULL); + species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + is_egg = (BOOL)Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL); + form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); sp10 = sub_0206B6C8(pokemon); r7 = sub_0206B7BC(species, form, is_egg); ptr = &mail->unk_18[i]; diff --git a/arm9/src/message_format.c b/arm9/src/message_format.c index 3c9d68336..a2c70b924 100644 --- a/arm9/src/message_format.c +++ b/arm9/src/message_format.c @@ -138,13 +138,13 @@ void BufferFriendsName(MessageFormat *messageFormat, u32 idx, struct SaveData *s void BufferBoxMonSpeciesName(MessageFormat *messageFormat, u32 idx, struct BoxPokemon *mon) { struct MsgData *msgData = NewMsgDataFromNarc(MSGDATA_LOAD_LAZY, NARC_MSGDATA_MSG, NARC_msg_narc_0362_bin, messageFormat->heapId); - ReadMsgDataIntoString(msgData, GetBoxMonData(mon, MON_DATA_SPECIES, NULL), messageFormat->buffer); + ReadMsgDataIntoString(msgData, BoxPokemon_GetData(mon, MON_DATA_SPECIES, NULL), messageFormat->buffer); SetStringAsPlaceholder(messageFormat, idx, messageFormat->buffer, NULL); DestroyMsgData(msgData); } void BufferBoxMonSpeciesNameWithArticle(MessageFormat *messageFormat, u32 idx, struct BoxPokemon *mon) { - BufferSpeciesNameWithArticle(messageFormat, idx, GetBoxMonData(mon, MON_DATA_SPECIES, NULL)); + BufferSpeciesNameWithArticle(messageFormat, idx, BoxPokemon_GetData(mon, MON_DATA_SPECIES, NULL)); } void BufferSpeciesNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 species) { @@ -155,12 +155,12 @@ void BufferSpeciesNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 spe } void BufferBoxMonNickname(MessageFormat *messageFormat, u32 idx, struct BoxPokemon *mon) { - GetBoxMonData(mon, MON_DATA_NICKNAME_STRING, messageFormat->buffer); + BoxPokemon_GetData(mon, MON_DATA_NICKNAME_STRING, messageFormat->buffer); SetStringAsPlaceholder(messageFormat, idx, messageFormat->buffer, NULL); } void BufferBoxMonOTName(MessageFormat *messageFormat, u32 idx, struct BoxPokemon *mon) { - GetBoxMonData(mon, MON_DATA_OT_NAME_STRING, messageFormat->buffer); + BoxPokemon_GetData(mon, MON_DATA_OT_NAME_STRING, messageFormat->buffer); SetStringAsPlaceholder(messageFormat, idx, messageFormat->buffer, NULL); } diff --git a/arm9/src/move_relearner.c b/arm9/src/move_relearner.c index 5be967a3d..2155d5282 100644 --- a/arm9/src/move_relearner.c +++ b/arm9/src/move_relearner.c @@ -15,13 +15,13 @@ void MoveRelearner_Delete(MoveRelearner *moveRelearner) { } u16 *MoveRelearner_GetEligibleLevelUpMoves(Pokemon *mon, HeapID heapId) { - u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); - u8 form = GetMonData(mon, MON_DATA_FORM, NULL); - u8 level = GetMonData(mon, MON_DATA_LEVEL, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u8 form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); u16 moves[MAX_MON_MOVES]; for (u8 i = 0; i < MAX_MON_MOVES; ++i) { - moves[i] = GetMonData(mon, MON_DATA_MOVE1 + i, NULL); + moves[i] = Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL); } u16 *tableFromFile = AllocFromHeap(heapId, LEVEL_UP_LEARNSET_MAX * 2); diff --git a/arm9/src/party.c b/arm9/src/party.c index 556b6b63a..c0a3bef43 100644 --- a/arm9/src/party.c +++ b/arm9/src/party.c @@ -28,7 +28,7 @@ void Party_InitWithMaxSize(struct Party *party, int count) { party->curCount = 0; party->maxCount = count; for (i = 0; i < PARTY_SIZE; i++) { - ZeroMonData(&party->mons[i]); + Pokemon_Init(&party->mons[i]); } } @@ -53,7 +53,7 @@ BOOL Party_RemoveMon(struct Party *party, int pos) { party->mons[i] = party->mons[i + 1]; } - ZeroMonData(&party->mons[i]); + Pokemon_Init(&party->mons[i]); party->curCount--; return TRUE; } @@ -74,7 +74,7 @@ void ReplacePartySlotWithMon(struct Party *party, int pos, struct Pokemon *pokem GF_ASSERT(pos >= 0); GF_ASSERT(pos < party->curCount); GF_ASSERT(pos < party->maxCount); - r2 = (int)(GetMonData(&party->mons[pos], MON_DATA_SPECIES_EXISTS, NULL) - GetMonData(pokemon, MON_DATA_SPECIES_EXISTS, NULL)); + r2 = (int)(Pokemon_GetData(&party->mons[pos], MON_DATA_SPECIES_EXISTS, NULL) - Pokemon_GetData(pokemon, MON_DATA_SPECIES_EXISTS, NULL)); party->mons[pos] = *pokemon; party->curCount += r2; } @@ -102,7 +102,7 @@ void CopyParty(struct Party *src, struct Party *dest) { BOOL Party_HasMon(struct Party *party, u16 species) { int i; for (i = 0; i < party->curCount; i++) { - if (species == GetMonData(&party->mons[i], MON_DATA_SPECIES, NULL)) { + if (species == Pokemon_GetData(&party->mons[i], MON_DATA_SPECIES, NULL)) { break; } } diff --git a/arm9/src/pokedex.c b/arm9/src/pokedex.c index 22871438c..051114cd1 100644 --- a/arm9/src/pokedex.c +++ b/arm9/src/pokedex.c @@ -187,7 +187,7 @@ BOOL Pokedex_HasSeenDeoxysForm(struct Pokedex *pokedex, u32 state) { } void Pokedex_TrySetSeenDeoxysForm(struct Pokedex *pokedex, u16 species, struct Pokemon *pokemon) { - u8 form = (u8)GetMonData(pokemon, MON_DATA_FORM, NULL); + u8 form = (u8)Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); if (species == SPECIES_DEOXYS && !Pokedex_HasSeenDeoxysForm(pokedex, form)) { s32 r2 = Pokedex_CountSeenDeoxysForms_Internal(pokedex); Pokedex_SetSeenDeoxysFormAt(pokedex, form, (u8)r2); @@ -240,13 +240,13 @@ void Pokedex_SetMonSeenForm(struct Pokedex *pokedex, u16 species, struct Pokemon if (species == SPECIES_UNOWN) { SetSeenUnownLetter(pokedex, species, GetMonUnownLetter(pokemon)); } else if (species == SPECIES_BURMY) { - Pokedex_SetSeenBurmyOrWormadamForm(pokedex, species, (s32)GetMonData(pokemon, MON_DATA_FORM, NULL)); + Pokedex_SetSeenBurmyOrWormadamForm(pokedex, species, (s32)Pokemon_GetData(pokemon, MON_DATA_FORM, NULL)); } else if (species == SPECIES_WORMADAM) { - Pokedex_SetSeenBurmyOrWormadamForm(pokedex, species, (s32)GetMonData(pokemon, MON_DATA_FORM, NULL)); + Pokedex_SetSeenBurmyOrWormadamForm(pokedex, species, (s32)Pokemon_GetData(pokemon, MON_DATA_FORM, NULL)); } else if (species == SPECIES_SHELLOS) { - Pokedex_SetSeenShellosOrGastrodonForm(pokedex, species, GetMonData(pokemon, MON_DATA_FORM, NULL)); + Pokedex_SetSeenShellosOrGastrodonForm(pokedex, species, Pokemon_GetData(pokemon, MON_DATA_FORM, NULL)); } else if (species == SPECIES_GASTRODON) { - Pokedex_SetSeenShellosOrGastrodonForm(pokedex, species, GetMonData(pokemon, MON_DATA_FORM, NULL)); + Pokedex_SetSeenShellosOrGastrodonForm(pokedex, species, Pokemon_GetData(pokemon, MON_DATA_FORM, NULL)); } else if (species == SPECIES_DEOXYS) { Pokedex_TrySetSeenDeoxysForm(pokedex, species, pokemon); } @@ -263,7 +263,7 @@ void Pokedex_SetMeisterFlagBySpeciesAndLanguage(struct Pokedex *pokedex, u32 spe s32 sub_020242C8(struct Pokedex *pokedex, u16 species, s32 r4) { u8 r0; u8 r1; - if (GetMonBaseStat(species, BASE_GENDER_RATIO) == MON_RATIO_UNKNOWN) { + if (Species_GetValue(species, SPECIES_DATA_GENDER_RATIO) == MON_RATIO_UNKNOWN) { return r4 == 0 ? 2 : -1; } r1 = (u8)CheckDexFlag(pokedex->field_0084, species); @@ -572,9 +572,9 @@ static inline void SetSeenGender(struct Pokedex *pokedex, u16 species, u8 gender } void Pokedex_SetMonSeenFlag(struct Pokedex *pokedex, struct Pokemon *pokemon) { - u16 species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, NULL); - u32 personality = GetMonData(pokemon, MON_DATA_PERSONALITY, NULL); - u32 gender = GetMonGender(pokemon); + u16 species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + u32 personality = Pokemon_GetData(pokemon, MON_DATA_PERSONALITY, NULL); + u32 gender = Pokemon_GetGender(pokemon); GF_ASSERT(pokedex->magic == 0xBEEFCAFE); if (DexSpeciesIsInvalid(species)) { return; @@ -600,10 +600,10 @@ void Pokedex_SetMonCaughtFlag(struct Pokedex *pokedex, struct Pokemon *pokemon) u32 gender; // r7 u16 species; // r6 - species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, NULL); - language = GetMonData(pokemon, MON_DATA_LANGUAGE, NULL); - personality = GetMonData(pokemon, MON_DATA_PERSONALITY, NULL); - gender = GetMonGender(pokemon); + species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + language = Pokemon_GetData(pokemon, MON_DATA_LANGUAGE, NULL); + personality = Pokemon_GetData(pokemon, MON_DATA_PERSONALITY, NULL); + gender = Pokemon_GetGender(pokemon); GF_ASSERT(pokedex->magic == 0xBEEFCAFE); if (DexSpeciesIsInvalid(species)) { return; diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c index bf3bfa403..8570919a9 100644 --- a/arm9/src/pokemon.c +++ b/arm9/src/pokemon.c @@ -22,36 +22,36 @@ #include "string_util.h" #include "unk_020051F4.h" -u32 GetMonDataInternal(struct Pokemon *pokemon, int attr, void *ptr); -u32 GetBoxMonDataInternal(struct BoxPokemon *pokemon, int attr, void *ptr); -void SetMonDataInternal(struct Pokemon *pokemon, int attr, void *ptr); -void SetBoxMonDataInternal(struct BoxPokemon *pokemon, int attr, void *ptr); -void AddMonDataInternal(struct Pokemon *pokemon, int attr, int amount); -void AddBoxMonData(struct BoxPokemon *pokemon, int attr, int amount); -u32 CalcBoxMonExpToNextLevel(struct BoxPokemon *boxmon); -u16 ModifyStatByNature(u8 nature, u16 statval, u8 statno); -u8 GetGenderBySpeciesAndPersonality_PreloadedPersonal(struct BaseStats *personal, u16 species, u32 pid); -u8 BoxMonIsShiny(struct BoxPokemon *boxmon); -u8 CalcShininessByOtIdAndPersonality(u32 otid, u32 pid); -void InitBoxMonMoveset(struct BoxPokemon *boxmon); -u32 sub_020696A8(struct BoxPokemon *boxmon, u16 move); -void sub_02069718(struct BoxPokemon *boxmon, u16 move); -void BoxMonSetMoveInSlot(struct BoxPokemon *boxmon, u16 move, u8 slot); -void sub_020698E8(struct BoxPokemon *boxmon, int slot1, int slot2); -s8 BoxMonGetFlavorPreference(struct BoxPokemon *boxmon, int flavor); +static u32 Pokemon_GetDataInternal(Pokemon *mon, int param, void *ptr); +static u32 BoxPokemon_GetDataInternal(BoxPokemon *boxMon, int param, void *ptr); +static void Pokemon_SetDataInternal(Pokemon *mon, int param, void *ptr); +static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, int param, void *ptr); +static void AddMonDataInternal(Pokemon *mon, int param, int amount); +void BoxPokemon_AddDataInternal(BoxPokemon *boxMon, int param, int amount); +u32 BoxPokemon_CalcExpToNextLevel(BoxPokemon *boxMon); +u16 Nature_ModifyStatValue(u8 nature, u16 value, u8 stat); +u8 SpeciesData_GetGenderFromPersonality(SpeciesData *speciesData, u16 species, u32 personality); +u8 BoxPokemon_IsShiny(BoxPokemon *boxMon); +u8 Personality_IsShiny(u32 otID, u32 personality); +void BoxPokemon_SetDefaultMoves(BoxPokemon *boxMon); +u32 sub_020696A8(BoxPokemon *boxMon, u16 move); +void sub_02069718(BoxPokemon *boxMon, u16 move); +void BoxMonSetMoveInSlot(BoxPokemon *boxMon, u16 move, u8 slot); +void sub_020698E8(BoxPokemon *boxMon, int slot1, int slot2); +s8 BoxMonGetFlavorPreference(BoxPokemon *boxMon, int flavor); s8 GetFlavorPreferenceFromPID(u32 personality, int flavor); u8 Party_MaskMonsWithPokerus(struct Party *party_p, u8 mask); -BOOL BoxMon_HasPokerus(struct BoxPokemon *boxmon); -BOOL BoxMon_IsImmuneToPokerus(struct BoxPokemon *boxmon); -void BoxMon_UpdateArceusForm(struct BoxPokemon *boxmon); +BOOL BoxMon_HasPokerus(BoxPokemon *boxMon); +BOOL BoxMon_IsImmuneToPokerus(BoxPokemon *boxMon); +void BoxMon_UpdateArceusForm(BoxPokemon *boxMon); void LoadLevelUpLearnset_HandleAlternateForm(int species, int form, u16 *levelUpLearnset); -void sub_0206A054(struct BoxPokemon *boxmon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, HeapID heapId); -BOOL MonHasMove(struct Pokemon *pokemon, u16 move); -BOOL sub_0206A144(struct BoxPokemon *boxmon, u32 a1); +void sub_0206A054(BoxPokemon *boxMon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, HeapID heapId); +BOOL MonHasMove(Pokemon *pokemon, u16 move); +BOOL sub_0206A144(BoxPokemon *boxMon, u32 a1); BOOL sub_0206A16C(u16 species, int form, u32 a2); -void sub_0206A1CC(struct BoxPokemon *boxmon); +void sub_0206A1CC(BoxPokemon *boxMon); u32 MaskOfFlagNo(int flagno); -void LoadMonPersonal(int species, struct BaseStats *personal); +void SpeciesData_LoadSpecies(int species, SpeciesData *personal); void LoadMonEvolutionTable(u16 species, struct Evolution *dest); int ResolveMonForm(int species, int form); @@ -59,60 +59,21 @@ void MonEncryptSegment(u16 *datap, u32 size, u32 key); void MonDecryptSegment(u16 *datap, u32 size, u32 key); u16 MonEncryptionLCRNG(u32 *seed); u16 CalcMonChecksum(u16 *datap, u32 size); -PokemonDataBlock *GetSubstruct(struct BoxPokemon *boxmon, u32 personality, u8 which_struct); -void LoadMonBaseStats_HandleAlternateForm(int species, int form, struct BaseStats *baseStats); -u8 GetBoxMonUnownLetter(struct BoxPokemon *boxmon); +PokemonDataBlock *GetSubstruct(BoxPokemon *boxMon, u32 personality, u8 which_struct); +void SpeciesData_LoadForm(int species, int form, SpeciesData *baseStats); +u8 GetBoxMonUnownLetter(BoxPokemon *boxMon); -#define ENCRY_ARGS_PTY(mon) (u16 *)&(mon)->party, sizeof((mon)->party), (mon)->box.pid -#define ENCRY_ARGS_BOX(boxmon) (u16 *)&(boxmon)->substructs, sizeof((boxmon)->substructs), (boxmon)->checksum -#define ENCRYPT_PTY(mon) MonEncryptSegment(ENCRY_ARGS_PTY(mon)) -#define ENCRYPT_BOX(boxmon) MonEncryptSegment(ENCRY_ARGS_BOX(boxmon)) -#define DECRYPT_PTY(mon) MonDecryptSegment(ENCRY_ARGS_PTY(mon)) -#define DECRYPT_BOX(boxmon) MonDecryptSegment(ENCRY_ARGS_BOX(boxmon)) -#define CHECKSUM(boxmon) CalcMonChecksum((u16 *)(boxmon)->substructs, sizeof((boxmon)->substructs)) -#define SHINY_CHECK(otid, pid) (( \ - ((((otid) & 0xFFFF0000u) >> 16u)) ^ (((otid) & 0xFFFFu)) ^ ((((pid) & 0xFFFF0000u) >> 16u)) ^ (((pid) & 0xFFFFu))) \ +#define ENCRY_ARGS_PARTY(mon) (u16 *)&(mon)->party, sizeof((mon)->party), (mon)->box.personality +#define ENCRY_ARGS_BOX(boxMon) (u16 *)&(boxMon)->dataBlocks, sizeof((boxMon)->dataBlocks), (boxMon)->checksum +#define ENCRYPT_PARTY(mon) MonEncryptSegment(ENCRY_ARGS_PARTY(mon)) +#define ENCRYPT_BOX(boxMon) MonEncryptSegment(ENCRY_ARGS_BOX(boxMon)) +#define DECRYPT_PARTY(mon) MonDecryptSegment(ENCRY_ARGS_PARTY(mon)) +#define DECRYPT_BOX(boxMon) MonDecryptSegment(ENCRY_ARGS_BOX(boxMon)) +#define CHECKSUM(boxMon) CalcMonChecksum((u16 *)(boxMon)->dataBlocks, sizeof((boxMon)->dataBlocks)) +#define SHINY_CHECK(otid, pid) (( \ + (((otid) & 0xFFFF0000u) >> 16u) ^ ((otid) & 0xFFFFu) ^ (((pid) & 0xFFFF0000u) >> 16u) ^ ((pid) & 0xFFFFu)) \ < 8u) -#define CALC_UNOWN_LETTER(pid) ((u32)((((pid) & 0x3000000) >> 18) | (((pid) & 0x30000) >> 12) | (((pid) & 0x300) >> 6) | (((pid) & 0x3) >> 0)) % 28u) - -const u16 sItemOdds[2][2] = { - { 45, 95 }, - { 20, 80 }, -}; - -const s8 sFriendshipModTable[][3] = { - { 5, 3, 2 }, - { 5, 3, 2 }, - { 1, 1, 0 }, - { 3, 2, 1 }, - { 1, 1, 0 }, - { 1, 1, 1 }, - { -1, -1, -1 }, - { -5, -5, -10 }, - { -5, -5, -10 }, - { 3, 2, 1 }, -}; - -const u16 sLegendaryMonsList[] = { - SPECIES_MEWTWO, - SPECIES_MEW, - SPECIES_HO_OH, - SPECIES_LUGIA, - SPECIES_CELEBI, - SPECIES_KYOGRE, - SPECIES_GROUDON, - SPECIES_RAYQUAZA, - SPECIES_JIRACHI, - SPECIES_DEOXYS, - SPECIES_DIALGA, - SPECIES_PALKIA, - SPECIES_GIRATINA, - SPECIES_PHIONE, - SPECIES_MANAPHY, - SPECIES_DARKRAI, - SPECIES_SHAYMIN, - SPECIES_ARCEUS, -}; +#define CALC_UNOWN_LETTER(pid) ((u32)((((pid) & 0x3000000) >> 18) | (((pid) & 0x30000) >> 12) | (((pid) & 0x300) >> 6) | (((pid) & 0x3) >> 0)) % UNOWN_FORM_MAX) const s8 sFlavorPreferencesByNature[][5] = { // Spicy, Dry, Sweet, Bitter, Sour @@ -143,220 +104,199 @@ const s8 sFlavorPreferencesByNature[][5] = { { 0, 0, 0, 0, 0 }, // NATURE_QUIRKY }; -const s8 sNatureStatMods[][5] = { - // Atk, Def, Speed, SpAtk, SpDef - { 0, 0, 0, 0, 0 }, // NATURE_HARDY - { 1, -1, 0, 0, 0 }, // NATURE_LONELY - { 1, 0, -1, 0, 0 }, // NATURE_BRAVE - { 1, 0, 0, -1, 0 }, // NATURE_ADAMANT - { 1, 0, 0, 0, -1 }, // NATURE_NAUGHTY - { -1, 1, 0, 0, 0 }, // NATURE_BOLD - { 0, 0, 0, 0, 0 }, // NATURE_DOCILE - { 0, 1, -1, 0, 0 }, // NATURE_RELAXED - { 0, 1, 0, -1, 0 }, // NATURE_IMPISH - { 0, 1, 0, 0, -1 }, // NATURE_LAX - { -1, 0, 1, 0, 0 }, // NATURE_TIMID - { 0, -1, 1, 0, 0 }, // NATURE_HASTY - { 0, 0, 0, 0, 0 }, // NATURE_SERIOUS - { 0, 0, 1, -1, 0 }, // NATURE_JOLLY - { 0, 0, 1, 0, -1 }, // NATURE_NAIVE - { -1, 0, 0, 1, 0 }, // NATURE_MODEST - { 0, -1, 0, 1, 0 }, // NATURE_MILD - { 0, 0, -1, 1, 0 }, // NATURE_QUIET - { 0, 0, 0, 0, 0 }, // NATURE_BASHFUL - { 0, 0, 0, 1, -1 }, // NATURE_RASH - { -1, 0, 0, 0, 1 }, // NATURE_CALM - { 0, -1, 0, 0, 1 }, // NATURE_GENTLE - { 0, 0, -1, 0, 1 }, // NATURE_SASSY - { 0, 0, 0, -1, 1 }, // NATURE_CAREFUL - { 0, 0, 0, 0, 0 }, // NATURE_QUIRKY -}; - -void ZeroMonData(struct Pokemon *pokemon) { - MI_CpuClearFast(pokemon, sizeof(struct Pokemon)); - ENCRYPT_BOX(&pokemon->box); - ENCRYPT_PTY(pokemon); +void Pokemon_Init(Pokemon *mon) { + MI_CpuClearFast(mon, sizeof(Pokemon)); + ENCRYPT_BOX(&mon->box); + ENCRYPT_PARTY(mon); } -void ZeroBoxMonData(struct BoxPokemon *boxmon) { - MI_CpuClearFast(boxmon, sizeof(struct BoxPokemon)); - ENCRYPT_BOX(boxmon); +void BoxPokemon_Init(BoxPokemon *boxMon) { + MI_CpuClearFast(boxMon, sizeof(BoxPokemon)); + ENCRYPT_BOX(boxMon); } u32 SizeOfStructPokemon(void) { - return sizeof(struct Pokemon); + return sizeof(Pokemon); } -struct Pokemon *AllocMonZeroed(HeapID heapId) { - struct Pokemon *pokemon = (struct Pokemon *)AllocFromHeap(heapId, sizeof(struct Pokemon)); - ZeroMonData(pokemon); - return pokemon; +Pokemon *Pokemon_New(HeapID heapID) { + Pokemon *mon = AllocFromHeap(heapID, sizeof(Pokemon)); + Pokemon_Init(mon); + return mon; } -BOOL AcquireMonLock(struct Pokemon *mon) { +BOOL AcquireMonLock(Pokemon *mon) { BOOL ret = FALSE; - if (!mon->box.party_lock) { + if (!mon->box.partyDecrypted) { ret = TRUE; - GF_ASSERT(!mon->box.box_lock); - mon->box.party_lock = TRUE; - mon->box.box_lock = TRUE; - DECRYPT_PTY(mon); + GF_ASSERT(!mon->box.boxDecrypted); + mon->box.partyDecrypted = TRUE; + mon->box.boxDecrypted = TRUE; + DECRYPT_PARTY(mon); DECRYPT_BOX(&mon->box); } return ret; } -BOOL ReleaseMonLock(struct Pokemon *mon, BOOL decrypt_result) { +BOOL ReleaseMonLock(Pokemon *mon, BOOL decrypt_result) { BOOL ret = FALSE; - if (mon->box.party_lock == TRUE && decrypt_result == TRUE) { + if (mon->box.partyDecrypted == TRUE && decrypt_result == TRUE) { ret = TRUE; - mon->box.party_lock = FALSE; - mon->box.box_lock = FALSE; - ENCRYPT_PTY(mon); + mon->box.partyDecrypted = FALSE; + mon->box.boxDecrypted = FALSE; + ENCRYPT_PARTY(mon); mon->box.checksum = CHECKSUM(&mon->box); ENCRYPT_BOX(&mon->box); } return ret; } -BOOL AcquireBoxMonLock(struct BoxPokemon *mon) { +BOOL AcquireBoxMonLock(BoxPokemon *mon) { BOOL ret = FALSE; - if (!mon->box_lock) { + if (!mon->boxDecrypted) { ret = TRUE; - mon->box_lock = TRUE; + mon->boxDecrypted = TRUE; DECRYPT_BOX(mon); } return ret; } -BOOL ReleaseBoxMonLock(struct BoxPokemon *mon, BOOL decrypt_result) { +BOOL ReleaseBoxMonLock(BoxPokemon *mon, BOOL decrypt_result) { BOOL ret = FALSE; - if (mon->box_lock == TRUE && decrypt_result == TRUE) { + if (mon->boxDecrypted == TRUE && decrypt_result == TRUE) { ret = TRUE; - mon->box_lock = FALSE; + mon->boxDecrypted = FALSE; mon->checksum = CHECKSUM(mon); ENCRYPT_BOX(mon); } return ret; } -void CreateMon(struct Pokemon *pokemon, int species, int level, int fixedIV, int hasFixedPersonality, int fixedPersonality, int otIdType, int fixedOtId) { - struct Mail *mail; - u32 capsule; - u8 seal_coords[0x18]; - ZeroMonData(pokemon); - CreateBoxMon(&pokemon->box, species, level, fixedIV, hasFixedPersonality, fixedPersonality, otIdType, fixedOtId); +void Pokemon_InitWithParams(Pokemon *mon, int species, int level, int ivs, BOOL hasFixedPersonality, int personality, int otIDType, int otID) { + Pokemon_Init(mon); + + BoxPokemon_InitWithParams(&mon->box, species, level, ivs, hasFixedPersonality, personality, otIDType, otID); // Not your average encryption call - MonEncryptSegment((u16 *)&pokemon->party, sizeof(pokemon->party), 0); - ENCRYPT_PTY(pokemon); - SetMonData(pokemon, MON_DATA_LEVEL, &level); - mail = Mail_New(HEAP_ID_DEFAULT); - SetMonData(pokemon, MON_DATA_MAIL, mail); + MonEncryptSegment((u16 *)&mon->party, sizeof(mon->party), 0); + ENCRYPT_PARTY(mon); + Pokemon_SetData(mon, MON_DATA_LEVEL, &level); + + Mail *mail = Mail_New(HEAP_ID_DEFAULT); + Pokemon_SetData(mon, MON_DATA_MAIL, mail); FreeToHeap(mail); - capsule = 0; - SetMonData(pokemon, MON_DATA_BALL_CAPSULE_ID, &capsule); - MI_CpuClearFast(seal_coords, sizeof(seal_coords)); - SetMonData(pokemon, MON_DATA_BALL_CAPSULE, seal_coords); - CalcMonLevelAndStats(pokemon); + + u32 zero = 0; + u8 capsule[0x18]; + Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE_ID, &zero); + MI_CpuClearFast(capsule, sizeof(capsule)); + Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE, capsule); + + Pokemon_CalcLevelAndStats(mon); } -void CreateBoxMon(struct BoxPokemon *boxPokemon, int species, int level, int fixedIV, int hasFixedPersonality, int fixedPersonality, int otIdType, int fixedOtId) { - BOOL decry; - u32 exp; - u32 iv; - ZeroBoxMonData(boxPokemon); - decry = AcquireBoxMonLock(boxPokemon); - if (hasFixedPersonality == 0) { - fixedPersonality = (LCRandom() | (LCRandom() << 16)); +void BoxPokemon_InitWithParams(BoxPokemon *boxMon, int species, int level, int ivs, BOOL hasFixedPersonality, int personality, int otIDType, int otID) { + u32 var1, var2; + BoxPokemon_Init(boxMon); + BOOL reencrypt = AcquireBoxMonLock(boxMon); + if (!hasFixedPersonality) { + personality = (LCRandom() | (LCRandom() << 16)); } - SetBoxMonData(boxPokemon, MON_DATA_PERSONALITY, &fixedPersonality); - if (otIdType == 2) { + BoxPokemon_SetData(boxMon, MON_DATA_PERSONALITY, &personality); + + if (otIDType == 2) { do { - fixedOtId = (LCRandom() | (LCRandom() << 16)); - } while (SHINY_CHECK(fixedOtId, fixedPersonality)); - } else if (otIdType != 1) { - fixedOtId = 0; + otID = (LCRandom() | (LCRandom() << 16)); + } while (SHINY_CHECK(otID, personality)); + } else if (otIDType != 1) { + otID = 0; } - SetBoxMonData(boxPokemon, MON_DATA_OT_ID, &fixedOtId); - SetBoxMonData(boxPokemon, MON_DATA_LANGUAGE, (void *)&gGameLanguage); - SetBoxMonData(boxPokemon, MON_DATA_SPECIES, &species); - SetBoxMonData(boxPokemon, MON_DATA_SPECIES_NAME, NULL); - exp = GetMonExpBySpeciesAndLevel(species, level); - SetBoxMonData(boxPokemon, MON_DATA_EXPERIENCE, &exp); - exp = (u32)GetMonBaseStat(species, BASE_FRIENDSHIP); - SetBoxMonData(boxPokemon, MON_DATA_FRIENDSHIP, &exp); - SetBoxMonData(boxPokemon, MON_DATA_MET_LEVEL, &level); - SetBoxMonData(boxPokemon, MON_DATA_MET_GAME, (void *)&gGameVersion); - exp = ITEM_POKE_BALL; - SetBoxMonData(boxPokemon, MON_DATA_POKEBALL, &exp); - if (fixedIV < 0x20) { - SetBoxMonData(boxPokemon, MON_DATA_HP_IV, &fixedIV); - SetBoxMonData(boxPokemon, MON_DATA_ATK_IV, &fixedIV); - SetBoxMonData(boxPokemon, MON_DATA_DEF_IV, &fixedIV); - SetBoxMonData(boxPokemon, MON_DATA_SPEED_IV, &fixedIV); - SetBoxMonData(boxPokemon, MON_DATA_SPATK_IV, &fixedIV); - SetBoxMonData(boxPokemon, MON_DATA_SPDEF_IV, &fixedIV); + BoxPokemon_SetData(boxMon, MON_DATA_OT_ID, &otID); + BoxPokemon_SetData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage); + BoxPokemon_SetData(boxMon, MON_DATA_SPECIES, &species); + BoxPokemon_SetData(boxMon, MON_DATA_SPECIES_NAME, NULL); + + var1 = Species_GetExpAtLevel(species, level); + BoxPokemon_SetData(boxMon, MON_DATA_EXPERIENCE, &var1); + + var1 = Species_GetValue(species, SPECIES_DATA_BASE_FRIENDSHIP); + BoxPokemon_SetData(boxMon, MON_DATA_FRIENDSHIP, &var1); + + BoxPokemon_SetData(boxMon, MON_DATA_MET_LEVEL, &level); + BoxPokemon_SetData(boxMon, MON_DATA_MET_GAME, &gGameVersion); + + var1 = ITEM_POKE_BALL; + BoxPokemon_SetData(boxMon, MON_DATA_POKEBALL, &var1); + + if (ivs < 0x20) { + BoxPokemon_SetData(boxMon, MON_DATA_HP_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_ATK_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_DEF_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_SPEED_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_SPATK_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_SPDEF_IV, &ivs); } else { - exp = LCRandom(); - iv = exp & 0x1F; - SetBoxMonData(boxPokemon, MON_DATA_HP_IV, &iv); - iv = (exp & 0x3E0) >> 5; - SetBoxMonData(boxPokemon, MON_DATA_ATK_IV, &iv); - iv = (exp & 0x7C00) >> 10; - SetBoxMonData(boxPokemon, MON_DATA_DEF_IV, &iv); - exp = LCRandom(); - iv = exp & 0x1F; - SetBoxMonData(boxPokemon, MON_DATA_SPEED_IV, &iv); - iv = (exp & 0x3E0) >> 5; - SetBoxMonData(boxPokemon, MON_DATA_SPATK_IV, &iv); - iv = (exp & 0x7C00) >> 10; - SetBoxMonData(boxPokemon, MON_DATA_SPDEF_IV, &iv); + var1 = LCRandom(); + var2 = var1 & 0x1F; + BoxPokemon_SetData(boxMon, MON_DATA_HP_IV, &var2); + var2 = (var1 & 0x3E0) >> 5; + BoxPokemon_SetData(boxMon, MON_DATA_ATK_IV, &var2); + var2 = (var1 & 0x7C00) >> 10; + BoxPokemon_SetData(boxMon, MON_DATA_DEF_IV, &var2); + var1 = LCRandom(); + var2 = var1 & 0x1F; + BoxPokemon_SetData(boxMon, MON_DATA_SPEED_IV, &var2); + var2 = (var1 & 0x3E0) >> 5; + BoxPokemon_SetData(boxMon, MON_DATA_SPATK_IV, &var2); + var2 = (var1 & 0x7C00) >> 10; + BoxPokemon_SetData(boxMon, MON_DATA_SPDEF_IV, &var2); } - exp = (u32)GetMonBaseStat(species, BASE_ABILITY_1); - iv = (u32)GetMonBaseStat(species, BASE_ABILITY_2); - if (iv != 0) { - if (fixedPersonality & 1) { - SetBoxMonData(boxPokemon, MON_DATA_ABILITY, &iv); + + var1 = Species_GetValue(species, SPECIES_DATA_ABILITY_1); + var2 = Species_GetValue(species, SPECIES_DATA_ABILITY_2); + if (var2 != ABILITY_NONE) { + if (personality & 1) { + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &var2); } else { - SetBoxMonData(boxPokemon, MON_DATA_ABILITY, &exp); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &var1); } } else { - SetBoxMonData(boxPokemon, MON_DATA_ABILITY, &exp); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &var1); } - exp = GetBoxMonGender(boxPokemon); - SetBoxMonData(boxPokemon, MON_DATA_GENDER, &exp); - InitBoxMonMoveset(boxPokemon); - ReleaseBoxMonLock(boxPokemon, decry); + + var1 = BoxPokemon_GetGender(boxMon); + BoxPokemon_SetData(boxMon, MON_DATA_GENDER, &var1); + BoxPokemon_SetDefaultMoves(boxMon); + ReleaseBoxMonLock(boxMon, reencrypt); } -void CreateMonWithNature(struct Pokemon *pokemon, u16 species, u8 level, u8 fixedIv, u8 nature) { +void Pokemon_InitWithNature(Pokemon *mon, u16 species, u8 level, u8 ivs, u8 nature) { u32 personality; do { personality = (u32)(LCRandom() | (LCRandom() << 16)); - } while (nature != GetNatureFromPersonality(personality)); - CreateMon(pokemon, (int)species, (int)level, (int)fixedIv, 1, (int)personality, (int)0, (int)0); + } while (nature != Personality_GetNature(personality)); + Pokemon_InitWithParams(mon, species, level, ivs, TRUE, personality, 0, 0); } -// FIXME: stack storage of pokemon, fixedIv swapped -void CreateMonWithGenderNatureLetter(struct Pokemon *pokemon, u16 species, u8 level, u8 fixedIv, u8 gender, u8 nature, u8 letter) { - u32 pid = 0; - u16 test = 0; - if (letter != 0 && letter < 29) { +void Pokemon_InitWithGenderNatureLetter(Pokemon *mon, u16 species, u8 level, u8 ivs, u8 gender, u8 nature, u8 letter) { + u32 personality = 0; + u16 unownLetter = 0; + + if (letter != 0 && letter < UNOWN_FORM_MAX + 1) { do { - pid = (u32)(LCRandom() | (LCRandom() << 16)); - test = (u16)CALC_UNOWN_LETTER(pid); - } while (nature != GetNatureFromPersonality(pid) || gender != GetGenderBySpeciesAndPersonality(species, pid) || test != letter - 1); + personality = (u32)(LCRandom() | (LCRandom() << 16)); + unownLetter = CALC_UNOWN_LETTER(personality); + } while (nature != Personality_GetNature(personality) || gender != Species_GetGenderFromPersonality(species, personality) || unownLetter != letter - 1); } else { - pid = GenPersonalityByGenderAndNature(species, gender, nature); + personality = Personality_CreateFromGenderAndNature(species, gender, nature); } - CreateMon(pokemon, (int)species, (int)level, (int)fixedIv, 1, (int)pid, 0, 0); + Pokemon_InitWithParams(mon, species, level, ivs, TRUE, personality, 0, 0); } -u32 GenPersonalityByGenderAndNature(u16 species, u8 gender, u8 nature) { +u32 Personality_CreateFromGenderAndNature(u16 species, u8 gender, u8 nature) { int pid = nature; - u8 ratio = (u8)GetMonBaseStat(species, BASE_GENDER_RATIO); + u8 ratio = Species_GetValue(species, SPECIES_DATA_GENDER_RATIO); switch (ratio) { case MON_RATIO_MALE: case MON_RATIO_FEMALE: @@ -371,210 +311,199 @@ u32 GenPersonalityByGenderAndNature(u16 species, u8 gender, u8 nature) { } break; } - return (u32)pid; + return pid; } -void CreateMonWithFixedIVs(struct Pokemon *pokemon, int species, int level, int ivs, int personality) { - CreateMon(pokemon, species, level, 0, 1, personality, 0, 0); - SetMonData(pokemon, MON_DATA_COMBINED_IVS, &ivs); - CalcMonLevelAndStats(pokemon); +void CreateMonWithFixedIVs(Pokemon *mon, int species, int level, int ivs, int personality) { + Pokemon_InitWithParams(mon, species, level, 0, 1, personality, 0, 0); + Pokemon_SetData(mon, MON_DATA_COMBINED_IVS, &ivs); + Pokemon_CalcLevelAndStats(mon); } -void CalcMonLevelAndStats(struct Pokemon *pokemon) { - BOOL decry = AcquireMonLock(pokemon); - u32 level = (u32)CalcMonLevel(pokemon); - SetMonData(pokemon, MON_DATA_LEVEL, &level); - CalcMonStats(pokemon); - ReleaseMonLock(pokemon, decry); +void Pokemon_CalcLevelAndStats(Pokemon *mon) { + BOOL reencrypt = AcquireMonLock(mon); + int level = Pokemon_CalcLevel(mon); + Pokemon_SetData(mon, MON_DATA_LEVEL, &level); + Pokemon_CalcStats(mon); + ReleaseMonLock(mon, reencrypt); } -void CalcMonStats(struct Pokemon *pokemon) { - struct BaseStats *baseStats; - int level; - int maxHp; - int hpIv; - int hpEv; - int atkIv; - int defIv; - int speedIv; - int spatkIv; - int spdefIv; - int atkEv; - int defEv; - int speedEv; - int spatkEv; - int spdefEv; - int form; - int hp; - int species; +void Pokemon_CalcStats(Pokemon *mon) { + int maxHp, hp; + int hpIV, atkIV, defIV, speedIV, spAtkIV, spDefIV; + int hpEV, atkEV, defEV, speedEV, spAtkEV, spDefEV; + int form, species; int newMaxHp; - int newAtk; - int newDef; - int newSpeed; - int newSpatk; - int newSpdef; - BOOL decry = AcquireMonLock(pokemon); - level = (int)GetMonData(pokemon, MON_DATA_LEVEL, NULL); - maxHp = (int)GetMonData(pokemon, MON_DATA_MAX_HP, NULL); - hp = (int)GetMonData(pokemon, MON_DATA_HP, NULL); - hpIv = (int)GetMonData(pokemon, MON_DATA_HP_IV, NULL); - hpEv = (int)GetMonData(pokemon, MON_DATA_HP_EV, NULL); - atkIv = (int)GetMonData(pokemon, MON_DATA_ATK_IV, NULL); - atkEv = (int)GetMonData(pokemon, MON_DATA_ATK_EV, NULL); - defIv = (int)GetMonData(pokemon, MON_DATA_DEF_IV, NULL); - defEv = (int)GetMonData(pokemon, MON_DATA_DEF_EV, NULL); - speedIv = (int)GetMonData(pokemon, MON_DATA_SPEED_IV, NULL); - speedEv = (int)GetMonData(pokemon, MON_DATA_SPEED_EV, NULL); - spatkIv = (int)GetMonData(pokemon, MON_DATA_SPATK_IV, NULL); - spatkEv = (int)GetMonData(pokemon, MON_DATA_SPATK_EV, NULL); - spdefIv = (int)GetMonData(pokemon, MON_DATA_SPDEF_IV, NULL); - spdefEv = (int)GetMonData(pokemon, MON_DATA_SPDEF_EV, NULL); - form = (int)GetMonData(pokemon, MON_DATA_FORM, NULL); - species = (int)GetMonData(pokemon, MON_DATA_SPECIES, NULL); + BOOL reencrypt = AcquireMonLock(mon); - baseStats = (struct BaseStats *)AllocFromHeap(HEAP_ID_DEFAULT, sizeof(struct BaseStats)); - LoadMonBaseStats_HandleAlternateForm(species, form, baseStats); + int level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + maxHp = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + hp = Pokemon_GetData(mon, MON_DATA_HP, NULL); + hpIV = Pokemon_GetData(mon, MON_DATA_HP_IV, NULL); + hpEV = Pokemon_GetData(mon, MON_DATA_HP_EV, NULL); + atkIV = Pokemon_GetData(mon, MON_DATA_ATK_IV, NULL); + atkEV = Pokemon_GetData(mon, MON_DATA_ATK_EV, NULL); + defIV = Pokemon_GetData(mon, MON_DATA_DEF_IV, NULL); + defEV = Pokemon_GetData(mon, MON_DATA_DEF_EV, NULL); + speedIV = Pokemon_GetData(mon, MON_DATA_SPEED_IV, NULL); + speedEV = Pokemon_GetData(mon, MON_DATA_SPEED_EV, NULL); + spAtkIV = Pokemon_GetData(mon, MON_DATA_SPATK_IV, NULL); + spAtkEV = Pokemon_GetData(mon, MON_DATA_SPATK_EV, NULL); + spDefIV = Pokemon_GetData(mon, MON_DATA_SPDEF_IV, NULL); + spDefEV = Pokemon_GetData(mon, MON_DATA_SPDEF_EV, NULL); + form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + + SpeciesData *speciesData = AllocFromHeap(HEAP_ID_DEFAULT, sizeof(SpeciesData)); + SpeciesData_LoadForm(species, form, speciesData); if (species == SPECIES_SHEDINJA) { newMaxHp = 1; } else { - newMaxHp = (baseStats->hp * 2 + hpIv + hpEv / 4) * level / 100 + level + 10; + newMaxHp = (speciesData->hp * 2 + hpIV + hpEV / 4) * level / 100 + level + 10; } - SetMonData(pokemon, MON_DATA_MAX_HP, &newMaxHp); + Pokemon_SetData(mon, MON_DATA_MAX_HP, &newMaxHp); - newAtk = (baseStats->atk * 2 + atkIv + atkEv / 4) * level / 100 + 5; - newAtk = ModifyStatByNature(GetMonNature(pokemon), (u16)newAtk, 1); - SetMonData(pokemon, MON_DATA_ATK, &newAtk); + int newAtk = (speciesData->atk * 2 + atkIV + atkEV / 4) * level / 100 + 5; + newAtk = Nature_ModifyStatValue(Pokemon_GetNature(mon), newAtk, STAT_ATK); + Pokemon_SetData(mon, MON_DATA_ATK, &newAtk); - newDef = (baseStats->def * 2 + defIv + defEv / 4) * level / 100 + 5; - newDef = ModifyStatByNature(GetMonNature(pokemon), (u16)newDef, 2); - SetMonData(pokemon, MON_DATA_DEF, &newDef); + int newDef = (speciesData->def * 2 + defIV + defEV / 4) * level / 100 + 5; + newDef = Nature_ModifyStatValue(Pokemon_GetNature(mon), newDef, STAT_DEF); + Pokemon_SetData(mon, MON_DATA_DEF, &newDef); - newSpeed = (baseStats->speed * 2 + speedIv + speedEv / 4) * level / 100 + 5; - newSpeed = ModifyStatByNature(GetMonNature(pokemon), (u16)newSpeed, 3); - SetMonData(pokemon, MON_DATA_SPEED, &newSpeed); + int newSpeed = (speciesData->speed * 2 + speedIV + speedEV / 4) * level / 100 + 5; + newSpeed = Nature_ModifyStatValue(Pokemon_GetNature(mon), newSpeed, STAT_SPEED); + Pokemon_SetData(mon, MON_DATA_SPEED, &newSpeed); - newSpatk = (baseStats->spatk * 2 + spatkIv + spatkEv / 4) * level / 100 + 5; - newSpatk = ModifyStatByNature(GetMonNature(pokemon), (u16)newSpatk, 4); - SetMonData(pokemon, MON_DATA_SP_ATK, &newSpatk); + int newSpAtk = (speciesData->spatk * 2 + spAtkIV + spAtkEV / 4) * level / 100 + 5; + newSpAtk = Nature_ModifyStatValue(Pokemon_GetNature(mon), newSpAtk, STAT_SPATK); + Pokemon_SetData(mon, MON_DATA_SP_ATK, &newSpAtk); - newSpdef = (baseStats->spdef * 2 + spdefIv + spdefEv / 4) * level / 100 + 5; - newSpdef = ModifyStatByNature(GetMonNature(pokemon), (u16)newSpdef, 5); - SetMonData(pokemon, MON_DATA_SP_DEF, &newSpdef); + int newSpDef = (speciesData->spdef * 2 + spDefIV + spDefEV / 4) * level / 100 + 5; + newSpDef = Nature_ModifyStatValue(Pokemon_GetNature(mon), newSpDef, STAT_SPDEF); + Pokemon_SetData(mon, MON_DATA_SP_DEF, &newSpDef); - FreeToHeap(baseStats); + FreeToHeap(speciesData); if (hp != 0 || maxHp == 0) { if (species == SPECIES_SHEDINJA) { hp = 1; } else if (hp == 0) { hp = newMaxHp; + // BUG: Pomeg glitch. + // Fixed in HGSS by adding: + // } else if (newMaxHp - maxHp < 0) { + // if (hp > newMaxHp) { + // hp = newMaxHp; + // } } else { hp += newMaxHp - maxHp; } } + if (hp != 0) { - SetMonData(pokemon, MON_DATA_HP, &hp); + Pokemon_SetData(mon, MON_DATA_HP, &hp); } - ReleaseMonLock(pokemon, decry); + ReleaseMonLock(mon, reencrypt); } -u32 GetMonData(struct Pokemon *pokemon, int attr, void *dest) { +u32 Pokemon_GetData(Pokemon *mon, int param, void *dest) { u32 ret; u32 checksum; - if (!pokemon->box.party_lock) { - DECRYPT_PTY(pokemon); - DECRYPT_BOX(&pokemon->box); - checksum = CHECKSUM(&pokemon->box); - if (checksum != pokemon->box.checksum) { - GF_ASSERT(checksum == pokemon->box.checksum); - pokemon->box.checksum_fail = TRUE; + if (!mon->box.partyDecrypted) { + DECRYPT_PARTY(mon); + DECRYPT_BOX(&mon->box); + checksum = CHECKSUM(&mon->box); + if (checksum != mon->box.checksum) { + GF_ASSERT(checksum == mon->box.checksum); + mon->box.checksumFailed = TRUE; } } - ret = GetMonDataInternal(pokemon, attr, dest); - if (!pokemon->box.party_lock) { - ENCRYPT_PTY(pokemon); - ENCRYPT_BOX(&pokemon->box); + ret = Pokemon_GetDataInternal(mon, param, dest); + if (!mon->box.partyDecrypted) { + ENCRYPT_PARTY(mon); + ENCRYPT_BOX(&mon->box); } return ret; } -u32 GetMonDataInternal(struct Pokemon *pokemon, int attr, void *dest) { - switch (attr) { +static u32 Pokemon_GetDataInternal(Pokemon *mon, int param, void *dest) { + switch (param) { case MON_DATA_STATUS: - return pokemon->party.status; + return mon->party.status; case MON_DATA_LEVEL: - return pokemon->party.level; + return mon->party.level; case MON_DATA_BALL_CAPSULE_ID: - return pokemon->party.capsule; + return mon->party.ballCapsuleID; case MON_DATA_HP: - return pokemon->party.hp; + return mon->party.hp; case MON_DATA_MAX_HP: - return pokemon->party.maxHp; + return mon->party.maxHP; case MON_DATA_ATK: - return pokemon->party.atk; + return mon->party.atk; case MON_DATA_DEF: - return pokemon->party.def; + return mon->party.def; case MON_DATA_SPEED: - return pokemon->party.speed; + return mon->party.speed; case MON_DATA_SP_ATK: - return pokemon->party.spatk; + return mon->party.spatk; case MON_DATA_SP_DEF: - return pokemon->party.spdef; + return mon->party.spdef; case MON_DATA_MAIL: - Mail_Copy(&pokemon->party.mail, dest); - return 1; + Mail_Copy(&mon->party.mail, dest); + return TRUE; case MON_DATA_BALL_CAPSULE: - CapsuleArray_Copy(&pokemon->party.sealCoords, dest); - return 1; + CapsuleArray_Copy(&mon->party.sealCoords, dest); + return TRUE; default: - return GetBoxMonDataInternal(&pokemon->box, attr, dest); + return BoxPokemon_GetDataInternal(&mon->box, param, dest); } } -u32 GetBoxMonData(struct BoxPokemon *boxmon, int attr, void *dest) { +u32 BoxPokemon_GetData(BoxPokemon *boxMon, int param, void *dest) { u32 ret; u32 checksum; - if (!boxmon->box_lock) { - DECRYPT_BOX(boxmon); - checksum = CHECKSUM(boxmon); - if (checksum != boxmon->checksum) { - GF_ASSERT(checksum == boxmon->checksum); - boxmon->checksum_fail = TRUE; + if (!boxMon->boxDecrypted) { + DECRYPT_BOX(boxMon); + checksum = CHECKSUM(boxMon); + if (checksum != boxMon->checksum) { + GF_ASSERT(checksum == boxMon->checksum); + boxMon->checksumFailed = TRUE; } } - ret = GetBoxMonDataInternal(boxmon, attr, dest); - if (!boxmon->box_lock) { - ENCRYPT_BOX(boxmon); + ret = BoxPokemon_GetDataInternal(boxMon, param, dest); + if (!boxMon->boxDecrypted) { + ENCRYPT_BOX(boxMon); } return ret; } -u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { +static u32 BoxPokemon_GetDataInternal(BoxPokemon *boxMon, int param, void *dest) { u32 ret = 0; - PokemonDataBlockA *blockA = &GetSubstruct(boxmon, boxmon->pid, 0)->blockA; - PokemonDataBlockB *blockB = &GetSubstruct(boxmon, boxmon->pid, 1)->blockB; - PokemonDataBlockC *blockC = &GetSubstruct(boxmon, boxmon->pid, 2)->blockC; - PokemonDataBlockD *blockD = &GetSubstruct(boxmon, boxmon->pid, 3)->blockD; + PokemonDataBlockA *blockA = &GetSubstruct(boxMon, boxMon->personality, 0)->blockA; + PokemonDataBlockB *blockB = &GetSubstruct(boxMon, boxMon->personality, 1)->blockB; + PokemonDataBlockC *blockC = &GetSubstruct(boxMon, boxMon->personality, 2)->blockC; + PokemonDataBlockD *blockD = &GetSubstruct(boxMon, boxMon->personality, 3)->blockD; - switch (attr) { + switch (param) { default: ret = 0; break; case MON_DATA_PERSONALITY: - ret = boxmon->pid; + ret = boxMon->personality; break; case MON_DATA_IS_PARTY_DECRYPTED: - ret = boxmon->party_lock; + ret = boxMon->partyDecrypted; break; case MON_DATA_IS_BOX_DECRYPTED: - ret = boxmon->box_lock; + ret = boxMon->boxDecrypted; break; case MON_DATA_CHECKSUM_FAILED: - ret = boxmon->checksum_fail; + ret = boxMon->checksumFailed; break; case MON_DATA_CHECKSUM: - ret = boxmon->checksum; + ret = boxMon->checksum; break; case MON_DATA_SPECIES_EXISTS: if (blockA->species != SPECIES_NONE) { @@ -584,22 +513,22 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { } break; case MON_DATA_SANITY_IS_EGG: - ret = boxmon->checksum_fail; + ret = boxMon->checksumFailed; if (!ret) { ret = blockB->isEgg; } break; case MON_DATA_SPECIES_OR_EGG: ret = blockA->species; - if (ret != SPECIES_NONE && (blockB->isEgg || boxmon->checksum_fail)) { + if (ret != SPECIES_NONE && (blockB->isEgg || boxMon->checksumFailed)) { ret = SPECIES_EGG; } break; case MON_DATA_LEVEL: - ret = (u32)CalcLevelBySpeciesAndExp(blockA->species, blockA->exp); + ret = (u32)Species_CalcLevelByExp(blockA->species, blockA->exp); break; case MON_DATA_SPECIES: - if (boxmon->checksum_fail) { + if (boxMon->checksumFailed) { ret = SPECIES_EGG; } else { ret = blockA->species; @@ -636,28 +565,28 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { ret = blockA->defEV; break; case MON_DATA_SPEED_EV: - ret = blockA->spdEV; + ret = blockA->speedEV; break; case MON_DATA_SPATK_EV: - ret = blockA->spatkEV; + ret = blockA->spAtkEV; break; case MON_DATA_SPDEF_EV: - ret = blockA->spdefEV; + ret = blockA->spDefEV; break; case MON_DATA_COOL: - ret = blockA->coolStat; + ret = blockA->cool; break; case MON_DATA_BEAUTY: - ret = blockA->beautyStat; + ret = blockA->beauty; break; case MON_DATA_CUTE: - ret = blockA->cuteStat; + ret = blockA->cute; break; case MON_DATA_SMART: - ret = blockA->smartStat; + ret = blockA->smart; break; case MON_DATA_TOUGH: - ret = blockA->toughStat; + ret = blockA->tough; break; case MON_DATA_SHEEN: ret = blockA->sheen; @@ -691,7 +620,7 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { case MON_DATA_CLASSIC_RIBBON: case MON_DATA_PREMIER_RIBBON: case MON_DATA_UNUSED_RIBBON_53: { - if (blockA->sinnohRibbons & (1ll << (attr - MON_DATA_SINNOH_CHAMP_RIBBON))) { + if (blockA->ribbonsDS1 & (1ll << (param - MON_DATA_SINNOH_CHAMP_RIBBON))) { ret = TRUE; } else { ret = FALSE; @@ -701,25 +630,25 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { case MON_DATA_MOVE2: case MON_DATA_MOVE3: case MON_DATA_MOVE4: - ret = blockB->moves[attr - MON_DATA_MOVE1]; + ret = blockB->moves[param - MON_DATA_MOVE1]; break; case MON_DATA_MOVE1_PP: case MON_DATA_MOVE2_PP: case MON_DATA_MOVE3_PP: case MON_DATA_MOVE4_PP: - ret = blockB->movePP[attr - MON_DATA_MOVE1_PP]; + ret = blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP]; break; case MON_DATA_MOVE1_PP_UPS: case MON_DATA_MOVE2_PP_UPS: case MON_DATA_MOVE3_PP_UPS: case MON_DATA_MOVE4_PP_UPS: - ret = blockB->movePpUps[attr - MON_DATA_MOVE1_PP_UPS]; + ret = blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS]; break; case MON_DATA_MOVE1_MAX_PP: case MON_DATA_MOVE2_MAX_PP: case MON_DATA_MOVE3_MAX_PP: case MON_DATA_MOVE4_MAX_PP: - ret = (u32)WazaGetMaxPp(blockB->moves[attr - MON_DATA_MOVE1_MAX_PP], blockB->movePpUps[attr - MON_DATA_MOVE1_MAX_PP]); + ret = (u32)WazaGetMaxPp(blockB->moves[param - MON_DATA_MOVE1_MAX_PP], blockB->movePPUps[param - MON_DATA_MOVE1_MAX_PP]); break; case MON_DATA_HP_IV: ret = blockB->hpIV; @@ -731,22 +660,22 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { ret = blockB->defIV; break; case MON_DATA_SPEED_IV: - ret = blockB->spdIV; + ret = blockB->speedIV; break; case MON_DATA_SPATK_IV: - ret = blockB->spatkIV; + ret = blockB->spAtkIV; break; case MON_DATA_SPDEF_IV: - ret = blockB->spdefIV; + ret = blockB->spDefIV; break; case MON_DATA_IS_EGG: - ret = boxmon->checksum_fail; + ret = boxMon->checksumFailed; if (!ret) { ret = blockB->isEgg; } break; case MON_DATA_HAS_NICKNAME: - ret = blockB->isNicknamed; + ret = blockB->hasNickname; break; case MON_DATA_COOL_RIBBON: case MON_DATA_COOL_RIBBON_SUPER: @@ -780,7 +709,7 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { case MON_DATA_NATIONAL_RIBBON: case MON_DATA_EARTH_RIBBON: case MON_DATA_WORLD_RIBBON: - if (blockB->ribbonFlags & (1ll << (attr - MON_DATA_COOL_RIBBON))) { + if (blockB->ribbonsGBA & (1ll << (param - MON_DATA_COOL_RIBBON))) { ret = TRUE; } else { ret = FALSE; @@ -793,16 +722,16 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { ret = blockB->gender; break; case MON_DATA_FORM: - ret = blockB->alternateForm; + ret = blockB->form; break; case MON_DATA_UNUSED_113: - ret = blockB->HGSS_shinyLeaves; + ret = blockB->unused1; break; case MON_DATA_UNUSED_114: - ret = blockB->Unused; + ret = blockB->unused2; break; case MON_DATA_NICKNAME: - if (boxmon->checksum_fail) { + if (boxMon->checksumFailed) { GetSpeciesNameIntoArray(SPECIES_MANAPHY_EGG, HEAP_ID_DEFAULT, dest); } else { u16 *dest16 = (u16 *)dest; @@ -813,11 +742,11 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { } break; case MON_DATA_NICKNAME_STRING_AND_FLAG: - ret = blockB->isNicknamed; + ret = blockB->hasNickname; // fallthrough case MON_DATA_NICKNAME_STRING: - if (boxmon->checksum_fail) { - struct String *buffer = GetSpeciesName(SPECIES_MANAPHY_EGG, HEAP_ID_DEFAULT); + if (boxMon->checksumFailed) { + String *buffer = GetSpeciesName(SPECIES_MANAPHY_EGG, HEAP_ID_DEFAULT); StringCopy(dest, buffer); String_Delete(buffer); } else { @@ -825,7 +754,7 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { } break; case MON_DATA_UNUSED_120: - ret = blockC->Unused; + ret = blockC->unused; break; case MON_DATA_MET_GAME: ret = blockC->originGame; @@ -851,7 +780,7 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { case MON_DATA_SUPER_TOUGH_RIBBON_ULTRA: case MON_DATA_SUPER_TOUGH_RIBBON_MASTER: case MON_DATA_UNUSED_RIBBON_142: - if (blockC->sinnohRibbons2 & (1ll << (attr - MON_DATA_SUPER_COOL_RIBBON))) { + if (blockC->ribbonsDS2 & (1ll << (param - MON_DATA_SUPER_COOL_RIBBON))) { ret = TRUE; } else { ret = FALSE; @@ -860,30 +789,30 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { case MON_DATA_OT_NAME: { u16 *dest16 = (u16 *)dest; for (ret = 0; ret < PLAYER_NAME_LENGTH; ret++) { - dest16[ret] = blockD->otTrainerName[ret]; + dest16[ret] = blockD->otName[ret]; } dest16[ret] = EOS; } break; case MON_DATA_OT_NAME_STRING: - CopyU16ArrayToString(dest, blockD->otTrainerName); + CopyU16ArrayToString(dest, blockD->otName); break; case MON_DATA_EGG_YEAR: - ret = blockD->dateEggReceived[0]; + ret = blockD->eggYear; break; case MON_DATA_EGG_MONTH: - ret = blockD->dateEggReceived[1]; + ret = blockD->eggMonth; break; case MON_DATA_EGG_DAY: - ret = blockD->dateEggReceived[2]; + ret = blockD->eggDay; break; case MON_DATA_MET_YEAR: - ret = blockD->dateMet[0]; + ret = blockD->metYear; break; case MON_DATA_MET_MONTH: - ret = blockD->dateMet[1]; + ret = blockD->metMonth; break; case MON_DATA_MET_DAY: - ret = blockD->dateMet[2]; + ret = blockD->metDay; break; case MON_DATA_EGG_LOCATION: ret = blockD->DP_EggLocation; @@ -904,16 +833,16 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { ret = blockD->otGender; break; case MON_DATA_MET_TERRAIN: - ret = blockD->encounterType; + ret = blockD->metTerrain; break; case MON_DATA_RESERVED_158: ret = blockD->HGSS_Pokeball; break; case MON_DATA_COMBINED_IVS: - ret = (blockB->hpIV) | (blockB->atkIV << 5) | (blockB->defIV << 10) | (blockB->spdIV << 15) | (blockB->spatkIV << 20) | (blockB->spdefIV << 25); + ret = (blockB->hpIV) | (blockB->atkIV << 5) | (blockB->defIV << 10) | (blockB->speedIV << 15) | (blockB->spAtkIV << 20) | (blockB->spDefIV<< 25); break; case MON_DATA_NO_PRINT_GENDER: - if ((blockA->species == SPECIES_NIDORAN_F || blockA->species == SPECIES_NIDORAN_M) && !blockB->isNicknamed) { + if ((blockA->species == SPECIES_NIDORAN_F || blockA->species == SPECIES_NIDORAN_M) && !blockB->hasNickname) { ret = FALSE; } else { ret = TRUE; @@ -924,7 +853,7 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { if (blockA->species == SPECIES_ARCEUS && blockA->ability == ABILITY_MULTITYPE) { ret = (u32)GetArceusTypeByHeldItemEffect((u16)GetItemAttr(blockA->heldItem, 1, HEAP_ID_DEFAULT)); } else { - ret = (u32)GetMonBaseStat_HandleFormConversion(blockA->species, blockB->alternateForm, (enum BaseStat)(attr - MON_DATA_TYPE_1 + BASE_TYPE1)); + ret = (u32)Species_GetFormValue(blockA->species, blockB->form, (enum SpeciesDataParam)(param - MON_DATA_TYPE_1 + SPECIES_DATA_TYPE_1)); } break; case MON_DATA_SPECIES_NAME: @@ -934,93 +863,93 @@ u32 GetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *dest) { return ret; } -void SetMonData(struct Pokemon *pokemon, int attr, void *value) { +void Pokemon_SetData(Pokemon *mon, int param, void *value) { u16 checksum; - if (!pokemon->box.party_lock) { - DECRYPT_PTY(pokemon); - DECRYPT_BOX(&pokemon->box); - checksum = CHECKSUM(&pokemon->box); - if (checksum != pokemon->box.checksum) { - GF_ASSERT(checksum == pokemon->box.checksum); - pokemon->box.checksum_fail = TRUE; - ENCRYPT_BOX(&pokemon->box); + if (!mon->box.partyDecrypted) { + DECRYPT_PARTY(mon); + DECRYPT_BOX(&mon->box); + checksum = CHECKSUM(&mon->box); + if (checksum != mon->box.checksum) { + GF_ASSERT(checksum == mon->box.checksum); + mon->box.checksumFailed = TRUE; + ENCRYPT_BOX(&mon->box); return; } } - SetMonDataInternal(pokemon, attr, value); - if (!pokemon->box.party_lock) { - ENCRYPT_PTY(pokemon); - pokemon->box.checksum = CHECKSUM(&pokemon->box); - ENCRYPT_BOX(&pokemon->box); + Pokemon_SetDataInternal(mon, param, value); + if (!mon->box.partyDecrypted) { + ENCRYPT_PARTY(mon); + mon->box.checksum = CHECKSUM(&mon->box); + ENCRYPT_BOX(&mon->box); } } -void SetMonDataInternal(struct Pokemon *pokemon, int attr, void *value) { +static void Pokemon_SetDataInternal(Pokemon *mon, int param, void *value) { #define VALUE(type) (*(const type *)value) - switch (attr) { + switch (param) { case MON_DATA_STATUS: - pokemon->party.status = VALUE(u32); + mon->party.status = VALUE(u32); break; case MON_DATA_LEVEL: - pokemon->party.level = VALUE(u8); + mon->party.level = VALUE(u8); break; case MON_DATA_BALL_CAPSULE_ID: - pokemon->party.capsule = VALUE(u8); + mon->party.ballCapsuleID = VALUE(u8); break; case MON_DATA_HP: - pokemon->party.hp = VALUE(u16); + mon->party.hp = VALUE(u16); break; case MON_DATA_MAX_HP: - pokemon->party.maxHp = VALUE(u16); + mon->party.maxHP = VALUE(u16); break; case MON_DATA_ATK: - pokemon->party.atk = VALUE(u16); + mon->party.atk = VALUE(u16); break; case MON_DATA_DEF: - pokemon->party.def = VALUE(u16); + mon->party.def = VALUE(u16); break; case MON_DATA_SPEED: - pokemon->party.speed = VALUE(u16); + mon->party.speed = VALUE(u16); break; case MON_DATA_SP_ATK: - pokemon->party.spatk = VALUE(u16); + mon->party.spatk = VALUE(u16); break; case MON_DATA_SP_DEF: - pokemon->party.spdef = VALUE(u16); + mon->party.spdef = VALUE(u16); break; case MON_DATA_MAIL: - Mail_Copy((const struct Mail *)value, &pokemon->party.mail); + Mail_Copy((const Mail *)value, &mon->party.mail); break; case MON_DATA_BALL_CAPSULE: - CapsuleArray_Copy((CapsuleArray *)value, &pokemon->party.sealCoords); + CapsuleArray_Copy((CapsuleArray *)value, &mon->party.sealCoords); break; default: - SetBoxMonDataInternal(&pokemon->box, attr, value); + BoxPokemon_SetDataInternal(&mon->box, param, value); break; } #undef VALUE } -void SetBoxMonData(struct BoxPokemon *boxmon, int attr, void *value) { +void BoxPokemon_SetData(BoxPokemon *boxMon, int param, void *value) { u16 checksum; - if (!boxmon->box_lock) { - DECRYPT_BOX(boxmon); - checksum = CHECKSUM(boxmon); - if (checksum != boxmon->checksum) { - GF_ASSERT(checksum == boxmon->checksum); - boxmon->checksum_fail = TRUE; - ENCRYPT_BOX(boxmon); + if (!boxMon->boxDecrypted) { + DECRYPT_BOX(boxMon); + checksum = CHECKSUM(boxMon); + if (checksum != boxMon->checksum) { + GF_ASSERT(checksum == boxMon->checksum); + boxMon->checksumFailed = TRUE; + ENCRYPT_BOX(boxMon); return; } } - SetBoxMonDataInternal(boxmon, attr, value); - if (!boxmon->box_lock) { - boxmon->checksum = CHECKSUM(boxmon); - ENCRYPT_BOX(boxmon); + BoxPokemon_SetDataInternal(boxMon, param, value); + if (!boxMon->boxDecrypted) { + boxMon->checksum = CHECKSUM(boxMon); + ENCRYPT_BOX(boxMon); } } -void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { +static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, int param, void *value) { #define VALUE(type) (*(const type *)value) u8 flag; u64 mask; @@ -1028,30 +957,30 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { u16 namebuf[POKEMON_NAME_LENGTH + 1]; u16 namebuf2[POKEMON_NAME_LENGTH + 1]; u16 namebuf3[POKEMON_NAME_LENGTH + 1]; - struct String *speciesName; + String *speciesName; - PokemonDataBlockA *blockA = &GetSubstruct(boxmon, boxmon->pid, 0)->blockA; - PokemonDataBlockB *blockB = &GetSubstruct(boxmon, boxmon->pid, 1)->blockB; - PokemonDataBlockC *blockC = &GetSubstruct(boxmon, boxmon->pid, 2)->blockC; - PokemonDataBlockD *blockD = &GetSubstruct(boxmon, boxmon->pid, 3)->blockD; + PokemonDataBlockA *blockA = &GetSubstruct(boxMon, boxMon->personality, 0)->blockA; + PokemonDataBlockB *blockB = &GetSubstruct(boxMon, boxMon->personality, 1)->blockB; + PokemonDataBlockC *blockC = &GetSubstruct(boxMon, boxMon->personality, 2)->blockC; + PokemonDataBlockD *blockD = &GetSubstruct(boxMon, boxMon->personality, 3)->blockD; - switch (attr) { + switch (param) { case MON_DATA_PERSONALITY: - boxmon->pid = VALUE(u32); + boxMon->personality = VALUE(u32); break; case MON_DATA_IS_PARTY_DECRYPTED: - GF_ASSERT(0); - boxmon->party_lock = VALUE(u8); + GF_ASSERT(FALSE); + boxMon->partyDecrypted = VALUE(u8); break; case MON_DATA_IS_BOX_DECRYPTED: - GF_ASSERT(0); - boxmon->box_lock = VALUE(u8); + GF_ASSERT(FALSE); + boxMon->boxDecrypted = VALUE(u8); break; case MON_DATA_CHECKSUM_FAILED: - boxmon->checksum_fail = VALUE(u8); + boxMon->checksumFailed = VALUE(u8); break; case MON_DATA_CHECKSUM: - boxmon->checksum = VALUE(u16); + boxMon->checksum = VALUE(u16); break; case MON_DATA_SPECIES: blockA->species = VALUE(u16); @@ -1087,28 +1016,28 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { blockA->defEV = VALUE(u8); break; case MON_DATA_SPEED_EV: - blockA->spdEV = VALUE(u8); + blockA->speedEV = VALUE(u8); break; case MON_DATA_SPATK_EV: - blockA->spatkEV = VALUE(u8); + blockA->spAtkEV = VALUE(u8); break; case MON_DATA_SPDEF_EV: - blockA->spdefEV = VALUE(u8); + blockA->spDefEV = VALUE(u8); break; case MON_DATA_COOL: - blockA->coolStat = VALUE(u8); + blockA->cool = VALUE(u8); break; case MON_DATA_BEAUTY: - blockA->beautyStat = VALUE(u8); + blockA->beauty = VALUE(u8); break; case MON_DATA_CUTE: - blockA->cuteStat = VALUE(u8); + blockA->cute = VALUE(u8); break; case MON_DATA_SMART: - blockA->smartStat = VALUE(u8); + blockA->smart = VALUE(u8); break; case MON_DATA_TOUGH: - blockA->toughStat = VALUE(u8); + blockA->tough = VALUE(u8); break; case MON_DATA_SHEEN: blockA->sheen = VALUE(u8); @@ -1143,30 +1072,30 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { case MON_DATA_PREMIER_RIBBON: case MON_DATA_UNUSED_RIBBON_53: flag = VALUE(u8); - mask = (u64)flag << (attr - MON_DATA_SINNOH_CHAMP_RIBBON); + mask = (u64)flag << (param - MON_DATA_SINNOH_CHAMP_RIBBON); if (flag) { - blockA->sinnohRibbons |= mask; + blockA->ribbonsDS1 |= mask; } else { - blockA->sinnohRibbons &= -1ull ^ mask; + blockA->ribbonsDS1 &= -1ull ^ mask; } break; case MON_DATA_MOVE1: case MON_DATA_MOVE2: case MON_DATA_MOVE3: case MON_DATA_MOVE4: - blockB->moves[attr - MON_DATA_MOVE1] = VALUE(u16); + blockB->moves[param - MON_DATA_MOVE1] = VALUE(u16); break; case MON_DATA_MOVE1_PP: case MON_DATA_MOVE2_PP: case MON_DATA_MOVE3_PP: case MON_DATA_MOVE4_PP: - blockB->movePP[attr - MON_DATA_MOVE1_PP] = VALUE(u8); + blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] = VALUE(u8); break; case MON_DATA_MOVE1_PP_UPS: case MON_DATA_MOVE2_PP_UPS: case MON_DATA_MOVE3_PP_UPS: case MON_DATA_MOVE4_PP_UPS: - blockB->movePpUps[attr - MON_DATA_MOVE1_PP_UPS] = VALUE(u8); + blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] = VALUE(u8); break; case MON_DATA_HP_IV: blockB->hpIV = VALUE(u8); @@ -1178,19 +1107,19 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { blockB->defIV = VALUE(u8); break; case MON_DATA_SPEED_IV: - blockB->spdIV = VALUE(u8); + blockB->speedIV = VALUE(u8); break; case MON_DATA_SPATK_IV: - blockB->spatkIV = VALUE(u8); + blockB->spAtkIV = VALUE(u8); break; case MON_DATA_SPDEF_IV: - blockB->spdefIV = VALUE(u8); + blockB->spDefIV = VALUE(u8); break; case MON_DATA_IS_EGG: blockB->isEgg = VALUE(u8); break; case MON_DATA_HAS_NICKNAME: - blockB->isNicknamed = VALUE(u8); + blockB->hasNickname = VALUE(u8); break; case MON_DATA_COOL_RIBBON: case MON_DATA_COOL_RIBBON_SUPER: @@ -1225,11 +1154,11 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { case MON_DATA_EARTH_RIBBON: case MON_DATA_WORLD_RIBBON: flag = VALUE(u8); - mask = (u64)flag << (attr - MON_DATA_COOL_RIBBON); + mask = (u64)flag << (param - MON_DATA_COOL_RIBBON); if (flag) { - blockB->ribbonFlags |= mask; + blockB->ribbonsGBA |= mask; } else { - blockB->ribbonFlags &= -1ull ^ mask; + blockB->ribbonsGBA &= -1ull ^ mask; } break; case MON_DATA_FATEFUL_ENCOUNTER: @@ -1239,17 +1168,17 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { blockB->gender = VALUE(u8); break; case MON_DATA_FORM: - blockB->alternateForm = VALUE(u8); + blockB->form = VALUE(u8); break; case MON_DATA_UNUSED_113: - blockB->HGSS_shinyLeaves = VALUE(u8); + blockB->unused1 = VALUE(u8); break; case MON_DATA_UNUSED_114: - blockB->Unused = VALUE(u16); + blockB->unused2 = VALUE(u16); break; case MON_DATA_NICKNAME_FLAT_COMPARE: GetSpeciesNameIntoArray(blockA->species, HEAP_ID_DEFAULT, namebuf); - blockB->isNicknamed = StringNotEqual(namebuf, value); + blockB->hasNickname = StringNotEqual(namebuf, value); // fallthrough case MON_DATA_NICKNAME: for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) { @@ -1260,13 +1189,13 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { case MON_DATA_NICKNAME_STRING_AND_FLAG: GetSpeciesNameIntoArray(blockA->species, HEAP_ID_DEFAULT, namebuf2); CopyStringToU16Array(value, namebuf3, POKEMON_NAME_LENGTH + 1); - blockB->isNicknamed = StringNotEqual(namebuf2, namebuf3); + blockB->hasNickname = StringNotEqual(namebuf2, namebuf3); // fallthrough case MON_DATA_NICKNAME_STRING: CopyStringToU16Array(value, blockC->nickname, POKEMON_NAME_LENGTH + 1); break; case MON_DATA_UNUSED_120: - blockC->Unused = VALUE(u8); + blockC->unused = VALUE(u8); break; case MON_DATA_MET_GAME: blockC->originGame = VALUE(u8); @@ -1293,39 +1222,39 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { case MON_DATA_SUPER_TOUGH_RIBBON_MASTER: case MON_DATA_UNUSED_RIBBON_142: flag = VALUE(u8); - mask = (u64)flag << (attr - MON_DATA_SUPER_COOL_RIBBON); + mask = (u64)flag << (param - MON_DATA_SUPER_COOL_RIBBON); if (flag) { - blockC->sinnohRibbons2 |= mask; + blockC->ribbonsDS2 |= mask; } else { - blockC->sinnohRibbons2 &= -1ull ^ mask; + blockC->ribbonsDS2 &= -1ull ^ mask; } break; case MON_DATA_OT_NAME: for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) { - blockD->otTrainerName[i] = VALUE(u16); + blockD->otName[i] = VALUE(u16); value = (void *)((char *)value + 2); } break; case MON_DATA_OT_NAME_STRING: - CopyStringToU16Array(value, blockD->otTrainerName, PLAYER_NAME_LENGTH + 1); + CopyStringToU16Array(value, blockD->otName, PLAYER_NAME_LENGTH + 1); break; case MON_DATA_EGG_YEAR: - blockD->dateEggReceived[0] = VALUE(u8); + blockD->eggYear = VALUE(u8); break; case MON_DATA_EGG_MONTH: - blockD->dateEggReceived[1] = VALUE(u8); + blockD->eggMonth = VALUE(u8); break; case MON_DATA_EGG_DAY: - blockD->dateEggReceived[2] = VALUE(u8); + blockD->eggDay = VALUE(u8); break; case MON_DATA_MET_YEAR: - blockD->dateMet[0] = VALUE(u8); + blockD->metYear = VALUE(u8); break; case MON_DATA_MET_MONTH: - blockD->dateMet[1] = VALUE(u8); + blockD->metMonth = VALUE(u8); break; case MON_DATA_MET_DAY: - blockD->dateMet[2] = VALUE(u8); + blockD->metDay = VALUE(u8); break; case MON_DATA_EGG_LOCATION: blockD->DP_EggLocation = VALUE(u16); @@ -1346,7 +1275,7 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { blockD->otGender = VALUE(u8); break; case MON_DATA_MET_TERRAIN: - blockD->encounterType = VALUE(u8); + blockD->metTerrain = VALUE(u8); break; case MON_DATA_RESERVED_158: blockD->HGSS_Pokeball = VALUE(u16); @@ -1355,9 +1284,9 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { blockB->hpIV = (VALUE(u32) >> 0) & 0x1F; blockB->atkIV = (VALUE(u32) >> 5) & 0x1F; blockB->defIV = (VALUE(u32) >> 10) & 0x1F; - blockB->spdIV = (VALUE(u32) >> 15) & 0x1F; - blockB->spatkIV = (VALUE(u32) >> 20) & 0x1F; - blockB->spdefIV = (VALUE(u32) >> 25) & 0x1F; + blockB->speedIV = (VALUE(u32) >> 15) & 0x1F; + blockB->spAtkIV = (VALUE(u32) >> 20) & 0x1F; + blockB->spDefIV = (VALUE(u32) >> 25) & 0x1F; break; case MON_DATA_SPECIES_NAME: speciesName = GetSpeciesName(blockA->species, HEAP_ID_DEFAULT); @@ -1368,35 +1297,35 @@ void SetBoxMonDataInternal(struct BoxPokemon *boxmon, int attr, void *value) { #undef VALUE } -void AddMonData(struct Pokemon *pokemon, int attr, int value) { - u16 checksum; - if (!pokemon->box.party_lock) { - DECRYPT_PTY(pokemon); - DECRYPT_BOX(&pokemon->box); - checksum = CHECKSUM(&pokemon->box); - if (checksum != pokemon->box.checksum) { - GF_ASSERT(checksum == pokemon->box.checksum); - ENCRYPT_BOX(&pokemon->box); +void AddMonData(Pokemon *mon, int param, int value) { + u32 checksum; + if (!mon->box.partyDecrypted) { + DECRYPT_PARTY(mon); + DECRYPT_BOX(&mon->box); + checksum = CHECKSUM(&mon->box); + if (checksum != mon->box.checksum) { + GF_ASSERT(checksum == mon->box.checksum); + ENCRYPT_BOX(&mon->box); return; } } - AddMonDataInternal(pokemon, attr, value); - if (!pokemon->box.party_lock) { - ENCRYPT_PTY(pokemon); - pokemon->box.checksum = CHECKSUM(&pokemon->box); - ENCRYPT_BOX(&pokemon->box); + AddMonDataInternal(mon, param, value); + if (!mon->box.partyDecrypted) { + ENCRYPT_PARTY(mon); + mon->box.checksum = CHECKSUM(&mon->box); + ENCRYPT_BOX(&mon->box); } } -void AddMonDataInternal(struct Pokemon *pokemon, int attr, int value) { - s32 maxHp; - switch (attr) { +static void AddMonDataInternal(Pokemon *mon, int param, int value) { + s32 maxHP; + switch (param) { case MON_DATA_HP: - maxHp = pokemon->party.maxHp; - if ((s32)(pokemon->party.hp + value) > maxHp) { - pokemon->party.hp = (u16)maxHp; + maxHP = mon->party.maxHP; + if ((s32)(mon->party.hp + value) > maxHP) { + mon->party.hp = (u16)maxHP; } else { - pokemon->party.hp += value; + mon->party.hp += value; } break; case MON_DATA_STATUS: @@ -1409,25 +1338,24 @@ void AddMonDataInternal(struct Pokemon *pokemon, int attr, int value) { case MON_DATA_SP_ATK: case MON_DATA_SP_DEF: case MON_DATA_MAIL: - // case MON_DATA_BALL_CAPSULE: - GF_ASSERT(0); + GF_ASSERT(FALSE); break; default: - AddBoxMonData(&pokemon->box, attr, value); + BoxPokemon_AddDataInternal(&mon->box, param, value); break; } } -void AddBoxMonData(struct BoxPokemon *boxmon, int attr, int value) { - PokemonDataBlockA *blockA = &GetSubstruct(boxmon, boxmon->pid, 0)->blockA; - PokemonDataBlockB *blockB = &GetSubstruct(boxmon, boxmon->pid, 1)->blockB; - PokemonDataBlockC *blockC = &GetSubstruct(boxmon, boxmon->pid, 2)->blockC; - PokemonDataBlockD *blockD = &GetSubstruct(boxmon, boxmon->pid, 3)->blockD; +void BoxPokemon_AddDataInternal(BoxPokemon *boxMon, int param, int value) { + PokemonDataBlockA *blockA = &GetSubstruct(boxMon, boxMon->personality, 0)->blockA; + PokemonDataBlockB *blockB = &GetSubstruct(boxMon, boxMon->personality, 1)->blockB; + PokemonDataBlockC *blockC = &GetSubstruct(boxMon, boxMon->personality, 2)->blockC; + PokemonDataBlockD *blockD = &GetSubstruct(boxMon, boxMon->personality, 3)->blockD; - switch (attr) { + switch (param) { case MON_DATA_EXPERIENCE: - if (blockA->exp + value > GetMonExpBySpeciesAndLevel(blockA->species, 100)) { - blockA->exp = GetMonExpBySpeciesAndLevel(blockA->species, 100); + if (blockA->exp + value > Species_GetExpAtLevel(blockA->species, 100)) { + blockA->exp = Species_GetExpAtLevel(blockA->species, 100); } else { blockA->exp += value; } @@ -1449,47 +1377,47 @@ void AddBoxMonData(struct BoxPokemon *boxmon, int attr, int value) { blockA->defEV += value; break; case MON_DATA_SPEED_EV: - blockA->spdEV += value; + blockA->speedEV += value; break; case MON_DATA_SPATK_EV: - blockA->spatkEV += value; + blockA->spAtkEV += value; break; case MON_DATA_SPDEF_EV: - blockA->spdefEV += value; + blockA->spDefEV += value; break; case MON_DATA_COOL: - if (blockA->coolStat + value > 255) { - blockA->coolStat = 255; + if (blockA->cool + value > 255) { + blockA->cool = 255; } else { - blockA->coolStat += value; + blockA->cool += value; } break; case MON_DATA_BEAUTY: - if (blockA->beautyStat + value > 255) { - blockA->beautyStat = 255; + if (blockA->beauty + value > 255) { + blockA->beauty = 255; } else { - blockA->beautyStat += value; + blockA->beauty += value; } break; case MON_DATA_CUTE: - if (blockA->cuteStat + value > 255) { - blockA->cuteStat = 255; + if (blockA->cute + value > 255) { + blockA->cute = 255; } else { - blockA->cuteStat += value; + blockA->cute += value; } break; case MON_DATA_SMART: - if (blockA->smartStat + value > 255) { - blockA->smartStat = 255; + if (blockA->smart + value > 255) { + blockA->smart = 255; } else { - blockA->smartStat += value; + blockA->smart += value; } break; case MON_DATA_TOUGH: - if (blockA->toughStat + value > 255) { - blockA->toughStat = 255; + if (blockA->tough + value > 255) { + blockA->tough = 255; } else { - blockA->toughStat += value; + blockA->tough += value; } break; case MON_DATA_SHEEN: @@ -1503,20 +1431,20 @@ void AddBoxMonData(struct BoxPokemon *boxmon, int attr, int value) { case MON_DATA_MOVE2_PP: case MON_DATA_MOVE3_PP: case MON_DATA_MOVE4_PP: - if (blockB->movePP[attr - MON_DATA_MOVE1_PP] + value > WazaGetMaxPp(blockB->moves[attr - MON_DATA_MOVE1_PP], blockB->movePpUps[attr - MON_DATA_MOVE1_PP])) { - blockB->movePP[attr - MON_DATA_MOVE1_PP] = (u8)WazaGetMaxPp(blockB->moves[attr - MON_DATA_MOVE1_PP], blockB->movePpUps[attr - MON_DATA_MOVE1_PP]); + if (blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] + value > WazaGetMaxPp(blockB->moves[param - MON_DATA_MOVE1_PP], blockB->movePPUps[param - MON_DATA_MOVE1_PP])) { + blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] = (u8)WazaGetMaxPp(blockB->moves[param - MON_DATA_MOVE1_PP], blockB->movePPUps[param - MON_DATA_MOVE1_PP]); } else { - blockB->movePP[attr - MON_DATA_MOVE1_PP] += value; + blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] += value; } break; case MON_DATA_MOVE1_PP_UPS: case MON_DATA_MOVE2_PP_UPS: case MON_DATA_MOVE3_PP_UPS: case MON_DATA_MOVE4_PP_UPS: - if (blockB->movePpUps[attr - MON_DATA_MOVE1_PP_UPS] + value > 3) { - blockB->movePpUps[attr - MON_DATA_MOVE1_PP_UPS] = 3; + if (blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] + value > 3) { + blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] = 3; } else { - blockB->movePpUps[attr - MON_DATA_MOVE1_PP_UPS] += value; + blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] += value; } break; case MON_DATA_MOVE1_MAX_PP: @@ -1546,24 +1474,24 @@ void AddBoxMonData(struct BoxPokemon *boxmon, int attr, int value) { } break; case MON_DATA_SPEED_IV: - if (blockB->spdIV + value > 31) { - blockB->spdIV = 31; + if (blockB->speedIV + value > 31) { + blockB->speedIV = 31; } else { - blockB->spdIV += value; + blockB->speedIV += value; } break; case MON_DATA_SPATK_IV: - if (blockB->spatkIV + value > 31) { - blockB->spatkIV = 31; + if (blockB->spAtkIV + value > 31) { + blockB->spAtkIV = 31; } else { - blockB->spatkIV += value; + blockB->spAtkIV += value; } break; case MON_DATA_SPDEF_IV: - if (blockB->spdefIV + value > 31) { - blockB->spdefIV = 31; + if (blockB->spDefIV + value > 31) { + blockB->spDefIV = 31; } else { - blockB->spdefIV += value; + blockB->spDefIV += value; } break; case MON_DATA_PERSONALITY: @@ -1714,220 +1642,221 @@ void AddBoxMonData(struct BoxPokemon *boxmon, int attr, int value) { case MON_DATA_TYPE_2: case MON_DATA_SPECIES_NAME: default: - GF_ASSERT(0); + GF_ASSERT(FALSE); + break; } } -struct BaseStats *AllocAndLoadMonPersonal(int species, HeapID heapId) { - struct BaseStats *baseStats = (struct BaseStats *)AllocFromHeap(heapId, sizeof(struct BaseStats)); - LoadMonPersonal(species, baseStats); - return baseStats; +SpeciesData *SpeciesData_NewFromSpecies(int species, HeapID heapID) { + SpeciesData *speciesData = (SpeciesData *)AllocFromHeap(heapID, sizeof(SpeciesData)); + SpeciesData_LoadSpecies(species, speciesData); + return speciesData; } -int GetPersonalAttr(struct BaseStats *baseStats, enum BaseStat attr) { +int SpeciesData_GetValue(SpeciesData *speciesData, enum SpeciesDataParam param) { int ret; - GF_ASSERT(baseStats != NULL); - switch (attr) { - case BASE_HP: - ret = baseStats->hp; + GF_ASSERT(speciesData != NULL); + switch (param) { + case SPECIES_DATA_BASE_HP: + ret = speciesData->hp; break; - case BASE_ATK: - ret = baseStats->atk; + case SPECIES_DATA_BASE_ATK: + ret = speciesData->atk; break; - case BASE_DEF: - ret = baseStats->def; + case SPECIES_DATA_BASE_DEF: + ret = speciesData->def; break; - case BASE_SPEED: - ret = baseStats->speed; + case SPECIES_DATA_BASE_SPEED: + ret = speciesData->speed; break; - case BASE_SPATK: - ret = baseStats->spatk; + case SPECIES_DATA_BASE_SP_ATK: + ret = speciesData->spatk; break; - case BASE_SPDEF: - ret = baseStats->spdef; + case SPECIES_DATA_BASE_SP_DEF: + ret = speciesData->spdef; break; - case BASE_TYPE1: - ret = baseStats->types[0]; + case SPECIES_DATA_TYPE_1: + ret = speciesData->types[0]; break; - case BASE_TYPE2: - ret = baseStats->types[1]; + case SPECIES_DATA_TYPE_2: + ret = speciesData->types[1]; break; - case BASE_CATCH_RATE: - ret = baseStats->catchRate; + case SPECIES_DATA_CATCH_RATE: + ret = speciesData->catchRate; break; - case BASE_EXP_YIELD: - ret = baseStats->expYield; + case SPECIES_DATA_EXP_YIELD: + ret = speciesData->expYield; break; - case BASE_HP_YIELD: - ret = baseStats->hp_yield; + case SPECIES_DATA_EV_HP_YIELD: + ret = speciesData->hp_yield; break; - case BASE_ATK_YIELD: - ret = baseStats->atk_yield; + case SPECIES_DATA_EV_ATK_YIELD: + ret = speciesData->atk_yield; break; - case BASE_DEF_YIELD: - ret = baseStats->def_yield; + case SPECIES_DATA_EV_DEF_YIELD: + ret = speciesData->def_yield; break; - case BASE_SPEED_YIELD: - ret = baseStats->speed_yield; + case SPECIES_DATA_EV_SPEED_YIELD: + ret = speciesData->speed_yield; break; - case BASE_SPATK_YIELD: - ret = baseStats->spatk_yield; + case SPECIES_DATA_EV_SP_ATK_YIELD: + ret = speciesData->spatk_yield; break; - case BASE_SPDEF_YIELD: - ret = baseStats->spdef_yield; + case SPECIES_DATA_EV_SP_DEF_YIELD: + ret = speciesData->spdef_yield; break; - case BASE_ITEM_1: - ret = baseStats->item1; + case SPECIES_DATA_HELD_ITEM_COMMON: + ret = speciesData->item1; break; - case BASE_ITEM_2: - ret = baseStats->item2; + case SPECIES_DATA_HELD_ITEM_RARE: + ret = speciesData->item2; break; - case BASE_GENDER_RATIO: - ret = baseStats->genderRatio; + case SPECIES_DATA_GENDER_RATIO: + ret = speciesData->genderRatio; break; - case BASE_EGG_CYCLES: - ret = baseStats->eggCycles; + case SPECIES_DATA_EGG_CYCLES: + ret = speciesData->eggCycles; break; - case BASE_FRIENDSHIP: - ret = baseStats->friendship; + case SPECIES_DATA_BASE_FRIENDSHIP: + ret = speciesData->friendship; break; - case BASE_GROWTH_RATE: - ret = baseStats->growthRate; + case SPECIES_DATA_EXP_RATE: + ret = speciesData->growthRate; break; - case BASE_EGG_GROUP_1: - ret = baseStats->eggGroups[0]; + case SPECIES_DATA_EGG_GROUP_1: + ret = speciesData->eggGroups[0]; break; - case GASE_EGG_GROUP_2: - ret = baseStats->eggGroups[1]; + case SPECIES_DATA_EGG_GROUP_2: + ret = speciesData->eggGroups[1]; break; - case BASE_ABILITY_1: - ret = baseStats->abilities[0]; + case SPECIES_DATA_ABILITY_1: + ret = speciesData->abilities[0]; break; - case BASE_ABILITY_2: - ret = baseStats->abilities[1]; + case SPECIES_DATA_ABILITY_2: + ret = speciesData->abilities[1]; break; - case BASE_GREAT_MARSH_RATE: - ret = baseStats->greatMarshRate; + case SPECIES_DATA_SAFARI_FLEE_RATE: + ret = speciesData->greatMarshRate; break; - case BASE_COLOR: - ret = baseStats->color; + case SPECIES_DATA_BODY_COLOR: + ret = speciesData->color; break; - case BASE_FLIP: - ret = baseStats->flip; + case SPECIES_DATA_FLIP_SPRITE: + ret = speciesData->flip; break; - case BASE_TMHM_1: - ret = (int)baseStats->unk1C; + case SPECIES_DATA_TM_LEARNSET_MASK_1: + ret = (int)speciesData->tmhm_1; break; - case BASE_TMHM_2: - ret = (int)baseStats->unk20; + case SPECIES_DATA_TM_LEARNSET_MASK_2: + ret = (int)speciesData->tmhm_2; break; - case BASE_TMHM_3: - ret = (int)baseStats->unk24; + case SPECIES_DATA_TM_LEARNSET_MASK_3: + ret = (int)speciesData->tmhm_3; break; - case BASE_TMHM_4: - ret = (int)baseStats->unk28; + case SPECIES_DATA_TM_LEARNSET_MASK_4: + ret = (int)speciesData->tmhm_4; break; } return ret; } -void FreeMonPersonal(struct BaseStats *personal) { - GF_ASSERT(personal != NULL); - FreeToHeap(personal); +void SpeciesData_Free(SpeciesData *speciesData) { + GF_ASSERT(speciesData != NULL); + FreeToHeap(speciesData); } -int GetMonBaseStat_HandleFormConversion(int species, int form, enum BaseStat attr) { - int ret; - struct BaseStats *personal = AllocAndLoadMonPersonal(ResolveMonForm(species, form), HEAP_ID_DEFAULT); - ret = GetPersonalAttr(personal, attr); - FreeMonPersonal(personal); +int Species_GetFormValue(int species, int form, enum SpeciesDataParam param) { + SpeciesData *speciesData = SpeciesData_NewFromSpecies(ResolveMonForm(species, form), HEAP_ID_DEFAULT); + int result = SpeciesData_GetValue(speciesData, param); + SpeciesData_Free(speciesData); + return result; +} + +int Species_GetValue(int species, enum SpeciesDataParam param) { + SpeciesData *speciesData = SpeciesData_NewFromSpecies(species, HEAP_ID_DEFAULT); + int result = SpeciesData_GetValue(speciesData, param); + SpeciesData_Free(speciesData); + return result; +} + +u8 Pokemon_CalcPercentToNextLevel(Pokemon *mon) { + BOOL recrypt = AcquireMonLock(mon); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + u32 curLevelExp = Species_GetExpAtLevel(species, level); + u32 nextLevelExp = Species_GetExpAtLevel(species, level + 1); + u32 curExp = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL); + + ReleaseMonLock(mon, recrypt); + u8 percent = ((curExp - curLevelExp) * 100) / (nextLevelExp - curLevelExp); + + return percent; +} + +u32 Pokemon_CalcExpToNextLevel(Pokemon *mon) { + return BoxPokemon_CalcExpToNextLevel(&mon->box); +} + +u32 BoxPokemon_CalcExpToNextLevel(BoxPokemon *boxMon) { + u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + u16 nextLevel = BoxPokemon_CalcLevel(boxMon) + 1; + u32 exp = BoxPokemon_GetData(boxMon, MON_DATA_EXPERIENCE, NULL); + return Species_GetExpAtLevel(species, nextLevel) - exp; +} + +u32 Pokemon_GetCurrentLevelBaseExp(Pokemon *mon) { + int species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + int level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + return Species_GetExpAtLevel(species, level); +} + +u32 Species_GetExpAtLevel(int species, int level) { + return ExpRate_GetExpAtLevel(Species_GetValue(species, SPECIES_DATA_EXP_RATE), level); +} + +void ExpRate_LoadTable(int rate, u32 *dest) { + GF_ASSERT(rate < GROWTH_RATE_COUNT); + ReadWholeNarcMemberByIdPair(dest, NARC_POKETOOL_PERSONAL_GROWTBL, rate); +} + +u32 ExpRate_GetExpAtLevel(int rate, int level) { + GF_ASSERT(rate < GROWTH_RATE_COUNT); + GF_ASSERT(level <= MAX_LEVEL + 1); + + u32 *expTable = (u32 *)AllocFromHeap(HEAP_ID_DEFAULT, (MAX_LEVEL + 1) * sizeof(u32)); + ExpRate_LoadTable(rate, expTable); + + u32 ret = expTable[level]; + FreeToHeap(expTable); + return ret; } -int GetMonBaseStat(int species, enum BaseStat attr) { - int ret; - struct BaseStats *personal = AllocAndLoadMonPersonal(species, HEAP_ID_DEFAULT); - ret = GetPersonalAttr(personal, attr); - FreeMonPersonal(personal); - return ret; +int Pokemon_CalcLevel(Pokemon *mon) { + return BoxPokemon_CalcLevel(&mon->box); } -u8 GetPercentProgressTowardsNextLevel(struct Pokemon *pokemon) { - BOOL decry = AcquireMonLock(pokemon); - u16 species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, NULL); - u8 level = (u8)GetMonData(pokemon, MON_DATA_LEVEL, NULL); - u32 lo = GetMonExpBySpeciesAndLevel(species, level); - u32 hi = GetMonExpBySpeciesAndLevel(species, level + 1); - u32 cur = GetMonData(pokemon, MON_DATA_EXPERIENCE, NULL); - ReleaseMonLock(pokemon, decry); - return (u8)(100 * (cur - lo) / (hi - lo)); +int BoxPokemon_CalcLevel(BoxPokemon *boxMon) { + BOOL reencrypt = AcquireBoxMonLock(boxMon); + int species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + int exp = BoxPokemon_GetData(boxMon, MON_DATA_EXPERIENCE, NULL); + ReleaseBoxMonLock(boxMon, reencrypt); + return Species_CalcLevelByExp(species, exp); } -u32 CalcMonExpToNextLevel(struct Pokemon *pokemon) { - return CalcBoxMonExpToNextLevel(&pokemon->box); -} - -u32 CalcBoxMonExpToNextLevel(struct BoxPokemon *boxmon) { - u16 species = (u16)GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL); - u16 level = (u16)(CalcBoxMonLevel(boxmon) + 1); - u32 cur = GetBoxMonData(boxmon, MON_DATA_EXPERIENCE, NULL); - u32 hi = GetMonExpBySpeciesAndLevel(species, level); - return hi - cur; -} - -u32 GetMonBaseExperienceAtCurrentLevel(struct Pokemon *pokemon) { - int species = (int)GetMonData(pokemon, MON_DATA_SPECIES, NULL); - int level = (int)GetMonData(pokemon, MON_DATA_LEVEL, NULL); - return GetMonExpBySpeciesAndLevel(species, level); -} - -u32 GetMonExpBySpeciesAndLevel(int species, int level) { - return GetExpByGrowthRateAndLevel(GetMonBaseStat(species, BASE_GROWTH_RATE), level); -} - -void LoadGrowthTable(int growthRate, u32 *dest) { - GF_ASSERT(growthRate < 8); - ReadWholeNarcMemberByIdPair(dest, NARC_POKETOOL_PERSONAL_GROWTBL, growthRate); -} - -u32 GetExpByGrowthRateAndLevel(int growthRate, int level) { - u32 *table; - u32 ret; - GF_ASSERT(growthRate < 8); - GF_ASSERT(level <= 101); - table = (u32 *)AllocFromHeap(HEAP_ID_DEFAULT, 101 * sizeof(u32)); - LoadGrowthTable(growthRate, table); - ret = table[level]; - FreeToHeap(table); - return ret; -} - -int CalcMonLevel(struct Pokemon *pokemon) { - return CalcBoxMonLevel(&pokemon->box); -} - -int CalcBoxMonLevel(struct BoxPokemon *boxmon) { - BOOL decry = AcquireBoxMonLock(boxmon); - int species = (int)GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL); - int exp = (int)GetBoxMonData(boxmon, MON_DATA_EXPERIENCE, NULL); - ReleaseBoxMonLock(boxmon, decry); - return CalcLevelBySpeciesAndExp((u16)species, (u32)exp); -} - -int CalcLevelBySpeciesAndExp(u16 species, u32 exp) { - int level; - struct BaseStats *personal = AllocAndLoadMonPersonal(species, HEAP_ID_DEFAULT); - level = CalcLevelBySpeciesAndExp_PreloadedPersonal(personal, species, exp); - FreeMonPersonal(personal); +int Species_CalcLevelByExp(u16 species, u32 exp) { + SpeciesData *speciesData = SpeciesData_NewFromSpecies(species, HEAP_ID_DEFAULT); + int level = SpeciesData_CalcLevelByExp(speciesData, species, exp); + SpeciesData_Free(speciesData); return level; } -int CalcLevelBySpeciesAndExp_PreloadedPersonal(struct BaseStats *personal, u16 species, u32 exp) { -#pragma unused(species) - static u32 table[101]; +int SpeciesData_CalcLevelByExp(SpeciesData *speciesData, u16 unused_species, u32 exp) { +#pragma unused(unused_species) + static u32 table[MAX_LEVEL + 1]; + ExpRate_LoadTable(SpeciesData_GetValue(speciesData, SPECIES_DATA_EXP_RATE), table); int i; - LoadGrowthTable(GetPersonalAttr(personal, BASE_GROWTH_RATE), table); - for (i = 1; i < 101; i++) { + for (i = 1; i < MAX_LEVEL + 1; i++) { if (table[i] > exp) { break; } @@ -1935,110 +1864,152 @@ int CalcLevelBySpeciesAndExp_PreloadedPersonal(struct BaseStats *personal, u16 s return i - 1; } -u8 GetMonNature(struct Pokemon *pokemon) { - return GetBoxMonNature(&pokemon->box); +u8 Pokemon_GetNature(Pokemon *mon) { + return BoxPokemon_GetNature(&mon->box); } -u8 GetBoxMonNature(struct BoxPokemon *boxmon) { - BOOL decry = AcquireBoxMonLock(boxmon); - u32 personality = GetBoxMonData(boxmon, MON_DATA_PERSONALITY, NULL); - ReleaseBoxMonLock(boxmon, decry); - return GetNatureFromPersonality(personality); +u8 BoxPokemon_GetNature(BoxPokemon *boxMon) { + BOOL reencrypt = AcquireBoxMonLock(boxMon); + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + ReleaseBoxMonLock(boxMon, reencrypt); + return Personality_GetNature(personality); } -u8 GetNatureFromPersonality(u32 pid) { - return (u8)(pid % 25); +u8 Personality_GetNature(u32 personality) { + return (u8)(personality % NATURE_NUM); } -u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex) { - u16 retVal; +const s8 gNatureStatModifiers[NATURE_NUM][NUM_EV_STATS] = { + // Attack Defense Speed Sp.Atk Sp.Def + [NATURE_HARDY] = { 0, 0, 0, 0, 0 }, + [NATURE_LONELY] = { +1, -1, 0, 0, 0 }, + [NATURE_BRAVE] = { +1, 0, -1, 0, 0 }, + [NATURE_ADAMANT] = { +1, 0, 0, -1, 0 }, + [NATURE_NAUGHTY] = { +1, 0, 0, 0, -1 }, + [NATURE_BOLD] = { -1, +1, 0, 0, 0 }, + [NATURE_DOCILE] = { 0, 0, 0, 0, 0 }, + [NATURE_RELAXED] = { 0, +1, -1, 0, 0 }, + [NATURE_IMPISH] = { 0, +1, 0, -1, 0 }, + [NATURE_LAX] = { 0, +1, 0, 0, -1 }, + [NATURE_TIMID] = { -1, 0, +1, 0, 0 }, + [NATURE_HASTY] = { 0, -1, +1, 0, 0 }, + [NATURE_SERIOUS] = { 0, 0, 0, 0, 0 }, + [NATURE_JOLLY] = { 0, 0, +1, -1, 0 }, + [NATURE_NAIVE] = { 0, 0, +1, 0, -1 }, + [NATURE_MODEST] = { -1, 0, 0, +1, 0 }, + [NATURE_MILD] = { 0, -1, 0, +1, 0 }, + [NATURE_QUIET] = { 0, 0, -1, +1, 0 }, + [NATURE_BASHFUL] = { 0, 0, 0, 0, 0 }, + [NATURE_RASH] = { 0, 0, 0, +1, -1 }, + [NATURE_CALM] = { -1, 0, 0, 0, +1 }, + [NATURE_GENTLE] = { 0, -1, 0, 0, +1 }, + [NATURE_SASSY] = { 0, 0, -1, 0, +1 }, + [NATURE_CAREFUL] = { 0, 0, 0, -1, +1 }, + [NATURE_QUIRKY] = { 0, 0, 0, 0, 0 }, +}; +u16 Nature_ModifyStatValue(u8 nature, u16 value, u8 stat) { + u16 ret; // Dont modify HP, Accuracy, or Evasion by nature - if (statIndex < 1 || statIndex > 5) { - return n; + if (stat < STAT_ATK || stat > STAT_SPDEF) { + return value; } - switch (sNatureStatMods[nature][statIndex - 1]) { + switch (gNatureStatModifiers[nature][stat - 1]) { case 1: - retVal = (u16)((u16)(n * 110) / 100); // NOTE: will overflow for n > 595 because the intermediate value is cast to u16 before the division. Fix by removing (u16) cast + // NOTE: will overflow for n > 595 because the intermediate value is cast to u16 before the division. + ret = value * 110; + ret /= 100; break; case -1: - retVal = (u16)((u16)(n * 90) / 100); // NOTE: will overflow for n > 728, see above + // NOTE: will overflow for n > 728, see above + ret = value * 90; + ret /= 100; break; default: - retVal = n; + ret = value; break; } - return retVal; + return ret; } -void MonApplyFriendshipMod(struct Pokemon *pokemon, u32 kind, u32 location) { - u16 species; - u8 effect; - u8 r4; - s16 friendship; - s8 mod; +const s8 sFriendshipModifiers[FRIENDSHIP_EVENT_NUM][3] = { + [FRIENDSHIP_EVENT_GROW_LEVEL] = { 5, 3, 2 }, + [FRIENDSHIP_EVENT_VITAMIN] = { 5, 3, 2 }, + [FRIENDSHIP_EVENT_BATTLE_ITEM] = { 1, 1, 0 }, + [FRIENDSHIP_EVENT_LEAGUE_BATTLE] = { 3, 2, 1 }, + [FRIENDSHIP_EVENT_LEARN_TMHM] = { 1, 1, 0 }, + [FRIENDSHIP_EVENT_WALKING] = { 1, 1, 1 }, + [FRIENDSHIP_EVENT_FAINT_SMALL] = { -1, -1, -1 }, + [FRIENDSHIP_EVENT_HEAL_FIELD_PSN] = { -5, -5, -10 }, + [FRIENDSHIP_EVENT_FAINT_LARGE] = { -5, -5, -10 }, + [FRIENDHSIP_EVENT_CONTEST_WIN] = { 3, 2, 1 }, +}; - if (kind == 5 && (LCRandom() & 1)) { +void Pokemon_UpdateFriendship(Pokemon *mon, u32 kind, u32 location) { + if (kind == FRIENDSHIP_EVENT_WALKING && (LCRandom() & 1)) { return; } - species = (u16)GetMonData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL); if (species == SPECIES_NONE || species == SPECIES_EGG) { return; } - effect = (u8)GetItemAttr((u16)GetMonData(pokemon, MON_DATA_HELD_ITEM, NULL), 1, HEAP_ID_DEFAULT); - r4 = 0; - friendship = (s16)GetMonData(pokemon, MON_DATA_FRIENDSHIP, NULL); + u16 item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); + u8 effect = GetItemAttr(item, 1, HEAP_ID_DEFAULT); + u8 tier = 0; + s16 friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); if (friendship >= 100) { - r4++; + tier++; } if (friendship >= 200) { - r4++; + tier++; } - mod = sFriendshipModTable[kind][r4]; - if (mod > 0 && GetMonData(pokemon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { - mod++; + + s8 modifier = sFriendshipModifiers[kind][tier]; + if (modifier > 0 && Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { + modifier++; } - if (mod > 0 && GetMonData(pokemon, MON_DATA_EGG_LOCATION, NULL) == location) { - mod++; + if (modifier > 0 && Pokemon_GetData(mon, MON_DATA_EGG_LOCATION, NULL) == location) { + modifier++; } - if (mod > 0 && effect == 52) { // Soothe Bell effect? - mod = (s8)(mod * 150 / 100); + if (modifier > 0 && effect == HOLD_EFFECT_FRIENDSHIP_UP) { + modifier = modifier * 150 / 100; } - friendship += mod; + + friendship += modifier; if (friendship < 0) { friendship = 0; } - if (friendship > 255) { - friendship = 255; + if (friendship > FRIENDSHIP_MAX) { + friendship = FRIENDSHIP_MAX; } - SetMonData(pokemon, MON_DATA_FRIENDSHIP, &friendship); + Pokemon_SetData(mon, MON_DATA_FRIENDSHIP, &friendship); } -u8 GetMonGender(struct Pokemon *pokemon) { - return GetBoxMonGender(&pokemon->box); +u8 Pokemon_GetGender(Pokemon *mon) { + return BoxPokemon_GetGender(&mon->box); } -u8 GetBoxMonGender(struct BoxPokemon *boxmon) { - BOOL decry = AcquireBoxMonLock(boxmon); - u16 species = (u16)GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL); - u32 personality = GetBoxMonData(boxmon, MON_DATA_PERSONALITY, NULL); - ReleaseBoxMonLock(boxmon, decry); - return GetGenderBySpeciesAndPersonality(species, personality); +u8 BoxPokemon_GetGender(BoxPokemon *boxMon) { + BOOL reencrypt = AcquireBoxMonLock(boxMon); + u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + ReleaseBoxMonLock(boxMon, reencrypt); + return Species_GetGenderFromPersonality(species, personality); } -u8 GetGenderBySpeciesAndPersonality(u16 species, u32 pid) { - struct BaseStats *personal = AllocAndLoadMonPersonal(species, HEAP_ID_DEFAULT); - u8 gender = GetGenderBySpeciesAndPersonality_PreloadedPersonal(personal, species, pid); - FreeMonPersonal(personal); +u8 Species_GetGenderFromPersonality(u16 species, u32 personality) { + SpeciesData *speciesData = SpeciesData_NewFromSpecies(species, HEAP_ID_DEFAULT); + u8 gender = SpeciesData_GetGenderFromPersonality(speciesData, species, personality); + SpeciesData_Free(speciesData); return gender; } -u8 GetGenderBySpeciesAndPersonality_PreloadedPersonal(struct BaseStats *personal, u16 species, u32 pid) { +u8 SpeciesData_GetGenderFromPersonality(SpeciesData *speciesData, u16 species, u32 personality) { #pragma unused(species) - u8 ratio = (u8)GetPersonalAttr(personal, BASE_GENDER_RATIO); + u8 ratio = SpeciesData_GetValue(speciesData, SPECIES_DATA_GENDER_RATIO); switch (ratio) { case MON_RATIO_MALE: return MON_MALE; @@ -2047,7 +2018,7 @@ u8 GetGenderBySpeciesAndPersonality_PreloadedPersonal(struct BaseStats *personal case MON_RATIO_UNKNOWN: return MON_GENDERLESS; default: - if (ratio > (u8)pid) { + if (ratio > (personality & 0xff)) { return MON_FEMALE; } else { return MON_MALE; @@ -2055,64 +2026,76 @@ u8 GetGenderBySpeciesAndPersonality_PreloadedPersonal(struct BaseStats *personal } } -u8 MonIsShiny(struct Pokemon *pokemon) { - return BoxMonIsShiny(&pokemon->box); +// TODO: bool8? +u8 Pokemon_IsShiny(Pokemon *mon) { + return BoxPokemon_IsShiny(&mon->box); } -u8 BoxMonIsShiny(struct BoxPokemon *boxmon) { - u32 otid = GetBoxMonData(boxmon, MON_DATA_OT_ID, NULL); - u32 pid = GetBoxMonData(boxmon, MON_DATA_PERSONALITY, NULL); - return CalcShininessByOtIdAndPersonality(otid, pid); +// TODO: bool8? +u8 BoxPokemon_IsShiny(BoxPokemon *boxMon) { + u32 otID = BoxPokemon_GetData(boxMon, MON_DATA_OT_ID, NULL); + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + return Personality_IsShiny(otID, personality); } -u8 CalcShininessByOtIdAndPersonality(u32 otid, u32 pid) { - return SHINY_CHECK(otid, pid); +u8 Personality_IsShiny(u32 otID, u32 personality) { + return SHINY_CHECK(otID, personality); } -u32 GenerateShinyPersonality(u32 otid) { - int r4; - u16 r6; - u16 r5; - otid = (u32)((((otid & 0xFFFF0000) >> 16) ^ (otid & 0xFFFF)) >> 3u); - r6 = (u16)(LCRandom() & 7); - r5 = (u16)(LCRandom() & 7); - for (r4 = 0; r4 < 13; r4++) { - if (MaskOfFlagNo(r4) & otid) { +u32 Personality_GenerateShiny(u32 otID) { + // 1. Pre-compute the XOR of the two halves of the trainer ID. We only + // care about the most-significant 13 bits, so truncate the last 3. + otID = (((otID & 0xFFFF0000) >> 16) ^ (otID & 0xFFFF)) >> 3u; + + int i; + + // 2. Randomize the least-significant 3-bits of each half of the + // generated personality. + u16 rndLow = LCRandom() & 7; + u16 rndHigh = LCRandom() & 7; + + // 3. For each of the remaining 13 bits, pick some permutation of them + // across both halves to be set to 1 such that the XOR of their bits + // will XOR with the monOTID to 0. + for (i = 0; i < 13; i++) { + if (MaskOfFlagNo(i) & otID) { + // Trainer ID XORs to 1; set one of the two personality bits to 1 if (LCRandom() & 1) { - r6 |= MaskOfFlagNo(r4 + 3); + rndLow |= MaskOfFlagNo(i + 3); } else { - r5 |= MaskOfFlagNo(r4 + 3); + rndHigh |= MaskOfFlagNo(i + 3); } } else if (LCRandom() & 1) { - r6 |= MaskOfFlagNo(r4 + 3); - r5 |= MaskOfFlagNo(r4 + 3); + // Trainer ID XORs to 0; set both of the two bits to either 0 or 1 + rndLow |= MaskOfFlagNo(i + 3); + rndHigh |= MaskOfFlagNo(i + 3); } } - return (u32)((r5 << 16) | r6); + return rndLow | (rndHigh << 16); } -void sub_02068B68(struct SomeDrawPokemonStruct *spC, struct Pokemon *pokemon, u8 sp10) { +void sub_02068B68(struct SomeDrawPokemonStruct *spC, Pokemon *pokemon, u8 sp10) { sub_02068B70(spC, &pokemon->box, sp10); } -void sub_02068B70(struct SomeDrawPokemonStruct *spC, struct BoxPokemon *boxmon, u8 sp10) { - BOOL decry = AcquireBoxMonLock(boxmon); - u16 species = (u16)GetBoxMonData(boxmon, MON_DATA_SPECIES_OR_EGG, NULL); - u8 gender = GetBoxMonGender(boxmon); - u8 shiny = BoxMonIsShiny(boxmon); - u32 personality = GetBoxMonData(boxmon, MON_DATA_PERSONALITY, NULL); +void sub_02068B70(struct SomeDrawPokemonStruct *spC, BoxPokemon *boxMon, u8 sp10) { + BOOL decry = AcquireBoxMonLock(boxMon); + u16 species = (u16)BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_OR_EGG, NULL); + u8 gender = BoxPokemon_GetGender(boxMon); + u8 shiny = BoxPokemon_IsShiny(boxMon); + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); u8 form; if (species == SPECIES_EGG) { - if (GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL) == SPECIES_MANAPHY) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_MANAPHY) { form = 1; } else { form = 0; } } else { - form = (u8)GetBoxMonData(boxmon, MON_DATA_FORM, NULL); + form = (u8)BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); } sub_02068C00(spC, species, gender, sp10, shiny, form, personality); - ReleaseBoxMonLock(boxmon, decry); + ReleaseBoxMonLock(boxMon, decry); } void sub_02068C00(struct SomeDrawPokemonStruct *spC, int species, u8 gender, u8 sp10, u8 shiny, u8 form, u32 personality) { @@ -2218,23 +2201,23 @@ void sub_02068C00(struct SomeDrawPokemonStruct *spC, int species, u8 gender, u8 } } -u8 sub_02068E14(struct Pokemon *pokemon, u32 a1) { +u8 sub_02068E14(Pokemon *pokemon, u32 a1) { return sub_02068E1C(&pokemon->box, a1); } -u8 sub_02068E1C(struct BoxPokemon *boxmon, u32 a1) { - u16 species = (u16)GetBoxMonData(boxmon, MON_DATA_SPECIES_OR_EGG, NULL); - u8 gender = GetBoxMonGender(boxmon); - u32 pid = GetBoxMonData(boxmon, MON_DATA_PERSONALITY, NULL); +u8 sub_02068E1C(BoxPokemon *boxMon, u32 a1) { + u16 species = (u16)BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_OR_EGG, NULL); + u8 gender = BoxPokemon_GetGender(boxMon); + u32 pid = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); u8 form; if (species == SPECIES_EGG) { - if (GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL) == SPECIES_MANAPHY) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_MANAPHY) { form = 1; } else { form = 0; } } else { - form = (u8)GetBoxMonData(boxmon, MON_DATA_FORM, NULL); + form = (u8)BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); } return sub_02068E88(species, gender, a1, form, pid); } @@ -2382,40 +2365,40 @@ u32 sub_020690C8(void) { return sizeof(struct BoxPokemon); } -u8 GetMonUnownLetter(struct Pokemon *pokemon) // not just used for unown +u8 GetMonUnownLetter(Pokemon *pokemon) // not just used for unown { return GetBoxMonUnownLetter(&pokemon->box); } -u8 GetBoxMonUnownLetter(struct BoxPokemon *boxmon) { - return (u8)GetBoxMonData(boxmon, MON_DATA_FORM, NULL); +u8 GetBoxMonUnownLetter(BoxPokemon *boxMon) { + return (u8)BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); } -struct BoxPokemon *sub_020690E4(struct Pokemon *pokemon) { +BoxPokemon *sub_020690E4(Pokemon *pokemon) { return &pokemon->box; } -BOOL sub_020690E8(struct Pokemon *pokemon) { - u16 species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, NULL); - u8 level = (u8)(GetMonData(pokemon, MON_DATA_LEVEL, NULL) + 1); - u32 exp = GetMonData(pokemon, MON_DATA_EXPERIENCE, NULL); - u32 growthrate = (u32)GetMonBaseStat(species, BASE_GROWTH_RATE); - u32 maxexp = GetExpByGrowthRateAndLevel((int)growthrate, 100); +BOOL sub_020690E8(Pokemon *pokemon) { + u16 species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + u8 level = (u8)(Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL) + 1); + u32 exp = Pokemon_GetData(pokemon, MON_DATA_EXPERIENCE, NULL); + u32 growthrate = (u32)Species_GetValue(species, SPECIES_DATA_EXP_RATE); + u32 maxexp = ExpRate_GetExpAtLevel((int)growthrate, 100); if (exp > maxexp) { exp = maxexp; - SetMonData(pokemon, MON_DATA_EXPERIENCE, &exp); + Pokemon_SetData(pokemon, MON_DATA_EXPERIENCE, &exp); } if (level > 100) { return FALSE; } - if (exp >= GetExpByGrowthRateAndLevel((int)growthrate, level)) { - SetMonData(pokemon, MON_DATA_LEVEL, &level); + if (exp >= ExpRate_GetExpAtLevel((int)growthrate, level)) { + Pokemon_SetData(pokemon, MON_DATA_LEVEL, &level); return TRUE; } return FALSE; } -u16 GetMonEvolution(struct Party *party, struct Pokemon *pokemon, u32 context, u32 usedItem, u32 *method_ret) { +u16 GetMonEvolution(struct Party *party, Pokemon *pokemon, u32 context, u32 usedItem, u32 *method_ret) { u16 target = SPECIES_NONE; u32 sp40; u16 species; @@ -2429,10 +2412,10 @@ u16 GetMonEvolution(struct Party *party, struct Pokemon *pokemon, u32 context, u struct Evolution *evoTable; u8 r1; - species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, NULL); - heldItem = (u16)GetMonData(pokemon, MON_DATA_HELD_ITEM, NULL); - personality = GetMonData(pokemon, MON_DATA_PERSONALITY, NULL); - beauty = (u8)GetMonData(pokemon, MON_DATA_BEAUTY, NULL); + species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + heldItem = (u16)Pokemon_GetData(pokemon, MON_DATA_HELD_ITEM, NULL); + personality = Pokemon_GetData(pokemon, MON_DATA_PERSONALITY, NULL); + beauty = (u8)Pokemon_GetData(pokemon, MON_DATA_BEAUTY, NULL); pid_hi = (u16)((personality & 0xFFFF0000) >> 16); r1 = (u8)GetItemAttr(heldItem, 1, HEAP_ID_DEFAULT); if (species != SPECIES_KADABRA && r1 == HOLD_EFFECT_NO_EVOLVE && context != 3) { @@ -2445,8 +2428,8 @@ u16 GetMonEvolution(struct Party *party, struct Pokemon *pokemon, u32 context, u LoadMonEvolutionTable(species, evoTable); switch (context) { case 0: - level = (u8)GetMonData(pokemon, MON_DATA_LEVEL, NULL); - friendship = (u16)GetMonData(pokemon, MON_DATA_FRIENDSHIP, NULL); + level = (u8)Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL); + friendship = (u16)Pokemon_GetData(pokemon, MON_DATA_FRIENDSHIP, NULL); for (i = 0; i < 7; i++) { switch (evoTable[i].method) { case EVO_NONE: @@ -2482,19 +2465,19 @@ u16 GetMonEvolution(struct Party *party, struct Pokemon *pokemon, u32 context, u case EVO_STONE: break; case EVO_LEVEL_ATK_GT_DEF: - if (evoTable[i].param <= level && GetMonData(pokemon, MON_DATA_ATK, NULL) > GetMonData(pokemon, MON_DATA_DEF, NULL)) { + if (evoTable[i].param <= level && Pokemon_GetData(pokemon, MON_DATA_ATK, NULL) > Pokemon_GetData(pokemon, MON_DATA_DEF, NULL)) { target = evoTable[i].target; *method_ret = EVO_LEVEL_ATK_GT_DEF; } break; case EVO_LEVEL_ATK_EQ_DEF: - if (evoTable[i].param <= level && GetMonData(pokemon, MON_DATA_ATK, NULL) == GetMonData(pokemon, MON_DATA_DEF, NULL)) { + if (evoTable[i].param <= level && Pokemon_GetData(pokemon, MON_DATA_ATK, NULL) == Pokemon_GetData(pokemon, MON_DATA_DEF, NULL)) { target = evoTable[i].target; *method_ret = EVO_LEVEL_ATK_EQ_DEF; } break; case EVO_LEVEL_ATK_LT_DEF: - if (evoTable[i].param <= level && GetMonData(pokemon, MON_DATA_ATK, NULL) < GetMonData(pokemon, MON_DATA_DEF, NULL)) { + if (evoTable[i].param <= level && Pokemon_GetData(pokemon, MON_DATA_ATK, NULL) < Pokemon_GetData(pokemon, MON_DATA_DEF, NULL)) { target = evoTable[i].target; *method_ret = EVO_LEVEL_ATK_LT_DEF; } @@ -2555,13 +2538,13 @@ u16 GetMonEvolution(struct Party *party, struct Pokemon *pokemon, u32 context, u } break; case EVO_LEVEL_MALE: - if (GetMonData(pokemon, MON_DATA_GENDER, NULL) == MON_MALE && evoTable[i].param <= level) { + if (Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL) == MON_MALE && evoTable[i].param <= level) { target = evoTable[i].target; *method_ret = EVO_LEVEL_MALE; } break; case EVO_LEVEL_FEMALE: - if (GetMonData(pokemon, MON_DATA_GENDER, NULL) == MON_FEMALE && evoTable[i].param <= level) { + if (Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL) == MON_FEMALE && evoTable[i].param <= level) { target = evoTable[i].target; *method_ret = EVO_LEVEL_FEMALE; } @@ -2617,12 +2600,12 @@ u16 GetMonEvolution(struct Party *party, struct Pokemon *pokemon, u32 context, u *method_ret = 0; break; } - if (evoTable[i].method == EVO_STONE_MALE && GetMonData(pokemon, MON_DATA_GENDER, NULL) == MON_MALE && usedItem == evoTable[i].param) { + if (evoTable[i].method == EVO_STONE_MALE && Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL) == MON_MALE && usedItem == evoTable[i].param) { target = evoTable[i].target; *method_ret = 0; break; } - if (evoTable[i].method == EVO_STONE_FEMALE && GetMonData(pokemon, MON_DATA_GENDER, NULL) == MON_FEMALE && usedItem == evoTable[i].param) { + if (evoTable[i].method == EVO_STONE_FEMALE && Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL) == MON_FEMALE && usedItem == evoTable[i].param) { target = evoTable[i].target; *method_ret = 0; break; @@ -2665,7 +2648,7 @@ u16 GetEggSpecies(u16 species) { } } -void InitBoxMonMoveset(struct BoxPokemon *boxmon) { +void BoxPokemon_SetDefaultMoves(BoxPokemon *boxMon) { BOOL decry; u16 *levelUpLearnset; int i; @@ -2674,37 +2657,37 @@ void InitBoxMonMoveset(struct BoxPokemon *boxmon) { u8 level; u16 move; levelUpLearnset = AllocFromHeap(HEAP_ID_DEFAULT, MAX_LEARNED_MOVES * sizeof(u16)); - decry = AcquireBoxMonLock(boxmon); - species = (u16)GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL); - form = GetBoxMonData(boxmon, MON_DATA_FORM, NULL); - level = (u8)CalcBoxMonLevel(boxmon); + decry = AcquireBoxMonLock(boxMon); + species = (u16)BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); + level = (u8)BoxPokemon_CalcLevel(boxMon); LoadLevelUpLearnset_HandleAlternateForm(species, (int)form, levelUpLearnset); for (i = 0; levelUpLearnset[i] != LEVEL_UP_LEARNSET_END; i++) { if ((levelUpLearnset[i] & LEVEL_UP_LEARNSET_LEVEL_MASK) > (level << LEVEL_UP_LEARNSET_LEVEL_SHIFT)) { break; } move = LEVEL_UP_LEARNSET_MOVE(levelUpLearnset[i]); - if (sub_020696A8(boxmon, move) == 0xFFFF) { - sub_02069718(boxmon, move); + if (sub_020696A8(boxMon, move) == 0xFFFF) { + sub_02069718(boxMon, move); } } FreeToHeap(levelUpLearnset); - ReleaseBoxMonLock(boxmon, decry); + ReleaseBoxMonLock(boxMon, decry); } -u32 sub_02069698(struct Pokemon *pokemon, u16 move) { +u32 sub_02069698(Pokemon *pokemon, u16 move) { return sub_020696A8(sub_020690E4(pokemon), move); } -u32 sub_020696A8(struct BoxPokemon *boxmon, u16 move) { +u32 sub_020696A8(BoxPokemon *boxMon, u16 move) { u32 ret = 0xFFFF; int i; - BOOL decry = AcquireBoxMonLock(boxmon); + BOOL decry = AcquireBoxMonLock(boxMon); u16 cur_move; for (i = 0; i < 4; i++) { - cur_move = (u16)GetBoxMonData(boxmon, MON_DATA_MOVE1 + i, NULL); + cur_move = (u16)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i, NULL); if (cur_move == MOVE_NONE) { - BoxMonSetMoveInSlot(boxmon, move, (u8)i); + BoxMonSetMoveInSlot(boxMon, move, (u8)i); ret = move; break; } @@ -2713,25 +2696,25 @@ u32 sub_020696A8(struct BoxPokemon *boxmon, u16 move) { break; } } - ReleaseBoxMonLock(boxmon, decry); + ReleaseBoxMonLock(boxMon, decry); return ret; } -void sub_02069708(struct Pokemon *pokemon, u16 move) { +void sub_02069708(Pokemon *pokemon, u16 move) { sub_02069718(sub_020690E4(pokemon), move); } -void sub_02069718(struct BoxPokemon *boxmon, u16 move) { - BOOL decry = AcquireBoxMonLock(boxmon); +void sub_02069718(BoxPokemon *boxMon, u16 move) { + BOOL decry = AcquireBoxMonLock(boxMon); int i; u16 moves[4]; u8 pp[4]; u8 ppUp[4]; for (i = 0; i < 3; i++) { - moves[i] = (u16)GetBoxMonData(boxmon, MON_DATA_MOVE1 + i + 1, NULL); - pp[i] = (u8)GetBoxMonData(boxmon, MON_DATA_MOVE1_PP + i + 1, NULL); - ppUp[i] = (u8)GetBoxMonData(boxmon, MON_DATA_MOVE1_PP_UPS + i + 1, NULL); + moves[i] = (u16)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i + 1, NULL); + pp[i] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + i + 1, NULL); + ppUp[i] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + i + 1, NULL); } moves[3] = move; @@ -2739,34 +2722,34 @@ void sub_02069718(struct BoxPokemon *boxmon, u16 move) { ppUp[3] = 0; for (i = 0; i < 4; i++) { - SetBoxMonData(boxmon, MON_DATA_MOVE1 + i, &moves[i]); - SetBoxMonData(boxmon, MON_DATA_MOVE1_PP + i, &pp[i]); - SetBoxMonData(boxmon, MON_DATA_MOVE1_PP_UPS + i, &ppUp[i]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + i, &moves[i]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + i, &pp[i]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + i, &ppUp[i]); } - ReleaseBoxMonLock(boxmon, decry); + ReleaseBoxMonLock(boxMon, decry); } -void MonSetMoveInSlot(struct Pokemon *pokemon, u16 move, u8 slot) { +void MonSetMoveInSlot(Pokemon *pokemon, u16 move, u8 slot) { BoxMonSetMoveInSlot(&pokemon->box, move, slot); } -void BoxMonSetMoveInSlot(struct BoxPokemon *boxmon, u16 move, u8 slot) { +void BoxMonSetMoveInSlot(BoxPokemon *boxMon, u16 move, u8 slot) { u8 ppUp; u8 pp; - SetBoxMonData(boxmon, MON_DATA_MOVE1 + slot, &move); - ppUp = (u8)GetBoxMonData(boxmon, MON_DATA_MOVE1_PP_UPS + slot, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + slot, &move); + ppUp = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot, NULL); pp = (u8)WazaGetMaxPp(move, ppUp); - SetBoxMonData(boxmon, MON_DATA_MOVE1_PP + slot, &pp); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + slot, &pp); } -u32 sub_02069818(struct Pokemon *pokemon, u32 *r5, u16 *sp0) { +u32 sub_02069818(Pokemon *pokemon, u32 *r5, u16 *sp0) { u32 ret = 0; u16 *levelUpLearnset = AllocFromHeap(HEAP_ID_DEFAULT, MAX_LEARNED_MOVES * sizeof(u16)); - u16 species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, NULL); - u32 form = GetMonData(pokemon, MON_DATA_FORM, NULL); - u8 level = (u8)GetMonData(pokemon, MON_DATA_LEVEL, NULL); + u16 species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + u32 form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); + u8 level = (u8)Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL); LoadLevelUpLearnset_HandleAlternateForm(species, (int)form, levelUpLearnset); if (levelUpLearnset[*r5] == 0xFFFF) { @@ -2789,54 +2772,54 @@ u32 sub_02069818(struct Pokemon *pokemon, u32 *r5, u16 *sp0) { return ret; } -void sub_020698E0(struct Pokemon *pokemon, int slot1, int slot2) { +void sub_020698E0(Pokemon *pokemon, int slot1, int slot2) { sub_020698E8(&pokemon->box, slot1, slot2); } -void sub_020698E8(struct BoxPokemon *boxmon, int slot1, int slot2) { +void sub_020698E8(BoxPokemon *boxMon, int slot1, int slot2) { u16 moves[2]; u8 pp[2]; u8 ppUp[2]; - moves[0] = (u16)GetBoxMonData(boxmon, MON_DATA_MOVE1 + slot1, NULL); - pp[0] = (u8)GetBoxMonData(boxmon, MON_DATA_MOVE1_PP + slot1, NULL); - ppUp[0] = (u8)GetBoxMonData(boxmon, MON_DATA_MOVE1_PP_UPS + slot1, NULL); - moves[1] = (u16)GetBoxMonData(boxmon, MON_DATA_MOVE1 + slot2, NULL); - pp[1] = (u8)GetBoxMonData(boxmon, MON_DATA_MOVE1_PP + slot2, NULL); - ppUp[1] = (u8)GetBoxMonData(boxmon, MON_DATA_MOVE1_PP_UPS + slot2, NULL); + moves[0] = (u16)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + slot1, NULL); + pp[0] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + slot1, NULL); + ppUp[0] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot1, NULL); + moves[1] = (u16)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + slot2, NULL); + pp[1] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + slot2, NULL); + ppUp[1] = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot2, NULL); - SetBoxMonData(boxmon, MON_DATA_MOVE1 + slot1, &moves[1]); - SetBoxMonData(boxmon, MON_DATA_MOVE1_PP + slot1, &pp[1]); - SetBoxMonData(boxmon, MON_DATA_MOVE1_PP_UPS + slot1, &ppUp[1]); - SetBoxMonData(boxmon, MON_DATA_MOVE1 + slot2, &moves[0]); - SetBoxMonData(boxmon, MON_DATA_MOVE1_PP + slot2, &pp[0]); - SetBoxMonData(boxmon, MON_DATA_MOVE1_PP_UPS + slot2, &ppUp[0]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + slot1, &moves[1]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + slot1, &pp[1]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot1, &ppUp[1]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + slot2, &moves[0]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + slot2, &pp[0]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot2, &ppUp[0]); } -void sub_020699A4(struct Pokemon *pokemon, u32 slot) { +void sub_020699A4(Pokemon *pokemon, u32 slot) { u16 move; u8 pp; u8 ppUp; for (; slot < 3; slot++) { - move = (u16)GetMonData(pokemon, (int)(MON_DATA_MOVE1 + slot + 1), NULL); - pp = (u8)GetMonData(pokemon, (int)(MON_DATA_MOVE1_PP + slot + 1), NULL); - ppUp = (u8)GetMonData(pokemon, (int)(MON_DATA_MOVE1_PP_UPS + slot + 1), NULL); - SetMonData(pokemon, (int)(MON_DATA_MOVE1 + slot), &move); - SetMonData(pokemon, (int)(MON_DATA_MOVE1_PP + slot), &pp); - SetMonData(pokemon, (int)(MON_DATA_MOVE1_PP_UPS + slot), &ppUp); + move = (u16)Pokemon_GetData(pokemon, (int)(MON_DATA_MOVE1 + slot + 1), NULL); + pp = (u8)Pokemon_GetData(pokemon, (int)(MON_DATA_MOVE1_PP + slot + 1), NULL); + ppUp = (u8)Pokemon_GetData(pokemon, (int)(MON_DATA_MOVE1_PP_UPS + slot + 1), NULL); + Pokemon_SetData(pokemon, (int)(MON_DATA_MOVE1 + slot), &move); + Pokemon_SetData(pokemon, (int)(MON_DATA_MOVE1_PP + slot), &pp); + Pokemon_SetData(pokemon, (int)(MON_DATA_MOVE1_PP_UPS + slot), &ppUp); } move = MOVE_NONE; pp = 0; ppUp = 0; - SetMonData(pokemon, MON_DATA_MOVE1 + 3, &move); - SetMonData(pokemon, MON_DATA_MOVE1_PP + 3, &pp); - SetMonData(pokemon, MON_DATA_MOVE1_PP_UPS + 3, &ppUp); + Pokemon_SetData(pokemon, MON_DATA_MOVE1 + 3, &move); + Pokemon_SetData(pokemon, MON_DATA_MOVE1_PP + 3, &pp); + Pokemon_SetData(pokemon, MON_DATA_MOVE1_PP_UPS + 3, &ppUp); } -BOOL MonHasMove(struct Pokemon *pokemon, u16 move) { +BOOL MonHasMove(Pokemon *pokemon, u16 move) { int i; for (i = 0; i < 4; i++) { - if (GetMonData(pokemon, MON_DATA_MOVE1 + i, NULL) == move) { + if (Pokemon_GetData(pokemon, MON_DATA_MOVE1 + i, NULL) == move) { break; } } @@ -2847,24 +2830,24 @@ BOOL MonHasMove(struct Pokemon *pokemon, u16 move) { } } -void CopyBoxPokemonToPokemon(struct BoxPokemon *src, struct Pokemon *dest) { +void CopyBoxPokemonToPokemon(BoxPokemon *src, Pokemon *dest) { u32 sp0 = 0; CapsuleArray sp4; struct Mail *mail; dest->box = *src; - if (dest->box.box_lock) { - dest->box.party_lock = TRUE; + if (dest->box.boxDecrypted) { + dest->box.partyDecrypted = TRUE; } - SetMonData(dest, MON_DATA_STATUS, &sp0); - SetMonData(dest, MON_DATA_HP, &sp0); - SetMonData(dest, MON_DATA_MAX_HP, &sp0); + Pokemon_SetData(dest, MON_DATA_STATUS, &sp0); + Pokemon_SetData(dest, MON_DATA_HP, &sp0); + Pokemon_SetData(dest, MON_DATA_MAX_HP, &sp0); mail = Mail_New(HEAP_ID_DEFAULT); - SetMonData(dest, MON_DATA_MAIL, mail); + Pokemon_SetData(dest, MON_DATA_MAIL, mail); FreeToHeap(mail); - SetMonData(dest, MON_DATA_BALL_CAPSULE_ID, &sp0); + Pokemon_SetData(dest, MON_DATA_BALL_CAPSULE_ID, &sp0); MI_CpuClearFast(&sp4, sizeof(sp4)); - SetMonData(dest, MON_DATA_BALL_CAPSULE, &sp4); - CalcMonLevelAndStats(dest); + Pokemon_SetData(dest, MON_DATA_BALL_CAPSULE, &sp4); + Pokemon_CalcLevelAndStats(dest); } u8 Party_GetMaxLevel(struct Party *party) { @@ -2873,10 +2856,10 @@ u8 Party_GetMaxLevel(struct Party *party) { u8 ret = 1; u8 level; for (i = 0; i < r7; i++) { - struct Pokemon *pokemon = Party_GetMonByIndex(party, i); - if (GetMonData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE - && !GetMonData(pokemon, MON_DATA_IS_EGG, NULL)) { - level = (u8)GetMonData(pokemon, MON_DATA_LEVEL, NULL); + Pokemon *pokemon = Party_GetMonByIndex(party, i); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE + && !Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL)) { + level = (u8)Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL); if (level > ret) { ret = level; } @@ -2899,29 +2882,29 @@ u16 SinnohDexNoToSpecies(u16 sinnoh_dex) { return ret; } -void CopyPokemonToPokemon(struct Pokemon *src, struct Pokemon *dest) { +void CopyPokemonToPokemon(Pokemon *src, Pokemon *dest) { *dest = *src; } -void CopyPokemonToBoxPokemon(struct Pokemon *src, struct BoxPokemon *dest) { +void CopyPokemonToBoxPokemon(Pokemon *src, BoxPokemon *dest) { *dest = src->box; } -void CopyBoxPokemonToBoxPokemon(struct BoxPokemon *src, struct BoxPokemon *dest) { +void CopyBoxPokemonToBoxPokemon(BoxPokemon *src, BoxPokemon *dest) { *dest = *src; } -s8 MonGetFlavorPreference(struct Pokemon *pokemon, int flavor) { +s8 MonGetFlavorPreference(Pokemon *pokemon, int flavor) { return BoxMonGetFlavorPreference(&pokemon->box, flavor); } -s8 BoxMonGetFlavorPreference(struct BoxPokemon *boxmon, int flavor) { - u32 personality = GetBoxMonData(boxmon, MON_DATA_PERSONALITY, NULL); +s8 BoxMonGetFlavorPreference(BoxPokemon *boxMon, int flavor) { + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); return GetFlavorPreferenceFromPID(personality, flavor); } s8 GetFlavorPreferenceFromPID(u32 personality, int flavor) { - return sFlavorPreferencesByNature[GetNatureFromPersonality(personality)][flavor]; + return sFlavorPreferencesByNature[Personality_GetNature(personality)][flavor]; } int Species_LoadLearnsetTable(u16 species, u32 form, u16 *dest) { @@ -2938,7 +2921,7 @@ int Species_LoadLearnsetTable(u16 species, u32 form, u16 *dest) { void Party_GivePokerusAtRandom(struct Party *party) { int count = Party_GetCount(party); int idx; - struct Pokemon *pokemon; + Pokemon *pokemon; u8 sp0; switch (LCRandom()) { case 0x4000: @@ -2947,7 +2930,7 @@ void Party_GivePokerusAtRandom(struct Party *party) { do { idx = LCRandom() % count; pokemon = Party_GetMonByIndex(party, idx); - } while (GetMonData(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_NONE || GetMonData(pokemon, MON_DATA_IS_EGG, NULL)); + } while (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_NONE || Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL)); if (!Party_MaskMonsWithPokerus(party, (u8)MaskOfFlagNo(idx))) { do { sp0 = (u8)LCRandom(); @@ -2958,7 +2941,7 @@ void Party_GivePokerusAtRandom(struct Party *party) { sp0 |= sp0 << 4; sp0 &= 0xF3; sp0++; - SetMonData(pokemon, MON_DATA_POKERUS, &sp0); + Pokemon_SetData(pokemon, MON_DATA_POKERUS, &sp0); } } } @@ -2967,12 +2950,12 @@ u8 Party_MaskMonsWithPokerus(struct Party *party, u8 mask) { int i = 0; u32 flag = 1; u8 ret = 0; - struct Pokemon *pokemon; + Pokemon *pokemon; if (mask != 0) { do { if (mask & 1) { pokemon = Party_GetMonByIndex(party, i); - if (GetMonData(pokemon, MON_DATA_POKERUS, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL)) { ret |= flag; } } @@ -2982,7 +2965,7 @@ u8 Party_MaskMonsWithPokerus(struct Party *party, u8 mask) { } while (mask != 0); } else { pokemon = Party_GetMonByIndex(party, 0); - if (GetMonData(pokemon, MON_DATA_POKERUS, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL)) { ret++; } } @@ -2992,12 +2975,12 @@ u8 Party_MaskMonsWithPokerus(struct Party *party, u8 mask) { void Party_UpdatePokerus(struct Party *party, int r5) { int i; u8 pokerus; - struct Pokemon *pokemon; + Pokemon *pokemon; int count = Party_GetCount(party); for (i = 0; i < count; i++) { pokemon = Party_GetMonByIndex(party, i); - if (GetMonData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { - pokerus = (u8)GetMonData(pokemon, MON_DATA_POKERUS, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + pokerus = (u8)Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL); if (pokerus & 0xF) { if ((pokerus & 0xF) < r5 || r5 > 4) { pokerus &= 0xF0; @@ -3007,7 +2990,7 @@ void Party_UpdatePokerus(struct Party *party, int r5) { if (pokerus == 0) { pokerus = 0x10; // immune } - SetMonData(pokemon, MON_DATA_POKERUS, &pokerus); + Pokemon_SetData(pokemon, MON_DATA_POKERUS, &pokerus); } } } @@ -3016,24 +2999,24 @@ void Party_UpdatePokerus(struct Party *party, int r5) { void Party_SpreadPokerus(struct Party *party) { int count = Party_GetCount(party); int i; - struct Pokemon *pokemon; + Pokemon *pokemon; u8 pokerus; if ((LCRandom() % 3) == 0) { for (i = 0; i < count; i++) { pokemon = Party_GetMonByIndex(party, i); - if (GetMonData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { - pokerus = (u8)GetMonData(pokemon, MON_DATA_POKERUS, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + pokerus = (u8)Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL); if (pokerus & 0xF) { if (i != 0) { pokemon = Party_GetMonByIndex(party, i - 1); - if (!(GetMonData(pokemon, MON_DATA_POKERUS, NULL) & 0xF0)) { - SetMonData(pokemon, MON_DATA_POKERUS, &pokerus); + if (!(Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL) & 0xF0)) { + Pokemon_SetData(pokemon, MON_DATA_POKERUS, &pokerus); } } if (i < count - 1) { pokemon = Party_GetMonByIndex(party, i + 1); - if (!(GetMonData(pokemon, MON_DATA_POKERUS, NULL) & 0xF0)) { - SetMonData(pokemon, MON_DATA_POKERUS, &pokerus); + if (!(Pokemon_GetData(pokemon, MON_DATA_POKERUS, NULL) & 0xF0)) { + Pokemon_SetData(pokemon, MON_DATA_POKERUS, &pokerus); i++; // don't infect the rest of the party } } @@ -3043,20 +3026,20 @@ void Party_SpreadPokerus(struct Party *party) { } } -BOOL Pokemon_HasPokerus(struct Pokemon *pokemon) { +BOOL Pokemon_HasPokerus(Pokemon *pokemon) { return BoxMon_HasPokerus(&pokemon->box); } -BOOL BoxMon_HasPokerus(struct BoxPokemon *boxmon) { - return !!(GetBoxMonData(boxmon, MON_DATA_POKERUS, NULL) & 0xF); +BOOL BoxMon_HasPokerus(BoxPokemon *boxMon) { + return !!(BoxPokemon_GetData(boxMon, MON_DATA_POKERUS, NULL) & 0xF); } -BOOL Pokemon_IsImmuneToPokerus(struct Pokemon *pokemon) { +BOOL Pokemon_IsImmuneToPokerus(Pokemon *pokemon) { return BoxMon_IsImmuneToPokerus(&pokemon->box); } -BOOL BoxMon_IsImmuneToPokerus(struct BoxPokemon *boxmon) { - u8 pokerus = (u8)GetBoxMonData(boxmon, MON_DATA_POKERUS, NULL); +BOOL BoxMon_IsImmuneToPokerus(BoxPokemon *boxMon) { + u8 pokerus = (u8)BoxPokemon_GetData(boxMon, MON_DATA_POKERUS, NULL); if (pokerus & 0xF) { return FALSE; } @@ -3066,18 +3049,18 @@ BOOL BoxMon_IsImmuneToPokerus(struct BoxPokemon *boxmon) { return FALSE; } -void Pokemon_UpdateArceusForm(struct Pokemon *pokemon) { +void Pokemon_UpdateArceusForm(Pokemon *pokemon) { BoxMon_UpdateArceusForm(&pokemon->box); } -void BoxMon_UpdateArceusForm(struct BoxPokemon *boxmon) { - u32 species = GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL); - u32 ability = GetBoxMonData(boxmon, MON_DATA_ABILITY, NULL); - u32 heldItem = GetBoxMonData(boxmon, MON_DATA_HELD_ITEM, NULL); +void BoxMon_UpdateArceusForm(BoxPokemon *boxMon) { + u32 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + u32 ability = BoxPokemon_GetData(boxMon, MON_DATA_ABILITY, NULL); + u32 heldItem = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); u32 form; if (species == SPECIES_ARCEUS && ability == ABILITY_MULTITYPE) { form = GetArceusTypeByHeldItemEffect((u16)GetItemAttr((u16)heldItem, 1, HEAP_ID_DEFAULT)); - SetBoxMonData(boxmon, MON_DATA_FORM, &form); + BoxPokemon_SetData(boxMon, MON_DATA_FORM, &form); } } @@ -3140,25 +3123,30 @@ void sub_02069FB0(struct SaveChatotSoundClip *r7, u32 r5, u16 r4, s32 r6, s32 sp } } -void sub_0206A014(struct Pokemon *pokemon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, HeapID heapId) { +void sub_0206A014(Pokemon *pokemon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, HeapID heapId) { u32 hp; sub_0206A054(&pokemon->box, a1, pokeball, a3, encounterType, heapId); if (pokeball == ITEM_HEAL_BALL) { - hp = GetMonData(pokemon, MON_DATA_MAX_HP, NULL); - SetMonData(pokemon, MON_DATA_HP, &hp); + hp = Pokemon_GetData(pokemon, MON_DATA_MAX_HP, NULL); + Pokemon_SetData(pokemon, MON_DATA_HP, &hp); hp = 0; - SetMonData(pokemon, MON_DATA_STATUS, &hp); + Pokemon_SetData(pokemon, MON_DATA_STATUS, &hp); } } -void sub_0206A054(struct BoxPokemon *boxmon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, HeapID heapId) { - sub_020808AC(boxmon, a1, 0, a3, heapId); - SetBoxMonData(boxmon, MON_DATA_MET_GAME, (void *)&gGameVersion); - SetBoxMonData(boxmon, MON_DATA_POKEBALL, &pokeball); - SetBoxMonData(boxmon, MON_DATA_MET_TERRAIN, &encounterType); +void sub_0206A054(BoxPokemon *boxMon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, HeapID heapId) { + sub_020808AC(boxMon, a1, 0, a3, heapId); + BoxPokemon_SetData(boxMon, MON_DATA_MET_GAME, (void *)&gGameVersion); + BoxPokemon_SetData(boxMon, MON_DATA_POKEBALL, &pokeball); + BoxPokemon_SetData(boxMon, MON_DATA_MET_TERRAIN, &encounterType); } -void sub_0206A094(struct Pokemon *pokemon, u32 a1, u32 a2) { +const u16 sItemOdds[2][2] = { + { 45, 95 }, + { 20, 80 }, +}; + +void sub_0206A094(Pokemon *pokemon, u32 a1, u32 a2) { u32 chance; u16 species; u16 form; @@ -3166,80 +3154,80 @@ void sub_0206A094(struct Pokemon *pokemon, u32 a1, u32 a2) { u16 item2; if (!(a1 & 0x81)) { chance = (u32)(LCRandom() % 100); - species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, 0); - form = (u16)GetMonData(pokemon, MON_DATA_FORM, 0); - item1 = (u16)GetMonBaseStat_HandleFormConversion(species, form, BASE_ITEM_1); - item2 = (u16)GetMonBaseStat_HandleFormConversion(species, form, BASE_ITEM_2); + species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, 0); + form = (u16)Pokemon_GetData(pokemon, MON_DATA_FORM, 0); + item1 = (u16)Species_GetFormValue(species, form, SPECIES_DATA_HELD_ITEM_COMMON); + item2 = (u16)Species_GetFormValue(species, form, SPECIES_DATA_HELD_ITEM_RARE); if (item1 == item2 && item1 != ITEM_NONE) { - SetMonData(pokemon, MON_DATA_HELD_ITEM, &item1); + Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &item1); } else { if (chance >= sItemOdds[a2][0]) { if (chance < sItemOdds[a2][1]) { - SetMonData(pokemon, MON_DATA_HELD_ITEM, &item1); + Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &item1); } else { - SetMonData(pokemon, MON_DATA_HELD_ITEM, &item2); + Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &item2); } } } } } -BOOL sub_0206A13C(struct Pokemon *pokemon, u32 a1) { +BOOL sub_0206A13C(Pokemon *pokemon, u32 a1) { return sub_0206A144(&pokemon->box, a1); } -BOOL sub_0206A144(struct BoxPokemon *boxmon, u32 a1) { - u16 species = (u16)GetBoxMonData(boxmon, MON_DATA_SPECIES_OR_EGG, NULL); - int form = (int)GetBoxMonData(boxmon, MON_DATA_FORM, NULL); +BOOL sub_0206A144(BoxPokemon *boxMon, u32 a1) { + u16 species = (u16)BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_OR_EGG, NULL); + int form = (int)BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); return sub_0206A16C(species, form, a1); } BOOL sub_0206A16C(u16 species, int form, u32 a2) { u32 r4; - enum BaseStat r2; + enum SpeciesDataParam r2; if (species == SPECIES_EGG) { return FALSE; } if (a2 < 32) { r4 = 1ul << a2; - r2 = BASE_TMHM_1; + r2 = SPECIES_DATA_TM_LEARNSET_MASK_1; } else if (a2 < 64) { r4 = 1ul << (a2 - 32); - r2 = BASE_TMHM_2; + r2 = SPECIES_DATA_TM_LEARNSET_MASK_2; } else if (a2 < 96) { r4 = 1ul << (a2 - 64); - r2 = BASE_TMHM_3; + r2 = SPECIES_DATA_TM_LEARNSET_MASK_3; } else { r4 = 1ul << (a2 - 96); - r2 = BASE_TMHM_4; + r2 = SPECIES_DATA_TM_LEARNSET_MASK_4; } - return !!(GetMonBaseStat_HandleFormConversion(species, form, r2) & r4); + return !!(Species_GetFormValue(species, form, r2) & r4); } -void sub_0206A1C4(struct Pokemon *pokemon) { +void sub_0206A1C4(Pokemon *pokemon) { sub_0206A1CC(&pokemon->box); } -void sub_0206A1CC(struct BoxPokemon *boxmon) { - BOOL decry = AcquireBoxMonLock(boxmon); - int species = (int)GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL); - int pid = (int)GetBoxMonData(boxmon, MON_DATA_PERSONALITY, NULL); - int ability1 = (int)GetMonBaseStat(species, BASE_ABILITY_1); - int ability2 = (int)GetMonBaseStat(species, BASE_ABILITY_2); +void sub_0206A1CC(BoxPokemon *boxMon) { + BOOL decry = AcquireBoxMonLock(boxMon); + int species = (int)BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + int pid = (int)BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + int ability1 = (int)Species_GetValue(species, SPECIES_DATA_ABILITY_1); + int ability2 = (int)Species_GetValue(species, SPECIES_DATA_ABILITY_2); if (ability2 != ABILITY_NONE) { if (pid & 1) { - SetBoxMonData(boxmon, MON_DATA_ABILITY, &ability2); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &ability2); } else { - SetBoxMonData(boxmon, MON_DATA_ABILITY, &ability1); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &ability1); } } else { - SetBoxMonData(boxmon, MON_DATA_ABILITY, &ability1); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &ability1); } - ReleaseBoxMonLock(boxmon, decry); + ReleaseBoxMonLock(boxMon, decry); } -void sub_0206A23C(struct Pokemon *r5, u32 personality) { +void sub_0206A23C(Pokemon *r5, u32 personality) { PokemonDataBlockA *r4; PokemonDataBlockB *r6; PokemonDataBlockC *r7; @@ -3248,38 +3236,38 @@ void sub_0206A23C(struct Pokemon *r5, u32 personality) { PokemonDataBlockB *sp10; PokemonDataBlockC *sp14; PokemonDataBlockD *sp18; - struct Pokemon *sp4; + Pokemon *sp4; - sp4 = AllocMonZeroed(HEAP_ID_DEFAULT); + sp4 = Pokemon_New(HEAP_ID_DEFAULT); CopyPokemonToPokemon(r5, sp4); - r4 = &GetSubstruct(&sp4->box, r5->box.pid, 0)->blockA; - r6 = &GetSubstruct(&sp4->box, r5->box.pid, 1)->blockB; - r7 = &GetSubstruct(&sp4->box, r5->box.pid, 2)->blockC; - sp8 = &GetSubstruct(&sp4->box, r5->box.pid, 3)->blockD; + r4 = &GetSubstruct(&sp4->box, r5->box.personality, 0)->blockA; + r6 = &GetSubstruct(&sp4->box, r5->box.personality, 1)->blockB; + r7 = &GetSubstruct(&sp4->box, r5->box.personality, 2)->blockC; + sp8 = &GetSubstruct(&sp4->box, r5->box.personality, 3)->blockD; spC = &GetSubstruct(&r5->box, personality, 0)->blockA; sp10 = &GetSubstruct(&r5->box, personality, 1)->blockB; sp14 = &GetSubstruct(&r5->box, personality, 2)->blockC; sp18 = &GetSubstruct(&r5->box, personality, 3)->blockD; DECRYPT_BOX(&sp4->box); - DECRYPT_PTY(r5); + DECRYPT_PARTY(r5); DECRYPT_BOX(&r5->box); - r5->box.pid = personality; + r5->box.personality = personality; *spC = *r4; *sp10 = *r6; *sp14 = *r7; *sp18 = *sp8; r5->box.checksum = CHECKSUM(&r5->box); ENCRYPT_BOX(&r5->box); - ENCRYPT_PTY(r5); + ENCRYPT_PARTY(r5); FreeToHeap(sp4); } -void LoadMonPersonal(int species, struct BaseStats *personal) { +void SpeciesData_LoadSpecies(int species, SpeciesData *personal) { ReadWholeNarcMemberByIdPair(personal, NARC_POKETOOL_PERSONAL_PERSONAL, species); } -void LoadMonBaseStats_HandleAlternateForm(int species, int form, struct BaseStats *personal) { +void SpeciesData_LoadForm(int species, int form, SpeciesData *personal) { ReadWholeNarcMemberByIdPair(personal, NARC_POKETOOL_PERSONAL_PERSONAL, ResolveMonForm(species, form)); } @@ -3314,26 +3302,26 @@ u16 CalcMonChecksum(u16 *data, u32 size) { #define SUBSTRUCT_CASE(v1, v2, v3, v4) \ { \ - PokemonDataBlock *substructs = boxMon->substructs; \ + PokemonDataBlock *dataBlocks = boxMon->dataBlocks; \ switch (substructType) { \ case 0: \ - result = &substructs[v1]; \ + result = &dataBlocks[v1]; \ break; \ case 1: \ - result = &substructs[v2]; \ + result = &dataBlocks[v2]; \ break; \ case 2: \ - result = &substructs[v3]; \ + result = &dataBlocks[v3]; \ break; \ case 3: \ - result = &substructs[v4]; \ + result = &dataBlocks[v4]; \ break; \ } \ \ break; \ } -PokemonDataBlock *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType) { +PokemonDataBlock *GetSubstruct(BoxPokemon *boxMon, u32 personality, u8 substructType) { PokemonDataBlock *result; switch ((personality & 0x3E000) >> 13) { @@ -3436,10 +3424,30 @@ int LowestFlagNo(u32 mask) { return i; } +static const u16 sBattleFrontierBanlist[] = { + SPECIES_MEWTWO, + SPECIES_MEW, + SPECIES_HO_OH, + SPECIES_LUGIA, + SPECIES_CELEBI, + SPECIES_KYOGRE, + SPECIES_GROUDON, + SPECIES_RAYQUAZA, + SPECIES_JIRACHI, + SPECIES_DEOXYS, + SPECIES_DIALGA, + SPECIES_PALKIA, + SPECIES_GIRATINA, + SPECIES_PHIONE, + SPECIES_MANAPHY, + SPECIES_DARKRAI, + SPECIES_SHAYMIN, + SPECIES_ARCEUS, +}; + BOOL IsPokemonLegendaryOrMythical(u16 species) { - int i; - for (i = 0; i < NELEMS(sLegendaryMonsList); i++) { - if (species == sLegendaryMonsList[i]) { + for (u32 i = 0; i < NELEMS(sBattleFrontierBanlist); i++) { + if (species == sBattleFrontierBanlist[i]) { return TRUE; } } @@ -3447,26 +3455,26 @@ BOOL IsPokemonLegendaryOrMythical(u16 species) { } u16 GetLegendaryMon(u32 idx) { - if (idx >= NELEMS(sLegendaryMonsList)) { + if (idx >= NELEMS(sBattleFrontierBanlist)) { idx = 0; } - return sLegendaryMonsList[idx]; + return sBattleFrontierBanlist[idx]; } -BOOL sub_0206A998(struct Pokemon *pokemon) { - u16 species = (u16)GetMonData(pokemon, MON_DATA_SPECIES, NULL); +BOOL sub_0206A998(Pokemon *pokemon) { + u16 species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); return IsPokemonLegendaryOrMythical(species); } -BOOL sub_0206A9AC(struct BoxPokemon *boxmon, PlayerProfile *sb2, HeapID heapId) { +BOOL sub_0206A9AC(BoxPokemon *boxMon, PlayerProfile *sb2, HeapID heapId) { u32 myId = PlayerProfile_GetTrainerID(sb2); - u32 otId = GetBoxMonData(boxmon, MON_DATA_OT_ID, NULL); + u32 otId = BoxPokemon_GetData(boxMon, MON_DATA_OT_ID, NULL); u32 myGender = PlayerProfile_GetTrainerGender(sb2); - u32 otGender = GetBoxMonData(boxmon, MON_DATA_OT_GENDER, NULL); + u32 otGender = BoxPokemon_GetData(boxMon, MON_DATA_OT_GENDER, NULL); struct String *r7 = PlayerProfile_GetPlayerName_NewString(sb2, heapId); struct String *r6 = String_New(PLAYER_NAME_LENGTH + 1, heapId); BOOL ret = FALSE; - GetBoxMonData(boxmon, MON_DATA_OT_NAME_STRING, r6); + BoxPokemon_GetData(boxMon, MON_DATA_OT_NAME_STRING, r6); if (myId == otId && myGender == otGender && String_Compare(r7, r6) == 0) { ret = TRUE; } @@ -3497,23 +3505,23 @@ int sub_0206AA30(int x) { } } -void Pokemon_RemoveCapsule(struct Pokemon *pokemon) { +void Pokemon_RemoveCapsule(Pokemon *pokemon) { u8 sp0 = 0; CapsuleArray sp1; MI_CpuClearFast(&sp1, sizeof(sp1)); - SetMonData(pokemon, MON_DATA_BALL_CAPSULE_ID, &sp0); - SetMonData(pokemon, MON_DATA_BALL_CAPSULE, &sp1); + Pokemon_SetData(pokemon, MON_DATA_BALL_CAPSULE_ID, &sp0); + Pokemon_SetData(pokemon, MON_DATA_BALL_CAPSULE, &sp1); } -void RestoreBoxMonPP(struct BoxPokemon *boxmon) { +void RestoreBoxMonPP(BoxPokemon *boxMon) { int i; u8 pp; - BOOL decry = AcquireBoxMonLock(boxmon); + BOOL decry = AcquireBoxMonLock(boxMon); for (i = 0; i < 4; i++) { - if (GetBoxMonData(boxmon, MON_DATA_MOVE1 + i, NULL) != MOVE_NONE) { - pp = (u8)GetBoxMonData(boxmon, MON_DATA_MOVE1_MAX_PP + i, NULL); - SetBoxMonData(boxmon, MON_DATA_MOVE1_PP + i, &pp); + if (BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i, NULL) != MOVE_NONE) { + pp = (u8)BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_MAX_PP + i, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + i, &pp); } } - ReleaseBoxMonLock(boxmon, decry); + ReleaseBoxMonLock(boxMon, decry); } diff --git a/arm9/src/pokemon_storage_system.c b/arm9/src/pokemon_storage_system.c index 019748027..02441bc4a 100644 --- a/arm9/src/pokemon_storage_system.c +++ b/arm9/src/pokemon_storage_system.c @@ -22,7 +22,7 @@ void PCStorage_InitializeBoxes(struct PCStorage *pc) { int i, j; for (i = 0; i < NUM_BOXES; i++) { for (j = 0; j < MONS_PER_BOX; j++) { - ZeroBoxMonData(&pc->boxes[i][j]); + BoxPokemon_Init(&pc->boxes[i][j]); } } for (i = 0, j = 0; i < NUM_BOXES; i++) { @@ -65,7 +65,7 @@ BOOL PCStorage_PlaceMonInBoxFirstEmptySlot(struct PCStorage *pc, int boxno, stru boxno = (int)pc->curBox; } for (int i = 0; i < MONS_PER_BOX; i++) { - if (GetBoxMonData(&pc->boxes[boxno][i], MON_DATA_SPECIES, NULL) == SPECIES_NONE) { + if (BoxPokemon_GetData(&pc->boxes[boxno][i], MON_DATA_SPECIES, NULL) == SPECIES_NONE) { pc->boxes[boxno][i] = *boxmon; Save_SetDirtyBit(); return TRUE; @@ -93,7 +93,7 @@ void PCStorage_DeleteBoxMonByIndexPair(struct PCStorage *pc, int boxno, int slot boxno = (int)pc->curBox; } if (slotno < MONS_PER_BOX && boxno < NUM_BOXES) { - ZeroBoxMonData(&pc->boxes[boxno][slotno]); + BoxPokemon_Init(&pc->boxes[boxno][slotno]); Save_SetDirtyBit(); return; } @@ -109,7 +109,7 @@ int PCStorage_FindFirstBoxWithEmptySlot(struct PCStorage *pc) { i = (int)pc->curBox; do { for (j = 0; j < (int)MONS_PER_BOX; j++) { - if (!GetBoxMonData(&pc->boxes[i][j], MON_DATA_SPECIES_EXISTS, NULL)) { + if (!BoxPokemon_GetData(&pc->boxes[i][j], MON_DATA_SPECIES_EXISTS, NULL)) { return i; } } @@ -128,7 +128,7 @@ BOOL PCStorage_FindFirstEmptySlot(struct PCStorage *pc, int *boxno, int *slotno) int i = *boxno, j = *slotno; do { while (j < (int)MONS_PER_BOX) { - if (!GetBoxMonData(&pc->boxes[i][j], MON_DATA_SPECIES_EXISTS, NULL)) { + if (!BoxPokemon_GetData(&pc->boxes[i][j], MON_DATA_SPECIES_EXISTS, NULL)) { *boxno = i; *slotno = j; return TRUE; @@ -151,7 +151,7 @@ int PCStorage_CountMonsAndEggsInAllBoxes(struct PCStorage *pc) { int i, j, count = 0; for (i = 0; i < (int)NUM_BOXES; i++) { for (j = 0; j < (int)MONS_PER_BOX; j++) { - if (GetBoxMonData(&pc->boxes[i][j], MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(&pc->boxes[i][j], MON_DATA_SPECIES_EXISTS, NULL)) { count++; } } @@ -216,7 +216,7 @@ int PCStorage_CountMonsAndEggsInBox(struct PCStorage *pc, int boxno) { if (boxno < NUM_BOXES) { int i, count = 0; for (i = 0; i < (int)MONS_PER_BOX; i++) { - if (GetBoxMonData(&pc->boxes[boxno][i], MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(&pc->boxes[boxno][i], MON_DATA_SPECIES_EXISTS, NULL)) { count++; } } @@ -233,7 +233,7 @@ int PCStorage_CountMonsInBox(struct PCStorage *pc, int boxno) { if (boxno < NUM_BOXES) { int i, count = 0; for (i = 0; i < (int)MONS_PER_BOX; i++) { - if (GetBoxMonData(&pc->boxes[boxno][i], MON_DATA_SPECIES_EXISTS, NULL) && !GetBoxMonData(&pc->boxes[boxno][i], MON_DATA_IS_EGG, NULL)) { + if (BoxPokemon_GetData(&pc->boxes[boxno][i], MON_DATA_SPECIES_EXISTS, NULL) && !BoxPokemon_GetData(&pc->boxes[boxno][i], MON_DATA_IS_EGG, NULL)) { count++; } } @@ -259,7 +259,7 @@ void PCStorage_SetBoxMonDataByIndexPair(struct PCStorage *pc, int boxno, int slo if (boxno == -1) { boxno = (int)pc->curBox; } - SetBoxMonData(&pc->boxes[boxno][slotno], (int)attr, value); + BoxPokemon_SetData(&pc->boxes[boxno][slotno], (int)attr, value); Save_SetDirtyBit(); } diff --git a/arm9/src/poketch.c b/arm9/src/poketch.c index e6c6b205e..b183d5c47 100644 --- a/arm9/src/poketch.c +++ b/arm9/src/poketch.c @@ -196,7 +196,7 @@ void Save_Poketch_PokemonHistoryAddMon(struct Poketch *poketch, struct BoxPokemo } i = 11; } - poketch->pokemonHistory[i][0] = (u16)GetBoxMonData(mon, MON_DATA_SPECIES, NULL); + poketch->pokemonHistory[i][0] = (u16)BoxPokemon_GetData(mon, MON_DATA_SPECIES, NULL); poketch->pokemonHistory[i][1] = BoxMon_GetAlternateForm(mon); } diff --git a/arm9/src/scrcmd.c b/arm9/src/scrcmd.c index 777b7222d..be337fbbf 100644 --- a/arm9/src/scrcmd.c +++ b/arm9/src/scrcmd.c @@ -2125,7 +2125,7 @@ BOOL ScrCmd_ShowPartyPokemonPic(ScriptContext *ctx) { // 028C Pokemon *mon = Party_GetMonByIndex(SaveArray_Party_Get(ctx->fieldSystem->saveData), partyId); LoadUserFrameGfx1(ctx->fieldSystem->bgConfig, GF_BG_LYR_MAIN_3, 0x3D9, 11, 0, HEAP_ID_4); *pokepicManager = DrawPokemonPicFromMon(ctx->fieldSystem->bgConfig, GF_BG_LYR_MAIN_3, 10, 5, 11, 0x3D9, mon, HEAP_ID_4); - u32 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u32 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); Script_SetMonSeenFlagBySpecies(ctx->fieldSystem, (u16)species); return FALSE; } @@ -2418,11 +2418,11 @@ BOOL ScrCmd_NamePokemonScreen(ScriptContext *ctx) { // 00BB Pokemon *mon = Party_GetMonByIndex(party, partyPos); u16 monNick[20]; - GetMonData(mon, MON_DATA_NICKNAME, monNick); + Pokemon_GetData(mon, MON_DATA_NICKNAME, monNick); u16 *var = ScriptGetVarPointer(ctx); - s32 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + s32 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); CreateNamingScreen(ctx->taskManager, NAMINGSCREEN_POKEMON, species, POKEMON_NAME_LENGTH, partyPos, monNick, var); return TRUE; @@ -3889,12 +3889,12 @@ BOOL ScrCmd_GetTotalPokemonEVs(ScriptContext *ctx) { // 0233 u16 partyPosition = ScriptGetVar(ctx); Pokemon *mon = Party_GetMonByIndex(SaveArray_Party_Get(ctx->fieldSystem->saveData), partyPosition); - u32 hpEv = GetMonData(mon, MON_DATA_HP_EV, NULL); - u32 atkEv = GetMonData(mon, MON_DATA_ATK_EV, NULL); - u32 defEv = GetMonData(mon, MON_DATA_DEF_EV, NULL); - u32 speedEv = GetMonData(mon, MON_DATA_SPEED_EV, NULL); - u32 spAtkEv = GetMonData(mon, MON_DATA_SPATK_EV, NULL); - u32 spDefEv = GetMonData(mon, MON_DATA_SPDEF_EV, NULL); + u32 hpEv = Pokemon_GetData(mon, MON_DATA_HP_EV, NULL); + u32 atkEv = Pokemon_GetData(mon, MON_DATA_ATK_EV, NULL); + u32 defEv = Pokemon_GetData(mon, MON_DATA_DEF_EV, NULL); + u32 speedEv = Pokemon_GetData(mon, MON_DATA_SPEED_EV, NULL); + u32 spAtkEv = Pokemon_GetData(mon, MON_DATA_SPATK_EV, NULL); + u32 spDefEv = Pokemon_GetData(mon, MON_DATA_SPDEF_EV, NULL); *var = hpEv + atkEv + defEv + speedEv + spAtkEv + spDefEv; return FALSE; @@ -3919,7 +3919,7 @@ BOOL ScrCmd_GetPokemonFootprint(ScriptContext *ctx) { // 023A u16 *var2 = ScriptGetVarPointer(ctx); u16 partyPosition = ScriptGetVar(ctx); Pokemon *mon = Party_GetMonByIndex(SaveArray_Party_Get(ctx->fieldSystem->saveData), partyPosition); - u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); *var = ov05_021F61E8(species); *var2 = ov05_021F61DC(species); return FALSE; @@ -4011,9 +4011,9 @@ BOOL ScrCmd_Unk024D(ScriptContext *ctx) { // 024D - todo: ClosePCAnimation? static void Script_SetMonSeenFlagBySpecies(FieldSystem *fieldSystem, u16 species) { Pokedex *pokedex = Save_Pokedex_Get(fieldSystem->saveData); - Pokemon *mon = AllocMonZeroed(HEAP_ID_32); - ZeroMonData(mon); - CreateMon(mon, species, 50, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); + Pokemon *mon = Pokemon_New(HEAP_ID_32); + Pokemon_Init(mon); + Pokemon_InitWithParams(mon, species, 50, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); Pokedex_SetMonSeenFlag(pokedex, mon); FreeToHeap(mon); } @@ -4095,9 +4095,9 @@ BOOL ScrCmd_SetDeoxysForm(ScriptContext *ctx) { // 0263 for (s32 i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetMonByIndex(playerParty, i); - if (GetMonData(mon, MON_DATA_SPECIES, NULL) == SPECIES_DEOXYS) { - SetMonData(mon, MON_DATA_FORM, &form); - CalcMonLevelAndStats(mon); + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_DEOXYS) { + Pokemon_SetData(mon, MON_DATA_FORM, &form); + Pokemon_CalcLevelAndStats(mon); Pokedex_SetMonCaughtFlag(pokedex, mon); } } @@ -4118,8 +4118,8 @@ BOOL ScrCmd_CheckBurmyForms(ScriptContext *ctx) { // 0264 s32 j; BOOL hasMultiple; Pokemon *mon = Party_GetMonByIndex(playerParty, i); - u32 species = GetMonData(mon, MON_DATA_SPECIES, NULL); - u32 form = GetMonData(mon, MON_DATA_FORM, NULL); + u32 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u32 form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); if (species == SPECIES_BURMY) { hasMultiple = FALSE; unk0[i] = form; @@ -4179,12 +4179,12 @@ _0203EFA2: add r6, r0, #0x0 mov r1, #0x5 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData str r0, [sp, #0x10] add r0, r6, #0x0 mov r1, #0x70 mov r2, #0x0 - bl GetMonData + bl Pokemon_GetData add r3, r0, #0x0 mov r0, #0x67 ldr r1, [sp, #0x10] diff --git a/arm9/src/scrcmd_13.c b/arm9/src/scrcmd_13.c index 7dc443567..cf170c794 100644 --- a/arm9/src/scrcmd_13.c +++ b/arm9/src/scrcmd_13.c @@ -42,7 +42,7 @@ BOOL ScrCmd_Unk0253(struct ScriptContext *ctx) // 0253 BOOL ScrCmd_Unk0254(struct ScriptContext *ctx) // 0254 { void *unk = sub_02022528(ctx->fieldSystem->saveData); - struct Pokemon *pokemon = AllocMonZeroed(HEAP_ID_32); + struct Pokemon *pokemon = Pokemon_New(HEAP_ID_32); u16 *ret_ptr = ScriptGetVarPointer(ctx); u16 eggs = sub_0202C000(unk); @@ -61,7 +61,7 @@ BOOL ScrCmd_Unk0255(struct ScriptContext *ctx) // 0255 { void *unk = sub_02022528(ctx->fieldSystem->saveData); struct PCStorage *pc = SaveArray_PCStorage_Get(ctx->fieldSystem->saveData); - struct Pokemon *pokemon = AllocMonZeroed(HEAP_ID_32); + struct Pokemon *pokemon = Pokemon_New(HEAP_ID_32); PlayerProfile *player = Save_PlayerData_GetProfile(ctx->fieldSystem->saveData); struct Pokedex *pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveData); // unused diff --git a/arm9/src/scrcmd_names.c b/arm9/src/scrcmd_names.c index d9c9d2030..a6aa06868 100644 --- a/arm9/src/scrcmd_names.c +++ b/arm9/src/scrcmd_names.c @@ -393,7 +393,7 @@ BOOL ScrCmd_GetPokemonMoveName(ScriptContext *ctx) // 01CB - todo: BufferPartyPo u16 mon_move_idx = ScriptGetVar(ctx); Party *party = SaveArray_Party_Get(fieldSystem->saveData); Pokemon *pokemon = Party_GetMonByIndex(party, mon_idx); - u16 move = (u16)GetMonData(pokemon, MON_DATA_MOVE1 + mon_move_idx, NULL); + u16 move = (u16)Pokemon_GetData(pokemon, MON_DATA_MOVE1 + mon_move_idx, NULL); BufferMoveName(*messageFormat, idx, move); diff --git a/arm9/src/scrcmd_party.c b/arm9/src/scrcmd_party.c index e2ced949c..1ea6531ee 100644 --- a/arm9/src/scrcmd_party.c +++ b/arm9/src/scrcmd_party.c @@ -40,9 +40,9 @@ BOOL ScrCmd_GetPartyMonSpecies(struct ScriptContext *ctx) // 0198 - todo: GetPar struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, *mon_slot); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { - species = GetMonData(party_mon, MON_DATA_SPECIES, NULL); + species = Pokemon_GetData(party_mon, MON_DATA_SPECIES, NULL); } else { species = SPECIES_NONE; } @@ -63,7 +63,7 @@ BOOL ScrCmd_CheckPartyMonOTID(struct ScriptContext *ctx) // 0199 - todo: CheckPa struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, *mon_slot); - u16 party_mon_otid = (u16)GetMonData(party_mon, MON_DATA_OT_ID, NULL); + u16 party_mon_otid = (u16)Pokemon_GetData(party_mon, MON_DATA_OT_ID, NULL); u16 player_otid = (u16)PlayerProfile_GetTrainerID(player); if (party_mon_otid == player_otid) { *ret_ptr = 0; @@ -84,8 +84,8 @@ BOOL ScrCmd_GiveEgg(struct ScriptContext *ctx) // 0097 u8 party_count = (u8)Party_GetCount(party); if (party_count < PARTY_SIZE) { - struct Pokemon *egg = AllocMonZeroed(HEAP_ID_FIELD); - ZeroMonData(egg); + struct Pokemon *egg = Pokemon_New(HEAP_ID_FIELD); + Pokemon_Init(egg); s32 met_loc = sub_02015CF8(1, unk); ov05_SetEggStats(egg, species, 1, player, 3, met_loc); @@ -120,12 +120,12 @@ BOOL ScrCmd_PartyMonHasMove(struct ScriptContext *ctx) // 0099 *ret_ptr = 0; - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg) { return FALSE; } - if (required_move == GetMonData(party_mon, MON_DATA_MOVE1, NULL) || required_move == GetMonData(party_mon, MON_DATA_MOVE2, NULL) || required_move == GetMonData(party_mon, MON_DATA_MOVE3, NULL) || required_move == GetMonData(party_mon, MON_DATA_MOVE4, NULL)) { + if (required_move == Pokemon_GetData(party_mon, MON_DATA_MOVE1, NULL) || required_move == Pokemon_GetData(party_mon, MON_DATA_MOVE2, NULL) || required_move == Pokemon_GetData(party_mon, MON_DATA_MOVE3, NULL) || required_move == Pokemon_GetData(party_mon, MON_DATA_MOVE4, NULL)) { *ret_ptr = 1; } @@ -144,9 +144,9 @@ BOOL ScrCmd_FindPartyMonWithMove(struct ScriptContext *ctx) // 009A - todo: Chec struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { - if (required_move == GetMonData(party_mon, MON_DATA_MOVE1, NULL) || required_move == GetMonData(party_mon, MON_DATA_MOVE2, NULL) || required_move == GetMonData(party_mon, MON_DATA_MOVE3, NULL) || required_move == GetMonData(party_mon, MON_DATA_MOVE4, NULL)) { + if (required_move == Pokemon_GetData(party_mon, MON_DATA_MOVE1, NULL) || required_move == Pokemon_GetData(party_mon, MON_DATA_MOVE2, NULL) || required_move == Pokemon_GetData(party_mon, MON_DATA_MOVE3, NULL) || required_move == Pokemon_GetData(party_mon, MON_DATA_MOVE4, NULL)) { *ret_ptr = i; break; } @@ -182,9 +182,9 @@ BOOL ScrCmd_CountPartyMonsAtOrBelowLevel(struct ScriptContext *ctx) // 01F6 struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { - u32 party_mon_level = GetMonData(party_mon, MON_DATA_LEVEL, NULL); + u32 party_mon_level = Pokemon_GetData(party_mon, MON_DATA_LEVEL, NULL); if (party_mon_level <= highest_level) { mons++; } @@ -205,9 +205,9 @@ BOOL ScrCmd_GetPartyMonLevel(struct ScriptContext *ctx) // 0278 *ret_ptr = 0; - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { - *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_LEVEL, NULL); + *ret_ptr = (u16)Pokemon_GetData(party_mon, MON_DATA_LEVEL, NULL); } return FALSE; @@ -228,13 +228,13 @@ BOOL ScrCmd_GetPartyMonNature(struct ScriptContext *ctx) // 0212 struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg) { *ret_ptr = 0; return FALSE; } - *ret_ptr = GetMonNature(party_mon); + *ret_ptr = Pokemon_GetNature(party_mon); return FALSE; } @@ -250,9 +250,9 @@ BOOL ScrCmd_FindPartyMonWithNature(struct ScriptContext *ctx) // 0213 - todo: Ch struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { - u8 party_mon_nature = GetMonNature(party_mon); + u8 party_mon_nature = Pokemon_GetNature(party_mon); if (required_nature == party_mon_nature) { *ret_ptr = i; break; @@ -271,7 +271,7 @@ BOOL ScrCmd_GetPartyMonFriendship(struct ScriptContext *ctx) // 01B9 struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_FRIENDSHIP, NULL); + *ret_ptr = (u16)Pokemon_GetData(party_mon, MON_DATA_FRIENDSHIP, NULL); return FALSE; } @@ -284,21 +284,21 @@ BOOL ScrCmd_AddPartyMonFriendship(struct ScriptContext *ctx) // 01BA struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - u16 friendship = (u16)GetMonData(party_mon, MON_DATA_FRIENDSHIP, NULL); + u16 friendship = (u16)Pokemon_GetData(party_mon, MON_DATA_FRIENDSHIP, NULL); if (friendship_to_add != 0) { - u16 party_mon_held_item = (u16)GetMonData(party_mon, MON_DATA_HELD_ITEM, NULL); + u16 party_mon_held_item = (u16)Pokemon_GetData(party_mon, MON_DATA_HELD_ITEM, NULL); u32 held_item_hold_effect = GetItemAttr(party_mon_held_item, ITEMATTR_HOLD_EFFECT, HEAP_ID_FIELD); if (held_item_hold_effect == HOLD_EFFECT_FRIENDSHIP_UP) { friendship_to_add = (u16)((friendship_to_add * 150) / 100); } - u32 party_mon_pokeball = GetMonData(party_mon, MON_DATA_POKEBALL, NULL); + u32 party_mon_pokeball = Pokemon_GetData(party_mon, MON_DATA_POKEBALL, NULL); if (party_mon_pokeball == ITEM_LUXURY_BALL) { friendship_to_add++; } - u32 party_mon_egg_met_location = GetMonData(party_mon, MON_DATA_EGG_LOCATION, NULL); + u32 party_mon_egg_met_location = Pokemon_GetData(party_mon, MON_DATA_EGG_LOCATION, NULL); if (map_sec == party_mon_egg_met_location) { friendship_to_add++; } @@ -309,7 +309,7 @@ BOOL ScrCmd_AddPartyMonFriendship(struct ScriptContext *ctx) // 01BA friendship = 0xFF; } - SetMonData(party_mon, MON_DATA_FRIENDSHIP, &friendship); + Pokemon_SetData(party_mon, MON_DATA_FRIENDSHIP, &friendship); return FALSE; } @@ -322,14 +322,14 @@ BOOL ScrCmd_SubtractPartyMonFriendship(struct ScriptContext *ctx) // 01BB struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - u16 friendship = (u16)GetMonData(party_mon, MON_DATA_FRIENDSHIP, NULL); + u16 friendship = (u16)Pokemon_GetData(party_mon, MON_DATA_FRIENDSHIP, NULL); if (friendship_to_deplete > friendship) { friendship = 0; } else { friendship -= friendship_to_deplete; } - SetMonData(party_mon, MON_DATA_FRIENDSHIP, &friendship); + Pokemon_SetData(party_mon, MON_DATA_FRIENDSHIP, &friendship); return FALSE; } @@ -342,7 +342,7 @@ BOOL ScrCmd_GetPartyMonContestCondition(struct ScriptContext *ctx) // 0281 struct Party *party = SaveArray_Party_Get(ctx->fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_COOL + contest_condition_id, NULL); + *ret_ptr = (u16)Pokemon_GetData(party_mon, MON_DATA_COOL + contest_condition_id, NULL); return FALSE; } @@ -363,8 +363,8 @@ BOOL ScrCmd_GetPartyMonTypes(struct ScriptContext *ctx) // 0248 struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - *type1 = (u16)GetMonData(party_mon, MON_DATA_TYPE_1, NULL); - *type2 = (u16)GetMonData(party_mon, MON_DATA_TYPE_2, NULL); + *type1 = (u16)Pokemon_GetData(party_mon, MON_DATA_TYPE_1, NULL); + *type2 = (u16)Pokemon_GetData(party_mon, MON_DATA_TYPE_2, NULL); return FALSE; } @@ -391,7 +391,7 @@ BOOL ScrCmd_CountPartyMons_OmitEggs(struct ScriptContext *ctx) // 019A struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { non_egg_mons++; } @@ -418,9 +418,9 @@ BOOL ScrCmd_CountAvailablePartyMons_IgnoreSlot(struct ScriptContext *ctx) // 019 struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { - u32 party_mon_hp = GetMonData(party_mon, MON_DATA_HP, NULL); + u32 party_mon_hp = Pokemon_GetData(party_mon, MON_DATA_HP, NULL); if (party_mon_hp != 0) { available_mons++; } @@ -448,9 +448,9 @@ BOOL ScrCmd_CountAvailablePartyAndPCMons(struct ScriptContext *ctx) // 019C struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { - u32 party_mon_hp = GetMonData(party_mon, MON_DATA_HP, NULL); + u32 party_mon_hp = Pokemon_GetData(party_mon, MON_DATA_HP, NULL); if (party_mon_hp != 0) { mons++; } @@ -475,7 +475,7 @@ BOOL ScrCmd_GetPartyEggCount(struct ScriptContext *ctx) // 019D struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg) { eggs_in_party++; } @@ -498,7 +498,7 @@ BOOL ScrCmd_CheckPartyForPokerus(struct ScriptContext *ctx) // 0119 struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_has_pokerus = (BOOL)GetMonData(party_mon, MON_DATA_POKERUS, NULL); + BOOL party_mon_has_pokerus = (BOOL)Pokemon_GetData(party_mon, MON_DATA_POKERUS, NULL); if (party_mon_has_pokerus) { *ret_ptr = 1; break; @@ -515,7 +515,7 @@ BOOL ScrCmd_GetPartyMonGender(struct ScriptContext *ctx) // 011A struct Party *party = SaveArray_Party_Get(ctx->fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_GENDER, NULL); + *ret_ptr = (u16)Pokemon_GetData(party_mon, MON_DATA_GENDER, NULL); return FALSE; } @@ -530,7 +530,7 @@ BOOL ScrCmd_CountPartyMonMoves(struct ScriptContext *ctx) // 01C8 struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); party_mon = Party_GetMonByIndex(party, mon_slot); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg) { *ret_ptr = 0; return FALSE; @@ -538,22 +538,22 @@ BOOL ScrCmd_CountPartyMonMoves(struct ScriptContext *ctx) // 01C8 moves = 0; - u32 move1 = GetMonData(party_mon, MON_DATA_MOVE1, NULL); + u32 move1 = Pokemon_GetData(party_mon, MON_DATA_MOVE1, NULL); if (move1 != MOVE_NONE) { moves++; } - u32 move2 = GetMonData(party_mon, MON_DATA_MOVE2, NULL); + u32 move2 = Pokemon_GetData(party_mon, MON_DATA_MOVE2, NULL); if (move2 != MOVE_NONE) { moves++; } - u32 move3 = GetMonData(party_mon, MON_DATA_MOVE3, NULL); + u32 move3 = Pokemon_GetData(party_mon, MON_DATA_MOVE3, NULL); if (move3 != MOVE_NONE) { moves++; } - u32 move4 = GetMonData(party_mon, MON_DATA_MOVE4, NULL); + u32 move4 = Pokemon_GetData(party_mon, MON_DATA_MOVE4, NULL); if (move4 != MOVE_NONE) { moves++; } @@ -584,7 +584,7 @@ BOOL ScrCmd_GetPartyMonMove(struct ScriptContext *ctx) // 01CA struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_MOVE1 + move_slot, NULL); + *ret_ptr = (u16)Pokemon_GetData(party_mon, MON_DATA_MOVE1 + move_slot, NULL); return FALSE; } @@ -596,7 +596,7 @@ BOOL ScrCmd_GetPartyMonHeldItem(struct ScriptContext *ctx) // 01EE struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_HELD_ITEM, NULL); + *ret_ptr = (u16)Pokemon_GetData(party_mon, MON_DATA_HELD_ITEM, NULL); return FALSE; } @@ -608,7 +608,7 @@ BOOL ScrCmd_ResetPartyMonHeldItem(struct ScriptContext *ctx) // 01F0 struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); u16 party_mon_held_item = ITEM_NONE; - SetMonData(party_mon, MON_DATA_HELD_ITEM, &party_mon_held_item); + Pokemon_SetData(party_mon, MON_DATA_HELD_ITEM, &party_mon_held_item); return FALSE; } @@ -625,9 +625,9 @@ BOOL ScrCmd_CheckPartyForSpecies(struct ScriptContext *ctx) // 01C0 struct Party *party = SaveArray_Party_Get(fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg == FALSE) { - u16 party_mon_species = (u16)GetMonData(party_mon, MON_DATA_SPECIES, NULL); + u16 party_mon_species = (u16)Pokemon_GetData(party_mon, MON_DATA_SPECIES, NULL); if (species == party_mon_species) { *ret_ptr = 1; break; @@ -648,7 +648,7 @@ BOOL ScrCmd_CountPartyMonRibbons(struct ScriptContext *ctx) // 022E u16 ribbon_idx; u16 ribbons; for (ribbon_idx = 0, ribbons = 0; ribbon_idx < 80; ribbon_idx++) { - BOOL party_mon_has_ribbon = (BOOL)GetMonData(party_mon, sub_0207FC5C((u8)ribbon_idx, 0), NULL); + BOOL party_mon_has_ribbon = (BOOL)Pokemon_GetData(party_mon, sub_0207FC5C((u8)ribbon_idx, 0), NULL); if (party_mon_has_ribbon) { ribbons++; } @@ -672,14 +672,14 @@ BOOL ScrCmd_CountTotalPartyRibbons(struct ScriptContext *ctx) // 022F for (u16 i = 0; i < party_count; i++) { struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg) { // BUG: This `break` should be a `continue`, as any party mons after a detected // egg would have their ribbons ignored. break; } - BOOL party_mon_has_ribbon = (BOOL)GetMonData(party_mon, sub_0207FC5C((u8)ribbon_idx, 0), NULL); + BOOL party_mon_has_ribbon = (BOOL)Pokemon_GetData(party_mon, sub_0207FC5C((u8)ribbon_idx, 0), NULL); if (party_mon_has_ribbon) { ribbons++; break; @@ -699,7 +699,7 @@ BOOL ScrCmd_PartyMonHasRibbon(struct ScriptContext *ctx) // 0230 struct Party *party = SaveArray_Party_Get(ctx->fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - *ret_ptr = (u16)GetMonData(party_mon, sub_0207FC5C((u8)ribbon_idx, 0), NULL); + *ret_ptr = (u16)Pokemon_GetData(party_mon, sub_0207FC5C((u8)ribbon_idx, 0), NULL); return FALSE; } @@ -711,7 +711,7 @@ BOOL ScrCmd_GivePartyMonRibbon(struct ScriptContext *ctx) // 0231 struct Party *party = SaveArray_Party_Get(ctx->fieldSystem->saveData); struct Pokemon *party_mon = Party_GetMonByIndex(party, mon_slot); - SetMonData(party_mon, (s32)sub_0207FC5C((u8)ribbon_idx, 0), &mon_has_ribbon); + Pokemon_SetData(party_mon, (s32)sub_0207FC5C((u8)ribbon_idx, 0), &mon_has_ribbon); return FALSE; } @@ -729,9 +729,9 @@ BOOL ScrCmd_CheckPartyForBadEgg(struct ScriptContext *ctx) // 02B7 for (ribbon_idx = 0; ribbon_idx < 80; ribbon_idx++) { for (u16 i = 0; i < party_count; i++) { struct Pokemon *party_mon = Party_GetMonByIndex(party, i); - BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); + BOOL party_mon_is_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_IS_EGG, NULL); if (party_mon_is_egg) { - BOOL party_mon_is_bad_egg = (BOOL)GetMonData(party_mon, MON_DATA_CHECKSUM_FAILED, NULL); + BOOL party_mon_is_bad_egg = (BOOL)Pokemon_GetData(party_mon, MON_DATA_CHECKSUM_FAILED, NULL); if (party_mon_is_bad_egg) { *ret_ptr = 1; return FALSE; diff --git a/arm9/src/script_pokemon_util.c b/arm9/src/script_pokemon_util.c index 752997aee..9fcc937e2 100644 --- a/arm9/src/script_pokemon_util.c +++ b/arm9/src/script_pokemon_util.c @@ -15,10 +15,10 @@ #include "unk_0202C144.h" BOOL MonNotFaintedOrEgg(struct Pokemon *pokemon) { - if (GetMonData(pokemon, MON_DATA_HP, NULL) == 0) { + if (Pokemon_GetData(pokemon, MON_DATA_HP, NULL) == 0) { return FALSE; } - if (GetMonData(pokemon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL)) { return FALSE; } return TRUE; @@ -28,12 +28,12 @@ BOOL GiveMon(HeapID heapId, struct SaveData *save, u16 species, u8 level, u16 it u32 ptr; PlayerProfile *data = Save_PlayerData_GetProfile(save); struct Party *party = SaveArray_Party_Get(save); - struct Pokemon *mon = AllocMonZeroed(heapId); - ZeroMonData(mon); - CreateMon(mon, species, level, 32, 0, 0, OT_ID_PLAYER_ID, 0); + struct Pokemon *mon = Pokemon_New(heapId); + Pokemon_Init(mon); + Pokemon_InitWithParams(mon, species, level, 32, 0, 0, OT_ID_PLAYER_ID, 0); sub_0206A014(mon, data, ITEM_POKE_BALL, mapSec, encounterType, heapId); ptr = item; - SetMonData(mon, MON_DATA_HELD_ITEM, &ptr); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &ptr); BOOL isAdded = Party_AddMon(party, mon); if (isAdded) { sub_0202C144(save, mon); @@ -47,8 +47,8 @@ BOOL GiveEgg(HeapID heapId, struct SaveData *save, u16 species, int level, int m #pragma unused(heapId) PlayerProfile *data = Save_PlayerData_GetProfile(save); struct Party *party = SaveArray_Party_Get(save); - struct Pokemon *mon = AllocMonZeroed(HEAP_ID_32); - ZeroMonData(mon); + struct Pokemon *mon = Pokemon_New(HEAP_ID_32); + Pokemon_Init(mon); ov05_SetEggStats(mon, species, level, data, 4, sub_02015CF8(metLocIndex, a3)); BOOL isAdded = Party_AddMon(party, mon); FreeToHeap(mon); @@ -66,13 +66,13 @@ int GetIdxOfFirstPartyMonWithMove(struct Party *party, int move) { for (int i = 0; i < partyCount; i++) { struct Pokemon *mon = Party_GetMonByIndex(party, i); - if (GetMonData(mon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { continue; } - if (GetMonData(mon, MON_DATA_MOVE1, NULL) == move - || GetMonData(mon, MON_DATA_MOVE2, NULL) == move - || GetMonData(mon, MON_DATA_MOVE3, NULL) == move - || GetMonData(mon, MON_DATA_MOVE4, NULL) == move) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1, NULL) == move + || Pokemon_GetData(mon, MON_DATA_MOVE2, NULL) == move + || Pokemon_GetData(mon, MON_DATA_MOVE3, NULL) == move + || Pokemon_GetData(mon, MON_DATA_MOVE4, NULL) == move) { return i; } } @@ -116,7 +116,7 @@ struct Pokemon *GetFirstNonEggInParty(struct Party *party) { for (i = 0; i < partyCount; i++) { struct Pokemon *mon = Party_GetMonByIndex(party, i); - if (!GetMonData(mon, MON_DATA_IS_EGG, NULL)) { + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { return mon; } } @@ -134,11 +134,11 @@ void GiveAllMonsTheSinnohChampRibbon(struct Party *party) { for (int i = 0; i < partyCount; i++) { struct Pokemon *mon = Party_GetMonByIndex(party, i); - if (GetMonData(mon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { continue; } - SetMonData(mon, MON_DATA_SINNOH_CHAMP_RIBBON, &var); + Pokemon_SetData(mon, MON_DATA_SINNOH_CHAMP_RIBBON, &var); } } @@ -155,18 +155,18 @@ int ApplyPoisonStep(struct Party *party, int location) { continue; } - if (!(GetMonData(mon, MON_DATA_STATUS, NULL) & 0x88)) { + if (!(Pokemon_GetData(mon, MON_DATA_STATUS, NULL) & 0x88)) { continue; } - hp = GetMonData(mon, MON_DATA_HP, NULL); + hp = Pokemon_GetData(mon, MON_DATA_HP, NULL); if (hp > 1) { hp--; } - SetMonData(mon, MON_DATA_HP, &hp); + Pokemon_SetData(mon, MON_DATA_HP, &hp); if (hp == 1) { numHealed++; - MonApplyFriendshipMod(mon, FRIENDSHIP_EVENT_HEAL_FIELD_PSN, (u32)location); + Pokemon_UpdateFriendship(mon, FRIENDSHIP_EVENT_HEAL_FIELD_PSN, (u32)location); } numPoisoned++; } @@ -184,10 +184,10 @@ int ApplyPoisonStep(struct Party *party, int location) { BOOL SurvivePoisoning(struct Pokemon *mon) { int status; - if (GetMonData(mon, MON_DATA_STATUS, NULL) & 0x88) { - if (GetMonData(mon, MON_DATA_HP, NULL) == 1) { + if (Pokemon_GetData(mon, MON_DATA_STATUS, NULL) & 0x88) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) == 1) { status = 0; - SetMonData(mon, MON_DATA_STATUS, &status); + Pokemon_SetData(mon, MON_DATA_STATUS, &status); return TRUE; } } diff --git a/arm9/src/trainer_data.c b/arm9/src/trainer_data.c index 02b7f6ddb..db7ac2c5a 100644 --- a/arm9/src/trainer_data.c +++ b/arm9/src/trainer_data.c @@ -267,7 +267,7 @@ void CreateNPCTrainerParty(BattleSetup *setup, s32 party_id, HeapID heapId) { seed_bak = GetLCRNGSeed(); Party_InitWithMaxSize(setup->party[party_id], PARTY_SIZE); data = (union TrainerMon *)AllocFromHeap(heapId, sizeof(union TrainerMon) * PARTY_SIZE); - pokemon = AllocMonZeroed(heapId); + pokemon = Pokemon_New(heapId); TrainerData_ReadTrPoke(setup->trainerId[party_id], data); // If a Pokemon's gender ratio is 50/50, the generated Pokemon will be the same @@ -301,7 +301,7 @@ void CreateNPCTrainerParty(BattleSetup *setup, s32 party_id, HeapID heapId) { // Difficulty is a number between 0 and 250 which directly corresponds // to the (uniform) IV spread of the generated Pokemon. iv = (u8)((monSpecies[i].difficulty * 31) / 255); - CreateMon(pokemon, monSpecies[i].species, monSpecies[i].level, iv, 1, (s32)personality, 2, 0); + Pokemon_InitWithParams(pokemon, monSpecies[i].species, monSpecies[i].level, iv, 1, (s32)personality, 2, 0); // If you were treating the trainer type as a bitfield, you'd put the // checks for held item and moves here. You'd also treat the trpoke @@ -321,7 +321,7 @@ void CreateNPCTrainerParty(BattleSetup *setup, s32 party_id, HeapID heapId) { personality = (seed << 8); personality += pid_gender; iv = (u8)((monSpeciesMoves[i].difficulty * 31) / 255); - CreateMon(pokemon, monSpeciesMoves[i].species, monSpeciesMoves[i].level, iv, 1, (s32)personality, 2, 0); + Pokemon_InitWithParams(pokemon, monSpeciesMoves[i].species, monSpeciesMoves[i].level, iv, 1, (s32)personality, 2, 0); for (j = 0; j < 4; j++) { MonSetMoveInSlot(pokemon, monSpeciesMoves[i].moves[j], (u8)j); } @@ -340,8 +340,8 @@ void CreateNPCTrainerParty(BattleSetup *setup, s32 party_id, HeapID heapId) { personality = (seed << 8); personality += pid_gender; iv = (u8)((monSpeciesItem[i].difficulty * 31) / 255); - CreateMon(pokemon, monSpeciesItem[i].species, monSpeciesItem[i].level, iv, 1, (s32)personality, 2, 0); - SetMonData(pokemon, MON_DATA_HELD_ITEM, &monSpeciesItem[i].item); + Pokemon_InitWithParams(pokemon, monSpeciesItem[i].species, monSpeciesItem[i].level, iv, 1, (s32)personality, 2, 0); + Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &monSpeciesItem[i].item); Party_AddMon(setup->party[party_id], pokemon); } break; @@ -357,8 +357,8 @@ void CreateNPCTrainerParty(BattleSetup *setup, s32 party_id, HeapID heapId) { personality = (seed << 8); personality += pid_gender; iv = (u8)((monSpeciesItemMoves[i].difficulty * 31) / 255); - CreateMon(pokemon, monSpeciesItemMoves[i].species, monSpeciesItemMoves[i].level, iv, 1, (s32)personality, 2, 0); - SetMonData(pokemon, MON_DATA_HELD_ITEM, &monSpeciesItemMoves[i].item); + Pokemon_InitWithParams(pokemon, monSpeciesItemMoves[i].species, monSpeciesItemMoves[i].level, iv, 1, (s32)personality, 2, 0); + Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &monSpeciesItemMoves[i].item); for (j = 0; j < 4; j++) { MonSetMoveInSlot(pokemon, monSpeciesItemMoves[i].moves[j], (u8)j); } diff --git a/arm9/src/unk_0202C144.c b/arm9/src/unk_0202C144.c index ec5bc371e..e60409091 100644 --- a/arm9/src/unk_0202C144.c +++ b/arm9/src/unk_0202C144.c @@ -7,11 +7,11 @@ #include "unk_02029FB0.h" void sub_0202C144(struct SaveData *save, struct Pokemon *mon) { - u32 is_egg = GetMonData(mon, MON_DATA_IS_EGG, NULL); + u32 is_egg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); if (!is_egg) { struct Pokedex *pokedex = Save_Pokedex_Get(save); struct GameStats *unk = Save_GameStats_Get(save); - u32 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u32 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); GameStats_IncSpeciesCaught(unk, pokedex, (u16)species); Pokedex_SetMonCaughtFlag(pokedex, mon); diff --git a/arm9/src/unk_0206B688.c b/arm9/src/unk_0206B688.c index c08d6ca51..8fd9b4f0b 100644 --- a/arm9/src/unk_0206B688.c +++ b/arm9/src/unk_0206B688.c @@ -9,8 +9,8 @@ u32 sub_0206B6D4(u32 species, u32 is_egg, u32 form); u32 sub_0206B688(struct BoxPokemon *boxmon) { BOOL decry = AcquireBoxMonLock(boxmon); - u32 species = GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL); - u32 is_egg = GetBoxMonData(boxmon, MON_DATA_IS_EGG, NULL); + u32 species = BoxPokemon_GetData(boxmon, MON_DATA_SPECIES, NULL); + u32 is_egg = BoxPokemon_GetData(boxmon, MON_DATA_IS_EGG, NULL); u32 form = BoxMon_GetAlternateForm(boxmon); u32 ret = sub_0206B6D4(species, is_egg, form); ReleaseBoxMonLock(boxmon, decry); @@ -53,7 +53,7 @@ u32 sub_0206B6D4(u32 species, u32 is_egg, u32 form) { } u16 BoxMon_GetAlternateForm(struct BoxPokemon *boxmon) { - u32 species = GetBoxMonData(boxmon, MON_DATA_SPECIES_OR_EGG, NULL); + u32 species = BoxPokemon_GetData(boxmon, MON_DATA_SPECIES_OR_EGG, NULL); switch (species) { case SPECIES_UNOWN: return GetBoxMonUnownLetter(boxmon); @@ -62,7 +62,7 @@ u16 BoxMon_GetAlternateForm(struct BoxPokemon *boxmon) { case SPECIES_WORMADAM: case SPECIES_SHELLOS: case SPECIES_GASTRODON: - return (u16)GetBoxMonData(boxmon, MON_DATA_FORM, NULL); + return (u16)BoxPokemon_GetData(boxmon, MON_DATA_FORM, NULL); default: return 0; } @@ -102,8 +102,8 @@ u32 sub_0206B7BC(u32 species, u32 form, u32 is_egg) { u32 sub_0206B83C(struct BoxPokemon *boxmon) { BOOL decry = AcquireBoxMonLock(boxmon); u32 form = BoxMon_GetAlternateForm(boxmon); - u32 species = GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL); - u32 is_egg = GetBoxMonData(boxmon, MON_DATA_IS_EGG, NULL); + u32 species = BoxPokemon_GetData(boxmon, MON_DATA_SPECIES, NULL); + u32 is_egg = BoxPokemon_GetData(boxmon, MON_DATA_IS_EGG, NULL); ReleaseBoxMonLock(boxmon, decry); return sub_0206B7BC(species, form, is_egg); } diff --git a/arm9/src/use_item_on_mon.c b/arm9/src/use_item_on_mon.c index 1a9b18d74..d8fdfac3f 100644 --- a/arm9/src/use_item_on_mon.c +++ b/arm9/src/use_item_on_mon.c @@ -27,7 +27,7 @@ BOOL CanUseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveId, HeapID FreeToHeap(itemData); return FALSE; } - status = GetMonData(pokemon, MON_DATA_STATUS, NULL); + status = Pokemon_GetData(pokemon, MON_DATA_STATUS, NULL); // slp if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_SLP_HEAL) && (status & MON_STATUS_SLP_MASK)) { FreeToHeap(itemData); @@ -53,17 +53,17 @@ BOOL CanUseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveId, HeapID FreeToHeap(itemData); return TRUE; } - hp = GetMonData(pokemon, MON_DATA_HP, NULL); + hp = Pokemon_GetData(pokemon, MON_DATA_HP, NULL); if ((GetItemAttr_PreloadedItemData(itemData, ITEMATTR_REVIVE) || GetItemAttr_PreloadedItemData(itemData, ITEMATTR_REVIVE_ALL)) && !GetItemAttr_PreloadedItemData(itemData, ITEMATTR_LEVEL_UP)) { if (hp == 0) { FreeToHeap(itemData); return TRUE; } - } else if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_RESTORE) && hp != 0 && hp < GetMonData(pokemon, MON_DATA_MAX_HP, NULL)) { + } else if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_RESTORE) && hp != 0 && hp < Pokemon_GetData(pokemon, MON_DATA_MAX_HP, NULL)) { FreeToHeap(itemData); return TRUE; } - if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_LEVEL_UP) && GetMonData(pokemon, MON_DATA_LEVEL, NULL) < MAX_LEVEL) { + if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_LEVEL_UP) && Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL) < MAX_LEVEL) { FreeToHeap(itemData); return TRUE; } @@ -72,7 +72,7 @@ BOOL CanUseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveId, HeapID return TRUE; } if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_PP_UP) || GetItemAttr_PreloadedItemData(itemData, ITEMATTR_PP_MAX)) { - if (GetMonData(pokemon, MON_DATA_MOVE1_PP_UPS + moveId, NULL) < 3 && WazaGetMaxPp((u16)GetMonData(pokemon, MON_DATA_MOVE1 + moveId, NULL), 0) >= 5) { + if (Pokemon_GetData(pokemon, MON_DATA_MOVE1_PP_UPS + moveId, NULL) < 3 && WazaGetMaxPp((u16)Pokemon_GetData(pokemon, MON_DATA_MOVE1 + moveId, NULL), 0) >= 5) { FreeToHeap(itemData); return TRUE; } @@ -89,13 +89,13 @@ BOOL CanUseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveId, HeapID } } } - hpEv = (s32)GetMonData(pokemon, MON_DATA_HP_EV, NULL); - atkEv = (s32)GetMonData(pokemon, MON_DATA_ATK_EV, NULL); - defEv = (s32)GetMonData(pokemon, MON_DATA_DEF_EV, NULL); - speedEv = (s32)GetMonData(pokemon, MON_DATA_SPEED_EV, NULL); - spAtkEv = (s32)GetMonData(pokemon, MON_DATA_SPATK_EV, NULL); - spDefEv = (s32)GetMonData(pokemon, MON_DATA_SPDEF_EV, NULL); - if (GetMonData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_SHEDINJA && GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_EV_UP)) { + hpEv = (s32)Pokemon_GetData(pokemon, MON_DATA_HP_EV, NULL); + atkEv = (s32)Pokemon_GetData(pokemon, MON_DATA_ATK_EV, NULL); + defEv = (s32)Pokemon_GetData(pokemon, MON_DATA_DEF_EV, NULL); + speedEv = (s32)Pokemon_GetData(pokemon, MON_DATA_SPEED_EV, NULL); + spAtkEv = (s32)Pokemon_GetData(pokemon, MON_DATA_SPATK_EV, NULL); + spDefEv = (s32)Pokemon_GetData(pokemon, MON_DATA_SPDEF_EV, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_SHEDINJA && GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_EV_UP)) { s32 dHpEv = (s32)GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_EV_UP_PARAM); if (dHpEv > 0) { if (hpEv < MAX_EV && (hpEv + atkEv + defEv + speedEv + spAtkEv + spDefEv) < MAX_EV_SUM) { @@ -228,7 +228,7 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca hadEffect = FALSE; effectFound = FALSE; { - sp54 = sp50 = (int)GetMonData(pokemon, MON_DATA_STATUS, NULL); + sp54 = sp50 = (int)Pokemon_GetData(pokemon, MON_DATA_STATUS, NULL); if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_SLP_HEAL)) { sp54 &= ~MON_STATUS_SLP_MASK; effectFound = TRUE; @@ -250,13 +250,13 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca effectFound = TRUE; } if (sp50 != sp54) { - SetMonData(pokemon, MON_DATA_STATUS, &sp54); + Pokemon_SetData(pokemon, MON_DATA_STATUS, &sp54); hadEffect = TRUE; } } { - sp50 = (int)GetMonData(pokemon, MON_DATA_HP, NULL); - sp54 = (int)GetMonData(pokemon, MON_DATA_MAX_HP, NULL); + sp50 = (int)Pokemon_GetData(pokemon, MON_DATA_HP, NULL); + sp54 = (int)Pokemon_GetData(pokemon, MON_DATA_MAX_HP, NULL); if ((GetItemAttr_PreloadedItemData(itemData, ITEMATTR_REVIVE) || GetItemAttr_PreloadedItemData(itemData, ITEMATTR_REVIVE_ALL)) && GetItemAttr_PreloadedItemData(itemData, ITEMATTR_LEVEL_UP)) { if (sp50 == 0) { RestoreMonHPBy(pokemon, (u32)sp50, (u32)sp54, GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_RESTORE_PARAM)); @@ -270,13 +270,13 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca } effectFound = TRUE; } - sp58 = (s32)GetMonData(pokemon, MON_DATA_LEVEL, NULL); + sp58 = (s32)Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL); if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_LEVEL_UP)) { if (sp58 < MAX_LEVEL) { - AddMonData(pokemon, MON_DATA_EXPERIENCE, (int)CalcMonExpToNextLevel(pokemon)); - CalcMonLevelAndStats(pokemon); + AddMonData(pokemon, MON_DATA_EXPERIENCE, (int)Pokemon_CalcExpToNextLevel(pokemon)); + Pokemon_CalcLevelAndStats(pokemon); if (sp50 == 0) { - sp5C = (s32)GetMonData(pokemon, MON_DATA_MAX_HP, NULL); + sp5C = (s32)Pokemon_GetData(pokemon, MON_DATA_MAX_HP, NULL); RestoreMonHPBy(pokemon, (u32)sp50, (u32)sp5C, (u32)(sp5C - sp54)); } hadEffect = TRUE; @@ -313,19 +313,19 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca effectFound = TRUE; } { - sp50 = (s32)GetMonData(pokemon, MON_DATA_HP_EV, NULL); - sp54 = (s32)GetMonData(pokemon, MON_DATA_ATK_EV, NULL); - sp58 = (s32)GetMonData(pokemon, MON_DATA_DEF_EV, NULL); - sp5C = (s32)GetMonData(pokemon, MON_DATA_SPEED_EV, NULL); - sp60 = (s32)GetMonData(pokemon, MON_DATA_SPATK_EV, NULL); - sp64 = (s32)GetMonData(pokemon, MON_DATA_SPDEF_EV, NULL); - if (GetMonData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_SHEDINJA && GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_EV_UP)) { + sp50 = (s32)Pokemon_GetData(pokemon, MON_DATA_HP_EV, NULL); + sp54 = (s32)Pokemon_GetData(pokemon, MON_DATA_ATK_EV, NULL); + sp58 = (s32)Pokemon_GetData(pokemon, MON_DATA_DEF_EV, NULL); + sp5C = (s32)Pokemon_GetData(pokemon, MON_DATA_SPEED_EV, NULL); + sp60 = (s32)Pokemon_GetData(pokemon, MON_DATA_SPATK_EV, NULL); + sp64 = (s32)Pokemon_GetData(pokemon, MON_DATA_SPDEF_EV, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) != SPECIES_SHEDINJA && GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_EV_UP)) { sp6C = (int)GetItemAttr_PreloadedItemData(itemData, ITEMATTR_HP_EV_UP_PARAM); sp68 = TryModEV(sp50, sp54 + sp58 + sp5C + sp60 + sp64, sp6C); if (sp68 != -1) { sp50 = sp68; - SetMonData(pokemon, MON_DATA_HP_EV, &sp50); - CalcMonLevelAndStats(pokemon); + Pokemon_SetData(pokemon, MON_DATA_HP_EV, &sp50); + Pokemon_CalcLevelAndStats(pokemon); hadEffect = TRUE; } if (sp6C > 0) { @@ -337,8 +337,8 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca sp68 = TryModEV(sp54, sp50 + sp58 + sp5C + sp60 + sp64, sp6C); if (sp68 != -1) { sp54 = sp68; - SetMonData(pokemon, MON_DATA_ATK_EV, &sp54); - CalcMonLevelAndStats(pokemon); + Pokemon_SetData(pokemon, MON_DATA_ATK_EV, &sp54); + Pokemon_CalcLevelAndStats(pokemon); hadEffect = TRUE; } if (sp6C > 0) { @@ -350,8 +350,8 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca sp68 = TryModEV(sp58, sp50 + sp54 + sp5C + sp60 + sp64, sp6C); if (sp68 != -1) { sp58 = sp68; - SetMonData(pokemon, MON_DATA_DEF_EV, &sp58); - CalcMonLevelAndStats(pokemon); + Pokemon_SetData(pokemon, MON_DATA_DEF_EV, &sp58); + Pokemon_CalcLevelAndStats(pokemon); hadEffect = TRUE; } if (sp6C > 0) { @@ -363,8 +363,8 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca sp68 = TryModEV(sp5C, sp50 + sp54 + sp58 + sp60 + sp64, sp6C); if (sp68 != -1) { sp5C = sp68; - SetMonData(pokemon, MON_DATA_SPEED_EV, &sp5C); - CalcMonLevelAndStats(pokemon); + Pokemon_SetData(pokemon, MON_DATA_SPEED_EV, &sp5C); + Pokemon_CalcLevelAndStats(pokemon); hadEffect = TRUE; } if (sp6C > 0) { @@ -376,8 +376,8 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca sp68 = TryModEV(sp60, sp50 + sp54 + sp58 + sp5C + sp64, sp6C); if (sp68 != -1) { sp60 = sp68; - SetMonData(pokemon, MON_DATA_SPATK_EV, &sp60); - CalcMonLevelAndStats(pokemon); + Pokemon_SetData(pokemon, MON_DATA_SPATK_EV, &sp60); + Pokemon_CalcLevelAndStats(pokemon); hadEffect = TRUE; } if (sp6C > 0) { @@ -389,8 +389,8 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca sp68 = TryModEV(sp64, sp50 + sp54 + sp58 + sp5C + sp60, sp6C); if (sp68 != -1) { sp64 = sp68; - SetMonData(pokemon, MON_DATA_SPDEF_EV, &sp64); - CalcMonLevelAndStats(pokemon); + Pokemon_SetData(pokemon, MON_DATA_SPDEF_EV, &sp64); + Pokemon_CalcLevelAndStats(pokemon); hadEffect = TRUE; } if (sp6C > 0) { @@ -403,7 +403,7 @@ BOOL UseItemOnPokemon(struct Pokemon *pokemon, u16 itemId, s32 moveIdx, u16 loca return FALSE; } { - sp50 = (s32)GetMonData(pokemon, MON_DATA_FRIENDSHIP, NULL); + sp50 = (s32)Pokemon_GetData(pokemon, MON_DATA_FRIENDSHIP, NULL); if (sp50 < 100) { if (GetItemAttr_PreloadedItemData(itemData, ITEMATTR_FRIENDSHIP_MOD_LO)) { DoItemFriendshipMod(pokemon, sp50, (s32)GetItemAttr_PreloadedItemData(itemData, ITEMATTR_FRIENDSHIP_MOD_LO_PARAM), location, heapId); @@ -442,12 +442,12 @@ BOOL UseItemOnMonInParty(struct Party *party, u16 itemId, s32 partyIdx, s32 move } u8 MonMoveCanRestorePP(struct Pokemon *pokemon, s32 moveIdx) { - u16 move_id = (u16)GetMonData(pokemon, MON_DATA_MOVE1 + moveIdx, NULL); + u16 move_id = (u16)Pokemon_GetData(pokemon, MON_DATA_MOVE1 + moveIdx, NULL); if (move_id == MOVE_NONE) { return FALSE; } - u8 pp = (u8)GetMonData(pokemon, MON_DATA_MOVE1_PP + moveIdx, NULL); - u8 ppUp = (u8)GetMonData(pokemon, MON_DATA_MOVE1_PP_UPS + moveIdx, NULL); + u8 pp = (u8)Pokemon_GetData(pokemon, MON_DATA_MOVE1_PP + moveIdx, NULL); + u8 ppUp = (u8)Pokemon_GetData(pokemon, MON_DATA_MOVE1_PP_UPS + moveIdx, NULL); return (u8)(pp < WazaGetMaxPp(move_id, ppUp)); } @@ -458,14 +458,14 @@ BOOL MonMoveRestorePP(struct Pokemon *pokemon, s32 moveIdx, s32 ppRestore) { s32 ppAttr; s32 ppUpAttr; - move_id = (u16)GetMonData(pokemon, MON_DATA_MOVE1 + moveIdx, NULL); + move_id = (u16)Pokemon_GetData(pokemon, MON_DATA_MOVE1 + moveIdx, NULL); if (move_id == MOVE_NONE) { return FALSE; } ppAttr = MON_DATA_MOVE1_PP + moveIdx; - pp = (u8)GetMonData(pokemon, ppAttr, NULL); + pp = (u8)Pokemon_GetData(pokemon, ppAttr, NULL); ppUpAttr = MON_DATA_MOVE1_PP_UPS + moveIdx; - maxPp = WazaGetMaxPp(move_id, (u8)GetMonData(pokemon, ppUpAttr, NULL)); + maxPp = WazaGetMaxPp(move_id, (u8)Pokemon_GetData(pokemon, ppUpAttr, NULL)); if (pp < maxPp) { if (ppRestore == PP_RESTORE_ALL) { pp = maxPp; @@ -475,7 +475,7 @@ BOOL MonMoveRestorePP(struct Pokemon *pokemon, s32 moveIdx, s32 ppRestore) { pp = maxPp; } } - SetMonData(pokemon, ppAttr, &pp); + Pokemon_SetData(pokemon, ppAttr, &pp); return TRUE; } return FALSE; @@ -488,16 +488,16 @@ BOOL BoostMonMovePpUpBy(struct Pokemon *pokemon, s32 moveIdx, u32 nPpUp) { s32 ppAttr; ppUpAttr = MON_DATA_MOVE1_PP_UPS + moveIdx; - ppUp = (u8)GetMonData(pokemon, ppUpAttr, NULL); + ppUp = (u8)Pokemon_GetData(pokemon, ppUpAttr, NULL); if (ppUp == 3) { return FALSE; } - move = (u16)GetMonData(pokemon, MON_DATA_MOVE1 + moveIdx, NULL); + move = (u16)Pokemon_GetData(pokemon, MON_DATA_MOVE1 + moveIdx, NULL); if (WazaGetMaxPp(move, 0) < 5) { return FALSE; } ppAttr = MON_DATA_MOVE1_PP + moveIdx; - pp = (u8)GetMonData(pokemon, ppAttr, NULL); + pp = (u8)Pokemon_GetData(pokemon, ppAttr, NULL); maxPp = WazaGetMaxPp(move, ppUp); if (ppUp + nPpUp > 3) { ppUp = 3; @@ -506,8 +506,8 @@ BOOL BoostMonMovePpUpBy(struct Pokemon *pokemon, s32 moveIdx, u32 nPpUp) { } newMaxPp = WazaGetMaxPp(move, ppUp); pp = (u8)(pp + newMaxPp - maxPp); - SetMonData(pokemon, ppUpAttr, &ppUp); - SetMonData(pokemon, ppAttr, &pp); + Pokemon_SetData(pokemon, ppUpAttr, &ppUp); + Pokemon_SetData(pokemon, ppAttr, &pp); return TRUE; } @@ -526,7 +526,7 @@ void RestoreMonHPBy(struct Pokemon *pokemon, u32 hp, u32 maxHp, u32 restoration) } else { hp = hp + restoration; } - SetMonData(pokemon, MON_DATA_HP, &hp); + Pokemon_SetData(pokemon, MON_DATA_HP, &hp); } s32 TryModEV(s32 ev, s32 evSum, s32 by) { @@ -552,7 +552,7 @@ s32 TryModEV(s32 ev, s32 evSum, s32 by) { } BOOL CanItemModFriendship(struct Pokemon *pokemon, struct ItemData *itemData) { - s32 friendship = (s32)GetMonData(pokemon, MON_DATA_FRIENDSHIP, NULL); + s32 friendship = (s32)Pokemon_GetData(pokemon, MON_DATA_FRIENDSHIP, NULL); if (friendship >= 255) { return FALSE; } @@ -576,13 +576,13 @@ BOOL DoItemFriendshipMod(struct Pokemon *pokemon, s32 friendship, s32 mod, u16 l return FALSE; } if (mod > 0) { - if (GetItemAttr((u16)GetMonData(pokemon, MON_DATA_HELD_ITEM, NULL), ITEMATTR_HOLD_EFFECT, heapId) == HOLD_EFFECT_FRIENDSHIP_UP) { + if (GetItemAttr((u16)Pokemon_GetData(pokemon, MON_DATA_HELD_ITEM, NULL), ITEMATTR_HOLD_EFFECT, heapId) == HOLD_EFFECT_FRIENDSHIP_UP) { mod = mod * 150 / 100; } - if (GetMonData(pokemon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { + if (Pokemon_GetData(pokemon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { mod++; } - if (location == GetMonData(pokemon, MON_DATA_EGG_LOCATION, NULL)) { + if (location == Pokemon_GetData(pokemon, MON_DATA_EGG_LOCATION, NULL)) { mod++; } } @@ -593,7 +593,7 @@ BOOL DoItemFriendshipMod(struct Pokemon *pokemon, s32 friendship, s32 mod, u16 l if (mod < 0) { mod = 0; } - SetMonData(pokemon, MON_DATA_FRIENDSHIP, &mod); + Pokemon_SetData(pokemon, MON_DATA_FRIENDSHIP, &mod); return TRUE; } @@ -606,12 +606,12 @@ void HealParty(struct Party *party) { nmons = Party_GetCount(party); for (i = 0; i < nmons; i++) { struct Pokemon *pokemon = Party_GetMonByIndex(party, i); - if (GetMonData(pokemon, MON_DATA_SPECIES_EXISTS, NULL)) { - sp8 = GetMonData(pokemon, MON_DATA_MAX_HP, NULL); - SetMonData(pokemon, MON_DATA_HP, &sp8); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES_EXISTS, NULL)) { + sp8 = Pokemon_GetData(pokemon, MON_DATA_MAX_HP, NULL); + Pokemon_SetData(pokemon, MON_DATA_HP, &sp8); sp8 = 0; - SetMonData(pokemon, MON_DATA_STATUS, &sp8); + Pokemon_SetData(pokemon, MON_DATA_STATUS, &sp8); for (j = 0; j < MAX_MON_MOVES; j++) { if (MonMoveCanRestorePP(pokemon, j) == 1) { diff --git a/files/poketool/personal/personal.json.txt b/files/poketool/personal/personal.json.txt index 8a4d7d078..a6259fc17 100644 --- a/files/poketool/personal/personal.json.txt +++ b/files/poketool/personal/personal.json.txt @@ -7,9 +7,9 @@ #include "constants/abilities.h" #include "constants/items.h" -u32 __size = sizeof(struct BaseStats); +u32 __size = sizeof(SpeciesData); -const struct BaseStats __data[] = { +const SpeciesData __data[] = { ## for mon in baseStats // {{ mon.species }} { diff --git a/files/poketool/personal_pearl/personal.json.txt b/files/poketool/personal_pearl/personal.json.txt index 8a4d7d078..a6259fc17 100644 --- a/files/poketool/personal_pearl/personal.json.txt +++ b/files/poketool/personal_pearl/personal.json.txt @@ -7,9 +7,9 @@ #include "constants/abilities.h" #include "constants/items.h" -u32 __size = sizeof(struct BaseStats); +u32 __size = sizeof(SpeciesData); -const struct BaseStats __data[] = { +const SpeciesData __data[] = { ## for mon in baseStats // {{ mon.species }} { diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 62197357e..b2ae66214 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -97,6 +97,8 @@ #define NATURE_CAREFUL 23 #define NATURE_QUIRKY 24 +#define NATURE_NUM 25 + // Pokemon Stats #define STAT_HP 0 #define STAT_ATK 1 @@ -107,8 +109,9 @@ #define STAT_ACC 6 // Only in battles. #define STAT_EVASION 7 // Only in battles. -#define NUM_EV_STATS NUM_STATS - 1 // excludes HP -#define NUM_BATTLE_STATS NUM_STATS + 2 // includes Accuracy and Evasion +#define NUM_STATS 6 +#define NUM_EV_STATS (NUM_STATS - 1) // excludes HP +#define NUM_BATTLE_STATS (NUM_STATS + 2) // includes Accuracy and Evasion // Shiny odds #define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536 @@ -324,42 +327,46 @@ enum MonGender { #define FRIENDSHIP_EVENT_FAINT_SMALL 6 #define FRIENDSHIP_EVENT_HEAL_FIELD_PSN 7 #define FRIENDSHIP_EVENT_FAINT_LARGE 8 // If opponent was >= 30 levels higher. See AdjustFriendshipOnBattleFaint +#define FRIENDHSIP_EVENT_CONTEST_WIN 9 +#define FRIENDSHIP_EVENT_NUM 10 + +#define FRIENDSHIP_MAX 255 // TODO: Identify the rest of these -enum BaseStat { - BASE_HP = 0, - BASE_ATK, - BASE_DEF, - BASE_SPEED, - BASE_SPATK, - BASE_SPDEF, - BASE_TYPE1, - BASE_TYPE2, - BASE_CATCH_RATE, - BASE_EXP_YIELD, - BASE_HP_YIELD, - BASE_ATK_YIELD, - BASE_DEF_YIELD, - BASE_SPEED_YIELD, - BASE_SPATK_YIELD, - BASE_SPDEF_YIELD, - BASE_ITEM_1, - BASE_ITEM_2, - BASE_GENDER_RATIO, - BASE_EGG_CYCLES, - BASE_FRIENDSHIP, - BASE_GROWTH_RATE, - BASE_EGG_GROUP_1, - GASE_EGG_GROUP_2, - BASE_ABILITY_1, - BASE_ABILITY_2, - BASE_GREAT_MARSH_RATE, - BASE_COLOR, - BASE_FLIP, - BASE_TMHM_1, - BASE_TMHM_2, - BASE_TMHM_3, - BASE_TMHM_4, +enum SpeciesDataParam { + SPECIES_DATA_BASE_HP = 0, + SPECIES_DATA_BASE_ATK, + SPECIES_DATA_BASE_DEF, + SPECIES_DATA_BASE_SPEED, + SPECIES_DATA_BASE_SP_ATK, + SPECIES_DATA_BASE_SP_DEF, + SPECIES_DATA_TYPE_1, + SPECIES_DATA_TYPE_2, + SPECIES_DATA_CATCH_RATE, + SPECIES_DATA_EXP_YIELD, + SPECIES_DATA_EV_HP_YIELD, + SPECIES_DATA_EV_ATK_YIELD, + SPECIES_DATA_EV_DEF_YIELD, + SPECIES_DATA_EV_SPEED_YIELD, + SPECIES_DATA_EV_SP_ATK_YIELD, + SPECIES_DATA_EV_SP_DEF_YIELD, + SPECIES_DATA_HELD_ITEM_COMMON, + SPECIES_DATA_HELD_ITEM_RARE, + SPECIES_DATA_GENDER_RATIO, + SPECIES_DATA_EGG_CYCLES, + SPECIES_DATA_BASE_FRIENDSHIP, + SPECIES_DATA_EXP_RATE, + SPECIES_DATA_EGG_GROUP_1, + SPECIES_DATA_EGG_GROUP_2, + SPECIES_DATA_ABILITY_1, + SPECIES_DATA_ABILITY_2, + SPECIES_DATA_SAFARI_FLEE_RATE, + SPECIES_DATA_BODY_COLOR, + SPECIES_DATA_FLIP_SPRITE, + SPECIES_DATA_TM_LEARNSET_MASK_1, + SPECIES_DATA_TM_LEARNSET_MASK_2, + SPECIES_DATA_TM_LEARNSET_MASK_3, + SPECIES_DATA_TM_LEARNSET_MASK_4, }; typedef enum { @@ -447,7 +454,8 @@ typedef enum { UNOWN_Y = 24, UNOWN_Z = 25, UNOWN_EXCLAMATION_MARK = 26, - UNOWN_QUESTION_MARK = 27 + UNOWN_QUESTION_MARK = 27, + UNOWN_FORM_MAX = 28, } AlternateForms; typedef enum EvoMethod { @@ -487,6 +495,9 @@ enum GrowthRate { GROWTH_MEDIUM_SLOW, GROWTH_FAST, GROWTH_SLOW, + GROWTH_UNUSED_6, + GROWTH_UNUSED_7, + GROWTH_RATE_COUNT }; #endif // POKEDIAMOND_CONSTANTS_POKEMON_H diff --git a/include/pokemon.h b/include/pokemon.h index f60cf59ff..2b920c1c2 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -24,7 +24,7 @@ #define LEVEL_UP_LEARNSET_MOVE(x) ((u16)(((x) & LEVEL_UP_LEARNSET_MOVEID_MASK) >> LEVEL_UP_LEARNSET_MOVEID_SHIFT)) #define LEVEL_UP_LEARNSET_LVL(x) (((x) & LEVEL_UP_LEARNSET_LEVEL_MASK) >> LEVEL_UP_LEARNSET_LEVEL_SHIFT) -struct BaseStats { +typedef struct SpeciesData { /* 0x00 */ u8 hp; /* 0x01 */ u8 atk; /* 0x02 */ u8 def; @@ -53,11 +53,11 @@ struct BaseStats { /* 0x19 */ u8 color : 7; u8 flip : 1; u8 padding_1A[2]; - /* 0x1C */ u32 unk1C; - /* 0x20 */ u32 unk20; - /* 0x24 */ u32 unk24; - /* 0x28 */ u32 unk28; -}; + /* 0x1C */ u32 tmhm_1; + /* 0x20 */ u32 tmhm_2; + /* 0x24 */ u32 tmhm_3; + /* 0x28 */ u32 tmhm_4; +} SpeciesData; // Structs @@ -73,56 +73,73 @@ typedef struct { /* 0x10 */ u8 hpEV; /* 0x11 */ u8 atkEV; /* 0x12 */ u8 defEV; - /* 0x13 */ u8 spdEV; - /* 0x14 */ u8 spatkEV; - /* 0x15 */ u8 spdefEV; - /* 0x16 */ u8 coolStat; - /* 0x17 */ u8 beautyStat; - /* 0x18 */ u8 cuteStat; - /* 0x19 */ u8 smartStat; - /* 0x1A */ u8 toughStat; + /* 0x13 */ u8 speedEV; + /* 0x14 */ u8 spAtkEV; + /* 0x15 */ u8 spDefEV; + /* 0x16 */ u8 cool; + /* 0x17 */ u8 beauty; + /* 0x18 */ u8 cute; + /* 0x19 */ u8 smart; + /* 0x1A */ u8 tough; /* 0x1B */ u8 sheen; // TODO: Finish SinnohRibbonSet1 - /* 0x1C */ u32 sinnohRibbons; + /* 0x1C */ u32 ribbonsDS1; // u8 sinnohChampRibbon:1, abilityRibbon:1; // u8 field_0x1d; // u8 gorgeousRoyalRibbon:1, footprintRibbon:1; // u8 field_0x1f; } PokemonDataBlockA; -typedef struct { +typedef struct PokemonDataBlockB { /* 0x00 */ u16 moves[4]; - /* 0x08 */ u8 movePP[4]; - /* 0x0C */ u8 movePpUps[4]; - /* 0x10 */ u32 hpIV : 5, atkIV : 5, defIV : 5, spdIV : 5, spatkIV : 5, spdefIV : 5, isEgg : 1, isNicknamed : 1; - // TODO: Finish HoennRibbonSet - /* 0x14 */ u32 ribbonFlags; // cool, ... - /* 0x18 */ u8 fatefulEncounter : 1, gender : 2, alternateForm : 5; - /* 0x19 */ u8 HGSS_shinyLeaves; // TODO: Turn into bitfield - /* 0x1A */ u16 Unused; - /* 0x1C */ u16 Platinum_EggLocation; - /* 0x1E */ u16 Platinum_MetLocation; + /* 0x08 */ u8 moveCurrentPPs[4]; + /* 0x0C */ u8 movePPUps[4]; + + /* 0x10 */ u32 hpIV : 5; + u32 atkIV : 5; + u32 defIV : 5; + u32 speedIV : 5; + u32 spAtkIV : 5; + u32 spDefIV : 5; + u32 isEgg : 1; + u32 hasNickname : 1; + + /* 0x14 */ u32 ribbonsGBA; //!< A bitmask of ribbons introduced in Generation 3. Cool, Beauty, Cute, Smart, Tough, Champion, Winning, Victory, Artist, Effort, Marine, Land, Sky, Country, National, Earth and World Ribbons. + /* 0x18 */ u8 fatefulEncounter : 1; + u8 gender : 2; + u8 form : 5; + /* 0x19 */ u8 unused1; //!< First 6 bits track Shiny Leaves from HGSS. + /* 0x1A */ u16 unused2; + + /* 0x1C */ u16 EggLocation_PtHGSS; + /* 0x1E */ u16 MetLocation_PtHGSS; } PokemonDataBlockB; typedef struct { - /* 0x00 */ u16 nickname[11]; - /* 0x16 */ u8 Unused; + /* 0x00 */ u16 nickname[POKEMON_NAME_LENGTH + 1]; + /* 0x16 */ u8 unused; /* 0x17 */ u8 originGame; - // TODO: Finish SinnohRibbonSet2 - /* 0x18 */ u64 sinnohRibbons2; // cool, ... + /* 0x18 */ u64 ribbonsDS2; //!< A bitmask of ribbons given to the Pokemon from Sinnoh's Super Contests. } PokemonDataBlockC; typedef struct { - /* 0x00 */ u16 otTrainerName[8]; - /* 0x10 */ u8 dateEggReceived[3]; - /* 0x13 */ u8 dateMet[3]; + /* 0x00 */ u16 otName[PLAYER_NAME_LENGTH + 1]; + + /* 0x10 */ u8 eggYear; + /* 0x11 */ u8 eggMonth; + /* 0x12 */ u8 eggDay; + + /* 0x13 */ u8 metYear; + /* 0x14 */ u8 metMonth; + /* 0x15 */ u8 metDay; + /* 0x16 */ u16 DP_EggLocation; /* 0x18 */ u16 DP_MetLocation; /* 0x1A */ u8 pokerus; /* 0x1B */ u8 pokeball; /* 0x1C */ u8 metLevel : 7; u8 otGender : 1; - /* 0x1D */ u8 encounterType; + /* 0x1D */ u8 metTerrain; /* 0x1E */ u16 HGSS_Pokeball; } PokemonDataBlockD; @@ -134,21 +151,21 @@ typedef union { } PokemonDataBlock; typedef struct BoxPokemon { - /* 0x000 */ u32 pid; - /* 0x004 */ u16 party_lock : 1; - u16 box_lock : 1; - u16 checksum_fail : 1; - u16 Unused : 13; // Might be used for validity checks - /* 0x006 */ u16 checksum; // Stored checksum of pokemon - /* 0x008 */ PokemonDataBlock substructs[4]; + /* 0x000 */ u32 personality; + /* 0x004 */ u16 partyDecrypted : 1; + u16 boxDecrypted : 1; + u16 checksumFailed : 1; + u16 unused : 13; + /* 0x006 */ u16 checksum; + /* 0x008 */ PokemonDataBlock dataBlocks[4]; } BoxPokemon; struct PartyPokemon { /* 0x088 */ u32 status; // slp:3, psn:1, brn:1, frz:1, prz:1, tox:1, ... /* 0x08C */ u8 level; - /* 0x08D */ u8 capsule; + /* 0x08D */ u8 ballCapsuleID; /* 0x08E */ u16 hp; - /* 0x090 */ u16 maxHp; + /* 0x090 */ u16 maxHP; /* 0x092 */ u16 atk; /* 0x094 */ u16 def; /* 0x096 */ u16 speed; @@ -205,114 +222,114 @@ typedef struct Party { struct Pokemon mons[PARTY_SIZE]; } Party; -void ZeroMonData(struct Pokemon *pokemon); -void ZeroBoxMonData(struct BoxPokemon *boxmon); +void Pokemon_Init(Pokemon *mon); +void BoxPokemon_Init(BoxPokemon *boxMon); u32 SizeOfStructPokemon(void); -struct Pokemon *AllocMonZeroed(HeapID heapId); -BOOL AcquireMonLock(struct Pokemon *mon); -BOOL ReleaseMonLock(struct Pokemon *mon, BOOL decrypt_result); -BOOL AcquireBoxMonLock(struct BoxPokemon *mon); -BOOL ReleaseBoxMonLock(struct BoxPokemon *mon, BOOL decrypt_result); -void CreateMon(struct Pokemon *pokemon, int species, int level, int fixedIV, int hasFixedPersonality, int fixedPersonality, int otIdType, int fixedOtId); -void CreateBoxMon(struct BoxPokemon *boxPokemon, int species, int level, int fixedIV, int hasFixedPersonality, int fixedPersonality, int otIdType, int fixedOtId); -void CreateMonWithNature(struct Pokemon *pokemon, u16 species, u8 level, u8 fixedIv, u8 nature); -void CreateMonWithGenderNatureLetter(struct Pokemon *pokemon, u16 species, u8 level, u8 fixedIv, u8 gender, u8 nature, u8 letter); -u32 GenPersonalityByGenderAndNature(u16 species, u8 gender, u8 nature); -void CreateMonWithFixedIVs(struct Pokemon *pokemon, int species, int level, int ivs, int personality); -void CalcMonLevelAndStats(struct Pokemon *pokemon); -void CalcMonStats(struct Pokemon *pokemon); +Pokemon *Pokemon_New(HeapID heapId); +BOOL AcquireMonLock(Pokemon *mon); +BOOL ReleaseMonLock(Pokemon *mon, BOOL decrypt_result); +BOOL AcquireBoxMonLock(BoxPokemon *boxMon); +BOOL ReleaseBoxMonLock(BoxPokemon *boxMon, BOOL decrypt_result); +void Pokemon_InitWithParams(Pokemon *mon, int species, int level, int fixedIV, int hasFixedPersonality, int fixedPersonality, int otIdType, int fixedOtId); +void BoxPokemon_InitWithParams(BoxPokemon *boxMon, int species, int level, int ivs, BOOL hasFixedPersonality, int personality, int otIDType, int otID); +void Pokemon_InitWithNature(Pokemon *mon, u16 species, u8 level, u8 fixedIv, u8 nature); +void Pokemon_InitWithGenderNatureLetter(Pokemon *mon, u16 species, u8 level, u8 ivs, u8 gender, u8 nature, u8 letter); +u32 Personality_CreateFromGenderAndNature(u16 species, u8 gender, u8 nature); +void CreateMonWithFixedIVs(Pokemon *mon, int species, int level, int ivs, int personality); +void Pokemon_CalcLevelAndStats(Pokemon *mon); +void Pokemon_CalcStats(Pokemon *mon); #ifndef IN_POKEMON_C -u32 GetMonData(); -u32 GetBoxMonData(); +u32 Pokemon_GetData(); +u32 BoxPokemon_GetData(); #else -u32 GetMonData(struct Pokemon *pokemon, int attr, void *ptr); -u32 GetBoxMonData(struct BoxPokemon *pokemon, int attr, void *ptr); +u32 Pokemon_GetData(Pokemon *mon, int param, void *ptr); +u32 BoxPokemon_GetData(BoxPokemon *boxMon, int param, void *ptr); #endif -void SetMonData(struct Pokemon *pokemon, int attr, void *ptr); -void SetBoxMonData(struct BoxPokemon *pokemon, int attr, void *ptr); -void AddMonData(struct Pokemon *pokemon, int attr, int amount); -struct BaseStats *AllocAndLoadMonPersonal(int species, HeapID heapId); -int GetPersonalAttr(struct BaseStats *baseStats, enum BaseStat attr); -void FreeMonPersonal(struct BaseStats *personal); -int GetMonBaseStat_HandleFormConversion(int species, int form, enum BaseStat stat_id); -int GetMonBaseStat(int species, enum BaseStat stat_id); -u8 GetPercentProgressTowardsNextLevel(struct Pokemon *pokemon); -u32 CalcMonExpToNextLevel(struct Pokemon *pokemon); -u32 GetMonBaseExperienceAtCurrentLevel(struct Pokemon *pokemon); -u32 GetMonExpBySpeciesAndLevel(int species, int level); -void LoadGrowthTable(int growthRate, u32 *table); -u32 GetExpByGrowthRateAndLevel(int rate, int level); -int CalcMonLevel(struct Pokemon *pokemon); -int CalcBoxMonLevel(struct BoxPokemon *boxmon); -int CalcLevelBySpeciesAndExp(u16 species, u32 experience); -int CalcLevelBySpeciesAndExp_PreloadedPersonal(struct BaseStats *personal, u16 species, u32 experience); -u8 GetBoxMonNature(struct BoxPokemon *boxmon); -u8 GetMonNature(struct Pokemon *mon); -u8 GetNatureFromPersonality(u32 pid); -void MonApplyFriendshipMod(struct Pokemon *pokemon, u32 kind, u32 location); -u8 GetMonGender(struct Pokemon *pokemon); -u8 GetBoxMonGender(struct BoxPokemon *boxmon); -u8 GetGenderBySpeciesAndPersonality(u16 species, u32 pid); -u8 MonIsShiny(struct Pokemon *pokemon); -u32 GenerateShinyPersonality(u32 otid); -void sub_02068B70(struct SomeDrawPokemonStruct *spC, struct BoxPokemon *boxmon, u8 sp10); +void Pokemon_SetData(Pokemon *mon, int param, void *ptr); +void BoxPokemon_SetData(BoxPokemon *boxMon, int param, void *ptr); +void AddMonData(Pokemon *mon, int param, int amount); +SpeciesData *SpeciesData_NewFromSpecies(int species, HeapID heapId); +int SpeciesData_GetValue(SpeciesData *speciesData, enum SpeciesDataParam attr); +void SpeciesData_Free(SpeciesData *speciesData); +int Species_GetFormValue(int species, int form, enum SpeciesDataParam stat_id); +int Species_GetValue(int species, enum SpeciesDataParam stat_id); +u8 Pokemon_CalcPercentToNextLevel(Pokemon *mon); +u32 Pokemon_CalcExpToNextLevel(Pokemon *mon); +u32 Pokemon_GetCurrentLevelBaseExp(Pokemon *mon); +u32 Species_GetExpAtLevel(int species, int level); +void ExpRate_LoadTable(int growthRate, u32 *table); +u32 ExpRate_GetExpAtLevel(int rate, int level); +int Pokemon_CalcLevel(Pokemon *mon); +int BoxPokemon_CalcLevel(BoxPokemon *boxMon); +int Species_CalcLevelByExp(u16 species, u32 experience); +int SpeciesData_CalcLevelByExp(SpeciesData *speciesData, u16 species, u32 experience); +u8 BoxPokemon_GetNature(BoxPokemon *boxMon); +u8 Pokemon_GetNature(Pokemon *mon); +u8 Personality_GetNature(u32 personality); +void Pokemon_UpdateFriendship(Pokemon *mon, u32 kind, u32 location); +u8 Pokemon_GetGender(Pokemon *mon); +u8 BoxPokemon_GetGender(BoxPokemon *boxMon); +u8 Species_GetGenderFromPersonality(u16 species, u32 personality); +u8 Pokemon_IsShiny(Pokemon *mon); +u32 Personality_GenerateShiny(u32 otID); +void sub_02068B70(struct SomeDrawPokemonStruct *spC, BoxPokemon *boxMon, u8 sp10); void sub_02068C00(struct SomeDrawPokemonStruct *spC, int species, u8 gender, u8 sp10, u8 shiny, u8 form, u32 personality); -u8 sub_02068E14(struct Pokemon *pokemon, u32 a1); -u8 sub_02068E1C(struct BoxPokemon *boxmon, u32 a1); +u8 sub_02068E14(Pokemon *mon, u32 a1); +u8 sub_02068E1C(BoxPokemon *boxMon, u32 a1); u8 sub_02068E88(int species, u8 gender, u32 a2, u8 form, u32 pid); u32 GetArceusTypeByHeldItemEffect(u16 plate); int sub_0206AA30(int a0); -void sub_02068B68(struct SomeDrawPokemonStruct *spC, struct Pokemon *pokemon, u8 sp10); +void sub_02068B68(struct SomeDrawPokemonStruct *spC, Pokemon *mon, u8 sp10); void sub_02068FE0(struct SomeDrawPokemonStruct *a0, u16 a1, int a2); void sub_02069010(void *dest, int a1); void sub_02069038(u32 a0, u32 a1, u32 a2, s32 a3, u32 a4, u32 a5, u32 a6); void sub_020690AC(struct SomeDrawPokemonStruct *a0, u32 a1); u32 sub_020690C4(void); u32 sub_020690C8(void); -u8 GetBoxMonUnownLetter(struct BoxPokemon *boxmon); -u8 GetMonUnownLetter(struct Pokemon *pokemon); +u8 GetBoxMonUnownLetter(BoxPokemon *boxMon); +u8 GetMonUnownLetter(Pokemon *mon); void LoadLevelUpLearnset_HandleAlternateForm(int species, int form, u16 *levelUpLearnset); -struct BoxPokemon *sub_020690E4(struct Pokemon *pokemon); +BoxPokemon *sub_020690E4(Pokemon *mon); -u16 GetMonEvolution(struct Party *party, struct Pokemon *pokemon, u32 context, u32 usedItem, u32 *method_ret); +u16 GetMonEvolution(struct Party *party, Pokemon *mon, u32 context, u32 usedItem, u32 *method_ret); u16 ReadFromPersonalPmsNarc(u16 species); u16 GetEggSpecies(u16 species); -BOOL sub_020690E8(struct Pokemon *pokemon); -u32 sub_02069698(struct Pokemon *pokemon, u16 move); -void sub_02069708(struct Pokemon *pokemon, u16 move); -void sub_02069718(struct BoxPokemon *boxmon, u16 move); -void MonSetMoveInSlot(struct Pokemon *pokemon, u16 move, u8 slot); -u32 sub_02069818(struct Pokemon *pokemon, u32 *r5, u16 *sp0); -void sub_020698E0(struct Pokemon *pokemon, int slot1, int slot2); -void sub_020698E8(struct BoxPokemon *boxmon, int slot1, int slot2); -void sub_020699A4(struct Pokemon *pokemon, u32 slot); -void CopyBoxPokemonToPokemon(struct BoxPokemon *src, struct Pokemon *dest); +BOOL sub_020690E8(Pokemon *mon); +u32 sub_02069698(Pokemon *mon, u16 move); +void sub_02069708(Pokemon *mon, u16 move); +void sub_02069718(BoxPokemon *boxMon, u16 move); +void MonSetMoveInSlot(Pokemon *mon, u16 move, u8 slot); +u32 sub_02069818(Pokemon *mon, u32 *r5, u16 *sp0); +void sub_020698E0(Pokemon *mon, int slot1, int slot2); +void sub_020698E8(BoxPokemon *boxMon, int slot1, int slot2); +void sub_020699A4(Pokemon *mon, u32 slot); +void CopyBoxPokemonToPokemon(BoxPokemon *src, Pokemon *dest); u8 Party_GetMaxLevel(struct Party *party); u16 SpeciesToSinnohDexNo(u16 species); u16 SinnohDexNoToSpecies(u16 sinnoh_dex); -void CopyPokemonToPokemon(struct Pokemon *src, struct Pokemon *dest); -void CopyPokemonToBoxPokemon(struct Pokemon *src, struct BoxPokemon *dest); -void CopyBoxPokemonToBoxPokemon(struct BoxPokemon *src, struct BoxPokemon *dest); -s8 MonGetFlavorPreference(struct Pokemon *pokemon, int flavor); +void CopyPokemonToPokemon(Pokemon *src, Pokemon *dest); +void CopyPokemonToBoxPokemon(Pokemon *src, BoxPokemon *dest); +void CopyBoxPokemonToBoxPokemon(BoxPokemon *src, BoxPokemon *dest); +s8 MonGetFlavorPreference(Pokemon *mon, int flavor); int Species_LoadLearnsetTable(u16 species, u32 form, u16 *dest); void Party_GivePokerusAtRandom(struct Party *party); void Party_UpdatePokerus(struct Party *party, int r5); void Party_SpreadPokerus(struct Party *party); -BOOL Pokemon_HasPokerus(struct Pokemon *pokemon); -BOOL Pokemon_IsImmuneToPokerus(struct Pokemon *pokemon); -void Pokemon_UpdateArceusForm(struct Pokemon *pokemon); +BOOL Pokemon_HasPokerus(Pokemon *mon); +BOOL Pokemon_IsImmuneToPokerus(Pokemon *mon); +void Pokemon_UpdateArceusForm(Pokemon *mon); void sub_02069FB0(struct SaveChatotSoundClip *r7, u32 r5, u16 r4, s32 r6, s32 sp18, u32 sp1C, HeapID heapId); -void sub_0206A014(struct Pokemon *pokemon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, HeapID heapId); -void sub_0206A094(struct Pokemon *pokemon, u32 a1, u32 a2); -BOOL sub_0206A13C(struct Pokemon *pokemon, u32 a1); -void sub_0206A1C4(struct Pokemon *pokemon); -void sub_0206A23C(struct Pokemon *r5, u32 personality); +void sub_0206A014(Pokemon *mon, PlayerProfile *a1, u32 pokeball, u32 a3, u32 encounterType, HeapID heapId); +void sub_0206A094(Pokemon *mon, u32 a1, u32 a2); +BOOL sub_0206A13C(Pokemon *mon, u32 a1); +void sub_0206A1C4(Pokemon *mon); +void sub_0206A23C(Pokemon *r5, u32 personality); int LowestFlagNo(u32 mask); BOOL IsPokemonLegendaryOrMythical(u16 species); u16 GetLegendaryMon(u32 idx); -BOOL sub_0206A998(struct Pokemon *pokemon); -BOOL sub_0206A9AC(struct BoxPokemon *boxmon, PlayerProfile *sb2, HeapID heapId); -void Pokemon_RemoveCapsule(struct Pokemon *pokemon); -void RestoreBoxMonPP(struct BoxPokemon *boxmon); +BOOL sub_0206A998(Pokemon *mon); +BOOL sub_0206A9AC(BoxPokemon *boxMon, PlayerProfile *sb2, HeapID heapId); +void Pokemon_RemoveCapsule(Pokemon *mon); +void RestoreBoxMonPP(BoxPokemon *boxMon); #endif // POKEDIAMOND_POKEMON_H