From a9ce5e44987cea38aaa0a2336d8582fc7a1edec4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 8 Sep 2021 13:04:56 -0400 Subject: unk_02029FB0.c, 2 --- arm9/src/scrcmd_berry_trees.c | 2 - arm9/src/unk_02029FB0.c | 87 +++++++++++++++++++++++++++++++++++++++++++ arm9/src/unk_0205FA2C.c | 1 - 3 files changed, 87 insertions(+), 3 deletions(-) (limited to 'arm9/src') diff --git a/arm9/src/scrcmd_berry_trees.c b/arm9/src/scrcmd_berry_trees.c index 53715ca1..7fce0387 100644 --- a/arm9/src/scrcmd_berry_trees.c +++ b/arm9/src/scrcmd_berry_trees.c @@ -3,8 +3,6 @@ extern void* FUN_02039438(struct UnkSavStruct80*, int idx); -extern void FUN_0202A0E8(struct UnkStruct_02029FB0*, int); -extern void FUN_0202A170(struct UnkStruct_02029FB0*, int); extern u8 FUN_0204B5FC(struct UnkSavStruct80*, void*); extern void FUN_0204B57C(struct UnkSavStruct80*, void*, int); extern u16 FUN_0204B63C(struct UnkSavStruct80*, void*); diff --git a/arm9/src/unk_02029FB0.c b/arm9/src/unk_02029FB0.c index 3ed3a8c4..53b0a9d8 100644 --- a/arm9/src/unk_02029FB0.c +++ b/arm9/src/unk_02029FB0.c @@ -267,3 +267,90 @@ THUMB_FUNC u32 FUN_0202A07C(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) return FUN_02029FF8(ptr, a1, r2); } } + +THUMB_FUNC u32 FUN_0202A0A8(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) +{ + u32 r4 = FUN_0202A028(a1); + u32 r0 = FUN_02029FD4(ptr, a1); + if (a2 > r4) + { + a2 = r4; + } + if (r0 < a2) + { + return FUN_02029FF8(ptr, a1, a2); + } + else if (r0 > r4) + { + return FUN_02029FF8(ptr, a1, r4); + } + else + { + return r0; + } +} + +THUMB_FUNC u32 FUN_0202A0E8(struct UnkStruct_02029FB0 * ptr, s32 a1) +{ + u32 r4 = FUN_0202A028(a1); + u32 r2 = FUN_02029FD4(ptr, a1) + 1; + if (r2 < r4) + { + return FUN_02029FF8(ptr, a1, r2); + } + else + { + return FUN_02029FF8(ptr, a1, r4); + } +} + +THUMB_FUNC u32 FUN_0202A11C(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2) +{ + u32 r6 = FUN_0202A028(a1); + u32 r2 = FUN_02029FD4(ptr, a1); + r2 += a2; + if (r2 < r6) + { + return FUN_02029FF8(ptr, a1, r2); + } + else + { + return FUN_02029FF8(ptr, a1, r6); + } +} + +THUMB_FUNC u32 FUN_0202A150(struct UnkStruct_02029FB0 * ptr, s32 a1) +{ + u32 r4 = FUN_0202A028(a1); + u32 r0 = FUN_02029FD4(ptr, a1); + if (r0 <= r4) + r4 = r0; + return r4; +} + +THUMB_FUNC u32 FUN_0202A170(struct UnkStruct_02029FB0 * ptr, s32 a1) +{ + GF_ASSERT(a1 < 38); + u32 r0 = FUN_0202A150(ptr, 0) + FUN_0202A070(a1); + if (r0 > 99999999) + { + return FUN_0202A07C(ptr, 0, 99999999); + } + else + { + return FUN_0202A11C(ptr, 0, FUN_0202A070(a1)); + } +} + +THUMB_FUNC u32 FUN_0202A1B8(struct UnkStruct_02029FB0 * ptr) +{ + return FUN_0202A150(ptr, 0); +} + +THUMB_FUNC void FUN_0202A1C4(struct UnkStruct_02029FB0 * ptr, struct Pokedex * pokedex, u16 species) +{ + if (!Pokedex_CheckMonCaughtFlag(pokedex, species)) + { + FUN_0202A170(ptr, 22); + } +} diff --git a/arm9/src/unk_0205FA2C.c b/arm9/src/unk_0205FA2C.c index a023ad83..d8c4ecb2 100644 --- a/arm9/src/unk_0205FA2C.c +++ b/arm9/src/unk_0205FA2C.c @@ -12,7 +12,6 @@ extern u16 *GetVarPointer(struct UnkSavStruct80 *arg, u16); extern u16 MOD06_02244660(struct UnkSavStruct80 *param0, u8 *param1); extern u16 MOD06_022446BC(struct UnkSavStruct80 *param0, u8 *param1); extern u16 MOD06_022446E0(struct UnkSavStruct80 *param0, u8 *param1); -extern u32 FUN_0202A150(struct UnkStruct_02029FB0 *param0, u32 param1); extern u32 FUN_02026CC4(struct SaveBlock2 *sav2); extern u32 FUN_02025D94(u32 param0, u32 param1); -- cgit v1.2.3