From 8c44c7b9494ea503887832b1fdf3a9902c5abbda Mon Sep 17 00:00:00 2001 From: SatoMew Date: Mon, 26 Aug 2019 20:23:25 +0100 Subject: Replace labels for used and unused Saffron City maps --- src/heal_location.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/heal_location.c b/src/heal_location.c index 9756f0951..5c6dbc882 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -19,7 +19,7 @@ static const struct HealLocation sSpawnPoints[] = { [SPAWN_FUCHSIA_CITY - 1] = {MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY), 0x19, 0x20}, [SPAWN_CINNABAR_ISLAND - 1] = {MAP_GROUP(CINNABAR_ISLAND), MAP_NUM(CINNABAR_ISLAND), 0x0e, 0x0c}, [SPAWN_INDIGO_PLATEAU - 1] = {MAP_GROUP(INDIGO_PLATEAU_EXTERIOR), MAP_NUM(INDIGO_PLATEAU_EXTERIOR), 0x0b, 0x07}, - [SPAWN_SAFFRON_CITY - 1] = {MAP_GROUP(SAFFRON_CITY_DUPLICATE), MAP_NUM(SAFFRON_CITY_DUPLICATE), 0x18, 0x27}, + [SPAWN_SAFFRON_CITY - 1] = {MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY), 0x18, 0x27}, [SPAWN_ROUTE4 - 1] = {MAP_GROUP(ROUTE4), MAP_NUM(ROUTE4), 0x0c, 0x06}, [SPAWN_ROUTE10 - 1] = {MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10), 0x0d, 0x15}, [SPAWN_ONE_ISLAND - 1] = {MAP_GROUP(ONE_ISLAND), MAP_NUM(ONE_ISLAND), 0x0e, 0x06}, -- cgit v1.2.3 From 2fe6b6db8cd681de8cf1671936452aa8bb1103f5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 7 Oct 2019 14:06:47 -0400 Subject: main menu through sub_800C780 --- src/main_menu.c | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 src/main_menu.c (limited to 'src') diff --git a/src/main_menu.c b/src/main_menu.c new file mode 100644 index 000000000..dfc4fb808 --- /dev/null +++ b/src/main_menu.c @@ -0,0 +1,217 @@ +#include "global.h" +#include "palette.h" +#include "gpu_regs.h" +#include "scanline_effect.h" +#include "bg.h" +#include "task.h" +#include "text.h" +#include "save.h" +#include "event_data.h" +#include "window.h" +#include "strings.h" + +bool32 sub_800C318(u8 a0); +void sub_800C4D0(u8 taskId); +void sub_800C634(u8 taskId, const u8 *str); +void sub_800C688(u8 taskId); +void sub_800C704(u8 taskId); +void sub_800C780(u8 taskId); +void sub_800C7A0(u8 taskId); +void sub_800CA94(u8 taskId); +void sub_800CDF8(const u8 *str); +void sub_800D044(u8 a0); +void sub_800D094(u8 a0); +void sub_800D1E8(const struct WindowTemplate * template); + +extern const struct WindowTemplate gUnknown_8234618[]; +extern const u16 gUnknown_8234648[]; +extern const u16 gUnknown_8234668[]; +extern const struct BgTemplate gUnknown_8234690[1]; + +void sub_800C2D4(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_800C2EC(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_800C300(void) +{ + sub_800C318(1); +} + +void sub_800C30C(void) +{ + sub_800C318(1); +} + +bool32 sub_800C318(u8 a0) +{ + u8 taskId; + + SetVBlankCallback(NULL); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *)OAM, OAM_SIZE); + DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, gUnknown_8234690, NELEMS(gUnknown_8234690)); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + InitWindows(gUnknown_8234618); + DeactivateAllTextPrinters(); + LoadPalette(gUnknown_8234648, 0x00, 0x20); + LoadPalette(gUnknown_8234668, 0xF0, 0x20); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetMainCallback2(sub_800C2D4); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON); + taskId = CreateTask(sub_800C4D0, 0); + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[8] = a0; + return FALSE; +} + +void sub_800C4D0(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0x0001); + SetGpuReg(REG_OFFSET_WINOUT, 0x0021); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + SetGpuReg(REG_OFFSET_BLDY, 7); + switch (gSaveFileStatus) + { + case 1: + sub_800D044(0); + if (sub_806E2BC() == TRUE) + { + gTasks[taskId].data[0] = 2; + } + else + { + gTasks[taskId].data[0] = 1; + } + gTasks[taskId].func = sub_800C704; + break; + case 2: + sub_800D094(0); + gTasks[taskId].data[0] = 0; + sub_800C634(taskId, gText_SaveFileHasBeenDeleted); + break; + case 0xFF: + sub_800D094(0); + gTasks[taskId].data[0] = 1; + sub_800C634(taskId, gText_SaveFileCorruptedPrevWillBeLoaded); + if (sub_806E2BC() == TRUE) + { + gTasks[taskId].data[0] = 2; + } + else + { + gTasks[taskId].data[0] = 1; + } + break; + case 0: + default: + sub_800D044(0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_800C704; + break; + case 4: + sub_800D094(0); + gTasks[taskId].data[0] = 0; + sub_800C634(taskId, gText_1MSubCircuitBoardNotInstalled); + break; + } + } +} + +void sub_800C634(u8 taskId, const u8 *str) +{ + sub_800CDF8(str); + gTasks[taskId].func = sub_800C688; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF); + ShowBg(0); + SetVBlankCallback(sub_800C2EC); +} + +void sub_800C688(u8 taskId) +{ + if (!gPaletteFade.active) + { + RunTextPrinters(); + if (!IsTextPrinterActive(4) && JOY_NEW(A_BUTTON)) + { + ClearWindowTilemap(4); + sub_800D1E8(&gUnknown_8234618[4]); + sub_800D044(0); + if (gTasks[taskId].data[0] == 0) + gTasks[taskId].func = sub_800C704; + else + gTasks[taskId].func = sub_800C7A0; + } + } +} + +void sub_800C704(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0x0001); + SetGpuReg(REG_OFFSET_WINOUT, 0x0021); + SetGpuReg(REG_OFFSET_BLDCNT, + BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | + BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + SetGpuReg(REG_OFFSET_BLDY, 7); + if (gTasks[taskId].data[0] == 0) + gTasks[taskId].func = sub_800CA94; + else + gTasks[taskId].func = sub_800C780; + } +} + +void sub_800C780(u8 taskId) +{ + if (!gPaletteFade.active) + { + sub_800C7A0(taskId); + } +} -- cgit v1.2.3 From 0f67a952a396c80984236b45974407bcc8f6191d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 7 Oct 2019 17:06:11 -0400 Subject: main_menu through sub_800CE70 --- src/main_menu.c | 328 ++++++++++++++++++++++++++++++++++++++++++++++++ src/mystery_gift_menu.c | 66 +--------- src/quest_log.c | 14 +-- 3 files changed, 337 insertions(+), 71 deletions(-) (limited to 'src') diff --git a/src/main_menu.c b/src/main_menu.c index dfc4fb808..7be99ce2c 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -3,12 +3,23 @@ #include "gpu_regs.h" #include "scanline_effect.h" #include "bg.h" +#include "dma3.h" #include "task.h" #include "text.h" #include "save.h" #include "event_data.h" #include "window.h" +#include "menu.h" +#include "link.h" +#include "oak_speech.h" +#include "overworld.h" +#include "quest_log.h" +#include "mystery_gift_menu.h" #include "strings.h" +#include "sound.h" +#include "title_screen.h" +#include "help_system.h" +#include "constants/songs.h" bool32 sub_800C318(u8 a0); void sub_800C4D0(u8 taskId); @@ -17,16 +28,32 @@ void sub_800C688(u8 taskId); void sub_800C704(u8 taskId); void sub_800C780(u8 taskId); void sub_800C7A0(u8 taskId); +void sub_800C9CC(u8 taskId); +void sub_800CA28(u8 taskId); +void sub_800CA54(u8 taskId); void sub_800CA94(u8 taskId); +void sub_800CB90(u8 taskId); +void sub_800CC68(u8 taskId); +void sub_800CC94(u8 menuType, u8 cursorPos); +bool8 sub_800CCF8(u8 taskId); void sub_800CDF8(const u8 *str); +void sub_800CE58(void); +void sub_800CE70(void); +void sub_800CED4(void); +void sub_800CF3C(void); +void sub_800CFC4(void); void sub_800D044(u8 a0); void sub_800D094(u8 a0); +void sub_800D0B4(const struct WindowTemplate * template); void sub_800D1E8(const struct WindowTemplate * template); extern const struct WindowTemplate gUnknown_8234618[]; extern const u16 gUnknown_8234648[]; extern const u16 gUnknown_8234668[]; +extern const u8 gUnknown_8234688[]; +extern const u8 gUnknown_823468B[]; extern const struct BgTemplate gUnknown_8234690[1]; +extern const u8 gUnknown_8234694[]; void sub_800C2D4(void) { @@ -215,3 +242,304 @@ void sub_800C780(u8 taskId) sub_800C7A0(taskId); } } + +void sub_800C7A0(u8 taskId) +{ + u16 pal; + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0x0001); + SetGpuReg(REG_OFFSET_WINOUT, 0x0021); + SetGpuReg(REG_OFFSET_BLDCNT, + BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | + BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + SetGpuReg(REG_OFFSET_BLDY, 7); + if (gSaveBlock2Ptr->playerGender == MALE) + pal = RGB(4, 16, 31); + else + pal = RGB(31, 3, 21); + LoadPalette(&pal, 0xF1, 2); + switch (gTasks[taskId].data[0]) + { + case 0: + default: + FillWindowPixelBuffer(0, PIXEL_FILL(10)); + AddTextPrinterParameterized3(0, 2, 2, 2, gUnknown_8234688, -1, gText_NewGame); + sub_800D0B4(&gUnknown_8234618[0]); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + break; + case 1: + FillWindowPixelBuffer(1, PIXEL_FILL(10)); + FillWindowPixelBuffer(2, PIXEL_FILL(10)); + AddTextPrinterParameterized3(1, 2, 2, 2, gUnknown_8234688, -1, gText_Continue); + AddTextPrinterParameterized3(2, 2, 2, 2, gUnknown_8234688, -1, gText_NewGame); + sub_800CE58(); + sub_800D0B4(&gUnknown_8234618[1]); + sub_800D0B4(&gUnknown_8234618[2]); + PutWindowTilemap(1); + PutWindowTilemap(2); + CopyWindowToVram(1, 2); + CopyWindowToVram(2, 3); + break; + case 2: + FillWindowPixelBuffer(1, PIXEL_FILL(10)); + FillWindowPixelBuffer(2, PIXEL_FILL(10)); + FillWindowPixelBuffer(3, PIXEL_FILL(10)); + AddTextPrinterParameterized3(1, 2, 2, 2, gUnknown_8234688, -1, gText_Continue); + AddTextPrinterParameterized3(2, 2, 2, 2, gUnknown_8234688, -1, gText_NewGame); + gTasks[taskId].data[10] = 1; + AddTextPrinterParameterized3(3, 2, 2, 2, gUnknown_8234688, -1, gText_MysteryGift); + sub_800CE58(); + sub_800D0B4(&gUnknown_8234618[1]); + sub_800D0B4(&gUnknown_8234618[2]); + sub_800D0B4(&gUnknown_8234618[3]); + PutWindowTilemap(1); + PutWindowTilemap(2); + PutWindowTilemap(3); + CopyWindowToVram(1, 2); + CopyWindowToVram(2, 2); + CopyWindowToVram(3, 3); + break; + } + gTasks[taskId].func = sub_800C9CC; +} + +void sub_800C9CC(u8 taskId) +{ + if (CheckForSpaceForDma3Request(-1) != -1) + { + gTasks[taskId].func = sub_800CA28; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF); + ShowBg(0); + SetVBlankCallback(sub_800C2EC); + } +} + +void sub_800CA28(u8 taskId) +{ + sub_800CC94(gTasks[taskId].data[0], gTasks[taskId].data[1]); + gTasks[taskId].func = sub_800CA54; +} + +void sub_800CA54(u8 taskId) +{ + if (!gPaletteFade.active && sub_800CCF8(taskId)) + { + gTasks[taskId].func = sub_800CA28; + } +} + +void sub_800CA94(u8 taskId) +{ + s32 r0; + if (!gPaletteFade.active) + { + switch (gTasks[taskId].data[0]) + { + default: + case 0: + r0 = 0; + break; + case 1: + switch (gTasks[taskId].data[1]) + { + default: + case 0: + r0 = 1; + break; + case 1: + r0 = 0; + break; + } + break; + case 2: + switch (gTasks[taskId].data[1]) + { + default: + case 0: + r0 = 1; + break; + case 1: + r0 = 0; + break; + case 2: + if (!IsWirelessAdapterConnected()) + { + sub_800D094(0); + gTasks[taskId].func = sub_800CB90; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + return; + } + else + { + r0 = 2; + } + break; + } + break; + } + switch (r0) + { + default: + case 0: + gUnknown_2031DE0 = 0; + FreeAllWindowBuffers(); + DestroyTask(taskId); + StartNewGameScene(); + break; + case 1: + gPlttBufferUnfaded[0] = RGB_BLACK; + gPlttBufferFaded[0] = RGB_BLACK; + gUnknown_2031DE0 = 0; + FreeAllWindowBuffers(); + TrySetUpQuestLogScenes_ElseContinueFromSave(taskId); + break; + case 2: + SetMainCallback2(c2_mystery_gift); + sub_812B478(); + FreeAllWindowBuffers(); + DestroyTask(taskId); + break; + } + } +} + +void sub_800CB90(u8 taskId) +{ + switch (gTasks[taskId].data[9]) + { + case 0: + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + if (gTasks[taskId].data[10] == 1) + sub_800CDF8(gText_WirelessAdapterIsNotConnected); + else + sub_800CDF8(gText_MysteryGiftCantBeUsedWhileWirelessAdapterIsAttached); + gTasks[taskId].data[9]++; + break; + case 1: + if (!gPaletteFade.active) + gTasks[taskId].data[9]++; + break; + case 2: + RunTextPrinters(); + if (!IsTextPrinterActive(4)) + gTasks[taskId].data[9]++; + break; + case 3: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + PlaySE(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gTasks[taskId].func = sub_800CC68; + } + break; + } +} + +void sub_800CC68(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_InitTitleScreen); + DestroyTask(taskId); + } +} + +void sub_800CC94(u8 menuType, u8 cursorPos) +{ + u16 win0v1, win0v2; + SetGpuReg(REG_OFFSET_WIN0H, 0x12DE); + switch (menuType) + { + default: + case 0: + win0v1 = 0x00; + win0v2 = 0x20; + break; + case 1: + case 2: + switch (cursorPos) + { + default: + case 0: + win0v1 = 0x00; + win0v2 = 0x60; + break; + case 1: + win0v1 = 0x60 << 8; + win0v2 = 0x80; + break; + case 2: + win0v1 = 0x80 << 8; + win0v2 = 0xA0; + break; + } + break; + } + SetGpuReg(REG_OFFSET_WIN0V, (win0v1 + (2 << 8)) | (win0v2 - 2)); +} + +bool8 sub_800CCF8(u8 taskId) +{ + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + IsWirelessAdapterConnected(); // called for its side effects only + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gTasks[taskId].func = sub_800CA94; + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + SetGpuReg(REG_OFFSET_WIN0H, 0xF0); + SetGpuReg(REG_OFFSET_WIN0V, 0xA0); + gTasks[taskId].func = sub_800CC68; + } + else if (JOY_NEW(DPAD_UP) && gTasks[taskId].data[1] > 0) + { + gTasks[taskId].data[1]--; + return TRUE; + } + else if (JOY_NEW(DPAD_DOWN) && gTasks[taskId].data[1] < gUnknown_8234694[gTasks[taskId].data[0]]) + { + gTasks[taskId].data[1]++; + return TRUE; + } + + return FALSE; +} + +void sub_800CDF8(const u8 *str) +{ + FillWindowPixelBuffer(4, PIXEL_FILL(10)); + sub_800D0B4(&gUnknown_8234618[4]); + AddTextPrinterParameterized3(4, 2, 0, 2, gUnknown_8234688, 2, str); + PutWindowTilemap(4); + CopyWindowToVram(4, 2); + SetGpuReg(REG_OFFSET_WIN0H, 0x13DD); + SetGpuReg(REG_OFFSET_WIN0V, 0x739D); +} + +void sub_800CE58(void) +{ + sub_800CE70(); + sub_800CF3C(); + sub_800CED4(); + sub_800CFC4(); +} + +void sub_800CE70(void) +{ + s32 i; + u8 name[OT_NAME_LENGTH + 1]; + u8 *ptr; + AddTextPrinterParameterized3(1, 2, 2, 18, gUnknown_823468B, -1, gText_Player); + ptr = name; + for (i = 0; i < OT_NAME_LENGTH; i++) + *ptr++ = gSaveBlock2Ptr->playerName[i]; + *ptr = EOS; + AddTextPrinterParameterized3(1, 2, 62, 18, gUnknown_823468B, -1, name); +} diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index dbc685602..39efed6eb 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -24,6 +24,7 @@ #include "mevent_server.h" #include "menews_jisan.h" #include "help_system.h" +#include "strings.h" #include "constants/songs.h" EWRAM_DATA u8 sDownArrowCounterAndYCoordIdx[8] = {}; @@ -33,69 +34,6 @@ void task_add_00_mystery_gift(void); void task00_mystery_gift(u8 taskId); void task_add_00_ereader(void); -extern const u8 gText_PickOKExit[]; -extern const u8 gText_PickOKCancel[]; -extern const u8 gText_MysteryGift[]; -extern const u8 gJPText_MysteryGift[]; -extern const u8 gJPText_DecideStop[]; -extern const u8 gText_WhatToDoWithCards[]; -extern const u8 gText_WhatToDoWithNews[]; -extern const u8 gText_OkayToDiscardNews[]; -extern const u8 gText_IfThrowAwayCardEventWontHappen[]; -extern const u8 gText_WonderCardThrownAway[]; -extern const u8 gText_WonderNewsThrownAway[]; -extern const u8 gText_DataWillBeSaved[]; -extern const u8 gText_SaveCompletedPressA[]; -extern const u8 gText_WonderCards[]; -extern const u8 gText_WonderNews[]; -extern const u8 gText_Exit3[]; -extern const u8 gText_WirelessCommunication[]; -extern const u8 gText_Friend2[]; -extern const u8 gFameCheckerText_Cancel[]; -extern const u8 gText_Receive[]; -extern const u8 gText_Send[]; -extern const u8 gText_Toss[]; -extern const u8 gText_VarietyOfEventsImportedWireless[]; -extern const u8 gText_WonderCardsInPossession[]; -extern const u8 gText_ReadNewsThatArrived[]; -extern const u8 gText_ReturnToTitle[]; -extern const u8 gText_NothingSentOver[]; -extern const u8 gText_RecordUploadedViaWireless[]; -extern const u8 gText_WonderCardReceived[]; -extern const u8 gText_WonderCardReceivedFrom[]; -extern const u8 gText_WonderNewsReceived[]; -extern const u8 gText_WonderNewsReceivedFrom[]; -extern const u8 gText_NewStampReceived[]; -extern const u8 gText_AlreadyHadCard[]; -extern const u8 gText_AlreadyHadStamp[]; -extern const u8 gText_AlreadyHadNews[]; -extern const u8 gText_NoMoreRoomForStamps[]; -extern const u8 gText_CommunicationCanceled[]; -extern const u8 gText_CantAcceptCardFromTrainer[]; -extern const u8 gText_CantAcceptNewsFromTrainer[]; -extern const u8 gText_CommunicationError[]; -extern const u8 gText_NewTrainerReceived[]; -extern const u8 gText_WonderCardSentTo[]; -extern const u8 gText_WonderNewsSentTo[]; -extern const u8 gText_StampSentTo[]; -extern const u8 gText_OtherTrainerHasCard[]; -extern const u8 gText_OtherTrainerHasStamp[]; -extern const u8 gText_OtherTrainerHasNews[]; -extern const u8 gText_OtherTrainerCanceled[]; -extern const u8 gText_GiftSentTo[]; -extern const u8 gText_CantSendGiftToTrainer[]; -extern const u8 gText_DontHaveCardNewOneInput[]; -extern const u8 gText_DontHaveNewsNewOneInput[]; -extern const u8 gText_WhereShouldCardBeAccessed[]; -extern const u8 gText_WhereShouldNewsBeAccessed[]; -extern const u8 gText_Communicating[]; -extern const u8 gText_ThrowAwayWonderCard[]; -extern const u8 gText_HaventReceivedCardsGift[]; -extern const u8 gText_CommunicationCompleted[]; -extern const u8 gText_HaventReceivedGiftOkayToDiscard[]; -extern const u8 gText_SendingWonderCard[]; -extern const u8 gText_SendingWonderNews[]; - const u16 gUnkTextboxBorderPal[] = INCBIN_U16("graphics/interface/unk_textbox_border.gbapal"); const u32 gUnkTextboxBorderGfx[] = INCBIN_U32("graphics/interface/unk_textbox_border.4bpp.lz"); @@ -538,7 +476,7 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 mg_or_ereader, bool32 usePickOkCance if (!mg_or_ereader) { src = usePickOkCancel == TRUE ? gText_PickOKExit : gText_PickOKCancel; - AddTextPrinterParameterized4(0, 2, 2, 2, 0, 0, sMG_Ereader_TextColor_1, 0, gText_MysteryGift); + AddTextPrinterParameterized4(0, 2, 2, 2, 0, 0, sMG_Ereader_TextColor_1, 0, gText_MysteryGift2); width = 222 - GetStringWidth(0, src, 0); AddTextPrinterParameterized4(0, 0, width, 2, 0, 0, sMG_Ereader_TextColor_1, 0, src); } diff --git a/src/quest_log.c b/src/quest_log.c index 065b42cef..f98357b32 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -93,7 +93,7 @@ static struct UnkStruct_300201C * gUnknown_300201C; static u16 gUnknown_3002020; EWRAM_DATA u8 gUnknown_203ADF8 = 0; -EWRAM_DATA u8 gUnknown_203ADF9 = 0; +static EWRAM_DATA u8 sNumScenes = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA u16 gUnknown_203ADFC = 0; EWRAM_DATA u8 gUnknown_203ADFE[3] = {0}; @@ -840,19 +840,19 @@ bool8 sub_8110E68(struct UnkStruct_203AE98 * a0) return TRUE; } -void sub_8110F14(u8 taskId) +void TrySetUpQuestLogScenes_ElseContinueFromSave(u8 taskId) { u8 i; sub_811381C(); - gUnknown_203ADF9 = 0; + sNumScenes = 0; for (i = 0; i < 4; i++) { if (gSaveBlock1Ptr->questLog[i].unk_000) - gUnknown_203ADF9++; + sNumScenes++; } - if (gUnknown_203ADF9 != 0) + if (sNumScenes != 0) { gUnknown_3005ECC = FALSE; sub_8110F90(taskId); @@ -1221,7 +1221,7 @@ void sub_8111914(void) ScriptContext2_Enable(); if (++gUnknown_203ADF8 < 4 && gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000) { - gUnknown_203ADF9--; + sNumScenes--; sub_8111368(); } else @@ -1402,7 +1402,7 @@ bool8 sub_8111CD0(void) void sub_8111CF0(void) { if (gUnknown_203ADFA == 2) - sub_8111070(gUnknown_203ADF9); + sub_8111070(sNumScenes); } void sub_8111D10(void) -- cgit v1.2.3 From 99bd3d91547858203c84cdf7f4ec37effabc0385 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 8 Oct 2019 10:31:33 -0400 Subject: Finish main menu decomp --- src/berry_fix_program.c | 2 +- src/daycare.c | 6 +- src/help_system.c | 6 +- src/help_system_812B1E0.c | 8 +- src/link.c | 4 +- src/main.c | 4 +- src/main_menu.c | 386 ++++++++++++++++++++++++++++++--------------- src/menews_jisan.c | 2 +- src/mevent.c | 2 +- src/mystery_gift_menu.c | 2 +- src/new_game.c | 2 +- src/quest_log.c | 4 +- src/seagallop.c | 4 +- src/text_window_graphics.c | 2 +- src/title_screen.c | 6 +- 15 files changed, 290 insertions(+), 150 deletions(-) (limited to 'src') diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index f224bbc47..7c7c452f3 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -95,7 +95,7 @@ void mb_berry_fix_serve(void) // noreturn ResetSpriteData(); ResetTasks(); ScanlineEffect_Stop(); - gUnknown_3005ECC = 0; + gHelpSystemEnabled = 0; taskId = CreateTask(mb_berry_fix_task, 0); gTasks[taskId].data[0] = 0; SetMainCallback2(mb_berry_fix_maincb); diff --git a/src/daycare.c b/src/daycare.c index c082b4298..1690953ee 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1795,7 +1795,7 @@ void EggHatch(void) ScriptContext2_Enable(); CreateTask(Task_EggHatch, 10); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - sub_812B478(); + HelpSystem_Disable(); } static void Task_EggHatch(u8 taskID) @@ -1901,7 +1901,7 @@ static void EggHatchSetMonNickname(void) SetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar3); FreeMonSpritesGfx(); Free(sEggHatchData); - sub_812B484(); + HelpSystem_Enable(); SetMainCallback2(CB2_ReturnToField); } @@ -2024,7 +2024,7 @@ static void CB2_EggHatch_1(void) UnsetBgTilemapBuffer(1); Free(sEggHatchData); SetMainCallback2(CB2_ReturnToField); - sub_812B484(); + HelpSystem_Enable(); } break; } diff --git a/src/help_system.c b/src/help_system.c index 2d96ae9d6..7859961db 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -49,15 +49,15 @@ u8 RunHelpSystemCallback(void) { case 0: sInHelpSystem = 0; - if (gSaveBlock2Ptr->optionsButtonMode != OPTIONS_BUTTON_MODE_NORMAL) + if (gSaveBlock2Ptr->optionsButtonMode != OPTIONS_BUTTON_MODE_HELP) return 0; if (JOY_NEW(R_BUTTON) && gUnknown_203F175 == 1) return 0; if (JOY_NEW(L_BUTTON | R_BUTTON)) { - if (!sub_812B45C() || !gUnknown_3005ECC) + if (!sub_812B45C() || !gHelpSystemEnabled) { - PlaySE(SE_HELP_PAGE); + PlaySE(SE_HELP_ERR); return 0; } m4aMPlayStop(&gMPlayInfo_SE1); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 024cfcf09..6fd069f1c 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -1005,16 +1005,16 @@ bool8 sub_812B45C(void) return TRUE; } -void sub_812B478(void) +void HelpSystem_Disable(void) { - gUnknown_3005ECC = 0; + gHelpSystemEnabled = 0; } -void sub_812B484(void) +void HelpSystem_Enable(void) { if (gUnknown_203ADFA != 2 && gUnknown_203ADFA != 3) { - gUnknown_3005ECC = 1; + gHelpSystemEnabled = 1; sub_812B4B8(); } } diff --git a/src/link.c b/src/link.c index 9d67c984e..c51ec80af 100644 --- a/src/link.c +++ b/src/link.c @@ -1577,7 +1577,7 @@ static void CB2_PrintErrorMessage(void) { if (JOY_NEW(A_BUTTON)) { - sub_812B484(); + HelpSystem_Enable(); PlaySE(SE_PIN); gWirelessCommType = 0; sLinkErrorBuffer.unk_06 = 0; @@ -1588,7 +1588,7 @@ static void CB2_PrintErrorMessage(void) { if (JOY_NEW(A_BUTTON)) { - sub_812B484(); + HelpSystem_Enable(); rfu_REQ_stopMode(); rfu_waitREQComplete(); DoSoftReset(); diff --git a/src/main.c b/src/main.c index 0d4e2ee1e..eb1625473 100644 --- a/src/main.c +++ b/src/main.c @@ -104,7 +104,7 @@ static IntrFunc * const sTimerIntrFunc = gIntrTable + 0x7; EWRAM_DATA u8 gDecompressionBuffer[0x4000] = {0}; EWRAM_DATA u16 gTrainerId = 0; -extern bool8 gUnknown_3005ECC; +extern bool8 gHelpSystemEnabled; extern bool8 gWirelessCommType; extern bool8 gUnknown_3005E88; @@ -138,7 +138,7 @@ void AgbMain() SetDefaultFontsPointer(); gSoftResetDisabled = FALSE; - gUnknown_3005ECC = FALSE; + gHelpSystemEnabled = FALSE; sub_80F50F4(); diff --git a/src/main_menu.c b/src/main_menu.c index 7be99ce2c..a4db5b1f5 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -19,43 +19,104 @@ #include "sound.h" #include "title_screen.h" #include "help_system.h" +#include "string_util.h" +#include "pokedex.h" +#include "text_window.h" +#include "text_window_graphics.h" #include "constants/songs.h" -bool32 sub_800C318(u8 a0); -void sub_800C4D0(u8 taskId); -void sub_800C634(u8 taskId, const u8 *str); -void sub_800C688(u8 taskId); -void sub_800C704(u8 taskId); -void sub_800C780(u8 taskId); -void sub_800C7A0(u8 taskId); -void sub_800C9CC(u8 taskId); -void sub_800CA28(u8 taskId); -void sub_800CA54(u8 taskId); -void sub_800CA94(u8 taskId); -void sub_800CB90(u8 taskId); -void sub_800CC68(u8 taskId); -void sub_800CC94(u8 menuType, u8 cursorPos); -bool8 sub_800CCF8(u8 taskId); -void sub_800CDF8(const u8 *str); -void sub_800CE58(void); -void sub_800CE70(void); -void sub_800CED4(void); -void sub_800CF3C(void); -void sub_800CFC4(void); -void sub_800D044(u8 a0); -void sub_800D094(u8 a0); -void sub_800D0B4(const struct WindowTemplate * template); -void sub_800D1E8(const struct WindowTemplate * template); - -extern const struct WindowTemplate gUnknown_8234618[]; -extern const u16 gUnknown_8234648[]; -extern const u16 gUnknown_8234668[]; -extern const u8 gUnknown_8234688[]; -extern const u8 gUnknown_823468B[]; -extern const struct BgTemplate gUnknown_8234690[1]; -extern const u8 gUnknown_8234694[]; - -void sub_800C2D4(void) +static bool32 MainMenuGpuInit(u8 a0); +static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId); +static void PrintSaveErrorStatus(u8 taskId, const u8 *str); +static void Task_SaveErrorStatus_RunPrinterThenWaitButton(u8 taskId); +static void Task_SetWin0BldRegsNoSaveFileCheck(u8 taskId); +static void Task_WaitFadeAndPrintMainMenuText(u8 taskId); +static void Task_PrintMainMenuText(u8 taskId); +static void Task_WaitDma3AndFadeIn(u8 taskId); +static void Task_UpdateVisualSelection(u8 taskId); +static void Task_HandleMenuInput(u8 taskId); +static void Task_ExecuteMainMenuSelection(u8 taskId); +static void Task_MysteryGiftError(u8 taskId); +static void Task_ReturnToTileScreen(u8 taskId); +static void MoveWindowByMenuTypeAndCursorPos(u8 menuType, u8 cursorPos); +static bool8 HandleMenuInput(u8 taskId); +static void PrintMessageOnWindow4(const u8 *str); +static void PrintContinueStats(void); +static void PrintPlayerName(void); +static void PrintPlayTime(void); +static void PrintDexCount(void); +static void PrintBadgeCount(void); +static void LoadUserFrameToBg(u8 bgId); +static void SetStdFrame0OnBg(u8 bgId); +static void DrawBubbleBorder(const struct WindowTemplate * template); +static void DestroyWindowBubbleFrame(const struct WindowTemplate * template); + +static const u8 sString_Dummy[] = _(""); +static const u8 sString_Newline[] = _("\n"); + +static const struct WindowTemplate sWindowTemplate[] = { + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 1, + .width = 24, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x001 + }, { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 1, + .width = 24, + .height = 10, + .paletteNum = 15, + .baseBlock = 0x001 + }, { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 13, + .width = 24, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x0f1 + }, { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 17, + .width = 24, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x121 + }, { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 15, + .width = 24, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x001 + }, DUMMY_WIN_TEMPLATE +}; + +static const u16 sBgPal00[] = INCBIN_U16("data/main_menu/unk_8234648.gbapal"); +static const u16 sBgPal15[] = INCBIN_U16("data/main_menu/unk_8234668.gbapal"); + +static const u8 sTextColor1[] = { 10, 11, 12 }; + +static const u8 sTextColor2[] = { 10, 1, 12 }; + +static const struct BgTemplate sBgTemplate[] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .priority = 0 + } +}; + +static const u8 gUnknown_8234694[] = { 0, 1, 2 }; + +static void CB2_MainMenu(void) { RunTasks(); AnimateSprites(); @@ -63,24 +124,24 @@ void sub_800C2D4(void) UpdatePaletteFade(); } -void sub_800C2EC(void) +static void VBlankCB_MainMenu(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_800C300(void) +void CB2_InitMainMenu(void) { - sub_800C318(1); + MainMenuGpuInit(1); } -void sub_800C30C(void) +static void CB2_InitMainMenu_2(void) { - sub_800C318(1); + MainMenuGpuInit(1); } -bool32 sub_800C318(u8 a0) +static bool32 MainMenuGpuInit(u8 a0) { u8 taskId; @@ -104,17 +165,17 @@ bool32 sub_800C318(u8 a0) FreeAllSpritePalettes(); ResetPaletteFade(); ResetBgsAndClearDma3BusyFlags(FALSE); - InitBgsFromTemplates(0, gUnknown_8234690, NELEMS(gUnknown_8234690)); + InitBgsFromTemplates(0, sBgTemplate, NELEMS(sBgTemplate)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); ChangeBgX(2, 0, 0); ChangeBgY(2, 0, 0); - InitWindows(gUnknown_8234618); + InitWindows(sWindowTemplate); DeactivateAllTextPrinters(); - LoadPalette(gUnknown_8234648, 0x00, 0x20); - LoadPalette(gUnknown_8234668, 0xF0, 0x20); + LoadPalette(sBgPal00, 0x00, 0x20); + LoadPalette(sBgPal15, 0xF0, 0x20); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0); @@ -122,15 +183,15 @@ bool32 sub_800C318(u8 a0) SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); - SetMainCallback2(sub_800C2D4); + SetMainCallback2(CB2_MainMenu); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON); - taskId = CreateTask(sub_800C4D0, 0); + taskId = CreateTask(Task_SetWin0BldRegsAndCheckSaveFile, 0); gTasks[taskId].data[1] = 0; gTasks[taskId].data[8] = a0; return FALSE; } -void sub_800C4D0(u8 taskId) +static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId) { if (!gPaletteFade.active) { @@ -144,8 +205,8 @@ void sub_800C4D0(u8 taskId) switch (gSaveFileStatus) { case 1: - sub_800D044(0); - if (sub_806E2BC() == TRUE) + LoadUserFrameToBg(0); + if (Flag_0x839_IsSet() == TRUE) { gTasks[taskId].data[0] = 2; } @@ -153,18 +214,18 @@ void sub_800C4D0(u8 taskId) { gTasks[taskId].data[0] = 1; } - gTasks[taskId].func = sub_800C704; + gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; break; case 2: - sub_800D094(0); + SetStdFrame0OnBg(0); gTasks[taskId].data[0] = 0; - sub_800C634(taskId, gText_SaveFileHasBeenDeleted); + PrintSaveErrorStatus(taskId, gText_SaveFileHasBeenDeleted); break; case 0xFF: - sub_800D094(0); + SetStdFrame0OnBg(0); gTasks[taskId].data[0] = 1; - sub_800C634(taskId, gText_SaveFileCorruptedPrevWillBeLoaded); - if (sub_806E2BC() == TRUE) + PrintSaveErrorStatus(taskId, gText_SaveFileCorruptedPrevWillBeLoaded); + if (Flag_0x839_IsSet() == TRUE) { gTasks[taskId].data[0] = 2; } @@ -175,29 +236,29 @@ void sub_800C4D0(u8 taskId) break; case 0: default: - sub_800D044(0); + LoadUserFrameToBg(0); gTasks[taskId].data[0] = 0; - gTasks[taskId].func = sub_800C704; + gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; break; case 4: - sub_800D094(0); + SetStdFrame0OnBg(0); gTasks[taskId].data[0] = 0; - sub_800C634(taskId, gText_1MSubCircuitBoardNotInstalled); + PrintSaveErrorStatus(taskId, gText_1MSubCircuitBoardNotInstalled); break; } } } -void sub_800C634(u8 taskId, const u8 *str) +static void PrintSaveErrorStatus(u8 taskId, const u8 *str) { - sub_800CDF8(str); - gTasks[taskId].func = sub_800C688; + PrintMessageOnWindow4(str); + gTasks[taskId].func = Task_SaveErrorStatus_RunPrinterThenWaitButton; BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF); ShowBg(0); - SetVBlankCallback(sub_800C2EC); + SetVBlankCallback(VBlankCB_MainMenu); } -void sub_800C688(u8 taskId) +static void Task_SaveErrorStatus_RunPrinterThenWaitButton(u8 taskId) { if (!gPaletteFade.active) { @@ -205,17 +266,17 @@ void sub_800C688(u8 taskId) if (!IsTextPrinterActive(4) && JOY_NEW(A_BUTTON)) { ClearWindowTilemap(4); - sub_800D1E8(&gUnknown_8234618[4]); - sub_800D044(0); + DestroyWindowBubbleFrame(&sWindowTemplate[4]); + LoadUserFrameToBg(0); if (gTasks[taskId].data[0] == 0) - gTasks[taskId].func = sub_800C704; + gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; else - gTasks[taskId].func = sub_800C7A0; + gTasks[taskId].func = Task_PrintMainMenuText; } } } -void sub_800C704(u8 taskId) +static void Task_SetWin0BldRegsNoSaveFileCheck(u8 taskId) { if (!gPaletteFade.active) { @@ -229,21 +290,21 @@ void sub_800C704(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); SetGpuReg(REG_OFFSET_BLDY, 7); if (gTasks[taskId].data[0] == 0) - gTasks[taskId].func = sub_800CA94; + gTasks[taskId].func = Task_ExecuteMainMenuSelection; else - gTasks[taskId].func = sub_800C780; + gTasks[taskId].func = Task_WaitFadeAndPrintMainMenuText; } } -void sub_800C780(u8 taskId) +static void Task_WaitFadeAndPrintMainMenuText(u8 taskId) { if (!gPaletteFade.active) { - sub_800C7A0(taskId); + Task_PrintMainMenuText(taskId); } } -void sub_800C7A0(u8 taskId) +static void Task_PrintMainMenuText(u8 taskId) { u16 pal; SetGpuReg(REG_OFFSET_WIN0H, 0); @@ -265,19 +326,19 @@ void sub_800C7A0(u8 taskId) case 0: default: FillWindowPixelBuffer(0, PIXEL_FILL(10)); - AddTextPrinterParameterized3(0, 2, 2, 2, gUnknown_8234688, -1, gText_NewGame); - sub_800D0B4(&gUnknown_8234618[0]); + AddTextPrinterParameterized3(0, 2, 2, 2, sTextColor1, -1, gText_NewGame); + DrawBubbleBorder(&sWindowTemplate[0]); PutWindowTilemap(0); CopyWindowToVram(0, 3); break; case 1: FillWindowPixelBuffer(1, PIXEL_FILL(10)); FillWindowPixelBuffer(2, PIXEL_FILL(10)); - AddTextPrinterParameterized3(1, 2, 2, 2, gUnknown_8234688, -1, gText_Continue); - AddTextPrinterParameterized3(2, 2, 2, 2, gUnknown_8234688, -1, gText_NewGame); - sub_800CE58(); - sub_800D0B4(&gUnknown_8234618[1]); - sub_800D0B4(&gUnknown_8234618[2]); + AddTextPrinterParameterized3(1, 2, 2, 2, sTextColor1, -1, gText_Continue); + AddTextPrinterParameterized3(2, 2, 2, 2, sTextColor1, -1, gText_NewGame); + PrintContinueStats(); + DrawBubbleBorder(&sWindowTemplate[1]); + DrawBubbleBorder(&sWindowTemplate[2]); PutWindowTilemap(1); PutWindowTilemap(2); CopyWindowToVram(1, 2); @@ -287,14 +348,14 @@ void sub_800C7A0(u8 taskId) FillWindowPixelBuffer(1, PIXEL_FILL(10)); FillWindowPixelBuffer(2, PIXEL_FILL(10)); FillWindowPixelBuffer(3, PIXEL_FILL(10)); - AddTextPrinterParameterized3(1, 2, 2, 2, gUnknown_8234688, -1, gText_Continue); - AddTextPrinterParameterized3(2, 2, 2, 2, gUnknown_8234688, -1, gText_NewGame); + AddTextPrinterParameterized3(1, 2, 2, 2, sTextColor1, -1, gText_Continue); + AddTextPrinterParameterized3(2, 2, 2, 2, sTextColor1, -1, gText_NewGame); gTasks[taskId].data[10] = 1; - AddTextPrinterParameterized3(3, 2, 2, 2, gUnknown_8234688, -1, gText_MysteryGift); - sub_800CE58(); - sub_800D0B4(&gUnknown_8234618[1]); - sub_800D0B4(&gUnknown_8234618[2]); - sub_800D0B4(&gUnknown_8234618[3]); + AddTextPrinterParameterized3(3, 2, 2, 2, sTextColor1, -1, gText_MysteryGift); + PrintContinueStats(); + DrawBubbleBorder(&sWindowTemplate[1]); + DrawBubbleBorder(&sWindowTemplate[2]); + DrawBubbleBorder(&sWindowTemplate[3]); PutWindowTilemap(1); PutWindowTilemap(2); PutWindowTilemap(3); @@ -303,35 +364,35 @@ void sub_800C7A0(u8 taskId) CopyWindowToVram(3, 3); break; } - gTasks[taskId].func = sub_800C9CC; + gTasks[taskId].func = Task_WaitDma3AndFadeIn; } -void sub_800C9CC(u8 taskId) +static void Task_WaitDma3AndFadeIn(u8 taskId) { if (CheckForSpaceForDma3Request(-1) != -1) { - gTasks[taskId].func = sub_800CA28; + gTasks[taskId].func = Task_UpdateVisualSelection; BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF); ShowBg(0); - SetVBlankCallback(sub_800C2EC); + SetVBlankCallback(VBlankCB_MainMenu); } } -void sub_800CA28(u8 taskId) +static void Task_UpdateVisualSelection(u8 taskId) { - sub_800CC94(gTasks[taskId].data[0], gTasks[taskId].data[1]); - gTasks[taskId].func = sub_800CA54; + MoveWindowByMenuTypeAndCursorPos(gTasks[taskId].data[0], gTasks[taskId].data[1]); + gTasks[taskId].func = Task_HandleMenuInput; } -void sub_800CA54(u8 taskId) +static void Task_HandleMenuInput(u8 taskId) { - if (!gPaletteFade.active && sub_800CCF8(taskId)) + if (!gPaletteFade.active && HandleMenuInput(taskId)) { - gTasks[taskId].func = sub_800CA28; + gTasks[taskId].func = Task_UpdateVisualSelection; } } -void sub_800CA94(u8 taskId) +static void Task_ExecuteMainMenuSelection(u8 taskId) { s32 r0; if (!gPaletteFade.active) @@ -367,8 +428,8 @@ void sub_800CA94(u8 taskId) case 2: if (!IsWirelessAdapterConnected()) { - sub_800D094(0); - gTasks[taskId].func = sub_800CB90; + SetStdFrame0OnBg(0); + gTasks[taskId].func = Task_MysteryGiftError; BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); return; } @@ -398,7 +459,7 @@ void sub_800CA94(u8 taskId) break; case 2: SetMainCallback2(c2_mystery_gift); - sub_812B478(); + HelpSystem_Disable(); FreeAllWindowBuffers(); DestroyTask(taskId); break; @@ -406,16 +467,16 @@ void sub_800CA94(u8 taskId) } } -void sub_800CB90(u8 taskId) +static void Task_MysteryGiftError(u8 taskId) { switch (gTasks[taskId].data[9]) { case 0: FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); if (gTasks[taskId].data[10] == 1) - sub_800CDF8(gText_WirelessAdapterIsNotConnected); + PrintMessageOnWindow4(gText_WirelessAdapterIsNotConnected); else - sub_800CDF8(gText_MysteryGiftCantBeUsedWhileWirelessAdapterIsAttached); + PrintMessageOnWindow4(gText_MysteryGiftCantBeUsedWhileWirelessAdapterIsAttached); gTasks[taskId].data[9]++; break; case 1: @@ -432,13 +493,13 @@ void sub_800CB90(u8 taskId) { PlaySE(SE_SELECT); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gTasks[taskId].func = sub_800CC68; + gTasks[taskId].func = Task_ReturnToTileScreen; } break; } } -void sub_800CC68(u8 taskId) +static void Task_ReturnToTileScreen(u8 taskId) { if (!gPaletteFade.active) { @@ -447,7 +508,7 @@ void sub_800CC68(u8 taskId) } } -void sub_800CC94(u8 menuType, u8 cursorPos) +static void MoveWindowByMenuTypeAndCursorPos(u8 menuType, u8 cursorPos) { u16 win0v1, win0v2; SetGpuReg(REG_OFFSET_WIN0H, 0x12DE); @@ -481,14 +542,14 @@ void sub_800CC94(u8 menuType, u8 cursorPos) SetGpuReg(REG_OFFSET_WIN0V, (win0v1 + (2 << 8)) | (win0v2 - 2)); } -bool8 sub_800CCF8(u8 taskId) +static bool8 HandleMenuInput(u8 taskId) { if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); IsWirelessAdapterConnected(); // called for its side effects only BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gTasks[taskId].func = sub_800CA94; + gTasks[taskId].func = Task_ExecuteMainMenuSelection; } else if (JOY_NEW(B_BUTTON)) { @@ -496,7 +557,7 @@ bool8 sub_800CCF8(u8 taskId) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); SetGpuReg(REG_OFFSET_WIN0H, 0xF0); SetGpuReg(REG_OFFSET_WIN0V, 0xA0); - gTasks[taskId].func = sub_800CC68; + gTasks[taskId].func = Task_ReturnToTileScreen; } else if (JOY_NEW(DPAD_UP) && gTasks[taskId].data[1] > 0) { @@ -512,34 +573,113 @@ bool8 sub_800CCF8(u8 taskId) return FALSE; } -void sub_800CDF8(const u8 *str) +static void PrintMessageOnWindow4(const u8 *str) { FillWindowPixelBuffer(4, PIXEL_FILL(10)); - sub_800D0B4(&gUnknown_8234618[4]); - AddTextPrinterParameterized3(4, 2, 0, 2, gUnknown_8234688, 2, str); + DrawBubbleBorder(&sWindowTemplate[4]); + AddTextPrinterParameterized3(4, 2, 0, 2, sTextColor1, 2, str); PutWindowTilemap(4); CopyWindowToVram(4, 2); SetGpuReg(REG_OFFSET_WIN0H, 0x13DD); SetGpuReg(REG_OFFSET_WIN0V, 0x739D); } -void sub_800CE58(void) +static void PrintContinueStats(void) { - sub_800CE70(); - sub_800CF3C(); - sub_800CED4(); - sub_800CFC4(); + PrintPlayerName(); + PrintDexCount(); + PrintPlayTime(); + PrintBadgeCount(); } -void sub_800CE70(void) +static void PrintPlayerName(void) { s32 i; u8 name[OT_NAME_LENGTH + 1]; u8 *ptr; - AddTextPrinterParameterized3(1, 2, 2, 18, gUnknown_823468B, -1, gText_Player); + AddTextPrinterParameterized3(1, 2, 2, 18, sTextColor2, -1, gText_Player); ptr = name; for (i = 0; i < OT_NAME_LENGTH; i++) *ptr++ = gSaveBlock2Ptr->playerName[i]; *ptr = EOS; - AddTextPrinterParameterized3(1, 2, 62, 18, gUnknown_823468B, -1, name); + AddTextPrinterParameterized3(1, 2, 62, 18, sTextColor2, -1, name); +} + +static void PrintPlayTime(void) +{ + u8 strbuf[30]; + u8 *ptr; + + AddTextPrinterParameterized3(1, 2, 2, 34, sTextColor2, -1, gText_Time); + ptr = ConvertIntToDecimalStringN(strbuf, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); + *ptr++ = CHAR_COLON; + ConvertIntToDecimalStringN(ptr, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); + AddTextPrinterParameterized3(1, 2, 62, 34, sTextColor2, -1, strbuf); +} + +static void PrintDexCount(void) +{ + u8 strbuf[30]; + u8 *ptr; + u16 dexcount; + if (FlagGet(FLAG_0x829) == TRUE) + { + if (IsNationalPokedexEnabled()) + dexcount = GetNationalPokedexCount(FLAG_GET_CAUGHT); + else + dexcount = GetKantoPokedexCount(FLAG_GET_CAUGHT); + AddTextPrinterParameterized3(1, 2, 2, 50, sTextColor2, -1, gText_Pokedex); + ptr = ConvertIntToDecimalStringN(strbuf, dexcount, STR_CONV_MODE_LEFT_ALIGN, 3); + StringAppend(ptr, gTextJPDummy_Hiki); + AddTextPrinterParameterized3(1, 2, 62, 50, sTextColor2, -1, strbuf); + } +} + +static void PrintBadgeCount(void) +{ + u8 strbuf[30]; + u8 *ptr; + u32 flagId; + u8 nbadges = 0; + for (flagId = FLAG_UNK820; flagId < FLAG_UNK820 + 8; flagId++) + { + if (FlagGet(flagId)) + nbadges++; + } + AddTextPrinterParameterized3(1, 2, 2, 66, sTextColor2, -1, gText_Badges); + ptr = ConvertIntToDecimalStringN(strbuf, nbadges, STR_CONV_MODE_LEADING_ZEROS, 1); + StringAppend(ptr, gTextJPDummy_Ko); + AddTextPrinterParameterized3(1, 2, 62, 66, sTextColor2, -1, strbuf); +} + +static void LoadUserFrameToBg(u8 bgId) +{ + LoadBgTiles(bgId, GetUserFrameGraphicsInfo(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, 0x1B1); + LoadPalette(GetUserFrameGraphicsInfo(gSaveBlock2Ptr->optionsWindowFrameType)->palette, 0x20, 0x20); + DestroyWindowBubbleFrame(&sWindowTemplate[4]); +} + +static void SetStdFrame0OnBg(u8 bgId) +{ + TextWindow_SetStdFrame0_WithPal(0, 0x1B1, 0x20); + DestroyWindowBubbleFrame(&sWindowTemplate[4]); +} + +static void DrawBubbleBorder(const struct WindowTemplate * windowTemplate) +{ + FillBgTilemapBufferRect(windowTemplate->bg, 0x1B1, windowTemplate->tilemapLeft - 1, windowTemplate->tilemapTop - 1, 1, 1, 2); + FillBgTilemapBufferRect(windowTemplate->bg, 0x1B2, windowTemplate->tilemapLeft, windowTemplate->tilemapTop - 1, windowTemplate->width, windowTemplate->height, 2); + FillBgTilemapBufferRect(windowTemplate->bg, 0x1B3, windowTemplate->tilemapLeft + windowTemplate->width, windowTemplate->tilemapTop - 1, 1, 1, 2); + FillBgTilemapBufferRect(windowTemplate->bg, 0x1B4, windowTemplate->tilemapLeft - 1, windowTemplate->tilemapTop, 1, windowTemplate->height, 2); + FillBgTilemapBufferRect(windowTemplate->bg, 0x1B6, windowTemplate->tilemapLeft + windowTemplate->width, windowTemplate->tilemapTop, 1, windowTemplate->height, 2); + FillBgTilemapBufferRect(windowTemplate->bg, 0x1B7, windowTemplate->tilemapLeft - 1, windowTemplate->tilemapTop + windowTemplate->height, 1, 1, 2); + FillBgTilemapBufferRect(windowTemplate->bg, 0x1B8, windowTemplate->tilemapLeft, windowTemplate->tilemapTop + windowTemplate->height, windowTemplate->width, 1, 2); + FillBgTilemapBufferRect(windowTemplate->bg, 0x1B9, windowTemplate->tilemapLeft + windowTemplate->width, windowTemplate->tilemapTop + windowTemplate->height, 1, 1, 2); + CopyBgTilemapBufferToVram(windowTemplate->bg); +} + +static void DestroyWindowBubbleFrame(const struct WindowTemplate * windowTemplate) +{ + FillBgTilemapBufferRect(windowTemplate->bg, 0x000, windowTemplate->tilemapLeft - 1, windowTemplate->tilemapTop - 1, windowTemplate->tilemapLeft + windowTemplate->width + 1, windowTemplate->tilemapTop + windowTemplate->height + 1, 2); + CopyBgTilemapBufferToVram(windowTemplate->bg); } diff --git a/src/menews_jisan.c b/src/menews_jisan.c index 0d406e66a..2f6172bbc 100644 --- a/src/menews_jisan.c +++ b/src/menews_jisan.c @@ -59,7 +59,7 @@ u16 sub_8146CE8(void) struct MysteryEventStruct *r4 = sub_8143D94(); u16 r5; - if (!sub_806E2BC() || !ValidateReceivedWonderNews()) + if (!Flag_0x839_IsSet() || !ValidateReceivedWonderNews()) return 0; r5 = sub_8146E0C(r4); diff --git a/src/mevent.c b/src/mevent.c index af2006e14..a7115d2d4 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -475,7 +475,7 @@ void sub_8143910(u8 taskId) data->state = 0; break; case 26: - sub_812B484(); + HelpSystem_Enable(); Free(data->t10); DestroyTask(taskId); SetMainCallback2(MainCB_FreeAllBuffersAndReturnToInitTitleScreen); diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 39efed6eb..9c050810e 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -1680,7 +1680,7 @@ void task00_mystery_gift(u8 taskId) break; case 37: CloseLink(); - sub_812B484(); + HelpSystem_Enable(); Free(data->buffer); DestroyTask(taskId); SetMainCallback2(MainCB_FreeAllBuffersAndReturnToInitTitleScreen); diff --git a/src/new_game.c b/src/new_game.c index 58deac9b9..efeea13cc 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -66,7 +66,7 @@ static void SetDefaultOptions(void) gSaveBlock2Ptr->optionsBattleStyle = OPTIONS_BATTLE_STYLE_SHIFT; gSaveBlock2Ptr->optionsBattleSceneOff = FALSE; gSaveBlock2Ptr->regionMapZoom = FALSE; - gSaveBlock2Ptr->optionsButtonMode = OPTIONS_BUTTON_MODE_NORMAL; + gSaveBlock2Ptr->optionsButtonMode = OPTIONS_BUTTON_MODE_HELP; } static void ClearPokedexFlags(void) diff --git a/src/quest_log.c b/src/quest_log.c index f98357b32..71cab91a1 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -854,7 +854,7 @@ void TrySetUpQuestLogScenes_ElseContinueFromSave(u8 taskId) if (sNumScenes != 0) { - gUnknown_3005ECC = FALSE; + gHelpSystemEnabled = FALSE; sub_8110F90(taskId); DestroyTask(taskId); } @@ -1603,7 +1603,7 @@ void sub_81120AC(u8 taskId) gTextFlags.autoScroll = FALSE; gUnknown_2036E28 = 0; sub_8082740(0); - gUnknown_3005ECC = 1; + gHelpSystemEnabled = 1; DestroyTask(taskId); break; } diff --git a/src/seagallop.c b/src/seagallop.c index 5374f7bac..006a356e4 100644 --- a/src/seagallop.c +++ b/src/seagallop.c @@ -179,7 +179,7 @@ static const struct SpriteTemplate sWakeSpriteTemplate = { void ScrSpecial_SeaGallopFerry(void) { SetVBlankCallback(NULL); - sub_812B478(); + HelpSystem_Disable(); SetMainCallback2(CB2_SetUpSeaGallopScene); } @@ -306,7 +306,7 @@ static void Task_SeaGallop_2(u8 taskId) if (sub_8055FC4() && !gPaletteFade.active) { Task_SeaGallop_3(); - sub_812B484(); + HelpSystem_Enable(); DestroyTask(taskId); } } diff --git a/src/text_window_graphics.c b/src/text_window_graphics.c index e16037a34..0fb8b38f8 100644 --- a/src/text_window_graphics.c +++ b/src/text_window_graphics.c @@ -51,7 +51,7 @@ const struct TextWindowGraphics gUserFrames[] = { {gUnknown_84717CC, gUnknown_8471A2C} }; // NELEMS = 10 -const struct TextWindowGraphics * sub_8069788(u8 idx) +const struct TextWindowGraphics * GetUserFrameGraphicsInfo(u8 idx) { if (idx >= 20) // if (idx >= NELEMS(gUserFrames)) return &gUserFrames[0]; diff --git a/src/title_screen.c b/src/title_screen.c index f4086b2ff..26770b633 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -513,7 +513,7 @@ static void SetTitleScreenScene_Run(s16 * data) CreateTask(Task_FlameOrLeafSpawner, 5); SetGpuRegsForTitleScreenRun(); data[6] = CreateSlashSprite(); - sub_812B484(); + HelpSystem_Enable(); data[1]++; // fallthrough case 1: @@ -583,7 +583,7 @@ static void SetTitleScreenScene_Restart(s16 * data) } break; case 4: - sub_812B478(); + HelpSystem_Disable(); DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain)); SetMainCallback2(sub_80EC864); break; @@ -626,7 +626,7 @@ static void SetTitleScreenScene_Cry(s16 * data) Sav2_ClearSetDefault(); SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound); InitHeap(gHeap, HEAP_SIZE); - SetMainCallback2(sub_800C300); + SetMainCallback2(CB2_InitMainMenu); DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain)); } break; -- cgit v1.2.3 From 3c3fd189d8e74a0b420089c6d4132f0ab10b8a73 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 8 Oct 2019 13:40:04 -0400 Subject: Document main_menu --- src/main_menu.c | 390 ++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 250 insertions(+), 140 deletions(-) (limited to 'src') diff --git a/src/main_menu.c b/src/main_menu.c index a4db5b1f5..4307e9696 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -25,6 +25,30 @@ #include "text_window_graphics.h" #include "constants/songs.h" +enum MainMenuType +{ + MAIN_MENU_NEWGAME = 0, + MAIN_MENU_CONTINUE, + MAIN_MENU_MYSTERYGIFT +}; + +enum MainMenuWindow +{ + MAIN_MENU_WINDOW_NEWGAME_ONLY = 0, + MAIN_MENU_WINDOW_CONTINUE, + MAIN_MENU_WINDOW_NEWGAME, + MAIN_MENU_WINDOW_MYSTERYGIFT, + MAIN_MENU_WINDOW_ERROR, + MAIN_MENU_WINDOW_COUNT +}; + +#define tMenuType data[0] +#define tCursorPos data[1] + +#define tUnused8 data[8] +#define tMGErrorMsgState data[9] +#define tMGErrorType data[10] + static bool32 MainMenuGpuInit(u8 a0); static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId); static void PrintSaveErrorStatus(u8 taskId, const u8 *str); @@ -48,14 +72,14 @@ static void PrintDexCount(void); static void PrintBadgeCount(void); static void LoadUserFrameToBg(u8 bgId); static void SetStdFrame0OnBg(u8 bgId); -static void DrawBubbleBorder(const struct WindowTemplate * template); -static void DestroyWindowBubbleFrame(const struct WindowTemplate * template); +static void MainMenu_DrawWindow(const struct WindowTemplate * template); +static void MainMenu_EraseWindow(const struct WindowTemplate * template); static const u8 sString_Dummy[] = _(""); static const u8 sString_Newline[] = _("\n"); static const struct WindowTemplate sWindowTemplate[] = { - { + [MAIN_MENU_WINDOW_NEWGAME_ONLY] = { .bg = 0, .tilemapLeft = 3, .tilemapTop = 1, @@ -63,7 +87,8 @@ static const struct WindowTemplate sWindowTemplate[] = { .height = 2, .paletteNum = 15, .baseBlock = 0x001 - }, { + }, + [MAIN_MENU_WINDOW_CONTINUE] = { .bg = 0, .tilemapLeft = 3, .tilemapTop = 1, @@ -71,7 +96,8 @@ static const struct WindowTemplate sWindowTemplate[] = { .height = 10, .paletteNum = 15, .baseBlock = 0x001 - }, { + }, + [MAIN_MENU_WINDOW_NEWGAME] = { .bg = 0, .tilemapLeft = 3, .tilemapTop = 13, @@ -79,7 +105,8 @@ static const struct WindowTemplate sWindowTemplate[] = { .height = 2, .paletteNum = 15, .baseBlock = 0x0f1 - }, { + }, + [MAIN_MENU_WINDOW_MYSTERYGIFT] = { .bg = 0, .tilemapLeft = 3, .tilemapTop = 17, @@ -87,7 +114,8 @@ static const struct WindowTemplate sWindowTemplate[] = { .height = 2, .paletteNum = 15, .baseBlock = 0x121 - }, { + }, + [MAIN_MENU_WINDOW_ERROR] = { .bg = 0, .tilemapLeft = 3, .tilemapTop = 15, @@ -95,7 +123,8 @@ static const struct WindowTemplate sWindowTemplate[] = { .height = 4, .paletteNum = 15, .baseBlock = 0x001 - }, DUMMY_WIN_TEMPLATE + }, + [MAIN_MENU_WINDOW_COUNT] = DUMMY_WIN_TEMPLATE }; static const u16 sBgPal00[] = INCBIN_U16("data/main_menu/unk_8234648.gbapal"); @@ -114,7 +143,7 @@ static const struct BgTemplate sBgTemplate[] = { } }; -static const u8 gUnknown_8234694[] = { 0, 1, 2 }; +static const u8 sMenuCursorYMax[] = { 0, 1, 2 }; static void CB2_MainMenu(void) { @@ -186,11 +215,16 @@ static bool32 MainMenuGpuInit(u8 a0) SetMainCallback2(CB2_MainMenu); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON); taskId = CreateTask(Task_SetWin0BldRegsAndCheckSaveFile, 0); - gTasks[taskId].data[1] = 0; - gTasks[taskId].data[8] = a0; + gTasks[taskId].tCursorPos = 0; + gTasks[taskId].tUnused8 = a0; return FALSE; } +/* + * The entire screen is darkened slightly except at WIN0 to indicate + * the player cursor position. + */ + static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId) { if (!gPaletteFade.active) @@ -204,45 +238,45 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId) SetGpuReg(REG_OFFSET_BLDY, 7); switch (gSaveFileStatus) { - case 1: + case SAVE_STATUS_OK: LoadUserFrameToBg(0); if (Flag_0x839_IsSet() == TRUE) { - gTasks[taskId].data[0] = 2; + gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT; } else { - gTasks[taskId].data[0] = 1; + gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE; } gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; break; - case 2: + case SAVE_STATUS_INVALID: SetStdFrame0OnBg(0); - gTasks[taskId].data[0] = 0; + gTasks[taskId].tMenuType = MAIN_MENU_NEWGAME; PrintSaveErrorStatus(taskId, gText_SaveFileHasBeenDeleted); break; - case 0xFF: + case SAVE_STATUS_ERROR: SetStdFrame0OnBg(0); - gTasks[taskId].data[0] = 1; + gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE; PrintSaveErrorStatus(taskId, gText_SaveFileCorruptedPrevWillBeLoaded); if (Flag_0x839_IsSet() == TRUE) { - gTasks[taskId].data[0] = 2; + gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT; } else { - gTasks[taskId].data[0] = 1; + gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE; } break; - case 0: + case SAVE_STATUS_EMPTY: default: LoadUserFrameToBg(0); - gTasks[taskId].data[0] = 0; + gTasks[taskId].tMenuType = MAIN_MENU_NEWGAME; gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; break; - case 4: + case SAVE_STATUS_NO_FLASH: SetStdFrame0OnBg(0); - gTasks[taskId].data[0] = 0; + gTasks[taskId].tMenuType = MAIN_MENU_NEWGAME; PrintSaveErrorStatus(taskId, gText_1MSubCircuitBoardNotInstalled); break; } @@ -263,12 +297,12 @@ static void Task_SaveErrorStatus_RunPrinterThenWaitButton(u8 taskId) if (!gPaletteFade.active) { RunTextPrinters(); - if (!IsTextPrinterActive(4) && JOY_NEW(A_BUTTON)) + if (!IsTextPrinterActive(MAIN_MENU_WINDOW_ERROR) && JOY_NEW(A_BUTTON)) { - ClearWindowTilemap(4); - DestroyWindowBubbleFrame(&sWindowTemplate[4]); + ClearWindowTilemap(MAIN_MENU_WINDOW_ERROR); + MainMenu_EraseWindow(&sWindowTemplate[MAIN_MENU_WINDOW_ERROR]); LoadUserFrameToBg(0); - if (gTasks[taskId].data[0] == 0) + if (gTasks[taskId].tMenuType == MAIN_MENU_NEWGAME) gTasks[taskId].func = Task_SetWin0BldRegsNoSaveFileCheck; else gTasks[taskId].func = Task_PrintMainMenuText; @@ -284,12 +318,10 @@ static void Task_SetWin0BldRegsNoSaveFileCheck(u8 taskId) SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0x0001); SetGpuReg(REG_OFFSET_WINOUT, 0x0021); - SetGpuReg(REG_OFFSET_BLDCNT, - BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | - BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); SetGpuReg(REG_OFFSET_BLDY, 7); - if (gTasks[taskId].data[0] == 0) + if (gTasks[taskId].tMenuType == 0) gTasks[taskId].func = Task_ExecuteMainMenuSelection; else gTasks[taskId].func = Task_WaitFadeAndPrintMainMenuText; @@ -311,9 +343,7 @@ static void Task_PrintMainMenuText(u8 taskId) SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0x0001); SetGpuReg(REG_OFFSET_WINOUT, 0x0021); - SetGpuReg(REG_OFFSET_BLDCNT, - BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | - BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); SetGpuReg(REG_OFFSET_BLDY, 7); if (gSaveBlock2Ptr->playerGender == MALE) @@ -321,47 +351,47 @@ static void Task_PrintMainMenuText(u8 taskId) else pal = RGB(31, 3, 21); LoadPalette(&pal, 0xF1, 2); - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tMenuType) { - case 0: + case MAIN_MENU_NEWGAME: default: - FillWindowPixelBuffer(0, PIXEL_FILL(10)); - AddTextPrinterParameterized3(0, 2, 2, 2, sTextColor1, -1, gText_NewGame); - DrawBubbleBorder(&sWindowTemplate[0]); - PutWindowTilemap(0); - CopyWindowToVram(0, 3); + FillWindowPixelBuffer(MAIN_MENU_WINDOW_NEWGAME_ONLY, PIXEL_FILL(10)); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_NEWGAME_ONLY, 2, 2, 2, sTextColor1, -1, gText_NewGame); + MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME_ONLY]); + PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME_ONLY); + CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME_ONLY, 3); break; - case 1: - FillWindowPixelBuffer(1, PIXEL_FILL(10)); - FillWindowPixelBuffer(2, PIXEL_FILL(10)); - AddTextPrinterParameterized3(1, 2, 2, 2, sTextColor1, -1, gText_Continue); - AddTextPrinterParameterized3(2, 2, 2, 2, sTextColor1, -1, gText_NewGame); + case MAIN_MENU_CONTINUE: + FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10)); + FillWindowPixelBuffer(MAIN_MENU_WINDOW_NEWGAME, PIXEL_FILL(10)); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 2, 2, sTextColor1, -1, gText_Continue); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_NEWGAME, 2, 2, 2, sTextColor1, -1, gText_NewGame); PrintContinueStats(); - DrawBubbleBorder(&sWindowTemplate[1]); - DrawBubbleBorder(&sWindowTemplate[2]); - PutWindowTilemap(1); - PutWindowTilemap(2); - CopyWindowToVram(1, 2); - CopyWindowToVram(2, 3); + MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_CONTINUE]); + MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME]); + PutWindowTilemap(MAIN_MENU_WINDOW_CONTINUE); + PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME); + CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, 2); + CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, 3); break; - case 2: - FillWindowPixelBuffer(1, PIXEL_FILL(10)); - FillWindowPixelBuffer(2, PIXEL_FILL(10)); - FillWindowPixelBuffer(3, PIXEL_FILL(10)); - AddTextPrinterParameterized3(1, 2, 2, 2, sTextColor1, -1, gText_Continue); - AddTextPrinterParameterized3(2, 2, 2, 2, sTextColor1, -1, gText_NewGame); - gTasks[taskId].data[10] = 1; - AddTextPrinterParameterized3(3, 2, 2, 2, sTextColor1, -1, gText_MysteryGift); + case MAIN_MENU_MYSTERYGIFT: + FillWindowPixelBuffer(MAIN_MENU_WINDOW_CONTINUE, PIXEL_FILL(10)); + FillWindowPixelBuffer(MAIN_MENU_WINDOW_NEWGAME, PIXEL_FILL(10)); + FillWindowPixelBuffer(MAIN_MENU_WINDOW_MYSTERYGIFT, PIXEL_FILL(10)); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 2, 2, sTextColor1, -1, gText_Continue); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_NEWGAME, 2, 2, 2, sTextColor1, -1, gText_NewGame); + gTasks[taskId].tMGErrorType = 1; + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_MYSTERYGIFT, 2, 2, 2, sTextColor1, -1, gText_MysteryGift); PrintContinueStats(); - DrawBubbleBorder(&sWindowTemplate[1]); - DrawBubbleBorder(&sWindowTemplate[2]); - DrawBubbleBorder(&sWindowTemplate[3]); - PutWindowTilemap(1); - PutWindowTilemap(2); - PutWindowTilemap(3); - CopyWindowToVram(1, 2); - CopyWindowToVram(2, 2); - CopyWindowToVram(3, 3); + MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_CONTINUE]); + MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_NEWGAME]); + MainMenu_DrawWindow(&sWindowTemplate[MAIN_MENU_WINDOW_MYSTERYGIFT]); + PutWindowTilemap(MAIN_MENU_WINDOW_CONTINUE); + PutWindowTilemap(MAIN_MENU_WINDOW_NEWGAME); + PutWindowTilemap(MAIN_MENU_WINDOW_MYSTERYGIFT); + CopyWindowToVram(MAIN_MENU_WINDOW_CONTINUE, 2); + CopyWindowToVram(MAIN_MENU_WINDOW_NEWGAME, 2); + CopyWindowToVram(MAIN_MENU_WINDOW_MYSTERYGIFT, 3); break; } gTasks[taskId].func = Task_WaitDma3AndFadeIn; @@ -380,7 +410,7 @@ static void Task_WaitDma3AndFadeIn(u8 taskId) static void Task_UpdateVisualSelection(u8 taskId) { - MoveWindowByMenuTypeAndCursorPos(gTasks[taskId].data[0], gTasks[taskId].data[1]); + MoveWindowByMenuTypeAndCursorPos(gTasks[taskId].tMenuType, gTasks[taskId].tCursorPos); gTasks[taskId].func = Task_HandleMenuInput; } @@ -394,36 +424,36 @@ static void Task_HandleMenuInput(u8 taskId) static void Task_ExecuteMainMenuSelection(u8 taskId) { - s32 r0; + s32 menuAction; if (!gPaletteFade.active) { - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tMenuType) { default: - case 0: - r0 = 0; + case MAIN_MENU_NEWGAME: + menuAction = MAIN_MENU_NEWGAME; break; - case 1: - switch (gTasks[taskId].data[1]) + case MAIN_MENU_CONTINUE: + switch (gTasks[taskId].tCursorPos) { default: case 0: - r0 = 1; + menuAction = MAIN_MENU_CONTINUE; break; case 1: - r0 = 0; + menuAction = MAIN_MENU_NEWGAME; break; } break; - case 2: - switch (gTasks[taskId].data[1]) + case MAIN_MENU_MYSTERYGIFT: + switch (gTasks[taskId].tCursorPos) { default: case 0: - r0 = 1; + menuAction = MAIN_MENU_CONTINUE; break; case 1: - r0 = 0; + menuAction = MAIN_MENU_NEWGAME; break; case 2: if (!IsWirelessAdapterConnected()) @@ -435,29 +465,29 @@ static void Task_ExecuteMainMenuSelection(u8 taskId) } else { - r0 = 2; + menuAction = MAIN_MENU_MYSTERYGIFT; } break; } break; } - switch (r0) + switch (menuAction) { default: - case 0: + case MAIN_MENU_NEWGAME: gUnknown_2031DE0 = 0; FreeAllWindowBuffers(); DestroyTask(taskId); StartNewGameScene(); break; - case 1: + case MAIN_MENU_CONTINUE: gPlttBufferUnfaded[0] = RGB_BLACK; gPlttBufferFaded[0] = RGB_BLACK; gUnknown_2031DE0 = 0; FreeAllWindowBuffers(); TrySetUpQuestLogScenes_ElseContinueFromSave(taskId); break; - case 2: + case MAIN_MENU_MYSTERYGIFT: SetMainCallback2(c2_mystery_gift); HelpSystem_Disable(); FreeAllWindowBuffers(); @@ -469,24 +499,24 @@ static void Task_ExecuteMainMenuSelection(u8 taskId) static void Task_MysteryGiftError(u8 taskId) { - switch (gTasks[taskId].data[9]) + switch (gTasks[taskId].tMGErrorMsgState) { case 0: FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - if (gTasks[taskId].data[10] == 1) + if (gTasks[taskId].tMGErrorType == 1) PrintMessageOnWindow4(gText_WirelessAdapterIsNotConnected); else PrintMessageOnWindow4(gText_MysteryGiftCantBeUsedWhileWirelessAdapterIsAttached); - gTasks[taskId].data[9]++; + gTasks[taskId].tMGErrorMsgState++; break; case 1: if (!gPaletteFade.active) - gTasks[taskId].data[9]++; + gTasks[taskId].tMGErrorMsgState++; break; case 2: RunTextPrinters(); if (!IsTextPrinterActive(4)) - gTasks[taskId].data[9]++; + gTasks[taskId].tMGErrorMsgState++; break; case 3: if (JOY_NEW(A_BUTTON | B_BUTTON)) @@ -510,36 +540,36 @@ static void Task_ReturnToTileScreen(u8 taskId) static void MoveWindowByMenuTypeAndCursorPos(u8 menuType, u8 cursorPos) { - u16 win0v1, win0v2; + u16 win0vTop, win0vBot; SetGpuReg(REG_OFFSET_WIN0H, 0x12DE); switch (menuType) { default: - case 0: - win0v1 = 0x00; - win0v2 = 0x20; + case MAIN_MENU_NEWGAME: + win0vTop = 0x00 << 8; + win0vBot = 0x20; break; - case 1: - case 2: + case MAIN_MENU_CONTINUE: + case MAIN_MENU_MYSTERYGIFT: switch (cursorPos) { default: - case 0: - win0v1 = 0x00; - win0v2 = 0x60; + case 0: // CONTINUE + win0vTop = 0x00 << 8; + win0vBot = 0x60; break; - case 1: - win0v1 = 0x60 << 8; - win0v2 = 0x80; + case 1: // NEW GAME + win0vTop = 0x60 << 8; + win0vBot = 0x80; break; - case 2: - win0v1 = 0x80 << 8; - win0v2 = 0xA0; + case 2: // MYSTERY GIFT + win0vTop = 0x80 << 8; + win0vBot = 0xA0; break; } break; } - SetGpuReg(REG_OFFSET_WIN0V, (win0v1 + (2 << 8)) | (win0v2 - 2)); + SetGpuReg(REG_OFFSET_WIN0V, (win0vTop + (2 << 8)) | (win0vBot - 2)); } static bool8 HandleMenuInput(u8 taskId) @@ -559,14 +589,14 @@ static bool8 HandleMenuInput(u8 taskId) SetGpuReg(REG_OFFSET_WIN0V, 0xA0); gTasks[taskId].func = Task_ReturnToTileScreen; } - else if (JOY_NEW(DPAD_UP) && gTasks[taskId].data[1] > 0) + else if (JOY_NEW(DPAD_UP) && gTasks[taskId].tCursorPos > 0) { - gTasks[taskId].data[1]--; + gTasks[taskId].tCursorPos--; return TRUE; } - else if (JOY_NEW(DPAD_DOWN) && gTasks[taskId].data[1] < gUnknown_8234694[gTasks[taskId].data[0]]) + else if (JOY_NEW(DPAD_DOWN) && gTasks[taskId].tCursorPos < sMenuCursorYMax[gTasks[taskId].tMenuType]) { - gTasks[taskId].data[1]++; + gTasks[taskId].tCursorPos++; return TRUE; } @@ -575,11 +605,11 @@ static bool8 HandleMenuInput(u8 taskId) static void PrintMessageOnWindow4(const u8 *str) { - FillWindowPixelBuffer(4, PIXEL_FILL(10)); - DrawBubbleBorder(&sWindowTemplate[4]); - AddTextPrinterParameterized3(4, 2, 0, 2, sTextColor1, 2, str); - PutWindowTilemap(4); - CopyWindowToVram(4, 2); + FillWindowPixelBuffer(MAIN_MENU_WINDOW_ERROR, PIXEL_FILL(10)); + MainMenu_DrawWindow(&sWindowTemplate[4]); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_ERROR, 2, 0, 2, sTextColor1, 2, str); + PutWindowTilemap(MAIN_MENU_WINDOW_ERROR); + CopyWindowToVram(MAIN_MENU_WINDOW_ERROR, 2); SetGpuReg(REG_OFFSET_WIN0H, 0x13DD); SetGpuReg(REG_OFFSET_WIN0V, 0x739D); } @@ -597,12 +627,12 @@ static void PrintPlayerName(void) s32 i; u8 name[OT_NAME_LENGTH + 1]; u8 *ptr; - AddTextPrinterParameterized3(1, 2, 2, 18, sTextColor2, -1, gText_Player); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 2, 18, sTextColor2, -1, gText_Player); ptr = name; for (i = 0; i < OT_NAME_LENGTH; i++) *ptr++ = gSaveBlock2Ptr->playerName[i]; *ptr = EOS; - AddTextPrinterParameterized3(1, 2, 62, 18, sTextColor2, -1, name); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 62, 18, sTextColor2, -1, name); } static void PrintPlayTime(void) @@ -610,11 +640,11 @@ static void PrintPlayTime(void) u8 strbuf[30]; u8 *ptr; - AddTextPrinterParameterized3(1, 2, 2, 34, sTextColor2, -1, gText_Time); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 2, 34, sTextColor2, -1, gText_Time); ptr = ConvertIntToDecimalStringN(strbuf, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); *ptr++ = CHAR_COLON; ConvertIntToDecimalStringN(ptr, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); - AddTextPrinterParameterized3(1, 2, 62, 34, sTextColor2, -1, strbuf); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 62, 34, sTextColor2, -1, strbuf); } static void PrintDexCount(void) @@ -628,10 +658,10 @@ static void PrintDexCount(void) dexcount = GetNationalPokedexCount(FLAG_GET_CAUGHT); else dexcount = GetKantoPokedexCount(FLAG_GET_CAUGHT); - AddTextPrinterParameterized3(1, 2, 2, 50, sTextColor2, -1, gText_Pokedex); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 2, 50, sTextColor2, -1, gText_Pokedex); ptr = ConvertIntToDecimalStringN(strbuf, dexcount, STR_CONV_MODE_LEFT_ALIGN, 3); StringAppend(ptr, gTextJPDummy_Hiki); - AddTextPrinterParameterized3(1, 2, 62, 50, sTextColor2, -1, strbuf); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 62, 50, sTextColor2, -1, strbuf); } } @@ -646,40 +676,120 @@ static void PrintBadgeCount(void) if (FlagGet(flagId)) nbadges++; } - AddTextPrinterParameterized3(1, 2, 2, 66, sTextColor2, -1, gText_Badges); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 2, 66, sTextColor2, -1, gText_Badges); ptr = ConvertIntToDecimalStringN(strbuf, nbadges, STR_CONV_MODE_LEADING_ZEROS, 1); StringAppend(ptr, gTextJPDummy_Ko); - AddTextPrinterParameterized3(1, 2, 62, 66, sTextColor2, -1, strbuf); + AddTextPrinterParameterized3(MAIN_MENU_WINDOW_CONTINUE, 2, 62, 66, sTextColor2, -1, strbuf); } static void LoadUserFrameToBg(u8 bgId) { LoadBgTiles(bgId, GetUserFrameGraphicsInfo(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, 0x1B1); LoadPalette(GetUserFrameGraphicsInfo(gSaveBlock2Ptr->optionsWindowFrameType)->palette, 0x20, 0x20); - DestroyWindowBubbleFrame(&sWindowTemplate[4]); + MainMenu_EraseWindow(&sWindowTemplate[MAIN_MENU_WINDOW_ERROR]); } static void SetStdFrame0OnBg(u8 bgId) { - TextWindow_SetStdFrame0_WithPal(0, 0x1B1, 0x20); - DestroyWindowBubbleFrame(&sWindowTemplate[4]); + TextWindow_SetStdFrame0_WithPal(MAIN_MENU_WINDOW_NEWGAME_ONLY, 0x1B1, 0x20); + MainMenu_EraseWindow(&sWindowTemplate[MAIN_MENU_WINDOW_ERROR]); } -static void DrawBubbleBorder(const struct WindowTemplate * windowTemplate) +static void MainMenu_DrawWindow(const struct WindowTemplate * windowTemplate) { - FillBgTilemapBufferRect(windowTemplate->bg, 0x1B1, windowTemplate->tilemapLeft - 1, windowTemplate->tilemapTop - 1, 1, 1, 2); - FillBgTilemapBufferRect(windowTemplate->bg, 0x1B2, windowTemplate->tilemapLeft, windowTemplate->tilemapTop - 1, windowTemplate->width, windowTemplate->height, 2); - FillBgTilemapBufferRect(windowTemplate->bg, 0x1B3, windowTemplate->tilemapLeft + windowTemplate->width, windowTemplate->tilemapTop - 1, 1, 1, 2); - FillBgTilemapBufferRect(windowTemplate->bg, 0x1B4, windowTemplate->tilemapLeft - 1, windowTemplate->tilemapTop, 1, windowTemplate->height, 2); - FillBgTilemapBufferRect(windowTemplate->bg, 0x1B6, windowTemplate->tilemapLeft + windowTemplate->width, windowTemplate->tilemapTop, 1, windowTemplate->height, 2); - FillBgTilemapBufferRect(windowTemplate->bg, 0x1B7, windowTemplate->tilemapLeft - 1, windowTemplate->tilemapTop + windowTemplate->height, 1, 1, 2); - FillBgTilemapBufferRect(windowTemplate->bg, 0x1B8, windowTemplate->tilemapLeft, windowTemplate->tilemapTop + windowTemplate->height, windowTemplate->width, 1, 2); - FillBgTilemapBufferRect(windowTemplate->bg, 0x1B9, windowTemplate->tilemapLeft + windowTemplate->width, windowTemplate->tilemapTop + windowTemplate->height, 1, 1, 2); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x1B1, + windowTemplate->tilemapLeft - 1, + windowTemplate->tilemapTop - 1, + 1, + 1, + 2 + ); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x1B2, + windowTemplate->tilemapLeft, + windowTemplate->tilemapTop - 1, + windowTemplate->width, + windowTemplate->height, + 2 + ); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x1B3, + windowTemplate->tilemapLeft + + windowTemplate->width, + windowTemplate->tilemapTop - 1, + 1, + 1, + 2 + ); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x1B4, + windowTemplate->tilemapLeft - 1, + windowTemplate->tilemapTop, + 1, + windowTemplate->height, + 2 + ); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x1B6, + windowTemplate->tilemapLeft + + windowTemplate->width, + windowTemplate->tilemapTop, + 1, + windowTemplate->height, + 2 + ); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x1B7, + windowTemplate->tilemapLeft - 1, + windowTemplate->tilemapTop + + windowTemplate->height, + 1, + 1, + 2 + ); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x1B8, + windowTemplate->tilemapLeft, + windowTemplate->tilemapTop + + windowTemplate->height, + windowTemplate->width, + 1, + 2 + ); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x1B9, + windowTemplate->tilemapLeft + + windowTemplate->width, + windowTemplate->tilemapTop + + windowTemplate->height, + 1, + 1, + 2 + ); CopyBgTilemapBufferToVram(windowTemplate->bg); } -static void DestroyWindowBubbleFrame(const struct WindowTemplate * windowTemplate) +static void MainMenu_EraseWindow(const struct WindowTemplate * windowTemplate) { - FillBgTilemapBufferRect(windowTemplate->bg, 0x000, windowTemplate->tilemapLeft - 1, windowTemplate->tilemapTop - 1, windowTemplate->tilemapLeft + windowTemplate->width + 1, windowTemplate->tilemapTop + windowTemplate->height + 1, 2); + FillBgTilemapBufferRect( + windowTemplate->bg, + 0x000, + windowTemplate->tilemapLeft - 1, + windowTemplate->tilemapTop - 1, + windowTemplate->tilemapLeft + + windowTemplate->width + 1, + windowTemplate->tilemapTop + + windowTemplate->height + 1, + 2 + ); CopyBgTilemapBufferToVram(windowTemplate->bg); } -- cgit v1.2.3 From 20efe34745e3f53f6c570a063718972cc50c8a97 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 8 Oct 2019 13:54:52 -0400 Subject: help_system common syms --- src/help_system.c | 2 ++ src/main.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/help_system.c b/src/help_system.c index 7859961db..3ebbcb9ec 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -16,6 +16,8 @@ extern u8 gGlyphInfo[]; +bool8 gHelpSystemEnabled; + struct HelpSystemVideoState { /*0x00*/ MainCallback savedVblankCb; diff --git a/src/main.c b/src/main.c index eb1625473..9294c80ce 100644 --- a/src/main.c +++ b/src/main.c @@ -104,7 +104,6 @@ static IntrFunc * const sTimerIntrFunc = gIntrTable + 0x7; EWRAM_DATA u8 gDecompressionBuffer[0x4000] = {0}; EWRAM_DATA u16 gTrainerId = 0; -extern bool8 gHelpSystemEnabled; extern bool8 gWirelessCommType; extern bool8 gUnknown_3005E88; -- cgit v1.2.3 From 40a810679f0fce5c092f9f619025b04dbbf8a214 Mon Sep 17 00:00:00 2001 From: SatoMew Date: Tue, 8 Oct 2019 23:06:33 +0100 Subject: Update remaining constants --- src/credits.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/credits.c b/src/credits.c index f47cc79c4..270a4d045 100644 --- a/src/credits.c +++ b/src/credits.c @@ -130,7 +130,7 @@ enum CreditsMap CREDITS_MAP_VERMILION_CITY, CREDITS_MAP_ROUTE10, CREDITS_MAP_CELADON_CITY, - CREDITS_MAP_SAFFRON_CITY_DUPLICATE, + CREDITS_MAP_SAFFRON_CITY, CREDITS_MAP_ROUTE17, CREDITS_MAP_FUCHSIA_CITY, CREDITS_MAP_CINNABAR_ISLAND, @@ -412,7 +412,7 @@ static const struct CreditsScrcmd sCreditsScript[] = { CREDITS_PRINT(BRAILLE_CODE_CHECK, 221), CREDITS_PRINT(INFORMATION_SUPERVISORS, 221), CREDITS_PRINT(DUMMY, 51), - CREDITS_MAPNEXT(SAFFRON_CITY_DUPLICATE, 16), + CREDITS_MAPNEXT(SAFFRON_CITY, 16), CREDITS_PRINT(COORDINATORS, 211), CREDITS_PRINT(TASK_MANAGERS, 210), CREDITS_PRINT(PRODUCERS, 210), @@ -619,7 +619,7 @@ static const struct CreditsOverworldCmd sOverworldCmd_CeladonCity[] = { }; static const struct CreditsOverworldCmd sOverworldCmd_SaffronCity[] = { - { 0x00fe, MAP_GROUP(SAFFRON_CITY_DUPLICATE), MAP_NUM(SAFFRON_CITY_DUPLICATE) }, + { 0x00fe, MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY) }, { 0x0027, 0x0005, 0x0001 }, { 0x0000, 0x0001, 0x0500 }, // Scroll down { 0x00fd, 0x00fd, 0x00fd } -- cgit v1.2.3 From 734cada66a2d9938cdc9a2806f68352d06da6e9a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 9 Oct 2019 18:12:37 -0400 Subject: Address review comments --- src/berry_fix_program.c | 2 +- src/help_system_812B1E0.c | 4 ++-- src/link.c | 22 +++++++++++----------- src/main_menu.c | 2 +- src/quest_log.c | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index 7c7c452f3..e60a53ef9 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -95,7 +95,7 @@ void mb_berry_fix_serve(void) // noreturn ResetSpriteData(); ResetTasks(); ScanlineEffect_Stop(); - gHelpSystemEnabled = 0; + gHelpSystemEnabled = FALSE; taskId = CreateTask(mb_berry_fix_task, 0); gTasks[taskId].data[0] = 0; SetMainCallback2(mb_berry_fix_maincb); diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index 6fd069f1c..a527525f8 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -1007,14 +1007,14 @@ bool8 sub_812B45C(void) void HelpSystem_Disable(void) { - gHelpSystemEnabled = 0; + gHelpSystemEnabled = FALSE; } void HelpSystem_Enable(void) { if (gUnknown_203ADFA != 2 && gUnknown_203ADFA != 3) { - gHelpSystemEnabled = 1; + gHelpSystemEnabled = TRUE; sub_812B4B8(); } } diff --git a/src/link.c b/src/link.c index c51ec80af..52f5aeddb 100644 --- a/src/link.c +++ b/src/link.c @@ -982,7 +982,7 @@ void sub_800A3F4(void) u8 GetMultiplayerId(void) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { return rfu_get_multiplayer_id(); } @@ -999,7 +999,7 @@ u8 bitmask_all_link_players_but_self(void) bool8 SendBlock(u8 unused, const void *src, u16 size) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { return Rfu_InitBlockSend(src, size); } @@ -1008,7 +1008,7 @@ bool8 SendBlock(u8 unused, const void *src, u16 size) bool8 sub_800A474(u8 a0) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { return sub_80FA0F8(a0); } @@ -1023,7 +1023,7 @@ bool8 sub_800A474(u8 a0) bool8 IsLinkTaskFinished(void) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { return IsRfuTaskFinished(); } @@ -1032,7 +1032,7 @@ bool8 IsLinkTaskFinished(void) u8 GetBlockReceivedStatus(void) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { return Rfu_GetBlockReceivedStatus(); } @@ -1041,7 +1041,7 @@ u8 GetBlockReceivedStatus(void) void SetBlockReceivedFlag(u8 who) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { Rfu_SetBlockReceivedFlag(who); } @@ -1055,7 +1055,7 @@ void ResetBlockReceivedFlags(void) { int i; - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { for (i = 0; i < MAX_RFU_PLAYERS; i++) { @@ -1073,7 +1073,7 @@ void ResetBlockReceivedFlags(void) void ResetBlockReceivedFlag(u8 who) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { Rfu_ResetBlockReceivedFlag(who); } @@ -1314,7 +1314,7 @@ u8 sub_800AA74(void) void sub_800AA80(u16 a0) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { task_add_05_task_del_08FA224_when_no_RfuFunc(); } @@ -1331,7 +1331,7 @@ void sub_800AA80(u16 a0) void sub_800AAC0(void) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { task_add_05_task_del_08FA224_when_no_RfuFunc(); } @@ -1386,7 +1386,7 @@ static void sub_800AB38(void) void sub_800AB9C(void) { - if (gWirelessCommType == TRUE) + if (gWirelessCommType == 1) { sub_80FA42C(); } diff --git a/src/main_menu.c b/src/main_menu.c index 4307e9696..72056d750 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -321,7 +321,7 @@ static void Task_SetWin0BldRegsNoSaveFileCheck(u8 taskId) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); SetGpuReg(REG_OFFSET_BLDY, 7); - if (gTasks[taskId].tMenuType == 0) + if (gTasks[taskId].tMenuType == MAIN_MENU_NEWGAME) gTasks[taskId].func = Task_ExecuteMainMenuSelection; else gTasks[taskId].func = Task_WaitFadeAndPrintMainMenuText; diff --git a/src/quest_log.c b/src/quest_log.c index 71cab91a1..c8bd19174 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1603,7 +1603,7 @@ void sub_81120AC(u8 taskId) gTextFlags.autoScroll = FALSE; gUnknown_2036E28 = 0; sub_8082740(0); - gHelpSystemEnabled = 1; + gHelpSystemEnabled = TRUE; DestroyTask(taskId); break; } -- cgit v1.2.3 From 855c052be041ed85789db1e460dd35cab9d12b4f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 9 Oct 2019 20:02:59 -0400 Subject: Rename song constants using Japanese sound test menu --- src/battle_controller_player.c | 12 ++++++------ src/battle_gfx_sfx_util.c | 8 ++++---- src/battle_script_commands.c | 2 +- src/battle_transition.c | 2 +- src/berry_pouch.c | 4 ++-- src/daycare.c | 2 +- src/fame_checker.c | 10 +++++----- src/field_fadetransition.c | 4 ++-- src/fldeff_poison.c | 2 +- src/fldeff_rocksmash.c | 2 +- src/fldeff_sweetscent.c | 2 +- src/help_system.c | 6 +++--- src/intro.c | 4 ++-- src/item_pc.c | 2 +- src/item_use.c | 4 ++-- src/itemfinder.c | 4 ++-- src/mevent.c | 2 +- src/mystery_gift_menu.c | 2 +- src/oak_speech.c | 10 +++++----- src/slot_machine.c | 4 ++-- src/sound.c | 6 +++--- src/ss_anne.c | 4 ++-- src/teachy_tv.c | 8 ++++---- src/text.c | 5 +++-- src/title_screen.c | 2 +- src/tm_case.c | 2 +- src/unk_815F138.c | 8 ++++---- src/vs_seeker.c | 2 +- 28 files changed, 63 insertions(+), 62 deletions(-) (limited to 'src') diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b0cd92c2e..0d827c8db 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -807,7 +807,7 @@ static void sub_802F610(void) { if (gReceivedRemoteLinkPlayers == 0) { - m4aSongNumStop(SE_T_OOAME); + m4aSongNumStop(SE_HINSI); gMain.inBattle = 0; gMain.callback1 = gPreBattleCallback1; SetMainCallback2(sub_8011A1C); @@ -816,7 +816,7 @@ static void sub_802F610(void) } else if (IsLinkTaskFinished()) { - m4aSongNumStop(SE_T_OOAME); + m4aSongNumStop(SE_HINSI); gMain.inBattle = 0; gMain.callback1 = gPreBattleCallback1; SetMainCallback2(sub_8011A1C); @@ -838,7 +838,7 @@ void sub_802F6A8(void) } else { - m4aSongNumStop(SE_T_OOAME); + m4aSongNumStop(SE_HINSI); gMain.inBattle = 0; gMain.callback1 = gPreBattleCallback1; SetMainCallback2(gMain.savedCallback); @@ -1087,7 +1087,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gBaseStats[species].growthRate][level + 1] - currLvlExp; SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); - PlaySE(SE_U); + PlaySE(SE_EXP); gTasks[taskId].func = sub_80300F4; } @@ -1113,7 +1113,7 @@ static void sub_80300F4(u8 taskId) u16 species; s32 expOnNextLvl; - m4aSongNumStop(SE_U); + m4aSongNumStop(SE_EXP); level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); currExp = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); @@ -1227,7 +1227,7 @@ static void sub_80303A8(u8 taskId) ++data[15]; break; case 2: - PlaySE(SE_T_KAMI2); + PlaySE(SE_REGI); if (IsMonGettingExpSentOut()) sub_811E5B8(sprite->pos1.x + sprite->pos2.x, sprite->pos1.y + sprite->pos2.y, diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index a47baea99..d2e728d0c 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -820,7 +820,7 @@ void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) if (!gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong) { if (!gBattleSpritesDataPtr->battlerData[battlerId ^ BIT_FLANK].lowHpSong) - PlaySE(SE_T_OOAME); + PlaySE(SE_HINSI); gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 1; } } @@ -828,9 +828,9 @@ void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) { gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 0; if (!IsDoubleBattle()) - m4aSongNumStop(SE_T_OOAME); + m4aSongNumStop(SE_HINSI); else if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[battlerId ^ BIT_FLANK].lowHpSong) - m4aSongNumStop(SE_T_OOAME); + m4aSongNumStop(SE_HINSI); } } @@ -841,7 +841,7 @@ void BattleStopLowHpSound(void) gBattleSpritesDataPtr->battlerData[playerBattler].lowHpSong = 0; if (IsDoubleBattle()) gBattleSpritesDataPtr->battlerData[playerBattler ^ BIT_FLANK].lowHpSong = 0; - m4aSongNumStop(SE_T_OOAME); + m4aSongNumStop(SE_HINSI); } // not used diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f84ff4d4a..ecc8e3d36 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3165,7 +3165,7 @@ static void atk23_getexp(void) && !gBattleStruct->wildVictorySong) { BattleStopLowHpSound(); - PlayBGM(BGM_FRLG_KACHI_WILD_POKEMON); + PlayBGM(MUS_WIN_YASEI); ++gBattleStruct->wildVictorySong; } if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP)) diff --git a/src/battle_transition.c b/src/battle_transition.c index 9a04218de..d391b3ed4 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -2756,7 +2756,7 @@ static bool8 BT_Phase2Mugshot_StartSpriteSlide(struct Task *task) BT_SetSpriteAsOpponentOrPlayer(task->tOpponentSpriteId, FALSE); BT_SetSpriteAsOpponentOrPlayer(task->tPlayerSpriteId, TRUE); BT_StartSpriteSlide(task->tOpponentSpriteId); - PlaySE(SE_C_MAKU_U); + PlaySE(SE_BT_START); ++sTransitionStructPtr->vblankDma; return FALSE; } diff --git a/src/berry_pouch.c b/src/berry_pouch.c index 525249514..f6b976ba3 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -704,7 +704,7 @@ static void BerryPouchMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMen { if (onInit != TRUE) { - PlaySE(SE_W287B); + PlaySE(SE_BAG1); StartBerryPouchSpriteWobbleAnim(); } DestroyItemMenuIcon(sResources->itemMenuIconId ^ 1); @@ -1381,7 +1381,7 @@ static void Task_SellYes(u8 taskId) static void Task_SellBerries_PlaySfxAndRemoveBerries(u8 taskId) { s16 * data = gTasks[taskId].data; - PlaySE(SE_CASHIER); + PlaySE(SE_SHOP); RemoveBagItem(gSpecialVar_ItemId, data[8]); AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]); sub_809C09C(gSpecialVar_ItemId, data[8], 2); diff --git a/src/daycare.c b/src/daycare.c index 1690953ee..837a2c4e6 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -2142,7 +2142,7 @@ static void SpriteCB_Egg_4(struct Sprite* sprite) sprite->data[0]++; if (!gPaletteFade.active) { - PlaySE(SE_JIHANKI); + PlaySE(SE_TAMAGO); sprite->invisible = TRUE; sprite->callback = SpriteCB_Egg_5; sprite->data[0] = 0; diff --git a/src/fame_checker.c b/src/fame_checker.c index 31bd11b55..0278fda18 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -448,7 +448,7 @@ void UseFameChecker(MainCallback savedCallback) sFameCheckerData->listMenuTopIdx2 = 0; sFameCheckerData->listMenuDrawnSelIdx = 0; sFameCheckerData->viewingFlavorText = FALSE; - PlaySE(SE_W202); + PlaySE(SE_W129); SetMainCallback2(MainCB2_LoadFameChecker); } @@ -559,11 +559,11 @@ static void Task_TopMenuHandleInput(u8 taskId) cursorPos = FameCheckerGetCursorY(); if (TryExitPickMode(taskId) == TRUE) { - PlaySE(SE_W100); + PlaySE(SE_W199); } else if (cursorPos != sFameCheckerData->numUnlockedPersons - 1) // anything but CANCEL { - PlaySE(SE_W100); + PlaySE(SE_W199); FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 88, 32); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC); UpdateInfoBoxTilemap(2, 4); @@ -748,7 +748,7 @@ static void FC_MoveSelectorCursor(u8 taskId, s8 dx, s8 dy) { u8 i; s16 *data = gTasks[taskId].data; - PlaySE(SE_W155); + PlaySE(SE_W207B); gSprites[data[0]].pos1.x += dx; gSprites[data[0]].pos1.y += dy; for (i = 0; i < 6; i++) @@ -826,7 +826,7 @@ static bool8 SetMessageSelectorIconObjMode(u8 spriteId, u8 objMode) static void Task_StartToCloseFameChecker(u8 taskId) { - PlaySE(SE_W202); + PlaySE(SE_W129); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = Task_DestroyAssetsAndCloseFameChecker; } diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 2ed3b80b9..62254a559 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -305,7 +305,7 @@ static void sub_807DF94(void) Overworld_PlaySpecialMapMusic(); pal_fill_for_maplights(); sub_8111CF0(); - PlaySE(SE_RU_GASHIN); + PlaySE(SE_TK_WARPOUT); CreateTask(sub_807E31C, 10); ScriptContext2_Enable(); } @@ -713,7 +713,7 @@ static void sub_807E784(u8 taskId) case 0: player_bitmagic(); ScriptContext2_Enable(); - PlaySE(SE_FU_ZUZUZU); + PlaySE(SE_TK_WARPIN); sub_805DAB0(); task->data[0]++; break; diff --git a/src/fldeff_poison.c b/src/fldeff_poison.c index 98f54b4d4..d117e0c9b 100644 --- a/src/fldeff_poison.c +++ b/src/fldeff_poison.c @@ -29,7 +29,7 @@ static void Task_FieldPoisonEffect(u8 taskId) void FldEffPoison_Start(void) { - PlaySE(SE_DAUGI); + PlaySE(SE_DOKU); CreateTask(Task_FieldPoisonEffect, 80); } diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 517f3479a..56a607fff 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -131,7 +131,7 @@ bool8 FldEff_UseRockSmash(void) static void sub_80C9A60(void) { - PlaySE(SE_W145); + PlaySE(SE_W088); FieldEffectActiveListRemove(FLDEFF_USE_ROCK_SMASH); EnableBothScriptContexts(); } diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index aca56ef4c..114bf0b57 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -51,7 +51,7 @@ static void StartSweetScentFieldEffect(void) { u8 taskId; - PlaySE(SE_W260); + PlaySE(SE_W230); gUnknown_203AAB0 = (u8 *)Alloc(0x400); CpuFastSet(gPlttBufferUnfaded, gUnknown_203AAB0, 0x100); CpuFastSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x100); diff --git a/src/help_system.c b/src/help_system.c index 3ebbcb9ec..4a4d927c5 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -59,12 +59,12 @@ u8 RunHelpSystemCallback(void) { if (!sub_812B45C() || !gHelpSystemEnabled) { - PlaySE(SE_HELP_ERR); + PlaySE(SE_HELP_NG); return 0; } m4aMPlayStop(&gMPlayInfo_SE1); m4aMPlayStop(&gMPlayInfo_SE2); - PlaySE(SE_HELP_OPEN); + PlaySE(SE_HELP_OP); if (!gUnknown_203F174) m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80); SaveCallbacks(); @@ -112,7 +112,7 @@ u8 RunHelpSystemCallback(void) case 5: if (!sub_812BB9C(&gHelpSystemListMenu, gHelpSystemListMenuItems)) { - PlaySE(SE_HELP_CLOSE); + PlaySE(SE_HELP_CL); sVideoState.state = 6; } break; diff --git a/src/intro.c b/src/intro.c index c15f40dd3..e2432b6a2 100644 --- a/src/intro.c +++ b/src/intro.c @@ -738,7 +738,7 @@ static void sub_80ECC3C(struct IntroSequenceData * this) switch (this->field_0004) { case 0: - PlaySE(BGM_FRLG_GAMEFREAK_LOGO); + PlaySE(MUS_TITLEROG); sub_80EDC40(); this->field_0012 = 0; this->field_0004++; @@ -907,7 +907,7 @@ static void sub_80ECEA4(struct IntroSequenceData * this) case 3: if (!gPaletteFade.active) { - m4aSongNumStart(BGM_FRLG_OPENING); + m4aSongNumStart(MUS_DEMO); this->field_0012 = 0; this->field_0004++; } diff --git a/src/item_pc.c b/src/item_pc.c index 24f6afed2..8569844b9 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -379,7 +379,7 @@ static bool8 ItemPc_DoGfxSetup(void) { sub_80A0A48(0, 0, 0); ItemPc_SetInitializedFlag(1); - PlaySE(SE_PC_LOGON); + PlaySE(SE_PC_LOGIN); } gMain.state++; break; diff --git a/src/item_use.c b/src/item_use.c index c472960bd..f8a99cb1d 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -496,7 +496,7 @@ void FieldUseFunc_SuperRepel(u8 taskId) { if (VarGet(VAR_REPEL_STEP_COUNT) == 0) { - PlaySE(SE_RU_GASYAN); + PlaySE(SE_TU_SAA); gTasks[taskId].func = sub_80A19E8; } else @@ -551,7 +551,7 @@ void sub_80A1B48(u8 taskId) { if (++gTasks[taskId].data[8] > 7) { - PlaySE(SE_PN_ON); + PlaySE(SE_BIDORO); DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); } } diff --git a/src/itemfinder.c b/src/itemfinder.c index 4e723ac03..e6448a166 100644 --- a/src/itemfinder.c +++ b/src/itemfinder.c @@ -170,7 +170,7 @@ static void Task_ItemfinderResponseSoundsAndAnims(u8 taskId) } else { - PlaySE(SE_TOY_F); + PlaySE(SE_DAUGI); CreateArrowSprite(tDingNum, direction); tDingNum++; tNumDingsRemaining--; @@ -191,7 +191,7 @@ static void Task_ItemfinderUnderfootSoundsAndAnims(u8 taskId) } else { - PlaySE(SE_TOY_F); + PlaySE(SE_DAUGI); tStartSpriteId = CreateStarSprite(); tDingNum++; tNumDingsRemaining--; diff --git a/src/mevent.c b/src/mevent.c index a7115d2d4..f1c9d8a4c 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -192,7 +192,7 @@ u32 sub_8143770(u8 * r4, u16 * r5) case 2: if (GetLinkPlayerCount_2() == 2) { - PlaySE(SE_TOY_G); + PlaySE(SE_PINPON); CheckShouldAdvanceLinkState(); *r5 = 0; *r4 = 3; diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 9c050810e..395c4e374 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -428,7 +428,7 @@ bool32 HandleMysteryGiftOrEReaderSetup(s32 mg_or_ereader) case 3: ShowBg(0); ShowBg(3); - PlayBGM(BGM_FRLG_MYSTERY_GIFT); + PlayBGM(MUS_OKURIMONO); SetVBlankCallback(vblankcb_mystery_gift_e_reader_run); EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); return TRUE; diff --git a/src/oak_speech.c b/src/oak_speech.c index 04b66f528..d3b8b8ff0 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -561,7 +561,7 @@ static void Task_OaksSpeech1(u8 taskId) ShowBg(0); ShowBg(1); SetVBlankCallback(VBlankCB_NewGameOaksSpeech); - PlayBGM(BGM_FRLG_GAME_EXPLANATION_START); + PlayBGM(MUS_SOUSA); gTasks[taskId].func = Task_OaksSpeech2; gMain.state = 0; return; @@ -715,7 +715,7 @@ static void Task_OakSpeech6(u8 taskId) data[3]--; else { - PlayBGM(BGM_FRLG_GAME_EXPLANATION_MIDDLE); + PlayBGM(MUS_SEKAIKAN); ClearTopBarWindow(); TopBarWindowPrintString(gText_ABUTTONNext, 0, 1); sOakSpeechResources->unk_0008 = MallocAndDecompress(sNewGameAdventureIntroTilemap, &sp14); @@ -817,7 +817,7 @@ static void Task_OakSpeech7(u8 taskId) break; case 4: sub_8006398(gTasks[taskId].data[5]); - PlayBGM(BGM_FRLG_GAME_EXPLANATION_END); + PlayBGM(MUS_SEIBETU); data[15] = 24; gMain.state++; break; @@ -876,7 +876,7 @@ static void Task_OakSpeech9(u8 taskId) CreateNidoranFSprite(taskId); LoadOaksSpeechTrainerPic(3, 0); CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 1); - PlayBGM(BGM_FRLG_ROUTE_24); + PlayBGM(MUS_OPENING); BeginNormalPaletteFade(0xFFFFFFFF, 5, 16, 0, RGB_BLACK); data[3] = 80; ShowBg(2); @@ -1409,7 +1409,7 @@ static void Task_OakSpeech39(u8 taskId) if (sOakSpeechResources->unk_0012 % 20 == 0) { if (sOakSpeechResources->unk_0012 == 40) - PlaySE(SE_FU_ZUZUZU); + PlaySE(SE_TK_WARPIN); r0 = data[2]; data[2] -= 32; x = sub_80D8B90(r0 - 8); diff --git a/src/slot_machine.c b/src/slot_machine.c index 28292902f..3bfbbb08b 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -734,7 +734,7 @@ static void MainTask_SlotsGameLoop(u8 taskId) { sSlotMachineState->bet++; TakeCoins(1); - PlaySE(SE_T_KAMI2); + PlaySE(SE_REGI); sub_8141148(8, 0); sub_8141148(2, 1); data[0] = 1; @@ -752,7 +752,7 @@ static void MainTask_SlotsGameLoop(u8 taskId) sSlotMachineState->bet += GetCoins(); SetCoins(0); } - PlaySE(SE_T_KAMI2); + PlaySE(SE_REGI); sub_8141148(8, 0); sub_8141148(2, 1); data[0] = 1; diff --git a/src/sound.c b/src/sound.c index 41b9f5b7d..510db800f 100644 --- a/src/sound.c +++ b/src/sound.c @@ -53,9 +53,9 @@ static const struct Fanfare sFanfares[] = { { MUS_ME_B_BIG, 250 }, { MUS_ME_B_SMALL, 150 }, { MUS_ME_ZANNEN, 160 }, - { BGM_FRLG_FLUTE, 450 }, - { BGM_FRLG_ME_KEYITEM, 170 }, - { BGM_FRLG_ME_POKEDEX_EVAL, 196 } + { MUS_POKEFUE, 450 }, + { MUS_FAN5, 170 }, + { MUS_FAN2, 196 } }; extern u16 SpeciesToCryId(u16); diff --git a/src/ss_anne.c b/src/ss_anne.c index f59f17a76..19c3c8e08 100644 --- a/src/ss_anne.c +++ b/src/ss_anne.c @@ -83,7 +83,7 @@ void Special_SSAnneDepartureCutscene(void) { u8 taskId; - PlaySE(SE_SHIP_HORN); + PlaySE(SE_KITEKI); taskId = CreateTask(Task_SSAnneInit, 8); gTasks[taskId].data[0] = 50; } @@ -118,7 +118,7 @@ static void Task_SSAnneRun(u8 taskId) boatObject = &gMapObjects[mapObjectId]; if (gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x < -120) { - PlaySE(SE_SHIP_HORN); + PlaySE(SE_KITEKI); gTasks[taskId].func = Task_SSAnneFinish; } else diff --git a/src/teachy_tv.c b/src/teachy_tv.c index fa687fbef..18da0997c 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -503,7 +503,7 @@ static void TeachyTvMainCallback(void) gTasks[taskId].data[0] = TeachyTvSetupWindow(); gTasks[taskId].data[1] = TeachyTvSetupObjEventAndOam(); TeachyTvSetupScrollIndicatorArrowPair(); - PlayNewMapMusic(BGM_FRLG_TEACHY_TV); + PlayNewMapMusic(MUS_TVNOIZE); TeachyTvSetWindowRegs(); } ScheduleBgCopyTilemapToVram(0); @@ -779,7 +779,7 @@ static void TTVcmd_TransitionRenderBg2TeachyTvGraphicInitNpcPos(u8 taskId) ScheduleBgCopyTilemapToVram(2); data[2] = 0; ++data[3]; - PlayNewMapMusic(BGM_FRLG_FOLLOW_ME); + PlayNewMapMusic(MUS_ANNAI); } } @@ -1060,7 +1060,7 @@ static void TTVcmd_End(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[2] == 0) - PlayNewMapMusic(BGM_FRLG_TEACHY_TV); + PlayNewMapMusic(MUS_TVNOIZE); TeachyTvBg2AnimController(); if (++data[2] > 63) { @@ -1227,7 +1227,7 @@ static void TeachyTvRestorePlayerPartyCallback(void) if (gBattleOutcome == B_OUTCOME_DREW) SetTeachyTvControllerModeToResume(); else - PlayNewMapMusic(BGM_FRLG_FOLLOW_ME); + PlayNewMapMusic(MUS_ANNAI); CB2_ReturnToTeachyTV(); } diff --git a/src/text.c b/src/text.c index 5b88e9f75..b61713ee2 100644 --- a/src/text.c +++ b/src/text.c @@ -12,6 +12,7 @@ #include "window.h" #include "graphics.h" #include "dynamic_placeholder_text_util.h" +#include "constants/songs.h" extern u8 gGlyphInfo[0x90]; extern const struct OamData gOamData_83AC9D0; @@ -552,7 +553,7 @@ bool16 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter) if (JOY_NEW(A_BUTTON | B_BUTTON)) { result = TRUE; - PlaySE(5); + PlaySE(SE_SELECT); } } return result; @@ -570,7 +571,7 @@ bool16 TextPrinterWait(struct TextPrinter *textPrinter) if (JOY_NEW(A_BUTTON | B_BUTTON)) { result = TRUE; - PlaySE(5); + PlaySE(SE_SELECT); } } return result; diff --git a/src/title_screen.c b/src/title_screen.c index 26770b633..44bdc7c0f 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -285,7 +285,7 @@ void CB2_InitTitleScreen(void) sTitleScreenTimerTaskId = CreateTask(Task_TitleScreenTimer, 2); SetVBlankCallback(VBlankCB); SetMainCallback2(CB2_TitleScreenRun); - m4aSongNumStart(BGM_FRLG_TITLE); + m4aSongNumStart(MUS_TITLE); } return; } diff --git a/src/tm_case.c b/src/tm_case.c index b9c89b6b3..ca149a6c6 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -1104,7 +1104,7 @@ static void Task_DoSaleOfTMs(u8 taskId) { s16 * data = gTasks[taskId].data; - PlaySE(0xF8); + PlaySE(SE_SHOP); RemoveBagItem(gSpecialVar_ItemId, data[8]); AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]); sub_809C09C(gSpecialVar_ItemId, data[8], 2); diff --git a/src/unk_815F138.c b/src/unk_815F138.c index 96005a07b..8aa776bc9 100644 --- a/src/unk_815F138.c +++ b/src/unk_815F138.c @@ -75,7 +75,7 @@ bool32 sub_815F2AC(u8 spriteId) // fallthrough case 1: if (sprite->data[2] == 0) - PlaySE(SE_TRACK_STOP); + PlaySE(SE_KON2); if (++sprite->data[2] >= 20) { sprite->data[2] = 0; @@ -167,7 +167,7 @@ void sub_815F470(struct Sprite * sprite) sprite->pos2.y = data[5] >> 4; if (sprite->pos2.y >= 0) { - PlaySE(SE_TRACK_STOP); + PlaySE(SE_KON2); sprite->pos2.y = 0; data[0]++; } @@ -176,7 +176,7 @@ void sub_815F470(struct Sprite * sprite) data[1] += 12; if (data[1] >= 128) { - PlaySE(SE_TRACK_STOP); + PlaySE(SE_KON2); data[1] = 0; data[0]++; } @@ -187,7 +187,7 @@ void sub_815F470(struct Sprite * sprite) data[1] += 16; if (data[1] >= 128) { - PlaySE(SE_TRACK_STOP); + PlaySE(SE_KON2); data[1] = 0; data[0]++; } diff --git a/src/vs_seeker.c b/src/vs_seeker.c index f7b29292a..cfc99551a 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -836,7 +836,7 @@ static void Task_VsSeeker_2(u8 taskId) if (data[2] != 2 && --data[1] == 0) { - PlaySE(SE_BASABASA); + PlaySE(SE_C_PIKON); data[1] = 11; data[2]++; } -- cgit v1.2.3 From f3bd7f06c9f260597575f60af8daf8985ce80fe1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 9 Oct 2019 20:22:25 -0400 Subject: Fix alignment in sFanfares --- src/sound.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/sound.c b/src/sound.c index 510db800f..325ff783a 100644 --- a/src/sound.c +++ b/src/sound.c @@ -42,20 +42,20 @@ extern struct ToneData gCryTable[]; extern struct ToneData gCryTable2[]; static const struct Fanfare sFanfares[] = { - { MUS_FANFA1, 80 }, - { MUS_FANFA4, 160 }, - { MUS_FANFA5, 220 }, - { MUS_ME_WAZA, 220 }, - { MUS_ME_ASA, 160 }, - { MUS_ME_BACHI, 340 }, - { MUS_ME_WASURE, 180 }, - { MUS_ME_KINOMI, 120 }, - { MUS_ME_B_BIG, 250 }, - { MUS_ME_B_SMALL, 150 }, - { MUS_ME_ZANNEN, 160 }, - { MUS_POKEFUE, 450 }, - { MUS_FAN5, 170 }, - { MUS_FAN2, 196 } + { MUS_FANFA1, 80 }, + { MUS_FANFA4, 160 }, + { MUS_FANFA5, 220 }, + { MUS_ME_WAZA, 220 }, + { MUS_ME_ASA, 160 }, + { MUS_ME_BACHI, 340 }, + { MUS_ME_WASURE, 180 }, + { MUS_ME_KINOMI, 120 }, + { MUS_ME_B_BIG, 250 }, + { MUS_ME_B_SMALL, 150 }, + { MUS_ME_ZANNEN, 160 }, + { MUS_POKEFUE, 450 }, + { MUS_FAN5, 170 }, + { MUS_FAN2, 196 } }; extern u16 SpeciesToCryId(u16); -- cgit v1.2.3