From 84dce8ea46ff8e27b171169a1fa266f1a1115b27 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 8 Sep 2021 13:18:19 -0400 Subject: Name game stats methods --- arm9/src/save_arrays.c | 46 ++++++++++++------------ arm9/src/scrcmd_berry_trees.c | 8 ++--- arm9/src/unk_02029FB0.c | 81 ++++++++++++++++++++++--------------------- arm9/src/unk_0202C144.c | 4 +-- arm9/src/unk_0205FA2C.c | 4 +-- 5 files changed, 72 insertions(+), 71 deletions(-) (limited to 'arm9/src') diff --git a/arm9/src/save_arrays.c b/arm9/src/save_arrays.c index 1969e3f1..3ba70e39 100644 --- a/arm9/src/save_arrays.c +++ b/arm9/src/save_arrays.c @@ -27,7 +27,7 @@ extern u32 FUN_02026FD8(void); extern u32 FUN_02028054(void); extern u32 FUN_02028980(void); extern u32 FUN_02029A84(void); -extern u32 FUN_02029FB0(void); +extern u32 Sav2_GameStats_sizeof(void); extern u32 Sav2_Chatot_sizeof(void); extern u32 FUN_0202A8F4(void); extern u32 FUN_0202A924(void); @@ -47,7 +47,7 @@ extern void FUN_02026F60(void *); extern void FUN_0202805C(void *); extern void FUN_02028994(void *); extern void FUN_02029A8C(void *); -extern void FUN_02029FB8(void *); +extern void Sav2_GameStats_init(void *); extern void FUN_0202A8F8(void *); extern void FUN_0202A92C(void *); extern void FUN_0202ABCC(void *); @@ -74,27 +74,27 @@ const struct SaveChunkHeader UNK_020EE700[] = { { 7, 0, (SAVSIZEFN)Sav2_Pokedex_sizeof, (SAVINITFN)Sav2_Pokedex_init }, { 8, 0, (SAVSIZEFN)Sav2_DayCare_sizeof, (SAVINITFN)Sav2_DayCare_init }, { 9, 0, (SAVSIZEFN)FUN_020254B8, (SAVINITFN)FUN_020254CC }, - { 10, 0, (SAVSIZEFN)FUN_02024E64, (SAVINITFN)FUN_02024E6C }, - { 11, 0, (SAVSIZEFN)FUN_02034D80, (SAVINITFN)FUN_02034D88 }, - { 12, 0, (SAVSIZEFN)FUN_02025954, (SAVINITFN)FUN_0202597C }, - { 13, 0, (SAVSIZEFN)FUN_02023AC8, (SAVINITFN)FUN_02023AD8 }, - { 14, 0, (SAVSIZEFN)FUN_02026FD8, (SAVINITFN)FUN_02026F60 }, - { 15, 0, (SAVSIZEFN)Sav2_Mailbox_sizeof, (SAVINITFN)Sav2_Mailbox_init }, - { 16, 0, (SAVSIZEFN)FUN_02028054, (SAVINITFN)FUN_0202805C }, - { 17, 0, (SAVSIZEFN)FUN_020286F8, (SAVINITFN)FUN_02028724 }, - { 18, 0, (SAVSIZEFN)FUN_02028980, (SAVINITFN)FUN_02028994 }, - { 19, 0, (SAVSIZEFN)FUN_02029A84, (SAVINITFN)FUN_02029A8C }, - { 20, 0, (SAVSIZEFN)FUN_02029FB0, (SAVINITFN)FUN_02029FB8 }, - { 21, 0, (SAVSIZEFN)Sav2_SealCase_sizeof, (SAVINITFN)Sav2_SealCase_init }, - { 22, 0, (SAVSIZEFN)Sav2_Chatot_sizeof, (SAVINITFN)Sav2_Chatot_init }, - { 23, 0, (SAVSIZEFN)SaveStruct23_sizeof, (SAVINITFN)SaveStruct23_Init }, - { 24, 0, (SAVSIZEFN)FUN_0202A8F4, (SAVINITFN)FUN_0202A8F8 }, - { 25, 0, (SAVSIZEFN)FUN_0202A924, (SAVINITFN)FUN_0202A92C }, - { 26, 0, (SAVSIZEFN)FUN_0202ABC8, (SAVINITFN)FUN_0202ABCC }, - { 27, 0, (SAVSIZEFN)FUN_0202B374, (SAVINITFN)FUN_0202B37C }, - { 28, 0, (SAVSIZEFN)FUN_0202B8B0, (SAVINITFN)FUN_0202B8B8 }, - { 29, 0, (SAVSIZEFN)FUN_020281E0, (SAVINITFN)FUN_020281E8 }, - { 30, 0, (SAVSIZEFN)FUN_02029AE0, (SAVINITFN)FUN_02029AE8 }, + { 10, 0, (SAVSIZEFN)FUN_02024E64, (SAVINITFN)FUN_02024E6C }, + { 11, 0, (SAVSIZEFN)FUN_02034D80, (SAVINITFN)FUN_02034D88 }, + { 12, 0, (SAVSIZEFN)FUN_02025954, (SAVINITFN)FUN_0202597C }, + { 13, 0, (SAVSIZEFN)FUN_02023AC8, (SAVINITFN)FUN_02023AD8 }, + { 14, 0, (SAVSIZEFN)FUN_02026FD8, (SAVINITFN)FUN_02026F60 }, + { 15, 0, (SAVSIZEFN)Sav2_Mailbox_sizeof, (SAVINITFN)Sav2_Mailbox_init }, + { 16, 0, (SAVSIZEFN)FUN_02028054, (SAVINITFN)FUN_0202805C }, + { 17, 0, (SAVSIZEFN)FUN_020286F8, (SAVINITFN)FUN_02028724 }, + { 18, 0, (SAVSIZEFN)FUN_02028980, (SAVINITFN)FUN_02028994 }, + { 19, 0, (SAVSIZEFN)FUN_02029A84, (SAVINITFN)FUN_02029A8C }, + { 20, 0, (SAVSIZEFN)Sav2_GameStats_sizeof, (SAVINITFN)Sav2_GameStats_init }, + { 21, 0, (SAVSIZEFN)Sav2_SealCase_sizeof, (SAVINITFN)Sav2_SealCase_init }, + { 22, 0, (SAVSIZEFN)Sav2_Chatot_sizeof, (SAVINITFN)Sav2_Chatot_init }, + { 23, 0, (SAVSIZEFN)SaveStruct23_sizeof, (SAVINITFN)SaveStruct23_Init }, + { 24, 0, (SAVSIZEFN)FUN_0202A8F4, (SAVINITFN)FUN_0202A8F8 }, + { 25, 0, (SAVSIZEFN)FUN_0202A924, (SAVINITFN)FUN_0202A92C }, + { 26, 0, (SAVSIZEFN)FUN_0202ABC8, (SAVINITFN)FUN_0202ABCC }, + { 27, 0, (SAVSIZEFN)FUN_0202B374, (SAVINITFN)FUN_0202B37C }, + { 28, 0, (SAVSIZEFN)FUN_0202B8B0, (SAVINITFN)FUN_0202B8B8 }, + { 29, 0, (SAVSIZEFN)FUN_020281E0, (SAVINITFN)FUN_020281E8 }, + { 30, 0, (SAVSIZEFN)FUN_02029AE0, (SAVINITFN)FUN_02029AE8 }, { 31, 0, (SAVSIZEFN)FUN_0202AC20, (SAVINITFN)FUN_0202AC28 }, { 32, 0, (SAVSIZEFN)FUN_0202BE98, (SAVINITFN)FUN_0202BEA0 }, { 33, 0, (SAVSIZEFN)FUN_0202C0E0, (SAVINITFN)FUN_0202C0E4 }, diff --git a/arm9/src/scrcmd_berry_trees.c b/arm9/src/scrcmd_berry_trees.c index 7fce0387..43999cec 100644 --- a/arm9/src/scrcmd_berry_trees.c +++ b/arm9/src/scrcmd_berry_trees.c @@ -77,11 +77,11 @@ THUMB_FUNC BOOL ScrCmd_SetBerryTreeMulch(struct ScriptContext* ctx) THUMB_FUNC BOOL ScrCmd_SetBerryTreeType(struct ScriptContext* ctx) { void** unk = FUN_02039438(ctx->unk80, 10); - struct UnkStruct_02029FB0* unk2 = FUN_02029FC8(ctx->unk80->saveBlock2); + struct GameStats* unk2 = Sav2_GameStats_get(ctx->unk80->saveBlock2); u16 unk3 = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); FUN_0204B5A8(ctx->unk80, *unk, unk3); - FUN_0202A0E8(unk2, 3); + GameStats_Inc(unk2, 3); return FALSE; } @@ -108,11 +108,11 @@ THUMB_FUNC BOOL ScrCmd_Unk0184(struct ScriptContext* ctx) //SetBerryTreeWater/Wa THUMB_FUNC BOOL ScrCmd_TakeBerryTreeBerries(struct ScriptContext* ctx) { - struct UnkStruct_02029FB0* unk = FUN_02029FC8(ctx->unk80->saveBlock2); + struct GameStats* unk = Sav2_GameStats_get(ctx->unk80->saveBlock2); void** unk2 = FUN_02039438(ctx->unk80, 10); FUN_0204B4FC(ctx->unk80, *unk2); - FUN_0202A170(unk, 0); + GameStats_AddSpecial(unk, 0); return FALSE; } diff --git a/arm9/src/unk_02029FB0.c b/arm9/src/unk_02029FB0.c index 53b0a9d8..52cd5202 100644 --- a/arm9/src/unk_02029FB0.c +++ b/arm9/src/unk_02029FB0.c @@ -88,6 +88,7 @@ u8 UNK_02105CD8[] = { FALSE, // 041 FALSE, // 042 FALSE, // 043 + TRUE, // 044 TRUE, // 045 FALSE, // 046 @@ -178,22 +179,22 @@ static inline s32 GetOffsetToUnkB0(s32 a0) return a0 - 44; } -THUMB_FUNC u32 FUN_02029FB0(void) +THUMB_FUNC u32 Sav2_GameStats_sizeof(void) { - return sizeof(struct UnkStruct_02029FB0); + return sizeof(struct GameStats); } -THUMB_FUNC void FUN_02029FB8(struct UnkStruct_02029FB0 * ptr) +THUMB_FUNC void Sav2_GameStats_init(struct GameStats * ptr) { - MI_CpuClear32(ptr, sizeof(struct UnkStruct_02029FB0)); + MI_CpuClear32(ptr, sizeof(struct GameStats)); } -THUMB_FUNC struct UnkStruct_02029FB0 * FUN_02029FC8(struct SaveBlock2 * sav2) +THUMB_FUNC struct GameStats * Sav2_GameStats_get(struct SaveBlock2 * sav2) { return SavArray_get(sav2, 20); } -THUMB_FUNC u32 FUN_02029FD4(struct UnkStruct_02029FB0 * ptr, s32 a1) +THUMB_FUNC u32 GameStats_GetValue(struct GameStats * ptr, s32 a1) { if (a1 < 44) { @@ -210,7 +211,7 @@ THUMB_FUNC u32 FUN_02029FD4(struct UnkStruct_02029FB0 * ptr, s32 a1) } } -THUMB_FUNC u32 FUN_02029FF8(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) +THUMB_FUNC u32 GameStats_SetValue(struct GameStats * ptr, s32 a1, u32 a2) { if (a1 < 44) { @@ -224,10 +225,10 @@ THUMB_FUNC u32 FUN_02029FF8(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) { GF_ASSERT(0); } - return FUN_02029FD4(ptr, a1); + return GameStats_GetValue(ptr, a1); } -THUMB_FUNC u32 FUN_0202A028(s32 a0) +THUMB_FUNC u32 GameStats_GetMaxValue(s32 a0) { if (a0 < 44) { @@ -250,39 +251,39 @@ THUMB_FUNC u32 FUN_0202A028(s32 a0) } } -THUMB_FUNC u16 FUN_0202A070(s32 a0) +THUMB_FUNC u16 GameStats_GetStdInc(s32 a0) { return UNK_020EEA7C[a0]; } -THUMB_FUNC u32 FUN_0202A07C(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) +THUMB_FUNC u32 GameStats_SetCapped(struct GameStats * ptr, s32 a1, u32 a2) { - u32 r2 = FUN_0202A028(a1); + u32 r2 = GameStats_GetMaxValue(a1); if (a2 < r2) { - return FUN_02029FF8(ptr, a1, a2); + return GameStats_SetValue(ptr, a1, a2); } else { - return FUN_02029FF8(ptr, a1, r2); + return GameStats_SetValue(ptr, a1, r2); } } -THUMB_FUNC u32 FUN_0202A0A8(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) +THUMB_FUNC u32 GameStats_UpdateBounded(struct GameStats * ptr, s32 a1, u32 a2) { - u32 r4 = FUN_0202A028(a1); - u32 r0 = FUN_02029FD4(ptr, a1); + u32 r4 = GameStats_GetMaxValue(a1); + u32 r0 = GameStats_GetValue(ptr, a1); if (a2 > r4) { a2 = r4; } if (r0 < a2) { - return FUN_02029FF8(ptr, a1, a2); + return GameStats_SetValue(ptr, a1, a2); } else if (r0 > r4) { - return FUN_02029FF8(ptr, a1, r4); + return GameStats_SetValue(ptr, a1, r4); } else { @@ -290,67 +291,67 @@ THUMB_FUNC u32 FUN_0202A0A8(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) } } -THUMB_FUNC u32 FUN_0202A0E8(struct UnkStruct_02029FB0 * ptr, s32 a1) +THUMB_FUNC u32 GameStats_Inc(struct GameStats * ptr, s32 a1) { - u32 r4 = FUN_0202A028(a1); - u32 r2 = FUN_02029FD4(ptr, a1) + 1; + u32 r4 = GameStats_GetMaxValue(a1); + u32 r2 = GameStats_GetValue(ptr, a1) + 1; if (r2 < r4) { - return FUN_02029FF8(ptr, a1, r2); + return GameStats_SetValue(ptr, a1, r2); } else { - return FUN_02029FF8(ptr, a1, r4); + return GameStats_SetValue(ptr, a1, r4); } } -THUMB_FUNC u32 FUN_0202A11C(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) +THUMB_FUNC u32 GameStats_Add(struct GameStats * ptr, s32 a1, u32 a2) { - u32 r6 = FUN_0202A028(a1); - u32 r2 = FUN_02029FD4(ptr, a1); + u32 r6 = GameStats_GetMaxValue(a1); + u32 r2 = GameStats_GetValue(ptr, a1); r2 += a2; if (r2 < r6) { - return FUN_02029FF8(ptr, a1, r2); + return GameStats_SetValue(ptr, a1, r2); } else { - return FUN_02029FF8(ptr, a1, r6); + return GameStats_SetValue(ptr, a1, r6); } } -THUMB_FUNC u32 FUN_0202A150(struct UnkStruct_02029FB0 * ptr, s32 a1) +THUMB_FUNC u32 GameStats_GetCapped(struct GameStats * ptr, s32 a1) { - u32 r4 = FUN_0202A028(a1); - u32 r0 = FUN_02029FD4(ptr, a1); + u32 r4 = GameStats_GetMaxValue(a1); + u32 r0 = GameStats_GetValue(ptr, a1); if (r0 <= r4) r4 = r0; return r4; } -THUMB_FUNC u32 FUN_0202A170(struct UnkStruct_02029FB0 * ptr, s32 a1) +THUMB_FUNC u32 GameStats_AddSpecial(struct GameStats * ptr, s32 a1) { GF_ASSERT(a1 < 38); - u32 r0 = FUN_0202A150(ptr, 0) + FUN_0202A070(a1); + u32 r0 = GameStats_GetCapped(ptr, 0) + GameStats_GetStdInc(a1); if (r0 > 99999999) { - return FUN_0202A07C(ptr, 0, 99999999); + return GameStats_SetCapped(ptr, 0, 99999999); } else { - return FUN_0202A11C(ptr, 0, FUN_0202A070(a1)); + return GameStats_Add(ptr, 0, GameStats_GetStdInc(a1)); } } -THUMB_FUNC u32 FUN_0202A1B8(struct UnkStruct_02029FB0 * ptr) +THUMB_FUNC u32 GameStats_GetStat0(struct GameStats * ptr) { - return FUN_0202A150(ptr, 0); + return GameStats_GetCapped(ptr, 0); } -THUMB_FUNC void FUN_0202A1C4(struct UnkStruct_02029FB0 * ptr, struct Pokedex * pokedex, u16 species) +THUMB_FUNC void GameStats_IncSpeciesCaught(struct GameStats * ptr, struct Pokedex * pokedex, u16 species) { if (!Pokedex_CheckMonCaughtFlag(pokedex, species)) { - FUN_0202A170(ptr, 22); + GameStats_AddSpecial(ptr, 22); } } diff --git a/arm9/src/unk_0202C144.c b/arm9/src/unk_0202C144.c index 468a92e4..78c59e15 100644 --- a/arm9/src/unk_0202C144.c +++ b/arm9/src/unk_0202C144.c @@ -12,9 +12,9 @@ void FUN_0202C144(struct SaveBlock2 * sav2, struct Pokemon * mon) if (!is_egg) { struct Pokedex * pokedex = Sav2_Pokedex_get(sav2); - struct UnkStruct_02029FB0 * unk = FUN_02029FC8(sav2); + struct GameStats * unk = Sav2_GameStats_get(sav2); u32 species = GetMonData(mon, MON_DATA_SPECIES, NULL); - FUN_0202A1C4(unk, pokedex, (u16)species); + GameStats_IncSpeciesCaught(unk, pokedex, (u16) species); Pokedex_SetMonCaughtFlag(pokedex, mon); struct SavePoketch * poketch = Sav2_Poketch_get(sav2); diff --git a/arm9/src/unk_0205FA2C.c b/arm9/src/unk_0205FA2C.c index d8c4ecb2..b1f03faa 100644 --- a/arm9/src/unk_0205FA2C.c +++ b/arm9/src/unk_0205FA2C.c @@ -313,7 +313,7 @@ THUMB_FUNC void FUN_0205FDDC(struct UnkStruct_0204639C *param0, u16 param1, u16 THUMB_FUNC u32 FUN_0205FE10(struct SaveBlock2 *sav2) { - u16 res = (u16)FUN_0202A150(FUN_02029FC8(sav2), 0x35); + u16 res = (u16) GameStats_GetCapped(Sav2_GameStats_get(sav2), 0x35); if (res < 20) { return 0; @@ -393,7 +393,7 @@ THUMB_FUNC u32 FUN_0205FE10(struct SaveBlock2 *sav2) THUMB_FUNC u32 FUN_0205FF5C(struct SaveBlock2 *sav2) { - u16 res = (u16)FUN_0202A150(FUN_02029FC8(sav2), 0x35); + u16 res = (u16) GameStats_GetCapped(Sav2_GameStats_get(sav2), 0x35); if (res < 20) { return 0; -- cgit v1.2.3