mirror of https://github.com/zeldaret/tmc.git
252 lines
4.0 KiB
PHP
252 lines
4.0 KiB
PHP
.syntax unified
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r0, _080170E4 @ =gUnk_0200AF00
|
|
adds r2, r0, #0
|
|
adds r2, #0x2f
|
|
movs r1, #0
|
|
strb r1, [r2]
|
|
subs r2, #2
|
|
strb r1, [r2]
|
|
adds r0, #0x2e
|
|
strb r1, [r0]
|
|
ldr r2, _080170E8 @ =gPlayerEntity
|
|
adds r0, r2, #0
|
|
adds r0, #0x41
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08017072
|
|
adds r0, r2, #0
|
|
adds r0, #0x3d
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
ble _08017072
|
|
movs r0, #0x86
|
|
bl SoundReq
|
|
_08017072:
|
|
ldr r4, _080170EC @ =gPlayerState
|
|
ldr r0, [r4, #0x30]
|
|
ldr r1, _080170F0 @ =0xFDFFFDFF
|
|
ands r0, r1
|
|
str r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0801708A
|
|
bl ResetPlayer
|
|
_0801708A:
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080170A4
|
|
adds r0, r4, #0
|
|
adds r0, #0xa0
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080170A4
|
|
bl DeleteClones
|
|
_080170A4:
|
|
bl sub_08079B24
|
|
cmp r0, #0
|
|
bne _080170B2
|
|
adds r0, r5, #0
|
|
bl sub_08079708
|
|
_080170B2:
|
|
ldr r0, _080170F4 @ =gUnk_03003DF0
|
|
movs r4, #0
|
|
strb r4, [r0]
|
|
ldr r2, _080170EC @ =gPlayerState
|
|
adds r1, r2, #0
|
|
adds r1, #0x27
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080170C8
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
_080170C8:
|
|
adds r1, r2, #0
|
|
adds r1, #0xa8
|
|
ldrb r0, [r1]
|
|
adds r3, r2, #0
|
|
adds r3, #0xa9
|
|
strb r0, [r3]
|
|
strb r4, [r1]
|
|
subs r1, #0x1e
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080170F8
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
b _08017222
|
|
.align 2, 0
|
|
_080170E4: .4byte gUnk_0200AF00
|
|
_080170E8: .4byte gPlayerEntity
|
|
_080170EC: .4byte gPlayerState
|
|
_080170F0: .4byte 0xFDFFFDFF
|
|
_080170F4: .4byte gUnk_03003DF0
|
|
_080170F8:
|
|
adds r0, r2, #0
|
|
adds r0, #0x8b
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08017104
|
|
b _08017222
|
|
_08017104:
|
|
ldr r0, _08017160 @ =gMessage
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08017112
|
|
b _08017222
|
|
_08017112:
|
|
ldr r0, _08017164 @ =gUnk_0200AF00
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
bne _0801714E
|
|
ldr r0, _08017168 @ =gRoomTransition
|
|
ldr r0, [r0]
|
|
movs r1, #0x5a
|
|
bl __modsi3
|
|
cmp r0, #0
|
|
bne _0801714E
|
|
ldr r2, _0801716C @ =gSave
|
|
adds r0, r2, #0
|
|
adds r0, #0xab
|
|
ldrb r0, [r0]
|
|
lsrs r1, r0, #2
|
|
cmp r1, #0x18
|
|
bls _08017138
|
|
movs r1, #0x18
|
|
_08017138:
|
|
cmp r1, #7
|
|
bhi _0801713E
|
|
movs r1, #8
|
|
_0801713E:
|
|
adds r0, r2, #0
|
|
adds r0, #0xaa
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
bhi _0801714E
|
|
ldr r0, _08017170 @ =0x0000011F
|
|
bl EnqueueSFX
|
|
_0801714E:
|
|
ldr r0, _0801716C @ =gSave
|
|
adds r2, r0, #0
|
|
adds r2, #0xb2
|
|
ldrb r1, [r2]
|
|
cmp r1, #0
|
|
bne _08017174
|
|
adds r0, #0xc4
|
|
strh r1, [r0]
|
|
b _08017192
|
|
.align 2, 0
|
|
_08017160: .4byte gMessage
|
|
_08017164: .4byte gUnk_0200AF00
|
|
_08017168: .4byte gRoomTransition
|
|
_0801716C: .4byte gSave
|
|
_08017170: .4byte 0x0000011F
|
|
_08017174:
|
|
adds r1, r0, #0
|
|
adds r1, #0xc4
|
|
ldrh r0, [r1]
|
|
cmp r0, #0
|
|
beq _08017188
|
|
subs r0, #1
|
|
strh r0, [r1]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08017192
|
|
_08017188:
|
|
movs r0, #0
|
|
strb r0, [r2]
|
|
ldr r0, _080171A4 @ =0x000001B3
|
|
bl SoundReq
|
|
_08017192:
|
|
ldr r0, _080171A8 @ =gSave
|
|
adds r3, r0, #0
|
|
adds r3, #0xb3
|
|
ldrb r1, [r3]
|
|
cmp r1, #0
|
|
bne _080171AC
|
|
adds r0, #0xc6
|
|
strh r1, [r0]
|
|
b _080171DC
|
|
.align 2, 0
|
|
_080171A4: .4byte 0x000001B3
|
|
_080171A8: .4byte gSave
|
|
_080171AC:
|
|
adds r2, r0, #0
|
|
adds r2, #0xc6
|
|
ldrh r0, [r2]
|
|
cmp r0, #0
|
|
beq _080171C0
|
|
subs r1, r0, #1
|
|
strh r1, [r2]
|
|
lsls r0, r1, #0x10
|
|
cmp r0, #0
|
|
bne _080171CE
|
|
_080171C0:
|
|
movs r0, #0
|
|
strb r0, [r3]
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #1
|
|
bl SoundReq
|
|
b _080171DC
|
|
_080171CE:
|
|
movs r0, #0xf
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _080171DC
|
|
adds r0, r5, #0
|
|
bl CreateSparkle
|
|
_080171DC:
|
|
ldr r0, _080171F0 @ =gSave
|
|
adds r3, r0, #0
|
|
adds r3, #0xba
|
|
ldrb r1, [r3]
|
|
cmp r1, #0
|
|
bne _080171F4
|
|
adds r0, #0xc8
|
|
strh r1, [r0]
|
|
b _08017222
|
|
.align 2, 0
|
|
_080171F0: .4byte gSave
|
|
_080171F4:
|
|
adds r2, r0, #0
|
|
adds r2, #0xc8
|
|
ldrh r0, [r2]
|
|
cmp r0, #0
|
|
beq _08017208
|
|
subs r1, r0, #1
|
|
strh r1, [r2]
|
|
lsls r0, r1, #0x10
|
|
cmp r0, #0
|
|
bne _0801720E
|
|
_08017208:
|
|
movs r0, #0
|
|
strb r0, [r3]
|
|
b _08017222
|
|
_0801720E:
|
|
movs r0, #0x3f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08017222
|
|
ldrb r1, [r3]
|
|
adds r1, #0x55
|
|
adds r0, r5, #0
|
|
movs r2, #0
|
|
bl CreateFx
|
|
_08017222:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.syntax divided
|