diff options
-rw-r--r-- | asm/code.s | 31 | ||||
-rw-r--r-- | asm/code_800AAA0.s | 9 | ||||
-rw-r--r-- | include/file_system.h | 6 | ||||
-rw-r--r-- | src/code.c | 27 | ||||
-rw-r--r-- | src/file_system.c | 6 |
5 files changed, 39 insertions, 40 deletions
@@ -2044,35 +2044,4 @@ _08001324: .4byte gUnknown_203B460 _08001328: .4byte gUnknown_203B45C thumb_func_end sub_80012C0 - thumb_func_start NDS_LoadOverlay_GroundMain -NDS_LoadOverlay_GroundMain: - bx lr - thumb_func_end NDS_LoadOverlay_GroundMain - - thumb_func_start nullsub_2 -nullsub_2: - bx lr - thumb_func_end nullsub_2 - - thumb_func_start xxx_script_related_8001334 -xxx_script_related_8001334: - push {lr} - bl xxx_script_related_8098468 - pop {r1} - bx r1 - thumb_func_end xxx_script_related_8001334 - - thumb_func_start xxx_dungeon_8001340 -xxx_dungeon_8001340: - push {r4,lr} - adds r4, r0, 0 - bl nullsub_2 - adds r0, r4, 0 - bl xxx_dungeon_8042F6C - bl NDS_LoadOverlay_GroundMain - pop {r4} - pop {r0} - bx r0 - thumb_func_end xxx_dungeon_8001340 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_800AAA0.s b/asm/code_800AAA0.s index bce8e88..e7cb49c 100644 --- a/asm/code_800AAA0.s +++ b/asm/code_800AAA0.s @@ -5,15 +5,6 @@ .text - thumb_func_start sub_800AAA8 -sub_800AAA8: - push {lr} - ldr r2, [r2, 0x4] - bl sub_800AAB4 - pop {r1} - bx r1 - thumb_func_end sub_800AAA8 - thumb_func_start sub_800AAB4 sub_800AAB4: push {r4-r7,lr} diff --git a/include/file_system.h b/include/file_system.h index 360f7ac..45f6aac 100644 --- a/include/file_system.h +++ b/include/file_system.h @@ -26,6 +26,12 @@ struct SiroArchive u8 *data; }; +struct UnkFileStruct1 +{ + /* 0x0 */ u32 unk0; + /* 0x4 */ u32 unk4; +}; + struct OpenedFile *OpenFile(const char *filename, const struct FileArchive *arc); u8 *GetFileDataPtr(struct OpenedFile *openedFile, int unused); struct OpenedFile *OpenFileAndGetFileDataPtr(const char *filename, const struct FileArchive *arc); @@ -1,4 +1,31 @@ #include "global.h" + +extern void xxx_dungeon_8042F6C(u32 r0); +extern void NDS_LoadOverlay_GroundMain(); +extern u32 xxx_script_related_8098468(); + +void NDS_LoadOverlay_GroundMain() +{ + +} + +void nullsub_2(u32 r0) +{ + +} + +u32 xxx_script_related_8001334() +{ + return xxx_script_related_8098468(); +} + +void xxx_dungeon_8001340(u32 r0) +{ + nullsub_2(r0); + xxx_dungeon_8042F6C(r0); + NDS_LoadOverlay_GroundMain(); +} + void nullsub_3(void) { diff --git a/src/file_system.c b/src/file_system.c index 1555a65..81bbfef 100644 --- a/src/file_system.c +++ b/src/file_system.c @@ -7,6 +7,7 @@ extern u32 gFileCacheCursorPosition; extern u32 gUnknown_202D2A4; extern int sprintf(char *, const char *, ...); +extern u32 sub_800AAB4(u32 r0, u32 r1, u32 r2); u8 *GetSiroPtr(struct OpenedFile *); void NDS_DecompressRLE(void *); @@ -181,3 +182,8 @@ void nullsub_16(void) void nullsub_175(void) { } + +u32 sub_800AAA8(u32 r0, u32 r1, struct UnkFileStruct1 *r2) +{ + return sub_800AAB4(r0, r1, r2->unk4); +} |