diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2021-07-22 15:56:24 -0400 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2021-07-23 09:32:38 -0500 |
commit | a1ad5cb2d9e463fa2b77d2fc4a7b995a4f7ed5e2 (patch) | |
tree | 60db8b836e6112286714979500f359091f61784d /src | |
parent | 3a4437a42d67ea0ea606e5f0a751b61a32881d8e (diff) |
through sub_2768
Diffstat (limited to 'src')
-rwxr-xr-x | src/bonus_field_select.c | 125 |
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; + } +} |