From e7054aed143a0853048df3ffb61d322014c1e52d Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Mon, 2 Jan 2017 04:48:04 -0800 Subject: name_string_util.s --- asm/choose_party.s | 2 +- asm/daycare.s | 2 +- asm/egg_hatch.s | 2 +- asm/mail_data.s | 2 +- asm/name_string_util.s | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++ asm/player_pc.s | 4 +-- asm/rom_800D42C.s | 2 +- asm/rom_814A518.s | 76 -------------------------------------------------- include/asm.inc.h | 2 +- ld_script.txt | 2 +- src/mail.c | 2 +- 11 files changed, 86 insertions(+), 86 deletions(-) create mode 100644 asm/name_string_util.s delete mode 100644 asm/rom_814A518.s diff --git a/asm/choose_party.s b/asm/choose_party.s index c26b8510b..450aa930e 100644 --- a/asm/choose_party.s +++ b/asm/choose_party.s @@ -1743,7 +1743,7 @@ _08122B96: mov r0, r9 bl StringGetEnd10 mov r0, r9 - bl sub_814A568 + bl SanitizeNameString adds r0, r4, 0 movs r1, 0x3 mov r2, r9 diff --git a/asm/daycare.s b/asm/daycare.s index 68cae0daf..80e7c46e8 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -194,7 +194,7 @@ sub_80413C8: @ 80413C8 bl StringCopy adds r0, r6, 0 movs r1, 0xFC - bl sub_814A518 + bl PadNameString adds r6, 0x8 adds r0, r7, 0 adds r1, r6, 0 diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index dc80777ad..95737cae6 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -304,7 +304,7 @@ _08042B08: adds r1, r6, 0 bl StringCopy adds r0, r4, 0 - bl sub_814A568 + bl SanitizeNameString movs r0, 0x1 b _08042B42 .align 2, 0 diff --git a/asm/mail_data.s b/asm/mail_data.s index 8367f2a4f..4dff0a12b 100644 --- a/asm/mail_data.s +++ b/asm/mail_data.s @@ -203,7 +203,7 @@ _080A2C3A: ldr r3, _080A2D14 @ =gSaveBlock1 + 0x2B5E adds r0, r3 movs r1, 0 - bl sub_814A518 + bl PadNameString movs r3, 0 mov r2, r10 ldr r5, _080A2D18 @ =gSaveBlock1 + 0x2B66 diff --git a/asm/name_string_util.s b/asm/name_string_util.s new file mode 100644 index 000000000..3fcfd89d9 --- /dev/null +++ b/asm/name_string_util.s @@ -0,0 +1,76 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start PadNameString +PadNameString: @ 814A518 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + bl StripExtCtrlCodes + adds r0, r4, 0 + bl StringLength + lsls r0, 24 + lsrs r1, r0, 24 + cmp r5, 0xFC + bne _0814A556 + cmp r1, 0x5 + bhi _0814A55A + movs r3, 0xFC + movs r2, 0x7 +_0814A53A: + adds r0, r4, r1 + strb r3, [r0] + strb r2, [r0, 0x1] + adds r0, r1, 0x2 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x5 + bls _0814A53A + b _0814A55A +_0814A54C: + adds r0, r4, r1 + strb r5, [r0] + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 +_0814A556: + cmp r1, 0x5 + bls _0814A54C +_0814A55A: + adds r1, r4, r1 + movs r0, 0xFF + strb r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end PadNameString + + thumb_func_start SanitizeNameString +SanitizeNameString: @ 814A568 + push {r4,lr} + adds r4, r0, 0 + bl StringLength + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x5 + bhi _0814A582 + adds r0, r4, 0 + movs r1, 0x1 + bl ConvertInternationalString + b _0814A588 +_0814A582: + adds r0, r4, 0 + bl StripExtCtrlCodes +_0814A588: + pop {r4} + pop {r0} + bx r0 + thumb_func_end SanitizeNameString + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/player_pc.s b/asm/player_pc.s index 3c83fa929..124891c02 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -1395,7 +1395,7 @@ _0813B036: mov r0, r8 bl StringCopy mov r0, r8 - bl sub_814A568 + bl SanitizeNameString mov r0, r8 movs r1, 0x15 adds r2, r5, 0 @@ -1683,7 +1683,7 @@ sub_813B294: @ 813B294 adds r0, r4, 0 bl StringCopy adds r0, r4, 0 - bl sub_814A568 + bl SanitizeNameString ldr r4, _0813B2F4 @ =gStringVar4 ldr r1, _0813B2F8 @ =gOtherText_WhatWillYouDoMail adds r0, r4, 0 diff --git a/asm/rom_800D42C.s b/asm/rom_800D42C.s index 562b0f80d..62b466d6b 100644 --- a/asm/rom_800D42C.s +++ b/asm/rom_800D42C.s @@ -3438,7 +3438,7 @@ _0800F03E: beq _0800F0D4 adds r0, r7, 0 movs r1, 0 - bl sub_814A518 + bl PadNameString _0800F0D4: adds r7, 0x20 movs r0, 0x1 diff --git a/asm/rom_814A518.s b/asm/rom_814A518.s deleted file mode 100644 index cd3123e53..000000000 --- a/asm/rom_814A518.s +++ /dev/null @@ -1,76 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_814A518 -sub_814A518: @ 814A518 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl StripExtCtrlCodes - adds r0, r4, 0 - bl StringLength - lsls r0, 24 - lsrs r1, r0, 24 - cmp r5, 0xFC - bne _0814A556 - cmp r1, 0x5 - bhi _0814A55A - movs r3, 0xFC - movs r2, 0x7 -_0814A53A: - adds r0, r4, r1 - strb r3, [r0] - strb r2, [r0, 0x1] - adds r0, r1, 0x2 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x5 - bls _0814A53A - b _0814A55A -_0814A54C: - adds r0, r4, r1 - strb r5, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 -_0814A556: - cmp r1, 0x5 - bls _0814A54C -_0814A55A: - adds r1, r4, r1 - movs r0, 0xFF - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A518 - - thumb_func_start sub_814A568 -sub_814A568: @ 814A568 - push {r4,lr} - adds r4, r0, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _0814A582 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString - b _0814A588 -_0814A582: - adds r0, r4, 0 - bl StripExtCtrlCodes -_0814A588: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814A568 - - .align 2, 0 @ Don't pad with nop. diff --git a/include/asm.inc.h b/include/asm.inc.h index 290e753f3..a7c40a08d 100644 --- a/include/asm.inc.h +++ b/include/asm.inc.h @@ -455,7 +455,7 @@ u8 intro_create_brendan_sprite(/*TODO: arg types*/); u8 intro_create_may_sprite(/*TODO: arg types*/); u8 intro_create_latios_sprite(/*TODO: arg types*/); u8 intro_create_latias_sprite(/*TODO: arg types*/); -void sub_814A568(u8*); +void SanitizeNameString(u8*); // src/agb_flash.o u16 ReadFlashId(void); diff --git a/ld_script.txt b/ld_script.txt index 33f811cb3..027ac561e 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -218,7 +218,7 @@ SECTIONS { asm/bard_music.o(.text); asm/fldeff_teleport.o(.text); asm/unknown_debug_menu.o(.text); - asm/rom_814A518.o(.text); + asm/name_string_util.o(.text); src/menu_cursor.o(.text); } =0 diff --git a/src/mail.c b/src/mail.c index 191ca2237..14f63c52a 100644 --- a/src/mail.c +++ b/src/mail.c @@ -448,7 +448,7 @@ u8 *sub_80F8D7C(u8 *dest, u8 *src) { u16 length; StringCopy(dest, src); - sub_814A568(dest); + SanitizeNameString(dest); length = StringLength(dest); -- cgit v1.2.3