finished dynamic_placeholder_text_util

This commit is contained in:
jiangzhengwenjz 2019-07-06 05:53:42 +08:00
parent 6030086696
commit cc4d2f524c
20 changed files with 270 additions and 337 deletions

View File

@ -1265,7 +1265,7 @@ _0814DFE0:
adds r4, r2, r4
str r4, [sp, 0x2C]
_0814DFF0:
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r0, [sp, 0x10]
cmp r0, 0x1
beq _0814E0E4
@ -1610,10 +1610,10 @@ _0814E2B8:
ldr r0, [sp, 0xC]
adds r1, r0, r1
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, _0814E324 @ =gStringVar4
adds r1, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r1, [sp, 0x2C]
ldrb r0, [r1]
mov r2, r9

View File

@ -513,18 +513,18 @@ _080F5014: .4byte gUnknown_203AB48
sub_80F5018: @ 80F5018
push {r4-r6,lr}
sub sp, 0xAC
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r0, _080F5040 @ =gSaveBlock2Ptr
ldr r1, [r0]
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
bl sub_8088F84
lsls r0, 16
cmp r0, 0
beq _080F5048
ldr r1, _080F5044 @ =gUnknown_841B68F
movs r0, 0x1
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
b _080F5050
.align 2, 0
_080F5040: .4byte gSaveBlock2Ptr
@ -532,14 +532,14 @@ _080F5044: .4byte gUnknown_841B68F
_080F5048:
ldr r1, _080F50E0 @ =gUnknown_841B698
movs r0, 0x1
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
_080F5050:
movs r0, 0
movs r1, 0
bl FillWindowPixelBuffer
ldr r1, _080F50E4 @ =gUnknown_841B60E
add r0, sp, 0xC
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r5, 0x1
negs r5, r5
movs r0, 0x2
@ -562,7 +562,7 @@ _080F5050:
bl AddTextPrinterParameterized3
ldr r1, _080F50EC @ =gUnknown_841B619
add r0, sp, 0xC
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x2
add r1, sp, 0xC
adds r2, r5, 0

View File

@ -9983,7 +9983,7 @@ _08155480:
movs r1, 0
adds r2, r5, 0
bl AddTextPrinterParameterized
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
bl sub_8153390
lsls r0, 16
lsrs r0, 16
@ -9992,10 +9992,10 @@ _08155480:
bl CopyItemName
movs r0, 0
adds r1, r5, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, _0815556C @ =gUnknown_841CD7A
add r0, sp, 0xC
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, [r4]
add r0, r10
ldrb r0, [r0]
@ -10016,7 +10016,7 @@ _08155480:
beq _0815559E
cmp r4, 0x3
beq _0815559E
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
bl sub_8153390
lsls r0, 16
lsrs r0, 16
@ -10024,12 +10024,12 @@ _08155480:
bl CopyItemName
movs r0, 0
adds r1, r5, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
cmp r4, 0x2
bne _08155574
ldr r1, _08155570 @ =gUnknown_841CD9F
add r0, sp, 0xC
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _08155580
.align 2, 0
_08155558: .4byte 0x00000101
@ -10044,7 +10044,7 @@ _08155574:
bne _08155580
ldr r1, _081555C4 @ =gUnknown_841CDBA
add r0, sp, 0xC
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_08155580:
ldr r0, _081555C8 @ =gUnknown_203F440
ldr r0, [r0]

View File

@ -3183,7 +3183,7 @@ _080CBE20:
lsls r0, 24
lsrs r0, 24
_080CBE40:
bl sub_813CD24
bl GetColorFromTextColorTable
_080CBE44:
lsls r0, 24
lsrs r0, 24

View File

