Decompile apprentice

This commit is contained in:
DizzyEggg
2018-10-14 11:37:44 +02:00
parent 36b8a6a9a2
commit b4a42a6832
10 changed files with 3497 additions and 3946 deletions
-935
View File
@@ -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
View File
@@ -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