diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-06-25 05:47:01 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-06-26 04:52:35 +0800 |
commit | 0d46c60b383d5feca05950e57bb05dc392f815cc (patch) | |
tree | b615287761a7a78b267f8c85b8aa35d2dcaa0943 /src | |
parent | cc937d33b4ae33312d543269f78207037f86b4c3 (diff) |
thru DisplayYesNoMenuDefaultNo()
Diffstat (limited to 'src')
-rw-r--r-- | src/new_menu_helpers.c | 77 |
1 files changed, 73 insertions, 4 deletions
diff --git a/src/new_menu_helpers.c b/src/new_menu_helpers.c index f3f9f65b9..5f7451eb6 100644 --- a/src/new_menu_helpers.c +++ b/src/new_menu_helpers.c @@ -13,6 +13,8 @@ #include "field_specials.h" #include "text_window.h" #include "script.h" +#include "graphics.h" +#include "palette.h" #define DLG_WINDOW_PALETTE_NUM 15 #define DLG_WINDOW_BASE_TILE_NUM 0x200 @@ -24,6 +26,7 @@ static EWRAM_DATA u16 gUnknown_203AB5C = {0}; static EWRAM_DATA void *gUnknown_203AB60[0x20] = {NULL}; extern const struct WindowTemplate sStandardTextBox_WindowTemplates[]; +extern const struct WindowTemplate sYesNo_WindowTemplate; EWRAM_DATA u8 sStartMenuWindowId; static u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); @@ -323,14 +326,14 @@ void sub_80F6E9C(void) if (gUnknown_203ADFA == 2) { gTextFlags.autoScroll = 1; - TextWindow_LoadTilesStdFrame1(0, 0x200); + TextWindow_LoadTilesStdFrame1(0, DLG_WINDOW_BASE_TILE_NUM); } else { - sub_80F77B8(); - TextWindow_LoadResourcesStdFrame0(0, 0x200, 0xF0); + Menu_LoadStdPal(); + TextWindow_LoadResourcesStdFrame0(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); } - TextWindow_SetUserSelectedFrame(0, 0x214, 0xE0); + TextWindow_SetUserSelectedFrame(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); } void DrawDialogueFrame(u8 windowId, bool8 copyToVram) @@ -459,3 +462,69 @@ static void WindowFunc_ClearDialogWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilem { FillBgTilemapBufferRect(bg, 0, tilemapLeft - 2, tilemapTop - 1, width + 4, height + 2, STD_WINDOW_PALETTE_NUM); } + +void sub_80F771C(bool8 copyToVram) +{ + FillBgTilemapBufferRect(0, 0, 0, 0, 0x20, 0x20, 0x11); + if (copyToVram == TRUE) + CopyBgTilemapBufferToVram(0); +} + +void SetStdWindowBorderStyle(u8 windowId, bool8 copyToVram) +{ + SetWindowBorderStyle(windowId, copyToVram, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM); +} + +void sub_80F7768(u8 windowId, bool8 copyToVram) +{ + if (gUnknown_203ADFA == 2) + { + gTextFlags.autoScroll = 1; + TextWindow_LoadTilesStdFrame1(0, DLG_WINDOW_BASE_TILE_NUM); + } + else + { + TextWindow_LoadResourcesStdFrame0(windowId, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); + } + DrawDialogFrameWithCustomTileAndPalette(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM); +} + +void Menu_LoadStdPal(void) +{ + LoadPalette(gTMCaseMainWindowPalette, STD_WINDOW_PALETTE_NUM * 0x10, 0x14); +} + +void Menu_LoadStdPalAt(u16 offset) +{ + LoadPalette(gTMCaseMainWindowPalette, offset, 0x14); +} + +static const u16 *GetTmCaseMainWindowPalette(void) +{ + return gTMCaseMainWindowPalette; +} + +static u16 GetStdPalColor(u8 colorNum) +{ + if (colorNum > 0xF) + colorNum = 0; + return gTMCaseMainWindowPalette[colorNum]; +} + +void DisplayItemMessageOnField(u8 taskId, u8 bgId, const u8 *string, TaskFunc callback) +{ + sub_80F6E9C(); + DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, bgId, GetTextSpeedSetting(), string, callback); + CopyWindowToVram(0, 3); +} + +void DisplayYesNoMenuDefaultYes(void) +{ + CreateYesNoMenu(&sYesNo_WindowTemplate, 2, 0, 2, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, 0); +} + +void DisplayYesNoMenuDefaultNo(void) +{ + CreateYesNoMenu(&sYesNo_WindowTemplate, 2, 0, 2, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, 1); +} + |