@ -10537,14 +10537,14 @@ _0811B056:
lsls r0, r4, 24
lsrs r0, 24
adds r1, r5, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
adds r5, 0xB
adds r4, 0x1
cmp r4, 0x3
ble _0811B056
ldr r1, _0811B074 @ =gUnknown_8457D44
adds r0, r7, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _0811B080
.align 2, 0
_0811B074: .4byte gUnknown_8457D44
@ -10952,7 +10952,7 @@ sub_811B31C: @ 811B31C
ldr r0, _0811B4B0 @ =gUnknown_2039624
adds r1, r0
mov r8, r1
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
mov r6, r9
adds r6, 0xAC
bl sub_80447F0
@ -10966,11 +10966,11 @@ sub_811B31C: @ 811B31C
bl StringCopy
movs r0, 0
adds r1, r6, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r1, r8
adds r1, 0x30
movs r0, 0x1
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r4, 0xB0
lsls r4, 1
add r4, r9
@ -10984,7 +10984,7 @@ sub_811B31C: @ 811B31C
bl StringCopy
movs r0, 0x2
adds r1, r4, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r5, r9
adds r5, 0xCA
mov r0, r8
@ -10995,7 +10995,7 @@ sub_811B31C: @ 811B31C
bl ConvertIntToDecimalStringN
movs r0, 0x3
adds r1, r5, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r2, 0xD9
add r2, r9
mov r10, r2
@ -11015,16 +11015,16 @@ sub_811B31C: @ 811B31C
bl ConvertIntToDecimalStringN
movs r0, 0x4
mov r1, r10
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x5
adds r1, r4, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r4, 0xC8
lsls r4, 1
add r4, r9
ldr r1, _0811B4BC @ =gUnknown_84594C4
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, _0811B4C0 @ =gStringVar4
adds r1, r4, 0
bl StringCopy
@ -11041,7 +11041,7 @@ _0811B40A:
bl ConvertIntToDecimalStringN
movs r0, 0
adds r1, r6, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r2, r8
ldrh r1, [r2, 0x16]
cmp r1, r4
@ -11056,7 +11056,7 @@ _0811B426:
bl ConvertIntToDecimalStringN
movs r0, 0x2
adds r1, r4, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r0, r8
ldrh r1, [r0, 0x20]
adds r0, r5, 0
@ -11065,7 +11065,7 @@ _0811B426:
bl ConvertIntToDecimalStringN
movs r0, 0x3
adds r1, r5, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r7, 0
movs r6, 0x80
lsls r6, 19
@ -11078,7 +11078,7 @@ _0811B45E:
bl CopyEasyChatWord
lsrs r0, r6, 24
adds r1, r4, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r2, 0x80
lsls r2, 17
adds r6, r2
@ -11092,7 +11092,7 @@ _0811B45E:
add r4, r9
ldr r1, _0811B4C8 @ =gUnknown_8459504
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r5, _0811B4C0 @ =gStringVar4
adds r0, r5, 0
adds r1, r4, 0
@ -11102,7 +11102,7 @@ _0811B45E:
bne _0811B4D0
ldr r1, _0811B4CC @ =gUnknown_8459588
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
adds r0, r5, 0
adds r1, r4, 0
bl StringAppend
@ -11127,7 +11127,7 @@ _0811B4D0:
adds r1, r0
ldr r1, [r1]
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
adds r0, r5, 0
adds r1, r4, 0
bl StringAppend

View File

@ -5644,20 +5644,20 @@ sub_814A468: @ 814A468
ldr r1, _0814A530 @ =gUnknown_846D94C
bl StringAppend
_0814A4C2:
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r4, _0814A52C @ =gUnknown_203F3D8
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, [r4]
adds r1, 0x66
movs r0, 0x1
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r4]
adds r0, 0xA6
ldr r1, _0814A534 @ =gUnknown_841CBA9
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x8
movs r2, 0x16
@ -5706,15 +5706,15 @@ sub_814A53C: @ 814A53C
ldr r1, [r4]
adds r1, 0x26
bl CopyItemName
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r4]
adds r0, 0xA6
ldr r1, _0814A5B0 @ =gUnknown_841CBCA
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x8
movs r2, 0x16
@ -5761,15 +5761,15 @@ sub_814A5B4: @ 814A5B4
ldr r1, [r4]
adds r1, 0x26
bl CopyItemName
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r4]
adds r0, 0xA6
ldr r1, _0814A628 @ =gUnknown_841CBE4
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x9
movs r2, 0x16

View File

@ -1815,15 +1815,15 @@ _0811D3C0:
_0811D3D4: .4byte gUnknown_841B295
_0811D3D8: .4byte gUnknown_841B2A7
_0811D3DC:
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
bl sub_811D0F4
adds r1, r0, 0
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
bl sub_811D0D0
adds r1, r0, 0
movs r0, 0x1
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
adds r4, 0x14
ldr r1, _0811D400 @ =gUnknown_841B32E
b _0811D470
@ -1866,20 +1866,20 @@ _0811D444: .4byte gUnknown_841B2F1
_0811D448: .4byte gUnknown_841B2ED
_0811D44C: .4byte gUnknown_8459998
_0811D450:
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
bl sub_811D0F4
adds r1, r0, 0
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
bl sub_811D0C4
adds r1, r0, 0
movs r0, 0x1
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
adds r4, 0x14
ldr r1, _0811D478 @ =gUnknown_841B306
_0811D470:
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _0811D4A2
.align 2, 0
_0811D478: .4byte gUnknown_841B306

View File

