Merge pull request #172 from octorock/managers

This commit is contained in:
notyourav
2021-09-26 20:36:55 -07:00
committed by GitHub
187 changed files with 5528 additions and 7833 deletions
-485
View File
@@ -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
View File
@@ -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
View File
@@ -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
-97
View File
@@ -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
View File
@@ -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
-82
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
-78
View File
@@ -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
-95
View File
@@ -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
-99
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
-82
View File
@@ -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
-56
View File
@@ -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
View File
@@ -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
-76
View File
@@ -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
-46
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
-93
View File
@@ -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
View File
@@ -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
View File
@@ -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
-81
View File
@@ -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
View File
@@ -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
-55
View File
@@ -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
-87
View File
@@ -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}
+1 -1
View File
@@ -100,4 +100,4 @@ _0801B5A4:
adds r0, r4, #0
bl sub_0801B584
pop {r4, r5, pc}
.syntax divided
.syntax divided
+1 -1
View File
@@ -177,4 +177,4 @@ _08074EE2:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08074EE4: .4byte gPlayerEntity
.syntax divided
.syntax divided
+1 -1
View File
@@ -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
+147
View File
@@ -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
+102
View File
@@ -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
+175
View File
@@ -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
View File
@@ -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:
+1 -1
View File
@@ -17,5 +17,5 @@ SCRIPT_START script_0800AB08
_0807EA94
TextboxNoOverlapFollowPos 0x165e, 0x000e
_0807EA94
CallWithArg sub_0805DDEC, 0x00000001
CallWithArg CreateManager36, 0x00000001
_0807F0C8 0xffff, 0x0000
+1 -1
View File
@@ -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
+1 -1
View File
@@ -42,5 +42,5 @@ script_0800DBCA:
_0807E5F8 0x00000001
StopBgm
Call sub_08094F98
CallWithArg sub_0805DDEC, 0x00000001
CallWithArg CreateManager36, 0x00000001
_0807F0C8 0xffff, 0x0000
+1 -1
View File
@@ -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
+1 -1
View File
@@ -135,5 +135,5 @@ SCRIPT_START script_08010BEC
_0807E5F8 0x08000000
_0807E5F8 0x00800000
WaitForSomething2 0x01000000
CallWithArg sub_0805DDEC, 0x00000002
CallWithArg CreateManager36, 0x00000002
_0807F0C8 0xffff, 0x0000
+2 -2
View File
@@ -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