mirror of
https://github.com/zeldaret/tmc
synced 2026-06-25 01:52:14 -04:00
Merge pull request #172 from octorock/managers
This commit is contained in:
-485
@@ -1,485 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08057174
|
||||
sub_08057174: @ 0x08057174
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3]
|
||||
cmp r0, #0xff
|
||||
bne _08057188
|
||||
b _0805728A
|
||||
_08057188:
|
||||
ldr r1, _080571E8 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r1, r2]
|
||||
cmp r0, #0
|
||||
bge _08057194
|
||||
adds r0, #0xf
|
||||
_08057194:
|
||||
asrs r6, r0, #4
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r1, r7]
|
||||
cmp r0, #0
|
||||
bge _080571A0
|
||||
adds r0, #0xf
|
||||
_080571A0:
|
||||
asrs r5, r0, #4
|
||||
movs r0, #0x21
|
||||
adds r0, r0, r4
|
||||
mov ip, r0
|
||||
_080571A8:
|
||||
ldrb r0, [r3]
|
||||
mov r1, ip
|
||||
ldrb r1, [r1]
|
||||
cmp r0, r1
|
||||
beq _08057282
|
||||
ldr r1, _080571EC @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
lsrs r0, r0, #4
|
||||
ldrb r7, [r3, #1]
|
||||
adds r2, r0, r7
|
||||
ldrh r0, [r1, #8]
|
||||
lsrs r0, r0, #4
|
||||
ldrb r1, [r3, #2]
|
||||
adds r0, r0, r1
|
||||
subs r0, r5, r0
|
||||
ldrb r7, [r3, #4]
|
||||
cmp r0, r7
|
||||
bhs _08057282
|
||||
subs r0, r6, r2
|
||||
ldrb r1, [r3, #3]
|
||||
cmp r0, r1
|
||||
bhs _08057282
|
||||
ldrb r0, [r3]
|
||||
subs r0, #1
|
||||
cmp r0, #5
|
||||
bhi _08057268
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080571F0 @ =_080571F4
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080571E8: .4byte gPlayerEntity
|
||||
_080571EC: .4byte gRoomControls
|
||||
_080571F0: .4byte _080571F4
|
||||
_080571F4: @ jump table
|
||||
.4byte _0805720C @ case 0
|
||||
.4byte _08057220 @ case 1
|
||||
.4byte _08057258 @ case 2
|
||||
.4byte _08057246 @ case 3
|
||||
.4byte _08057216 @ case 4
|
||||
.4byte _08057236 @ case 5
|
||||
_0805720C:
|
||||
mov r2, ip
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #2
|
||||
bne _08057268
|
||||
b _08057260
|
||||
_08057216:
|
||||
mov r7, ip
|
||||
ldrb r0, [r7]
|
||||
cmp r0, #6
|
||||
bne _08057268
|
||||
b _08057260
|
||||
_08057220:
|
||||
mov r0, ip
|
||||
ldrb r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x20
|
||||
strb r1, [r0]
|
||||
b _08057268
|
||||
_08057236:
|
||||
mov r2, ip
|
||||
ldrb r1, [r2]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
b _08057268
|
||||
_08057246:
|
||||
mov r7, ip
|
||||
ldrb r1, [r7]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
str r1, [r4, #0x34]
|
||||
b _08057268
|
||||
_08057258:
|
||||
mov r1, ip
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #4
|
||||
bne _08057268
|
||||
_08057260:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #9
|
||||
strb r0, [r4, #0xe]
|
||||
_08057268:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _08057282
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xf]
|
||||
ldrb r0, [r3]
|
||||
mov r2, ip
|
||||
strb r0, [r2]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
b _0805728A
|
||||
_08057282:
|
||||
adds r3, #5
|
||||
ldrb r0, [r3]
|
||||
cmp r0, #0xff
|
||||
bne _080571A8
|
||||
_0805728A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_0805728C
|
||||
sub_0805728C: @ 0x0805728C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080572CA
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xf]
|
||||
ldr r2, _080572CC @ =gScreen
|
||||
ldr r3, _080572D0 @ =gUnk_08107C1C
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
adds r2, #0x68
|
||||
strh r0, [r2]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #0xa
|
||||
bne _080572CA
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
_080572CA:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080572CC: .4byte gScreen
|
||||
_080572D0: .4byte gUnk_08107C1C
|
||||
|
||||
thumb_func_start sub_080572D4
|
||||
sub_080572D4: @ 0x080572D4
|
||||
push {r4, r5, lr}
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r3, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08057320
|
||||
movs r0, #8
|
||||
strb r0, [r3, #0xf]
|
||||
ldr r5, _08057324 @ =gScreen
|
||||
ldr r2, _08057328 @ =gUnk_08107C1C
|
||||
ldrb r0, [r3, #0xe]
|
||||
adds r1, r0, #0
|
||||
adds r1, #0xff
|
||||
strb r1, [r3, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r0, r0, r2
|
||||
ldrh r2, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x68
|
||||
movs r4, #0
|
||||
strh r2, [r0]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #0xff
|
||||
bne _08057320
|
||||
movs r0, #1
|
||||
strb r0, [r3, #0xc]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x22
|
||||
strb r4, [r0]
|
||||
subs r0, #1
|
||||
strb r4, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x6c
|
||||
strb r4, [r0]
|
||||
_08057320:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08057324: .4byte gScreen
|
||||
_08057328: .4byte gUnk_08107C1C
|
||||
|
||||
thumb_func_start sub_0805732C
|
||||
sub_0805732C: @ 0x0805732C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r6, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldr r2, _08057390 @ =gUnk_03003DE4
|
||||
ldrb r1, [r2]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
ldr r1, _08057394 @ =gUnk_02017AA0
|
||||
adds r4, r0, r1
|
||||
movs r3, #0
|
||||
mov ip, r2
|
||||
mov r8, r1
|
||||
ldr r0, _08057398 @ =gSineTable
|
||||
mov sb, r0
|
||||
movs r2, #0xff
|
||||
ldr r1, _0805739C @ =gScreen
|
||||
_08057354:
|
||||
adds r0, r5, r3
|
||||
ands r0, r2
|
||||
lsls r0, r0, #1
|
||||
add r0, sb
|
||||
movs r7, #0
|
||||
ldrsh r0, [r0, r7]
|
||||
muls r0, r6, r0
|
||||
lsrs r0, r0, #8
|
||||
ldrh r7, [r1, #0x2e]
|
||||
adds r0, r0, r7
|
||||
strh r0, [r4]
|
||||
adds r4, #2
|
||||
adds r3, #1
|
||||
cmp r3, #0x9f
|
||||
bls _08057354
|
||||
mov r0, ip
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
add r0, r8
|
||||
ldr r1, _080573A0 @ =0x0400001C
|
||||
ldr r2, _080573A4 @ =0xA2600001
|
||||
bl sub_0805622C
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08057390: .4byte gUnk_03003DE4
|
||||
_08057394: .4byte gUnk_02017AA0
|
||||
_08057398: .4byte gSineTable
|
||||
_0805739C: .4byte gScreen
|
||||
_080573A0: .4byte 0x0400001C
|
||||
_080573A4: .4byte 0xA2600001
|
||||
|
||||
thumb_func_start nullsub_494
|
||||
nullsub_494: @ 0x080573A8
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080573AC
|
||||
sub_080573AC: @ 0x080573AC
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
ldr r2, _08057434 @ =gRoomControls
|
||||
ldr r0, [r2, #0x28]
|
||||
ldr r1, _08057438 @ =0xFFFFE000
|
||||
adds r0, r0, r1
|
||||
str r0, [r2, #0x28]
|
||||
ldr r0, [r2, #0x2c]
|
||||
ldr r1, _0805743C @ =0xFFFFF000
|
||||
adds r0, r0, r1
|
||||
str r0, [r2, #0x2c]
|
||||
ldr r5, _08057440 @ =gScreen
|
||||
movs r1, #0xa
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r2, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
ldrh r1, [r2, #0x2a]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r5, #0x2e]
|
||||
movs r1, #0xc
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r2, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
ldrh r2, [r2, #0x2e]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r5, #0x30]
|
||||
ldr r2, _08057444 @ =gSineTable
|
||||
ldr r4, _08057448 @ =gScreenTransition
|
||||
ldr r1, [r4]
|
||||
ldrb r0, [r4]
|
||||
adds r0, #0x40
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
asrs r0, r0, #5
|
||||
adds r0, #0x10
|
||||
bl sub_0805732C
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x22
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08057430
|
||||
ldr r0, [r4]
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08057430
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x24
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, _0805744C @ =gUnk_08107C30
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_08057430:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08057434: .4byte gRoomControls
|
||||
_08057438: .4byte 0xFFFFE000
|
||||
_0805743C: .4byte 0xFFFFF000
|
||||
_08057440: .4byte gScreen
|
||||
_08057444: .4byte gSineTable
|
||||
_08057448: .4byte gScreenTransition
|
||||
_0805744C: .4byte gUnk_08107C30
|
||||
|
||||
thumb_func_start sub_08057450
|
||||
sub_08057450: @ 0x08057450
|
||||
push {r4, r5, r6, lr}
|
||||
adds r3, r0, #0
|
||||
ldr r4, _08057504 @ =gScreen
|
||||
movs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
ldr r0, _08057508 @ =gRoomControls
|
||||
movs r2, #0xc
|
||||
ldrsh r1, [r0, r2]
|
||||
ldrh r0, [r0, #8]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #2
|
||||
movs r2, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
strh r0, [r4, #0x30]
|
||||
cmp r1, #0
|
||||
bge _08057474
|
||||
adds r1, #0x3f
|
||||
_08057474:
|
||||
asrs r0, r1, #6
|
||||
lsls r0, r0, #9
|
||||
ldr r1, _0805750C @ =gBG3Buffer
|
||||
adds r1, r0, r1
|
||||
str r1, [r4, #0x34]
|
||||
ldr r0, [r3, #0x34]
|
||||
cmp r0, r1
|
||||
beq _0805748A
|
||||
str r1, [r3, #0x34]
|
||||
movs r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
_0805748A:
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x22
|
||||
ldrb r0, [r0]
|
||||
ldr r5, _08057510 @ =gScreenTransition
|
||||
cmp r0, #0
|
||||
bne _080574BE
|
||||
ldr r0, [r5]
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080574BE
|
||||
adds r2, r3, #0
|
||||
adds r2, #0x24
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, _08057514 @ =gUnk_08107C30
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_080574BE:
|
||||
ldr r0, [r5]
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08057502
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x23
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #5
|
||||
ldr r2, _08057518 @ =gUnk_085B4180
|
||||
adds r1, r1, r2
|
||||
movs r5, #0
|
||||
adds r6, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r4, #0xe
|
||||
_080574DC:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x87
|
||||
ldrh r1, [r4]
|
||||
bl sub_0801D79C
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x8c
|
||||
ldrh r1, [r4, #0xa]
|
||||
bl sub_0801D79C
|
||||
adds r4, #2
|
||||
adds r5, #1
|
||||
cmp r5, #3
|
||||
bls _080574DC
|
||||
ldrb r0, [r6]
|
||||
adds r0, #1
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
_08057502:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08057504: .4byte gScreen
|
||||
_08057508: .4byte gRoomControls
|
||||
_0805750C: .4byte gBG3Buffer
|
||||
_08057510: .4byte gScreenTransition
|
||||
_08057514: .4byte gUnk_08107C30
|
||||
_08057518: .4byte gUnk_085B4180
|
||||
-560
@@ -1,560 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08059570
|
||||
sub_08059570: @ 0x08059570
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #0
|
||||
bne _080595C8
|
||||
movs r6, #1
|
||||
strb r6, [r4, #0xc]
|
||||
adds r0, #0x21
|
||||
strb r5, [r0]
|
||||
adds r0, #2
|
||||
strb r5, [r0]
|
||||
bl sub_0805986C
|
||||
cmp r0, #0
|
||||
beq _080595A8
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x20
|
||||
strb r6, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
ldr r0, _080595A4 @ =gUnk_0200B650
|
||||
str r5, [r0]
|
||||
b _080595B8
|
||||
.align 2, 0
|
||||
_080595A4: .4byte gUnk_0200B650
|
||||
_080595A8:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x20
|
||||
movs r1, #0x1f
|
||||
strb r1, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #5
|
||||
strb r0, [r1]
|
||||
_080595B8:
|
||||
ldr r0, _080595DC @ =gRoomVars
|
||||
movs r1, #0xff
|
||||
strb r1, [r0, #0x10]
|
||||
ldr r1, _080595E0 @ =sub_080595E4
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
_080595C8:
|
||||
adds r0, r4, #0
|
||||
bl sub_08059608
|
||||
adds r0, r4, #0
|
||||
bl sub_08059690
|
||||
adds r0, r4, #0
|
||||
bl sub_080596E0
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080595DC: .4byte gRoomVars
|
||||
_080595E0: .4byte sub_080595E4
|
||||
|
||||
thumb_func_start sub_080595E4
|
||||
sub_080595E4: @ 0x080595E4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _08059604 @ =gRoomVars
|
||||
movs r0, #0xff
|
||||
strb r0, [r1, #0x10]
|
||||
adds r0, r4, #0
|
||||
bl sub_08059690
|
||||
adds r0, r4, #0
|
||||
bl sub_080596E0
|
||||
movs r0, #0
|
||||
bl sub_0805B4D0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059604: .4byte gRoomVars
|
||||
|
||||
thumb_func_start sub_08059608
|
||||
sub_08059608: @ 0x08059608
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r4, #0x23
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _08059638
|
||||
subs r0, #1
|
||||
strb r0, [r4]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08059682
|
||||
ldr r0, _08059634 @ =gArea
|
||||
movs r2, #0x86
|
||||
lsls r2, r2, #4
|
||||
adds r1, r0, r2
|
||||
adds r2, #4
|
||||
adds r0, r0, r2
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
bl SoundReq
|
||||
b _08059682
|
||||
.align 2, 0
|
||||
_08059634: .4byte gArea
|
||||
_08059638:
|
||||
bl sub_0805986C
|
||||
cmp r0, #0
|
||||
beq _08059668
|
||||
ldr r0, _0805965C @ =gArea
|
||||
ldr r2, _08059660 @ =0x00000864
|
||||
adds r1, r0, r2
|
||||
ldr r0, [r1]
|
||||
cmp r0, #0x1e
|
||||
beq _08059682
|
||||
movs r0, #0x1e
|
||||
str r0, [r1]
|
||||
movs r0, #0x78
|
||||
strb r0, [r4]
|
||||
ldr r0, _08059664 @ =0x800D0000
|
||||
bl SoundReq
|
||||
b _08059682
|
||||
.align 2, 0
|
||||
_0805965C: .4byte gArea
|
||||
_08059660: .4byte 0x00000864
|
||||
_08059664: .4byte 0x800D0000
|
||||
_08059668:
|
||||
ldr r0, _08059684 @ =gArea
|
||||
ldr r2, _08059688 @ =0x00000864
|
||||
adds r1, r0, r2
|
||||
ldr r0, [r1]
|
||||
cmp r0, #0x37
|
||||
beq _08059682
|
||||
movs r0, #0x37
|
||||
str r0, [r1]
|
||||
movs r0, #0x78
|
||||
strb r0, [r4]
|
||||
ldr r0, _0805968C @ =0x800D0000
|
||||
bl SoundReq
|
||||
_08059682:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059684: .4byte gArea
|
||||
_08059688: .4byte 0x00000864
|
||||
_0805968C: .4byte 0x800D0000
|
||||
|
||||
thumb_func_start sub_08059690
|
||||
sub_08059690: @ 0x08059690
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08059844
|
||||
cmp r0, #0
|
||||
beq _080596BC
|
||||
adds r4, #0x20
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _080596D8
|
||||
ldr r0, _080596B8 @ =gUnk_085A7320
|
||||
movs r2, #0xd0
|
||||
lsls r2, r2, #1
|
||||
adds r1, r0, r2
|
||||
ldrb r2, [r4]
|
||||
bl sub_08059894
|
||||
ldrb r0, [r4]
|
||||
subs r0, #1
|
||||
b _080596D6
|
||||
.align 2, 0
|
||||
_080596B8: .4byte gUnk_085A7320
|
||||
_080596BC:
|
||||
adds r4, #0x20
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0x1f
|
||||
bhi _080596D8
|
||||
ldr r0, _080596DC @ =gUnk_085A7320
|
||||
movs r2, #0xd0
|
||||
lsls r2, r2, #1
|
||||
adds r1, r0, r2
|
||||
ldrb r2, [r4]
|
||||
bl sub_08059894
|
||||
ldrb r0, [r4]
|
||||
adds r0, #1
|
||||
_080596D6:
|
||||
strb r0, [r4]
|
||||
_080596D8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080596DC: .4byte gUnk_085A7320
|
||||
|
||||
thumb_func_start sub_080596E0
|
||||
sub_080596E0: @ 0x080596E0
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08059730 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080596FC
|
||||
ldr r0, _08059734 @ =gScreen
|
||||
ldrh r1, [r0, #0x16]
|
||||
adds r1, #8
|
||||
movs r2, #0x1f
|
||||
ands r1, r2
|
||||
strh r1, [r0, #0x16]
|
||||
_080596FC:
|
||||
bl sub_0805986C
|
||||
cmp r0, #0
|
||||
beq _08059740
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x21
|
||||
ldrb r1, [r0]
|
||||
adds r5, r0, #0
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x22
|
||||
cmp r1, #0
|
||||
bne _08059764
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #2
|
||||
beq _08059764
|
||||
movs r0, #1
|
||||
strb r0, [r5]
|
||||
movs r0, #3
|
||||
strb r0, [r2]
|
||||
ldr r0, _08059738 @ =gUnk_08108390
|
||||
ldrb r0, [r0, #3]
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r0, _0805973C @ =gUnk_0200B650
|
||||
str r1, [r0]
|
||||
b _08059764
|
||||
.align 2, 0
|
||||
_08059730: .4byte gScreenTransition
|
||||
_08059734: .4byte gScreen
|
||||
_08059738: .4byte gUnk_08108390
|
||||
_0805973C: .4byte gUnk_0200B650
|
||||
_08059740:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x21
|
||||
ldrb r1, [r0]
|
||||
adds r5, r0, #0
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x22
|
||||
cmp r1, #0
|
||||
bne _08059764
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #5
|
||||
beq _08059764
|
||||
movs r0, #2
|
||||
strb r0, [r5]
|
||||
ldr r1, _08059774 @ =gUnk_08108390
|
||||
ldrb r0, [r2]
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
_08059764:
|
||||
adds r6, r5, #0
|
||||
ldrb r0, [r6]
|
||||
cmp r0, #1
|
||||
beq _08059778
|
||||
cmp r0, #2
|
||||
beq _080597A8
|
||||
b _080597D0
|
||||
.align 2, 0
|
||||
_08059774: .4byte gUnk_08108390
|
||||
_08059778:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r3, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r5, r0, #0x18
|
||||
cmp r5, #0
|
||||
bne _080597D0
|
||||
ldr r1, _080597A4 @ =gUnk_08108390
|
||||
ldrb r0, [r2]
|
||||
subs r0, #1
|
||||
strb r0, [r2]
|
||||
ands r0, r3
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #2
|
||||
bne _080597D0
|
||||
strb r5, [r6]
|
||||
b _080597D0
|
||||
.align 2, 0
|
||||
_080597A4: .4byte gUnk_08108390
|
||||
_080597A8:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r3, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r6, r0, #0x18
|
||||
cmp r6, #0
|
||||
bne _080597D0
|
||||
ldr r1, _080597EC @ =gUnk_08108390
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
strb r0, [r2]
|
||||
ands r0, r3
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #5
|
||||
bne _080597D0
|
||||
strb r6, [r5]
|
||||
_080597D0:
|
||||
ldr r3, _080597F0 @ =gRoomVars
|
||||
ldrb r1, [r2]
|
||||
ldrb r0, [r3, #0x10]
|
||||
cmp r0, r1
|
||||
beq _08059838
|
||||
strb r1, [r3, #0x10]
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #4
|
||||
beq _08059800
|
||||
cmp r0, #4
|
||||
ble _080597F4
|
||||
cmp r0, #5
|
||||
beq _08059824
|
||||
b _08059838
|
||||
.align 2, 0
|
||||
_080597EC: .4byte gUnk_08108390
|
||||
_080597F0: .4byte gRoomVars
|
||||
_080597F4:
|
||||
cmp r0, #0
|
||||
blt _08059838
|
||||
adds r0, #0x2b
|
||||
bl LoadGfxGroup
|
||||
b _08059838
|
||||
_08059800:
|
||||
ldr r4, _0805981C @ =gBG3Buffer
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #4
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl MemClear
|
||||
ldr r1, _08059820 @ =0x0600E800
|
||||
adds r0, r4, #0
|
||||
adds r2, r5, #0
|
||||
bl LoadResourceAsync
|
||||
b _08059838
|
||||
.align 2, 0
|
||||
_0805981C: .4byte gBG3Buffer
|
||||
_08059820: .4byte 0x0600E800
|
||||
_08059824:
|
||||
ldr r0, _0805983C @ =gUnk_0200B650
|
||||
ldr r1, _08059840 @ =gBG1Settings
|
||||
str r1, [r0]
|
||||
subs r1, #0x14
|
||||
ldrh r2, [r1]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #2
|
||||
adds r0, r3, #0
|
||||
orrs r0, r2
|
||||
strh r0, [r1]
|
||||
_08059838:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0805983C: .4byte gUnk_0200B650
|
||||
_08059840: .4byte gBG1Settings
|
||||
|
||||
thumb_func_start sub_08059844
|
||||
sub_08059844: @ 0x08059844
|
||||
push {lr}
|
||||
movs r3, #0
|
||||
ldr r0, _08059864 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r0, r2]
|
||||
ldr r2, _08059868 @ =gRoomControls
|
||||
ldrh r0, [r2, #6]
|
||||
subs r1, r1, r0
|
||||
ldrh r0, [r2, #0x1e]
|
||||
lsrs r0, r0, #1
|
||||
cmp r1, r0
|
||||
ble _0805985E
|
||||
movs r3, #1
|
||||
_0805985E:
|
||||
adds r0, r3, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08059864: .4byte gPlayerEntity
|
||||
_08059868: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805986C
|
||||
sub_0805986C: @ 0x0805986C
|
||||
push {lr}
|
||||
movs r2, #0
|
||||
ldr r0, _0805988C @ =gPlayerEntity
|
||||
movs r3, #0x2e
|
||||
ldrsh r1, [r0, r3]
|
||||
ldr r0, _08059890 @ =gRoomControls
|
||||
ldrh r0, [r0, #6]
|
||||
subs r1, r1, r0
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #2
|
||||
cmp r1, r0
|
||||
ble _08059886
|
||||
movs r2, #1
|
||||
_08059886:
|
||||
adds r0, r2, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805988C: .4byte gPlayerEntity
|
||||
_08059890: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_08059894
|
||||
sub_08059894: @ 0x08059894
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
ldr r0, _080598E8 @ =gUnk_020176E0
|
||||
mov sb, r0
|
||||
movs r6, #0
|
||||
lsls r2, r2, #0x18
|
||||
mov r8, r2
|
||||
_080598AA:
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
mov r2, sb
|
||||
mov r7, r8
|
||||
lsrs r3, r7, #0x18
|
||||
bl sub_08059960
|
||||
adds r5, #0x20
|
||||
adds r4, #0x20
|
||||
movs r0, #0x20
|
||||
add sb, r0
|
||||
adds r6, #1
|
||||
cmp r6, #0xc
|
||||
bls _080598AA
|
||||
ldr r0, _080598EC @ =gUnk_02017700
|
||||
movs r2, #0x90
|
||||
lsls r2, r2, #2
|
||||
adds r1, r0, r2
|
||||
movs r2, #0x20
|
||||
bl MemCopy
|
||||
ldr r2, _080598F0 @ =gUsedPalettes
|
||||
ldr r0, [r2]
|
||||
ldr r1, _080598F4 @ =0x00207FFC
|
||||
orrs r0, r1
|
||||
str r0, [r2]
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080598E8: .4byte gUnk_020176E0
|
||||
_080598EC: .4byte gUnk_02017700
|
||||
_080598F0: .4byte gUsedPalettes
|
||||
_080598F4: .4byte 0x00207FFC
|
||||
|
||||
thumb_func_start sub_080598F8
|
||||
sub_080598F8: @ 0x080598F8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
movs r4, #0x1f
|
||||
adds r3, r0, #0
|
||||
ands r3, r4
|
||||
lsls r6, r3, #8
|
||||
adds r3, r6, #0
|
||||
muls r3, r2, r3
|
||||
lsrs r6, r3, #5
|
||||
adds r3, r1, #0
|
||||
ands r3, r4
|
||||
lsls r3, r3, #8
|
||||
movs r4, #0x20
|
||||
subs r4, r4, r2
|
||||
muls r3, r4, r3
|
||||
lsrs r3, r3, #5
|
||||
adds r3, r6, r3
|
||||
lsrs r6, r3, #8
|
||||
movs r5, #0xf8
|
||||
lsls r5, r5, #2
|
||||
adds r3, r0, #0
|
||||
ands r3, r5
|
||||
lsls r7, r3, #3
|
||||
adds r3, r7, #0
|
||||
muls r3, r2, r3
|
||||
lsrs r7, r3, #5
|
||||
adds r3, r1, #0
|
||||
ands r3, r5
|
||||
lsls r3, r3, #3
|
||||
muls r3, r4, r3
|
||||
lsrs r3, r3, #5
|
||||
adds r3, r7, r3
|
||||
lsrs r7, r3, #8
|
||||
movs r3, #0xf8
|
||||
lsls r3, r3, #7
|
||||
ands r0, r3
|
||||
lsrs r5, r0, #2
|
||||
adds r0, r5, #0
|
||||
muls r0, r2, r0
|
||||
lsrs r5, r0, #5
|
||||
ands r1, r3
|
||||
lsrs r0, r1, #2
|
||||
muls r0, r4, r0
|
||||
lsrs r0, r0, #5
|
||||
adds r0, r5, r0
|
||||
lsrs r5, r0, #8
|
||||
lsls r0, r7, #5
|
||||
orrs r6, r0
|
||||
lsls r0, r5, #0xa
|
||||
orrs r6, r0
|
||||
adds r0, r6, #0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08059960
|
||||
sub_08059960: @ 0x08059960
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, #0
|
||||
adds r5, r1, #0
|
||||
adds r4, r2, #0
|
||||
lsls r3, r3, #0x18
|
||||
lsrs r3, r3, #0x18
|
||||
mov r8, r3
|
||||
movs r7, #0
|
||||
_08059974:
|
||||
ldrh r0, [r6]
|
||||
adds r6, #2
|
||||
ldrh r1, [r5]
|
||||
adds r5, #2
|
||||
mov r2, r8
|
||||
bl sub_080598F8
|
||||
strh r0, [r4]
|
||||
adds r4, #2
|
||||
adds r7, #1
|
||||
cmp r7, #0xf
|
||||
bls _08059974
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08059994
|
||||
sub_08059994: @ 0x08059994
|
||||
push {lr}
|
||||
bl sub_0805986C
|
||||
cmp r0, #0
|
||||
beq _080599AE
|
||||
movs r0, #0x5b
|
||||
bl LoadPaletteGroup
|
||||
ldr r0, _080599B0 @ =gArea
|
||||
ldr r1, _080599B4 @ =0x00000864
|
||||
adds r0, r0, r1
|
||||
movs r1, #0x1e
|
||||
str r1, [r0]
|
||||
_080599AE:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080599B0: .4byte gArea
|
||||
_080599B4: .4byte 0x00000864
|
||||
-462
@@ -1,462 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080599EC
|
||||
sub_080599EC: @ 0x080599EC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08059A20
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #0xff
|
||||
strb r0, [r1]
|
||||
subs r1, #1
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
strb r0, [r1]
|
||||
subs r1, #1
|
||||
strb r0, [r1]
|
||||
ldr r1, _08059A28 @ =sub_08059A2C
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
_08059A20:
|
||||
adds r0, r4, #0
|
||||
bl sub_08059A58
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059A28: .4byte sub_08059A2C
|
||||
|
||||
thumb_func_start sub_08059A2C
|
||||
sub_08059A2C: @ 0x08059A2C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r1, _08059A54 @ =gRoomVars
|
||||
movs r0, #0xff
|
||||
strb r0, [r1, #0x12]
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
strb r0, [r1, #0x11]
|
||||
strb r0, [r1, #0x10]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x22
|
||||
strb r0, [r1]
|
||||
subs r1, #1
|
||||
strb r0, [r1]
|
||||
subs r1, #1
|
||||
strb r0, [r1]
|
||||
adds r0, r2, #0
|
||||
bl sub_08059A58
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08059A54: .4byte gRoomVars
|
||||
|
||||
thumb_func_start sub_08059A58
|
||||
sub_08059A58: @ 0x08059A58
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _08059AC4 @ =gRoomControls
|
||||
ldrb r0, [r0, #4]
|
||||
cmp r0, #0x15
|
||||
beq _08059AD4
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x20
|
||||
ldr r3, _08059AC8 @ =gUnk_08108398
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
adds r2, r4, #0
|
||||
bl sub_08059C8C
|
||||
cmp r0, #0
|
||||
beq _08059A80
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0
|
||||
bl sub_08059CC0
|
||||
_08059A80:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x21
|
||||
ldr r3, _08059ACC @ =gUnk_081083AE
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
adds r2, r4, #0
|
||||
bl sub_08059C8C
|
||||
cmp r0, #0
|
||||
beq _08059AA6
|
||||
ldrb r1, [r4]
|
||||
movs r0, #1
|
||||
bl sub_08059CC0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #2
|
||||
bne _08059AA6
|
||||
bl sub_08059B18
|
||||
_08059AA6:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x22
|
||||
ldr r3, _08059AD0 @ =gUnk_081083C4
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
adds r2, r4, #0
|
||||
bl sub_08059C8C
|
||||
cmp r0, #0
|
||||
beq _08059B0C
|
||||
ldrb r1, [r4]
|
||||
movs r0, #2
|
||||
bl sub_08059CC0
|
||||
b _08059B0C
|
||||
.align 2, 0
|
||||
_08059AC4: .4byte gRoomControls
|
||||
_08059AC8: .4byte gUnk_08108398
|
||||
_08059ACC: .4byte gUnk_081083AE
|
||||
_08059AD0: .4byte gUnk_081083C4
|
||||
_08059AD4:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x20
|
||||
ldr r3, _08059B10 @ =gUnk_081083DA
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
adds r2, r4, #0
|
||||
bl sub_08059C8C
|
||||
cmp r0, #0
|
||||
beq _08059AF0
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0
|
||||
bl sub_08059CC0
|
||||
_08059AF0:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x22
|
||||
ldr r3, _08059B14 @ =gUnk_081083F2
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
adds r2, r4, #0
|
||||
bl sub_08059C8C
|
||||
cmp r0, #0
|
||||
beq _08059B0C
|
||||
ldrb r1, [r4]
|
||||
movs r0, #2
|
||||
bl sub_08059CC0
|
||||
_08059B0C:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08059B10: .4byte gUnk_081083DA
|
||||
_08059B14: .4byte gUnk_081083F2
|
||||
|
||||
thumb_func_start sub_08059B18
|
||||
sub_08059B18: @ 0x08059B18
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
sub sp, #4
|
||||
movs r0, #0x18
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _08059BEC
|
||||
movs r6, #0
|
||||
movs r0, #0x3f
|
||||
mov sb, r0
|
||||
movs r2, #0xc4
|
||||
lsls r2, r2, #1
|
||||
mov r8, r2
|
||||
_08059B38:
|
||||
movs r5, #0
|
||||
lsls r1, r6, #4
|
||||
mov r2, r8
|
||||
lsrs r0, r2, #4
|
||||
mov r2, sb
|
||||
ands r0, r2
|
||||
lsls r3, r0, #6
|
||||
movs r7, #0x28
|
||||
ldr r0, _08059BD8 @ =0x000004AB
|
||||
adds r4, r1, r0
|
||||
_08059B4C:
|
||||
lsrs r1, r7, #4
|
||||
mov r2, sb
|
||||
ands r1, r2
|
||||
orrs r1, r3
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
str r3, [sp]
|
||||
bl sub_0807B9B8
|
||||
adds r7, #0x10
|
||||
adds r4, #1
|
||||
adds r5, #1
|
||||
ldr r3, [sp]
|
||||
cmp r5, #3
|
||||
bls _08059B4C
|
||||
movs r0, #0x10
|
||||
add r8, r0
|
||||
adds r6, #1
|
||||
cmp r6, #3
|
||||
bls _08059B38
|
||||
movs r6, #0
|
||||
movs r3, #0x3f
|
||||
_08059B78:
|
||||
movs r5, #0
|
||||
lsls r1, r6, #4
|
||||
adds r6, #1
|
||||
mov r8, r6
|
||||
movs r2, #0xc4
|
||||
lsls r2, r2, #1
|
||||
adds r0, r1, r2
|
||||
lsrs r0, r0, #4
|
||||
ands r0, r3
|
||||
lsls r7, r0, #6
|
||||
movs r6, #0x28
|
||||
movs r0, #0x88
|
||||
lsls r0, r0, #3
|
||||
adds r4, r1, r0
|
||||
_08059B94:
|
||||
lsrs r1, r6, #4
|
||||
ands r1, r3
|
||||
orrs r1, r7
|
||||
adds r0, r4, #0
|
||||
movs r2, #2
|
||||
str r3, [sp]
|
||||
bl sub_0807B9B8
|
||||
adds r6, #0x10
|
||||
adds r4, #1
|
||||
adds r5, #1
|
||||
ldr r3, [sp]
|
||||
cmp r5, #3
|
||||
bls _08059B94
|
||||
mov r6, r8
|
||||
cmp r6, #2
|
||||
bls _08059B78
|
||||
ldr r1, _08059BDC @ =0x000005C2
|
||||
movs r0, #0xd6
|
||||
movs r2, #2
|
||||
bl sub_0807B9B8
|
||||
ldr r1, _08059BE0 @ =0x000005C3
|
||||
movs r0, #0xd7
|
||||
movs r2, #2
|
||||
bl sub_0807B9B8
|
||||
ldr r0, _08059BE4 @ =gUnk_086E8460
|
||||
ldr r1, _08059BE8 @ =0x06001800
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #4
|
||||
bl LoadResourceAsync
|
||||
b _08059C5E
|
||||
.align 2, 0
|
||||
_08059BD8: .4byte 0x000004AB
|
||||
_08059BDC: .4byte 0x000005C2
|
||||
_08059BE0: .4byte 0x000005C3
|
||||
_08059BE4: .4byte gUnk_086E8460
|
||||
_08059BE8: .4byte 0x06001800
|
||||
_08059BEC:
|
||||
movs r0, #0x19
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _08059C5E
|
||||
movs r6, #0
|
||||
movs r3, #0x3f
|
||||
_08059BFA:
|
||||
movs r5, #0
|
||||
lsls r1, r6, #4
|
||||
adds r6, #1
|
||||
mov r8, r6
|
||||
movs r2, #0xc4
|
||||
lsls r2, r2, #1
|
||||
adds r0, r1, r2
|
||||
lsrs r0, r0, #4
|
||||
ands r0, r3
|
||||
lsls r7, r0, #6
|
||||
movs r6, #0x28
|
||||
ldr r0, _08059C68 @ =0x000004A6
|
||||
adds r4, r1, r0
|
||||
_08059C14:
|
||||
lsrs r1, r6, #4
|
||||
ands r1, r3
|
||||
orrs r1, r7
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
str r3, [sp]
|
||||
bl sub_0807B9B8
|
||||
adds r6, #0x10
|
||||
adds r4, #1
|
||||
adds r5, #1
|
||||
ldr r3, [sp]
|
||||
cmp r5, #3
|
||||
bls _08059C14
|
||||
mov r6, r8
|
||||
cmp r6, #4
|
||||
bls _08059BFA
|
||||
ldr r0, _08059C6C @ =0x00000444
|
||||
ldr r1, _08059C70 @ =0x00000602
|
||||
movs r2, #2
|
||||
bl sub_0807B9B8
|
||||
ldr r0, _08059C74 @ =0x00000445
|
||||
ldr r1, _08059C78 @ =0x00000605
|
||||
movs r2, #2
|
||||
bl sub_0807B9B8
|
||||
ldr r0, _08059C7C @ =0x00000454
|
||||
ldr r1, _08059C80 @ =0x00000642
|
||||
movs r2, #2
|
||||
bl sub_0807B9B8
|
||||
ldr r0, _08059C84 @ =0x00000455
|
||||
ldr r1, _08059C88 @ =0x00000645
|
||||
movs r2, #2
|
||||
bl sub_0807B9B8
|
||||
_08059C5E:
|
||||
add sp, #4
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08059C68: .4byte 0x000004A6
|
||||
_08059C6C: .4byte 0x00000444
|
||||
_08059C70: .4byte 0x00000602
|
||||
_08059C74: .4byte 0x00000445
|
||||
_08059C78: .4byte 0x00000605
|
||||
_08059C7C: .4byte 0x00000454
|
||||
_08059C80: .4byte 0x00000642
|
||||
_08059C84: .4byte 0x00000455
|
||||
_08059C88: .4byte 0x00000645
|
||||
|
||||
thumb_func_start sub_08059C8C
|
||||
sub_08059C8C: @ 0x08059C8C
|
||||
push {r4, r5, lr}
|
||||
adds r5, r1, #0
|
||||
adds r4, r2, #0
|
||||
adds r0, r3, #0
|
||||
bl sub_08056300
|
||||
adds r2, r0, #0
|
||||
strb r2, [r4]
|
||||
lsls r0, r2, #0x18
|
||||
lsrs r3, r0, #0x18
|
||||
cmp r3, #0xff
|
||||
beq _08059CBC
|
||||
ldr r0, _08059CB8 @ =gRoomVars
|
||||
adds r0, #0x10
|
||||
adds r1, r5, r0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, r3
|
||||
beq _08059CBC
|
||||
strb r2, [r1]
|
||||
movs r0, #1
|
||||
b _08059CBE
|
||||
.align 2, 0
|
||||
_08059CB8: .4byte gRoomVars
|
||||
_08059CBC:
|
||||
movs r0, #0
|
||||
_08059CBE:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_08059CC0
|
||||
sub_08059CC0: @ 0x08059CC0
|
||||
push {r4, r5, r6, lr}
|
||||
adds r2, r1, #0
|
||||
ldr r1, _08059CDC @ =gRoomVars
|
||||
adds r1, #0x10
|
||||
adds r0, r0, r1
|
||||
strb r2, [r0]
|
||||
ldr r0, _08059CE0 @ =gRoomControls
|
||||
ldrb r0, [r0, #4]
|
||||
cmp r0, #0x15
|
||||
beq _08059CE8
|
||||
lsls r1, r2, #4
|
||||
ldr r0, _08059CE4 @ =gUnk_08108408
|
||||
b _08059CEC
|
||||
.align 2, 0
|
||||
_08059CDC: .4byte gRoomVars
|
||||
_08059CE0: .4byte gRoomControls
|
||||
_08059CE4: .4byte gUnk_08108408
|
||||
_08059CE8:
|
||||
lsls r1, r2, #4
|
||||
ldr r0, _08059D10 @ =gUnk_08108468
|
||||
_08059CEC:
|
||||
adds r6, r1, r0
|
||||
ldr r0, [r6]
|
||||
ldr r4, _08059D14 @ =gGlobalGfxAndPalettes
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r6, #4]
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #5
|
||||
adds r2, r5, #0
|
||||
bl LoadResourceAsync
|
||||
ldr r0, [r6, #8]
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r6, #0xc]
|
||||
adds r2, r5, #0
|
||||
bl LoadResourceAsync
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08059D10: .4byte gUnk_08108468
|
||||
_08059D14: .4byte gGlobalGfxAndPalettes
|
||||
|
||||
thumb_func_start TryLoadPrologueHyruleTown
|
||||
TryLoadPrologueHyruleTown: @ 0x08059D18
|
||||
push {r4, lr}
|
||||
ldr r0, _08059D68 @ =gRoomControls
|
||||
ldrb r0, [r0, #4]
|
||||
cmp r0, #0x15
|
||||
beq _08059D78
|
||||
ldr r0, _08059D6C @ =gUnk_08108398
|
||||
bl sub_08056300
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0xff
|
||||
beq _08059D36
|
||||
movs r0, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_08059CC0
|
||||
_08059D36:
|
||||
ldr r0, _08059D70 @ =gUnk_081083AE
|
||||
bl sub_08056300
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0xff
|
||||
beq _08059D52
|
||||
movs r0, #1
|
||||
adds r1, r4, #0
|
||||
bl sub_08059CC0
|
||||
cmp r4, #2
|
||||
bne _08059D52
|
||||
bl sub_08059B18
|
||||
_08059D52:
|
||||
ldr r0, _08059D74 @ =gUnk_081083C4
|
||||
bl sub_08056300
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0xff
|
||||
beq _08059DA0
|
||||
movs r0, #2
|
||||
adds r1, r4, #0
|
||||
bl sub_08059CC0
|
||||
b _08059DA0
|
||||
.align 2, 0
|
||||
_08059D68: .4byte gRoomControls
|
||||
_08059D6C: .4byte gUnk_08108398
|
||||
_08059D70: .4byte gUnk_081083AE
|
||||
_08059D74: .4byte gUnk_081083C4
|
||||
_08059D78:
|
||||
ldr r0, _08059DA4 @ =gUnk_081083DA
|
||||
bl sub_08056300
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0xff
|
||||
beq _08059D8C
|
||||
movs r0, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_08059CC0
|
||||
_08059D8C:
|
||||
ldr r0, _08059DA8 @ =gUnk_081083F2
|
||||
bl sub_08056300
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0xff
|
||||
beq _08059DA0
|
||||
movs r0, #2
|
||||
adds r1, r4, #0
|
||||
bl sub_08059CC0
|
||||
_08059DA0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059DA4: .4byte gUnk_081083DA
|
||||
_08059DA8: .4byte gUnk_081083F2
|
||||
@@ -1,97 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08059DAC
|
||||
sub_08059DAC: @ 0x08059DAC
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08059DBE
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
_08059DBE:
|
||||
ldr r1, _08059E4C @ =gRoomControls
|
||||
ldrb r0, [r1, #4]
|
||||
ldr r4, _08059E50 @ =gUnk_081084C8
|
||||
cmp r0, #0x15
|
||||
bne _08059DCA
|
||||
ldr r4, _08059E54 @ =gUnk_08108530
|
||||
_08059DCA:
|
||||
movs r7, #0
|
||||
ldrh r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _08059E46
|
||||
mov r8, r1
|
||||
_08059DD4:
|
||||
movs r6, #1
|
||||
lsls r6, r7
|
||||
ldr r0, [r5, #0x20]
|
||||
ands r0, r6
|
||||
cmp r0, #0
|
||||
bne _08059E38
|
||||
ldrh r0, [r4]
|
||||
ldrh r1, [r4, #2]
|
||||
movs r2, #0x10
|
||||
movs r3, #0x10
|
||||
bl CheckRectOnScreen
|
||||
cmp r0, #0
|
||||
beq _08059E38
|
||||
ldrb r1, [r4, #4]
|
||||
movs r0, #0x1c
|
||||
adds r2, r7, #0
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _08059E38
|
||||
ldrb r0, [r4, #5]
|
||||
strb r0, [r2, #0x1e]
|
||||
ldrh r0, [r4]
|
||||
mov r1, r8
|
||||
ldrh r1, [r1, #6]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r4, #2]
|
||||
mov r3, r8
|
||||
ldrh r3, [r3, #8]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x32]
|
||||
str r5, [r2, #0x50]
|
||||
ldrh r1, [r4]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x80
|
||||
strh r1, [r0]
|
||||
ldrh r0, [r4, #2]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x82
|
||||
strh r0, [r1]
|
||||
ldrb r1, [r4, #6]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
ldr r0, [r5, #0x20]
|
||||
orrs r0, r6
|
||||
str r0, [r5, #0x20]
|
||||
_08059E38:
|
||||
adds r4, #8
|
||||
adds r7, #1
|
||||
ldrh r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _08059E46
|
||||
cmp r7, #0x1f
|
||||
bls _08059DD4
|
||||
_08059E46:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08059E4C: .4byte gRoomControls
|
||||
_08059E50: .4byte gUnk_081084C8
|
||||
_08059E54: .4byte gUnk_08108530
|
||||
-519
@@ -1,519 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08059E58
|
||||
sub_08059E58: @ 0x08059E58
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x20]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x20]
|
||||
ldr r1, _08059E7C @ =gUnk_081085A4
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0805A1D8
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059E7C: .4byte gUnk_081085A4
|
||||
|
||||
thumb_func_start sub_08059E80
|
||||
sub_08059E80: @ 0x08059E80
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl EntityHasDuplicateID
|
||||
cmp r0, #0
|
||||
beq _08059E90
|
||||
bl DeleteThisEntity
|
||||
_08059E90:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r2, #0
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
movs r0, #0
|
||||
strh r2, [r4, #0x20]
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xf]
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
ldr r3, _08059EE4 @ =gScreen
|
||||
ldr r0, _08059EE8 @ =0x00001E04
|
||||
strh r0, [r3, #0x2c]
|
||||
ldrh r0, [r3]
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #4
|
||||
adds r1, r5, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r3]
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x66
|
||||
ldr r0, _08059EEC @ =0x00003E48
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
strh r0, [r1]
|
||||
movs r0, #0x80
|
||||
strh r0, [r3, #0x2e]
|
||||
strh r2, [r3, #0x30]
|
||||
ldr r1, _08059EF0 @ =nullsub_495
|
||||
ldr r2, _08059EF4 @ =sub_0805A25C
|
||||
adds r0, r4, #0
|
||||
bl sub_08052D74
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08059EE4: .4byte gScreen
|
||||
_08059EE8: .4byte 0x00001E04
|
||||
_08059EEC: .4byte 0x00003E48
|
||||
_08059EF0: .4byte nullsub_495
|
||||
_08059EF4: .4byte sub_0805A25C
|
||||
|
||||
thumb_func_start sub_08059EF8
|
||||
sub_08059EF8: @ 0x08059EF8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
movs r6, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r5, r0, #0x18
|
||||
cmp r5, #0
|
||||
bne _08059F90
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
bl sub_08059F9C
|
||||
cmp r0, #0
|
||||
beq _08059F64
|
||||
ldr r2, _08059F50 @ =gUnk_08108588
|
||||
ldrb r0, [r4, #0xe]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r1, [r0]
|
||||
ldr r0, _08059F54 @ =0x00000808
|
||||
cmp r1, r0
|
||||
beq _08059F5C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x24
|
||||
strb r5, [r0]
|
||||
ldr r1, _08059F58 @ =gScreen
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
ands r0, r6
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
adds r1, #0x68
|
||||
strh r0, [r1]
|
||||
b _08059F90
|
||||
.align 2, 0
|
||||
_08059F50: .4byte gUnk_08108588
|
||||
_08059F54: .4byte 0x00000808
|
||||
_08059F58: .4byte gScreen
|
||||
_08059F5C:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x22
|
||||
strb r5, [r0]
|
||||
b _08059F90
|
||||
_08059F64:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
ldr r3, _08059F94 @ =gUnk_08108588
|
||||
ldrb r2, [r4, #0xe]
|
||||
lsls r0, r2, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
cmp r1, r0
|
||||
beq _08059F90
|
||||
ldr r0, _08059F98 @ =gScreen
|
||||
subs r1, r2, #1
|
||||
strb r1, [r4, #0xe]
|
||||
ands r1, r6
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r3
|
||||
ldrh r1, [r1]
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_08059F90:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08059F94: .4byte gUnk_08108588
|
||||
_08059F98: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_08059F9C
|
||||
sub_08059F9C: @ 0x08059F9C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08059FB4 @ =gRoomControls
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #0x17
|
||||
bhi _0805A03A
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08059FB8 @ =_08059FBC
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08059FB4: .4byte gRoomControls
|
||||
_08059FB8: .4byte _08059FBC
|
||||
_08059FBC: @ jump table
|
||||
.4byte _0805A036 @ case 0
|
||||
.4byte _0805A01C @ case 1
|
||||
.4byte _0805A03A @ case 2
|
||||
.4byte _0805A03A @ case 3
|
||||
.4byte _0805A03A @ case 4
|
||||
.4byte _0805A03A @ case 5
|
||||
.4byte _0805A03A @ case 6
|
||||
.4byte _0805A02A @ case 7
|
||||
.4byte _0805A036 @ case 8
|
||||
.4byte _0805A036 @ case 9
|
||||
.4byte _0805A03A @ case 10
|
||||
.4byte _0805A03A @ case 11
|
||||
.4byte _0805A03A @ case 12
|
||||
.4byte _0805A03A @ case 13
|
||||
.4byte _0805A03A @ case 14
|
||||
.4byte _0805A03A @ case 15
|
||||
.4byte _0805A03A @ case 16
|
||||
.4byte _0805A03A @ case 17
|
||||
.4byte _0805A03A @ case 18
|
||||
.4byte _0805A03A @ case 19
|
||||
.4byte _0805A03A @ case 20
|
||||
.4byte _0805A03A @ case 21
|
||||
.4byte _0805A03A @ case 22
|
||||
.4byte _0805A036 @ case 23
|
||||
_0805A01C:
|
||||
movs r0, #0x16
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0805A02A
|
||||
movs r0, #0
|
||||
b _0805A03C
|
||||
_0805A02A:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805A25C
|
||||
bl DeleteThisEntity
|
||||
b _0805A03C
|
||||
_0805A036:
|
||||
movs r0, #1
|
||||
b _0805A03C
|
||||
_0805A03A:
|
||||
movs r0, #0
|
||||
_0805A03C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805A040
|
||||
sub_0805A040: @ 0x0805A040
|
||||
push {lr}
|
||||
bl sub_0805A098
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0805A048
|
||||
sub_0805A048: @ 0x0805A048
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805A086
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xf]
|
||||
ldr r2, _0805A090 @ =gScreen
|
||||
ldr r3, _0805A094 @ =gUnk_08108588
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
adds r2, #0x68
|
||||
strh r0, [r2]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #9
|
||||
bne _0805A086
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
_0805A086:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805A098
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805A090: .4byte gScreen
|
||||
_0805A094: .4byte gUnk_08108588
|
||||
|
||||
thumb_func_start sub_0805A098
|
||||
sub_0805A098: @ 0x0805A098
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, _0805A0B0 @ =gRoomControls
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #9
|
||||
bgt _0805A0B4
|
||||
cmp r0, #8
|
||||
bge _0805A0BC
|
||||
cmp r0, #0
|
||||
beq _0805A0BC
|
||||
b _0805A0B8
|
||||
.align 2, 0
|
||||
_0805A0B0: .4byte gRoomControls
|
||||
_0805A0B4:
|
||||
cmp r0, #0x17
|
||||
beq _0805A0BC
|
||||
_0805A0B8:
|
||||
movs r0, #3
|
||||
strb r0, [r1, #0xc]
|
||||
_0805A0BC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805A0C0
|
||||
sub_0805A0C0: @ 0x0805A0C0
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r3, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805A106
|
||||
movs r0, #4
|
||||
strb r0, [r3, #0xf]
|
||||
ldr r4, _0805A108 @ =gScreen
|
||||
ldr r2, _0805A10C @ =gUnk_08108588
|
||||
ldrb r0, [r3, #0xe]
|
||||
adds r1, r0, #0
|
||||
adds r1, #0xff
|
||||
strb r1, [r3, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r0, r0, r2
|
||||
ldrh r2, [r0]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
strh r2, [r0]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #0xff
|
||||
bne _0805A106
|
||||
ldrh r1, [r4]
|
||||
ldr r0, _0805A110 @ =0x0000F7FF
|
||||
ands r0, r1
|
||||
strh r0, [r4]
|
||||
bl sub_08056250
|
||||
bl DeleteThisEntity
|
||||
_0805A106:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805A108: .4byte gScreen
|
||||
_0805A10C: .4byte gUnk_08108588
|
||||
_0805A110: .4byte 0x0000F7FF
|
||||
|
||||
thumb_func_start sub_0805A114
|
||||
sub_0805A114: @ 0x0805A114
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r7, r0, #0
|
||||
adds r6, r1, #0
|
||||
ldr r2, _0805A154 @ =gUnk_03003DE4
|
||||
ldrb r1, [r2]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
ldr r1, _0805A158 @ =gUnk_02017AA0
|
||||
adds r4, r0, r1
|
||||
movs r5, #0
|
||||
mov r8, r2
|
||||
mov sb, r1
|
||||
ldr r2, _0805A15C @ =gScreen
|
||||
ldr r0, _0805A160 @ =gSineTable
|
||||
mov ip, r0
|
||||
_0805A13A:
|
||||
movs r1, #0x30
|
||||
ldrsh r0, [r2, r1]
|
||||
adds r3, r5, r0
|
||||
asrs r1, r3, #3
|
||||
movs r0, #7
|
||||
ands r1, r0
|
||||
cmp r1, #7
|
||||
bhi _0805A190
|
||||
lsls r0, r1, #2
|
||||
ldr r1, _0805A164 @ =_0805A168
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0805A154: .4byte gUnk_03003DE4
|
||||
_0805A158: .4byte gUnk_02017AA0
|
||||
_0805A15C: .4byte gScreen
|
||||
_0805A160: .4byte gSineTable
|
||||
_0805A164: .4byte _0805A168
|
||||
_0805A168: @ jump table
|
||||
.4byte _0805A190 @ case 0
|
||||
.4byte _0805A18C @ case 1
|
||||
.4byte _0805A190 @ case 2
|
||||
.4byte _0805A190 @ case 3
|
||||
.4byte _0805A188 @ case 4
|
||||
.4byte _0805A190 @ case 5
|
||||
.4byte _0805A190 @ case 6
|
||||
.4byte _0805A18C @ case 7
|
||||
_0805A188:
|
||||
subs r3, #8
|
||||
b _0805A190
|
||||
_0805A18C:
|
||||
movs r0, #0xf0
|
||||
b _0805A192
|
||||
_0805A190:
|
||||
movs r0, #0xf8
|
||||
_0805A192:
|
||||
ands r3, r0
|
||||
adds r0, r6, r3
|
||||
movs r1, #0xff
|
||||
ands r0, r1
|
||||
lsls r0, r0, #1
|
||||
add r0, ip
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
muls r0, r7, r0
|
||||
lsrs r0, r0, #8
|
||||
ldrh r1, [r2, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4]
|
||||
adds r4, #2
|
||||
adds r5, #1
|
||||
cmp r5, #0x9f
|
||||
ble _0805A13A
|
||||
mov r0, r8
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
add r0, sb
|
||||
ldr r1, _0805A1D0 @ =0x0400001C
|
||||
ldr r2, _0805A1D4 @ =0xA2600001
|
||||
bl sub_0805622C
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805A1D0: .4byte 0x0400001C
|
||||
_0805A1D4: .4byte 0xA2600001
|
||||
|
||||
thumb_func_start sub_0805A1D8
|
||||
sub_0805A1D8: @ 0x0805A1D8
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0805A244 @ =gRoomControls
|
||||
ldr r0, [r1, #0x28]
|
||||
ldr r2, _0805A248 @ =0xFFFFF000
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x28]
|
||||
ldr r5, _0805A24C @ =gScreen
|
||||
ldrh r0, [r1, #0x2a]
|
||||
strh r0, [r5, #0x2e]
|
||||
ldr r0, [r1, #0x2c]
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x2c]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
strh r0, [r5, #0x30]
|
||||
ldrh r1, [r5]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805A240
|
||||
ldrh r1, [r4, #0x20]
|
||||
lsrs r1, r1, #1
|
||||
movs r0, #6
|
||||
bl sub_0805A114
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x22
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805A240
|
||||
ldr r0, _0805A250 @ =gMain
|
||||
ldrh r1, [r0, #0xc]
|
||||
movs r0, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805A240
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x24
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, _0805A254 @ =gUnk_0810859A
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_0805A240:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805A244: .4byte gRoomControls
|
||||
_0805A248: .4byte 0xFFFFF000
|
||||
_0805A24C: .4byte gScreen
|
||||
_0805A250: .4byte gMain
|
||||
_0805A254: .4byte gUnk_0810859A
|
||||
|
||||
thumb_func_start nullsub_495
|
||||
nullsub_495: @ 0x0805A258
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805A25C
|
||||
sub_0805A25C: @ 0x0805A25C
|
||||
push {lr}
|
||||
ldr r1, _0805A278 @ =gScreen
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x66
|
||||
movs r0, #0
|
||||
strh r0, [r2]
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _0805A27C @ =0x0000F7FF
|
||||
ands r0, r2
|
||||
strh r0, [r1]
|
||||
bl sub_08056250
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805A278: .4byte gScreen
|
||||
_0805A27C: .4byte 0x0000F7FF
|
||||
@@ -1,82 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805AD48
|
||||
sub_0805AD48: @ 0x0805AD48
|
||||
push {lr}
|
||||
ldr r2, _0805AD5C @ =gUnk_08108654
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805AD5C: .4byte gUnk_08108654
|
||||
|
||||
thumb_func_start sub_0805AD60
|
||||
sub_0805AD60: @ 0x0805AD60
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805AD76
|
||||
bl DeleteThisEntity
|
||||
_0805AD76:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805AD80
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805AD80
|
||||
sub_0805AD80: @ 0x0805AD80
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805ADD0
|
||||
ldrb r1, [r4, #0xa]
|
||||
ldrb r2, [r4, #0xb]
|
||||
movs r0, #0
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805ADCC
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x35
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r2, #0xe]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x36
|
||||
ldrb r1, [r0]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
ldr r1, _0805ADD4 @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
ldrh r3, [r4, #0x38]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #8]
|
||||
ldrh r1, [r4, #0x3a]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x32]
|
||||
ldrh r1, [r4, #0x3c]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x86
|
||||
strh r1, [r0]
|
||||
_0805ADCC:
|
||||
bl DeleteThisEntity
|
||||
_0805ADD0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805ADD4: .4byte gRoomControls
|
||||
-195
@@ -1,195 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805ADD8
|
||||
sub_0805ADD8: @ 0x0805ADD8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
bne _0805AE04
|
||||
ldr r0, _0805ADF8 @ =gArea
|
||||
ldr r1, _0805ADFC @ =0x0000088C
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
ldr r1, _0805AE00 @ =sub_0805AEDC
|
||||
cmp r0, r1
|
||||
beq _0805AEC4
|
||||
movs r0, #0
|
||||
bl _call_via_r1
|
||||
b _0805AEC4
|
||||
.align 2, 0
|
||||
_0805ADF8: .4byte gArea
|
||||
_0805ADFC: .4byte 0x0000088C
|
||||
_0805AE00: .4byte sub_0805AEDC
|
||||
_0805AE04:
|
||||
ldrb r2, [r4, #0xc]
|
||||
cmp r2, #0
|
||||
bne _0805AE5E
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
strb r2, [r4, #0xe]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xf]
|
||||
ldr r0, _0805AE44 @ =gUnk_0810865C
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r4, #0x20]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
ldr r0, _0805AE48 @ =gArea
|
||||
ldr r2, _0805AE4C @ =0x0000088C
|
||||
adds r0, r0, r2
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805AE58
|
||||
ldr r1, _0805AE50 @ =sub_0805AEDC
|
||||
ldr r2, _0805AE54 @ =sub_0805AF3C
|
||||
adds r0, r4, #0
|
||||
bl sub_08052D74
|
||||
b _0805AEC4
|
||||
.align 2, 0
|
||||
_0805AE44: .4byte gUnk_0810865C
|
||||
_0805AE48: .4byte gArea
|
||||
_0805AE4C: .4byte 0x0000088C
|
||||
_0805AE50: .4byte sub_0805AEDC
|
||||
_0805AE54: .4byte sub_0805AF3C
|
||||
_0805AE58:
|
||||
bl DeleteThisEntity
|
||||
b _0805AEC4
|
||||
_0805AE5E:
|
||||
ldr r2, _0805AEC8 @ =gUnk_0810865C
|
||||
ldrb r0, [r4, #0xe]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
ldr r3, _0805AECC @ =gScreen
|
||||
cmp r0, #0
|
||||
beq _0805AEA2
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
movs r1, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805AEA2
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xf]
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
ands r0, r1
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0805AEA2
|
||||
ldrb r0, [r4, #0xe]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r1, [r0]
|
||||
strh r1, [r4, #0x20]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_0805AEA2:
|
||||
ldr r1, _0805AED0 @ =gRoomControls
|
||||
ldr r0, [r1, #0x28]
|
||||
ldr r2, _0805AED4 @ =0xFFFFE000
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x28]
|
||||
ldr r0, [r1, #0x2c]
|
||||
ldr r2, _0805AED8 @ =0xFFFFF000
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x2c]
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r2, [r1, #0xa]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r3, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x30]
|
||||
_0805AEC4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805AEC8: .4byte gUnk_0810865C
|
||||
_0805AECC: .4byte gScreen
|
||||
_0805AED0: .4byte gRoomControls
|
||||
_0805AED4: .4byte 0xFFFFE000
|
||||
_0805AED8: .4byte 0xFFFFF000
|
||||
|
||||
thumb_func_start sub_0805AEDC
|
||||
sub_0805AEDC: @ 0x0805AEDC
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
ldr r2, _0805AF2C @ =gScreen
|
||||
ldr r0, _0805AF30 @ =0x00001E05
|
||||
strh r0, [r2, #0x2c]
|
||||
ldrh r0, [r2]
|
||||
movs r4, #0x80
|
||||
lsls r4, r4, #4
|
||||
adds r1, r4, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x66
|
||||
ldr r0, _0805AF34 @ =0x00003648
|
||||
strh r0, [r1]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
adds r1, r0, #0
|
||||
cmp r3, #0
|
||||
beq _0805AF06
|
||||
ldrh r1, [r3, #0x20]
|
||||
_0805AF06:
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
ldr r1, _0805AF38 @ =gRoomControls
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r4, [r1, #0xa]
|
||||
adds r0, r0, r4
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x30]
|
||||
cmp r3, #0
|
||||
beq _0805AF28
|
||||
adds r0, r3, #0
|
||||
bl sub_0805ADD8
|
||||
_0805AF28:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805AF2C: .4byte gScreen
|
||||
_0805AF30: .4byte 0x00001E05
|
||||
_0805AF34: .4byte 0x00003648
|
||||
_0805AF38: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805AF3C
|
||||
sub_0805AF3C: @ 0x0805AF3C
|
||||
ldrb r2, [r0, #0x10]
|
||||
movs r1, #0xdf
|
||||
ands r1, r2
|
||||
movs r3, #0
|
||||
strb r1, [r0, #0x10]
|
||||
ldr r1, _0805AF58 @ =gScreen
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _0805AF5C @ =0x0000F7FF
|
||||
ands r0, r2
|
||||
strh r0, [r1]
|
||||
adds r1, #0x66
|
||||
strh r3, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805AF58: .4byte gScreen
|
||||
_0805AF5C: .4byte 0x0000F7FF
|
||||
-106
@@ -1,106 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805AF60
|
||||
sub_0805AF60: @ 0x0805AF60
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
bne _0805AF8C
|
||||
ldr r0, _0805AF80 @ =gArea
|
||||
ldr r1, _0805AF84 @ =0x0000088C
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
ldr r1, _0805AF88 @ =sub_0805AFFC
|
||||
cmp r0, r1
|
||||
beq _0805AFEE
|
||||
movs r0, #0
|
||||
bl _call_via_r1
|
||||
b _0805AFEE
|
||||
.align 2, 0
|
||||
_0805AF80: .4byte gArea
|
||||
_0805AF84: .4byte 0x0000088C
|
||||
_0805AF88: .4byte sub_0805AFFC
|
||||
_0805AF8C:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805AFD2
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
ldr r0, _0805AFC0 @ =gArea
|
||||
ldr r2, _0805AFC4 @ =0x0000088C
|
||||
adds r0, r0, r2
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805AFCC
|
||||
ldr r1, _0805AFC8 @ =sub_0805AFFC
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
b _0805AFEE
|
||||
.align 2, 0
|
||||
_0805AFC0: .4byte gArea
|
||||
_0805AFC4: .4byte 0x0000088C
|
||||
_0805AFC8: .4byte sub_0805AFFC
|
||||
_0805AFCC:
|
||||
bl DeleteThisEntity
|
||||
b _0805AFEE
|
||||
_0805AFD2:
|
||||
ldr r1, _0805AFF0 @ =gRoomControls
|
||||
ldr r0, [r1, #0x28]
|
||||
ldr r3, _0805AFF4 @ =0xFFFFE000
|
||||
adds r0, r0, r3
|
||||
str r0, [r1, #0x28]
|
||||
ldr r2, _0805AFF8 @ =gScreen
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r3, [r1, #0xa]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x30]
|
||||
_0805AFEE:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805AFF0: .4byte gRoomControls
|
||||
_0805AFF4: .4byte 0xFFFFE000
|
||||
_0805AFF8: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_0805AFFC
|
||||
sub_0805AFFC: @ 0x0805AFFC
|
||||
ldr r2, _0805B024 @ =gScreen
|
||||
ldr r0, _0805B028 @ =0x00001E03
|
||||
strh r0, [r2, #0x2c]
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
ldr r1, _0805B02C @ =gRoomControls
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r3, [r1, #0xa]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x30]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805B024: .4byte gScreen
|
||||
_0805B028: .4byte 0x00001E03
|
||||
_0805B02C: .4byte gRoomControls
|
||||
-203
@@ -1,203 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805B3B4
|
||||
sub_0805B3B4: @ 0x0805B3B4
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl EntityHasDuplicateID
|
||||
cmp r0, #0
|
||||
beq _0805B3C4
|
||||
bl DeleteThisEntity
|
||||
_0805B3C4:
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0805B438 @ =gUnk_08108C28
|
||||
adds r5, r0, r1
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805B41E
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
beq _0805B3F6
|
||||
ldr r1, _0805B43C @ =sub_0805B4B4
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
_0805B3F6:
|
||||
ldr r0, _0805B440 @ =gRoomControls
|
||||
ldrh r1, [r0, #0x20]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
subs r1, r0, r1
|
||||
cmp r1, #0
|
||||
bge _0805B406
|
||||
movs r1, #0
|
||||
_0805B406:
|
||||
movs r0, #2
|
||||
ldrsb r0, [r5, r0]
|
||||
adds r0, r1, r0
|
||||
str r0, [r4, #0x20]
|
||||
ldr r1, _0805B444 @ =gUnk_08108C54
|
||||
ldrb r0, [r5, #1]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
_0805B41E:
|
||||
ldr r0, _0805B440 @ =gRoomControls
|
||||
ldrh r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805B436
|
||||
ldr r0, _0805B444 @ =gUnk_08108C54
|
||||
ldrb r1, [r5, #1]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
_0805B436:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805B438: .4byte gUnk_08108C28
|
||||
_0805B43C: .4byte sub_0805B4B4
|
||||
_0805B440: .4byte gRoomControls
|
||||
_0805B444: .4byte gUnk_08108C54
|
||||
|
||||
thumb_func_start sub_0805B448
|
||||
sub_0805B448: @ 0x0805B448
|
||||
push {r4, lr}
|
||||
ldr r4, _0805B46C @ =gScreen
|
||||
ldr r3, _0805B470 @ =gRoomControls
|
||||
movs r2, #0xa
|
||||
ldrsh r1, [r3, r2]
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #2
|
||||
strh r1, [r4, #0x2e]
|
||||
movs r2, #0xc
|
||||
ldrsh r1, [r3, r2]
|
||||
ldrh r2, [r3, #8]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #1
|
||||
ldr r0, [r0, #0x20]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x30]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805B46C: .4byte gScreen
|
||||
_0805B470: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805B474
|
||||
sub_0805B474: @ 0x0805B474
|
||||
push {r4, r5, lr}
|
||||
ldr r5, _0805B4A8 @ =gRoomControls
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r5, r0]
|
||||
ldrh r4, [r5, #8]
|
||||
subs r1, r1, r4
|
||||
lsls r0, r1, #1
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #5
|
||||
ldrh r1, [r5, #0x20]
|
||||
subs r1, #0xa0
|
||||
bl __divsi3
|
||||
ldr r2, _0805B4AC @ =gScreen
|
||||
adds r4, r4, r0
|
||||
strh r4, [r2, #0x30]
|
||||
ldrh r0, [r5, #0x1e]
|
||||
ldr r1, _0805B4B0 @ =0xFFFFFF00
|
||||
adds r0, r0, r1
|
||||
lsrs r1, r0, #0x1f
|
||||
adds r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
ldrh r1, [r5, #0xa]
|
||||
subs r1, r1, r0
|
||||
strh r1, [r2, #0x2e]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805B4A8: .4byte gRoomControls
|
||||
_0805B4AC: .4byte gScreen
|
||||
_0805B4B0: .4byte 0xFFFFFF00
|
||||
|
||||
thumb_func_start sub_0805B4B4
|
||||
sub_0805B4B4: @ 0x0805B4B4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl sub_0805B4D0
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #2
|
||||
bne _0805B4C8
|
||||
bl sub_0806D0F8
|
||||
_0805B4C8:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805B3B4
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0805B4D0
|
||||
sub_0805B4D0: @ 0x0805B4D0
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _0805B528 @ =gUnk_08108C5C
|
||||
adds r0, r5, r0
|
||||
ldrb r0, [r0]
|
||||
bl LoadGfxGroup
|
||||
ldr r4, _0805B52C @ =gScreen
|
||||
ldr r0, _0805B530 @ =0x00001E07
|
||||
strh r0, [r4, #0x2c]
|
||||
ldrh r1, [r4]
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #4
|
||||
adds r0, r2, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r4]
|
||||
ldr r2, _0805B534 @ =gRoomControls
|
||||
movs r1, #0xa
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r2, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #2
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r1, #0xc
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r2, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r3, r0, #1
|
||||
ldrh r1, [r2, #0x20]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
subs r2, r0, r1
|
||||
cmp r2, #0
|
||||
bge _0805B516
|
||||
movs r2, #0
|
||||
_0805B516:
|
||||
ldr r0, _0805B538 @ =gUnk_08108C44
|
||||
lsls r1, r5, #1
|
||||
adds r1, r1, r0
|
||||
adds r0, r3, r2
|
||||
ldrh r1, [r1]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x30]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805B528: .4byte gUnk_08108C5C
|
||||
_0805B52C: .4byte gScreen
|
||||
_0805B530: .4byte 0x00001E07
|
||||
_0805B534: .4byte gRoomControls
|
||||
_0805B538: .4byte gUnk_08108C44
|
||||
@@ -1,78 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805B53C
|
||||
sub_0805B53C: @ 0x0805B53C
|
||||
push {lr}
|
||||
ldr r2, _0805B550 @ =gUnk_08108C64
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805B550: .4byte gUnk_08108C64
|
||||
|
||||
thumb_func_start sub_0805B554
|
||||
sub_0805B554: @ 0x0805B554
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
strb r1, [r0, #0xe]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0805B55C
|
||||
sub_0805B55C: @ 0x0805B55C
|
||||
push {r4, r5, lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805B5B4
|
||||
movs r0, #0xf
|
||||
strb r0, [r1, #0xe]
|
||||
movs r0, #0x19
|
||||
movs r1, #0
|
||||
bl CreateEnemy
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
beq _0805B5B4
|
||||
bl Random
|
||||
ldr r4, _0805B5B8 @ =gRoomControls
|
||||
ldr r2, _0805B5BC @ =gUnk_08108C6C
|
||||
movs r1, #7
|
||||
ands r1, r0
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r2
|
||||
ldrh r0, [r1]
|
||||
adds r0, #0x78
|
||||
ldrh r1, [r4, #0xa]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r5, #0x2e]
|
||||
bl Random
|
||||
ldr r2, _0805B5C0 @ =gUnk_08108C7C
|
||||
movs r1, #3
|
||||
ands r1, r0
|
||||
adds r1, r1, r2
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
adds r0, #0x50
|
||||
ldrh r4, [r4, #0xc]
|
||||
adds r0, r0, r4
|
||||
strh r0, [r5, #0x32]
|
||||
ldr r0, _0805B5C4 @ =0x0000FF38
|
||||
strh r0, [r5, #0x36]
|
||||
_0805B5B4:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805B5B8: .4byte gRoomControls
|
||||
_0805B5BC: .4byte gUnk_08108C6C
|
||||
_0805B5C0: .4byte gUnk_08108C7C
|
||||
_0805B5C4: .4byte 0x0000FF38
|
||||
@@ -1,95 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805B5C8
|
||||
sub_0805B5C8: @ 0x0805B5C8
|
||||
push {lr}
|
||||
ldr r2, _0805B5DC @ =gUnk_08108C80
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805B5DC: .4byte gUnk_08108C80
|
||||
|
||||
thumb_func_start sub_0805B5E0
|
||||
sub_0805B5E0: @ 0x0805B5E0
|
||||
push {r4, r5, lr}
|
||||
movs r4, #0
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
ldr r3, _0805B618 @ =gScreen
|
||||
ldrh r2, [r3]
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #4
|
||||
adds r1, r5, #0
|
||||
orrs r1, r2
|
||||
strh r1, [r3]
|
||||
ldr r2, _0805B61C @ =gUnk_08108C88
|
||||
ldrb r1, [r0, #0xa]
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r2
|
||||
ldrh r1, [r1]
|
||||
strh r1, [r3, #0x2c]
|
||||
ldr r1, _0805B620 @ =gRoomControls
|
||||
str r4, [r1, #0x2c]
|
||||
str r4, [r1, #0x28]
|
||||
ldrb r0, [r0, #0xa]
|
||||
cmp r0, #0
|
||||
beq _0805B612
|
||||
cmp r0, #1
|
||||
beq _0805B624
|
||||
_0805B612:
|
||||
strh r4, [r3, #0x30]
|
||||
strh r4, [r3, #0x2e]
|
||||
b _0805B634
|
||||
.align 2, 0
|
||||
_0805B618: .4byte gScreen
|
||||
_0805B61C: .4byte gUnk_08108C88
|
||||
_0805B620: .4byte gRoomControls
|
||||
_0805B624:
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r2, [r1, #0xa]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r3, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x30]
|
||||
_0805B634:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805B638
|
||||
sub_0805B638: @ 0x0805B638
|
||||
push {lr}
|
||||
ldrb r0, [r0, #0xa]
|
||||
cmp r0, #1
|
||||
bne _0805B65E
|
||||
ldr r1, _0805B660 @ =gRoomControls
|
||||
ldr r0, [r1, #0x28]
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #6
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x28]
|
||||
ldr r2, _0805B664 @ =gScreen
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r3, [r1, #0xa]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x30]
|
||||
_0805B65E:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805B660: .4byte gRoomControls
|
||||
_0805B664: .4byte gScreen
|
||||
@@ -1,99 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805B6F4
|
||||
sub_0805B6F4: @ 0x0805B6F4
|
||||
push {lr}
|
||||
ldr r2, _0805B708 @ =gUnk_08108C94
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805B708: .4byte gUnk_08108C94
|
||||
|
||||
thumb_func_start sub_0805B70C
|
||||
sub_0805B70C: @ 0x0805B70C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805B71E
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xb]
|
||||
_0805B71E:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r1, [r4, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r2, #0x3f
|
||||
ands r1, r2
|
||||
ldrh r0, [r4, #0x3a]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #0x38]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805B778
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805B744
|
||||
sub_0805B744: @ 0x0805B744
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0805B766
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #0
|
||||
bne _0805B774
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xb]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805B778
|
||||
b _0805B774
|
||||
_0805B766:
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #1
|
||||
bne _0805B774
|
||||
strb r1, [r4, #0xb]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805B778
|
||||
_0805B774:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805B778
|
||||
sub_0805B778: @ 0x0805B778
|
||||
push {lr}
|
||||
ldr r2, _0805B79C @ =gUnk_08108C9C
|
||||
ldrb r1, [r0, #0xa]
|
||||
lsls r1, r1, #1
|
||||
ldrb r3, [r0, #0xb]
|
||||
adds r1, r1, r3
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r2
|
||||
ldrh r3, [r1]
|
||||
movs r2, #0x38
|
||||
ldrsh r1, [r0, r2]
|
||||
adds r0, #0x36
|
||||
ldrb r2, [r0]
|
||||
adds r0, r3, #0
|
||||
bl SetTileType
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805B79C: .4byte gUnk_08108C9C
|
||||
-194
@@ -1,194 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805754C
|
||||
sub_0805754C: @ 0x0805754C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r2, r0, #0
|
||||
ldr r3, _080575BC @ =gRoomControls
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r3, r0]
|
||||
ldrh r0, [r3, #8]
|
||||
subs r1, r1, r0
|
||||
asrs r0, r1, #3
|
||||
adds r1, r1, r0
|
||||
ldr r4, _080575C0 @ =gScreen
|
||||
movs r6, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r6
|
||||
strh r0, [r4, #0x30]
|
||||
adds r0, r1, #0
|
||||
cmp r1, #0
|
||||
bge _08057570
|
||||
adds r0, #0x3f
|
||||
_08057570:
|
||||
asrs r0, r0, #6
|
||||
lsls r0, r0, #9
|
||||
ldr r5, _080575C4 @ =gMapDataTopSpecial
|
||||
adds r1, r0, r5
|
||||
str r1, [r4, #0x34]
|
||||
ldr r0, [r2, #0x38]
|
||||
cmp r0, r1
|
||||
beq _08057586
|
||||
str r1, [r2, #0x38]
|
||||
movs r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
_08057586:
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r3, r0]
|
||||
ldrh r0, [r3, #8]
|
||||
subs r1, r1, r0
|
||||
asrs r0, r1, #2
|
||||
adds r1, r1, r0
|
||||
adds r0, r1, #0
|
||||
ands r0, r6
|
||||
strh r0, [r4, #0x18]
|
||||
adds r0, r1, #0
|
||||
cmp r0, #0
|
||||
bge _080575A0
|
||||
adds r0, #0x3f
|
||||
_080575A0:
|
||||
asrs r0, r0, #6
|
||||
lsls r0, r0, #9
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #6
|
||||
adds r1, r5, r3
|
||||
adds r1, r0, r1
|
||||
str r1, [r4, #0x1c]
|
||||
ldr r0, [r2, #0x3c]
|
||||
cmp r0, r1
|
||||
beq _080575BA
|
||||
str r1, [r2, #0x3c]
|
||||
movs r0, #1
|
||||
strh r0, [r4, #0x1a]
|
||||
_080575BA:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080575BC: .4byte gRoomControls
|
||||
_080575C0: .4byte gScreen
|
||||
_080575C4: .4byte gMapDataTopSpecial
|
||||
|
||||
thumb_func_start sub_080575C8
|
||||
sub_080575C8: @ 0x080575C8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08057664 @ =gUnk_0200B650
|
||||
movs r5, #0
|
||||
str r5, [r0]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x13
|
||||
strh r5, [r0]
|
||||
adds r0, r4, #0
|
||||
bl LoadGfxGroup
|
||||
ldr r0, _08057668 @ =gRoomVars
|
||||
strb r4, [r0, #0x10]
|
||||
ldr r3, _0805766C @ =gRoomControls
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r3, r0]
|
||||
ldrh r0, [r3, #8]
|
||||
subs r1, r1, r0
|
||||
asrs r0, r1, #3
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08057670 @ =gScreen
|
||||
movs r7, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r7
|
||||
strh r0, [r2, #0x30]
|
||||
strh r5, [r2, #0x2e]
|
||||
adds r0, r1, #0
|
||||
cmp r1, #0
|
||||
bge _08057604
|
||||
adds r0, #0x3f
|
||||
_08057604:
|
||||
asrs r0, r0, #6
|
||||
lsls r0, r0, #9
|
||||
ldr r4, _08057674 @ =gMapDataTopSpecial
|
||||
adds r0, r0, r4
|
||||
str r0, [r2, #0x34]
|
||||
ldr r0, _08057678 @ =0x00001D49
|
||||
strh r0, [r2, #0x2c]
|
||||
movs r6, #1
|
||||
strh r6, [r2, #0x32]
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r3, r0]
|
||||
ldrh r0, [r3, #8]
|
||||
subs r1, r1, r0
|
||||
asrs r0, r1, #2
|
||||
adds r1, r1, r0
|
||||
adds r0, r1, #0
|
||||
ands r0, r7
|
||||
strh r0, [r2, #0x18]
|
||||
strh r5, [r2, #0x16]
|
||||
adds r0, r1, #0
|
||||
cmp r0, #0
|
||||
bge _08057632
|
||||
adds r0, #0x3f
|
||||
_08057632:
|
||||
asrs r0, r0, #6
|
||||
lsls r0, r0, #9
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #6
|
||||
adds r1, r4, r3
|
||||
adds r0, r0, r1
|
||||
str r0, [r2, #0x1c]
|
||||
ldr r0, _0805767C @ =0x00001E49
|
||||
strh r0, [r2, #0x14]
|
||||
strh r6, [r2, #0x1a]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x66
|
||||
ldr r0, _08057680 @ =0x00003C48
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
ldr r0, _08057684 @ =0x00000609
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r2]
|
||||
movs r3, #0xa0
|
||||
lsls r3, r3, #4
|
||||
adds r1, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08057664: .4byte gUnk_0200B650
|
||||
_08057668: .4byte gRoomVars
|
||||
_0805766C: .4byte gRoomControls
|
||||
_08057670: .4byte gScreen
|
||||
_08057674: .4byte gMapDataTopSpecial
|
||||
_08057678: .4byte 0x00001D49
|
||||
_0805767C: .4byte 0x00001E49
|
||||
_08057680: .4byte 0x00003C48
|
||||
_08057684: .4byte 0x00000609
|
||||
|
||||
thumb_func_start sub_08057688
|
||||
sub_08057688: @ 0x08057688
|
||||
ldr r0, _08057694 @ =gScreen
|
||||
ldr r1, _08057698 @ =0x00001D48
|
||||
strh r1, [r0, #0x2c]
|
||||
ldr r1, _0805769C @ =0x00001E48
|
||||
strh r1, [r0, #0x14]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08057694: .4byte gScreen
|
||||
_08057698: .4byte 0x00001D48
|
||||
_0805769C: .4byte 0x00001E48
|
||||
|
||||
thumb_func_start sub_080576A0
|
||||
sub_080576A0: @ 0x080576A0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _080576BC @ =gRoomVars
|
||||
ldrb r0, [r0, #0x10]
|
||||
bl LoadGfxGroup
|
||||
movs r0, #0
|
||||
str r0, [r4, #0x38]
|
||||
str r0, [r4, #0x3c]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805754C
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080576BC: .4byte gRoomVars
|
||||
-117
@@ -1,117 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805B820
|
||||
sub_0805B820: @ 0x0805B820
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r5, r0, #0
|
||||
ldrb r1, [r5, #0xc]
|
||||
cmp r1, #0
|
||||
bne _0805B834
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
str r1, [r5, #0x20]
|
||||
_0805B834:
|
||||
ldrb r0, [r5, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r4, r0, #0
|
||||
movs r7, #0
|
||||
ldrh r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _0805B8C4
|
||||
ldr r0, _0805B8A8 @ =gRoomControls
|
||||
mov r8, r0
|
||||
_0805B848:
|
||||
ldrh r0, [r4]
|
||||
ldrh r1, [r4, #2]
|
||||
movs r2, #4
|
||||
movs r3, #4
|
||||
bl CheckRectOnScreen
|
||||
cmp r0, #0
|
||||
beq _0805B8AC
|
||||
movs r6, #1
|
||||
lsls r6, r7
|
||||
ldr r0, [r5, #0x20]
|
||||
ands r0, r6
|
||||
cmp r0, #0
|
||||
bne _0805B8B6
|
||||
ldrh r0, [r4, #4]
|
||||
bl sub_0805B8CC
|
||||
cmp r0, #0
|
||||
beq _0805B8B6
|
||||
movs r0, #0x4e
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0805B8B6
|
||||
ldrh r0, [r4, #6]
|
||||
strb r0, [r1, #0xe]
|
||||
strb r7, [r1, #0xf]
|
||||
ldrh r0, [r4]
|
||||
mov r2, r8
|
||||
ldrh r2, [r2, #6]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r1, #0x2e]
|
||||
ldrh r0, [r4, #2]
|
||||
mov r3, r8
|
||||
ldrh r3, [r3, #8]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r1, #0x32]
|
||||
str r5, [r1, #0x50]
|
||||
adds r0, r1, #0
|
||||
bl sub_08016A30
|
||||
ldr r0, [r5, #0x20]
|
||||
orrs r0, r6
|
||||
b _0805B8B4
|
||||
.align 2, 0
|
||||
_0805B8A8: .4byte gRoomControls
|
||||
_0805B8AC:
|
||||
movs r1, #1
|
||||
lsls r1, r7
|
||||
ldr r0, [r5, #0x20]
|
||||
bics r0, r1
|
||||
_0805B8B4:
|
||||
str r0, [r5, #0x20]
|
||||
_0805B8B6:
|
||||
adds r4, #8
|
||||
adds r7, #1
|
||||
ldrh r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _0805B8C4
|
||||
cmp r7, #0x1f
|
||||
bls _0805B848
|
||||
_0805B8C4:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805B8CC
|
||||
sub_0805B8CC: @ 0x0805B8CC
|
||||
push {lr}
|
||||
cmp r0, #4
|
||||
bne _0805B8DA
|
||||
movs r0, #0x18
|
||||
bl CheckGlobalFlag
|
||||
b _0805B8E8
|
||||
_0805B8DA:
|
||||
cmp r0, #4
|
||||
bls _0805B8E6
|
||||
cmp r0, #6
|
||||
bhi _0805B8E6
|
||||
movs r0, #0
|
||||
b _0805B8E8
|
||||
_0805B8E6:
|
||||
movs r0, #1
|
||||
_0805B8E8:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
-454
@@ -1,454 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805B8EC
|
||||
sub_0805B8EC: @ 0x0805B8EC
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r4, _0805B964 @ =gArea
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805B90A
|
||||
bl sub_0801E104
|
||||
ldr r2, _0805B968 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805B96C @ =0x0000D7FF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
bl DeleteThisEntity
|
||||
_0805B90A:
|
||||
ldrb r2, [r5, #0xc]
|
||||
cmp r2, #0
|
||||
bne _0805B934
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r5, #0x10]
|
||||
movs r0, #0x11
|
||||
strb r0, [r5, #0xe]
|
||||
str r2, [r5, #0x20]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl sub_0801E120
|
||||
ldrb r0, [r5, #0xe]
|
||||
bl sub_0801E154
|
||||
_0805B934:
|
||||
ldr r0, _0805B970 @ =gMain
|
||||
ldrb r0, [r0, #4]
|
||||
cmp r0, #2
|
||||
bne _0805B952
|
||||
ldr r2, _0805B968 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
bl sub_0805BA78
|
||||
bl sub_0805BAD4
|
||||
_0805B952:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #2
|
||||
bne _0805B978
|
||||
ldr r2, _0805B968 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805B974 @ =0x0000DFFF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
b _0805BA6C
|
||||
.align 2, 0
|
||||
_0805B964: .4byte gArea
|
||||
_0805B968: .4byte gScreen
|
||||
_0805B96C: .4byte 0x0000D7FF
|
||||
_0805B970: .4byte gMain
|
||||
_0805B974: .4byte 0x0000DFFF
|
||||
_0805B978:
|
||||
ldr r3, _0805B9A8 @ =gPlayerEntity
|
||||
movs r4, #0x2e
|
||||
ldrsh r0, [r3, r4]
|
||||
ldr r2, _0805B9AC @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
subs r0, r0, r1
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r3, r6]
|
||||
ldrh r2, [r2, #8]
|
||||
subs r1, r1, r2
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
bl CheckRectOnScreen
|
||||
cmp r0, #0
|
||||
beq _0805B9B4
|
||||
ldr r2, _0805B9B0 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #6
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
b _0805B9BC
|
||||
.align 2, 0
|
||||
_0805B9A8: .4byte gPlayerEntity
|
||||
_0805B9AC: .4byte gRoomControls
|
||||
_0805B9B0: .4byte gScreen
|
||||
_0805B9B4:
|
||||
ldr r2, _0805B9E8 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805B9EC @ =0x0000DFFF
|
||||
ands r0, r1
|
||||
_0805B9BC:
|
||||
strh r0, [r2]
|
||||
ldrb r4, [r5, #0xe]
|
||||
ldr r0, _0805B9F0 @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805BA2C
|
||||
ldr r0, _0805B9F4 @ =gArea
|
||||
ldrb r0, [r0, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BA2C
|
||||
cmp r4, #0x47
|
||||
bhi _0805B9F8
|
||||
adds r4, #4
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E154
|
||||
movs r0, #0
|
||||
str r0, [r5, #0x20]
|
||||
b _0805BA42
|
||||
.align 2, 0
|
||||
_0805B9E8: .4byte gScreen
|
||||
_0805B9EC: .4byte 0x0000DFFF
|
||||
_0805B9F0: .4byte gPlayerState
|
||||
_0805B9F4: .4byte gArea
|
||||
_0805B9F8:
|
||||
ldr r0, _0805BA24 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805BA42
|
||||
ldrb r0, [r5, #0xf]
|
||||
adds r0, #0x10
|
||||
strb r0, [r5, #0xf]
|
||||
ldr r1, _0805BA28 @ =gSineTable
|
||||
ldrb r0, [r5, #0xf]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
movs r6, #0
|
||||
ldrsh r0, [r0, r6]
|
||||
asrs r0, r0, #7
|
||||
str r0, [r5, #0x20]
|
||||
adds r0, r4, r0
|
||||
bl sub_0801E154
|
||||
b _0805BA42
|
||||
.align 2, 0
|
||||
_0805BA24: .4byte gScreenTransition
|
||||
_0805BA28: .4byte gSineTable
|
||||
_0805BA2C:
|
||||
movs r0, #0
|
||||
str r0, [r5, #0x20]
|
||||
cmp r4, #0x11
|
||||
bls _0805BA42
|
||||
subs r4, #4
|
||||
cmp r4, #0x10
|
||||
bhi _0805BA3C
|
||||
movs r4, #0x11
|
||||
_0805BA3C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E154
|
||||
_0805BA42:
|
||||
strb r4, [r5, #0xe]
|
||||
ldr r3, _0805BA70 @ =gPlayerEntity
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r3, r1]
|
||||
ldr r2, _0805BA74 @ =gRoomControls
|
||||
movs r6, #0xa
|
||||
ldrsh r1, [r2, r6]
|
||||
subs r0, r0, r1
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r3, r6]
|
||||
movs r6, #0xc
|
||||
ldrsh r2, [r2, r6]
|
||||
subs r1, r1, r2
|
||||
movs r6, #0x36
|
||||
ldrsh r2, [r3, r6]
|
||||
subs r2, #9
|
||||
adds r1, r1, r2
|
||||
ldr r2, [r5, #0x20]
|
||||
adds r2, r4, r2
|
||||
bl sub_0801E160
|
||||
_0805BA6C:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0805BA70: .4byte gPlayerEntity
|
||||
_0805BA74: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805BA78
|
||||
sub_0805BA78: @ 0x0805BA78
|
||||
push {r4, lr}
|
||||
ldr r1, _0805BAA8 @ =gArea
|
||||
movs r0, #0xa
|
||||
ldrsh r3, [r1, r0]
|
||||
ldr r0, _0805BAAC @ =gRoomVars
|
||||
movs r4, #0xc
|
||||
ldrsh r2, [r0, r4]
|
||||
cmp r2, #0
|
||||
bge _0805BA8C
|
||||
movs r2, #0
|
||||
_0805BA8C:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
cmp r2, r0
|
||||
ble _0805BA96
|
||||
adds r2, r0, #0
|
||||
_0805BA96:
|
||||
cmp r3, r2
|
||||
beq _0805BACE
|
||||
subs r0, r2, r3
|
||||
cmp r0, #0
|
||||
blt _0805BAB0
|
||||
cmp r0, #4
|
||||
bls _0805BAB6
|
||||
b _0805BABA
|
||||
.align 2, 0
|
||||
_0805BAA8: .4byte gArea
|
||||
_0805BAAC: .4byte gRoomVars
|
||||
_0805BAB0:
|
||||
subs r0, r3, r2
|
||||
cmp r0, #4
|
||||
bhi _0805BABA
|
||||
_0805BAB6:
|
||||
adds r3, r2, #0
|
||||
b _0805BAC8
|
||||
_0805BABA:
|
||||
cmp r2, r3
|
||||
bge _0805BAC2
|
||||
subs r3, #4
|
||||
b _0805BAC8
|
||||
_0805BAC2:
|
||||
cmp r2, r3
|
||||
ble _0805BAC8
|
||||
adds r3, #4
|
||||
_0805BAC8:
|
||||
strh r3, [r1, #0xa]
|
||||
movs r0, #1
|
||||
b _0805BAD0
|
||||
_0805BACE:
|
||||
movs r0, #0
|
||||
_0805BAD0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805BAD4
|
||||
sub_0805BAD4: @ 0x0805BAD4
|
||||
push {lr}
|
||||
ldr r3, _0805BAF4 @ =gArea
|
||||
ldrb r0, [r3, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BAF2
|
||||
ldr r1, _0805BAF8 @ =gScreen
|
||||
ldr r2, _0805BAFC @ =gUnk_08108CA8
|
||||
ldrh r0, [r3, #0xa]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
adds r1, #0x68
|
||||
strh r0, [r1]
|
||||
_0805BAF2:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805BAF4: .4byte gArea
|
||||
_0805BAF8: .4byte gScreen
|
||||
_0805BAFC: .4byte gUnk_08108CA8
|
||||
|
||||
thumb_func_start sub_0805BB00
|
||||
sub_0805BB00: @ 0x0805BB00
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldr r0, _0805BB50 @ =gArea
|
||||
ldrb r0, [r0, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805BB28
|
||||
bl GetEmptyManager
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0805BB28
|
||||
movs r0, #9
|
||||
strb r0, [r1, #8]
|
||||
movs r0, #0x22
|
||||
strb r0, [r1, #9]
|
||||
adds r0, r1, #0
|
||||
movs r1, #0
|
||||
bl AppendEntityToList
|
||||
_0805BB28:
|
||||
ldr r1, _0805BB54 @ =0x0600F000
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #4
|
||||
movs r0, #0xf
|
||||
bl MemFill16
|
||||
ldr r0, _0805BB58 @ =gScreen
|
||||
ldr r1, _0805BB5C @ =0x00001E0C
|
||||
strh r1, [r0, #0x2c]
|
||||
adds r0, #0x66
|
||||
ldr r1, _0805BB60 @ =0x00003E48
|
||||
strh r1, [r0]
|
||||
ldr r0, _0805BB64 @ =gRoomVars
|
||||
strh r4, [r0, #0xc]
|
||||
cmp r5, #0
|
||||
beq _0805BB68
|
||||
ldr r1, _0805BB50 @ =gArea
|
||||
movs r0, #1
|
||||
b _0805BB6C
|
||||
.align 2, 0
|
||||
_0805BB50: .4byte gArea
|
||||
_0805BB54: .4byte 0x0600F000
|
||||
_0805BB58: .4byte gScreen
|
||||
_0805BB5C: .4byte 0x00001E0C
|
||||
_0805BB60: .4byte 0x00003E48
|
||||
_0805BB64: .4byte gRoomVars
|
||||
_0805BB68:
|
||||
ldr r1, _0805BB70 @ =gArea
|
||||
movs r0, #2
|
||||
_0805BB6C:
|
||||
strb r0, [r1, #0xc]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805BB70: .4byte gArea
|
||||
|
||||
thumb_func_start sub_0805BB74
|
||||
sub_0805BB74: @ 0x0805BB74
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r2, _0805BBB0 @ =gRoomVars
|
||||
cmp r1, #0
|
||||
bge _0805BB82
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r2, r0]
|
||||
_0805BB82:
|
||||
ldr r0, _0805BBB4 @ =gArea
|
||||
strh r1, [r0, #0xa]
|
||||
strh r1, [r2, #0xc]
|
||||
movs r0, #9
|
||||
movs r1, #0x22
|
||||
bl DeepFindEntityByID
|
||||
cmp r0, #0
|
||||
beq _0805BBAE
|
||||
bl sub_0805B8EC
|
||||
ldr r0, _0805BBB8 @ =gScreen
|
||||
ldrh r1, [r0]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r2, r3, #0
|
||||
orrs r1, r2
|
||||
strh r1, [r0]
|
||||
bl sub_0805BA78
|
||||
bl sub_0805BAD4
|
||||
_0805BBAE:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805BBB0: .4byte gRoomVars
|
||||
_0805BBB4: .4byte gArea
|
||||
_0805BBB8: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_0805BBBC
|
||||
sub_0805BBBC: @ 0x0805BBBC
|
||||
push {r4, lr}
|
||||
movs r4, #0
|
||||
ldr r2, _0805BBF8 @ =gArea
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BBF2
|
||||
ldr r0, _0805BBFC @ =gRoomVars
|
||||
movs r3, #0xc
|
||||
ldrsh r1, [r0, r3]
|
||||
movs r3, #0xa
|
||||
ldrsh r0, [r2, r3]
|
||||
cmp r1, r0
|
||||
bge _0805BBF2
|
||||
ldr r2, _0805BC00 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
bl sub_0805BA78
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0805BBF2
|
||||
bl sub_0805BAD4
|
||||
_0805BBF2:
|
||||
adds r0, r4, #0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805BBF8: .4byte gArea
|
||||
_0805BBFC: .4byte gRoomVars
|
||||
_0805BC00: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_0805BC04
|
||||
sub_0805BC04: @ 0x0805BC04
|
||||
push {r4, lr}
|
||||
movs r4, #0
|
||||
ldr r2, _0805BC40 @ =gArea
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BC3A
|
||||
ldr r0, _0805BC44 @ =gRoomVars
|
||||
movs r3, #0xc
|
||||
ldrsh r1, [r0, r3]
|
||||
movs r3, #0xa
|
||||
ldrsh r0, [r2, r3]
|
||||
cmp r1, r0
|
||||
ble _0805BC3A
|
||||
ldr r2, _0805BC48 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
bl sub_0805BA78
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0805BC3A
|
||||
bl sub_0805BAD4
|
||||
_0805BC3A:
|
||||
adds r0, r4, #0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805BC40: .4byte gArea
|
||||
_0805BC44: .4byte gRoomVars
|
||||
_0805BC48: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_0805BC4C
|
||||
sub_0805BC4C: @ 0x0805BC4C
|
||||
push {lr}
|
||||
ldr r1, _0805BC68 @ =gArea
|
||||
ldrb r0, [r1, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BC64
|
||||
movs r0, #0
|
||||
strb r0, [r1, #0xc]
|
||||
ldr r2, _0805BC6C @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805BC70 @ =0x0000D7FF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
_0805BC64:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805BC68: .4byte gArea
|
||||
_0805BC6C: .4byte gScreen
|
||||
_0805BC70: .4byte 0x0000D7FF
|
||||
-348
@@ -1,348 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805BC74
|
||||
sub_0805BC74: @ 0x0805BC74
|
||||
push {lr}
|
||||
ldr r2, _0805BC88 @ =gUnk_08108CCC
|
||||
ldrb r1, [r0, #0xa]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805BC88: .4byte gUnk_08108CCC
|
||||
|
||||
thumb_func_start sub_0805BC8C
|
||||
sub_0805BC8C: @ 0x0805BC8C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805BCAE
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xf]
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805BCAE
|
||||
adds r0, r4, #0
|
||||
bl sub_0805BE94
|
||||
_0805BCAE:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805BCD0
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805BCD0
|
||||
adds r0, r4, #0
|
||||
bl sub_0805BEC4
|
||||
adds r0, r4, #0
|
||||
bl sub_0805BE94
|
||||
_0805BCD0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805BCD4
|
||||
sub_0805BCD4: @ 0x0805BCD4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _0805BD0E
|
||||
cmp r0, #1
|
||||
bgt _0805BCE8
|
||||
cmp r0, #0
|
||||
beq _0805BCEE
|
||||
b _0805BD5A
|
||||
_0805BCE8:
|
||||
cmp r0, #2
|
||||
beq _0805BD38
|
||||
b _0805BD5A
|
||||
_0805BCEE:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xf]
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805BD5A
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x75
|
||||
bl sub_0805BE70
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
b _0805BD5A
|
||||
_0805BD0E:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805BD5A
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805BD5A
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805BEC4
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x76
|
||||
bl sub_0805BE70
|
||||
b _0805BD5A
|
||||
_0805BD38:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
bne _0805BD5A
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805BD5A
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x75
|
||||
bl sub_0805BE70
|
||||
_0805BD5A:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0805BD5C
|
||||
sub_0805BD5C: @ 0x0805BD5C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805BD94
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805BD76
|
||||
adds r0, r4, #0
|
||||
bl sub_0805BE94
|
||||
_0805BD76:
|
||||
ldrh r1, [r4, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r2, #0x3f
|
||||
ands r1, r2
|
||||
ldrh r0, [r4, #0x3a]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #0x20]
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
b _0805BDB0
|
||||
_0805BD94:
|
||||
ldrh r0, [r4, #0x20]
|
||||
ldrb r1, [r4, #0xb]
|
||||
bl GetTileType
|
||||
cmp r0, #0x76
|
||||
bne _0805BDB0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl SetFlag
|
||||
ldrb r0, [r4, #0xe]
|
||||
bl sub_0805308C
|
||||
bl DeleteThisEntity
|
||||
_0805BDB0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805BDB4
|
||||
sub_0805BDB4: @ 0x0805BDB4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BDF4
|
||||
cmp r0, #1
|
||||
beq _0805BE2C
|
||||
ldrh r0, [r4, #0x22]
|
||||
subs r0, #1
|
||||
strh r0, [r4, #0x22]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _0805BE58
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x3a
|
||||
ldrsh r1, [r4, r2]
|
||||
ldrb r2, [r4, #0xb]
|
||||
bl CreateDustAt
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl ClearFlag
|
||||
ldrh r0, [r4, #0x20]
|
||||
ldrb r1, [r4, #0xb]
|
||||
bl sub_0807BA8C
|
||||
ldrb r0, [r4, #0xe]
|
||||
rsbs r0, r0, #0
|
||||
bl sub_0805308C
|
||||
b _0805BE26
|
||||
_0805BDF4:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
bne _0805BE08
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805BE0E
|
||||
_0805BE08:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805BE94
|
||||
_0805BE0E:
|
||||
ldrh r1, [r4, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r2, #0x3f
|
||||
ands r1, r2
|
||||
ldrh r0, [r4, #0x3a]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #0x20]
|
||||
_0805BE26:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
b _0805BE6C
|
||||
_0805BE2C:
|
||||
ldrh r0, [r4, #0x20]
|
||||
ldrb r1, [r4, #0xb]
|
||||
bl GetTileType
|
||||
cmp r0, #0x76
|
||||
bne _0805BE6C
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl SetFlag
|
||||
ldrb r0, [r4, #0xe]
|
||||
bl sub_0805308C
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x36
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, #4
|
||||
subs r0, r0, r1
|
||||
lsls r0, r0, #2
|
||||
strh r0, [r4, #0x22]
|
||||
b _0805BE6C
|
||||
_0805BE58:
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805BE6C
|
||||
adds r0, r4, #0
|
||||
bl sub_0805BEC4
|
||||
bl DeleteThisEntity
|
||||
_0805BE6C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805BE70
|
||||
sub_0805BE70: @ 0x0805BE70
|
||||
push {r4, lr}
|
||||
adds r4, r1, #0
|
||||
ldrh r1, [r0, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
ldrh r2, [r0, #0x3a]
|
||||
lsls r2, r2, #0x10
|
||||
asrs r2, r2, #0x14
|
||||
ands r2, r3
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
ldrb r2, [r0, #0xb]
|
||||
adds r0, r4, #0
|
||||
bl SetTileType
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0805BE94
|
||||
sub_0805BE94: @ 0x0805BE94
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r1, [r4, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r2, #0x3f
|
||||
ands r1, r2
|
||||
ldrh r0, [r4, #0x3a]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
ldrb r2, [r4, #0xb]
|
||||
movs r0, #0x76
|
||||
bl SetTileType
|
||||
ldrb r0, [r4, #0xe]
|
||||
bl sub_0805308C
|
||||
bl DeleteThisEntity
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805BEC4
|
||||
sub_0805BEC4: @ 0x0805BEC4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x2a
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805BF10
|
||||
ldrb r1, [r2, #0x11]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x11]
|
||||
ldr r1, _0805BF14 @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
ldrh r3, [r4, #0x38]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #8]
|
||||
ldrh r1, [r4, #0x3a]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x32]
|
||||
ldrb r1, [r4, #0xb]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
_0805BF10:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805BF14: .4byte gRoomControls
|
||||
-876
@@ -1,876 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805BF18
|
||||
sub_0805BF18: @ 0x0805BF18
|
||||
push {lr}
|
||||
ldr r2, _0805BF2C @ =gUnk_08108CDC
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805BF2C: .4byte gUnk_08108CDC
|
||||
|
||||
thumb_func_start sub_0805BF30
|
||||
sub_0805BF30: @ 0x0805BF30
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r1, [r4, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r2, #0x3f
|
||||
ands r1, r2
|
||||
ldrh r0, [r4, #0x3a]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #0x3c]
|
||||
ldrh r0, [r4, #0x3c]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x35
|
||||
ldrb r1, [r1]
|
||||
bl sub_0805BFC4
|
||||
strb r0, [r4, #0xa]
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0805BF74
|
||||
adds r0, r4, #0
|
||||
bl sub_0805C02C
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
_0805BF74:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805BF78
|
||||
sub_0805BF78: @ 0x0805BF78
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3c]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x35
|
||||
ldrb r1, [r1]
|
||||
bl sub_080002C8
|
||||
cmp r0, #0x2e
|
||||
beq _0805BFA0
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x5a
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805C02C
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl SetLocalFlag
|
||||
_0805BFA0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805BFA4
|
||||
sub_0805BFA4: @ 0x0805BFA4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805BFC0
|
||||
movs r0, #0x72
|
||||
bl SoundReq
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
_0805BFC0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805BFC4
|
||||
sub_0805BFC4: @ 0x0805BFC4
|
||||
push {lr}
|
||||
bl GetTileType
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0xec
|
||||
beq _0805C018
|
||||
cmp r1, #0xec
|
||||
bhi _0805BFEC
|
||||
cmp r1, #0xbf
|
||||
beq _0805C024
|
||||
cmp r1, #0xbf
|
||||
bhi _0805BFE2
|
||||
cmp r1, #0xaf
|
||||
beq _0805C014
|
||||
b _0805C028
|
||||
_0805BFE2:
|
||||
cmp r1, #0xcc
|
||||
beq _0805C01C
|
||||
cmp r1, #0xdf
|
||||
beq _0805C020
|
||||
b _0805C028
|
||||
_0805BFEC:
|
||||
movs r0, #0x84
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
beq _0805C01C
|
||||
cmp r1, r0
|
||||
bhi _0805C004
|
||||
cmp r1, #0xff
|
||||
beq _0805C014
|
||||
subs r0, #3
|
||||
cmp r1, r0
|
||||
beq _0805C024
|
||||
b _0805C028
|
||||
_0805C004:
|
||||
movs r0, #0x88
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
beq _0805C020
|
||||
adds r0, #5
|
||||
cmp r1, r0
|
||||
beq _0805C018
|
||||
b _0805C028
|
||||
_0805C014:
|
||||
movs r0, #0
|
||||
b _0805C02A
|
||||
_0805C018:
|
||||
movs r0, #1
|
||||
b _0805C02A
|
||||
_0805C01C:
|
||||
movs r0, #2
|
||||
b _0805C02A
|
||||
_0805C020:
|
||||
movs r0, #3
|
||||
b _0805C02A
|
||||
_0805C024:
|
||||
movs r0, #4
|
||||
b _0805C02A
|
||||
_0805C028:
|
||||
movs r0, #0xff
|
||||
_0805C02A:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0805C02C
|
||||
sub_0805C02C: @ 0x0805C02C
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xa]
|
||||
cmp r0, #0xff
|
||||
beq _0805C04A
|
||||
ldr r0, _0805C04C @ =gUnk_08108CE8
|
||||
ldrb r2, [r1, #0xa]
|
||||
lsls r2, r2, #2
|
||||
adds r2, r2, r0
|
||||
ldrh r0, [r1, #0x3c]
|
||||
adds r1, #0x35
|
||||
ldrb r1, [r1]
|
||||
ldr r2, [r2]
|
||||
bl _call_via_r2
|
||||
_0805C04A:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805C04C: .4byte gUnk_08108CE8
|
||||
|
||||
thumb_func_start sub_0805C050
|
||||
sub_0805C050: @ 0x0805C050
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x41
|
||||
movs r0, #0xb1
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x40
|
||||
movs r0, #0xb2
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x3f
|
||||
movs r0, #0xb3
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
subs r1, r5, #1
|
||||
movs r0, #0xb4
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #1
|
||||
movs r0, #0xb7
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
cmp r4, #1
|
||||
bne _0805C11C
|
||||
bl sub_08052670
|
||||
cmp r0, #0
|
||||
beq _0805C0D8
|
||||
movs r0, #0x4f
|
||||
movs r1, #0xe
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _0805C0E0
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
adds r0, #8
|
||||
ldr r2, _0805C0D0 @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r3, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
ldr r1, _0805C0D4 @ =0x0000FFF8
|
||||
adds r0, r0, r1
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r3, #0x32]
|
||||
b _0805C0E0
|
||||
.align 2, 0
|
||||
_0805C0D0: .4byte gRoomControls
|
||||
_0805C0D4: .4byte 0x0000FFF8
|
||||
_0805C0D8:
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C0EC
|
||||
_0805C0E0:
|
||||
movs r0, #0xb5
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
b _0805C0F6
|
||||
_0805C0EC:
|
||||
movs r0, #0xb6
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
_0805C0F6:
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x41
|
||||
movs r0, #0xb8
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x40
|
||||
movs r0, #0xb9
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x3f
|
||||
movs r0, #0xba
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
b _0805C16E
|
||||
_0805C11C:
|
||||
movs r0, #0xb5
|
||||
adds r1, r5, #0
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C16E
|
||||
bl sub_0805C608
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x4f
|
||||
movs r2, #6
|
||||
bl CreateObject
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _0805C16E
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
adds r0, #8
|
||||
ldr r2, _0805C170 @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r3, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
ldr r1, _0805C174 @ =0x0000FFF0
|
||||
adds r0, r0, r1
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r3, #0x32]
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
_0805C16E:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805C170: .4byte gRoomControls
|
||||
_0805C174: .4byte 0x0000FFF0
|
||||
|
||||
thumb_func_start sub_0805C178
|
||||
sub_0805C178: @ 0x0805C178
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x40
|
||||
movs r0, #0xf1
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x3f
|
||||
movs r0, #0xf5
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #1
|
||||
movs r0, #0xf6
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x40
|
||||
movs r0, #0xf4
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x41
|
||||
movs r0, #0xf7
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
cmp r4, #1
|
||||
bne _0805C23E
|
||||
bl sub_08052670
|
||||
cmp r0, #0
|
||||
beq _0805C1FC
|
||||
movs r0, #0x4f
|
||||
movs r1, #0xe
|
||||
movs r2, #1
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805C204
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
ldr r1, _0805C1F8 @ =gRoomControls
|
||||
adds r0, #0x18
|
||||
ldrh r3, [r1, #6]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
adds r0, #8
|
||||
ldrh r1, [r1, #8]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r2, #0x32]
|
||||
b _0805C204
|
||||
.align 2, 0
|
||||
_0805C1F8: .4byte gRoomControls
|
||||
_0805C1FC:
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C210
|
||||
_0805C204:
|
||||
movs r0, #0xf2
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
b _0805C21A
|
||||
_0805C210:
|
||||
movs r0, #0xf3
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
_0805C21A:
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x3f
|
||||
movs r0, #0xf8
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #1
|
||||
movs r0, #0xf9
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x41
|
||||
movs r0, #0xfa
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
b _0805C28E
|
||||
_0805C23E:
|
||||
movs r0, #0xf2
|
||||
adds r1, r5, #0
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C28E
|
||||
bl sub_0805C608
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x4f
|
||||
movs r2, #7
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805C28E
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
ldr r1, _0805C290 @ =gRoomControls
|
||||
adds r0, #0x20
|
||||
ldrh r3, [r1, #6]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
adds r0, #8
|
||||
ldrh r1, [r1, #8]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r2, #0x32]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
_0805C28E:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805C290: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805C294
|
||||
sub_0805C294: @ 0x0805C294
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
subs r1, r5, #1
|
||||
movs r0, #0xd1
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #1
|
||||
movs r0, #0xd4
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0xd5
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x40
|
||||
movs r0, #0xd6
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x41
|
||||
movs r0, #0xd7
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
cmp r4, #1
|
||||
bne _0805C35C
|
||||
bl sub_08052670
|
||||
cmp r0, #0
|
||||
beq _0805C318
|
||||
movs r0, #0x4f
|
||||
movs r1, #0xe
|
||||
movs r2, #2
|
||||
bl CreateObject
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _0805C320
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
adds r0, #8
|
||||
ldr r2, _0805C314 @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r3, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
adds r0, #0x20
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r3, #0x32]
|
||||
b _0805C320
|
||||
.align 2, 0
|
||||
_0805C314: .4byte gRoomControls
|
||||
_0805C318:
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C32C
|
||||
_0805C320:
|
||||
movs r0, #0xd2
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
b _0805C336
|
||||
_0805C32C:
|
||||
movs r0, #0xd3
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
_0805C336:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0xd8
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x40
|
||||
movs r0, #0xd9
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x41
|
||||
movs r0, #0xda
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
b _0805C3AC
|
||||
_0805C35C:
|
||||
movs r0, #0xd2
|
||||
adds r1, r5, #0
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C3AC
|
||||
bl sub_0805C608
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x4f
|
||||
movs r2, #8
|
||||
bl CreateObject
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _0805C3AC
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
adds r0, #8
|
||||
ldr r2, _0805C3B0 @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r3, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
adds r0, #0x20
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r3, #0x32]
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
_0805C3AC:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805C3B0: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805C3B4
|
||||
sub_0805C3B4: @ 0x0805C3B4
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x41
|
||||
movs r0, #0xe1
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x40
|
||||
movs r0, #0xe4
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
subs r1, r5, #1
|
||||
movs r0, #0xe2
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0xe3
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x40
|
||||
movs r0, #0xe7
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
cmp r4, #1
|
||||
bne _0805C482
|
||||
bl sub_08052670
|
||||
cmp r0, #0
|
||||
beq _0805C440
|
||||
movs r0, #0x4f
|
||||
movs r1, #0xe
|
||||
movs r2, #3
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805C448
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
ldr r1, _0805C438 @ =gRoomControls
|
||||
ldr r3, _0805C43C @ =0x0000FFF0
|
||||
adds r0, r0, r3
|
||||
ldrh r3, [r1, #6]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
adds r0, #8
|
||||
ldrh r1, [r1, #8]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r2, #0x32]
|
||||
b _0805C448
|
||||
.align 2, 0
|
||||
_0805C438: .4byte gRoomControls
|
||||
_0805C43C: .4byte 0x0000FFF0
|
||||
_0805C440:
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C454
|
||||
_0805C448:
|
||||
movs r0, #0xe5
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
b _0805C45E
|
||||
_0805C454:
|
||||
movs r0, #0xe6
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
_0805C45E:
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x41
|
||||
movs r0, #0xe8
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
subs r1, r5, #1
|
||||
movs r0, #0xe9
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0xea
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
b _0805C4D4
|
||||
_0805C482:
|
||||
movs r0, #0xe5
|
||||
adds r1, r5, #0
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C4D4
|
||||
bl sub_0805C608
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x4f
|
||||
movs r2, #9
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805C4D4
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
ldr r1, _0805C4D8 @ =gRoomControls
|
||||
ldr r3, _0805C4DC @ =0x0000FFF0
|
||||
adds r0, r0, r3
|
||||
ldrh r3, [r1, #6]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
adds r0, #8
|
||||
ldrh r1, [r1, #8]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r2, #0x32]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
_0805C4D4:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805C4D8: .4byte gRoomControls
|
||||
_0805C4DC: .4byte 0x0000FFF0
|
||||
|
||||
thumb_func_start sub_0805C4E0
|
||||
sub_0805C4E0: @ 0x0805C4E0
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x41
|
||||
movs r0, #0xc1
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x40
|
||||
movs r0, #0xc2
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x3f
|
||||
movs r0, #0xc3
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
subs r1, r5, #1
|
||||
movs r0, #0xc4
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
adds r1, r5, #1
|
||||
movs r0, #0xc7
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
cmp r4, #1
|
||||
bne _0805C5AC
|
||||
bl sub_08052670
|
||||
cmp r0, #0
|
||||
beq _0805C568
|
||||
movs r0, #0x4f
|
||||
movs r1, #0xe
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _0805C570
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
adds r0, #8
|
||||
ldr r2, _0805C560 @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r3, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
ldr r1, _0805C564 @ =0x0000FFF0
|
||||
adds r0, r0, r1
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r3, #0x32]
|
||||
b _0805C570
|
||||
.align 2, 0
|
||||
_0805C560: .4byte gRoomControls
|
||||
_0805C564: .4byte 0x0000FFF0
|
||||
_0805C568:
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C57C
|
||||
_0805C570:
|
||||
movs r0, #0xc5
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
b _0805C586
|
||||
_0805C57C:
|
||||
movs r0, #0xc6
|
||||
adds r1, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
_0805C586:
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x41
|
||||
movs r0, #0xc8
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x40
|
||||
movs r0, #0xc9
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
adds r1, r5, #0
|
||||
subs r1, #0x3f
|
||||
movs r0, #0xca
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
b _0805C5FE
|
||||
_0805C5AC:
|
||||
movs r0, #0xc5
|
||||
adds r1, r5, #0
|
||||
movs r2, #2
|
||||
bl SetTileType
|
||||
bl CheckIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0805C5FE
|
||||
bl sub_0805C608
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x4f
|
||||
movs r2, #6
|
||||
bl CreateObject
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _0805C5FE
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
adds r0, #8
|
||||
ldr r2, _0805C600 @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r3, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
ldr r1, _0805C604 @ =0x0000FFF0
|
||||
adds r0, r0, r1
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r3, #0x32]
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
_0805C5FE:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805C600: .4byte gRoomControls
|
||||
_0805C604: .4byte 0x0000FFF0
|
||||
|
||||
thumb_func_start sub_0805C608
|
||||
sub_0805C608: @ 0x0805C608
|
||||
ldr r1, _0805C614 @ =gUnk_08108CFC
|
||||
ldr r0, _0805C618 @ =gArea
|
||||
ldrb r0, [r0, #3]
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805C614: .4byte gUnk_08108CFC
|
||||
_0805C618: .4byte gArea
|
||||
@@ -1,82 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805C61C
|
||||
sub_0805C61C: @ 0x0805C61C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805C674
|
||||
movs r0, #0x38
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r2, _0805C668 @ =gRoomControls
|
||||
ldrh r0, [r2, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
movs r5, #0x3a
|
||||
ldrsh r0, [r4, r5]
|
||||
ldrh r2, [r2, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r3
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
strh r1, [r4, #0x38]
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r1, #2
|
||||
bl GetTileType
|
||||
cmp r0, #0x75
|
||||
bne _0805C670
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r0, _0805C66C @ =0x0000406A
|
||||
movs r2, #0x38
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
b _0805C674
|
||||
.align 2, 0
|
||||
_0805C668: .4byte gRoomControls
|
||||
_0805C66C: .4byte 0x0000406A
|
||||
_0805C670:
|
||||
bl DeleteThisEntity
|
||||
_0805C674:
|
||||
movs r5, #0x38
|
||||
ldrsh r0, [r4, r5]
|
||||
movs r1, #1
|
||||
bl GetTileType
|
||||
ldr r5, _0805C6B4 @ =0x0000406B
|
||||
cmp r0, r5
|
||||
bne _0805C694
|
||||
movs r0, #0x38
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r0, #0x76
|
||||
movs r2, #2
|
||||
bl sub_0807B7D8
|
||||
bl DeleteThisEntity
|
||||
_0805C694:
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r1, #2
|
||||
bl GetTileType
|
||||
cmp r0, #0x76
|
||||
bne _0805C6B2
|
||||
movs r2, #0x38
|
||||
ldrsh r1, [r4, r2]
|
||||
adds r0, r5, #0
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
bl DeleteThisEntity
|
||||
_0805C6B2:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805C6B4: .4byte 0x0000406B
|
||||
@@ -1,56 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805CFC0
|
||||
sub_0805CFC0: @ 0x0805CFC0
|
||||
push {r4, lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805CFCE
|
||||
adds r0, #1
|
||||
strb r0, [r1, #0xc]
|
||||
_0805CFCE:
|
||||
movs r0, #3
|
||||
bl GetCurrentRoomProperty
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0805CFEE
|
||||
b _0805CFE8
|
||||
_0805CFDC:
|
||||
cmp r0, #0xa
|
||||
bne _0805CFE6
|
||||
adds r0, r4, #0
|
||||
bl sub_0805CFF0
|
||||
_0805CFE6:
|
||||
adds r4, #8
|
||||
_0805CFE8:
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
bne _0805CFDC
|
||||
_0805CFEE:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0805CFF0
|
||||
sub_0805CFF0: @ 0x0805CFF0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #2]
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0805D012
|
||||
ldrh r0, [r4, #4]
|
||||
ldrb r1, [r4, #1]
|
||||
bl GetTileType
|
||||
ldrh r1, [r4, #6]
|
||||
cmp r1, r0
|
||||
bne _0805D012
|
||||
ldrh r0, [r4, #2]
|
||||
bl SetLocalFlag
|
||||
_0805D012:
|
||||
pop {r4, pc}
|
||||
-189
@@ -1,189 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805D014
|
||||
sub_0805D014: @ 0x0805D014
|
||||
push {lr}
|
||||
ldr r2, _0805D028 @ =gUnk_08108D30
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805D028: .4byte gUnk_08108D30
|
||||
|
||||
thumb_func_start sub_0805D02C
|
||||
sub_0805D02C: @ 0x0805D02C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
adds r6, r0, #0
|
||||
ldrh r0, [r6, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805D046
|
||||
bl DeleteThisEntity
|
||||
_0805D046:
|
||||
ldr r0, _0805D0BC @ =gEntCount
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x43
|
||||
bhi _0805D0B0
|
||||
ldrb r0, [r6, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r5, r0, #0
|
||||
movs r7, #0
|
||||
movs r0, #0x36
|
||||
adds r0, r0, r6
|
||||
mov sl, r0
|
||||
ldr r1, _0805D0C0 @ =gRoomControls
|
||||
mov r8, r1
|
||||
movs r0, #0x20
|
||||
adds r0, r0, r6
|
||||
mov sb, r0
|
||||
_0805D068:
|
||||
ldrh r1, [r5, #4]
|
||||
movs r0, #0xa0
|
||||
adds r2, r7, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
mov r1, r8
|
||||
ldrh r0, [r1, #6]
|
||||
ldrh r1, [r5]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
mov r1, r8
|
||||
ldrh r0, [r1, #8]
|
||||
ldrh r1, [r5, #2]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
str r6, [r4, #0x50]
|
||||
adds r0, r4, #0
|
||||
bl sub_08016A30
|
||||
mov r0, sb
|
||||
adds r0, #4
|
||||
mov sb, r0
|
||||
subs r0, #4
|
||||
stm r0!, {r4}
|
||||
adds r7, #1
|
||||
adds r5, #6
|
||||
cmp r7, #3
|
||||
bls _0805D068
|
||||
movs r0, #0
|
||||
movs r1, #1
|
||||
strb r1, [r6, #0xc]
|
||||
movs r1, #0x3c
|
||||
strb r1, [r6, #0xf]
|
||||
mov r1, sl
|
||||
strb r0, [r1]
|
||||
_0805D0B0:
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805D0BC: .4byte gEntCount
|
||||
_0805D0C0: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805D0C4
|
||||
sub_0805D0C4: @ 0x0805D0C4
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805D0D8
|
||||
movs r0, #0xb4
|
||||
strb r0, [r4, #0xf]
|
||||
_0805D0D8:
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x36
|
||||
ldrb r0, [r5]
|
||||
cmp r0, #0xf
|
||||
bne _0805D0F6
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0x72
|
||||
bl SoundReq
|
||||
adds r0, r4, #0
|
||||
bl sub_0805D11C
|
||||
_0805D0F6:
|
||||
movs r0, #0
|
||||
strb r0, [r5]
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0805D0FC
|
||||
sub_0805D0FC: @ 0x0805D0FC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805D118
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl SetFlag
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
_0805D118:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805D11C
|
||||
sub_0805D11C: @ 0x0805D11C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
movs r6, #0
|
||||
ldr r1, _0805D170 @ =gRoomControls
|
||||
mov r8, r1
|
||||
movs r7, #0x3f
|
||||
adds r5, r0, #0
|
||||
adds r5, #0x20
|
||||
_0805D12E:
|
||||
ldr r4, [r5]
|
||||
movs r0, #0
|
||||
stm r5!, {r0}
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r4, r2]
|
||||
mov r3, r8
|
||||
ldrh r1, [r3, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r7
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r4, r2]
|
||||
ldrh r2, [r3, #8]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
ands r1, r7
|
||||
lsls r1, r1, #6
|
||||
orrs r0, r1
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r4, #0
|
||||
bl DeleteEntity
|
||||
adds r6, #1
|
||||
cmp r6, #3
|
||||
bls _0805D12E
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805D170: .4byte gRoomControls
|
||||
@@ -1,76 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805D174
|
||||
sub_0805D174: @ 0x0805D174
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r1, [r5, #0xc]
|
||||
cmp r1, #0
|
||||
bne _0805D184
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
strh r1, [r5, #0x3a]
|
||||
_0805D184:
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r5, r1]
|
||||
movs r2, #0x3a
|
||||
ldrsh r1, [r5, r2]
|
||||
movs r2, #0x14
|
||||
movs r3, #0x40
|
||||
bl CheckPlayerInRegion
|
||||
cmp r0, #0
|
||||
beq _0805D1EE
|
||||
ldr r0, _0805D1F0 @ =gPlayerEntity
|
||||
movs r4, #0x32
|
||||
ldrsh r1, [r0, r4]
|
||||
ldr r3, _0805D1F4 @ =gRoomControls
|
||||
ldrh r2, [r3, #8]
|
||||
subs r1, r1, r2
|
||||
movs r4, #0x36
|
||||
ldrsh r0, [r0, r4]
|
||||
adds r1, r1, r0
|
||||
cmp r1, #0
|
||||
bge _0805D1EE
|
||||
movs r1, #0xc
|
||||
ldrsh r0, [r3, r1]
|
||||
cmp r0, r2
|
||||
bne _0805D1EE
|
||||
ldr r4, _0805D1F8 @ =gUnk_030010AC
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x20
|
||||
bl MemClear
|
||||
subs r4, #0xc
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #8]
|
||||
strb r1, [r4, #9]
|
||||
movs r0, #0xb
|
||||
strb r0, [r4, #0xf]
|
||||
ldrb r0, [r5, #0xb]
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r5, #0xe]
|
||||
strb r0, [r4, #0xd]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x37
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
ldrh r0, [r5, #0x3c]
|
||||
strh r0, [r4, #0x10]
|
||||
ldrh r0, [r5, #0x3e]
|
||||
strh r0, [r4, #0x12]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x36
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0x14]
|
||||
_0805D1EE:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805D1F0: .4byte gPlayerEntity
|
||||
_0805D1F4: .4byte gRoomControls
|
||||
_0805D1F8: .4byte gUnk_030010AC
|
||||
@@ -1,46 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805D1FC
|
||||
sub_0805D1FC: @ 0x0805D1FC
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _0805D240 @ =0x00004014
|
||||
ldr r1, _0805D244 @ =0x000005C3
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
ldr r3, _0805D248 @ =gRoomControls
|
||||
ldrh r0, [r3, #8]
|
||||
adds r0, #0xc8
|
||||
ldr r2, _0805D24C @ =gPlayerEntity
|
||||
movs r5, #0x32
|
||||
ldrsh r1, [r2, r5]
|
||||
cmp r0, r1
|
||||
bge _0805D236
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r3, #6]
|
||||
subs r0, r0, r1
|
||||
subs r0, #0x30
|
||||
cmp r0, #0x10
|
||||
bhi _0805D236
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #3
|
||||
strb r0, [r1]
|
||||
adds r0, r2, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
_0805D236:
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805D240: .4byte 0x00004014
|
||||
_0805D244: .4byte 0x000005C3
|
||||
_0805D248: .4byte gRoomControls
|
||||
_0805D24C: .4byte gPlayerEntity
|
||||
-183
@@ -1,183 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805D280
|
||||
sub_0805D280: @ 0x0805D280
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805D292
|
||||
bl DeleteThisEntity
|
||||
_0805D292:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805D2A6
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl SetFlag
|
||||
bl DeleteThisEntity
|
||||
_0805D2A6:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
bne _0805D2B4
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
_0805D2B4:
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805D2C0
|
||||
sub_0805D2C0: @ 0x0805D2C0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805D2EE
|
||||
ldr r0, _0805D2F0 @ =gUnk_03003DC0
|
||||
ldrh r0, [r0, #8]
|
||||
cmp r0, #1
|
||||
bhi _0805D2EE
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #1
|
||||
bne _0805D2E6
|
||||
adds r0, r4, #0
|
||||
bl sub_0805D2F4
|
||||
_0805D2E6:
|
||||
ldrb r1, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805E4E0
|
||||
_0805D2EE:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805D2F0: .4byte gUnk_03003DC0
|
||||
|
||||
thumb_func_start sub_0805D2F4
|
||||
sub_0805D2F4: @ 0x0805D2F4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _0805D310 @ =gUnk_03003DC0
|
||||
ldrh r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
bne _0805D328
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, #0
|
||||
beq _0805D314
|
||||
bl SoundReq
|
||||
b _0805D31A
|
||||
.align 2, 0
|
||||
_0805D310: .4byte gUnk_03003DC0
|
||||
_0805D314:
|
||||
movs r0, #0x72
|
||||
bl SoundReq
|
||||
_0805D31A:
|
||||
ldrh r0, [r4, #0x3c]
|
||||
cmp r0, #0
|
||||
beq _0805D324
|
||||
bl SetFlag
|
||||
_0805D324:
|
||||
bl DeleteThisEntity
|
||||
_0805D328:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805D32C
|
||||
sub_0805D32C: @ 0x0805D32C
|
||||
push {lr}
|
||||
ldr r2, _0805D340 @ =gUnk_08108D50
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805D340: .4byte gUnk_08108D50
|
||||
|
||||
thumb_func_start sub_0805D344
|
||||
sub_0805D344: @ 0x0805D344
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
bne _0805D35C
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
_0805D35C:
|
||||
ldrb r0, [r4, #0xe]
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805D36C
|
||||
sub_0805D36C: @ 0x0805D36C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805D382
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0xf]
|
||||
strb r0, [r4, #0xe]
|
||||
_0805D382:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0805D384
|
||||
sub_0805D384: @ 0x0805D384
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
beq _0805D3B2
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805D3C6
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r1, #0x72
|
||||
cmp r0, #0
|
||||
beq _0805D3A4
|
||||
adds r1, r0, #0
|
||||
_0805D3A4:
|
||||
adds r0, r1, #0
|
||||
bl SoundReq
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl SetFlag
|
||||
b _0805D3C6
|
||||
_0805D3B2:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
bne _0805D3C6
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl ClearFlag
|
||||
_0805D3C6:
|
||||
pop {r4, pc}
|
||||
-114
@@ -1,114 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805D3C8
|
||||
sub_0805D3C8: @ 0x0805D3C8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
bne _0805D3F4
|
||||
ldr r0, _0805D3E8 @ =gArea
|
||||
ldr r1, _0805D3EC @ =0x0000088C
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
ldr r1, _0805D3F0 @ =sub_0805D470
|
||||
cmp r0, r1
|
||||
beq _0805D45E
|
||||
movs r0, #0
|
||||
bl _call_via_r1
|
||||
b _0805D45E
|
||||
.align 2, 0
|
||||
_0805D3E8: .4byte gArea
|
||||
_0805D3EC: .4byte 0x0000088C
|
||||
_0805D3F0: .4byte sub_0805D470
|
||||
_0805D3F4:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805D43A
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
ldr r0, _0805D428 @ =gArea
|
||||
ldr r2, _0805D42C @ =0x0000088C
|
||||
adds r0, r0, r2
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805D434
|
||||
ldr r1, _0805D430 @ =sub_0805D470
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
b _0805D45E
|
||||
.align 2, 0
|
||||
_0805D428: .4byte gArea
|
||||
_0805D42C: .4byte 0x0000088C
|
||||
_0805D430: .4byte sub_0805D470
|
||||
_0805D434:
|
||||
bl DeleteThisEntity
|
||||
b _0805D45E
|
||||
_0805D43A:
|
||||
ldr r1, _0805D460 @ =gRoomControls
|
||||
ldr r0, [r1, #0x28]
|
||||
ldr r3, _0805D464 @ =0xFFFFC000
|
||||
adds r0, r0, r3
|
||||
str r0, [r1, #0x28]
|
||||
ldr r0, [r1, #0x2c]
|
||||
ldr r2, _0805D468 @ =0xFFFFE000
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x2c]
|
||||
ldr r2, _0805D46C @ =gScreen
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r3, [r1, #0xa]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x30]
|
||||
_0805D45E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805D460: .4byte gRoomControls
|
||||
_0805D464: .4byte 0xFFFFC000
|
||||
_0805D468: .4byte 0xFFFFE000
|
||||
_0805D46C: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_0805D470
|
||||
sub_0805D470: @ 0x0805D470
|
||||
push {lr}
|
||||
movs r0, #0x4c
|
||||
bl LoadGfxGroup
|
||||
ldr r2, _0805D4A0 @ =gScreen
|
||||
ldr r0, _0805D4A4 @ =0x00001E07
|
||||
strh r0, [r2, #0x2c]
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
ldr r1, _0805D4A8 @ =gRoomControls
|
||||
ldrh r0, [r1, #0x2a]
|
||||
ldrh r3, [r1, #0xa]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x30]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805D4A0: .4byte gScreen
|
||||
_0805D4A4: .4byte 0x00001E07
|
||||
_0805D4A8: .4byte gRoomControls
|
||||
-182
@@ -1,182 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805D630
|
||||
sub_0805D630: @ 0x0805D630
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r6, r0, #0
|
||||
ldrb r0, [r6, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805D642
|
||||
b _0805D768
|
||||
_0805D642:
|
||||
adds r0, #1
|
||||
strb r0, [r6, #0xc]
|
||||
movs r0, #0x42
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0805D6E4
|
||||
movs r0, #0x43
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0805D6E4
|
||||
movs r0, #0x44
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0805D6E4
|
||||
movs r0, #0x3e
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0805D680
|
||||
movs r0, #2
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0805D6E4
|
||||
movs r0, #0x3e
|
||||
bl SetGlobalFlag
|
||||
b _0805D6D2
|
||||
_0805D680:
|
||||
movs r0, #0x3f
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0805D69C
|
||||
movs r0, #3
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0805D6E4
|
||||
movs r0, #0x3f
|
||||
bl SetGlobalFlag
|
||||
b _0805D6D2
|
||||
_0805D69C:
|
||||
movs r0, #0x40
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0805D6B8
|
||||
movs r0, #4
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0805D6E4
|
||||
movs r0, #0x40
|
||||
bl SetGlobalFlag
|
||||
b _0805D6D2
|
||||
_0805D6B8:
|
||||
movs r0, #0x41
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0805D6E4
|
||||
movs r0, #5
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0805D6E4
|
||||
movs r0, #0x41
|
||||
bl SetGlobalFlag
|
||||
_0805D6D2:
|
||||
movs r0, #0x42
|
||||
bl ClearGlobalFlag
|
||||
movs r0, #0x43
|
||||
bl ClearGlobalFlag
|
||||
movs r0, #0x44
|
||||
bl ClearGlobalFlag
|
||||
_0805D6E4:
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
subs r1, #1
|
||||
strb r0, [r1]
|
||||
subs r1, #1
|
||||
strb r0, [r1]
|
||||
ldr r4, _0805D79C @ =gUnk_08108D5C
|
||||
movs r5, #0
|
||||
mov sb, r1
|
||||
movs r7, #1
|
||||
ldr r0, _0805D7A0 @ =gRoomControls
|
||||
mov r8, r0
|
||||
_0805D700:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x42
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0805D760
|
||||
bl Random
|
||||
ldrh r1, [r4, #2]
|
||||
bl __modsi3
|
||||
adds r2, r0, #0
|
||||
ldrh r0, [r4]
|
||||
adds r2, r2, r0
|
||||
movs r0, #2
|
||||
movs r1, #0x5c
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805D760
|
||||
strb r7, [r2, #0xe]
|
||||
strb r5, [r2, #0xf]
|
||||
mov r1, r8
|
||||
ldrh r0, [r1, #6]
|
||||
ldrh r1, [r4, #4]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x2e]
|
||||
mov r1, r8
|
||||
ldrh r0, [r1, #8]
|
||||
ldrh r1, [r4, #6]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #0x32]
|
||||
ldrh r1, [r4, #4]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x80
|
||||
strh r1, [r0]
|
||||
ldrh r0, [r4, #6]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x82
|
||||
strh r0, [r1]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r7, [r0]
|
||||
str r6, [r2, #0x50]
|
||||
mov r1, sb
|
||||
adds r0, r1, r5
|
||||
strb r7, [r0]
|
||||
_0805D760:
|
||||
adds r5, #1
|
||||
adds r4, #8
|
||||
cmp r5, #2
|
||||
ble _0805D700
|
||||
_0805D768:
|
||||
movs r5, #0
|
||||
_0805D76A:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x42
|
||||
adds r0, r4, #0
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0805D78E
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x20
|
||||
adds r0, r0, r5
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bge _0805D78E
|
||||
adds r0, r4, #0
|
||||
bl SetGlobalFlag
|
||||
_0805D78E:
|
||||
adds r5, #1
|
||||
cmp r5, #2
|
||||
ble _0805D76A
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805D79C: .4byte gUnk_08108D5C
|
||||
_0805D7A0: .4byte gRoomControls
|
||||
-449
@@ -1,449 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805D7A4
|
||||
sub_0805D7A4: @ 0x0805D7A4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0805D7D4 @ =gUnk_08108D7C
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
ldr r0, _0805D7D8 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
lsls r0, r0, #4
|
||||
str r0, [r4, #0x24]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805D9D8
|
||||
ldr r0, [r4, #0x20]
|
||||
ldr r1, [r4, #0x28]
|
||||
ldr r2, [r4, #0x24]
|
||||
bl sub_0805DA08
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805D7D4: .4byte gUnk_08108D7C
|
||||
_0805D7D8: .4byte gScreenTransition
|
||||
|
||||
thumb_func_start sub_0805D7DC
|
||||
sub_0805D7DC: @ 0x0805D7DC
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xa]
|
||||
movs r2, #2
|
||||
cmp r0, #0
|
||||
bne _0805D7EA
|
||||
movs r2, #1
|
||||
_0805D7EA:
|
||||
movs r0, #0
|
||||
strb r2, [r1, #0xc]
|
||||
str r0, [r1, #0x20]
|
||||
str r0, [r1, #0x24]
|
||||
ldr r0, _0805D80C @ =gRoomControls
|
||||
ldrb r0, [r0, #4]
|
||||
cmp r0, #0x78
|
||||
beq _0805D83C
|
||||
cmp r0, #0x78
|
||||
bgt _0805D816
|
||||
cmp r0, #7
|
||||
beq _0805D828
|
||||
cmp r0, #7
|
||||
bgt _0805D810
|
||||
cmp r0, #3
|
||||
beq _0805D82C
|
||||
b _0805D828
|
||||
.align 2, 0
|
||||
_0805D80C: .4byte gRoomControls
|
||||
_0805D810:
|
||||
cmp r0, #0x38
|
||||
beq _0805D840
|
||||
b _0805D828
|
||||
_0805D816:
|
||||
cmp r0, #0x81
|
||||
beq _0805D830
|
||||
cmp r0, #0x81
|
||||
bgt _0805D824
|
||||
cmp r0, #0x80
|
||||
beq _0805D834
|
||||
b _0805D828
|
||||
_0805D824:
|
||||
cmp r0, #0x88
|
||||
beq _0805D838
|
||||
_0805D828:
|
||||
movs r1, #0
|
||||
b _0805D842
|
||||
_0805D82C:
|
||||
movs r1, #1
|
||||
b _0805D842
|
||||
_0805D830:
|
||||
movs r1, #2
|
||||
b _0805D842
|
||||
_0805D834:
|
||||
movs r1, #3
|
||||
b _0805D842
|
||||
_0805D838:
|
||||
movs r1, #4
|
||||
b _0805D842
|
||||
_0805D83C:
|
||||
movs r1, #5
|
||||
b _0805D842
|
||||
_0805D840:
|
||||
movs r1, #6
|
||||
_0805D842:
|
||||
ldr r0, _0805D854 @ =gUnk_08108D74
|
||||
adds r0, r1, r0
|
||||
ldrb r0, [r0]
|
||||
bl LoadGfxGroup
|
||||
ldr r1, _0805D858 @ =gScreen
|
||||
ldr r0, _0805D85C @ =0x00001E04
|
||||
strh r0, [r1, #0x2c]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805D854: .4byte gUnk_08108D74
|
||||
_0805D858: .4byte gScreen
|
||||
_0805D85C: .4byte 0x00001E04
|
||||
|
||||
thumb_func_start sub_0805D860
|
||||
sub_0805D860: @ 0x0805D860
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xd]
|
||||
cmp r0, #1
|
||||
beq _0805D89C
|
||||
cmp r0, #1
|
||||
bgt _0805D874
|
||||
cmp r0, #0
|
||||
beq _0805D87E
|
||||
b _0805D8D6
|
||||
_0805D874:
|
||||
cmp r0, #2
|
||||
beq _0805D8B0
|
||||
cmp r0, #3
|
||||
beq _0805D8C2
|
||||
b _0805D8D6
|
||||
_0805D87E:
|
||||
movs r0, #1
|
||||
strb r0, [r1, #0xd]
|
||||
movs r0, #0x80
|
||||
str r0, [r1, #0x20]
|
||||
ldr r2, _0805D898 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
b _0805D8F4
|
||||
.align 2, 0
|
||||
_0805D898: .4byte gScreen
|
||||
_0805D89C:
|
||||
ldr r0, [r1, #0x20]
|
||||
subs r0, #1
|
||||
str r0, [r1, #0x20]
|
||||
cmp r0, #0x10
|
||||
bne _0805D8F4
|
||||
movs r0, #2
|
||||
strb r0, [r1, #0xd]
|
||||
movs r0, #0x2d
|
||||
strb r0, [r1, #0xe]
|
||||
b _0805D8F4
|
||||
_0805D8B0:
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805D8F4
|
||||
movs r0, #3
|
||||
strb r0, [r1, #0xd]
|
||||
b _0805D8F4
|
||||
_0805D8C2:
|
||||
ldr r0, [r1, #0x20]
|
||||
subs r0, #1
|
||||
str r0, [r1, #0x20]
|
||||
cmp r0, #0
|
||||
bne _0805D8F4
|
||||
movs r0, #4
|
||||
strb r0, [r1, #0xd]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r1, #0xe]
|
||||
b _0805D8F4
|
||||
_0805D8D6:
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805D8F4
|
||||
bl sub_0801E104
|
||||
ldr r2, _0805D8F8 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805D8FC @ =0x0000F7FF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
bl DeleteThisEntity
|
||||
_0805D8F4:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805D8F8: .4byte gScreen
|
||||
_0805D8FC: .4byte 0x0000F7FF
|
||||
|
||||
thumb_func_start sub_0805D900
|
||||
sub_0805D900: @ 0x0805D900
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xd]
|
||||
cmp r0, #1
|
||||
beq _0805D938
|
||||
cmp r0, #1
|
||||
bgt _0805D914
|
||||
cmp r0, #0
|
||||
beq _0805D91A
|
||||
b _0805D966
|
||||
_0805D914:
|
||||
cmp r0, #2
|
||||
beq _0805D94E
|
||||
b _0805D966
|
||||
_0805D91A:
|
||||
movs r1, #1
|
||||
strb r1, [r2, #0xd]
|
||||
movs r0, #0x2d
|
||||
strb r0, [r2, #0xe]
|
||||
str r1, [r2, #0x20]
|
||||
ldr r2, _0805D934 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
b _0805D982
|
||||
.align 2, 0
|
||||
_0805D934: .4byte gScreen
|
||||
_0805D938:
|
||||
ldrb r0, [r2, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805D982
|
||||
movs r0, #2
|
||||
strb r0, [r2, #0xd]
|
||||
movs r0, #0x14
|
||||
strb r0, [r2, #0xe]
|
||||
b _0805D982
|
||||
_0805D94E:
|
||||
ldr r0, [r2, #0x20]
|
||||
adds r0, #1
|
||||
str r0, [r2, #0x20]
|
||||
ldrb r0, [r2, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805D982
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0xd]
|
||||
b _0805D982
|
||||
_0805D966:
|
||||
ldr r0, [r2, #0x20]
|
||||
adds r0, #4
|
||||
str r0, [r2, #0x20]
|
||||
cmp r0, #0x80
|
||||
bls _0805D982
|
||||
bl sub_0801E104
|
||||
ldr r2, _0805D984 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805D988 @ =0x0000F7FF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
bl DeleteThisEntity
|
||||
_0805D982:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805D984: .4byte gScreen
|
||||
_0805D988: .4byte 0x0000F7FF
|
||||
|
||||
thumb_func_start sub_0805D98C
|
||||
sub_0805D98C: @ 0x0805D98C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r3, _0805D9D4 @ =gInput
|
||||
ldrh r1, [r3]
|
||||
movs r0, #0x40
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805D9A2
|
||||
ldr r0, [r2, #0x20]
|
||||
subs r0, #1
|
||||
str r0, [r2, #0x20]
|
||||
_0805D9A2:
|
||||
ldrh r1, [r3]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
adds r3, r1, #0
|
||||
cmp r0, #0
|
||||
beq _0805D9B4
|
||||
ldr r0, [r2, #0x20]
|
||||
adds r0, #1
|
||||
str r0, [r2, #0x20]
|
||||
_0805D9B4:
|
||||
movs r0, #0x20
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
beq _0805D9C2
|
||||
ldr r0, [r2, #0x28]
|
||||
subs r0, #1
|
||||
str r0, [r2, #0x28]
|
||||
_0805D9C2:
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805D9D0
|
||||
ldr r0, [r2, #0x28]
|
||||
adds r0, #1
|
||||
str r0, [r2, #0x28]
|
||||
_0805D9D0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805D9D4: .4byte gInput
|
||||
|
||||
thumb_func_start sub_0805D9D8
|
||||
sub_0805D9D8: @ 0x0805D9D8
|
||||
push {r4, lr}
|
||||
ldr r4, [r0, #0x14]
|
||||
cmp r4, #0
|
||||
beq _0805D9FC
|
||||
ldr r3, _0805DA00 @ =gScreen
|
||||
ldr r2, _0805DA04 @ =gRoomControls
|
||||
ldrh r1, [r4, #0x2e]
|
||||
ldrh r0, [r2, #0xa]
|
||||
subs r1, r1, r0
|
||||
movs r0, #0x80
|
||||
subs r0, r0, r1
|
||||
strh r0, [r3, #0x2e]
|
||||
ldrh r1, [r4, #0x32]
|
||||
ldrh r0, [r2, #0xc]
|
||||
subs r1, r1, r0
|
||||
movs r0, #0x8c
|
||||
subs r0, r0, r1
|
||||
strh r0, [r3, #0x30]
|
||||
_0805D9FC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DA00: .4byte gScreen
|
||||
_0805DA04: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805DA08
|
||||
sub_0805DA08: @ 0x0805DA08
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
mov sl, r0
|
||||
adds r5, r1, #0
|
||||
adds r6, r2, #0
|
||||
ldr r2, _0805DA78 @ =gUnk_03003DE4
|
||||
ldrb r1, [r2]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
ldr r1, _0805DA7C @ =gUnk_02017AA0
|
||||
adds r4, r0, r1
|
||||
movs r3, #0
|
||||
mov r8, r2
|
||||
mov sb, r1
|
||||
ldr r0, _0805DA80 @ =gSineTable
|
||||
mov ip, r0
|
||||
movs r2, #0xff
|
||||
ldr r1, _0805DA84 @ =gScreen
|
||||
_0805DA34:
|
||||
adds r0, r6, r3
|
||||
adds r0, r0, r5
|
||||
ands r0, r2
|
||||
lsls r0, r0, #1
|
||||
add r0, ip
|
||||
movs r7, #0
|
||||
ldrsh r0, [r0, r7]
|
||||
mov r7, sl
|
||||
muls r7, r0, r7
|
||||
adds r0, r7, #0
|
||||
lsrs r0, r0, #8
|
||||
ldrh r7, [r1, #0x2e]
|
||||
adds r0, r0, r7
|
||||
strh r0, [r4]
|
||||
adds r4, #2
|
||||
adds r3, #1
|
||||
adds r5, #0x17
|
||||
cmp r3, #0x9f
|
||||
bls _0805DA34
|
||||
mov r0, r8
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
add r0, sb
|
||||
ldr r1, _0805DA88 @ =0x0400001C
|
||||
ldr r2, _0805DA8C @ =0xA2600001
|
||||
bl sub_0805622C
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805DA78: .4byte gUnk_03003DE4
|
||||
_0805DA7C: .4byte gUnk_02017AA0
|
||||
_0805DA80: .4byte gSineTable
|
||||
_0805DA84: .4byte gScreen
|
||||
_0805DA88: .4byte 0x0400001C
|
||||
_0805DA8C: .4byte 0xA2600001
|
||||
|
||||
thumb_func_start sub_0805DA90
|
||||
sub_0805DA90: @ 0x0805DA90
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
bl GetEmptyManager
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0805DAB4
|
||||
movs r0, #9
|
||||
strb r0, [r1, #8]
|
||||
movs r0, #0x32
|
||||
strb r0, [r1, #9]
|
||||
strb r4, [r1, #0xa]
|
||||
str r5, [r1, #0x14]
|
||||
adds r0, r1, #0
|
||||
movs r1, #8
|
||||
bl AppendEntityToList
|
||||
_0805DAB4:
|
||||
ldr r0, _0805DAD8 @ =gArea
|
||||
ldr r1, _0805DADC @ =0x0000088C
|
||||
adds r4, r0, r1
|
||||
ldr r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _0805DAD4
|
||||
ldr r2, _0805DAE0 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805DAE4 @ =0x0000F7FF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
bl sub_080528F0
|
||||
ldr r0, [r4]
|
||||
bl DeleteManager
|
||||
_0805DAD4:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805DAD8: .4byte gArea
|
||||
_0805DADC: .4byte 0x0000088C
|
||||
_0805DAE0: .4byte gScreen
|
||||
_0805DAE4: .4byte 0x0000F7FF
|
||||
@@ -1,93 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805DAE8
|
||||
sub_0805DAE8: @ 0x0805DAE8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r2, r0, #0
|
||||
ldr r5, _0805DB4C @ =gRoomControls
|
||||
ldrh r0, [r5, #6]
|
||||
movs r1, #0xfc
|
||||
lsls r1, r1, #1
|
||||
mov r8, r1
|
||||
add r0, r8
|
||||
ldr r3, _0805DB50 @ =gPlayerEntity
|
||||
movs r4, #0x2e
|
||||
ldrsh r1, [r3, r4]
|
||||
subs r0, r0, r1
|
||||
adds r4, r0, #0
|
||||
adds r4, #0x10
|
||||
ldrh r0, [r5, #8]
|
||||
movs r7, #0xa0
|
||||
lsls r7, r7, #1
|
||||
adds r0, r0, r7
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r3, r6]
|
||||
subs r0, r0, r1
|
||||
adds r0, #0x10
|
||||
ldrb r6, [r2, #0xc]
|
||||
cmp r6, #0
|
||||
bne _0805DB58
|
||||
cmp r4, #0x1f
|
||||
bhi _0805DB88
|
||||
cmp r0, #0x1f
|
||||
bhi _0805DB88
|
||||
movs r0, #0x36
|
||||
ldrsh r1, [r3, r0]
|
||||
movs r0, #0x18
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bge _0805DB88
|
||||
ldr r0, _0805DB54 @ =gPlayerState
|
||||
adds r0, #0xa8
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x14
|
||||
bne _0805DB88
|
||||
adds r0, r6, #1
|
||||
strb r0, [r2, #0xc]
|
||||
movs r0, #0x5a
|
||||
strb r0, [r2, #0xe]
|
||||
adds r0, #0xb0
|
||||
bl SoundReq
|
||||
b _0805DB88
|
||||
.align 2, 0
|
||||
_0805DB4C: .4byte gRoomControls
|
||||
_0805DB50: .4byte gPlayerEntity
|
||||
_0805DB54: .4byte gPlayerState
|
||||
_0805DB58:
|
||||
ldrb r0, [r2, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805DB88
|
||||
movs r0, #0x96
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0805DB84
|
||||
ldrh r0, [r5, #6]
|
||||
add r0, r8
|
||||
strh r0, [r1, #0x2e]
|
||||
ldrh r0, [r5, #8]
|
||||
adds r0, r0, r7
|
||||
strh r0, [r1, #0x32]
|
||||
ldr r0, _0805DB90 @ =0x0000FFE8
|
||||
strh r0, [r1, #0x36]
|
||||
_0805DB84:
|
||||
bl DeleteThisEntity
|
||||
_0805DB88:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805DB90: .4byte 0x0000FFE8
|
||||
-143
@@ -1,143 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805DB94
|
||||
sub_0805DB94: @ 0x0805DB94
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0805DBB0 @ =gUnk_08108D8C
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0805DBF0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DBB0: .4byte gUnk_08108D8C
|
||||
|
||||
thumb_func_start sub_0805DBB4
|
||||
sub_0805DBB4: @ 0x0805DBB4
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
ldr r1, _0805DBC8 @ =gScreenTransition
|
||||
adds r1, #0x3d
|
||||
ldrb r2, [r1]
|
||||
lsls r1, r2, #4
|
||||
subs r1, r1, r2
|
||||
lsls r1, r1, #2
|
||||
strh r1, [r0, #0x20]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805DBC8: .4byte gScreenTransition
|
||||
|
||||
thumb_func_start sub_0805DBCC
|
||||
sub_0805DBCC: @ 0x0805DBCC
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, [r1, #0x14]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
bne _0805DBE6
|
||||
movs r0, #2
|
||||
strb r0, [r1, #0xc]
|
||||
ldrh r0, [r1, #0x20]
|
||||
ldr r2, _0805DBE8 @ =0x0000012D
|
||||
cmp r0, r2
|
||||
bls _0805DBE6
|
||||
strh r2, [r1, #0x20]
|
||||
_0805DBE6:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DBE8: .4byte 0x0000012D
|
||||
|
||||
thumb_func_start nullsub_498
|
||||
nullsub_498: @ 0x0805DBEC
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805DBF0
|
||||
sub_0805DBF0: @ 0x0805DBF0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x20]
|
||||
subs r1, r0, #1
|
||||
strh r1, [r4, #0x20]
|
||||
lsls r0, r1, #0x10
|
||||
cmp r0, #0
|
||||
bne _0805DC06
|
||||
bl sub_0805DC70
|
||||
b _0805DC6C
|
||||
_0805DC06:
|
||||
lsls r0, r1, #0x10
|
||||
lsrs r1, r0, #0x10
|
||||
cmp r1, #0x78
|
||||
bne _0805DC18
|
||||
movs r0, #0x78
|
||||
movs r1, #2
|
||||
bl sub_08080964
|
||||
b _0805DC36
|
||||
_0805DC18:
|
||||
cmp r1, #0xd2
|
||||
bne _0805DC26
|
||||
movs r0, #0x5a
|
||||
movs r1, #1
|
||||
bl sub_08080964
|
||||
b _0805DC36
|
||||
_0805DC26:
|
||||
movs r0, #0x96
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
bne _0805DC36
|
||||
movs r0, #0x5a
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
_0805DC36:
|
||||
ldrh r1, [r4, #0x20]
|
||||
adds r0, r1, #0
|
||||
cmp r0, #0x77
|
||||
bhi _0805DC42
|
||||
movs r0, #0xf
|
||||
b _0805DC48
|
||||
_0805DC42:
|
||||
cmp r0, #0xd1
|
||||
bhi _0805DC58
|
||||
movs r0, #0x1f
|
||||
_0805DC48:
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805DC6C
|
||||
movs r0, #0x93
|
||||
lsls r0, r0, #1
|
||||
bl SoundReq
|
||||
b _0805DC6C
|
||||
_0805DC58:
|
||||
cmp r0, #0xc7
|
||||
bhi _0805DC6C
|
||||
movs r0, #0x3f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805DC6C
|
||||
movs r0, #0x93
|
||||
lsls r0, r0, #1
|
||||
bl SoundReq
|
||||
_0805DC6C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805DC70
|
||||
sub_0805DC70: @ 0x0805DC70
|
||||
push {lr}
|
||||
bl sub_0805E5A8
|
||||
ldr r0, _0805DC80 @ =gUnk_0813AC48
|
||||
bl DoExitTransition
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DC80: .4byte gUnk_0813AC48
|
||||
-166
@@ -1,166 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805DC84
|
||||
sub_0805DC84: @ 0x0805DC84
|
||||
push {lr}
|
||||
ldr r2, _0805DC98 @ =gUnk_08108D98
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DC98: .4byte gUnk_08108D98
|
||||
|
||||
thumb_func_start sub_0805DC9C
|
||||
sub_0805DC9C: @ 0x0805DC9C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805DCAE
|
||||
bl DeleteThisEntity
|
||||
_0805DCAE:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805DCC2
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl SetFlag
|
||||
bl DeleteThisEntity
|
||||
_0805DCC2:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0805DCC8
|
||||
sub_0805DCC8: @ 0x0805DCC8
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805DD1E
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x35
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805DCEC
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
_0805DCEC:
|
||||
ldr r5, _0805DD20 @ =gRoomControls
|
||||
ldr r0, [r5, #0x30]
|
||||
str r0, [r4, #0x14]
|
||||
movs r0, #0x69
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0805DD1E
|
||||
ldrh r0, [r5, #6]
|
||||
ldrh r2, [r4, #0x38]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r1, #0x2e]
|
||||
ldrh r0, [r5, #8]
|
||||
ldrh r2, [r4, #0x3a]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r1, #0x32]
|
||||
str r1, [r4, #0x18]
|
||||
str r1, [r5, #0x30]
|
||||
adds r0, r1, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
_0805DD1E:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805DD20: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805DD24
|
||||
sub_0805DD24: @ 0x0805DD24
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0
|
||||
movs r1, #8
|
||||
bl sub_0805E4E0
|
||||
ldr r0, _0805DD64 @ =gRoomControls
|
||||
ldrb r1, [r0, #0xf]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805DD60
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805DD60
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r0, [r4, #0x3c]
|
||||
bl SetFlag
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x36
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _0805DD60
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
_0805DD60:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DD64: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805DD68
|
||||
sub_0805DD68: @ 0x0805DD68
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0
|
||||
movs r1, #8
|
||||
bl sub_0805E4E0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x36
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _0805DD94
|
||||
subs r0, #1
|
||||
strb r0, [r1]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805DDAE
|
||||
ldr r1, _0805DD90 @ =gRoomControls
|
||||
ldr r0, [r4, #0x14]
|
||||
str r0, [r1, #0x30]
|
||||
b _0805DDAE
|
||||
.align 2, 0
|
||||
_0805DD90: .4byte gRoomControls
|
||||
_0805DD94:
|
||||
ldr r0, _0805DDB0 @ =gRoomControls
|
||||
ldrb r1, [r0, #0xf]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805DDAE
|
||||
ldr r0, [r4, #0x18]
|
||||
cmp r0, #0
|
||||
beq _0805DDAA
|
||||
bl DeleteEntity
|
||||
_0805DDAA:
|
||||
bl DeleteThisEntity
|
||||
_0805DDAE:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DDB0: .4byte gRoomControls
|
||||
@@ -1,81 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805DDB4
|
||||
sub_0805DDB4: @ 0x0805DDB4
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xa]
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0805DDE0 @ =gUnk_08108DA8
|
||||
adds r3, r0, r1
|
||||
ldrb r0, [r2, #0xc]
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bne _0805DDCE
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
strb r1, [r2, #0xe]
|
||||
_0805DDCE:
|
||||
ldrb r0, [r2, #0xe]
|
||||
cmp r0, #0
|
||||
bne _0805DDE4
|
||||
ldrh r0, [r3]
|
||||
strb r0, [r2, #0xe]
|
||||
ldrh r0, [r3, #2]
|
||||
bl SoundReq
|
||||
b _0805DDE8
|
||||
.align 2, 0
|
||||
_0805DDE0: .4byte gUnk_08108DA8
|
||||
_0805DDE4:
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
_0805DDE8:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0805DDEC
|
||||
sub_0805DDEC: @ 0x0805DDEC
|
||||
push {r4, r5, lr}
|
||||
adds r5, r1, #0
|
||||
bl GetEmptyManager
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0805DE16
|
||||
movs r0, #9
|
||||
strb r0, [r4, #8]
|
||||
movs r0, #0x36
|
||||
strb r0, [r4, #9]
|
||||
ldr r0, [r5, #4]
|
||||
strb r0, [r4, #0xa]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl AppendEntityToList
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
_0805DE16:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0805DE18
|
||||
sub_0805DE18: @ 0x0805DE18
|
||||
push {lr}
|
||||
sub sp, #4
|
||||
ldr r3, [r1, #4]
|
||||
movs r0, #0
|
||||
str r0, [sp]
|
||||
movs r0, #9
|
||||
movs r1, #0x36
|
||||
movs r2, #6
|
||||
bl FindEntity
|
||||
cmp r0, #0
|
||||
beq _0805DE34
|
||||
bl DeleteEntityAny
|
||||
_0805DE34:
|
||||
add sp, #4
|
||||
pop {pc}
|
||||
-390
@@ -1,390 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805DE38
|
||||
sub_0805DE38: @ 0x0805DE38
|
||||
push {lr}
|
||||
ldr r2, _0805DE4C @ =gUnk_08108DBC
|
||||
ldrb r1, [r0, #0xa]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DE4C: .4byte gUnk_08108DBC
|
||||
|
||||
thumb_func_start sub_0805DE50
|
||||
sub_0805DE50: @ 0x0805DE50
|
||||
push {lr}
|
||||
ldr r2, _0805DE64 @ =gUnk_08108DC4
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DE64: .4byte gUnk_08108DC4
|
||||
|
||||
thumb_func_start sub_0805DE68
|
||||
sub_0805DE68: @ 0x0805DE68
|
||||
.ifdef JP
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x7b
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0805DCCE
|
||||
bl DeleteThisEntity
|
||||
_0805DCCE:
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r2, _0805DCF4 @ =0x030010A0
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0xf
|
||||
strb r0, [r1]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x3a
|
||||
movs r1, #0x20
|
||||
strb r1, [r0]
|
||||
adds r0, #1
|
||||
strb r1, [r0]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DCF4: .4byte gScreenTransition
|
||||
.else
|
||||
.ifdef EU
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x7b
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0805D916
|
||||
bl DeleteThisEntity
|
||||
_0805D916:
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r2, _0805D93C @ =gScreenTransition
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0xf
|
||||
strb r0, [r1]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x3a
|
||||
movs r1, #0x20
|
||||
strb r1, [r0]
|
||||
adds r0, #1
|
||||
strb r1, [r0]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805D93C: .4byte gScreenTransition
|
||||
|
||||
.else
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x7b
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0805DE7A
|
||||
bl DeleteThisEntity
|
||||
_0805DE7A:
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r2, _0805DEAC @ =gScreenTransition
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0xf
|
||||
strb r0, [r1]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x3a
|
||||
movs r1, #0x20
|
||||
strb r1, [r0]
|
||||
adds r0, #1
|
||||
strb r1, [r0]
|
||||
ldr r0, _0805DEB0 @ =gSave
|
||||
movs r1, #0x93
|
||||
lsls r1, r1, #3
|
||||
adds r0, r0, r1
|
||||
ldr r1, _0805DEB4 @ =0x00001194
|
||||
str r1, [r0]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805DEAC: .4byte gScreenTransition
|
||||
_0805DEB0: .4byte gSave
|
||||
_0805DEB4: .4byte 0x00001194
|
||||
.endif
|
||||
.endif
|
||||
|
||||
thumb_func_start sub_0805DEB8
|
||||
sub_0805DEB8: @ 0x0805DEB8
|
||||
push {r4, r5, lr}
|
||||
adds r3, r0, #0
|
||||
ldr r5, _0805DF44 @ =gPlayerEntity
|
||||
movs r0, #0x2e
|
||||
ldrsh r2, [r5, r0]
|
||||
subs r2, #0x88
|
||||
ldr r4, _0805DF48 @ =gRoomControls
|
||||
ldrh r0, [r4, #6]
|
||||
subs r2, r2, r0
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r5, r1]
|
||||
subs r0, #0x40
|
||||
ldrh r1, [r4, #8]
|
||||
subs r0, r0, r1
|
||||
adds r1, r2, #0
|
||||
muls r1, r2, r1
|
||||
adds r2, r0, #0
|
||||
muls r2, r0, r2
|
||||
adds r0, r2, #0
|
||||
adds r1, r1, r0
|
||||
movs r0, #0x90
|
||||
lsls r0, r0, #4
|
||||
cmp r1, r0
|
||||
bgt _0805DF42
|
||||
movs r0, #0
|
||||
movs r1, #2
|
||||
strb r1, [r3, #0xc]
|
||||
strb r0, [r3, #0xd]
|
||||
movs r0, #0x78
|
||||
strb r0, [r3, #0xe]
|
||||
movs r0, #2
|
||||
bl sub_08078A90
|
||||
bl sub_08078B48
|
||||
movs r0, #0x64
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805DF1A
|
||||
ldrh r0, [r4, #6]
|
||||
adds r0, #0x88
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r4, #8]
|
||||
adds r0, #0x48
|
||||
strh r0, [r2, #0x32]
|
||||
_0805DF1A:
|
||||
movs r2, #0x10
|
||||
rsbs r2, r2, #0
|
||||
adds r0, r5, #0
|
||||
movs r1, #8
|
||||
bl CreateSpeechBubbleExclamationMark
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805DF3C
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
_0805DF3C:
|
||||
movs r0, #0x32
|
||||
bl SoundReq
|
||||
_0805DF42:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805DF44: .4byte gPlayerEntity
|
||||
_0805DF48: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805DF4C
|
||||
sub_0805DF4C: @ 0x0805DF4C
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r2, _0805DF70 @ =gPlayerEntity
|
||||
movs r0, #0
|
||||
strb r0, [r2, #0x14]
|
||||
movs r3, #0x36
|
||||
ldrsh r0, [r2, r3]
|
||||
cmp r0, #0
|
||||
beq _0805DF78
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r2, r1]
|
||||
ldr r1, _0805DF74 @ =gRoomControls
|
||||
ldrh r1, [r1, #8]
|
||||
adds r1, #0x48
|
||||
cmp r0, r1
|
||||
bge _0805DF92
|
||||
strh r1, [r2, #0x32]
|
||||
b _0805DF92
|
||||
.align 2, 0
|
||||
_0805DF70: .4byte gPlayerEntity
|
||||
_0805DF74: .4byte gRoomControls
|
||||
_0805DF78:
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805DF92
|
||||
movs r0, #3
|
||||
strb r0, [r1, #0xc]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r1, #0xe]
|
||||
ldr r0, _0805DF94 @ =0x0000164F
|
||||
bl TextboxNoOverlapFollow
|
||||
_0805DF92:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DF94: .4byte 0x0000164F
|
||||
|
||||
thumb_func_start sub_0805DF98
|
||||
sub_0805DF98: @ 0x0805DF98
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0805DFB4 @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805DFCA
|
||||
ldrb r0, [r2, #0xe]
|
||||
cmp r0, #0
|
||||
beq _0805DFB8
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
b _0805DFCA
|
||||
.align 2, 0
|
||||
_0805DFB4: .4byte gTextBox
|
||||
_0805DFB8:
|
||||
movs r0, #4
|
||||
strb r0, [r2, #0xc]
|
||||
movs r0, #7
|
||||
movs r1, #4
|
||||
bl DoFade
|
||||
movs r0, #0xf6
|
||||
bl SoundReq
|
||||
_0805DFCA:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0805DFCC
|
||||
sub_0805DFCC: @ 0x0805DFCC
|
||||
push {lr}
|
||||
ldr r0, _0805DFE4 @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805DFE0
|
||||
movs r0, #0x1c
|
||||
bl ClearGlobalFlag
|
||||
bl sub_0805E094
|
||||
_0805DFE0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DFE4: .4byte gFadeControl
|
||||
|
||||
thumb_func_start sub_0805DFE8
|
||||
sub_0805DFE8: @ 0x0805DFE8
|
||||
push {lr}
|
||||
ldr r2, _0805DFFC @ =gUnk_08108DD8
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805DFFC: .4byte gUnk_08108DD8
|
||||
|
||||
thumb_func_start sub_0805E000
|
||||
sub_0805E000: @ 0x0805E000
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
movs r0, #0x51
|
||||
movs r1, #0
|
||||
bl CreateEnemy
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0805E062
|
||||
ldr r1, _0805E064 @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
adds r0, #0xb0
|
||||
strh r0, [r4, #0x2e]
|
||||
ldrh r0, [r1, #8]
|
||||
adds r0, #0x48
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
movs r5, #1
|
||||
strb r5, [r0]
|
||||
adds r0, r4, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
ldr r0, _0805E068 @ =gScreenTransition
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805E040
|
||||
bl DeleteThisEntity
|
||||
_0805E040:
|
||||
str r4, [r6, #0x18]
|
||||
strb r5, [r6, #0xc]
|
||||
movs r0, #3
|
||||
bl sub_08078A90
|
||||
ldr r0, _0805E06C @ =gArea
|
||||
ldr r1, _0805E070 @ =0x00000864
|
||||
adds r0, r0, r1
|
||||
ldr r1, _0805E074 @ =0x80010000
|
||||
str r1, [r0]
|
||||
movs r0, #6
|
||||
movs r1, #4
|
||||
bl DoFade
|
||||
movs r0, #0xf7
|
||||
bl SoundReq
|
||||
_0805E062:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0805E064: .4byte gRoomControls
|
||||
_0805E068: .4byte gScreenTransition
|
||||
_0805E06C: .4byte gArea
|
||||
_0805E070: .4byte 0x00000864
|
||||
_0805E074: .4byte 0x80010000
|
||||
|
||||
thumb_func_start sub_0805E078
|
||||
sub_0805E078: @ 0x0805E078
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, _0805E090 @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805E08E
|
||||
ldr r1, [r1, #0x18]
|
||||
movs r0, #1
|
||||
strb r0, [r1, #0xd]
|
||||
bl DeleteThisEntity
|
||||
_0805E08E:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805E090: .4byte gFadeControl
|
||||
|
||||
thumb_func_start sub_0805E094
|
||||
sub_0805E094: @ 0x0805E094
|
||||
push {lr}
|
||||
bl sub_0805E5A8
|
||||
ldr r0, _0805E0A4 @ =gUnk_0813AC34
|
||||
movs r1, #7
|
||||
bl sub_0808091C
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805E0A4: .4byte gUnk_0813AC34
|
||||
@@ -1,55 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805E0A8
|
||||
sub_0805E0A8: @ 0x0805E0A8
|
||||
push {lr}
|
||||
ldr r2, _0805E0BC @ =gUnk_08108DE0
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805E0BC: .4byte gUnk_08108DE0
|
||||
|
||||
thumb_func_start sub_0805E0C0
|
||||
sub_0805E0C0: @ 0x0805E0C0
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #0
|
||||
movs r1, #1
|
||||
strb r1, [r5, #0xc]
|
||||
strb r0, [r5, #0xe]
|
||||
ldrb r0, [r5, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
bne _0805E0EC
|
||||
bl DeleteThisEntity
|
||||
b _0805E0EC
|
||||
_0805E0DE:
|
||||
adds r0, r4, #0
|
||||
adds r4, #0x10
|
||||
bl LoadRoomEntity
|
||||
str r5, [r0, #0x50]
|
||||
movs r1, #0xff
|
||||
strb r1, [r0, #0xe]
|
||||
_0805E0EC:
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0xff
|
||||
bne _0805E0DE
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0805E0F4
|
||||
sub_0805E0F4: @ 0x0805E0F4
|
||||
movs r1, #0
|
||||
strb r1, [r0, #0xe]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
@@ -1,87 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08058DD0
|
||||
sub_08058DD0: @ 0x08058DD0
|
||||
push {lr}
|
||||
ldr r2, _08058DE4 @ =gUnk_08108308
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08058DE4: .4byte gUnk_08108308
|
||||
|
||||
thumb_func_start sub_08058DE8
|
||||
sub_08058DE8: @ 0x08058DE8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _08058DFC
|
||||
bl DeleteThisEntity
|
||||
b _08058E14
|
||||
_08058DFC:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r0, [r4, #0x3a]
|
||||
bl GetLayerByIndex
|
||||
ldrh r1, [r4, #0x38]
|
||||
lsls r1, r1, #1
|
||||
adds r1, #4
|
||||
adds r0, r0, r1
|
||||
str r0, [r4, #0x30]
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r4, #0x28]
|
||||
_08058E14:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08058E18
|
||||
sub_08058E18: @ 0x08058E18
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r1, [r2, #0x30]
|
||||
ldrh r0, [r2, #0x28]
|
||||
ldrh r1, [r1]
|
||||
cmp r0, r1
|
||||
beq _08058E30
|
||||
ldrb r0, [r2, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
movs r0, #0xf
|
||||
strb r0, [r2, #0xe]
|
||||
_08058E30:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08058E34
|
||||
sub_08058E34: @ 0x08058E34
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08058E5E
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl SetFlag
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
beq _08058E58
|
||||
bl GetCurrentRoomProperty
|
||||
bl LoadRoomEntityList
|
||||
_08058E58:
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
_08058E5E:
|
||||
pop {r4, pc}
|
||||
@@ -100,4 +100,4 @@ _0801B5A4:
|
||||
adds r0, r4, #0
|
||||
bl sub_0801B584
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
.syntax divided
|
||||
|
||||
@@ -177,4 +177,4 @@ _08074EE2:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08074EE4: .4byte gPlayerEntity
|
||||
.syntax divided
|
||||
.syntax divided
|
||||
|
||||
@@ -55,4 +55,4 @@ _08075578:
|
||||
bl UpdateItemAnim
|
||||
_0807557E:
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
.syntax divided
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
.syntax unified
|
||||
bx lr
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,147 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3]
|
||||
cmp r0, #0xff
|
||||
bne _08057188
|
||||
b _0805728A
|
||||
_08057188:
|
||||
ldr r1, _080571E8 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r1, r2]
|
||||
cmp r0, #0
|
||||
bge _08057194
|
||||
adds r0, #0xf
|
||||
_08057194:
|
||||
asrs r6, r0, #4
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r1, r7]
|
||||
cmp r0, #0
|
||||
bge _080571A0
|
||||
adds r0, #0xf
|
||||
_080571A0:
|
||||
asrs r5, r0, #4
|
||||
movs r0, #0x21
|
||||
adds r0, r0, r4
|
||||
mov ip, r0
|
||||
_080571A8:
|
||||
ldrb r0, [r3]
|
||||
mov r1, ip
|
||||
ldrb r1, [r1]
|
||||
cmp r0, r1
|
||||
beq _08057282
|
||||
ldr r1, _080571EC @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
lsrs r0, r0, #4
|
||||
ldrb r7, [r3, #1]
|
||||
adds r2, r0, r7
|
||||
ldrh r0, [r1, #8]
|
||||
lsrs r0, r0, #4
|
||||
ldrb r1, [r3, #2]
|
||||
adds r0, r0, r1
|
||||
subs r0, r5, r0
|
||||
ldrb r7, [r3, #4]
|
||||
cmp r0, r7
|
||||
bhs _08057282
|
||||
subs r0, r6, r2
|
||||
ldrb r1, [r3, #3]
|
||||
cmp r0, r1
|
||||
bhs _08057282
|
||||
ldrb r0, [r3]
|
||||
subs r0, #1
|
||||
cmp r0, #5
|
||||
bhi _08057268
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080571F0 @ =_080571F4
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080571E8: .4byte gPlayerEntity
|
||||
_080571EC: .4byte gRoomControls
|
||||
_080571F0: .4byte _080571F4
|
||||
_080571F4: @ jump table
|
||||
.4byte _0805720C @ case 0
|
||||
.4byte _08057220 @ case 1
|
||||
.4byte _08057258 @ case 2
|
||||
.4byte _08057246 @ case 3
|
||||
.4byte _08057216 @ case 4
|
||||
.4byte _08057236 @ case 5
|
||||
_0805720C:
|
||||
mov r2, ip
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #2
|
||||
bne _08057268
|
||||
b _08057260
|
||||
_08057216:
|
||||
mov r7, ip
|
||||
ldrb r0, [r7]
|
||||
cmp r0, #6
|
||||
bne _08057268
|
||||
b _08057260
|
||||
_08057220:
|
||||
mov r0, ip
|
||||
ldrb r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x20
|
||||
strb r1, [r0]
|
||||
b _08057268
|
||||
_08057236:
|
||||
mov r2, ip
|
||||
ldrb r1, [r2]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
b _08057268
|
||||
_08057246:
|
||||
mov r7, ip
|
||||
ldrb r1, [r7]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
str r1, [r4, #0x34]
|
||||
b _08057268
|
||||
_08057258:
|
||||
mov r1, ip
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #4
|
||||
bne _08057268
|
||||
_08057260:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #9
|
||||
strb r0, [r4, #0xe]
|
||||
_08057268:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _08057282
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xf]
|
||||
ldrb r0, [r3]
|
||||
mov r2, ip
|
||||
strb r0, [r2]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
b _0805728A
|
||||
_08057282:
|
||||
adds r3, #5
|
||||
ldrb r0, [r3]
|
||||
cmp r0, #0xff
|
||||
bne _080571A8
|
||||
_0805728A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,38 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080572CA
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xf]
|
||||
ldr r2, _080572CC @ =gScreen
|
||||
ldr r3, _080572D0 @ =gUnk_08107C1C
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
adds r2, #0x68
|
||||
strh r0, [r2]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #0xa
|
||||
bne _080572CA
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
_080572CA:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080572CC: .4byte gScreen
|
||||
_080572D0: .4byte gUnk_08107C1C
|
||||
.syntax divided
|
||||
@@ -0,0 +1,45 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r3, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08057320
|
||||
movs r0, #8
|
||||
strb r0, [r3, #0xf]
|
||||
ldr r5, _08057324 @ =gScreen
|
||||
ldr r2, _08057328 @ =gUnk_08107C1C
|
||||
ldrb r0, [r3, #0xe]
|
||||
adds r1, r0, #0
|
||||
adds r1, #0xff
|
||||
strb r1, [r3, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r0, r0, r2
|
||||
ldrh r2, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x68
|
||||
movs r4, #0
|
||||
strh r2, [r0]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #0xff
|
||||
bne _08057320
|
||||
movs r0, #1
|
||||
strb r0, [r3, #0xc]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x22
|
||||
strb r4, [r0]
|
||||
subs r0, #1
|
||||
strb r4, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x6c
|
||||
strb r4, [r0]
|
||||
_08057320:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08057324: .4byte gScreen
|
||||
_08057328: .4byte gUnk_08107C1C
|
||||
.syntax divided
|
||||
@@ -0,0 +1,58 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r6, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldr r2, _08057390 @ =gUnk_03003DE4
|
||||
ldrb r1, [r2]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
ldr r1, _08057394 @ =gUnk_02017AA0
|
||||
adds r4, r0, r1
|
||||
movs r3, #0
|
||||
mov ip, r2
|
||||
mov r8, r1
|
||||
ldr r0, _08057398 @ =gSineTable
|
||||
mov sb, r0
|
||||
movs r2, #0xff
|
||||
ldr r1, _0805739C @ =gScreen
|
||||
_08057354:
|
||||
adds r0, r5, r3
|
||||
ands r0, r2
|
||||
lsls r0, r0, #1
|
||||
add r0, sb
|
||||
movs r7, #0
|
||||
ldrsh r0, [r0, r7]
|
||||
muls r0, r6, r0
|
||||
lsrs r0, r0, #8
|
||||
ldrh r7, [r1, #0x2e]
|
||||
adds r0, r0, r7
|
||||
strh r0, [r4]
|
||||
adds r4, #2
|
||||
adds r3, #1
|
||||
cmp r3, #0x9f
|
||||
bls _08057354
|
||||
mov r0, ip
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
add r0, r8
|
||||
ldr r1, _080573A0 @ =0x0400001C
|
||||
ldr r2, _080573A4 @ =0xA2600001
|
||||
bl sub_0805622C
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08057390: .4byte gUnk_03003DE4
|
||||
_08057394: .4byte gUnk_02017AA0
|
||||
_08057398: .4byte gSineTable
|
||||
_0805739C: .4byte gScreen
|
||||
_080573A0: .4byte 0x0400001C
|
||||
_080573A4: .4byte 0xA2600001
|
||||
.syntax divided
|
||||
@@ -0,0 +1,77 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
ldr r2, _08057434 @ =gRoomControls
|
||||
ldr r0, [r2, #0x28]
|
||||
ldr r1, _08057438 @ =0xFFFFE000
|
||||
adds r0, r0, r1
|
||||
str r0, [r2, #0x28]
|
||||
ldr r0, [r2, #0x2c]
|
||||
ldr r1, _0805743C @ =0xFFFFF000
|
||||
adds r0, r0, r1
|
||||
str r0, [r2, #0x2c]
|
||||
ldr r5, _08057440 @ =gScreen
|
||||
movs r1, #0xa
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r2, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
ldrh r1, [r2, #0x2a]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r5, #0x2e]
|
||||
movs r1, #0xc
|
||||
ldrsh r0, [r2, r1]
|
||||
ldrh r1, [r2, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
ldrh r2, [r2, #0x2e]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r5, #0x30]
|
||||
ldr r2, _08057444 @ =gSineTable
|
||||
ldr r4, _08057448 @ =gScreenTransition
|
||||
ldr r1, [r4]
|
||||
ldrb r0, [r4]
|
||||
adds r0, #0x40
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
asrs r0, r0, #5
|
||||
adds r0, #0x10
|
||||
bl sub_0805732C
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x22
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08057430
|
||||
ldr r0, [r4]
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08057430
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x24
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, _0805744C @ =gUnk_08107C30
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_08057430:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08057434: .4byte gRoomControls
|
||||
_08057438: .4byte 0xFFFFE000
|
||||
_0805743C: .4byte 0xFFFFF000
|
||||
_08057440: .4byte gScreen
|
||||
_08057444: .4byte gSineTable
|
||||
_08057448: .4byte gScreenTransition
|
||||
_0805744C: .4byte gUnk_08107C30
|
||||
.syntax divided
|
||||
@@ -0,0 +1,102 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r3, r0, #0
|
||||
ldr r4, _08057504 @ =gScreen
|
||||
movs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
ldr r0, _08057508 @ =gRoomControls
|
||||
movs r2, #0xc
|
||||
ldrsh r1, [r0, r2]
|
||||
ldrh r0, [r0, #8]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #2
|
||||
movs r2, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
strh r0, [r4, #0x30]
|
||||
cmp r1, #0
|
||||
bge _08057474
|
||||
adds r1, #0x3f
|
||||
_08057474:
|
||||
asrs r0, r1, #6
|
||||
lsls r0, r0, #9
|
||||
ldr r1, _0805750C @ =gBG3Buffer
|
||||
adds r1, r0, r1
|
||||
str r1, [r4, #0x34]
|
||||
ldr r0, [r3, #0x34]
|
||||
cmp r0, r1
|
||||
beq _0805748A
|
||||
str r1, [r3, #0x34]
|
||||
movs r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
_0805748A:
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x22
|
||||
ldrb r0, [r0]
|
||||
ldr r5, _08057510 @ =gScreenTransition
|
||||
cmp r0, #0
|
||||
bne _080574BE
|
||||
ldr r0, [r5]
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080574BE
|
||||
adds r2, r3, #0
|
||||
adds r2, #0x24
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, _08057514 @ =gUnk_08107C30
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_080574BE:
|
||||
ldr r0, [r5]
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08057502
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x23
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #5
|
||||
ldr r2, _08057518 @ =gUnk_085B4180
|
||||
adds r1, r1, r2
|
||||
movs r5, #0
|
||||
adds r6, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r4, #0xe
|
||||
_080574DC:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x87
|
||||
ldrh r1, [r4]
|
||||
bl sub_0801D79C
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x8c
|
||||
ldrh r1, [r4, #0xa]
|
||||
bl sub_0801D79C
|
||||
adds r4, #2
|
||||
adds r5, #1
|
||||
cmp r5, #3
|
||||
bls _080574DC
|
||||
ldrb r0, [r6]
|
||||
adds r0, #1
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
_08057502:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08057504: .4byte gScreen
|
||||
_08057508: .4byte gRoomControls
|
||||
_0805750C: .4byte gBG3Buffer
|
||||
_08057510: .4byte gScreenTransition
|
||||
_08057514: .4byte gUnk_08107C30
|
||||
_08057518: .4byte gUnk_085B4180
|
||||
.syntax divided
|
||||
@@ -0,0 +1,56 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #0
|
||||
bne _080595C8
|
||||
movs r6, #1
|
||||
strb r6, [r4, #0xc]
|
||||
adds r0, #0x21
|
||||
strb r5, [r0]
|
||||
adds r0, #2
|
||||
strb r5, [r0]
|
||||
bl sub_0805986C
|
||||
cmp r0, #0
|
||||
beq _080595A8
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x20
|
||||
strb r6, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
ldr r0, _080595A4 @ =gUnk_0200B650
|
||||
str r5, [r0]
|
||||
b _080595B8
|
||||
.align 2, 0
|
||||
_080595A4: .4byte gUnk_0200B650
|
||||
_080595A8:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x20
|
||||
movs r1, #0x1f
|
||||
strb r1, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #5
|
||||
strb r0, [r1]
|
||||
_080595B8:
|
||||
ldr r0, _080595DC @ =gRoomVars
|
||||
movs r1, #0xff
|
||||
strb r1, [r0, #0x10]
|
||||
ldr r1, _080595E0 @ =sub_080595E4
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
_080595C8:
|
||||
adds r0, r4, #0
|
||||
bl sub_08059608
|
||||
adds r0, r4, #0
|
||||
bl sub_08059690
|
||||
adds r0, r4, #0
|
||||
bl sub_080596E0
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080595DC: .4byte gRoomVars
|
||||
_080595E0: .4byte sub_080595E4
|
||||
.syntax divided
|
||||
@@ -0,0 +1,16 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _08059604 @ =gRoomVars
|
||||
movs r0, #0xff
|
||||
strb r0, [r1, #0x10]
|
||||
adds r0, r4, #0
|
||||
bl sub_08059690
|
||||
adds r0, r4, #0
|
||||
bl sub_080596E0
|
||||
movs r0, #0
|
||||
bl sub_0805B4D0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059604: .4byte gRoomVars
|
||||
.syntax divided
|
||||
@@ -0,0 +1,65 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r4, #0x23
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _08059638
|
||||
subs r0, #1
|
||||
strb r0, [r4]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08059682
|
||||
ldr r0, _08059634 @ =gArea
|
||||
movs r2, #0x86
|
||||
lsls r2, r2, #4
|
||||
adds r1, r0, r2
|
||||
adds r2, #4
|
||||
adds r0, r0, r2
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
bl SoundReq
|
||||
b _08059682
|
||||
.align 2, 0
|
||||
_08059634: .4byte gArea
|
||||
_08059638:
|
||||
bl sub_0805986C
|
||||
cmp r0, #0
|
||||
beq _08059668
|
||||
ldr r0, _0805965C @ =gArea
|
||||
ldr r2, _08059660 @ =0x00000864
|
||||
adds r1, r0, r2
|
||||
ldr r0, [r1]
|
||||
cmp r0, #0x1e
|
||||
beq _08059682
|
||||
movs r0, #0x1e
|
||||
str r0, [r1]
|
||||
movs r0, #0x78
|
||||
strb r0, [r4]
|
||||
ldr r0, _08059664 @ =0x800D0000
|
||||
bl SoundReq
|
||||
b _08059682
|
||||
.align 2, 0
|
||||
_0805965C: .4byte gArea
|
||||
_08059660: .4byte 0x00000864
|
||||
_08059664: .4byte 0x800D0000
|
||||
_08059668:
|
||||
ldr r0, _08059684 @ =gArea
|
||||
ldr r2, _08059688 @ =0x00000864
|
||||
adds r1, r0, r2
|
||||
ldr r0, [r1]
|
||||
cmp r0, #0x37
|
||||
beq _08059682
|
||||
movs r0, #0x37
|
||||
str r0, [r1]
|
||||
movs r0, #0x78
|
||||
strb r0, [r4]
|
||||
ldr r0, _0805968C @ =0x800D0000
|
||||
bl SoundReq
|
||||
_08059682:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059684: .4byte gArea
|
||||
_08059688: .4byte 0x00000864
|
||||
_0805968C: .4byte 0x800D0000
|
||||
.syntax divided
|
||||
@@ -0,0 +1,41 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08059844
|
||||
cmp r0, #0
|
||||
beq _080596BC
|
||||
adds r4, #0x20
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _080596D8
|
||||
ldr r0, _080596B8 @ =gUnk_085A7320
|
||||
movs r2, #0xd0
|
||||
lsls r2, r2, #1
|
||||
adds r1, r0, r2
|
||||
ldrb r2, [r4]
|
||||
bl sub_08059894
|
||||
ldrb r0, [r4]
|
||||
subs r0, #1
|
||||
b _080596D6
|
||||
.align 2, 0
|
||||
_080596B8: .4byte gUnk_085A7320
|
||||
_080596BC:
|
||||
adds r4, #0x20
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0x1f
|
||||
bhi _080596D8
|
||||
ldr r0, _080596DC @ =gUnk_085A7320
|
||||
movs r2, #0xd0
|
||||
lsls r2, r2, #1
|
||||
adds r1, r0, r2
|
||||
ldrb r2, [r4]
|
||||
bl sub_08059894
|
||||
ldrb r0, [r4]
|
||||
adds r0, #1
|
||||
_080596D6:
|
||||
strb r0, [r4]
|
||||
_080596D8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080596DC: .4byte gUnk_085A7320
|
||||
.syntax divided
|
||||
@@ -0,0 +1,175 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08059730 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080596FC
|
||||
ldr r0, _08059734 @ =gScreen
|
||||
ldrh r1, [r0, #0x16]
|
||||
adds r1, #8
|
||||
movs r2, #0x1f
|
||||
ands r1, r2
|
||||
strh r1, [r0, #0x16]
|
||||
_080596FC:
|
||||
bl sub_0805986C
|
||||
cmp r0, #0
|
||||
beq _08059740
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x21
|
||||
ldrb r1, [r0]
|
||||
adds r5, r0, #0
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x22
|
||||
cmp r1, #0
|
||||
bne _08059764
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #2
|
||||
beq _08059764
|
||||
movs r0, #1
|
||||
strb r0, [r5]
|
||||
movs r0, #3
|
||||
strb r0, [r2]
|
||||
ldr r0, _08059738 @ =gUnk_08108390
|
||||
ldrb r0, [r0, #3]
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r0, _0805973C @ =gUnk_0200B650
|
||||
str r1, [r0]
|
||||
b _08059764
|
||||
.align 2, 0
|
||||
_08059730: .4byte gScreenTransition
|
||||
_08059734: .4byte gScreen
|
||||
_08059738: .4byte gUnk_08108390
|
||||
_0805973C: .4byte gUnk_0200B650
|
||||
_08059740:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x21
|
||||
ldrb r1, [r0]
|
||||
adds r5, r0, #0
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x22
|
||||
cmp r1, #0
|
||||
bne _08059764
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #5
|
||||
beq _08059764
|
||||
movs r0, #2
|
||||
strb r0, [r5]
|
||||
ldr r1, _08059774 @ =gUnk_08108390
|
||||
ldrb r0, [r2]
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
_08059764:
|
||||
adds r6, r5, #0
|
||||
ldrb r0, [r6]
|
||||
cmp r0, #1
|
||||
beq _08059778
|
||||
cmp r0, #2
|
||||
beq _080597A8
|
||||
b _080597D0
|
||||
.align 2, 0
|
||||
_08059774: .4byte gUnk_08108390
|
||||
_08059778:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r3, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r5, r0, #0x18
|
||||
cmp r5, #0
|
||||
bne _080597D0
|
||||
ldr r1, _080597A4 @ =gUnk_08108390
|
||||
ldrb r0, [r2]
|
||||
subs r0, #1
|
||||
strb r0, [r2]
|
||||
ands r0, r3
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #2
|
||||
bne _080597D0
|
||||
strb r5, [r6]
|
||||
b _080597D0
|
||||
.align 2, 0
|
||||
_080597A4: .4byte gUnk_08108390
|
||||
_080597A8:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r3, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r6, r0, #0x18
|
||||
cmp r6, #0
|
||||
bne _080597D0
|
||||
ldr r1, _080597EC @ =gUnk_08108390
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
strb r0, [r2]
|
||||
ands r0, r3
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #5
|
||||
bne _080597D0
|
||||
strb r6, [r5]
|
||||
_080597D0:
|
||||
ldr r3, _080597F0 @ =gRoomVars
|
||||
ldrb r1, [r2]
|
||||
ldrb r0, [r3, #0x10]
|
||||
cmp r0, r1
|
||||
beq _08059838
|
||||
strb r1, [r3, #0x10]
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #4
|
||||
beq _08059800
|
||||
cmp r0, #4
|
||||
ble _080597F4
|
||||
cmp r0, #5
|
||||
beq _08059824
|
||||
b _08059838
|
||||
.align 2, 0
|
||||
_080597EC: .4byte gUnk_08108390
|
||||
_080597F0: .4byte gRoomVars
|
||||
_080597F4:
|
||||
cmp r0, #0
|
||||
blt _08059838
|
||||
adds r0, #0x2b
|
||||
bl LoadGfxGroup
|
||||
b _08059838
|
||||
_08059800:
|
||||
ldr r4, _0805981C @ =gBG3Buffer
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #4
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl MemClear
|
||||
ldr r1, _08059820 @ =0x0600E800
|
||||
adds r0, r4, #0
|
||||
adds r2, r5, #0
|
||||
bl LoadResourceAsync
|
||||
b _08059838
|
||||
.align 2, 0
|
||||
_0805981C: .4byte gBG3Buffer
|
||||
_08059820: .4byte 0x0600E800
|
||||
_08059824:
|
||||
ldr r0, _0805983C @ =gUnk_0200B650
|
||||
ldr r1, _08059840 @ =gBG1Settings
|
||||
str r1, [r0]
|
||||
subs r1, #0x14
|
||||
ldrh r2, [r1]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #2
|
||||
adds r0, r3, #0
|
||||
orrs r0, r2
|
||||
strh r0, [r1]
|
||||
_08059838:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0805983C: .4byte gUnk_0200B650
|
||||
_08059840: .4byte gBG1Settings
|
||||
.syntax divided
|
||||
@@ -0,0 +1,21 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
movs r3, #0
|
||||
ldr r0, _08059864 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r0, r2]
|
||||
ldr r2, _08059868 @ =gRoomControls
|
||||
ldrh r0, [r2, #6]
|
||||
subs r1, r1, r0
|
||||
ldrh r0, [r2, #0x1e]
|
||||
lsrs r0, r0, #1
|
||||
cmp r1, r0
|
||||
ble _0805985E
|
||||
movs r3, #1
|
||||
_0805985E:
|
||||
adds r0, r3, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08059864: .4byte gPlayerEntity
|
||||
_08059868: .4byte gRoomControls
|
||||
.syntax divided
|
||||
@@ -0,0 +1,21 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
movs r2, #0
|
||||
ldr r0, _0805988C @ =gPlayerEntity
|
||||
movs r3, #0x2e
|
||||
ldrsh r1, [r0, r3]
|
||||
ldr r0, _08059890 @ =gRoomControls
|
||||
ldrh r0, [r0, #6]
|
||||
subs r1, r1, r0
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #2
|
||||
cmp r1, r0
|
||||
ble _08059886
|
||||
movs r2, #1
|
||||
_08059886:
|
||||
adds r0, r2, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805988C: .4byte gPlayerEntity
|
||||
_08059890: .4byte gRoomControls
|
||||
.syntax divided
|
||||
@@ -0,0 +1,47 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
ldr r0, _080598E8 @ =gUnk_020176E0
|
||||
mov sb, r0
|
||||
movs r6, #0
|
||||
lsls r2, r2, #0x18
|
||||
mov r8, r2
|
||||
_080598AA:
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
mov r2, sb
|
||||
mov r7, r8
|
||||
lsrs r3, r7, #0x18
|
||||
bl sub_08059960
|
||||
adds r5, #0x20
|
||||
adds r4, #0x20
|
||||
movs r0, #0x20
|
||||
add sb, r0
|
||||
adds r6, #1
|
||||
cmp r6, #0xc
|
||||
bls _080598AA
|
||||
ldr r0, _080598EC @ =gUnk_02017700
|
||||
movs r2, #0x90
|
||||
lsls r2, r2, #2
|
||||
adds r1, r0, r2
|
||||
movs r2, #0x20
|
||||
bl MemCopy
|
||||
ldr r2, _080598F0 @ =gUsedPalettes
|
||||
ldr r0, [r2]
|
||||
ldr r1, _080598F4 @ =0x00207FFC
|
||||
orrs r0, r1
|
||||
str r0, [r2]
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080598E8: .4byte gUnk_020176E0
|
||||
_080598EC: .4byte gUnk_02017700
|
||||
_080598F0: .4byte gUsedPalettes
|
||||
_080598F4: .4byte 0x00207FFC
|
||||
.syntax divided
|
||||
@@ -0,0 +1,54 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
movs r4, #0x1f
|
||||
adds r3, r0, #0
|
||||
ands r3, r4
|
||||
lsls r6, r3, #8
|
||||
adds r3, r6, #0
|
||||
muls r3, r2, r3
|
||||
lsrs r6, r3, #5
|
||||
adds r3, r1, #0
|
||||
ands r3, r4
|
||||
lsls r3, r3, #8
|
||||
movs r4, #0x20
|
||||
subs r4, r4, r2
|
||||
muls r3, r4, r3
|
||||
lsrs r3, r3, #5
|
||||
adds r3, r6, r3
|
||||
lsrs r6, r3, #8
|
||||
movs r5, #0xf8
|
||||
lsls r5, r5, #2
|
||||
adds r3, r0, #0
|
||||
ands r3, r5
|
||||
lsls r7, r3, #3
|
||||
adds r3, r7, #0
|
||||
muls r3, r2, r3
|
||||
lsrs r7, r3, #5
|
||||
adds r3, r1, #0
|
||||
ands r3, r5
|
||||
lsls r3, r3, #3
|
||||
muls r3, r4, r3
|
||||
lsrs r3, r3, #5
|
||||
adds r3, r7, r3
|
||||
lsrs r7, r3, #8
|
||||
movs r3, #0xf8
|
||||
lsls r3, r3, #7
|
||||
ands r0, r3
|
||||
lsrs r5, r0, #2
|
||||
adds r0, r5, #0
|
||||
muls r0, r2, r0
|
||||
lsrs r5, r0, #5
|
||||
ands r1, r3
|
||||
lsrs r0, r1, #2
|
||||
muls r0, r4, r0
|
||||
lsrs r0, r0, #5
|
||||
adds r0, r5, r0
|
||||
lsrs r5, r0, #8
|
||||
lsls r0, r7, #5
|
||||
orrs r6, r0
|
||||
lsls r0, r5, #0xa
|
||||
orrs r6, r0
|
||||
adds r0, r6, #0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,28 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, #0
|
||||
adds r5, r1, #0
|
||||
adds r4, r2, #0
|
||||
lsls r3, r3, #0x18
|
||||
lsrs r3, r3, #0x18
|
||||
mov r8, r3
|
||||
movs r7, #0
|
||||
_08059974:
|
||||
ldrh r0, [r6]
|
||||
adds r6, #2
|
||||
ldrh r1, [r5]
|
||||
adds r5, #2
|
||||
mov r2, r8
|
||||
bl sub_080598F8
|
||||
strh r0, [r4]
|
||||
adds r4, #2
|
||||
adds r7, #1
|
||||
cmp r7, #0xf
|
||||
bls _08059974
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,18 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
bl sub_0805986C
|
||||
cmp r0, #0
|
||||
beq _080599AE
|
||||
movs r0, #0x5b
|
||||
bl LoadPaletteGroup
|
||||
ldr r0, _080599B0 @ =gArea
|
||||
ldr r1, _080599B4 @ =0x00000864
|
||||
adds r0, r0, r1
|
||||
movs r1, #0x1e
|
||||
str r1, [r0]
|
||||
_080599AE:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080599B0: .4byte gArea
|
||||
_080599B4: .4byte 0x00000864
|
||||
.syntax divided
|
||||
@@ -0,0 +1,28 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r5, r1, #0
|
||||
adds r4, r2, #0
|
||||
adds r0, r3, #0
|
||||
bl sub_08056300
|
||||
adds r2, r0, #0
|
||||
strb r2, [r4]
|
||||
lsls r0, r2, #0x18
|
||||
lsrs r3, r0, #0x18
|
||||
cmp r3, #0xff
|
||||
beq _08059CBC
|
||||
ldr r0, _08059CB8 @ =gRoomVars
|
||||
adds r0, #0x10
|
||||
adds r1, r5, r0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, r3
|
||||
beq _08059CBC
|
||||
strb r2, [r1]
|
||||
movs r0, #1
|
||||
b _08059CBE
|
||||
.align 2, 0
|
||||
_08059CB8: .4byte gRoomVars
|
||||
_08059CBC:
|
||||
movs r0, #0
|
||||
_08059CBE:
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,19 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #0x20]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x20]
|
||||
ldr r1, _08059E7C @ =gUnk_081085A4
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0805A1D8
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059E7C: .4byte gUnk_081085A4
|
||||
.syntax divided
|
||||
@@ -0,0 +1,4 @@
|
||||
.syntax unified
|
||||
bx lr
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,55 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl EntityHasDuplicateID
|
||||
cmp r0, #0
|
||||
beq _08059E90
|
||||
bl DeleteThisEntity
|
||||
_08059E90:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r2, #0
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
movs r0, #0
|
||||
strh r2, [r4, #0x20]
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xf]
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
ldr r3, _08059EE4 @ =gScreen
|
||||
ldr r0, _08059EE8 @ =0x00001E04
|
||||
strh r0, [r3, #0x2c]
|
||||
ldrh r0, [r3]
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #4
|
||||
adds r1, r5, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r3]
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x66
|
||||
ldr r0, _08059EEC @ =0x00003E48
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
strh r0, [r1]
|
||||
movs r0, #0x80
|
||||
strh r0, [r3, #0x2e]
|
||||
strh r2, [r3, #0x30]
|
||||
ldr r1, _08059EF0 @ =nullsub_495
|
||||
ldr r2, _08059EF4 @ =sub_0805A25C
|
||||
adds r0, r4, #0
|
||||
bl sub_08052D74
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08059EE4: .4byte gScreen
|
||||
_08059EE8: .4byte 0x00001E04
|
||||
_08059EEC: .4byte 0x00003E48
|
||||
_08059EF0: .4byte nullsub_495
|
||||
_08059EF4: .4byte sub_0805A25C
|
||||
.syntax divided
|
||||
@@ -0,0 +1,81 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
movs r6, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r5, r0, #0x18
|
||||
cmp r5, #0
|
||||
bne _08059F90
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
bl sub_08059F9C
|
||||
cmp r0, #0
|
||||
beq _08059F64
|
||||
ldr r2, _08059F50 @ =gUnk_08108588
|
||||
ldrb r0, [r4, #0xe]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r1, [r0]
|
||||
ldr r0, _08059F54 @ =0x00000808
|
||||
cmp r1, r0
|
||||
beq _08059F5C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x24
|
||||
strb r5, [r0]
|
||||
ldr r1, _08059F58 @ =gScreen
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
ands r0, r6
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
adds r1, #0x68
|
||||
strh r0, [r1]
|
||||
b _08059F90
|
||||
.align 2, 0
|
||||
_08059F50: .4byte gUnk_08108588
|
||||
_08059F54: .4byte 0x00000808
|
||||
_08059F58: .4byte gScreen
|
||||
_08059F5C:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x22
|
||||
strb r5, [r0]
|
||||
b _08059F90
|
||||
_08059F64:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
ldr r3, _08059F94 @ =gUnk_08108588
|
||||
ldrb r2, [r4, #0xe]
|
||||
lsls r0, r2, #1
|
||||
adds r0, r0, r3
|
||||
ldrh r1, [r0]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
cmp r1, r0
|
||||
beq _08059F90
|
||||
ldr r0, _08059F98 @ =gScreen
|
||||
subs r1, r2, #1
|
||||
strb r1, [r4, #0xe]
|
||||
ands r1, r6
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r3
|
||||
ldrh r1, [r1]
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_08059F90:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08059F94: .4byte gUnk_08108588
|
||||
_08059F98: .4byte gScreen
|
||||
.syntax divided
|
||||
@@ -0,0 +1,61 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08059FB4 @ =gRoomControls
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #0x17
|
||||
bhi _0805A03A
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08059FB8 @ =_08059FBC
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08059FB4: .4byte gRoomControls
|
||||
_08059FB8: .4byte _08059FBC
|
||||
_08059FBC: @ jump table
|
||||
.4byte _0805A036 @ case 0
|
||||
.4byte _0805A01C @ case 1
|
||||
.4byte _0805A03A @ case 2
|
||||
.4byte _0805A03A @ case 3
|
||||
.4byte _0805A03A @ case 4
|
||||
.4byte _0805A03A @ case 5
|
||||
.4byte _0805A03A @ case 6
|
||||
.4byte _0805A02A @ case 7
|
||||
.4byte _0805A036 @ case 8
|
||||
.4byte _0805A036 @ case 9
|
||||
.4byte _0805A03A @ case 10
|
||||
.4byte _0805A03A @ case 11
|
||||
.4byte _0805A03A @ case 12
|
||||
.4byte _0805A03A @ case 13
|
||||
.4byte _0805A03A @ case 14
|
||||
.4byte _0805A03A @ case 15
|
||||
.4byte _0805A03A @ case 16
|
||||
.4byte _0805A03A @ case 17
|
||||
.4byte _0805A03A @ case 18
|
||||
.4byte _0805A03A @ case 19
|
||||
.4byte _0805A03A @ case 20
|
||||
.4byte _0805A03A @ case 21
|
||||
.4byte _0805A03A @ case 22
|
||||
.4byte _0805A036 @ case 23
|
||||
_0805A01C:
|
||||
movs r0, #0x16
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0805A02A
|
||||
movs r0, #0
|
||||
b _0805A03C
|
||||
_0805A02A:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805A25C
|
||||
bl DeleteThisEntity
|
||||
b _0805A03C
|
||||
_0805A036:
|
||||
movs r0, #1
|
||||
b _0805A03C
|
||||
_0805A03A:
|
||||
movs r0, #0
|
||||
_0805A03C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,5 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
bl sub_0805A098
|
||||
pop {pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,40 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805A086
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xf]
|
||||
ldr r2, _0805A090 @ =gScreen
|
||||
ldr r3, _0805A094 @ =gUnk_08108588
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r0, r0, r3
|
||||
ldrh r0, [r0]
|
||||
adds r2, #0x68
|
||||
strh r0, [r2]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #9
|
||||
bne _0805A086
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
_0805A086:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805A098
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805A090: .4byte gScreen
|
||||
_0805A094: .4byte gUnk_08108588
|
||||
.syntax divided
|
||||
@@ -0,0 +1,24 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, _0805A0B0 @ =gRoomControls
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #9
|
||||
bgt _0805A0B4
|
||||
cmp r0, #8
|
||||
bge _0805A0BC
|
||||
cmp r0, #0
|
||||
beq _0805A0BC
|
||||
b _0805A0B8
|
||||
.align 2, 0
|
||||
_0805A0B0: .4byte gRoomControls
|
||||
_0805A0B4:
|
||||
cmp r0, #0x17
|
||||
beq _0805A0BC
|
||||
_0805A0B8:
|
||||
movs r0, #3
|
||||
strb r0, [r1, #0xc]
|
||||
_0805A0BC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,41 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r3, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0805A106
|
||||
movs r0, #4
|
||||
strb r0, [r3, #0xf]
|
||||
ldr r4, _0805A108 @ =gScreen
|
||||
ldr r2, _0805A10C @ =gUnk_08108588
|
||||
ldrb r0, [r3, #0xe]
|
||||
adds r1, r0, #0
|
||||
adds r1, #0xff
|
||||
strb r1, [r3, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r0, r0, r2
|
||||
ldrh r2, [r0]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
strh r2, [r0]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #0xff
|
||||
bne _0805A106
|
||||
ldrh r1, [r4]
|
||||
ldr r0, _0805A110 @ =0x0000F7FF
|
||||
ands r0, r1
|
||||
strh r0, [r4]
|
||||
bl sub_08056250
|
||||
bl DeleteThisEntity
|
||||
_0805A106:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805A108: .4byte gScreen
|
||||
_0805A10C: .4byte gUnk_08108588
|
||||
_0805A110: .4byte 0x0000F7FF
|
||||
.syntax divided
|
||||
@@ -0,0 +1,92 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r7, r0, #0
|
||||
adds r6, r1, #0
|
||||
ldr r2, _0805A154 @ =gUnk_03003DE4
|
||||
ldrb r1, [r2]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
ldr r1, _0805A158 @ =gUnk_02017AA0
|
||||
adds r4, r0, r1
|
||||
movs r5, #0
|
||||
mov r8, r2
|
||||
mov sb, r1
|
||||
ldr r2, _0805A15C @ =gScreen
|
||||
ldr r0, _0805A160 @ =gSineTable
|
||||
mov ip, r0
|
||||
_0805A13A:
|
||||
movs r1, #0x30
|
||||
ldrsh r0, [r2, r1]
|
||||
adds r3, r5, r0
|
||||
asrs r1, r3, #3
|
||||
movs r0, #7
|
||||
ands r1, r0
|
||||
cmp r1, #7
|
||||
bhi _0805A190
|
||||
lsls r0, r1, #2
|
||||
ldr r1, _0805A164 @ =_0805A168
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0805A154: .4byte gUnk_03003DE4
|
||||
_0805A158: .4byte gUnk_02017AA0
|
||||
_0805A15C: .4byte gScreen
|
||||
_0805A160: .4byte gSineTable
|
||||
_0805A164: .4byte _0805A168
|
||||
_0805A168: @ jump table
|
||||
.4byte _0805A190 @ case 0
|
||||
.4byte _0805A18C @ case 1
|
||||
.4byte _0805A190 @ case 2
|
||||
.4byte _0805A190 @ case 3
|
||||
.4byte _0805A188 @ case 4
|
||||
.4byte _0805A190 @ case 5
|
||||
.4byte _0805A190 @ case 6
|
||||
.4byte _0805A18C @ case 7
|
||||
_0805A188:
|
||||
subs r3, #8
|
||||
b _0805A190
|
||||
_0805A18C:
|
||||
movs r0, #0xf0
|
||||
b _0805A192
|
||||
_0805A190:
|
||||
movs r0, #0xf8
|
||||
_0805A192:
|
||||
ands r3, r0
|
||||
adds r0, r6, r3
|
||||
movs r1, #0xff
|
||||
ands r0, r1
|
||||
lsls r0, r0, #1
|
||||
add r0, ip
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
muls r0, r7, r0
|
||||
lsrs r0, r0, #8
|
||||
ldrh r1, [r2, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4]
|
||||
adds r4, #2
|
||||
adds r5, #1
|
||||
cmp r5, #0x9f
|
||||
ble _0805A13A
|
||||
mov r0, r8
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #9
|
||||
add r0, sb
|
||||
ldr r1, _0805A1D0 @ =0x0400001C
|
||||
ldr r2, _0805A1D4 @ =0xA2600001
|
||||
bl sub_0805622C
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805A1D0: .4byte 0x0400001C
|
||||
_0805A1D4: .4byte 0xA2600001
|
||||
.syntax divided
|
||||
@@ -0,0 +1,61 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0805A244 @ =gRoomControls
|
||||
ldr r0, [r1, #0x28]
|
||||
ldr r2, _0805A248 @ =0xFFFFF000
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x28]
|
||||
ldr r5, _0805A24C @ =gScreen
|
||||
ldrh r0, [r1, #0x2a]
|
||||
strh r0, [r5, #0x2e]
|
||||
ldr r0, [r1, #0x2c]
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x2c]
|
||||
ldrh r0, [r1, #0x2e]
|
||||
strh r0, [r5, #0x30]
|
||||
ldrh r1, [r5]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805A240
|
||||
ldrh r1, [r4, #0x20]
|
||||
lsrs r1, r1, #1
|
||||
movs r0, #6
|
||||
bl sub_0805A114
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x22
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0805A240
|
||||
ldr r0, _0805A250 @ =gMain
|
||||
ldrh r1, [r0, #0xc]
|
||||
movs r0, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805A240
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x24
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r1, _0805A254 @ =gUnk_0810859A
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x68
|
||||
strh r1, [r0]
|
||||
_0805A240:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805A244: .4byte gRoomControls
|
||||
_0805A248: .4byte 0xFFFFF000
|
||||
_0805A24C: .4byte gScreen
|
||||
_0805A250: .4byte gMain
|
||||
_0805A254: .4byte gUnk_0810859A
|
||||
.syntax divided
|
||||
@@ -0,0 +1,17 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
ldr r1, _0805A278 @ =gScreen
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x66
|
||||
movs r0, #0
|
||||
strh r0, [r2]
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _0805A27C @ =0x0000F7FF
|
||||
ands r0, r2
|
||||
strh r0, [r1]
|
||||
bl sub_08056250
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805A278: .4byte gScreen
|
||||
_0805A27C: .4byte 0x0000F7FF
|
||||
.syntax divided
|
||||
@@ -1,13 +1,4 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805AB4C
|
||||
sub_0805AB4C: @ 0x0805AB4C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
@@ -190,76 +181,4 @@ _0805ACAA:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805ACBC: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0805ACC0
|
||||
sub_0805ACC0: @ 0x0805ACC0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r0, #0x45
|
||||
ldrb r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _0805ACF0
|
||||
b _0805AD32
|
||||
_0805ACD0:
|
||||
ldrb r0, [r4, #0xb]
|
||||
subs r0, r5, r0
|
||||
lsls r0, r0, #4
|
||||
adds r3, r3, r0
|
||||
ldrh r0, [r3, #4]
|
||||
ldr r2, _0805ACEC @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #0x10
|
||||
ldrh r1, [r3, #6]
|
||||
orrs r0, r1
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
b _0805AD34
|
||||
.align 2, 0
|
||||
_0805ACEC: .4byte gRoomControls
|
||||
_0805ACF0:
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
subs r5, r0, #1
|
||||
ldr r6, _0805AD3C @ =gUnk_03003DA0
|
||||
ldr r4, [r6, #4]
|
||||
cmp r4, r6
|
||||
beq _0805AD32
|
||||
ldr r0, _0805AD40 @ =0x00001609
|
||||
mov r8, r0
|
||||
ldr r0, _0805AD44 @ =0x0000FFFF
|
||||
adds r7, r0, #0
|
||||
_0805AD06:
|
||||
ldrh r0, [r4, #8]
|
||||
ands r0, r7
|
||||
cmp r0, r8
|
||||
bne _0805AD2C
|
||||
ldrb r1, [r4, #0xb]
|
||||
cmp r1, r5
|
||||
bgt _0805AD2C
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x21
|
||||
ldrb r0, [r0]
|
||||
adds r0, r1, r0
|
||||
cmp r0, r5
|
||||
ble _0805AD2C
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
bne _0805ACD0
|
||||
_0805AD2C:
|
||||
ldr r4, [r4, #4]
|
||||
cmp r4, r6
|
||||
bne _0805AD06
|
||||
_0805AD32:
|
||||
movs r0, #0
|
||||
_0805AD34:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805AD3C: .4byte gUnk_03003DA0
|
||||
_0805AD40: .4byte 0x00001609
|
||||
_0805AD44: .4byte 0x0000FFFF
|
||||
.syntax divided
|
||||
@@ -0,0 +1,72 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r0, #0x45
|
||||
ldrb r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _0805ACF0
|
||||
b _0805AD32
|
||||
_0805ACD0:
|
||||
ldrb r0, [r4, #0xb]
|
||||
subs r0, r5, r0
|
||||
lsls r0, r0, #4
|
||||
adds r3, r3, r0
|
||||
ldrh r0, [r3, #4]
|
||||
ldr r2, _0805ACEC @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #0x10
|
||||
ldrh r1, [r3, #6]
|
||||
orrs r0, r1
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
b _0805AD34
|
||||
.align 2, 0
|
||||
_0805ACEC: .4byte gRoomControls
|
||||
_0805ACF0:
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
subs r5, r0, #1
|
||||
ldr r6, _0805AD3C @ =gUnk_03003DA0
|
||||
ldr r4, [r6, #4]
|
||||
cmp r4, r6
|
||||
beq _0805AD32
|
||||
ldr r0, _0805AD40 @ =0x00001609
|
||||
mov r8, r0
|
||||
ldr r0, _0805AD44 @ =0x0000FFFF
|
||||
adds r7, r0, #0
|
||||
_0805AD06:
|
||||
ldrh r0, [r4, #8]
|
||||
ands r0, r7
|
||||
cmp r0, r8
|
||||
bne _0805AD2C
|
||||
ldrb r1, [r4, #0xb]
|
||||
cmp r1, r5
|
||||
bgt _0805AD2C
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x21
|
||||
ldrb r0, [r0]
|
||||
adds r0, r1, r0
|
||||
cmp r0, r5
|
||||
ble _0805AD2C
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
bne _0805ACD0
|
||||
_0805AD2C:
|
||||
ldr r4, [r4, #4]
|
||||
cmp r4, r6
|
||||
bne _0805AD06
|
||||
_0805AD32:
|
||||
movs r0, #0
|
||||
_0805AD34:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805AD3C: .4byte gUnk_03003DA0
|
||||
_0805AD40: .4byte 0x00001609
|
||||
_0805AD44: .4byte 0x0000FFFF
|
||||
.syntax divided
|
||||
@@ -0,0 +1,90 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08057664 @ =gUnk_0200B650
|
||||
movs r5, #0
|
||||
str r5, [r0]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x13
|
||||
strh r5, [r0]
|
||||
adds r0, r4, #0
|
||||
bl LoadGfxGroup
|
||||
ldr r0, _08057668 @ =gRoomVars
|
||||
strb r4, [r0, #0x10]
|
||||
ldr r3, _0805766C @ =gRoomControls
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r3, r0]
|
||||
ldrh r0, [r3, #8]
|
||||
subs r1, r1, r0
|
||||
asrs r0, r1, #3
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08057670 @ =gScreen
|
||||
movs r7, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r7
|
||||
strh r0, [r2, #0x30]
|
||||
strh r5, [r2, #0x2e]
|
||||
adds r0, r1, #0
|
||||
cmp r1, #0
|
||||
bge _08057604
|
||||
adds r0, #0x3f
|
||||
_08057604:
|
||||
asrs r0, r0, #6
|
||||
lsls r0, r0, #9
|
||||
ldr r4, _08057674 @ =gMapDataTopSpecial
|
||||
adds r0, r0, r4
|
||||
str r0, [r2, #0x34]
|
||||
ldr r0, _08057678 @ =0x00001D49
|
||||
strh r0, [r2, #0x2c]
|
||||
movs r6, #1
|
||||
strh r6, [r2, #0x32]
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r3, r0]
|
||||
ldrh r0, [r3, #8]
|
||||
subs r1, r1, r0
|
||||
asrs r0, r1, #2
|
||||
adds r1, r1, r0
|
||||
adds r0, r1, #0
|
||||
ands r0, r7
|
||||
strh r0, [r2, #0x18]
|
||||
strh r5, [r2, #0x16]
|
||||
adds r0, r1, #0
|
||||
cmp r0, #0
|
||||
bge _08057632
|
||||
adds r0, #0x3f
|
||||
_08057632:
|
||||
asrs r0, r0, #6
|
||||
lsls r0, r0, #9
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #6
|
||||
adds r1, r4, r3
|
||||
adds r0, r0, r1
|
||||
str r0, [r2, #0x1c]
|
||||
ldr r0, _0805767C @ =0x00001E49
|
||||
strh r0, [r2, #0x14]
|
||||
strh r6, [r2, #0x1a]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x66
|
||||
ldr r0, _08057680 @ =0x00003C48
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
ldr r0, _08057684 @ =0x00000609
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r2]
|
||||
movs r3, #0xa0
|
||||
lsls r3, r3, #4
|
||||
adds r1, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08057664: .4byte gUnk_0200B650
|
||||
_08057668: .4byte gRoomVars
|
||||
_0805766C: .4byte gRoomControls
|
||||
_08057670: .4byte gScreen
|
||||
_08057674: .4byte gMapDataTopSpecial
|
||||
_08057678: .4byte 0x00001D49
|
||||
_0805767C: .4byte 0x00001E49
|
||||
_08057680: .4byte 0x00003C48
|
||||
_08057684: .4byte 0x00000609
|
||||
.syntax divided
|
||||
@@ -0,0 +1,185 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r4, _0805B964 @ =gArea
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805B90A
|
||||
bl sub_0801E104
|
||||
ldr r2, _0805B968 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805B96C @ =0x0000D7FF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
bl DeleteThisEntity
|
||||
_0805B90A:
|
||||
ldrb r2, [r5, #0xc]
|
||||
cmp r2, #0
|
||||
bne _0805B934
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r5, #0x10]
|
||||
movs r0, #0x11
|
||||
strb r0, [r5, #0xe]
|
||||
str r2, [r5, #0x20]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl sub_0801E120
|
||||
ldrb r0, [r5, #0xe]
|
||||
bl sub_0801E154
|
||||
_0805B934:
|
||||
ldr r0, _0805B970 @ =gMain
|
||||
ldrb r0, [r0, #4]
|
||||
cmp r0, #2
|
||||
bne _0805B952
|
||||
ldr r2, _0805B968 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
bl sub_0805BA78
|
||||
bl sub_0805BAD4
|
||||
_0805B952:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #2
|
||||
bne _0805B978
|
||||
ldr r2, _0805B968 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805B974 @ =0x0000DFFF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
b _0805BA6C
|
||||
.align 2, 0
|
||||
_0805B964: .4byte gArea
|
||||
_0805B968: .4byte gScreen
|
||||
_0805B96C: .4byte 0x0000D7FF
|
||||
_0805B970: .4byte gMain
|
||||
_0805B974: .4byte 0x0000DFFF
|
||||
_0805B978:
|
||||
ldr r3, _0805B9A8 @ =gPlayerEntity
|
||||
movs r4, #0x2e
|
||||
ldrsh r0, [r3, r4]
|
||||
ldr r2, _0805B9AC @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
subs r0, r0, r1
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r3, r6]
|
||||
ldrh r2, [r2, #8]
|
||||
subs r1, r1, r2
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
bl CheckRectOnScreen
|
||||
cmp r0, #0
|
||||
beq _0805B9B4
|
||||
ldr r2, _0805B9B0 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #6
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
b _0805B9BC
|
||||
.align 2, 0
|
||||
_0805B9A8: .4byte gPlayerEntity
|
||||
_0805B9AC: .4byte gRoomControls
|
||||
_0805B9B0: .4byte gScreen
|
||||
_0805B9B4:
|
||||
ldr r2, _0805B9E8 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805B9EC @ =0x0000DFFF
|
||||
ands r0, r1
|
||||
_0805B9BC:
|
||||
strh r0, [r2]
|
||||
ldrb r4, [r5, #0xe]
|
||||
ldr r0, _0805B9F0 @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805BA2C
|
||||
ldr r0, _0805B9F4 @ =gArea
|
||||
ldrb r0, [r0, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BA2C
|
||||
cmp r4, #0x47
|
||||
bhi _0805B9F8
|
||||
adds r4, #4
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E154
|
||||
movs r0, #0
|
||||
str r0, [r5, #0x20]
|
||||
b _0805BA42
|
||||
.align 2, 0
|
||||
_0805B9E8: .4byte gScreen
|
||||
_0805B9EC: .4byte 0x0000DFFF
|
||||
_0805B9F0: .4byte gPlayerState
|
||||
_0805B9F4: .4byte gArea
|
||||
_0805B9F8:
|
||||
ldr r0, _0805BA24 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0805BA42
|
||||
ldrb r0, [r5, #0xf]
|
||||
adds r0, #0x10
|
||||
strb r0, [r5, #0xf]
|
||||
ldr r1, _0805BA28 @ =gSineTable
|
||||
ldrb r0, [r5, #0xf]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
movs r6, #0
|
||||
ldrsh r0, [r0, r6]
|
||||
asrs r0, r0, #7
|
||||
str r0, [r5, #0x20]
|
||||
adds r0, r4, r0
|
||||
bl sub_0801E154
|
||||
b _0805BA42
|
||||
.align 2, 0
|
||||
_0805BA24: .4byte gScreenTransition
|
||||
_0805BA28: .4byte gSineTable
|
||||
_0805BA2C:
|
||||
movs r0, #0
|
||||
str r0, [r5, #0x20]
|
||||
cmp r4, #0x11
|
||||
bls _0805BA42
|
||||
subs r4, #4
|
||||
cmp r4, #0x10
|
||||
bhi _0805BA3C
|
||||
movs r4, #0x11
|
||||
_0805BA3C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E154
|
||||
_0805BA42:
|
||||
strb r4, [r5, #0xe]
|
||||
ldr r3, _0805BA70 @ =gPlayerEntity
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r3, r1]
|
||||
ldr r2, _0805BA74 @ =gRoomControls
|
||||
movs r6, #0xa
|
||||
ldrsh r1, [r2, r6]
|
||||
subs r0, r0, r1
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r3, r6]
|
||||
movs r6, #0xc
|
||||
ldrsh r2, [r2, r6]
|
||||
subs r1, r1, r2
|
||||
movs r6, #0x36
|
||||
ldrsh r2, [r3, r6]
|
||||
subs r2, #9
|
||||
adds r1, r1, r2
|
||||
ldr r2, [r5, #0x20]
|
||||
adds r2, r4, r2
|
||||
bl sub_0801E160
|
||||
_0805BA6C:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0805BA70: .4byte gPlayerEntity
|
||||
_0805BA74: .4byte gRoomControls
|
||||
.syntax divided
|
||||
@@ -0,0 +1,55 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
ldr r1, _0805BAA8 @ =gArea
|
||||
movs r0, #0xa
|
||||
ldrsh r3, [r1, r0]
|
||||
ldr r0, _0805BAAC @ =gRoomVars
|
||||
movs r4, #0xc
|
||||
ldrsh r2, [r0, r4]
|
||||
cmp r2, #0
|
||||
bge _0805BA8C
|
||||
movs r2, #0
|
||||
_0805BA8C:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
cmp r2, r0
|
||||
ble _0805BA96
|
||||
adds r2, r0, #0
|
||||
_0805BA96:
|
||||
cmp r3, r2
|
||||
beq _0805BACE
|
||||
subs r0, r2, r3
|
||||
cmp r0, #0
|
||||
blt _0805BAB0
|
||||
cmp r0, #4
|
||||
bls _0805BAB6
|
||||
b _0805BABA
|
||||
.align 2, 0
|
||||
_0805BAA8: .4byte gArea
|
||||
_0805BAAC: .4byte gRoomVars
|
||||
_0805BAB0:
|
||||
subs r0, r3, r2
|
||||
cmp r0, #4
|
||||
bhi _0805BABA
|
||||
_0805BAB6:
|
||||
adds r3, r2, #0
|
||||
b _0805BAC8
|
||||
_0805BABA:
|
||||
cmp r2, r3
|
||||
bge _0805BAC2
|
||||
subs r3, #4
|
||||
b _0805BAC8
|
||||
_0805BAC2:
|
||||
cmp r2, r3
|
||||
ble _0805BAC8
|
||||
adds r3, #4
|
||||
_0805BAC8:
|
||||
strh r3, [r1, #0xa]
|
||||
movs r0, #1
|
||||
b _0805BAD0
|
||||
_0805BACE:
|
||||
movs r0, #0
|
||||
_0805BAD0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,23 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
ldr r3, _0805BAF4 @ =gArea
|
||||
ldrb r0, [r3, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BAF2
|
||||
ldr r1, _0805BAF8 @ =gScreen
|
||||
ldr r2, _0805BAFC @ =gUnk_08108CA8
|
||||
ldrh r0, [r3, #0xa]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
adds r1, #0x68
|
||||
strh r0, [r1]
|
||||
_0805BAF2:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805BAF4: .4byte gArea
|
||||
_0805BAF8: .4byte gScreen
|
||||
_0805BAFC: .4byte gUnk_08108CA8
|
||||
.syntax divided
|
||||
@@ -0,0 +1,54 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldr r0, _0805BB50 @ =gArea
|
||||
ldrb r0, [r0, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805BB28
|
||||
bl GetEmptyManager
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0805BB28
|
||||
movs r0, #9
|
||||
strb r0, [r1, #8]
|
||||
movs r0, #0x22
|
||||
strb r0, [r1, #9]
|
||||
adds r0, r1, #0
|
||||
movs r1, #0
|
||||
bl AppendEntityToList
|
||||
_0805BB28:
|
||||
ldr r1, _0805BB54 @ =0x0600F000
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #4
|
||||
movs r0, #0xf
|
||||
bl MemFill16
|
||||
ldr r0, _0805BB58 @ =gScreen
|
||||
ldr r1, _0805BB5C @ =0x00001E0C
|
||||
strh r1, [r0, #0x2c]
|
||||
adds r0, #0x66
|
||||
ldr r1, _0805BB60 @ =0x00003E48
|
||||
strh r1, [r0]
|
||||
ldr r0, _0805BB64 @ =gRoomVars
|
||||
strh r4, [r0, #0xc]
|
||||
cmp r5, #0
|
||||
beq _0805BB68
|
||||
ldr r1, _0805BB50 @ =gArea
|
||||
movs r0, #1
|
||||
b _0805BB6C
|
||||
.align 2, 0
|
||||
_0805BB50: .4byte gArea
|
||||
_0805BB54: .4byte 0x0600F000
|
||||
_0805BB58: .4byte gScreen
|
||||
_0805BB5C: .4byte 0x00001E0C
|
||||
_0805BB60: .4byte 0x00003E48
|
||||
_0805BB64: .4byte gRoomVars
|
||||
_0805BB68:
|
||||
ldr r1, _0805BB70 @ =gArea
|
||||
movs r0, #2
|
||||
_0805BB6C:
|
||||
strb r0, [r1, #0xc]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805BB70: .4byte gArea
|
||||
.syntax divided
|
||||
@@ -0,0 +1,34 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r2, _0805BBB0 @ =gRoomVars
|
||||
cmp r1, #0
|
||||
bge _0805BB82
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r2, r0]
|
||||
_0805BB82:
|
||||
ldr r0, _0805BBB4 @ =gArea
|
||||
strh r1, [r0, #0xa]
|
||||
strh r1, [r2, #0xc]
|
||||
movs r0, #9
|
||||
movs r1, #0x22
|
||||
bl DeepFindEntityByID
|
||||
cmp r0, #0
|
||||
beq _0805BBAE
|
||||
bl Manager22_Main
|
||||
ldr r0, _0805BBB8 @ =gScreen
|
||||
ldrh r1, [r0]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r2, r3, #0
|
||||
orrs r1, r2
|
||||
strh r1, [r0]
|
||||
bl sub_0805BA78
|
||||
bl sub_0805BAD4
|
||||
_0805BBAE:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805BBB0: .4byte gRoomVars
|
||||
_0805BBB4: .4byte gArea
|
||||
_0805BBB8: .4byte gScreen
|
||||
.syntax divided
|
||||
@@ -0,0 +1,34 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
movs r4, #0
|
||||
ldr r2, _0805BBF8 @ =gArea
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BBF2
|
||||
ldr r0, _0805BBFC @ =gRoomVars
|
||||
movs r3, #0xc
|
||||
ldrsh r1, [r0, r3]
|
||||
movs r3, #0xa
|
||||
ldrsh r0, [r2, r3]
|
||||
cmp r1, r0
|
||||
bge _0805BBF2
|
||||
ldr r2, _0805BC00 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
bl sub_0805BA78
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0805BBF2
|
||||
bl sub_0805BAD4
|
||||
_0805BBF2:
|
||||
adds r0, r4, #0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805BBF8: .4byte gArea
|
||||
_0805BBFC: .4byte gRoomVars
|
||||
_0805BC00: .4byte gScreen
|
||||
.syntax divided
|
||||
@@ -0,0 +1,34 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
movs r4, #0
|
||||
ldr r2, _0805BC40 @ =gArea
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BC3A
|
||||
ldr r0, _0805BC44 @ =gRoomVars
|
||||
movs r3, #0xc
|
||||
ldrsh r1, [r0, r3]
|
||||
movs r3, #0xa
|
||||
ldrsh r0, [r2, r3]
|
||||
cmp r1, r0
|
||||
ble _0805BC3A
|
||||
ldr r2, _0805BC48 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #4
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
bl sub_0805BA78
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0805BC3A
|
||||
bl sub_0805BAD4
|
||||
_0805BC3A:
|
||||
adds r0, r4, #0
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805BC40: .4byte gArea
|
||||
_0805BC44: .4byte gRoomVars
|
||||
_0805BC48: .4byte gScreen
|
||||
.syntax divided
|
||||
@@ -0,0 +1,20 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
ldr r1, _0805BC68 @ =gArea
|
||||
ldrb r0, [r1, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0805BC64
|
||||
movs r0, #0
|
||||
strb r0, [r1, #0xc]
|
||||
ldr r2, _0805BC6C @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _0805BC70 @ =0x0000D7FF
|
||||
ands r0, r1
|
||||
strh r0, [r2]
|
||||
_0805BC64:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805BC68: .4byte gArea
|
||||
_0805BC6C: .4byte gScreen
|
||||
_0805BC70: .4byte 0x0000D7FF
|
||||
.syntax divided
|
||||
@@ -0,0 +1,29 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805CBB8
|
||||
adds r0, r4, #0
|
||||
bl sub_0805CBD0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805CBCE
|
||||
adds r0, r4, #0
|
||||
bl sub_0805CC3C
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
b _0805CBCE
|
||||
_0805CBB8:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805CF80
|
||||
cmp r0, #0
|
||||
beq _0805CBCE
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl SetFlag
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
_0805CBCE:
|
||||
pop {r4, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,54 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrh r1, [r5, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
ldrh r0, [r5, #0x3a]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
ands r0, r3
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
strh r1, [r5, #0x38]
|
||||
ldrh r2, [r5, #0x3c]
|
||||
lsrs r2, r2, #4
|
||||
ands r2, r3
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x36
|
||||
ldrb r1, [r0]
|
||||
adds r0, #1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
adds r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
ands r1, r3
|
||||
lsls r1, r1, #6
|
||||
orrs r2, r1
|
||||
strh r2, [r5, #0x3a]
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r5, r1]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x34
|
||||
ldrb r1, [r4]
|
||||
bl GetTileType
|
||||
strh r0, [r5, #0x3c]
|
||||
ldrb r0, [r4]
|
||||
bl GetLayerByIndex
|
||||
ldr r2, _0805CC38 @ =0x00005004
|
||||
adds r1, r0, r2
|
||||
str r1, [r5, #0x28]
|
||||
movs r2, #0x3a
|
||||
ldrsh r1, [r5, r2]
|
||||
lsls r1, r1, #1
|
||||
adds r1, #4
|
||||
adds r0, r0, r1
|
||||
str r0, [r5, #0x2c]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805CC38: .4byte 0x00005004
|
||||
.syntax divided
|
||||
@@ -1,98 +1,4 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0805CB90
|
||||
sub_0805CB90: @ 0x0805CB90
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0805CBB8
|
||||
adds r0, r4, #0
|
||||
bl sub_0805CBD0
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805CBCE
|
||||
adds r0, r4, #0
|
||||
bl sub_0805CC3C
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
b _0805CBCE
|
||||
_0805CBB8:
|
||||
adds r0, r4, #0
|
||||
bl sub_0805CF80
|
||||
cmp r0, #0
|
||||
beq _0805CBCE
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl SetFlag
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
_0805CBCE:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0805CBD0
|
||||
sub_0805CBD0: @ 0x0805CBD0
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrh r1, [r5, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
ldrh r0, [r5, #0x3a]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
ands r0, r3
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
strh r1, [r5, #0x38]
|
||||
ldrh r2, [r5, #0x3c]
|
||||
lsrs r2, r2, #4
|
||||
ands r2, r3
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x36
|
||||
ldrb r1, [r0]
|
||||
adds r0, #1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #8
|
||||
adds r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
ands r1, r3
|
||||
lsls r1, r1, #6
|
||||
orrs r2, r1
|
||||
strh r2, [r5, #0x3a]
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r5, r1]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x34
|
||||
ldrb r1, [r4]
|
||||
bl GetTileType
|
||||
strh r0, [r5, #0x3c]
|
||||
ldrb r0, [r4]
|
||||
bl GetLayerByIndex
|
||||
ldr r2, _0805CC38 @ =0x00005004
|
||||
adds r1, r0, r2
|
||||
str r1, [r5, #0x28]
|
||||
movs r2, #0x3a
|
||||
ldrsh r1, [r5, r2]
|
||||
lsls r1, r1, #1
|
||||
adds r1, #4
|
||||
adds r0, r0, r1
|
||||
str r0, [r5, #0x2c]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805CC38: .4byte 0x00005004
|
||||
|
||||
thumb_func_start sub_0805CC3C
|
||||
sub_0805CC3C: @ 0x0805CC3C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
@@ -448,39 +354,4 @@ _0805CF70: .4byte 0x00000372
|
||||
_0805CF74: .4byte 0x0000036F
|
||||
_0805CF78: .4byte 0x00000375
|
||||
_0805CF7C: .4byte 0x00000371
|
||||
|
||||
thumb_func_start sub_0805CF80
|
||||
sub_0805CF80: @ 0x0805CF80
|
||||
push {lr}
|
||||
ldr r1, [r0, #0x2c]
|
||||
ldrh r1, [r1]
|
||||
ldr r0, [r0, #0x28]
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r1, [r1]
|
||||
movs r2, #0
|
||||
ldr r0, _0805CFBC @ =0x00000365
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
adds r0, #4
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
adds r0, #1
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
adds r0, #1
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
adds r0, #2
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
subs r0, #1
|
||||
cmp r1, r0
|
||||
bne _0805CFB6
|
||||
_0805CFB4:
|
||||
movs r2, #1
|
||||
_0805CFB6:
|
||||
adds r0, r2, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805CFBC: .4byte 0x00000365
|
||||
.syntax divided
|
||||
@@ -0,0 +1,35 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
ldr r1, [r0, #0x2c]
|
||||
ldrh r1, [r1]
|
||||
ldr r0, [r0, #0x28]
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r1, [r1]
|
||||
movs r2, #0
|
||||
ldr r0, _0805CFBC @ =0x00000365
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
adds r0, #4
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
adds r0, #1
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
adds r0, #1
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
adds r0, #2
|
||||
cmp r1, r0
|
||||
beq _0805CFB4
|
||||
subs r0, #1
|
||||
cmp r1, r0
|
||||
bne _0805CFB6
|
||||
_0805CFB4:
|
||||
movs r2, #1
|
||||
_0805CFB6:
|
||||
adds r0, r2, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0805CFBC: .4byte 0x00000365
|
||||
.syntax divided
|
||||
@@ -0,0 +1,74 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
adds r6, r0, #0
|
||||
ldrh r0, [r6, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0805D046
|
||||
bl DeleteThisEntity
|
||||
_0805D046:
|
||||
ldr r0, _0805D0BC @ =gEntCount
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x43
|
||||
bhi _0805D0B0
|
||||
ldrb r0, [r6, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r5, r0, #0
|
||||
movs r7, #0
|
||||
movs r0, #0x36
|
||||
adds r0, r0, r6
|
||||
mov sl, r0
|
||||
ldr r1, _0805D0C0 @ =gRoomControls
|
||||
mov r8, r1
|
||||
movs r0, #0x20
|
||||
adds r0, r0, r6
|
||||
mov sb, r0
|
||||
_0805D068:
|
||||
ldrh r1, [r5, #4]
|
||||
movs r0, #0xa0
|
||||
adds r2, r7, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
mov r1, r8
|
||||
ldrh r0, [r1, #6]
|
||||
ldrh r1, [r5]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
mov r1, r8
|
||||
ldrh r0, [r1, #8]
|
||||
ldrh r1, [r5, #2]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
str r6, [r4, #0x50]
|
||||
adds r0, r4, #0
|
||||
bl sub_08016A30
|
||||
mov r0, sb
|
||||
adds r0, #4
|
||||
mov sb, r0
|
||||
subs r0, #4
|
||||
stm r0!, {r4}
|
||||
adds r7, #1
|
||||
adds r5, #6
|
||||
cmp r7, #3
|
||||
bls _0805D068
|
||||
movs r0, #0
|
||||
movs r1, #1
|
||||
strb r1, [r6, #0xc]
|
||||
movs r1, #0x3c
|
||||
strb r1, [r6, #0xf]
|
||||
mov r1, sl
|
||||
strb r0, [r1]
|
||||
_0805D0B0:
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805D0BC: .4byte gEntCount
|
||||
_0805D0C0: .4byte gRoomControls
|
||||
.syntax divided
|
||||
@@ -0,0 +1,44 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
movs r6, #0
|
||||
ldr r1, _0805D170 @ =gRoomControls
|
||||
mov r8, r1
|
||||
movs r7, #0x3f
|
||||
adds r5, r0, #0
|
||||
adds r5, #0x20
|
||||
_0805D12E:
|
||||
ldr r4, [r5]
|
||||
movs r0, #0
|
||||
stm r5!, {r0}
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r4, r2]
|
||||
mov r3, r8
|
||||
ldrh r1, [r3, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r7
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r4, r2]
|
||||
ldrh r2, [r3, #8]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
ands r1, r7
|
||||
lsls r1, r1, #6
|
||||
orrs r0, r1
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
bl sub_0807BA8C
|
||||
adds r0, r4, #0
|
||||
bl DeleteEntity
|
||||
adds r6, #1
|
||||
cmp r6, #3
|
||||
bls _0805D12E
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805D170: .4byte gRoomControls
|
||||
.syntax divided
|
||||
@@ -0,0 +1,45 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
ldrb r0, [r6, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08058EF2
|
||||
movs r0, #1
|
||||
strb r0, [r6, #0xc]
|
||||
_08058EF2:
|
||||
ldrb r0, [r6, #0xb]
|
||||
bl CheckRoomFlag
|
||||
cmp r0, #0
|
||||
beq _08058F40
|
||||
movs r5, #0x94
|
||||
lsls r5, r5, #1
|
||||
ldrb r2, [r6, #0xb]
|
||||
adds r2, #1
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x68
|
||||
bl sub_08058F44
|
||||
movs r4, #0xac
|
||||
lsls r4, r4, #1
|
||||
ldrb r2, [r6, #0xb]
|
||||
adds r2, #2
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x68
|
||||
bl sub_08058F44
|
||||
ldrb r2, [r6, #0xb]
|
||||
adds r2, #3
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x98
|
||||
bl sub_08058F44
|
||||
ldrb r2, [r6, #0xb]
|
||||
adds r2, #4
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x98
|
||||
bl sub_08058F44
|
||||
movs r0, #0x92
|
||||
lsls r0, r0, #1
|
||||
bl SoundReq
|
||||
bl DeleteThisEntity
|
||||
_08058F40:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,91 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _08058FF6
|
||||
cmp r0, #1
|
||||
bgt _08058FC4
|
||||
cmp r0, #0
|
||||
beq _08058FCA
|
||||
b _08059050
|
||||
_08058FC4:
|
||||
cmp r0, #2
|
||||
beq _08059018
|
||||
b _08059050
|
||||
_08058FCA:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #1
|
||||
bne _08058FDC
|
||||
movs r0, #7
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #6
|
||||
b _08058FE2
|
||||
_08058FDC:
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #2
|
||||
_08058FE2:
|
||||
strb r0, [r4, #0xf]
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _08059060
|
||||
adds r0, r4, #0
|
||||
bl DeleteManager
|
||||
b _08059060
|
||||
_08058FF6:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _08059060
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x78
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0xf0
|
||||
bl sub_0805E4E0
|
||||
adds r0, r4, #0
|
||||
bl sub_08059064
|
||||
b _08059060
|
||||
_08059018:
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0x5a
|
||||
bne _08059028
|
||||
movs r0, #2
|
||||
bl sub_08078A90
|
||||
bl sub_08077B20
|
||||
_08059028:
|
||||
ldrb r2, [r4, #0xe]
|
||||
cmp r2, #0x3c
|
||||
bne _08059034
|
||||
ldr r1, _0805904C @ =gPlayerEntity
|
||||
ldrb r0, [r4, #0xf]
|
||||
strb r0, [r1, #0x14]
|
||||
_08059034:
|
||||
subs r0, r2, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08059060
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0xd]
|
||||
movs r0, #5
|
||||
bl MenuFadeIn
|
||||
b _08059060
|
||||
.align 2, 0
|
||||
_0805904C: .4byte gPlayerEntity
|
||||
_08059050:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl SetFlag
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl DeleteThisEntity
|
||||
_08059060:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,80 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
beq _08059174
|
||||
cmp r0, #1
|
||||
beq _080591AC
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080591C8
|
||||
movs r1, #0x38
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x3a
|
||||
ldrsh r1, [r4, r2]
|
||||
ldrb r2, [r4, #0xb]
|
||||
bl CreateDustAt
|
||||
ldrh r0, [r4, #0x38]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x14
|
||||
movs r2, #0x3f
|
||||
ands r0, r2
|
||||
ldrh r1, [r4, #0x3a]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
ands r1, r2
|
||||
lsls r1, r1, #6
|
||||
orrs r0, r1
|
||||
ldrb r1, [r4, #0xb]
|
||||
bl sub_0807BA8C
|
||||
movs r0, #0xcd
|
||||
bl SoundReq
|
||||
bl DeleteThisEntity
|
||||
b _080591C8
|
||||
_08059174:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _08059182
|
||||
bl DeleteThisEntity
|
||||
_08059182:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r0, _080591A8 @ =0x00000365
|
||||
ldrh r1, [r4, #0x38]
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x14
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
ldrh r2, [r4, #0x3a]
|
||||
lsls r2, r2, #0x10
|
||||
asrs r2, r2, #0x14
|
||||
ands r2, r3
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
ldrb r2, [r4, #0xb]
|
||||
bl SetTileType
|
||||
b _080591C8
|
||||
.align 2, 0
|
||||
_080591A8: .4byte 0x00000365
|
||||
_080591AC:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _080591C8
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x4b
|
||||
bl sub_0805E4E0
|
||||
movs r0, #0x2d
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_080591C8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,44 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _080591F4
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
strb r0, [r4, #0xb]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _08059214
|
||||
ldr r1, _080591F0 @ =gRoomVars
|
||||
ldrh r0, [r4, #0x3a]
|
||||
b _08059218
|
||||
.align 2, 0
|
||||
_080591F0: .4byte gRoomVars
|
||||
_080591F4:
|
||||
ldrh r0, [r4, #0x3e]
|
||||
bl CheckFlags
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, r1
|
||||
beq _0805921A
|
||||
strb r1, [r4, #0xb]
|
||||
cmp r1, #0
|
||||
beq _08059214
|
||||
ldr r1, _08059210 @ =gRoomVars
|
||||
ldrh r0, [r4, #0x3a]
|
||||
b _08059218
|
||||
.align 2, 0
|
||||
_08059210: .4byte gRoomVars
|
||||
_08059214:
|
||||
ldr r1, _0805921C @ =gRoomVars
|
||||
ldrh r0, [r4, #0x38]
|
||||
_08059218:
|
||||
strh r0, [r1, #0xc]
|
||||
_0805921A:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805921C: .4byte gRoomVars
|
||||
.syntax divided
|
||||
@@ -0,0 +1,46 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r2, _08059268 @ =gRoomVars
|
||||
movs r0, #0
|
||||
strh r0, [r2, #0xc]
|
||||
ldr r4, _0805926C @ =gUnk_08108354
|
||||
ldrh r0, [r4]
|
||||
ldr r1, _08059270 @ =0x0000FFFF
|
||||
cmp r0, r1
|
||||
beq _08059254
|
||||
adds r7, r2, #0
|
||||
adds r6, r1, #0
|
||||
_08059238:
|
||||
ldrh r0, [r4]
|
||||
ldrh r1, [r4, #2]
|
||||
ldrh r2, [r4, #4]
|
||||
ldrh r3, [r4, #6]
|
||||
bl CheckPlayerInRegion
|
||||
cmp r0, #0
|
||||
beq _0805924C
|
||||
ldrh r0, [r4, #8]
|
||||
strh r0, [r7, #0xc]
|
||||
_0805924C:
|
||||
adds r4, #0xa
|
||||
ldrh r0, [r4]
|
||||
cmp r0, r6
|
||||
bne _08059238
|
||||
_08059254:
|
||||
ldrb r0, [r5, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08059266
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldr r1, _08059274 @ =gArea
|
||||
ldr r0, _08059268 @ =gRoomVars
|
||||
ldrh r0, [r0, #0xc]
|
||||
strh r0, [r1, #0xa]
|
||||
_08059266:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08059268: .4byte gRoomVars
|
||||
_0805926C: .4byte gUnk_08108354
|
||||
_08059270: .4byte 0x0000FFFF
|
||||
_08059274: .4byte gArea
|
||||
.syntax divided
|
||||
@@ -0,0 +1,45 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
ldr r2, _08059418 @ =gPlayerState
|
||||
ldr r0, [r2, #0x30]
|
||||
movs r1, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08059420
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x26
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08059420
|
||||
ldr r4, _0805941C @ =gPlayerEntity
|
||||
ldrb r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
bne _08059420
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x90
|
||||
ldrh r1, [r0]
|
||||
movs r0, #0xf0
|
||||
lsls r0, r0, #4
|
||||
ands r0, r1
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #3
|
||||
cmp r0, r1
|
||||
bne _08059420
|
||||
movs r0, #0x38
|
||||
ldrsh r1, [r3, r0]
|
||||
movs r0, #0x3a
|
||||
ldrsh r2, [r3, r0]
|
||||
adds r2, #0xc
|
||||
adds r0, r4, #0
|
||||
movs r3, #6
|
||||
bl sub_0806FCB8
|
||||
b _08059422
|
||||
.align 2, 0
|
||||
_08059418: .4byte gPlayerState
|
||||
_0805941C: .4byte gPlayerEntity
|
||||
_08059420:
|
||||
movs r0, #0
|
||||
_08059422:
|
||||
pop {r4, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,44 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
ldrh r0, [r0, #0x3e]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
bne _080594CE
|
||||
movs r0, #3
|
||||
bl sub_08078A90
|
||||
ldr r1, _080594B0 @ =gRoomControls
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _080594D2
|
||||
ldr r0, _080594B4 @ =gRoomVars
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080594BC
|
||||
ldr r0, _080594B8 @ =gUnk_08108380
|
||||
ldrb r1, [r1, #0x10]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r0, [r1]
|
||||
bl StartPlayerScript
|
||||
b _080594CE
|
||||
.align 2, 0
|
||||
_080594B0: .4byte gRoomControls
|
||||
_080594B4: .4byte gRoomVars
|
||||
_080594B8: .4byte gUnk_08108380
|
||||
_080594BC:
|
||||
ldr r1, _080594D4 @ =gUnk_08108380
|
||||
ldr r0, _080594D8 @ =gPlayerEntity
|
||||
ldrb r0, [r0, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl StartPlayerScript
|
||||
_080594CE:
|
||||
bl DeleteThisEntity
|
||||
_080594D2:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080594D4: .4byte gUnk_08108380
|
||||
_080594D8: .4byte gPlayerEntity
|
||||
.syntax divided
|
||||
@@ -0,0 +1,51 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _080594F2
|
||||
cmp r0, #1
|
||||
bgt _0805951C
|
||||
cmp r0, #0
|
||||
bne _0805951C
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_080594F2:
|
||||
movs r0, #6
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08059540
|
||||
movs r0, #0x8c
|
||||
lsls r0, r0, #4
|
||||
movs r1, #0x85
|
||||
bl CheckLocalFlagByOffset
|
||||
cmp r0, #0
|
||||
bne _08059540
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r0, _08059518 @ =0x00000B0F
|
||||
bl sub_080186C0
|
||||
b _08059540
|
||||
.align 2, 0
|
||||
_08059518: .4byte 0x00000B0F
|
||||
_0805951C:
|
||||
ldr r0, _08059544 @ =gArea
|
||||
adds r0, #0x28
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xff
|
||||
beq _0805952A
|
||||
bl DeleteThisEntity
|
||||
_0805952A:
|
||||
movs r0, #0x8c
|
||||
lsls r0, r0, #4
|
||||
movs r1, #0x85
|
||||
bl CheckLocalFlagByOffset
|
||||
cmp r0, #0
|
||||
beq _08059540
|
||||
bl sub_0801855C
|
||||
bl DeleteThisEntity
|
||||
_08059540:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08059544: .4byte gArea
|
||||
.syntax divided
|
||||
@@ -0,0 +1,43 @@
|
||||
.syntax unified
|
||||
.ifdef USA
|
||||
push {lr}
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
ldr r0, _08059568 @ =gPlayerEntity
|
||||
ldrb r0, [r0, #0xc]
|
||||
cmp r0, #0x16
|
||||
bne _0805955C
|
||||
bl DeleteThisEntity
|
||||
_0805955C:
|
||||
ldr r2, _0805956C @ =gInput
|
||||
ldrh r1, [r2]
|
||||
movs r0, #4
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08059568: .4byte gPlayerEntity
|
||||
_0805956C: .4byte gInput
|
||||
.else
|
||||
.ifdef DEMO @ TODO deduplicate
|
||||
push {lr}
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
ldr r0, _08059568 @ =gPlayerEntity
|
||||
ldrb r0, [r0, #0xc]
|
||||
cmp r0, #0x16
|
||||
bne _0805955C
|
||||
bl DeleteThisEntity
|
||||
_0805955C:
|
||||
ldr r2, _0805956C @ =gInput
|
||||
ldrh r1, [r2]
|
||||
movs r0, #4
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08059568: .4byte gPlayerEntity
|
||||
_0805956C: .4byte gInput
|
||||
.endif
|
||||
.endif
|
||||
.syntax divided
|
||||
+2
-2
@@ -130,7 +130,7 @@ _08066B40:
|
||||
movs r0, #4
|
||||
str r0, [r1, #4]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805DDEC
|
||||
bl CreateManager36
|
||||
b _08066B66
|
||||
_08066B52:
|
||||
adds r0, r4, #0
|
||||
@@ -138,7 +138,7 @@ _08066B52:
|
||||
ldr r1, [r0]
|
||||
str r2, [r1, #4]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805DE18
|
||||
bl DeleteManager36
|
||||
ldr r0, _08066B70 @ =0x0000021D
|
||||
bl EnqueueSFX
|
||||
_08066B66:
|
||||
|
||||
@@ -17,5 +17,5 @@ SCRIPT_START script_0800AB08
|
||||
_0807EA94
|
||||
TextboxNoOverlapFollowPos 0x165e, 0x000e
|
||||
_0807EA94
|
||||
CallWithArg sub_0805DDEC, 0x00000001
|
||||
CallWithArg CreateManager36, 0x00000001
|
||||
_0807F0C8 0xffff, 0x0000
|
||||
|
||||
@@ -8,7 +8,7 @@ SCRIPT_START script_0800AB6E
|
||||
SetEntityPosition 0x0000, 0xffe0
|
||||
Call sub_0807F5C0
|
||||
Wait 0x003c
|
||||
CallWithArg sub_0805DE18, 0x00000001
|
||||
CallWithArg DeleteManager36, 0x00000001
|
||||
_0807F0C8 0x0000, 0x0000
|
||||
Wait 0x003c
|
||||
_0807E5F8 0x00000002
|
||||
|
||||
@@ -42,5 +42,5 @@ script_0800DBCA:
|
||||
_0807E5F8 0x00000001
|
||||
StopBgm
|
||||
Call sub_08094F98
|
||||
CallWithArg sub_0805DDEC, 0x00000001
|
||||
CallWithArg CreateManager36, 0x00000001
|
||||
_0807F0C8 0xffff, 0x0000
|
||||
|
||||
@@ -11,7 +11,7 @@ SCRIPT_START script_0800DC4C
|
||||
_0807E778 0x0004
|
||||
_0807E80C 0x00000000
|
||||
WaitFor_2
|
||||
CallWithArg sub_0805DE18, 0x00000001
|
||||
CallWithArg DeleteManager36, 0x00000001
|
||||
_0807F0C8 0x0000, 0x0000
|
||||
SetLocalFlag 0x0079
|
||||
CallWithArg sub_0806DA1C, 0x00000002
|
||||
|
||||
@@ -135,5 +135,5 @@ SCRIPT_START script_08010BEC
|
||||
_0807E5F8 0x08000000
|
||||
_0807E5F8 0x00800000
|
||||
WaitForSomething2 0x01000000
|
||||
CallWithArg sub_0805DDEC, 0x00000002
|
||||
CallWithArg CreateManager36, 0x00000002
|
||||
_0807F0C8 0xffff, 0x0000
|
||||
|
||||
@@ -24,7 +24,7 @@ SCRIPT_START script_08010E5A
|
||||
_0807E778 0x0002
|
||||
DoFade6
|
||||
WaitFor_2
|
||||
CallWithArg sub_0805DE18, 0x00000002
|
||||
CallWithArg DeleteManager36, 0x00000002
|
||||
_0807F0C8 0x0000, 0x0000
|
||||
Call sub_0806DC3C
|
||||
Call sub_080791BC
|
||||
@@ -51,5 +51,5 @@ SCRIPT_START script_08010E5A
|
||||
_0807EA94
|
||||
TextboxNoOverlapFollowPos 0x1046, 0x0000
|
||||
_0807EA94
|
||||
CallWithArg sub_0805DDEC, 0x00000002
|
||||
CallWithArg CreateManager36, 0x00000002
|
||||
_0807F0C8 0xffff, 0x0000
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user