@ -8190,7 +8190,7 @@ sub_808FBA4: @ 808FBA4
sub sp, 0xC
lsls r0, 24
lsrs r6, r0, 24
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r1, _0808FBC8 @ =gUnknown_83CEA88
lsls r0, r6, 3
adds r0, r1
@ -8231,7 +8231,7 @@ _0808FC04:
adds r1, r2
_0808FC0C:
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
b _0808FC7C
.align 2, 0
_0808FC14: .4byte gUnknown_20397B0
@ -8281,7 +8281,7 @@ _0808FC62:
ldr r0, _0808FCE0 @ =0x000021db
adds r1, r0
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
_0808FC7C:
ldr r5, _0808FCDC @ =gUnknown_20397B0
ldr r0, [r5]
@ -8292,7 +8292,7 @@ _0808FC7C:
lsls r1, r6, 3
adds r1, r2
ldr r1, [r1]
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x1
movs r1, 0x11
bl FillWindowPixelBuffer

View File

@ -5747,7 +5747,7 @@ _08137574:
sub_8137578: @ 8137578
push {r4-r7,lr}
sub sp, 0xD4
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r7, _081375E8 @ =gUnknown_203B140
ldr r0, [r7]
ldr r4, _081375EC @ =0x00003290
@ -5760,7 +5760,7 @@ sub_8137578: @ 8137578
adds r0, r1
ldr r1, [r0]
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r7]
adds r0, r4
movs r1, 0x24
@ -5777,7 +5777,7 @@ _081375B2:
bl ConvertIntToDecimalStringN
movs r0, 0x1
add r1, sp, 0x14
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r7]
adds r0, r4
movs r1, 0x23
@ -5824,7 +5824,7 @@ _0813761C:
_08137626:
adds r1, r4, 0
movs r0, 0x2
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r4, _08137664 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08137668 @ =0x00003290
@ -5901,7 +5901,7 @@ _081376C0:
ldr r1, _081376D8 @ =gUnknown_8419841
_081376CE:
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _081376E6
.align 2, 0
_081376D8: .4byte gUnknown_8419841
@ -5909,7 +5909,7 @@ _081376DC:
add r4, sp, 0x3C
ldr r1, _08137714 @ =gUnknown_8419822
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_081376E6:
ldr r0, _08137718 @ =gUnknown_203B140
ldr r0, [r0]
@ -5944,7 +5944,7 @@ _08137720: .4byte gUnknown_8463FA4
sub_8137724: @ 8137724
push {r4-r6,lr}
sub sp, 0xD4
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r5, _081377A0 @ =gUnknown_203B140
ldr r0, [r5]
ldr r4, _081377A4 @ =0x00003290
@ -5957,7 +5957,7 @@ sub_8137724: @ 8137724
adds r0, r1
ldr r1, [r0]
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r5]
adds r0, r4
movs r1, 0x24
@ -5974,7 +5974,7 @@ _0813775E:
bl ConvertIntToDecimalStringN
movs r0, 0x1
add r1, sp, 0x14
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r5]
adds r0, r4
movs r1, 0x23
@ -6025,7 +6025,7 @@ _081377D0:
ldr r1, _081377E8 @ =gUnknown_841979D
_081377DE:
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _081377F6
.align 2, 0
_081377E8: .4byte gUnknown_841979D
@ -6033,7 +6033,7 @@ _081377EC:
add r4, sp, 0x3C
ldr r1, _08137820 @ =gUnknown_8419782
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_081377F6:
ldr r0, _08137824 @ =gUnknown_203B140
ldr r0, [r0]
@ -6077,7 +6077,7 @@ _08137846:
_08137850:
adds r1, r4, 0
movs r0, 0x2
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r4, _08137890 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08137894 @ =0x00003290
@ -6149,7 +6149,7 @@ _081378EA:
ldr r1, _081378F8 @ =gUnknown_841988A
_081378EE:
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _08137906
.align 2, 0
_081378F8: .4byte gUnknown_841988A
@ -6157,7 +6157,7 @@ _081378FC:
add r4, sp, 0x3C
ldr r1, _08137934 @ =gUnknown_8419860
adds r0, r4, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_08137906:
ldr r0, _08137938 @ =gUnknown_203B140
ldr r0, [r0]

View File

@ -2362,10 +2362,10 @@ _08129664:
ldrb r1, [r4, 0x8]
cmp r0, r1
beq _081296EC
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, _08129684 @ =gUnknown_841B3AA
b _081296D8
.align 2, 0
@ -2404,14 +2404,14 @@ _081296BE:
ldrb r5, [r5]
cmp r0, r5
beq _081296EC
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, _081296E8 @ =gUnknown_841B3BE
_081296D8:
adds r0, r6, 0
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x1
b _081296EE
.align 2, 0
@ -3957,11 +3957,11 @@ sub_812A240: @ 812A240
beq _0812A280
b _0812A28A
_0812A250:
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
bl sub_8129814
adds r1, r0, 0
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x5
movs r1, 0
bl sub_812A578
@ -4122,11 +4122,11 @@ sub_812A378: @ 812A378
beq _0812A3BC
b _0812A3C6
_0812A388:
bl UnkTextUtil_Reset
bl DynamicPlaceholderTextUtil_Reset
ldr r0, _0812A3B4 @ =gSaveBlock2Ptr
ldr r1, [r0]
movs r0, 0
bl UnkTextUtil_SetPtrI
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x9
movs r1, 0
bl sub_812A578
@ -4455,7 +4455,7 @@ _0812A5F8:
adds r0, r1, 0
adds r0, 0x22
ldr r1, [r4]
bl UnkTextUtil_StringExpandPlaceholders
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, [r5]
adds r6, r0, 0
adds r6, 0x22

