mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Decompile new_menu_helpers.s
This commit is contained in:
parent
10037ac0e1
commit
7d8a2ae7f0
@ -12385,7 +12385,7 @@ sub_81A0C9C: @ 81A0C9C
|
||||
bl sub_808BCF4
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
bl sub_81A0A70
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -14586,7 +14586,7 @@ sub_81A1EA8: @ 81A1EA8
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -14874,7 +14874,7 @@ sub_81A2134: @ 81A2134
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -15227,7 +15227,7 @@ sub_81A2460: @ 81A2460
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -15475,7 +15475,7 @@ sub_81A2698: @ 81A2698
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -15778,7 +15778,7 @@ sub_81A2968: @ 81A2968
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -16153,7 +16153,7 @@ sub_81A2C94: @ 81A2C94
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -16448,7 +16448,7 @@ sub_81A2F38: @ 81A2F38
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -16526,7 +16526,7 @@ sub_81A2FF8: @ 81A2FF8
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -19573,7 +19573,7 @@ sub_81A4AA0: @ 81A4AA0
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
|
@ -667,7 +667,7 @@ sub_813C4BC: @ 813C4BC
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
|
@ -57,7 +57,7 @@ _08098182:
|
||||
_08098188:
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
_08098190:
|
||||
ldrh r0, [r4, 0x8]
|
||||
adds r0, 0x1
|
||||
@ -313,7 +313,7 @@ sub_8098358: @ 8098358
|
||||
bl task_del_textbox
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldr r1, =gUnknown_020375BC
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
|
26
asm/link.s
26
asm/link.s
@ -18242,7 +18242,7 @@ _08012938:
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r6, 0xF]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldr r0, =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, =gUnknown_082F015C
|
||||
@ -18258,7 +18258,7 @@ _08012938:
|
||||
strb r0, [r6, 0x12]
|
||||
ldrb r0, [r6, 0x11]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r6, 0x11]
|
||||
bl PutWindowTilemap
|
||||
ldrb r0, [r6, 0x11]
|
||||
@ -19723,7 +19723,7 @@ _0801360C:
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r6, 0xB]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldr r0, =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, =gUnknown_082F0204
|
||||
@ -19739,7 +19739,7 @@ _0801360C:
|
||||
strb r0, [r6, 0xE]
|
||||
ldrb r0, [r6, 0xD]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r6, 0xD]
|
||||
bl PutWindowTilemap
|
||||
ldrb r0, [r6, 0xD]
|
||||
@ -26036,7 +26036,7 @@ sub_8017020: @ 8017020
|
||||
bl sub_81973A4
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r0, =gStringVar4
|
||||
adds r1, r4, 0
|
||||
bl StringExpandPlaceholders
|
||||
@ -26081,7 +26081,7 @@ _08017076:
|
||||
bl sub_81973A4
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r0, =gStringVar4
|
||||
adds r1, r5, 0
|
||||
bl StringExpandPlaceholders
|
||||
@ -26173,7 +26173,7 @@ sub_8017118: @ 8017118
|
||||
lsrs r4, 24
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xFF
|
||||
bl FillWindowPixelBuffer
|
||||
@ -26269,7 +26269,7 @@ _080171DC:
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldr r0, =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, [sp, 0x24]
|
||||
@ -26382,7 +26382,7 @@ _080172C8:
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldr r0, =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, [sp, 0x24]
|
||||
@ -49423,7 +49423,7 @@ _08022D38:
|
||||
_08022D42:
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldrb r1, [r5, 0x1]
|
||||
movs r0, 0x2
|
||||
mov r8, r0
|
||||
@ -52021,7 +52021,7 @@ _080241A6:
|
||||
beq _0802421E
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r2, =gText_SavingDontTurnOffPower
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
@ -52378,7 +52378,7 @@ _0802445A:
|
||||
_08024460:
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldrh r1, [r5, 0x14]
|
||||
cmp r1, 0x3
|
||||
bne _08024490
|
||||
@ -64111,7 +64111,7 @@ _0802A3A4:
|
||||
_0802A3AE:
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r2, =gText_SavingDontTurnOffPower
|
||||
str r4, [sp]
|
||||
movs r0, 0x2
|
||||
|
@ -800,7 +800,7 @@ sub_8120708: @ 8120708
|
||||
adds r5, r0, 0
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
movs r4, 0x1
|
||||
str r4, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -463,7 +463,7 @@ sub_816B21C: @ 816B21C
|
||||
adds r4, r0, 0
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
@ -599,7 +599,7 @@ mapldr_080EBC0C: @ 816B33C
|
||||
bl sub_81973A4
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r0, =sub_816B368
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
@ -2540,7 +2540,7 @@ bx_battle_menu_t3: @ 816C3A4
|
||||
bne _0816C3F2
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
movs r1, 0x6
|
||||
ldrsh r0, [r5, r1]
|
||||
cmp r0, 0
|
||||
|
@ -211,7 +211,7 @@ _080C72AC:
|
||||
bl sub_81973A4
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
movs r0, 0
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -627,7 +627,7 @@ sub_80C75FC: @ 80C75FC
|
||||
lsrs r4, 24
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x5
|
||||
mov r2, r8
|
||||
|
@ -461,7 +461,7 @@ sub_80E70F4: @ 80E70F4
|
||||
adds r4, r0, 0
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
|
@ -508,7 +508,7 @@ _081406E0:
|
||||
ldr r4, =gUnknown_0203AB8C
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
ldr r2, =gUnknown_082A5B89
|
||||
movs r1, 0x1
|
||||
@ -740,7 +740,7 @@ sub_8140914: @ 8140914
|
||||
ldr r5, =gUnknown_0203AB8C
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r5]
|
||||
ldr r2, =gUnknown_082A5C13
|
||||
movs r1, 0x1
|
||||
@ -2631,7 +2631,7 @@ sub_814189C: @ 814189C
|
||||
ldr r4, =gUnknown_0203AB8C
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
ldr r2, =gUnknown_082A5BD7
|
||||
b _08141902
|
||||
@ -2643,7 +2643,7 @@ _081418EC:
|
||||
ldr r4, =gUnknown_0203AB8C
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
ldr r2, =gUnknown_082A5BCB
|
||||
_08141902:
|
||||
@ -2667,7 +2667,7 @@ _08141928:
|
||||
ldr r4, =gUnknown_0203AB8C
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
ldr r2, =gUnknown_082A5BE0
|
||||
movs r1, 0x1
|
||||
@ -2805,7 +2805,7 @@ sub_8141A18: @ 8141A18
|
||||
ldr r5, =gUnknown_0203AB8C
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
str r1, [sp]
|
||||
@ -3001,7 +3001,7 @@ _08141BB0:
|
||||
ldr r4, =gUnknown_0203AB8C
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
ldr r2, =gUnknown_082A5C21
|
||||
movs r1, 0x1
|
||||
@ -3028,7 +3028,7 @@ _08141C58:
|
||||
ldr r4, =gUnknown_0203AB8C
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
ldr r2, =gUnknown_082A5C61
|
||||
movs r1, 0x1
|
||||
@ -3060,7 +3060,7 @@ _08141CBC:
|
||||
ldr r4, =gUnknown_0203AB8C
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
ldr r2, =gUnknown_082A5C04
|
||||
movs r1, 0x1
|
||||
@ -3147,7 +3147,7 @@ _08141D44:
|
||||
ldr r4, =gUnknown_0203AB8C
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldrb r0, [r4]
|
||||
ldr r2, =gUnknown_082A5C61
|
||||
movs r1, 0x1
|
||||
@ -4667,7 +4667,7 @@ sub_81429F0: @ 81429F0
|
||||
bl StringExpandPlaceholders
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
str r5, [sp]
|
||||
movs r0, 0xFF
|
||||
str r0, [sp, 0x4]
|
||||
@ -4744,7 +4744,7 @@ sub_8142A88: @ 8142A88
|
||||
beq _08142B28
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldr r2, =gUnknown_082A5B6B
|
||||
str r7, [sp]
|
||||
movs r0, 0xFF
|
||||
@ -4768,7 +4768,7 @@ _08142B28:
|
||||
bl StringExpandPlaceholders
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
movs r0, 0xFF
|
||||
@ -4798,7 +4798,7 @@ _08142B78:
|
||||
bl StringExpandPlaceholders
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
str r7, [sp]
|
||||
movs r0, 0xFF
|
||||
str r0, [sp, 0x4]
|
||||
|
@ -975,7 +975,7 @@ sub_812ACF4: @ 812ACF4
|
||||
sub sp, 0xC
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r2, =gText_YouDontHaveThreeCoins
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
@ -1543,7 +1543,7 @@ sub_812B158: @ 812B158
|
||||
sub sp, 0xC
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r2, =gText_QuitTheGame
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
@ -1633,7 +1633,7 @@ sub_812B214: @ 812B214
|
||||
sub sp, 0xC
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r2, =gText_YouveGot9999Coins
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
@ -1686,7 +1686,7 @@ sub_812B280: @ 812B280
|
||||
sub sp, 0xC
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r2, =gText_YouveRunOutOfCoins
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
|
@ -148,7 +148,7 @@ _0809F8E4:
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldr r1, =gUnknown_02037619
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0x1]
|
||||
@ -1832,7 +1832,7 @@ _080A06EC:
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0
|
||||
bl sub_81973FC
|
||||
bl NewMenuHelpers_DrawStdWindowFrame
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x8]
|
||||
|
@ -409,7 +409,7 @@ _080C2A2C:
|
||||
bl sub_800AC34
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl sub_81973C4
|
||||
bl NewMenuHelpers_DrawDialogueFrame
|
||||
ldr r2, =gText_WaitingTrainerFinishReading
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
|
@ -39,6 +39,9 @@
|
||||
#define BG_CHAR_ADDR(n) (BG_VRAM + (BG_CHAR_SIZE * (n)))
|
||||
#define BG_SCREEN_ADDR(n) (BG_VRAM + (BG_SCREEN_SIZE * (n)))
|
||||
|
||||
#define BG_TILE_H_FLIP(n) (0x400 | (n))
|
||||
#define BG_TILE_V_FLIP(n) (0x800 | (n))
|
||||
|
||||
// text-mode BG
|
||||
#define OBJ_VRAM0 (VRAM + 0x10000)
|
||||
#define OBJ_VRAM0_SIZE 0x8000
|
||||
|
@ -39,5 +39,6 @@ void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterS
|
||||
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
|
||||
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
|
||||
void sub_8197DF8(u8 windowId, bool8 copyToVram);
|
||||
u8 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16);
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
@ -7,10 +7,10 @@
|
||||
void sub_81971D0(void);
|
||||
void sub_8197200(void);
|
||||
void sub_81973A4(void);
|
||||
void sub_81973C4(u8, u8);
|
||||
void NewMenuHelpers_DrawDialogueFrame(u8, u8);
|
||||
void sub_819746C(u8 windowId, bool8 copyToVram);
|
||||
void sub_81973FC(u8, u8);
|
||||
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor);
|
||||
void NewMenuHelpers_DrawStdWindowFrame(u8, u8);
|
||||
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor);
|
||||
void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
|
||||
void sub_8197434(u8 a0, u8 a1);
|
||||
void SetStandardWindowBorderStyle(u8 a0, u8 a1);
|
||||
|
@ -116,7 +116,7 @@ struct TextSubPrinter // TODO: Better name
|
||||
u8 letterSpacing;
|
||||
u8 lineSpacing;
|
||||
u8 fontColor_l:4; // 0xC
|
||||
u8 fontColor_h:4;
|
||||
u8 fgColor:4;
|
||||
u8 bgColor:4;
|
||||
u8 shadowColor:4;
|
||||
};
|
||||
@ -149,7 +149,7 @@ struct FontInfo
|
||||
u8 letterSpacing;
|
||||
u8 lineSpacing;
|
||||
u8 fontColor_l:4;
|
||||
u8 fontColor_h:4;
|
||||
u8 fgColor:4;
|
||||
u8 bgColor:4;
|
||||
u8 shadowColor:4;
|
||||
};
|
||||
|
@ -247,7 +247,7 @@ SECTIONS {
|
||||
src/battle_dome_cards.o(.text);
|
||||
src/lilycove_lady.o(.text);
|
||||
asm/battle_frontier_1.o(.text);
|
||||
asm/new_menu_helpers.o(.text);
|
||||
src/new_menu_helpers.o(.text);
|
||||
asm/menu.o(.text);
|
||||
asm/battle_frontier_2.o(.text);
|
||||
asm/item_menu.o(.text);
|
||||
|
@ -2440,7 +2440,7 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1)
|
||||
textSubPrinter.letterSpacing = r8[(12 * arg1) + 4];
|
||||
textSubPrinter.lineSpacing = r8[(12 * arg1) + 5];
|
||||
textSubPrinter.fontColor_l = 0;
|
||||
textSubPrinter.fontColor_h = r8[(12 * arg1) + 7];
|
||||
textSubPrinter.fgColor = r8[(12 * arg1) + 7];
|
||||
textSubPrinter.bgColor = r8[(12 * arg1) + 8];
|
||||
textSubPrinter.shadowColor = r8[(12 * arg1) + 9];
|
||||
|
||||
|
@ -6730,7 +6730,7 @@ static void PutLevelAndGenderOnLvlUpBox(void)
|
||||
subPrinter.letterSpacing = 0;
|
||||
subPrinter.lineSpacing = 0;
|
||||
subPrinter.fontColor_l = TEXT_COLOR_TRANSPARENT;
|
||||
subPrinter.fontColor_h = TEXT_COLOR_WHITE;
|
||||
subPrinter.fgColor = TEXT_COLOR_WHITE;
|
||||
subPrinter.bgColor = TEXT_COLOR_TRANSPARENT;
|
||||
subPrinter.shadowColor = TEXT_COLOR_DARK_GREY;
|
||||
|
||||
|
@ -3489,7 +3489,7 @@ void ShowBerryBlenderRecordWindow(void)
|
||||
|
||||
winTemplate = sBlenderRecordWindowTemplate;
|
||||
gResultsWindowId = AddWindow(&winTemplate);
|
||||
sub_81973FC(gResultsWindowId, 0);
|
||||
NewMenuHelpers_DrawStdWindowFrame(gResultsWindowId, 0);
|
||||
FillWindowPixelBuffer(gResultsWindowId, 0x11);
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gText_BlenderMaxSpeedRecord, 0x90);
|
||||
|
@ -43,7 +43,7 @@ extern u16 ItemIdToBattleMoveId(u16);
|
||||
extern s32 ListMenuHandleInputGetItemId(u8);
|
||||
extern void sub_81AE6C8(u8, u16*, u16*);
|
||||
extern void sub_819746C(u8, bool8);
|
||||
extern void sub_81973FC(u8, bool8);
|
||||
extern void NewMenuHelpers_DrawStdWindowFrame(u8, bool8);
|
||||
extern void sub_81B9328(void);
|
||||
extern void sub_81AF078(u32, bool8, struct ListMenu *);
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
@ -1212,7 +1212,7 @@ static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y)
|
||||
gTextFlags.flag_1 = 0;
|
||||
printer.letterSpacing = 0;
|
||||
printer.lineSpacing = 1;
|
||||
printer.fontColor_h = 2;
|
||||
printer.fgColor = 2;
|
||||
printer.bgColor = 1;
|
||||
printer.shadowColor = 3;
|
||||
|
||||
@ -1296,7 +1296,7 @@ void ShowDaycareLevelMenu(void)
|
||||
u8 daycareMenuTaskId;
|
||||
|
||||
windowId = AddWindow(&sDaycareLevelMenuWindowTemplate);
|
||||
sub_81973FC(windowId, FALSE);
|
||||
NewMenuHelpers_DrawStdWindowFrame(windowId, FALSE);
|
||||
|
||||
menuTemplate = sDaycareListMenuLevelTemplate;
|
||||
menuTemplate.unk_10 = windowId;
|
||||
|
@ -727,7 +727,7 @@ void sub_81271CC(u8 taskId)
|
||||
{
|
||||
sub_8126A58(1);
|
||||
sub_8126A88();
|
||||
sub_81973C4(0, 0);
|
||||
NewMenuHelpers_DrawDialogueFrame(0, 0);
|
||||
sub_8126C08();
|
||||
gTasks[taskId].func = sub_8126B80;
|
||||
}
|
||||
@ -2712,7 +2712,7 @@ void sub_812A334(void)
|
||||
u8 taskId;
|
||||
|
||||
pal_fill_black();
|
||||
sub_81973C4(0, 1);
|
||||
NewMenuHelpers_DrawDialogueFrame(0, 1);
|
||||
sub_8126ABC();
|
||||
taskId = CreateTask(sub_812A2C4, 8);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
|
@ -81,7 +81,7 @@ extern const u8 gText_MainMenuTime[];
|
||||
extern const u8 gContestConfetti_Gfx[];
|
||||
extern const u8 gContestConfetti_Pal[];
|
||||
|
||||
extern void sub_81973C4(u8, u8);
|
||||
extern void NewMenuHelpers_DrawDialogueFrame(u8, u8);
|
||||
extern u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor);
|
||||
extern void sub_8175620(void);
|
||||
extern u8 TrySavingData(u8);
|
||||
@ -539,7 +539,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
|
||||
}
|
||||
*lastSavedTeam = *sHofMonPtr;
|
||||
|
||||
sub_81973C4(0, 0);
|
||||
NewMenuHelpers_DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized(0, 1, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
gTasks[taskId].func = Task_Hof_TrySaveData;
|
||||
@ -746,7 +746,7 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId)
|
||||
{
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20);
|
||||
HallOfFame_PrintPlayerInfo(1, 2);
|
||||
sub_81973C4(0, 0);
|
||||
NewMenuHelpers_DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized(0, 1, gText_LeagueChamp, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
gTasks[taskId].func = Task_Hof_ExitOnKeyPressed;
|
||||
@ -1115,7 +1115,7 @@ static void Task_HofPC_HandleExit(u8 taskId)
|
||||
static void Task_HofPC_PrintDataIsCorrupted(u8 taskId)
|
||||
{
|
||||
sub_8198180(gText_UnkCtrlF800Exit, 8, 1);
|
||||
sub_81973C4(0, 0);
|
||||
NewMenuHelpers_DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
gTasks[taskId].func = Task_HofPC_ExitOnButtonPress;
|
||||
|
@ -530,7 +530,7 @@ static void DisplaySentToPCMessage(void)
|
||||
stringToDisplay++;
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_0858BDB8[stringToDisplay]);
|
||||
sub_81973C4(0, 0);
|
||||
NewMenuHelpers_DrawDialogueFrame(0, 0);
|
||||
gTextFlags.flag_0 = TRUE;
|
||||
AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), 0, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
|
442
src/new_menu_helpers.c
Normal file
442
src/new_menu_helpers.c
Normal file
@ -0,0 +1,442 @@
|
||||
#include "global.h"
|
||||
#include "bg.h"
|
||||
#include "palette.h"
|
||||
#include "window.h"
|
||||
#include "text.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "text_window.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
|
||||
#define STD_WINDOW_PALETTE_NUM 14
|
||||
#define STD_WINDOW_BASE_TILE_NUM 0x214
|
||||
#define DLG_WINDOW_PALETTE_NUM 15
|
||||
#define DLG_WINDOW_BASE_TILE_NUM 0x200
|
||||
|
||||
extern EWRAM_DATA u8 gUnknown_0203CD8C;
|
||||
extern EWRAM_DATA u8 gUnknown_0203CD8D;
|
||||
|
||||
extern const u8 gUnknown_0860EA6C[];
|
||||
extern const u16 gUnknown_0860EA4C[];
|
||||
extern const u16 gUnknown_0860F074[];
|
||||
extern const u8 gUnknown_0860F094[];
|
||||
extern const struct WindowTemplate gUnknown_0860F098[];
|
||||
extern const struct WindowTemplate gUnknown_0860F0A8;
|
||||
|
||||
extern void sub_819645C(void);
|
||||
// Forward declarations
|
||||
extern void sub_81973A4(void);
|
||||
extern void DrawStandardFrame(u8, u8, u8, u8, u8, u8);
|
||||
extern void DrawDialogueFrame(u8, u8, u8, u8, u8, u8);
|
||||
extern void sub_81977BC(u8, u8, u8, u8, u8, u8);
|
||||
extern void sub_8197804(u8, u8, u8, u8, u8, u8);
|
||||
|
||||
void sub_8197184(u8 window, u32 destTile, u32 destPalette)
|
||||
{
|
||||
LoadBgTiles(GetWindowAttribute(window, WINDOW_PRIORITY), gUnknown_0860EA6C, 0x100, destTile);
|
||||
LoadPalette(gUnknown_0860EA4C, destPalette * 16, 32);
|
||||
}
|
||||
|
||||
void sub_81971C4(void)
|
||||
{
|
||||
sub_819645C();
|
||||
}
|
||||
|
||||
void sub_81971D0(void)
|
||||
{
|
||||
InitWindows(gUnknown_0860F098);
|
||||
gUnknown_0203CD8C = 0xFF;
|
||||
gUnknown_0203CD8D = 0xFF;
|
||||
}
|
||||
|
||||
void sub_81971F4(void)
|
||||
{
|
||||
FreeAllWindowBuffers();
|
||||
}
|
||||
|
||||
void sub_8197200(void)
|
||||
{
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
DeactivateAllTextPrinters();
|
||||
sub_81973A4();
|
||||
}
|
||||
|
||||
u16 sub_8197224(void)
|
||||
{
|
||||
RunTextPrinters();
|
||||
return IsTextPrinterActive(0);
|
||||
}
|
||||
|
||||
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor)
|
||||
{
|
||||
struct TextSubPrinter printer;
|
||||
|
||||
printer.current_text_offset = str;
|
||||
printer.windowId = windowId;
|
||||
printer.fontId = fontId;
|
||||
printer.x = 0;
|
||||
printer.y = 1;
|
||||
printer.currentX = 0;
|
||||
printer.currentY = 1;
|
||||
printer.letterSpacing = 0;
|
||||
printer.lineSpacing = 0;
|
||||
printer.fontColor_l = 0;
|
||||
printer.fgColor = fgColor;
|
||||
printer.bgColor = bgColor;
|
||||
printer.shadowColor = shadowColor;
|
||||
|
||||
gTextFlags.flag_1 = 0;
|
||||
return AddTextPrinter(&printer, speed, callback);
|
||||
}
|
||||
|
||||
void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress)
|
||||
{
|
||||
void (*callback)(struct TextSubPrinter *, u16) = NULL;
|
||||
gTextFlags.flag_0 = allowSkippingDelayWithButtonPress;
|
||||
AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3);
|
||||
}
|
||||
|
||||
void AddTextPrinterForMessage_2(bool8 allowSkippingDelayWithButtonPress)
|
||||
{
|
||||
gTextFlags.flag_0 = allowSkippingDelayWithButtonPress;
|
||||
AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3);
|
||||
}
|
||||
|
||||
void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed)
|
||||
{
|
||||
gTextFlags.flag_0 = allowSkippingDelayWithButtonPress;
|
||||
AddTextPrinterParameterized(0, 1, gStringVar4, speed, NULL, 2, 1, 3);
|
||||
}
|
||||
|
||||
void sub_81973A4(void)
|
||||
{
|
||||
copy_textbox_border_tile_patterns_to_vram(0, DLG_WINDOW_BASE_TILE_NUM, 0xF0);
|
||||
sub_809882C(0, STD_WINDOW_BASE_TILE_NUM, 0xE0);
|
||||
}
|
||||
|
||||
void NewMenuHelpers_DrawDialogueFrame(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, DrawDialogueFrame);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
PutWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, DrawStandardFrame);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
PutWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_8197434(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, sub_8197804);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
ClearWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_819746C(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, sub_81977BC);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
ClearWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
int i;
|
||||
|
||||
FillBgTilemapBufferRect(bg,
|
||||
STD_WINDOW_BASE_TILE_NUM + 0,
|
||||
tilemapLeft - 1,
|
||||
tilemapTop - 1,
|
||||
1,
|
||||
1,
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
STD_WINDOW_BASE_TILE_NUM + 1,
|
||||
tilemapLeft,
|
||||
tilemapTop - 1,
|
||||
width,
|
||||
1,
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
STD_WINDOW_BASE_TILE_NUM + 2,
|
||||
tilemapLeft + width,
|
||||
tilemapTop - 1,
|
||||
1,
|
||||
1,
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
|
||||
for (i = tilemapTop; i < tilemapTop + height; i++)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg,
|
||||
STD_WINDOW_BASE_TILE_NUM + 3,
|
||||
tilemapLeft - 1,
|
||||
i,
|
||||
1,
|
||||
1,
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
STD_WINDOW_BASE_TILE_NUM + 5,
|
||||
tilemapLeft + width,
|
||||
i,
|
||||
1,
|
||||
1,
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
FillBgTilemapBufferRect(bg,
|
||||
STD_WINDOW_BASE_TILE_NUM + 6,
|
||||
tilemapLeft - 1,
|
||||
tilemapTop + height,
|
||||
1,
|
||||
1,
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
STD_WINDOW_BASE_TILE_NUM + 7,
|
||||
tilemapLeft,
|
||||
tilemapTop + height,
|
||||
width,
|
||||
1,
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
STD_WINDOW_BASE_TILE_NUM + 8,
|
||||
tilemapLeft + width,
|
||||
tilemapTop + height,
|
||||
1,
|
||||
1,
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void DrawDialogueFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 1,
|
||||
tilemapLeft - 2,
|
||||
tilemapTop - 1,
|
||||
1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 3,
|
||||
tilemapLeft - 1,
|
||||
tilemapTop - 1,
|
||||
1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 4,
|
||||
tilemapLeft,
|
||||
tilemapTop - 1,
|
||||
width - 1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 5,
|
||||
tilemapLeft + width - 1,
|
||||
tilemapTop - 1,
|
||||
1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 6,
|
||||
tilemapLeft + width,
|
||||
tilemapTop - 1,
|
||||
1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 7,
|
||||
tilemapLeft - 2,
|
||||
tilemapTop,
|
||||
1,
|
||||
5,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 9,
|
||||
tilemapLeft - 1,
|
||||
tilemapTop,
|
||||
width + 1,
|
||||
5,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 10,
|
||||
tilemapLeft + width,
|
||||
tilemapTop,
|
||||
1,
|
||||
5,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 1),
|
||||
tilemapLeft - 2,
|
||||
tilemapTop + height,
|
||||
1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 3),
|
||||
tilemapLeft - 1,
|
||||
tilemapTop + height,
|
||||
1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 4),
|
||||
tilemapLeft,
|
||||
tilemapTop + height,
|
||||
width - 1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 5),
|
||||
tilemapLeft + width - 1,
|
||||
tilemapTop + height,
|
||||
1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
FillBgTilemapBufferRect(bg,
|
||||
BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 6),
|
||||
tilemapLeft + width,
|
||||
tilemapTop + height,
|
||||
1,
|
||||
1,
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void sub_81977BC(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void sub_8197804(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
SetWindowBorderStyle(windowId, copyToVram, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void sub_819786C(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
copy_textbox_border_tile_patterns_to_vram(windowId, DLG_WINDOW_BASE_TILE_NUM, 0xF0);
|
||||
sub_8197B1C(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, 0xF);
|
||||
}
|
||||
|
||||
void sub_819789C(void)
|
||||
{
|
||||
LoadPalette(gUnknown_0860F074, 0xE0, 0x14);
|
||||
}
|
||||
|
||||
void sub_81978B0(u16 offset)
|
||||
{
|
||||
LoadPalette(gUnknown_0860F074, offset, 0x14);
|
||||
}
|
||||
|
||||
const u16 *sub_81978C8(void)
|
||||
{
|
||||
return gUnknown_0860F074;
|
||||
}
|
||||
|
||||
u16 sub_81978D0(u8 colorNum)
|
||||
{
|
||||
if (colorNum > 15)
|
||||
colorNum = 0;
|
||||
return gUnknown_0860F074[colorNum];
|
||||
}
|
||||
|
||||
void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback)
|
||||
{
|
||||
sub_81973A4();
|
||||
DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, 1, GetPlayerTextSpeed(), string, callback);
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
|
||||
void sub_8197930(void)
|
||||
{
|
||||
CreateYesNoMenu(&gUnknown_0860F0A8, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, 0);
|
||||
}
|
||||
|
||||
void sub_8197948(u8 initialCursorPos)
|
||||
{
|
||||
CreateYesNoMenu(&gUnknown_0860F0A8, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, initialCursorPos);
|
||||
}
|
||||
|
||||
u32 sub_8197964(void)
|
||||
{
|
||||
if (gTextFlags.flag_3)
|
||||
return 1;
|
||||
return gSaveBlock2Ptr->optionsTextSpeed;
|
||||
}
|
||||
|
||||
u8 GetPlayerTextSpeed(void)
|
||||
{
|
||||
u32 speed;
|
||||
if (gSaveBlock2Ptr->optionsTextSpeed > 2)
|
||||
gSaveBlock2Ptr->optionsTextSpeed = 1;
|
||||
speed = sub_8197964();
|
||||
return gUnknown_0860F094[speed];
|
||||
}
|
||||
|
||||
u8 sub_81979C4(u8 a1)
|
||||
{
|
||||
if (gUnknown_0203CD8C == 0xFF)
|
||||
gUnknown_0203CD8C = sub_8198AA4(0, 0x16, 1, 7, (a1 * 2) + 2, 0xF, 0x139);
|
||||
return gUnknown_0203CD8C;
|
||||
}
|
||||
|
||||
u8 GetStartMenuWindowId(void)
|
||||
{
|
||||
return gUnknown_0203CD8C;
|
||||
}
|
||||
|
||||
void remove_start_menu_window_maybe(void)
|
||||
{
|
||||
if (gUnknown_0203CD8C != 0xFF)
|
||||
{
|
||||
RemoveWindow(gUnknown_0203CD8C);
|
||||
gUnknown_0203CD8C = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
u16 sub_8197A30(void)
|
||||
{
|
||||
return DLG_WINDOW_BASE_TILE_NUM;
|
||||
}
|
||||
|
||||
u16 sub_8197A38(void)
|
||||
{
|
||||
return STD_WINDOW_BASE_TILE_NUM;
|
||||
}
|
||||
|
||||
u8 AddMapNamePopUpWindow(void)
|
||||
{
|
||||
if (gUnknown_0203CD8D == 0xFF)
|
||||
gUnknown_0203CD8D = sub_8198AA4(0, 1, 1, 10, 3, 14, 0x107);
|
||||
return gUnknown_0203CD8D;
|
||||
}
|
||||
|
||||
u8 GetMapNamePopUpWindowId(void)
|
||||
{
|
||||
return gUnknown_0203CD8D;
|
||||
}
|
||||
|
||||
void RemoveMapNamePopUpWindow(void)
|
||||
{
|
||||
if (gUnknown_0203CD8D != 0xFF)
|
||||
{
|
||||
RemoveWindow(gUnknown_0203CD8D);
|
||||
gUnknown_0203CD8D = 0xFF;
|
||||
}
|
||||
}
|
@ -1313,7 +1313,7 @@ bool8 ScrCmd_cmdDB(struct ScriptContext *ctx)
|
||||
if (msg == NULL)
|
||||
msg = (const u8 *)ctx->data[0];
|
||||
sub_81973A4();
|
||||
sub_81973C4(0, 1);
|
||||
NewMenuHelpers_DrawDialogueFrame(0, 1);
|
||||
PrintTextOnWindow(0, 1, msg, 0, 1, 0, 0);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1530,7 +1530,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx)
|
||||
template2 = template1;
|
||||
gUnknown_03000F30 = AddWindow(&template2);
|
||||
sub_809882C(gUnknown_03000F30, 0x214, 0xE0);
|
||||
sub_81973FC(gUnknown_03000F30, 0);
|
||||
NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0);
|
||||
PutWindowTilemap(gUnknown_03000F30);
|
||||
FillWindowPixelBuffer(gUnknown_03000F30, 0x11);
|
||||
PrintTextOnWindow(gUnknown_03000F30, 6, gStringVar4, temp1, temp2, 0xFF, 0x0);
|
||||
@ -1651,7 +1651,7 @@ _0809AEC6:\n\
|
||||
bl sub_809882C\n\
|
||||
ldrb r0, [r5]\n\
|
||||
mov r1, #0\n\
|
||||
bl sub_81973FC\n\
|
||||
bl NewMenuHelpers_DrawStdWindowFrame\n\
|
||||
ldrb r0, [r5]\n\
|
||||
bl PutWindowTilemap\n\
|
||||
ldrb r0, [r5]\n\
|
||||
|
@ -32,7 +32,7 @@ extern bool32 InUnionRoom(void);
|
||||
extern bool8 InBattlePike(void);
|
||||
extern bool8 InBattlePyramid(void);
|
||||
extern bool8 InMultiBattleRoom(void);
|
||||
extern void sub_81973FC(u8 windowId, u8 a1);
|
||||
extern void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, u8 a1);
|
||||
extern void sub_8198070(u8 windowId, u8 a1);
|
||||
|
||||
// this file's functions
|
||||
@ -224,7 +224,7 @@ void DisplaySafariBallsWindow(void)
|
||||
{
|
||||
sSafariBallsWindowId = AddWindow(&gSafariBallsWindowTemplate);
|
||||
PutWindowTilemap(sSafariBallsWindowId);
|
||||
sub_81973FC(sSafariBallsWindowId, 0);
|
||||
NewMenuHelpers_DrawStdWindowFrame(sSafariBallsWindowId, 0);
|
||||
ConvertIntToDecimalStringN(gStringVar1, gNumSafariBalls, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_SafariBallStock);
|
||||
PrintTextOnWindow(sSafariBallsWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL);
|
||||
@ -239,7 +239,7 @@ void DisplayPyramidFloorWindow(void)
|
||||
else
|
||||
sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_2);
|
||||
PutWindowTilemap(sBattlePyramidFloorWindowId);
|
||||
sub_81973FC(sBattlePyramidFloorWindowId, 0);
|
||||
NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, 0);
|
||||
StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]);
|
||||
StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor);
|
||||
PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL);
|
||||
|
@ -159,7 +159,7 @@ u16 PrintTextOnWindow(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 spee
|
||||
subPrinter.letterSpacing = gFonts[fontId].letterSpacing;
|
||||
subPrinter.lineSpacing = gFonts[fontId].lineSpacing;
|
||||
subPrinter.fontColor_l = gFonts[fontId].fontColor_l;
|
||||
subPrinter.fontColor_h = gFonts[fontId].fontColor_h;
|
||||
subPrinter.fgColor = gFonts[fontId].fgColor;
|
||||
subPrinter.bgColor = gFonts[fontId].bgColor;
|
||||
subPrinter.shadowColor = gFonts[fontId].shadowColor;
|
||||
return AddTextPrinter(&subPrinter, speed, callback);
|
||||
@ -189,7 +189,7 @@ bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*ca
|
||||
gTempTextPrinter.minLetterSpacing = 0;
|
||||
gTempTextPrinter.japanese = 0;
|
||||
|
||||
GenerateFontHalfRowLookupTable(textSubPrinter->fontColor_h, textSubPrinter->bgColor, textSubPrinter->shadowColor);
|
||||
GenerateFontHalfRowLookupTable(textSubPrinter->fgColor, textSubPrinter->bgColor, textSubPrinter->shadowColor);
|
||||
if (speed != TEXT_SPEED_FF && speed != 0x0)
|
||||
{
|
||||
--gTempTextPrinter.text_speed;
|
||||
@ -3218,7 +3218,7 @@ u8 GetFontAttribute(u8 fontId, u8 attributeId)
|
||||
result = gFontInfos[fontId].fontColor_l;
|
||||
break;
|
||||
case 5:
|
||||
result = gFontInfos[fontId].fontColor_h;
|
||||
result = gFontInfos[fontId].fgColor;
|
||||
break;
|
||||
case 6:
|
||||
result = gFontInfos[fontId].bgColor;
|
||||
|
@ -57,24 +57,24 @@ u16 Font6Func(struct TextPrinter *textPrinter)
|
||||
switch (char_)
|
||||
{
|
||||
case 1:
|
||||
textPrinter->subPrinter.fontColor_h = *textPrinter->subPrinter.current_text_offset ++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
|
||||
textPrinter->subPrinter.fgColor = *textPrinter->subPrinter.current_text_offset ++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
|
||||
return 2;
|
||||
case 2:
|
||||
textPrinter->subPrinter.bgColor = *textPrinter->subPrinter.current_text_offset ++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
|
||||
GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
|
||||
return 2;
|
||||
case 3:
|
||||
textPrinter->subPrinter.shadowColor = *textPrinter->subPrinter.current_text_offset ++;
|
||||
GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
|
||||
GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
|
||||
return 2;
|
||||
case 4:
|
||||
textPrinter->subPrinter.fontColor_h = *textPrinter->subPrinter.current_text_offset;
|
||||
textPrinter->subPrinter.fgColor = *textPrinter->subPrinter.current_text_offset;
|
||||
textPrinter->subPrinter.bgColor = *++ textPrinter->subPrinter.current_text_offset;
|
||||
textPrinter->subPrinter.shadowColor = *++ textPrinter->subPrinter.current_text_offset;
|
||||
textPrinter->subPrinter.current_text_offset ++;
|
||||
|
||||
GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
|
||||
GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
|
||||
return 2;
|
||||
case 5:
|
||||
textPrinter->subPrinter.current_text_offset ++;
|
||||
|
Loading…
Reference in New Issue
Block a user