diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-01-31 19:07:31 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-31 19:07:31 -0600 |
commit | 74daf03fd70e7c71b92390c9133c9dd543bcb28d (patch) | |
tree | 8e73e4ed117b088264afe424beac03b3bb7e9c0b /src/code_8009804.c | |
parent | 076ff9ce59bf7da841cfd17412196487657a7b44 (diff) |
Main Menu and Scripts (#25)
* label more funcs, dump scripts/text, and decomp main menu
* decomp vram func and dump more data
* add forgotten file
* get rid of goto in UpdateMenu
Diffstat (limited to 'src/code_8009804.c')
-rw-r--r-- | src/code_8009804.c | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/code_8009804.c b/src/code_8009804.c new file mode 100644 index 0000000..1f1b054 --- /dev/null +++ b/src/code_8009804.c @@ -0,0 +1,79 @@ +#include "global.h" + +extern u8 gUnknown_202D238[4]; + +extern s32 gUnknown_202D23C; + +struct unkStruct_202D240 +{ + u32 *unk0; + u32 *unk4; + u32 *unk8; +}; +extern struct unkStruct_202D240 gUnknown_202D240[8]; + +void vram_related_8009804(void) +{ + u32 counter; + u32 *r1; + + r1 = (u32 *) VRAM; + for(counter = 0; counter < 0x13C0; counter++) + { + *r1++ = 0; + } + r1 = (u32 *) 0x06007000; + for(counter = 0; counter < 0x400; counter++) + { + *r1++ = 0; + } + r1 = (u32 *) 0x06008000; + for(counter = 0; counter < 0x2000; counter++) + { + *r1++ = 0; + } + r1 = (u32 *) OBJ_VRAM0; + for(counter = 0; counter < 0x1f80; counter++) + { + *r1++ = 0; + } + r1 = (u32 *) PLTT; + for(counter = 0; counter < 0x78; counter++) + { + *r1++ = 0; + } + r1 = (u32 *) OBJ_PLTT; + for(counter = 0; counter < 0x78; counter++) + { + *r1++ = 0; + } + r1 = (u32 *) OAM; + for(counter = 0; counter < 0x100; counter++) + { + *r1++ = 0xa000a0; + } +} + +void sub_80098A0(void) +{ + gUnknown_202D23C = 0; + gUnknown_202D238[0] = 0; + gUnknown_202D238[1] = 0; + gUnknown_202D238[2] = 0; + gUnknown_202D238[3] = 0; +} + +void sub_80098BC(u32 *r0, u32 *r1, u32 *r2) +{ + if(gUnknown_202D23C < 8){ + gUnknown_202D240[gUnknown_202D23C].unk0 = r0; + gUnknown_202D240[gUnknown_202D23C].unk4 = r1; + gUnknown_202D240[gUnknown_202D23C].unk8 = r2; + gUnknown_202D23C++; + } +} + +void sub_80098F8(u32 r0) +{ + gUnknown_202D238[r0] = 1; +} |