diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | asm/rom.s | 2833 | ||||
-rw-r--r-- | build.bat | 2 | ||||
-rw-r--r-- | data/data2.s | 67 | ||||
-rw-r--r-- | data/string_util.s | 40 | ||||
-rw-r--r-- | ewram_syms.txt | 5 | ||||
-rw-r--r-- | include/gba/io_reg.h | 415 | ||||
-rw-r--r-- | include/gba/macro.h | 52 | ||||
-rw-r--r-- | include/gba/syscall.h | 10 | ||||
-rw-r--r-- | include/global.h | 34 | ||||
-rw-r--r-- | iwram_syms.txt | 1 | ||||
-rw-r--r-- | src/string_util.c | 560 | ||||
-rw-r--r-- | wram_syms.txt | 0 |
13 files changed, 2072 insertions, 1951 deletions
@@ -65,9 +65,11 @@ $(OBJS): $(CSRCS:src/%.c=genasm/%.s) # TODO: fix this .syntax hack genasm/prefix.tmp: + mkdir -p genasm echo -e "\t.syntax divided" >$@ genasm/suffix.tmp: + mkdir -p genasm echo -e "\t.syntax unified" >$@ genasm/%.s: src/%.c genasm/prefix.tmp genasm/suffix.tmp @@ -82,5 +84,5 @@ genasm/%.s: src/%.c genasm/prefix.tmp genasm/suffix.tmp # Link objects to produce the ROM. $(ROM): $(OBJS) - ./pokeld -T ld_script.txt -T wram_syms.txt -o $(ELF) $(OBJS) + ./pokeld -T ld_script.txt -T iwram_syms.txt -T ewram_syms.txt -o $(ELF) $(OBJS) ./pokeobjcopy -O binary $(ELF) $(ROM) @@ -6172,7 +6172,7 @@ _08002F6C: ldr r0, [r4, 0x20] adds r0, r1 ldrb r0, [r0] - bl GetStringFromTextCode + bl GetExpandedPlaceholder adds r1, r0, 0 adds r0, r4, 0 bl sub_8002FA0 @@ -8908,7 +8908,7 @@ _08004358: ldr r0, _08004368 ldrb r1, [r0] adds r0, r4, 0 - bl sub_80043C4 + bl font_copy_to_vram_maybe _08004362: pop {r4} pop {r0} @@ -8965,8 +8965,8 @@ _080043B2: bx r0 thumb_func_end sub_800436C - thumb_func_start sub_80043C4 -sub_80043C4: ; 80043C4 + thumb_func_start font_copy_to_vram_maybe +font_copy_to_vram_maybe: ; 80043C4 push {r4-r6,lr} mov r6, r8 push {r6} @@ -9036,7 +9036,7 @@ sub_80043C4: ; 80043C4 bx r0 .align 2 _08004454: .4byte 0x03000360 - thumb_func_end sub_80043C4 + thumb_func_end font_copy_to_vram_maybe thumb_func_start DrawDownArrow DrawDownArrow: ; 8004458 @@ -9741,8 +9741,8 @@ _08004966: bx r1 thumb_func_end GetGlyphWidth - thumb_func_start GetExtendedControlCodeLength -GetExtendedControlCodeLength: ; 800496C + thumb_func_start GetExtCtrlCodeLength +GetExtCtrlCodeLength: ; 800496C push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -9757,7 +9757,7 @@ _0800497E: bx r1 .align 2 _08004984: .4byte gUnknown_081E6BDB - thumb_func_end GetExtendedControlCodeLength + thumb_func_end GetExtCtrlCodeLength thumb_func_start sub_8004988 sub_8004988: ; 8004988 @@ -9785,15 +9785,15 @@ _080049AC: b _08004A3C _080049B2: mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy adds r4, r0, 0 b _08004A2C _080049C4: mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r5, 0 mov r1, sp bl GetStringWidth @@ -9811,12 +9811,12 @@ _080049C4: _080049E8: adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy adds r4, r0, 0 b _08004A3C _080049F4: mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r5, 0 mov r1, sp bl GetStringWidth @@ -9837,7 +9837,7 @@ _080049F4: _08004A1E: adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy adds r4, r0, 0 cmp r6, r5 bls _08004A3C @@ -9884,7 +9884,7 @@ _08004A6C: b _08004B1A _08004A72: mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r5, 0 mov r1, sp bl GetStringWidth @@ -9892,7 +9892,7 @@ _08004A72: lsrs r5, r0, 24 adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy adds r4, r0, 0 movs r0, 0xFC strb r0, [r4] @@ -9902,7 +9902,7 @@ _08004A72: b _08004B12 _08004A9A: mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r5, 0 mov r1, sp bl GetStringWidth @@ -9920,12 +9920,12 @@ _08004A9A: _08004ABE: adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy adds r4, r0, 0 b _08004B1A _08004ACA: mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r5, 0 mov r1, sp bl GetStringWidth @@ -9946,7 +9946,7 @@ _08004ACA: _08004AF4: adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy adds r4, r0, 0 cmp r6, r5 bls _08004B1A @@ -9997,7 +9997,7 @@ _08004B46: _08004B4C: adds r0, r4, 0 adds r1, r7, 0 - bl CopyString + bl StringCopy adds r4, r0, 0 b _08004BB4 _08004B58: @@ -10018,7 +10018,7 @@ _08004B58: _08004B76: adds r0, r4, 0 adds r1, r7, 0 - bl CopyString + bl StringCopy adds r4, r0, 0 b _08004BC4 _08004B82: @@ -10042,7 +10042,7 @@ _08004B82: _08004BA6: adds r0, r4, 0 adds r1, r7, 0 - bl CopyString + bl StringCopy adds r4, r0, 0 cmp r6, r5 bls _08004BC4 @@ -10095,7 +10095,7 @@ _08004BF2: adds r0, r7, r6 ldrb r0, [r0] str r2, [sp] - bl GetStringFromTextCode + bl GetExpandedPlaceholder adds r1, r0, 0 adds r0, r5, 0 bl GetStringWidth @@ -10179,7 +10179,7 @@ _08004CB8: adds r0, r7, r6 ldrb r0, [r0] str r2, [sp] - bl GetExtendedControlCodeLength + bl GetExtCtrlCodeLength lsls r0, 24 lsrs r0, 24 adds r6, r0 @@ -10442,7 +10442,7 @@ StopMusicWhileStringIsPrinted: ; 8004E9C bne _08004EFC bl StripExtendedControlCodes adds r0, r4, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 24 lsrs r2, r0, 24 adds r1, r2, 0 @@ -10507,7 +10507,7 @@ _08004F12: lsrs r4, r0, 16 adds r0, r5, r4 ldrb r0, [r0] - bl GetExtendedControlCodeLength + bl GetExtCtrlCodeLength lsls r0, 24 lsrs r0, 24 adds r0, r4, r0 @@ -10549,7 +10549,7 @@ SkipExtendedControlCode: ; 8004F60 _08004F66: adds r4, 0x1 ldrb r0, [r4] - bl GetExtendedControlCodeLength + bl GetExtCtrlCodeLength lsls r0, 24 lsrs r0, 24 adds r4, r0 @@ -10654,7 +10654,7 @@ _08005010: b _0800505C _08005024: ldrb r0, [r6, 0x1] - bl GetExtendedControlCodeLength + bl GetExtCtrlCodeLength adds r4, r0, 0 adds r4, 0x1 lsls r4, 24 @@ -14068,996 +14068,7 @@ _08006A1E: bx r1 thumb_func_end GetTextRendererTileBufferIndex - thumb_func_start CopyString_Limit10 -CopyString_Limit10: ; 8006A24 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0xA - movs r3, 0 -_08006A2C: - adds r2, r4, r3 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08006A40 - adds r0, r2, 0 - b _08006A50 -_08006A40: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r5 - bcc _08006A2C - adds r0, r4, r3 - movs r1, 0xFF - strb r1, [r0] -_08006A50: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end CopyString_Limit10 - - thumb_func_start GetStringEnd_Limit7 -GetStringEnd_Limit7: ; 8006A58 - push {r4,lr} - adds r3, r0, 0 - movs r4, 0xA - movs r2, 0 -_08006A60: - adds r1, r3, r2 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08006A6C - adds r0, r1, 0 - b _08006A7C -_08006A6C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _08006A60 - adds r0, r3, r2 - movs r1, 0xFF - strb r1, [r0] -_08006A7C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetStringEnd_Limit7 - - thumb_func_start CopyString_Limit7 -CopyString_Limit7: ; 8006A84 - push {r4,lr} - adds r4, r0, 0 - movs r3, 0 -_08006A8A: - adds r2, r4, r3 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08006A9E - adds r0, r2, 0 - b _08006AAA -_08006A9E: - adds r3, 0x1 - cmp r3, 0x7 - ble _08006A8A - adds r0, r4, r3 - movs r1, 0xFF - strb r1, [r0] -_08006AAA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CopyString_Limit7 - - thumb_func_start CopyString -CopyString: ; 8006AB0 - push {lr} - adds r3, r0, 0 - b _08006ABC -_08006AB6: - strb r2, [r3] - adds r3, 0x1 - adds r1, 0x1 -_08006ABC: - ldrb r2, [r1] - adds r0, r2, 0 - cmp r0, 0xFF - bne _08006AB6 - movs r0, 0xFF - strb r0, [r3] - adds r0, r3, 0 - pop {r1} - bx r1 - thumb_func_end CopyString - - thumb_func_start AppendString -AppendString: ; 8006AD0 - push {lr} - adds r2, r0, 0 - b _08006AD8 -_08006AD6: - adds r2, 0x1 -_08006AD8: - ldrb r0, [r2] - cmp r0, 0xFF - bne _08006AD6 - adds r0, r2, 0 - bl CopyString - pop {r1} - bx r1 - thumb_func_end AppendString - - thumb_func_start CopyString_LimitN -CopyString_LimitN: ; 8006AE8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r2, 24 - lsrs r5, r2, 24 - movs r3, 0 - adds r0, r5, 0 - cmp r3, r0 - bcs _08006B0E - adds r2, r0, 0 -_08006AFC: - adds r1, r4, r3 - adds r0, r6, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r2 - bcc _08006AFC -_08006B0E: - adds r0, r4, r5 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CopyString_LimitN - - thumb_func_start AppendString_LimitN -AppendString_LimitN: ; 8006B18 - push {lr} - adds r3, r0, 0 - lsls r2, 24 - lsrs r2, 24 - b _08006B24 -_08006B22: - adds r3, 0x1 -_08006B24: - ldrb r0, [r3] - cmp r0, 0xFF - bne _08006B22 - adds r0, r3, 0 - bl CopyString_LimitN - pop {r1} - bx r1 - thumb_func_end AppendString_LimitN - - thumb_func_start sub_8006B34 -sub_8006B34: ; 8006B34 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08006B6A -_08006B40: - adds r0, r5, 0 - adds r1, r0, 0x1 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, r0 - ldrb r0, [r0] - cmp r0, 0xFC - bne _08006B62 - adds r0, r4, r5 - ldrb r0, [r0] - bl GetExtendedControlCodeLength - lsls r0, 24 - lsrs r0, 24 - adds r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 -_08006B62: - adds r0, r4, r5 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08006B40 -_08006B6A: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8006B34 - - thumb_func_start CompareString -CompareString: ; 8006B74 - push {lr} - adds r2, r0, 0 - b _08006B86 -_08006B7A: - cmp r0, 0xFF - bne _08006B82 - movs r0, 0 - b _08006B94 -_08006B82: - adds r2, 0x1 - adds r1, 0x1 -_08006B86: - ldrb r0, [r2] - ldrb r3, [r1] - cmp r0, r3 - beq _08006B7A - ldrb r0, [r2] - ldrb r1, [r1] - subs r0, r1 -_08006B94: - pop {r1} - bx r1 - thumb_func_end CompareString - - thumb_func_start CompareString_LimitN -CompareString_LimitN: ; 8006B98 - push {r4,lr} - adds r3, r0, 0 - b _08006BB0 -_08006B9E: - cmp r0, 0xFF - beq _08006BAC - adds r3, 0x1 - adds r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _08006BB0 -_08006BAC: - movs r0, 0 - b _08006BBE -_08006BB0: - ldrb r0, [r3] - ldrb r4, [r1] - cmp r0, r4 - beq _08006B9E - ldrb r0, [r3] - ldrb r1, [r1] - subs r0, r1 -_08006BBE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CompareString_LimitN - - thumb_func_start ConvertNumToDecimalString -ConvertNumToDecimalString: ; 8006BC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r3, 24 - ldr r0, _08006C14 - lsrs r3, 22 - subs r3, 0x4 - adds r3, r0 - ldr r0, [r3] - movs r7, 0 - cmp r2, 0x1 - bne _08006BE2 - movs r7, 0x2 -_08006BE2: - cmp r2, 0x2 - bne _08006BE8 - movs r7, 0x1 -_08006BE8: - adds r5, r0, 0 - cmp r5, 0 - ble _08006C54 - ldr r0, _08006C18 - mov r8, r0 -_08006BF2: - adds r0, r6, 0 - adds r1, r5, 0 - bl __divsi3 - lsls r0, 16 - lsrs r2, r0, 16 - adds r0, r5, 0 - muls r0, r2 - subs r1, r6, r0 - cmp r7, 0x1 - bne _08006C1C - adds r3, r4, 0 - adds r4, 0x1 - cmp r2, 0x9 - bls _08006C2E - b _08006C36 - .align 2 -_08006C14: .4byte gUnknown_081E72C4 -_08006C18: .4byte gUnknown_081E72B3 -_08006C1C: - cmp r2, 0 - bne _08006C24 - cmp r5, 0x1 - bne _08006C3C -_08006C24: - movs r7, 0x1 - adds r3, r4, 0 - adds r4, 0x1 - cmp r2, 0x9 - bhi _08006C36 -_08006C2E: - mov r6, r8 - adds r0, r2, r6 - ldrb r0, [r0] - b _08006C38 -_08006C36: - movs r0, 0xAC -_08006C38: - strb r0, [r3] - b _08006C44 -_08006C3C: - cmp r7, 0x2 - bne _08006C44 - strb r2, [r4] - adds r4, 0x1 -_08006C44: - adds r6, r1, 0 - adds r0, r5, 0 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - cmp r5, 0 - bgt _08006BF2 -_08006C54: - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ConvertNumToDecimalString - - thumb_func_start ConvertNumToDecimalString2 -ConvertNumToDecimalString2: ; 8006C64 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r3, 24 - ldr r0, _08006CC4 - lsrs r3, 22 - subs r3, 0x4 - adds r3, r0 - ldr r1, [r3] - movs r0, 0xFC - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x14 - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x6 - strb r0, [r4] - adds r4, 0x1 - movs r7, 0 - cmp r2, 0x1 - bne _08006C94 - movs r7, 0x2 -_08006C94: - cmp r2, 0x2 - bne _08006C9A - movs r7, 0x1 -_08006C9A: - adds r5, r1, 0 - cmp r5, 0 - ble _08006D04 - ldr r0, _08006CC8 - mov r8, r0 -_08006CA4: - adds r0, r6, 0 - adds r1, r5, 0 - bl __divsi3 - lsls r0, 16 - lsrs r2, r0, 16 - adds r0, r5, 0 - muls r0, r2 - subs r1, r6, r0 - cmp r7, 0x1 - bne _08006CCC - adds r3, r4, 0 - adds r4, 0x1 - cmp r2, 0x9 - bls _08006CDE - b _08006CE6 - .align 2 -_08006CC4: .4byte gUnknown_081E72C4 -_08006CC8: .4byte gUnknown_081E72B3 -_08006CCC: - cmp r2, 0 - bne _08006CD4 - cmp r5, 0x1 - bne _08006CEC -_08006CD4: - movs r7, 0x1 - adds r3, r4, 0 - adds r4, 0x1 - cmp r2, 0x9 - bhi _08006CE6 -_08006CDE: - mov r6, r8 - adds r0, r2, r6 - ldrb r0, [r0] - b _08006CE8 -_08006CE6: - movs r0, 0xAC -_08006CE8: - strb r0, [r3] - b _08006CF4 -_08006CEC: - cmp r7, 0x2 - bne _08006CF4 - strb r2, [r4] - adds r4, 0x1 -_08006CF4: - adds r6, r1, 0 - adds r0, r5, 0 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - cmp r5, 0 - bgt _08006CA4 -_08006D04: - movs r0, 0xFC - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x14 - strb r0, [r4] - adds r4, 0x1 - movs r0, 0 - strb r0, [r4] - adds r4, 0x1 - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ConvertNumToDecimalString2 - - thumb_func_start ConvertNumToHexString -ConvertNumToHexString: ; 8006D28 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - adds r7, r1, 0 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - movs r0, 0x1 - cmp r1, r3 - bcs _08006D4C -_08006D40: - lsls r1, 4 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r3 - bcc _08006D40 -_08006D4C: - movs r3, 0 - cmp r2, 0x1 - bne _08006D54 - movs r3, 0x2 -_08006D54: - cmp r2, 0x2 - bne _08006D5A - movs r3, 0x1 -_08006D5A: - adds r5, r1, 0 - cmp r5, 0 - ble _08006DC8 - ldr r0, _08006D8C - mov r8, r0 -_08006D64: - adds r0, r7, 0 - adds r1, r5, 0 - str r3, [sp] - bl __divsi3 - adds r4, r0, 0 - adds r0, r7, 0 - adds r1, r5, 0 - bl __modsi3 - adds r1, r0, 0 - ldr r3, [sp] - cmp r3, 0x1 - bne _08006D90 - adds r2, r6, 0 - adds r6, 0x1 - cmp r4, 0xF - bls _08006DA2 - b _08006DAA - .align 2 -_08006D8C: .4byte gUnknown_081E72B3 -_08006D90: - cmp r4, 0 - bne _08006D98 - cmp r5, 0x1 - bne _08006DB0 -_08006D98: - movs r3, 0x1 - adds r2, r6, 0 - adds r6, 0x1 - cmp r4, 0xF - bhi _08006DAA -_08006DA2: - mov r7, r8 - adds r0, r4, r7 - ldrb r0, [r0] - b _08006DAC -_08006DAA: - movs r0, 0xAC -_08006DAC: - strb r0, [r2] - b _08006DB8 -_08006DB0: - cmp r3, 0x2 - bne _08006DB8 - strb r4, [r6] - adds r6, 0x1 -_08006DB8: - adds r7, r1, 0 - adds r0, r5, 0 - cmp r5, 0 - bge _08006DC2 - adds r0, 0xF -_08006DC2: - asrs r5, r0, 4 - cmp r5, 0 - bgt _08006D64 -_08006DC8: - movs r0, 0xFF - strb r0, [r6] - adds r0, r6, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ConvertNumToHexString - - thumb_func_start ConvertNumToDecimalString3 -ConvertNumToDecimalString3: ; 8006DDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r7, r0, 0 - adds r5, r1, 0 - movs r6, 0 - ldr r0, _08006E40 - mov r8, r0 -_08006DEE: - mov r2, sp - adds r4, r2, r6 - adds r0, r5, 0 - movs r1, 0xA - bl __modsi3 - add r0, r8 - ldrb r0, [r0] - strb r0, [r4] - adds r6, 0x1 - adds r0, r5, 0 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - cmp r5, 0 - bne _08006DEE - subs r6, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r6, r0 - beq _08006E2C - adds r1, r0, 0 -_08006E1C: - mov r2, sp - adds r0, r2, r6 - ldrb r0, [r0] - strb r0, [r7] - adds r7, 0x1 - subs r6, 0x1 - cmp r6, r1 - bne _08006E1C -_08006E2C: - movs r0, 0xFF - strb r0, [r7] - adds r0, r7, 0 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2 -_08006E40: .4byte gUnknown_081E72B3 - thumb_func_end ConvertNumToDecimalString3 - - thumb_func_start PrintSimple -PrintSimple: ; 8006E44 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 -_08006E4A: - ldrb r2, [r6] - adds r6, 0x1 - adds r0, r2, 0 - subs r0, 0xFA - cmp r0, 0x5 - bhi _08006EB0 - lsls r0, 2 - ldr r1, _08006E60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2 -_08006E60: .4byte _08006E64 - .align 2 -_08006E64: - .4byte _08006EB0 - .4byte _08006EB0 - .4byte _08006E90 - .4byte _08006E7C - .4byte _08006EB0 - .4byte _08006EB6 -_08006E7C: - ldrb r0, [r6] - adds r6, 0x1 - bl GetStringFromTextCode - adds r1, r0, 0 - adds r0, r5, 0 - bl PrintSimple - adds r5, r0, 0 - b _08006E4A -_08006E90: - strb r2, [r5] - adds r5, 0x1 - ldrb r0, [r6] - bl GetExtendedControlCodeLength - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl memcpy - adds r5, r4 - adds r6, r4 - b _08006E4A -_08006EB0: - strb r2, [r5] - adds r5, 0x1 - b _08006E4A -_08006EB6: - movs r0, 0xFF - strb r0, [r5] - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end PrintSimple - - thumb_func_start sub_8006EC4 -sub_8006EC4: ; 8006EC4 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _08006EFC - mov r0, sp - movs r2, 0x4 - bl memcpy - add r4, sp, 0x4 - ldr r1, _08006F00 - adds r0, r4, 0 - movs r2, 0x5 - bl memcpy - adds r0, r5, 0 - mov r1, sp -_08006EE6: - bl CopyString - adds r5, r0, 0 -_08006EEC: - ldrb r0, [r6] - adds r6, 0x1 - cmp r0, 0xFE - beq _08006F04 - cmp r0, 0xFF - bne _08006F0A - b _08006F16 - .align 2 -_08006EFC: .4byte gUnknown_081E72EC -_08006F00: .4byte gUnknown_081E72F0 -_08006F04: - adds r0, r5, 0 - adds r1, r4, 0 - b _08006EE6 -_08006F0A: - strb r0, [r5] - adds r5, 0x1 - adds r0, 0x40 - strb r0, [r5] - adds r5, 0x1 - b _08006EEC -_08006F16: - strb r0, [r5] - adds r0, r5, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8006EC4 - - thumb_func_start sub_8006F24 -sub_8006F24: ; 8006F24 - ldr r0, _08006F28 - bx lr - .align 2 -_08006F28: .4byte 0x03002900 - thumb_func_end sub_8006F24 - - thumb_func_start sub_8006F2C -sub_8006F2C: ; 8006F2C - ldr r0, _08006F30 - bx lr - .align 2 -_08006F30: .4byte 0x02024ea4 - thumb_func_end sub_8006F2C - - thumb_func_start sub_8006F34 -sub_8006F34: ; 8006F34 - ldr r0, _08006F38 - bx lr - .align 2 -_08006F38: .4byte 0x020231cc - thumb_func_end sub_8006F34 - - thumb_func_start sub_8006F3C -sub_8006F3C: ; 8006F3C - ldr r0, _08006F40 - bx lr - .align 2 -_08006F40: .4byte 0x020232cc - thumb_func_end sub_8006F3C - - thumb_func_start sub_8006F44 -sub_8006F44: ; 8006F44 - ldr r0, _08006F48 - bx lr - .align 2 -_08006F48: .4byte 0x020233cc - thumb_func_end sub_8006F44 - - thumb_func_start sub_8006F4C -sub_8006F4C: ; 8006F4C - push {lr} - ldr r0, _08006F5C - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _08006F64 - ldr r0, _08006F60 - b _08006F66 - .align 2 -_08006F5C: .4byte 0x02024ea4 -_08006F60: .4byte gUnknown_0840DC82 -_08006F64: - ldr r0, _08006F6C -_08006F66: - pop {r1} - bx r1 - .align 2 -_08006F6C: .4byte gUnknown_0840DC81 - thumb_func_end sub_8006F4C - - thumb_func_start sub_8006F70 -sub_8006F70: ; 8006F70 - push {lr} - ldr r0, _08006F80 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _08006F88 - ldr r0, _08006F84 - b _08006F8A - .align 2 -_08006F80: .4byte 0x02024ea4 -_08006F84: .4byte gUnknown_0840DCB8 -_08006F88: - ldr r0, _08006F90 -_08006F8A: - pop {r1} - bx r1 - .align 2 -_08006F90: .4byte gUnknown_0840DCC0 - thumb_func_end sub_8006F70 - - thumb_func_start sub_8006F94 -sub_8006F94: ; 8006F94 - ldr r0, _08006F98 - bx lr - .align 2 -_08006F98: .4byte gUnknown_0840DC8C - thumb_func_end sub_8006F94 - - thumb_func_start sub_8006F9C -sub_8006F9C: ; 8006F9C - ldr r0, _08006FA0 - bx lr - .align 2 -_08006FA0: .4byte gUnknown_0840DC96 - thumb_func_end sub_8006F9C - - thumb_func_start sub_8006FA4 -sub_8006FA4: ; 8006FA4 - ldr r0, _08006FA8 - bx lr - .align 2 -_08006FA8: .4byte gUnknown_0840DC91 - thumb_func_end sub_8006FA4 - - thumb_func_start sub_8006FAC -sub_8006FAC: ; 8006FAC - ldr r0, _08006FB0 - bx lr - .align 2 -_08006FB0: .4byte gUnknown_0840DCA3 - thumb_func_end sub_8006FAC - - thumb_func_start sub_8006FB4 -sub_8006FB4: ; 8006FB4 - ldr r0, _08006FB8 - bx lr - .align 2 -_08006FB8: .4byte gUnknown_0840DC9C - thumb_func_end sub_8006FB4 - - thumb_func_start sub_8006FBC -sub_8006FBC: ; 8006FBC - ldr r0, _08006FC0 - bx lr - .align 2 -_08006FC0: .4byte gUnknown_0840DCB0 - thumb_func_end sub_8006FBC - - thumb_func_start sub_8006FC4 -sub_8006FC4: ; 8006FC4 - ldr r0, _08006FC8 - bx lr - .align 2 -_08006FC8: .4byte gUnknown_0840DCA9 - thumb_func_end sub_8006FC4 - - thumb_func_start GetStringFromTextCode -GetStringFromTextCode: ; 8006FCC - push {lr} - cmp r0, 0xD - bhi _08006FE4 - ldr r1, _08006FE0 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - b _08006FE6 - .align 2 -_08006FE0: .4byte gUnknown_081E72F8 -_08006FE4: - ldr r0, _08006FEC -_08006FE6: - pop {r1} - bx r1 - .align 2 -_08006FEC: .4byte gUnknown_0840DC80 - thumb_func_end GetStringFromTextCode - - thumb_func_start RepeatChar -RepeatChar: ; 8006FF0 - push {lr} - adds r3, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0 - cmp r0, r2 - bcs _08007010 -_08007002: - strb r1, [r3] - adds r3, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r2 - bcc _08007002 -_08007010: - movs r0, 0xFF - strb r0, [r3] - adds r0, r3, 0 - pop {r1} - bx r1 - thumb_func_end RepeatChar - - thumb_func_start CopyStringPadded -CopyStringPadded: ; 800701C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 16 - lsrs r3, 16 - b _0800703C -_0800702C: - strb r1, [r4] - adds r5, 0x1 - adds r4, 0x1 - cmp r3, 0 - beq _0800703C - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 -_0800703C: - ldrb r1, [r5] - adds r0, r1, 0 - cmp r0, 0xFF - bne _0800702C - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _0800706C - cmp r3, r0 - beq _08007060 - adds r1, r0, 0 -_08007052: - strb r2, [r4] - adds r4, 0x1 - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - bne _08007052 -_08007060: - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2 -_0800706C: .4byte 0x0000ffff - thumb_func_end CopyStringPadded - - thumb_func_start RepeatStringTerminator -RepeatStringTerminator: ; 8007070 - push {lr} - lsls r2, r1, 16 - lsrs r2, 16 - movs r1, 0xFF - bl RepeatChar - pop {r1} - bx r1 - thumb_func_end RepeatStringTerminator + .include "genasm/string_util.s" thumb_func_start sub_8007080 sub_8007080: ; 8007080 @@ -19834,20 +18845,20 @@ GameFreakRTC_FormatDecimalTimeString: ; 800943C adds r6, r3, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r4, 0xF0 strb r4, [r0] adds r0, 0x1 adds r1, r5, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN strb r4, [r0] adds r0, 0x1 adds r1, r6, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r1, 0xFF strb r1, [r0] pop {r4-r6} @@ -19862,20 +18873,20 @@ GameFreakRTC_FormatHexTimeString: ; 8009474 adds r6, r3, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN movs r4, 0xF0 strb r4, [r0] adds r0, 0x1 adds r1, r5, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN strb r4, [r0] adds r0, 0x1 adds r1, r6, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN movs r1, 0xFF strb r1, [r0] pop {r4-r6} @@ -19904,20 +18915,20 @@ GameFreakRTC_FormatDecimalYearMonthDayString: ; 80094C4 adds r6, r3, 0 movs r2, 0x2 movs r3, 0x4 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r4, 0xAE strb r4, [r0] adds r0, 0x1 adds r1, r5, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN strb r4, [r0] adds r0, 0x1 adds r1, r6, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r1, 0xFF strb r1, [r0] pop {r4-r6} @@ -19932,20 +18943,20 @@ GameFreakRTC_FormatHexYearMonthDayString: ; 80094FC adds r6, r3, 0 movs r2, 0x2 movs r3, 0x4 - bl ConvertNumToHexString + bl ConvertIntToHexStringN movs r4, 0xAE strb r4, [r0] adds r0, 0x1 adds r1, r5, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN strb r4, [r0] adds r0, 0x1 adds r1, r6, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN movs r1, 0xFF strb r1, [r0] pop {r4-r6} @@ -21538,7 +20549,7 @@ sub_800A1C0: ; 800A1C0 lsls r1, 24 lsrs r1, 24 mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString mov r0, sp movs r1, 0xCD movs r2, 0x28 @@ -22709,7 +21720,7 @@ sub_800AAEC: ; 800AAEC ldr r5, _0800AB28 ldr r1, _0800AB2C adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r5, 0 movs r1, 0x3 movs r2, 0xE @@ -22975,7 +21986,7 @@ task_new_game_prof_birch_speech_part2_6: ; 800AC58 ldr r4, _0800AD3C ldr r1, _0800AD40 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x3 movs r2, 0xE @@ -40937,7 +39948,7 @@ _08013CCE: adds r1, r7 adds r0, r2, 0 adds r0, 0x8 - bl CopyString + bl StringCopy b _08013D36 .align 2 _08013D00: .4byte 0x02024a7f @@ -40959,7 +39970,7 @@ _08013D1C: adds r1, r7 adds r0, r2, 0 adds r0, 0x14 - bl CopyString + bl StringCopy _08013D36: ldrb r0, [r4] adds r0, 0x1 @@ -50223,7 +49234,7 @@ _08018906: beq _08018918 ldr r0, _08018990 ldr r1, _08018994 - bl CopyString + bl StringCopy _08018918: ldr r0, [r5] movs r1, 0x7 @@ -50232,7 +49243,7 @@ _08018918: beq _0801892A ldr r0, _08018990 ldr r1, _08018998 - bl CopyString + bl StringCopy _0801892A: ldr r0, [r5] movs r1, 0x40 @@ -50241,7 +49252,7 @@ _0801892A: beq _0801893C ldr r0, _08018990 ldr r1, _0801899C - bl CopyString + bl StringCopy _0801893C: ldr r0, [r5] movs r1, 0x10 @@ -50250,7 +49261,7 @@ _0801893C: beq _0801894E ldr r0, _08018990 ldr r1, _080189A0 - bl CopyString + bl StringCopy _0801894E: ldr r0, [r5] movs r1, 0x20 @@ -50259,7 +49270,7 @@ _0801894E: beq _08018960 ldr r0, _08018990 ldr r1, _080189A4 - bl CopyString + bl StringCopy _08018960: str r4, [r5] ldr r0, _080189A8 @@ -51631,7 +50642,7 @@ _080195BC: _080195D6: ldr r0, _080195E4 ldr r1, _080195E8 - bl CopyString + bl StringCopy movs r2, 0x2 mov r9, r2 b _080196DC @@ -51677,7 +50688,7 @@ _08019614: str r0, [r2] ldr r0, _08019648 ldr r1, _0801964C - bl CopyString + bl StringCopy movs r0, 0x1 mov r9, r0 b _080196DC @@ -51700,7 +50711,7 @@ _08019650: beq _080196D6 ldr r0, _08019678 ldr r1, _0801967C - bl CopyString + bl StringCopy movs r2, 0x1 mov r9, r2 b _080196DC @@ -51723,7 +50734,7 @@ _08019680: ldr r0, _080196A8 ldr r1, _080196AC _0801969C: - bl CopyString + bl StringCopy movs r5, 0x1 mov r9, r5 b _080196DC @@ -51746,7 +50757,7 @@ _080196B0: beq _080196D6 ldr r0, _080196EC ldr r1, _080196F0 - bl CopyString + bl StringCopy movs r2, 0x3 mov r9, r2 _080196D6: @@ -54398,7 +53409,7 @@ _0801AC1E: beq _0801AC36 ldr r0, _0801ACC4 ldr r1, _0801ACC8 - bl CopyString + bl StringCopy movs r0, 0x1 mov r10, r0 _0801AC36: @@ -54417,7 +53428,7 @@ _0801AC36: str r0, [r2] ldr r0, _0801ACC4 ldr r1, _0801ACD0 - bl CopyString + bl StringCopy movs r2, 0x1 add r10, r2 _0801AC5C: @@ -54428,7 +53439,7 @@ _0801AC5C: beq _0801AC72 ldr r0, _0801ACC4 ldr r1, _0801ACD4 - bl CopyString + bl StringCopy movs r3, 0x1 add r10, r3 _0801AC72: @@ -54439,7 +53450,7 @@ _0801AC72: beq _0801AC88 ldr r0, _0801ACC4 ldr r1, _0801ACD8 - bl CopyString + bl StringCopy movs r0, 0x1 add r10, r0 _0801AC88: @@ -54450,7 +53461,7 @@ _0801AC88: beq _0801AC9E ldr r0, _0801ACC4 ldr r1, _0801ACDC - bl CopyString + bl StringCopy movs r1, 0x1 add r10, r1 _0801AC9E: @@ -54462,7 +53473,7 @@ _0801AC9E: beq _0801ACB6 ldr r0, _0801ACC4 ldr r1, _0801ACE0 - bl CopyString + bl StringCopy movs r3, 0x1 add r10, r3 _0801ACB6: @@ -54530,7 +53541,7 @@ _0801AD24: str r2, [r1] ldr r0, _0801AD88 ldr r1, _0801AD8C - bl CopyString + bl StringCopy ldr r0, _0801AD90 bl b_call_bc_move_exec ldr r1, _0801AD94 @@ -54893,7 +53904,7 @@ _0801B06C: str r1, [r2] ldr r0, _0801B098 ldr r1, _0801B09C - bl CopyString + bl StringCopy bl b_movescr_stack_push_cursor ldr r1, _0801B0A0 movs r0, 0 @@ -54940,7 +53951,7 @@ _0801B0D4: beq _0801B0E4 ldr r0, _0801B174 ldr r1, _0801B178 - bl CopyString + bl StringCopy _0801B0E4: ldr r0, [r6] movs r1, 0x7 @@ -54956,7 +53967,7 @@ _0801B0E4: str r0, [r2] ldr r0, _0801B174 ldr r1, _0801B180 - bl CopyString + bl StringCopy _0801B104: ldr r0, [r6] movs r1, 0x40 @@ -54965,7 +53976,7 @@ _0801B104: beq _0801B116 ldr r0, _0801B174 ldr r1, _0801B184 - bl CopyString + bl StringCopy _0801B116: ldr r0, [r6] movs r1, 0x10 @@ -54974,7 +53985,7 @@ _0801B116: beq _0801B128 ldr r0, _0801B174 ldr r1, _0801B188 - bl CopyString + bl StringCopy _0801B128: ldr r0, [r6] movs r1, 0x20 @@ -54983,7 +53994,7 @@ _0801B128: beq _0801B13A ldr r0, _0801B174 ldr r1, _0801B18C - bl CopyString + bl StringCopy _0801B13A: adds r5, r4 ldr r0, [r5] @@ -54993,7 +54004,7 @@ _0801B13A: beq _0801B14E ldr r0, _0801B174 ldr r1, _0801B190 - bl CopyString + bl StringCopy _0801B14E: movs r4, 0 str r4, [r6] @@ -73760,7 +72771,7 @@ _0802493E: bl sub_802BBD4 ldr r0, _0802499C ldr r1, _080249A0 - bl CopyString + bl StringCopy adds r5, r0, 0 movs r1, 0 mov r8, r1 @@ -73773,7 +72784,7 @@ _0802495A: adds r0, r4, r0 ldr r1, [r0] adds r0, r5, 0 - bl AppendString + bl StringAppend adds r5, r0, 0 ldr r0, _080249A8 ldr r2, _080249AC @@ -73887,7 +72898,7 @@ _08024A5C: ldr r1, _08024AA4 _08024A5E: adds r0, r5, 0 - bl CopyString + bl StringCopy adds r5, r0, 0 movs r6, 0xFC strb r6, [r5] @@ -73901,7 +72912,7 @@ _08024A5E: adds r0, r5, 0 movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r5, r0, 0 strb r6, [r5] strb r4, [r5, 0x1] @@ -73968,7 +72979,7 @@ _08024AFE: bl audio_play ldr r0, _08024B98 ldr r1, _08024B9C - bl CopyString + bl StringCopy adds r5, r0, 0 movs r0, 0 mov r8, r0 @@ -73984,7 +72995,7 @@ _08024B1C: adds r0, r1 ldr r1, [r0] adds r0, r5, 0 - bl AppendString + bl StringAppend adds r5, r0, 0 mov r0, r10 ldrb r1, [r0] @@ -74020,7 +73031,7 @@ _08024B1C: adds r0, r5, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r5, r0, 0 strb r6, [r5] strb r7, [r5, 0x1] @@ -81563,7 +80574,7 @@ _0802871E: adds r1, r6, 0 movs r2, 0 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN strb r5, [r4] movs r0, 0x1 strb r0, [r4, 0x1] @@ -92751,7 +91762,7 @@ sub_802E12C: ; 802E12C adds r4, r0 ldr r5, _0802E188 adds r0, r5, 0 - bl CopyString + bl StringCopy lsls r0, r6, 1 adds r4, r0 ldrh r1, [r4] @@ -92760,7 +91771,7 @@ sub_802E12C: ; 802E12C ldr r0, _0802E18C adds r1, r0 adds r0, r5, 0 - bl AppendString + bl StringAppend ldr r4, _0802E190 adds r1, r5, 0 lsls r0, r6, 2 @@ -92874,7 +91885,7 @@ sub_802E220: ; 802E220 ldr r2, _0802E2C0 ldr r1, _0802E2C4 adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 movs r1, 0xFC strb r1, [r2] @@ -92900,7 +91911,7 @@ sub_802E220: ; 802E220 adds r0, r2, 0 movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r2, r0, 0 movs r0, 0xBA strb r0, [r2] @@ -92914,7 +91925,7 @@ sub_802E220: ; 802E220 adds r0, r2, 0 movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r4, _0802E2CC ldr r1, _0802E2C0 ldr r2, _0802E2D0 @@ -92984,7 +91995,7 @@ _0802E328: ldr r3, _0802E398 ldr r1, _0802E39C adds r0, r3, 0 - bl CopyString + bl StringCopy adds r3, r0, 0 ldr r2, _0802E3A0 ldr r1, _0802E3A4 @@ -93004,7 +92015,7 @@ _0802E328: ldr r0, _0802E3A8 adds r1, r0 adds r0, r3, 0 - bl CopyString + bl StringCopy ldr r4, _0802E3AC ldr r1, _0802E3B0 movs r0, 0x1C @@ -93576,7 +92587,7 @@ _0802E6C0: bl PokemonGetField ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] - bl CopyString_Limit10 + bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] @@ -103429,7 +102440,7 @@ _08033714: bl PokemonGetField ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] - bl CopyString_Limit10 + bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] @@ -112713,7 +111724,7 @@ _0803826C: bl PokemonGetField ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] - bl CopyString_Limit10 + bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] @@ -117933,7 +116944,7 @@ _0803AE1E: adds r1, r6, 0 adds r1, 0x20 add r0, sp, 0x10 - bl CopyString + bl StringCopy add r0, sp, 0x10 ldrb r0, [r0] cmp r0, 0xFC @@ -122030,7 +121041,7 @@ _0803CDE8: beq _0803CE04 ldr r1, _0803CE00 adds r0, r7, 0 - bl CopyString + bl StringCopy b _0803CE50 .align 2 _0803CE00: .4byte gUnknown_08400E3A @@ -122041,7 +121052,7 @@ _0803CE04: beq _0803CE1C ldr r1, _0803CE18 adds r0, r7, 0 - bl CopyString + bl StringCopy b _0803CE50 .align 2 _0803CE18: .4byte gUnknown_0842CC34 @@ -122075,7 +121086,7 @@ _0803CE42: bl StopMusicWhileStringIsPrinted _0803CE50: adds r0, r7, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r4, r0, 16 b _0803D1DC @@ -124559,7 +123570,7 @@ _0803DEDA: adds r0, 0x24 adds r0, r5, r0 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 mov r2, r10 adds r2, 0x30 adds r2, r5, r2 @@ -126833,10 +125844,10 @@ sub_803F324: ; 803F324 adds r0, r2 ldr r1, [r0] adds r0, r3, 0 - bl CopyString + bl StringCopy ldr r0, _0803F36C ldr r1, _0803F370 - bl CopyString + bl StringCopy ldr r0, _0803F374 bl get_battle_strings_ pop {r0} @@ -129659,7 +128670,7 @@ _0804087C: ldr r1, _08040898 adds r0, r1 ldr r1, _0804089C - bl CompareString + bl StringCompare cmp r0, 0 beq _080408A8 movs r0, 0xE8 @@ -131070,7 +130081,7 @@ pokemon_get_nick: ; 80412B0 bl PokemonGetField adds r0, r4, 0 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 add sp, 0x14 pop {r4} pop {r1} @@ -131087,7 +130098,7 @@ pokemon_get_nick_: ; 80412D0 bl PokemonGetEncryptedField adds r0, r4, 0 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 add sp, 0x14 pop {r4} pop {r1} @@ -131245,7 +130256,7 @@ sub_80413C8: ; 80413C8 adds r6, 0x24 ldr r1, _08041490 adds r0, r6, 0 - bl CopyString + bl StringCopy adds r0, r6, 0 movs r1, 0xFC bl sub_814A518 @@ -131623,7 +130634,7 @@ sub_80416E8: ; 80416E8 adds r1, r5, 0 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r5, 0 pop {r4-r6} pop {r1} @@ -131659,7 +130670,7 @@ sub_8041728: ; 8041728 adds r1, r4, 0 movs r2, 0 movs r3, 0x5 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r4, 0 pop {r4-r6} pop {r1} @@ -133513,7 +132524,7 @@ _0804252E: lsls r1, 2 adds r1, r2 ldr r1, [r1] - bl CopyString + bl StringCopy pop {r0} bx r0 .align 2 @@ -133628,7 +132639,7 @@ _08042600: ldr r1, _08042610 _08042602: adds r0, r4, 0 - bl AppendString + bl StringAppend pop {r4} pop {r1} bx r1 @@ -133687,20 +132698,20 @@ _08042648: bls _08042648 adds r0, r7, 0 mov r1, sp - bl CopyString + bl StringCopy ldr r4, _080426A8 adds r0, r7, 0 adds r1, r4, 0 - bl AppendString + bl StringAppend adds r0, r7, 0 mov r1, r9 - bl AppendString + bl StringAppend adds r0, r7, 0 adds r1, r4, 0 - bl AppendString + bl StringAppend ldr r1, _080426AC adds r0, r7, 0 - bl AppendString + bl StringAppend add sp, 0x28 pop {r3,r4} mov r8, r3 @@ -133750,7 +132761,7 @@ _080426C6: adds r0, r4, 0x4 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r4, r0, 0 mov r3, r8 strb r3, [r4] @@ -133759,7 +132770,7 @@ _080426C6: strb r0, [r4, 0x2] adds r0, r4, 0x3 ldr r1, _08042728 - bl CopyString + bl StringCopy adds r4, r0, 0 adds r0, r5, 0x1 lsls r0, 24 @@ -134242,15 +133253,15 @@ sub_8042ABC: ; 8042ABC _08042B08: ldr r0, _08042B34 mov r1, sp - bl CopyString + bl StringCopy ldr r4, _08042B38 adds r1, r5, 0 adds r1, 0x24 adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r0, _08042B3C adds r1, r6, 0 - bl CopyString + bl StringCopy adds r0, r4, 0 bl sub_814A568 movs r0, 0x1 @@ -134965,7 +133976,7 @@ _08043124: ldr r4, _08043158 ldr r1, _0804315C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 bl sub_80436FC ldr r0, _08043160 @@ -135006,7 +134017,7 @@ _08043180: ldr r4, _080431B0 ldr r1, _080431B4 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 bl sub_80436D4 ldr r1, [r5] @@ -136947,7 +135958,7 @@ _0804404C: movs r2, 0 movs r3, 0x2 _0804408C: - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r3, r0, 0 movs r0, 0xFC strb r0, [r3] @@ -137319,7 +136330,7 @@ sub_8044338: ; 8044338 adds r0, r1 ldr r1, [r0] adds r0, r4, 0 - bl CopyString + bl StringCopy adds r0, r6, 0 mov r1, sp bl sub_80034D4 @@ -137457,14 +136468,14 @@ _08044486: adds r0, 0x6 movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r3, _0804450C adds r4, r3 ldrb r1, [r4] ldr r0, [sp, 0x1C] movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r1, sp movs r0, 0 strb r0, [r1, 0x5] @@ -139141,17 +138152,17 @@ sub_80451A0: ; 80451A0 ldr r4, _08045238 ldr r1, _0804523C adds r0, r4, 0 - bl CopyString + bl StringCopy adds r0, r7, 0 movs r1, 0x2 mov r2, sp bl PokemonGetField mov r0, sp - bl GetStringEnd_Limit7 + bl StringGetEnd10 adds r4, 0x3 adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy adds r5, r0, 0 movs r1, 0xFC strb r1, [r5] @@ -139268,7 +138279,7 @@ _080452C2: cmp r1, 0xFC bne _080452E4 ldrb r0, [r4, 0x1] - bl GetExtendedControlCodeLength + bl GetExtCtrlCodeLength lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -140106,7 +139117,7 @@ sub_8045998: ; 8045998 ldr r0, _08045A38 mov r8, r0 ldr r1, _08045A3C - bl CopyString + bl StringCopy adds r7, r0, 0 ldr r0, _08045A40 ldrb r1, [r0] @@ -140116,7 +139127,7 @@ sub_8045998: ; 8045998 bl sub_8003504 adds r7, r0, 0 ldr r1, _08045A44 - bl AppendString + bl StringAppend ldr r0, _08045A48 lsls r5, r4, 4 adds r5, r4 @@ -144719,7 +143730,7 @@ sub_8047D58: ; 8047D58 push {r7} sub sp, 0x18 ldr r0, _08047E30 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 movs r1, 0 @@ -144770,7 +143781,7 @@ _08047D86: lsls r0, 2 ldr r1, _08047E3C adds r0, r1 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 movs r1, 0 @@ -146961,7 +145972,7 @@ sub_8049088: ; 8049088 sub sp, 0x1C ldr r1, _080490B0 mov r0, sp - bl CopyString + bl StringCopy ldr r0, _080490B4 ldr r0, [r0] adds r0, 0x7E @@ -149279,7 +148290,7 @@ sub_804A2B4: ; 804A2B4 bl PokemonGetField adds r0, r5, 0 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 adds r0, r4, 0 bl pokemon_get_gender adds r0, r4, 0 @@ -149300,7 +148311,7 @@ _0804A2F4: bl PokemonGetField adds r0, r5, 0 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 adds r0, r4, 0 bl pokemon_get_gender adds r0, r4, 0 @@ -149381,7 +148392,7 @@ _0804A396: bls _0804A376 ldr r1, _0804A3E8 adds r0, r6, 0 - bl CopyString + bl StringCopy movs r4, 0 _0804A3B8: lsls r0, r4, 1 @@ -149396,11 +148407,11 @@ _0804A3B8: ldr r0, _0804A3EC adds r1, r0 adds r0, r6, 0 - bl AppendString + bl StringAppend _0804A3D4: adds r0, r6, 0 ldr r1, _0804A3F0 - bl AppendString + bl StringAppend adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 @@ -149414,10 +148425,10 @@ _0804A3F0: .4byte gUnknown_0842C7CB _0804A3F4: ldr r1, _0804A414 adds r0, r6, 0 - bl CopyString + bl StringCopy ldr r1, _0804A418 adds r0, r6, 0 - bl AppendString + bl StringAppend _0804A404: add sp, 0x8 pop {r3,r4} @@ -149494,7 +148505,7 @@ _0804A484: mov r0, sp adds r0, 0x22 add r1, sp, 0x4 - bl CopyString_Limit10 + bl StringCopy10 adds r0, r4, 0 bl pokemon_get_gender mov r1, sp @@ -151957,7 +150968,7 @@ _0804B7F4: ldr r4, _0804B8E8 ldr r1, _0804B8EC adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r0, _0804B8F0 movs r1, 0x7 add r2, sp, 0x4 @@ -151965,7 +150976,7 @@ _0804B7F4: adds r4, 0x1C adds r0, r4, 0 add r1, sp, 0x4 - bl CopyString + bl StringCopy movs r0, 0x80 lsls r0, 19 movs r3, 0 @@ -153103,7 +152114,7 @@ sub_804C1A8: ; 804C1A8 ldr r0, _0804C224 adds r1, r0 adds r0, r3, 0 - bl CopyString + bl StringCopy ldr r5, _0804C228 ldrb r0, [r5, 0x1] movs r1, 0x6 @@ -153119,7 +152130,7 @@ sub_804C1A8: ; 804C1A8 bl PokemonGetField ldr r0, _0804C230 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 ldrb r0, [r5] muls r0, r4 ldr r1, _0804C234 @@ -153129,7 +152140,7 @@ sub_804C1A8: ; 804C1A8 bl PokemonGetField ldr r0, _0804C238 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 b _0804C278 .align 2 _0804C21C: .4byte 0x03004828 @@ -153151,10 +152162,10 @@ _0804C23C: ldr r0, _0804C288 adds r1, r4, 0 adds r1, 0x2B - bl CopyString + bl StringCopy ldr r0, _0804C28C adds r1, r4, 0 - bl CopyString_Limit10 + bl StringCopy10 ldr r0, _0804C290 ldrh r1, [r0] movs r0, 0x64 @@ -153166,7 +152177,7 @@ _0804C23C: bl PokemonGetField ldr r0, _0804C298 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 _0804C278: add sp, 0x14 pop {r4,r5} @@ -153515,7 +152526,7 @@ _0804C6C8: ldr r5, _0804C6F8 ldr r1, _0804C6FC adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r4, _0804C700 ldr r1, [r4] adds r0, r1, 0x4 @@ -153589,7 +152600,7 @@ _0804C718: ldr r4, _0804C794 ldr r1, _0804C798 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r1, [r6] adds r0, r1, 0x4 adds r1, 0x34 @@ -155099,7 +154110,7 @@ _0804D3C4: ldr r4, _0804D414 ldr r1, _0804D418 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r1, [r6] adds r0, r1, 0x4 adds r1, 0x34 @@ -155159,7 +154170,7 @@ _0804D43E: ldr r4, _0804D484 ldr r1, _0804D488 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r1, [r6] adds r0, r1, 0x4 adds r1, 0x34 @@ -155719,12 +154730,12 @@ sub_804D89C: ; 804D89C muls r1, r6 ldr r5, _0804D8DC adds r1, r5 - bl CopyString + bl StringCopy ldr r0, _0804D8E0 ldrh r1, [r4, 0xC] muls r1, r6 adds r1, r5 - bl CopyString + bl StringCopy ldrh r0, [r4, 0x38] pop {r4-r6} pop {r1} @@ -155759,14 +154770,14 @@ sub_804D8E4: ; 804D8E4 bl PokemonGetField ldr r0, _0804D93C mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 ldr r0, _0804D940 ldrh r2, [r4, 0xC] movs r1, 0xB muls r1, r2 ldr r2, _0804D944 adds r1, r2 - bl CopyString + bl StringCopy add sp, 0x20 pop {r4} pop {r0} @@ -155982,7 +154993,7 @@ _0804DAEE: adds r0, 0x12 adds r1, r5, 0 adds r1, 0x2B - bl CopyString + bl StringCopy ldr r1, [r5, 0x18] lsrs r0, r1, 24 strb r0, [r4, 0x1A] @@ -156307,7 +155318,7 @@ _0804DE4C: ldr r4, _0804DE94 ldr r1, _0804DE98 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r1, [r5] adds r0, r1, 0x4 adds r1, 0x34 @@ -157494,7 +156505,7 @@ sub_804E844: ; 804E844 strh r5, [r6] adds r0, r6, 0x2 adds r1, r4, 0 - bl CopyString + bl StringCopy ldrb r0, [r4, 0x15] strb r0, [r6, 0x9] ldrb r0, [r4, 0x16] @@ -157561,7 +156572,7 @@ _0804E8C4: ldr r4, _0804E8EC ldr r1, _0804E8F0 adds r0, r4, 0 - bl CopyString + bl StringCopy adds r4, 0x1C ldr r0, _0804E8F4 ldr r1, [r0] @@ -157583,17 +156594,17 @@ _0804E8F8: ldr r4, _0804E930 ldr r1, _0804E934 adds r0, r4, 0 - bl CopyString + bl StringCopy adds r0, r4, 0 adds r0, 0x1C ldr r5, _0804E938 ldr r1, [r5] - bl CopyString + bl StringCopy adds r4, 0x38 ldr r1, [r5, 0x4] _0804E920: adds r0, r4, 0 - bl CopyString + bl StringCopy b _0804E974 .align 2 _0804E928: .4byte 0x03004834 @@ -157612,20 +156623,20 @@ _0804E93C: ldr r4, _0804E984 ldr r1, _0804E988 adds r0, r4, 0 - bl CopyString + bl StringCopy adds r0, r4, 0 adds r0, 0x1C ldr r5, _0804E98C ldr r1, [r5] - bl CopyString + bl StringCopy adds r0, r4, 0 adds r0, 0x38 ldr r1, [r5, 0x4] - bl CopyString + bl StringCopy adds r4, 0x54 ldr r1, [r5, 0x8] adds r0, r4, 0 - bl CopyString + bl StringCopy _0804E974: pop {r4,r5} pop {r0} @@ -158748,7 +157759,7 @@ _0804F2B6: bne _0804F31A adds r0, r5, 0 ldr r1, _0804F370 - bl CopyString + bl StringCopy adds r5, r0, 0 _0804F31A: ldr r0, [r7] @@ -158761,7 +157772,7 @@ _0804F31A: ldr r0, _0804F374 adds r1, r0 adds r0, r5, 0 - bl CopyString + bl StringCopy mov r0, r8 ldrb r1, [r0] lsls r1, 3 @@ -160678,7 +159689,7 @@ help_system_is_not_first_time: ; 80502A4 bne _080502E2 adds r0, r4, 0x2 adds r1, r5, 0x2 - bl CompareString + bl StringCompare cmp r0, 0 bne _080502F0 ldr r0, [r4, 0x8] @@ -162291,7 +161302,7 @@ _08050ED8: ldr r0, _08050F10 adds r1, r0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r1, _08050F14 b _08050F4C .align 2 @@ -162320,11 +161331,11 @@ _08050F18: ldr r0, _08050F64 adds r1, r0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r1, _08050F68 _08050F4C: adds r0, r4, 0 - bl AppendString + bl StringAppend adds r0, r4, 0 movs r1, 0x1 movs r2, 0xF @@ -164174,7 +163185,7 @@ _08051D56: lsls r2, 1 adds r1, r2 adds r0, r7, 0 - bl CopyString + bl StringCopy lsls r4, r5, 3 subs r4, r5 lsls r4, 2 @@ -164185,7 +163196,7 @@ _08051D56: bl StopMusicWhileStringIsPrinted adds r0, r7, 0 ldr r1, _08051F20 - bl AppendString + bl StringAppend mov r2, r8 ldr r0, [r2] adds r7, r0, 0 @@ -164193,7 +163204,7 @@ _08051D56: adds r5, r6, 0x1 adds r0, r7, 0 adds r1, r5, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r7, r0, 0 movs r1, 0 strb r1, [r7] @@ -164253,13 +163264,13 @@ _08051E04: mov r0, r9 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, [r6] adds r7, r0, 0 adds r7, 0xAB ldr r1, _08051F30 adds r0, r7, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 ldr r0, [r6] adds r0, 0x5A @@ -164287,7 +163298,7 @@ _08051E04: bl sub_8072C74 adds r7, r0, 0 ldr r1, _08051F34 - bl CopyString + bl StringCopy ldr r0, [r6] adds r0, 0xAB movs r1, 0x5 @@ -164318,18 +163329,18 @@ _08051E04: mov r0, r9 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, [sp, 0x30] adds r1, r5, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, [r6] adds r7, r0, 0 adds r7, 0xAB ldr r1, _08051F38 adds r0, r7, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 mov r1, r9 movs r2, 0x66 @@ -164337,7 +163348,7 @@ _08051E04: bl sub_8072C74 adds r7, r0, 0 ldr r1, _08051F3C - bl AppendString + bl StringAppend adds r7, r0, 0 ldr r1, [sp, 0x30] movs r2, 0x88 @@ -164345,7 +163356,7 @@ _08051E04: bl sub_8072C74 adds r7, r0, 0 ldr r1, _08051F40 - bl CopyString + bl StringCopy ldr r0, [r6] adds r0, 0xAB movs r1, 0x5 @@ -164489,13 +163500,13 @@ sub_805201C: ; 805201C adds r0, r1 ldr r1, [r0] adds r0, r6, 0 - bl CopyString + bl StringCopy ldr r1, _080520B4 adds r0, r6, 0 - bl AppendString + bl StringAppend ldr r1, _080520B8 adds r0, r6, 0 - bl AppendString + bl StringAppend adds r0, r5, 0 bl sub_810C9B0 adds r4, r0, 0 @@ -164508,32 +163519,32 @@ sub_805201C: ; 805201C lsrs r5, 24 ldr r1, _080520BC adds r0, r6, 0 - bl AppendString + bl StringAppend mov r0, sp adds r1, r4, 0 movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r6, 0 mov r1, sp - bl AppendString + bl StringAppend ldr r1, _080520C0 adds r0, r6, 0 - bl AppendString + bl StringAppend mov r0, sp adds r1, r5, 0 movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r6, 0 mov r1, sp - bl AppendString + bl StringAppend ldr r1, _080520C4 adds r0, r6, 0 - bl AppendString + bl StringAppend ldr r1, _080520C8 adds r0, r6, 0 - bl AppendString + bl StringAppend add sp, 0xC pop {r4-r6} pop {r0} @@ -164921,7 +163932,7 @@ _08052380: adds r6, 0x1 adds r0, r2, 0 adds r1, r6, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r2, r0, 0 movs r1, 0 strb r1, [r2] @@ -164935,7 +163946,7 @@ _08052380: ldr r0, _08052458 adds r1, r0 adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r0, [r7] lsls r4, r5, 1 @@ -165113,7 +164124,7 @@ sub_8052530: ; 8052530 sub sp, 0x98 ldr r1, _080525C8 mov r0, sp - bl CopyString + bl StringCopy mov r0, sp movs r1, 0x2 movs r2, 0 @@ -165129,7 +164140,7 @@ sub_8052530: ; 8052530 mov r0, sp movs r2, 0x2 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp movs r1, 0x6 movs r2, 0 @@ -165220,10 +164231,10 @@ _080525F8: mov r0, sp movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp mov r1, r10 - bl AppendString + bl StringAppend movs r1, 0 ldrsb r1, [r4, r1] lsls r0, r1, 3 @@ -165234,10 +164245,10 @@ _080525F8: ldr r0, [sp, 0x84] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp mov r1, r10 - bl AppendString + bl StringAppend movs r1, 0 ldrsb r1, [r4, r1] lsls r0, r1, 3 @@ -165248,10 +164259,10 @@ _080525F8: ldr r0, [sp, 0x88] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp mov r1, r10 - bl AppendString + bl StringAppend movs r1, 0 ldrsb r1, [r4, r1] lsls r0, r1, 3 @@ -165262,10 +164273,10 @@ _080525F8: ldr r0, [sp, 0x8C] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp mov r1, r10 - bl AppendString + bl StringAppend movs r1, 0 ldrsb r1, [r4, r1] lsls r0, r1, 3 @@ -165276,10 +164287,10 @@ _080525F8: ldr r0, [sp, 0x90] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp mov r1, r10 - bl AppendString + bl StringAppend movs r1, 0 ldrsb r1, [r4, r1] lsls r0, r1, 3 @@ -165290,7 +164301,7 @@ _080525F8: ldr r0, [sp, 0x94] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r2, 0x1 negs r2, r2 add r3, sp, 0x80 @@ -165319,7 +164330,7 @@ _080526EC: adds r0, r1 ldr r1, [r0] mov r0, sp - bl CopyString + bl StringCopy mov r0, sp movs r1, 0x2 movs r2, 0xF @@ -165329,53 +164340,53 @@ _080526EC: mov r0, sp movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN ldr r4, _080527B8 mov r0, sp adds r1, r4, 0 - bl AppendString + bl StringAppend mov r0, r8 ldrb r1, [r0, 0x12] ldr r0, [sp, 0x84] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN mov r0, sp adds r1, r4, 0 - bl AppendString + bl StringAppend mov r2, r8 ldrb r1, [r2, 0x13] ldr r0, [sp, 0x88] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN mov r0, sp adds r1, r4, 0 - bl AppendString + bl StringAppend mov r3, r8 ldrb r1, [r3, 0x14] ldr r0, [sp, 0x8C] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN mov r0, sp adds r1, r4, 0 - bl AppendString + bl StringAppend mov r0, r8 ldrb r1, [r0, 0x15] ldr r0, [sp, 0x90] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN mov r0, sp adds r1, r4, 0 - bl AppendString + bl StringAppend mov r2, r8 ldrb r1, [r2, 0x16] ldr r0, [sp, 0x94] movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToHexString + bl ConvertIntToHexStringN mov r1, sp ldrb r0, [r1, 0x11] add r3, sp, 0x80 @@ -165507,25 +164518,25 @@ _0805287A: adds r0, r6, 0 movs r2, 0x2 movs r3, 0x8 - bl ConvertNumToHexString + bl ConvertIntToHexStringN mov r0, sp adds r1, r6, 0 - bl AppendString + bl StringAppend ldr r1, _08052904 mov r0, sp - bl AppendString + bl StringAppend ldr r0, _08052908 ldr r1, [r0] adds r0, r6, 0 movs r2, 0x2 movs r3, 0x8 - bl ConvertNumToHexString + bl ConvertIntToHexStringN mov r0, sp adds r1, r6, 0 - bl AppendString + bl StringAppend ldr r1, _0805290C mov r0, sp - bl AppendString + bl StringAppend ldr r4, _08052910 ldrb r0, [r4] cmp r0, 0x3 @@ -165535,10 +164546,10 @@ _0805287A: adds r0, r6, 0 movs r2, 0x2 movs r3, 0x10 - bl ConvertNumToHexString + bl ConvertIntToHexStringN mov r0, sp adds r1, r6, 0 - bl AppendString + bl StringAppend movs r0, 0 strb r0, [r4] _080528E8: @@ -165878,10 +164889,10 @@ _08052B50: adds r0, r5, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r5, r0, 0 ldr r1, _08052BCC - bl AppendString + bl StringAppend lsrs r2, r7, 24 mov r0, sp movs r1, 0xF @@ -184287,7 +183298,7 @@ RemoveFieldObjectInternal: ; 805AF4C sub sp, 0x8 adds r4, r0, 0 ldrb r0, [r4, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldrh r2, [r0, 0x6] ldr r1, _0805AF90 ldr r0, [sp, 0x4] @@ -184386,7 +183397,7 @@ _0805B006: ldr r1, _0805B030 adds r5, r0, r1 ldrb r0, [r5, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r6, r0, 0 ldrb r1, [r6, 0xC] movs r0, 0xF @@ -184578,7 +183589,7 @@ SpawnFieldObject: ; 805B168 str r0, [sp, 0x20] mov r1, r9 ldrb r0, [r1, 0x1] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r7, r0, 0 add r2, sp, 0x20 mov r0, r9 @@ -184789,7 +183800,7 @@ MakeObjectTemplateFromFieldObjectGraphicsInfo: ; 805B324 adds r6, r3, 0 lsls r0, 24 lsrs r0, 24 - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldrh r1, [r0] strh r1, [r4] ldrh r1, [r0, 0x2] @@ -184936,7 +183947,7 @@ sub_805B410: ; 805B410 lsrs r4, 24 str r4, [sp, 0x20] adds r0, r5, 0 - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r4, r0, 0 ldr r1, _0805B550 add r3, sp, 0x1C @@ -185384,7 +184395,7 @@ _0805B790: movs r0, 0 str r0, [sp, 0x20] ldrb r0, [r6, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r5, r0, 0 ldrh r2, [r5, 0x6] ldr r1, _0805B908 @@ -185622,7 +184633,7 @@ sub_805B980: ; 805B980 lsrs r1, 24 mov r8, r1 mov r0, r8 - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r5, r0, 0 ldrb r1, [r6, 0x4] lsls r0, r1, 4 @@ -185950,8 +184961,8 @@ _0805BC08: .4byte gBerryTreePicTablePointers _0805BC0C: .4byte gBerryTreePaletteSlotTablePointers thumb_func_end get_berry_tree_graphics - thumb_func_start sub_805BC10 -sub_805BC10: ; 805BC10 + thumb_func_start GetFieldObjectGraphicsInfo +GetFieldObjectGraphicsInfo: ; 805BC10 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -185976,7 +184987,7 @@ _0805BC2E: bx r1 .align 2 _0805BC3C: .4byte gMapObjectGraphicsInfoPointers - thumb_func_end sub_805BC10 + thumb_func_end GetFieldObjectGraphicsInfo thumb_func_start FieldObjectHandleDynamicGraphicsId FieldObjectHandleDynamicGraphicsId: ; 805BC40 @@ -186576,7 +185587,7 @@ sub_805C058: ; 805C058 ldr r1, _0805C0F4 adds r7, r0, r1 ldrb r0, [r6, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo mov r8, r0 lsls r4, 16 asrs r4, 16 @@ -200903,7 +199914,7 @@ sub_8062608: ; 8062608 adds r4, r0, 0 adds r5, r1, 0 ldrb r0, [r4, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldrb r1, [r0, 0xC] lsls r1, 25 lsrs r1, 31 @@ -203049,7 +202060,7 @@ sub_80634E8: ; 80634E8 ands r0, r1 strb r0, [r5, 0x1] ldrb r0, [r5, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r6, r0, 0 adds r0, r4, 0 adds r0, 0x3E @@ -203280,7 +202291,7 @@ GetAllGroundEffectFlags_OnFinishStep: ; 8063690 bl GetGroundEffectFlags_Seaweed adds r0, r4, 0 adds r1, r5, 0 - bl dp03_build_bits_by_block_behaviour + bl GetGroundEffectFlags_JumpLanding pop {r4,r5} pop {r0} bx r0 @@ -203719,8 +202730,8 @@ _080639E2: bx r0 thumb_func_end GetGroundEffectFlags_Seaweed - thumb_func_start dp03_build_bits_by_block_behaviour -dp03_build_bits_by_block_behaviour: ; 80639E8 + thumb_func_start GetGroundEffectFlags_JumpLanding +GetGroundEffectFlags_JumpLanding: ; 80639E8 push {r4-r7,lr} mov r7, r8 push {r7} @@ -203767,7 +202778,7 @@ _08063A3A: pop {r4-r7} pop {r0} bx r0 - thumb_func_end dp03_build_bits_by_block_behaviour + thumb_func_end GetGroundEffectFlags_JumpLanding thumb_func_start FieldObjectCheckForReflectiveSurface FieldObjectCheckForReflectiveSurface: ; 8063A44 @@ -203779,7 +202790,7 @@ FieldObjectCheckForReflectiveSurface: ; 8063A44 sub sp, 0x8 adds r5, r0, 0 ldrb r0, [r5, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo movs r2, 0x8 ldrsh r1, [r0, r2] adds r1, 0x8 @@ -204510,7 +203521,7 @@ sub_8063FA0: ; 8063FA0 adds r4, r0, 0 adds r5, r1, 0 ldrb r0, [r4, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldr r1, _08063FC8 ldrb r0, [r0, 0xD] lsls r0, 2 @@ -204533,7 +203544,7 @@ sub_8063FCC: ; 8063FCC adds r4, r0, 0 adds r5, r1, 0 ldrb r0, [r4, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldr r1, _08063FF4 ldrb r0, [r0, 0xD] lsls r0, 2 @@ -206005,7 +205016,7 @@ DoRippleFieldEffect: ; 8064A38 push {r4,lr} adds r4, r1, 0 ldrb r0, [r0, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldr r2, _08064A70 movs r3, 0x20 ldrsh r1, [r4, r3] @@ -206249,7 +205260,7 @@ textbox_fdecode_auto_and_task_add: ; 8064BF4 adds r1, r0, 0 ldr r4, _08064C20 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _08064C24 ldr r1, _08064C28 ldrh r2, [r1] @@ -211614,7 +210625,7 @@ sub_806730C: ; 806730C ldr r4, _08067360 adds r1, 0x6 adds r0, r4, 0 - bl sub_8006EC4 + bl UnknownStringFunc adds r0, r5, 0 adds r1, r6, 0 mov r2, r8 @@ -211673,7 +210684,7 @@ s7D_load_pokename: ; 8067380 ldr r0, _080673BC adds r1, r0 adds r0, r2, 0 - bl CopyString + bl StringCopy movs r0, 0 pop {r4} pop {r1} @@ -211709,7 +210720,7 @@ s7E_load_first_pokenames: ; 80673C0 ldr r0, _08067408 adds r1, r0 adds r0, r4, 0 - bl CopyString + bl StringCopy movs r0, 0 pop {r4} pop {r1} @@ -211745,7 +210756,7 @@ s7F_load_pokename_team: ; 806740C adds r2, r4, 0 bl PokemonGetField adds r0, r4, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 movs r0, 0 pop {r4} pop {r1} @@ -211801,7 +210812,7 @@ sub_8067488: ; 8067488 lsrs r1, 11 ldr r2, _080674C0 adds r1, r2 - bl CopyString + bl StringCopy movs r0, 0 pop {r4} pop {r1} @@ -211833,7 +210844,7 @@ s82_load_item_name: ; 80674C4 ldr r0, _08067500 adds r1, r0 adds r0, r2, 0 - bl CopyString + bl StringCopy movs r0, 0 pop {r4} pop {r1} @@ -211868,7 +210879,7 @@ s83_load_textvar_var: ; 8067504 ldr r0, [r5] adds r1, r4, 0 movs r2, 0 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r0, 0 pop {r4,r5} pop {r1} @@ -211898,7 +210909,7 @@ s84_load_textvar_std_expression: ; 8067548 adds r0, r1 ldr r1, [r0] adds r0, r2, 0 - bl CopyString + bl StringCopy movs r0, 0 pop {r4} pop {r1} @@ -211921,7 +210932,7 @@ s85_load_textvar_pointer: ; 8067588 lsls r4, 2 adds r4, r0 ldr r0, [r4] - bl CopyString + bl StringCopy movs r0, 0 pop {r4} pop {r1} @@ -211939,7 +210950,7 @@ sBE_virtual_load_text: ; 80675B0 ldr r0, [r0] subs r1, r0 ldr r0, _080675D0 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0 pop {r1} bx r1 @@ -211964,7 +210975,7 @@ sBF_virtual_load_textbuffer: ; 80675D4 lsls r4, 2 adds r4, r0 ldr r0, [r4] - bl CopyString + bl StringCopy movs r0, 0 pop {r4} pop {r1} @@ -218600,10 +217611,10 @@ sub_806A74C: ; 806A74C bl sub_8072C44 adds r0, r7, 0 adds r1, r4, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 ldr r1, _0806A848 - bl CopyString + bl StringCopy adds r7, r0, 0 adds r0, r4, 0 mov r1, r8 @@ -218612,24 +217623,24 @@ sub_806A74C: ; 806A74C bl sub_8072C44 adds r0, r7, 0 adds r1, r4, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 ldr r4, _0806A84C adds r1, r4, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 adds r1, r6, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r7, r0, 0 adds r1, r4, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 mov r1, r9 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _0806A83C mov r1, r10 ldr r2, [sp] @@ -225939,7 +224950,7 @@ GetMonNickname: ; 806E0EC adds r2, r4, 0 bl PokemonGetField adds r0, r4, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 pop {r4} pop {r1} bx r1 @@ -226112,7 +225123,7 @@ sub_806E1F4: ; 806E1F4 strb r0, [r6, 0x2] adds r0, r6, 0x3 adds r1, r5, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString movs r0, 0 str r0, [sp] ldr r5, _0806E280 @@ -227126,7 +226137,7 @@ _0806E9F0: ldr r4, _0806EA38 ldr r1, _0806EA3C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -227269,7 +226280,7 @@ _0806EB34: ldr r4, _0806EB54 ldr r1, _0806EB58 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -227378,7 +226389,7 @@ sub_806EBF0: ; 806EBF0 ldr r4, _0806EC3C ldr r1, _0806EC40 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 adds r1, r5, 0 bl sub_806E834 @@ -227494,7 +226505,7 @@ sub_806ECE8: ; 806ECE8 ldr r4, _0806ED44 ldr r1, _0806ED48 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 bl sub_806E834 @@ -227580,7 +226591,7 @@ sub_806EDB4: ; 806EDB4 ldr r4, _0806EE00 ldr r1, _0806EE04 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 adds r1, r5, 0 bl sub_806E834 @@ -227958,7 +226969,7 @@ sub_806F0B4: ; 806F0B4 muls r1, r2 ldr r2, _0806F120 adds r1, r2 - bl CopyString + bl StringCopy ldr r1, _0806F124 adds r0, r5, r1 strh r4, [r0] @@ -227971,7 +226982,7 @@ sub_806F0B4: ; 806F0B4 ldr r4, _0806F128 ldr r1, _0806F12C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228004,7 +227015,7 @@ _0806F138: ldr r4, _0806F16C ldr r1, _0806F170 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228037,7 +227048,7 @@ _0806F198: ldr r4, _0806F1C0 ldr r1, _0806F1C4 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228072,11 +227083,11 @@ sub_806F1D0: ; 806F1D0 muls r1, r2 ldr r2, _0806F23C adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _0806F240 ldr r1, _0806F244 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228451,11 +227462,11 @@ sub_806F490: ; 806F490 muls r1, r4 ldr r2, _0806F52C adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _0806F530 ldr r1, _0806F534 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228548,11 +227559,11 @@ sub_806F588: ; 806F588 muls r1, r2 ldr r2, _0806F604 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _0806F608 ldr r1, _0806F60C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228595,11 +227606,11 @@ sub_806F614: ; 806F614 muls r1, r2 ldr r2, _0806F668 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _0806F66C ldr r1, _0806F670 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228679,11 +227690,11 @@ sub_806F6B4: ; 806F6B4 muls r1, r2 ldr r2, _0806F71C adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _0806F720 ldr r1, _0806F724 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228733,11 +227744,11 @@ _0806F74A: muls r1, r2 ldr r2, _0806F7A4 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _0806F7A8 ldr r1, _0806F7AC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -228951,7 +227962,7 @@ _0806F900: ldrh r1, [r5] movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r2, _0806F950 lsls r1, r6, 2 adds r0, r1, r6 @@ -228964,7 +227975,7 @@ _0806F900: bne _0806F95C ldr r0, _0806F954 ldr r1, _0806F958 - bl PrintSimple + bl StringExpandPlaceholders b _0806F964 .align 2 _0806F940: .4byte 0x02024bec @@ -228977,7 +227988,7 @@ _0806F958: .4byte gUnknown_0840F4B5 _0806F95C: ldr r0, _0806F9D4 ldr r1, _0806F9D8 - bl PrintSimple + bl StringExpandPlaceholders _0806F964: ldr r4, _0806F9DC ldrb r0, [r4, 0x4] @@ -229322,7 +228333,7 @@ _0806FBF4: _0806FC40: ldr r0, _0806FC4C ldr r1, _0806FC50 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FC4C: .4byte 0x020234cc @@ -229330,7 +228341,7 @@ _0806FC50: .4byte gUnknown_0840F4DA _0806FC54: ldr r0, _0806FC60 ldr r1, _0806FC64 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FC60: .4byte 0x020234cc @@ -229338,7 +228349,7 @@ _0806FC64: .4byte gUnknown_0840F518 _0806FC68: ldr r0, _0806FC74 ldr r1, _0806FC78 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FC74: .4byte 0x020234cc @@ -229346,7 +228357,7 @@ _0806FC78: .4byte gUnknown_0840F526 _0806FC7C: ldr r0, _0806FC88 ldr r1, _0806FC8C - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FC88: .4byte 0x020234cc @@ -229354,7 +228365,7 @@ _0806FC8C: .4byte gUnknown_0840F53E _0806FC90: ldr r0, _0806FC9C ldr r1, _0806FCA0 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FC9C: .4byte 0x020234cc @@ -229362,7 +228373,7 @@ _0806FCA0: .4byte gUnknown_0840F4FB _0806FCA4: ldr r0, _0806FCB0 ldr r1, _0806FCB4 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FCB0: .4byte 0x020234cc @@ -229370,7 +228381,7 @@ _0806FCB4: .4byte gUnknown_0840F5D7 _0806FCB8: ldr r0, _0806FCC4 ldr r1, _0806FCC8 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FCC4: .4byte 0x020234cc @@ -229378,7 +228389,7 @@ _0806FCC8: .4byte gUnknown_0840F5FA _0806FCCC: ldr r0, _0806FCD8 ldr r1, _0806FCDC - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FCD8: .4byte 0x020234cc @@ -229422,10 +228433,10 @@ _0806FD30: ldr r0, _0806FD44 ldr r1, _0806FD48 _0806FD34: - bl CopyString + bl StringCopy ldr r0, _0806FD4C ldr r1, _0806FD50 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FD44: .4byte 0x020232cc @@ -229435,7 +228446,7 @@ _0806FD50: .4byte gUnknown_0840F5C1 _0806FD54: ldr r0, _0806FD60 ldr r1, _0806FD64 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FD60: .4byte 0x020234cc @@ -229443,7 +228454,7 @@ _0806FD64: .4byte gUnknown_0840F591 _0806FD68: ldr r0, _0806FD74 ldr r1, _0806FD78 - bl PrintSimple + bl StringExpandPlaceholders b _0806FD84 .align 2 _0806FD74: .4byte 0x020234cc @@ -229451,7 +228462,7 @@ _0806FD78: .4byte gUnknown_0840F553 _0806FD7C: ldr r0, _0806FD88 ldr r1, _0806FD8C - bl PrintSimple + bl StringExpandPlaceholders _0806FD84: pop {r0} bx r0 @@ -230474,7 +229485,7 @@ _080705B8: muls r1, r5 ldr r2, _08070614 adds r1, r2 - bl CopyString + bl StringCopy ldrh r0, [r6, 0x6] bl GetMedicineItemEffectMessage ldr r0, _08070618 @@ -230639,11 +229650,11 @@ _08070724: ldr r0, _08070790 movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r4, _08070794 ldr r1, _08070798 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -230856,7 +229867,7 @@ _08070910: adds r0, 0x3 movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN lsls r1, r4, 27 movs r0, 0xC0 lsls r0, 20 @@ -230941,7 +229952,7 @@ _08070982: adds r0, 0x3 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r4, 0x6 lsls r4, 3 adds r4, 0x6 @@ -231145,11 +230156,11 @@ _08070B7C: muls r1, r2 ldr r2, _08070BC8 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _08070BCC ldr r1, _08070BD0 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -231193,11 +230204,11 @@ _08070BF4: muls r1, r4 ldr r2, _08070C40 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _08070C44 ldr r1, _08070C48 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -231291,11 +230302,11 @@ _08070CC8: muls r1, r2 ldr r2, _08070D14 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _08070D18 ldr r1, _08070D1C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -231331,11 +230342,11 @@ _08070D30: muls r1, r4 ldr r2, _08070D7C adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _08070D80 ldr r1, _08070D84 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x1 bl sub_806E834 @@ -232555,7 +231566,7 @@ sub_8071684: ; 8071684 ldr r4, _080716B0 adds r0, r4, 0 adds r1, r2, 0 - bl PrintSimple + bl StringExpandPlaceholders bl sub_8071FFC adds r0, r4, 0 bl sub_8072044 @@ -268426,7 +267437,7 @@ _0808284C: bl ReturnEmptyStringIfNull adds r1, r0, 0 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 pop {r4} pop {r1} @@ -269121,7 +268132,7 @@ sub_8082D18: ; 8082D18 ldr r0, _08082D44 movs r2, 0 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r0, 0x12 movs r1, 0xA movs r2, 0x1C @@ -269220,7 +268231,7 @@ _08082DD6: ldr r0, _08082DE4 movs r2, 0 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r0, 0x4 b _08082DEE .align 2 @@ -269589,7 +268600,7 @@ sub_808303C: ; 808303C adds r1, r5, 0 movs r2, 0 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080830DC bl box_related_two__3 mov r0, r9 @@ -271026,7 +270037,7 @@ sub_8083BF4: ; 8083BF4 lsls r1, 2 ldr r2, _08083C3C adds r1, r2 - bl CopyString + bl StringCopy adds r0, r4, 0 bl sub_80934C4 lsls r0, 24 @@ -271039,7 +270050,7 @@ sub_8083BF4: ; 8083BF4 lsls r1, 2 adds r1, r2 ldr r1, [r1] - bl CopyString + bl StringCopy movs r0, 0x1 b _08083C4A .align 2 @@ -271150,7 +270161,7 @@ sub_8083CF0: ; 8083CF0 movs r1, 0xFF strb r1, [r0] ldr r1, _08083D40 - bl AppendString + bl StringAppend movs r5, 0 ldr r0, _08083D44 movs r6, 0x1 @@ -271167,7 +270178,7 @@ _08083D14: ldr r1, _08083D48 adds r1, r4, r1 ldr r0, _08083D3C - bl AppendString + bl StringAppend _08083D28: adds r4, 0x3 adds r5, 0x1 @@ -271226,18 +270237,18 @@ sub_8083D70: ; 8083D70 ldr r4, _08083DE8 adds r1, r4 mov r0, sp - bl CopyString + bl StringCopy ldr r1, _08083DEC mov r0, sp - bl AppendString + bl StringAppend adds r1, r5, 0 muls r1, r6 adds r1, r4 mov r0, sp - bl AppendString + bl StringAppend ldr r1, _08083DF0 mov r0, sp - bl AppendString + bl StringAppend bl sub_8071EF4 movs r0, 0 movs r1, 0xE @@ -296065,10 +295076,10 @@ _08090174: strb r0, [r1] ldr r1, _080901B0 add r0, sp, 0x4 - bl AppendString + bl StringAppend ldr r1, _080901B4 add r0, sp, 0x4 - bl AppendString + bl StringAppend add r0, sp, 0x4 movs r1, 0x3 movs r2, 0xF @@ -298189,7 +297200,7 @@ sub_8091260: ; 8091260 lsrs r4, 24 ldr r1, _080912CC mov r0, sp - bl CopyString + bl StringCopy adds r6, r0, 0 mov r0, sp strb r4, [r0, 0x2] @@ -301351,7 +300362,7 @@ sub_8092B68: ; 8092B68 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 - bl CopyString + bl StringCopy ldr r0, _08092C74 mov r8, r0 movs r1, 0x2D @@ -301368,7 +300379,7 @@ sub_8092B68: ; 8092B68 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 - bl CopyString + bl StringCopy mov r0, r8 movs r1, 0x2D movs r2, 0x20 @@ -301384,7 +300395,7 @@ sub_8092B68: ; 8092B68 adds r0, r4 ldr r1, [r0] adds r0, r7, 0 - bl CopyString + bl StringCopy ldr r5, _08092C80 adds r0, r5, 0 movs r1, 0x2D @@ -301399,7 +300410,7 @@ sub_8092B68: ; 8092B68 adds r0, r4 ldr r1, [r0] adds r0, r7, 0 - bl CopyString + bl StringCopy adds r0, r5, 0 movs r1, 0x5D movs r2, 0x30 @@ -301415,7 +300426,7 @@ sub_8092B68: ; 8092B68 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 - bl CopyString + bl StringCopy mov r0, r8 movs r1, 0x2D movs r2, 0x40 @@ -301434,7 +300445,7 @@ sub_8092B68: ; 8092B68 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 - bl CopyString + bl StringCopy mov r0, r8 movs r1, 0x2D movs r2, 0x50 @@ -304234,7 +303245,7 @@ sub_8094140: ; 8094140 ldr r5, _08094184 adds r0, r4, 0 adds r1, r5, 0 - bl CopyString + bl StringCopy ldrb r1, [r5, 0x8] adds r0, r4, 0 bl StopMusicWhileStringIsPrinted @@ -304292,7 +303303,7 @@ sub_80941D8: ; 80941D8 mov r0, sp movs r2, 0x2 movs r3, 0x5 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp movs r1, 0x14 movs r2, 0x2 @@ -304338,7 +303349,7 @@ _08094230: mov r0, sp movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp movs r1, 0x10 movs r2, 0xA @@ -304398,13 +303409,13 @@ sub_809429C: ; 809429C ldr r0, _080942F4 adds r1, r6, 0 adds r1, 0x20 - bl CopyString + bl StringCopy movs r5, 0 strb r5, [r0] adds r0, 0x1 adds r1, r6, 0 adds r1, 0x30 - bl CopyString + bl StringCopy ldr r4, _080942F4 adds r0, r4, 0 movs r1, 0x2 @@ -304413,12 +303424,12 @@ sub_809429C: ; 809429C adds r1, r6, 0 adds r1, 0x40 adds r0, r4, 0 - bl CopyString + bl StringCopy strb r5, [r0] adds r0, 0x1 adds r1, r6, 0 adds r1, 0x50 - bl CopyString + bl StringCopy adds r0, r4, 0 movs r1, 0x2 movs r2, 0x10 @@ -304439,13 +303450,13 @@ sub_80942F8: ; 80942F8 ldr r5, _0809432C adds r0, r4, 0 adds r1, r5, 0 - bl CopyString + bl StringCopy ldrb r1, [r5, 0x8] adds r0, r4, 0 bl StopMusicWhileStringIsPrinted ldr r1, _08094330 adds r0, r4, 0 - bl AppendString + bl StringAppend adds r0, r4, 0 movs r1, 0x1C movs r2, 0x2 @@ -304492,11 +303503,11 @@ sub_8094354: ; 8094354 adds r0, r2, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r2, r0, 0 ldr r4, _080943C0 adds r1, r4, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 adds r0, r5, 0 adds r0, 0x6C @@ -304504,10 +303515,10 @@ sub_8094354: ; 8094354 adds r0, r2, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r2, r0, 0 adds r1, r4, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 adds r0, r5, 0 adds r0, 0x6E @@ -304515,7 +303526,7 @@ sub_8094354: ; 8094354 adds r0, r2, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080943BC movs r1, 0x1C movs r2, 0x5 @@ -304561,7 +303572,7 @@ sub_80943E4: ; 80943E4 adds r0, 0x78 ldrh r1, [r0] mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString mov r0, sp movs r1, 0x16 movs r2, 0x7 @@ -304570,7 +303581,7 @@ sub_80943E4: ; 80943E4 adds r0, 0x7A ldrh r1, [r0] mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString mov r0, sp movs r1, 0x1C movs r2, 0x7 @@ -304677,7 +303688,7 @@ sub_80944B8: ; 80944B8 mov r0, sp movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp movs r1, 0x1C movs r2, 0xD @@ -304723,7 +303734,7 @@ sub_8094508: ; 8094508 mov r0, sp movs r2, 0x1 movs r3, 0x5 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp movs r1, 0x1C movs r2, 0xB @@ -304769,7 +303780,7 @@ sub_8094558: ; 8094558 mov r0, sp movs r2, 0x1 movs r3, 0x5 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp movs r1, 0x1C movs r2, 0x9 @@ -305082,7 +304093,7 @@ sub_80947B0: ; 80947B0 lsls r1, 24 lsrs r1, 24 mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r4, 0xC lsls r4, 24 lsrs r4, 24 @@ -305120,7 +304131,7 @@ sub_80947F8: ; 80947F8 mov r0, sp movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r4, 0xC lsls r4, 24 lsrs r4, 24 @@ -305232,7 +304243,7 @@ sub_80948E4: ; 80948E4 lsrs r6, r2, 16 lsls r4, 16 lsrs r4, 16 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r5, r0, 0 movs r0, 0 strb r0, [r5] @@ -305253,7 +304264,7 @@ _08094910: adds r1, r6, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN pop {r4-r6} pop {r0} bx r0 @@ -306893,11 +305904,11 @@ _080955C6: bl sub_8040D08 adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r4, _08095604 ldr r1, _08095608 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 bl sub_806E834 @@ -306933,7 +305944,7 @@ _08095610: ldr r4, _0809565C ldr r1, _08095660 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 bl sub_806E834 @@ -307001,7 +306012,7 @@ _080956A8: ldr r4, _080956F8 ldr r1, _080956FC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 bl sub_806E834 @@ -307038,7 +306049,7 @@ _08095708: ldr r4, _08095758 ldr r1, _0809575C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 bl sub_806E834 @@ -307101,7 +306112,7 @@ _080957A0: ldr r4, _080957F8 ldr r1, _080957FC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 bl sub_806E834 @@ -307131,7 +306142,7 @@ _08095808: ldr r4, _08095844 ldr r1, _08095848 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 bl sub_806E834 @@ -307250,7 +306261,7 @@ sub_8095904: ; 8095904 lsrs r0, 24 str r0, [sp, 0x8] ldr r0, [sp] - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 mov r8, r0 @@ -307698,7 +306709,7 @@ sub_8095C60: ; 8095C60 adds r5, r0, 0 lsls r4, r2, 16 lsrs r4, 16 - bl CopyString + bl StringCopy adds r1, r0, 0 adds r5, r4 cmp r1, r5 @@ -308448,12 +307459,12 @@ _08096214: ldr r6, _0809625C adds r0, r6 ldr r1, _08096260 - bl CopyString + bl StringCopy adds r4, r5, 0x1 adds r1, r4, 0 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN lsls r4, 16 lsrs r5, r4, 16 cmp r5, 0xD @@ -309028,7 +308039,7 @@ sub_809665C: ; 809665C ldr r0, _080966BC adds r1, r0 adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 movs r0, 0xFE strb r0, [r2] @@ -309050,7 +308061,7 @@ _080966C2: adds r2, 0x4 adds r0, r2, 0 adds r1, r7, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r2, r0, 0 movs r0, 0xBA strb r0, [r2] @@ -313156,7 +312167,7 @@ _080988E8: adds r0, r1 ldr r1, [r0] adds r0, r4, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r0, _0809890C adds r4, r0 @@ -313174,7 +312185,7 @@ _08098910: adds r0, r1 ldr r1, [r0] adds r0, r4, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 adds r4, 0x50 adds r1, r4, 0 @@ -313186,7 +312197,7 @@ _08098930: ldr r0, _08098948 ldr r2, _0809894C adds r1, r0, r2 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r1, _08098950 lsls r0, r5, 3 @@ -313202,7 +312213,7 @@ _08098954: ldr r0, _0809896C adds r1, r0, 0 adds r1, 0x50 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r1, _08098970 lsls r0, r5, 3 @@ -313219,7 +312230,7 @@ _08098974: adds r0, r1 ldr r6, [r0] adds r0, r6, 0 - bl sub_8006B34 + bl StringGetLength adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -313228,13 +312239,13 @@ _08098974: ldr r5, _080989B0 adds r0, r5, 0 adds r1, r6, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r0, _080989B4 adds r5, r0 adds r0, r2, 0 adds r1, r5, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 adds r1, r4, 0 b _080989FE @@ -313248,7 +312259,7 @@ _080989B8: adds r0, r1 ldr r6, [r0] adds r0, r6, 0 - bl sub_8006B34 + bl StringGetLength adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -313257,12 +312268,12 @@ _080989B8: ldr r5, _080989F0 adds r0, r5, 0 adds r1, r6, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 subs r0, r2, 0x1 adds r5, 0x50 adds r1, r5, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 adds r1, r4, 0 b _080989FE @@ -313276,7 +312287,7 @@ _080989F4: adds r1, r2 ldr r1, [r1] _080989FE: - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r0, _08098A34 adds r3, r0, 0 @@ -319137,7 +318148,7 @@ _0809B700: adds r0, r1, r2 ldr r2, _0809B730 adds r1, r2 - bl CopyString + bl StringCopy pop {r0} bx r0 .align 2 @@ -320350,7 +319361,7 @@ _0809C08C: adds r2, r4, 0 bl PokemonGetField adds r0, r4, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 adds r0, r7, 0 movs r1, 0x38 bl PokemonGetField @@ -320422,7 +319433,7 @@ _0809C120: adds r2, r4, 0 bl PokemonGetEncryptedField adds r0, r4, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 adds r0, r7, 0 bl sub_803B570 ldr r2, _0809C1C4 @@ -320539,7 +319550,7 @@ _0809C23C: adds r2, 0x1 adds r1, r4, r2 adds r0, r7, 0 - bl CopyString + bl StringCopy ldr r0, _0809C298 adds r1, r4, r0 movs r0, 0xFF @@ -320592,7 +319603,7 @@ _0809C2B0: ldr r2, _0809C394 adds r1, r4, r2 adds r0, r7, 0 - bl CopyString + bl StringCopy ldr r0, _0809C398 adds r7, r4, r0 mov r1, r9 @@ -320623,7 +319634,7 @@ _0809C2B0: ldr r0, _0809C3A4 adds r1, r0 adds r0, r7, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 mov r2, r9 strb r2, [r7] @@ -320750,7 +319761,7 @@ _0809C3EA: bl itemid_get_item adds r1, r0, 0 adds r0, r7, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 strb r4, [r7] movs r0, 0x7 @@ -327952,11 +326963,11 @@ _0809FC3C: bl sub_80A1E58 adds r5, r0, 0 ldr r1, _0809FCD4 - bl CopyString + bl StringCopy adds r5, r0, 0 ldr r4, _0809FCD8 adds r1, r4, 0 - bl CopyString + bl StringCopy adds r5, r0, 0 movs r0, 0xFC strb r0, [r5] @@ -328048,7 +327059,7 @@ _0809FD1C: bl sub_80A1E58 adds r5, r0, 0 ldr r1, _0809FD6C - bl CopyString + bl StringCopy adds r5, r0, 0 adds r0, r6, 0 movs r1, 0x31 @@ -328070,7 +327081,7 @@ _0809FD74: adds r5, r0, 0 ldr r1, _0809FE54 adds r0, r5, 0 - bl CopyString + bl StringCopy adds r5, r0, 0 movs r0, 0xFC strb r0, [r5] @@ -328316,7 +327327,7 @@ _0809FF6A: bl PokemonGetField adds r1, r0, 0 adds r0, r4, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r4, 0 movs r1, 0x1D movs r2, 0xE @@ -328330,7 +327341,7 @@ _0809FF6A: bl PokemonGetField adds r1, r0, 0 adds r0, r4, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r4, 0 movs r1, 0x10 movs r2, 0x9 @@ -328341,7 +327352,7 @@ _0809FF6A: bl PokemonGetField adds r1, r0, 0 adds r0, r4, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r4, 0 movs r1, 0x10 movs r2, 0xB @@ -328352,7 +327363,7 @@ _0809FF6A: bl PokemonGetField adds r1, r0, 0 adds r0, r4, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r4, 0 movs r1, 0x1B movs r2, 0x7 @@ -328363,7 +327374,7 @@ _0809FF6A: bl PokemonGetField adds r1, r0, 0 adds r0, r4, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r4, 0 movs r1, 0x1B movs r2, 0x9 @@ -328374,7 +327385,7 @@ _0809FF6A: bl PokemonGetField adds r1, r0, 0 adds r0, r4, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r4, 0 movs r1, 0x1B movs r2, 0xB @@ -329174,7 +328185,7 @@ sub_80A0664: ; 80A0664 adds r2, 0x8 adds r1, r2 adds r0, r4, 0 - bl CopyString + bl StringCopy adds r0, r4, 0 bl StripExtendedControlCodes b _080A06C2 @@ -329190,7 +328201,7 @@ _080A06B0: ands r5, r0 ldr r0, _080A06F4 ldr r1, _080A06F8 - bl CopyString + bl StringCopy _080A06C2: adds r0, r6, 0 movs r1, 0x1 @@ -329330,12 +328341,12 @@ sub_80A0798: ; 80A0798 cmp r4, 0x15 beq _080A07DA ldr r1, _080A0840 - bl CopyString + bl StringCopy adds r5, r0, 0 _080A07DA: ldr r1, _080A0844 adds r0, r5, 0 - bl CopyString + bl StringCopy adds r5, r0, 0 adds r0, r7, 0 bl sub_80A0664 @@ -329370,7 +328381,7 @@ _080A07DA: bl sub_80A1E9C adds r5, r0, 0 ldr r1, _080A084C - bl CopyString + bl StringCopy b _080A0934 .align 2 _080A0838: .4byte 0x020234cc @@ -329404,7 +328415,7 @@ _080A0850: bl sub_80A1E9C adds r5, r0, 0 ldr r1, _080A0894 - bl CopyString + bl StringCopy b _080A0934 .align 2 _080A0890: .4byte 0x020231cc @@ -329453,7 +328464,7 @@ _080A08E8: ldr r1, _080A08F8 _080A08F0: adds r0, r5, 0 - bl CopyString + bl StringCopy b _080A0934 .align 2 _080A08F8: .4byte gUnknown_0842D103 @@ -329480,7 +328491,7 @@ _080A08FC: bl sub_80A1E9C adds r5, r0, 0 ldr r1, _080A0950 - bl CopyString + bl StringCopy _080A0934: ldr r0, _080A0954 mov r1, r9 @@ -329531,7 +328542,7 @@ sub_80A0958: ; 80A0958 ldr r0, _080A0A28 adds r1, r0 adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 strb r6, [r2] movs r0, 0x13 @@ -329567,7 +328578,7 @@ sub_80A0958: ; 80A0958 adds r2, 0x1 adds r0, r2, 0 adds r1, r4, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r2, r0, 0 strb r6, [r2] mov r0, r10 @@ -329770,7 +328781,7 @@ sub_80A0B88: ; 80A0B88 bne _080A0BA8 ldr r0, _080A0BA0 ldr r1, _080A0BA4 - bl CopyString + bl StringCopy b _080A0BD8 .align 2 _080A0BA0: .4byte 0x020231cc @@ -329779,9 +328790,9 @@ _080A0BA8: ldr r4, _080A0BE8 ldr r1, _080A0BEC adds r0, r4, 0 - bl CopyString + bl StringCopy adds r0, r4, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 24 lsrs r0, 24 subs r4, 0x2 @@ -329796,7 +328807,7 @@ _080A0BA8: adds r1, r5, 0 movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN _080A0BD8: ldr r0, _080A0BF0 movs r1, 0x15 @@ -329846,7 +328857,7 @@ _080A0C2E: bl itemid_get_item adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy b _080A0C68 .align 2 _080A0C40: .4byte 0x02018000 @@ -329856,7 +328867,7 @@ _080A0C48: bne _080A0C60 ldr r0, _080A0C58 ldr r1, _080A0C5C - bl CopyString + bl StringCopy b _080A0C68 .align 2 _080A0C58: .4byte 0x020231cc @@ -329954,7 +328965,7 @@ _080A0D14: ldr r4, _080A0D54 adds r0, r4, 0 mov r1, r9 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString mov r1, r10 adds r1, 0x6 lsls r1, 24 @@ -330068,7 +329079,7 @@ sub_80A0DD0: ; 80A0DD0 adds r0, r1 ldr r1, [r0] adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 strb r5, [r2] movs r0, 0x13 @@ -330118,7 +329129,7 @@ _080A0E54: adds r0, r1 ldr r1, [r0] adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 movs r0, 0xFC strb r0, [r2] @@ -332252,7 +331263,7 @@ sub_80A1E9C: ; 80A1E9C bl sub_80A1E58 adds r6, r0, 0 adds r1, r5, 0 - bl CopyString + bl StringCopy adds r6, r0, 0 cmp r4, 0xFF beq _080A1EEC @@ -332395,7 +331406,7 @@ sub_80A1F98: ; 80A1F98 mov r9, r0 mov r1, r10 adds r3, r4, 0 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN str r7, [sp] mov r0, r9 mov r1, r8 @@ -332464,14 +331475,14 @@ sub_80A203C: ; 80A203C movs r1, 0x5 _080A2052: mov r0, sp - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r0, r4, 0 mov r1, sp movs r2, 0xE bl sub_80A1E9C adds r4, r0, 0 ldr r1, _080A2074 - bl CopyString + bl StringCopy adds r4, r0, 0 add sp, 0xC pop {r4} @@ -336801,7 +335812,7 @@ sub_80A4164: ; 80A4164 movs r4, 0x6 strb r4, [r0, 0x2] adds r0, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN pop {r4} pop {r0} bx r0 @@ -336880,7 +335891,7 @@ sub_80A41E0: ; 80A41E0 adds r0, r7, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r1, r8 strb r1, [r0] strb r6, [r0, 0x1] @@ -337436,7 +336447,7 @@ _080A4634: ldr r3, _080A46F0 adds r1, r3 adds r0, r6, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r6, r0, 0 movs r0, 0xFC strb r0, [r6] @@ -340345,7 +339356,7 @@ sub_80A5DA0: ; 80A5DA0 adds r1, r4, 0 movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN b _080A5DD8 .align 2 _080A5DC4: .4byte 0x020231cc @@ -340355,7 +339366,7 @@ _080A5DCC: adds r1, r4, 0 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN _080A5DD8: ldr r0, _080A5DF4 bl sub_80A4DA4 @@ -340698,7 +339709,7 @@ DisplayCannotDismountBikeMessage: ; 80A607C ldr r5, _080A60BC ldr r1, _080A60C0 adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders bl sub_80A7590 ldr r2, _080A60C4 adds r0, r4, 0 @@ -340918,7 +339929,7 @@ _080A6254: ldr r4, _080A628C ldr r1, _080A6290 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders bl sub_80A7590 ldr r2, _080A6294 adds r0, r5, 0 @@ -341070,7 +340081,7 @@ sub_80A6354: ; 80A6354 ldr r4, _080A63D8 ldr r1, _080A63DC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080A63E0 adds r0, r5, 0 adds r1, r4, 0 @@ -341090,7 +340101,7 @@ _080A63E4: ldr r4, _080A6400 ldr r1, _080A6404 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080A6408 adds r0, r5, 0 adds r1, r4, 0 @@ -341339,7 +340350,7 @@ sub_80A65AC: ; 80A65AC ldr r4, _080A660C ldr r1, _080A6610 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080A6614 adds r0, r5, 0 adds r1, r4, 0 @@ -341475,11 +340486,11 @@ _080A66B4: adds r0, r4, 0 movs r2, 0 movs r3, 0x6 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r4, _080A6738 ldr r1, _080A673C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080A6740 adds r0, r5, 0 adds r1, r4, 0 @@ -341610,7 +340621,7 @@ BuyMenuDisplayMessage: ; 80A67F4 adds r0, r6, 0 movs r2, 0 movs r3, 0x6 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN pop {r4-r6} pop {r0} bx r0 @@ -341953,7 +340964,7 @@ sub_80A6A84: ; 80A6A84 ldrsh r1, [r2, r3] movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r0, 0x7 movs r1, 0x6 movs r2, 0xB @@ -347161,10 +346172,10 @@ itemid_copy_name: ; 80A9224 bl GetBerryInfo adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r1, _080A9248 adds r0, r4, 0 - bl AppendString + bl StringAppend b _080A9258 .align 2 _080A9248: .4byte gUnknown_0840E6D4 @@ -347172,7 +346183,7 @@ _080A924C: bl itemid_get_item adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy _080A9258: pop {r4} pop {r0} @@ -349373,12 +348384,12 @@ sub_80AA280: ; 80AA280 ldr r4, _080AA2EC ldr r1, _080AA2F0 adds r0, r4, 0 - bl CopyString + bl StringCopy lsls r1, r7, 6 ldr r0, _080AA2F4 adds r1, r0 adds r0, r4, 0 - bl AppendString + bl StringAppend movs r5, 0 ldr r6, _080AA2F8 adds r0, r6, 0x1 @@ -349459,7 +348470,7 @@ sub_80AA340: ; 80AA340 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080AA380 ldr r1, _080AA384 ldrb r3, [r1] @@ -349493,7 +348504,7 @@ sub_80AA388: ; 80AA388 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080AA3C8 ldr r1, _080AA3CC ldrb r3, [r1, 0x2] @@ -349527,7 +348538,7 @@ sub_80AA3D0: ; 80AA3D0 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080AA410 ldr r1, _080AA414 ldrb r3, [r1, 0x4] @@ -349561,7 +348572,7 @@ sub_80AA418: ; 80AA418 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080AA458 ldr r1, _080AA45C ldrb r3, [r1, 0x6] @@ -349595,7 +348606,7 @@ sub_80AA460: ; 80AA460 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080AA4A0 ldr r1, _080AA4A4 ldrb r3, [r1, 0x8] @@ -349629,7 +348640,7 @@ sub_80AA4A8: ; 80AA4A8 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080AA4E8 ldr r1, _080AA4EC ldrb r3, [r1, 0xA] @@ -349716,7 +348727,7 @@ sub_80AA4F0: ; 80AA4F0 ldrh r1, [r4] movs r2, 0x2 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r5, r6 lsls r5, 17 movs r0, 0xFA @@ -349810,7 +348821,7 @@ sub_80AA614: ; 80AA614 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080AA654 movs r1, 0xC str r1, [sp] @@ -350823,7 +349834,7 @@ sub_80AAD84: ; 80AAD84 str r0, [r4, 0x8] ldr r0, [r4, 0x8] mov r0, r9 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r7, r0, 16 cmp r7, 0x8 @@ -350992,7 +350003,7 @@ _080AAF08: _080AAF12: movs r2, 0 movs r3, 0x8 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, sp adds r1, r7, 0 adds r2, r6, 0 @@ -352509,7 +351520,7 @@ sub_80ABB70: ; 80ABB70 bne _080ABBD4 ldr r0, _080ABBCC ldr r1, _080ABBD0 - bl CopyString + bl StringCopy b _080ABBDC .align 2 _080ABBB0: .4byte 0x030042a0 @@ -352524,7 +351535,7 @@ _080ABBD0: .4byte gUnknown_083CAF84 _080ABBD4: ldr r0, _080ABC20 ldr r1, _080ABC24 - bl CopyString + bl StringCopy _080ABBDC: ldr r5, _080ABC20 ldr r0, _080ABC28 @@ -352536,7 +351547,7 @@ _080ABBDC: ldr r4, _080ABC2C adds r0, r4, 0 adds r1, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080ABC30 movs r2, 0xC2 lsls r2, 2 @@ -352760,7 +351771,7 @@ _080ABDA0: add r0, sp, 0x8 ldr r1, _080ABE78 _080ABDC6: - bl CopyString + bl StringCopy adds r5, r0, 0 _080ABDCC: movs r0, 0xD @@ -352769,7 +351780,7 @@ _080ABDCC: ldr r0, _080ABE7C adds r1, r0 adds r0, r5, 0 - bl CopyString + bl StringCopy lsls r1, r6, 2 adds r2, r1, r6 lsls r2, 18 @@ -352947,7 +351958,7 @@ _080ABF26: bne _080ABF78 ldr r0, _080ABF70 ldr r1, _080ABF74 - bl CopyString + bl StringCopy b _080ABF80 .align 2 _080ABF64: .4byte 0x03004210 @@ -352958,7 +351969,7 @@ _080ABF74: .4byte gUnknown_083CAF84 _080ABF78: ldr r0, _080ABFC8 ldr r1, _080ABFCC - bl CopyString + bl StringCopy _080ABF80: ldr r5, _080ABFC8 ldr r0, _080ABFD0 @@ -352970,7 +351981,7 @@ _080ABF80: ldr r4, _080ABFD4 adds r0, r4, 0 adds r1, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080ABFD8 movs r2, 0xC2 lsls r2, 2 @@ -353740,7 +352751,7 @@ _080AC664: lsls r1, r7, 6 ldr r2, _080AC694 adds r1, r2 - bl CopyString + bl StringCopy ldrh r1, [r5, 0x6] movs r0, 0xB1 lsls r0, 1 @@ -353752,7 +352763,7 @@ _080AC664: muls r1, r2 ldr r2, _080AC69C adds r1, r2 - bl CopyString + bl StringCopy b _080AC6B0 .align 2 _080AC690: .4byte 0x020231cc @@ -353766,12 +352777,12 @@ _080AC6A0: lsls r1, 2 adds r1, r2 ldr r1, [r1] - bl CopyString + bl StringCopy _080AC6B0: ldr r4, _080AC6E8 ldr r1, _080AC6EC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080AC6F0 movs r2, 0xC2 lsls r2, 2 @@ -354681,11 +353692,11 @@ _080ACE0A: lsls r1, r7, 6 ldr r2, _080ACE50 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _080ACE54 ldr r1, _080ACE58 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080ACE5C movs r2, 0xC2 lsls r2, 2 @@ -354823,11 +353834,11 @@ _080ACF48: lsls r1, r7, 6 ldr r2, _080ACF94 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _080ACF98 ldr r1, _080ACF9C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080ACFA0 movs r2, 0xC2 lsls r2, 2 @@ -354967,11 +353978,11 @@ _080AD070: lsls r1, r7, 6 ldr r2, _080AD0D4 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _080AD0D8 ldr r1, _080AD0DC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080AD0E0 movs r2, 0xC2 lsls r2, 2 @@ -355132,7 +354143,7 @@ _080AD1D0: muls r1, r2 ldr r2, _080AD200 adds r1, r2 - bl CopyString + bl StringCopy b _080AD21E .align 2 _080AD1FC: .4byte 0x020233cc @@ -355149,7 +354160,7 @@ _080AD204: lsrs r1, 27 adds r1, r3 ldr r1, [r1] - bl CopyString + bl StringCopy _080AD21E: lsls r0, r4, 24 cmp r0, 0 @@ -355171,7 +354182,7 @@ _080AD23A: lsls r1, r7, 6 ldr r2, _080AD284 adds r1, r2 - bl CopyString + bl StringCopy ldr r3, _080AD288 ldrb r0, [r3, 0x13] lsls r1, r4, 24 @@ -355205,7 +354216,7 @@ _080AD290: bge _080AD2A8 ldr r0, _080AD2A0 ldr r1, _080AD2A4 - bl PrintSimple + bl StringExpandPlaceholders b _080AD2D0 .align 2 _080AD2A0: .4byte 0x020234cc @@ -355219,7 +354230,7 @@ _080AD2A8: bgt _080AD2C8 ldr r0, _080AD2C0 ldr r1, _080AD2C4 - bl PrintSimple + bl StringExpandPlaceholders b _080AD2D0 .align 2 _080AD2C0: .4byte 0x020234cc @@ -355227,7 +354238,7 @@ _080AD2C4: .4byte gUnknown_083CC0A0 _080AD2C8: ldr r0, _080AD300 ldr r1, _080AD304 - bl PrintSimple + bl StringExpandPlaceholders _080AD2D0: ldr r0, _080AD308 ldr r1, _080AD300 @@ -355554,11 +354565,11 @@ _080AD53C: lsls r1, 6 ldr r5, _080AD5B0 adds r1, r5 - bl CopyString + bl StringCopy ldr r0, _080AD5B4 lsls r1, r7, 6 adds r1, r5 - bl CopyString + bl StringCopy ldr r0, _080AD5B8 lsls r1, r7, 3 subs r1, r7 @@ -355570,11 +354581,11 @@ _080AD53C: muls r1, r2 ldr r2, _080AD5BC adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _080AD5C0 ldr r1, _080AD5C4 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080AD5C8 movs r2, 0xC2 lsls r2, 2 @@ -355616,7 +354627,7 @@ _080AD5E0: ldr r4, _080AD618 ldr r1, _080AD61C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders movs r2, 0xC2 lsls r2, 2 movs r0, 0xF @@ -355677,18 +354688,18 @@ _080AD664: lsls r1, r7, 6 ldr r2, _080AD6BC adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080AD6C0 ldrh r2, [r4, 0x6] movs r1, 0xD muls r1, r2 ldr r2, _080AD6C4 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _080AD6C8 ldr r1, _080AD6CC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080AD6D0 movs r2, 0xC2 lsls r2, 2 @@ -355860,11 +354871,11 @@ _080AD7E8: lsls r1, r7, 6 ldr r2, _080AD82C adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _080AD830 ldr r1, _080AD834 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080AD838 movs r2, 0xC2 lsls r2, 2 @@ -356355,14 +355366,14 @@ sub_80ADB88: ; 80ADB88 lsls r1, 6 ldr r2, _080ADBF8 adds r1, r2 - bl CopyString + bl StringCopy ldr r6, _080ADBFC ldr r0, _080ADC00 lsls r4, 2 adds r4, r0 ldr r1, [r4] adds r0, r6, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080ADC04 movs r2, 0xC2 lsls r2, 2 @@ -356650,7 +355661,7 @@ _080ADDBC: ldr r4, _080ADE40 ldr r1, _080ADE44 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080ADE48 movs r2, 0xC2 lsls r2, 2 @@ -356938,11 +355949,11 @@ _080AE028: adds r0, r4, 0 movs r2, 0 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r1, 0xFF strb r1, [r0] adds r1, r4, 0x2 - bl AppendString + bl StringAppend _080AE04C: pop {r4} pop {r0} @@ -357001,7 +356012,7 @@ sub_80AE098: ; 80AE098 ldr r6, _080AE0F0 mov r0, sp adds r1, r6, 0 - bl CopyString + bl StringCopy mov r0, sp bl StripExtendedControlCodes ldr r0, _080AE0F4 @@ -357077,7 +356088,7 @@ _080AE108: mov r2, sp bl PokemonGetField mov r0, sp - bl GetStringEnd_Limit7 + bl StringGetEnd10 ldr r0, _080AE188 ldrb r1, [r0] movs r0, 0x1 @@ -357633,11 +356644,11 @@ PutWindowTilemap: ; 80AE598 lsls r4, r2, 24 lsrs r4, 24 ldr r1, _080AE5B8 - bl CopyString + bl StringCopy strb r4, [r0] adds r0, 0x1 adds r1, r5, 0 - bl CopyString + bl StringCopy pop {r4,r5} pop {r1} bx r1 @@ -357701,7 +356712,7 @@ sub_80AE5D4: ; 80AE5D4 adds r1, 0x8 adds r1, r2, r1 adds r0, r3, 0 - bl CopyString + bl StringCopy ldr r0, _080AE670 ldr r1, _080AE660 ldr r2, _080AE674 @@ -357742,7 +356753,7 @@ _080AE67C: ldr r0, _080AE6B8 adds r1, r0 adds r0, r3, 0 - bl CopyString + bl StringCopy ldr r0, _080AE6BC ldr r1, _080AE6C0 ldr r2, _080AE6C4 @@ -362996,7 +362007,7 @@ _080B0E08: asrs r1, 16 movs r2, 0 movs r3, 0x4 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080B0EE4 adds r0, r4, r0 ldrb r0, [r0] @@ -363052,7 +362063,7 @@ _080B0E78: asrs r1, 16 movs r2, 0 movs r3, 0x4 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080B0EE4 adds r0, r4, r0 ldrb r1, [r0] @@ -363862,7 +362873,7 @@ sub_80B146C: ; 80B146C lsls r1, r4, 6 ldr r2, _080B14CC adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080B14D0 lsls r1, r4, 3 subs r1, r4 @@ -363874,7 +362885,7 @@ sub_80B146C: ; 80B146C muls r1, r2 ldr r2, _080B14D8 adds r1, r2 - bl CopyString + bl StringCopy ldr r2, _080B14DC adds r0, r4, 0 adds r0, 0x70 @@ -363892,7 +362903,7 @@ sub_80B146C: ; 80B146C bne _080B14E8 ldr r0, _080B14E0 ldr r1, _080B14E4 - bl CopyString + bl StringCopy b _080B1538 .align 2 _080B14C8: .4byte 0x020231cc @@ -363909,7 +362920,7 @@ _080B14E8: bne _080B1500 ldr r0, _080B14F8 ldr r1, _080B14FC - bl CopyString + bl StringCopy b _080B1538 .align 2 _080B14F8: .4byte 0x020233cc @@ -363920,7 +362931,7 @@ _080B1500: bne _080B1518 ldr r0, _080B1510 ldr r1, _080B1514 - bl CopyString + bl StringCopy b _080B1538 .align 2 _080B1510: .4byte 0x020233cc @@ -363931,7 +362942,7 @@ _080B1518: bne _080B1530 ldr r0, _080B1528 ldr r1, _080B152C - bl CopyString + bl StringCopy b _080B1538 .align 2 _080B1528: .4byte 0x020233cc @@ -363939,7 +362950,7 @@ _080B152C: .4byte gUnknown_083CC299 _080B1530: ldr r0, _080B1568 ldr r1, _080B156C - bl CopyString + bl StringCopy _080B1538: ldr r4, _080B1570 ldr r1, _080B1574 @@ -363947,7 +362958,7 @@ _080B1538: adds r0, r1 ldr r1, [r0] adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders bl sub_80AF138 ldr r0, _080B1578 movs r2, 0xC2 @@ -364522,7 +363533,7 @@ sub_80B19D0: ; 80B19D0 sub sp, 0x18 ldr r1, _080B19F4 add r0, sp, 0x4 - bl CopyString + bl StringCopy ldr r0, _080B19F8 movs r2, 0xAA lsls r2, 2 @@ -366789,7 +365800,7 @@ _080B2B16: adds r1, r5, 0x2 adds r1, r6, r1 str r2, [sp] - bl CopyString + bl StringCopy ldr r2, [sp] ldr r0, _080B2BAC adds r2, r0 @@ -366798,7 +365809,7 @@ _080B2B16: adds r6, r5 adds r0, r4, 0 adds r1, r6, 0 - bl CopyString + bl StringCopy mov r1, r9 cmp r1, 0xFF beq _080B2BB8 @@ -366846,7 +365857,7 @@ _080B2BC4: adds r1, r2, 0x2 adds r1, r4, r1 str r2, [sp] - bl CopyString + bl StringCopy ldr r0, _080B2C1C ldrb r1, [r0] movs r0, 0x1 @@ -366861,7 +365872,7 @@ _080B2BC4: lsls r1, 2 ldr r2, _080B2C20 adds r1, r2 - bl CopyString + bl StringCopy b _080B2C32 .align 2 _080B2C14: .4byte 0x02015de0 @@ -366874,7 +365885,7 @@ _080B2C24: adds r1, r2, 0 adds r1, 0xD adds r1, r4, r1 - bl CopyString + bl StringCopy _080B2C32: ldr r0, _080B2C48 strb r7, [r0, 0xA] @@ -368445,7 +367456,7 @@ sub_80B37F8: ; 80B37F8 ldrsh r1, [r5, r2] movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080B3890 movs r1, 0x1 movs r2, 0xB @@ -368574,7 +367585,7 @@ _080B395A: mov r8, r0 adds r1, r6, r0 adds r0, r2, 0 - bl CopyString + bl StringCopy ldr r5, _080B39A0 mov r0, r9 lsls r7, r0, 3 @@ -369016,7 +368027,7 @@ _080B3CF0: ldr r4, _080B3D08 ldr r1, _080B3D0C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080B3D10 ldr r3, _080B3D14 adds r0, r5, 0 @@ -369199,17 +368210,17 @@ _080B3DEE: ldrsh r1, [r5, r2] movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080B3EC4 mov r2, r8 ldr r1, [r2] movs r2, 0 movs r3, 0x8 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r4, _080B3EC8 ldr r1, _080B3ECC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080B3ED0 ldr r3, _080B3ED4 adds r0, r6, 0 @@ -369671,7 +368682,7 @@ _080B41CE: ldr r4, _080B427C ldr r1, _080B4280 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080B4284 ldr r3, _080B4288 adds r0, r7, 0 @@ -369736,18 +368747,18 @@ _080B42E0: lsls r1, 5 adds r2, r4, 0x1 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080B431C ldr r1, [r5] movs r2, 0 movs r3, 0x8 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldrb r0, [r6, 0xC] cmp r0, 0x1 bne _080B4328 ldr r0, _080B4320 ldr r1, _080B4324 - bl PrintSimple + bl StringExpandPlaceholders b _080B4330 .align 2 _080B4318: .4byte 0x020231cc @@ -369757,7 +368768,7 @@ _080B4324: .4byte gUnknown_0840ED01 _080B4328: ldr r0, _080B4340 ldr r1, _080B4344 - bl PrintSimple + bl StringExpandPlaceholders _080B4330: ldr r1, _080B4340 ldr r2, _080B4348 @@ -373250,7 +372261,7 @@ NamingScreen_Init: ; 80B5D54 beq _080B5DB2 ldr r1, [r4, 0x38] adds r0, r5, 0 - bl CopyString + bl StringCopy _080B5DB2: movs r0, 0x10 strh r0, [r6] @@ -376430,7 +375441,7 @@ _080B74C4: lsls r2, 24 lsrs r2, 24 adds r1, r4, 0 - bl CopyString_LimitN + bl StringCopyN b _080B74F6 .align 2 _080B74E4: .4byte 0x02000000 @@ -376454,11 +375465,11 @@ sub_80B74FC: ; 80B74FC ldr r0, _080B7528 ldr r1, _080B752C ldr r1, [r1, 0x38] - bl CopyString + bl StringCopy ldr r4, _080B7530 ldr r1, _080B7534 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080B7538 bl sub_8071E2C bl sub_8071FFC @@ -377003,7 +376014,7 @@ sub_80B78F8: ; 80B78F8 muls r1, r2 ldr r2, _080B791C adds r1, r2 - bl CopyString + bl StringCopy pop {r0} bx r0 .align 2 @@ -377068,7 +376079,7 @@ sub_80B7960: ; 80B7960 adds r0, 0x6 ldr r4, _080B79A0 adds r1, r4, 0 - bl CopyString + bl StringCopy ldr r0, _080B79A4 bl sub_8071E2C ldr r0, _080B799C @@ -377209,7 +376220,7 @@ _080B7A6C: strb r0, [r3] adds r3, 0x1 adds r0, r3, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r3, r0, 0 movs r0, 0xFC strb r0, [r3] @@ -377289,7 +376300,7 @@ sub_80B7AEC: ; 80B7AEC adds r6, 0x1 adds r0, r6, 0 adds r1, r3, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r6, r0, 0 mov r0, sp adds r1, r4, 0 @@ -381038,7 +380049,7 @@ _080B9734: adds r0, r4, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r0, 0x5 b _080B97D4 .align 2 @@ -382133,7 +381144,7 @@ sub_80B9F3C: ; 80B9F3C bl VarSet ldr r0, _080B9FA8 ldr r1, _080B9FAC - bl CopyString + bl StringCopy ldrh r1, [r4] ldr r0, _080B9FB0 cmp r1, r0 @@ -382167,7 +381178,7 @@ _080B9FC8: bl VarSet ldr r0, _080B9FF0 ldr r1, _080B9FF4 - bl CopyString + bl StringCopy b _080BA000 .align 2 _080B9FEC: .4byte 0x00004001 @@ -385320,7 +384331,7 @@ _080BB8E2: adds r0, r5, 0 adds r1, r6, 0 adds r2, r4, 0 - bl CopyString_LimitN + bl StringCopyN ldrb r0, [r6, 0x8] subs r5, 0x1 movs r1, 0x1 @@ -386408,12 +385419,12 @@ sub_80BC190: ; 80BC190 lsrs r2, 24 adds r0, r5, 0 adds r1, r4, 0 - bl CopyString_LimitN + bl StringCopyN movs r1, 0xFF strb r1, [r0] ldr r1, _080BC1CC adds r0, r5, 0 - bl AppendString + bl StringAppend pop {r4,r5} pop {r1} bx r1 @@ -386482,7 +385493,7 @@ sub_80BC224: ; 80BC224 lsrs r2, 24 adds r0, r5, 0 adds r1, r4, 0 - bl CopyString_LimitN + bl StringCopyN movs r1, 0xFF strb r1, [r0] pop {r4,r5} @@ -387558,7 +386569,7 @@ sub_80BCA84: ; 80BCA84 ldr r4, _080BCAE0 ldr r1, _080BCAE4 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080BCAE8 adds r0, r5, 0 adds r1, r4, 0 @@ -390360,11 +389371,11 @@ _080BDFDE: strb r0, [r5, 0xF] adds r0, r3, 0 mov r1, r8 - bl CopyString + bl StringCopy ldr r4, _080BE024 adds r0, r6, 0 adds r1, r4, 0 - bl CopyString + bl StringCopy subs r4, 0x2A ldrh r0, [r4, 0x28] strh r0, [r5, 0x10] @@ -390500,7 +389511,7 @@ _080BE0A2: adds r0, r4, 0 adds r0, 0x13 ldr r1, _080BE134 - bl CopyString + bl StringCopy adds r0, r4, 0 bl sub_80BE138 movs r0, 0x2 @@ -390590,13 +389601,13 @@ sub_80BE188: ; 80BE188 adds r0, r4, 0 adds r0, 0x16 ldr r1, _080BE238 - bl CopyString + bl StringCopy adds r5, r4, 0 adds r5, 0x8 adds r1, r6, 0 adds r1, 0x8 adds r0, r5, 0 - bl CopyString + bl StringCopy ldrb r0, [r6, 0x13] lsls r0, 29 lsrs r0, 29 @@ -390778,12 +389789,12 @@ sub_80BE320: ; 80BE320 adds r0, r6, 0x2 ldr r4, _080BE38C adds r1, r4, 0 - bl CopyString + bl StringCopy adds r0, r6, 0 adds r0, 0xC ldr r2, _080BE390 adds r1, r4, r2 - bl CopyString + bl StringCopy movs r1, 0x90 lsls r1, 3 adds r0, r4, r1 @@ -390902,7 +389913,7 @@ _080BE420: adds r0, r5, 0 adds r0, 0x13 ldr r1, _080BE474 - bl CopyString + bl StringCopy adds r0, r5, 0 bl sub_80BE138 movs r0, 0x2 @@ -390945,13 +389956,13 @@ sub_80BE478: ; 80BE478 ldr r1, _080BE564 mov r9, r1 mov r0, r9 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 bls _080BE548 adds r0, r4, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -390994,7 +390005,7 @@ sub_80BE478: ; 80BE478 adds r0, r4, 0 adds r0, 0xF mov r1, r9 - bl CopyString + bl StringCopy mov r1, r8 ldrh r0, [r1] muls r0, r7 @@ -391119,7 +390130,7 @@ sub_80BE5FC: ; 80BE5FC adds r0, r4, 0 adds r0, 0x10 ldr r1, _080BE654 - bl CopyString + bl StringCopy bl sub_810F87C lsls r0, 24 lsrs r0, 24 @@ -391165,7 +390176,7 @@ sub_80BE65C: ; 80BE65C adds r0, r4, 0 adds r0, 0x10 ldr r1, _080BE69C - bl CopyString + bl StringCopy strh r6, [r4, 0x2] adds r0, r4, 0 bl sub_80BE160 @@ -391228,7 +390239,7 @@ sub_80BE6A0: ; 80BE6A0 strb r1, [r4, 0x4] adds r0, r4, 0x5 ldr r1, _080BE770 - bl CopyString + bl StringCopy bl sub_810F87C lsls r0, 24 lsrs r0, 24 @@ -391631,7 +390642,7 @@ sub_80BE9D4: ; 80BE9D4 adds r0, r4, 0 adds r0, 0x13 ldr r1, _080BEA4C - bl CopyString + bl StringCopy adds r0, r4, 0 bl sub_80BE138 movs r0, 0x2 @@ -391735,7 +390746,7 @@ sub_80BEA88: ; 80BEA88 adds r0, r4, 0 adds r0, 0x13 ldr r1, _080BEB1C - bl CopyString + bl StringCopy adds r0, r4, 0 bl sub_80BE138 movs r0, 0x2 @@ -392054,7 +391065,7 @@ _080BED5C: ldr r0, _080BED90 movs r2, 0 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080BED94 adds r1, r4, r0 movs r0, 0 @@ -392312,7 +391323,7 @@ _080BEF34: ldr r0, [r0] ldr r1, _080BEF4C ldr r1, [r1, 0x14] - bl CopyString + bl StringCopy b _080BEF98 .align 2 _080BEF48: .4byte gUnknown_083D1464 @@ -392324,7 +391335,7 @@ _080BEF50: ldr r0, [r0] ldr r1, _080BEF68 ldr r1, [r1, 0x18] - bl CopyString + bl StringCopy b _080BEF98 .align 2 _080BEF64: .4byte gUnknown_083D1464 @@ -392336,7 +391347,7 @@ _080BEF6C: ldr r0, [r0] ldr r1, _080BEF84 ldr r1, [r1, 0x1C] - bl CopyString + bl StringCopy b _080BEF98 .align 2 _080BEF80: .4byte gUnknown_083D1464 @@ -392348,7 +391359,7 @@ _080BEF88: ldr r0, [r0] ldr r1, _080BEFA0 ldr r1, [r1, 0x20] - bl CopyString + bl StringCopy _080BEF98: pop {r0} bx r0 @@ -392387,7 +391398,7 @@ _080BEFD4: ldr r0, [r0] ldr r1, _080BEFEC ldr r1, [r1] - bl CopyString + bl StringCopy b _080BF054 .align 2 _080BEFE8: .4byte gUnknown_083D1464 @@ -392399,7 +391410,7 @@ _080BEFF0: ldr r0, [r0] ldr r1, _080BF008 ldr r1, [r1, 0x4] - bl CopyString + bl StringCopy b _080BF054 .align 2 _080BF004: .4byte gUnknown_083D1464 @@ -392411,7 +391422,7 @@ _080BF00C: ldr r0, [r0] ldr r1, _080BF024 ldr r1, [r1, 0x8] - bl CopyString + bl StringCopy b _080BF054 .align 2 _080BF020: .4byte gUnknown_083D1464 @@ -392423,7 +391434,7 @@ _080BF028: ldr r0, [r0] ldr r1, _080BF040 ldr r1, [r1, 0xC] - bl CopyString + bl StringCopy b _080BF054 .align 2 _080BF03C: .4byte gUnknown_083D1464 @@ -392435,7 +391446,7 @@ _080BF044: ldr r0, [r0] ldr r1, _080BF05C ldr r1, [r1, 0x10] - bl CopyString + bl StringCopy _080BF054: pop {r0} bx r0 @@ -392484,7 +391495,7 @@ sub_80BF088: ; 80BF088 lsrs r3, 24 adds r1, r5, 0 movs r2, 0 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN pop {r4,r5} pop {r0} bx r0 @@ -392853,7 +391864,7 @@ sub_80BF334: ; 80BF334 ldr r0, _080BF398 adds r1, r0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r0, _080BF39C movs r1, 0 ldrsb r1, [r0, r1] @@ -392932,7 +391943,7 @@ sub_80BF3DC: ; 80BF3DC ldr r0, _080BF45C adds r1, r0 adds r0, r6, 0 - bl CopyString + bl StringCopy bl sub_810F87C lsls r0, 24 lsrs r0, 24 @@ -392943,7 +391954,7 @@ sub_80BF3DC: ; 80BF3DC adds r2, r4, 0 bl PokemonGetField adds r0, r4, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 ldr r0, _080BF464 movs r1, 0 ldrsb r1, [r0, r1] @@ -393247,7 +392258,7 @@ sub_80BF638: ; 80BF638 muls r1, r5 ldr r2, _080BF670 adds r1, r2 - bl CopyString + bl StringCopy adds r0, r5, 0 pop {r4,r5} pop {r1} @@ -393539,7 +392550,7 @@ _080BF844: ldr r4, [sp, 0x20] adds r4, 0xF adds r0, r4, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r2, r0, 16 cmp r6, 0 @@ -393581,7 +392592,7 @@ _080BF8A6: ldr r4, [sp, 0x20] adds r4, 0x4 adds r0, r4, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r2, r0, 16 cmp r6, 0 @@ -393622,7 +392633,7 @@ _080BF8F4: muls r4, r0 ldr r7, _080BF910 adds r0, r4, r7 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r2, r0, 16 cmp r6, 0 @@ -393678,7 +392689,7 @@ _080BF954: adds r1, r0 ldr r0, [r1] mov r1, sp - bl CopyString + bl StringCopy add sp, 0x4 pop {r3} mov r8, r3 @@ -393881,7 +392892,7 @@ sub_80BFAE0: ; 80BFAE0 adds r2, r4, 0 bl PokemonGetField adds r0, r4, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 pop {r4} pop {r0} bx r0 @@ -394056,7 +393067,7 @@ GetMomOrDadStringForTVMessage: ; 80BFC10 bne _080BFC6C ldr r0, _080BFC48 ldr r1, _080BFC4C - bl CopyString + bl StringCopy ldr r0, _080BFC50 movs r1, 0x1 bl VarSet @@ -394074,7 +393085,7 @@ _080BFC54: bne _080BFC6C ldr r0, _080BFCB4 ldr r1, _080BFCB8 - bl CopyString + bl StringCopy ldr r0, _080BFCBC movs r1, 0x1 bl VarSet @@ -394109,7 +393120,7 @@ _080BFC6C: _080BFCAA: ldr r0, _080BFCB4 ldr r1, _080BFCB8 - bl CopyString + bl StringCopy b _080BFD10 .align 2 _080BFCB4: .4byte 0x020231cc @@ -394118,7 +393129,7 @@ _080BFCBC: .4byte 0x00004003 _080BFCC0: ldr r0, _080BFCCC ldr r1, _080BFCD0 - bl CopyString + bl StringCopy b _080BFD10 .align 2 _080BFCCC: .4byte 0x020231cc @@ -394133,7 +393144,7 @@ _080BFCD4: beq _080BFD00 ldr r0, _080BFCF8 ldr r1, _080BFCFC - bl CopyString + bl StringCopy adds r0, r4, 0 movs r1, 0x1 bl VarSet @@ -394144,7 +393155,7 @@ _080BFCFC: .4byte gUnknown_0840FF36 _080BFD00: ldr r0, _080BFD18 ldr r1, _080BFD1C - bl CopyString + bl StringCopy adds r0, r4, 0 movs r1, 0x2 bl VarSet @@ -395679,7 +394690,7 @@ sub_80C08FC: ; 80C08FC adds r5, r0, 0 lsls r4, r2, 24 lsrs r4, 24 - bl CopyString + bl StringCopy cmp r4, 0x1 bhi _080C0914 adds r0, r5, 0 @@ -395778,7 +394789,7 @@ _080C09D8: muls r1, r2 ldr r2, _080C0A08 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C0A0C adds r1, r4, 0 adds r1, 0x8 @@ -395898,14 +394909,14 @@ _080C0AEC: muls r1, r2 ldr r2, _080C0B20 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C0B24 ldrh r2, [r4, 0x14] movs r1, 0xD muls r1, r2 ldr r2, _080C0B28 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C0B2C ldrh r1, [r4, 0x6] bl sub_80EB3FC @@ -395931,7 +394942,7 @@ _080C0B34: muls r1, r2 ldr r2, _080C0B60 adds r1, r2 - bl CopyString + bl StringCopy bl TVShowDone b _080C0B7A .align 2 @@ -395945,7 +394956,7 @@ _080C0B64: muls r1, r2 ldr r2, _080C0B90 adds r1, r2 - bl CopyString + bl StringCopy _080C0B74: ldr r1, _080C0B94 movs r0, 0x2 @@ -396026,7 +395037,7 @@ _080C0C18: muls r1, r2 ldr r2, _080C0C48 adds r1, r2 - bl CopyString + bl StringCopy ldrh r0, [r4, 0x16] cmp r0, 0x6 bls _080C0C50 @@ -396098,7 +395109,7 @@ _080C0CB0: muls r1, r2 ldr r2, _080C0CD8 adds r1, r2 - bl CopyString + bl StringCopy b _080C0CA2 .align 2 _080C0CD0: .4byte 0x020231cc @@ -396116,7 +395127,7 @@ _080C0CDC: muls r1, r2 ldr r2, _080C0D10 adds r1, r2 - bl CopyString + bl StringCopy ldrb r0, [r4, 0x1B] cmp r0, 0 bne _080C0D18 @@ -396222,7 +395233,7 @@ _080C0DC0: muls r1, r2 ldr r2, _080C0DF8 adds r1, r2 - bl CopyString + bl StringCopy bl TVShowDone _080C0DDE: ldr r0, _080C0DFC @@ -396325,7 +395336,7 @@ _080C0EB0: bl itemid_get_item adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldrh r1, [r5, 0xC] movs r0, 0x2 bl sub_80BF088 @@ -396382,7 +395393,7 @@ _080C0F34: bl itemid_get_item adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldrh r1, [r5, 0xE] movs r0, 0x2 bl sub_80BF088 @@ -396402,7 +395413,7 @@ _080C0F64: bl itemid_get_item adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldrh r1, [r5, 0x10] movs r0, 0x2 bl sub_80BF088 @@ -396452,7 +395463,7 @@ _080C0FC0: bl itemid_get_item adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldrb r0, [r5, 0x2] cmp r0, 0x1 bne _080C0FF8 @@ -396558,7 +395569,7 @@ _080C10C0: muls r1, r2 ldr r2, _080C10FC adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C1100 adds r1, r6, 0x4 ldrb r2, [r6, 0x1F] @@ -396764,7 +395775,7 @@ _080C127C: ldr r0, _080C12CC adds r1, r0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldrh r0, [r6, 0x2] str r0, [sp] str r6, [sp, 0x4] @@ -396838,7 +395849,7 @@ _080C1314: ldr r0, _080C1364 adds r1, r0 adds r0, r4, 0 - bl CopyString + bl StringCopy _080C1354: ldr r1, _080C1368 movs r0, 0x12 @@ -396936,7 +395947,7 @@ _080C141C: muls r1, r2 ldr r2, _080C1458 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C145C adds r1, r5, 0x4 ldrb r2, [r5, 0x3] @@ -396971,7 +395982,7 @@ _080C1476: bl itemid_get_item adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldrb r1, [r5, 0x12] movs r0, 0x2 bl sub_80BF088 @@ -397004,7 +396015,7 @@ _080C14B0: muls r1, r2 ldr r2, _080C14E0 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C14E4 adds r1, r5, 0x4 ldrb r2, [r5, 0x3] @@ -397031,7 +396042,7 @@ _080C14EE: muls r1, r2 ldr r2, _080C151C adds r1, r2 - bl CopyString + bl StringCopy _080C150A: ldr r1, _080C1520 movs r0, 0x6 @@ -397054,7 +396065,7 @@ _080C1524: muls r1, r2 ldr r2, _080C156C adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C1570 adds r1, r5, 0x4 ldrb r2, [r5, 0x3] @@ -397083,7 +396094,7 @@ _080C1578: muls r1, r4 ldr r2, _080C15A0 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C15A4 adds r1, r5, 0x4 ldrb r2, [r5, 0x3] @@ -397103,7 +396114,7 @@ _080C15A8: muls r1, r4 ldr r2, _080C15CC adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C15D0 adds r1, r5, 0x4 ldrb r2, [r5, 0x3] @@ -397183,7 +396194,7 @@ _080C1650: muls r1, r2 ldr r2, _080C167C adds r1, r2 - bl CopyString + bl StringCopy ldr r1, _080C1680 movs r0, 0x1 strb r0, [r1] @@ -397209,7 +396220,7 @@ _080C1684: muls r1, r2 ldr r2, _080C16C4 adds r1, r2 - bl CopyString + bl StringCopy ldrb r0, [r4, 0x11] cmp r0, 0x1 bne _080C16CC @@ -397386,7 +396397,7 @@ _080C1864: muls r1, r2 ldr r2, _080C1890 adds r1, r2 - bl CopyString + bl StringCopy ldr r1, _080C1894 movs r0, 0x32 strb r0, [r1] @@ -397691,7 +396702,7 @@ _080C1B46: muls r1, r2 ldr r2, _080C1B80 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C1B84 adds r1, r4, 0 adds r1, 0x10 @@ -397718,7 +396729,7 @@ _080C1B88: muls r1, r2 ldr r2, _080C1BB8 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C1BBC ldrh r1, [r4, 0x1C] bl sub_80EB3FC @@ -397779,7 +396790,7 @@ DoTVShowPokemonNewsMassOutbreak: ; 80C1BF8 muls r1, r2 ldr r2, _080C1C50 adds r1, r2 - bl CopyString + bl StringCopy bl TVShowDone bl StartMassOutbreak ldr r1, _080C1C54 @@ -397922,7 +396933,7 @@ _080C1D44: muls r1, r6 ldr r5, _080C1D94 adds r1, r5 - bl CopyString + bl StringCopy ldr r0, _080C1D98 ldr r2, _080C1D9C adds r1, r4, r2 @@ -397931,14 +396942,14 @@ _080C1D44: muls r1, r2 ldr r2, _080C1DA0 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, _080C1DA4 ldr r1, _080C1DA8 adds r4, r1 ldrh r1, [r4] muls r1, r6 adds r1, r5 - bl CopyString + bl StringCopy ldr r1, _080C1DAC movs r0, 0x8 strb r0, [r1] @@ -397973,14 +396984,14 @@ _080C1DB6: muls r1, r6 ldr r5, _080C1E20 adds r1, r5 - bl CopyString + bl StringCopy ldr r0, _080C1E24 ldr r1, _080C1E28 adds r4, r1 ldrh r1, [r4] muls r1, r6 adds r1, r5 - bl CopyString + bl StringCopy ldr r1, _080C1E2C movs r0, 0x1 strh r0, [r1] @@ -398062,7 +397073,7 @@ _080C1E84: muls r1, r2 ldr r2, _080C1EB8 adds r1, r2 - bl CopyString + bl StringCopy ldrb r1, [r4, 0x3] movs r0, 0x2 bl sub_80BF088 @@ -398084,7 +397095,7 @@ _080C1EBC: muls r1, r2 ldr r2, _080C1F00 adds r1, r2 - bl CopyString + bl StringCopy ldrb r1, [r4, 0x2] movs r0, 0x2 bl sub_80BF088 @@ -398160,7 +397171,7 @@ _080C1F6C: muls r1, r2 ldr r2, _080C1F88 adds r1, r2 - bl CopyString + bl StringCopy movs r0, 0x2 strb r0, [r6] b _080C1FB6 @@ -398183,7 +397194,7 @@ _080C1F8C: muls r1, r2 ldr r2, _080C1FD4 adds r1, r2 - bl CopyString + bl StringCopy bl TVShowDone _080C1FB6: ldr r0, _080C1FD8 @@ -398517,7 +397528,7 @@ sub_80C226C: ; 80C226C bne _080C2294 ldr r0, _080C228C ldr r1, _080C2290 - bl CopyString + bl StringCopy adds r2, r0, 0 b _080C2296 .align 2 @@ -398538,7 +397549,7 @@ _080C2296: ldr r7, _080C22EC adds r1, r6, r7 adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 strb r4, [r2] movs r0, 0x13 @@ -398548,7 +397559,7 @@ _080C2296: adds r2, 0x3 ldr r1, _080C22F0 adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r0, _080C22F4 ldrb r1, [r0] @@ -398562,7 +397573,7 @@ _080C2296: ldr r0, _080C22F8 adds r1, r0 adds r0, r2, 0 - bl CopyString + bl StringCopy b _080C230A .align 2 _080C22E8: .4byte 0x020238cc @@ -398575,7 +397586,7 @@ _080C22FC: adds r1, 0xB adds r1, r6, r1 adds r0, r2, 0 - bl CopyString + bl StringCopy lsls r4, r5, 3 _080C230A: ldr r0, _080C2334 @@ -399427,7 +398438,7 @@ _080C29D4: ldr r0, _080C2A00 adds r1, r0 adds r0, r3, 0 - bl CopyString + bl StringCopy lsls r4, 6 b _080C2A10 .align 2 @@ -399440,15 +398451,15 @@ _080C2A04: ldr r1, _080C2A54 adds r1, r4, r1 adds r0, r3, 0 - bl CopyString + bl StringCopy _080C2A10: ldr r0, _080C2A58 ldr r1, _080C2A5C adds r1, r4, r1 - bl CopyString + bl StringCopy ldr r1, _080C2A60 mov r0, sp - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _080C2A64 ldrb r1, [r0] mov r0, sp @@ -400435,7 +399446,7 @@ _080C31CE: ldr r2, _080C32D4 ldr r1, _080C32D8 adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 mvns r0, r5 adds r1, r0, 0x1 @@ -400460,7 +399471,7 @@ _080C3218: lsrs r5, r6, 24 adds r0, r2, 0 mov r1, r9 - bl CopyString + bl StringCopy adds r2, r0, 0 movs r0, 0xFC strb r0, [r2] @@ -400757,7 +399768,7 @@ _080C34A8: .4byte 0x02018000 thumb_func_start sub_80C34AC sub_80C34AC: ; 80C34AC push {lr} - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 lsls r1, r0, 1 @@ -403078,7 +402089,7 @@ _080C4670: .4byte 0x0203869e sub_80C4674: ; 80C4674 push {r4,lr} adds r4, r0, 0 - bl CopyString + bl StringCopy ldrb r0, [r4] cmp r0, 0xFC bne _080C4690 @@ -403104,7 +402115,7 @@ sub_80C4698: ; 80C4698 ldr r0, _080C46E0 adds r1, r0 adds r0, r5, 0 - bl CopyString + bl StringCopy ldr r0, _080C46E4 ldrb r1, [r0] movs r0, 0x1 @@ -405281,7 +404292,7 @@ sub_80C56DC: ; 80C56DC adds r2, r5, 0 bl PokemonGetField adds r0, r5, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 add sp, 0x4 pop {r4,r5} pop {r0} @@ -405706,10 +404717,10 @@ _080C5A32: adds r0, r6, 0 movs r2, 0 movs r3, 0x8 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r6, r0, 0 mov r1, sp - bl AppendString + bl StringAppend adds r6, r0, 0 adds r0, r5, 0 movs r1, 0xA @@ -405718,7 +404729,7 @@ _080C5A32: adds r0, r6, 0 movs r2, 0 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN add sp, 0x4 pop {r4-r6} pop {r0} @@ -405820,7 +404831,7 @@ sub_80C5B1C: ; 80C5B1C muls r1, r4 ldr r2, _080C5B60 adds r1, r2 - bl CopyString + bl StringCopy ldrh r1, [r5] movs r0, 0x81 lsls r0, 8 @@ -405828,7 +404839,7 @@ sub_80C5B1C: ; 80C5B1C bne _080C5B6C ldr r0, _080C5B64 ldr r1, _080C5B68 - bl CopyString + bl StringCopy b _080C5B74 .align 2 _080C5B58: .4byte 0x020233cc @@ -405839,7 +404850,7 @@ _080C5B68: .4byte gUnknown_0842C9E1 _080C5B6C: ldr r0, _080C5B7C ldr r1, _080C5B80 - bl CopyString + bl StringCopy _080C5B74: pop {r4,r5} pop {r0} @@ -408393,10 +407404,10 @@ _080C6F74: movs r1, 0x64 movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080C6FA4 ldr r1, _080C6FA8 - bl CopyString + bl StringCopy ldr r1, _080C6FAC movs r0, 0 b _080C6FF8 @@ -408411,10 +407422,10 @@ _080C6FB0: movs r1, 0x32 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _080C6FD0 ldr r1, _080C6FD4 - bl CopyString + bl StringCopy ldr r1, _080C6FD8 movs r0, 0 b _080C6FF8 @@ -410975,7 +409986,7 @@ _080C8302: adds r0, r1 ldr r1, [r0] ldr r0, _080C8354 - bl CopyString + bl StringCopy b _080C836A .align 2 _080C8344: .4byte 0x02025734 @@ -411258,7 +410269,7 @@ sub_80C853C: ; 80C853C ldrb r1, [r1, 0x5] movs r2, 0x2 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r0, 0x1 b _080C8576 .align 2 @@ -411449,7 +410460,7 @@ sub_80C86A0: ; 80C86A0 b _080C872C _080C86B6: adds r0, r4, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 cmp r0, 0x5 @@ -412701,7 +411712,7 @@ sub_80C9098: ; 80C9098 lsrs r4, 24 ldr r5, _080C90CC adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders cmp r4, 0 bne _080C90D4 movs r0, 0 @@ -414125,11 +413136,11 @@ ItemUseOutOfBattle_CoinCase: ; 80C9B38 adds r0, r4, 0 movs r2, 0 movs r3, 0x4 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r4, _080C9B90 ldr r1, _080C9B94 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r1, _080C9B98 lsls r0, r5, 2 adds r0, r5 @@ -414634,11 +413645,11 @@ _080C9F2A: ldr r0, _080C9F70 adds r1, r0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r4, _080C9F74 ldr r1, _080C9F78 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080C9F7C adds r0, r5, 0 adds r1, r4, 0 @@ -414719,7 +413730,7 @@ sub_80C9FDC: ; 80C9FDC bl itemid_copy_name ldr r0, _080CA00C ldr r1, _080CA010 - bl PrintSimple + bl StringExpandPlaceholders pop {r4} pop {r0} bx r0 @@ -414842,7 +413853,7 @@ ItemUseOutOfBattle_BlackWhiteFlute: ; 80CA0DC bl sub_80CA07C ldr r0, _080CA118 ldr r1, _080CA11C - bl PrintSimple + bl StringExpandPlaceholders ldr r1, _080CA120 lsls r0, r4, 2 adds r0, r4 @@ -414864,7 +413875,7 @@ _080CA124: bl sub_80CA07C ldr r0, _080CA160 ldr r1, _080CA164 - bl PrintSimple + bl StringExpandPlaceholders ldr r1, _080CA168 lsls r0, r5, 2 adds r0, r5 @@ -415293,7 +414304,7 @@ sub_80CA448: ; 80CA448 ldr r4, _080CA4A0 ldr r1, _080CA4A4 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _080CA4A8 adds r0, r5, 0 adds r1, r4, 0 @@ -473590,7 +472601,7 @@ _080E66A4: add r0, sp ldr r0, [r0] ldr r1, [r4] - bl CopyString + bl StringCopy adds r3, r0, 0 ldrb r0, [r4, 0x8] cmp r0, 0 @@ -473601,7 +472612,7 @@ _080E66A4: add r0, sp ldr r0, [r0] ldr r1, [r4, 0x4] - bl CopyString + bl StringCopy b _080E670A .align 2 _080E66E0: .4byte gUnknown_083DB7DC @@ -473613,7 +472624,7 @@ _080E66F0: adds r3, 0x1 ldr r1, [r4, 0x4] adds r0, r3, 0 - bl CopyString + bl StringCopy lsls r0, r5, 1 adds r0, 0x1 lsls r0, 2 @@ -482710,7 +481721,7 @@ sub_80EAD64: ; 80EAD64 lsrs r1, 22 adds r1, r2 ldr r1, [r1] - bl CopyString + bl StringCopy pop {r1} bx r1 .align 2 @@ -483386,7 +482397,7 @@ _080EB290: ldr r1, [r0] _080EB2A2: adds r0, r5, 0 - bl CopyString + bl StringCopy adds r1, r0, 0 _080EB2AA: movs r0, 0xFC @@ -483422,7 +482433,7 @@ sub_80EB2D4: ; 80EB2D4 cmp r0, 0 beq _080EB2F8 ldr r0, _080EB2F4 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 b _080EB374 @@ -483586,7 +482597,7 @@ sub_80EB3FC: ; 80EB3FC beq _080EB420 ldr r1, _080EB41C adds r0, r5, 0 - bl CopyString + bl StringCopy b _080EB4A6 .align 2 _080EB41C: .4byte gUnknown_0842C890 @@ -483658,7 +482669,7 @@ _080EB490: bne _080EB47E _080EB498: adds r0, r5, 0 - bl CopyString + bl StringCopy adds r5, r0, 0 _080EB4A0: movs r0, 0xFF @@ -494028,7 +493039,7 @@ _080F0862: adds r0, r4, 0 movs r2, 0x1 movs r3, 0x5 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r4, 0 movs r1, 0xA movs r2, 0xB @@ -494058,7 +493069,7 @@ _080F08AA: adds r0, r4, 0 movs r2, 0x1 movs r3, 0x5 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r4, 0 movs r1, 0xA movs r2, 0xF @@ -494832,7 +493843,7 @@ sub_80F0EC0: ; 80F0EC0 adds r0, r1 movs r1, 0 movs r2, 0x10 - bl RepeatChar + bl StringFill pop {r0} bx r0 .align 2 @@ -495677,7 +494688,7 @@ sub_80F15A8: ; 80F15A8 adds r5, r4, r0 ldr r1, _080F1608 adds r0, r5, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 movs r0, 0 strb r0, [r2] @@ -495694,7 +494705,7 @@ sub_80F15A8: ; 80F15A8 adds r0, r2, 0 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r2, r0, 0 movs r0, 0xFF strb r0, [r2] @@ -496126,7 +495137,7 @@ sub_80F1934: ; 80F1934 lsrs r4, 24 ldr r1, _080F19A4 adds r0, r5, 0 - bl CopyString + bl StringCopy adds r5, r0, 0 ldr r0, _080F19A8 lsls r4, 2 @@ -501708,7 +500719,7 @@ sub_80F443C: ; 80F443C lsls r4, r1, 16 lsrs r4, 16 ldr r1, _080F4458 - bl CopyString + bl StringCopy adds r1, r4, 0 movs r2, 0x38 movs r3, 0x1 @@ -505978,7 +504989,7 @@ _080F655E: adds r3, r5, 0 bl sub_80F44B0 adds r0, r5, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 adds r0, r6, 0 adds r1, r4, 0 movs r2, 0xB @@ -506043,7 +505054,7 @@ _080F65EA: movs r4, 0xFF _080F65FC: adds r0, r5, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 adds r5, r0 @@ -506118,7 +505129,7 @@ _080F6656: adds r5, 0x5 adds r0, r5, 0 ldr r1, [sp, 0x8] - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r5, r0, 0 ldr r0, [sp, 0x4] cmp r0, 0x1 @@ -507351,7 +506362,7 @@ sub_80F700C: ; 80F700C ldr r0, _080F7088 adds r1, r0 adds r0, r3, 0 - bl CopyString + bl StringCopy adds r3, r0, 0 movs r0, 0xFC strb r0, [r3] @@ -507362,7 +506373,7 @@ sub_80F700C: ; 80F700C adds r3, 0x3 adds r1, r5, 0x4 adds r0, r3, 0 - bl CopyString + bl StringCopy adds r3, r0, 0 _080F7060: movs r0, 0xFC @@ -508740,20 +507751,20 @@ _080F7B00: bx r0 thumb_func_end sub_80F7AA4 - thumb_func_start sub_80F7B08 -sub_80F7B08: ; 80F7B08 + thumb_func_start GetCurrentMauvilleOldMan +GetCurrentMauvilleOldMan: ; 80F7B08 ldr r0, _080F7B10 ldrb r0, [r0] bx lr .align 2 _080F7B10: .4byte 0x020284c8 - thumb_func_end sub_80F7B08 + thumb_func_end GetCurrentMauvilleOldMan thumb_func_start sub_80F7B14 sub_80F7B14: ; 80F7B14 push {r4,lr} ldr r4, _080F7B28 - bl sub_80F7B08 + bl GetCurrentMauvilleOldMan lsls r0, 24 lsrs r0, 24 strh r0, [r4] @@ -508785,7 +507796,7 @@ sub_80F7B40: ; 80F7B40 adds r0, 0x1A ldr r4, _080F7B9C adds r1, r4, 0 - bl CopyString + bl StringCopy movs r2, 0 adds r3, r5, 0 adds r3, 0x25 @@ -509052,17 +508063,17 @@ _080F7D02: bl sub_80EB3FC adds r2, r0, 0 ldr r1, _080F7D5C - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r0, _080F7D60 lsls r4, 2 adds r4, r0 ldr r1, [r4] adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r1, _080F7D64 - bl CopyString + bl StringCopy b _080F7D88 .align 2 _080F7D50: .4byte 0x020284c8 @@ -509086,7 +508097,7 @@ _080F7D68: lsls r1, 2 adds r1, r3 ldr r1, [r1] - bl CopyString + bl StringCopy _080F7D88: bl GenerateRandomNumber lsls r0, 16 @@ -509315,7 +508326,7 @@ sub_80F7F24: ; 80F7F24 thumb_func_start sub_80F7F30 sub_80F7F30: ; 80F7F30 push {lr} - bl sub_80F7B08 + bl GetCurrentMauvilleOldMan lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 @@ -509917,7 +508928,7 @@ _080F83C8: sub_80F83D0: ; 80F83D0 push {r4,lr} ldr r4, _080F83F4 - bl sub_80F7B08 + bl GetCurrentMauvilleOldMan adds r1, r0, 0 lsls r1, 24 lsrs r1, 8 @@ -510165,7 +509176,7 @@ sub_80F8560: ; 80F8560 ldr r0, _080F8594 adds r5, r0 adds r0, r6, 0 - bl sub_8006B34 + bl StringGetLength adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -510176,7 +509187,7 @@ sub_80F8560: ; 80F8560 adds r0, r5, 0 adds r1, r6, 0 adds r2, r4, 0 - bl CopyString_LimitN + bl StringCopyN pop {r4-r6} pop {r0} bx r0 @@ -510210,13 +509221,13 @@ sub_80F8598: ; 80F8598 adds r0, r5, 0 movs r2, 0 movs r3, 0xA - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r4, _080F85F8 adds r0, r6, 0 bl sub_80F8490 adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy pop {r4-r6} pop {r0} bx r0 @@ -510376,13 +509387,13 @@ sub_80F8700: ; 80F8700 adds r0, r4, 0 movs r2, 0 movs r3, 0xA - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r4, _080F8750 adds r0, r6, 0 bl sub_80F8490 adds r1, r0, 0 adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r1, _080F8754 adds r0, r5, 0 bl sub_80F8534 @@ -511173,11 +510184,11 @@ _080F8D78: sub_80F8D7C: ; 80F8D7C push {r4,lr} adds r4, r0, 0 - bl CopyString + bl StringCopy adds r0, r4, 0 bl sub_814A568 adds r0, r4, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 adds r4, r0 @@ -511254,9 +510265,9 @@ _080F8E04: bl sub_80F8D7C adds r2, r0, 0 ldr r1, _080F8E44 - bl CopyString + bl StringCopy ldr r0, _080F8E40 - bl sub_8006B34 + bl StringGetLength movs r2, 0x86 lsls r2, 1 adds r1, r4, r2 @@ -511271,7 +510282,7 @@ _080F8E44: .4byte gUnknown_0842C894 _080F8E48: ldr r1, _080F8E7C adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 adds r0, r4, 0 adds r0, 0xF4 @@ -511712,17 +510723,17 @@ brm_trade_1: ; 80F9178 ldr r4, _080F91C4 adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy adds r0, r4, 0 adds r1, r5, 0 - bl AppendString + bl StringAppend mov r1, sp ldr r0, _080F91C8 ldr r0, [r0] ldrb r0, [r0, 0x6] strb r0, [r1, 0x2] adds r0, r4, 0 - bl AppendString + bl StringAppend b _080F91D4 .align 2 _080F91C0: .4byte gUnknown_083E5A18 @@ -511731,7 +510742,7 @@ _080F91C8: .4byte 0x0202e9c8 _080F91CC: ldr r0, _080F91E8 adds r1, r5, 0 - bl CopyString + bl StringCopy _080F91D4: ldr r0, _080F91E8 adds r1, r7, 0 @@ -511770,7 +510781,7 @@ sub_80F91EC: ; 80F91EC adds r0, r6, 0 mov r1, r12 adds r3, r4, 0 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, r8 cmp r0, 0xFF beq _080F9238 @@ -513594,7 +512605,7 @@ sub_80F9F84: ; 80F9F84 muls r1, r4 ldr r2, _080F9FD8 adds r1, r2 - bl CopyString + bl StringCopy pop {r4,r5} pop {r0} bx r0 @@ -517801,7 +516812,7 @@ _080FBFCA: adds r1, r0 ldr r1, [r1] adds r0, r3, 0 - bl CopyString + bl StringCopy b _080FBFF2 .align 2 _080FBFE0: .4byte gRegionMapLocations @@ -517812,7 +516823,7 @@ _080FBFE4: _080FBFEA: adds r0, r3, 0 movs r1, 0 - bl RepeatChar + bl StringFill _080FBFF2: pop {r1} bx r1 @@ -517828,13 +516839,13 @@ sub_80FBFF8: ; 80FBFF8 cmp r1, 0x57 bne _080FC020 ldr r1, _080FC010 - bl CopyString + bl StringCopy b _080FC026 .align 2 _080FC010: .4byte gUnknown_084117C9 _080FC014: ldr r1, _080FC01C - bl CopyString + bl StringCopy b _080FC026 .align 2 _080FC01C: .4byte gUnknown_084117CF @@ -517857,7 +516868,7 @@ sub_80FC02C: ; 80FC02C b _080FC042 _080FC03C: ldr r1, _080FC048 - bl CopyString + bl StringCopy _080FC042: pop {r1} bx r1 @@ -517982,7 +516993,7 @@ _080FC120: adds r0, r4, 0 movs r1, 0 movs r2, 0xC - bl RepeatChar + bl StringFill bl sub_80FC254 b _080FC1E6 .align 2 @@ -522624,7 +521635,7 @@ sub_80FE470: ; 80FE470 adds r0, r1 ldr r1, [r0] adds r0, r7, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 adds r0, r4, 0 bl sub_8134194 @@ -523007,7 +522018,7 @@ sub_80FE7D4: ; 80FE7D4 lsrs r1, 22 adds r1, r2 ldr r1, [r1] - bl CopyString + bl StringCopy pop {r0} bx r0 .align 2 @@ -523475,7 +522486,7 @@ _080FEB7A: ldr r0, _080FEBD0 adds r1, r0 ldr r0, _080FEBD4 - bl CopyString + bl StringCopy lsls r2, r6, 3 str r5, [sp] ldr r0, _080FEBD8 @@ -524859,13 +523870,13 @@ _080FF62C: ldrb r1, [r4, 0x8] movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldrb r0, [r4, 0x9] cmp r0, 0 bne _080FF664 ldr r0, _080FF65C ldr r1, _080FF660 - bl PrintSimple + bl StringExpandPlaceholders b _080FF66C .align 2 _080FF654: .4byte 0x020231cc @@ -524875,7 +523886,7 @@ _080FF660: .4byte gUnknown_0840FB11 _080FF664: ldr r0, _080FF67C ldr r1, _080FF680 - bl PrintSimple + bl StringExpandPlaceholders _080FF66C: ldr r1, _080FF67C _080FF66E: @@ -529239,11 +528250,11 @@ sub_81017A0: ; 81017A0 lsls r1, 5 ldr r2, _081017F8 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _081017FC ldr r1, _08101800 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _08101804 adds r0, r5, 0 adds r1, r4, 0 @@ -540171,14 +539182,14 @@ sub_8106918: ; 8106918 adds r0, r1 ldr r1, [r0] adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r1, _08106980 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r1, [r6] adds r1, 0x16 - bl CopyString + bl StringCopy adds r2, r0, 0 movs r0, 0xFC strb r0, [r2] @@ -540187,11 +539198,11 @@ sub_8106918: ; 8106918 adds r2, 0x2 ldr r1, _08106984 adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r1, [r6] adds r1, 0xB - bl CopyString_Limit10 + bl StringCopy10 movs r1, 0x6 b _081069AE .align 2 @@ -540206,16 +539217,16 @@ _08106988: adds r0, r5, r4 ldr r1, [r0] adds r0, r2, 0 - bl CopyString + bl StringCopy adds r2, r0, 0 ldr r1, [r6] adds r1, 0xB - bl CopyString_Limit10 + bl StringCopy10 adds r2, r0, 0 adds r4, 0x4 adds r5, r4 ldr r1, [r5] - bl CopyString + bl StringCopy movs r1, 0x3 _081069AE: movs r2, 0xE @@ -546615,17 +545626,17 @@ _08109970: strb r2, [r1] mov r0, sp adds r1, r7, 0 - bl CopyString + bl StringCopy mov r4, r10 muls r4, r5 adds r4, 0x5 add r4, r9 adds r0, r7, 0 adds r1, r4, 0 - bl CopyString + bl StringCopy adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy _081099A2: adds r0, r5, 0x1 lsls r0, 24 @@ -546670,7 +545681,7 @@ _081099E0: lsls r1, r4, 2 adds r1, r6 ldr r1, [r1] - bl CopyString + bl StringCopy adds r1, r5, 0x1 adds r1, r4 ldr r0, _08109A1C @@ -546941,7 +545952,7 @@ _08109C04: muls r1, r2 adds r1, 0x5 adds r1, r6 - bl CopyString + bl StringCopy adds r0, r6, 0x1 ldrh r5, [r5] adds r0, r5 @@ -547110,12 +546121,12 @@ sub_8109D04: ; 8109D04 lsls r1, 5 ldr r4, _08109D84 adds r1, r4 - bl CopyString + bl StringCopy ldr r0, _08109D88 ldrh r1, [r5] lsls r1, 5 adds r1, r4 - bl CopyString + bl StringCopy b _08109D94 .align 2 _08109D6C: .4byte 0x020388f7 @@ -547185,7 +546196,7 @@ sub_8109DE0: ; 8109DE0 adds r0, 0x5 adds r0, r4 ldr r1, _08109E30 - bl CopyString + bl StringCopy adds r0, r4, 0x1 ldrh r5, [r5] adds r0, r5 @@ -548007,7 +547018,7 @@ _0810A4D8: mov r1, sp adds r0, r1, r4 ldr r1, _0810A570 - bl CopyString + bl StringCopy ldr r0, _0810A568 adds r1, r6, r0 ldrb r4, [r1] @@ -550961,7 +549972,7 @@ _0810BC08: adds r0, r4, 0 movs r2, 0x1 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r2, 0x1 orrs r2, r7 mov r0, r9 @@ -552120,11 +551131,11 @@ sub_810C540: ; 810C540 lsls r1, 2 adds r1, r4 ldr r1, [r1] - bl CopyString + bl StringCopy ldr r4, _0810C5B4 ldr r1, _0810C5B8 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _0810C5BC adds r0, r5, 0 adds r1, r4, 0 @@ -552209,7 +551220,7 @@ sub_810C610: ; 810C610 ldr r5, _0810C65C ldr r1, _0810C660 adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _0810C664 adds r0, r4, 0 adds r1, r5, 0 @@ -552403,7 +551414,7 @@ sub_810C788: ; 810C788 lsls r1, 2 adds r1, r2 ldr r1, [r1] - bl CopyString + bl StringCopy ldrb r0, [r7] bl sub_810CA6C ldrh r0, [r7] @@ -552487,7 +551498,7 @@ sub_810C854: ; 810C854 lsls r1, 2 adds r1, r3 ldr r1, [r1] - bl CopyString + bl StringCopy ldr r1, _0810C8C8 ldrh r0, [r4] strh r0, [r1] @@ -552891,7 +551902,7 @@ sub_810CB44: ; 810CB44 adds r0, r1 ldr r1, [r0] adds r0, r4, 0 - bl CopyString + bl StringCopy pop {r4} pop {r0} bx r0 @@ -552921,7 +551932,7 @@ _0810CB74: adds r0, r7 ldr r1, [r0] adds r0, r6, 0 - bl CopyString + bl StringCopy movs r0, 0x1 b _0810CBAC .align 2 @@ -554473,10 +553484,10 @@ sub_810D74C: ; 810D74C adds r1, r6, 0 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r1, _0810D774 adds r0, r4, 0 - bl AppendString + bl StringAppend b _0810D780 .align 2 _0810D770: .4byte 0x020231cc @@ -554484,7 +553495,7 @@ _0810D774: .4byte gUnknown_084107A9 _0810D778: ldr r0, _0810D7CC ldr r1, _0810D7D0 - bl CopyString + bl StringCopy _0810D780: ldr r0, _0810D7D4 cmp r7, r0 @@ -554497,7 +553508,7 @@ _0810D780: adds r0, r4, 0 movs r2, 0x1 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r0, 0xAD strb r0, [r4, 0x2] adds r5, r4, 0x3 @@ -554512,10 +553523,10 @@ _0810D780: adds r0, r5, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r1, _0810D7DC adds r0, r4, 0 - bl AppendString + bl StringAppend b _0810D7E8 .align 2 _0810D7CC: .4byte 0x020231cc @@ -554526,7 +553537,7 @@ _0810D7DC: .4byte gUnknown_084107A0 _0810D7E0: ldr r0, _0810D7F4 ldr r1, _0810D7F8 - bl CopyString + bl StringCopy _0810D7E8: movs r4, 0 cmp r6, 0 @@ -554941,7 +553952,7 @@ _0810DAEA: lsls r1, 2 ldr r2, _0810DB24 adds r1, r2 - bl CopyString + bl StringCopy adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 @@ -555881,7 +554892,7 @@ sub_810E298: ; 810E298 bne _0810E2B8 ldr r0, _0810E2B0 ldr r1, _0810E2B4 - bl CopyString + bl StringCopy b _0810E2C0 .align 2 _0810E2AC: .4byte 0x02024ea4 @@ -555890,7 +554901,7 @@ _0810E2B4: .4byte gUnknown_084107B2 _0810E2B8: ldr r0, _0810E2C4 ldr r1, _0810E2C8 - bl CopyString + bl StringCopy _0810E2C0: pop {r0} bx r0 @@ -555908,7 +554919,7 @@ sub_810E2CC: ; 810E2CC bne _0810E2EC ldr r0, _0810E2E4 ldr r1, _0810E2E8 - bl CopyString + bl StringCopy b _0810E2F4 .align 2 _0810E2E0: .4byte 0x02024ea4 @@ -555917,7 +554928,7 @@ _0810E2E8: .4byte gUnknown_084107C7 _0810E2EC: ldr r0, _0810E2F8 ldr r1, _0810E2FC - bl CopyString + bl StringCopy _0810E2F4: pop {r0} bx r0 @@ -558972,7 +557983,7 @@ _0810FA04: adds r0, r4, 0 adds r1, r5, 0 movs r2, 0 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN b _0810FA4A .align 2 _0810FA20: .4byte 0x020231cc @@ -558993,7 +558004,7 @@ _0810FA24: adds r0, r4, 0 adds r1, r5, 0 movs r2, 0 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN _0810FA4A: pop {r4,r5} pop {r0} @@ -559524,7 +558535,7 @@ _0810FE40: _0810FE58: ldr r0, _0810FE64 ldr r1, _0810FE68 - bl CopyString + bl StringCopy b _0810FEF2 .align 2 _0810FE64: .4byte 0x020231cc @@ -559532,7 +558543,7 @@ _0810FE68: .4byte gUnknown_0840FF42 _0810FE6C: ldr r0, _0810FE78 ldr r1, _0810FE7C - bl CopyString + bl StringCopy b _0810FEF2 .align 2 _0810FE78: .4byte 0x020231cc @@ -559540,7 +558551,7 @@ _0810FE7C: .4byte gUnknown_0840FF49 _0810FE80: ldr r0, _0810FE8C ldr r1, _0810FE90 - bl CopyString + bl StringCopy b _0810FEF2 .align 2 _0810FE8C: .4byte 0x020231cc @@ -559548,7 +558559,7 @@ _0810FE90: .4byte gUnknown_0840FF50 _0810FE94: ldr r0, _0810FEA0 ldr r1, _0810FEA4 - bl CopyString + bl StringCopy b _0810FEF2 .align 2 _0810FEA0: .4byte 0x020231cc @@ -559556,7 +558567,7 @@ _0810FEA4: .4byte gUnknown_0840FF57 _0810FEA8: ldr r0, _0810FEB4 ldr r1, _0810FEB8 - bl CopyString + bl StringCopy b _0810FEF2 .align 2 _0810FEB4: .4byte 0x020231cc @@ -559564,7 +558575,7 @@ _0810FEB8: .4byte gUnknown_0840FF5E _0810FEBC: ldr r0, _0810FEC8 ldr r1, _0810FECC - bl CopyString + bl StringCopy b _0810FEF2 .align 2 _0810FEC8: .4byte 0x020231cc @@ -559573,7 +558584,7 @@ _0810FED0: ldr r4, _0810FEF8 adds r0, r4, 0 movs r2, 0x7 - bl CopyString_LimitN + bl StringCopyN movs r0, 0xFF strb r0, [r4, 0x7] ldrb r0, [r4] @@ -559979,13 +558990,13 @@ sub_8110158: ; 8110158 adds r0, 0x42 adds r1, r7, 0 movs r2, 0x5 - bl CopyString_LimitN + bl StringCopyN b _081101C4 _081101BA: adds r0, r4, 0 adds r1, r7, 0 movs r2, 0x7 - bl CopyString_LimitN + bl StringCopyN _081101C4: lsls r0, r6, 4 adds r0, r5, r0 @@ -560150,7 +559161,7 @@ sub_81102E8: ; 81102E8 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x4 - bl ConvertNumToDecimalString2 + bl ConvertIntToDecimalStringN_UnknownExtCtrlCode ldr r4, _0811033C movs r0, 0x18 bl sub_8053108 @@ -560158,7 +559169,7 @@ sub_81102E8: ; 81102E8 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x4 - bl ConvertNumToDecimalString2 + bl ConvertIntToDecimalStringN_UnknownExtCtrlCode ldr r4, _08110340 movs r0, 0x19 bl sub_8053108 @@ -560166,7 +559177,7 @@ sub_81102E8: ; 81102E8 adds r0, r4, 0 movs r2, 0x1 movs r3, 0x4 - bl ConvertNumToDecimalString2 + bl ConvertIntToDecimalStringN_UnknownExtCtrlCode ldr r0, _08110344 movs r1, 0x3 movs r2, 0x3 @@ -560212,14 +559223,14 @@ sub_8110348: ; 8110348 adds r4, 0x6 ldr r1, _081103B8 adds r0, r4, 0 - bl CopyString + bl StringCopy mov r0, sp movs r1, 0x3 adds r2, r6, 0 bl Print ldr r1, _081103BC adds r0, r4, 0 - bl CopyString + bl StringCopy mov r0, sp movs r1, 0xB adds r2, r6, 0 @@ -560240,11 +559251,11 @@ _081103C0: ldr r4, _08110438 adds r0, r4, 0 movs r1, 0x8 - bl RepeatStringTerminator + bl StringFillEOS adds r0, r4, 0 adds r1, r7, 0 movs r2, 0x7 - bl CopyString_LimitN + bl StringCopyN adds r0, r4, 0 movs r1, 0x3 adds r2, r6, 0 @@ -560260,7 +559271,7 @@ _081103C0: adds r0, r5, 0 movs r2, 0x1 movs r3, 0x4 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r4, 0 movs r1, 0xB adds r2, r6, 0 @@ -560269,7 +559280,7 @@ _081103C0: adds r0, r5, 0 movs r2, 0x1 movs r3, 0x4 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r4, 0 movs r1, 0x11 adds r2, r6, 0 @@ -560278,7 +559289,7 @@ _081103C0: adds r0, r5, 0 movs r2, 0x1 movs r3, 0x4 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r4, 0 movs r1, 0x17 adds r2, r6, 0 @@ -560655,7 +559666,7 @@ _08110720: adds r0, r4, 0 movs r1, 0 movs r2, 0x10 - bl RepeatChar + bl StringFill b _081107C0 .align 2 _0811073C: .4byte 0x020006e8 @@ -562414,7 +561425,7 @@ _08111496: adds r0, r4, 0 movs r1, 0 movs r2, 0x10 - bl RepeatChar + bl StringFill b _08111540 .align 2 _081114B4: .4byte 0x020006e8 @@ -563129,7 +562140,7 @@ evolution_cutscene: ; 8111984 bl PokemonGetField ldr r0, _08111C48 add r1, sp, 0x8 - bl CopyString_Limit10 + bl StringCopy10 ldr r0, _08111C4C movs r1, 0xB mov r4, r10 @@ -563137,7 +562148,7 @@ evolution_cutscene: ; 8111984 adds r1, r4, 0 ldr r2, _08111C50 adds r1, r2 - bl CopyString + bl StringCopy ldr r0, [sp, 0x20] movs r1, 0xB bl PokemonGetField @@ -563857,13 +562868,13 @@ sub_81120E4: ; 81120E4 bl PokemonGetField ldr r0, _08112234 add r1, sp, 0x8 - bl CopyString_Limit10 + bl StringCopy10 ldr r0, _08112238 movs r1, 0xB muls r1, r5 ldr r2, _0811223C adds r1, r2 - bl CopyString + bl StringCopy ldr r1, _08112240 movs r0, 0x1 strb r0, [r1] @@ -564330,7 +563341,7 @@ _0811254C: ldr r4, _08112578 ldr r1, _0811257C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _08112580 movs r1, 0xF str r1, [sp] @@ -564615,7 +563626,7 @@ _081127BE: ldr r4, _08112838 ldr r1, _0811283C adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _08112840 movs r1, 0xF str r1, [sp] @@ -564701,7 +563712,7 @@ _08112856: bl PokemonGetField ldr r0, _081128A8 add r1, sp, 0x4 - bl CopyString_Limit10 + bl StringCopy10 ldr r0, _081128AC cmp r6, r0 bne _081128B0 @@ -564840,7 +563851,7 @@ _081129AC: ldr r4, _081129D8 ldr r1, _081129DC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _081129E0 movs r1, 0xF str r1, [sp] @@ -565612,7 +564623,7 @@ _0811307C: ldr r4, _081130A8 ldr r1, _081130AC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _081130B0 ldr r1, [r0] adds r0, r1, 0x4 @@ -565920,7 +564931,7 @@ _08113316: ldr r4, _08113394 ldr r1, _08113398 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r0, _0811339C ldr r1, [r0] adds r0, r1, 0x4 @@ -566018,7 +565029,7 @@ _081133C2: bl PokemonGetField ldr r0, _08113418 add r1, sp, 0x4 - bl CopyString_Limit10 + bl StringCopy10 ldr r0, _0811341C cmp r6, r0 bne _08113420 @@ -572402,11 +571413,11 @@ sub_811677C: ; 811677C adds r0, r3, 0 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r5, _081167E8 ldr r1, _081167EC adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0 movs r1, 0xE movs r2, 0x1D @@ -574260,11 +573271,11 @@ sub_8117630: ; 8117630 ldr r0, _08117694 movs r2, 0x2 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r5, _08117698 ldr r1, _0811769C adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0 movs r1, 0xE movs r2, 0x1D @@ -574315,11 +573326,11 @@ sub_81176A8: ; 81176A8 mov r0, r10 movs r2, 0x1 movs r3, 0x4 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r5, _08117760 ldr r1, _08117764 adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0 movs r1, 0 movs r2, 0x9 @@ -574345,7 +573356,7 @@ sub_81176A8: ; 81176A8 adds r1, r4, 0 movs r2, 0x2 movs r3, 0x1 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN movs r1, 0x22 ldrsh r0, [r6, r1] cmp r0, r4 @@ -574389,7 +573400,7 @@ _0811777C: ldr r4, _081177AC ldr r1, _081177B0 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0 movs r1, 0xE movs r2, 0x1D @@ -574415,7 +573426,7 @@ _081177B8: .4byte sub_81174F8 _081177BC: ldr r1, _081177F4 adds r0, r5, 0 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0 movs r1, 0xE movs r2, 0x1D @@ -580524,7 +579535,7 @@ sub_811A798: ; 811A798 lsrs r7, r3, 24 mov r0, sp adds r1, r4, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString lsls r1, r5, 1 adds r1, r5 lsls r1, 1 @@ -580558,7 +579569,7 @@ _0811A7EA: movs r0, 0x11 strb r0, [r4, 0x1] mov r0, sp - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 subs r0, r5, r0 @@ -580569,7 +579580,7 @@ _0811A7EA: adds r4, 0x3 adds r0, r4, 0 mov r1, sp - bl CopyString + bl StringCopy ldr r0, _0811A828 adds r1, r6, 0 adds r2, r7, 0 @@ -588724,7 +587735,7 @@ _0811E5D4: bl PokemonGetField ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] - bl CopyString_Limit10 + bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] @@ -593487,7 +592498,7 @@ _08120DE8: lsls r1, 2 adds r1, r2 ldr r1, [r1] - bl CopyString + bl StringCopy b _08120E38 .align 2 _08120E14: .4byte 0x02039270 @@ -593502,7 +592513,7 @@ _08120E28: muls r1, r2 ldr r2, _08120E48 adds r1, r2 - bl CopyString + bl StringCopy _08120E38: ldr r0, _08120E44 bl sub_8121D74 @@ -594506,10 +593517,10 @@ _08121660: ldr r0, _081216C4 adds r1, r0 mov r0, sp - bl CopyString + bl StringCopy ldr r1, _081216C8 mov r0, sp - bl AppendString + bl StringAppend mov r4, sp b _081219E6 .align 2 @@ -594842,7 +593853,7 @@ _08121940: bl PokemonGetField _0812194A: mov r0, sp - bl GetStringEnd_Limit7 + bl StringGetEnd10 mov r4, sp b _081219E6 .align 2 @@ -595088,7 +594099,7 @@ _08121B26: adds r0, r6, 0 mov r1, r8 movs r2, 0 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r5, 0x3 ldrb r4, [r4, 0x1] adds r5, r0, r4 @@ -595141,7 +594152,7 @@ _08121B88: beq _08121BA8 ldr r1, _08121BA4 adds r0, r6, 0 - bl AppendString + bl StringAppend b _08121BB0 .align 2 _08121BA0: .4byte 0x020239f8 @@ -595149,7 +594160,7 @@ _08121BA4: .4byte gUnknown_08400797 _08121BA8: ldr r1, _08121BD4 adds r0, r6, 0 - bl AppendString + bl StringAppend _08121BB0: adds r0, r5, r7 ldrb r1, [r0, 0x2] @@ -595162,10 +594173,10 @@ _08121BB0: bl PokemonGetField _08121BC4: mov r0, sp - bl GetStringEnd_Limit7 + bl StringGetEnd10 adds r0, r6, 0 mov r1, sp - bl AppendString + bl StringAppend b _08121D02 .align 2 _08121BD4: .4byte gUnknown_08400791 @@ -595218,7 +594229,7 @@ _08121C28: bl PokemonGetField _08121C3A: adds r0, r6, 0 - bl GetStringEnd_Limit7 + bl StringGetEnd10 b _08121D02 .align 2 _08121C44: .4byte 0x030045c0 @@ -595242,7 +594253,7 @@ _08121C66: adds r1, r0 _08121C68: adds r0, r6, 0 - bl AppendString + bl StringAppend adds r5, 0x2 b _08121D04 .align 2 @@ -595281,7 +594292,7 @@ _08121C78: ldr r0, _08121CD8 adds r1, r0 adds r0, r6, 0 - bl CopyString + bl StringCopy ldr r1, _08121CDC b _08121CE2 .align 2 @@ -595296,7 +594307,7 @@ _08121CE0: ldr r1, _08121CEC _08121CE2: adds r0, r6, 0 - bl AppendString + bl StringAppend b _08121D02 .align 2 _08121CEC: .4byte gUnknown_08400A78 @@ -595353,7 +594364,7 @@ _08121D3C: bgt _08121D5C ldr r1, _08121D58 adds r0, r4, 0 - bl CopyString + bl StringCopy b _08121D68 .align 2 _08121D50: .4byte 0x02039270 @@ -595364,7 +594375,7 @@ _08121D5C: bgt _08121D68 ldr r1, _08121D70 adds r0, r4, 0 - bl CopyString + bl StringCopy _08121D68: pop {r4,r5} pop {r0} @@ -595441,14 +594452,14 @@ _08121DEC: ldr r1, _08121DF8 _08121DEE: adds r0, r3, 0 - bl CopyString + bl StringCopy b _08121E04 .align 2 _08121DF8: .4byte gUnknown_084007CE _08121DFC: ldr r1, _08121E0C adds r0, r3, 0 - bl CopyString + bl StringCopy _08121E04: pop {r4,r5} pop {r0} @@ -597190,9 +596201,9 @@ _08122B96: bl sub_806E35C mov r0, r9 adds r1, r5, 0 - bl CopyString + bl StringCopy mov r0, r9 - bl GetStringEnd_Limit7 + bl StringGetEnd10 mov r0, r9 bl sub_814A568 adds r0, r4, 0 @@ -604005,7 +603016,7 @@ sub_81260D0: ; 81260D0 push {lr} ldr r0, _081260E4 ldr r1, _081260E8 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x3 bl sub_8126160 pop {r0} @@ -604470,7 +603481,7 @@ sub_81263E4: ; 81263E4 bne _0812640E _08126408: ldr r0, _08126418 - bl PrintSimple + bl StringExpandPlaceholders _0812640E: movs r0, 0 pop {r4,r5} @@ -604516,14 +603527,14 @@ sub_8126438: ; 8126438 adds r0, r6, 0 adds r1, r5, 0 movs r2, 0x7 - bl CopyString_LimitN + bl StringCopyN adds r0, r4, 0 bl sub_80B48A8 ldr r4, _0812648C adds r0, r4, 0 adds r1, r5, 0 movs r2, 0x7 - bl CopyString_LimitN + bl StringCopyN mov r0, r8 cmp r0, 0 bne _08126498 @@ -604539,7 +603550,7 @@ _08126494: .4byte gUnknown_0842F798 _08126498: adds r0, r6, 0 adds r1, r4, 0 - bl CompareString + bl StringCompare cmp r0, 0 beq _081264B4 ldr r0, _081264AC @@ -604552,7 +603563,7 @@ _081264B4: ldr r0, _081264D4 ldr r1, _081264D8 _081264B8: - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x2 str r0, [r7, 0x6C] bl sub_80B4940 @@ -604592,7 +603603,7 @@ sub_81264F0: ; 81264F0 bl sub_80C5C38 ldr r0, _0812651C ldr r1, _08126520 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x2 str r0, [r4, 0x6C] movs r0, 0 @@ -604663,7 +603674,7 @@ sub_812658C: ; 812658C bl sub_80690F0 ldr r0, _081265A8 ldr r1, _081265AC - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x2 str r0, [r4, 0x6C] movs r0, 0 @@ -604686,7 +603697,7 @@ sub_81265B0: ; 81265B0 bl sub_80EB890 ldr r0, _081265D4 ldr r1, _081265D8 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x2 str r0, [r4, 0x6C] movs r0, 0 @@ -604753,7 +603764,7 @@ sub_8126608: ; 8126608 ldr r0, _08126650 ldr r1, _08126654 movs r2, 0xB - bl CopyString_LimitN + bl StringCopyN b _08126662 .align 2 _08126650: .4byte 0x020231cc @@ -604762,7 +603773,7 @@ _08126658: ldr r0, _08126678 ldr r1, _0812667C movs r2, 0xB - bl CopyString_LimitN + bl StringCopyN _08126662: ldr r0, _08126680 ldrb r0, [r0] @@ -604770,7 +603781,7 @@ _08126662: bne _0812668C ldr r0, _08126684 ldr r1, _08126688 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x3 b _081266F6 .align 2 @@ -604822,7 +603833,7 @@ _081266E4: bl calc_player_party_count ldr r0, _0812670C ldr r1, _08126710 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x2 _081266F6: str r0, [r6, 0x6C] @@ -604855,7 +603866,7 @@ sub_8126714: ; 8126714 bl sub_813601C ldr r0, _0812674C ldr r1, _08126750 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x2 str r0, [r4, 0x6C] movs r0, 0 @@ -604875,7 +603886,7 @@ sub_8126754: ; 8126754 bl sub_80691BC ldr r0, _08126770 ldr r1, _08126774 - bl PrintSimple + bl StringExpandPlaceholders movs r0, 0x2 str r0, [r4, 0x6C] movs r0, 0 @@ -605061,7 +604072,7 @@ _081268CC: .4byte gDummyObjectRotScalAnimTable sub_81268D0: ; 81268D0 push {lr} ldrb r0, [r0, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldrh r0, [r0, 0xA] subs r0, 0x2 lsls r0, 16 @@ -605083,7 +604094,7 @@ npc_pal_op: ; 81268E4 movs r0, 0 strh r0, [r4, 0x32] ldrb r0, [r5, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldrb r1, [r0, 0xC] movs r0, 0x80 ands r0, r1 @@ -605132,7 +604143,7 @@ npc_pal_op_B: ; 8126954 lsls r1, 24 lsrs r4, r1, 24 ldrb r0, [r0, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r2, r0, 0 ldrh r1, [r2, 0x4] ldr r0, _08126980 @@ -605178,7 +604189,7 @@ npc_pal_op_A: ; 81269B0 lsls r1, 24 lsrs r4, r1, 24 ldrb r0, [r0, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r2, r0, 0 ldrh r1, [r2, 0x4] ldr r0, _081269DC @@ -605549,7 +604560,7 @@ oei_shadow: ; 8126C6C lsls r1, 2 adds r1, r2 ldrb r0, [r1, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r4, r0, 0 ldr r2, _08126D00 ldr r1, _08126D04 @@ -606445,7 +605456,7 @@ _08127372: _0812737C: .4byte 0x030048a0 _08127380: ldrb r0, [r1, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo mov r8, r0 mov r0, sp ldrb r1, [r0] @@ -606805,7 +605816,7 @@ sub_8127610: ; 8127610 cmp r4, 0x40 beq _0812769A ldrb r0, [r5, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo lsls r3, r4, 4 adds r3, r4 lsls r3, 2 @@ -607070,7 +606081,7 @@ sub_8127820: ; 8127820 cmp r5, 0x40 beq _081278B6 ldrb r0, [r6, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r4, r0, 0 lsls r0, r5, 4 adds r0, r5 @@ -607384,7 +606395,7 @@ _08127AB6: _08127AC0: .4byte 0x030048a0 _08127AC4: ldrb r0, [r1, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo mov r1, sp ldrb r2, [r1] lsls r1, r2, 3 @@ -608410,7 +607421,7 @@ sub_8128224: ; 8128224 cmp r4, 0x40 beq _081282C8 ldrb r0, [r6, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo adds r5, r0, 0 lsls r0, r4, 4 adds r0, r4 @@ -608886,7 +607897,7 @@ _081285DC: lsls r0, 2 adds r0, r4 ldrb r0, [r0, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo mov r1, sp ldrb r2, [r1] lsls r1, r2, 3 @@ -609220,7 +608231,7 @@ _08128842: cmp r0, 0 beq _081288E4 ldrb r0, [r4, 0x5] - bl sub_805BC10 + bl GetFieldObjectGraphicsInfo ldrb r1, [r4, 0x4] lsls r0, r1, 4 adds r0, r1 @@ -630364,7 +629375,7 @@ sub_81328E8: ; 81328E8 adds r1, r0, 0 ldr r4, _08132904 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x3 movs r2, 0xF @@ -631061,7 +630072,7 @@ _08132EA4: mov r8, r0 add r1, r8 adds r0, r2, 0 - bl CopyString + bl StringCopy ldr r1, [r7] adds r0, r1, r4 ldrb r0, [r0] @@ -631097,7 +630108,7 @@ _08132EA4: muls r2, r1 adds r1, r2, 0 add r1, r8 - bl CopyString + bl StringCopy ldr r0, _08132F50 bl sub_81328E8 ldr r1, [r7] @@ -631920,7 +630931,7 @@ _08133586: muls r1, r2 ldr r2, _08133600 adds r1, r2 - bl CopyString + bl StringCopy adds r5, 0x19 adds r4, 0x1 ldr r0, [r6] @@ -631942,7 +630953,7 @@ _081335AA: bl PokemonGetField ldr r0, _08133604 mov r1, sp - bl CopyString_Limit10 + bl StringCopy10 ldr r0, [r4] ldrb r2, [r0, 0x1A] lsls r1, r2, 1 @@ -631952,7 +630963,7 @@ _081335AA: adds r1, 0x52 adds r0, r1 ldr r1, _08133608 - bl CopyString + bl StringCopy ldr r1, [r4] ldrb r0, [r1, 0x1A] adds r0, 0x1 @@ -632112,11 +631123,11 @@ _081336E8: adds r2, r3 adds r2, 0x52 adds r1, r2 - bl CopyString + bl StringCopy ldr r4, _08133740 ldr r1, _08133744 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x3 movs r2, 0xF @@ -632131,7 +631142,7 @@ _08133748: ldr r4, _08133764 ldr r1, _08133768 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x3 movs r2, 0xF @@ -632157,7 +631168,7 @@ _0813376C: ldr r4, _081337D8 ldr r1, _081337DC adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0x3 movs r2, 0xF @@ -632381,7 +631392,7 @@ sub_8133940: ; 8133940 lsrs r5, r0, 16 ldr r1, _08133968 mov r0, sp - bl CopyString + bl StringCopy ldrb r0, [r4, 0x2] subs r0, 0x1 cmp r0, 0x6 @@ -632394,7 +631405,7 @@ _0813395C: ldr r0, [r0] mov pc, r0 .align 2 -_08133968: .4byte gUnknown_0840DC80 +_08133968: .4byte gExpandedPlaceholder_Empty _0813396C: .4byte _08133970 .align 2 _08133970: @@ -635539,7 +634550,7 @@ _08135148: bne _08135160 ldr r0, _08135158 ldr r1, _0813515C - bl AppendString + bl StringAppend b _081351D8 .align 2 _08135158: .4byte 0x020231cc @@ -635549,7 +634560,7 @@ _08135160: ble _081351D8 ldr r0, _08135170 ldr r1, _08135174 - bl AppendString + bl StringAppend b _081351D8 .align 2 _08135170: .4byte 0x020231cc @@ -635559,7 +634570,7 @@ _08135178: bne _08135190 ldr r0, _08135188 ldr r1, _0813518C - bl AppendString + bl StringAppend b _08135198 .align 2 _08135188: .4byte 0x020231cc @@ -635567,11 +634578,11 @@ _0813518C: .4byte gUnknown_08400E23 _08135190: ldr r0, _081351A4 ldr r1, _081351A8 - bl AppendString + bl StringAppend _08135198: ldr r0, _081351A4 ldr r1, _081351AC - bl AppendString + bl StringAppend b _081351D8 .align 2 _081351A4: .4byte 0x020231cc @@ -635582,7 +634593,7 @@ _081351B0: bne _081351C8 ldr r0, _081351C0 ldr r1, _081351C4 - bl AppendString + bl StringAppend b _081351D0 .align 2 _081351C0: .4byte 0x020231cc @@ -635590,18 +634601,18 @@ _081351C4: .4byte gUnknown_08400E23 _081351C8: ldr r0, _081351F0 ldr r1, _081351F4 - bl AppendString + bl StringAppend _081351D0: ldr r0, _081351F0 ldr r1, _081351F8 - bl AppendString + bl StringAppend _081351D8: ldr r0, _081351F0 movs r1, 0xB muls r1, r6 ldr r2, _081351FC adds r1, r2 - bl AppendString + bl StringAppend _081351E6: adds r0, r4, 0 pop {r4-r6} @@ -635844,10 +634855,10 @@ _081353A8: ldr r4, _081353CC ldr r1, _081353DC adds r0, r4, 0 - bl AppendString + bl StringAppend ldr r1, _081353E0 adds r0, r4, 0 - bl AppendString + bl StringAppend b _0813543E .align 2 _081353C4: .4byte 0x03004360 @@ -635865,7 +634876,7 @@ _081353E4: beq _08135400 ldr r0, _081353F8 ldr r1, _081353FC - bl AppendString + bl StringAppend b _08135408 .align 2 _081353F8: .4byte 0x020231cc @@ -635873,11 +634884,11 @@ _081353FC: .4byte gUnknown_08400E2E _08135400: ldr r0, _08135414 ldr r1, _08135418 - bl AppendString + bl StringAppend _08135408: ldr r0, _08135414 ldr r1, _0813541C - bl AppendString + bl StringAppend b _0813543E .align 2 _08135414: .4byte 0x020231cc @@ -636755,7 +635766,7 @@ _08135B0E: adds r0, r5, 0x4 subs r4, 0xA adds r1, r4, 0 - bl CopyString_Limit7 + bl StringCopy8 adds r0, r6, 0 bl sub_8135D3C strh r0, [r5, 0x2] @@ -637284,7 +636295,7 @@ _08135F2A: adds r0, r7, 0x4 subs r4, 0xA adds r1, r4, 0 - bl CopyString_Limit7 + bl StringCopy8 movs r0, 0x1 strh r0, [r7, 0x2] movs r5, 0x7 @@ -638833,11 +637844,11 @@ sub_8136BB8: ; 8136BB8 bl PokemonGetField ldr r0, [r4] adds r0, 0x10 - bl GetStringEnd_Limit7 + bl StringGetEnd10 ldr r0, [r4] adds r0, 0x10 ldr r1, _08136C38 - bl AppendString + bl StringAppend ldr r0, _08136C3C bl sub_8071E2C movs r0, 0 @@ -639092,10 +638103,10 @@ _08136DD8: adds r0, r1 ldr r1, [r0] adds r0, r4, 0 - bl CopyString + bl StringCopy ldr r1, _08136DF8 adds r0, r4, 0 - bl AppendString + bl StringAppend b _08136E04 .align 2 _08136DF4: .4byte gUnknown_08406134 @@ -639103,7 +638114,7 @@ _08136DF8: .4byte gUnknown_084115C2 _08136DFC: ldr r1, _08136E0C adds r0, r4, 0 - bl CopyString + bl StringCopy _08136E04: pop {r4} pop {r0} @@ -641019,7 +640030,7 @@ _08137C00: bl PokemonGetField ldr r0, [sp, 0x84] ldr r1, [sp, 0x8C] - bl CopyString_Limit10 + bl StringCopy10 adds r0, r4, 0 movs r1, 0x7 ldr r2, [sp, 0x88] @@ -646172,7 +645183,7 @@ sub_813A6FC: ; 813A6FC ldrsh r1, [r4, r2] movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _0813A768 bl sub_813AD58 adds r0, r7, 0 @@ -646242,7 +645253,7 @@ sub_813A794: ; 813A794 ldrsh r1, [r4, r2] movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _0813A80C bl sub_813AD58 movs r0, 0x7 @@ -647339,7 +646350,7 @@ _0813B036: ldr r0, _0813B0C0 adds r1, r0 mov r0, r8 - bl CopyString + bl StringCopy mov r0, r8 bl sub_814A568 mov r0, r8 @@ -647627,13 +646638,13 @@ sub_813B294: ; 813B294 ldr r0, _0813B2F0 adds r1, r0 adds r0, r4, 0 - bl CopyString + bl StringCopy adds r0, r4, 0 bl sub_814A568 ldr r4, _0813B2F4 ldr r1, _0813B2F8 adds r0, r4, 0 - bl PrintSimple + bl StringExpandPlaceholders ldr r2, _0813B2FC adds r0, r5, 0 adds r1, r4, 0 @@ -647927,7 +646938,7 @@ sub_813B510: ; 813B510 bl sub_8072DEC ldr r0, _0813B540 ldr r1, _0813B544 - bl CopyString + bl StringCopy ldr r0, _0813B548 movs r1, 0x1 movs r2, 0x3 @@ -663027,7 +662038,7 @@ _08142C3C: ldr r3, _08142CB8 ldr r1, _08142CBC adds r0, r3, 0 - bl CopyString + bl StringCopy adds r3, r0, 0 movs r5, 0xFC strb r5, [r3] @@ -663044,7 +662055,7 @@ _08142C3C: movs r0, 0xA ldrsh r1, [r4, r0] adds r0, r3, 0 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r3, r0, 0 strb r5, [r3] movs r0, 0x13 @@ -663587,12 +662598,12 @@ sub_8143088: ; 8143088 beq _081430EA ldr r1, _08143194 adds r0, r7, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 adds r1, r6, 0 movs r2, 0x2 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN _081430EA: ldr r5, _08143188 mov r1, r8 @@ -663794,7 +662805,7 @@ _0814324A: lsrs r6, r0, 1 ldr r1, _081432F8 adds r0, r5, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 strb r4, [r7] movs r0, 0x14 @@ -663806,7 +662817,7 @@ _0814324A: adds r1, r6, 0 movs r2, 0 movs r3, 0x3 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r7, r0, 0 strb r4, [r7] mov r0, r8 @@ -663828,12 +662839,12 @@ _0814324A: ldrh r6, [r0] ldr r1, _081432FC adds r0, r5, 0 - bl CopyString + bl StringCopy adds r7, r0, 0 adds r1, r6, 0 movs r2, 0x2 movs r3, 0x5 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r2, [sp, 0x10] lsls r1, r2, 24 lsrs r1, 24 @@ -663907,7 +662918,7 @@ sub_8143300: ; 8143300 mov r0, r9 movs r2, 0x2 movs r3, 0x5 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN mov r0, r9 mov r1, r8 adds r2, r4, 0 @@ -663922,7 +662933,7 @@ sub_8143300: ; 8143300 mov r0, r10 ldrh r1, [r0, 0xE] mov r0, r9 - bl ConvertNumToDecimalString3 + bl ConvertIntToDecimalString adds r2, r0, 0 movs r1, 0 strb r1, [r2] @@ -663935,7 +662946,7 @@ sub_8143300: ; 8143300 adds r0, r2, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r2, r0, 0 movs r0, 0xFF strb r0, [r2] @@ -669068,7 +668079,7 @@ _08145C44: bl PokemonGetEncryptedField _08145C6C: ldr r0, _08145C88 - bl GetStringEnd_Limit7 + bl StringGetEnd10 _08145C72: pop {r3-r5} mov r8, r3 @@ -669479,7 +668490,7 @@ pokedex_diploma_something: ; 8145FB8 strh r0, [r1] ldr r0, _08145FE0 ldr r1, _08145FE4 - bl CopyString + bl StringCopy b _08145FF4 .align 2 _08145FDC: .4byte 0x0400001c @@ -669490,7 +668501,7 @@ _08145FE8: strh r1, [r0] ldr r0, _08146008 ldr r1, _0814600C - bl CopyString + bl StringCopy _08145FF4: ldr r0, _08146010 movs r1, 0x6 @@ -670103,7 +669114,7 @@ sub_81464E4: ; 81464E4 adds r0, r7, 0 movs r2, 0x2 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN adds r0, r7, 0 movs r1, 0xC movs r2, 0x4 @@ -670156,12 +669167,12 @@ _0814654E: adds r1, r4, 0 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _081465A8 adds r1, r6, 0 movs r2, 0 movs r3, 0x2 - bl ConvertNumToDecimalString + bl ConvertIntToDecimalStringN ldr r0, _081465AC movs r1, 0x10 movs r2, 0x7 @@ -670695,7 +669706,7 @@ sub_81469AC: ; 81469AC cmp r4, 0 bne _081469C0 ldr r1, _081469DC - bl CopyString + bl StringCopy movs r5, 0 _081469C0: cmp r4, 0x2 @@ -670706,7 +669717,7 @@ _081469C6: bne _081469D2 ldr r1, _081469E0 adds r0, r6, 0 - bl CopyString + bl StringCopy _081469D2: adds r0, r5, 0 pop {r4-r6} @@ -673175,7 +672186,7 @@ sub_8147E40: ; 8147E40 bne _08147EB8 ldr r0, _08147EB0 ldr r1, _08147EB4 - bl PrintSimple + bl StringExpandPlaceholders b _08147ED8 .align 2 _08147E94: .4byte 0x02039310 @@ -673192,7 +672203,7 @@ _08147EB8: ble _08147ED0 ldr r0, _08147EC8 ldr r1, _08147ECC - bl PrintSimple + bl StringExpandPlaceholders b _08147ED8 .align 2 _08147EC8: .4byte 0x020234cc @@ -673200,7 +672211,7 @@ _08147ECC: .4byte gUnknown_0840EC5C _08147ED0: ldr r0, _08147EF8 ldr r1, _08147EFC - bl PrintSimple + bl StringExpandPlaceholders _08147ED8: ldr r0, _08147EF8 movs r1, 0x1 @@ -678008,7 +677019,7 @@ sub_814A518: ; 814A518 lsrs r5, r1, 24 bl StripExtendedControlCodes adds r0, r4, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 24 lsrs r1, r0, 24 cmp r5, 0xFC @@ -678049,7 +677060,7 @@ _0814A55A: sub_814A568: ; 814A568 push {r4,lr} adds r4, r0, 0 - bl sub_8006B34 + bl StringGetLength lsls r0, 16 lsrs r0, 16 cmp r0, 0x5 @@ -1,4 +1,4 @@ as -mcpu=arm7tdmi asm/rom.s -o rom.o -ld -T ld_script.txt -T wram_syms.txt -o pokeruby.elf rom.o +ld -T ld_script.txt -T iwram_syms.txt -T ewram_syms.txt -o pokeruby.elf rom.o objcopy -O binary pokeruby.elf pokeruby.gba diff baserom.gba pokeruby.gba diff --git a/data/data2.s b/data/data2.s index a1348c818..88cf02113 100644 --- a/data/data2.s +++ b/data/data2.s @@ -348,20 +348,8 @@ gUnknown_081E7294: ; 81E7294 gUnknown_081E72B0: ; 81E72B0 .incbin "baserom.gba", 0x001e72b0, 0x3 -gUnknown_081E72B3: ; 81E72B3 - .incbin "baserom.gba", 0x001e72b3, 0x11 - -gUnknown_081E72C4: ; 81E72C4 - .incbin "baserom.gba", 0x001e72c4, 0x28 - -gUnknown_081E72EC: ; 81E72EC - .incbin "baserom.gba", 0x001e72ec, 0x4 - -gUnknown_081E72F0: ; 81E72F0 - .incbin "baserom.gba", 0x001e72f0, 0x8 - -gUnknown_081E72F8: ; 81E72F8 - .incbin "baserom.gba", 0x001e72f8, 0x38 +; 81E72B3 + .include "data/string_util.s" gUnknown_081E7330: ; 81E7330 .incbin "baserom.gba", 0x001e7330, 0x20 @@ -6253,41 +6241,44 @@ gUnknown_0840CB4C: ; 840CB4C gUnknown_0840D288: ; 840D288 .incbin "baserom.gba", 0x0040d288, 0x9f8 -gUnknown_0840DC80: ; 840DC80 - .incbin "baserom.gba", 0x0040dc80, 0x1 +gExpandedPlaceholder_Empty: ; 840DC80 + .string "$" + +gExpandedPlaceholder_MaleEmpty: ; 840DC81 + .string "$" -gUnknown_0840DC81: ; 840DC81 - .incbin "baserom.gba", 0x0040dc81, 0x1 +gExpandedPlaceholder_FemaleEmpty: ; 840DC82 + .string "$" -gUnknown_0840DC82: ; 840DC82 - .incbin "baserom.gba", 0x0040dc82, 0xa +gExpandedPlaceholder_Sapphire: ; 840DC83 + .string "SAPPHIRE$" -gUnknown_0840DC8C: ; 840DC8C - .incbin "baserom.gba", 0x0040dc8c, 0x5 +gExpandedPlaceholder_Ruby: ; 840DC8C + .string "RUBY$" -gUnknown_0840DC91: ; 840DC91 - .incbin "baserom.gba", 0x0040dc91, 0x5 +gExpandedPlaceholder_Aqua: ; 840DC91 + .string "AQUA$" -gUnknown_0840DC96: ; 840DC96 - .incbin "baserom.gba", 0x0040dc96, 0x6 +gExpandedPlaceholder_Magma: ; 840DC96 + .string "MAGMA$" -gUnknown_0840DC9C: ; 840DC9C - .incbin "baserom.gba", 0x0040dc9c, 0x7 +gExpandedPlaceholder_Archie: ; 840DC9C + .string "ARCHIE$" -gUnknown_0840DCA3: ; 840DCA3 - .incbin "baserom.gba", 0x0040dca3, 0x6 +gExpandedPlaceholder_Maxie: ; 840DCA3 + .string "MAXIE$" -gUnknown_0840DCA9: ; 840DCA9 - .incbin "baserom.gba", 0x0040dca9, 0x7 +gExpandedPlaceholder_Kyogre: ; 840DCA9 + .string "KYOGRE$" -gUnknown_0840DCB0: ; 840DCB0 - .incbin "baserom.gba", 0x0040dcb0, 0x8 +gExpandedPlaceholder_Groudon: ; 840DCB0 + .string "GROUDON$" -gUnknown_0840DCB8: ; 840DCB8 - .incbin "baserom.gba", 0x0040dcb8, 0x8 +gExpandedPlaceholder_Brendan: ; 840DCB8 + .string "BRENDAN$" -gUnknown_0840DCC0: ; 840DCC0 - .incbin "baserom.gba", 0x0040dcc0, 0x4 +gExpandedPlaceholder_May: ; 840DCC0 + .string "MAY$" gUnknown_0840DCC4: ; 840DCC4 .incbin "baserom.gba", 0x0040dcc4, 0x4 diff --git a/data/string_util.s b/data/string_util.s new file mode 100644 index 000000000..4b750ac91 --- /dev/null +++ b/data/string_util.s @@ -0,0 +1,40 @@ +gDigits: ; 81E72B3 + .charmapstr "0123456789ABCDEF" + + .align 2 + +gPowersOfTen: ; 81E72C4 + .4byte 1 + .4byte 10 + .4byte 100 + .4byte 1000 + .4byte 10000 + .4byte 100000 + .4byte 1000000 + .4byte 10000000 + .4byte 100000000 + .4byte 1000000000 + +gUnknown_081E72EC: ; 81E72EC + .byte 0xFC, 0x06, 0x06, 0xFF + +gUnknown_081E72F0: ; 81E72F0 + .byte 0xFE, 0xFC, 0x0E, 0x02, 0xFF + + .align 2 + +gExpandPlaceholderFuncTable: ; 81E72F8 + .4byte ExpandPlaceholder_UnknownStringVar + .4byte ExpandPlaceholder_PlayerName + .4byte ExpandPlaceholder_StringVar1 + .4byte ExpandPlaceholder_StringVar2 + .4byte ExpandPlaceholder_StringVar3 + .4byte ExpandPlaceholder_UnknownString + .4byte ExpandPlaceholder_RivalName + .4byte ExpandPlaceholder_Version + .4byte ExpandPlaceholder_EvilTeam + .4byte ExpandPlaceholder_GoodTeam + .4byte ExpandPlaceholder_EvilTeamLeader + .4byte ExpandPlaceholder_GoodTeamLeader + .4byte ExpandPlaceholder_CurVersionMascot + .4byte ExpandPlaceholder_OppVersionMascot diff --git a/ewram_syms.txt b/ewram_syms.txt new file mode 100644 index 000000000..5e6593754 --- /dev/null +++ b/ewram_syms.txt @@ -0,0 +1,5 @@ +gStringVar1 = 0x20231CC; +gStringVar2 = 0x20232CC; +gStringVar3 = 0x20233CC; + +gSaveBlock2 = 0x2024EA4; diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h new file mode 100644 index 000000000..ed27f33b8 --- /dev/null +++ b/include/gba/io_reg.h @@ -0,0 +1,415 @@ +#ifndef GUARD_GBA_IO_REG_H +#define GUARD_GBA_IO_REG_H + +#define REG_BASE 0x4000000 // I/O register base address + +// I/O register offsets + +#define REG_OFFSET_DISPCNT 0x0 +#define REG_OFFSET_DISPSTAT 0x4 +#define REG_OFFSET_VCOUNT 0x6 +#define REG_OFFSET_BG0CNT 0x8 +#define REG_OFFSET_BG1CNT 0xa +#define REG_OFFSET_BG2CNT 0xc +#define REG_OFFSET_BG3CNT 0xe +#define REG_OFFSET_BG0HOFS 0x10 +#define REG_OFFSET_BG0VOFS 0x12 +#define REG_OFFSET_BG1HOFS 0x14 +#define REG_OFFSET_BG1VOFS 0x16 +#define REG_OFFSET_BG2HOFS 0x18 +#define REG_OFFSET_BG2VOFS 0x1a +#define REG_OFFSET_BG3HOFS 0x1c +#define REG_OFFSET_BG3VOFS 0x1e +#define REG_OFFSET_BG2PA 0x20 +#define REG_OFFSET_BG2PB 0x22 +#define REG_OFFSET_BG2PC 0x24 +#define REG_OFFSET_BG2PD 0x26 +#define REG_OFFSET_BG2X_L 0x28 +#define REG_OFFSET_BG2X_H 0x2a +#define REG_OFFSET_BG2Y_L 0x2c +#define REG_OFFSET_BG2Y_H 0x2e +#define REG_OFFSET_BG3PA 0x30 +#define REG_OFFSET_BG3PB 0x32 +#define REG_OFFSET_BG3PC 0x34 +#define REG_OFFSET_BG3PD 0x36 +#define REG_OFFSET_BG3X_L 0x38 +#define REG_OFFSET_BG3X_H 0x3a +#define REG_OFFSET_BG3Y_L 0x3c +#define REG_OFFSET_BG3Y_H 0x3e +#define REG_OFFSET_WIN0H 0x40 +#define REG_OFFSET_WIN1H 0x42 +#define REG_OFFSET_WIN0V 0x44 +#define REG_OFFSET_WIN1V 0x46 +#define REG_OFFSET_WININ 0x48 +#define REG_OFFSET_WINOUT 0x4a +#define REG_OFFSET_MOSAIC 0x4c +#define REG_OFFSET_BLDCNT 0x50 +#define REG_OFFSET_BLDALPHA 0x52 +#define REG_OFFSET_BLDY 0x54 + +#define REG_OFFSET_SOUND1CNT 0x60 +#define REG_OFFSET_SOUND1CNT_L 0x60 +#define REG_OFFSET_SOUND1CNT_H 0x62 +#define REG_OFFSET_SOUND1CNT_X 0x64 +#define REG_OFFSET_SOUND2CNT 0x68 +#define REG_OFFSET_SOUND2CNT_L 0x68 +#define REG_OFFSET_SOUND2CNT_H 0x6c +#define REG_OFFSET_SOUND3CNT 0x70 +#define REG_OFFSET_SOUND3CNT_L 0x70 +#define REG_OFFSET_SOUND3CNT_H 0x72 +#define REG_OFFSET_SOUND3CNT_X 0x74 +#define REG_OFFSET_SOUND4CNT 0x78 +#define REG_OFFSET_SOUND4CNT_L 0x78 +#define REG_OFFSET_SOUND4CNT_H 0x7c +#define REG_OFFSET_SOUNDCNT 0x80 +#define REG_OFFSET_SOUNDCNT_L 0x80 +#define REG_OFFSET_SOUNDCNT_H 0x82 +#define REG_OFFSET_SOUNDCNT_X 0x84 +#define REG_OFFSET_SOUNDBIAS 0x88 +#define REG_OFFSET_WAVE_RAM 0x90 +#define REG_OFFSET_WAVE_RAM0 0x90 +#define REG_OFFSET_WAVE_RAM0_L 0x90 +#define REG_OFFSET_WAVE_RAM0_H 0x92 +#define REG_OFFSET_WAVE_RAM1 0x94 +#define REG_OFFSET_WAVE_RAM1_L 0x94 +#define REG_OFFSET_WAVE_RAM1_H 0x96 +#define REG_OFFSET_WAVE_RAM2 0x98 +#define REG_OFFSET_WAVE_RAM2_L 0x98 +#define REG_OFFSET_WAVE_RAM2_H 0x9a +#define REG_OFFSET_WAVE_RAM3 0x9c +#define REG_OFFSET_WAVE_RAM3_L 0x9c +#define REG_OFFSET_WAVE_RAM3_H 0x9e +#define REG_OFFSET_FIFO 0xa0 +#define REG_OFFSET_FIFO_A 0xa0 +#define REG_OFFSET_FIFO_A_L 0xa0 +#define REG_OFFSET_FIFO_A_H 0xa2 +#define REG_OFFSET_FIFO_B 0xa4 +#define REG_OFFSET_FIFO_B_L 0xa4 +#define REG_OFFSET_FIFO_B_H 0xa6 + +#define REG_OFFSET_DMA0 0xb0 +#define REG_OFFSET_DMA0SAD 0xb0 +#define REG_OFFSET_DMA0SAD_L 0xb0 +#define REG_OFFSET_DMA0SAD_H 0xb2 +#define REG_OFFSET_DMA0DAD 0xb4 +#define REG_OFFSET_DMA0DAD_L 0xb4 +#define REG_OFFSET_DMA0DAD_H 0xb6 +#define REG_OFFSET_DMA0CNT 0xb8 +#define REG_OFFSET_DMA0CNT_L 0xb8 +#define REG_OFFSET_DMA0CNT_H 0xba +#define REG_OFFSET_DMA1 0xbc +#define REG_OFFSET_DMA1SAD 0xbc +#define REG_OFFSET_DMA1SAD_L 0xbc +#define REG_OFFSET_DMA1SAD_H 0xbe +#define REG_OFFSET_DMA1DAD 0xc0 +#define REG_OFFSET_DMA1DAD_L 0xc0 +#define REG_OFFSET_DMA1DAD_H 0xc2 +#define REG_OFFSET_DMA1CNT 0xc4 +#define REG_OFFSET_DMA1CNT_L 0xc4 +#define REG_OFFSET_DMA1CNT_H 0xc6 +#define REG_OFFSET_DMA2 0xc8 +#define REG_OFFSET_DMA2SAD 0xc8 +#define REG_OFFSET_DMA2SAD_L 0xc8 +#define REG_OFFSET_DMA2SAD_H 0xca +#define REG_OFFSET_DMA2DAD 0xcc +#define REG_OFFSET_DMA2DAD_L 0xcc +#define REG_OFFSET_DMA2DAD_H 0xce +#define REG_OFFSET_DMA2CNT 0xd0 +#define REG_OFFSET_DMA2CNT_L 0xd0 +#define REG_OFFSET_DMA2CNT_H 0xd2 +#define REG_OFFSET_DMA3 0xd4 +#define REG_OFFSET_DMA3SAD 0xd4 +#define REG_OFFSET_DMA3SAD_L 0xd4 +#define REG_OFFSET_DMA3SAD_H 0xd6 +#define REG_OFFSET_DMA3DAD 0xd8 +#define REG_OFFSET_DMA3DAD_L 0xd8 +#define REG_OFFSET_DMA3DAD_H 0xda +#define REG_OFFSET_DMA3CNT 0xdc +#define REG_OFFSET_DMA3CNT_L 0xdc +#define REG_OFFSET_DMA3CNT_H 0xde + +#define REG_OFFSET_TM0CNT 0x100 +#define REG_OFFSET_TM0CNT_L 0x100 +#define REG_OFFSET_TM0CNT_H 0x102 +#define REG_OFFSET_TM1CNT 0x104 +#define REG_OFFSET_TM1CNT_L 0x104 +#define REG_OFFSET_TM1CNT_H 0x106 +#define REG_OFFSET_TM2CNT 0x108 +#define REG_OFFSET_TM2CNT_L 0x108 +#define REG_OFFSET_TM2CNT_H 0x10a +#define REG_OFFSET_TM3CNT 0x10c +#define REG_OFFSET_TM3CNT_L 0x10c +#define REG_OFFSET_TM3CNT_H 0x10e + +#define REG_OFFSET_SIOCNT 0x128 +#define REG_OFFSET_SIODATA8 0x12a +#define REG_OFFSET_SIODATA32 0x120 +#define REG_OFFSET_SIOMLT_SEND 0x12a +#define REG_OFFSET_SIOMLT_RECV 0x120 +#define REG_OFFSET_SIOMULTI0 0x120 +#define REG_OFFSET_SIOMULTI1 0x122 +#define REG_OFFSET_SIOMULTI2 0x124 +#define REG_OFFSET_SIOMULTI3 0x126 + +#define REG_OFFSET_KEYINPUT 0x130 +#define REG_OFFSET_KEYCNT 0x132 + +#define REG_OFFSET_RCNT 0x134 + +#define REG_OFFSET_JOYCNT 0x140 +#define REG_OFFSET_JOYSTAT 0x158 +#define REG_OFFSET_JOY_RECV 0x150 +#define REG_OFFSET_JOY_RECV_L 0x150 +#define REG_OFFSET_JOY_RECV_H 0x152 +#define REG_OFFSET_JOY_TRANS 0x154 +#define REG_OFFSET_JOY_TRANS_L 0x154 +#define REG_OFFSET_JOY_TRANS_H 0x156 + +#define REG_OFFSET_IME 0x208 +#define REG_OFFSET_IE 0x200 +#define REG_OFFSET_IF 0x202 + +#define REG_OFFSET_WAITCNT 0x204 + +// I/O register addresses + +#define REG_ADDR_DISPCNT (REG_BASE + REG_OFFSET_DISPCNT) +#define REG_ADDR_DISPSTAT (REG_BASE + REG_OFFSET_DISPSTAT) +#define REG_ADDR_VCOUNT (REG_BASE + REG_OFFSET_VCOUNT) +#define REG_ADDR_BG0CNT (REG_BASE + REG_OFFSET_BG0CNT) +#define REG_ADDR_BG1CNT (REG_BASE + REG_OFFSET_BG1CNT) +#define REG_ADDR_BG2CNT (REG_BASE + REG_OFFSET_BG2CNT) +#define REG_ADDR_BG3CNT (REG_BASE + REG_OFFSET_BG3CNT) +#define REG_ADDR_BG0HOFS (REG_BASE + REG_OFFSET_BG0HOFS) +#define REG_ADDR_BG0VOFS (REG_BASE + REG_OFFSET_BG0VOFS) +#define REG_ADDR_BG1HOFS (REG_BASE + REG_OFFSET_BG1HOFS) +#define REG_ADDR_BG1VOFS (REG_BASE + REG_OFFSET_BG1VOFS) +#define REG_ADDR_BG2HOFS (REG_BASE + REG_OFFSET_BG2HOFS) +#define REG_ADDR_BG2VOFS (REG_BASE + REG_OFFSET_BG2VOFS) +#define REG_ADDR_BG3HOFS (REG_BASE + REG_OFFSET_BG3HOFS) +#define REG_ADDR_BG3VOFS (REG_BASE + REG_OFFSET_BG3VOFS) +#define REG_ADDR_BG2PA (REG_BASE + REG_OFFSET_BG2PA) +#define REG_ADDR_BG2PB (REG_BASE + REG_OFFSET_BG2PB) +#define REG_ADDR_BG2PC (REG_BASE + REG_OFFSET_BG2PC) +#define REG_ADDR_BG2PD (REG_BASE + REG_OFFSET_BG2PD) +#define REG_ADDR_BG2X_L (REG_BASE + REG_OFFSET_BG2X_L) +#define REG_ADDR_BG2X_H (REG_BASE + REG_OFFSET_BG2X_H) +#define REG_ADDR_BG2Y_L (REG_BASE + REG_OFFSET_BG2Y_L) +#define REG_ADDR_BG2Y_H (REG_BASE + REG_OFFSET_BG2Y_H) +#define REG_ADDR_BG3PA (REG_BASE + REG_OFFSET_BG3PA) +#define REG_ADDR_BG3PB (REG_BASE + REG_OFFSET_BG3PB) +#define REG_ADDR_BG3PC (REG_BASE + REG_OFFSET_BG3PC) +#define REG_ADDR_BG3PD (REG_BASE + REG_OFFSET_BG3PD) +#define REG_ADDR_BG3X_L (REG_BASE + REG_OFFSET_BG3X_L) +#define REG_ADDR_BG3X_H (REG_BASE + REG_OFFSET_BG3X_H) +#define REG_ADDR_BG3Y_L (REG_BASE + REG_OFFSET_BG3Y_L) +#define REG_ADDR_BG3Y_H (REG_BASE + REG_OFFSET_BG3Y_H) +#define REG_ADDR_WIN0H (REG_BASE + REG_OFFSET_WIN0H) +#define REG_ADDR_WIN1H (REG_BASE + REG_OFFSET_WIN1H) +#define REG_ADDR_WIN0V (REG_BASE + REG_OFFSET_WIN0V) +#define REG_ADDR_WIN1V (REG_BASE + REG_OFFSET_WIN1V) +#define REG_ADDR_WININ (REG_BASE + REG_OFFSET_WININ) +#define REG_ADDR_WINOUT (REG_BASE + REG_OFFSET_WINOUT) +#define REG_ADDR_MOSAIC (REG_BASE + REG_OFFSET_MOSAIC) +#define REG_ADDR_BLDCNT (REG_BASE + REG_OFFSET_BLDCNT) +#define REG_ADDR_BLDALPHA (REG_BASE + REG_OFFSET_BLDALPHA) +#define REG_ADDR_BLDY (REG_BASE + REG_OFFSET_BLDY) + +#define REG_ADDR_SOUND1CNT (REG_BASE + REG_OFFSET_SOUND1CNT) +#define REG_ADDR_SOUND1CNT_L (REG_BASE + REG_OFFSET_SOUND1CNT_L) +#define REG_ADDR_SOUND1CNT_H (REG_BASE + REG_OFFSET_SOUND1CNT_H) +#define REG_ADDR_SOUND1CNT_X (REG_BASE + REG_OFFSET_SOUND1CNT_X) +#define REG_ADDR_SOUND2CNT (REG_BASE + REG_OFFSET_SOUND2CNT) +#define REG_ADDR_SOUND2CNT_L (REG_BASE + REG_OFFSET_SOUND2CNT_L) +#define REG_ADDR_SOUND2CNT_H (REG_BASE + REG_OFFSET_SOUND2CNT_H) +#define REG_ADDR_SOUND3CNT (REG_BASE + REG_OFFSET_SOUND3CNT) +#define REG_ADDR_SOUND3CNT_L (REG_BASE + REG_OFFSET_SOUND3CNT_L) +#define REG_ADDR_SOUND3CNT_H (REG_BASE + REG_OFFSET_SOUND3CNT_H) +#define REG_ADDR_SOUND3CNT_X (REG_BASE + REG_OFFSET_SOUND3CNT_X) +#define REG_ADDR_SOUND4CNT (REG_BASE + REG_OFFSET_SOUND4CNT) +#define REG_ADDR_SOUND4CNT_L (REG_BASE + REG_OFFSET_SOUND4CNT_L) +#define REG_ADDR_SOUND4CNT_H (REG_BASE + REG_OFFSET_SOUND4CNT_H) +#define REG_ADDR_SOUNDCNT (REG_BASE + REG_OFFSET_SOUNDCNT) +#define REG_ADDR_SOUNDCNT_L (REG_BASE + REG_OFFSET_SOUNDCNT_L) +#define REG_ADDR_SOUNDCNT_H (REG_BASE + REG_OFFSET_SOUNDCNT_H) +#define REG_ADDR_SOUNDCNT_X (REG_BASE + REG_OFFSET_SOUNDCNT_X) +#define REG_ADDR_SOUNDBIAS (REG_BASE + REG_OFFSET_SOUNDBIAS) +#define REG_ADDR_WAVE_RAM (REG_BASE + REG_OFFSET_WAVE_RAM) +#define REG_ADDR_WAVE_RAM0 (REG_BASE + REG_OFFSET_WAVE_RAM0) +#define REG_ADDR_WAVE_RAM0_L (REG_BASE + REG_OFFSET_WAVE_RAM0_L) +#define REG_ADDR_WAVE_RAM0_H (REG_BASE + REG_OFFSET_WAVE_RAM0_H) +#define REG_ADDR_WAVE_RAM1 (REG_BASE + REG_OFFSET_WAVE_RAM1) +#define REG_ADDR_WAVE_RAM1_L (REG_BASE + REG_OFFSET_WAVE_RAM1_L) +#define REG_ADDR_WAVE_RAM1_H (REG_BASE + REG_OFFSET_WAVE_RAM1_H) +#define REG_ADDR_WAVE_RAM2 (REG_BASE + REG_OFFSET_WAVE_RAM2) +#define REG_ADDR_WAVE_RAM2_L (REG_BASE + REG_OFFSET_WAVE_RAM2_L) +#define REG_ADDR_WAVE_RAM2_H (REG_BASE + REG_OFFSET_WAVE_RAM2_H) +#define REG_ADDR_WAVE_RAM3 (REG_BASE + REG_OFFSET_WAVE_RAM3) +#define REG_ADDR_WAVE_RAM3_L (REG_BASE + REG_OFFSET_WAVE_RAM3_L) +#define REG_ADDR_WAVE_RAM3_H (REG_BASE + REG_OFFSET_WAVE_RAM3_H) +#define REG_ADDR_FIFO (REG_BASE + REG_OFFSET_FIFO) +#define REG_ADDR_FIFO_A (REG_BASE + REG_OFFSET_FIFO_A) +#define REG_ADDR_FIFO_A_L (REG_BASE + REG_OFFSET_FIFO_A_L) +#define REG_ADDR_FIFO_A_H (REG_BASE + REG_OFFSET_FIFO_A_H) +#define REG_ADDR_FIFO_B (REG_BASE + REG_OFFSET_FIFO_B) +#define REG_ADDR_FIFO_B_L (REG_BASE + REG_OFFSET_FIFO_B_L) +#define REG_ADDR_FIFO_B_H (REG_BASE + REG_OFFSET_FIFO_B_H) + +#define REG_ADDR_DMA0 (REG_BASE + REG_OFFSET_DMA0) +#define REG_ADDR_DMA0SAD (REG_BASE + REG_OFFSET_DMA0SAD) +#define REG_ADDR_DMA0DAD (REG_BASE + REG_OFFSET_DMA0DAD) +#define REG_ADDR_DMA0CNT (REG_BASE + REG_OFFSET_DMA0CNT) +#define REG_ADDR_DMA0CNT_L (REG_BASE + REG_OFFSET_DMA0CNT_L) +#define REG_ADDR_DMA0CNT_H (REG_BASE + REG_OFFSET_DMA0CNT_H) +#define REG_ADDR_DMA1 (REG_BASE + REG_OFFSET_DMA1) +#define REG_ADDR_DMA1SAD (REG_BASE + REG_OFFSET_DMA1SAD) +#define REG_ADDR_DMA1DAD (REG_BASE + REG_OFFSET_DMA1DAD) +#define REG_ADDR_DMA1CNT (REG_BASE + REG_OFFSET_DMA1CNT) +#define REG_ADDR_DMA1CNT_L (REG_BASE + REG_OFFSET_DMA1CNT_L) +#define REG_ADDR_DMA1CNT_H (REG_BASE + REG_OFFSET_DMA1CNT_H) +#define REG_ADDR_DMA2 (REG_BASE + REG_OFFSET_DMA2) +#define REG_ADDR_DMA2SAD (REG_BASE + REG_OFFSET_DMA2SAD) +#define REG_ADDR_DMA2DAD (REG_BASE + REG_OFFSET_DMA2DAD) +#define REG_ADDR_DMA2CNT (REG_BASE + REG_OFFSET_DMA2CNT) +#define REG_ADDR_DMA2CNT_L (REG_BASE + REG_OFFSET_DMA2CNT_L) +#define REG_ADDR_DMA2CNT_H (REG_BASE + REG_OFFSET_DMA2CNT_H) +#define REG_ADDR_DMA3 (REG_BASE + REG_OFFSET_DMA3) +#define REG_ADDR_DMA3SAD (REG_BASE + REG_OFFSET_DMA3SAD) +#define REG_ADDR_DMA3DAD (REG_BASE + REG_OFFSET_DMA3DAD) +#define REG_ADDR_DMA3CNT (REG_BASE + REG_OFFSET_DMA3CNT) +#define REG_ADDR_DMA3CNT_L (REG_BASE + REG_OFFSET_DMA3CNT_L) +#define REG_ADDR_DMA3CNT_H (REG_BASE + REG_OFFSET_DMA3CNT_H) + +#define REG_ADDR_TM0CNT (REG_BASE + REG_OFFSET_TM0CNT) +#define REG_ADDR_TM0CNT_L (REG_BASE + REG_OFFSET_TM0CNT_L) +#define REG_ADDR_TM0CNT_H (REG_BASE + REG_OFFSET_TM0CNT_H) +#define REG_ADDR_TM1CNT (REG_BASE + REG_OFFSET_TM1CNT) +#define REG_ADDR_TM1CNT_L (REG_BASE + REG_OFFSET_TM1CNT_L) +#define REG_ADDR_TM1CNT_H (REG_BASE + REG_OFFSET_TM1CNT_H) +#define REG_ADDR_TM2CNT (REG_BASE + REG_OFFSET_TM2CNT) +#define REG_ADDR_TM2CNT_L (REG_BASE + REG_OFFSET_TM2CNT_L) +#define REG_ADDR_TM2CNT_H (REG_BASE + REG_OFFSET_TM2CNT_H) +#define REG_ADDR_TM3CNT (REG_BASE + REG_OFFSET_TM3CNT) +#define REG_ADDR_TM3CNT_L (REG_BASE + REG_OFFSET_TM3CNT_L) +#define REG_ADDR_TM3CNT_H (REG_BASE + REG_OFFSET_TM3CNT_H) + +#define REG_ADDR_SIOCNT (REG_BASE + REG_OFFSET_SIOCNT) +#define REG_ADDR_SIODATA8 (REG_BASE + REG_OFFSET_SIODATA8) +#define REG_ADDR_SIODATA32 (REG_BASE + REG_OFFSET_SIODATA32) +#define REG_ADDR_SIOMLT_SEND (REG_BASE + REG_OFFSET_SIOMLT_SEND) +#define REG_ADDR_SIOMLT_RECV (REG_BASE + REG_OFFSET_SIOMLT_RECV) +#define REG_ADDR_SIOMULTI0 (REG_BASE + REG_OFFSET_SIOMULTI0) +#define REG_ADDR_SIOMULTI1 (REG_BASE + REG_OFFSET_SIOMULTI1) +#define REG_ADDR_SIOMULTI2 (REG_BASE + REG_OFFSET_SIOMULTI2) +#define REG_ADDR_SIOMULTI3 (REG_BASE + REG_OFFSET_SIOMULTI3) + +#define REG_ADDR_KEYINPUT (REG_BASE + REG_OFFSET_KEYINPUT) +#define REG_ADDR_KEYCNT (REG_BASE + REG_OFFSET_KEYCNT) + +#define REG_ADDR_RCNT (REG_BASE + REG_OFFSET_RCNT) + +#define REG_ADDR_JOYCNT (REG_BASE + REG_OFFSET_JOYCNT) +#define REG_ADDR_JOYSTAT (REG_BASE + REG_OFFSET_JOYSTAT) +#define REG_ADDR_JOY_RECV (REG_BASE + REG_OFFSET_JOY_RECV) +#define REG_ADDR_JOY_RECV_L (REG_BASE + REG_OFFSET_JOY_RECV_L) +#define REG_ADDR_JOY_RECV_H (REG_BASE + REG_OFFSET_JOY_RECV_H) +#define REG_ADDR_JOY_TRANS (REG_BASE + REG_OFFSET_JOY_TRANS) +#define REG_ADDR_JOY_TRANS_L (REG_BASE + REG_OFFSET_JOY_TRANS_L) +#define REG_ADDR_JOY_TRANS_H (REG_BASE + REG_OFFSET_JOY_TRANS_H) + +#define REG_ADDR_IME (REG_BASE + REG_OFFSET_IME) +#define REG_ADDR_IE (REG_BASE + REG_OFFSET_IE) +#define REG_ADDR_IF (REG_BASE + REG_OFFSET_IF) + +#define REG_ADDR_WAITCNT (REG_BASE + REG_OFFSET_WAITCNT) + +// I/O registers + +#define REG_DISPCNT (*(vu32 *)REG_ADDR_DISPCNT) +#define REG_DISPSTAT (*(vu16 *)REG_ADDR_DISPSTAT) +#define REG_VCOUNT (*(vu16 *)REG_ADDR_VCOUNT) + +#define REG_DMA0SAD (*(vu32 *)REG_ADDR_DMA0SAD) +#define REG_DMA0DAD (*(vu32 *)REG_ADDR_DMA0DAD) +#define REG_DMA0CNT (*(vu32 *)REG_ADDR_DMA0CNT) +#define REG_DMA0CNT_L (*(vu16 *)REG_ADDR_DMA0CNT_L) +#define REG_DMA0CNT_H (*(vu16 *)REG_ADDR_DMA0CNT_H) + +#define REG_DMA1SAD (*(vu32 *)REG_ADDR_DMA1SAD) +#define REG_DMA1DAD (*(vu32 *)REG_ADDR_DMA1DAD) +#define REG_DMA1CNT (*(vu32 *)REG_ADDR_DMA1CNT) +#define REG_DMA1CNT_L (*(vu16 *)REG_ADDR_DMA1CNT_L) +#define REG_DMA1CNT_H (*(vu16 *)REG_ADDR_DMA1CNT_H) + +#define REG_DMA2SAD (*(vu32 *)REG_ADDR_DMA2SAD) +#define REG_DMA2DAD (*(vu32 *)REG_ADDR_DMA2DAD) +#define REG_DMA2CNT (*(vu32 *)REG_ADDR_DMA2CNT) +#define REG_DMA2CNT_L (*(vu16 *)REG_ADDR_DMA2CNT_L) +#define REG_DMA2CNT_H (*(vu16 *)REG_ADDR_DMA2CNT_H) + +#define REG_DMA3SAD (*(vu32 *)REG_ADDR_DMA3SAD) +#define REG_DMA3DAD (*(vu32 *)REG_ADDR_DMA3DAD) +#define REG_DMA3CNT (*(vu32 *)REG_ADDR_DMA3CNT) +#define REG_DMA3CNT_L (*(vu16 *)REG_ADDR_DMA3CNT_L) +#define REG_DMA3CNT_H (*(vu16 *)REG_ADDR_DMA3CNT_H) + +#define REG_IME (*(vu16 *)REG_ADDR_IME) +#define REG_IE (*(vu16 *)REG_ADDR_IE) +#define REG_IF (*(vu16 *)REG_ADDR_IF) + +// I/O register fields + +// DISPCNT +#define DISPCNT_MODE_0 0x0000 +#define DISPCNT_MODE_1 0x0001 +#define DISPCNT_MODE_2 0x0002 +#define DISPCNT_MODE_3 0x0003 +#define DISPCNT_MODE_4 0x0004 +#define DISPCNT_MODE_5 0x0005 +#define DISPCNT_OBJ_1D_MAP 0x0040 +#define DISPCNT_FORCED_BLANK 0x0080 + +// DISPSTAT +#define DISPSTAT_VBLANK 0x0001 // in V-Blank +#define DISPSTAT_HBLANK 0x0002 // in H-Blank +#define DISPSTAT_VCOUNT 0x0004 // V-Count match +#define DISPSTAT_VBLANK_INTR 0x0008 // V-Blank interrupt enabled +#define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled +#define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled + +// DMA +#define DMA_DEST_INC 0x0000 +#define DMA_DEST_DEC 0x0020 +#define DMA_DEST_FIXED 0x0040 +#define DMA_DEST_RELOAD 0x0060 +#define DMA_SRC_INC 0x0000 +#define DMA_SRC_DEC 0x0080 +#define DMA_SRC_FIXED 0x0100 +#define DMA_REPEAT 0x0200 +#define DMA_16BIT 0x0000 +#define DMA_32BIT 0x0400 +#define DMA_DREQ_ON 0x0800 +#define DMA_START_NOW 0x0000 +#define DMA_START_VBLANK 0x1000 +#define DMA_START_HBLANK 0x2000 +#define DMA_START_SPECIAL 0x3000 +#define DMA_INTR_ENABLE 0x4000 +#define DMA_ENABLE 0x8000 + +// interrupt flags +#define INTR_FLAG_VBLANK (1 << 0) +#define INTR_FLAG_HBLANK (1 << 1) +#define INTR_FLAG_VCOUNT (1 << 2) +#define INTR_FLAG_TIMER0 (1 << 3) +#define INTR_FLAG_TIMER1 (1 << 4) +#define INTR_FLAG_TIMER2 (1 << 5) +#define INTR_FLAG_TIMER3 (1 << 6) +#define INTR_FLAG_SERIAL (1 << 7) +#define INTR_FLAG_DMA0 (1 << 8) +#define INTR_FLAG_DMA1 (1 << 9) +#define INTR_FLAG_DMA2 (1 << 10) +#define INTR_FLAG_DMA3 (1 << 11) +#define INTR_FLAG_KEYPAD (1 << 12) +#define INTR_FLAG_GAMEPAK (1 << 13) + +#endif // GUARD_GBA_IO_REG_H diff --git a/include/gba/macro.h b/include/gba/macro.h new file mode 100644 index 000000000..42830d47c --- /dev/null +++ b/include/gba/macro.h @@ -0,0 +1,52 @@ +#ifndef GUARD_GBA_MACRO_H +#define GUARD_GBA_MACRO_H + +#define CPU_FILL(dest, value, size, bit) \ +do { \ + vu##bit tmp = (vu##bit)(value); \ + CpuSet((void *)&tmp, \ + dest, \ + CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size)/(bit/8) & 0x1FFFFF)); \ +} while (0) + +#define CpuFill16(dest, value, size) CPU_FILL(dest, value, size, 16) +#define CpuFill32(dest, value, size) CPU_FILL(dest, value, size, 32) + +#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size)/(bit/8) & 0x1FFFFF)) + +#define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16) +#define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32) + +#define DmaSet(dmaNum, src, dest, controlData) \ +do { \ + vu32 *dmaRegs = (vu32 *)REG_ADDR_DMA##dmaNum; \ + dmaRegs[0] = (vu32)(src); \ + dmaRegs[1] = (vu32)(dest); \ + dmaRegs[2] = (vu32)(controlData); \ + dmaRegs[2]; \ +} while (0) + +#define DMA_FILL(dmaNum, dest, value, size, bit) \ +do { \ + vu##bit tmp = (vu##bit)(value); \ + DmaSet(dmaNum, \ + &tmp, \ + dest, \ + (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_FIXED | DMA_DEST_INC) << 16 \ + | ((size)/(bit/8))); \ +} while (0) + +#define DmaFill16(dmaNum, dest, value, size) DMA_FILL(dmaNum, dest, value, size, 16) +#define DmaFill32(dmaNum, dest, value, size) DMA_FILL(dmaNum, dest, value, size, 32) + +#define DMA_COPY(dmaNum, src, dest, size, bit) \ + DmaSet(dmaNum, \ + src, \ + dest, \ + (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 \ + | ((size)/(bit/8))) + +#define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16) +#define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32) + +#endif // GUARD_GBA_MACRO_H diff --git a/include/gba/syscall.h b/include/gba/syscall.h new file mode 100644 index 000000000..0f4198b44 --- /dev/null +++ b/include/gba/syscall.h @@ -0,0 +1,10 @@ +#ifndef GUARD_GBA_SYSCALL_H +#define GUARD_GBA_SYSCALL_H + +#define CPU_SET_SRC_FIXED 0x01000000 +#define CPU_SET_16BIT 0x00000000 +#define CPU_SET_32BIT 0x04000000 + +extern void CpuSet(void *src, void *dest, u32 controlData); + +#endif // GUARD_GBA_SYSCALL_H diff --git a/include/global.h b/include/global.h new file mode 100644 index 000000000..37473afc8 --- /dev/null +++ b/include/global.h @@ -0,0 +1,34 @@ +#ifndef GUARD_GLOBAL_H +#define GUARD_GLOBAL_H + +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +typedef signed char s8; +typedef signed short s16; +typedef signed int s32; + +typedef volatile u8 vu8; +typedef volatile u16 vu16; +typedef volatile u32 vu32; +typedef volatile s8 vs8; +typedef volatile s16 vs16; +typedef volatile s32 vs32; + +typedef float f32; +typedef double f64; + +typedef u8 bool8; +typedef u16 bool16; +typedef u32 bool32; + +#define NULL (void *)0 + +#define TRUE 1 +#define FALSE 0 + +#include "gba/io_reg.h" +#include "gba/syscall.h" +#include "gba/macro.h" + +#endif // GUARD_GLOBAL_H diff --git a/iwram_syms.txt b/iwram_syms.txt new file mode 100644 index 000000000..b9128685f --- /dev/null +++ b/iwram_syms.txt @@ -0,0 +1 @@ +gUnknownStringVar = 0x3002900; diff --git a/src/string_util.c b/src/string_util.c new file mode 100644 index 000000000..a5a9dc19e --- /dev/null +++ b/src/string_util.c @@ -0,0 +1,560 @@ +#include "global.h" + +#define CHAR_SPACE 0x00 +#define CHAR_QUESTION_MARK 0xAC + +#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code +#define PLACEHOLDER_BEGIN 0xFD // string placeholder +#define EOS 0xFF // end of string + +#define MAX_PLACEHOLDER_ID 0xD + +#define MALE 0 +#define FEMALE 1 + +struct SaveBlock2 { + u8 playerName[8]; + u8 playerGender; +}; + +typedef u8 *(*ExpandPlaceholderFunc)(); + +extern u8 gDigits[]; +extern s32 gPowersOfTen[]; +extern u8 gUnknown_081E72EC[]; +extern u8 gUnknown_081E72F0[]; +extern ExpandPlaceholderFunc gExpandPlaceholderFuncTable[]; + +extern u8 gExpandedPlaceholder_Empty[]; +extern u8 gExpandedPlaceholder_MaleEmpty[]; +extern u8 gExpandedPlaceholder_FemaleEmpty[]; +extern u8 gExpandedPlaceholder_Sapphire[]; +extern u8 gExpandedPlaceholder_Ruby[]; +extern u8 gExpandedPlaceholder_Aqua[]; +extern u8 gExpandedPlaceholder_Magma[]; +extern u8 gExpandedPlaceholder_Archie[]; +extern u8 gExpandedPlaceholder_Maxie[]; +extern u8 gExpandedPlaceholder_Kyogre[]; +extern u8 gExpandedPlaceholder_Groudon[]; +extern u8 gExpandedPlaceholder_Brendan[]; +extern u8 gExpandedPlaceholder_May[]; + +extern u8 gUnknownStringVar[]; +extern u8 gStringVar1[]; +extern u8 gStringVar2[]; +extern u8 gStringVar3[]; +extern struct SaveBlock2 gSaveBlock2; + +enum StringConvertMode { + STR_CONV_MODE_LEFT_ALIGN, + STR_CONV_MODE_RIGHT_ALIGN, + STR_CONV_MODE_LEADING_ZEROS +}; + +extern u8 GetExtCtrlCodeLength(u8 code); + +u8 *GetExpandedPlaceholder(u32 id); + +u8 *StringCopy10(u8 *dest, u8 *src) +{ + u8 i; + u32 limit = 10; + + for (i = 0; i < limit; i++) + { + dest[i] = src[i]; + + if (dest[i] == EOS) + return &dest[i]; + } + + dest[i] = EOS; + return &dest[i]; +} + +u8 *StringGetEnd10(u8 *str) +{ + u8 i; + u32 limit = 10; + + for (i = 0; i < limit; i++) + if (str[i] == EOS) + return &str[i]; + + str[i] = EOS; + return &str[i]; +} + +u8 *StringCopy8(u8 *dest, u8 *src) +{ + s32 i; + + for (i = 0; i < 8; i++) + { + dest[i] = src[i]; + + if (dest[i] == EOS) + return &dest[i]; + } + + dest[i] = EOS; + return &dest[i]; +} + +u8 *StringCopy(u8 *dest, u8 *src) +{ + while (*src != EOS) + { + *dest = *src; + dest++; + src++; + } + + *dest = EOS; + return dest; +} + +u8 *StringAppend(u8 *dest, u8 *src) +{ + while (*dest != EOS) + dest++; + + return StringCopy(dest, src); +} + +u8 *StringCopyN(u8 *dest, u8 *src, u8 n) +{ + u16 i; + + for (i = 0; i < n; i++) + dest[i] = src[i]; + + return &dest[n]; +} + +u8 *StringAppendN(u8 *dest, u8 *src, u8 n) +{ + while (*dest != EOS) + dest++; + + return StringCopyN(dest, src, n); +} + +u16 StringGetLength(u8 *str) +{ + u16 length = 0; + + while (str[length] != EOS) + { + u16 temp = length; + length++; + if (str[temp] == EXT_CTRL_CODE_BEGIN) + length += GetExtCtrlCodeLength(str[length]); + } + + return length; +} + +s32 StringCompare(u8 *str1, u8 *str2) +{ + while (*str1 == *str2) + { + if (*str1 == EOS) + return 0; + str1++; + str2++; + } + + return *str1 - *str2; +} + +s32 StringCompareN(u8 *str1, u8 *str2, u32 n) +{ + while (*str1 == *str2) + { + if (*str1 == EOS) + return 0; + str1++; + str2++; + if (--n == 0) + return 0; + } + + return *str1 - *str2; +} + +u8 *ConvertIntToDecimalStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n) +{ + enum { WAITING_FOR_NONZERO_DIGIT, WRITING_DIGITS, WRITING_SPACES } state; + s32 powerOfTen; + s32 largestPowerOfTen = gPowersOfTen[n - 1]; + + state = WAITING_FOR_NONZERO_DIGIT; + + if (mode == STR_CONV_MODE_RIGHT_ALIGN) + state = WRITING_SPACES; + + if (mode == STR_CONV_MODE_LEADING_ZEROS) + state = WRITING_DIGITS; + + for (powerOfTen = largestPowerOfTen; powerOfTen > 0; powerOfTen /= 10) + { + char *out; + u8 c; + u16 digit = value / powerOfTen; + s32 temp = value - (powerOfTen * digit); + + if (state == WRITING_DIGITS) + { + out = dest++; + + if (digit <= 9) + c = gDigits[digit]; + else + c = CHAR_QUESTION_MARK; + + *out = c; + } + else if (digit != 0 || powerOfTen == 1) + { + state = WRITING_DIGITS; + out = dest++; + + if (digit <= 9) + c = gDigits[digit]; + else + c = CHAR_QUESTION_MARK; + + *out = c; + } + else if (state == WRITING_SPACES) + { + *dest++ = CHAR_SPACE; + } + + value = temp; + } + + *dest = EOS; + return dest; +} + +u8 *ConvertIntToDecimalStringN_UnknownExtCtrlCode(u8 *dest, s32 value, enum StringConvertMode mode, u8 n) +{ + enum { WAITING_FOR_NONZERO_DIGIT, WRITING_DIGITS, WRITING_SPACES } state; + s32 powerOfTen; + s32 largestPowerOfTen = gPowersOfTen[n - 1]; + + *dest++ = EXT_CTRL_CODE_BEGIN; + *dest++ = 0x14; + *dest++ = 0x06; + + state = WAITING_FOR_NONZERO_DIGIT; + + if (mode == STR_CONV_MODE_RIGHT_ALIGN) + state = WRITING_SPACES; + + if (mode == STR_CONV_MODE_LEADING_ZEROS) + state = WRITING_DIGITS; + + for (powerOfTen = largestPowerOfTen; powerOfTen > 0; powerOfTen /= 10) + { + char *out; + u8 c; + u16 digit = value / powerOfTen; + s32 temp = value - (powerOfTen * digit); + + if (state == WRITING_DIGITS) + { + out = dest++; + + if (digit <= 9) + c = gDigits[digit]; + else + c = CHAR_QUESTION_MARK; + + *out = c; + } + else if (digit != 0 || powerOfTen == 1) + { + state = WRITING_DIGITS; + out = dest++; + + if (digit <= 9) + c = gDigits[digit]; + else + c = CHAR_QUESTION_MARK; + + *out = c; + } + else if (state == WRITING_SPACES) + { + *dest++ = CHAR_SPACE; + } + + value = temp; + } + + *dest++ = EXT_CTRL_CODE_BEGIN; + *dest++ = 0x14; + *dest++ = 0x00; + + *dest = EOS; + return dest; +} + +u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n) +{ + enum { WAITING_FOR_NONZERO_DIGIT, WRITING_DIGITS, WRITING_SPACES } state; + u8 i; + s32 powerOfSixteen; + s32 largestPowerOfSixteen = 1; + + for (i = 1; i < n; i++) + largestPowerOfSixteen *= 16; + + state = WAITING_FOR_NONZERO_DIGIT; + + if (mode == STR_CONV_MODE_RIGHT_ALIGN) + state = WRITING_SPACES; + + if (mode == STR_CONV_MODE_LEADING_ZEROS) + state = WRITING_DIGITS; + + for (powerOfSixteen = largestPowerOfSixteen; powerOfSixteen > 0; powerOfSixteen /= 16) + { + char *out; + u8 c; + u32 digit = value / powerOfSixteen; + s32 temp = value % powerOfSixteen; + + if (state == WRITING_DIGITS) + { + out = dest++; + + if (digit <= 0xF) + c = gDigits[digit]; + else + c = CHAR_QUESTION_MARK; + + *out = c; + } + else if (digit != 0 || powerOfSixteen == 1) + { + state = 1; + out = dest++; + + if (digit <= 0xF) + c = gDigits[digit]; + else + c = CHAR_QUESTION_MARK; + + *out = c; + } + else if (state == WRITING_SPACES) + { + *dest++ = CHAR_SPACE; + } + + value = temp; + } + + *dest = EOS; + return dest; +} + +u8 *ConvertIntToDecimalString(u8 *dest, s32 value) +{ + char temp[12]; + s32 length = 0; + + do + { + temp[length++] = gDigits[value % 10]; + value /= 10; + } while (value != 0); + + length--; + + while (length != -1) + { + *dest++ = temp[length]; + length--; + } + + *dest = EOS; + return dest; +} + +u8 *StringExpandPlaceholders(u8 *dest, u8 *src) +{ + for (;;) + { + u8 c = *src++; + u8 placeholderId; + u8 *expandedString; + u8 length; + + switch (c) + { + case PLACEHOLDER_BEGIN: + placeholderId = *src++; + expandedString = GetExpandedPlaceholder(placeholderId); + dest = StringExpandPlaceholders(dest, expandedString); + break; + case EXT_CTRL_CODE_BEGIN: + *dest++ = c; + length = GetExtCtrlCodeLength(*src); + memcpy(dest, src, length); + dest += length; + src += length; + break; + case EOS: + *dest = EOS; + return dest; + case 0xFA: + case 0xFB: + case 0xFE: + default: + *dest++ = c; + } + } +} + +u8 *UnknownStringFunc(u8 *dest, u8 *src) +{ + u8 array1[4]; + u8 array2[5]; + + memcpy(array1, gUnknown_081E72EC, 4); + memcpy(array2, gUnknown_081E72F0, 5); + + dest = StringCopy(dest, array1); + + for (;;) + { + u8 c = *src++; + + switch (c) + { + case EOS: + *dest = c; + return dest; + case 0xFE: + dest = StringCopy(dest, array2); + break; + default: + *dest++ = c; + *dest++ = c + 0x40; + break; + } + } +} + +u8 *ExpandPlaceholder_UnknownStringVar() +{ + return gUnknownStringVar; +} + +u8 *ExpandPlaceholder_PlayerName() +{ + return gSaveBlock2.playerName; +} + +u8 *ExpandPlaceholder_StringVar1() +{ + return gStringVar1; +} + +u8 *ExpandPlaceholder_StringVar2() +{ + return gStringVar2; +} + +u8 *ExpandPlaceholder_StringVar3() +{ + return gStringVar3; +} + +u8 *ExpandPlaceholder_UnknownString() +{ + if (gSaveBlock2.playerGender == MALE) + return gExpandedPlaceholder_MaleEmpty; + else + return gExpandedPlaceholder_FemaleEmpty; +} + +u8 *ExpandPlaceholder_RivalName() +{ + if (gSaveBlock2.playerGender == MALE) + return gExpandedPlaceholder_May; + else + return gExpandedPlaceholder_Brendan; +} + +#define VERSION_DEPENDENT_PH_LIST \ + X(Version, Ruby, Sapphire) \ + X(EvilTeam, Magma, Aqua) \ + X(GoodTeam, Aqua, Magma) \ + X(EvilTeamLeader, Maxie, Archie) \ + X(GoodTeamLeader, Archie, Maxie) \ + X(CurVersionMascot, Groudon, Kyogre) \ + X(OppVersionMascot, Kyogre, Groudon) + +#ifdef SAPPHIRE +#define X(ph, r, s) \ +u8 *ExpandPlaceholder_##ph() { return gExpandedPlaceholder_##s; } +VERSION_DEPENDENT_PH_LIST +#else +#define X(ph, r, s) \ +u8 *ExpandPlaceholder_##ph() { return gExpandedPlaceholder_##r; } +VERSION_DEPENDENT_PH_LIST +#endif + +#undef X + +u8 *GetExpandedPlaceholder(u32 id) +{ + if (id > MAX_PLACEHOLDER_ID) + return gExpandedPlaceholder_Empty; + else + return gExpandPlaceholderFuncTable[id](); +} + +u8 *StringFill(u8 *dest, u8 c, u16 n) +{ + u16 i; + + for (i = 0; i < n; i++) + *dest++ = c; + + *dest = EOS; + return dest; +} + +u8 *StringCopyPadded(u8 *dest, u8 *src, u8 c, u16 n) +{ + while (*src != EOS) + { + *dest++ = *src++; + + if (n) + n--; + } + + n--; + + while (n != (u16)-1) + { + *dest++ = c; + n--; + } + + *dest = EOS; + return dest; +} + +u8 *StringFillEOS(u8 *dest, u16 n) +{ + return StringFill(dest, EOS, n); +} diff --git a/wram_syms.txt b/wram_syms.txt deleted file mode 100644 index e69de29bb..000000000 --- a/wram_syms.txt +++ /dev/null |