From e530ed281130c373950e1963d33913f41fa92f39 Mon Sep 17 00:00:00 2001 From: GliMusings Date: Sun, 4 Jul 2021 10:48:51 -0500 Subject: Match unk0204AF24 --- arm9/src/unk_0204AF24.c | 133 ++++++++++++++++++++++++++++++++++++++++++++++++ arm9/src/unk_0206015C.c | 5 +- 2 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 arm9/src/unk_0204AF24.c (limited to 'arm9/src') diff --git a/arm9/src/unk_0204AF24.c b/arm9/src/unk_0204AF24.c new file mode 100644 index 00000000..83c6dcfc --- /dev/null +++ b/arm9/src/unk_0204AF24.c @@ -0,0 +1,133 @@ +#include "global.h" +#include "unk_0204AF24.h" + +extern THUMB_FUNC void FUN_02037394(struct UnkSavStruct80 *); +extern THUMB_FUNC u32 FUN_0200E308(void); +extern THUMB_FUNC void FUN_0200E1D0(u32 param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5, u32 heap_id); +extern THUMB_FUNC void MOD05_021E331C(struct UnkSavStruct80 *); + +THUMB_FUNC BOOL FUN_0204AF24(struct UnkStruct_0204639C * arg0) +{ + if(!FUN_0203739C(FUN_02046528(arg0))) + { + return TRUE; + } + return FALSE; +} + +THUMB_FUNC void FUN_0204AF3C(struct UnkStruct_0204639C * r5) +{ + struct UnkSavStruct80 * r4 = FUN_02046528(r5); + if(!FUN_0203739C(r4)) + { + GF_ASSERT(0); + return; + } + FUN_02037394(r4); + FUN_0204640C(r5, &FUN_0204AF24, NULL); +} + +THUMB_FUNC BOOL FUN_0204AF6C(struct UnkStruct_0204639C * arg0) +{ + if(FUN_020464A4(FUN_02046528(arg0))) + { + return TRUE; + } + return FALSE; +} + +THUMB_FUNC void FUN_0204AF84(struct UnkStruct_0204639C * r5) +{ + struct UnkSavStruct80 * r4 = FUN_02046528(r5); + if(FUN_0203739C(r4)) + { + GF_ASSERT(0); + return; + } + FUN_0204649C(r4); + FUN_0204640C(r5, &FUN_0204AF6C, NULL); +} + +THUMB_FUNC BOOL FUN_0204AFB4(struct UnkStruct_0204639C * arg0) +{ +#pragma unused(arg0) + if(FUN_0200E308()) + { + return TRUE; + } + return FALSE; +} + +THUMB_FUNC void FUN_0204AFC8(struct UnkStruct_0204639C * r4) +{ + if(!FUN_0203739C(FUN_02046528(r4))) + { + GF_ASSERT(0); + return; + } + FUN_0200E1D0(0, 0, 0, 0, 6, 1, 4); + FUN_0204640C(r4, &FUN_0204AFB4, 0); +} + +THUMB_FUNC void FUN_0204B00C(struct UnkStruct_0204639C * r4) +{ + if(!FUN_0203739C(FUN_02046528(r4))) + { + GF_ASSERT(0); + return; + } + FUN_0200E1D0(0, 1, 1, 0, 6, 1, 4); + FUN_0204640C(r4, FUN_0204AFB4, 0); +} + +THUMB_FUNC BOOL FUN_0204B050(struct UnkStruct_0204639C * r5) +{ + u32 * r4 = FUN_02046530(r5); + switch(r4[0]) + { + case 0: + FUN_0204AFC8(r5); + r4[0]++; + break; + case 1: + FUN_0204AF3C(r5); + r4[0]++; + break; + case 2: + return TRUE; + default: + } + return FALSE; +} + +THUMB_FUNC void FUN_0204B090(struct UnkStruct_0204639C * r0) +{ + FUN_0204640C(r0, &FUN_0204B050, 0); +} + +THUMB_FUNC BOOL FUN_0204B0A0(struct UnkStruct_0204639C * r5) +{ + u32 * r4 = FUN_02046530(r5); + struct UnkSavStruct80 * r0 = FUN_02046528(r5); + switch(r4[0]) + { + case 0: + FUN_0204AF84(r5); + r4[0]++; + break; + case 1: + MOD05_021E331C(r0); + FUN_0204B00C(r5); + r4[0]++; + break; + case 2: + return TRUE; + default: + } + return FALSE; +} + +THUMB_FUNC void FUN_0204B0E8(struct UnkStruct_0204639C * r0) +{ + FUN_0204640C(r0, &FUN_0204B0A0, 0); +} diff --git a/arm9/src/unk_0206015C.c b/arm9/src/unk_0206015C.c index 0bf3a15a..37837d6f 100644 --- a/arm9/src/unk_0206015C.c +++ b/arm9/src/unk_0206015C.c @@ -3,6 +3,7 @@ #include "heap.h" #include "event_data.h" #include "main.h" +#include "unk_0204AF24.h" /* Note to future reader, there might be some errors in the return type / parameters. They are right for this code @@ -23,10 +24,6 @@ extern THUMB_FUNC u32 MOD06_022451F0(u32); extern THUMB_FUNC void PlaySE(u32); extern THUMB_FUNC void FUN_02049160(struct UnkStruct_0204639C*, u32); -extern THUMB_FUNC void FUN_0204AF84(struct UnkStruct_0204639C*); -extern THUMB_FUNC void FUN_0204AF3C(struct UnkStruct_0204639C *); -extern THUMB_FUNC void FUN_0204AFC8(struct UnkStruct_0204639C *); -extern THUMB_FUNC void FUN_0204B00C(struct UnkStruct_0204639C *); extern THUMB_FUNC void FUN_0204C1B4(struct UnkStruct_0204639C*, u32,u32,u32,u32,u32,u32,u32); extern THUMB_FUNC u32 FUN_020553A0(u32); extern THUMB_FUNC void FUN_0205889C(u32, u32); -- cgit v1.2.3 From 6008ec050279c966454f1a3c1e067295b3d9c254 Mon Sep 17 00:00:00 2001 From: GliMusings Date: Mon, 5 Jul 2021 12:58:54 -0500 Subject: Begone, THUMB_FUNC --- arm9/src/unk_0204AF24.c | 8 ++++---- arm9/src/unk_0206015C.c | 44 +++++++++++++++++++++----------------------- 2 files changed, 25 insertions(+), 27 deletions(-) (limited to 'arm9/src') diff --git a/arm9/src/unk_0204AF24.c b/arm9/src/unk_0204AF24.c index 83c6dcfc..b506948f 100644 --- a/arm9/src/unk_0204AF24.c +++ b/arm9/src/unk_0204AF24.c @@ -1,10 +1,10 @@ #include "global.h" #include "unk_0204AF24.h" -extern THUMB_FUNC void FUN_02037394(struct UnkSavStruct80 *); -extern THUMB_FUNC u32 FUN_0200E308(void); -extern THUMB_FUNC void FUN_0200E1D0(u32 param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5, u32 heap_id); -extern THUMB_FUNC void MOD05_021E331C(struct UnkSavStruct80 *); +extern void FUN_02037394(struct UnkSavStruct80 *); +extern u32 FUN_0200E308(void); +extern void FUN_0200E1D0(u32 param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5, u32 heap_id); +extern void MOD05_021E331C(struct UnkSavStruct80 *); THUMB_FUNC BOOL FUN_0204AF24(struct UnkStruct_0204639C * arg0) { diff --git a/arm9/src/unk_0206015C.c b/arm9/src/unk_0206015C.c index 37837d6f..752a9970 100644 --- a/arm9/src/unk_0206015C.c +++ b/arm9/src/unk_0206015C.c @@ -9,29 +9,27 @@ in the return type / parameters. They are right for this code but they might not be for every code, please do not blindly trust these prototypes if you are decompiling these functions. */ -extern THUMB_FUNC u32 MOD06_02244DB0(u32); -extern THUMB_FUNC void MOD06_02244DBC(void*); -extern THUMB_FUNC void MOD06_02244DC4(void*, void*); -extern THUMB_FUNC void MOD06_02244EF8(void*); -extern THUMB_FUNC void MOD06_02244F18(void*); -extern THUMB_FUNC BOOL MOD06_02244F24(void*); -extern THUMB_FUNC void MOD06_02244F2C(void*); -extern THUMB_FUNC void* MOD06_02245088(struct UnkSavStruct80 * savStruct); -extern THUMB_FUNC u32 MOD06_02245114(u32, struct UnkSavStruct80*); -extern THUMB_FUNC void MOD06_02245190(u32); -extern THUMB_FUNC void MOD06_02245198(u8, u32); -extern THUMB_FUNC u32 MOD06_022451F0(u32); - -extern THUMB_FUNC void PlaySE(u32); -extern THUMB_FUNC void FUN_02049160(struct UnkStruct_0204639C*, u32); -extern THUMB_FUNC void FUN_0204C1B4(struct UnkStruct_0204639C*, u32,u32,u32,u32,u32,u32,u32); -extern THUMB_FUNC u32 FUN_020553A0(u32); -extern THUMB_FUNC void FUN_0205889C(u32, u32); -extern THUMB_FUNC void FUN_0205F1C4(struct ScriptState *); -extern THUMB_FUNC void FUN_0205F1D4(struct ScriptState *); -extern THUMB_FUNC void FUN_0206367C(struct UnkSavStruct80 *, u32); - - +extern u32 MOD06_02244DB0(u32); +extern void MOD06_02244DBC(void*); +extern void MOD06_02244DC4(void*, void*); +extern void MOD06_02244EF8(void*); +extern void MOD06_02244F18(void*); +extern BOOL MOD06_02244F24(void*); +extern void MOD06_02244F2C(void*); +extern void * MOD06_02245088(struct UnkSavStruct80 * savStruct); +extern u32 MOD06_02245114(u32, struct UnkSavStruct80*); +extern void MOD06_02245190(u32); +extern void MOD06_02245198(u8, u32); +extern u32 MOD06_022451F0(u32); + +extern void PlaySE(u32); +extern void FUN_02049160(struct UnkStruct_0204639C*, u32); +extern void FUN_0204C1B4(struct UnkStruct_0204639C*, u32,u32,u32,u32,u32,u32,u32); +extern u32 FUN_020553A0(u32); +extern void FUN_0205889C(u32, u32); +extern void FUN_0205F1C4(struct ScriptState *); +extern void FUN_0205F1D4(struct ScriptState *); +extern void FUN_0206367C(struct UnkSavStruct80 *, u32); THUMB_FUNC void FUN_0206015C(struct UnkSavStruct80 *savStruct) { -- cgit v1.2.3 From 724330a3f418b4471bc6ec0784a860012d3bfe18 Mon Sep 17 00:00:00 2001 From: GliMusings Date: Mon, 5 Jul 2021 13:02:51 -0500 Subject: Also, dealt with a compiler warning --- arm9/src/unk_0204AF24.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arm9/src') diff --git a/arm9/src/unk_0204AF24.c b/arm9/src/unk_0204AF24.c index b506948f..31b3ffb0 100644 --- a/arm9/src/unk_0204AF24.c +++ b/arm9/src/unk_0204AF24.c @@ -96,6 +96,7 @@ THUMB_FUNC BOOL FUN_0204B050(struct UnkStruct_0204639C * r5) case 2: return TRUE; default: + break; } return FALSE; } @@ -123,6 +124,7 @@ THUMB_FUNC BOOL FUN_0204B0A0(struct UnkStruct_0204639C * r5) case 2: return TRUE; default: + break; } return FALSE; } -- cgit v1.2.3