diff options
-rw-r--r-- | asm/berry_crush_2.s | 2 | ||||
-rw-r--r-- | asm/cable_club.s | 2 | ||||
-rw-r--r-- | asm/field_effect.s | 4 | ||||
-rw-r--r-- | asm/field_specials.s | 2 | ||||
-rw-r--r-- | asm/link_rfu_3.s | 4 | ||||
-rw-r--r-- | asm/mailbox_pc.s | 2 | ||||
-rw-r--r-- | asm/new_menu_helpers.s | 310 | ||||
-rw-r--r-- | asm/player_pc.s | 6 | ||||
-rw-r--r-- | asm/script_menu.s | 16 | ||||
-rw-r--r-- | asm/shop.s | 2 | ||||
-rw-r--r-- | asm/start_menu.s | 6 | ||||
-rw-r--r-- | data/data_83FECCC.s | 2 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 7 | ||||
-rw-r--r-- | src/new_menu_helpers.c | 77 |
14 files changed, 104 insertions, 338 deletions
diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s index 172724d0f..f775bd8dc 100644 --- a/asm/berry_crush_2.s +++ b/asm/berry_crush_2.s @@ -2946,7 +2946,7 @@ _0814D1A6: strb r0, [r5, 0xC] b _0814D238 _0814D1CA: - bl sub_80F7858 + bl DisplayYesNoMenuDefaultYes b _0814D230 _0814D1D0: bl Menu_ProcessInputNoWrapClearOnChoose diff --git a/asm/cable_club.s b/asm/cable_club.s index b9b3a595c..ff11c4cef 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -55,7 +55,7 @@ sub_808078C: @ 808078C lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle ldr r5, _080807E0 @ =gStringVar4 ldr r1, _080807E4 @ =gUnknown_841DF82 adds r0, r5, 0 diff --git a/asm/field_effect.s b/asm/field_effect.s index 0fa36ce46..5cb8a42ed 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -6185,7 +6185,7 @@ sub_8086358: @ 8086358 movs r1, 0 movs r2, 0 bl ChangeBgY - bl sub_80F77B8 + bl Menu_LoadStdPal movs r0, 0x26 ldrsh r1, [r4, r0] lsls r0, r1, 4 @@ -6568,7 +6568,7 @@ sub_8086650: @ 8086650 movs r1, 0 movs r2, 0 bl ChangeBgY - bl sub_80F77B8 + bl Menu_LoadStdPal movs r0, 0x26 ldrsh r1, [r4, r0] lsls r0, r1, 4 diff --git a/asm/field_specials.s b/asm/field_specials.s index ad1806d2e..4331fbd74 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -2631,7 +2631,7 @@ _080CB9D2: lsrs r0, 24 strh r0, [r5, 0x22] movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle ldr r4, _080CBA70 @ =gUnknown_3005360 ldrh r0, [r5, 0xA] strh r0, [r4, 0xC] diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 6acf4a919..31d1e465b 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -8578,7 +8578,7 @@ _0811A15E: negs r0, r0 b _0811A1A4 _0811A168: - bl sub_80F7858 + bl DisplayYesNoMenuDefaultYes ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] @@ -12967,7 +12967,7 @@ _0811C300: movs r1, 0x1 movs r2, 0xD0 bl TextWindow_SetStdFrame0_WithPal - bl sub_80F77B8 + bl Menu_LoadStdPal ldr r0, _0811C35C @ =sub_811C1B4 bl SetVBlankCallback ldr r1, _0811C360 @ =gMain diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s index aecca0735..e41fb23c1 100644 --- a/asm/mailbox_pc.s +++ b/asm/mailbox_pc.s @@ -60,7 +60,7 @@ sub_810EBAC: @ 810EBAC strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle _0810EBD0: ldrb r0, [r4] pop {r4} diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index b93de1d12..9f698cb52 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -4,314 +4,6 @@ .syntax unified .text -/* - thumb_func_start WindowFunc_ClearStdWindowAndFrame -WindowFunc_ClearStdWindowAndFrame: @ 80F7684 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFF - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0x80 - lsls r2, 18 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0xE - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end WindowFunc_ClearStdWindowAndFrame - - thumb_func_start WindowFunc_ClearDialogWindowAndFrame -WindowFunc_ClearDialogWindowAndFrame: @ 80F76CC - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFE - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0x80 - lsls r2, 19 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0xE - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end WindowFunc_ClearDialogWindowAndFrame -*/ - thumb_func_start sub_80F771C -sub_80F771C: @ 80F771C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - cmp r4, 0x1 - bne _080F7746 - movs r0, 0 - bl CopyBgTilemapBufferToVram -_080F7746: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80F771C - - thumb_func_start sub_80F7750 -sub_80F7750: @ 80F7750 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x85 - lsls r2, 2 - movs r3, 0xE - bl SetWindowBorderStyle - pop {r0} - bx r0 - thumb_func_end sub_80F7750 - - thumb_func_start sub_80F7768 -sub_80F7768: @ 80F7768 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _080F7790 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - bne _080F7798 - ldr r2, _080F7794 @ =gTextFlags - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl TextWindow_LoadTilesStdFrame1 - b _080F77A4 - .align 2, 0 -_080F7790: .4byte gUnknown_203ADFA -_080F7794: .4byte gTextFlags -_080F7798: - movs r1, 0x80 - lsls r1, 2 - adds r0, r4, 0 - movs r2, 0xF0 - bl TextWindow_LoadResourcesStdFrame0 -_080F77A4: - movs r2, 0x80 - lsls r2, 2 - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0xF - bl DrawDialogFrameWithCustomTileAndPalette - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F7768 - - thumb_func_start sub_80F77B8 -sub_80F77B8: @ 80F77B8 - push {lr} - ldr r0, _080F77C8 @ =gTMCaseMainWindowPalette - movs r1, 0xE0 - movs r2, 0x14 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_080F77C8: .4byte gTMCaseMainWindowPalette - thumb_func_end sub_80F77B8 - - thumb_func_start Menu_LoadStdPalAt -Menu_LoadStdPalAt: @ 80F77CC - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _080F77E0 @ =gTMCaseMainWindowPalette - movs r2, 0x14 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_080F77E0: .4byte gTMCaseMainWindowPalette - thumb_func_end Menu_LoadStdPalAt - - thumb_func_start sub_80F77E4 -sub_80F77E4: @ 80F77E4 - ldr r0, _080F77E8 @ =gTMCaseMainWindowPalette - bx lr - .align 2, 0 -_080F77E8: .4byte gTMCaseMainWindowPalette - thumb_func_end sub_80F77E4 - - thumb_func_start sub_80F77EC -sub_80F77EC: @ 80F77EC - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _080F77F8 - movs r1, 0 -_080F77F8: - ldr r0, _080F7804 @ =gTMCaseMainWindowPalette - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_080F7804: .4byte gTMCaseMainWindowPalette - thumb_func_end sub_80F77EC - - thumb_func_start DisplayItemMessageOnField -DisplayItemMessageOnField: @ 80F7808 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - bl sub_80F6E9C - bl GetTextSpeedSetting - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 2 - str r4, [sp] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0xF - bl DisplayMessageAndContinueTask - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DisplayItemMessageOnField - - thumb_func_start sub_80F7858 -sub_80F7858: @ 80F7858 - push {lr} - sub sp, 0xC - ldr r0, _080F787C @ =gUnknown_841F43C - movs r1, 0x85 - lsls r1, 2 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_080F787C: .4byte gUnknown_841F43C - thumb_func_end sub_80F7858 - - thumb_func_start sub_80F7880 -sub_80F7880: @ 80F7880 - push {lr} - sub sp, 0xC - ldr r0, _080F78A4 @ =gUnknown_841F43C - movs r1, 0x85 - lsls r1, 2 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_080F78A4: .4byte gUnknown_841F43C - thumb_func_end sub_80F7880 thumb_func_start GetTextSpeedSetting GetTextSpeedSetting: @ 80F78A8 @@ -463,7 +155,7 @@ sub_80F7998: @ 80F7998 thumb_func_start sub_80F79A4 sub_80F79A4: @ 80F79A4 push {lr} - bl sub_80F77B8 + bl Menu_LoadStdPal movs r1, 0x80 lsls r1, 2 movs r0, 0 diff --git a/asm/player_pc.s b/asm/player_pc.s index 52218cc67..4d917504a 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -149,7 +149,7 @@ _080EB77E: strh r0, [r7, 0x14] ldrb r0, [r7, 0x14] movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle movs r0, 0x2 movs r1, 0 bl GetMenuCursorDimensionByFont @@ -464,7 +464,7 @@ _080EBA1E: lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle movs r0, 0x2 movs r1, 0 bl GetMenuCursorDimensionByFont @@ -1578,7 +1578,7 @@ sub_80EC2FC: @ 80EC2FC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sub_80F7858 + bl DisplayYesNoMenuDefaultYes ldr r1, _080EC31C @ =gTasks lsls r0, r4, 2 adds r0, r4 diff --git a/asm/script_menu.s b/asm/script_menu.s index 54c3d6691..e6a1cc48f 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -249,7 +249,7 @@ _0809CB02: lsrs r5, r0, 24 adds r0, r5, 0 movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle mov r2, r10 cmp r2, 0x1E beq _0809CB32 @@ -636,7 +636,7 @@ _0809CE08: lsls r0, 24 cmp r0, 0 bne _0809CE26 - bl sub_80F7858 + bl DisplayYesNoMenuDefaultYes adds r0, r4, 0 movs r1, 0x50 bl CreateTask @@ -822,7 +822,7 @@ _0809CF08: lsrs r0, 24 strh r0, [r4, 0x14] movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle ldrb r0, [r4, 0x14] lsls r5, 27 lsrs r5, 24 @@ -989,7 +989,7 @@ _0809D0B0: lsrs r6, r0, 24 adds r0, r6, 0 movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle ldr r2, _0809D128 @ =gUnknown_8417BD3 movs r0, 0x22 str r0, [sp] @@ -1050,7 +1050,7 @@ _0809D14C: lsrs r6, r0, 24 adds r0, r6, 0 movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle mov r0, r8 bl FlagGet lsls r0, 24 @@ -1326,7 +1326,7 @@ _0809D31C: strb r0, [r1, 0x5] ldrb r0, [r3, 0x12] movs r1, 0x1 - bl sub_80F7750 + bl SetStdWindowBorderStyle movs r0, 0 bl ScheduleBgCopyTilemapToVram movs r0, 0x1 @@ -1613,7 +1613,7 @@ _0809D572: strh r2, [r1, 0x8] strh r5, [r1, 0xC] movs r1, 0x1 - bl sub_80F7750 + bl SetStdWindowBorderStyle movs r0, 0 bl ScheduleBgCopyTilemapToVram _0809D5F2: @@ -1859,7 +1859,7 @@ _0809D7B8: lsrs r7, r0, 24 adds r0, r7, 0 movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle movs r6, 0 mov r5, r9 subs r5, 0x2 diff --git a/asm/shop.s b/asm/shop.s index bac3c3330..51955f88d 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -49,7 +49,7 @@ _0809AAF8: strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_80F7750 + bl SetStdWindowBorderStyle movs r0, 0x2 movs r1, 0 bl GetMenuCursorDimensionByFont diff --git a/asm/start_menu.s b/asm/start_menu.s index a4a6bef7b..4e26dc2db 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -1347,7 +1347,7 @@ _0806F7D8: .4byte sub_806F7DC thumb_func_start sub_806F7DC sub_806F7DC: @ 806F7DC push {lr} - bl sub_80F7858 + bl DisplayYesNoMenuDefaultYes ldr r1, _0806F7F0 @ =gUnknown_3000FA4 ldr r0, _0806F7F4 @ =sub_806F7F8 str r0, [r1] @@ -1451,7 +1451,7 @@ _0806F8A0: .4byte sub_806F8A4 thumb_func_start sub_806F8A4 sub_806F8A4: @ 806F8A4 push {lr} - bl sub_80F7858 + bl DisplayYesNoMenuDefaultYes ldr r1, _0806F8B8 @ =gUnknown_3000FA4 ldr r0, _0806F8BC @ =sub_806F8DC str r0, [r1] @@ -1466,7 +1466,7 @@ _0806F8BC: .4byte sub_806F8DC thumb_func_start sub_806F8C0 sub_806F8C0: @ 806F8C0 push {lr} - bl sub_80F7880 + bl DisplayYesNoMenuDefaultNo ldr r1, _0806F8D4 @ =gUnknown_3000FA4 ldr r0, _0806F8D8 @ =sub_806F8DC str r0, [r1] diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index ff2b88a0c..3ec7b231b 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -559,7 +559,7 @@ gUnknown_841F428:: @ 841F428 sStandardTextBox_WindowTemplates:: @ 841F42C .incbin "baserom.gba", 0x41F42C, 0x10 -gUnknown_841F43C:: @ 841F43C +sYesNo_WindowTemplate:: @ 841F43C .incbin "baserom.gba", 0x41F43C, 0x8 gUnknown_841F444:: @ 841F444 diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 30728ec09..b817bc643 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -30,14 +30,19 @@ void CopyRectIntoAltRect(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 heigh void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); +void Menu_LoadStdPal(void); void Menu_LoadStdPalAt(u16); void * MallocAndDecompress(const void * src, u32 * size); u16 sub_80F796C(void); void ClearStdWindowAndFrame(u8 taskId, bool8 copyNow); -void sub_80F77B8(void); void sub_80F6E9C(void); +void sub_80F771C(bool8 copyToVram); void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed); void AddTextPrinterDiffStyle(bool8 allowSkippingDelayWithButtonPress); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); +void SetStdWindowBorderStyle(u8 windowId, bool8 copyToVram); +void sub_80F7768(u8 windowId, bool8 copyToVram); +void DisplayYesNoMenuDefaultYes(void); +void DisplayYesNoMenuDefaultNo(void); #endif // GUARD_NEW_MENU_HELPERS_H 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); +} + |