summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-07-22 15:56:24 -0400
committerhuderlem <huderlem@gmail.com>2021-07-23 09:32:38 -0500
commita1ad5cb2d9e463fa2b77d2fc4a7b995a4f7ed5e2 (patch)
tree60db8b836e6112286714979500f359091f61784d /src
parent3a4437a42d67ea0ea606e5f0a751b61a32881d8e (diff)
through sub_2768
Diffstat (limited to 'src')
-rwxr-xr-xsrc/bonus_field_select.c125
1 files changed, 125 insertions, 0 deletions
diff --git a/src/bonus_field_select.c b/src/bonus_field_select.c
index 6bc2b89..b60ceec 100755
--- a/src/bonus_field_select.c
+++ b/src/bonus_field_select.c
@@ -48,3 +48,128 @@ void sub_25C4(void)
gMain.subState++;
}
+
+EWRAM_DATA u16 gUnknown_0201A4F4 = 0;
+EWRAM_DATA s8 gUnknown_0201A4F8 = 0;
+EWRAM_DATA u8 gUnknown_0201A4B0 = 0;
+EWRAM_DATA u8 gUnknown_0201A4C0 = 0;
+EWRAM_DATA s16 gUnknown_0202A560 = 0;
+EWRAM_DATA s16 gUnknown_0202BE1C = 0;
+EWRAM_DATA s8 gUnknown_0202BED0 = 0;
+EWRAM_DATA u8 gUnknown_0202BEE4 = 0;
+EWRAM_DATA u8 gUnknown_0202BEE8 = 0;
+
+extern const u8 gUnknown_086A4CF0[];
+
+void sub_2710(void)
+{
+ gUnknown_0201A4F8 = 0;
+ gUnknown_0202BED0 = 0;
+ gUnknown_0202A560 = 0;
+ gUnknown_0202BE1C = 0;
+ gUnknown_0202BEE8 = 0;
+ gUnknown_0201A4F4 = 0;
+ gUnknown_0201A4B0 = 0;
+ gUnknown_0202BEE4 = 0;
+ gUnknown_0201A4C0 = gMain_saveData.ballSpeed;
+}
+
+void sub_2768(void)
+{
+ sub_29C8();
+ switch (gUnknown_0202BED0)
+ {
+ case 0:
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ if (gUnknown_0201A4F8 != 0 && gUnknown_0201A4F8 != 3)
+ {
+ m4aSongNumStart(0x6D);
+ gUnknown_0201A4F8--;
+ }
+ }
+ else if (gMain.newKeys & DPAD_RIGHT)
+ {
+ if (gUnknown_0201A4F8 != 2 && gUnknown_0201A4F8 != 5)
+ {
+ m4aSongNumStart(0x6D);
+ gUnknown_0201A4F8++;
+ }
+ }
+ if (gMain.newKeys & DPAD_UP)
+ {
+ if (gUnknown_0201A4F8 > 2)
+ {
+ m4aSongNumStart(0x6D);
+ gUnknown_0201A4F8 -= 3;
+ }
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ if (gUnknown_0201A4F8 < 3)
+ {
+ m4aSongNumStart(0x6D);
+ gUnknown_0201A4F8 += 3;
+ }
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ m4aSongNumStart(0x65);
+ gUnknown_0202BED0 = 1;
+ gUnknown_0201A4B0 = 1;
+ gUnknown_0202A560 = 0;
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ m4aSongNumStart(0x66);
+ gUnknown_0202BEE4 = 1;
+ gMain.subState++;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT))
+ {
+ m4aSongNumStart(0x67);
+ gUnknown_0201A4C0 = 1 - gUnknown_0201A4C0;
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ m4aSongNumStart(0x65);
+ gUnknown_0202A560 = 0;
+ gUnknown_0202BE1C = 0;
+ gMain.saveData.ballSpeed = gUnknown_0201A4C0;
+ SaveFile_WriteToSram();
+ gUnknown_0202BED0 = 2;
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ m4aSongNumStart(0x66);
+ gUnknown_0201A4B0 = 0;
+ gUnknown_0202BED0 = 0;
+ }
+ gUnknown_0202A560++;
+ if (gUnknown_0202A560 > 4)
+ {
+ gUnknown_0202A560 = 0;
+ gUnknown_0201A4F4 = 1 - gUnknown_0201A4F4;
+ }
+ break;
+ case 2:
+ gUnknown_0202A560++;
+ if (gUnknown_0202A560 > 5)
+ {
+ gUnknown_0202A560 = 0;
+ gUnknown_0202BEE8 = 2 - gUnknown_0202BEE8;
+ gUnknown_0202BE1C++;
+ if (gUnknown_0202BE1C > 5)
+ {
+ gMain.unkD = 0;
+ gMain.unk5 = gMain.unk4 = gUnknown_086A4CF0[gUnknown_0201A4F8];
+ gMain.unk6 = 1;
+ gUnknown_0202BEE4 = 2;
+ gMain.subState++;
+ }
+ }
+ break;
+ }
+}