summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_1.s2
-rw-r--r--asm/berry_pouch.s2
-rw-r--r--asm/buy_menu_helpers.s2
-rw-r--r--asm/field_message_box.s4
-rw-r--r--asm/new_menu_helpers.s941
-rw-r--r--asm/party_menu.s2
-rw-r--r--include/gba/defines.h3
-rw-r--r--include/new_menu_helpers.h13
-rw-r--r--include/quest_log.h1
-rw-r--r--include/script.h1
-rw-r--r--include/text_window.h3
-rw-r--r--src/bag.c2
-rw-r--r--src/item_pc.c2
-rw-r--r--src/new_menu_helpers.c161
-rw-r--r--src/script.c2
-rw-r--r--src/text_window.c4
-rw-r--r--src/tm_case.c2
17 files changed, 196 insertions, 951 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s
index 87cb0e750..753d31a20 100644
--- a/asm/battle_1.s
+++ b/asm/battle_1.s
@@ -257,7 +257,7 @@ sub_800F380: @ 800F380
movs r0, 0
movs r1, 0x30
movs r2, 0x70
- bl TextWindow_SetBubbleFrame_841F1C8
+ bl TextWindow_LoadResourcesStdFrame0
adds r0, r4, 0
adds r0, 0xEC
movs r1, 0
diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s
index f5ab7f3a7..568ddb90a 100644
--- a/asm/berry_pouch.s
+++ b/asm/berry_pouch.s
@@ -3371,7 +3371,7 @@ sub_813E910: @ 813E910
movs r0, 0
movs r1, 0x13
movs r2, 0xD0
- bl TextWindow_SetBubbleFrame_841F1C8
+ bl TextWindow_LoadResourcesStdFrame0
movs r0, 0
movs r1, 0xA
movs r2, 0xC0
diff --git a/asm/buy_menu_helpers.s b/asm/buy_menu_helpers.s
index 745c8d104..1eba8e42e 100644
--- a/asm/buy_menu_helpers.s
+++ b/asm/buy_menu_helpers.s
@@ -28,7 +28,7 @@ _0813F686:
movs r0, 0
movs r1, 0x13
movs r2, 0xE0
- bl TextWindow_SetBubbleFrame_841F1C8
+ bl TextWindow_LoadResourcesStdFrame0
movs r0, 0
movs r1, 0xA
movs r2, 0xF0
diff --git a/asm/field_message_box.s b/asm/field_message_box.s
index 3ace107ab..a326e0f59 100644
--- a/asm/field_message_box.s
+++ b/asm/field_message_box.s
@@ -65,13 +65,13 @@ _0806939E:
movs r1, 0x80
lsls r1, 2
movs r0, 0
- bl sub_814FF98
+ bl TextWindow_LoadTilesStdFrame1
b _080693E2
.align 2, 0
_080693BC: .4byte gUnknown_203ADFA
_080693C0: .4byte gTextFlags
_080693C4:
- bl sub_8069A38
+ bl IsMsgSignPost
lsls r0, 24
cmp r0, 0
bne _080693D4
diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s
index 66cf70db4..b93de1d12 100644
--- a/asm/new_menu_helpers.s
+++ b/asm/new_menu_helpers.s
@@ -4,930 +4,9 @@
.syntax unified
.text
-
- thumb_func_start sub_80F6E9C
-sub_80F6E9C: @ 80F6E9C
- push {lr}
- ldr r0, _080F6EBC @ =gUnknown_203ADFA
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080F6EC4
- ldr r2, _080F6EC0 @ =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl sub_814FF98
- b _080F6ED4
- .align 2, 0
-_080F6EBC: .4byte gUnknown_203ADFA
-_080F6EC0: .4byte gTextFlags
-_080F6EC4:
- bl sub_80F77B8
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- movs r2, 0xF0
- bl TextWindow_SetBubbleFrame_841F1C8
-_080F6ED4:
- movs r1, 0x85
- lsls r1, 2
- movs r0, 0
- movs r2, 0xE0
- bl TextWindow_SetUserSelectedFrame
- pop {r0}
- bx r0
- thumb_func_end sub_80F6E9C
-
- thumb_func_start DrawDialogueFrame
-DrawDialogueFrame: @ 80F6EE4
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080F6F18 @ =sub_80F7124
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _080F6F12
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_080F6F12:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6F18: .4byte sub_80F7124
- thumb_func_end DrawDialogueFrame
-
- thumb_func_start DrawStdWindowFrame
-DrawStdWindowFrame: @ 80F6F1C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080F6F50 @ =sub_80F6FD4
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _080F6F4A
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_080F6F4A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6F50: .4byte sub_80F6FD4
- thumb_func_end DrawStdWindowFrame
-
- thumb_func_start ClearDialogWindowAndFrame
-ClearDialogWindowAndFrame: @ 80F6F54
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080F6F94 @ =sub_80F76CC
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl ClearWindowTilemap
- cmp r4, 0x1
- bne _080F6F82
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_080F6F82:
- ldr r0, _080F6F98 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080F6F8E
- bl sub_8111134
-_080F6F8E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6F94: .4byte sub_80F76CC
-_080F6F98: .4byte gUnknown_203ADFA
- thumb_func_end ClearDialogWindowAndFrame
-
- thumb_func_start ClearStdWindowAndFrame
-ClearStdWindowAndFrame: @ 80F6F9C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080F6FD0 @ =sub_80F7684
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl ClearWindowTilemap
- cmp r4, 0x1
- bne _080F6FCA
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_080F6FCA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6FD0: .4byte sub_80F7684
- thumb_func_end ClearStdWindowAndFrame
-
- thumb_func_start sub_80F6FD4
-sub_80F6FD4: @ 80F6FD4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r4, r2, 0
- ldr r2, [sp, 0x3C]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsls r4, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- movs r3, 0x85
- lsls r3, 2
- lsrs r0, r1, 24
- str r0, [sp, 0xC]
- movs r2, 0xFF
- lsls r2, 24
- adds r2, r1
- mov r8, r2
- lsrs r2, 24
- lsrs r0, r4, 24
- mov r9, r0
- movs r0, 0xFF
- lsls r0, 24
- adds r4, r0
- lsrs r4, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r6, 0xE
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r1, r3, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F710C @ =0x00000215
- ldr r2, [sp, 0x10]
- str r2, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0xC]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7110 @ =0x00000216
- ldr r3, [sp, 0xC]
- ldr r2, [sp, 0x10]
- adds r0, r3, r2
- lsls r0, 24
- mov r10, r0
- lsrs r2, r0, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- mov r5, r9
- ldr r0, [sp, 0x14]
- add r0, r9
- cmp r9, r0
- bge _080F70A8
- mov r3, r8
- str r3, [sp, 0x18]
- movs r6, 0x1
- movs r0, 0xE
- mov r8, r0
-_080F706E:
- lsls r4, r5, 24
- lsrs r4, 24
- str r6, [sp]
- str r6, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- adds r0, r7, 0
- ldr r1, _080F7114 @ =0x00000217
- ldr r3, [sp, 0x18]
- lsrs r2, r3, 24
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- str r6, [sp]
- str r6, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- adds r0, r7, 0
- ldr r1, _080F7118 @ =0x00000219
- mov r3, r10
- lsrs r2, r3, 24
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- adds r5, 0x1
- ldr r0, [sp, 0x14]
- add r0, r9
- cmp r5, r0
- blt _080F706E
-_080F70A8:
- ldr r1, _080F711C @ =0x0000021a
- ldr r2, [sp, 0xC]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r4, [sp, 0x14]
- add r4, r9
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r6, 0xE
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7120 @ =0x0000021b
- ldr r0, [sp, 0x10]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0xC]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x87
- lsls r1, 2
- ldr r3, [sp, 0xC]
- ldr r0, [sp, 0x10]
- adds r2, r3, r0
- lsls r2, 24
- lsrs r2, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F710C: .4byte 0x00000215
-_080F7110: .4byte 0x00000216
-_080F7114: .4byte 0x00000217
-_080F7118: .4byte 0x00000219
-_080F711C: .4byte 0x0000021a
-_080F7120: .4byte 0x0000021b
- thumb_func_end sub_80F6FD4
-
- thumb_func_start sub_80F7124
-sub_80F7124: @ 80F7124
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xC]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- bl sub_8069A38
- lsls r0, 24
- cmp r0, 0
- beq _080F715A
- ldr r0, _080F7390 @ =gUnknown_203ADFA
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080F715A
- b _080F73E8
-_080F715A:
- movs r1, 0x80
- lsls r1, 2
- ldr r0, [sp, 0xC]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r5, [sp, 0x10]
- subs r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r6, 0xF
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7394 @ =0x00000201
- ldr r2, [sp, 0xC]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7398 @ =0x00000202
- ldr r0, [sp, 0x14]
- str r0, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0xC]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F739C @ =0x00000203
- ldr r2, [sp, 0xC]
- ldr r0, [sp, 0x14]
- adds r2, r0
- mov r8, r2
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x18]
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x81
- lsls r1, 2
- add r8, r4
- mov r2, r8
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73A0 @ =0x00000205
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- ldr r3, [sp, 0x10]
- bl FillBgTilemapBufferRect
- ldr r1, _080F73A4 @ =0x00000206
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- ldr r3, [sp, 0x10]
- bl FillBgTilemapBufferRect
- movs r1, 0x82
- lsls r1, 2
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x10]
- bl FillBgTilemapBufferRect
- ldr r1, _080F73A8 @ =0x00000209
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- ldr r3, [sp, 0x10]
- bl FillBgTilemapBufferRect
- ldr r1, _080F73AC @ =0x0000020a
- ldr r5, [sp, 0x10]
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73B0 @ =0x0000020b
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x83
- lsls r1, 2
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x18]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73B4 @ =0x0000020d
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73B8 @ =0x00000a0a
- ldr r5, [sp, 0x10]
- adds r5, 0x2
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73BC @ =0x00000a0b
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73C0 @ =0x00000a0c
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x18]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73C4 @ =0x00000a0d
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73C8 @ =0x00000a05
- ldr r5, [sp, 0x10]
- adds r5, 0x3
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73CC @ =0x00000a06
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73D0 @ =0x00000a08
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x18]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73D4 @ =0x00000a09
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0xA0
- lsls r1, 4
- ldr r5, [sp, 0x10]
- adds r5, 0x4
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73D8 @ =0x00000a01
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73DC @ =0x00000a02
- ldr r0, [sp, 0x14]
- str r0, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0xC]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73E0 @ =0x00000a03
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x18]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F73E4 @ =0x00000a04
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- b _080F761E
- .align 2, 0
-_080F7390: .4byte gUnknown_203ADFA
-_080F7394: .4byte 0x00000201
-_080F7398: .4byte 0x00000202
-_080F739C: .4byte 0x00000203
-_080F73A0: .4byte 0x00000205
-_080F73A4: .4byte 0x00000206
-_080F73A8: .4byte 0x00000209
-_080F73AC: .4byte 0x0000020a
-_080F73B0: .4byte 0x0000020b
-_080F73B4: .4byte 0x0000020d
-_080F73B8: .4byte 0x00000a0a
-_080F73BC: .4byte 0x00000a0b
-_080F73C0: .4byte 0x00000a0c
-_080F73C4: .4byte 0x00000a0d
-_080F73C8: .4byte 0x00000a05
-_080F73CC: .4byte 0x00000a06
-_080F73D0: .4byte 0x00000a08
-_080F73D4: .4byte 0x00000a09
-_080F73D8: .4byte 0x00000a01
-_080F73DC: .4byte 0x00000a02
-_080F73E0: .4byte 0x00000a03
-_080F73E4: .4byte 0x00000a04
-_080F73E8:
- movs r1, 0x80
- lsls r1, 2
- ldr r2, [sp, 0xC]
- subs r2, 0x2
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- ldr r5, [sp, 0x10]
- subs r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r6, 0xF
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7630 @ =0x00000201
- ldr r0, [sp, 0xC]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7634 @ =0x00000202
- ldr r2, [sp, 0x14]
- str r2, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0xC]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7638 @ =0x00000203
- ldr r0, [sp, 0xC]
- ldr r2, [sp, 0x14]
- adds r0, r2
- mov r8, r0
- lsls r2, r0, 24
- lsrs r2, 24
- str r2, [sp, 0x1C]
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x81
- lsls r1, 2
- add r8, r4
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F763C @ =0x00000205
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- ldr r3, [sp, 0x10]
- bl FillBgTilemapBufferRect
- ldr r1, _080F7640 @ =0x00000206
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- ldr r3, [sp, 0x10]
- bl FillBgTilemapBufferRect
- movs r1, 0x82
- lsls r1, 2
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x1C]
- ldr r3, [sp, 0x10]
- bl FillBgTilemapBufferRect
- ldr r1, _080F7644 @ =0x00000209
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- ldr r3, [sp, 0x10]
- bl FillBgTilemapBufferRect
- ldr r1, _080F7648 @ =0x0000020a
- ldr r5, [sp, 0x10]
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F764C @ =0x0000020b
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x83
- lsls r1, 2
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x1C]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7650 @ =0x0000020d
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7654 @ =0x00000a05
- ldr r5, [sp, 0x10]
- adds r5, 0x2
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7658 @ =0x00000a06
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F765C @ =0x00000a08
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x1C]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7660 @ =0x00000a09
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7664 @ =0x00000a0a
- ldr r5, [sp, 0x10]
- adds r5, 0x3
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7668 @ =0x00000a0b
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F766C @ =0x00000a0c
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x1C]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7670 @ =0x00000a0d
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0xA0
- lsls r1, 4
- ldr r5, [sp, 0x10]
- adds r5, 0x4
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r10
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7674 @ =0x00000a01
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r9
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7678 @ =0x00000a02
- ldr r2, [sp, 0x14]
- str r2, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0xC]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F767C @ =0x00000a03
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0x1C]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, _080F7680 @ =0x00000a04
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
-_080F761E:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F7630: .4byte 0x00000201
-_080F7634: .4byte 0x00000202
-_080F7638: .4byte 0x00000203
-_080F763C: .4byte 0x00000205
-_080F7640: .4byte 0x00000206
-_080F7644: .4byte 0x00000209
-_080F7648: .4byte 0x0000020a
-_080F764C: .4byte 0x0000020b
-_080F7650: .4byte 0x0000020d
-_080F7654: .4byte 0x00000a05
-_080F7658: .4byte 0x00000a06
-_080F765C: .4byte 0x00000a08
-_080F7660: .4byte 0x00000a09
-_080F7664: .4byte 0x00000a0a
-_080F7668: .4byte 0x00000a0b
-_080F766C: .4byte 0x00000a0c
-_080F7670: .4byte 0x00000a0d
-_080F7674: .4byte 0x00000a01
-_080F7678: .4byte 0x00000a02
-_080F767C: .4byte 0x00000a03
-_080F7680: .4byte 0x00000a04
- thumb_func_end sub_80F7124
-
- thumb_func_start sub_80F7684
-sub_80F7684: @ 80F7684
+/*
+ thumb_func_start WindowFunc_ClearStdWindowAndFrame
+WindowFunc_ClearStdWindowAndFrame: @ 80F7684
push {r4,r5,lr}
sub sp, 0xC
adds r4, r1, 0
@@ -963,10 +42,10 @@ sub_80F7684: @ 80F7684
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_80F7684
+ thumb_func_end WindowFunc_ClearStdWindowAndFrame
- thumb_func_start sub_80F76CC
-sub_80F76CC: @ 80F76CC
+ thumb_func_start WindowFunc_ClearDialogWindowAndFrame
+WindowFunc_ClearDialogWindowAndFrame: @ 80F76CC
push {r4,r5,lr}
sub sp, 0xC
adds r4, r1, 0
@@ -1006,8 +85,8 @@ sub_80F76CC: @ 80F76CC
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_80F76CC
-
+ thumb_func_end WindowFunc_ClearDialogWindowAndFrame
+*/
thumb_func_start sub_80F771C
sub_80F771C: @ 80F771C
push {r4,lr}
@@ -1070,7 +149,7 @@ sub_80F7768: @ 80F7768
movs r1, 0x80
lsls r1, 2
movs r0, 0
- bl sub_814FF98
+ bl TextWindow_LoadTilesStdFrame1
b _080F77A4
.align 2, 0
_080F7790: .4byte gUnknown_203ADFA
@@ -1080,7 +159,7 @@ _080F7798:
lsls r1, 2
adds r0, r4, 0
movs r2, 0xF0
- bl TextWindow_SetBubbleFrame_841F1C8
+ bl TextWindow_LoadResourcesStdFrame0
_080F77A4:
movs r2, 0x80
lsls r2, 2
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 996118221..a9b503ff3 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -7026,7 +7026,7 @@ sub_81220D4: @ 81220D4
adds r0, r4, 0
movs r1, 0x4F
movs r2, 0xE0
- bl TextWindow_SetBubbleFrame_841F1C8
+ bl TextWindow_LoadResourcesStdFrame0
adds r0, r4, 0
movs r1, 0x1
movs r2, 0x4F
diff --git a/include/gba/defines.h b/include/gba/defines.h
index a0ef506dd..5489f9e14 100644
--- a/include/gba/defines.h
+++ b/include/gba/defines.h
@@ -40,6 +40,9 @@
#define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (BG_SCREEN_SIZE * (n)))
#define BG_TILE_ADDR(n) (void *)(BG_VRAM + (0x80 * (n)))
+#define BG_TILE_H_FLIP(n) (0x400 + (n))
+#define BG_TILE_V_FLIP(n) (0x800 + (n))
+
// text-mode BG
#define OBJ_VRAM0 (void *)(VRAM + 0x10000)
#define OBJ_VRAM0_SIZE 0x8000
diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h
index bd39480d2..30728ec09 100644
--- a/include/new_menu_helpers.h
+++ b/include/new_menu_helpers.h
@@ -22,15 +22,22 @@ void DrawDialogueFrame(u8 windowId, bool8 transfer);
void sub_80F7974(const u8 *);
u8 GetStartMenuWindowId(void);
void sub_80F7998(void);
-void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
void DrawStdWindowFrame(u8 windowId, bool8 copyNow);
void InitStandardTextBoxWindows(void);
void ResetBg0(void);
+void ResetBgPositions(void);
+void CopyRectIntoAltRect(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);
+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_LoadStdPalAt(u16);
void * MallocAndDecompress(const void * src, u32 * size);
u16 sub_80F796C(void);
-void SetBgRectPal(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
-void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void * gfx, u32 size, u16 a3, u8 a4);
void ClearStdWindowAndFrame(u8 taskId, bool8 copyNow);
+void sub_80F77B8(void);
+void sub_80F6E9C(void);
+void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed);
+void AddTextPrinterDiffStyle(bool8 allowSkippingDelayWithButtonPress);
+void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
#endif // GUARD_NEW_MENU_HELPERS_H
diff --git a/include/quest_log.h b/include/quest_log.h
index e9b0c8e51..72b50e49e 100644
--- a/include/quest_log.h
+++ b/include/quest_log.h
@@ -26,6 +26,7 @@ void sub_8115748(u16);
u8 sub_8112CAC(void);
bool8 sub_81119D4(void (*func)(void));
void sub_8111F38(u16, u16);
+void sub_8111134(void);
void MapNamePopupWindowIdSetDummy(void);
extern u8 gUnknown_203ADFA;
diff --git a/include/script.h b/include/script.h
index 8ffbe1563..4e8b8c305 100644
--- a/include/script.h
+++ b/include/script.h
@@ -72,6 +72,7 @@ void sub_80699A4(void);
void sub_8069970(void);
void sub_8069A20(void);
void sub_8069A2C(void);
+bool8 IsMsgSignPost(void);
extern const u8 *gRAMScriptPtr;
diff --git a/include/text_window.h b/include/text_window.h
index cc1de56ae..3d64c0213 100644
--- a/include/text_window.h
+++ b/include/text_window.h
@@ -20,11 +20,12 @@ void rbox_fill_rectangle(u8 windowId);
const u16* stdpal_get(u8 id);
const u16* GetOverworldTextboxPalettePtr(void);
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset);
-void TextWindow_SetBubbleFrame_841F1C8(u8 windowId, u16 tileStart, u8 palette);
+void TextWindow_LoadResourcesStdFrame0(u8 windowId, u16 tileStart, u8 palette);
void TextWindow_SetStdFrame0_WithPal(u8 windowId, u16 tileStart, u8 palette);
void TextWindow_SetUserSelectedFrame(u8 windowId, u16 tileStart, u8 palette);
void LoadUserWindowBorderGfx(u8 windowId, u16 tileStart, u8 palette);
void sub_814FDA0(u8 windowId, u16 tileStart, u8 palette);
void DrawTextBorderOuter(u8 windowId, u16 tileStart, u8 palette);
+void TextWindow_LoadTilesStdFrame1(u8 windowId, u16 destOffset);
#endif // GUARD_TEXT_WINDOW_H
diff --git a/src/bag.c b/src/bag.c
index a580f7603..f4d29dfd4 100644
--- a/src/bag.c
+++ b/src/bag.c
@@ -211,7 +211,7 @@ void sub_810B858(void)
InitWindows(gUnknown_84530E4);
DeactivateAllTextPrinters();
TextWindow_SetUserSelectedFrame(0, 0x64, 0xE0);
- TextWindow_SetBubbleFrame_841F1C8(0, 0x6D, 0xD0);
+ TextWindow_LoadResourcesStdFrame0(0, 0x6D, 0xD0);
TextWindow_SetStdFrame0_WithPal(0, 0x81, 0xC0);
LoadPalette(gUnknown_8453098, 0xF0, 0x20);
for (i = 0; i < 3; i++)
diff --git a/src/item_pc.c b/src/item_pc.c
index 891fba04a..5e5e91355 100644
--- a/src/item_pc.c
+++ b/src/item_pc.c
@@ -1076,7 +1076,7 @@ static void ItemPc_InitWindows(void)
DeactivateAllTextPrinters();
TextWindow_SetUserSelectedFrame(0, 0x3C0, 0xE0);
TextWindow_SetStdFrame0_WithPal(0, 0x3A3, 0xC0);
- TextWindow_SetBubbleFrame_841F1C8(0, 0x3AC, 0xB0);
+ TextWindow_LoadResourcesStdFrame0(0, 0x3AC, 0xB0);
LoadPalette(stdpal_get(2), 0xD0, 0x20);
LoadPalette(gTMCaseMainWindowPalette, 0xF0, 0x20);
for (i = 0; i < 3; i++)
diff --git a/src/new_menu_helpers.c b/src/new_menu_helpers.c
index c4e8ab284..f3f9f65b9 100644
--- a/src/new_menu_helpers.c
+++ b/src/new_menu_helpers.c
@@ -11,6 +11,13 @@
#include "quest_log.h"
#include "text.h"
#include "field_specials.h"
+#include "text_window.h"
+#include "script.h"
+
+#define DLG_WINDOW_PALETTE_NUM 15
+#define DLG_WINDOW_BASE_TILE_NUM 0x200
+#define STD_WINDOW_PALETTE_NUM 14
+#define STD_WINDOW_BASE_TILE_NUM 0x214
static EWRAM_DATA bool8 gUnknown_203AB58[4] = {FALSE}; // knizz: bgmaps_that_need_syncing
static EWRAM_DATA u16 gUnknown_203AB5C = {0};
@@ -19,8 +26,12 @@ static EWRAM_DATA void *gUnknown_203AB60[0x20] = {NULL};
extern const struct WindowTemplate sStandardTextBox_WindowTemplates[];
EWRAM_DATA u8 sStartMenuWindowId;
-u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
-void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId);
+static u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
+static void WindowFunc_DrawDialogueFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum);
+static void WindowFunc_DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum);
+static void WindowFunc_ClearDialogWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum);
+static void WindowFunc_ClearStdWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum);
+static void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId);
void ClearScheduledBgCopiesToVram(void)
{
@@ -152,7 +163,7 @@ void DecompressAndLoadBgGfxUsingHeap2(u8 bgId, const void *src, u32 size, u16 of
}
}
-void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId)
+static void TaskFreeBufAfterCopyingTileDataToVram(u8 taskId)
{
if (!CheckForSpaceForDma3Request(gTasks[taskId].data[0]))
{
@@ -178,7 +189,7 @@ void *MallocAndDecompress(const void *src, u32 *size)
return ptr;
}
-u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode)
+static u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode)
{
switch (mode)
{ // different to EM
@@ -306,3 +317,145 @@ void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonP
gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress;
AddTextPrinterParameterized2(0, 2, gStringVar4, speed, NULL, 2, 1, 3);
}
+
+void sub_80F6E9C(void)
+{
+ if (gUnknown_203ADFA == 2)
+ {
+ gTextFlags.autoScroll = 1;
+ TextWindow_LoadTilesStdFrame1(0, 0x200);
+ }
+ else
+ {
+ sub_80F77B8();
+ TextWindow_LoadResourcesStdFrame0(0, 0x200, 0xF0);
+ }
+ TextWindow_SetUserSelectedFrame(0, 0x214, 0xE0);
+}
+
+void DrawDialogueFrame(u8 windowId, bool8 copyToVram)
+{
+ CallWindowFunction(windowId, WindowFunc_DrawDialogueFrame);
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
+ PutWindowTilemap(windowId);
+ if (copyToVram == TRUE)
+ CopyWindowToVram(windowId, 3);
+}
+
+void DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
+{
+ CallWindowFunction(windowId, WindowFunc_DrawStandardFrame);
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
+ PutWindowTilemap(windowId);
+ if (copyToVram == TRUE)
+ CopyWindowToVram(windowId, 3);
+}
+
+void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram)
+{
+ CallWindowFunction(windowId, WindowFunc_ClearDialogWindowAndFrame);
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
+ ClearWindowTilemap(windowId);
+ if (copyToVram == TRUE)
+ CopyWindowToVram(windowId, 3);
+ if (gUnknown_203ADFA == 2)
+ sub_8111134();
+}
+
+void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram)
+{
+ CallWindowFunction(windowId, WindowFunc_ClearStdWindowAndFrame);
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
+ ClearWindowTilemap(windowId);
+ if (copyToVram == TRUE)
+ CopyWindowToVram(windowId, 3);
+}
+
+static void WindowFunc_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);
+}
+
+static void WindowFunc_DrawDialogueFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
+{
+ if (!IsMsgSignPost() || gUnknown_203ADFA == 2)
+ {
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 0, tilemapLeft - 2, tilemapTop - 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 1, tilemapLeft - 1, tilemapTop - 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 2, tilemapLeft, tilemapTop - 1, width, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 3, tilemapLeft + width, tilemapTop - 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 4, tilemapLeft + width + 1, tilemapTop - 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 5, tilemapLeft - 2, tilemapTop, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 6, tilemapLeft - 1, tilemapTop, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 8, tilemapLeft + width, tilemapTop, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 9, tilemapLeft + width + 1, tilemapTop, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 10, tilemapLeft - 2, tilemapTop + 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 11, tilemapLeft - 1, tilemapTop + 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 12, tilemapLeft + width, tilemapTop + 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 13, tilemapLeft + width + 1, tilemapTop + 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 10), tilemapLeft - 2, tilemapTop + 2, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 11), tilemapLeft - 1, tilemapTop + 2, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 12), tilemapLeft + width, tilemapTop + 2, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 13), tilemapLeft + width + 1, tilemapTop + 2, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 5), tilemapLeft - 2, tilemapTop + 3, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 6), tilemapLeft - 1, tilemapTop + 3, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 8), tilemapLeft + width, tilemapTop + 3, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 9), tilemapLeft + width + 1, tilemapTop + 3, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 0), tilemapLeft - 2, tilemapTop + 4, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 1), tilemapLeft - 1, tilemapTop + 4, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 2), tilemapLeft, tilemapTop + 4, width, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 3), tilemapLeft + width, tilemapTop + 4, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 4), tilemapLeft + width + 1, tilemapTop + 4, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ }
+ else
+ {
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 0, tilemapLeft - 2, tilemapTop - 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 1, tilemapLeft - 1, tilemapTop - 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 2, tilemapLeft, tilemapTop - 1, width, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 3, tilemapLeft + width, tilemapTop - 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 4, tilemapLeft + width + 1, tilemapTop - 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 5, tilemapLeft - 2, tilemapTop, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 6, tilemapLeft - 1, tilemapTop, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 8, tilemapLeft + width, tilemapTop, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 9, tilemapLeft + width + 1, tilemapTop, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 10, tilemapLeft - 2, tilemapTop + 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 11, tilemapLeft - 1, tilemapTop + 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 12, tilemapLeft + width, tilemapTop + 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, DLG_WINDOW_BASE_TILE_NUM + 13, tilemapLeft + width + 1, tilemapTop + 1, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 5), tilemapLeft - 2, tilemapTop + 2, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 6), tilemapLeft - 1, tilemapTop + 2, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 8), tilemapLeft + width, tilemapTop + 2, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 9), tilemapLeft + width + 1, tilemapTop + 2, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 10), tilemapLeft - 2, tilemapTop + 3, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 11), tilemapLeft - 1, tilemapTop + 3, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 12), tilemapLeft + width, tilemapTop + 3, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 13), tilemapLeft + width + 1, tilemapTop + 3, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 0), tilemapLeft - 2, tilemapTop + 4, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 1), tilemapLeft - 1, tilemapTop + 4, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 2), tilemapLeft, tilemapTop + 4, width, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 3), tilemapLeft + width, tilemapTop + 4, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 4), tilemapLeft + width + 1, tilemapTop + 4, 1, 1, DLG_WINDOW_PALETTE_NUM);
+ }
+}
+
+static void WindowFunc_ClearStdWindowAndFrame(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);
+}
+
+static void WindowFunc_ClearDialogWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
+{
+ FillBgTilemapBufferRect(bg, 0, tilemapLeft - 2, tilemapTop - 1, width + 4, height + 2, STD_WINDOW_PALETTE_NUM);
+}
diff --git a/src/script.c b/src/script.c
index 608dc6ba0..06418b8d0 100644
--- a/src/script.c
+++ b/src/script.c
@@ -279,7 +279,7 @@ void sub_8069A2C(void)
gUnknown_3000FA1 = 0;
}
-bool8 sub_8069A38(void)
+bool8 IsMsgSignPost(void)
{
if(gUnknown_3000FA1 == TRUE)
return TRUE;
diff --git a/src/text_window.c b/src/text_window.c
index 0c562b195..98f82e818 100644
--- a/src/text_window.c
+++ b/src/text_window.c
@@ -57,7 +57,7 @@ void sub_814FE6C(u8 windowId, u16 destOffset, u8 palIdx)
LoadPalette(stdpal_get(2), palIdx, 32);
}
-void TextWindow_SetBubbleFrame_841F1C8(u8 windowId, u16 destOffset, u8 palIdx)
+void TextWindow_LoadResourcesStdFrame0(u8 windowId, u16 destOffset, u8 palIdx)
{
LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gUnknown_841F1C8, 0x280, destOffset);
LoadPalette(stdpal_get(0), palIdx, 32);
@@ -80,7 +80,7 @@ void sub_814FF6C(u8 windowId, u16 destOffset)
LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gStdFrame0, 0x120, destOffset);
}
-void sub_814FF98(u8 windowId, u16 destOffset)
+void TextWindow_LoadTilesStdFrame1(u8 windowId, u16 destOffset)
{
LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gStdFrame1, 0x280, destOffset);
}
diff --git a/src/tm_case.c b/src/tm_case.c
index 3f2a5fbde..6a9e6d864 100644
--- a/src/tm_case.c
+++ b/src/tm_case.c
@@ -1298,7 +1298,7 @@ static void InitWindowTemplatesAndPals(void)
InitWindows(sWindowTemplates);
DeactivateAllTextPrinters();
TextWindow_SetUserSelectedFrame(0, 0x5B, 0xE0);
- TextWindow_SetBubbleFrame_841F1C8(0, 0x64, 0xB0);
+ TextWindow_LoadResourcesStdFrame0(0, 0x64, 0xB0);
TextWindow_SetStdFrame0_WithPal(0, 0x78, 0xD0);
LoadPalette(gTMCaseMainWindowPalette, 0xF0, 0x20);
LoadPalette(gTMCaseMainWindowPalette, 0xA0, 0x20);