View File

@ -1,130 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start UnkTextUtil_Reset
UnkTextUtil_Reset: @ 813CC90
push {lr}
ldr r1, _0813CCA8 @ =gUnknown_203F34C
movs r2, 0
adds r0, r1, 0
adds r0, 0x1C
_0813CC9A:
str r2, [r0]
subs r0, 0x4
cmp r0, r1
bge _0813CC9A
pop {r0}
bx r0
.align 2, 0
_0813CCA8: .4byte gUnknown_203F34C
thumb_func_end UnkTextUtil_Reset
thumb_func_start UnkTextUtil_SetPtrI
UnkTextUtil_SetPtrI: @ 813CCAC
push {lr}
adds r2, r1, 0
lsls r0, 24
lsrs r0, 24
cmp r0, 0x7
bhi _0813CCC0
ldr r1, _0813CCC4 @ =gUnknown_203F34C
lsls r0, 2
adds r0, r1
str r2, [r0]
_0813CCC0:
pop {r0}
bx r0
.align 2, 0
_0813CCC4: .4byte gUnknown_203F34C
thumb_func_end UnkTextUtil_SetPtrI
thumb_func_start UnkTextUtil_StringExpandPlaceholders
UnkTextUtil_StringExpandPlaceholders: @ 813CCC8
push {r4,r5,lr}
adds r2, r0, 0
adds r4, r1, 0
ldrb r1, [r4]
adds r0, r1, 0
cmp r0, 0xFF
beq _0813CD08
ldr r5, _0813CCE4 @ =gUnknown_203F34C
_0813CCD8:
cmp r1, 0xF7
beq _0813CCE8
strb r1, [r2]
adds r4, 0x1
adds r2, 0x1
b _0813CD00
.align 2, 0
_0813CCE4: .4byte gUnknown_203F34C
_0813CCE8:
adds r4, 0x1
ldrb r0, [r4]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
cmp r1, 0
beq _0813CCFE
adds r0, r2, 0
bl StringCopy
adds r2, r0, 0
_0813CCFE:
adds r4, 0x1
_0813CD00:
ldrb r1, [r4]
adds r0, r1, 0
cmp r0, 0xFF
bne _0813CCD8
_0813CD08:
movs r0, 0xFF
strb r0, [r2]
adds r0, r2, 0
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end UnkTextUtil_StringExpandPlaceholders
thumb_func_start UnkTextUtil_GetPtrI
UnkTextUtil_GetPtrI: @ 813CD14
lsls r0, 24
ldr r1, _0813CD20 @ =gUnknown_203F34C
lsrs r0, 22
adds r0, r1
ldr r0, [r0]
bx lr
.align 2, 0
_0813CD20: .4byte gUnknown_203F34C
thumb_func_end UnkTextUtil_GetPtrI
thumb_func_start sub_813CD24
sub_813CD24: @ 813CD24
push {lr}
lsls r0, 16
lsrs r1, r0, 16
lsrs r2, r0, 17
movs r0, 0x1
ands r1, r0
lsls r1, 2
cmp r2, 0x4B
bhi _0813CD48
ldr r0, _0813CD44 @ =gUnknown_8464300
adds r0, r2, r0
ldrb r0, [r0]
asrs r0, r1
movs r1, 0xF
ands r0, r1
b _0813CD4A
.align 2, 0
_0813CD44: .4byte gUnknown_8464300
_0813CD48:
movs r0, 0x3
_0813CD4A:
pop {r1}
bx r1
thumb_func_end sub_813CD24
.align 2, 0 @ Don't pad with nop.

View File

@ -1,5 +0,0 @@
.section .rodata
.align 2
gUnknown_8464300:: @ 8464300
.incbin "baserom.gba", 0x464300, 0x4C

View File

@ -0,0 +1,12 @@
#ifndef GUARD_UNK_TEXT_UTIL_H
#define GUARD_UNK_TEXT_UTIL_H
#include "global.h"
void DynamicPlaceholderTextUtil_Reset(void);
void DynamicPlaceholderTextUtil_SetPlaceholderPtr(u8 idx, const u8 *ptr);
u8 *DynamicPlaceholderTextUtil_ExpandPlaceholders(u8 *dest, const u8 *src);
const u8 *DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 idx);
u8 GetColorFromTextColorTable(u16 graphicId);
#endif //GUARD_UNK_TEXT_UTIL_H

View File

