diff options
Diffstat (limited to 'arm9/src')
-rw-r--r-- | arm9/src/unk_0204AF24.c | 135 | ||||
-rw-r--r-- | arm9/src/unk_0206015C.c | 49 |
2 files changed, 157 insertions, 27 deletions
diff --git a/arm9/src/unk_0204AF24.c b/arm9/src/unk_0204AF24.c new file mode 100644 index 00000000..31b3ffb0 --- /dev/null +++ b/arm9/src/unk_0204AF24.c @@ -0,0 +1,135 @@ +#include "global.h"
+#include "unk_0204AF24.h"
+
+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)
+{
+ 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:
+ break;
+ }
+ 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:
+ break;
+ }
+ 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..752a9970 100644 --- a/arm9/src/unk_0206015C.c +++ b/arm9/src/unk_0206015C.c @@ -3,38 +3,33 @@ #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 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_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); -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) { |