mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Merge pull request #120 from PikalaxALT/unk_text_util
Decompile asm/unk_text_util.s
This commit is contained in:
commit
18c6b8efc2
@ -3691,7 +3691,7 @@ sub_811BDF0: @ 811BDF0
|
||||
adds r6, r0, 0
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r4, [r0]
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r0, =0x00003b70
|
||||
adds r5, r4, r0
|
||||
adds r0, r5, 0
|
||||
@ -3707,17 +3707,17 @@ sub_811BDF0: @ 811BDF0
|
||||
bl TVShowConvertInternationalString
|
||||
movs r0, 0
|
||||
mov r1, sp
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
b _0811BE3C
|
||||
.pool
|
||||
_0811BE34:
|
||||
ldr r1, =gText_Lady
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
_0811BE3C:
|
||||
ldr r1, =gText_F700sQuiz
|
||||
adds r0, r6, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
add sp, 0x20
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
|
96
asm/link.s
96
asm/link.s
@ -28007,14 +28007,14 @@ _08017F8A:
|
||||
lsls r0, r4, 24
|
||||
lsrs r0, 24
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
adds r5, 0x10
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x3
|
||||
ble _08017F8A
|
||||
ldr r1, =gUnknown_082EE47C
|
||||
adds r0, r7, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
b _08017FB4
|
||||
.pool
|
||||
_08017FAC:
|
||||
@ -28379,7 +28379,7 @@ sub_8018220: @ 8018220
|
||||
ldr r0, =gUnknown_02039B58
|
||||
adds r1, r0
|
||||
mov r8, r1
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
mov r6, r9
|
||||
adds r6, 0xC0
|
||||
bl sub_8068BB0
|
||||
@ -28393,11 +28393,11 @@ sub_8018220: @ 8018220
|
||||
bl StringCopy
|
||||
movs r0, 0
|
||||
adds r1, r6, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
mov r1, r8
|
||||
adds r1, 0x30
|
||||
movs r0, 0x1
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r4, 0xBA
|
||||
lsls r4, 1
|
||||
add r4, r9
|
||||
@ -28411,7 +28411,7 @@ sub_8018220: @ 8018220
|
||||
bl StringCopy
|
||||
movs r0, 0x2
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
mov r5, r9
|
||||
adds r5, 0xDE
|
||||
mov r0, r8
|
||||
@ -28422,7 +28422,7 @@ sub_8018220: @ 8018220
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0x3
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r2, 0xED
|
||||
add r2, r9
|
||||
mov r10, r2
|
||||
@ -28442,16 +28442,16 @@ sub_8018220: @ 8018220
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0x4
|
||||
mov r1, r10
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0x5
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r4, 0xD2
|
||||
lsls r4, 1
|
||||
add r4, r9
|
||||
ldr r1, =gUnknown_082EFF64
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r0, =gStringVar4
|
||||
adds r1, r4, 0
|
||||
bl StringCopy
|
||||
@ -28468,7 +28468,7 @@ _0801830C:
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0
|
||||
adds r1, r6, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
mov r2, r8
|
||||
ldrh r1, [r2, 0x16]
|
||||
cmp r1, r4
|
||||
@ -28483,7 +28483,7 @@ _08018328:
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0x2
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
mov r0, r8
|
||||
ldrh r1, [r0, 0x20]
|
||||
adds r0, r5, 0
|
||||
@ -28492,7 +28492,7 @@ _08018328:
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0x3
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r7, 0
|
||||
movs r6, 0x80
|
||||
lsls r6, 19
|
||||
@ -28505,7 +28505,7 @@ _08018360:
|
||||
bl CopyEasyChatWord
|
||||
lsrs r0, r6, 24
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r2, 0x80
|
||||
lsls r2, 17
|
||||
adds r6, r2
|
||||
@ -28519,7 +28519,7 @@ _08018360:
|
||||
add r4, r9
|
||||
ldr r1, =gUnknown_082EFFA4
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r5, =gStringVar4
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
@ -28529,7 +28529,7 @@ _08018360:
|
||||
bne _080183D0
|
||||
ldr r1, =gUnknown_082F0020
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl StringAppend
|
||||
@ -28546,7 +28546,7 @@ _080183D0:
|
||||
adds r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl StringAppend
|
||||
@ -32659,7 +32659,7 @@ sub_801A43C: @ 801A43C
|
||||
bl LoadPalette
|
||||
movs r0, 0xF0
|
||||
bl sub_81978B0
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0x20
|
||||
str r0, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
@ -41936,10 +41936,10 @@ _0801F020:
|
||||
ldrb r1, [r4, 0x8]
|
||||
cmp r0, r1
|
||||
beq _0801F0A8
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r1, =gText_F700JoinedChat
|
||||
b _0801F094
|
||||
.pool
|
||||
@ -41976,14 +41976,14 @@ _0801F07A:
|
||||
ldrb r5, [r5]
|
||||
cmp r0, r5
|
||||
beq _0801F0A8
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r1, =gText_F700LeftChat
|
||||
_0801F094:
|
||||
adds r0, r6, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
b _0801F0AA
|
||||
.pool
|
||||
@ -43456,11 +43456,11 @@ sub_801FBF8: @ 801FBF8
|
||||
beq _0801FC38
|
||||
b _0801FC42
|
||||
_0801FC08:
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
bl sub_801F1D0
|
||||
adds r1, r0, 0
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0x5
|
||||
movs r1, 0
|
||||
bl sub_801FF18
|
||||
@ -43617,11 +43617,11 @@ sub_801FD30: @ 801FD30
|
||||
beq _0801FD74
|
||||
b _0801FD7E
|
||||
_0801FD40:
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0x9
|
||||
movs r1, 0
|
||||
bl sub_801FF18
|
||||
@ -43925,7 +43925,7 @@ _0801FF98:
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x22
|
||||
ldr r1, [r4]
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r0, [r5]
|
||||
adds r6, r0, 0
|
||||
adds r6, 0x22
|
||||
@ -47204,7 +47204,7 @@ _08021A92:
|
||||
lsls r4, 2
|
||||
str r4, [sp, 0x24]
|
||||
_08021A98:
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r0, [sp, 0x10]
|
||||
cmp r0, 0x1
|
||||
beq _08021B48
|
||||
@ -47463,10 +47463,10 @@ _08021CC8:
|
||||
ldr r0, [sp, 0xC]
|
||||
adds r1, r0, r1
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r0, =gStringVar4
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r1, [sp, 0xC]
|
||||
movs r2, 0xDD
|
||||
lsls r2, 1
|
||||
@ -63514,7 +63514,7 @@ _08029DA0:
|
||||
movs r1, 0x1
|
||||
adds r2, r5, 0
|
||||
bl PrintTextOnWindow
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
bl sub_802762C
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
@ -63523,11 +63523,11 @@ _08029DA0:
|
||||
bl CopyItemName
|
||||
movs r0, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r7, =gStringVar4
|
||||
ldr r1, =gText_FirstPlacePrize
|
||||
adds r0, r7, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r0, [r4]
|
||||
add r0, r10
|
||||
ldrb r0, [r0]
|
||||
@ -63548,7 +63548,7 @@ _08029DA0:
|
||||
beq _08029EC8
|
||||
cmp r4, 0x3
|
||||
beq _08029EC8
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
bl sub_802762C
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
@ -63556,12 +63556,12 @@ _08029DA0:
|
||||
bl CopyItemName
|
||||
movs r0, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
cmp r4, 0x2
|
||||
bne _08029E9C
|
||||
ldr r1, =gText_CantHoldAnyMore
|
||||
adds r0, r7, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
b _08029EA8
|
||||
.pool
|
||||
_08029E9C:
|
||||
@ -63569,7 +63569,7 @@ _08029E9C:
|
||||
bne _08029EA8
|
||||
ldr r1, =gText_FilledStorageSpace
|
||||
adds r0, r7, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
_08029EA8:
|
||||
ldr r0, =gUnknown_02022CF8
|
||||
ldr r0, [r0]
|
||||
@ -70729,19 +70729,19 @@ sub_802D7E8: @ 802D7E8
|
||||
movs r2, 0
|
||||
movs r3, 0x1
|
||||
bl ConvertIntToDecimalStringN
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r1, [r5]
|
||||
adds r1, 0x26
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r1, [r5]
|
||||
adds r1, 0x66
|
||||
movs r0, 0x1
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r0, [r5]
|
||||
adds r0, 0xA6
|
||||
ldr r1, =gText_AwesomeWonF701F700
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x4
|
||||
movs r1, 0x8
|
||||
movs r2, 0x16
|
||||
@ -70786,15 +70786,15 @@ sub_802D884: @ 802D884
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x26
|
||||
bl CopyItemName
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x26
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xA6
|
||||
ldr r1, =gText_FilledStorageSpace2
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x4
|
||||
movs r1, 0x8
|
||||
movs r2, 0x16
|
||||
@ -70839,15 +70839,15 @@ sub_802D8FC: @ 802D8FC
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x26
|
||||
bl CopyItemName
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x26
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xA6
|
||||
ldr r1, =gText_CantHoldMore
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x4
|
||||
movs r1, 0x9
|
||||
movs r2, 0x16
|
||||
|
@ -6737,7 +6737,7 @@ sub_80CAC58: @ 80CAC58
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r1, =gUnknown_0857276C
|
||||
lsls r0, r6, 3
|
||||
adds r0, r1
|
||||
@ -6774,7 +6774,7 @@ _080CACB8:
|
||||
adds r1, r2
|
||||
_080CACC0:
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
b _080CAD30
|
||||
.pool
|
||||
_080CACD0:
|
||||
@ -6817,7 +6817,7 @@ _080CAD16:
|
||||
ldr r0, =0x000021eb
|
||||
adds r1, r0
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
_080CAD30:
|
||||
ldr r5, =gUnknown_02039D08
|
||||
ldr r0, [r5]
|
||||
@ -6827,7 +6827,7 @@ _080CAD30:
|
||||
lsls r1, r6, 3
|
||||
adds r1, r2
|
||||
ldr r1, [r1]
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
|
@ -212,17 +212,17 @@ _081C3FEC:
|
||||
movs r2, 0x1
|
||||
movs r3, 0x2
|
||||
bl ConvertIntToDecimalStringN
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0x1
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r4, =gStringVar4
|
||||
ldr r1, =gUnknown_0861CE97
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x2C
|
||||
|
@ -16941,17 +16941,17 @@ sub_81CF7F4: @ 81CF7F4
|
||||
mov r8, r0
|
||||
bl sub_81CF0F0
|
||||
adds r7, r0, 0
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r4, =gStringVar1
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0xFF
|
||||
strb r0, [r4]
|
||||
ldr r5, =gStringVar2
|
||||
ldr r1, =gText_NumberF700
|
||||
adds r0, r5, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
mov r1, r8
|
||||
ldrb r0, [r1, 0x8]
|
||||
movs r1, 0x1
|
||||
@ -19854,14 +19854,14 @@ sub_81D0E84: @ 81D0E84
|
||||
movs r2, 0
|
||||
movs r3, 0x2
|
||||
bl ConvertIntToDecimalStringN
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r4, =gStringVar4
|
||||
ldr r1, =gText_RibbonsF700
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldrb r0, [r5, 0xA]
|
||||
movs r1, 0x44
|
||||
bl FillWindowPixelBuffer
|
||||
|
@ -1,99 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81AFBF0
|
||||
sub_81AFBF0: @ 81AFBF0
|
||||
push {lr}
|
||||
ldr r1, =gUnknown_0203CE9C
|
||||
movs r2, 0
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x1C
|
||||
_081AFBFA:
|
||||
str r2, [r0]
|
||||
subs r0, 0x4
|
||||
cmp r0, r1
|
||||
bge _081AFBFA
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81AFBF0
|
||||
|
||||
thumb_func_start sub_81AFC0C
|
||||
sub_81AFC0C: @ 81AFC0C
|
||||
push {lr}
|
||||
adds r2, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x7
|
||||
bhi _081AFC20
|
||||
ldr r1, =gUnknown_0203CE9C
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
str r2, [r0]
|
||||
_081AFC20:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81AFC0C
|
||||
|
||||
thumb_func_start sub_81AFC28
|
||||
sub_81AFC28: @ 81AFC28
|
||||
push {r4,r5,lr}
|
||||
adds r2, r0, 0
|
||||
adds r4, r1, 0
|
||||
ldrb r1, [r4]
|
||||
adds r0, r1, 0
|
||||
cmp r0, 0xFF
|
||||
beq _081AFC68
|
||||
ldr r5, =gUnknown_0203CE9C
|
||||
_081AFC38:
|
||||
cmp r1, 0xF7
|
||||
beq _081AFC48
|
||||
strb r1, [r2]
|
||||
adds r4, 0x1
|
||||
adds r2, 0x1
|
||||
b _081AFC60
|
||||
.pool
|
||||
_081AFC48:
|
||||
adds r4, 0x1
|
||||
ldrb r0, [r4]
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
ldr r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _081AFC5E
|
||||
adds r0, r2, 0
|
||||
bl StringCopy
|
||||
adds r2, r0, 0
|
||||
_081AFC5E:
|
||||
adds r4, 0x1
|
||||
_081AFC60:
|
||||
ldrb r1, [r4]
|
||||
adds r0, r1, 0
|
||||
cmp r0, 0xFF
|
||||
bne _081AFC38
|
||||
_081AFC68:
|
||||
movs r0, 0xFF
|
||||
strb r0, [r2]
|
||||
adds r0, r2, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81AFC28
|
||||
|
||||
thumb_func_start sub_81AFC74
|
||||
sub_81AFC74: @ 81AFC74
|
||||
lsls r0, 24
|
||||
ldr r1, =gUnknown_0203CE9C
|
||||
lsrs r0, 22
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_81AFC74
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
@ -65,6 +65,7 @@
|
||||
#define CHAR_x 0xEC
|
||||
#define CHAR_y 0xED
|
||||
#define CHAR_z 0xEE
|
||||
#define CHAR_SPECIAL_F7 0xF7
|
||||
#define CHAR_SPECIAL_F9 0xF9
|
||||
#define CHAR_COLON 0xF0
|
||||
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
|
||||
|
9
include/unk_text_util.h
Normal file
9
include/unk_text_util.h
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef GUARD_UNK_TEXT_UTIL_H
|
||||
#define GUARD_UNK_TEXT_UTIL_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
|
@ -242,7 +242,7 @@ SECTIONS {
|
||||
asm/item_menu.o(.text);
|
||||
asm/list_menu.o(.text);
|
||||
asm/menu_indicators.o(.text);
|
||||
asm/unk_text_util.o(.text);
|
||||
src/unk_text_util.o(.text);
|
||||
src/save_location.o(.text);
|
||||
asm/item_icon.o(.text);
|
||||
asm/party_menu.o(.text);
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "sound.h"
|
||||
#include "species.h"
|
||||
#include "sprite.h"
|
||||
#include "unk_text_util.h"
|
||||
#include "string_util.h"
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
@ -166,9 +167,7 @@ extern s32 GetStringCenterAlignXOffset(u8 fontId, u8 *str, s32 totalWidth);
|
||||
extern s32 GetStringRightAlignXOffset(u8 fontId, u8 *str, s32 totalWidth);
|
||||
extern bool8 sub_81A6BF4();
|
||||
extern bool8 sub_81B9E94();
|
||||
extern void sub_81AFBF0();
|
||||
extern u8 sub_81AFC0C(u8 a, u8 *b);
|
||||
extern void sub_81AFC28(u8 *a, u8 *b);
|
||||
extern void UnkTextUtil_Reset();
|
||||
extern void sub_8124610(u8 *a, u8 b);
|
||||
extern int GetPlayerIDAsU32();
|
||||
extern u8 GetCurrentPpToMaxPpState(u8 a, u8 b);
|
||||
@ -2993,12 +2992,12 @@ void sub_81C307C()
|
||||
{
|
||||
struct PokeSummary *sum = &gUnknown_0203CF1C->summary;
|
||||
u8 *text;
|
||||
sub_81AFBF0();
|
||||
sub_81AFC0C(0, gUnknown_0861CE74);
|
||||
sub_81AFC0C(1, gUnknown_0861CE7B);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, gUnknown_0861CE74);
|
||||
UnkTextUtil_SetPtrI(1, gUnknown_0861CE7B);
|
||||
sub_81C31C0();
|
||||
if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || sub_81C3304() == TRUE)
|
||||
sub_81AFC28(gStringVar4, gText_XNature);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gText_XNature);
|
||||
else
|
||||
{
|
||||
u8 *alloced1 = Alloc(32);
|
||||
@ -3007,7 +3006,7 @@ void sub_81C307C()
|
||||
if (sum->metLocation <= 0xD4)
|
||||
{
|
||||
sub_8124610(alloced2, sum->metLocation);
|
||||
sub_81AFC0C(4, alloced2);
|
||||
UnkTextUtil_SetPtrI(4, alloced2);
|
||||
}
|
||||
if (sub_81C3220() == 1)
|
||||
{
|
||||
@ -3022,7 +3021,7 @@ void sub_81C307C()
|
||||
text = (sum->metLocation > 0xD4) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt;
|
||||
else
|
||||
text = gText_XNatureObtainedInTrade;
|
||||
sub_81AFC28(gStringVar4, text);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, text);
|
||||
Free(alloced1);
|
||||
Free(alloced2);
|
||||
}
|
||||
@ -3036,8 +3035,8 @@ void sub_81C3194()
|
||||
void sub_81C31C0()
|
||||
{
|
||||
struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C;
|
||||
sub_81AFC0C(2, gNatureNamePointers[sumStruct->summary.nature]);
|
||||
sub_81AFC0C(5, gText_EmptyString5);
|
||||
UnkTextUtil_SetPtrI(2, gNatureNamePointers[sumStruct->summary.nature]);
|
||||
UnkTextUtil_SetPtrI(5, gText_EmptyString5);
|
||||
}
|
||||
|
||||
void sub_81C31F0(u8 *a)
|
||||
@ -3046,7 +3045,7 @@ void sub_81C31F0(u8 *a)
|
||||
if (level == 0)
|
||||
level = 5;
|
||||
ConvertIntToDecimalStringN(a, level, 0, 3);
|
||||
sub_81AFC0C(3, a);
|
||||
UnkTextUtil_SetPtrI(3, a);
|
||||
}
|
||||
|
||||
u8 sub_81C3220()
|
||||
@ -3301,12 +3300,12 @@ void sub_81C3710()
|
||||
ConvertIntToDecimalStringN(alloced2, gUnknown_0203CF1C->summary.maxHP, 1, 3);
|
||||
ConvertIntToDecimalStringN(alloced3, gUnknown_0203CF1C->summary.atk, 1, 7);
|
||||
ConvertIntToDecimalStringN(alloced4, gUnknown_0203CF1C->summary.def, 1, 7);
|
||||
sub_81AFBF0();
|
||||
sub_81AFC0C(0, alloced1);
|
||||
sub_81AFC0C(1, alloced2);
|
||||
sub_81AFC0C(2, alloced3);
|
||||
sub_81AFC0C(3, alloced4);
|
||||
sub_81AFC28(gStringVar4, gUnknown_0861CE82);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, alloced1);
|
||||
UnkTextUtil_SetPtrI(1, alloced2);
|
||||
UnkTextUtil_SetPtrI(2, alloced3);
|
||||
UnkTextUtil_SetPtrI(3, alloced4);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE82);
|
||||
Free(alloced1);
|
||||
Free(alloced2);
|
||||
Free(alloced3);
|
||||
@ -3323,11 +3322,11 @@ void sub_81C3808()
|
||||
ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3);
|
||||
ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3);
|
||||
ConvertIntToDecimalStringN(gStringVar3, gUnknown_0203CF1C->summary.speed, 1, 3);
|
||||
sub_81AFBF0();
|
||||
sub_81AFC0C(0, gStringVar1);
|
||||
sub_81AFC0C(1, gStringVar2);
|
||||
sub_81AFC0C(2, gStringVar3);
|
||||
sub_81AFC28(gStringVar4, gUnknown_0861CE8E);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, gStringVar2);
|
||||
UnkTextUtil_SetPtrI(2, gStringVar3);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE8E);
|
||||
}
|
||||
|
||||
void sub_81C3890()
|
||||
@ -3436,10 +3435,10 @@ void sub_81C3B08(u8 a)
|
||||
sub_81C25A4(r8, gMoveNames[move], 0, (a<<4) + 1, 0, 1);
|
||||
ConvertIntToDecimalStringN(gStringVar1, r10->summary.pp[a], 1, 2);
|
||||
ConvertIntToDecimalStringN(gStringVar2, r6, 1, 2);
|
||||
sub_81AFBF0();
|
||||
sub_81AFC0C(0, gStringVar1);
|
||||
sub_81AFC0C(1, gStringVar2);
|
||||
sub_81AFC28(gStringVar4, gUnknown_0861CE97);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, gStringVar2);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE97);
|
||||
text = gStringVar4;
|
||||
r5 = GetCurrentPpToMaxPpState(r10->summary.pp[a], r6) + 9;
|
||||
offset = GetStringRightAlignXOffset(1, text, 0x2C);
|
||||
@ -3531,17 +3530,17 @@ void sub_81C3B08(u8 a)
|
||||
movs r2, 0x1\n\
|
||||
movs r3, 0x2\n\
|
||||
bl ConvertIntToDecimalStringN\n\
|
||||
bl sub_81AFBF0\n\
|
||||
bl UnkTextUtil_Reset\n\
|
||||
movs r0, 0\n\
|
||||
mov r1, r8\n\
|
||||
bl sub_81AFC0C\n\
|
||||
bl UnkTextUtil_SetPtrI\n\
|
||||
movs r0, 0x1\n\
|
||||
adds r1, r4, 0\n\
|
||||
bl sub_81AFC0C\n\
|
||||
bl UnkTextUtil_SetPtrI\n\
|
||||
ldr r4, =gStringVar4\n\
|
||||
ldr r1, =gUnknown_0861CE97\n\
|
||||
adds r0, r4, 0\n\
|
||||
bl sub_81AFC28\n\
|
||||
bl UnkTextUtil_StringExpandPlaceholders\n\
|
||||
adds r7, r4, 0\n\
|
||||
ldrb r0, [r5]\n\
|
||||
adds r1, r6, 0\n\
|
||||
|
@ -13,7 +13,7 @@ extern void CopyWindowToVram(u8 windowId, u8 mode);
|
||||
extern u16 Font6Func(struct TextPrinter *textPrinter);
|
||||
extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese);
|
||||
extern void PlaySE(u16 songNum);
|
||||
extern u8* sub_81AFC74(u8 a1);
|
||||
extern u8* UnkTextUtil_GetPtrI(u8 a1);
|
||||
|
||||
EWRAM_DATA struct TextPrinter gTempTextPrinter = {0};
|
||||
EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0};
|
||||
@ -2932,7 +2932,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
}
|
||||
case 0xF7:
|
||||
if (bufferPointer == NULL)
|
||||
bufferPointer = sub_81AFC74(*++str);
|
||||
bufferPointer = UnkTextUtil_GetPtrI(*++str);
|
||||
while (*bufferPointer != 0xFF)
|
||||
{
|
||||
glyphWidth = func(*bufferPointer++, isJapanese);
|
||||
|
56
src/unk_text_util.c
Normal file
56
src/unk_text_util.c
Normal file
@ -0,0 +1,56 @@
|
||||
#include "global.h"
|
||||
#include "text.h"
|
||||
#include "unk_text_util.h"
|
||||
#include "string_util.h"
|
||||
|
||||
static EWRAM_DATA const u8 *sStringPointers[8] = {};
|
||||
|
||||
void UnkTextUtil_Reset(void)
|
||||
{
|
||||
const u8 **ptr;
|
||||
u8 *fillval;
|
||||
const u8 **ptr2;
|
||||
|
||||
ptr = sStringPointers;
|
||||
fillval = NULL;
|
||||
ptr2 = ptr + (ARRAY_COUNT(sStringPointers) - 1);
|
||||
do
|
||||
{
|
||||
*ptr2-- = fillval;
|
||||
} while ((int)ptr2 >= (int)ptr);
|
||||
}
|
||||
|
||||
void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr)
|
||||
{
|
||||
if (idx < ARRAY_COUNT(sStringPointers))
|
||||
{
|
||||
sStringPointers[idx] = ptr;
|
||||
}
|
||||
}
|
||||
|
||||
u8 *UnkTextUtil_StringExpandPlaceholders(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 *UnkTextUtil_GetPtrI(u8 idx)
|
||||
{
|
||||
return sStringPointers[idx];
|
||||
}
|
@ -1529,8 +1529,7 @@ gUnknown_0203CE84: @ 203CE84
|
||||
gUnknown_0203CE8C: @ 203CE8C
|
||||
.space 0x10
|
||||
|
||||
gUnknown_0203CE9C: @ 203CE9C
|
||||
.space 0x20
|
||||
.include "src/unk_text_util.o"
|
||||
|
||||
gUnknown_0203CEBC: @ 203CEBC
|
||||
.space 0x4
|
||||
|
Loading…
Reference in New Issue
Block a user