@ -1,11 +0,0 @@
#ifndef GUARD_UNK_TEXT_UTIL_H
#define GUARD_UNK_TEXT_UTIL_H
#include "global.h"
void UnkTextUtil_Reset(void);
void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr);
u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src);
const u8 *UnkTextUtil_GetPtrI(u8 idx);
#endif //GUARD_UNK_TEXT_UTIL_H

View File

@ -251,7 +251,7 @@ SECTIONS {
asm/pokemon_summary_screen.o(.text);
src/help_system.o(.text);
asm/wild_pokemon_area.o(.text);
asm/unk_text_util.o(.text);
src/dynamic_placeholder_text_util.o(.text);
asm/berry_pouch.o(.text);
asm/itemfinder.o(.text);
src/buy_menu_helpers.o(.text);
@ -442,7 +442,7 @@ SECTIONS {
data/pokemon_summary_screen.o(.rodata);
src/help_system.o(.rodata);
data/wild_pokemon_area.o(.rodata);
data/unk_text_util.o(.rodata);
src/dynamic_placeholder_text_util.o(.rodata);
data/berry_pouch.o(.rodata);
data/itemfinder.o(.rodata);
src/buy_menu_helpers.o(.rodata);

View File

@ -0,0 +1,70 @@
#include "global.h"
#include "text.h"
#include "dynamic_placeholder_text_util.h"
#include "string_util.h"
static EWRAM_DATA const u8 *sStringPointers[8] = {0};
static const u8 sTextColorTable[] =
{
0, 0, 0, 16, 17, 17, 17, 16, 16, 0, 0, 17, 1, 0, 17, 16,
0, 16, 16, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0,
17, 1, 0, 0, 0, 16, 17, 0, 16, 16, 16, 0, 1, 0, 51, 51,
51, 51, 51, 51, 51, 51, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 50,
};
void DynamicPlaceholderTextUtil_Reset(void)
{
const u8 **ptr = sStringPointers;
u8 *fillval = NULL;
const u8 **ptr2 = ptr + (NELEMS(sStringPointers) - 1);
do
{
*ptr2-- = fillval;
}
while ((int)ptr2 >= (int)ptr);
}
void DynamicPlaceholderTextUtil_SetPlaceholderPtr(u8 idx, const u8 *ptr)
{
if (idx < NELEMS(sStringPointers))
sStringPointers[idx] = ptr;
}
u8 *DynamicPlaceholderTextUtil_ExpandPlaceholders(u8 *dest, const u8 *src)
{
while (*src != EOS)
{
if (*src != CHAR_SPECIAL_F7)
{
*dest++ = *src++;
}
else
{
src++;
if (sStringPointers[*src] != NULL)
dest = StringCopy(dest, sStringPointers[*src]);
src++;
}
}
*dest = EOS;
return dest;
}
const u8 *DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 idx)
{
return sStringPointers[idx];
}
u8 GetColorFromTextColorTable(u16 graphicId)
{
u32 test = graphicId >> 1;
u32 shift = (graphicId & 1) << 2;
if (test > 0x4B)
return 3;
else
return (sTextColorTable[graphicId >> 1] >> shift) & 0xF;
}

View File

@ -11,7 +11,7 @@
#include "menu_helpers.h"
#include "window.h"
#include "text_window.h"
#include "unk_text_util.h"
#include "dynamic_placeholder_text_util.h"
#include "event_data.h"
#include "event_scripts.h"
#include "string_util.h"
@ -3656,9 +3656,9 @@ void QuestLog_AutoGetSpeciesName(u16 a0, u8 * a1, u8 a2)
else
{
if (a0 != SPECIES_EGG)
UnkTextUtil_SetPtrI(a2, gSpeciesNames[a0]);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(a2, gSpeciesNames[a0]);
else
UnkTextUtil_SetPtrI(a2, gText_EggNickname);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(a2, gText_EggNickname);
}
}
@ -3949,14 +3949,14 @@ u16 * sub_81144EC(u16 * a0, const u16 * a1)
const u16 * sub_8114518(const u16 * a0)
{
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
memset(gStringVar1, EOS, 8);
memcpy(gStringVar1, (const u8 *)a0 + 5, 7);
sub_8115834(gStringVar1);
UnkTextUtil_SetPtrI(0, gStringVar1);
UnkTextUtil_SetPtrI(1, gUnknown_8456AE4[((const u8 *)a0)[4]]);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A422);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_8456AE4[((const u8 *)a0)[4]]);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A422);
a0 += 6;
return a0;
}
@ -3973,14 +3973,14 @@ u16 * sub_8114578(u16 * a0, const u16 * a1)
const u16 * sub_81145A4(const u16 * a0)
{
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
memset(gStringVar1, EOS, 8);
memcpy(gStringVar1, (const u8 *)a0 + 5, 7);
sub_8115834(gStringVar1);
UnkTextUtil_SetPtrI(0, gStringVar1);
UnkTextUtil_SetPtrI(1, gUnknown_8456AE4[((const u8 *)a0)[4]]);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A477);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_8456AE4[((const u8 *)a0)[4]]);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A477);
a0 += 6;
return a0;
}
@ -3999,7 +3999,7 @@ u16 * sub_8114604(u16 * a0, const u16 * a1)
const u16 * sub_811464C(const u16 * a0)
{
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
memset(gStringVar1, EOS, 8);
memset(gStringVar2, EOS, 8);
@ -4010,12 +4010,12 @@ const u16 * sub_811464C(const u16 * a0)
sub_8115834(gStringVar1);
sub_8115834(gStringVar2);
sub_8115834(gStringVar3);
UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName);
UnkTextUtil_SetPtrI(1, gStringVar1);
UnkTextUtil_SetPtrI(2, gStringVar2);
UnkTextUtil_SetPtrI(3, gStringVar3);
UnkTextUtil_SetPtrI(4, gUnknown_8456AE4[((const u8 *)a0)[4]]);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A4C6);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gStringVar3);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gUnknown_8456AE4[((const u8 *)a0)[4]]);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A4C6);
a0 += 13;
return a0;
}
@ -4111,12 +4111,12 @@ const u16 * sub_81148BC(const u16 * a0)
const u8 * boxIdxs;
a0 = sub_8113E88(20, a0);
boxIdxs = (const u8 *)a0 + 4;
UnkTextUtil_Reset();
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
UnkTextUtil_SetPtrI(2, GetBoxNamePtr(boxIdxs[1]));
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, GetBoxNamePtr(boxIdxs[1]));
QuestLog_AutoGetSpeciesName(a0[1], NULL, 3);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A566);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A566);
return a0 + 3;
}
@ -4136,11 +4136,11 @@ const u16 * sub_8114944(const u16 * a0)
const u8 * boxIdxs;
a0 = sub_8113E88(21, a0);
boxIdxs = (const u8 *)a0 + 4;
UnkTextUtil_Reset();
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A5D9);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A5D9);
return a0 + 3;
}
@ -4172,11 +4172,11 @@ const u16 * sub_81149D0(const u16 * a0)
const u8 * boxIdxs;
a0 = sub_8113E88(22, a0);
boxIdxs = (const u8 *)a0 + 4;
UnkTextUtil_Reset();
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A60A);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A60A);
return a0 + 3;
}
@ -4199,11 +4199,11 @@ const u16 * sub_8114A4C(const u16 * a0)
const u8 * boxIdxs;
a0 = sub_8113E88(23, a0);
boxIdxs = (const u8 *)a0 + 2;
UnkTextUtil_Reset();
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
UnkTextUtil_SetPtrI(2, GetBoxNamePtr(boxIdxs[1]));
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A59C);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, GetBoxNamePtr(boxIdxs[1]));
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A59C);
return (const u16 *)boxIdxs + 1;
}
@ -4223,10 +4223,10 @@ const u16 * sub_8114AC8(const u16 * a0)
const u8 * boxIdxs;
a0 = sub_8113E88(24, a0);
boxIdxs = (const u8 *)a0 + 2;
UnkTextUtil_Reset();
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A5FA);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A5FA);
return (const u16 *)boxIdxs + 1;
}
@ -4246,10 +4246,10 @@ const u16 * sub_8114B34(const u16 * a0)
const u8 * boxIdxs;
a0 = sub_8113E88(25, a0);
boxIdxs = (const u8 *)a0 + 2;
UnkTextUtil_Reset();
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(boxIdxs[0]));
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0]));
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A632);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A632);
return (const u16 *)boxIdxs + 1;
}
@ -4269,10 +4269,10 @@ const u16 * sub_8114BA0(const u16 * a0)
const u8 * boxIdxs;
a0 = sub_8113E88(26, a0);
boxIdxs = (const u8 *)a0 + 2;
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
QuestLog_AutoGetSpeciesName(a0[0], NULL, 0);
UnkTextUtil_SetPtrI(1, GetBoxNamePtr(boxIdxs[0]));
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A64F);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetBoxNamePtr(boxIdxs[0]));
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A64F);
return (const u16 *)boxIdxs + 1;
}
@ -4290,13 +4290,13 @@ u16 * sub_8114BE4(u16 * a0, const u16 * a1)
const u16 * sub_8114C0C(const u16 * a0)
{
const u16 *r4 = sub_8113E88(27, a0);
UnkTextUtil_Reset();
UnkTextUtil_SetPtrI(0, GetBoxNamePtr(*((const u8 *)r4 + 0)));
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(*((const u8 *)r4 + 0)));
if (*((const u8 *)r4 + 0) == *((const u8 *)r4 + 1))
UnkTextUtil_SetPtrI(1, gUnknown_841A694);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_841A694);
else
UnkTextUtil_SetPtrI(1, GetBoxNamePtr(*((const u8 *)r4 + 1)));
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A66E);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetBoxNamePtr(*((const u8 *)r4 + 1)));
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A66E);
return r4 + 1;
}
@ -4358,14 +4358,14 @@ const u16 * sub_8114D68(const u16 * a0)
const u8 * r6;
a0 = sub_8113E88(30, a0);
r6 = (const u8 *)a0 + 6;
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
sub_80C4DF8(gStringVar1, r6[0]);
UnkTextUtil_SetPtrI(0, gStringVar1);
UnkTextUtil_SetPtrI(1, gTrainers[a0[2]].trainerName);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gTrainers[a0[2]].trainerName);
QuestLog_AutoGetSpeciesName(a0[0], 0, 2);
QuestLog_AutoGetSpeciesName(a0[1], 0, 3);
UnkTextUtil_SetPtrI(4, gUnknown_8456ACC[r6[1]]);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF0C);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gUnknown_8456ACC[r6[1]]);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AF0C);
return a0 + 4;
}
@ -4399,43 +4399,43 @@ const u16 * sub_8114E68(const u16 * a0)
return NULL;
r6 = (const u8 *)a0 + 8;
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
sub_80C4DF8(gStringVar1, r6[2]);
UnkTextUtil_SetPtrI(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
QuestLog_AutoGetSpeciesName(a0[2], NULL, 1);
ConvertIntToDecimalStringN(gStringVar2, r6[0], STR_CONV_MODE_LEFT_ALIGN, 3);
UnkTextUtil_SetPtrI(2, gStringVar2);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2);
QuestLog_AutoGetSpeciesName(a0[3], NULL, 3);
ConvertIntToDecimalStringN(gStringVar3, r6[1], STR_CONV_MODE_LEFT_ALIGN, 3);
UnkTextUtil_SetPtrI(4, gStringVar3);
UnkTextUtil_SetPtrI(5, gSaveBlock2Ptr->playerName);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gStringVar3);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gSaveBlock2Ptr->playerName);
if (r6[0] == 0)
{
if (r6[1] == 1)
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA01);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AA01);
else
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA2B);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AA2B);
}
else if (r6[1] == 0)
{
if (r6[0] == 1)
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A9A9);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A9A9);
else
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A9D4);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A9D4);
}
else if (r6[0] == 1)
{
if (r6[1] == 1)
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AA76);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AA76);
else
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AAAA);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AAAA);
}
else
{
if (r6[1] == 1)
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AAEC);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AAEC);
else
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AB29);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AB29);
}
return (const u16 *)(r6 + 4);
}
@ -4464,12 +4464,12 @@ const u16 * sub_811500C(const u16 * a0)
const u8 * r5;
a0 = sub_8113E88(32, a0);
r5 = (const u8 *)a0 + 6;
UnkTextUtil_Reset();
UnkTextUtil_SetPtrI(0, gTrainers[a0[2]].trainerName);
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gTrainers[a0[2]].trainerName);
QuestLog_AutoGetSpeciesName(a0[0], NULL, 1);
QuestLog_AutoGetSpeciesName(a0[1], NULL, 2);
UnkTextUtil_SetPtrI(3, gUnknown_8456ACC[r5[1]]);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF3E);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gUnknown_8456ACC[r5[1]]);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AF3E);
return a0 + 4;
}
@ -4493,25 +4493,25 @@ const u16 * sub_81150CC(const u16 * a0)
return NULL;
r5 = (const u8 *)a0 + 8;
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
switch (gUnknown_203B044.unk_2)
{
case 0:
UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName);
UnkTextUtil_SetPtrI(1, gSaveBlock1Ptr->rivalName);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A2E1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gSaveBlock1Ptr->rivalName);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A2E1);
break;
case 1:
UnkTextUtil_SetPtrI(0, gSaveBlock1Ptr->rivalName);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock1Ptr->rivalName);
QuestLog_AutoGetSpeciesName(a0[2], NULL, 1);
UnkTextUtil_SetPtrI(2, gSaveBlock2Ptr->playerName);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gSaveBlock2Ptr->playerName);
QuestLog_AutoGetSpeciesName(a0[3], NULL, 3);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A312);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A312);
break;
case 2:
UnkTextUtil_SetPtrI(0, gUnknown_8456AD8[r5[0]]);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A349);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_8456AD8[r5[0]]);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A349);
break;
}
return (const u16 *)(r5 + 2);
@ -4527,21 +4527,21 @@ const u16 * sub_81151DC(const u16 * a0)
{
const u16 * r5 = sub_8113E88(34, a0);
const u8 * r6 = (const u8 *)r5 + 6;
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
sub_80C4DF8(gStringVar1, r6[0]);
UnkTextUtil_SetPtrI(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
if (
gTrainers[r5[2]].trainerClass == 0x51
|| gTrainers[r5[2]].trainerClass == 0x59
|| gTrainers[r5[2]].trainerClass == 0x5A
)
UnkTextUtil_SetPtrI(1, GetExpandedPlaceholder(6));
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetExpandedPlaceholder(6));
else
UnkTextUtil_SetPtrI(1, gTrainers[r5[2]].trainerName);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gTrainers[r5[2]].trainerName);
QuestLog_AutoGetSpeciesName(r5[0], NULL, 2);
QuestLog_AutoGetSpeciesName(r5[1], NULL, 3);
UnkTextUtil_SetPtrI(4, gUnknown_8456ACC[r6[1]]);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841AF6D);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gUnknown_8456ACC[r6[1]]);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841AF6D);
return (const u16 *)(r6 + 2);
}
@ -4814,17 +4814,17 @@ const u16 * sub_8115518(const u16 * a0)
const u16 * r4 = sub_8113E88(37, a0);
const u8 * r7 = (const u8 *)r4 + 8;
u32 r6 = (r4[2] << 16) + r4[3];
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
sub_80C4DF8(gStringVar1, r7[0]);
UnkTextUtil_SetPtrI(0, gStringVar1);
UnkTextUtil_SetPtrI(1, ItemId_GetName(r4[0]));
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r4[0]));
if (r4[1] < 2)
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A7DD);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A7DD);
else
{
ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6);
UnkTextUtil_SetPtrI(2, gStringVar2);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A810);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A810);
}
return (const u16 *)(r7 + 2);
}
@ -4847,30 +4847,30 @@ const u16 * sub_81155E0(const u16 * a0) {
const u16 *r5 = sub_8113E88(38, a0);
const u8 *r7 = (const u8 *) r5 + 8;
u32 r6 = (r5[2] << 16) + r5[3];
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
sub_80C4DF8(gStringVar1, r7[0]);
if (r7[1] == 0) {
UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName);
UnkTextUtil_SetPtrI(1, gStringVar1);
UnkTextUtil_SetPtrI(2, ItemId_GetName(r5[0]));
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, ItemId_GetName(r5[0]));
if (r5[1] == 1)
UnkTextUtil_SetPtrI(3, gUnknown_841A8D4);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gUnknown_841A8D4);
else
{
ConvertIntToDecimalStringN(gStringVar2, r5[1], STR_CONV_MODE_LEFT_ALIGN, 3);
UnkTextUtil_SetPtrI(4, gStringVar2);
UnkTextUtil_StringExpandPlaceholders(gStringVar3, gUnknown_841A8DD);
UnkTextUtil_SetPtrI(3, gStringVar3);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gStringVar2);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar3, gUnknown_841A8DD);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gStringVar3);
}
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A858);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A858);
}
else
{
UnkTextUtil_SetPtrI(0, gStringVar1);
UnkTextUtil_SetPtrI(1, ItemId_GetName(r5[0]));
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r5[0]));
ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6);
UnkTextUtil_SetPtrI(2, gStringVar2);
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A896);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2);
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_841A896);
}
return (const u16 *)(r7 + 2);
}

