diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | asm/field_message_box.s | 4 | ||||
-rw-r--r-- | asm/link_rfu_3.s | 4 | ||||
-rw-r--r-- | asm/new_menu_helpers.s | 160 | ||||
-rw-r--r-- | asm/start_menu.s | 2 | ||||
-rw-r--r-- | src/new_menu_helpers.c | 39 | ||||
-rw-r--r-- | sym_ewram.txt | 7 | ||||
-rw-r--r-- | tools/br_ips/.gitignore | 2 |
8 files changed, 41 insertions, 178 deletions
diff --git a/.gitignore b/.gitignore index d64e00e65..c9266139c 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ build/ *.pl *.bak src/data/items.h # Autogenerated by jsonproc + diff --git a/asm/field_message_box.s b/asm/field_message_box.s index ffb214205..3ace107ab 100644 --- a/asm/field_message_box.s +++ b/asm/field_message_box.s @@ -226,7 +226,7 @@ textbox_fdecode_auto_and_task_add: @ 80694C8 ldr r0, _080694E0 @ =gStringVar4 bl StringExpandPlaceholders movs r0, 0x1 - bl sub_80F6D5C + bl AddTextPrinterDiffStyle bl task_add_textbox pop {r0} bx r0 @@ -238,7 +238,7 @@ _080694E0: .4byte gStringVar4 textbox_auto_and_task_add: @ 80694E4 push {lr} movs r0, 0x1 - bl sub_80F6D5C + bl AddTextPrinterDiffStyle bl task_add_textbox pop {r0} bx r0 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 8ce369e1f..6acf4a919 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -8491,7 +8491,7 @@ sub_811A0B4: @ 811A0B4 bl StringExpandPlaceholders movs r0, 0 movs r1, 0x1 - bl sub_80F6E54 + bl AddTextPrinterWithCustomSpeedForMessage movs r0, 0 pop {r4} pop {r1} @@ -8536,7 +8536,7 @@ _0811A10A: adds r1, r5, 0 bl StringExpandPlaceholders movs r0, 0x1 - bl sub_80F6E08 + bl AddTextPrinterForMessage ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index 6c23410d9..66cf70db4 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -5,166 +5,6 @@ .text - thumb_func_start sub_80F6D5C -sub_80F6D5C: @ 80F6D5C - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - ldr r3, _080F6DA8 @ =gTextFlags - movs r4, 0x1 - ands r0, r4 - ldrb r2, [r3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - bl ContextNpcGetTextColor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080F6DB0 - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, _080F6DAC @ =gStringVar4 - str r5, [sp] - movs r0, 0x8 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParameterized2 - b _080F6DFC - .align 2, 0 -_080F6DA8: .4byte gTextFlags -_080F6DAC: .4byte gStringVar4 -_080F6DB0: - cmp r0, 0x1 - bne _080F6DDC - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, _080F6DD8 @ =gStringVar4 - str r5, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x5 - bl AddTextPrinterParameterized2 - b _080F6DFC - .align 2, 0 -_080F6DD8: .4byte gStringVar4 -_080F6DDC: - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, _080F6E04 @ =gStringVar4 - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 -_080F6DFC: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F6E04: .4byte gStringVar4 - thumb_func_end sub_80F6D5C - - thumb_func_start sub_80F6E08 -sub_80F6E08: @ 80F6E08 - push {r4,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080F6E4C @ =gTextFlags - movs r4, 0x1 - ands r0, r4 - ldrb r2, [r3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, _080F6E50 @ =gStringVar4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F6E4C: .4byte gTextFlags -_080F6E50: .4byte gStringVar4 - thumb_func_end sub_80F6E08 - - thumb_func_start sub_80F6E54 -sub_80F6E54: @ 80F6E54 - push {r4,r5,lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, _080F6E94 @ =gTextFlags - movs r5, 0x1 - ands r0, r5 - ldrb r2, [r4] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4] - ldr r2, _080F6E98 @ =gStringVar4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F6E94: .4byte gTextFlags -_080F6E98: .4byte gStringVar4 - thumb_func_end sub_80F6E54 - thumb_func_start sub_80F6E9C sub_80F6E9C: @ 80F6E9C push {lr} diff --git a/asm/start_menu.s b/asm/start_menu.s index f6c289a64..a4a6bef7b 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -1179,7 +1179,7 @@ sub_806F69C: @ 806F69C movs r1, 0x1 bl sub_80F7768 movs r0, 0x1 - bl sub_80F6E08 + bl AddTextPrinterForMessage ldr r1, _0806F6CC @ =gUnknown_3000FA9 movs r0, 0x1 strb r0, [r1] diff --git a/src/new_menu_helpers.c b/src/new_menu_helpers.c index 7abe277e1..c4e8ab284 100644 --- a/src/new_menu_helpers.c +++ b/src/new_menu_helpers.c @@ -10,11 +10,12 @@ #include "new_menu_helpers.h" #include "quest_log.h" #include "text.h" +#include "field_specials.h" static EWRAM_DATA bool8 gUnknown_203AB58[4] = {FALSE}; // knizz: bgmaps_that_need_syncing +static EWRAM_DATA u16 gUnknown_203AB5C = {0}; +static EWRAM_DATA void *gUnknown_203AB60[0x20] = {NULL}; -EWRAM_DATA u16 gUnknown_203AB5C; -EWRAM_DATA void *gUnknown_203AB60[0x20]; extern const struct WindowTemplate sStandardTextBox_WindowTemplates[]; EWRAM_DATA u8 sStartMenuWindowId; @@ -181,10 +182,10 @@ u16 CopyDecompressedTileDataToVram(u8 bgId, const void *src, u16 size, u16 offse { switch (mode) { // different to EM - case 1: - break; - case 0: - default: + case 1: + break; + case 0: + default: return LoadBgTiles(bgId, src, size, offset); } return LoadBgTilemap(bgId, src, size, offset); @@ -279,3 +280,29 @@ u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed return AddTextPrinter(&printer, speed, callback); } +void AddTextPrinterDiffStyle(bool8 allowSkippingDelayWithButtonPress) +{ + u8 result; + void *nptr = NULL; // This is required for matching + + gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress; + result = ContextNpcGetTextColor(); + if (!result) + AddTextPrinterParameterized2(0, 4, gStringVar4, GetTextSpeedSetting(), nptr, 8, 1, 3); + else if (result == 1) + AddTextPrinterParameterized2(0, 5, gStringVar4, GetTextSpeedSetting(), nptr, 4, 1, 3); + else + AddTextPrinterParameterized2(0, 2, gStringVar4, GetTextSpeedSetting(), nptr, 2, 1, 3); +} + +void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress) +{ + gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress; + AddTextPrinterParameterized2(0, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); +} + +void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed) +{ + gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress; + AddTextPrinterParameterized2(0, 2, gStringVar4, speed, NULL, 2, 1, 3); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index f0c9efb4d..8b50769cc 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1209,14 +1209,7 @@ gUnknown_203AB54: @ 203AB54 .space 0x4 .include "src/new_menu_helpers.o" - .align 2 -gUnknown_203AB5C: @ 203AB5C - .space 0x4 - -gUnknown_203AB60: @ 203AB60 - .space 0x80 - sStartMenuWindowId: @ 203ABE0 .space 0x4 diff --git a/tools/br_ips/.gitignore b/tools/br_ips/.gitignore new file mode 100644 index 000000000..f3fb1444f --- /dev/null +++ b/tools/br_ips/.gitignore @@ -0,0 +1,2 @@ +br_ips +ips_patch |