ScrCmd_cmdC7; merge pikalaxalt/trainer_tower into pikalaxalt/scrcmd
This commit is contained in:
@@ -5,24 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ScrCmd_cmdC7
|
||||
ScrCmd_cmdC7: @ 806B7EC
|
||||
ldr r2, _0806B804 @ =gUnknown_20370DC
|
||||
ldr r3, _0806B808 @ =gUnknown_20370DA
|
||||
ldrh r1, [r3]
|
||||
strh r1, [r2]
|
||||
ldr r1, [r0, 0x8]
|
||||
ldrb r2, [r1]
|
||||
strh r2, [r3]
|
||||
adds r1, 0x1
|
||||
str r1, [r0, 0x8]
|
||||
movs r0, 0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0806B804: .4byte gUnknown_20370DC
|
||||
_0806B808: .4byte gUnknown_20370DA
|
||||
thumb_func_end ScrCmd_cmdC7
|
||||
|
||||
thumb_func_start ScrCmd_message
|
||||
ScrCmd_message: @ 806B80C
|
||||
push {r4,lr}
|
||||
|
||||
+55
-714
@@ -5,720 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_815E068
|
||||
sub_815E068: @ 815E068
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r3, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r2, r1, 24
|
||||
movs r5, 0
|
||||
cmp r0, 0x1
|
||||
beq _0815E0B4
|
||||
cmp r0, 0x1
|
||||
bgt _0815E084
|
||||
cmp r0, 0
|
||||
beq _0815E088
|
||||
b _0815E0F8
|
||||
_0815E084:
|
||||
cmp r3, 0x2
|
||||
bne _0815E0F8
|
||||
_0815E088:
|
||||
movs r4, 0
|
||||
ldr r0, _0815E0B0 @ =gUnknown_8479ED8
|
||||
ldrb r1, [r0, 0x1]
|
||||
adds r3, r0, 0
|
||||
cmp r1, r2
|
||||
beq _0815E0A4
|
||||
adds r1, r3, 0
|
||||
_0815E096:
|
||||
adds r1, 0x4
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x52
|
||||
bhi _0815E0A4
|
||||
ldrb r0, [r1, 0x1]
|
||||
cmp r0, r2
|
||||
bne _0815E096
|
||||
_0815E0A4:
|
||||
cmp r4, 0x53
|
||||
beq _0815E0F8
|
||||
lsls r0, r4, 2
|
||||
adds r0, r3
|
||||
ldrb r5, [r0, 0x2]
|
||||
b _0815E0F8
|
||||
.align 2, 0
|
||||
_0815E0B0: .4byte gUnknown_8479ED8
|
||||
_0815E0B4:
|
||||
movs r4, 0
|
||||
ldr r1, _0815E0BC @ =gUnknown_847A024
|
||||
b _0815E0C8
|
||||
.align 2, 0
|
||||
_0815E0BC: .4byte gUnknown_847A024
|
||||
_0815E0C0:
|
||||
adds r1, 0x8
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x9
|
||||
bhi _0815E0CE
|
||||
_0815E0C8:
|
||||
ldrb r0, [r1, 0x2]
|
||||
cmp r0, r2
|
||||
bne _0815E0C0
|
||||
_0815E0CE:
|
||||
cmp r4, 0xA
|
||||
beq _0815E0F8
|
||||
ldr r0, _0815E0E8 @ =0x00004003
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
cmp r0, 0
|
||||
beq _0815E0F0
|
||||
ldr r1, _0815E0EC @ =gUnknown_847A024
|
||||
lsls r0, r4, 3
|
||||
adds r0, r1
|
||||
ldrb r5, [r0, 0x4]
|
||||
b _0815E0F8
|
||||
.align 2, 0
|
||||
_0815E0E8: .4byte 0x00004003
|
||||
_0815E0EC: .4byte gUnknown_847A024
|
||||
_0815E0F0:
|
||||
ldr r1, _0815E108 @ =gUnknown_847A024
|
||||
lsls r0, r4, 3
|
||||
adds r0, r1
|
||||
ldrb r5, [r0, 0x3]
|
||||
_0815E0F8:
|
||||
ldr r2, _0815E10C @ =gUnknown_20370DC
|
||||
ldr r1, _0815E110 @ =gUnknown_20370DA
|
||||
ldrh r0, [r1]
|
||||
strh r0, [r2]
|
||||
strh r5, [r1]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E108: .4byte gUnknown_847A024
|
||||
_0815E10C: .4byte gUnknown_20370DC
|
||||
_0815E110: .4byte gUnknown_20370DA
|
||||
thumb_func_end sub_815E068
|
||||
|
||||
thumb_func_start sub_815E114
|
||||
sub_815E114: @ 815E114
|
||||
push {lr}
|
||||
ldr r0, _0815E120 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E120: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
thumb_func_end sub_815E114
|
||||
|
||||
thumb_func_start sub_815E124
|
||||
sub_815E124: @ 815E124
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
bl sub_80D08F8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0815E14C
|
||||
ldr r0, _0815E154 @ =gMain
|
||||
ldr r1, _0815E158 @ =sub_815E114
|
||||
str r1, [r0, 0x8]
|
||||
bl sub_80563F0
|
||||
ldr r0, _0815E15C @ =sub_800FD9C
|
||||
bl SetMainCallback2
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
_0815E14C:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E154: .4byte gMain
|
||||
_0815E158: .4byte sub_815E114
|
||||
_0815E15C: .4byte sub_800FD9C
|
||||
thumb_func_end sub_815E124
|
||||
|
||||
thumb_func_start sub_815E160
|
||||
sub_815E160: @ 815E160
|
||||
push {r4,lr}
|
||||
ldr r4, _0815E1AC @ =gBattleTypeFlags
|
||||
ldr r3, _0815E1B0 @ =0x00080008
|
||||
str r3, [r4]
|
||||
ldr r0, _0815E1B4 @ =gUnknown_203F458
|
||||
ldr r1, [r0]
|
||||
ldrb r2, [r1]
|
||||
lsls r0, r2, 5
|
||||
subs r0, r2
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
ldrb r0, [r1, 0xE]
|
||||
cmp r0, 0x1
|
||||
bne _0815E180
|
||||
orrs r0, r3
|
||||
str r0, [r4]
|
||||
_0815E180:
|
||||
ldr r1, _0815E1B8 @ =gTrainerBattleOpponent_A
|
||||
movs r0, 0
|
||||
strh r0, [r1]
|
||||
bl sub_815E9FC
|
||||
ldr r0, _0815E1BC @ =sub_815E124
|
||||
movs r1, 0x1
|
||||
bl CreateTask
|
||||
movs r0, 0
|
||||
bl PlayMapChosenOrBattleBGM
|
||||
bl sub_8080060
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_80D08B8
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E1AC: .4byte gBattleTypeFlags
|
||||
_0815E1B0: .4byte 0x00080008
|
||||
_0815E1B4: .4byte gUnknown_203F458
|
||||
_0815E1B8: .4byte gTrainerBattleOpponent_A
|
||||
_0815E1BC: .4byte sub_815E124
|
||||
thumb_func_end sub_815E160
|
||||
|
||||
thumb_func_start sub_815E1C0
|
||||
sub_815E1C0: @ 815E1C0
|
||||
push {lr}
|
||||
ldr r0, _0815E1E4 @ =gSpecialVar_0x8005
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _0815E1DE
|
||||
ldr r3, _0815E1E8 @ =gSpecialVar_Result
|
||||
ldr r0, _0815E1EC @ =gUnknown_203F458
|
||||
ldr r1, [r0]
|
||||
ldrb r2, [r1]
|
||||
lsls r0, r2, 5
|
||||
subs r0, r2
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
ldrb r0, [r1, 0xE]
|
||||
strh r0, [r3]
|
||||
_0815E1DE:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E1E4: .4byte gSpecialVar_0x8005
|
||||
_0815E1E8: .4byte gSpecialVar_Result
|
||||
_0815E1EC: .4byte gUnknown_203F458
|
||||
thumb_func_end sub_815E1C0
|
||||
|
||||
thumb_func_start sub_815E1F0
|
||||
sub_815E1F0: @ 815E1F0
|
||||
ldr r0, _0815E210 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0815E214 @ =0x00003d34
|
||||
adds r0, r1, r2
|
||||
ldr r2, [r0]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
movs r0, 0xF5
|
||||
lsls r0, 6
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0815E210: .4byte gSaveBlock1Ptr
|
||||
_0815E214: .4byte 0x00003d34
|
||||
thumb_func_end sub_815E1F0
|
||||
|
||||
thumb_func_start sub_815E218
|
||||
sub_815E218: @ 815E218
|
||||
push {lr}
|
||||
ldr r0, _0815E260 @ =gMapHeader
|
||||
ldrh r0, [r0, 0x12]
|
||||
mov r12, r0
|
||||
ldr r3, _0815E264 @ =0xfffffed6
|
||||
add r3, r12
|
||||
ldr r0, _0815E268 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0815E26C @ =0x00003d34
|
||||
adds r0, r1, r2
|
||||
ldr r2, [r0]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
movs r0, 0xF5
|
||||
lsls r0, 6
|
||||
adds r1, r0
|
||||
ldrb r1, [r1]
|
||||
cmp r3, r1
|
||||
bne _0815E27C
|
||||
ldr r3, _0815E270 @ =0xfffffed7
|
||||
add r3, r12
|
||||
ldr r0, _0815E274 @ =gUnknown_203F458
|
||||
ldr r1, [r0]
|
||||
ldrb r2, [r1]
|
||||
lsls r0, r2, 5
|
||||
subs r0, r2
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
ldrb r1, [r1, 0xD]
|
||||
cmp r3, r1
|
||||
bgt _0815E27C
|
||||
ldr r1, _0815E278 @ =gSpecialVar_Result
|
||||
movs r0, 0
|
||||
b _0815E280
|
||||
.align 2, 0
|
||||
_0815E260: .4byte gMapHeader
|
||||
_0815E264: .4byte 0xfffffed6
|
||||
_0815E268: .4byte gSaveBlock1Ptr
|
||||
_0815E26C: .4byte 0x00003d34
|
||||
_0815E270: .4byte 0xfffffed7
|
||||
_0815E274: .4byte gUnknown_203F458
|
||||
_0815E278: .4byte gSpecialVar_Result
|
||||
_0815E27C:
|
||||
ldr r1, _0815E288 @ =gSpecialVar_Result
|
||||
movs r0, 0x1
|
||||
_0815E280:
|
||||
strh r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E288: .4byte gSpecialVar_Result
|
||||
thumb_func_end sub_815E218
|
||||
|
||||
thumb_func_start sub_815E28C
|
||||
sub_815E28C: @ 815E28C
|
||||
push {r4-r6,lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
ldr r4, _0815E2D0 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r4]
|
||||
ldr r5, _0815E2D4 @ =0x00003d34
|
||||
adds r1, r0, r5
|
||||
ldr r0, _0815E2D8 @ =gSpecialVar_0x8005
|
||||
ldrh r0, [r0]
|
||||
str r0, [r1]
|
||||
cmp r0, 0x3
|
||||
bls _0815E2A8
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
_0815E2A8:
|
||||
bl sub_815EC0C
|
||||
bl sub_815D834
|
||||
cmp r0, 0
|
||||
bne _0815E2E0
|
||||
ldr r1, [r4]
|
||||
adds r0, r1, r5
|
||||
ldr r2, [r0]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
ldr r0, _0815E2DC @ =0x00003d42
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
movs r2, 0x20
|
||||
orrs r0, r2
|
||||
b _0815E2FA
|
||||
.align 2, 0
|
||||
_0815E2D0: .4byte gSaveBlock1Ptr
|
||||
_0815E2D4: .4byte 0x00003d34
|
||||
_0815E2D8: .4byte gSpecialVar_0x8005
|
||||
_0815E2DC: .4byte 0x00003d42
|
||||
_0815E2E0:
|
||||
ldr r1, [r4]
|
||||
adds r0, r1, r5
|
||||
ldr r2, [r0]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
ldr r0, _0815E384 @ =0x00003d42
|
||||
adds r1, r0
|
||||
ldrb r2, [r1]
|
||||
movs r0, 0x21
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
_0815E2FA:
|
||||
strb r0, [r1]
|
||||
ldr r6, _0815E388 @ =gSaveBlock1Ptr
|
||||
ldr r2, [r6]
|
||||
ldr r5, _0815E38C @ =0x00003d34
|
||||
adds r0, r2, r5
|
||||
ldr r1, [r0]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, r0
|
||||
movs r0, 0xF5
|
||||
lsls r0, 6
|
||||
adds r2, r0
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
mov r0, r8
|
||||
strb r0, [r2]
|
||||
ldr r0, [r6]
|
||||
adds r1, r0, r5
|
||||
ldr r2, [r1]
|
||||
lsls r1, r2, 1
|
||||
adds r1, r2
|
||||
lsls r1, 2
|
||||
ldr r4, _0815E390 @ =0x00003d38
|
||||
adds r1, r4
|
||||
adds r0, r1
|
||||
bl SetVBlankCounter1Ptr
|
||||
ldr r2, [r6]
|
||||
adds r3, r2, r5
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r4, r2, r4
|
||||
adds r4, r0
|
||||
mov r0, r8
|
||||
str r0, [r4]
|
||||
ldr r1, [r3]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, r0
|
||||
ldr r3, _0815E384 @ =0x00003d42
|
||||
adds r2, r3
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0x5
|
||||
negs r0, r0
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, [r6]
|
||||
adds r5, r1, r5
|
||||
ldr r2, [r5]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
adds r1, r3
|
||||
ldrb r2, [r1]
|
||||
movs r0, 0x3
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
strb r0, [r1]
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E384: .4byte 0x00003d42
|
||||
_0815E388: .4byte gSaveBlock1Ptr
|
||||
_0815E38C: .4byte 0x00003d34
|
||||
_0815E390: .4byte 0x00003d38
|
||||
thumb_func_end sub_815E28C
|
||||
|
||||
thumb_func_start sub_815E394
|
||||
sub_815E394: @ 815E394
|
||||
push {lr}
|
||||
bl DisableVBlankCounter1
|
||||
ldr r3, _0815E3F8 @ =gSpecialVar_Result
|
||||
movs r0, 0
|
||||
strh r0, [r3]
|
||||
ldr r0, _0815E3FC @ =gSaveBlock1Ptr
|
||||
ldr r2, [r0]
|
||||
ldr r1, _0815E400 @ =0x00003d34
|
||||
adds r0, r2, r1
|
||||
ldr r1, [r0]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, r0
|
||||
ldr r0, _0815E404 @ =0x00003d42
|
||||
adds r2, r0
|
||||
ldrb r0, [r2]
|
||||
lsls r0, 29
|
||||
cmp r0, 0
|
||||
bge _0815E3C2
|
||||
movs r0, 0x1
|
||||
strh r0, [r3]
|
||||
_0815E3C2:
|
||||
ldrb r2, [r2]
|
||||
lsls r0, r2, 31
|
||||
cmp r0, 0
|
||||
beq _0815E3D6
|
||||
lsls r0, r2, 30
|
||||
cmp r0, 0
|
||||
bge _0815E3D6
|
||||
ldrh r0, [r3]
|
||||
adds r0, 0x1
|
||||
strh r0, [r3]
|
||||
_0815E3D6:
|
||||
ldr r0, _0815E3FC @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0815E400 @ =0x00003d34
|
||||
adds r0, r1, r2
|
||||
ldr r2, [r0]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
ldr r0, _0815E404 @ =0x00003d42
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
movs r2, 0x4
|
||||
orrs r0, r2
|
||||
strb r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E3F8: .4byte gSpecialVar_Result
|
||||
_0815E3FC: .4byte gSaveBlock1Ptr
|
||||
_0815E400: .4byte 0x00003d34
|
||||
_0815E404: .4byte 0x00003d42
|
||||
thumb_func_end sub_815E394
|
||||
|
||||
thumb_func_start sub_815E408
|
||||
sub_815E408: @ 815E408
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
ldr r1, _0815E444 @ =gUnknown_847A2B4
|
||||
ldr r0, _0815E448 @ =gUnknown_203F458
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0xF]
|
||||
lsls r0, 1
|
||||
adds r0, r1
|
||||
ldrh r4, [r0]
|
||||
ldr r0, _0815E44C @ =gSaveBlock1Ptr
|
||||
mov r8, r0
|
||||
ldr r2, [r0]
|
||||
ldr r7, _0815E450 @ =0x00003d34
|
||||
adds r0, r2, r7
|
||||
ldr r1, [r0]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, r0
|
||||
ldr r6, _0815E454 @ =0x00003d42
|
||||
adds r2, r6
|
||||
ldrb r0, [r2]
|
||||
lsls r0, 31
|
||||
lsrs r5, r0, 31
|
||||
cmp r5, 0
|
||||
beq _0815E45C
|
||||
ldr r1, _0815E458 @ =gSpecialVar_Result
|
||||
movs r0, 0x2
|
||||
b _0815E4A0
|
||||
.align 2, 0
|
||||
_0815E444: .4byte gUnknown_847A2B4
|
||||
_0815E448: .4byte gUnknown_203F458
|
||||
_0815E44C: .4byte gSaveBlock1Ptr
|
||||
_0815E450: .4byte 0x00003d34
|
||||
_0815E454: .4byte 0x00003d42
|
||||
_0815E458: .4byte gSpecialVar_Result
|
||||
_0815E45C:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl AddBagItem
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0815E49C
|
||||
ldr r1, _0815E494 @ =gStringVar2
|
||||
adds r0, r4, 0
|
||||
bl sub_8099E90
|
||||
mov r0, r8
|
||||
ldr r1, [r0]
|
||||
adds r0, r1, r7
|
||||
ldr r2, [r0]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
adds r1, r6
|
||||
ldrb r0, [r1]
|
||||
movs r2, 0x1
|
||||
orrs r0, r2
|
||||
strb r0, [r1]
|
||||
ldr r0, _0815E498 @ =gSpecialVar_Result
|
||||
strh r5, [r0]
|
||||
b _0815E4A2
|
||||
.align 2, 0
|
||||
_0815E494: .4byte gStringVar2
|
||||
_0815E498: .4byte gSpecialVar_Result
|
||||
_0815E49C:
|
||||
ldr r1, _0815E4AC @ =gSpecialVar_Result
|
||||
movs r0, 0x1
|
||||
_0815E4A0:
|
||||
strh r0, [r1]
|
||||
_0815E4A2:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E4AC: .4byte gSpecialVar_Result
|
||||
thumb_func_end sub_815E408
|
||||
|
||||
thumb_func_start sub_815E4B0
|
||||
sub_815E4B0: @ 815E4B0
|
||||
push {r4-r6,lr}
|
||||
ldr r6, _0815E4D8 @ =gSaveBlock1Ptr
|
||||
ldr r2, [r6]
|
||||
ldr r1, _0815E4DC @ =0x00003d34
|
||||
adds r0, r2, r1
|
||||
ldr r1, [r0]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r1, r0, 2
|
||||
adds r0, r2, r1
|
||||
ldr r3, _0815E4E0 @ =0x00003d42
|
||||
adds r0, r3
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
lsrs r5, r0, 31
|
||||
cmp r5, 0
|
||||
beq _0815E4E8
|
||||
ldr r1, _0815E4E4 @ =gSpecialVar_Result
|
||||
movs r0, 0x2
|
||||
b _0815E534
|
||||
.align 2, 0
|
||||
_0815E4D8: .4byte gSaveBlock1Ptr
|
||||
_0815E4DC: .4byte 0x00003d34
|
||||
_0815E4E0: .4byte 0x00003d42
|
||||
_0815E4E4: .4byte gSpecialVar_Result
|
||||
_0815E4E8:
|
||||
ldr r4, _0815E520 @ =0x00003d38
|
||||
adds r0, r1, r4
|
||||
adds r0, r2, r0
|
||||
adds r0, 0x4
|
||||
bl sub_815EDDC
|
||||
ldr r3, [r6]
|
||||
ldr r2, _0815E524 @ =0x00003d34
|
||||
adds r1, r3, r2
|
||||
ldr r2, [r1]
|
||||
lsls r1, r2, 1
|
||||
adds r1, r2
|
||||
lsls r1, 2
|
||||
adds r4, r3, r4
|
||||
adds r4, r1
|
||||
ldr r4, [r4]
|
||||
cmp r0, r4
|
||||
bls _0815E530
|
||||
adds r0, r1, r3
|
||||
ldr r3, _0815E528 @ =0x00003d3c
|
||||
adds r0, r3
|
||||
adds r1, r4, 0
|
||||
bl sub_815EDF4
|
||||
ldr r0, _0815E52C @ =gSpecialVar_Result
|
||||
strh r5, [r0]
|
||||
b _0815E536
|
||||
.align 2, 0
|
||||
_0815E520: .4byte 0x00003d38
|
||||
_0815E524: .4byte 0x00003d34
|
||||
_0815E528: .4byte 0x00003d3c
|
||||
_0815E52C: .4byte gSpecialVar_Result
|
||||
_0815E530:
|
||||
ldr r1, _0815E55C @ =gSpecialVar_Result
|
||||
movs r0, 0x1
|
||||
_0815E534:
|
||||
strh r0, [r1]
|
||||
_0815E536:
|
||||
ldr r0, _0815E560 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0815E564 @ =0x00003d34
|
||||
adds r0, r1, r2
|
||||
ldr r2, [r0]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
ldr r3, _0815E568 @ =0x00003d42
|
||||
adds r1, r3
|
||||
ldrb r0, [r1]
|
||||
movs r2, 0x2
|
||||
orrs r0, r2
|
||||
strb r0, [r1]
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E55C: .4byte gSpecialVar_Result
|
||||
_0815E560: .4byte gSaveBlock1Ptr
|
||||
_0815E564: .4byte 0x00003d34
|
||||
_0815E568: .4byte 0x00003d42
|
||||
thumb_func_end sub_815E4B0
|
||||
|
||||
thumb_func_start sub_815E56C
|
||||
sub_815E56C: @ 815E56C
|
||||
push {r4,lr}
|
||||
ldr r0, _0815E5A0 @ =gSaveBlock1Ptr
|
||||
ldr r4, [r0]
|
||||
ldr r1, _0815E5A4 @ =0x00003d34
|
||||
adds r0, r4, r1
|
||||
ldr r1, [r0]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r3, r0, 2
|
||||
adds r0, r4, r3
|
||||
ldr r1, _0815E5A8 @ =0x00003d42
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 29
|
||||
cmp r0, 0
|
||||
blt _0815E5BA
|
||||
subs r1, 0xA
|
||||
adds r0, r4, r1
|
||||
adds r2, r0, r3
|
||||
ldr r1, [r2]
|
||||
ldr r0, _0815E5AC @ =0x00034bbe
|
||||
cmp r1, r0
|
||||
bls _0815E5B0
|
||||
adds r0, 0x1
|
||||
str r0, [r2]
|
||||
b _0815E5BA
|
||||
.align 2, 0
|
||||
_0815E5A0: .4byte gSaveBlock1Ptr
|
||||
_0815E5A4: .4byte 0x00003d34
|
||||
_0815E5A8: .4byte 0x00003d42
|
||||
_0815E5AC: .4byte 0x00034bbe
|
||||
_0815E5B0:
|
||||
ldr r1, _0815E5C0 @ =0x00003d38
|
||||
adds r0, r3, r1
|
||||
adds r0, r4, r0
|
||||
bl SetVBlankCounter1Ptr
|
||||
_0815E5BA:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815E5C0: .4byte 0x00003d38
|
||||
thumb_func_end sub_815E56C
|
||||
|
||||
thumb_func_start sub_815E5C4
|
||||
sub_815E5C4: @ 815E5C4
|
||||
ldr r0, _0815E5E4 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0815E5E8 @ =0x00003d34
|
||||
adds r0, r1, r2
|
||||
ldr r2, [r0]
|
||||
lsls r0, r2, 1
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
ldr r0, _0815E5EC @ =0x00003d42
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
movs r2, 0x8
|
||||
orrs r0, r2
|
||||
strb r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0815E5E4: .4byte gSaveBlock1Ptr
|
||||
_0815E5E8: .4byte 0x00003d34
|
||||
_0815E5EC: .4byte 0x00003d42
|
||||
thumb_func_end sub_815E5C4
|
||||
|
||||
thumb_func_start sub_815E5F0
|
||||
sub_815E5F0: @ 815E5F0
|
||||
push {lr}
|
||||
@@ -1676,4 +962,59 @@ _0815EDD4: .4byte gUnknown_83FE998
|
||||
_0815EDD8: .4byte gUnknown_83FE9C4
|
||||
thumb_func_end sub_815EC8C
|
||||
|
||||
thumb_func_start sub_815EDDC
|
||||
sub_815EDDC: @ 815EDDC
|
||||
ldr r1, _0815EDF0 @ =gSaveBlock2Ptr
|
||||
ldr r1, [r1]
|
||||
movs r2, 0xF2
|
||||
lsls r2, 4
|
||||
adds r1, r2
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r1]
|
||||
eors r0, r1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0815EDF0: .4byte gSaveBlock2Ptr
|
||||
thumb_func_end sub_815EDDC
|
||||
|
||||
thumb_func_start sub_815EDF4
|
||||
sub_815EDF4: @ 815EDF4
|
||||
ldr r2, _0815EE08 @ =gSaveBlock2Ptr
|
||||
ldr r2, [r2]
|
||||
movs r3, 0xF2
|
||||
lsls r3, 4
|
||||
adds r2, r3
|
||||
ldr r2, [r2]
|
||||
eors r2, r1
|
||||
str r2, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0815EE08: .4byte gSaveBlock2Ptr
|
||||
thumb_func_end sub_815EDF4
|
||||
|
||||
thumb_func_start sub_815EE0C
|
||||
sub_815EE0C: @ 815EE0C
|
||||
push {r4-r6,lr}
|
||||
ldr r6, _0815EE30 @ =gSaveBlock1Ptr
|
||||
ldr r5, _0815EE34 @ =0x00003d38
|
||||
movs r4, 0x3
|
||||
_0815EE14:
|
||||
ldr r0, [r6]
|
||||
adds r0, r5
|
||||
adds r0, 0x4
|
||||
ldr r1, _0815EE38 @ =0x00034bbf
|
||||
bl sub_815EDF4
|
||||
adds r5, 0xC
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _0815EE14
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815EE30: .4byte gSaveBlock1Ptr
|
||||
_0815EE34: .4byte 0x00003d38
|
||||
_0815EE38: .4byte 0x00034bbf
|
||||
thumb_func_end sub_815EE0C
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
|
||||
@@ -5,61 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_815EDDC
|
||||
sub_815EDDC: @ 815EDDC
|
||||
ldr r1, _0815EDF0 @ =gSaveBlock2Ptr
|
||||
ldr r1, [r1]
|
||||
movs r2, 0xF2
|
||||
lsls r2, 4
|
||||
adds r1, r2
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r1]
|
||||
eors r0, r1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0815EDF0: .4byte gSaveBlock2Ptr
|
||||
thumb_func_end sub_815EDDC
|
||||
|
||||
thumb_func_start sub_815EDF4
|
||||
sub_815EDF4: @ 815EDF4
|
||||
ldr r2, _0815EE08 @ =gSaveBlock2Ptr
|
||||
ldr r2, [r2]
|
||||
movs r3, 0xF2
|
||||
lsls r3, 4
|
||||
adds r2, r3
|
||||
ldr r2, [r2]
|
||||
eors r2, r1
|
||||
str r2, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0815EE08: .4byte gSaveBlock2Ptr
|
||||
thumb_func_end sub_815EDF4
|
||||
|
||||
thumb_func_start sub_815EE0C
|
||||
sub_815EE0C: @ 815EE0C
|
||||
push {r4-r6,lr}
|
||||
ldr r6, _0815EE30 @ =gSaveBlock1Ptr
|
||||
ldr r5, _0815EE34 @ =0x00003d38
|
||||
movs r4, 0x3
|
||||
_0815EE14:
|
||||
ldr r0, [r6]
|
||||
adds r0, r5
|
||||
adds r0, 0x4
|
||||
ldr r1, _0815EE38 @ =0x00034bbf
|
||||
bl sub_815EDF4
|
||||
adds r5, 0xC
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _0815EE14
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0815EE30: .4byte gSaveBlock1Ptr
|
||||
_0815EE34: .4byte 0x00003d38
|
||||
_0815EE38: .4byte 0x00034bbf
|
||||
thumb_func_end sub_815EE0C
|
||||
|
||||
thumb_func_start sub_815EE3C
|
||||
sub_815EE3C: @ 815EE3C
|
||||
ldr r1, _0815EE50 @ =gSaveBlock2Ptr
|
||||
|
||||
Reference in New Issue
Block a user