Decompile apprentice
This commit is contained in:
@@ -6,941 +6,6 @@
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start sub_81A0FFC
|
||||
sub_81A0FFC: @ 81A0FFC
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x10
|
||||
ldr r0, =gSpecialVar_0x8005
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _081A1028
|
||||
cmp r0, 0x1
|
||||
bgt _081A1018
|
||||
cmp r0, 0
|
||||
beq _081A101E
|
||||
b _081A11E6
|
||||
.pool
|
||||
_081A1018:
|
||||
cmp r0, 0x2
|
||||
beq _081A1030
|
||||
b _081A11E6
|
||||
_081A101E:
|
||||
ldr r5, =gStringVar1
|
||||
b _081A1032
|
||||
.pool
|
||||
_081A1028:
|
||||
ldr r5, =gStringVar2
|
||||
b _081A1032
|
||||
.pool
|
||||
_081A1030:
|
||||
ldr r5, =gStringVar3
|
||||
_081A1032:
|
||||
ldr r0, =gSpecialVar_0x8006
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0x9
|
||||
bls _081A103C
|
||||
b _081A11E6
|
||||
_081A103C:
|
||||
lsls r0, 2
|
||||
ldr r1, =_081A1054
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.pool
|
||||
.align 2, 0
|
||||
_081A1054:
|
||||
.4byte _081A107C
|
||||
.4byte _081A1094
|
||||
.4byte _081A10AC
|
||||
.4byte _081A10C4
|
||||
.4byte _081A10DC
|
||||
.4byte _081A10F4
|
||||
.4byte _081A1118
|
||||
.4byte _081A1164
|
||||
.4byte _081A1140
|
||||
.4byte _081A1184
|
||||
_081A107C:
|
||||
ldr r0, =gUnknown_030062F0
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0]
|
||||
movs r0, 0xB
|
||||
muls r1, r0
|
||||
ldr r0, =gSpeciesNames
|
||||
adds r1, r0
|
||||
b _081A1174
|
||||
.pool
|
||||
_081A1094:
|
||||
ldr r0, =gUnknown_030062F0
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0, 0x2]
|
||||
movs r0, 0xB
|
||||
muls r1, r0
|
||||
ldr r0, =gSpeciesNames
|
||||
adds r1, r0
|
||||
b _081A1174
|
||||
.pool
|
||||
_081A10AC:
|
||||
ldr r0, =gUnknown_030062F0
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0]
|
||||
movs r0, 0xB
|
||||
muls r1, r0
|
||||
ldr r0, =gSpeciesNames
|
||||
adds r1, r0
|
||||
b _081A1174
|
||||
.pool
|
||||
_081A10C4:
|
||||
ldr r0, =gUnknown_030062F0
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0, 0x4]
|
||||
movs r0, 0xD
|
||||
muls r1, r0
|
||||
ldr r0, =gMoveNames
|
||||
adds r1, r0
|
||||
b _081A1174
|
||||
.pool
|
||||
_081A10DC:
|
||||
ldr r0, =gUnknown_030062F0
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0, 0x6]
|
||||
movs r0, 0xD
|
||||
muls r1, r0
|
||||
ldr r0, =gMoveNames
|
||||
adds r1, r0
|
||||
b _081A1174
|
||||
.pool
|
||||
_081A10F4:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0xB1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 26
|
||||
lsrs r0, 28
|
||||
subs r0, 0x3
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
adds r1, 0xBA
|
||||
ldrh r0, [r1]
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
b _081A1174
|
||||
.pool
|
||||
_081A1118:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
adds r0, 0xB0
|
||||
ldrb r0, [r0]
|
||||
movs r1, 0x2
|
||||
bl sub_81A1650
|
||||
adds r1, r0, 0
|
||||
mov r0, sp
|
||||
movs r2, 0x2
|
||||
bl TVShowConvertInternationalString
|
||||
adds r0, r5, 0
|
||||
mov r1, sp
|
||||
bl StringCopy
|
||||
b _081A11E6
|
||||
.pool
|
||||
_081A1140:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
adds r0, 0xB1
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x3
|
||||
ands r0, r1
|
||||
cmp r0, 0x1
|
||||
bne _081A115C
|
||||
ldr r1, =gText_Lv50
|
||||
b _081A1174
|
||||
.pool
|
||||
_081A115C:
|
||||
ldr r1, =gText_OpenLevel
|
||||
b _081A1174
|
||||
.pool
|
||||
_081A1164:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x82
|
||||
lsls r1, 1
|
||||
adds r0, r1
|
||||
bl ConvertBattleFrontierTrainerSpeechToString
|
||||
ldr r1, =gStringVar4
|
||||
_081A1174:
|
||||
adds r0, r5, 0
|
||||
bl StringCopy
|
||||
b _081A11E6
|
||||
.pool
|
||||
_081A1184:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r3, [r0]
|
||||
adds r1, r3, 0
|
||||
adds r1, 0xB1
|
||||
ldrb r1, [r1]
|
||||
lsls r4, r1, 24
|
||||
lsrs r1, r4, 30
|
||||
adds r6, r0, 0
|
||||
cmp r1, 0x2
|
||||
bhi _081A11C0
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xB4
|
||||
adds r0, r1
|
||||
ldrb r2, [r0]
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xB2
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 29
|
||||
lsrs r0, 29
|
||||
asrs r0, r1
|
||||
movs r1, 0x1
|
||||
ands r0, r1
|
||||
lsls r0, 2
|
||||
asrs r2, r0
|
||||
movs r0, 0xF
|
||||
ands r2, r0
|
||||
b _081A11C2
|
||||
.pool
|
||||
_081A11C0:
|
||||
movs r2, 0
|
||||
_081A11C2:
|
||||
ldr r3, =gApprentices
|
||||
lsls r1, r2, 1
|
||||
ldr r0, [r6]
|
||||
adds r0, 0xB0
|
||||
ldrb r2, [r0]
|
||||
movs r0, 0x58
|
||||
muls r0, r2
|
||||
adds r1, r0
|
||||
adds r3, 0x34
|
||||
adds r1, r3
|
||||
ldrh r1, [r1]
|
||||
movs r0, 0xB
|
||||
muls r1, r0
|
||||
ldr r0, =gSpeciesNames
|
||||
adds r1, r0
|
||||
adds r0, r5, 0
|
||||
bl StringCopy
|
||||
_081A11E6:
|
||||
add sp, 0x10
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A0FFC
|
||||
|
||||
thumb_func_start sub_81A11F8
|
||||
sub_81A11F8: @ 81A11F8
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldr r0, =gSpecialVar_0x8005
|
||||
ldrb r1, [r0]
|
||||
adds r2, 0xB1
|
||||
lsls r1, 6
|
||||
ldrb r3, [r2]
|
||||
movs r0, 0x3F
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_81A11F8
|
||||
|
||||
thumb_func_start sub_81A1218
|
||||
sub_81A1218: @ 81A1218
|
||||
push {lr}
|
||||
bl sub_81AAC28
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81A1218
|
||||
|
||||
thumb_func_start sub_81A1224
|
||||
sub_81A1224: @ 81A1224
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
ldr r1, =gSaveBlock2Ptr
|
||||
ldr r3, [r1]
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xB1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 26
|
||||
lsrs r0, 28
|
||||
adds r7, r1, 0
|
||||
cmp r0, 0x2
|
||||
bhi _081A1242
|
||||
b _081A1362
|
||||
_081A1242:
|
||||
movs r5, 0
|
||||
movs r2, 0
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xB8
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
ldr r1, =gSpecialVar_0x8005
|
||||
mov r12, r1
|
||||
ldr r1, =gSpecialVar_Result
|
||||
mov r8, r1
|
||||
cmp r0, 0
|
||||
beq _081A127C
|
||||
adds r3, r7, 0
|
||||
_081A125C:
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
adds r0, r2, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
cmp r2, 0x8
|
||||
bhi _081A127C
|
||||
ldr r0, [r3]
|
||||
lsls r1, r2, 2
|
||||
adds r0, r1
|
||||
adds r0, 0xB8
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
cmp r0, 0
|
||||
bne _081A125C
|
||||
_081A127C:
|
||||
movs r4, 0
|
||||
cmp r4, r5
|
||||
bcs _081A1322
|
||||
ldr r0, [r7]
|
||||
adds r0, 0xB1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 26
|
||||
lsrs r0, 28
|
||||
subs r0, 0x3
|
||||
cmp r4, r0
|
||||
bge _081A1322
|
||||
adds r6, r7, 0
|
||||
mov r9, r4
|
||||
_081A1296:
|
||||
ldr r3, [r6]
|
||||
lsls r0, r4, 2
|
||||
adds r2, r3, r0
|
||||
adds r0, r2, 0
|
||||
adds r0, 0xB8
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 30
|
||||
lsrs r0, 30
|
||||
cmp r0, 0x1
|
||||
bne _081A1308
|
||||
lsrs r0, r1, 6
|
||||
cmp r0, 0
|
||||
beq _081A1308
|
||||
adds r0, r2, 0
|
||||
adds r0, 0xBA
|
||||
ldrh r0, [r0]
|
||||
mov r2, r12
|
||||
ldrh r2, [r2]
|
||||
cmp r0, r2
|
||||
bne _081A1308
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xB1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 26
|
||||
lsrs r0, 28
|
||||
subs r0, 0x3
|
||||
lsls r0, 2
|
||||
adds r0, r3, r0
|
||||
adds r0, 0xB8
|
||||
ldrb r2, [r0]
|
||||
movs r1, 0x3F
|
||||
ands r1, r2
|
||||
strb r1, [r0]
|
||||
ldr r1, [r6]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0xB1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 26
|
||||
lsrs r0, 28
|
||||
subs r0, 0x3
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
mov r2, r12
|
||||
ldrh r0, [r2]
|
||||
adds r1, 0xBA
|
||||
strh r0, [r1]
|
||||
mov r1, r9
|
||||
mov r0, r8
|
||||
strh r1, [r0]
|
||||
b _081A1362
|
||||
.pool
|
||||
_081A1308:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, r5
|
||||
bcs _081A1322
|
||||
ldr r0, [r6]
|
||||
adds r0, 0xB1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 26
|
||||
lsrs r0, 28
|
||||
subs r0, 0x3
|
||||
cmp r4, r0
|
||||
blt _081A1296
|
||||
_081A1322:
|
||||
ldr r2, [r7]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0xB1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 26
|
||||
lsrs r0, 28
|
||||
subs r0, 0x3
|
||||
lsls r0, 2
|
||||
adds r2, r0
|
||||
adds r2, 0xB8
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0x3F
|
||||
ands r0, r1
|
||||
movs r1, 0x40
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, [r7]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0xB1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 26
|
||||
lsrs r0, 28
|
||||
subs r0, 0x3
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
mov r2, r12
|
||||
ldrh r0, [r2]
|
||||
adds r1, 0xBA
|
||||
strh r0, [r1]
|
||||
movs r0, 0x1
|
||||
mov r1, r8
|
||||
strh r0, [r1]
|
||||
_081A1362:
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81A1224
|
||||
|
||||
thumb_func_start sub_81A1370
|
||||
sub_81A1370: @ 81A1370
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
movs r2, 0x8A
|
||||
lsls r2, 1
|
||||
adds r1, r2
|
||||
ldrb r1, [r1]
|
||||
adds r4, r0, 0
|
||||
cmp r1, 0xFF
|
||||
beq _081A1422
|
||||
movs r5, 0
|
||||
_081A138E:
|
||||
ldr r1, [r4]
|
||||
adds r2, r5, 0x1
|
||||
lsls r0, r2, 4
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r3, r1, r0
|
||||
movs r5, 0x8A
|
||||
lsls r5, 1
|
||||
adds r0, r3, r5
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0xFF
|
||||
bne _081A13B8
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xDC
|
||||
adds r1, 0xDC
|
||||
movs r2, 0x44
|
||||
bl memcpy
|
||||
b _081A1422
|
||||
.pool
|
||||
_081A13B8:
|
||||
adds r5, r2, 0
|
||||
cmp r5, 0x2
|
||||
ble _081A138E
|
||||
ldr r0, =0x0000ffff
|
||||
mov r10, r0
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
mov r9, r2
|
||||
movs r5, 0x1
|
||||
ldr r7, =gSaveBlock2Ptr
|
||||
movs r0, 0x90
|
||||
lsls r0, 1
|
||||
mov r8, r0
|
||||
movs r6, 0x44
|
||||
_081A13D4:
|
||||
ldr r0, [r7]
|
||||
add r0, r8
|
||||
adds r0, 0x34
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r7]
|
||||
adds r0, 0xA
|
||||
bl ReadUnalignedWord
|
||||
cmp r4, r0
|
||||
bne _081A13FC
|
||||
ldr r0, [r7]
|
||||
adds r0, r6
|
||||
adds r0, 0xDE
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r10
|
||||
bge _081A13FC
|
||||
mov r10, r0
|
||||
mov r9, r5
|
||||
_081A13FC:
|
||||
movs r2, 0x44
|
||||
add r8, r2
|
||||
adds r6, 0x44
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x3
|
||||
ble _081A13D4
|
||||
mov r5, r9
|
||||
cmp r5, 0
|
||||
ble _081A1422
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
lsls r0, r5, 4
|
||||
add r0, r9
|
||||
lsls r0, 2
|
||||
adds r0, r1, r0
|
||||
adds r0, 0xDC
|
||||
adds r1, 0xDC
|
||||
bl memcpy
|
||||
_081A1422:
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A1370
|
||||
|
||||
thumb_func_start sub_81A1438
|
||||
sub_81A1438: @ 81A1438
|
||||
push {r4,r5,lr}
|
||||
ldr r4, =gSaveBlock2Ptr
|
||||
ldr r2, [r4]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0xB0
|
||||
ldrb r0, [r0]
|
||||
adds r2, 0xDC
|
||||
movs r1, 0x1F
|
||||
ands r1, r0
|
||||
ldrb r3, [r2]
|
||||
movs r0, 0x20
|
||||
negs r0, r0
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r2, [r4]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0xB1
|
||||
ldrb r1, [r0]
|
||||
lsls r1, 30
|
||||
adds r2, 0xDC
|
||||
lsrs r1, 25
|
||||
ldrb r3, [r2]
|
||||
movs r0, 0x61
|
||||
negs r0, r0
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r2, 0
|
||||
ldr r0, [r4]
|
||||
b _081A148C
|
||||
.pool
|
||||
_081A147C:
|
||||
adds r0, r2, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
cmp r2, 0x8
|
||||
bhi _081A1496
|
||||
ldr r0, [r4]
|
||||
lsls r1, r2, 2
|
||||
adds r0, r1
|
||||
_081A148C:
|
||||
adds r0, 0xB8
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
cmp r0, 0
|
||||
bne _081A147C
|
||||
_081A1496:
|
||||
ldr r4, =gSaveBlock2Ptr
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xDD
|
||||
strb r2, [r0]
|
||||
ldr r0, [r4]
|
||||
adds r1, r0, 0
|
||||
adds r1, 0xDE
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0xFE
|
||||
bhi _081A14AE
|
||||
adds r0, 0x1
|
||||
strb r0, [r1]
|
||||
_081A14AE:
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xDD
|
||||
ldrb r0, [r0]
|
||||
bl sub_81A0390
|
||||
movs r2, 0
|
||||
adds r3, r4, 0
|
||||
movs r4, 0x88
|
||||
lsls r4, 1
|
||||
adds r5, r3, 0
|
||||
_081A14C2:
|
||||
ldr r0, [r3]
|
||||
adds r1, r0, r4
|
||||
adds r1, r2
|
||||
adds r0, 0xA
|
||||
adds r0, r2
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
adds r0, r2, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
cmp r2, 0x3
|
||||
bls _081A14C2
|
||||
ldr r1, [r5]
|
||||
movs r2, 0x8A
|
||||
lsls r2, 1
|
||||
adds r0, r1, r2
|
||||
bl StringCopy
|
||||
ldr r1, [r5]
|
||||
ldr r0, =gGameLanguage
|
||||
ldrb r0, [r0]
|
||||
ldr r2, =0x0000011b
|
||||
adds r1, r2
|
||||
strb r0, [r1]
|
||||
ldr r0, [r5]
|
||||
adds r0, 0xDC
|
||||
bl sub_8165AE8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A1438
|
||||
|
||||
thumb_func_start sub_81A150C
|
||||
sub_81A150C: @ 81A150C
|
||||
push {lr}
|
||||
ldr r2, =gApprentices
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
adds r0, 0xDC
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 27
|
||||
lsrs r0, 27
|
||||
movs r1, 0x58
|
||||
muls r0, r1
|
||||
adds r0, r2
|
||||
adds r0, 0x32
|
||||
ldrb r2, [r0]
|
||||
movs r1, 0
|
||||
ldr r3, =gUnknown_085DCEDC
|
||||
ldrb r0, [r3]
|
||||
cmp r0, r2
|
||||
beq _081A1542
|
||||
_081A1530:
|
||||
adds r0, r1, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0x1D
|
||||
bhi _081A1542
|
||||
adds r0, r1, r3
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r2
|
||||
bne _081A1530
|
||||
_081A1542:
|
||||
cmp r1, 0x1E
|
||||
beq _081A1568
|
||||
ldr r0, =gUnknown_085DCF0E
|
||||
adds r0, r1, r0
|
||||
ldrb r1, [r0]
|
||||
ldr r0, =0x00004010
|
||||
bl VarSet
|
||||
b _081A1594
|
||||
.pool
|
||||
_081A1568:
|
||||
movs r1, 0
|
||||
ldr r3, =gUnknown_085DCEFA
|
||||
ldrb r0, [r3]
|
||||
cmp r0, r2
|
||||
beq _081A1584
|
||||
_081A1572:
|
||||
adds r0, r1, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0x13
|
||||
bhi _081A1584
|
||||
adds r0, r1, r3
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r2
|
||||
bne _081A1572
|
||||
_081A1584:
|
||||
cmp r1, 0x14
|
||||
beq _081A1594
|
||||
ldr r0, =gUnknown_085DCF2C
|
||||
adds r0, r1, r0
|
||||
ldrb r1, [r0]
|
||||
ldr r0, =0x00004010
|
||||
bl VarSet
|
||||
_081A1594:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A150C
|
||||
|
||||
thumb_func_start sub_81A15A4
|
||||
sub_81A15A4: @ 81A15A4
|
||||
push {lr}
|
||||
ldr r2, =gApprentices
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
adds r0, 0xB0
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x58
|
||||
muls r0, r1
|
||||
adds r0, r2
|
||||
adds r0, 0x32
|
||||
ldrb r2, [r0]
|
||||
movs r1, 0
|
||||
ldr r3, =gUnknown_085DCEDC
|
||||
ldrb r0, [r3]
|
||||
cmp r0, r2
|
||||
beq _081A15D6
|
||||
_081A15C4:
|
||||
adds r0, r1, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0x1D
|
||||
bhi _081A15D6
|
||||
adds r0, r1, r3
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r2
|
||||
bne _081A15C4
|
||||
_081A15D6:
|
||||
cmp r1, 0x1E
|
||||
beq _081A15FC
|
||||
ldr r0, =gUnknown_085DCF0E
|
||||
adds r0, r1, r0
|
||||
ldrb r1, [r0]
|
||||
ldr r0, =0x00004010
|
||||
bl VarSet
|
||||
b _081A1628
|
||||
.pool
|
||||
_081A15FC:
|
||||
movs r1, 0
|
||||
ldr r3, =gUnknown_085DCEFA
|
||||
ldrb r0, [r3]
|
||||
cmp r0, r2
|
||||
beq _081A1618
|
||||
_081A1606:
|
||||
adds r0, r1, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0x13
|
||||
bhi _081A1618
|
||||
adds r0, r1, r3
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r2
|
||||
bne _081A1606
|
||||
_081A1618:
|
||||
cmp r1, 0x14
|
||||
beq _081A1628
|
||||
ldr r0, =gUnknown_085DCF2C
|
||||
adds r0, r1, r0
|
||||
ldrb r1, [r0]
|
||||
ldr r0, =0x00004010
|
||||
bl VarSet
|
||||
_081A1628:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A15A4
|
||||
|
||||
thumb_func_start sub_81A1638
|
||||
sub_81A1638: @ 81A1638
|
||||
ldr r1, =gSpecialVar_0x8004
|
||||
movs r0, 0x1
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_81A1638
|
||||
|
||||
thumb_func_start sub_81A1644
|
||||
sub_81A1644: @ 81A1644
|
||||
ldr r1, =gSpecialVar_0x8004
|
||||
movs r0, 0x1
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_81A1644
|
||||
|
||||
thumb_func_start sub_81A1650
|
||||
sub_81A1650: @ 81A1650
|
||||
push {lr}
|
||||
movs r2, 0x58
|
||||
muls r2, r0
|
||||
ldr r0, =gApprentices
|
||||
adds r2, r0
|
||||
subs r0, r1, 0x1
|
||||
cmp r0, 0x6
|
||||
bhi _081A16AC
|
||||
lsls r0, 2
|
||||
ldr r1, =_081A1674
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.pool
|
||||
.align 2, 0
|
||||
_081A1674:
|
||||
.4byte _081A1690
|
||||
.4byte _081A1694
|
||||
.4byte _081A169A
|
||||
.4byte _081A16A0
|
||||
.4byte _081A16A6
|
||||
.4byte _081A16AC
|
||||
.4byte _081A16AC
|
||||
_081A1690:
|
||||
adds r0, r2, 0
|
||||
b _081A16B0
|
||||
_081A1694:
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x8
|
||||
b _081A16B0
|
||||
_081A169A:
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x10
|
||||
b _081A16B0
|
||||
_081A16A0:
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x18
|
||||
b _081A16B0
|
||||
_081A16A6:
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x20
|
||||
b _081A16B0
|
||||
_081A16AC:
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x28
|
||||
_081A16B0:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81A1650
|
||||
|
||||
thumb_func_start sub_81A16B4
|
||||
sub_81A16B4: @ 81A16B4
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
ldr r0, =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _081A16CE
|
||||
movs r0, 0x2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _081A16D4
|
||||
_081A16CE:
|
||||
adds r0, r2, 0
|
||||
bl SwitchTaskToFollowupFunc
|
||||
_081A16D4:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A16B4
|
||||
|
||||
thumb_func_start sub_81A16DC
|
||||
sub_81A16DC: @ 81A16DC
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldr r0, =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _081A16F6
|
||||
movs r0, 0x2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _081A1718
|
||||
_081A16F6:
|
||||
ldr r2, =gUnknown_030062F4
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldrh r1, [r0, 0x8]
|
||||
movs r3, 0xA
|
||||
ldrsh r0, [r0, r3]
|
||||
lsls r0, 16
|
||||
orrs r1, r0
|
||||
str r1, [r2]
|
||||
bl _call_via_r1
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
_081A1718:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A16DC
|
||||
|
||||
thumb_func_start sub_81A172C
|
||||
sub_81A172C: @ 81A172C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldr r0, =sub_81A16DC
|
||||
movs r1, 0x1
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
strh r4, [r1, 0x8]
|
||||
lsrs r4, 16
|
||||
strh r4, [r1, 0xA]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A172C
|
||||
|
||||
thumb_func_start sub_81A175C
|
||||
sub_81A175C: @ 81A175C
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
ldr r4, =sub_81A16B4
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r1, r4, 0
|
||||
adds r2, r5, 0
|
||||
bl SetTaskFuncWithFollowupFunc
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A175C
|
||||
|
||||
thumb_func_start sub_81A1780
|
||||
sub_81A1780: @ 81A1780
|
||||
push {lr}
|
||||
|
||||
+1
-1
@@ -1578,7 +1578,7 @@ _08162F24:
|
||||
_08162F3E:
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81A1650
|
||||
bl GetApprenticeNameInLanguage
|
||||
adds r1, r0, 0
|
||||
adds r0, r6, 0
|
||||
adds r2, r4, 0
|
||||
|
||||
Reference in New Issue
Block a user