Split manager files

This commit is contained in:
octorock
2021-08-28 22:46:19 +02:00
parent 08a5d972ed
commit 612011c12b
198 changed files with 6306 additions and 6309 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 Manager10_Main
Manager10_Main: @ 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 Manager12_Main
Manager12_Main: @ 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
-519
View File
@@ -1,519 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager14_Main
Manager14_Main: @ 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
-203
View File
@@ -1,203 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager1B_Main
Manager1B_Main: @ 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 Manager1B_Main
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
-95
View File
@@ -1,95 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager1D_Main
Manager1D_Main: @ 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 Manager1F_Main
Manager1F_Main: @ 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
-454
View File
@@ -1,454 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager22_Main
Manager22_Main: @ 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 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
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 Manager23_Main
Manager23_Main: @ 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
-189
View File
@@ -1,189 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager2B_Main
Manager2B_Main: @ 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
-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}
-449
View File
@@ -1,449 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager32_Main
Manager32_Main: @ 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
-143
View File
@@ -1,143 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager34_Main
Manager34_Main: @ 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 Manager35_Main
Manager35_Main: @ 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
-390
View File
@@ -1,390 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager37_Main
Manager37_Main: @ 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
-905
View File
@@ -1,905 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start ManagerF_Main
ManagerF_Main: @ 0x08058ECC
push {lr}
ldr r2, _08058EE0 @ =gUnk_08108314
ldrb r1, [r0, #0xa]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_08058EE0: .4byte gUnk_08108314
thumb_func_start sub_08058EE4
sub_08058EE4: @ 0x08058EE4
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
thumb_func_start sub_08058F44
sub_08058F44: @ 0x08058F44
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
adds r0, r2, #0
bl CheckRoomFlag
cmp r0, #0
bne _08058F80
adds r0, r4, #0
adds r1, r5, #0
movs r2, #1
bl sub_080002A8
cmp r0, #0x61
bne _08058F80
lsrs r1, r4, #4
movs r2, #0x3f
ands r1, r2
lsrs r0, r5, #4
ands r0, r2
lsls r0, r0, #6
orrs r1, r0
movs r0, #0x26
movs r2, #1
bl SetTileType
adds r0, r4, #0
adds r1, r5, #0
bl sub_08058F84
_08058F80:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_08058F84
sub_08058F84: @ 0x08058F84
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
movs r0, #0x21
movs r1, #0
movs r2, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _08058FA8
ldr r0, _08058FAC @ =gRoomControls
ldrh r1, [r0, #6]
adds r1, r1, r4
strh r1, [r2, #0x2e]
ldrh r0, [r0, #8]
adds r0, r0, r5
strh r0, [r2, #0x32]
_08058FA8:
pop {r4, r5, pc}
.align 2, 0
_08058FAC: .4byte gRoomControls
thumb_func_start sub_08058FB0
sub_08058FB0: @ 0x08058FB0
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
thumb_func_start sub_08059064
sub_08059064: @ 0x08059064
push {r4, lr}
adds r4, r0, #0
movs r0, #0
movs r1, #0x53
movs r2, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805908E
movs r0, #2
strb r0, [r2, #0xe]
ldr r1, _08059090 @ =gRoomControls
ldrh r0, [r1, #6]
ldrh r3, [r4, #0x38]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #8]
ldrh r4, [r4, #0x3a]
adds r0, r0, r4
strh r0, [r2, #0x32]
_0805908E:
pop {r4, pc}
.align 2, 0
_08059090: .4byte gRoomControls
thumb_func_start sub_08059094
sub_08059094: @ 0x08059094
push {r4, r5, lr}
adds r4, r0, #0
movs r5, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _080590B6
movs r0, #1
strb r0, [r4, #0xc]
movs r0, #0x60
bl CheckLocalFlag
cmp r0, #0
bne _080590CC
movs r0, #0x5f
bl SetLocalFlag
b _080590C8
_080590B6:
movs r0, #0x60
bl CheckLocalFlag
cmp r0, #0
beq _080590C8
movs r0, #0x5f
bl ClearLocalFlag
movs r5, #1
_080590C8:
cmp r5, #0
beq _080590D8
_080590CC:
ldr r0, _080590DC @ =gUnk_080F4B88
bl LoadRoomEntityList
adds r0, r4, #0
bl DeleteManager
_080590D8:
pop {r4, r5, pc}
.align 2, 0
_080590DC: .4byte gUnk_080F4B88
thumb_func_start sub_080590E0
sub_080590E0: @ 0x080590E0
push {lr}
adds r1, r0, #0
ldrb r0, [r1, #0xc]
cmp r0, #0
bne _080590F6
movs r0, #1
strb r0, [r1, #0xc]
adds r0, r1, #0
movs r1, #6
bl sub_0805E3A0
_080590F6:
movs r0, #0x6c
bl CheckLocalFlag
cmp r0, #0
beq _0805911A
movs r0, #0x4b
bl CheckLocalFlag
cmp r0, #0
beq _08059112
movs r0, #0x4a
bl SetLocalFlag
b _08059120
_08059112:
movs r0, #0x4a
bl ClearLocalFlag
b _08059120
_0805911A:
movs r0, #0x4a
bl ClearLocalFlag
_08059120:
pop {pc}
.align 2, 0
thumb_func_start sub_08059124
sub_08059124: @ 0x08059124
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
thumb_func_start sub_080591CC
sub_080591CC: @ 0x080591CC
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
thumb_func_start sub_08059220
sub_08059220: @ 0x08059220
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
thumb_func_start sub_08059278
sub_08059278: @ 0x08059278
push {lr}
movs r0, #9
movs r1, #0xf
movs r2, #6
bl FindEntityByID
cmp r0, #0
beq _0805928C
bl ManagerF_Main
_0805928C:
pop {pc}
.align 2, 0
thumb_func_start sub_08059290
sub_08059290: @ 0x08059290
movs r1, #1
strb r1, [r0, #0xc]
ldr r1, _0805929C @ =gRoomControls
ldr r0, _080592A0 @ =gPlayerEntity
str r0, [r1, #0x30]
bx lr
.align 2, 0
_0805929C: .4byte gRoomControls
_080592A0: .4byte gPlayerEntity
thumb_func_start sub_080592A4
sub_080592A4: @ 0x080592A4
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _080592C8
movs r0, #1
strb r0, [r4, #0xc]
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _080592EA
adds r0, r4, #0
bl sub_080592EC
bl DeleteThisEntity
b _080592EA
_080592C8:
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _080592EA
adds r0, r4, #0
bl sub_080592EC
adds r0, r4, #0
bl sub_0805930C
.ifndef EU
movs r0, #0xb7
lsls r0, r0, #1
bl SoundReq
.endif
bl DeleteThisEntity
_080592EA:
pop {r4, pc}
thumb_func_start sub_080592EC
sub_080592EC: @ 0x080592EC
push {lr}
adds r1, r0, #0
ldrh r0, [r1, #0x38]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
movs r2, #0x3f
ands r0, r2
ldrh r1, [r1, #0x3a]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
ands r1, r2
lsls r1, r1, #6
orrs r0, r1
bl SetDirtTile
pop {pc}
thumb_func_start sub_0805930C
sub_0805930C: @ 0x0805930C
push {r4, lr}
adds r4, r0, #0
movs r0, #0xf
movs r1, #0x43
.ifdef EU
movs r2, #0x0
.else
movs r2, #0x40
.endif
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805933A
ldr r1, _0805933C @ =gRoomControls
ldrh r0, [r1, #6]
ldrh r3, [r4, #0x38]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #8]
ldrh r4, [r4, #0x3a]
adds r0, r0, r4
strh r0, [r2, #0x32]
adds r1, r2, #0
adds r1, #0x38
movs r0, #1
strb r0, [r1]
_0805933A:
pop {r4, pc}
.align 2, 0
_0805933C: .4byte gRoomControls
thumb_func_start SetDirtTile
SetDirtTile: @ 0x08059340
push {r4, lr}
adds r4, r0, #0
movs r0, #0x1d
adds r1, r4, #0
movs r2, #1
bl SetTileType
movs r0, #0
adds r1, r4, #0
movs r2, #2
bl SetTileType
subs r4, #0x40
movs r0, #0
adds r1, r4, #0
movs r2, #2
bl SetTileType
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08059368
sub_08059368: @ 0x08059368
push {lr}
adds r2, r0, #0
movs r0, #1
strb r0, [r2, #0xc]
ldr r1, _08059388 @ =gCurrentTextBox
ldrh r0, [r2, #0x3c]
ldrh r1, [r1, #0x28]
cmp r0, r1
bne _08059384
ldrh r0, [r2, #0x3e]
bl SetFlag
bl DeleteThisEntity
_08059384:
pop {pc}
.align 2, 0
_08059388: .4byte gCurrentTextBox
thumb_func_start sub_0805938C
sub_0805938C: @ 0x0805938C
push {r4, lr}
adds r4, r0, #0
bl sub_080593CC
cmp r0, #0
beq _080593C8
ldrb r0, [r4, #0xe]
adds r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #7
bls _080593CA
movs r1, #0x38
ldrsh r0, [r4, r1]
ldr r2, _080593C4 @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
movs r3, #0x3a
ldrsh r1, [r4, r3]
ldrh r2, [r2, #8]
subs r1, r1, r2
movs r2, #0xff
movs r3, #0xa
bl sub_080806BC
b _080593CA
.align 2, 0
_080593C4: .4byte gRoomControls
_080593C8:
strb r0, [r4, #0xe]
_080593CA:
pop {r4, pc}
thumb_func_start sub_080593CC
sub_080593CC: @ 0x080593CC
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}
thumb_func_start sub_08059424
sub_08059424: @ 0x08059424
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _08059436
bl DeleteThisEntity
_08059436:
ldrh r0, [r4, #0x3c]
bl CheckFlags
cmp r0, #0
beq _08059476
movs r0, #0xf
movs r1, #0x35
movs r2, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _08059476
adds r1, r2, #0
adds r1, #0x38
movs r0, #2
strb r0, [r1]
ldr r1, _08059478 @ =gRoomControls
ldrh r0, [r1, #6]
ldrh r3, [r4, #0x38]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #8]
ldrh r4, [r4, #0x3a]
adds r0, r0, r4
strh r0, [r2, #0x32]
movs r0, #0xd8
lsls r0, r0, #1
bl EnqueueSFX
bl DeleteThisEntity
_08059476:
pop {r4, pc}
.align 2, 0
_08059478: .4byte gRoomControls
thumb_func_start sub_0805947C
sub_0805947C: @ 0x0805947C
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
.ifndef EU
thumb_func_start sub_080594DC
sub_080594DC: @ 0x080594DC
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
.endif
thumb_func_start sub_08059548
sub_08059548: @ 0x08059548
.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
@@ -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,32 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,65 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,23 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,87 @@
.syntax unified
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
.syntax divided
+172
View File
@@ -0,0 +1,172 @@
.syntax unified
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
.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,41 @@
.syntax unified
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
.syntax divided
@@ -1,13 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager13_Main
Manager13_Main: @ 0x08059DAC
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
@@ -95,3 +86,4 @@ _08059E46:
_08059E4C: .4byte gRoomControls
_08059E50: .4byte gUnk_081084C8
_08059E54: .4byte gUnk_08108530
.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 Manager16_Main
Manager16_Main: @ 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
@@ -1,13 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager18_Main
Manager18_Main: @ 0x0805ADD8
push {r4, lr}
adds r4, r0, #0
cmp r4, #0
@@ -126,70 +117,4 @@ _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 Manager18_Main
_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
.syntax divided
@@ -0,0 +1,47 @@
.syntax unified
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 Manager18_Main
_0805AF28:
pop {r4, pc}
.align 2, 0
_0805AF2C: .4byte gScreen
_0805AF30: .4byte 0x00001E05
_0805AF34: .4byte 0x00003648
_0805AF38: .4byte gRoomControls
.syntax divided
@@ -0,0 +1,18 @@
.syntax unified
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
.syntax divided
@@ -1,13 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager19_Main
Manager19_Main: @ 0x0805AF60
push {r4, lr}
adds r4, r0, #0
cmp r4, #0
@@ -78,29 +69,4 @@ _0805AFEE:
_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
.syntax divided
@@ -0,0 +1,25 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,72 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,23 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,31 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,14 @@
.syntax unified
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 Manager1B_Main
pop {r4, pc}
.syntax divided
@@ -0,0 +1,51 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,12 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,47 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,26 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,12 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,29 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,27 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,20 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,66 @@
.syntax unified
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
.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,12 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,15 @@
.syntax unified
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
.syntax divided
@@ -1,13 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Manager21_Main
Manager21_Main: @ 0x0805B820
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
@@ -94,24 +85,4 @@ _0805B8C4:
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
.syntax divided
@@ -0,0 +1,20 @@
.syntax unified
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
.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,12 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,35 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,68 @@
.syntax unified
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}
.syntax divided
@@ -0,0 +1,43 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,90 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,19 @@
.syntax unified
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}
.syntax divided
@@ -0,0 +1,23 @@
.syntax unified
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
.syntax divided
@@ -0,0 +1,43 @@
.syntax unified
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
.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 Manager29_Main
Manager29_Main: @ 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

Some files were not shown because too many files have changed in this diff Show More