help_system: through sub_813C3AC
This commit is contained in:
@@ -5,546 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_813C004
|
||||
sub_813C004: @ 813C004
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x8
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r6, r1, 24
|
||||
cmp r6, 0
|
||||
beq _0813C01A
|
||||
cmp r6, 0x1
|
||||
beq _0813C040
|
||||
b _0813C06A
|
||||
_0813C01A:
|
||||
ldr r5, _0813C03C @ =0x000001ff
|
||||
movs r4, 0x1
|
||||
str r4, [sp]
|
||||
str r6, [sp, 0x4]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1C
|
||||
movs r2, 0x3
|
||||
movs r3, 0x1
|
||||
bl sub_813BC78
|
||||
str r4, [sp]
|
||||
str r6, [sp, 0x4]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1C
|
||||
movs r2, 0x12
|
||||
b _0813C050
|
||||
.align 2, 0
|
||||
_0813C03C: .4byte 0x000001ff
|
||||
_0813C040:
|
||||
cmp r2, 0
|
||||
bne _0813C058
|
||||
movs r0, 0xFF
|
||||
lsls r0, 1
|
||||
str r6, [sp]
|
||||
str r2, [sp, 0x4]
|
||||
movs r1, 0x1C
|
||||
movs r2, 0x3
|
||||
_0813C050:
|
||||
movs r3, 0x1
|
||||
bl sub_813BC78
|
||||
b _0813C06A
|
||||
_0813C058:
|
||||
ldr r0, _0813C074 @ =0x000001fd
|
||||
str r6, [sp]
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x4]
|
||||
movs r1, 0x1C
|
||||
movs r2, 0x12
|
||||
movs r3, 0x1
|
||||
bl sub_813BC78
|
||||
_0813C06A:
|
||||
add sp, 0x8
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0813C074: .4byte 0x000001fd
|
||||
thumb_func_end sub_813C004
|
||||
|
||||
thumb_func_start HelpSystemRenderText
|
||||
HelpSystemRenderText: @ 813C078
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x38
|
||||
str r1, [sp, 0x28]
|
||||
mov r9, r2
|
||||
ldr r1, [sp, 0x58]
|
||||
ldr r2, [sp, 0x5C]
|
||||
ldr r4, [sp, 0x60]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x24]
|
||||
lsls r3, 24
|
||||
lsrs r7, r3, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
mov r10, r1
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
str r2, [sp, 0x2C]
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
str r4, [sp, 0x30]
|
||||
str r7, [sp, 0x34]
|
||||
_0813C0AC:
|
||||
mov r0, r9
|
||||
ldrb r1, [r0]
|
||||
movs r2, 0x1
|
||||
add r9, r2
|
||||
adds r0, r1, 0
|
||||
subs r0, 0xF8
|
||||
cmp r0, 0x7
|
||||
bls _0813C0BE
|
||||
b _0813C358
|
||||
_0813C0BE:
|
||||
lsls r0, 2
|
||||
ldr r1, _0813C0C8 @ =_0813C0CC
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0813C0C8: .4byte _0813C0CC
|
||||
.align 2, 0
|
||||
_0813C0CC:
|
||||
.4byte _0813C2D4
|
||||
.4byte _0813C348
|
||||
.4byte _0813C1E4
|
||||
.4byte _0813C1E4
|
||||
.4byte _0813C200
|
||||
.4byte _0813C0EC
|
||||
.4byte _0813C1E4
|
||||
.4byte _0813C39C
|
||||
_0813C0EC:
|
||||
mov r0, r9
|
||||
ldrb r1, [r0]
|
||||
movs r2, 0x1
|
||||
add r9, r2
|
||||
cmp r1, 0x1
|
||||
bne _0813C154
|
||||
movs r4, 0
|
||||
ldr r0, _0813C14C @ =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
ldrb r1, [r1]
|
||||
cmp r1, 0xFF
|
||||
beq _0813C0AC
|
||||
ldr r5, _0813C150 @ =gGlyphInfo + 0x80
|
||||
_0813C106:
|
||||
ldr r0, [r0]
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
ldr r0, [sp, 0x28]
|
||||
str r0, [sp]
|
||||
str r7, [sp, 0x4]
|
||||
mov r2, r10
|
||||
str r2, [sp, 0x8]
|
||||
ldr r0, [sp, 0x2C]
|
||||
str r0, [sp, 0xC]
|
||||
ldr r2, [sp, 0x30]
|
||||
str r2, [sp, 0x10]
|
||||
ldr r0, [sp, 0x24]
|
||||
add r2, sp, 0x14
|
||||
add r3, sp, 0x1C
|
||||
bl sub_813C3AC
|
||||
ldr r0, [sp, 0x24]
|
||||
ldrb r0, [r5]
|
||||
adds r0, r7, r0
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x9
|
||||
bhi _0813C0AC
|
||||
ldr r0, _0813C14C @ =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
adds r1, r4
|
||||
ldrb r1, [r1]
|
||||
cmp r1, 0xFF
|
||||
bne _0813C106
|
||||
b _0813C0AC
|
||||
.align 2, 0
|
||||
_0813C14C: .4byte gSaveBlock2Ptr
|
||||
_0813C150: .4byte gGlyphInfo + 0x80
|
||||
_0813C154:
|
||||
cmp r1, 0x2
|
||||
bne _0813C0AC
|
||||
movs r4, 0
|
||||
ldr r5, _0813C160 @ =gGlyphInfo + 0x80
|
||||
b _0813C1BC
|
||||
.align 2, 0
|
||||
_0813C160: .4byte gGlyphInfo + 0x80
|
||||
_0813C164:
|
||||
ldrb r1, [r1]
|
||||
ldr r2, [sp, 0x28]
|
||||
str r2, [sp]
|
||||
str r7, [sp, 0x4]
|
||||
mov r0, r10
|
||||
str r0, [sp, 0x8]
|
||||
ldr r2, [sp, 0x2C]
|
||||
str r2, [sp, 0xC]
|
||||
ldr r0, [sp, 0x30]
|
||||
str r0, [sp, 0x10]
|
||||
ldr r0, [sp, 0x24]
|
||||
add r2, sp, 0x14
|
||||
add r3, sp, 0x1C
|
||||
bl sub_813C3AC
|
||||
b _0813C1AC
|
||||
_0813C184:
|
||||
ldr r0, _0813C1D8 @ =gUnknown_841CB41
|
||||
adds r1, r4, r0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0xFF
|
||||
beq _0813C0AC
|
||||
adds r1, r0, 0
|
||||
ldr r2, [sp, 0x28]
|
||||
str r2, [sp]
|
||||
str r7, [sp, 0x4]
|
||||
mov r0, r10
|
||||
str r0, [sp, 0x8]
|
||||
ldr r2, [sp, 0x2C]
|
||||
str r2, [sp, 0xC]
|
||||
ldr r0, [sp, 0x30]
|
||||
str r0, [sp, 0x10]
|
||||
ldr r0, [sp, 0x24]
|
||||
add r2, sp, 0x14
|
||||
add r3, sp, 0x1C
|
||||
bl sub_813C3AC
|
||||
_0813C1AC:
|
||||
ldr r1, [sp, 0x24]
|
||||
ldrb r0, [r5]
|
||||
adds r0, r7, r0
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
_0813C1BC:
|
||||
ldr r0, _0813C1DC @ =0x00000834
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0813C184
|
||||
ldr r0, _0813C1E0 @ =gUnknown_841CB3C
|
||||
adds r1, r4, r0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0xFF
|
||||
bne _0813C164
|
||||
b _0813C0AC
|
||||
.align 2, 0
|
||||
_0813C1D8: .4byte gUnknown_841CB41
|
||||
_0813C1DC: .4byte 0x00000834
|
||||
_0813C1E0: .4byte gUnknown_841CB3C
|
||||
_0813C1E4:
|
||||
ldr r7, [sp, 0x34]
|
||||
ldr r1, _0813C1FC @ =gGlyphInfo
|
||||
adds r1, 0x81
|
||||
mov r0, r10
|
||||
adds r0, 0x1
|
||||
ldrb r1, [r1]
|
||||
adds r0, r1
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r10, r0
|
||||
b _0813C0AC
|
||||
.align 2, 0
|
||||
_0813C1FC: .4byte gGlyphInfo
|
||||
_0813C200:
|
||||
mov r2, r9
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0x1
|
||||
add r9, r0
|
||||
subs r0, r1, 0x1
|
||||
cmp r0, 0x15
|
||||
bls _0813C210
|
||||
b _0813C0AC
|
||||
_0813C210:
|
||||
lsls r0, 2
|
||||
ldr r1, _0813C21C @ =_0813C220
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0813C21C: .4byte _0813C220
|
||||
.align 2, 0
|
||||
_0813C220:
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C278
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C0AC
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C0AC
|
||||
.4byte _0813C0AC
|
||||
.4byte _0813C27C
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C2C8
|
||||
.4byte _0813C0AC
|
||||
.4byte _0813C27C
|
||||
.4byte _0813C2CE
|
||||
.4byte _0813C2CE
|
||||
.4byte _0813C282
|
||||
.4byte _0813C2CE
|
||||
.4byte _0813C0AC
|
||||
.4byte _0813C0AC
|
||||
_0813C278:
|
||||
movs r1, 0x1
|
||||
add r9, r1
|
||||
_0813C27C:
|
||||
movs r2, 0x1
|
||||
add r9, r2
|
||||
b _0813C2C8
|
||||
_0813C282:
|
||||
mov r2, r9
|
||||
ldrb r0, [r2]
|
||||
ldr r1, [sp, 0x34]
|
||||
adds r0, r1
|
||||
subs r6, r0, r7
|
||||
cmp r6, 0
|
||||
ble _0813C2C8
|
||||
ldr r2, [sp, 0x28]
|
||||
str r2, [sp, 0x1C]
|
||||
ldr r1, [sp, 0x2C]
|
||||
lsls r0, r1, 3
|
||||
add r4, sp, 0x1C
|
||||
movs r5, 0
|
||||
strh r0, [r4, 0x4]
|
||||
ldr r2, [sp, 0x30]
|
||||
lsls r0, r2, 3
|
||||
strh r0, [r4, 0x6]
|
||||
ldr r0, [sp, 0x24]
|
||||
movs r1, 0x1
|
||||
bl GetFontAttribute
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r3, r6, 16
|
||||
lsrs r3, 16
|
||||
str r0, [sp]
|
||||
str r5, [sp, 0x4]
|
||||
adds r0, r4, 0
|
||||
adds r1, r7, 0
|
||||
mov r2, r10
|
||||
bl FillBitmapRect4Bit
|
||||
adds r0, r7, r6
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
_0813C2C8:
|
||||
movs r0, 0x1
|
||||
add r9, r0
|
||||
b _0813C0AC
|
||||
_0813C2CE:
|
||||
movs r1, 0x1
|
||||
add r9, r1
|
||||
b _0813C0AC
|
||||
_0813C2D4:
|
||||
mov r2, r9
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0x1
|
||||
add r9, r0
|
||||
adds r6, r1, 0
|
||||
adds r0, r6, 0
|
||||
bl GetKeypadIconTileOffset
|
||||
lsls r0, 24
|
||||
lsrs r0, 19
|
||||
ldr r1, _0813C344 @ =gKeypadIconTiles
|
||||
adds r0, r1
|
||||
str r0, [sp, 0x14]
|
||||
add r1, sp, 0x14
|
||||
movs r2, 0
|
||||
mov r8, r2
|
||||
movs r0, 0x80
|
||||
strh r0, [r1, 0x4]
|
||||
strh r0, [r1, 0x6]
|
||||
ldr r0, [sp, 0x28]
|
||||
str r0, [sp, 0x1C]
|
||||
ldr r1, [sp, 0x2C]
|
||||
lsls r0, r1, 3
|
||||
add r5, sp, 0x1C
|
||||
strh r0, [r5, 0x4]
|
||||
ldr r2, [sp, 0x30]
|
||||
lsls r0, r2, 3
|
||||
strh r0, [r5, 0x6]
|
||||
adds r0, r6, 0
|
||||
bl GetKeypadIconWidth
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
adds r0, r6, 0
|
||||
bl GetKeypadIconHeight
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r7, [sp]
|
||||
mov r1, r10
|
||||
str r1, [sp, 0x4]
|
||||
str r4, [sp, 0x8]
|
||||
str r0, [sp, 0xC]
|
||||
mov r2, r8
|
||||
str r2, [sp, 0x10]
|
||||
add r0, sp, 0x14
|
||||
adds r1, r5, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl BlitBitmapRect4Bit
|
||||
adds r0, r6, 0
|
||||
bl GetKeypadIconWidth
|
||||
b _0813C38E
|
||||
.align 2, 0
|
||||
_0813C344: .4byte gKeypadIconTiles
|
||||
_0813C348:
|
||||
mov r0, r9
|
||||
ldrb r1, [r0]
|
||||
movs r2, 0x80
|
||||
lsls r2, 1
|
||||
adds r0, r2, 0
|
||||
orrs r1, r0
|
||||
movs r0, 0x1
|
||||
add r9, r0
|
||||
_0813C358:
|
||||
cmp r1, 0
|
||||
bne _0813C36A
|
||||
ldr r1, [sp, 0x24]
|
||||
cmp r1, 0
|
||||
bne _0813C366
|
||||
adds r0, r7, 0x5
|
||||
b _0813C390
|
||||
_0813C366:
|
||||
adds r0, r7, 0x4
|
||||
b _0813C390
|
||||
_0813C36A:
|
||||
add r3, sp, 0x1C
|
||||
ldr r2, [sp, 0x28]
|
||||
str r2, [sp]
|
||||
str r7, [sp, 0x4]
|
||||
mov r0, r10
|
||||
str r0, [sp, 0x8]
|
||||
ldr r2, [sp, 0x2C]
|
||||
str r2, [sp, 0xC]
|
||||
ldr r0, [sp, 0x30]
|
||||
str r0, [sp, 0x10]
|
||||
ldr r0, [sp, 0x24]
|
||||
add r2, sp, 0x14
|
||||
bl sub_813C3AC
|
||||
ldr r1, [sp, 0x24]
|
||||
ldr r0, _0813C398 @ =gGlyphInfo
|
||||
adds r0, 0x80
|
||||
ldrb r0, [r0]
|
||||
_0813C38E:
|
||||
adds r0, r7, r0
|
||||
_0813C390:
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
b _0813C0AC
|
||||
.align 2, 0
|
||||
_0813C398: .4byte gGlyphInfo
|
||||
_0813C39C:
|
||||
add sp, 0x38
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end HelpSystemRenderText
|
||||
|
||||
thumb_func_start sub_813C3AC
|
||||
sub_813C3AC: @ 813C3AC
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x14
|
||||
adds r7, r2, 0
|
||||
mov r8, r3
|
||||
ldr r2, [sp, 0x38]
|
||||
ldr r3, [sp, 0x3C]
|
||||
ldr r4, [sp, 0x40]
|
||||
ldr r5, [sp, 0x44]
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
lsls r1, 16
|
||||
lsrs r0, r1, 16
|
||||
adds r1, r0, 0
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r10, r2
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
mov r9, r3
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
cmp r6, 0
|
||||
bne _0813C3EE
|
||||
movs r1, 0
|
||||
bl DecompressGlyphFont0
|
||||
b _0813C402
|
||||
_0813C3EE:
|
||||
cmp r6, 0x5
|
||||
bne _0813C3FA
|
||||
movs r1, 0
|
||||
bl DecompressGlyphFont5
|
||||
b _0813C402
|
||||
_0813C3FA:
|
||||
adds r0, r1, 0
|
||||
movs r1, 0
|
||||
bl DecompressGlyphFont2
|
||||
_0813C402:
|
||||
ldr r1, _0813C450 @ =gGlyphInfo
|
||||
str r1, [r7]
|
||||
movs r2, 0
|
||||
movs r0, 0x10
|
||||
strh r0, [r7, 0x4]
|
||||
strh r0, [r7, 0x6]
|
||||
ldr r0, [sp, 0x34]
|
||||
mov r3, r8
|
||||
str r0, [r3]
|
||||
lsls r0, r4, 3
|
||||
strh r0, [r3, 0x4]
|
||||
lsls r0, r5, 3
|
||||
strh r0, [r3, 0x6]
|
||||
mov r0, r10
|
||||
str r0, [sp]
|
||||
mov r3, r9
|
||||
str r3, [sp, 0x4]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x80
|
||||
ldrb r0, [r0]
|
||||
str r0, [sp, 0x8]
|
||||
adds r1, 0x81
|
||||
ldrb r0, [r1]
|
||||
str r0, [sp, 0xC]
|
||||
str r2, [sp, 0x10]
|
||||
adds r0, r7, 0
|
||||
mov r1, r8
|
||||
movs r3, 0
|
||||
bl BlitBitmapRect4Bit
|
||||
add sp, 0x14
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0813C450: .4byte gGlyphInfo
|
||||
thumb_func_end sub_813C3AC
|
||||
|
||||
thumb_func_start sub_813C454
|
||||
sub_813C454: @ 813C454
|
||||
push {r4,lr}
|
||||
|
||||
Reference in New Issue
Block a user