diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/berry_pouch.c | 6 | ||||
-rw-r--r-- | src/item_pc.c | 2 | ||||
-rw-r--r-- | src/menu_helpers.c | 6 | ||||
-rw-r--r-- | src/option_menu.c | 577 | ||||
-rw-r--r-- | src/tm_case.c | 6 |
5 files changed, 587 insertions, 10 deletions
diff --git a/src/berry_pouch.c b/src/berry_pouch.c index f6b976ba3..b8b66c0bc 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -457,7 +457,7 @@ static void CB2_InitBerryPouch(void) { while (1) { - if (sub_80BF72C() == TRUE) + if ((u8)sub_80BF72C() == TRUE) break; if (RunBerryPouchInit() == TRUE) break; @@ -934,7 +934,7 @@ static void Task_BerryPouchMain(u8 taskId) { s16 * data = gTasks[taskId].data; s32 menuInput; - if (!gPaletteFade.active && sub_80BF72C() != TRUE) + if (!gPaletteFade.active && (u8)sub_80BF72C() != TRUE) { menuInput = ListMenu_ProcessInput(data[0]); ListMenuGetScrollAndRow(data[0], &sStaticCnt.listMenuScrollOffset, &sStaticCnt.listMenuSelectedRow); @@ -1040,7 +1040,7 @@ static void Task_NormalContextMenu(u8 taskId) static void Task_NormalContextMenu_HandleInput(u8 taskId) { s8 input; - if (sub_80BF72C() != TRUE) + if ((u8)sub_80BF72C() != TRUE) { input = Menu_ProcessInputNoWrapAround(); switch (input) diff --git a/src/item_pc.c b/src/item_pc.c index 8569844b9..60a74ac59 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -384,7 +384,7 @@ static bool8 ItemPc_DoGfxSetup(void) gMain.state++; break; case 20: - if (sub_80BF72C() != TRUE) + if ((u8)sub_80BF72C() != TRUE) gMain.state++; break; default: diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 06e7bb08b..f17bff0d0 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -125,17 +125,17 @@ bool8 MenuHelpers_LinkSomething(void) return FALSE; } -bool8 sub_80BF72C(void) +bool32 sub_80BF72C(void) { if (!MenuHelpers_LinkSomething()) return FALSE; else - return sub_8058244(); + return (u8)sub_8058244(); } bool8 sub_80BF748(void) { - if (sub_80BF72C() == TRUE) + if ((u8)sub_80BF72C() == TRUE) return TRUE; else if (sub_800B270() != TRUE) return FALSE; diff --git a/src/option_menu.c b/src/option_menu.c new file mode 100644 index 000000000..35fe957be --- /dev/null +++ b/src/option_menu.c @@ -0,0 +1,577 @@ +#include "global.h" +#include "gpu_regs.h" +#include "scanline_effect.h" +#include "text_window_graphics.h" +#include "menu.h" +#include "menu_helpers.h" +#include "task.h" +#include "palette.h" +#include "overworld.h" +#include "malloc.h" +#include "help_system.h" +#include "main.h" +#include "bg.h" +#include "window.h" +#include "text.h" +#include "text_window.h" +#include "string_util.h" +#include "strings.h" +#include "field_fadetransition.h" +#include "gba/m4a_internal.h" + +// Menu items +enum +{ + MENUITEM_TEXTSPEED = 0, + MENUITEM_BATTLESCENE, + MENUITEM_BATTLESTYLE, + MENUITEM_SOUND, + MENUITEM_BUTTONMODE, + MENUITEM_FRAMETYPE, + MENUITEM_CANCEL, + MENUITEM_COUNT +}; + +// Window Ids +enum +{ + WIN_TEXT_OPTION, + WIN_OPTIONS +}; + +// RAM symbols +struct OptionMenu +{ + /*0x00*/ u16 option[MENUITEM_COUNT]; + /*0x0E*/ u16 unkE; + /*0x10*/ u8 state3; + /*0x11*/ u8 state; + /*0x12*/ u8 state2; + /*0x13*/ u8 unk13; +}; + +static EWRAM_DATA struct OptionMenu *sOptionMenuPtr = NULL; + +//Function Declarataions +static void CB2_InitOptionMenu(void); +static void VBlankCB_OptionMenu(void); +static void OptionMenu_InitCallbacks(void); +static void OptionMenu_SetVBlankCallback(void); +static void CB2_OptionMenu(void); +static void SetOptionMenuTask(void); +static void InitOptionMenuBg(void); +static void OptionMenu_PickSwitchCancel(void); +static void OptionMenu_ResetSpriteData(void); +static bool8 LoadOptionMenuPalette(void); +static void Task_OptionMenu(u8 taskId); +static u8 OptionMenu_ProcessInput(void); +static void BufferOptionMenuString(u8 selection); +static void CloseAndSaveOptionMenu(u8 taskId); +static void PrintOptionMenuHeader(void); +static void sub_8088C0C(void); +static void LoadOptionMenuItemNames(void); +static void sub_8088DE0(u16 selection); + +// Data Definitions +static const struct WindowTemplate sOptionMenuWinTemplates[] = +{ + { + .bg = 1, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 26, + .height = 2, + .paletteNum = 1, + .baseBlock = 2 + }, + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 7, + .width = 26, + .height = 12, + .paletteNum = 1, + .baseBlock = 0x36 + }, + { + .bg = 2, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 30, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x16e + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct BgTemplate sOptionMenuBgTemplates[] = +{ + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 0, + .charBaseIndex = 1, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, +}; + +static const u16 sOptionMenuPalette[] = INCBIN_U16("graphics/misc/unk_83cc2e4.gbapal"); +static const u16 sOptionMenuItemCounts[MENUITEM_COUNT] = {3, 2, 2, 2, 3, 10, 0}; + +static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] = +{ + [MENUITEM_TEXTSPEED] = gText_TextSpeed, + [MENUITEM_BATTLESCENE] = gText_BattleScene, + [MENUITEM_BATTLESTYLE] = gText_BattleStyle, + [MENUITEM_SOUND] = gText_Sound, + [MENUITEM_BUTTONMODE] = gText_ButtonMode, + [MENUITEM_FRAMETYPE] = gText_Frame, + [MENUITEM_CANCEL] = gText_OptionMenuCancel, +}; + +static const u8 *const sTextSpeedOptions[] = +{ + gText_TextSpeedSlow, + gText_TextSpeedMid, + gText_TextSpeedFast +}; + +static const u8 *const sBattleSceneOptions[] = +{ + gText_BattleSceneOn, + gText_BattleSceneOff +}; + +static const u8 *const sBattleStyleOptions[] = +{ + gText_BattleStyleShift, + gText_BattleStyleSet +}; + +static const u8 *const sSoundOptions[] = +{ + gText_SoundMono, + gText_SoundStereo +}; + +static const u8 *const sButtonTypeOptions[] = +{ + gText_ButtonTypeHelp, + gText_ButtonTypeLR, + gText_ButtonTypeLEqualsA +}; + +static const u8 sOptionMenuPickSwitchCancelTextColor[] = {TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}; +static const u8 sOptionMenuTextColor[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_RED}; + +// Functions +static void CB2_InitOptionMenu(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void VBlankCB_OptionMenu(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void CB2_OptionsMenuFromStartMenu(void) +{ + u8 i; + + if (gMain.savedCallback == NULL) + gMain.savedCallback = CB2_ReturnToStartMenu; + sOptionMenuPtr = AllocZeroed(sizeof(struct OptionMenu)); + sOptionMenuPtr->state3 = 0; + sOptionMenuPtr->state2 = 0; + sOptionMenuPtr->state = 0; + sOptionMenuPtr->unkE = 0; + sOptionMenuPtr->option[MENUITEM_TEXTSPEED] = gSaveBlock2Ptr->optionsTextSpeed; + sOptionMenuPtr->option[MENUITEM_BATTLESCENE] = gSaveBlock2Ptr->optionsBattleSceneOff; + sOptionMenuPtr->option[MENUITEM_BATTLESTYLE] = gSaveBlock2Ptr->optionsBattleStyle; + sOptionMenuPtr->option[MENUITEM_SOUND] = gSaveBlock2Ptr->optionsSound; + sOptionMenuPtr->option[MENUITEM_BUTTONMODE] = gSaveBlock2Ptr->optionsButtonMode; + sOptionMenuPtr->option[MENUITEM_FRAMETYPE] = gSaveBlock2Ptr->optionsWindowFrameType; + + for (i = 0; i < MENUITEM_COUNT - 1; i++) + { + if (sOptionMenuPtr->option[i] > (sOptionMenuItemCounts[i]) - 1) + sOptionMenuPtr->option[i] = 0; + } + HelpSystem_SetSomeVariable2(0xD); + SetMainCallback2(CB2_OptionMenu); +} + +static void OptionMenu_InitCallbacks(void) +{ + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); +} + +static void OptionMenu_SetVBlankCallback(void) +{ + SetVBlankCallback(VBlankCB_OptionMenu); +} + +static void CB2_OptionMenu(void) +{ + u8 i, state; + state = sOptionMenuPtr->state; + switch (state) + { + case 0: + OptionMenu_InitCallbacks(); + break; + case 1: + InitOptionMenuBg(); + break; + case 2: + OptionMenu_ResetSpriteData(); + break; + case 3: + if (LoadOptionMenuPalette() != TRUE) + return; + break; + case 4: + PrintOptionMenuHeader(); + break; + case 5: + sub_8088C0C(); + break; + case 6: + LoadOptionMenuItemNames(); + break; + case 7: + for (i = 0; i < MENUITEM_COUNT; i++) + BufferOptionMenuString(i); + break; + case 8: + sub_8088DE0(sOptionMenuPtr->unkE); + break; + case 9: + OptionMenu_PickSwitchCancel(); + break; + default: + SetOptionMenuTask(); + break; + } + sOptionMenuPtr->state++; +} + +static void SetOptionMenuTask(void) +{ + CreateTask(Task_OptionMenu, 0); + SetMainCallback2(CB2_InitOptionMenu); +} + +static void InitOptionMenuBg(void) +{ + void * dest = (void *)VRAM; + DmaClearLarge16(3, dest, VRAM_SIZE, 0x1000); + DmaClear32(3, (void *)OAM, OAM_SIZE); + DmaClear16(3, (void *)PLTT, PLTT_SIZE); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sOptionMenuBgTemplates, NELEMS(sOptionMenuBgTemplates)); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + InitWindows(sOptionMenuWinTemplates); + DeactivateAllTextPrinters(); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_EFFECT_LIGHTEN); + SetGpuReg(REG_OFFSET_BLDY, BLDCNT_TGT1_BG1); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON); + ShowBg(0); + ShowBg(1); + ShowBg(2); +}; + +static void OptionMenu_PickSwitchCancel(void) +{ + s32 x; + x = 0xE4 - GetStringWidth(0, gText_PickSwitchCancel, 0); + FillWindowPixelBuffer(2, PIXEL_FILL(15)); + AddTextPrinterParameterized3(2, 0, x, 0, sOptionMenuPickSwitchCancelTextColor, 0, gText_PickSwitchCancel); + PutWindowTilemap(2); + CopyWindowToVram(2, 3); +} + +static void OptionMenu_ResetSpriteData(void) +{ + ResetSpriteData(); + ResetPaletteFade(); + FreeAllSpritePalettes(); + ResetTasks(); + ScanlineEffect_Stop(); +} + +static bool8 LoadOptionMenuPalette(void) +{ + switch (sOptionMenuPtr->state2) + { + case 0: + LoadBgTiles(1, GetUserFrameGraphicsInfo(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->tiles, 0x120, 0x1AA); + break; + case 1: + LoadPalette(GetUserFrameGraphicsInfo(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, 0x20, 0x20); + break; + case 2: + LoadPalette(sOptionMenuPalette, 0x10, 0x20); + LoadPalette(stdpal_get(2), 0xF0, 0x20); + break; + case 3: + sub_814FDA0(1, 0x1B3, 0x30); + break; + default: + return TRUE; + } + sOptionMenuPtr->state2++; + return FALSE; +} + +static void Task_OptionMenu(u8 taskId) +{ + switch (sOptionMenuPtr->state3) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); + OptionMenu_SetVBlankCallback(); + sOptionMenuPtr->state3++; + break; + case 2: + if (sub_80BF72C() == TRUE) + break; + switch (OptionMenu_ProcessInput()) + { + case 0: + break; + case 1: + sOptionMenuPtr->state3++; + break; + case 2: + LoadBgTiles(1, GetUserFrameGraphicsInfo(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->tiles, 0x120, 0x1AA); + LoadPalette(GetUserFrameGraphicsInfo(sOptionMenuPtr->option[MENUITEM_FRAMETYPE])->palette, 0x20, 0x20); + BufferOptionMenuString(sOptionMenuPtr->unkE); + break; + case 3: + sub_8088DE0(sOptionMenuPtr->unkE); + break; + case 4: + BufferOptionMenuString(sOptionMenuPtr->unkE); + break; + } + break; + case 3: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); + sOptionMenuPtr->state3++; + break; + case 1: + case 4: + if (gPaletteFade.active) + return; + sOptionMenuPtr->state3++; + break; + case 5: + CloseAndSaveOptionMenu(taskId); + break; + } +} + +static u8 OptionMenu_ProcessInput(void) +{ + u16 current; + u16* curr; + if (JOY_REPT(DPAD_RIGHT)) + { + current = sOptionMenuPtr->option[(sOptionMenuPtr->unkE)]; + if (current == (sOptionMenuItemCounts[sOptionMenuPtr->unkE] - 1)) + sOptionMenuPtr->option[sOptionMenuPtr->unkE] = 0; + else + sOptionMenuPtr->option[sOptionMenuPtr->unkE] = current + 1; + if (sOptionMenuPtr->unkE == MENUITEM_FRAMETYPE) + return 2; + else + return 4; + } + else if (JOY_REPT(DPAD_LEFT)) + { + curr = &sOptionMenuPtr->option[sOptionMenuPtr->unkE]; + if (*curr == 0) + *curr = sOptionMenuItemCounts[sOptionMenuPtr->unkE] - 1; + else + --*curr; + + if (sOptionMenuPtr->unkE == MENUITEM_FRAMETYPE) + return 2; + else + return 4; + } + else if (JOY_REPT(DPAD_UP)) + { + if (sOptionMenuPtr->unkE == MENUITEM_TEXTSPEED) + sOptionMenuPtr->unkE = MENUITEM_CANCEL; + else + sOptionMenuPtr->unkE = sOptionMenuPtr->unkE - 1; + return 3; + } + else if (JOY_REPT(DPAD_DOWN)) + { + if (sOptionMenuPtr->unkE == MENUITEM_CANCEL) + sOptionMenuPtr->unkE = MENUITEM_TEXTSPEED; + else + sOptionMenuPtr->unkE = sOptionMenuPtr->unkE + 1; + return 3; + } + else if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON)) + { + return 1; + } + else + { + return 0; + } +} + +static void BufferOptionMenuString(u8 selection) +{ + u8 str[20]; + u8 buf[12]; + u8 dst[3]; + u8 x, y; + + memcpy(dst, sOptionMenuTextColor, 3); + x = 0x82; + y = ((GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) - 1) * selection) + 2; + FillWindowPixelRect(1, 1, x, y, 0x46, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT)); + + switch (selection) + { + case MENUITEM_TEXTSPEED: + AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sTextSpeedOptions[sOptionMenuPtr->option[selection]]); + break; + case MENUITEM_BATTLESCENE: + AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sBattleSceneOptions[sOptionMenuPtr->option[selection]]); + break; + case MENUITEM_BATTLESTYLE: + AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sBattleStyleOptions[sOptionMenuPtr->option[selection]]); + break; + case MENUITEM_SOUND: + AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sSoundOptions[sOptionMenuPtr->option[selection]]); + break; + case MENUITEM_BUTTONMODE: + AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sButtonTypeOptions[sOptionMenuPtr->option[selection]]); + break; + case MENUITEM_FRAMETYPE: + StringCopy(str, gText_FrameType); + ConvertIntToDecimalStringN(buf, sOptionMenuPtr->option[selection] + 1, 1, 2); + StringAppendN(str, buf, 3); + AddTextPrinterParameterized3(1, 2, x, y, dst, -1, str); + break; + default: + break; + } + PutWindowTilemap(1); + CopyWindowToVram(1, 3); +} + +static void CloseAndSaveOptionMenu(u8 taskId) +{ + gFieldCallback = sub_807DF64; + SetMainCallback2(gMain.savedCallback); + FreeAllWindowBuffers(); + gSaveBlock2Ptr->optionsTextSpeed = sOptionMenuPtr->option[MENUITEM_TEXTSPEED]; + gSaveBlock2Ptr->optionsBattleSceneOff = sOptionMenuPtr->option[MENUITEM_BATTLESCENE]; + gSaveBlock2Ptr->optionsBattleStyle = sOptionMenuPtr->option[MENUITEM_BATTLESTYLE]; + gSaveBlock2Ptr->optionsSound = sOptionMenuPtr->option[MENUITEM_SOUND]; + gSaveBlock2Ptr->optionsButtonMode = sOptionMenuPtr->option[MENUITEM_BUTTONMODE]; + gSaveBlock2Ptr->optionsWindowFrameType = sOptionMenuPtr->option[MENUITEM_FRAMETYPE]; + SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound); + FREE_AND_SET_NULL(sOptionMenuPtr); + DestroyTask(taskId); +} + +static void PrintOptionMenuHeader(void) +{ + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + AddTextPrinterParameterized(WIN_TEXT_OPTION, 2, gText_MenuOption, 8, 1, TEXT_SPEED_FF, NULL); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); +} + +static void sub_8088C0C(void) +{ + u8 h; + h = 2; + + FillBgTilemapBufferRect(1, 0x1B3, 1, 2, 1, 1, 3); + FillBgTilemapBufferRect(1, 0x1B4, 2, 2, 0x1B, 1, 3); + FillBgTilemapBufferRect(1, 0x1B5, 0x1C, 2, 1, 1, 3); + FillBgTilemapBufferRect(1, 0x1B6, 1, 3, 1, h, 3); + FillBgTilemapBufferRect(1, 0x1B8, 0x1C, 3, 1, h, 3); + FillBgTilemapBufferRect(1, 0x1B9, 1, 5, 1, 1, 3); + FillBgTilemapBufferRect(1, 0x1BA, 2, 5, 0x1B, 1, 3); + FillBgTilemapBufferRect(1, 0x1BB, 0x1C, 5, 1, 1, 3); + FillBgTilemapBufferRect(1, 0x1AA, 1, 6, 1, 1, h); + FillBgTilemapBufferRect(1, 0x1AB, 2, 6, 0x1A, 1, h); + FillBgTilemapBufferRect(1, 0x1AC, 0x1C, 6, 1, 1, h); + FillBgTilemapBufferRect(1, 0x1AD, 1, 7, 1, 0x10, h); + FillBgTilemapBufferRect(1, 0x1AF, 0x1C, 7, 1, 0x10, h); + FillBgTilemapBufferRect(1, 0x1B0, 1, 0x13, 1, 1, h); + FillBgTilemapBufferRect(1, 0x1B1, 2, 0x13, 0x1A, 1, h); + FillBgTilemapBufferRect(1, 0x1B2, 0x1C, 0x13, 1, 1, h); + CopyBgTilemapBufferToVram(1); +} + +static void LoadOptionMenuItemNames(void) +{ + u8 i; + + FillWindowPixelBuffer(1, PIXEL_FILL(1)); + for (i = 0; i < MENUITEM_COUNT; i++) + { + AddTextPrinterParameterized(WIN_OPTIONS, 2, sOptionMenuItemsNames[i], 8, (u8)((i * (GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT))) + 2) - i, TEXT_SPEED_FF, NULL); + } +} + +static void sub_8088DE0(u16 selection) +{ + u16 v1, v2; + + v1 = GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT); + v2 = selection * (v1 - 1) + 0x3A; + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(v2, v2 + v1)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0x10, 0xE0)); +} diff --git a/src/tm_case.c b/src/tm_case.c index 260efaa53..25fe9a72c 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -305,7 +305,7 @@ static void CB2_SetUpTMCaseUI_Blocking(void) { while (1) { - if (sub_80BF72C() == TRUE) + if ((u8)sub_80BF72C() == TRUE) break; if (DoSetUpTMCaseUI() == TRUE) break; @@ -734,7 +734,7 @@ static void Task_TMCaseMain(u8 taskId) if (!gPaletteFade.active) { - if (sub_80BF72C() != TRUE) + if ((u8)sub_80BF72C() != TRUE) { input = ListMenu_ProcessInput(data[0]); ListMenuGetScrollAndRow(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); @@ -815,7 +815,7 @@ static void Task_TMContextMenu_HandleInput(u8 taskId) { s8 input; - if (sub_80BF72C() != TRUE) + if ((u8)sub_80BF72C() != TRUE) { input = Menu_ProcessInputNoWrapAround(); switch (input) |