summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sound_check_menu.c655
1 files changed, 158 insertions, 497 deletions
diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c
index 3cc25baf1..e8f98838c 100644
--- a/src/sound_check_menu.c
+++ b/src/sound_check_menu.c
@@ -12,9 +12,9 @@
#include "pokedex_cry_screen.h"
// local task defines
-#define WINDOW_SELECTED data[0]
-#define BGM_INDEX data[1]
-#define SE_INDEX data[2]
+#define tWindowSelected data[0]
+#define tBgmIndex data[1]
+#define tSeIndex data[2]
#define UNK_DATA3 data[3]
#define UNK_DATA4 data[4]
// data 5-7 are not used
@@ -72,19 +72,19 @@ struct MusicPlayerInfo *gUnknown_03005D30;
extern struct MusicPlayerInfo gMPlay_BGM;
-void sub_80BA258(u8);
+void Task_InitSoundCheckMenu(u8);
void sub_80BA384(u8);
void sub_80BA65C(u8);
void sub_80BA68C(u8);
-void sub_80BA6B8(u8);
-void sub_80BA700(u16, u16, u16);
+void HighlightSelectedWindow(u8);
+void PrintSoundNumber(u16, u16, u16);
void sub_80BA79C(const u8 *const, u16, u16);
-void sub_80BA800(u8);
+void Task_DrawDriverTestMenu(u8);
void sub_80BAA48(u8);
void sub_80BACDC(s8);
void sub_80BAD5C(void);
void sub_80BAE10(u8, u8);
-void sub_80BAE78(int, u16, u16, u8);
+void PrintSignedNumber(int, u16, u16, u8);
void sub_80BAF84(u8);
void sub_80BB038(u8);
void sub_80BB1D4(void);
@@ -92,7 +92,7 @@ void sub_80BB25C(u8);
void sub_80BB3B4(u8);
void sub_80BB494(void);
-void sub_80BA0A8(void)
+void CB2_SoundCheckMenu(void)
{
RunTasks();
AnimateSprites();
@@ -100,7 +100,7 @@ void sub_80BA0A8(void)
UpdatePaletteFade();
}
-void sub_80BA0C0(void)
+void VBlankCB_SoundCheckMenu(void)
{
LoadOam();
ProcessSpriteCopyRequests();
@@ -151,21 +151,20 @@ void CB2_StartSoundCheckMenu(void)
REG_IE = 1; // could be a typo of REG_IME
REG_IE |= 1;
REG_DISPSTAT |= 8;
- SetVBlankCallback(sub_80BA0C0);
- SetMainCallback2(sub_80BA0A8);
+ SetVBlankCallback(VBlankCB_SoundCheckMenu);
+ SetMainCallback2(CB2_SoundCheckMenu);
REG_DISPCNT = 0x7140;
- taskId = CreateTask(sub_80BA258, 0);
- gTasks[taskId].WINDOW_SELECTED = BGM_WINDOW;
- gTasks[taskId].BGM_INDEX = 0;
- gTasks[taskId].SE_INDEX = 0;
+ taskId = CreateTask(Task_InitSoundCheckMenu, 0);
+ gTasks[taskId].tWindowSelected = BGM_WINDOW;
+ gTasks[taskId].tBgmIndex = 0;
+ gTasks[taskId].tSeIndex = 0;
gTasks[taskId].UNK_DATA3 = 0;
gUnknown_020387B0 = 0;
gTasks[taskId].UNK_DATA3 = 0; // why?
m4aSoundInit();
}
-// Task_InitSoundCheckMenu
-void sub_80BA258(u8 taskId)
+void Task_InitSoundCheckMenu(u8 taskId)
{
u8 soundcheckStr[] = _("サウンドチェック");
u8 bgmStr[] = _("BGM");
@@ -176,9 +175,9 @@ void sub_80BA258(u8 taskId)
if (!gPaletteFade.active)
{
- MenuDrawTextWindow(0x2, 0, 0x1B, 0x3);
- MenuDrawTextWindow(0x2, 0x5, 0x1B, 0xA);
- MenuDrawTextWindow(0x2, 0xC, 0x1B, 0x11);
+ MenuDrawTextWindow(2, 0, 27, 3);
+ MenuDrawTextWindow(2, 5, 27, 10);
+ MenuDrawTextWindow(2, 12, 27, 17);
MenuPrint(soundcheckStr, 4, 1);
MenuPrint(abDescStr, 14, 1);
MenuPrint(bgmStr, 4, 6);
@@ -186,7 +185,7 @@ void sub_80BA258(u8 taskId)
MenuPrint(seStr, 4, 13);
MenuPrint(upDownStr, 14, 13);
MenuPrint(driverStr, 14, 18);
- gTasks[taskId].FUNC = sub_80BA384;
+ gTasks[taskId].func = sub_80BA384;
REG_WIN0H = WIN_RANGE(17, 223);
REG_WIN0V = WIN_RANGE(1, 31);
}
@@ -200,484 +199,145 @@ extern const u8 *const gSENames[];
void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText
{
- sub_80BA6B8(gTasks[taskId].WINDOW_SELECTED);
- sub_80BA700(gTasks[taskId].BGM_INDEX + BGM_STOP, 7, 8); // print by BGM index
- sub_80BA79C(gBGMNames[gTasks[taskId].BGM_INDEX], 11, 8);
- sub_80BA700(gTasks[taskId].SE_INDEX, 7, 15);
- sub_80BA79C(gSENames[gTasks[taskId].SE_INDEX], 11, 15);
- gTasks[taskId].FUNC = sub_80BA65C;
+ HighlightSelectedWindow(gTasks[taskId].tWindowSelected);
+ PrintSoundNumber(gTasks[taskId].tBgmIndex + BGM_STOP, 7, 8); // print by BGM index
+ sub_80BA79C(gBGMNames[gTasks[taskId].tBgmIndex], 11, 8);
+ PrintSoundNumber(gTasks[taskId].tSeIndex, 7, 15);
+ sub_80BA79C(gSENames[gTasks[taskId].tSeIndex], 11, 15);
+ gTasks[taskId].func = sub_80BA65C;
}
-#ifdef NONMATCHING
-bool8 sub_80BA400(u8 taskId) // Task_ProcessSoundCheckMenuInput
+bool8 Task_ProcessSoundCheckMenuInput(u8 taskId)
{
if (gMain.newKeys & R_BUTTON) // driver test
{
- gTasks[taskId].FUNC = sub_80BA800;
- return FALSE;
+ gTasks[taskId].func = Task_DrawDriverTestMenu;
}
- if (gMain.newKeys & L_BUTTON)
+ else if (gMain.newKeys & L_BUTTON)
{
- gTasks[taskId].FUNC = sub_80BAF84;
- return FALSE;
+ gTasks[taskId].func = sub_80BAF84;
}
- if (gMain.newKeys & START_BUTTON)
+ else if (gMain.newKeys & START_BUTTON)
{
- gTasks[taskId].FUNC = sub_80BB25C;
- return FALSE;
+ gTasks[taskId].func = sub_80BB25C;
}
- if (gMain.newKeys & A_BUTTON) // both these cases insist on non reuses of certain data variables and cause the function to not match.
+ else if (gMain.newKeys & A_BUTTON)
{
- if (gTasks[taskId].WINDOW_SELECTED != 0) // is playing?
+ if (gTasks[taskId].tWindowSelected != 0) // is playing?
{
- if (gTasks[taskId].UNK_DATA4 != 0)
+ if (gTasks[taskId].data[4] != 0)
{
- if (gTasks[taskId].SE_INDEX != 0) // why are you insiting on a non signed halfword?
+ if (gTasks[taskId].data[2] != 0)
{
- m4aSongNumStop(gTasks[taskId].UNK_DATA4);
+ m4aSongNumStop(gTasks[taskId].data[4]);
+ m4aSongNumStart(gTasks[taskId].data[2]);
+ gTasks[taskId].data[4] = gTasks[taskId].data[2];
}
else
{
- m4aSongNumStop(gTasks[taskId].SE_INDEX);
- gTasks[taskId].UNK_DATA4 = gTasks[taskId].SE_INDEX;
- return FALSE;
+ m4aSongNumStop(gTasks[taskId].data[4]);
+ gTasks[taskId].data[4] = 0;
}
}
- else if (gTasks[taskId].SE_INDEX == 0) // _080BA4BA
+ else
{
- return FALSE;
+ if (gTasks[taskId].data[2] != 0)
+ {
+ m4aSongNumStart(gTasks[taskId].data[2]);
+ gTasks[taskId].data[4] = gTasks[taskId].data[2];
+ }
}
- // _080BA4C4
- m4aSongNumStart(gTasks[taskId].SE_INDEX);
- gTasks[taskId].UNK_DATA4 = gTasks[taskId].SE_INDEX;
- return FALSE;
}
- else // _080BA4D0
+ else
{
- if (gTasks[taskId].UNK_DATA3 != 0)
+ if (gTasks[taskId].data[3] != 0)
{
- if (gTasks[taskId].BGM_INDEX != 0)
+ if (gTasks[taskId].tBgmIndex != 0)
{
- m4aSongNumStop(gTasks[taskId].UNK_DATA3 + BGM_STOP);
+ m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP);
+ m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP);
+ gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex;
}
- else // _080BA500
+ else
{
- m4aSongNumStop(gTasks[taskId].UNK_DATA3 + BGM_STOP);
- gTasks[taskId].UNK_DATA3 = gTasks[taskId].BGM_INDEX;
- return FALSE;
+ m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP);
+ gTasks[taskId].data[3] = 0;
}
}
- else if (gTasks[taskId].BGM_INDEX == 0) // _080BA514
- return FALSE;
-
- m4aSongNumStart(gTasks[taskId].BGM_INDEX + BGM_STOP);
- gTasks[taskId].UNK_DATA3 = gTasks[taskId].BGM_INDEX;
+ else if (gTasks[taskId].tBgmIndex != 0)
+ {
+ m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP);
+ gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex;
+ }
}
- return FALSE;
}
- if (gMain.newKeys & B_BUTTON)
+ else if (gMain.newKeys & B_BUTTON)
{
- m4aSongNumStart(5);
+ m4aSongNumStart(SE_SELECT);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
- gTasks[taskId].FUNC = sub_80BA68C;
- return FALSE;
+ gTasks[taskId].func = sub_80BA68C;
}
- if (gMain.newAndRepeatedKeys & DPAD_UP)
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
{
- gTasks[taskId].data[8] ^= A_BUTTON; // huh?
+ gTasks[taskId].tWindowSelected ^= 1;
return TRUE;
}
- if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
{
- gTasks[taskId].data[8] ^= A_BUTTON; // huh?
+ gTasks[taskId].tWindowSelected ^= 1;
return TRUE;
}
- else
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
{
- u16 keys = gMain.newAndRepeatedKeys & DPAD_RIGHT;
- if (keys)
- {
- if (gTasks[taskId].WINDOW_SELECTED != 0)
+ if (gTasks[taskId].tWindowSelected != 0)
{
- if (gTasks[taskId].SE_INDEX > 0)
- {
- gTasks[taskId].SE_INDEX--;
- }
+ if (gTasks[taskId].tSeIndex > 0)
+ gTasks[taskId].tSeIndex--;
else
- {
- gTasks[taskId].SE_INDEX = 0xF7;
- }
- }
- else if (gTasks[taskId].BGM_INDEX > 0)
- {
- gTasks[taskId].BGM_INDEX--;
+ gTasks[taskId].tSeIndex = 0xF7;
}
else
{
- gTasks[taskId].BGM_INDEX = 0x75;
+ if (gTasks[taskId].tBgmIndex > 0)
+ gTasks[taskId].tBgmIndex--;
+ else
+ gTasks[taskId].tBgmIndex = 0x75;
}
return TRUE;
}
- if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
{
- if (gTasks[taskId].WINDOW_SELECTED != 0)
+ if (gTasks[taskId].tWindowSelected != 0)
{
- if (gTasks[taskId].SE_INDEX < 0xF7)
- {
- gTasks[taskId].SE_INDEX++;
- }
+ if (gTasks[taskId].tSeIndex < 0xF7)
+ gTasks[taskId].tSeIndex++;
else
- {
- gTasks[taskId].SE_INDEX = keys; // ??
- }
- }
- else if (gTasks[taskId].BGM_INDEX < 0x75)
- {
- gTasks[taskId].BGM_INDEX++;
- return TRUE;
+ gTasks[taskId].tSeIndex = 0;
}
else
{
- gTasks[taskId].BGM_INDEX = gTasks[taskId].SE_INDEX;
- return TRUE;
+ if (gTasks[taskId].tBgmIndex < 0x75)
+ gTasks[taskId].tBgmIndex++;
+ else
+ gTasks[taskId].tBgmIndex = 0;
}
return TRUE;
}
- if (gMain.heldKeys & SELECT_BUTTON)
+ else if (gMain.heldKeys & SELECT_BUTTON)
{
- gUnknown_020387B0 = A_BUTTON;
- return FALSE;
+ gUnknown_020387B0 = 1;
}
else
{
- gUnknown_020387B0 = (gMain.heldKeys & SELECT_BUTTON);
- return FALSE;
- }
+ gUnknown_020387B0 = 0;
}
+ return FALSE;
}
-#else
-__attribute__((naked))
-bool8 sub_80BA400(u8 taskId)
-{
- asm(".syntax unified\n\
- push {r4-r6,lr}\n\
- sub sp, 0x4\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- ldr r2, _080BA428 @ =gMain\n\
- ldrh r1, [r2, 0x2E]\n\
- movs r0, 0x80\n\
- lsls r0, 1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA434\n\
- ldr r0, _080BA42C @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldr r0, _080BA430 @ =sub_80BA800\n\
- str r0, [r1]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA428: .4byte gMain\n\
-_080BA42C: .4byte gTasks\n\
-_080BA430: .4byte sub_80BA800\n\
-_080BA434:\n\
- movs r0, 0x80\n\
- lsls r0, 2\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA458\n\
- ldr r0, _080BA450 @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldr r0, _080BA454 @ =sub_80BAF84\n\
- str r0, [r1]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA450: .4byte gTasks\n\
-_080BA454: .4byte sub_80BAF84\n\
-_080BA458:\n\
- movs r0, 0x8\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA478\n\
- ldr r0, _080BA470 @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldr r0, _080BA474 @ =sub_80BB25C\n\
- str r0, [r1]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA470: .4byte gTasks\n\
-_080BA474: .4byte sub_80BB25C\n\
-_080BA478:\n\
- movs r6, 0x1\n\
- movs r5, 0x1\n\
- ands r5, r1\n\
- cmp r5, 0\n\
- beq _080BA538\n\
- ldr r0, _080BA4AC @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r5, r1, r0\n\
- movs r1, 0x8\n\
- ldrsh r0, [r5, r1]\n\
- cmp r0, 0\n\
- beq _080BA4D0\n\
- movs r2, 0x10\n\
- ldrsh r0, [r5, r2]\n\
- cmp r0, 0\n\
- beq _080BA4BA\n\
- movs r3, 0xC\n\
- ldrsh r4, [r5, r3]\n\
- cmp r4, 0\n\
- beq _080BA4B0\n\
- ldrh r0, [r5, 0x10]\n\
- bl m4aSongNumStop\n\
- b _080BA4C4\n\
- .align 2, 0\n\
-_080BA4AC: .4byte gTasks\n\
-_080BA4B0:\n\
- ldrh r0, [r5, 0x10]\n\
- bl m4aSongNumStop\n\
- strh r4, [r5, 0x10]\n\
- b _080BA64C\n\
-_080BA4BA:\n\
- movs r4, 0xC\n\
- ldrsh r0, [r5, r4]\n\
- cmp r0, 0\n\
- bne _080BA4C4\n\
- b _080BA64C\n\
-_080BA4C4:\n\
- ldrh r0, [r5, 0xC]\n\
- bl m4aSongNumStart\n\
- ldrh r0, [r5, 0xC]\n\
- strh r0, [r5, 0x10]\n\
- b _080BA64C\n\
-_080BA4D0:\n\
- ldrh r1, [r5, 0xE]\n\
- movs r2, 0xE\n\
- ldrsh r0, [r5, r2]\n\
- cmp r0, 0\n\
- beq _080BA514\n\
- movs r3, 0xA\n\
- ldrsh r4, [r5, r3]\n\
- cmp r4, 0\n\
- beq _080BA500\n\
- ldr r0, _080BA4FC @ =0x0000015d\n\
- adds r4, r0, 0\n\
- adds r0, r1, r4\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- bl m4aSongNumStop\n\
- ldrh r1, [r5, 0xA]\n\
- adds r4, r1\n\
- lsls r4, 16\n\
- lsrs r4, 16\n\
- adds r0, r4, 0\n\
- b _080BA528\n\
- .align 2, 0\n\
-_080BA4FC: .4byte 0x0000015d\n\
-_080BA500:\n\
- ldr r2, _080BA510 @ =0x0000015d\n\
- adds r0, r1, r2\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- bl m4aSongNumStop\n\
- strh r4, [r5, 0xE]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA510: .4byte 0x0000015d\n\
-_080BA514:\n\
- ldrh r1, [r5, 0xA]\n\
- movs r3, 0xA\n\
- ldrsh r0, [r5, r3]\n\
- cmp r0, 0\n\
- bne _080BA520\n\
- b _080BA64C\n\
-_080BA520:\n\
- ldr r4, _080BA534 @ =0x0000015d\n\
- adds r0, r1, r4\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
-_080BA528:\n\
- bl m4aSongNumStart\n\
- ldrh r0, [r5, 0xA]\n\
- strh r0, [r5, 0xE]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA534: .4byte 0x0000015d\n\
-_080BA538:\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA570\n\
- movs r0, 0x5\n\
- bl m4aSongNumStart\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- str r5, [sp]\n\
- movs r1, 0\n\
- movs r2, 0\n\
- movs r3, 0x10\n\
- bl BeginNormalPaletteFade\n\
- ldr r1, _080BA568 @ =gTasks\n\
- lsls r0, r4, 2\n\
- adds r0, r4\n\
- lsls r0, 3\n\
- adds r0, r1\n\
- ldr r1, _080BA56C @ =sub_80BA68C\n\
- str r1, [r0]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA568: .4byte gTasks\n\
-_080BA56C: .4byte sub_80BA68C\n\
-_080BA570:\n\
- ldrh r1, [r2, 0x30]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080BA582\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA59C\n\
-_080BA582:\n\
- ldr r0, _080BA598 @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldrh r0, [r1, 0x8]\n\
- eors r0, r6\n\
- strh r0, [r1, 0x8]\n\
-_080BA592:\n\
- movs r0, 0x1\n\
- b _080BA64E\n\
- .align 2, 0\n\
-_080BA598: .4byte gTasks\n\
-_080BA59C:\n\
- movs r0, 0x10\n\
- ands r0, r1\n\
- lsls r0, 16\n\
- lsrs r3, r0, 16\n\
- cmp r3, 0\n\
- beq _080BA5EA\n\
- ldr r0, _080BA5CC @ =gTasks\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- movs r2, 0x8\n\
- ldrsh r0, [r1, r2]\n\
- cmp r0, 0\n\
- beq _080BA5D6\n\
- ldrh r2, [r1, 0xC]\n\
- movs r3, 0xC\n\
- ldrsh r0, [r1, r3]\n\
- cmp r0, 0\n\
- ble _080BA5D0\n\
- subs r0, r2, 0x1\n\
- strh r0, [r1, 0xC]\n\
- b _080BA592\n\
- .align 2, 0\n\
-_080BA5CC: .4byte gTasks\n\
-_080BA5D0:\n\
- movs r0, 0xF7\n\
- strh r0, [r1, 0xC]\n\
- b _080BA592\n\
-_080BA5D6:\n\
- ldrh r2, [r1, 0xA]\n\
- movs r4, 0xA\n\
- ldrsh r0, [r1, r4]\n\
- cmp r0, 0\n\
- ble _080BA5E4\n\
- subs r0, r2, 0x1\n\
- b _080BA5E6\n\
-_080BA5E4:\n\
- movs r0, 0x75\n\
-_080BA5E6:\n\
- strh r0, [r1, 0xA]\n\
- b _080BA592\n\
-_080BA5EA:\n\
- movs r0, 0x20\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080BA630\n\
- ldr r1, _080BA614 @ =gTasks\n\
- lsls r0, r4, 2\n\
- adds r0, r4\n\
- lsls r0, 3\n\
- adds r1, r0, r1\n\
- movs r0, 0x8\n\
- ldrsh r2, [r1, r0]\n\
- cmp r2, 0\n\
- beq _080BA61C\n\
- ldrh r2, [r1, 0xC]\n\
- movs r4, 0xC\n\
- ldrsh r0, [r1, r4]\n\
- cmp r0, 0xF6\n\
- bgt _080BA618\n\
- adds r0, r2, 0x1\n\
- strh r0, [r1, 0xC]\n\
- b _080BA592\n\
- .align 2, 0\n\
-_080BA614: .4byte gTasks\n\
-_080BA618:\n\
- strh r3, [r1, 0xC]\n\
- b _080BA592\n\
-_080BA61C:\n\
- ldrh r3, [r1, 0xA]\n\
- movs r4, 0xA\n\
- ldrsh r0, [r1, r4]\n\
- cmp r0, 0x74\n\
- bgt _080BA62C\n\
- adds r0, r3, 0x1\n\
- strh r0, [r1, 0xA]\n\
- b _080BA592\n\
-_080BA62C:\n\
- strh r2, [r1, 0xA]\n\
- b _080BA592\n\
-_080BA630:\n\
- ldrh r1, [r2, 0x2C]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- lsls r0, 16\n\
- lsrs r1, r0, 16\n\
- cmp r1, 0\n\
- beq _080BA648\n\
- ldr r0, _080BA644 @ =gUnknown_020387B0\n\
- strb r6, [r0]\n\
- b _080BA64C\n\
- .align 2, 0\n\
-_080BA644: .4byte gUnknown_020387B0\n\
-_080BA648:\n\
- ldr r0, _080BA658 @ =gUnknown_020387B0\n\
- strb r1, [r0]\n\
-_080BA64C:\n\
- movs r0, 0\n\
-_080BA64E:\n\
- add sp, 0x4\n\
- pop {r4-r6}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_080BA658: .4byte gUnknown_020387B0\n\
- .syntax divided");
-}
-#endif
void sub_80BA65C(u8 taskId)
{
- if (sub_80BA400(taskId) != FALSE)
- gTasks[taskId].FUNC = sub_80BA384;
+ if (Task_ProcessSoundCheckMenuInput(taskId) != FALSE)
+ gTasks[taskId].func = sub_80BA384;
}
void sub_80BA68C(u8 taskId)
@@ -689,7 +349,7 @@ void sub_80BA68C(u8 taskId)
}
}
-void sub_80BA6B8(u8 windowType)
+void HighlightSelectedWindow(u8 windowType)
{
switch (windowType)
{
@@ -705,7 +365,7 @@ void sub_80BA6B8(u8 windowType)
}
}
-void sub_80BA700(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ?
+void PrintSoundNumber(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ?
{
u8 i;
u8 str[5];
@@ -727,7 +387,7 @@ void sub_80BA700(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ?
}
divisorValue = (soundIndex % 100) / 10;
- if (divisorValue || someBool != FALSE)
+ if (divisorValue || someBool)
str[1] = divisorValue + CHAR_0;
str[2] = ((soundIndex % 100) % 10) + CHAR_0;
@@ -739,7 +399,7 @@ void sub_80BA79C(const u8 *const string, u16 x, u16 y)
u8 i;
u8 str[11];
- for (i = 0; i < 11; i++)
+ for (i = 0; i <= 10; i++)
str[i] = 0; // format string.
str[10] = EOS; // the above for loop formats the last element of the array unnecessarily.
@@ -750,9 +410,8 @@ void sub_80BA79C(const u8 *const string, u16 x, u16 y)
MenuPrint(str, x, y);
}
-void sub_80BA800(u8 taskId) // Task_DrawDriverTestMenu
+void Task_DrawDriverTestMenu(u8 taskId) // Task_DrawDriverTestMenu
{
-
u8 bbackStr[] = _("Bぼたんで もどる");
u8 aplayStr[] = _("Aぼたんで さいせい");
u8 voiceStr[] = _("VOICE‥‥‥‥");
@@ -769,23 +428,23 @@ void sub_80BA800(u8 taskId) // Task_DrawDriverTestMenu
u8 stereoStr[] = _("すてれお‥‥‥‥"); // stereo
REG_DISPCNT = 0x3140;
- MenuDrawTextWindow(0, 0, 0x1D, 0x13);
- MenuPrint(bbackStr, 0x13, 0x4);
- MenuPrint(aplayStr, 0x13, 0x2);
- MenuPrint(voiceStr, 0x2, 0x1);
- MenuPrint(volumeStr, 0x2, 0x3);
- MenuPrint(panpotStr, 0x2, 0x5);
- MenuPrint(pitchStr, 0x2, 0x7);
- MenuPrint(lengthStr, 0x2, 0x9);
- MenuPrint(releaseStr, 0x2, 0xB);
- MenuPrint(progressStr, 0x2, 0xD);
- MenuPrint(chorusStr, 0x2, 0xF);
- MenuPrint(priorityStr, 0x2, 0x11);
- MenuPrint(playingStr, 0x13, 0x10);
- MenuPrint(reverseStr, 0x13, 0xE);
- MenuPrint(stereoStr, 0x13, 0xC);
- REG_WIN0H = WIN_RANGE(0, 240);
- REG_WIN0V = WIN_RANGE(0, 160);
+ MenuDrawTextWindow(0, 0, 29, 19);
+ MenuPrint(bbackStr, 19, 4);
+ MenuPrint(aplayStr, 19, 2);
+ MenuPrint(voiceStr, 2, 1);
+ MenuPrint(volumeStr, 2, 3);
+ MenuPrint(panpotStr, 2, 5);
+ MenuPrint(pitchStr, 2, 7);
+ MenuPrint(lengthStr, 2, 9);
+ MenuPrint(releaseStr, 2, 11);
+ MenuPrint(progressStr, 2, 13);
+ MenuPrint(chorusStr, 2, 15);
+ MenuPrint(priorityStr, 2, 17);
+ MenuPrint(playingStr, 19, 16);
+ MenuPrint(reverseStr, 19, 14);
+ MenuPrint(stereoStr, 19, 12);
+ REG_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH);
+ REG_WIN0V = WIN_RANGE(0, DISPLAY_HEIGHT);
gUnknown_020387B3 = 0;
gUnknown_020387B1 = 0;
gUnknown_020387B2 = 0;
@@ -803,7 +462,7 @@ void sub_80BA800(u8 taskId) // Task_DrawDriverTestMenu
gUnknown_020387B4[CRY_TEST_PRIORITY] = 2;
sub_80BAD5C();
sub_80BAE10(0, 0);
- gTasks[taskId].FUNC = sub_80BAA48;
+ gTasks[taskId].func = sub_80BAA48;
}
@@ -815,8 +474,8 @@ void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput
REG_DISPCNT = 0x7140;
REG_WIN0H = WIN_RANGE(17, 223);
REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
- gTasks[taskId].FUNC = sub_80BA258;
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ gTasks[taskId].func = Task_InitSoundCheckMenu;
return;
}
if (gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8
@@ -957,18 +616,18 @@ void sub_80BACDC(s8 var)
void sub_80BAD5C(void)
{
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_UNK0] + 1, 0xB, 0x1, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_VOLUME], 0xB, 0x3, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_PANPOT], 0xB, 0x5, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_PITCH], 0xB, 0x7, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_LENGTH], 0xB, 0x9, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_RELEASE], 0xB, 0xB, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_PROGRESS], 0xB, 0xD, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_CHORUS], 0xB, 0xF, 0x5);
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_PRIORITY], 0xB, 0x11, 0x5);
- sub_80BAE78(gUnknown_020387B1, 0x1B, 0x10, 0x1);
- sub_80BAE78(gUnknown_020387D8, 0x1B, 0xE, 0x1);
- sub_80BAE78(gUnknown_020387D9, 0x1B, 0xC, 0x1);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_UNK0] + 1, 11, 1, 5);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_VOLUME], 11, 3, 5);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_PANPOT], 11, 5, 5);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_PITCH], 11, 7, 5);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_LENGTH], 11, 9, 5);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_RELEASE], 11, 11, 5);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_PROGRESS], 11, 13, 5);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_CHORUS], 11, 15, 5);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_PRIORITY], 11, 17, 5);
+ PrintSignedNumber(gUnknown_020387B1, 27, 16, 1);
+ PrintSignedNumber(gUnknown_020387D8, 27, 14, 1);
+ PrintSignedNumber(gUnknown_020387D9, 27, 12, 1);
}
void sub_80BAE10(u8 var1, u8 var2)
@@ -980,7 +639,7 @@ void sub_80BAE10(u8 var1, u8 var2)
MenuPrint(str1, gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 1)]);
}
-void sub_80BAE78(int n, u16 x, u16 y, u8 digits)
+void PrintSignedNumber(int n, u16 x, u16 y, u8 digits)
{
int powersOfTen[6] =
{
@@ -1038,19 +697,19 @@ void sub_80BAF84(u8 taskId)
u8 playingStr[] = _("さいせいちゆう‥");
REG_DISPCNT = 0x3140;
- MenuDrawTextWindow(0, 0, 0x1D, 0x13);
+ MenuDrawTextWindow(0, 0, 29, 19);
MenuPrint(seStr, 3, 2);
MenuPrint(panStr, 3, 4);
MenuPrint(playingStr, 3, 8);
- REG_WIN0H = WIN_RANGE(0, 240);
- REG_WIN0V = WIN_RANGE(0, 160);
+ REG_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH);
+ REG_WIN0V = WIN_RANGE(0, DISPLAY_HEIGHT);
gUnknown_020387B4[CRY_TEST_UNK0] = 1;
gUnknown_020387B4[CRY_TEST_PANPOT] = 0;
gUnknown_020387B4[CRY_TEST_CHORUS] = 0;
gUnknown_020387B4[CRY_TEST_PROGRESS] = 0;
gUnknown_020387B4[CRY_TEST_RELEASE] = 0;
sub_80BB1D4();
- gTasks[taskId].FUNC = sub_80BB038;
+ gTasks[taskId].func = sub_80BB038;
}
void sub_80BB038(u8 taskId)
@@ -1067,17 +726,17 @@ void sub_80BB038(u8 taskId)
s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]];
if (panpot != -128)
{
- if (panpot == 0x7F)
+ if (panpot == 127)
{
gUnknown_020387B4[CRY_TEST_CHORUS] += 2;
- if (gUnknown_020387B4[CRY_TEST_CHORUS] < 0x3F)
+ if (gUnknown_020387B4[CRY_TEST_CHORUS] < 63)
SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]);
}
}
else // _080BB08C
{
gUnknown_020387B4[CRY_TEST_CHORUS] -= 2;
- if (gUnknown_020387B4[CRY_TEST_CHORUS] > -0x40)
+ if (gUnknown_020387B4[CRY_TEST_CHORUS] > -64)
SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]);
}
}
@@ -1088,8 +747,8 @@ void sub_80BB038(u8 taskId)
REG_DISPCNT = 0x7140;
REG_WIN0H = WIN_RANGE(17, 223);
REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
- gTasks[taskId].FUNC = sub_80BA258;
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ gTasks[taskId].func = Task_InitSoundCheckMenu;
return;
}
if (gMain.newKeys & A_BUTTON) // _080BB104
@@ -1097,21 +756,21 @@ void sub_80BB038(u8 taskId)
s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]];
if (panpot != -128)
{
- if (panpot == 0x7F)
+ if (panpot == 127)
{
- PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], -0x40);
- gUnknown_020387B4[CRY_TEST_CHORUS] = -0x40;
+ PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], -64);
+ gUnknown_020387B4[CRY_TEST_CHORUS] = -64;
gUnknown_020387B4[CRY_TEST_PROGRESS] = 1;
- gUnknown_020387B4[CRY_TEST_RELEASE] = 0x1E;
+ gUnknown_020387B4[CRY_TEST_RELEASE] = 30;
return;
}
}
else // _080BB140
{
- PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], 0x3F);
- gUnknown_020387B4[CRY_TEST_CHORUS] = 0x3F;
+ PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], 63);
+ gUnknown_020387B4[CRY_TEST_CHORUS] = 63;
gUnknown_020387B4[CRY_TEST_PROGRESS] = 1;
- gUnknown_020387B4[CRY_TEST_RELEASE] = 0x1E;
+ gUnknown_020387B4[CRY_TEST_RELEASE] = 30;
return;
}
// _080BB154
@@ -1150,7 +809,7 @@ void sub_80BB1D4(void)
u8 lrStr[] = _(" LR");
u8 rlStr[] = _(" RL");
- sub_80BAE78(gUnknown_020387B4[CRY_TEST_UNK0], 7, 2, 3);
+ PrintSignedNumber(gUnknown_020387B4[CRY_TEST_UNK0], 7, 2, 3);
switch (gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]])
{
@@ -1161,10 +820,10 @@ void sub_80BB1D4(void)
MenuPrint(rlStr, 7, 4);
break;
default:
- sub_80BAE78(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]], 7, 4, 3);
+ PrintSignedNumber(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]], 7, 4, 3);
break;
}
- sub_80BAE78(IsSEPlaying(), 12, 8, 1);
+ PrintSignedNumber(IsSEPlaying(), 12, 8, 1);
}
#define SOUND_LIST_BGM \
@@ -1581,7 +1240,8 @@ void sub_80BB25C(u8 taskId)
zero = 0; // wtf?
gUnknown_03005E98 = 0;
- while (sub_8119E3C(&cryStruct, 3) == FALSE);
+ while (sub_8119E3C(&cryStruct, 3) == FALSE)
+ ;
cryStruct2.unk0 = 0;
cryStruct2.unk2 = 15;
@@ -1592,7 +1252,8 @@ void sub_80BB25C(u8 taskId)
zero = 0; // wtf?
gUnknown_03005E98 = 0;
- while (ShowPokedexCryScreen(&cryStruct2, 2) == FALSE);
+ while (ShowPokedexCryScreen(&cryStruct2, 2) == FALSE)
+ ;
MenuDrawTextWindow(0, 16, 5, 19);
sub_80BB494();
@@ -1603,7 +1264,7 @@ void sub_80BB25C(u8 taskId)
REG_BG3CNT = 0x1D03;
REG_DISPCNT = 0x1d40;
m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2);
- gTasks[taskId].FUNC = sub_80BB3B4;
+ gTasks[taskId].func = sub_80BB3B4;
}
void sub_80BB3B4(u8 taskId)
@@ -1635,13 +1296,13 @@ void sub_80BB3B4(u8 taskId)
REG_DISPCNT = 0x7140;
REG_WIN0H = WIN_RANGE(17, 223);
REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
- gTasks[taskId].FUNC = sub_80BA258;
+ MenuZeroFillWindowRect(0, 0, 29, 19);
+ gTasks[taskId].func = Task_InitSoundCheckMenu;
DestroyCryMeterNeedleSprite();
}
}
void sub_80BB494(void)
{
- sub_80BAE78(gUnknown_03005D34, 1, 17, 3);
+ PrintSignedNumber(gUnknown_03005D34, 1, 17, 3);
}