View File

@ -18,7 +18,7 @@ extern u8 GetKeypadIconWidth(u8 keypadIconId);
extern void CopyWindowToVram(u8 windowId, u8 mode);
extern s32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese);
extern void PlaySE(u16 songNum);
extern u8* UnkTextUtil_GetPtrI(u8 a1);
extern u8* DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 a1);
TextFlags gTextFlags;
@ -1544,7 +1544,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
}
case 0xF7:
if (bufferPointer == NULL)
bufferPointer = UnkTextUtil_GetPtrI(*++str);
bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
while (*bufferPointer != 0xFF)
{
glyphWidth = func(*bufferPointer++, isJapanese);

View File

@ -10,7 +10,7 @@
#include "scanline_effect.h"
#include "m4a.h"
#include "string_util.h"
#include "unk_text_util.h"
#include "dynamic_placeholder_text_util.h"
#include "overworld.h"
#include "sound.h"
#include "menu.h"
@ -208,7 +208,7 @@ void sub_814F1E4(void)
ChangeBgY(1, 0, 0);
LoadPalette(gUnknown_846F4D0, 0, 0x20);
Menu_LoadStdPalAt(0xf0);
UnkTextUtil_Reset();
DynamicPlaceholderTextUtil_Reset();
FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0xF);
CopyBgTilemapBufferToVram(1);
SetMainCallback2(sub_814F19C);

View File

@ -1393,10 +1393,7 @@ gUnknown_203B170: @ 203B170
.align 2
.include "src/help_system.o"
@ src/unk_text_util.o
gUnknown_203F34C: @ 203F34C
.space 0x20
.include "src/dynamic_placeholder_text_util.o"
gUnknown_203F36C: @ 203F36C
.space 0x4