diff options
Diffstat (limited to 'arm9/src')
-rw-r--r-- | arm9/src/scrcmd_berry_trees.c | 2 | ||||
-rw-r--r-- | arm9/src/unk_02029FB0.c | 87 | ||||
-rw-r--r-- | arm9/src/unk_0205FA2C.c | 1 |
3 files changed, 87 insertions, 3 deletions
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); |