From bc993e8e2a49aa00e7d1f825bbd8f803d4563922 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 30 Sep 2017 19:50:32 -0500 Subject: clean up sound_check_menu.c --- src/sound_check_menu.c | 2361 ++++++++++++++++++++++-------------------------- 1 file changed, 1080 insertions(+), 1281 deletions(-) (limited to 'src') diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c index d97ae6d86..438d8bd76 100644 --- a/src/sound_check_menu.c +++ b/src/sound_check_menu.c @@ -92,1062 +92,258 @@ void sub_80BB25C(u8); void sub_80BB3B4(u8); void sub_80BB494(void); -static const u8 gDebugText_SoundCheckJap[] = _("サウンドチェック"); -static const u8 gDebugText_BGM[] = _("BGM"); -static const u8 gDebugText_SE[] = _("SE "); -static const u8 gDebugText_ABDesc[] = _("A‥さいせい B‥おわり"); -static const u8 gDebugText_UpDown[] = _("L‥UP R‥DOWN"); -static const u8 gDebugText_DriverTest[] = _("R‥DRIVER-TEST"); +void sub_80BA0A8(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} -// 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 }; +void sub_80BA0C0(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + + if (gUnknown_020387B0 != 0) + { + m4aSoundMain(); + m4aSoundMain(); + m4aSoundMain(); + } +} -static const u8 gDebugText_BBack[] = _("Bぼたんで もどる"); -static const u8 gDebugText_APlay[] = _("Aぼたんで さいせい"); -static const u8 gDebugText_Voice[] = _("VOICE‥‥‥‥"); -static const u8 gDebugText_Volume[] = _("VOLUME‥‥‥"); -static const u8 gDebugText_Panpot[] = _("PANPOT‥‥‥"); -static const u8 gDebugText_Pitch[] = _("PITCH‥‥‥‥"); -static const u8 gDebugText_Length[] = _("LENGTH‥‥‥"); -static const u8 gDebugText_Release[] = _("RELEASE‥‥"); -static const u8 gDebugText_Progress[] = _("PROGRESS‥"); -static const u8 gDebugText_Chorus[] = _("CHORUS‥‥‥"); -static const u8 gDebugText_Priority[] = _("PRIORITY‥"); -static const u8 gDebugText_Playing[] = _("さいせいちゆう‥"); // 再生中 (playing) -static const u8 gDebugText_Reverse[] = _("はんてん‥‥‥‥"); // 反転 (reverse) -static const u8 gDebugText_Stereo[] = _("すてれお‥‥‥‥"); // stereo - -// 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. -static const int gUnknown_083D039C[16] = +// unused +void CB2_StartSoundCheckMenu(void) { - 0, 387, - 0, 127, - -127, 127, - -128, 32639, - 0, 65535, - 0, 255, - 0, 65535, - -64, 63 -}; + u8 taskId; -static const u8 gUnknown_083D03DC[] = _("▶"); -static const u8 gUnknown_083D03DE[] = _(" "); + 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(sub_80BA0C0); + SetMainCallback2(sub_80BA0A8); + REG_DISPCNT = 0x7140; + taskId = CreateTask(sub_80BA258, 0); + gTasks[taskId].WINDOW_SELECTED = BGM_WINDOW; + gTasks[taskId].BGM_INDEX = 0; + gTasks[taskId].SE_INDEX = 0; + gTasks[taskId].UNK_DATA3 = 0; + gUnknown_020387B0 = 0; + gTasks[taskId].UNK_DATA3 = 0; // why? + m4aSoundInit(); +} -// why not just use Powers of ten from string_util? -static const int gUnknown_083D03E0[6] = +// Task_InitSoundCheckMenu +void sub_80BA258(u8 taskId) { - 1, - 10, - 100, - 1000, - 10000, - 100000 -}; + 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(0x2, 0, 0x1B, 0x3); + MenuDrawTextWindow(0x2, 0x5, 0x1B, 0xA); + MenuDrawTextWindow(0x2, 0xC, 0x1B, 0x11); + 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); + } +} -static const s8 gUnknown_083D03F8[5] = { 0x3F, 0x00, 0xC0, 0x7F, 0x80 }; +// 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 }; -static const u8 gOtherText_SE[] = _("SE"); -static const u8 gOtherText_Pan[] = _("PAN"); -static const u8 gOtherText_LR[] = _(" LR"); -static const u8 gOtherText_RL[] = _(" RL"); +extern const u8 *const gBGMNames[]; +extern const u8 *const gSENames[]; -// bgm names -static const u8 BGMName_STOP[] = _("STOP"); -static const u8 BGMName_TETSUJI[] = _("TETSUJI"); -static const u8 BGMName_FIELD13[] = _("FIELD13"); -static const u8 BGMName_KACHI22[] = _("KACHI22"); -static const u8 BGMName_KACHI2[] = _("KACHI2"); -static const u8 BGMName_KACHI3[] = _("KACHI3"); -static const u8 BGMName_KACHI5[] = _("KACHI5"); -static const u8 BGMName_PCC[] = _("PCC"); -static const u8 BGMName_NIBI[] = _("NIBI"); -static const u8 BGMName_SUIKUN[] = _("SUIKUN"); -static const u8 BGMName_DOORO1[] = _("DOORO1"); -static const u8 BGMName_DOORO_X1[] = _("DOORO-X1"); -static const u8 BGMName_DOORO_X3[] = _("DOORO-X3"); -static const u8 BGMName_MACHI_S2[] = _("MACHI-S2"); -static const u8 BGMName_MACHI_S4[] = _("MACHI-S4"); -static const u8 BGMName_GIM[] = _("GIM"); -static const u8 BGMName_NAMINORI[] = _("NAMINORI"); -static const u8 BGMName_DAN01[] = _("DAN01"); -static const u8 BGMName_FANFA1[] = _("FANFA1"); -static const u8 BGMName_ME_ASA[] = _("ME-ASA"); -static const u8 BGMName_ME_BACHI[] = _("ME-BACHI"); -static const u8 BGMName_FANFA4[] = _("FANFA4"); -static const u8 BGMName_FANFA5[] = _("FANFA5"); -static const u8 BGMName_ME_WAZA[] = _("ME-WAZA"); -static const u8 BGMName_BIJYUTU[] = _("BIJYUTU"); -static const u8 BGMName_DOORO_X4[] = _("DOORO-X4"); -static const u8 BGMName_FUNE_KAN[] = _("FUNE-KAN"); -static const u8 BGMName_ME_SHINKA[] = _("ME-SHINKA"); -static const u8 BGMName_SHINKA[] = _("SHINKA"); -static const u8 BGMName_ME_WASURE[] = _("ME-WASURE"); -static const u8 BGMName_SYOUJOEYE[] = _("SYOUJOEYE"); -static const u8 BGMName_BOYEYE[] = _("BOYEYE"); -static const u8 BGMName_DAN02[] = _("DAN02"); -static const u8 BGMName_MACHI_S3[] = _("MACHI-S3"); -static const u8 BGMName_ODAMAKI[] = _("ODAMAKI"); -static const u8 BGMName_B_TOWER[] = _("B-TOWER"); -static const u8 BGMName_SWIMEYE[] = _("SWIMEYE"); -static const u8 BGMName_DAN03[] = _("DAN03"); -static const u8 BGMName_ME_KINOMI[] = _("ME-KINOMI"); -static const u8 BGMName_ME_TAMA[] = _("ME-TAMA"); -static const u8 BGMName_ME_B_BIG[] = _("ME-B-BIG"); -static const u8 BGMName_ME_B_SMALL[] = _("ME-B-SMALL"); -static const u8 BGMName_ME_ZANNEN[] = _("ME-ZANNEN"); -static const u8 BGMName_BD_TIME[] = _("BD-TIME"); -static const u8 BGMName_TEST1[] = _("TEST1"); -static const u8 BGMName_TEST2[] = _("TEST2"); -static const u8 BGMName_TEST3[] = _("TEST3"); -static const u8 BGMName_TEST4[] = _("TEST4"); -static const u8 BGMName_TEST[] = _("TEST"); -static const u8 BGMName_GOMACHI0[] = _("GOMACHI0"); -static const u8 BGMName_GOTOWN[] = _("GOTOWN"); -static const u8 BGMName_POKECEN[] = _("POKECEN"); -static const u8 BGMName_NEXTROAD[] = _("NEXTROAD"); -static const u8 BGMName_GRANROAD[] = _("GRANROAD"); -static const u8 BGMName_CYCLING[] = _("CYCLING"); -static const u8 BGMName_FRIENDLY[] = _("FRIENDLY"); -static const u8 BGMName_MISHIRO[] = _("MISHIRO"); -static const u8 BGMName_TOZAN[] = _("TOZAN"); -static const u8 BGMName_GIRLEYE[] = _("GIRLEYE"); -static const u8 BGMName_MINAMO[] = _("MINAMO"); -static const u8 BGMName_ASHROAD[] = _("ASHROAD"); -static const u8 BGMName_EVENT0[] = _("EVENT0"); -static const u8 BGMName_DEEPDEEP[] = _("DEEPDEEP"); -static const u8 BGMName_KACHI1[] = _("KACHI1"); -static const u8 BGMName_TITLE3[] = _("TITLE3"); -static const u8 BGMName_DEMO1[] = _("DEMO1"); -static const u8 BGMName_GIRL_SUP[] = _("GIRL-SUP"); -static const u8 BGMName_HAGESHII[] = _("HAGESHII"); -static const u8 BGMName_KAKKOII[] = _("KAKKOII"); -static const u8 BGMName_KAZANBAI[] = _("KAZANBAI"); -static const u8 BGMName_AQA_0[] = _("AQA-0"); -static const u8 BGMName_TSURETEK[] = _("TSURETEK"); -static const u8 BGMName_BOY_SUP[] = _("BOY-SUP"); -static const u8 BGMName_RAINBOW[] = _("RAINBOW"); -static const u8 BGMName_AYASII[] = _("AYASII"); -static const u8 BGMName_KACHI4[] = _("KACHI4"); -static const u8 BGMName_ROPEWAY[] = _("ROPEWAY"); -static const u8 BGMName_CASINO[] = _("CASINO"); -static const u8 BGMName_HIGHTOWN[] = _("HIGHTOWN"); -static const u8 BGMName_SAFARI[] = _("SAFARI"); -static const u8 BGMName_C_ROAD[] = _("C-ROAD"); -static const u8 BGMName_AJITO[] = _("AJITO"); -static const u8 BGMName_M_BOAT[] = _("M-BOAT"); -static const u8 BGMName_M_DUNGON[] = _("M-DUNGON"); -static const u8 BGMName_FINECITY[] = _("FINECITY"); -static const u8 BGMName_MACHUPI[] = _("MACHUPI"); -static const u8 BGMName_P_SCHOOL[] = _("P-SCHOOL"); -static const u8 BGMName_DENDOU[] = _("DENDOU"); -static const u8 BGMName_TONEKUSA[] = _("TONEKUSA"); -static const u8 BGMName_MABOROSI[] = _("MABOROSI"); -static const u8 BGMName_CON_FAN[] = _("CON-FAN"); -static const u8 BGMName_CONTEST0[] = _("CONTEST0"); -static const u8 BGMName_MGM0[] = _("MGM0"); -static const u8 BGMName_T_BATTLE[] = _("T-BATTLE"); -static const u8 BGMName_OOAME[] = _("OOAME"); -static const u8 BGMName_HIDERI[] = _("HIDERI"); -static const u8 BGMName_RUNECITY[] = _("RUNECITY"); -static const u8 BGMName_CON_K[] = _("CON-K"); -static const u8 BGMName_EIKOU_R[] = _("EIKOU-R"); -static const u8 BGMName_KARAKURI[] = _("KARAKURI"); -static const u8 BGMName_HUTAGO[] = _("HUTAGO"); -static const u8 BGMName_SITENNOU[] = _("SITENNOU"); -static const u8 BGMName_YAMA_EYE[] = _("YAMA-EYE"); -static const u8 BGMName_CONLOBBY[] = _("CONLOBBY"); -static const u8 BGMName_INTER_V[] = _("INTER-V"); -static const u8 BGMName_DAIGO[] = _("DAIGO"); -static const u8 BGMName_THANKFOR[] = _("THANKFOR"); -static const u8 BGMName_END[] = _("END"); -static const u8 BGMName_BATTLE27[] = _("BATTLE27"); -static const u8 BGMName_BATTLE31[] = _("BATTLE31"); -static const u8 BGMName_BATTLE20[] = _("BATTLE20"); -static const u8 BGMName_BATTLE32[] = _("BATTLE32"); -static const u8 BGMName_BATTLE33[] = _("BATTLE33"); -static const u8 BGMName_BATTLE36[] = _("BATTLE36"); -static const u8 BGMName_BATTLE34[] = _("BATTLE34"); -static const u8 BGMName_BATTLE35[] = _("BATTLE35"); -static const u8 BGMName_BATTLE38[] = _("BATTLE38"); -static const u8 BGMName_BATTLE30[] = _("BATTLE30"); +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; +} -static const u8 *const gBGMNames[] = +#ifdef NONMATCHING +bool8 sub_80BA400(u8 taskId) // Task_ProcessSoundCheckMenuInput { - BGMName_STOP, - BGMName_TETSUJI, - BGMName_FIELD13, - BGMName_KACHI22, - BGMName_KACHI2, - BGMName_KACHI3, - BGMName_KACHI5, - BGMName_PCC, - BGMName_NIBI, - BGMName_SUIKUN, - BGMName_DOORO1, - BGMName_DOORO_X1, - BGMName_DOORO_X3, - BGMName_MACHI_S2, - BGMName_MACHI_S4, - BGMName_GIM, - BGMName_NAMINORI, - BGMName_DAN01, - BGMName_FANFA1, - BGMName_ME_ASA, - BGMName_ME_BACHI, - BGMName_FANFA4, - BGMName_FANFA5, - BGMName_ME_WAZA, - BGMName_BIJYUTU, - BGMName_DOORO_X4, - BGMName_FUNE_KAN, - BGMName_ME_SHINKA, - BGMName_SHINKA, - BGMName_ME_WASURE, - BGMName_SYOUJOEYE, - BGMName_BOYEYE, - BGMName_DAN02, - BGMName_MACHI_S3, - BGMName_ODAMAKI, - BGMName_B_TOWER, - BGMName_SWIMEYE, - BGMName_DAN03, - BGMName_ME_KINOMI, - BGMName_ME_TAMA, - BGMName_ME_B_BIG, - BGMName_ME_B_SMALL, - BGMName_ME_ZANNEN, - BGMName_BD_TIME, - BGMName_TEST1, - BGMName_TEST2, - BGMName_TEST3, - BGMName_TEST4, - BGMName_TEST, - BGMName_GOMACHI0, - BGMName_GOTOWN, - BGMName_POKECEN, - BGMName_NEXTROAD, - BGMName_GRANROAD, - BGMName_CYCLING, - BGMName_FRIENDLY, - BGMName_MISHIRO, - BGMName_TOZAN, - BGMName_GIRLEYE, - BGMName_MINAMO, - BGMName_ASHROAD, - BGMName_EVENT0, - BGMName_DEEPDEEP, - BGMName_KACHI1, - BGMName_TITLE3, - BGMName_DEMO1, - BGMName_GIRL_SUP, - BGMName_HAGESHII, - BGMName_KAKKOII, - BGMName_KAZANBAI, - BGMName_AQA_0, - BGMName_TSURETEK, - BGMName_BOY_SUP, - BGMName_RAINBOW, - BGMName_AYASII, - BGMName_KACHI4, - BGMName_ROPEWAY, - BGMName_CASINO, - BGMName_HIGHTOWN, - BGMName_SAFARI, - BGMName_C_ROAD, - BGMName_AJITO, - BGMName_M_BOAT, - BGMName_M_DUNGON, - BGMName_FINECITY, - BGMName_MACHUPI, - BGMName_P_SCHOOL, - BGMName_DENDOU, - BGMName_TONEKUSA, - BGMName_MABOROSI, - BGMName_CON_FAN, - BGMName_CONTEST0, - BGMName_MGM0, - BGMName_T_BATTLE, - BGMName_OOAME, - BGMName_HIDERI, - BGMName_RUNECITY, - BGMName_CON_K, - BGMName_EIKOU_R, - BGMName_KARAKURI, - BGMName_HUTAGO, - BGMName_SITENNOU, - BGMName_YAMA_EYE, - BGMName_CONLOBBY, - BGMName_INTER_V, - BGMName_DAIGO, - BGMName_THANKFOR, - BGMName_END, - BGMName_BATTLE27, - BGMName_BATTLE31, - BGMName_BATTLE20, - BGMName_BATTLE32, - BGMName_BATTLE33, - BGMName_BATTLE36, - BGMName_BATTLE34, - BGMName_BATTLE35, - BGMName_BATTLE38, - BGMName_BATTLE30 -}; - -// SE names -static const u8 SEName_STOP[] = _("STOP"); -static const u8 SEName_KAIFUKU[] = _("KAIFUKU"); -static const u8 SEName_PC_LOGON[] = _("PC-LOGON"); -static const u8 SEName_PC_OFF[] = _("PC-OFF"); -static const u8 SEName_PC_ON[] = _("PC-ON"); -static const u8 SEName_SELECT[] = _("SELECT"); -static const u8 SEName_WIN_OPEN[] = _("WIN-OPEN"); -static const u8 SEName_WALL_HIT[] = _("WALL-HIT"); -static const u8 SEName_DOOR[] = _("DOOR"); -static const u8 SEName_KAIDAN[] = _("KAIDAN"); -static const u8 SEName_DANSA[] = _("DANSA"); -static const u8 SEName_JITENSYA[] = _("JITENSYA"); -static const u8 SEName_KOUKA_L[] = _("KOUKA-L"); -static const u8 SEName_KOUKA_M[] = _("KOUKA-M"); -static const u8 SEName_KOUKA_H[] = _("KOUKA-H"); -static const u8 SEName_BOWA2[] = _("BOWA2"); -static const u8 SEName_POKE_DEAD[] = _("POKE-DEAD"); -static const u8 SEName_NIGERU[] = _("NIGERU"); -static const u8 SEName_JIDO_DOA[] = _("JIDO-DOA"); -static const u8 SEName_NAMINORI[] = _("NAMINORI"); -static const u8 SEName_BAN[] = _("BAN"); -static const u8 SEName_PIN[] = _("PIN"); -static const u8 SEName_BOO[] = _("BOO"); -static const u8 SEName_BOWA[] = _("BOWA"); -static const u8 SEName_JYUNI[] = _("JYUNI"); -static const u8 SEName_A[] = _("A"); -static const u8 SEName_I[] = _("I"); -static const u8 SEName_U[] = _("U"); -static const u8 SEName_E[] = _("E"); -static const u8 SEName_O[] = _("O"); -static const u8 SEName_N[] = _("N"); -static const u8 SEName_SEIKAI[] = _("SEIKAI"); -static const u8 SEName_HAZURE[] = _("HAZURE"); -static const u8 SEName_EXP[] = _("EXP"); -static const u8 SEName_JITE_PYOKO[] = _("JITE-PYOKO"); -static const u8 SEName_MU_PACHI[] = _("MU-PACHI"); -static const u8 SEName_TK_KASYA[] = _("TK-KASYA"); -static const u8 SEName_FU_ZAKU[] = _("FU-ZAKU"); -static const u8 SEName_FU_ZAKU2[] = _("FU-ZAKU2"); -static const u8 SEName_FU_ZUZUZU[] = _("FU-ZUZUZU"); -static const u8 SEName_RU_GASHIN[] = _("RU-GASHIN"); -static const u8 SEName_RU_GASYAN[] = _("RU-GASYAN"); -static const u8 SEName_RU_BARI[] = _("RU-BARI"); -static const u8 SEName_RU_HYUU[] = _("RU-HYUU"); -static const u8 SEName_KI_GASYAN[] = _("KI-GASYAN"); -static const u8 SEName_TK_WARPIN[] = _("TK-WARPIN"); -static const u8 SEName_TK_WARPOUT[] = _("TK-WARPOUT"); -static const u8 SEName_TU_SAA[] = _("TU-SAA"); -static const u8 SEName_HI_TURUN[] = _("HI-TURUN"); -static const u8 SEName_TRACK_MOVE[] = _("TRACK-MOVE"); -static const u8 SEName_TRACK_STOP[] = _("TRACK-STOP"); -static const u8 SEName_TRACK_HAIK[] = _("TRACK-HAIK"); -static const u8 SEName_TRACK_DOOR[] = _("TRACK-DOOR"); -static const u8 SEName_MOTER[] = _("MOTER"); -static const u8 SEName_CARD[] = _("CARD"); -static const u8 SEName_SAVE[] = _("SAVE"); -static const u8 SEName_KON[] = _("KON"); -static const u8 SEName_KON2[] = _("KON2"); -static const u8 SEName_KON3[] = _("KON3"); -static const u8 SEName_KON4[] = _("KON4"); -static const u8 SEName_SUIKOMU[] = _("SUIKOMU"); -static const u8 SEName_NAGERU[] = _("NAGERU"); -static const u8 SEName_TOY_C[] = _("TOY-C"); -static const u8 SEName_TOY_D[] = _("TOY-D"); -static const u8 SEName_TOY_E[] = _("TOY-E"); -static const u8 SEName_TOY_F[] = _("TOY-F"); -static const u8 SEName_TOY_G[] = _("TOY-G"); -static const u8 SEName_TOY_A[] = _("TOY-A"); -static const u8 SEName_TOY_B[] = _("TOY-B"); -static const u8 SEName_TOY_C1[] = _("TOY-C1"); -static const u8 SEName_MIZU[] = _("MIZU"); -static const u8 SEName_HASHI[] = _("HASHI"); -static const u8 SEName_DAUGI[] = _("DAUGI"); -static const u8 SEName_PINPON[] = _("PINPON"); -static const u8 SEName_FUUSEN1[] = _("FUUSEN1"); -static const u8 SEName_FUUSEN2[] = _("FUUSEN2"); -static const u8 SEName_FUUSEN3[] = _("FUUSEN3"); -static const u8 SEName_TOY_KABE[] = _("TOY-KABE"); -static const u8 SEName_TOY_DANGO[] = _("TOY-DANGO"); -static const u8 SEName_DOKU[] = _("DOKU"); -static const u8 SEName_ESUKA[] = _("ESUKA"); -static const u8 SEName_T_AME[] = _("T-AME"); -static const u8 SEName_T_AME_E[] = _("T-AME-E"); -static const u8 SEName_T_OOAME[] = _("T-OOAME"); -static const u8 SEName_T_OOAME_E[] = _("T-OOAME-E"); -static const u8 SEName_T_KOAME[] = _("T-KOAME"); -static const u8 SEName_T_KOAME_E[] = _("T-KOAME-E"); -static const u8 SEName_T_KAMI[] = _("T-KAMI"); -static const u8 SEName_T_KAMI2[] = _("T-KAMI2"); -static const u8 SEName_ELEBETA[] = _("ELEBETA"); -static const u8 SEName_HINSI[] = _("HINSI"); -static const u8 SEName_EXPMAX[] = _("EXPMAX"); -static const u8 SEName_TAMAKORO[] = _("TAMAKORO"); -static const u8 SEName_TAMAKORO_E[] = _("TAMAKORO-E"); -static const u8 SEName_BASABASA[] = _("BASABASA"); -static const u8 SEName_REGI[] = _("REGI"); -static const u8 SEName_C_GAJI[] = _("C-GAJI"); -static const u8 SEName_C_MAKU_U[] = _("C-MAKU-U"); -static const u8 SEName_C_MAKU_D[] = _("C-MAKU-D"); -static const u8 SEName_C_PASI[] = _("C-PASI"); -static const u8 SEName_C_SYU[] = _("C-SYU"); -static const u8 SEName_C_PIKON[] = _("C-PIKON"); -static const u8 SEName_REAPOKE[] = _("REAPOKE"); -static const u8 SEName_OP_BASYU[] = _("OP-BASYU"); -static const u8 SEName_BT_START[] = _("BT-START"); -static const u8 SEName_DENDOU[] = _("DENDOU"); -static const u8 SEName_JIHANKI[] = _("JIHANKI"); -static const u8 SEName_TAMA[] = _("TAMA"); -static const u8 SEName_Z_SCROLL[] = _("Z-SCROLL"); -static const u8 SEName_Z_PAGE[] = _("Z-PAGE"); -static const u8 SEName_PN_ON[] = _("PN-ON"); -static const u8 SEName_PN_OFF[] = _("PN-OFF"); -static const u8 SEName_Z_SEARCH[] = _("Z-SEARCH"); -static const u8 SEName_TAMAGO[] = _("TAMAGO"); -static const u8 SEName_TB_START[] = _("TB-START"); -static const u8 SEName_TB_KON[] = _("TB-KON"); -static const u8 SEName_TB_KARA[] = _("TB-KARA"); -static const u8 SEName_BIDORO[] = _("BIDORO"); -static const u8 SEName_W085[] = _("W085"); -static const u8 SEName_W085B[] = _("W085B"); -static const u8 SEName_W231[] = _("W231"); -static const u8 SEName_W171[] = _("W171"); -static const u8 SEName_W233[] = _("W233"); -static const u8 SEName_W233B[] = _("W233B"); -static const u8 SEName_W145[] = _("W145"); -static const u8 SEName_W145B[] = _("W145B"); -static const u8 SEName_W145C[] = _("W145C"); -static const u8 SEName_W240[] = _("W240"); -static const u8 SEName_W015[] = _("W015"); -static const u8 SEName_W081[] = _("W081"); -static const u8 SEName_W081B[] = _("W081B"); -static const u8 SEName_W088[] = _("W088"); -static const u8 SEName_W016[] = _("W016"); -static const u8 SEName_W016B[] = _("W016B"); -static const u8 SEName_W003[] = _("W003"); -static const u8 SEName_W104[] = _("W104"); -static const u8 SEName_W013[] = _("W013"); -static const u8 SEName_W196[] = _("W196"); -static const u8 SEName_W086[] = _("W086"); -static const u8 SEName_W004[] = _("W004"); -static const u8 SEName_W025[] = _("W025"); -static const u8 SEName_W025B[] = _("W025B"); -static const u8 SEName_W152[] = _("W152"); -static const u8 SEName_W026[] = _("W026"); -static const u8 SEName_W172[] = _("W172"); -static const u8 SEName_W172B[] = _("W172B"); -static const u8 SEName_W053[] = _("W053"); -static const u8 SEName_W007[] = _("W007"); -static const u8 SEName_W092[] = _("W092"); -static const u8 SEName_W221[] = _("W221"); -static const u8 SEName_W221B[] = _("W221B"); -static const u8 SEName_W052[] = _("W052"); -static const u8 SEName_W036[] = _("W036"); -static const u8 SEName_W059[] = _("W059"); -static const u8 SEName_W059B[] = _("W059B"); -static const u8 SEName_W010[] = _("W010"); -static const u8 SEName_W011[] = _("W011"); -static const u8 SEName_W017[] = _("W017"); -static const u8 SEName_W019[] = _("W019"); -static const u8 SEName_W028[] = _("W028"); -static const u8 SEName_W013B[] = _("W013B"); -static const u8 SEName_W044[] = _("W044"); -static const u8 SEName_W029[] = _("W029"); -static const u8 SEName_W057[] = _("W057"); -static const u8 SEName_W056[] = _("W056"); -static const u8 SEName_W250[] = _("W250"); -static const u8 SEName_W030[] = _("W030"); -static const u8 SEName_W039[] = _("W039"); -static const u8 SEName_W054[] = _("W054"); -static const u8 SEName_W077[] = _("W077"); -static const u8 SEName_W020[] = _("W020"); -static const u8 SEName_W082[] = _("W082"); -static const u8 SEName_W047[] = _("W047"); -static const u8 SEName_W195[] = _("W195"); -static const u8 SEName_W006[] = _("W006"); -static const u8 SEName_W091[] = _("W091"); -static const u8 SEName_W146[] = _("W146"); -static const u8 SEName_W120[] = _("W120"); -static const u8 SEName_W153[] = _("W153"); -static const u8 SEName_W071B[] = _("W071B"); -static const u8 SEName_W071[] = _("W071"); -static const u8 SEName_W103[] = _("W103"); -static const u8 SEName_W062[] = _("W062"); -static const u8 SEName_W062B[] = _("W062B"); -static const u8 SEName_W048[] = _("W048"); -static const u8 SEName_W187[] = _("W187"); -static const u8 SEName_W118[] = _("W118"); -static const u8 SEName_W155[] = _("W155"); -static const u8 SEName_W122[] = _("W122"); -static const u8 SEName_W060[] = _("W060"); -static const u8 SEName_W185[] = _("W185"); -static const u8 SEName_W014[] = _("W014"); -static const u8 SEName_W043[] = _("W043"); -static const u8 SEName_W207[] = _("W207"); -static const u8 SEName_W207B[] = _("W207B"); -static const u8 SEName_W215[] = _("W215"); -static const u8 SEName_W109[] = _("W109"); -static const u8 SEName_W173[] = _("W173"); -static const u8 SEName_W280[] = _("W280"); -static const u8 SEName_W202[] = _("W202"); -static const u8 SEName_W060B[] = _("W060B"); -static const u8 SEName_W076[] = _("W076"); -static const u8 SEName_W080[] = _("W080"); -static const u8 SEName_W100[] = _("W100"); -static const u8 SEName_W107[] = _("W107"); -static const u8 SEName_W166[] = _("W166"); -static const u8 SEName_W129[] = _("W129"); -static const u8 SEName_W115[] = _("W115"); -static const u8 SEName_W112[] = _("W112"); -static const u8 SEName_W197[] = _("W197"); -static const u8 SEName_W199[] = _("W199"); -static const u8 SEName_W236[] = _("W236"); -static const u8 SEName_W204[] = _("W204"); -static const u8 SEName_W268[] = _("W268"); -static const u8 SEName_W070[] = _("W070"); -static const u8 SEName_W063[] = _("W063"); -static const u8 SEName_W127[] = _("W127"); -static const u8 SEName_W179[] = _("W179"); -static const u8 SEName_W151[] = _("W151"); -static const u8 SEName_W201[] = _("W201"); -static const u8 SEName_W161[] = _("W161"); -static const u8 SEName_W161B[] = _("W161B"); -static const u8 SEName_W227[] = _("W227"); -static const u8 SEName_W227B[] = _("W227B"); -static const u8 SEName_W226[] = _("W226"); -static const u8 SEName_W208[] = _("W208"); -static const u8 SEName_W213[] = _("W213"); -static const u8 SEName_W213B[] = _("W213B"); -static const u8 SEName_W234[] = _("W234"); -static const u8 SEName_W260[] = _("W260"); -static const u8 SEName_W328[] = _("W328"); -static const u8 SEName_W320[] = _("W320"); -static const u8 SEName_W255[] = _("W255"); -static const u8 SEName_W291[] = _("W291"); -static const u8 SEName_W089[] = _("W089"); -static const u8 SEName_W239[] = _("W239"); -static const u8 SEName_W230[] = _("W230"); -static const u8 SEName_W281[] = _("W281"); -static const u8 SEName_W327[] = _("W327"); -static const u8 SEName_W287[] = _("W287"); -static const u8 SEName_W257[] = _("W257"); -static const u8 SEName_W253[] = _("W253"); -static const u8 SEName_W258[] = _("W258"); -static const u8 SEName_W322[] = _("W322"); -static const u8 SEName_W298[] = _("W298"); -static const u8 SEName_W287B[] = _("W287B"); -static const u8 SEName_W114[] = _("W114"); -static const u8 SEName_W063B[] = _("W063B"); - -static const u8 *const gSENames[] = -{ - SEName_STOP, - SEName_KAIFUKU, - SEName_PC_LOGON, - SEName_PC_OFF, - SEName_PC_ON, - SEName_SELECT, - SEName_WIN_OPEN, - SEName_WALL_HIT, - SEName_DOOR, - SEName_KAIDAN, - SEName_DANSA, - SEName_JITENSYA, - SEName_KOUKA_L, - SEName_KOUKA_M, - SEName_KOUKA_H, - SEName_BOWA2, - SEName_POKE_DEAD, - SEName_NIGERU, - SEName_JIDO_DOA, - SEName_NAMINORI, - SEName_BAN, - SEName_PIN, - SEName_BOO, - SEName_BOWA, - SEName_JYUNI, - SEName_A, - SEName_I, - SEName_U, - SEName_E, - SEName_O, - SEName_N, - SEName_SEIKAI, - SEName_HAZURE, - SEName_EXP, - SEName_JITE_PYOKO, - SEName_MU_PACHI, - SEName_TK_KASYA, - SEName_FU_ZAKU, - SEName_FU_ZAKU2, - SEName_FU_ZUZUZU, - SEName_RU_GASHIN, - SEName_RU_GASYAN, - SEName_RU_BARI, - SEName_RU_HYUU, - SEName_KI_GASYAN, - SEName_TK_WARPIN, - SEName_TK_WARPOUT, - SEName_TU_SAA, - SEName_HI_TURUN, - SEName_TRACK_MOVE, - SEName_TRACK_STOP, - SEName_TRACK_HAIK, - SEName_TRACK_DOOR, - SEName_MOTER, - SEName_CARD, - SEName_SAVE, - SEName_KON, - SEName_KON2, - SEName_KON3, - SEName_KON4, - SEName_SUIKOMU, - SEName_NAGERU, - SEName_TOY_C, - SEName_TOY_D, - SEName_TOY_E, - SEName_TOY_F, - SEName_TOY_G, - SEName_TOY_A, - SEName_TOY_B, - SEName_TOY_C1, - SEName_MIZU, - SEName_HASHI, - SEName_DAUGI, - SEName_PINPON, - SEName_FUUSEN1, - SEName_FUUSEN2, - SEName_FUUSEN3, - SEName_TOY_KABE, - SEName_TOY_DANGO, - SEName_DOKU, - SEName_ESUKA, - SEName_T_AME, - SEName_T_AME_E, - SEName_T_OOAME, - SEName_T_OOAME_E, - SEName_T_KOAME, - SEName_T_KOAME_E, - SEName_T_KAMI, - SEName_T_KAMI2, - SEName_ELEBETA, - SEName_HINSI, - SEName_EXPMAX, - SEName_TAMAKORO, - SEName_TAMAKORO_E, - SEName_BASABASA, - SEName_REGI, - SEName_C_GAJI, - SEName_C_MAKU_U, - SEName_C_MAKU_D, - SEName_C_PASI, - SEName_C_SYU, - SEName_C_PIKON, - SEName_REAPOKE, - SEName_OP_BASYU, - SEName_BT_START, - SEName_DENDOU, - SEName_JIHANKI, - SEName_TAMA, - SEName_Z_SCROLL, - SEName_Z_PAGE, - SEName_PN_ON, - SEName_PN_OFF, - SEName_Z_SEARCH, - SEName_TAMAGO, - SEName_TB_START, - SEName_TB_KON, - SEName_TB_KARA, - SEName_BIDORO, - SEName_W085, - SEName_W085B, - SEName_W231, - SEName_W171, - SEName_W233, - SEName_W233B, - SEName_W145, - SEName_W145B, - SEName_W145C, - SEName_W240, - SEName_W015, - SEName_W081, - SEName_W081B, - SEName_W088, - SEName_W016, - SEName_W016B, - SEName_W003, - SEName_W104, - SEName_W013, - SEName_W196, - SEName_W086, - SEName_W004, - SEName_W025, - SEName_W025B, - SEName_W152, - SEName_W026, - SEName_W172, - SEName_W172B, - SEName_W053, - SEName_W007, - SEName_W092, - SEName_W221, - SEName_W221B, - SEName_W052, - SEName_W036, - SEName_W059, - SEName_W059B, - SEName_W010, - SEName_W011, - SEName_W017, - SEName_W019, - SEName_W028, - SEName_W013B, - SEName_W044, - SEName_W029, - SEName_W057, - SEName_W056, - SEName_W250, - SEName_W030, - SEName_W039, - SEName_W054, - SEName_W077, - SEName_W020, - SEName_W082, - SEName_W047, - SEName_W195, - SEName_W006, - SEName_W091, - SEName_W146, - SEName_W120, - SEName_W153, - SEName_W071B, - SEName_W071, - SEName_W103, - SEName_W062, - SEName_W062B, - SEName_W048, - SEName_W187, - SEName_W118, - SEName_W155, - SEName_W122, - SEName_W060, - SEName_W185, - SEName_W014, - SEName_W043, - SEName_W207, - SEName_W207B, - SEName_W215, - SEName_W109, - SEName_W173, - SEName_W280, - SEName_W202, - SEName_W060B, - SEName_W076, - SEName_W080, - SEName_W100, - SEName_W107, - SEName_W166, - SEName_W129, - SEName_W115, - SEName_W112, - SEName_W197, - SEName_W199, - SEName_W236, - SEName_W204, - SEName_W268, - SEName_W070, - SEName_W063, - SEName_W127, - SEName_W179, - SEName_W151, - SEName_W201, - SEName_W161, - SEName_W161B, - SEName_W227, - SEName_W227B, - SEName_W226, - SEName_W208, - SEName_W213, - SEName_W213B, - SEName_W234, - SEName_W260, - SEName_W328, - SEName_W320, - SEName_W255, - SEName_W291, - SEName_W089, - SEName_W239, - SEName_W230, - SEName_W281, - SEName_W327, - SEName_W287, - SEName_W257, - SEName_W253, - SEName_W258, - SEName_W322, - SEName_W298, - SEName_W287B, - SEName_W114, - SEName_W063B -}; - -void sub_80BA0A8(void) -{ - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); -} - -void sub_80BA0C0(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(sub_80BA0C0); - SetMainCallback2(sub_80BA0A8); - REG_DISPCNT = 0x7140; - taskId = CreateTask(sub_80BA258, 0); - TASK.WINDOW_SELECTED = BGM_WINDOW; - TASK.BGM_INDEX = 0; - TASK.SE_INDEX = 0; - TASK.UNK_DATA3 = 0; - gUnknown_020387B0 = 0; - TASK.UNK_DATA3 = 0; // why? - m4aSoundInit(); -} - -// Task_InitSoundCheckMenu -void sub_80BA258(u8 taskId) -{ - u8 soundcheckStr[sizeof(gDebugText_SoundCheckJap)]; - u8 bgmStr[sizeof(gDebugText_BGM)]; - u8 seStr[sizeof(gDebugText_SE)]; - u8 abDescStr[sizeof(gDebugText_ABDesc)]; - u8 upDownStr[sizeof(gDebugText_UpDown)]; - u8 driverStr[sizeof(gDebugText_DriverTest)]; - - memcpy(soundcheckStr, gDebugText_SoundCheckJap, sizeof(gDebugText_SoundCheckJap)); - memcpy(bgmStr, gDebugText_BGM, sizeof(gDebugText_BGM)); - memcpy(seStr, gDebugText_SE, sizeof(gDebugText_SE)); - memcpy(abDescStr, gDebugText_ABDesc, sizeof(gDebugText_ABDesc)); - memcpy(upDownStr, gDebugText_UpDown, sizeof(gDebugText_UpDown)); - memcpy(driverStr, gDebugText_DriverTest, sizeof(gDebugText_DriverTest)); - - if(!gPaletteFade.active) - { - MenuDrawTextWindow(0x2, 0, 0x1B, 0x3); - MenuDrawTextWindow(0x2, 0x5, 0x1B, 0xA); - MenuDrawTextWindow(0x2, 0xC, 0x1B, 0x11); - 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); - TASK.FUNC = sub_80BA384; - REG_WIN0H = WIN_RANGE(17, 223); - REG_WIN0V = WIN_RANGE(1, 31); - } -} - -void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText -{ - sub_80BA6B8(TASK.WINDOW_SELECTED); - sub_80BA700(TASK.BGM_INDEX + BGM_STOP, 7, 8); // print by BGM index - sub_80BA79C(gBGMNames[TASK.BGM_INDEX], 11, 8); - sub_80BA700(TASK.SE_INDEX, 7, 15); - sub_80BA79C(gSENames[TASK.SE_INDEX], 11, 15); - TASK.FUNC = sub_80BA65C; -} - -#ifdef NONMATCHING -bool8 sub_80BA400(u8 taskId) // Task_ProcessSoundCheckMenuInput -{ - if(gMain.newKeys & R_BUTTON) // driver test + if (gMain.newKeys & R_BUTTON) // driver test { - TASK.FUNC = sub_80BA800; + gTasks[taskId].FUNC = sub_80BA800; return FALSE; } - if(gMain.newKeys & L_BUTTON) + if (gMain.newKeys & L_BUTTON) { - TASK.FUNC = sub_80BAF84; + gTasks[taskId].FUNC = sub_80BAF84; return FALSE; } - if(gMain.newKeys & START_BUTTON) + if (gMain.newKeys & START_BUTTON) { - TASK.FUNC = sub_80BB25C; + gTasks[taskId].FUNC = sub_80BB25C; return FALSE; } - if(gMain.newKeys & A_BUTTON) // both these cases insist on non reuses of certain data variables and cause the function to not match. + if (gMain.newKeys & A_BUTTON) // both these cases insist on non reuses of certain data variables and cause the function to not match. { - if(TASK.WINDOW_SELECTED != 0) // is playing? + if (gTasks[taskId].WINDOW_SELECTED != 0) // is playing? { - if(TASK.UNK_DATA4 != 0) + if (gTasks[taskId].UNK_DATA4 != 0) { - if(TASK.SE_INDEX != 0) // why are you insiting on a non signed halfword? + if (gTasks[taskId].SE_INDEX != 0) // why are you insiting on a non signed halfword? { - m4aSongNumStop(TASK.UNK_DATA4); + m4aSongNumStop(gTasks[taskId].UNK_DATA4); } else { - m4aSongNumStop(TASK.SE_INDEX); - TASK.UNK_DATA4 = TASK.SE_INDEX; + m4aSongNumStop(gTasks[taskId].SE_INDEX); + gTasks[taskId].UNK_DATA4 = gTasks[taskId].SE_INDEX; return FALSE; } } - else if(TASK.SE_INDEX == 0) // _080BA4BA + else if (gTasks[taskId].SE_INDEX == 0) // _080BA4BA { return FALSE; } // _080BA4C4 - m4aSongNumStart(TASK.SE_INDEX); - TASK.UNK_DATA4 = TASK.SE_INDEX; + m4aSongNumStart(gTasks[taskId].SE_INDEX); + gTasks[taskId].UNK_DATA4 = gTasks[taskId].SE_INDEX; return FALSE; } else // _080BA4D0 { - if(TASK.UNK_DATA3 != 0) + if (gTasks[taskId].UNK_DATA3 != 0) { - if(TASK.BGM_INDEX != 0) + if (gTasks[taskId].BGM_INDEX != 0) { - m4aSongNumStop(TASK.UNK_DATA3 + BGM_STOP); + m4aSongNumStop(gTasks[taskId].UNK_DATA3 + BGM_STOP); } else // _080BA500 { - m4aSongNumStop(TASK.UNK_DATA3 + BGM_STOP); - TASK.UNK_DATA3 = TASK.BGM_INDEX; + m4aSongNumStop(gTasks[taskId].UNK_DATA3 + BGM_STOP); + gTasks[taskId].UNK_DATA3 = gTasks[taskId].BGM_INDEX; return FALSE; } } - else if(TASK.BGM_INDEX == 0) // _080BA514 + else if (gTasks[taskId].BGM_INDEX == 0) // _080BA514 return FALSE; - m4aSongNumStart(TASK.BGM_INDEX + BGM_STOP); - TASK.UNK_DATA3 = TASK.BGM_INDEX; + m4aSongNumStart(gTasks[taskId].BGM_INDEX + BGM_STOP); + gTasks[taskId].UNK_DATA3 = gTasks[taskId].BGM_INDEX; } return FALSE; } - if(gMain.newKeys & B_BUTTON) + if (gMain.newKeys & B_BUTTON) { m4aSongNumStart(5); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - TASK.FUNC = sub_80BA68C; + gTasks[taskId].FUNC = sub_80BA68C; return FALSE; } - if(gMain.newAndRepeatedKeys & DPAD_UP) + if (gMain.newAndRepeatedKeys & DPAD_UP) { - TASK.data[8] ^= A_BUTTON; // huh? + gTasks[taskId].data[8] ^= A_BUTTON; // huh? return TRUE; } - if(gMain.newAndRepeatedKeys & DPAD_DOWN) + if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - TASK.data[8] ^= A_BUTTON; // huh? + gTasks[taskId].data[8] ^= A_BUTTON; // huh? return TRUE; } else { u16 keys = gMain.newAndRepeatedKeys & DPAD_RIGHT; - if(keys) + if (keys) { - if(TASK.WINDOW_SELECTED != 0) + if (gTasks[taskId].WINDOW_SELECTED != 0) { - if(TASK.SE_INDEX > 0) + if (gTasks[taskId].SE_INDEX > 0) { - TASK.SE_INDEX--; + gTasks[taskId].SE_INDEX--; } else { - TASK.SE_INDEX = 0xF7; + gTasks[taskId].SE_INDEX = 0xF7; } } - else if(TASK.BGM_INDEX > 0) + else if (gTasks[taskId].BGM_INDEX > 0) { - TASK.BGM_INDEX--; + gTasks[taskId].BGM_INDEX--; } else { - TASK.BGM_INDEX = 0x75; + gTasks[taskId].BGM_INDEX = 0x75; } return TRUE; } - if(gMain.newAndRepeatedKeys & DPAD_LEFT) + if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if(TASK.WINDOW_SELECTED != 0) + if (gTasks[taskId].WINDOW_SELECTED != 0) { - if(TASK.SE_INDEX < 0xF7) + if (gTasks[taskId].SE_INDEX < 0xF7) { - TASK.SE_INDEX++; + gTasks[taskId].SE_INDEX++; } else { - TASK.SE_INDEX = keys; // ?? + gTasks[taskId].SE_INDEX = keys; // ?? } } - else if(TASK.BGM_INDEX < 0x75) + else if (gTasks[taskId].BGM_INDEX < 0x75) { - TASK.BGM_INDEX++; + gTasks[taskId].BGM_INDEX++; return TRUE; } else { - TASK.BGM_INDEX = TASK.SE_INDEX; + gTasks[taskId].BGM_INDEX = gTasks[taskId].SE_INDEX; return TRUE; } return TRUE; } - if(gMain.heldKeys & SELECT_BUTTON) + if (gMain.heldKeys & SELECT_BUTTON) { gUnknown_020387B0 = A_BUTTON; return FALSE; @@ -1480,13 +676,13 @@ _080BA658: .4byte gUnknown_020387B0\n\ void sub_80BA65C(u8 taskId) { - if(sub_80BA400(taskId) != FALSE) - TASK.FUNC = sub_80BA384; + if (sub_80BA400(taskId) != FALSE) + gTasks[taskId].FUNC = sub_80BA384; } void sub_80BA68C(u8 taskId) { - if(!gPaletteFade.active) + if (!gPaletteFade.active) { DestroyTask(taskId); SetMainCallback2(CB2_InitTitleScreen); @@ -1495,17 +691,17 @@ void sub_80BA68C(u8 taskId) void sub_80BA6B8(u8 windowType) { - switch(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; + 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; } } @@ -1516,7 +712,7 @@ void sub_80BA700(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ? bool8 someBool; u8 divisorValue; - for(i = 0; i < 3; i++) + for (i = 0; i < 3; i++) str[i] = 0; // initialize array str[3] = CHAR_ELLIPSIS; @@ -1524,14 +720,14 @@ void sub_80BA700(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ? someBool = FALSE; divisorValue = soundIndex / 100; - if(divisorValue) + if (divisorValue) { str[0] = divisorValue + CHAR_0; someBool = TRUE; } divisorValue = (soundIndex % 100) / 10; - if(divisorValue || someBool != FALSE) + if (divisorValue || someBool != FALSE) str[1] = divisorValue + CHAR_0; str[2] = ((soundIndex % 100) % 10) + CHAR_0; @@ -1543,12 +739,12 @@ 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 < 11; 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++) + for (i = 0; string[i] != EOS && i < 10; i++) str[i] = string[i]; MenuPrint(str, x, y); @@ -1556,35 +752,21 @@ void sub_80BA79C(const u8 *const string, u16 x, u16 y) void sub_80BA800(u8 taskId) // Task_DrawDriverTestMenu { - u8 bbackStr[sizeof(gDebugText_BBack)]; - u8 aplayStr[sizeof(gDebugText_APlay)]; - u8 voiceStr[sizeof(gDebugText_Voice)]; - u8 volumeStr[sizeof(gDebugText_Volume)]; - u8 panpotStr[sizeof(gDebugText_Panpot)]; - u8 pitchStr[sizeof(gDebugText_Pitch)]; - u8 lengthStr[sizeof(gDebugText_Length)]; - u8 releaseStr[sizeof(gDebugText_Release)]; - u8 progressStr[sizeof(gDebugText_Progress)]; - u8 chorusStr[sizeof(gDebugText_Chorus)]; - u8 priorityStr[sizeof(gDebugText_Priority)]; - u8 playingStr[sizeof(gDebugText_Playing)]; - u8 reverseStr[sizeof(gDebugText_Reverse)]; - u8 stereoStr[sizeof(gDebugText_Stereo)]; - - memcpy(bbackStr, gDebugText_BBack, sizeof(gDebugText_BBack)); - memcpy(aplayStr, gDebugText_APlay, sizeof(gDebugText_APlay)); - memcpy(voiceStr, gDebugText_Voice, sizeof(gDebugText_Voice)); - memcpy(volumeStr, gDebugText_Volume, sizeof(gDebugText_Volume)); - memcpy(panpotStr, gDebugText_Panpot, sizeof(gDebugText_Panpot)); - memcpy(pitchStr, gDebugText_Pitch, sizeof(gDebugText_Pitch)); - memcpy(lengthStr, gDebugText_Length, sizeof(gDebugText_Length)); - memcpy(releaseStr, gDebugText_Release, sizeof(gDebugText_Release)); - memcpy(progressStr, gDebugText_Progress, sizeof(gDebugText_Progress)); - memcpy(chorusStr, gDebugText_Chorus, sizeof(gDebugText_Chorus)); - memcpy(priorityStr, gDebugText_Priority, sizeof(gDebugText_Priority)); - memcpy(playingStr, gDebugText_Playing, sizeof(gDebugText_Playing)); - memcpy(reverseStr, gDebugText_Reverse, sizeof(gDebugText_Reverse)); - memcpy(stereoStr, gDebugText_Stereo, sizeof(gDebugText_Stereo)); + + 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, 0x1D, 0x13); @@ -1621,21 +803,23 @@ void sub_80BA800(u8 taskId) // Task_DrawDriverTestMenu gUnknown_020387B4[CRY_TEST_PRIORITY] = 2; sub_80BAD5C(); sub_80BAE10(0, 0); - TASK.FUNC = sub_80BAA48; + gTasks[taskId].FUNC = sub_80BAA48; } + + void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput { - if(gMain.newKeys & B_BUTTON) + if (gMain.newKeys & B_BUTTON) { REG_DISPCNT = 0x7140; REG_WIN0H = WIN_RANGE(17, 223); REG_WIN0V = WIN_RANGE(1, 31); MenuZeroFillWindowRect(0, 0, 0x1D, 0x13); - TASK.FUNC = sub_80BA258; + gTasks[taskId].FUNC = sub_80BA258; return; } - if(gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8 + if (gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8 { u8 backupVar = gUnknown_020387B3; if(--gUnknown_020387B3 < 0) @@ -1644,7 +828,7 @@ void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput sub_80BAE10(backupVar, gUnknown_020387B3); return; } - if(gMain.newAndRepeatedKeys & DPAD_DOWN) // _080BAAD0 + if (gMain.newAndRepeatedKeys & DPAD_DOWN) // _080BAAD0 { u8 backupVar = gUnknown_020387B3; if(++gUnknown_020387B3 > 8) @@ -1653,44 +837,44 @@ void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput sub_80BAE10(backupVar, gUnknown_020387B3); return; } - if(gMain.newKeys & START_BUTTON) // _080BAAF8 + if (gMain.newKeys & START_BUTTON) // _080BAAF8 { gUnknown_020387D8 ^= 1; sub_80BAD5C(); return; } - if(gMain.newKeys & SELECT_BUTTON) // _080BAB14 + if (gMain.newKeys & SELECT_BUTTON) // _080BAB14 { gUnknown_020387D9 ^= 1; sub_80BAD5C(); SetPokemonCryStereo(gUnknown_020387D9); return; } - if(gMain.newAndRepeatedKeys & R_BUTTON) // _080BAB38 + if (gMain.newAndRepeatedKeys & R_BUTTON) // _080BAB38 { sub_80BACDC(10); sub_80BAD5C(); return; } - if(gMain.newAndRepeatedKeys & L_BUTTON) // _080BAB46 + if (gMain.newAndRepeatedKeys & L_BUTTON) // _080BAB46 { sub_80BACDC(-10); sub_80BAD5C(); return; } - if(gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BAB56 + if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BAB56 { sub_80BACDC(-1); sub_80BAD5C(); return; } - if(gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BAB64 + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BAB64 { sub_80BACDC(1); sub_80BAD5C(); return; } - if(gMain.newKeys & A_BUTTON) // _080BAB78 + if (gMain.newKeys & A_BUTTON) // _080BAB78 { u8 divide, remaining; @@ -1706,41 +890,41 @@ void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput remaining = gUnknown_020387B4[CRY_TEST_UNK0] % 128; divide = gUnknown_020387B4[CRY_TEST_UNK0] / 128; - switch(divide) + 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; + 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) + if (gUnknown_03005D30 != NULL) { gUnknown_020387B1 = IsPokemonCryPlaying(gUnknown_03005D30); - if(gUnknown_020387B1 != gUnknown_020387B2) + if (gUnknown_020387B1 != gUnknown_020387B2) sub_80BAD5C(); gUnknown_020387B2 = gUnknown_020387B1; @@ -1749,15 +933,25 @@ void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput void sub_80BACDC(s8 var) { - int minMaxArray[ARRAY_COUNT(gUnknown_083D039C)]; + // 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 minMaxArray[16] = + { + 0, 387, + 0, 127, + -127, 127, + -128, 32639, + 0, 65535, + 0, 255, + 0, 65535, + -64, 63 + }; - memcpy(minMaxArray, gUnknown_083D039C, sizeof(gUnknown_083D039C)); gUnknown_020387B4[gUnknown_020387B3] += var; - if(gUnknown_020387B4[gUnknown_020387B3] > minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)]) + if (gUnknown_020387B4[gUnknown_020387B3] > minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)]) gUnknown_020387B4[gUnknown_020387B3] = minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)]; - if(gUnknown_020387B4[gUnknown_020387B3] < minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)]) + if (gUnknown_020387B4[gUnknown_020387B3] < minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)]) gUnknown_020387B4[gUnknown_020387B3] = minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)]; } @@ -1779,206 +973,69 @@ void sub_80BAD5C(void) void sub_80BAE10(u8 var1, u8 var2) { - u8 str1[sizeof(gUnknown_083D03DC)]; - u8 str2[sizeof(gUnknown_083D03DE)]; - - memcpy(str1, gUnknown_083D03DC, sizeof(gUnknown_083D03DC)); - memcpy(str2, gUnknown_083D03DE, sizeof(gUnknown_083D03DE)); + 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 sub_80BAE78(int var1, u16 var2, u16 var3, u8 var4) +void sub_80BAE78(int n, u16 x, u16 y, u8 digits) { - u32 powers[6]; - u8 str[8]; - u8 i; - u8 someVar, someVar2; - - memcpy(powers, gUnknown_083D03E0, sizeof(powers); - - for(i = 0; i < var4; i++) - str[i] = 0; - - str[var4 + 1] = CHAR_0; - someVar = 0; - - if(var1 < 0) // make absolute value? wtf + int powersOfTen[6] = { - var1 = -var1; // just use abs? - someVar = 1; - } + 1, + 10, + 100, + 1000, + 10000, + 100000 + }; + u8 str[8]; + s8 i; + s8 negative; + s8 someVar2; - // _080BAED6 - someVar2 = 0; - if(var4 == 1) - someVar2 = 1; + for (i = 0; i <= digits; i++) + str[i] = CHAR_SPACE; + str[digits + 1] = EOS; - // _080BAEE2 - for(;;) + negative = FALSE; + if (n < 0) { - + n = -n; + negative = TRUE; } -}*/ -// no. -__attribute__((naked)) -void sub_80BAE78(int var1, u16 var2, u16 var3, u8 var4) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x2C\n\ - mov r8, r0\n\ - lsls r1, 16\n\ - lsrs r6, r1, 16\n\ - lsls r2, 16\n\ - lsrs r2, 16\n\ - lsls r3, 24\n\ - lsrs r7, r3, 24\n\ - mov r1, sp\n\ - ldr r0, _080BAF80 @ =gUnknown_083D03E0\n\ - ldm r0!, {r3-r5}\n\ - stm r1!, {r3-r5}\n\ - ldm r0!, {r3-r5}\n\ - stm r1!, {r3-r5}\n\ - movs r5, 0\n\ - add r0, sp, 0x18\n\ - mov r9, r0\n\ - cmp r5, r7\n\ - bgt _080BAEC0\n\ - mov r4, r9\n\ - movs r3, 0\n\ -_080BAEAC:\n\ - lsls r0, r5, 24\n\ - asrs r0, 24\n\ - adds r1, r4, r0\n\ - strb r3, [r1]\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - asrs r0, 24\n\ - cmp r0, r7\n\ - ble _080BAEAC\n\ -_080BAEC0:\n\ - adds r0, r7, 0x1\n\ - add r0, r9\n\ - movs r1, 0xFF\n\ - strb r1, [r0]\n\ - movs r1, 0\n\ - mov r3, r8\n\ - cmp r3, 0\n\ - bge _080BAED6\n\ - negs r3, r3\n\ - mov r8, r3\n\ - movs r1, 0x1\n\ -_080BAED6:\n\ - movs r4, 0\n\ - mov r10, r4\n\ - cmp r7, 0x1\n\ - bne _080BAEE2\n\ - movs r5, 0x1\n\ - mov r10, r5\n\ -_080BAEE2:\n\ - subs r0, r7, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - lsls r0, r5, 24\n\ - lsls r6, 24\n\ - str r6, [sp, 0x24]\n\ - lsls r2, 24\n\ - str r2, [sp, 0x28]\n\ - cmp r0, 0\n\ - blt _080BAF62\n\ - str r1, [sp, 0x20]\n\ -_080BAEF8:\n\ - asrs r6, r0, 24\n\ - lsls r0, r6, 2\n\ - add r0, sp\n\ - ldr r1, [r0]\n\ - mov r0, r8\n\ - bl __divsi3\n\ - lsls r0, 24\n\ - lsrs r2, r0, 24\n\ - cmp r0, 0\n\ - bne _080BAF1A\n\ - mov r0, r10\n\ - cmp r0, 0\n\ - bne _080BAF1A\n\ - lsls r4, r5, 24\n\ - cmp r6, 0\n\ - bne _080BAF46\n\ -_080BAF1A:\n\ - lsls r4, r5, 24\n\ - ldr r3, [sp, 0x20]\n\ - cmp r3, 0\n\ - beq _080BAF34\n\ - mov r5, r10\n\ - cmp r5, 0\n\ - bne _080BAF34\n\ - asrs r0, r4, 24\n\ - subs r0, r7, r0\n\ - subs r0, 0x1\n\ - add r0, r9\n\ - movs r1, 0xAE\n\ - strb r1, [r0]\n\ -_080BAF34:\n\ - asrs r1, r4, 24\n\ - subs r1, r7, r1\n\ - add r1, r9\n\ - lsls r0, r2, 24\n\ - asrs r0, 24\n\ - subs r0, 0x5F\n\ - strb r0, [r1]\n\ - movs r0, 0x1\n\ - mov r10, r0\n\ -_080BAF46:\n\ - asrs r4, 24\n\ - lsls r0, r4, 2\n\ - add r0, sp\n\ - ldr r1, [r0]\n\ - mov r0, r8\n\ - bl __modsi3\n\ - mov r8, r0\n\ - subs r4, 0x1\n\ - lsls r4, 24\n\ - lsrs r5, r4, 24\n\ - lsls r0, r5, 24\n\ - cmp r0, 0\n\ - bge _080BAEF8\n\ -_080BAF62:\n\ - ldr r3, [sp, 0x24]\n\ - lsrs r1, r3, 24\n\ - ldr r4, [sp, 0x28]\n\ - lsrs r2, r4, 24\n\ - mov r0, r9\n\ - bl MenuPrint\n\ - add sp, 0x2C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080BAF80: .4byte gUnknown_083D03E0\n\ - .syntax divided"); + 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[sizeof(gOtherText_SE)]; - u8 panStr[sizeof(gOtherText_Pan)]; - u8 playingStr[sizeof(gDebugText_Playing)]; - - memcpy(seStr, gOtherText_SE, sizeof(gOtherText_SE)); - memcpy(panStr, gOtherText_Pan, sizeof(gOtherText_Pan)); - memcpy(playingStr, gDebugText_Playing, sizeof(gDebugText_Playing)); + u8 seStr[] = _("SE"); + u8 panStr[] = _("PAN"); + u8 playingStr[] = _("さいせいちゆう‥"); REG_DISPCNT = 0x3140; MenuDrawTextWindow(0, 0, 0x1D, 0x13); @@ -1993,54 +1050,54 @@ void sub_80BAF84(u8 taskId) gUnknown_020387B4[CRY_TEST_PROGRESS] = 0; gUnknown_020387B4[CRY_TEST_RELEASE] = 0; sub_80BB1D4(); - TASK.FUNC = sub_80BB038; + gTasks[taskId].FUNC = sub_80BB038; } void sub_80BB038(u8 taskId) { sub_80BB1D4(); - if(gUnknown_020387B4[CRY_TEST_PROGRESS]) + if (gUnknown_020387B4[CRY_TEST_PROGRESS]) { - if(gUnknown_020387B4[CRY_TEST_RELEASE]) + if (gUnknown_020387B4[CRY_TEST_RELEASE]) { gUnknown_020387B4[CRY_TEST_RELEASE]--; } else // _080BB05C { s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]; - if(panpot != -128) + if (panpot != -128) { - if(panpot == 0x7F) + if (panpot == 0x7F) { gUnknown_020387B4[CRY_TEST_CHORUS] += 2; - if(gUnknown_020387B4[CRY_TEST_CHORUS] < 0x3F) + if (gUnknown_020387B4[CRY_TEST_CHORUS] < 0x3F) 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] > -0x40) SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]); } } } // _080BB0A2 - if(gMain.newKeys & B_BUTTON) + if (gMain.newKeys & B_BUTTON) { REG_DISPCNT = 0x7140; REG_WIN0H = WIN_RANGE(17, 223); REG_WIN0V = WIN_RANGE(1, 31); MenuZeroFillWindowRect(0, 0, 0x1D, 0x13); - TASK.FUNC = sub_80BA258; + gTasks[taskId].FUNC = sub_80BA258; return; } - if(gMain.newKeys & A_BUTTON) // _080BB104 + if (gMain.newKeys & A_BUTTON) // _080BB104 { s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]; - if(panpot != -128) + if (panpot != -128) { - if(panpot == 0x7F) + if (panpot == 0x7F) { PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], -0x40); gUnknown_020387B4[CRY_TEST_CHORUS] = -0x40; @@ -2062,56 +1119,798 @@ void sub_80BB038(u8 taskId) gUnknown_020387B4[CRY_TEST_PROGRESS] = 0; return; } - if(gMain.newKeys & L_BUTTON) // _080BB15E + if (gMain.newKeys & L_BUTTON) // _080BB15E { gUnknown_020387B4[CRY_TEST_PANPOT]++; - if(gUnknown_020387B4[CRY_TEST_PANPOT] > 4) + if (gUnknown_020387B4[CRY_TEST_PANPOT] > 4) gUnknown_020387B4[CRY_TEST_PANPOT] = 0; } - if(gMain.newKeys & R_BUTTON) // _080BB176 + if (gMain.newKeys & R_BUTTON) // _080BB176 { gUnknown_020387B4[CRY_TEST_PANPOT]--; - if(gUnknown_020387B4[CRY_TEST_PANPOT] < 0) + if (gUnknown_020387B4[CRY_TEST_PANPOT] < 0) gUnknown_020387B4[CRY_TEST_PANPOT] = 4; } - if(gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BB192 + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BB192 { gUnknown_020387B4[CRY_TEST_UNK0]++; - if(gUnknown_020387B4[CRY_TEST_UNK0] > 0xF7) + if (gUnknown_020387B4[CRY_TEST_UNK0] > 0xF7) gUnknown_020387B4[CRY_TEST_UNK0] = 0; } - else if(gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BB1B0 + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BB1B0 { gUnknown_020387B4[CRY_TEST_UNK0]--; - if(gUnknown_020387B4[CRY_TEST_UNK0] < 0) + if (gUnknown_020387B4[CRY_TEST_UNK0] < 0) gUnknown_020387B4[CRY_TEST_UNK0] = 0xF7; } } void sub_80BB1D4(void) { - u8 lrStr[sizeof(gOtherText_LR)]; - u8 rlStr[sizeof(gOtherText_RL)]; + u8 lrStr[] = _(" LR"); + u8 rlStr[] = _(" RL"); + + sub_80BAE78(gUnknown_020387B4[CRY_TEST_UNK0], 7, 2, 3); + + switch (gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]) + { + case 0x7F: + MenuPrint(lrStr, 7, 4); + break; + case -0x80: + MenuPrint(rlStr, 7, 4); + break; + default: + sub_80BAE78(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]], 7, 4, 3); + break; + } + sub_80BAE78(IsSEPlaying(), 12, 8, 1); +} + +// bgm names +static const u8 BGMName_STOP[] = _("STOP"); +static const u8 BGMName_TETSUJI[] = _("TETSUJI"); +static const u8 BGMName_FIELD13[] = _("FIELD13"); +static const u8 BGMName_KACHI22[] = _("KACHI22"); +static const u8 BGMName_KACHI2[] = _("KACHI2"); +static const u8 BGMName_KACHI3[] = _("KACHI3"); +static const u8 BGMName_KACHI5[] = _("KACHI5"); +static const u8 BGMName_PCC[] = _("PCC"); +static const u8 BGMName_NIBI[] = _("NIBI"); +static const u8 BGMName_SUIKUN[] = _("SUIKUN"); +static const u8 BGMName_DOORO1[] = _("DOORO1"); +static const u8 BGMName_DOORO_X1[] = _("DOORO-X1"); +static const u8 BGMName_DOORO_X3[] = _("DOORO-X3"); +static const u8 BGMName_MACHI_S2[] = _("MACHI-S2"); +static const u8 BGMName_MACHI_S4[] = _("MACHI-S4"); +static const u8 BGMName_GIM[] = _("GIM"); +static const u8 BGMName_NAMINORI[] = _("NAMINORI"); +static const u8 BGMName_DAN01[] = _("DAN01"); +static const u8 BGMName_FANFA1[] = _("FANFA1"); +static const u8 BGMName_ME_ASA[] = _("ME-ASA"); +static const u8 BGMName_ME_BACHI[] = _("ME-BACHI"); +static const u8 BGMName_FANFA4[] = _("FANFA4"); +static const u8 BGMName_FANFA5[] = _("FANFA5"); +static const u8 BGMName_ME_WAZA[] = _("ME-WAZA"); +static const u8 BGMName_BIJYUTU[] = _("BIJYUTU"); +static const u8 BGMName_DOORO_X4[] = _("DOORO-X4"); +static const u8 BGMName_FUNE_KAN[] = _("FUNE-KAN"); +static const u8 BGMName_ME_SHINKA[] = _("ME-SHINKA"); +static const u8 BGMName_SHINKA[] = _("SHINKA"); +static const u8 BGMName_ME_WASURE[] = _("ME-WASURE"); +static const u8 BGMName_SYOUJOEYE[] = _("SYOUJOEYE"); +static const u8 BGMName_BOYEYE[] = _("BOYEYE"); +static const u8 BGMName_DAN02[] = _("DAN02"); +static const u8 BGMName_MACHI_S3[] = _("MACHI-S3"); +static const u8 BGMName_ODAMAKI[] = _("ODAMAKI"); +static const u8 BGMName_B_TOWER[] = _("B-TOWER"); +static const u8 BGMName_SWIMEYE[] = _("SWIMEYE"); +static const u8 BGMName_DAN03[] = _("DAN03"); +static const u8 BGMName_ME_KINOMI[] = _("ME-KINOMI"); +static const u8 BGMName_ME_TAMA[] = _("ME-TAMA"); +static const u8 BGMName_ME_B_BIG[] = _("ME-B-BIG"); +static const u8 BGMName_ME_B_SMALL[] = _("ME-B-SMALL"); +static const u8 BGMName_ME_ZANNEN[] = _("ME-ZANNEN"); +static const u8 BGMName_BD_TIME[] = _("BD-TIME"); +static const u8 BGMName_TEST1[] = _("TEST1"); +static const u8 BGMName_TEST2[] = _("TEST2"); +static const u8 BGMName_TEST3[] = _("TEST3"); +static const u8 BGMName_TEST4[] = _("TEST4"); +static const u8 BGMName_TEST[] = _("TEST"); +static const u8 BGMName_GOMACHI0[] = _("GOMACHI0"); +static const u8 BGMName_GOTOWN[] = _("GOTOWN"); +static const u8 BGMName_POKECEN[] = _("POKECEN"); +static const u8 BGMName_NEXTROAD[] = _("NEXTROAD"); +static const u8 BGMName_GRANROAD[] = _("GRANROAD"); +static const u8 BGMName_CYCLING[] = _("CYCLING"); +static const u8 BGMName_FRIENDLY[] = _("FRIENDLY"); +static const u8 BGMName_MISHIRO[] = _("MISHIRO"); +static const u8 BGMName_TOZAN[] = _("TOZAN"); +static const u8 BGMName_GIRLEYE[] = _("GIRLEYE"); +static const u8 BGMName_MINAMO[] = _("MINAMO"); +static const u8 BGMName_ASHROAD[] = _("ASHROAD"); +static const u8 BGMName_EVENT0[] = _("EVENT0"); +static const u8 BGMName_DEEPDEEP[] = _("DEEPDEEP"); +static const u8 BGMName_KACHI1[] = _("KACHI1"); +static const u8 BGMName_TITLE3[] = _("TITLE3"); +static const u8 BGMName_DEMO1[] = _("DEMO1"); +static const u8 BGMName_GIRL_SUP[] = _("GIRL-SUP"); +static const u8 BGMName_HAGESHII[] = _("HAGESHII"); +static const u8 BGMName_KAKKOII[] = _("KAKKOII"); +static const u8 BGMName_KAZANBAI[] = _("KAZANBAI"); +static const u8 BGMName_AQA_0[] = _("AQA-0"); +static const u8 BGMName_TSURETEK[] = _("TSURETEK"); +static const u8 BGMName_BOY_SUP[] = _("BOY-SUP"); +static const u8 BGMName_RAINBOW[] = _("RAINBOW"); +static const u8 BGMName_AYASII[] = _("AYASII"); +static const u8 BGMName_KACHI4[] = _("KACHI4"); +static const u8 BGMName_ROPEWAY[] = _("ROPEWAY"); +static const u8 BGMName_CASINO[] = _("CASINO"); +static const u8 BGMName_HIGHTOWN[] = _("HIGHTOWN"); +static const u8 BGMName_SAFARI[] = _("SAFARI"); +static const u8 BGMName_C_ROAD[] = _("C-ROAD"); +static const u8 BGMName_AJITO[] = _("AJITO"); +static const u8 BGMName_M_BOAT[] = _("M-BOAT"); +static const u8 BGMName_M_DUNGON[] = _("M-DUNGON"); +static const u8 BGMName_FINECITY[] = _("FINECITY"); +static const u8 BGMName_MACHUPI[] = _("MACHUPI"); +static const u8 BGMName_P_SCHOOL[] = _("P-SCHOOL"); +static const u8 BGMName_DENDOU[] = _("DENDOU"); +static const u8 BGMName_TONEKUSA[] = _("TONEKUSA"); +static const u8 BGMName_MABOROSI[] = _("MABOROSI"); +static const u8 BGMName_CON_FAN[] = _("CON-FAN"); +static const u8 BGMName_CONTEST0[] = _("CONTEST0"); +static const u8 BGMName_MGM0[] = _("MGM0"); +static const u8 BGMName_T_BATTLE[] = _("T-BATTLE"); +static const u8 BGMName_OOAME[] = _("OOAME"); +static const u8 BGMName_HIDERI[] = _("HIDERI"); +static const u8 BGMName_RUNECITY[] = _("RUNECITY"); +static const u8 BGMName_CON_K[] = _("CON-K"); +static const u8 BGMName_EIKOU_R[] = _("EIKOU-R"); +static const u8 BGMName_KARAKURI[] = _("KARAKURI"); +static const u8 BGMName_HUTAGO[] = _("HUTAGO"); +static const u8 BGMName_SITENNOU[] = _("SITENNOU"); +static const u8 BGMName_YAMA_EYE[] = _("YAMA-EYE"); +static const u8 BGMName_CONLOBBY[] = _("CONLOBBY"); +static const u8 BGMName_INTER_V[] = _("INTER-V"); +static const u8 BGMName_DAIGO[] = _("DAIGO"); +static const u8 BGMName_THANKFOR[] = _("THANKFOR"); +static const u8 BGMName_END[] = _("END"); +static const u8 BGMName_BATTLE27[] = _("BATTLE27"); +static const u8 BGMName_BATTLE31[] = _("BATTLE31"); +static const u8 BGMName_BATTLE20[] = _("BATTLE20"); +static const u8 BGMName_BATTLE32[] = _("BATTLE32"); +static const u8 BGMName_BATTLE33[] = _("BATTLE33"); +static const u8 BGMName_BATTLE36[] = _("BATTLE36"); +static const u8 BGMName_BATTLE34[] = _("BATTLE34"); +static const u8 BGMName_BATTLE35[] = _("BATTLE35"); +static const u8 BGMName_BATTLE38[] = _("BATTLE38"); +static const u8 BGMName_BATTLE30[] = _("BATTLE30"); + +static const u8 *const gBGMNames[] = +{ + BGMName_STOP, + BGMName_TETSUJI, + BGMName_FIELD13, + BGMName_KACHI22, + BGMName_KACHI2, + BGMName_KACHI3, + BGMName_KACHI5, + BGMName_PCC, + BGMName_NIBI, + BGMName_SUIKUN, + BGMName_DOORO1, + BGMName_DOORO_X1, + BGMName_DOORO_X3, + BGMName_MACHI_S2, + BGMName_MACHI_S4, + BGMName_GIM, + BGMName_NAMINORI, + BGMName_DAN01, + BGMName_FANFA1, + BGMName_ME_ASA, + BGMName_ME_BACHI, + BGMName_FANFA4, + BGMName_FANFA5, + BGMName_ME_WAZA, + BGMName_BIJYUTU, + BGMName_DOORO_X4, + BGMName_FUNE_KAN, + BGMName_ME_SHINKA, + BGMName_SHINKA, + BGMName_ME_WASURE, + BGMName_SYOUJOEYE, + BGMName_BOYEYE, + BGMName_DAN02, + BGMName_MACHI_S3, + BGMName_ODAMAKI, + BGMName_B_TOWER, + BGMName_SWIMEYE, + BGMName_DAN03, + BGMName_ME_KINOMI, + BGMName_ME_TAMA, + BGMName_ME_B_BIG, + BGMName_ME_B_SMALL, + BGMName_ME_ZANNEN, + BGMName_BD_TIME, + BGMName_TEST1, + BGMName_TEST2, + BGMName_TEST3, + BGMName_TEST4, + BGMName_TEST, + BGMName_GOMACHI0, + BGMName_GOTOWN, + BGMName_POKECEN, + BGMName_NEXTROAD, + BGMName_GRANROAD, + BGMName_CYCLING, + BGMName_FRIENDLY, + BGMName_MISHIRO, + BGMName_TOZAN, + BGMName_GIRLEYE, + BGMName_MINAMO, + BGMName_ASHROAD, + BGMName_EVENT0, + BGMName_DEEPDEEP, + BGMName_KACHI1, + BGMName_TITLE3, + BGMName_DEMO1, + BGMName_GIRL_SUP, + BGMName_HAGESHII, + BGMName_KAKKOII, + BGMName_KAZANBAI, + BGMName_AQA_0, + BGMName_TSURETEK, + BGMName_BOY_SUP, + BGMName_RAINBOW, + BGMName_AYASII, + BGMName_KACHI4, + BGMName_ROPEWAY, + BGMName_CASINO, + BGMName_HIGHTOWN, + BGMName_SAFARI, + BGMName_C_ROAD, + BGMName_AJITO, + BGMName_M_BOAT, + BGMName_M_DUNGON, + BGMName_FINECITY, + BGMName_MACHUPI, + BGMName_P_SCHOOL, + BGMName_DENDOU, + BGMName_TONEKUSA, + BGMName_MABOROSI, + BGMName_CON_FAN, + BGMName_CONTEST0, + BGMName_MGM0, + BGMName_T_BATTLE, + BGMName_OOAME, + BGMName_HIDERI, + BGMName_RUNECITY, + BGMName_CON_K, + BGMName_EIKOU_R, + BGMName_KARAKURI, + BGMName_HUTAGO, + BGMName_SITENNOU, + BGMName_YAMA_EYE, + BGMName_CONLOBBY, + BGMName_INTER_V, + BGMName_DAIGO, + BGMName_THANKFOR, + BGMName_END, + BGMName_BATTLE27, + BGMName_BATTLE31, + BGMName_BATTLE20, + BGMName_BATTLE32, + BGMName_BATTLE33, + BGMName_BATTLE36, + BGMName_BATTLE34, + BGMName_BATTLE35, + BGMName_BATTLE38, + BGMName_BATTLE30 +}; - memcpy(lrStr, gOtherText_LR, sizeof(lrStr)); - memcpy(rlStr, gOtherText_RL, sizeof(rlStr)); +// SE names +static const u8 SEName_STOP[] = _("STOP"); +static const u8 SEName_KAIFUKU[] = _("KAIFUKU"); +static const u8 SEName_PC_LOGON[] = _("PC-LOGON"); +static const u8 SEName_PC_OFF[] = _("PC-OFF"); +static const u8 SEName_PC_ON[] = _("PC-ON"); +static const u8 SEName_SELECT[] = _("SELECT"); +static const u8 SEName_WIN_OPEN[] = _("WIN-OPEN"); +static const u8 SEName_WALL_HIT[] = _("WALL-HIT"); +static const u8 SEName_DOOR[] = _("DOOR"); +static const u8 SEName_KAIDAN[] = _("KAIDAN"); +static const u8 SEName_DANSA[] = _("DANSA"); +static const u8 SEName_JITENSYA[] = _("JITENSYA"); +static const u8 SEName_KOUKA_L[] = _("KOUKA-L"); +static const u8 SEName_KOUKA_M[] = _("KOUKA-M"); +static const u8 SEName_KOUKA_H[] = _("KOUKA-H"); +static const u8 SEName_BOWA2[] = _("BOWA2"); +static const u8 SEName_POKE_DEAD[] = _("POKE-DEAD"); +static const u8 SEName_NIGERU[] = _("NIGERU"); +static const u8 SEName_JIDO_DOA[] = _("JIDO-DOA"); +static const u8 SEName_NAMINORI[] = _("NAMINORI"); +static const u8 SEName_BAN[] = _("BAN"); +static const u8 SEName_PIN[] = _("PIN"); +static const u8 SEName_BOO[] = _("BOO"); +static const u8 SEName_BOWA[] = _("BOWA"); +static const u8 SEName_JYUNI[] = _("JYUNI"); +static const u8 SEName_A[] = _("A"); +static const u8 SEName_I[] = _("I"); +static const u8 SEName_U[] = _("U"); +static const u8 SEName_E[] = _("E"); +static const u8 SEName_O[] = _("O"); +static const u8 SEName_N[] = _("N"); +static const u8 SEName_SEIKAI[] = _("SEIKAI"); +static const u8 SEName_HAZURE[] = _("HAZURE"); +static const u8 SEName_EXP[] = _("EXP"); +static const u8 SEName_JITE_PYOKO[] = _("JITE-PYOKO"); +static const u8 SEName_MU_PACHI[] = _("MU-PACHI"); +static const u8 SEName_TK_KASYA[] = _("TK-KASYA"); +static const u8 SEName_FU_ZAKU[] = _("FU-ZAKU"); +static const u8 SEName_FU_ZAKU2[] = _("FU-ZAKU2"); +static const u8 SEName_FU_ZUZUZU[] = _("FU-ZUZUZU"); +static const u8 SEName_RU_GASHIN[] = _("RU-GASHIN"); +static const u8 SEName_RU_GASYAN[] = _("RU-GASYAN"); +static const u8 SEName_RU_BARI[] = _("RU-BARI"); +static const u8 SEName_RU_HYUU[] = _("RU-HYUU"); +static const u8 SEName_KI_GASYAN[] = _("KI-GASYAN"); +static const u8 SEName_TK_WARPIN[] = _("TK-WARPIN"); +static const u8 SEName_TK_WARPOUT[] = _("TK-WARPOUT"); +static const u8 SEName_TU_SAA[] = _("TU-SAA"); +static const u8 SEName_HI_TURUN[] = _("HI-TURUN"); +static const u8 SEName_TRACK_MOVE[] = _("TRACK-MOVE"); +static const u8 SEName_TRACK_STOP[] = _("TRACK-STOP"); +static const u8 SEName_TRACK_HAIK[] = _("TRACK-HAIK"); +static const u8 SEName_TRACK_DOOR[] = _("TRACK-DOOR"); +static const u8 SEName_MOTER[] = _("MOTER"); +static const u8 SEName_CARD[] = _("CARD"); +static const u8 SEName_SAVE[] = _("SAVE"); +static const u8 SEName_KON[] = _("KON"); +static const u8 SEName_KON2[] = _("KON2"); +static const u8 SEName_KON3[] = _("KON3"); +static const u8 SEName_KON4[] = _("KON4"); +static const u8 SEName_SUIKOMU[] = _("SUIKOMU"); +static const u8 SEName_NAGERU[] = _("NAGERU"); +static const u8 SEName_TOY_C[] = _("TOY-C"); +static const u8 SEName_TOY_D[] = _("TOY-D"); +static const u8 SEName_TOY_E[] = _("TOY-E"); +static const u8 SEName_TOY_F[] = _("TOY-F"); +static const u8 SEName_TOY_G[] = _("TOY-G"); +static const u8 SEName_TOY_A[] = _("TOY-A"); +static const u8 SEName_TOY_B[] = _("TOY-B"); +static const u8 SEName_TOY_C1[] = _("TOY-C1"); +static const u8 SEName_MIZU[] = _("MIZU"); +static const u8 SEName_HASHI[] = _("HASHI"); +static const u8 SEName_DAUGI[] = _("DAUGI"); +static const u8 SEName_PINPON[] = _("PINPON"); +static const u8 SEName_FUUSEN1[] = _("FUUSEN1"); +static const u8 SEName_FUUSEN2[] = _("FUUSEN2"); +static const u8 SEName_FUUSEN3[] = _("FUUSEN3"); +static const u8 SEName_TOY_KABE[] = _("TOY-KABE"); +static const u8 SEName_TOY_DANGO[] = _("TOY-DANGO"); +static const u8 SEName_DOKU[] = _("DOKU"); +static const u8 SEName_ESUKA[] = _("ESUKA"); +static const u8 SEName_T_AME[] = _("T-AME"); +static const u8 SEName_T_AME_E[] = _("T-AME-E"); +static const u8 SEName_T_OOAME[] = _("T-OOAME"); +static const u8 SEName_T_OOAME_E[] = _("T-OOAME-E"); +static const u8 SEName_T_KOAME[] = _("T-KOAME"); +static const u8 SEName_T_KOAME_E[] = _("T-KOAME-E"); +static const u8 SEName_T_KAMI[] = _("T-KAMI"); +static const u8 SEName_T_KAMI2[] = _("T-KAMI2"); +static const u8 SEName_ELEBETA[] = _("ELEBETA"); +static const u8 SEName_HINSI[] = _("HINSI"); +static const u8 SEName_EXPMAX[] = _("EXPMAX"); +static const u8 SEName_TAMAKORO[] = _("TAMAKORO"); +static const u8 SEName_TAMAKORO_E[] = _("TAMAKORO-E"); +static const u8 SEName_BASABASA[] = _("BASABASA"); +static const u8 SEName_REGI[] = _("REGI"); +static const u8 SEName_C_GAJI[] = _("C-GAJI"); +static const u8 SEName_C_MAKU_U[] = _("C-MAKU-U"); +static const u8 SEName_C_MAKU_D[] = _("C-MAKU-D"); +static const u8 SEName_C_PASI[] = _("C-PASI"); +static const u8 SEName_C_SYU[] = _("C-SYU"); +static const u8 SEName_C_PIKON[] = _("C-PIKON"); +static const u8 SEName_REAPOKE[] = _("REAPOKE"); +static const u8 SEName_OP_BASYU[] = _("OP-BASYU"); +static const u8 SEName_BT_START[] = _("BT-START"); +static const u8 SEName_DENDOU[] = _("DENDOU"); +static const u8 SEName_JIHANKI[] = _("JIHANKI"); +static const u8 SEName_TAMA[] = _("TAMA"); +static const u8 SEName_Z_SCROLL[] = _("Z-SCROLL"); +static const u8 SEName_Z_PAGE[] = _("Z-PAGE"); +static const u8 SEName_PN_ON[] = _("PN-ON"); +static const u8 SEName_PN_OFF[] = _("PN-OFF"); +static const u8 SEName_Z_SEARCH[] = _("Z-SEARCH"); +static const u8 SEName_TAMAGO[] = _("TAMAGO"); +static const u8 SEName_TB_START[] = _("TB-START"); +static const u8 SEName_TB_KON[] = _("TB-KON"); +static const u8 SEName_TB_KARA[] = _("TB-KARA"); +static const u8 SEName_BIDORO[] = _("BIDORO"); +static const u8 SEName_W085[] = _("W085"); +static const u8 SEName_W085B[] = _("W085B"); +static const u8 SEName_W231[] = _("W231"); +static const u8 SEName_W171[] = _("W171"); +static const u8 SEName_W233[] = _("W233"); +static const u8 SEName_W233B[] = _("W233B"); +static const u8 SEName_W145[] = _("W145"); +static const u8 SEName_W145B[] = _("W145B"); +static const u8 SEName_W145C[] = _("W145C"); +static const u8 SEName_W240[] = _("W240"); +static const u8 SEName_W015[] = _("W015"); +static const u8 SEName_W081[] = _("W081"); +static const u8 SEName_W081B[] = _("W081B"); +static const u8 SEName_W088[] = _("W088"); +static const u8 SEName_W016[] = _("W016"); +static const u8 SEName_W016B[] = _("W016B"); +static const u8 SEName_W003[] = _("W003"); +static const u8 SEName_W104[] = _("W104"); +static const u8 SEName_W013[] = _("W013"); +static const u8 SEName_W196[] = _("W196"); +static const u8 SEName_W086[] = _("W086"); +static const u8 SEName_W004[] = _("W004"); +static const u8 SEName_W025[] = _("W025"); +static const u8 SEName_W025B[] = _("W025B"); +static const u8 SEName_W152[] = _("W152"); +static const u8 SEName_W026[] = _("W026"); +static const u8 SEName_W172[] = _("W172"); +static const u8 SEName_W172B[] = _("W172B"); +static const u8 SEName_W053[] = _("W053"); +static const u8 SEName_W007[] = _("W007"); +static const u8 SEName_W092[] = _("W092"); +static const u8 SEName_W221[] = _("W221"); +static const u8 SEName_W221B[] = _("W221B"); +static const u8 SEName_W052[] = _("W052"); +static const u8 SEName_W036[] = _("W036"); +static const u8 SEName_W059[] = _("W059"); +static const u8 SEName_W059B[] = _("W059B"); +static const u8 SEName_W010[] = _("W010"); +static const u8 SEName_W011[] = _("W011"); +static const u8 SEName_W017[] = _("W017"); +static const u8 SEName_W019[] = _("W019"); +static const u8 SEName_W028[] = _("W028"); +static const u8 SEName_W013B[] = _("W013B"); +static const u8 SEName_W044[] = _("W044"); +static const u8 SEName_W029[] = _("W029"); +static const u8 SEName_W057[] = _("W057"); +static const u8 SEName_W056[] = _("W056"); +static const u8 SEName_W250[] = _("W250"); +static const u8 SEName_W030[] = _("W030"); +static const u8 SEName_W039[] = _("W039"); +static const u8 SEName_W054[] = _("W054"); +static const u8 SEName_W077[] = _("W077"); +static const u8 SEName_W020[] = _("W020"); +static const u8 SEName_W082[] = _("W082"); +static const u8 SEName_W047[] = _("W047"); +static const u8 SEName_W195[] = _("W195"); +static const u8 SEName_W006[] = _("W006"); +static const u8 SEName_W091[] = _("W091"); +static const u8 SEName_W146[] = _("W146"); +static const u8 SEName_W120[] = _("W120"); +static const u8 SEName_W153[] = _("W153"); +static const u8 SEName_W071B[] = _("W071B"); +static const u8 SEName_W071[] = _("W071"); +static const u8 SEName_W103[] = _("W103"); +static const u8 SEName_W062[] = _("W062"); +static const u8 SEName_W062B[] = _("W062B"); +static const u8 SEName_W048[] = _("W048"); +static const u8 SEName_W187[] = _("W187"); +static const u8 SEName_W118[] = _("W118"); +static const u8 SEName_W155[] = _("W155"); +static const u8 SEName_W122[] = _("W122"); +static const u8 SEName_W060[] = _("W060"); +static const u8 SEName_W185[] = _("W185"); +static const u8 SEName_W014[] = _("W014"); +static const u8 SEName_W043[] = _("W043"); +static const u8 SEName_W207[] = _("W207"); +static const u8 SEName_W207B[] = _("W207B"); +static const u8 SEName_W215[] = _("W215"); +static const u8 SEName_W109[] = _("W109"); +static const u8 SEName_W173[] = _("W173"); +static const u8 SEName_W280[] = _("W280"); +static const u8 SEName_W202[] = _("W202"); +static const u8 SEName_W060B[] = _("W060B"); +static const u8 SEName_W076[] = _("W076"); +static const u8 SEName_W080[] = _("W080"); +static const u8 SEName_W100[] = _("W100"); +static const u8 SEName_W107[] = _("W107"); +static const u8 SEName_W166[] = _("W166"); +static const u8 SEName_W129[] = _("W129"); +static const u8 SEName_W115[] = _("W115"); +static const u8 SEName_W112[] = _("W112"); +static const u8 SEName_W197[] = _("W197"); +static const u8 SEName_W199[] = _("W199"); +static const u8 SEName_W236[] = _("W236"); +static const u8 SEName_W204[] = _("W204"); +static const u8 SEName_W268[] = _("W268"); +static const u8 SEName_W070[] = _("W070"); +static const u8 SEName_W063[] = _("W063"); +static const u8 SEName_W127[] = _("W127"); +static const u8 SEName_W179[] = _("W179"); +static const u8 SEName_W151[] = _("W151"); +static const u8 SEName_W201[] = _("W201"); +static const u8 SEName_W161[] = _("W161"); +static const u8 SEName_W161B[] = _("W161B"); +static const u8 SEName_W227[] = _("W227"); +static const u8 SEName_W227B[] = _("W227B"); +static const u8 SEName_W226[] = _("W226"); +static const u8 SEName_W208[] = _("W208"); +static const u8 SEName_W213[] = _("W213"); +static const u8 SEName_W213B[] = _("W213B"); +static const u8 SEName_W234[] = _("W234"); +static const u8 SEName_W260[] = _("W260"); +static const u8 SEName_W328[] = _("W328"); +static const u8 SEName_W320[] = _("W320"); +static const u8 SEName_W255[] = _("W255"); +static const u8 SEName_W291[] = _("W291"); +static const u8 SEName_W089[] = _("W089"); +static const u8 SEName_W239[] = _("W239"); +static const u8 SEName_W230[] = _("W230"); +static const u8 SEName_W281[] = _("W281"); +static const u8 SEName_W327[] = _("W327"); +static const u8 SEName_W287[] = _("W287"); +static const u8 SEName_W257[] = _("W257"); +static const u8 SEName_W253[] = _("W253"); +static const u8 SEName_W258[] = _("W258"); +static const u8 SEName_W322[] = _("W322"); +static const u8 SEName_W298[] = _("W298"); +static const u8 SEName_W287B[] = _("W287B"); +static const u8 SEName_W114[] = _("W114"); +static const u8 SEName_W063B[] = _("W063B"); - sub_80BAE78(gUnknown_020387B4[CRY_TEST_UNK0], 7, 2, 3); +static const u8 *const gSENames[] = +{ + SEName_STOP, + SEName_KAIFUKU, + SEName_PC_LOGON, + SEName_PC_OFF, + SEName_PC_ON, + SEName_SELECT, + SEName_WIN_OPEN, + SEName_WALL_HIT, + SEName_DOOR, + SEName_KAIDAN, + SEName_DANSA, + SEName_JITENSYA, + SEName_KOUKA_L, + SEName_KOUKA_M, + SEName_KOUKA_H, + SEName_BOWA2, + SEName_POKE_DEAD, + SEName_NIGERU, + SEName_JIDO_DOA, + SEName_NAMINORI, + SEName_BAN, + SEName_PIN, + SEName_BOO, + SEName_BOWA, + SEName_JYUNI, + SEName_A, + SEName_I, + SEName_U, + SEName_E, + SEName_O, + SEName_N, + SEName_SEIKAI, + SEName_HAZURE, + SEName_EXP, + SEName_JITE_PYOKO, + SEName_MU_PACHI, + SEName_TK_KASYA, + SEName_FU_ZAKU, + SEName_FU_ZAKU2, + SEName_FU_ZUZUZU, + SEName_RU_GASHIN, + SEName_RU_GASYAN, + SEName_RU_BARI, + SEName_RU_HYUU, + SEName_KI_GASYAN, + SEName_TK_WARPIN, + SEName_TK_WARPOUT, + SEName_TU_SAA, + SEName_HI_TURUN, + SEName_TRACK_MOVE, + SEName_TRACK_STOP, + SEName_TRACK_HAIK, + SEName_TRACK_DOOR, + SEName_MOTER, + SEName_CARD, + SEName_SAVE, + SEName_KON, + SEName_KON2, + SEName_KON3, + SEName_KON4, + SEName_SUIKOMU, + SEName_NAGERU, + SEName_TOY_C, + SEName_TOY_D, + SEName_TOY_E, + SEName_TOY_F, + SEName_TOY_G, + SEName_TOY_A, + SEName_TOY_B, + SEName_TOY_C1, + SEName_MIZU, + SEName_HASHI, + SEName_DAUGI, + SEName_PINPON, + SEName_FUUSEN1, + SEName_FUUSEN2, + SEName_FUUSEN3, + SEName_TOY_KABE, + SEName_TOY_DANGO, + SEName_DOKU, + SEName_ESUKA, + SEName_T_AME, + SEName_T_AME_E, + SEName_T_OOAME, + SEName_T_OOAME_E, + SEName_T_KOAME, + SEName_T_KOAME_E, + SEName_T_KAMI, + SEName_T_KAMI2, + SEName_ELEBETA, + SEName_HINSI, + SEName_EXPMAX, + SEName_TAMAKORO, + SEName_TAMAKORO_E, + SEName_BASABASA, + SEName_REGI, + SEName_C_GAJI, + SEName_C_MAKU_U, + SEName_C_MAKU_D, + SEName_C_PASI, + SEName_C_SYU, + SEName_C_PIKON, + SEName_REAPOKE, + SEName_OP_BASYU, + SEName_BT_START, + SEName_DENDOU, + SEName_JIHANKI, + SEName_TAMA, + SEName_Z_SCROLL, + SEName_Z_PAGE, + SEName_PN_ON, + SEName_PN_OFF, + SEName_Z_SEARCH, + SEName_TAMAGO, + SEName_TB_START, + SEName_TB_KON, + SEName_TB_KARA, + SEName_BIDORO, + SEName_W085, + SEName_W085B, + SEName_W231, + SEName_W171, + SEName_W233, + SEName_W233B, + SEName_W145, + SEName_W145B, + SEName_W145C, + SEName_W240, + SEName_W015, + SEName_W081, + SEName_W081B, + SEName_W088, + SEName_W016, + SEName_W016B, + SEName_W003, + SEName_W104, + SEName_W013, + SEName_W196, + SEName_W086, + SEName_W004, + SEName_W025, + SEName_W025B, + SEName_W152, + SEName_W026, + SEName_W172, + SEName_W172B, + SEName_W053, + SEName_W007, + SEName_W092, + SEName_W221, + SEName_W221B, + SEName_W052, + SEName_W036, + SEName_W059, + SEName_W059B, + SEName_W010, + SEName_W011, + SEName_W017, + SEName_W019, + SEName_W028, + SEName_W013B, + SEName_W044, + SEName_W029, + SEName_W057, + SEName_W056, + SEName_W250, + SEName_W030, + SEName_W039, + SEName_W054, + SEName_W077, + SEName_W020, + SEName_W082, + SEName_W047, + SEName_W195, + SEName_W006, + SEName_W091, + SEName_W146, + SEName_W120, + SEName_W153, + SEName_W071B, + SEName_W071, + SEName_W103, + SEName_W062, + SEName_W062B, + SEName_W048, + SEName_W187, + SEName_W118, + SEName_W155, + SEName_W122, + SEName_W060, + SEName_W185, + SEName_W014, + SEName_W043, + SEName_W207, + SEName_W207B, + SEName_W215, + SEName_W109, + SEName_W173, + SEName_W280, + SEName_W202, + SEName_W060B, + SEName_W076, + SEName_W080, + SEName_W100, + SEName_W107, + SEName_W166, + SEName_W129, + SEName_W115, + SEName_W112, + SEName_W197, + SEName_W199, + SEName_W236, + SEName_W204, + SEName_W268, + SEName_W070, + SEName_W063, + SEName_W127, + SEName_W179, + SEName_W151, + SEName_W201, + SEName_W161, + SEName_W161B, + SEName_W227, + SEName_W227B, + SEName_W226, + SEName_W208, + SEName_W213, + SEName_W213B, + SEName_W234, + SEName_W260, + SEName_W328, + SEName_W320, + SEName_W255, + SEName_W291, + SEName_W089, + SEName_W239, + SEName_W230, + SEName_W281, + SEName_W327, + SEName_W287, + SEName_W257, + SEName_W253, + SEName_W258, + SEName_W322, + SEName_W298, + SEName_W287B, + SEName_W114, + SEName_W063B +}; - switch(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]) - { - case 0x7F: - MenuPrint(lrStr, 7, 4); - break; - case -0x80: - MenuPrint(rlStr, 7, 4); - break; - default: - sub_80BAE78(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]], 7, 4, 3); - break; - } - sub_80BAE78(IsSEPlaying(), 12, 8, 1); -} void sub_80BB25C(u8 taskId) { @@ -2133,7 +1932,7 @@ 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; @@ -2144,7 +1943,7 @@ 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(); @@ -2155,40 +1954,40 @@ void sub_80BB25C(u8 taskId) REG_BG3CNT = 0x1D03; REG_DISPCNT = 0x1d40; m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2); - TASK.FUNC = sub_80BB3B4; + gTasks[taskId].FUNC = sub_80BB3B4; } void sub_80BB3B4(u8 taskId) { sub_8119F88(3); - if(gMain.newKeys & A_BUTTON) + if (gMain.newKeys & A_BUTTON) { sub_811A050(gUnknown_03005D34); } - if(gMain.newKeys & R_BUTTON) + if (gMain.newKeys & R_BUTTON) { StopCryAndClearCrySongs(); } - if(gMain.newAndRepeatedKeys & DPAD_UP) + if (gMain.newAndRepeatedKeys & DPAD_UP) { if(--gUnknown_03005D34 == 0) gUnknown_03005D34 = 384; // total species sub_80BB494(); } - if(gMain.newAndRepeatedKeys & DPAD_DOWN) + if (gMain.newAndRepeatedKeys & DPAD_DOWN) { if(++gUnknown_03005D34 > 384) gUnknown_03005D34 = 1; sub_80BB494(); } - if(gMain.newKeys & B_BUTTON) + if (gMain.newKeys & B_BUTTON) { REG_DISPCNT = 0x7140; REG_WIN0H = WIN_RANGE(17, 223); REG_WIN0V = WIN_RANGE(1, 31); MenuZeroFillWindowRect(0, 0, 0x1D, 0x13); - TASK.FUNC = sub_80BA258; + gTasks[taskId].FUNC = sub_80BA258; DestroyCryMeterNeedleSprite(); } } -- cgit v1.2.3 From 85f505cc083bae5196f4292b2c1621fa06f14e84 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 30 Sep 2017 20:03:09 -0500 Subject: use X-macro for sound list --- src/sound_check_menu.c | 1121 +++++++++++++++++------------------------------- 1 file changed, 385 insertions(+), 736 deletions(-) (limited to 'src') diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c index 438d8bd76..3cc25baf1 100644 --- a/src/sound_check_menu.c +++ b/src/sound_check_menu.c @@ -1167,750 +1167,399 @@ void sub_80BB1D4(void) sub_80BAE78(IsSEPlaying(), 12, 8, 1); } -// bgm names -static const u8 BGMName_STOP[] = _("STOP"); -static const u8 BGMName_TETSUJI[] = _("TETSUJI"); -static const u8 BGMName_FIELD13[] = _("FIELD13"); -static const u8 BGMName_KACHI22[] = _("KACHI22"); -static const u8 BGMName_KACHI2[] = _("KACHI2"); -static const u8 BGMName_KACHI3[] = _("KACHI3"); -static const u8 BGMName_KACHI5[] = _("KACHI5"); -static const u8 BGMName_PCC[] = _("PCC"); -static const u8 BGMName_NIBI[] = _("NIBI"); -static const u8 BGMName_SUIKUN[] = _("SUIKUN"); -static const u8 BGMName_DOORO1[] = _("DOORO1"); -static const u8 BGMName_DOORO_X1[] = _("DOORO-X1"); -static const u8 BGMName_DOORO_X3[] = _("DOORO-X3"); -static const u8 BGMName_MACHI_S2[] = _("MACHI-S2"); -static const u8 BGMName_MACHI_S4[] = _("MACHI-S4"); -static const u8 BGMName_GIM[] = _("GIM"); -static const u8 BGMName_NAMINORI[] = _("NAMINORI"); -static const u8 BGMName_DAN01[] = _("DAN01"); -static const u8 BGMName_FANFA1[] = _("FANFA1"); -static const u8 BGMName_ME_ASA[] = _("ME-ASA"); -static const u8 BGMName_ME_BACHI[] = _("ME-BACHI"); -static const u8 BGMName_FANFA4[] = _("FANFA4"); -static const u8 BGMName_FANFA5[] = _("FANFA5"); -static const u8 BGMName_ME_WAZA[] = _("ME-WAZA"); -static const u8 BGMName_BIJYUTU[] = _("BIJYUTU"); -static const u8 BGMName_DOORO_X4[] = _("DOORO-X4"); -static const u8 BGMName_FUNE_KAN[] = _("FUNE-KAN"); -static const u8 BGMName_ME_SHINKA[] = _("ME-SHINKA"); -static const u8 BGMName_SHINKA[] = _("SHINKA"); -static const u8 BGMName_ME_WASURE[] = _("ME-WASURE"); -static const u8 BGMName_SYOUJOEYE[] = _("SYOUJOEYE"); -static const u8 BGMName_BOYEYE[] = _("BOYEYE"); -static const u8 BGMName_DAN02[] = _("DAN02"); -static const u8 BGMName_MACHI_S3[] = _("MACHI-S3"); -static const u8 BGMName_ODAMAKI[] = _("ODAMAKI"); -static const u8 BGMName_B_TOWER[] = _("B-TOWER"); -static const u8 BGMName_SWIMEYE[] = _("SWIMEYE"); -static const u8 BGMName_DAN03[] = _("DAN03"); -static const u8 BGMName_ME_KINOMI[] = _("ME-KINOMI"); -static const u8 BGMName_ME_TAMA[] = _("ME-TAMA"); -static const u8 BGMName_ME_B_BIG[] = _("ME-B-BIG"); -static const u8 BGMName_ME_B_SMALL[] = _("ME-B-SMALL"); -static const u8 BGMName_ME_ZANNEN[] = _("ME-ZANNEN"); -static const u8 BGMName_BD_TIME[] = _("BD-TIME"); -static const u8 BGMName_TEST1[] = _("TEST1"); -static const u8 BGMName_TEST2[] = _("TEST2"); -static const u8 BGMName_TEST3[] = _("TEST3"); -static const u8 BGMName_TEST4[] = _("TEST4"); -static const u8 BGMName_TEST[] = _("TEST"); -static const u8 BGMName_GOMACHI0[] = _("GOMACHI0"); -static const u8 BGMName_GOTOWN[] = _("GOTOWN"); -static const u8 BGMName_POKECEN[] = _("POKECEN"); -static const u8 BGMName_NEXTROAD[] = _("NEXTROAD"); -static const u8 BGMName_GRANROAD[] = _("GRANROAD"); -static const u8 BGMName_CYCLING[] = _("CYCLING"); -static const u8 BGMName_FRIENDLY[] = _("FRIENDLY"); -static const u8 BGMName_MISHIRO[] = _("MISHIRO"); -static const u8 BGMName_TOZAN[] = _("TOZAN"); -static const u8 BGMName_GIRLEYE[] = _("GIRLEYE"); -static const u8 BGMName_MINAMO[] = _("MINAMO"); -static const u8 BGMName_ASHROAD[] = _("ASHROAD"); -static const u8 BGMName_EVENT0[] = _("EVENT0"); -static const u8 BGMName_DEEPDEEP[] = _("DEEPDEEP"); -static const u8 BGMName_KACHI1[] = _("KACHI1"); -static const u8 BGMName_TITLE3[] = _("TITLE3"); -static const u8 BGMName_DEMO1[] = _("DEMO1"); -static const u8 BGMName_GIRL_SUP[] = _("GIRL-SUP"); -static const u8 BGMName_HAGESHII[] = _("HAGESHII"); -static const u8 BGMName_KAKKOII[] = _("KAKKOII"); -static const u8 BGMName_KAZANBAI[] = _("KAZANBAI"); -static const u8 BGMName_AQA_0[] = _("AQA-0"); -static const u8 BGMName_TSURETEK[] = _("TSURETEK"); -static const u8 BGMName_BOY_SUP[] = _("BOY-SUP"); -static const u8 BGMName_RAINBOW[] = _("RAINBOW"); -static const u8 BGMName_AYASII[] = _("AYASII"); -static const u8 BGMName_KACHI4[] = _("KACHI4"); -static const u8 BGMName_ROPEWAY[] = _("ROPEWAY"); -static const u8 BGMName_CASINO[] = _("CASINO"); -static const u8 BGMName_HIGHTOWN[] = _("HIGHTOWN"); -static const u8 BGMName_SAFARI[] = _("SAFARI"); -static const u8 BGMName_C_ROAD[] = _("C-ROAD"); -static const u8 BGMName_AJITO[] = _("AJITO"); -static const u8 BGMName_M_BOAT[] = _("M-BOAT"); -static const u8 BGMName_M_DUNGON[] = _("M-DUNGON"); -static const u8 BGMName_FINECITY[] = _("FINECITY"); -static const u8 BGMName_MACHUPI[] = _("MACHUPI"); -static const u8 BGMName_P_SCHOOL[] = _("P-SCHOOL"); -static const u8 BGMName_DENDOU[] = _("DENDOU"); -static const u8 BGMName_TONEKUSA[] = _("TONEKUSA"); -static const u8 BGMName_MABOROSI[] = _("MABOROSI"); -static const u8 BGMName_CON_FAN[] = _("CON-FAN"); -static const u8 BGMName_CONTEST0[] = _("CONTEST0"); -static const u8 BGMName_MGM0[] = _("MGM0"); -static const u8 BGMName_T_BATTLE[] = _("T-BATTLE"); -static const u8 BGMName_OOAME[] = _("OOAME"); -static const u8 BGMName_HIDERI[] = _("HIDERI"); -static const u8 BGMName_RUNECITY[] = _("RUNECITY"); -static const u8 BGMName_CON_K[] = _("CON-K"); -static const u8 BGMName_EIKOU_R[] = _("EIKOU-R"); -static const u8 BGMName_KARAKURI[] = _("KARAKURI"); -static const u8 BGMName_HUTAGO[] = _("HUTAGO"); -static const u8 BGMName_SITENNOU[] = _("SITENNOU"); -static const u8 BGMName_YAMA_EYE[] = _("YAMA-EYE"); -static const u8 BGMName_CONLOBBY[] = _("CONLOBBY"); -static const u8 BGMName_INTER_V[] = _("INTER-V"); -static const u8 BGMName_DAIGO[] = _("DAIGO"); -static const u8 BGMName_THANKFOR[] = _("THANKFOR"); -static const u8 BGMName_END[] = _("END"); -static const u8 BGMName_BATTLE27[] = _("BATTLE27"); -static const u8 BGMName_BATTLE31[] = _("BATTLE31"); -static const u8 BGMName_BATTLE20[] = _("BATTLE20"); -static const u8 BGMName_BATTLE32[] = _("BATTLE32"); -static const u8 BGMName_BATTLE33[] = _("BATTLE33"); -static const u8 BGMName_BATTLE36[] = _("BATTLE36"); -static const u8 BGMName_BATTLE34[] = _("BATTLE34"); -static const u8 BGMName_BATTLE35[] = _("BATTLE35"); -static const u8 BGMName_BATTLE38[] = _("BATTLE38"); -static const u8 BGMName_BATTLE30[] = _("BATTLE30"); - +#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[] = { - BGMName_STOP, - BGMName_TETSUJI, - BGMName_FIELD13, - BGMName_KACHI22, - BGMName_KACHI2, - BGMName_KACHI3, - BGMName_KACHI5, - BGMName_PCC, - BGMName_NIBI, - BGMName_SUIKUN, - BGMName_DOORO1, - BGMName_DOORO_X1, - BGMName_DOORO_X3, - BGMName_MACHI_S2, - BGMName_MACHI_S4, - BGMName_GIM, - BGMName_NAMINORI, - BGMName_DAN01, - BGMName_FANFA1, - BGMName_ME_ASA, - BGMName_ME_BACHI, - BGMName_FANFA4, - BGMName_FANFA5, - BGMName_ME_WAZA, - BGMName_BIJYUTU, - BGMName_DOORO_X4, - BGMName_FUNE_KAN, - BGMName_ME_SHINKA, - BGMName_SHINKA, - BGMName_ME_WASURE, - BGMName_SYOUJOEYE, - BGMName_BOYEYE, - BGMName_DAN02, - BGMName_MACHI_S3, - BGMName_ODAMAKI, - BGMName_B_TOWER, - BGMName_SWIMEYE, - BGMName_DAN03, - BGMName_ME_KINOMI, - BGMName_ME_TAMA, - BGMName_ME_B_BIG, - BGMName_ME_B_SMALL, - BGMName_ME_ZANNEN, - BGMName_BD_TIME, - BGMName_TEST1, - BGMName_TEST2, - BGMName_TEST3, - BGMName_TEST4, - BGMName_TEST, - BGMName_GOMACHI0, - BGMName_GOTOWN, - BGMName_POKECEN, - BGMName_NEXTROAD, - BGMName_GRANROAD, - BGMName_CYCLING, - BGMName_FRIENDLY, - BGMName_MISHIRO, - BGMName_TOZAN, - BGMName_GIRLEYE, - BGMName_MINAMO, - BGMName_ASHROAD, - BGMName_EVENT0, - BGMName_DEEPDEEP, - BGMName_KACHI1, - BGMName_TITLE3, - BGMName_DEMO1, - BGMName_GIRL_SUP, - BGMName_HAGESHII, - BGMName_KAKKOII, - BGMName_KAZANBAI, - BGMName_AQA_0, - BGMName_TSURETEK, - BGMName_BOY_SUP, - BGMName_RAINBOW, - BGMName_AYASII, - BGMName_KACHI4, - BGMName_ROPEWAY, - BGMName_CASINO, - BGMName_HIGHTOWN, - BGMName_SAFARI, - BGMName_C_ROAD, - BGMName_AJITO, - BGMName_M_BOAT, - BGMName_M_DUNGON, - BGMName_FINECITY, - BGMName_MACHUPI, - BGMName_P_SCHOOL, - BGMName_DENDOU, - BGMName_TONEKUSA, - BGMName_MABOROSI, - BGMName_CON_FAN, - BGMName_CONTEST0, - BGMName_MGM0, - BGMName_T_BATTLE, - BGMName_OOAME, - BGMName_HIDERI, - BGMName_RUNECITY, - BGMName_CON_K, - BGMName_EIKOU_R, - BGMName_KARAKURI, - BGMName_HUTAGO, - BGMName_SITENNOU, - BGMName_YAMA_EYE, - BGMName_CONLOBBY, - BGMName_INTER_V, - BGMName_DAIGO, - BGMName_THANKFOR, - BGMName_END, - BGMName_BATTLE27, - BGMName_BATTLE31, - BGMName_BATTLE20, - BGMName_BATTLE32, - BGMName_BATTLE33, - BGMName_BATTLE36, - BGMName_BATTLE34, - BGMName_BATTLE35, - BGMName_BATTLE38, - BGMName_BATTLE30 +SOUND_LIST_BGM }; +#undef X -// SE names -static const u8 SEName_STOP[] = _("STOP"); -static const u8 SEName_KAIFUKU[] = _("KAIFUKU"); -static const u8 SEName_PC_LOGON[] = _("PC-LOGON"); -static const u8 SEName_PC_OFF[] = _("PC-OFF"); -static const u8 SEName_PC_ON[] = _("PC-ON"); -static const u8 SEName_SELECT[] = _("SELECT"); -static const u8 SEName_WIN_OPEN[] = _("WIN-OPEN"); -static const u8 SEName_WALL_HIT[] = _("WALL-HIT"); -static const u8 SEName_DOOR[] = _("DOOR"); -static const u8 SEName_KAIDAN[] = _("KAIDAN"); -static const u8 SEName_DANSA[] = _("DANSA"); -static const u8 SEName_JITENSYA[] = _("JITENSYA"); -static const u8 SEName_KOUKA_L[] = _("KOUKA-L"); -static const u8 SEName_KOUKA_M[] = _("KOUKA-M"); -static const u8 SEName_KOUKA_H[] = _("KOUKA-H"); -static const u8 SEName_BOWA2[] = _("BOWA2"); -static const u8 SEName_POKE_DEAD[] = _("POKE-DEAD"); -static const u8 SEName_NIGERU[] = _("NIGERU"); -static const u8 SEName_JIDO_DOA[] = _("JIDO-DOA"); -static const u8 SEName_NAMINORI[] = _("NAMINORI"); -static const u8 SEName_BAN[] = _("BAN"); -static const u8 SEName_PIN[] = _("PIN"); -static const u8 SEName_BOO[] = _("BOO"); -static const u8 SEName_BOWA[] = _("BOWA"); -static const u8 SEName_JYUNI[] = _("JYUNI"); -static const u8 SEName_A[] = _("A"); -static const u8 SEName_I[] = _("I"); -static const u8 SEName_U[] = _("U"); -static const u8 SEName_E[] = _("E"); -static const u8 SEName_O[] = _("O"); -static const u8 SEName_N[] = _("N"); -static const u8 SEName_SEIKAI[] = _("SEIKAI"); -static const u8 SEName_HAZURE[] = _("HAZURE"); -static const u8 SEName_EXP[] = _("EXP"); -static const u8 SEName_JITE_PYOKO[] = _("JITE-PYOKO"); -static const u8 SEName_MU_PACHI[] = _("MU-PACHI"); -static const u8 SEName_TK_KASYA[] = _("TK-KASYA"); -static const u8 SEName_FU_ZAKU[] = _("FU-ZAKU"); -static const u8 SEName_FU_ZAKU2[] = _("FU-ZAKU2"); -static const u8 SEName_FU_ZUZUZU[] = _("FU-ZUZUZU"); -static const u8 SEName_RU_GASHIN[] = _("RU-GASHIN"); -static const u8 SEName_RU_GASYAN[] = _("RU-GASYAN"); -static const u8 SEName_RU_BARI[] = _("RU-BARI"); -static const u8 SEName_RU_HYUU[] = _("RU-HYUU"); -static const u8 SEName_KI_GASYAN[] = _("KI-GASYAN"); -static const u8 SEName_TK_WARPIN[] = _("TK-WARPIN"); -static const u8 SEName_TK_WARPOUT[] = _("TK-WARPOUT"); -static const u8 SEName_TU_SAA[] = _("TU-SAA"); -static const u8 SEName_HI_TURUN[] = _("HI-TURUN"); -static const u8 SEName_TRACK_MOVE[] = _("TRACK-MOVE"); -static const u8 SEName_TRACK_STOP[] = _("TRACK-STOP"); -static const u8 SEName_TRACK_HAIK[] = _("TRACK-HAIK"); -static const u8 SEName_TRACK_DOOR[] = _("TRACK-DOOR"); -static const u8 SEName_MOTER[] = _("MOTER"); -static const u8 SEName_CARD[] = _("CARD"); -static const u8 SEName_SAVE[] = _("SAVE"); -static const u8 SEName_KON[] = _("KON"); -static const u8 SEName_KON2[] = _("KON2"); -static const u8 SEName_KON3[] = _("KON3"); -static const u8 SEName_KON4[] = _("KON4"); -static const u8 SEName_SUIKOMU[] = _("SUIKOMU"); -static const u8 SEName_NAGERU[] = _("NAGERU"); -static const u8 SEName_TOY_C[] = _("TOY-C"); -static const u8 SEName_TOY_D[] = _("TOY-D"); -static const u8 SEName_TOY_E[] = _("TOY-E"); -static const u8 SEName_TOY_F[] = _("TOY-F"); -static const u8 SEName_TOY_G[] = _("TOY-G"); -static const u8 SEName_TOY_A[] = _("TOY-A"); -static const u8 SEName_TOY_B[] = _("TOY-B"); -static const u8 SEName_TOY_C1[] = _("TOY-C1"); -static const u8 SEName_MIZU[] = _("MIZU"); -static const u8 SEName_HASHI[] = _("HASHI"); -static const u8 SEName_DAUGI[] = _("DAUGI"); -static const u8 SEName_PINPON[] = _("PINPON"); -static const u8 SEName_FUUSEN1[] = _("FUUSEN1"); -static const u8 SEName_FUUSEN2[] = _("FUUSEN2"); -static const u8 SEName_FUUSEN3[] = _("FUUSEN3"); -static const u8 SEName_TOY_KABE[] = _("TOY-KABE"); -static const u8 SEName_TOY_DANGO[] = _("TOY-DANGO"); -static const u8 SEName_DOKU[] = _("DOKU"); -static const u8 SEName_ESUKA[] = _("ESUKA"); -static const u8 SEName_T_AME[] = _("T-AME"); -static const u8 SEName_T_AME_E[] = _("T-AME-E"); -static const u8 SEName_T_OOAME[] = _("T-OOAME"); -static const u8 SEName_T_OOAME_E[] = _("T-OOAME-E"); -static const u8 SEName_T_KOAME[] = _("T-KOAME"); -static const u8 SEName_T_KOAME_E[] = _("T-KOAME-E"); -static const u8 SEName_T_KAMI[] = _("T-KAMI"); -static const u8 SEName_T_KAMI2[] = _("T-KAMI2"); -static const u8 SEName_ELEBETA[] = _("ELEBETA"); -static const u8 SEName_HINSI[] = _("HINSI"); -static const u8 SEName_EXPMAX[] = _("EXPMAX"); -static const u8 SEName_TAMAKORO[] = _("TAMAKORO"); -static const u8 SEName_TAMAKORO_E[] = _("TAMAKORO-E"); -static const u8 SEName_BASABASA[] = _("BASABASA"); -static const u8 SEName_REGI[] = _("REGI"); -static const u8 SEName_C_GAJI[] = _("C-GAJI"); -static const u8 SEName_C_MAKU_U[] = _("C-MAKU-U"); -static const u8 SEName_C_MAKU_D[] = _("C-MAKU-D"); -static const u8 SEName_C_PASI[] = _("C-PASI"); -static const u8 SEName_C_SYU[] = _("C-SYU"); -static const u8 SEName_C_PIKON[] = _("C-PIKON"); -static const u8 SEName_REAPOKE[] = _("REAPOKE"); -static const u8 SEName_OP_BASYU[] = _("OP-BASYU"); -static const u8 SEName_BT_START[] = _("BT-START"); -static const u8 SEName_DENDOU[] = _("DENDOU"); -static const u8 SEName_JIHANKI[] = _("JIHANKI"); -static const u8 SEName_TAMA[] = _("TAMA"); -static const u8 SEName_Z_SCROLL[] = _("Z-SCROLL"); -static const u8 SEName_Z_PAGE[] = _("Z-PAGE"); -static const u8 SEName_PN_ON[] = _("PN-ON"); -static const u8 SEName_PN_OFF[] = _("PN-OFF"); -static const u8 SEName_Z_SEARCH[] = _("Z-SEARCH"); -static const u8 SEName_TAMAGO[] = _("TAMAGO"); -static const u8 SEName_TB_START[] = _("TB-START"); -static const u8 SEName_TB_KON[] = _("TB-KON"); -static const u8 SEName_TB_KARA[] = _("TB-KARA"); -static const u8 SEName_BIDORO[] = _("BIDORO"); -static const u8 SEName_W085[] = _("W085"); -static const u8 SEName_W085B[] = _("W085B"); -static const u8 SEName_W231[] = _("W231"); -static const u8 SEName_W171[] = _("W171"); -static const u8 SEName_W233[] = _("W233"); -static const u8 SEName_W233B[] = _("W233B"); -static const u8 SEName_W145[] = _("W145"); -static const u8 SEName_W145B[] = _("W145B"); -static const u8 SEName_W145C[] = _("W145C"); -static const u8 SEName_W240[] = _("W240"); -static const u8 SEName_W015[] = _("W015"); -static const u8 SEName_W081[] = _("W081"); -static const u8 SEName_W081B[] = _("W081B"); -static const u8 SEName_W088[] = _("W088"); -static const u8 SEName_W016[] = _("W016"); -static const u8 SEName_W016B[] = _("W016B"); -static const u8 SEName_W003[] = _("W003"); -static const u8 SEName_W104[] = _("W104"); -static const u8 SEName_W013[] = _("W013"); -static const u8 SEName_W196[] = _("W196"); -static const u8 SEName_W086[] = _("W086"); -static const u8 SEName_W004[] = _("W004"); -static const u8 SEName_W025[] = _("W025"); -static const u8 SEName_W025B[] = _("W025B"); -static const u8 SEName_W152[] = _("W152"); -static const u8 SEName_W026[] = _("W026"); -static const u8 SEName_W172[] = _("W172"); -static const u8 SEName_W172B[] = _("W172B"); -static const u8 SEName_W053[] = _("W053"); -static const u8 SEName_W007[] = _("W007"); -static const u8 SEName_W092[] = _("W092"); -static const u8 SEName_W221[] = _("W221"); -static const u8 SEName_W221B[] = _("W221B"); -static const u8 SEName_W052[] = _("W052"); -static const u8 SEName_W036[] = _("W036"); -static const u8 SEName_W059[] = _("W059"); -static const u8 SEName_W059B[] = _("W059B"); -static const u8 SEName_W010[] = _("W010"); -static const u8 SEName_W011[] = _("W011"); -static const u8 SEName_W017[] = _("W017"); -static const u8 SEName_W019[] = _("W019"); -static const u8 SEName_W028[] = _("W028"); -static const u8 SEName_W013B[] = _("W013B"); -static const u8 SEName_W044[] = _("W044"); -static const u8 SEName_W029[] = _("W029"); -static const u8 SEName_W057[] = _("W057"); -static const u8 SEName_W056[] = _("W056"); -static const u8 SEName_W250[] = _("W250"); -static const u8 SEName_W030[] = _("W030"); -static const u8 SEName_W039[] = _("W039"); -static const u8 SEName_W054[] = _("W054"); -static const u8 SEName_W077[] = _("W077"); -static const u8 SEName_W020[] = _("W020"); -static const u8 SEName_W082[] = _("W082"); -static const u8 SEName_W047[] = _("W047"); -static const u8 SEName_W195[] = _("W195"); -static const u8 SEName_W006[] = _("W006"); -static const u8 SEName_W091[] = _("W091"); -static const u8 SEName_W146[] = _("W146"); -static const u8 SEName_W120[] = _("W120"); -static const u8 SEName_W153[] = _("W153"); -static const u8 SEName_W071B[] = _("W071B"); -static const u8 SEName_W071[] = _("W071"); -static const u8 SEName_W103[] = _("W103"); -static const u8 SEName_W062[] = _("W062"); -static const u8 SEName_W062B[] = _("W062B"); -static const u8 SEName_W048[] = _("W048"); -static const u8 SEName_W187[] = _("W187"); -static const u8 SEName_W118[] = _("W118"); -static const u8 SEName_W155[] = _("W155"); -static const u8 SEName_W122[] = _("W122"); -static const u8 SEName_W060[] = _("W060"); -static const u8 SEName_W185[] = _("W185"); -static const u8 SEName_W014[] = _("W014"); -static const u8 SEName_W043[] = _("W043"); -static const u8 SEName_W207[] = _("W207"); -static const u8 SEName_W207B[] = _("W207B"); -static const u8 SEName_W215[] = _("W215"); -static const u8 SEName_W109[] = _("W109"); -static const u8 SEName_W173[] = _("W173"); -static const u8 SEName_W280[] = _("W280"); -static const u8 SEName_W202[] = _("W202"); -static const u8 SEName_W060B[] = _("W060B"); -static const u8 SEName_W076[] = _("W076"); -static const u8 SEName_W080[] = _("W080"); -static const u8 SEName_W100[] = _("W100"); -static const u8 SEName_W107[] = _("W107"); -static const u8 SEName_W166[] = _("W166"); -static const u8 SEName_W129[] = _("W129"); -static const u8 SEName_W115[] = _("W115"); -static const u8 SEName_W112[] = _("W112"); -static const u8 SEName_W197[] = _("W197"); -static const u8 SEName_W199[] = _("W199"); -static const u8 SEName_W236[] = _("W236"); -static const u8 SEName_W204[] = _("W204"); -static const u8 SEName_W268[] = _("W268"); -static const u8 SEName_W070[] = _("W070"); -static const u8 SEName_W063[] = _("W063"); -static const u8 SEName_W127[] = _("W127"); -static const u8 SEName_W179[] = _("W179"); -static const u8 SEName_W151[] = _("W151"); -static const u8 SEName_W201[] = _("W201"); -static const u8 SEName_W161[] = _("W161"); -static const u8 SEName_W161B[] = _("W161B"); -static const u8 SEName_W227[] = _("W227"); -static const u8 SEName_W227B[] = _("W227B"); -static const u8 SEName_W226[] = _("W226"); -static const u8 SEName_W208[] = _("W208"); -static const u8 SEName_W213[] = _("W213"); -static const u8 SEName_W213B[] = _("W213B"); -static const u8 SEName_W234[] = _("W234"); -static const u8 SEName_W260[] = _("W260"); -static const u8 SEName_W328[] = _("W328"); -static const u8 SEName_W320[] = _("W320"); -static const u8 SEName_W255[] = _("W255"); -static const u8 SEName_W291[] = _("W291"); -static const u8 SEName_W089[] = _("W089"); -static const u8 SEName_W239[] = _("W239"); -static const u8 SEName_W230[] = _("W230"); -static const u8 SEName_W281[] = _("W281"); -static const u8 SEName_W327[] = _("W327"); -static const u8 SEName_W287[] = _("W287"); -static const u8 SEName_W257[] = _("W257"); -static const u8 SEName_W253[] = _("W253"); -static const u8 SEName_W258[] = _("W258"); -static const u8 SEName_W322[] = _("W322"); -static const u8 SEName_W298[] = _("W298"); -static const u8 SEName_W287B[] = _("W287B"); -static const u8 SEName_W114[] = _("W114"); -static const u8 SEName_W063B[] = _("W063B"); +// 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[] = { - SEName_STOP, - SEName_KAIFUKU, - SEName_PC_LOGON, - SEName_PC_OFF, - SEName_PC_ON, - SEName_SELECT, - SEName_WIN_OPEN, - SEName_WALL_HIT, - SEName_DOOR, - SEName_KAIDAN, - SEName_DANSA, - SEName_JITENSYA, - SEName_KOUKA_L, - SEName_KOUKA_M, - SEName_KOUKA_H, - SEName_BOWA2, - SEName_POKE_DEAD, - SEName_NIGERU, - SEName_JIDO_DOA, - SEName_NAMINORI, - SEName_BAN, - SEName_PIN, - SEName_BOO, - SEName_BOWA, - SEName_JYUNI, - SEName_A, - SEName_I, - SEName_U, - SEName_E, - SEName_O, - SEName_N, - SEName_SEIKAI, - SEName_HAZURE, - SEName_EXP, - SEName_JITE_PYOKO, - SEName_MU_PACHI, - SEName_TK_KASYA, - SEName_FU_ZAKU, - SEName_FU_ZAKU2, - SEName_FU_ZUZUZU, - SEName_RU_GASHIN, - SEName_RU_GASYAN, - SEName_RU_BARI, - SEName_RU_HYUU, - SEName_KI_GASYAN, - SEName_TK_WARPIN, - SEName_TK_WARPOUT, - SEName_TU_SAA, - SEName_HI_TURUN, - SEName_TRACK_MOVE, - SEName_TRACK_STOP, - SEName_TRACK_HAIK, - SEName_TRACK_DOOR, - SEName_MOTER, - SEName_CARD, - SEName_SAVE, - SEName_KON, - SEName_KON2, - SEName_KON3, - SEName_KON4, - SEName_SUIKOMU, - SEName_NAGERU, - SEName_TOY_C, - SEName_TOY_D, - SEName_TOY_E, - SEName_TOY_F, - SEName_TOY_G, - SEName_TOY_A, - SEName_TOY_B, - SEName_TOY_C1, - SEName_MIZU, - SEName_HASHI, - SEName_DAUGI, - SEName_PINPON, - SEName_FUUSEN1, - SEName_FUUSEN2, - SEName_FUUSEN3, - SEName_TOY_KABE, - SEName_TOY_DANGO, - SEName_DOKU, - SEName_ESUKA, - SEName_T_AME, - SEName_T_AME_E, - SEName_T_OOAME, - SEName_T_OOAME_E, - SEName_T_KOAME, - SEName_T_KOAME_E, - SEName_T_KAMI, - SEName_T_KAMI2, - SEName_ELEBETA, - SEName_HINSI, - SEName_EXPMAX, - SEName_TAMAKORO, - SEName_TAMAKORO_E, - SEName_BASABASA, - SEName_REGI, - SEName_C_GAJI, - SEName_C_MAKU_U, - SEName_C_MAKU_D, - SEName_C_PASI, - SEName_C_SYU, - SEName_C_PIKON, - SEName_REAPOKE, - SEName_OP_BASYU, - SEName_BT_START, - SEName_DENDOU, - SEName_JIHANKI, - SEName_TAMA, - SEName_Z_SCROLL, - SEName_Z_PAGE, - SEName_PN_ON, - SEName_PN_OFF, - SEName_Z_SEARCH, - SEName_TAMAGO, - SEName_TB_START, - SEName_TB_KON, - SEName_TB_KARA, - SEName_BIDORO, - SEName_W085, - SEName_W085B, - SEName_W231, - SEName_W171, - SEName_W233, - SEName_W233B, - SEName_W145, - SEName_W145B, - SEName_W145C, - SEName_W240, - SEName_W015, - SEName_W081, - SEName_W081B, - SEName_W088, - SEName_W016, - SEName_W016B, - SEName_W003, - SEName_W104, - SEName_W013, - SEName_W196, - SEName_W086, - SEName_W004, - SEName_W025, - SEName_W025B, - SEName_W152, - SEName_W026, - SEName_W172, - SEName_W172B, - SEName_W053, - SEName_W007, - SEName_W092, - SEName_W221, - SEName_W221B, - SEName_W052, - SEName_W036, - SEName_W059, - SEName_W059B, - SEName_W010, - SEName_W011, - SEName_W017, - SEName_W019, - SEName_W028, - SEName_W013B, - SEName_W044, - SEName_W029, - SEName_W057, - SEName_W056, - SEName_W250, - SEName_W030, - SEName_W039, - SEName_W054, - SEName_W077, - SEName_W020, - SEName_W082, - SEName_W047, - SEName_W195, - SEName_W006, - SEName_W091, - SEName_W146, - SEName_W120, - SEName_W153, - SEName_W071B, - SEName_W071, - SEName_W103, - SEName_W062, - SEName_W062B, - SEName_W048, - SEName_W187, - SEName_W118, - SEName_W155, - SEName_W122, - SEName_W060, - SEName_W185, - SEName_W014, - SEName_W043, - SEName_W207, - SEName_W207B, - SEName_W215, - SEName_W109, - SEName_W173, - SEName_W280, - SEName_W202, - SEName_W060B, - SEName_W076, - SEName_W080, - SEName_W100, - SEName_W107, - SEName_W166, - SEName_W129, - SEName_W115, - SEName_W112, - SEName_W197, - SEName_W199, - SEName_W236, - SEName_W204, - SEName_W268, - SEName_W070, - SEName_W063, - SEName_W127, - SEName_W179, - SEName_W151, - SEName_W201, - SEName_W161, - SEName_W161B, - SEName_W227, - SEName_W227B, - SEName_W226, - SEName_W208, - SEName_W213, - SEName_W213B, - SEName_W234, - SEName_W260, - SEName_W328, - SEName_W320, - SEName_W255, - SEName_W291, - SEName_W089, - SEName_W239, - SEName_W230, - SEName_W281, - SEName_W327, - SEName_W287, - SEName_W257, - SEName_W253, - SEName_W258, - SEName_W322, - SEName_W298, - SEName_W287B, - SEName_W114, - SEName_W063B +SOUND_LIST_SE }; - +#undef X void sub_80BB25C(u8 taskId) { -- cgit v1.2.3 From bdc9f5880e65e0b39d486feffc1c8131fe54edb4 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 30 Sep 2017 22:16:17 -0500 Subject: fix last nonmatching function and various improvements --- src/sound_check_menu.c | 655 ++++++++++++------------------------------------- 1 file changed, 158 insertions(+), 497 deletions(-) (limited to 'src') 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); } -- cgit v1.2.3 From 30bc88f6572c435ff49b62f16c3734c12f75f7f0 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 30 Sep 2017 23:57:37 -0500 Subject: more labeling --- src/sound_check_menu.c | 304 ++++++++++++++++++++++++------------------------- 1 file changed, 148 insertions(+), 156 deletions(-) (limited to 'src') diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c index e8f98838c..14261b75e 100644 --- a/src/sound_check_menu.c +++ b/src/sound_check_menu.c @@ -15,10 +15,6 @@ #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 -// i dont have a define for data 8 yet because its used in a nonmatching and I can't be sure yet its actually used. // window selections enum @@ -30,7 +26,7 @@ enum // driver test cry enums enum { - CRY_TEST_UNK0, + CRY_TEST_VOICE, CRY_TEST_VOLUME, CRY_TEST_PANPOT, CRY_TEST_PITCH, @@ -60,12 +56,12 @@ 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 gUnknown_020387B3 = 0; -static EWRAM_DATA int gUnknown_020387B4[9] = {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; -extern u16 gUnknown_03005D34; +u16 gSoundTestCryNum; extern u8 gUnknown_03005E98; struct MusicPlayerInfo *gUnknown_03005D30; @@ -80,17 +76,17 @@ void HighlightSelectedWindow(u8); void PrintSoundNumber(u16, u16, u16); void sub_80BA79C(const u8 *const, u16, u16); void Task_DrawDriverTestMenu(u8); -void sub_80BAA48(u8); -void sub_80BACDC(s8); -void sub_80BAD5C(void); +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 sub_80BB25C(u8); -void sub_80BB3B4(u8); -void sub_80BB494(void); +void Task_InitCryTest(u8); +void Task_ProcessCryTestInput(u8); +void PrintCryNumber(void); void CB2_SoundCheckMenu(void) { @@ -158,9 +154,9 @@ void CB2_StartSoundCheckMenu(void) gTasks[taskId].tWindowSelected = BGM_WINDOW; gTasks[taskId].tBgmIndex = 0; gTasks[taskId].tSeIndex = 0; - gTasks[taskId].UNK_DATA3 = 0; + gTasks[taskId].data[3] = 0; gUnknown_020387B0 = 0; - gTasks[taskId].UNK_DATA3 = 0; // why? + gTasks[taskId].data[3] = 0; // why? m4aSoundInit(); } @@ -219,7 +215,7 @@ bool8 Task_ProcessSoundCheckMenuInput(u8 taskId) } else if (gMain.newKeys & START_BUTTON) { - gTasks[taskId].func = sub_80BB25C; + gTasks[taskId].func = Task_InitCryTest; } else if (gMain.newKeys & A_BUTTON) { @@ -227,11 +223,11 @@ bool8 Task_ProcessSoundCheckMenuInput(u8 taskId) { if (gTasks[taskId].data[4] != 0) { - if (gTasks[taskId].data[2] != 0) + if (gTasks[taskId].tSeIndex != 0) { m4aSongNumStop(gTasks[taskId].data[4]); - m4aSongNumStart(gTasks[taskId].data[2]); - gTasks[taskId].data[4] = gTasks[taskId].data[2]; + m4aSongNumStart(gTasks[taskId].tSeIndex); + gTasks[taskId].data[4] = gTasks[taskId].tSeIndex; } else { @@ -239,13 +235,10 @@ bool8 Task_ProcessSoundCheckMenuInput(u8 taskId) gTasks[taskId].data[4] = 0; } } - else + else if (gTasks[taskId].tSeIndex != 0) { - if (gTasks[taskId].data[2] != 0) - { - m4aSongNumStart(gTasks[taskId].data[2]); - gTasks[taskId].data[4] = gTasks[taskId].data[2]; - } + m4aSongNumStart(gTasks[taskId].tSeIndex); + gTasks[taskId].data[4] = gTasks[taskId].tSeIndex; } } else @@ -294,14 +287,14 @@ bool8 Task_ProcessSoundCheckMenuInput(u8 taskId) if (gTasks[taskId].tSeIndex > 0) gTasks[taskId].tSeIndex--; else - gTasks[taskId].tSeIndex = 0xF7; + gTasks[taskId].tSeIndex = 247; } else { if (gTasks[taskId].tBgmIndex > 0) gTasks[taskId].tBgmIndex--; else - gTasks[taskId].tBgmIndex = 0x75; + gTasks[taskId].tBgmIndex = 117; } return TRUE; } @@ -309,14 +302,14 @@ bool8 Task_ProcessSoundCheckMenuInput(u8 taskId) { if (gTasks[taskId].tWindowSelected != 0) { - if (gTasks[taskId].tSeIndex < 0xF7) + if (gTasks[taskId].tSeIndex < 247) gTasks[taskId].tSeIndex++; else gTasks[taskId].tSeIndex = 0; } else { - if (gTasks[taskId].tBgmIndex < 0x75) + if (gTasks[taskId].tBgmIndex < 117) gTasks[taskId].tBgmIndex++; else gTasks[taskId].tBgmIndex = 0; @@ -445,29 +438,27 @@ void Task_DrawDriverTestMenu(u8 taskId) // Task_DrawDriverTestMenu MenuPrint(stereoStr, 19, 12); REG_WIN0H = WIN_RANGE(0, DISPLAY_WIDTH); REG_WIN0V = WIN_RANGE(0, DISPLAY_HEIGHT); - gUnknown_020387B3 = 0; + sDriverTestSelection = 0; gUnknown_020387B1 = 0; gUnknown_020387B2 = 0; gUnknown_03005D30 = NULL; gUnknown_020387D8 = 0; gUnknown_020387D9 = 1; - gUnknown_020387B4[CRY_TEST_UNK0] = 0; - gUnknown_020387B4[CRY_TEST_VOLUME] = 0x78; - gUnknown_020387B4[CRY_TEST_PANPOT] = 0; - gUnknown_020387B4[CRY_TEST_PITCH] = 0x3C00; - gUnknown_020387B4[CRY_TEST_LENGTH] = 0xB4; - gUnknown_020387B4[CRY_TEST_PROGRESS] = 0; - gUnknown_020387B4[CRY_TEST_RELEASE] = 0; - gUnknown_020387B4[CRY_TEST_CHORUS] = 0; - gUnknown_020387B4[CRY_TEST_PRIORITY] = 2; - sub_80BAD5C(); + 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 = sub_80BAA48; + gTasks[taskId].func = Task_ProcessDriverTestInput; } - - -void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput +void Task_ProcessDriverTestInput(u8 taskId) { if (gMain.newKeys & B_BUTTON) { @@ -480,74 +471,74 @@ void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput } if (gMain.newAndRepeatedKeys & DPAD_UP) // _080BAAA8 { - u8 backupVar = gUnknown_020387B3; - if(--gUnknown_020387B3 < 0) - gUnknown_020387B3 = 8; + u8 old = sDriverTestSelection; - sub_80BAE10(backupVar, gUnknown_020387B3); + if(--sDriverTestSelection < 0) + sDriverTestSelection = 8; + sub_80BAE10(old, sDriverTestSelection); return; } if (gMain.newAndRepeatedKeys & DPAD_DOWN) // _080BAAD0 { - u8 backupVar = gUnknown_020387B3; - if(++gUnknown_020387B3 > 8) - gUnknown_020387B3 = 0; + u8 old = sDriverTestSelection; - sub_80BAE10(backupVar, gUnknown_020387B3); + if(++sDriverTestSelection > 8) + sDriverTestSelection = 0; + sub_80BAE10(old, sDriverTestSelection); return; } if (gMain.newKeys & START_BUTTON) // _080BAAF8 { gUnknown_020387D8 ^= 1; - sub_80BAD5C(); + PrintDriverTestMenuText(); return; } if (gMain.newKeys & SELECT_BUTTON) // _080BAB14 { gUnknown_020387D9 ^= 1; - sub_80BAD5C(); + PrintDriverTestMenuText(); SetPokemonCryStereo(gUnknown_020387D9); return; } if (gMain.newAndRepeatedKeys & R_BUTTON) // _080BAB38 { - sub_80BACDC(10); - sub_80BAD5C(); + AdjustSelectedDriverParam(10); + PrintDriverTestMenuText(); return; } if (gMain.newAndRepeatedKeys & L_BUTTON) // _080BAB46 { - sub_80BACDC(-10); - sub_80BAD5C(); + AdjustSelectedDriverParam(-10); + PrintDriverTestMenuText(); return; } if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BAB56 { - sub_80BACDC(-1); - sub_80BAD5C(); + AdjustSelectedDriverParam(-1); + PrintDriverTestMenuText(); return; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BAB64 { - sub_80BACDC(1); - sub_80BAD5C(); + AdjustSelectedDriverParam(1); + PrintDriverTestMenuText(); return; } if (gMain.newKeys & A_BUTTON) // _080BAB78 { u8 divide, remaining; - SetPokemonCryVolume(gUnknown_020387B4[CRY_TEST_VOLUME]); - SetPokemonCryPanpot(gUnknown_020387B4[CRY_TEST_PANPOT]); - SetPokemonCryPitch(gUnknown_020387B4[CRY_TEST_PITCH]); - SetPokemonCryLength(gUnknown_020387B4[CRY_TEST_LENGTH]); - SetPokemonCryProgress(gUnknown_020387B4[CRY_TEST_PROGRESS]); - SetPokemonCryRelease(gUnknown_020387B4[CRY_TEST_RELEASE]); - SetPokemonCryChorus(gUnknown_020387B4[CRY_TEST_CHORUS]); - SetPokemonCryPriority(gUnknown_020387B4[CRY_TEST_PRIORITY]); + 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 = gUnknown_020387B4[CRY_TEST_UNK0] % 128; - divide = gUnknown_020387B4[CRY_TEST_UNK0] / 128; + remaining = sSoundTestParams[CRY_TEST_VOICE] % 128; + divide = sSoundTestParams[CRY_TEST_VOICE] / 128; switch (divide) { @@ -584,47 +575,48 @@ void sub_80BAA48(u8 taskId) // Task_ProcessDriverTestInput gUnknown_020387B1 = IsPokemonCryPlaying(gUnknown_03005D30); if (gUnknown_020387B1 != gUnknown_020387B2) - sub_80BAD5C(); + PrintDriverTestMenuText(); gUnknown_020387B2 = gUnknown_020387B1; } } -void sub_80BACDC(s8 var) +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 minMaxArray[16] = + int paramRanges[] = { - 0, 387, - 0, 127, - -127, 127, - -128, 32639, - 0, 65535, - 0, 255, - 0, 65535, - -64, 63 + 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? }; - gUnknown_020387B4[gUnknown_020387B3] += var; + sSoundTestParams[sDriverTestSelection] += delta; - if (gUnknown_020387B4[gUnknown_020387B3] > minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)]) - gUnknown_020387B4[gUnknown_020387B3] = minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)]; + if (sSoundTestParams[sDriverTestSelection] > paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MAX)]) + sSoundTestParams[sDriverTestSelection] = paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MIN)]; - if (gUnknown_020387B4[gUnknown_020387B3] < minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MIN)]) - gUnknown_020387B4[gUnknown_020387B3] = minMaxArray[MULTI_DIM_ARR(gUnknown_020387B3, B_16, MAX)]; + if (sSoundTestParams[sDriverTestSelection] < paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MIN)]) + sSoundTestParams[sDriverTestSelection] = paramRanges[MULTI_DIM_ARR(sDriverTestSelection, B_16, MAX)]; } -void sub_80BAD5C(void) +void PrintDriverTestMenuText(void) { - 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(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); @@ -703,11 +695,11 @@ void sub_80BAF84(u8 taskId) MenuPrint(playingStr, 3, 8); 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; + 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; } @@ -715,29 +707,29 @@ void sub_80BAF84(u8 taskId) void sub_80BB038(u8 taskId) { sub_80BB1D4(); - if (gUnknown_020387B4[CRY_TEST_PROGRESS]) + if (sSoundTestParams[CRY_TEST_PROGRESS]) { - if (gUnknown_020387B4[CRY_TEST_RELEASE]) + if (sSoundTestParams[CRY_TEST_RELEASE]) { - gUnknown_020387B4[CRY_TEST_RELEASE]--; + sSoundTestParams[CRY_TEST_RELEASE]--; } else // _080BB05C { - s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]; + s8 panpot = gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]]; if (panpot != -128) { if (panpot == 127) { - gUnknown_020387B4[CRY_TEST_CHORUS] += 2; - if (gUnknown_020387B4[CRY_TEST_CHORUS] < 63) - SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]); + sSoundTestParams[CRY_TEST_CHORUS] += 2; + if (sSoundTestParams[CRY_TEST_CHORUS] < 63) + SE12PanpotControl(sSoundTestParams[CRY_TEST_CHORUS]); } } else // _080BB08C { - gUnknown_020387B4[CRY_TEST_CHORUS] -= 2; - if (gUnknown_020387B4[CRY_TEST_CHORUS] > -64) - SE12PanpotControl(gUnknown_020387B4[CRY_TEST_CHORUS]); + sSoundTestParams[CRY_TEST_CHORUS] -= 2; + if (sSoundTestParams[CRY_TEST_CHORUS] > -64) + SE12PanpotControl(sSoundTestParams[CRY_TEST_CHORUS]); } } } @@ -753,54 +745,54 @@ void sub_80BB038(u8 taskId) } if (gMain.newKeys & A_BUTTON) // _080BB104 { - s8 panpot = gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]; + s8 panpot = gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]]; if (panpot != -128) { if (panpot == 127) { - PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], -64); - gUnknown_020387B4[CRY_TEST_CHORUS] = -64; - gUnknown_020387B4[CRY_TEST_PROGRESS] = 1; - gUnknown_020387B4[CRY_TEST_RELEASE] = 30; + 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(gUnknown_020387B4[CRY_TEST_UNK0], 63); - gUnknown_020387B4[CRY_TEST_CHORUS] = 63; - gUnknown_020387B4[CRY_TEST_PROGRESS] = 1; - gUnknown_020387B4[CRY_TEST_RELEASE] = 30; + PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], 63); + sSoundTestParams[CRY_TEST_CHORUS] = 63; + sSoundTestParams[CRY_TEST_PROGRESS] = 1; + sSoundTestParams[CRY_TEST_RELEASE] = 30; return; } // _080BB154 - PlaySE12WithPanning(gUnknown_020387B4[CRY_TEST_UNK0], panpot); - gUnknown_020387B4[CRY_TEST_PROGRESS] = 0; + PlaySE12WithPanning(sSoundTestParams[CRY_TEST_VOICE], panpot); + sSoundTestParams[CRY_TEST_PROGRESS] = 0; return; } if (gMain.newKeys & L_BUTTON) // _080BB15E { - gUnknown_020387B4[CRY_TEST_PANPOT]++; - if (gUnknown_020387B4[CRY_TEST_PANPOT] > 4) - gUnknown_020387B4[CRY_TEST_PANPOT] = 0; + sSoundTestParams[CRY_TEST_PANPOT]++; + if (sSoundTestParams[CRY_TEST_PANPOT] > 4) + sSoundTestParams[CRY_TEST_PANPOT] = 0; } if (gMain.newKeys & R_BUTTON) // _080BB176 { - gUnknown_020387B4[CRY_TEST_PANPOT]--; - if (gUnknown_020387B4[CRY_TEST_PANPOT] < 0) - gUnknown_020387B4[CRY_TEST_PANPOT] = 4; + sSoundTestParams[CRY_TEST_PANPOT]--; + if (sSoundTestParams[CRY_TEST_PANPOT] < 0) + sSoundTestParams[CRY_TEST_PANPOT] = 4; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) // _080BB192 { - gUnknown_020387B4[CRY_TEST_UNK0]++; - if (gUnknown_020387B4[CRY_TEST_UNK0] > 0xF7) - gUnknown_020387B4[CRY_TEST_UNK0] = 0; + sSoundTestParams[CRY_TEST_VOICE]++; + if (sSoundTestParams[CRY_TEST_VOICE] > 247) + sSoundTestParams[CRY_TEST_VOICE] = 0; } else if (gMain.newAndRepeatedKeys & DPAD_LEFT) // _080BB1B0 { - gUnknown_020387B4[CRY_TEST_UNK0]--; - if (gUnknown_020387B4[CRY_TEST_UNK0] < 0) - gUnknown_020387B4[CRY_TEST_UNK0] = 0xF7; + sSoundTestParams[CRY_TEST_VOICE]--; + if (sSoundTestParams[CRY_TEST_VOICE] < 0) + sSoundTestParams[CRY_TEST_VOICE] = 247; } } @@ -809,18 +801,18 @@ void sub_80BB1D4(void) u8 lrStr[] = _(" LR"); u8 rlStr[] = _(" RL"); - PrintSignedNumber(gUnknown_020387B4[CRY_TEST_UNK0], 7, 2, 3); + PrintSignedNumber(sSoundTestParams[CRY_TEST_VOICE], 7, 2, 3); - switch (gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]]) + switch (gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]]) { - case 0x7F: + case 127: MenuPrint(lrStr, 7, 4); break; - case -0x80: + case -128: MenuPrint(rlStr, 7, 4); break; default: - PrintSignedNumber(gUnknown_083D03F8[gUnknown_020387B4[CRY_TEST_PANPOT]], 7, 4, 3); + PrintSignedNumber(gUnknown_083D03F8[sSoundTestParams[CRY_TEST_PANPOT]], 7, 4, 3); break; } PrintSignedNumber(IsSEPlaying(), 12, 8, 1); @@ -1220,14 +1212,14 @@ SOUND_LIST_SE }; #undef X -void sub_80BB25C(u8 taskId) +void Task_InitCryTest(u8 taskId) { struct CryRelatedStruct cryStruct, cryStruct2; u8 zero; SetUpWindowConfig(&gWindowConfig_81E6C3C); InitMenuWindow(&gWindowConfig_81E6CE4); - gUnknown_03005D34 = 1; + gSoundTestCryNum = 1; ResetSpriteData(); FreeAllSpritePalettes(); @@ -1256,7 +1248,7 @@ void sub_80BB25C(u8 taskId) ; MenuDrawTextWindow(0, 16, 5, 19); - sub_80BB494(); + PrintCryNumber(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); REG_BG2HOFS = 0; REG_BG2VOFS = 0; @@ -1264,16 +1256,16 @@ void sub_80BB25C(u8 taskId) REG_BG3CNT = 0x1D03; REG_DISPCNT = 0x1d40; m4aMPlayFadeOutTemporarily(&gMPlay_BGM, 2); - gTasks[taskId].func = sub_80BB3B4; + gTasks[taskId].func = Task_ProcessCryTestInput; } -void sub_80BB3B4(u8 taskId) +void Task_ProcessCryTestInput(u8 taskId) { sub_8119F88(3); if (gMain.newKeys & A_BUTTON) { - sub_811A050(gUnknown_03005D34); + sub_811A050(gSoundTestCryNum); } if (gMain.newKeys & R_BUTTON) { @@ -1281,15 +1273,15 @@ void sub_80BB3B4(u8 taskId) } if (gMain.newAndRepeatedKeys & DPAD_UP) { - if(--gUnknown_03005D34 == 0) - gUnknown_03005D34 = 384; // total species - sub_80BB494(); + if(--gSoundTestCryNum == 0) + gSoundTestCryNum = 384; // total species + PrintCryNumber(); } if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - if(++gUnknown_03005D34 > 384) - gUnknown_03005D34 = 1; - sub_80BB494(); + if(++gSoundTestCryNum > 384) + gSoundTestCryNum = 1; + PrintCryNumber(); } if (gMain.newKeys & B_BUTTON) { @@ -1302,7 +1294,7 @@ void sub_80BB3B4(u8 taskId) } } -void sub_80BB494(void) +void PrintCryNumber(void) { - PrintSignedNumber(gUnknown_03005D34, 1, 17, 3); + PrintSignedNumber(gSoundTestCryNum, 1, 17, 3); } -- cgit v1.2.3