diff options
-rw-r--r-- | asm/battle_1.s | 2 | ||||
-rw-r--r-- | asm/berry_pouch.s | 2 | ||||
-rw-r--r-- | asm/buy_menu_helpers.s | 2 | ||||
-rw-r--r-- | asm/field_message_box.s | 4 | ||||
-rw-r--r-- | asm/new_menu_helpers.s | 941 | ||||
-rw-r--r-- | asm/party_menu.s | 2 | ||||
-rw-r--r-- | include/gba/defines.h | 3 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 13 | ||||
-rw-r--r-- | include/quest_log.h | 1 | ||||
-rw-r--r-- | include/script.h | 1 | ||||
-rw-r--r-- | include/text_window.h | 3 | ||||
-rw-r--r-- | src/bag.c | 2 | ||||
-rw-r--r-- | src/item_pc.c | 2 | ||||
-rw-r--r-- | src/new_menu_helpers.c | 161 | ||||
-rw-r--r-- | src/script.c | 2 | ||||
-rw-r--r-- | src/text_window.c | 4 | ||||
-rw-r--r-- | src/tm_case.c | 2 |
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 @@ -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); |