summaryrefslogtreecommitdiff
path: root/src/sound_check_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sound_check_menu.c')
-rw-r--r--src/sound_check_menu.c1300
1 files changed, 0 insertions, 1300 deletions
diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c
deleted file mode 100644
index 14261b75e..000000000
--- a/src/sound_check_menu.c
+++ /dev/null
@@ -1,1300 +0,0 @@
-#include "global.h"
-#include "sprite.h"
-#include "palette.h"
-#include "task.h"
-#include "m4a.h"
-#include "main.h"
-#include "text.h"
-#include "menu.h"
-#include "songs.h"
-#include "title_screen.h"
-#include "sound.h"
-#include "pokedex_cry_screen.h"
-
-// local task defines
-#define tWindowSelected data[0]
-#define tBgmIndex data[1]
-#define tSeIndex data[2]
-
-// window selections
-enum
-{
- BGM_WINDOW,
- SE_WINDOW
-};
-
-// driver test cry enums
-enum
-{
- CRY_TEST_VOICE,
- CRY_TEST_VOLUME,
- CRY_TEST_PANPOT,
- CRY_TEST_PITCH,
- CRY_TEST_LENGTH,
- CRY_TEST_RELEASE,
- CRY_TEST_PROGRESS,
- CRY_TEST_CHORUS,
- CRY_TEST_PRIORITY
-};
-
-// minmax range enums
-enum
-{
- MIN,
- MAX
-};
-
-extern struct ToneData voicegroup_84537C0[];
-extern struct ToneData voicegroup_8452590[];
-extern struct ToneData voicegroup_8453DC0[];
-extern struct ToneData voicegroup_8452B90[];
-extern struct ToneData voicegroup_84543C0[];
-extern struct ToneData voicegroup_8453190[];
-extern struct ToneData voicegroup_84549C0[];
-extern struct ToneData voicegroup_8453790[];
-
-static EWRAM_DATA u8 gUnknown_020387B0 = 0;
-static EWRAM_DATA u8 gUnknown_020387B1 = 0;
-static EWRAM_DATA u8 gUnknown_020387B2 = 0;
-static EWRAM_DATA s8 sDriverTestSelection = 0;
-static EWRAM_DATA int sSoundTestParams[9] = {0};
-static EWRAM_DATA u8 gUnknown_020387D8 = 0;
-static EWRAM_DATA u8 gUnknown_020387D9 = 0;
-
-u16 gSoundTestCryNum;
-extern u8 gUnknown_03005E98;
-
-struct MusicPlayerInfo *gUnknown_03005D30;
-
-extern struct MusicPlayerInfo gMPlay_BGM;
-
-void Task_InitSoundCheckMenu(u8);
-void sub_80BA384(u8);
-void sub_80BA65C(u8);
-void sub_80BA68C(u8);
-void HighlightSelectedWindow(u8);
-void PrintSoundNumber(u16, u16, u16);
-void sub_80BA79C(const u8 *const, u16, u16);
-void Task_DrawDriverTestMenu(u8);
-void Task_ProcessDriverTestInput(u8);
-void AdjustSelectedDriverParam(s8);
-void PrintDriverTestMenuText(void);
-void sub_80BAE10(u8, u8);
-void PrintSignedNumber(int, u16, u16, u8);
-void sub_80BAF84(u8);
-void sub_80BB038(u8);
-void sub_80BB1D4(void);
-void Task_InitCryTest(u8);
-void Task_ProcessCryTestInput(u8);
-void PrintCryNumber(void);
-
-void CB2_SoundCheckMenu(void)
-{
- RunTasks();
- AnimateSprites();
- BuildOamBuffer();
- UpdatePaletteFade();
-}
-
-void VBlankCB_SoundCheckMenu(void)
-{
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
-
- if (gUnknown_020387B0 != 0)
- {
- m4aSoundMain();
- m4aSoundMain();
- m4aSoundMain();
- }
-}
-
-// unused
-void CB2_StartSoundCheckMenu(void)
-{
- u8 taskId;
-
- SetVBlankCallback(NULL);
- REG_DISPCNT = 0;
- REG_BG2CNT = 0;
- REG_BG1CNT = 0;
- REG_BG0CNT = 0;
- REG_BG2HOFS = 0;
- REG_BG2VOFS = 0;
- REG_BG1HOFS = 0;
- REG_BG1VOFS = 0;
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0;
- DmaFill16(3, 0, VRAM, VRAM_SIZE);
- DmaFill32(3, 0, OAM, OAM_SIZE);
- DmaFill16(3, 0, PLTT, PLTT_SIZE);
- ResetPaletteFade();
- ResetTasks();
- ResetSpriteData();
- SetUpWindowConfig(&gWindowConfig_81E6C3C);
- InitMenuWindow(&gWindowConfig_81E6CE4);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
- REG_WIN0H = WIN_RANGE(0, 0);
- REG_WIN0V = WIN_RANGE(0, 0);
- REG_WIN1H = WIN_RANGE(0, 0);
- REG_WIN1V = WIN_RANGE(0, 0);
- REG_WININ = 0x1111;
- REG_WINOUT = 0x31;
- REG_BLDCNT = 0xE1;
- REG_BLDALPHA = 0;
- REG_BLDY = 7;
- REG_IE = 1; // could be a typo of REG_IME
- REG_IE |= 1;
- REG_DISPSTAT |= 8;
- SetVBlankCallback(VBlankCB_SoundCheckMenu);
- SetMainCallback2(CB2_SoundCheckMenu);
- REG_DISPCNT = 0x7140;
- taskId = CreateTask(Task_InitSoundCheckMenu, 0);
- gTasks[taskId].tWindowSelected = BGM_WINDOW;
- gTasks[taskId].tBgmIndex = 0;
- gTasks[taskId].tSeIndex = 0;
- gTasks[taskId].data[3] = 0;
- gUnknown_020387B0 = 0;
- gTasks[taskId].data[3] = 0; // why?
- m4aSoundInit();
-}
-
-void Task_InitSoundCheckMenu(u8 taskId)
-{
- u8 soundcheckStr[] = _("サウンドチェック");
- u8 bgmStr[] = _("BGM");
- u8 seStr[] = _("SE ");
- u8 abDescStr[] = _("A‥さいせい B‥おわり");
- u8 upDownStr[] = _("L‥UP R‥DOWN");
- u8 driverStr[] = _("R‥DRIVER-TEST");
-
- if (!gPaletteFade.active)
- {
- 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);
- MenuPrint(upDownStr, 14, 6);
- MenuPrint(seStr, 4, 13);
- MenuPrint(upDownStr, 14, 13);
- MenuPrint(driverStr, 14, 18);
- gTasks[taskId].func = sub_80BA384;
- REG_WIN0H = WIN_RANGE(17, 223);
- REG_WIN0V = WIN_RANGE(1, 31);
- }
-}
-
-// ideally this should be a multi Coords8 struct, but it wont match when its treated like a struct.
-static const u8 gUnknown_083D0300[] = { 1, 1, 1, 3, 1, 5, 1, 7, 1, 9, 1, 11, 1, 13, 1, 15, 1, 17 };
-
-extern const u8 *const gBGMNames[];
-extern const u8 *const gSENames[];
-
-void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText
-{
- 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;
-}
-
-bool8 Task_ProcessSoundCheckMenuInput(u8 taskId)
-{
- if (gMain.newKeys & R_BUTTON) // driver test
- {
- gTasks[taskId].func = Task_DrawDriverTestMenu;
- }
- else if (gMain.newKeys & L_BUTTON)
- {
- gTasks[taskId].func = sub_80BAF84;
- }
- else if (gMain.newKeys & START_BUTTON)
- {
- gTasks[taskId].func = Task_InitCryTest;
- }
- else if (gMain.newKeys & A_BUTTON)
- {
- if (gTasks[taskId].tWindowSelected != 0) // is playing?
- {
- if (gTasks[taskId].data[4] != 0)
- {
- if (gTasks[taskId].tSeIndex != 0)
- {
- m4aSongNumStop(gTasks[taskId].data[4]);
- m4aSongNumStart(gTasks[taskId].tSeIndex);
- gTasks[taskId].data[4] = gTasks[taskId].tSeIndex;
- }
- else
- {
- m4aSongNumStop(gTasks[taskId].data[4]);
- gTasks[taskId].data[4] = 0;
- }
- }
- else if (gTasks[taskId].tSeIndex != 0)
- {
- m4aSongNumStart(gTasks[taskId].tSeIndex);
- gTasks[taskId].data[4] = gTasks[taskId].tSeIndex;
- }
- }
- else
- {
- if (gTasks[taskId].data[3] != 0)
- {
- if (gTasks[taskId].tBgmIndex != 0)
- {
- m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP);
- m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP);
- gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex;
- }
- else
- {
- m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP);
- gTasks[taskId].data[3] = 0;
- }
- }
- else if (gTasks[taskId].tBgmIndex != 0)
- {
- m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP);
- gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex;
- }
- }
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- m4aSongNumStart(SE_SELECT);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
- gTasks[taskId].func = sub_80BA68C;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_UP)
- {
- gTasks[taskId].tWindowSelected ^= 1;
- return TRUE;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- gTasks[taskId].tWindowSelected ^= 1;
- return TRUE;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
- {
- if (gTasks[taskId].tWindowSelected != 0)
- {
- if (gTasks[taskId].tSeIndex > 0)
- gTasks[taskId].tSeIndex--;
- else
- gTasks[taskId].tSeIndex = 247;
- }
- else
- {
- if (gTasks[taskId].tBgmIndex > 0)
- gTasks[taskId].tBgmIndex--;
- else
- gTasks[taskId].tBgmIndex = 117;
- }
- return TRUE;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
- {
- if (gTasks[taskId].tWindowSelected != 0)
- {
- if (gTasks[taskId].tSeIndex < 247)
- gTasks[taskId].tSeIndex++;
- else
- gTasks[taskId].tSeIndex = 0;
- }
- else
- {
- if (gTasks[taskId].tBgmIndex < 117)
- gTasks[taskId].tBgmIndex++;
- else
- gTasks[taskId].tBgmIndex = 0;
- }
- return TRUE;
- }
- else if (gMain.heldKeys & SELECT_BUTTON)
- {
- gUnknown_020387B0 = 1;
- }
- else
- {
- gUnknown_020387B0 = 0;
- }
- return FALSE;
-}
-
-void sub_80BA65C(u8 taskId)
-{
- if (Task_ProcessSoundCheckMenuInput(taskId) != FALSE)
- gTasks[taskId].func = sub_80BA384;
-}
-
-void sub_80BA68C(u8 taskId)
-{
- if (!gPaletteFade.active)
- {
- DestroyTask(taskId);
- SetMainCallback2(CB2_InitTitleScreen);
- }
-}
-
-void HighlightSelectedWindow(u8 windowType)
-{
- switch (windowType)
- {
- case BGM_WINDOW:
- default:
- REG_WIN1H = WIN_RANGE(17, 223);
- REG_WIN1V = WIN_RANGE(41, 87);
- break;
- case SE_WINDOW:
- REG_WIN1H = WIN_RANGE(17, 223);
- REG_WIN1V = WIN_RANGE(97, 143);
- break;
- }
-}
-
-void PrintSoundNumber(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ?
-{
- u8 i;
- u8 str[5];
- bool8 someBool;
- u8 divisorValue;
-
- for (i = 0; i < 3; i++)
- str[i] = 0; // initialize array
-
- str[3] = CHAR_ELLIPSIS;
- str[4] = EOS;
- someBool = FALSE;
-
- divisorValue = soundIndex / 100;
- if (divisorValue)
- {
- str[0] = divisorValue + CHAR_0;
- someBool = TRUE;
- }
-
- divisorValue = (soundIndex % 100) / 10;
- if (divisorValue || someBool)
- str[1] = divisorValue + CHAR_0;
-
- str[2] = ((soundIndex % 100) % 10) + CHAR_0;
- MenuPrint(str, x, y);
-}
-
-void sub_80BA79C(const u8 *const string, u16 x, u16 y)
-{
- u8 i;
- u8 str[11];
-
- 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.
-
- for (i = 0; string[i] != EOS && i < 10; i++)
- str[i] = string[i];
-
- MenuPrint(str, x, y);
-}
-
-void Task_DrawDriverTestMenu(u8 taskId) // Task_DrawDriverTestMenu
-{
- u8 bbackStr[] = _("Bぼたんで もどる");
- u8 aplayStr[] = _("Aぼたんで さいせい");
- u8 voiceStr[] = _("VOICE‥‥‥‥");
- u8 volumeStr[] = _("VOLUME‥‥‥");
- u8 panpotStr[] = _("PANPOT‥‥‥");
- u8 pitchStr[] = _("PITCH‥‥‥‥");
- u8 lengthStr[] = _("LENGTH‥‥‥");
- u8 releaseStr[] = _("RELEASE‥‥");
- u8 progressStr[] = _("PROGRESS‥");
- u8 chorusStr[] = _("CHORUS‥‥‥");
- u8 priorityStr[] = _("PRIORITY‥");
- u8 playingStr[] = _("さいせいちゆう‥"); // 再生中 (playing)
- u8 reverseStr[] = _("はんてん‥‥‥‥"); // 反転 (reverse)
- u8 stereoStr[] = _("すてれお‥‥‥‥"); // stereo
-
- REG_DISPCNT = 0x3140;
- 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);
- sDriverTestSelection = 0;
- gUnknown_020387B1 = 0;
- gUnknown_020387B2 = 0;
- gUnknown_03005D30 = NULL;
- gUnknown_020387D8 = 0;
- gUnknown_020387D9 = 1;
- sSoundTestParams[CRY_TEST_VOICE] = 0;
- sSoundTestParams[CRY_TEST_VOLUME] = 120;
- sSoundTestParams[CRY_TEST_PANPOT] = 0;
- sSoundTestParams[CRY_TEST_PITCH] = 15360;
- sSoundTestParams[CRY_TEST_LENGTH] = 180;
- sSoundTestParams[CRY_TEST_PROGRESS] = 0;
- sSoundTestParams[CRY_TEST_RELEASE] = 0;
- sSoundTestParams[CRY_TEST_CHORUS] = 0;
- sSoundTestParams[CRY_TEST_PRIORITY] = 2;
- PrintDriverTestMenuText();
- sub_80BAE10(0, 0);
- gTasks[taskId].func = Task_ProcessDriverTestInput;
-}
-
-void Task_ProcessDriverTestInput(u8 taskId)
-{
- if (gMain.newKeys & B_BUTTON)
- {
- REG_DISPCNT = 0x7140;
- REG_WIN0H = WIN_RANGE(17, 223);
- REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 29, 19);
- gTasks[taskId].func = Task_InitSoundCheckMenu;
- return;
- }
- if (gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8
- {
- u8 old = sDriverTestSelection;
-
- if(--sDriverTestSelection < 0)
- sDriverTestSelection = 8;
- sub_80BAE10(old, sDriverTestSelection);
- return;
- }
- if (gMain.newAndRepeatedKeys & DPAD_DOWN) // _080BAAD0
- {
- u8 old = sDriverTestSelection;
-
- if(++sDriverTestSelection > 8)
- sDriverTestSelection = 0;
- sub_80BAE10(old, sDriverTestSelection);
- return;
- }
- if (gMain.newKeys & START_BUTTON) // _080BAAF8
- {
- gUnknown_020387D8 ^= 1;
- PrintDriverTestMenuText();
- return;
- }
- if (gMain.newKeys & SELECT_BUTTON) // _080BAB14
- {
- gUnknown_020387D9 ^= 1;
- PrintDriverTestMenuText();
- SetPokemonCryStereo(gUnknown_020387D9);
- return;
- }
- if (gMain.newAndRepeatedKeys & R_BUTTON) // _080BAB38
- {
- AdjustSelectedDriverParam(10);
- PrintDriverTestMenuText();
- return;
- }
- if (gMain.newAndRepeatedKeys & L_BUTTON) // _080BAB46
- {
- AdjustSelectedDriverParam(-10);
- PrintDriverTestMenuText();
- return;
- }
- if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BAB56
- {
- AdjustSelectedDriverParam(-1);
- PrintDriverTestMenuText();
- return;
- }
- if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BAB64
- {
- AdjustSelectedDriverParam(1);
- PrintDriverTestMenuText();
- return;
- }
- if (gMain.newKeys & A_BUTTON) // _080BAB78
- {
- u8 divide, remaining;
-
- SetPokemonCryVolume(sSoundTestParams[CRY_TEST_VOLUME]);
- SetPokemonCryPanpot(sSoundTestParams[CRY_TEST_PANPOT]);
- SetPokemonCryPitch(sSoundTestParams[CRY_TEST_PITCH]);
- SetPokemonCryLength(sSoundTestParams[CRY_TEST_LENGTH]);
- SetPokemonCryProgress(sSoundTestParams[CRY_TEST_PROGRESS]);
- SetPokemonCryRelease(sSoundTestParams[CRY_TEST_RELEASE]);
- SetPokemonCryChorus(sSoundTestParams[CRY_TEST_CHORUS]);
- SetPokemonCryPriority(sSoundTestParams[CRY_TEST_PRIORITY]);
-
- remaining = sSoundTestParams[CRY_TEST_VOICE] % 128;
- divide = sSoundTestParams[CRY_TEST_VOICE] / 128;
-
- switch (divide)
- {
- case 0:
- if (gUnknown_020387D8)
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84537C0[remaining]);
- else
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452590[remaining]);
- break;
- case 1:
- if (gUnknown_020387D8)
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453DC0[remaining]);
- else
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8452B90[remaining]);
- break;
- case 2:
- if (gUnknown_020387D8)
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84543C0[remaining]);
- else
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453190[remaining]);
- break;
- case 3:
- if (gUnknown_020387D8)
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_84549C0[remaining]);
- else
- gUnknown_03005D30 = SetPokemonCryTone(&voicegroup_8453790[remaining]);
- break;
- }
- }
-
- // _080BACA2
- if (gUnknown_03005D30 != NULL)
- {
- gUnknown_020387B1 = IsPokemonCryPlaying(gUnknown_03005D30);
-
- if (gUnknown_020387B1 != gUnknown_020387B2)
- PrintDriverTestMenuText();
-
- gUnknown_020387B2 = gUnknown_020387B1;
- }
-}
-
-void AdjustSelectedDriverParam(s8 delta)
-{
- // also ideally should be a MinMax struct, but any attempt to make this into a struct causes it to not match due to the weird multi dim access.
- int paramRanges[] =
- {
- 0, 387, // Voice
- 0, 127, // Volume
- -127, 127, // Panpot
- -128, 32639, // Pitch
- 0, 65535, // Length
- 0, 255, // Release
- 0, 65535, // Progress
- -64, 63 // Chorus
- // Priority??? Why is it missing?
- };
-
- sSoundTestParams[sDriverTestSelection] += delta;
-
- if (sSoundTestParams[sDriverTestSelection] > paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MAX)])
- sSoundTestParams[sDriverTestSelection] = paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MIN)];
-
- if (sSoundTestParams[sDriverTestSelection] < paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MIN)])
- sSoundTestParams[sDriverTestSelection] = paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MAX)];
-}
-
-void PrintDriverTestMenuText(void)
-{
- PrintSignedNumber(sSoundTestParams[CRY_TEST_VOICE] + 1, 11, 1, 5);
- PrintSignedNumber(sSoundTestParams[CRY_TEST_VOLUME], 11, 3, 5);
- PrintSignedNumber(sSoundTestParams[CRY_TEST_PANPOT], 11, 5, 5);
- PrintSignedNumber(sSoundTestParams[CRY_TEST_PITCH], 11, 7, 5);
- PrintSignedNumber(sSoundTestParams[CRY_TEST_LENGTH], 11, 9, 5);
- PrintSignedNumber(sSoundTestParams[CRY_TEST_RELEASE], 11, 11, 5);
- PrintSignedNumber(sSoundTestParams[CRY_TEST_PROGRESS], 11, 13, 5);
- PrintSignedNumber(sSoundTestParams[CRY_TEST_CHORUS], 11, 15, 5);
- PrintSignedNumber(sSoundTestParams[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)
-{
- u8 str1[] = _("▶");
- u8 str2[] = _(" ");
-
- MenuPrint(str2, gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var1, B_16, 1)]);
- MenuPrint(str1, gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 0)], gUnknown_083D0300[MULTI_DIM_ARR(var2, B_16, 1)]);
-}
-
-void PrintSignedNumber(int n, u16 x, u16 y, u8 digits)
-{
- int powersOfTen[6] =
- {
- 1,
- 10,
- 100,
- 1000,
- 10000,
- 100000
- };
- u8 str[8];
- s8 i;
- s8 negative;
- s8 someVar2;
-
- for (i = 0; i <= digits; i++)
- str[i] = CHAR_SPACE;
- str[digits + 1] = EOS;
-
- negative = FALSE;
- if (n < 0)
- {
- n = -n;
- negative = TRUE;
- }
-
- if (digits == 1)
- someVar2 = TRUE;
- else
- someVar2 = FALSE;
-
- for (i = digits - 1; i >= 0; i--)
- {
- s8 d = n / powersOfTen[i];
-
- if (d != 0 || someVar2 || i == 0)
- {
- if (negative && !someVar2)
- str[digits - i - 1] = CHAR_HYPHEN;
- str[digits - i] = CHAR_0 + d;
- someVar2 = TRUE;
- }
- n %= powersOfTen[i];
- }
-
- MenuPrint(str, x, y);
-}
-
-static const s8 gUnknown_083D03F8[5] = { 0x3F, 0x00, 0xC0, 0x7F, 0x80 };
-
-void sub_80BAF84(u8 taskId)
-{
- u8 seStr[] = _("SE");
- u8 panStr[] = _("PAN");
- u8 playingStr[] = _("さいせいちゆう‥");
-
- REG_DISPCNT = 0x3140;
- MenuDrawTextWindow(0, 0, 29, 19);
- MenuPrint(seStr, 3, 2);
- MenuPrint(panStr, 3, 4);
- MenuPrint(playingStr, 3, 8);
- REG_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH);
- REG_WIN0V = WIN_RANGE(0, DISPLAY_HEIGHT);
- sSoundTestParams[CRY_TEST_VOICE] = 1;
- sSoundTestParams[CRY_TEST_PANPOT] = 0;
- sSoundTestParams[CRY_TEST_CHORUS] = 0;
- sSoundTestParams[CRY_TEST_PROGRESS] = 0;
- sSoundTestParams[CRY_TEST_RELEASE] = 0;
- sub_80BB1D4();
- gTasks[taskId].func = sub_80BB038;
-}
-
-void sub_80BB038(u8 taskId)
-{
- sub_80BB1D4();
- if (sSoundTestParams[CRY_TEST_PROGRESS])
- {
- if (sSoundTestParams[CRY_TEST_RELEASE])
- {
- sSoundTestParams[CRY_TEST_RELEASE]--;
- }
- else // _080BB05C
- {
- s8 panpot = gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]];
- if (panpot != -128)
- {
- if (panpot == 127)
- {
- sSoundTestParams[CRY_TEST_CHORUS] += 2;
- if (sSoundTestParams[CRY_TEST_CHORUS] < 63)
- SE12PanpotControl(sSoundTestParams[CRY_TEST_CHORUS]);
- }
- }
- else // _080BB08C
- {
- sSoundTestParams[CRY_TEST_CHORUS] -= 2;
- if (sSoundTestParams[CRY_TEST_CHORUS] > -64)
- SE12PanpotControl(sSoundTestParams[CRY_TEST_CHORUS]);
- }
- }
- }
- // _080BB0A2
- if (gMain.newKeys & B_BUTTON)
- {
- REG_DISPCNT = 0x7140;
- REG_WIN0H = WIN_RANGE(17, 223);
- REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 29, 19);
- gTasks[taskId].func = Task_InitSoundCheckMenu;
- return;
- }
- if (gMain.newKeys & A_BUTTON) // _080BB104
- {
- s8 panpot = gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]];
- if (panpot != -128)
- {
- if (panpot == 127)
- {
- PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], -64);
- sSoundTestParams[CRY_TEST_CHORUS] = -64;
- sSoundTestParams[CRY_TEST_PROGRESS] = 1;
- sSoundTestParams[CRY_TEST_RELEASE] = 30;
- return;
- }
- }
- else // _080BB140
- {
- PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], 63);
- sSoundTestParams[CRY_TEST_CHORUS] = 63;
- sSoundTestParams[CRY_TEST_PROGRESS] = 1;
- sSoundTestParams[CRY_TEST_RELEASE] = 30;
- return;
- }
- // _080BB154
- PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], panpot);
- sSoundTestParams[CRY_TEST_PROGRESS] = 0;
- return;
- }
- if (gMain.newKeys & L_BUTTON) // _080BB15E
- {
- sSoundTestParams[CRY_TEST_PANPOT]++;
- if (sSoundTestParams[CRY_TEST_PANPOT] > 4)
- sSoundTestParams[CRY_TEST_PANPOT] = 0;
- }
- if (gMain.newKeys & R_BUTTON) // _080BB176
- {
- sSoundTestParams[CRY_TEST_PANPOT]--;
- if (sSoundTestParams[CRY_TEST_PANPOT] < 0)
- sSoundTestParams[CRY_TEST_PANPOT] = 4;
- }
- if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BB192
- {
- sSoundTestParams[CRY_TEST_VOICE]++;
- if (sSoundTestParams[CRY_TEST_VOICE] > 247)
- sSoundTestParams[CRY_TEST_VOICE] = 0;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BB1B0
- {
- sSoundTestParams[CRY_TEST_VOICE]--;
- if (sSoundTestParams[CRY_TEST_VOICE] < 0)
- sSoundTestParams[CRY_TEST_VOICE] = 247;
- }
-}
-
-void sub_80BB1D4(void)
-{
- u8 lrStr[] = _(" LR");
- u8 rlStr[] = _(" RL");
-
- PrintSignedNumber(sSoundTestParams[CRY_TEST_VOICE], 7, 2, 3);
-
- switch (gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]])
- {
- case 127:
- MenuPrint(lrStr, 7, 4);
- break;
- case -128:
- MenuPrint(rlStr, 7, 4);
- break;
- default:
- PrintSignedNumber(gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]], 7, 4, 3);
- break;
- }
- PrintSignedNumber(IsSEPlaying(), 12, 8, 1);
-}
-
-#define SOUND_LIST_BGM \
- X(BGM_STOP, "STOP") \
- X(BGM_TETSUJI, "TETSUJI") \
- X(BGM_FIELD13, "FIELD13") \
- X(BGM_KACHI22, "KACHI22") \
- X(BGM_KACHI2, "KACHI2") \
- X(BGM_KACHI3, "KACHI3") \
- X(BGM_KACHI5, "KACHI5") \
- X(BGM_PCC, "PCC") \
- X(BGM_NIBI, "NIBI") \
- X(BGM_SUIKUN, "SUIKUN") \
- X(BGM_DOORO1, "DOORO1") \
- X(BGM_DOORO_X1, "DOORO-X1") \
- X(BGM_DOORO_X3, "DOORO-X3") \
- X(BGM_MACHI_S2, "MACHI-S2") \
- X(BGM_MACHI_S4, "MACHI-S4") \
- X(BGM_GIM, "GIM") \
- X(BGM_NAMINORI, "NAMINORI") \
- X(BGM_DAN01, "DAN01") \
- X(BGM_FANFA1, "FANFA1") \
- X(BGM_ME_ASA, "ME-ASA") \
- X(BGM_ME_BACHI, "ME-BACHI") \
- X(BGM_FANFA4, "FANFA4") \
- X(BGM_FANFA5, "FANFA5") \
- X(BGM_ME_WAZA, "ME-WAZA") \
- X(BGM_BIJYUTU, "BIJYUTU") \
- X(BGM_DOORO_X4, "DOORO-X4") \
- X(BGM_FUNE_KAN, "FUNE-KAN") \
- X(BGM_ME_SHINKA, "ME-SHINKA") \
- X(BGM_SHINKA, "SHINKA") \
- X(BGM_ME_WASURE, "ME-WASURE") \
- X(BGM_SYOUJOEYE, "SYOUJOEYE") \
- X(BGM_BOYEYE, "BOYEYE") \
- X(BGM_DAN02, "DAN02") \
- X(BGM_MACHI_S3, "MACHI-S3") \
- X(BGM_ODAMAKI, "ODAMAKI") \
- X(BGM_B_TOWER, "B-TOWER") \
- X(BGM_SWIMEYE, "SWIMEYE") \
- X(BGM_DAN03, "DAN03") \
- X(BGM_ME_KINOMI, "ME-KINOMI") \
- X(BGM_ME_TAMA, "ME-TAMA") \
- X(BGM_ME_B_BIG, "ME-B-BIG") \
- X(BGM_ME_B_SMALL, "ME-B-SMALL") \
- X(BGM_ME_ZANNEN, "ME-ZANNEN") \
- X(BGM_BD_TIME, "BD-TIME") \
- X(BGM_TEST1, "TEST1") \
- X(BGM_TEST2, "TEST2") \
- X(BGM_TEST3, "TEST3") \
- X(BGM_TEST4, "TEST4") \
- X(BGM_TEST, "TEST") \
- X(BGM_GOMACHI0, "GOMACHI0") \
- X(BGM_GOTOWN, "GOTOWN") \
- X(BGM_POKECEN, "POKECEN") \
- X(BGM_NEXTROAD, "NEXTROAD") \
- X(BGM_GRANROAD, "GRANROAD") \
- X(BGM_CYCLING, "CYCLING") \
- X(BGM_FRIENDLY, "FRIENDLY") \
- X(BGM_MISHIRO, "MISHIRO") \
- X(BGM_TOZAN, "TOZAN") \
- X(BGM_GIRLEYE, "GIRLEYE") \
- X(BGM_MINAMO, "MINAMO") \
- X(BGM_ASHROAD, "ASHROAD") \
- X(BGM_EVENT0, "EVENT0") \
- X(BGM_DEEPDEEP, "DEEPDEEP") \
- X(BGM_KACHI1, "KACHI1") \
- X(BGM_TITLE3, "TITLE3") \
- X(BGM_DEMO1, "DEMO1") \
- X(BGM_GIRL_SUP, "GIRL-SUP") \
- X(BGM_HAGESHII, "HAGESHII") \
- X(BGM_KAKKOII, "KAKKOII") \
- X(BGM_KAZANBAI, "KAZANBAI") \
- X(BGM_AQA_0, "AQA-0") \
- X(BGM_TSURETEK, "TSURETEK") \
- X(BGM_BOY_SUP, "BOY-SUP") \
- X(BGM_RAINBOW, "RAINBOW") \
- X(BGM_AYASII, "AYASII") \
- X(BGM_KACHI4, "KACHI4") \
- X(BGM_ROPEWAY, "ROPEWAY") \
- X(BGM_CASINO, "CASINO") \
- X(BGM_HIGHTOWN, "HIGHTOWN") \
- X(BGM_SAFARI, "SAFARI") \
- X(BGM_C_ROAD, "C-ROAD") \
- X(BGM_AJITO, "AJITO") \
- X(BGM_M_BOAT, "M-BOAT") \
- X(BGM_M_DUNGON, "M-DUNGON") \
- X(BGM_FINECITY, "FINECITY") \
- X(BGM_MACHUPI, "MACHUPI") \
- X(BGM_P_SCHOOL, "P-SCHOOL") \
- X(BGM_DENDOU, "DENDOU") \
- X(BGM_TONEKUSA, "TONEKUSA") \
- X(BGM_MABOROSI, "MABOROSI") \
- X(BGM_CON_FAN, "CON-FAN") \
- X(BGM_CONTEST0, "CONTEST0") \
- X(BGM_MGM0, "MGM0") \
- X(BGM_T_BATTLE, "T-BATTLE") \
- X(BGM_OOAME, "OOAME") \
- X(BGM_HIDERI, "HIDERI") \
- X(BGM_RUNECITY, "RUNECITY") \
- X(BGM_CON_K, "CON-K") \
- X(BGM_EIKOU_R, "EIKOU-R") \
- X(BGM_KARAKURI, "KARAKURI") \
- X(BGM_HUTAGO, "HUTAGO") \
- X(BGM_SITENNOU, "SITENNOU") \
- X(BGM_YAMA_EYE, "YAMA-EYE") \
- X(BGM_CONLOBBY, "CONLOBBY") \
- X(BGM_INTER_V, "INTER-V") \
- X(BGM_DAIGO, "DAIGO") \
- X(BGM_THANKFOR, "THANKFOR") \
- X(BGM_END, "END") \
- X(BGM_BATTLE27, "BATTLE27") \
- X(BGM_BATTLE31, "BATTLE31") \
- X(BGM_BATTLE20, "BATTLE20") \
- X(BGM_BATTLE32, "BATTLE32") \
- X(BGM_BATTLE33, "BATTLE33") \
- X(BGM_BATTLE36, "BATTLE36") \
- X(BGM_BATTLE34, "BATTLE34") \
- X(BGM_BATTLE35, "BATTLE35") \
- X(BGM_BATTLE38, "BATTLE38") \
- X(BGM_BATTLE30, "BATTLE30")
-
-#define SOUND_LIST_SE \
- X(SE_STOP, "STOP") \
- X(SE_KAIFUKU, "KAIFUKU") \
- X(SE_PC_LOGON, "PC-LOGON") \
- X(SE_PC_OFF, "PC-OFF") \
- X(SE_PC_ON, "PC-ON") \
- X(SE_SELECT, "SELECT") \
- X(SE_WIN_OPEN, "WIN-OPEN") \
- X(SE_WALL_HIT, "WALL-HIT") \
- X(SE_DOOR, "DOOR") \
- X(SE_KAIDAN, "KAIDAN") \
- X(SE_DANSA, "DANSA") \
- X(SE_JITENSYA, "JITENSYA") \
- X(SE_KOUKA_L, "KOUKA-L") \
- X(SE_KOUKA_M, "KOUKA-M") \
- X(SE_KOUKA_H, "KOUKA-H") \
- X(SE_BOWA2, "BOWA2") \
- X(SE_POKE_DEAD, "POKE-DEAD") \
- X(SE_NIGERU, "NIGERU") \
- X(SE_JIDO_DOA, "JIDO-DOA") \
- X(SE_NAMINORI, "NAMINORI") \
- X(SE_BAN, "BAN") \
- X(SE_PIN, "PIN") \
- X(SE_BOO, "BOO") \
- X(SE_BOWA, "BOWA") \
- X(SE_JYUNI, "JYUNI") \
- X(SE_A, "A") \
- X(SE_I, "I") \
- X(SE_U, "U") \
- X(SE_E, "E") \
- X(SE_O, "O") \
- X(SE_N, "N") \
- X(SE_SEIKAI, "SEIKAI") \
- X(SE_HAZURE, "HAZURE") \
- X(SE_EXP, "EXP") \
- X(SE_JITE_PYOKO, "JITE-PYOKO") \
- X(SE_MU_PACHI, "MU-PACHI") \
- X(SE_TK_KASYA, "TK-KASYA") \
- X(SE_FU_ZAKU, "FU-ZAKU") \
- X(SE_FU_ZAKU2, "FU-ZAKU2") \
- X(SE_FU_ZUZUZU, "FU-ZUZUZU") \
- X(SE_RU_GASHIN, "RU-GASHIN") \
- X(SE_RU_GASYAN, "RU-GASYAN") \
- X(SE_RU_BARI, "RU-BARI") \
- X(SE_RU_HYUU, "RU-HYUU") \
- X(SE_KI_GASYAN, "KI-GASYAN") \
- X(SE_TK_WARPIN, "TK-WARPIN") \
- X(SE_TK_WARPOUT, "TK-WARPOUT") \
- X(SE_TU_SAA, "TU-SAA") \
- X(SE_HI_TURUN, "HI-TURUN") \
- X(SE_TRACK_MOVE, "TRACK-MOVE") \
- X(SE_TRACK_STOP, "TRACK-STOP") \
- X(SE_TRACK_HAIK, "TRACK-HAIK") \
- X(SE_TRACK_DOOR, "TRACK-DOOR") \
- X(SE_MOTER, "MOTER") \
- X(SE_CARD, "CARD") \
- X(SE_SAVE, "SAVE") \
- X(SE_KON, "KON") \
- X(SE_KON2, "KON2") \
- X(SE_KON3, "KON3") \
- X(SE_KON4, "KON4") \
- X(SE_SUIKOMU, "SUIKOMU") \
- X(SE_NAGERU, "NAGERU") \
- X(SE_TOY_C, "TOY-C") \
- X(SE_TOY_D, "TOY-D") \
- X(SE_TOY_E, "TOY-E") \
- X(SE_TOY_F, "TOY-F") \
- X(SE_TOY_G, "TOY-G") \
- X(SE_TOY_A, "TOY-A") \
- X(SE_TOY_B, "TOY-B") \
- X(SE_TOY_C1, "TOY-C1") \
- X(SE_MIZU, "MIZU") \
- X(SE_HASHI, "HASHI") \
- X(SE_DAUGI, "DAUGI") \
- X(SE_PINPON, "PINPON") \
- X(SE_FUUSEN1, "FUUSEN1") \
- X(SE_FUUSEN2, "FUUSEN2") \
- X(SE_FUUSEN3, "FUUSEN3") \
- X(SE_TOY_KABE, "TOY-KABE") \
- X(SE_TOY_DANGO, "TOY-DANGO") \
- X(SE_DOKU, "DOKU") \
- X(SE_ESUKA, "ESUKA") \
- X(SE_T_AME, "T-AME") \
- X(SE_T_AME_E, "T-AME-E") \
- X(SE_T_OOAME, "T-OOAME") \
- X(SE_T_OOAME_E, "T-OOAME-E") \
- X(SE_T_KOAME, "T-KOAME") \
- X(SE_T_KOAME_E, "T-KOAME-E") \
- X(SE_T_KAMI, "T-KAMI") \
- X(SE_T_KAMI2, "T-KAMI2") \
- X(SE_ELEBETA, "ELEBETA") \
- X(SE_HINSI, "HINSI") \
- X(SE_EXPMAX, "EXPMAX") \
- X(SE_TAMAKORO, "TAMAKORO") \
- X(SE_TAMAKORO_E, "TAMAKORO-E") \
- X(SE_BASABASA, "BASABASA") \
- X(SE_REGI, "REGI") \
- X(SE_C_GAJI, "C-GAJI") \
- X(SE_C_MAKU_U, "C-MAKU-U") \
- X(SE_C_MAKU_D, "C-MAKU-D") \
- X(SE_C_PASI, "C-PASI") \
- X(SE_C_SYU, "C-SYU") \
- X(SE_C_PIKON, "C-PIKON") \
- X(SE_REAPOKE, "REAPOKE") \
- X(SE_OP_BASYU, "OP-BASYU") \
- X(SE_BT_START, "BT-START") \
- X(SE_DENDOU, "DENDOU") \
- X(SE_JIHANKI, "JIHANKI") \
- X(SE_TAMA, "TAMA") \
- X(SE_Z_SCROLL, "Z-SCROLL") \
- X(SE_Z_PAGE, "Z-PAGE") \
- X(SE_PN_ON, "PN-ON") \
- X(SE_PN_OFF, "PN-OFF") \
- X(SE_Z_SEARCH, "Z-SEARCH") \
- X(SE_TAMAGO, "TAMAGO") \
- X(SE_TB_START, "TB-START") \
- X(SE_TB_KON, "TB-KON") \
- X(SE_TB_KARA, "TB-KARA") \
- X(SE_BIDORO, "BIDORO") \
- X(SE_W085, "W085") \
- X(SE_W085B, "W085B") \
- X(SE_W231, "W231") \
- X(SE_W171, "W171") \
- X(SE_W233, "W233") \
- X(SE_W233B, "W233B") \
- X(SE_W145, "W145") \
- X(SE_W145B, "W145B") \
- X(SE_W145C, "W145C") \
- X(SE_W240, "W240") \
- X(SE_W015, "W015") \
- X(SE_W081, "W081") \
- X(SE_W081B, "W081B") \
- X(SE_W088, "W088") \
- X(SE_W016, "W016") \
- X(SE_W016B, "W016B") \
- X(SE_W003, "W003") \
- X(SE_W104, "W104") \
- X(SE_W013, "W013") \
- X(SE_W196, "W196") \
- X(SE_W086, "W086") \
- X(SE_W004, "W004") \
- X(SE_W025, "W025") \
- X(SE_W025B, "W025B") \
- X(SE_W152, "W152") \
- X(SE_W026, "W026") \
- X(SE_W172, "W172") \
- X(SE_W172B, "W172B") \
- X(SE_W053, "W053") \
- X(SE_W007, "W007") \
- X(SE_W092, "W092") \
- X(SE_W221, "W221") \
- X(SE_W221B, "W221B") \
- X(SE_W052, "W052") \
- X(SE_W036, "W036") \
- X(SE_W059, "W059") \
- X(SE_W059B, "W059B") \
- X(SE_W010, "W010") \
- X(SE_W011, "W011") \
- X(SE_W017, "W017") \
- X(SE_W019, "W019") \
- X(SE_W028, "W028") \
- X(SE_W013B, "W013B") \
- X(SE_W044, "W044") \
- X(SE_W029, "W029") \
- X(SE_W057, "W057") \
- X(SE_W056, "W056") \
- X(SE_W250, "W250") \
- X(SE_W030, "W030") \
- X(SE_W039, "W039") \
- X(SE_W054, "W054") \
- X(SE_W077, "W077") \
- X(SE_W020, "W020") \
- X(SE_W082, "W082") \
- X(SE_W047, "W047") \
- X(SE_W195, "W195") \
- X(SE_W006, "W006") \
- X(SE_W091, "W091") \
- X(SE_W146, "W146") \
- X(SE_W120, "W120") \
- X(SE_W153, "W153") \
- X(SE_W071B, "W071B") \
- X(SE_W071, "W071") \
- X(SE_W103, "W103") \
- X(SE_W062, "W062") \
- X(SE_W062B, "W062B") \
- X(SE_W048, "W048") \
- X(SE_W187, "W187") \
- X(SE_W118, "W118") \
- X(SE_W155, "W155") \
- X(SE_W122, "W122") \
- X(SE_W060, "W060") \
- X(SE_W185, "W185") \
- X(SE_W014, "W014") \
- X(SE_W043, "W043") \
- X(SE_W207, "W207") \
- X(SE_W207B, "W207B") \
- X(SE_W215, "W215") \
- X(SE_W109, "W109") \
- X(SE_W173, "W173") \
- X(SE_W280, "W280") \
- X(SE_W202, "W202") \
- X(SE_W060B, "W060B") \
- X(SE_W076, "W076") \
- X(SE_W080, "W080") \
- X(SE_W100, "W100") \
- X(SE_W107, "W107") \
- X(SE_W166, "W166") \
- X(SE_W129, "W129") \
- X(SE_W115, "W115") \
- X(SE_W112, "W112") \
- X(SE_W197, "W197") \
- X(SE_W199, "W199") \
- X(SE_W236, "W236") \
- X(SE_W204, "W204") \
- X(SE_W268, "W268") \
- X(SE_W070, "W070") \
- X(SE_W063, "W063") \
- X(SE_W127, "W127") \
- X(SE_W179, "W179") \
- X(SE_W151, "W151") \
- X(SE_W201, "W201") \
- X(SE_W161, "W161") \
- X(SE_W161B, "W161B") \
- X(SE_W227, "W227") \
- X(SE_W227B, "W227B") \
- X(SE_W226, "W226") \
- X(SE_W208, "W208") \
- X(SE_W213, "W213") \
- X(SE_W213B, "W213B") \
- X(SE_W234, "W234") \
- X(SE_W260, "W260") \
- X(SE_W328, "W328") \
- X(SE_W320, "W320") \
- X(SE_W255, "W255") \
- X(SE_W291, "W291") \
- X(SE_W089, "W089") \
- X(SE_W239, "W239") \
- X(SE_W230, "W230") \
- X(SE_W281, "W281") \
- X(SE_W327, "W327") \
- X(SE_W287, "W287") \
- X(SE_W257, "W257") \
- X(SE_W253, "W253") \
- X(SE_W258, "W258") \
- X(SE_W322, "W322") \
- X(SE_W298, "W298") \
- X(SE_W287B, "W287B") \
- X(SE_W114, "W114") \
- X(SE_W063B, "W063B")
-
-// Create BGM list
-#define X(songId, name) static const u8 sBGMName_##songId[] = _(name);
-SOUND_LIST_BGM
-#undef X
-
-#define X(songId, name) sBGMName_##songId,
-static const u8 *const gBGMNames[] =
-{
-SOUND_LIST_BGM
-};
-#undef X
-
-// Create SE list
-#define X(songId, name) static const u8 sSEName_##songId[] = _(name);
-SOUND_LIST_SE
-#undef X
-
-#define X(songId, name) sSEName_##songId,
-static const u8 *const gSENames[] =
-{
-SOUND_LIST_SE
-};
-#undef X
-
-void Task_InitCryTest(u8 taskId)
-{
- struct CryRelatedStruct cryStruct, cryStruct2;
- u8 zero;
-
- SetUpWindowConfig(&gWindowConfig_81E6C3C);
- InitMenuWindow(&gWindowConfig_81E6CE4);
- gSoundTestCryNum = 1;
- ResetSpriteData();
- FreeAllSpritePalettes();
-
- cryStruct.unk0 = 0x2000;
- cryStruct.unk2 = 29;
- cryStruct.paletteNo = 12;
- cryStruct.yPos = 30;
- cryStruct.xPos = 4;
-
- zero = 0; // wtf?
- gUnknown_03005E98 = 0;
-
- while (sub_8119E3C(&cryStruct, 3) == FALSE)
- ;
-
- cryStruct2.unk0 = 0;
- cryStruct2.unk2 = 15;
- cryStruct2.paletteNo = 13;
- cryStruct2.xPos = 12;
- cryStruct2.yPos = 12;
-
- zero = 0; // wtf?
- gUnknown_03005E98 = 0;
-
- while (ShowPokedexCryScreen(&cryStruct2, 2) == FALSE)
- ;
-
- MenuDrawTextWindow(0, 16, 5, 19);
- PrintCryNumber();
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
- REG_BG2HOFS = 0;
- REG_BG2VOFS = 0;
- REG_BG2CNT = 0xF01;
- REG_BG3CNT = 0x1D03;
- REG_DISPCNT = 0x1d40;
- m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2);
- gTasks[taskId].func = Task_ProcessCryTestInput;
-}
-
-void Task_ProcessCryTestInput(u8 taskId)
-{
- sub_8119F88(3);
-
- if (gMain.newKeys & A_BUTTON)
- {
- sub_811A050(gSoundTestCryNum);
- }
- if (gMain.newKeys & R_BUTTON)
- {
- StopCryAndClearCrySongs();
- }
- if (gMain.newAndRepeatedKeys & DPAD_UP)
- {
- if(--gSoundTestCryNum == 0)
- gSoundTestCryNum = 384; // total species
- PrintCryNumber();
- }
- if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- if(++gSoundTestCryNum > 384)
- gSoundTestCryNum = 1;
- PrintCryNumber();
- }
- if (gMain.newKeys & B_BUTTON)
- {
- REG_DISPCNT = 0x7140;
- REG_WIN0H = WIN_RANGE(17, 223);
- REG_WIN0V = WIN_RANGE(1, 31);
- MenuZeroFillWindowRect(0, 0, 29, 19);
- gTasks[taskId].func = Task_InitSoundCheckMenu;
- DestroyCryMeterNeedleSprite();
- }
-}
-
-void PrintCryNumber(void)
-{
- PrintSignedNumber(gSoundTestCryNum, 1, 17, 3);
-}