tmc/asm/non_matching/textbox/RunTextCommand.inc

319 lines
5.2 KiB
PHP

.syntax unified
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
ldrh r7, [r5, #0x24]
cmp r7, #0
beq _0805675C
b _0805694C
_0805675C:
adds r4, r5, #0
adds r4, #0x20
adds r0, r4, #0
bl GetCharacter
adds r7, r0, #0
cmp r7, #0xe
bls _0805676E
b _08056942
_0805676E:
lsls r0, r7, #2
ldr r1, _08056778 @ =_0805677C
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08056778: .4byte _0805677C
_0805677C: @ jump table
.4byte _080567B8 @ case 0
.4byte _080567DE @ case 1
.4byte _08056802 @ case 2
.4byte _0805680A @ case 3
.4byte _08056812 @ case 4
.4byte _08056838 @ case 5
.4byte _08056844 @ case 6
.4byte _08056858 @ case 7
.4byte _0805688C @ case 8
.4byte _08056894 @ case 9
.4byte _080568AC @ case 10
.4byte _08056942 @ case 11
.4byte _080568B2 @ case 12
.4byte _08056914 @ case 13
.4byte _0805693A @ case 14
_080567B8:
ldr r0, _080567D4 @ =gUnk_02000040
ldrb r0, [r0]
cmp r0, #1
bne _080567D8
adds r1, r5, #0
adds r1, #0x89
movs r0, #5
strb r0, [r1]
.ifndef EU
movs r0, #0
movs r1, #0
bl SwitchChoice
.endif
b _08056942
.align 2, 0
_080567D4: .4byte gUnk_02000040
_080567D8:
adds r1, r5, #0
adds r1, #0x89
b _0805692C
_080567DE:
adds r1, r5, #0
adds r1, #0x8a
movs r0, #2
strb r0, [r1]
adds r0, r5, #0
adds r0, #0x98
ldrb r0, [r0]
cmp r0, #0
bne _080567F8
movs r0, #1
bl MsgChangeLine
b _08056942
_080567F8:
adds r1, r5, #0
adds r1, #0x89
movs r0, #3
strb r0, [r1]
b _08056942
_08056802:
movs r0, #3
bl StatusUpdate
b _08056942
_0805680A:
movs r0, #4
bl StatusUpdate
b _08056942
_08056812:
adds r0, r4, #0
movs r1, #0
bl GetFontStrWith
adds r3, r0, #0
adds r4, r5, #0
adds r4, #0x56
adds r0, r5, #0
adds r0, #0x54
ldrh r0, [r0]
ldrh r2, [r4]
subs r0, r0, r2
subs r0, r0, r3
lsrs r1, r0, #0x1f
adds r0, r0, r1
asrs r0, r0, #1
adds r2, r2, r0
strh r2, [r4]
b _08056942
_08056838:
ldr r1, _08056840 @ =gMessage
ldrh r0, [r5, #0x22]
strb r0, [r1, #1]
b _08056942
.align 2, 0
_08056840: .4byte gMessage
_08056844:
ldr r0, _08056854 @ =gUnk_0200005C
ldrh r1, [r5, #0x22]
movs r2, #0x1f
ands r1, r2
bl WriteBit
b _08056942
.align 2, 0
_08056854: .4byte gMessage+0xc
_08056858:
ldrh r3, [r5, #0x22]
cmp r3, #0xe
beq _08056864
cmp r3, #0xf
beq _08056874
b _0805687A
_08056864:
adds r0, r5, #0
adds r0, #0x8f
ldrb r0, [r0]
adds r1, r5, #0
adds r1, #0x91
strb r0, [r1]
movs r3, #2
b _0805687A
_08056874:
adds r0, r5, #0
adds r0, #0x91
ldrb r3, [r0]
_0805687A:
adds r1, r5, #0
adds r1, #0x90
movs r0, #0
strb r0, [r1]
adds r0, r5, #0
adds r1, r3, #0
bl PaletteChange
b _08056942
_0805688C:
ldrh r0, [r5, #0x22]
bl SoundReq
b _08056942
_08056894:
ldr r1, _080568A8 @ =gTextRender
ldrh r0, [r5, #0x22]
strb r0, [r1, #3]
ldrh r0, [r5, #0x22]
adds r1, r5, #0
adds r1, #0x53
ldrb r1, [r1]
bl sub_08056F88
b _08056942
.align 2, 0
_080568A8: .4byte gTextRender
_080568AC:
ldrh r0, [r5, #0x22]
strb r0, [r5, #7]
b _08056942
_080568B2:
ldr r6, _0805690C @ =gUnk_02000040
ldrb r0, [r6]
cmp r0, #1
beq _080568D2
adds r0, r6, #0
movs r1, #4
bl MemClear
ldr r4, _08056910 @ =gMessageChoices
adds r0, r4, #0
movs r1, #0x18
bl MemClear
movs r0, #1
strb r0, [r4]
strb r0, [r6]
_080568D2:
ldr r2, _08056910 @ =gMessageChoices
movs r0, #2
ldrsb r0, [r2, r0]
cmp r0, #3
bgt _08056942
lsls r0, r0, #1
adds r1, r2, #0
adds r1, #0x10
adds r0, r0, r1
ldrh r1, [r5, #0x26]
strh r1, [r0]
movs r0, #2
ldrsb r0, [r2, r0]
lsls r0, r0, #1
adds r1, r2, #0
adds r1, #8
adds r0, r0, r1
adds r3, r5, #0
adds r3, #0x56
ldrh r1, [r3]
strh r1, [r0]
ldrb r0, [r2, #2]
adds r0, #1
strb r0, [r2, #2]
ldrh r0, [r3]
adds r0, #8
strh r0, [r3]
b _08056942
.align 2, 0
_0805690C: .4byte gUnk_02000040
_08056910: .4byte gMessageChoices
_08056914:
ldrh r3, [r5, #0x22]
cmp r3, #0xfe
beq _08056928
cmp r3, #0xff
bne _08056932
adds r1, r5, #0
adds r1, #0x8e
movs r0, #1
strb r0, [r1]
b _08056942
_08056928:
adds r1, r5, #0
adds r1, #0x8e
_0805692C:
movs r0, #2
strb r0, [r1]
b _08056942
_08056932:
adds r0, r5, #0
adds r0, #0x95
strb r3, [r0]
b _08056942
_0805693A:
ldrh r1, [r5, #0x22]
adds r0, r5, #0
adds r0, #0x94
strb r1, [r0]
_08056942:
lsrs r0, r7, #8
cmp r0, #0
bne _0805694C
movs r0, #0
b _080569C2
_0805694C:
ldr r0, _08056960 @ =gTextRender
adds r0, #0x99
ldrb r0, [r0]
cmp r0, #2
beq _08056964
movs r0, #3
bl StatusUpdate
movs r0, #0
b _080569C2
.align 2, 0
_08056960: .4byte gTextRender
_08056964:
ldr r1, _08056994 @ =gMessage
ldrb r0, [r1, #1]
cmp r0, #0
bne _08056970
movs r0, #0x80
strb r0, [r1, #1]
_08056970:
movs r0, #0
strh r0, [r5, #0x24]
lsrs r0, r7, #8
cmp r0, #7
bne _08056998
adds r0, r5, #0
adds r0, #0x8f
ldrb r0, [r0]
movs r1, #0x80
adds r2, r5, #0
adds r2, #0x90
orrs r1, r0
strb r1, [r2]
adds r0, r5, #0
movs r1, #0
bl PaletteChange
b _080569B4
.align 2, 0
_08056994: .4byte gMessage
_08056998:
adds r2, r5, #0
adds r2, #0x90
ldrb r1, [r2]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _080569B4
ldrb r3, [r2]
movs r0, #0
strb r0, [r2]
adds r0, r5, #0
adds r1, r3, #0
bl PaletteChange
_080569B4:
adds r1, r5, #0
adds r1, #0x50
adds r0, r7, #0
bl sub_0805F7DC
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
_080569C2:
pop {r4, r5, r6, r7, pc}
.syntax divided