summaryrefslogtreecommitdiff
path: root/src/code_8009804.c
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-01-31 19:07:31 -0600
committerGitHub <noreply@github.com>2021-01-31 19:07:31 -0600
commit74daf03fd70e7c71b92390c9133c9dd543bcb28d (patch)
tree8e73e4ed117b088264afe424beac03b3bb7e9c0b /src/code_8009804.c
parent076ff9ce59bf7da841cfd17412196487657a7b44 (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.c79
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;
+}