Merge branch 'master' into tilemap-docs

This commit is contained in:
octorock
2023-12-28 14:59:23 +01:00
495 changed files with 14619 additions and 16191 deletions
+1 -1
View File
@@ -462,7 +462,7 @@
.2byte \s
.endm
.macro _0807E9F0
.macro UpdateFusion
.2byte 0x0456
.endm
-131
View File
@@ -1,131 +0,0 @@
.syntax unified
ldr r3, _08016DF0 @ =gScreen
ldrh r1, [r3]
ldrh r0, [r3, #6]
ands r0, r1
movs r1, #0x80
lsls r1, r1, #0x13
strh r0, [r1]
adds r1, #8
ldrh r0, [r3, #8]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x14]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x20]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x2c]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0xa]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0xc]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x16]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x18]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x22]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x24]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x2e]
strh r0, [r1]
adds r1, #2
ldrh r0, [r3, #0x30]
strh r0, [r1]
adds r1, r3, #0
adds r1, #0x38
ldr r2, _08016DF4 @ =0x04000020
ldrh r0, [r3, #0x38]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #2]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #4]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #6]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #8]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0xa]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0xc]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0xe]
strh r0, [r2]
adds r1, #0x10
adds r2, #2
ldrh r0, [r1]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #2]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #4]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #6]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #8]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0xa]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0xc]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0xe]
strh r0, [r2]
adds r1, #0x10
adds r2, #2
ldrh r0, [r1]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #2]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #4]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #6]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #8]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0xa]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0xc]
strh r0, [r2]
adds r2, #4
ldrh r0, [r1, #0xe]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0x10]
strh r0, [r2]
adds r2, #2
ldrh r0, [r1, #0x12]
strh r0, [r2]
bx lr
.align 2, 0
_08016DF0: .4byte gScreen
_08016DF4: .4byte 0x04000020
.syntax divided
@@ -1,454 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
adds r6, r0, #0
mov sl, r1
cmp r6, #0
bne _0801A58C
ldr r0, _0801A588 @ =0x0000FFFF
b _0801A8C2
.align 2, 0
_0801A588: .4byte 0x0000FFFF
_0801A58C:
adds r4, r6, #0
adds r4, #0x38
ldrb r0, [r4]
bl GetLayerByIndex
mov r8, r0
ldr r0, _0801A668 @ =0x00005004
add r0, r8
mov ip, r0
movs r5, #4
movs r7, #2
ldrb r0, [r6, #0x14]
lsrs r0, r0, #1
mov sb, r4
cmp r0, #1
beq _0801A678
cmp r0, #1
ble _0801A5BC
cmp r0, #2
bne _0801A5B6
b _0801A73C
_0801A5B6:
cmp r0, #3
bne _0801A5BC
b _0801A7FC
_0801A5BC:
movs r1, #0x2e
ldrsh r0, [r6, r1]
ldr r2, _0801A66C @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
asrs r4, r0, #4
movs r3, #0x3f
ands r4, r3
movs r1, #0x32
ldrsh r0, [r6, r1]
ldrh r1, [r2, #8]
adds r1, #0xa
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r4, r0
mov r2, r8
adds r2, #4
movs r3, #0xdc
lsls r3, r3, #2
lsls r0, r4, #1
adds r1, r0, r2
_0801A5EA:
ldrh r0, [r1]
lsls r0, r0, #1
add r0, ip
ldrh r0, [r0]
cmp r0, r3
beq _0801A600
subs r1, #2
subs r4, #1
subs r5, #1
cmp r5, #0
bne _0801A5EA
_0801A600:
subs r4, #0x40
movs r3, #0xdd
lsls r3, r3, #2
lsls r0, r4, #1
adds r1, r0, r2
_0801A60A:
ldrh r0, [r1]
lsls r0, r0, #1
add r0, ip
ldrh r0, [r0]
cmp r0, r3
bne _0801A620
adds r7, #1
subs r1, #0x80
subs r4, #0x40
cmp r7, #3
bls _0801A60A
_0801A620:
mov r2, sl
cmp r2, #0
bne _0801A628
b _0801A8C0
_0801A628:
mov r0, sb
ldrb r1, [r0]
adds r0, r4, #0
bl GetMetaTileType
adds r5, r0, #0
ldr r1, _0801A670 @ =0xFFFFFC97
adds r0, r5, r1
cmp r0, #1
bls _0801A63E
b _0801A8B4
_0801A63E:
ldr r2, _0801A674 @ =0x00001FC4
adds r0, r4, r2
mov r2, r8
adds r1, r2, r0
movs r5, #0
cmp r5, r7
blo _0801A64E
b _0801A8B6
_0801A64E:
ldrb r0, [r1]
cmp r0, #0
beq _0801A656
b _0801A8B4
_0801A656:
adds r5, #1
cmp r5, r7
blo _0801A65E
b _0801A8B6
_0801A65E:
adds r0, r1, r5
ldrb r0, [r0]
cmp r0, #0
beq _0801A656
b _0801A8B4
.align 2, 0
_0801A668: .4byte 0x00005004
_0801A66C: .4byte gRoomControls
_0801A670: .4byte 0xFFFFFC97
_0801A674: .4byte 0x00001FC4
_0801A678:
movs r0, #0x2e
ldrsh r1, [r6, r0]
ldr r3, _0801A730 @ =gRoomControls
ldrh r0, [r3, #6]
subs r0, #0xa
subs r1, r1, r0
asrs r4, r1, #4
movs r2, #0x3f
ands r4, r2
movs r1, #0x32
ldrsh r0, [r6, r1]
ldrh r1, [r3, #8]
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r2
lsls r0, r0, #6
orrs r4, r0
mov r2, r8
adds r2, #4
mov r3, ip
movs r6, #0xdc
lsls r6, r6, #2
lsls r0, r4, #1
adds r1, r0, r2
_0801A6A8:
ldrh r0, [r1]
lsls r0, r0, #1
adds r0, r3, r0
ldrh r0, [r0]
cmp r0, r6
beq _0801A6BE
adds r1, #0x80
adds r4, #0x40
subs r5, #1
cmp r5, #0
bne _0801A6A8
_0801A6BE:
subs r4, #0x40
movs r3, #0xdd
lsls r3, r3, #2
lsls r0, r4, #1
adds r1, r0, r2
_0801A6C8:
ldrh r0, [r1]
lsls r0, r0, #1
add r0, ip
ldrh r0, [r0]
cmp r0, r3
bne _0801A6DE
adds r7, #1
subs r1, #0x80
subs r4, #0x40
cmp r7, #3
bls _0801A6C8
_0801A6DE:
mov r2, sl
cmp r2, #0
bne _0801A6E6
b _0801A8C0
_0801A6E6:
mov r0, sb
ldrb r1, [r0]
adds r0, r4, #0
bl GetMetaTileType
adds r5, r0, #0
ldr r0, _0801A734 @ =0x00000369
cmp r5, r0
beq _0801A700
adds r0, #4
cmp r5, r0
beq _0801A700
b _0801A8B4
_0801A700:
adds r0, r4, r7
ldr r1, _0801A738 @ =0x00002004
adds r0, r0, r1
mov r2, r8
adds r1, r2, r0
movs r5, #0
cmp r5, r7
blo _0801A712
b _0801A8B6
_0801A712:
ldrb r0, [r1]
cmp r0, #0
beq _0801A71A
b _0801A8B4
_0801A71A:
adds r5, #1
cmp r5, r7
blo _0801A722
b _0801A8B6
_0801A722:
lsls r0, r5, #6
adds r0, r0, r1
ldrb r0, [r0]
cmp r0, #0
beq _0801A71A
b _0801A8B4
.align 2, 0
_0801A730: .4byte gRoomControls
_0801A734: .4byte 0x00000369
_0801A738: .4byte 0x00002004
_0801A73C:
movs r1, #0x2e
ldrsh r0, [r6, r1]
ldr r2, _0801A7E8 @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
asrs r4, r0, #4
movs r3, #0x3f
ands r4, r3
movs r1, #0x32
ldrsh r0, [r6, r1]
ldrh r1, [r2, #8]
subs r1, #0xa
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r4, r0
mov r2, r8
adds r2, #4
mov r3, ip
ldr r6, _0801A7EC @ =0x0000036F
lsls r0, r4, #1
adds r1, r0, r2
_0801A76A:
ldrh r0, [r1]
lsls r0, r0, #1
adds r0, r3, r0
ldrh r0, [r0]
cmp r0, r6
beq _0801A780
adds r1, #2
adds r4, #1
subs r5, #1
cmp r5, #0
bne _0801A76A
_0801A780:
subs r4, #1
ldr r3, _0801A7F0 @ =0x00000372
lsls r0, r4, #1
adds r1, r0, r2
_0801A788:
ldrh r0, [r1]
lsls r0, r0, #1
add r0, ip
ldrh r0, [r0]
cmp r0, r3
bne _0801A79E
adds r7, #1
subs r1, #2
subs r4, #1
cmp r7, #3
bls _0801A788
_0801A79E:
mov r2, sl
cmp r2, #0
bne _0801A7A6
b _0801A8C0
_0801A7A6:
mov r0, sb
ldrb r1, [r0]
adds r0, r4, #0
bl GetMetaTileType
adds r5, r0, #0
ldr r0, _0801A7F4 @ =0x00000369
cmp r5, r0
beq _0801A7BE
adds r0, #2
cmp r5, r0
bne _0801A8B4
_0801A7BE:
lsls r0, r7, #6
adds r0, r4, r0
ldr r1, _0801A7F8 @ =0x00002004
adds r0, r0, r1
mov r2, r8
adds r1, r2, r0
movs r5, #0
cmp r5, r7
bhs _0801A8B6
ldrb r0, [r1]
cmp r0, #0
bne _0801A8B4
_0801A7D6:
adds r5, #1
cmp r5, r7
bhs _0801A8B6
adds r0, r1, r5
ldrb r0, [r0]
cmp r0, #0
beq _0801A7D6
b _0801A8B4
.align 2, 0
_0801A7E8: .4byte gRoomControls
_0801A7EC: .4byte 0x0000036F
_0801A7F0: .4byte 0x00000372
_0801A7F4: .4byte 0x00000369
_0801A7F8: .4byte 0x00002004
_0801A7FC:
movs r0, #0x2e
ldrsh r1, [r6, r0]
ldr r3, _0801A890 @ =gRoomControls
ldrh r0, [r3, #6]
adds r0, #0xa
subs r1, r1, r0
asrs r4, r1, #4
movs r2, #0x3f
ands r4, r2
movs r1, #0x32
ldrsh r0, [r6, r1]
ldrh r1, [r3, #8]
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r2
lsls r0, r0, #6
orrs r4, r0
mov r2, r8
adds r2, #4
mov r3, ip
ldr r6, _0801A894 @ =0x0000036F
lsls r0, r4, #1
adds r1, r0, r2
_0801A82A:
ldrh r0, [r1]
lsls r0, r0, #1
adds r0, r3, r0
ldrh r0, [r0]
cmp r0, r6
beq _0801A840
subs r1, #0x80
subs r4, #0x40
subs r5, #1
cmp r5, #0
bne _0801A82A
_0801A840:
subs r4, #1
ldr r3, _0801A898 @ =0x00000372
lsls r0, r4, #1
adds r1, r0, r2
_0801A848:
ldrh r0, [r1]
lsls r0, r0, #1
add r0, ip
ldrh r0, [r0]
cmp r0, r3
bne _0801A85E
adds r7, #1
subs r1, #2
subs r4, #1
cmp r7, #3
bls _0801A848
_0801A85E:
mov r2, sl
cmp r2, #0
beq _0801A8C0
mov r0, sb
ldrb r1, [r0]
adds r0, r4, #0
bl GetMetaTileType
adds r5, r0, #0
ldr r0, _0801A89C @ =0x00000369
cmp r5, r0
beq _0801A87C
adds r0, #3
cmp r5, r0
bne _0801A8B4
_0801A87C:
ldr r1, _0801A8A0 @ =0x00002003
adds r0, r4, r1
mov r2, r8
adds r1, r2, r0
movs r5, #0
cmp r5, r7
bhs _0801A8B6
ldrb r0, [r1]
b _0801A8B0
.align 2, 0
_0801A890: .4byte gRoomControls
_0801A894: .4byte 0x0000036F
_0801A898: .4byte 0x00000372
_0801A89C: .4byte 0x00000369
_0801A8A0: .4byte 0x00002003
_0801A8A4:
adds r5, #1
cmp r5, r7
bhs _0801A8B6
lsls r0, r5, #6
adds r0, r0, r1
ldrb r0, [r0]
_0801A8B0:
cmp r0, #0
beq _0801A8A4
_0801A8B4:
ldr r4, _0801A8CC @ =0x0000FFFF
_0801A8B6:
mov r0, sl
cmp r0, #0
beq _0801A8C0
lsls r0, r7, #0xc
orrs r4, r0
_0801A8C0:
adds r0, r4, #0
_0801A8C2:
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801A8CC: .4byte 0x0000FFFF
.syntax divided
@@ -1,264 +0,0 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
adds r6, r0, #0
adds r5, r1, #0
ldr r1, _0807D2B0 @ =gRoomControls
movs r0, #0xa
ldrsh r2, [r1, r0]
ldrh r0, [r1, #6]
subs r3, r2, r0
movs r0, #0xc
ldrsh r2, [r1, r0]
ldrh r0, [r1, #8]
subs r4, r2, r0
ldrb r0, [r1, #0x10]
mov r8, r1
cmp r0, #1
beq _0807D330
cmp r0, #1
bgt _0807D2B4
cmp r0, #0
beq _0807D2BA
b _0807D404
.align 2, 0
_0807D2B0: .4byte gRoomControls
_0807D2B4:
cmp r0, #2
beq _0807D3A0
b _0807D404
_0807D2BA:
mov r2, r8
ldrh r1, [r2, #0x18]
movs r0, #3
ands r0, r1
cmp r0, #1
beq _0807D2C8
b _0807D462
_0807D2C8:
movs r2, #0x1c
asrs r3, r3, #4
mov sb, r3
movs r3, #0x40
adds r3, r3, r5
mov ip, r3
ldr r4, _0807D328 @ =0x040000D4
ldr r7, _0807D32C @ =0x80000020
movs r0, #0xe8
lsls r0, r0, #3
adds r3, r5, r0
subs r0, #0x80
adds r1, r5, r0
_0807D2E2:
str r1, [r4]
str r3, [r4, #4]
str r7, [r4, #8]
ldr r0, [r4, #8]
subs r3, #0x40
subs r1, #0x40
subs r2, #1
cmp r2, #0
bgt _0807D2E2
mov r1, r8
ldrh r0, [r1, #0x20]
lsrs r0, r0, #4
subs r0, #1
ldrh r1, [r1, #0x18]
lsrs r1, r1, #2
subs r0, r0, r1
lsls r0, r0, #8
mov r2, sb
lsls r1, r2, #1
adds r0, r0, r1
lsls r0, r0, #1
adds r6, r6, r0
ldr r0, _0807D328 @ =0x040000D4
str r6, [r0]
str r5, [r0, #4]
ldr r2, _0807D32C @ =0x80000020
str r2, [r0, #8]
ldr r1, [r0, #8]
movs r3, #0x80
lsls r3, r3, #1
adds r1, r6, r3
str r1, [r0]
mov r1, ip
b _0807D3F0
.align 2, 0
_0807D328: .4byte 0x040000D4
_0807D32C: .4byte 0x80000020
_0807D330:
mov r2, r8
ldrh r3, [r2, #0x18]
movs r0, #3
ands r0, r3
cmp r0, #0
beq _0807D33E
b _0807D462
_0807D33E:
asrs r7, r4, #4
movs r0, #0x3c
adds r0, r0, r5
mov sb, r0
cmp r3, #0
beq _0807D36A
ldr r4, _0807D398 @ =0x040000D4
ldr r1, _0807D39C @ =0x8000001E
mov ip, r1
adds r3, r5, #4
adds r1, r5, #0
movs r2, #0x15
_0807D356:
str r3, [r4]
str r1, [r4, #4]
mov r0, ip
str r0, [r4, #8]
ldr r0, [r4, #8]
adds r3, #0x40
adds r1, #0x40
subs r2, #1
cmp r2, #0
bge _0807D356
_0807D36A:
lsls r1, r7, #8
mov r2, r8
ldrh r0, [r2, #0x18]
lsrs r0, r0, #2
lsls r0, r0, #1
adds r1, r1, r0
lsls r1, r1, #1
adds r6, r6, r1
mov r5, sb
movs r1, #0x80
lsls r1, r1, #1
movs r2, #0x15
_0807D382:
ldrh r0, [r6]
strh r0, [r5]
ldrh r0, [r6, #2]
strh r0, [r5, #2]
adds r5, #0x40
adds r6, r6, r1
subs r2, #1
cmp r2, #0
bge _0807D382
b _0807D462
.align 2, 0
_0807D398: .4byte 0x040000D4
_0807D39C: .4byte 0x8000001E
_0807D3A0:
mov r0, r8
ldrh r1, [r0, #0x18]
movs r0, #3
ands r0, r1
cmp r0, #0
bne _0807D462
lsls r2, r1, #0x10
cmp r2, #0
beq _0807D3C2
ldr r1, _0807D3F8 @ =0x040000D4
adds r0, r5, #0
adds r0, #0x80
str r0, [r1]
str r5, [r1, #4]
ldr r0, _0807D3FC @ =0x800003C0
str r0, [r1, #8]
ldr r0, [r1, #8]
_0807D3C2:
lsrs r0, r2, #0x12
lsls r0, r0, #8
asrs r1, r3, #4
lsls r1, r1, #1
adds r0, r0, r1
lsls r0, r0, #1
adds r6, r6, r0
ldr r0, _0807D3F8 @ =0x040000D4
str r6, [r0]
movs r2, #0xa0
lsls r2, r2, #3
adds r1, r5, r2
str r1, [r0, #4]
ldr r2, _0807D400 @ =0x80000020
str r2, [r0, #8]
ldr r1, [r0, #8]
movs r3, #0x80
lsls r3, r3, #1
adds r1, r6, r3
str r1, [r0]
movs r3, #0xa8
lsls r3, r3, #3
adds r1, r5, r3
_0807D3F0:
str r1, [r0, #4]
str r2, [r0, #8]
ldr r0, [r0, #8]
b _0807D462
.align 2, 0
_0807D3F8: .4byte 0x040000D4
_0807D3FC: .4byte 0x800003C0
_0807D400: .4byte 0x80000020
_0807D404:
mov r0, r8
ldrh r1, [r0, #0x18]
movs r0, #3
ands r0, r1
cmp r0, #1
bne _0807D462
movs r2, #0
asrs r7, r4, #4
mov ip, r5
_0807D416:
movs r1, #0x1d
mov r3, ip
adds r3, #0x3a
_0807D41C:
ldrh r0, [r3]
strh r0, [r3, #4]
subs r3, #2
subs r1, #1
cmp r1, #0
bge _0807D41C
movs r1, #0x40
add ip, r1
adds r2, #1
cmp r2, #0x15
ble _0807D416
lsls r0, r7, #8
mov r2, r8
ldrh r1, [r2, #0x1e]
lsrs r1, r1, #4
subs r1, #1
ldrh r2, [r2, #0x18]
lsrs r2, r2, #2
subs r1, r1, r2
lsls r1, r1, #1
adds r0, r0, r1
lsls r0, r0, #1
adds r6, r6, r0
movs r1, #0x80
lsls r1, r1, #1
movs r2, #0x15
_0807D450:
ldrh r0, [r6]
strh r0, [r5]
ldrh r0, [r6, #2]
strh r0, [r5, #2]
adds r5, #0x40
adds r6, r6, r1
subs r2, #1
cmp r2, #0
bge _0807D450
_0807D462:
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
@@ -1,346 +0,0 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #8
str r0, [sp]
str r1, [sp, #4]
ldr r0, _0807D494 @ =gRoomControls
ldrb r2, [r0, #0x10]
mov sb, r0
cmp r2, #1
bne _0807D488
b _0807D5C4
_0807D488:
cmp r2, #1
bgt _0807D498
cmp r2, #0
beq _0807D4A4
b _0807D6CC
.align 2, 0
_0807D494: .4byte gRoomControls
_0807D498:
cmp r2, #2
beq _0807D4A4
cmp r2, #3
bne _0807D4A2
b _0807D5C4
_0807D4A2:
b _0807D6CC
_0807D4A4:
mov r1, sb
movs r2, #0xa
ldrsh r0, [r1, r2]
ldrh r1, [r1, #6]
subs r5, r0, r1
cmp r5, #7
ble _0807D4B4
subs r5, #8
_0807D4B4:
mov r3, sb
ldr r0, [r3, #0x30]
movs r2, #0x2e
ldrsh r0, [r0, r2]
subs r0, r0, r1
subs r3, r0, #4
mov r8, r3
cmp r3, #7
ble _0807D4CA
subs r0, #0xc
mov r8, r0
_0807D4CA:
mov r0, sb
movs r2, #0xc
ldrsh r1, [r0, r2]
ldrh r0, [r0, #8]
subs r1, r1, r0
mov ip, r1
cmp r1, #7
ble _0807D4E0
movs r3, #8
rsbs r3, r3, #0
add ip, r3
_0807D4E0:
mov r1, sb
ldrh r0, [r1, #0x18]
lsls r0, r0, #3
mov r2, r8
subs r0, r2, r0
adds r7, r5, #0
adds r7, #0xf8
cmp r0, r5
blt _0807D548
mov r1, ip
asrs r3, r1, #3
lsls r1, r3, #8
ldr r2, [sp]
adds r1, r2, r1
asrs r0, r0, #3
lsls r2, r0, #1
adds r4, r1, r2
movs r1, #0x1f
ands r0, r1
lsls r0, r0, #1
ldr r2, [sp, #4]
adds r6, r2, r0
ands r3, r1
lsls r2, r3, #5
mov r3, sb
ldrh r0, [r3, #0x20]
lsls r1, r0, #0x10
lsrs r0, r1, #0x10
cmp r0, #0xaf
bhi _0807D520
lsrs r3, r1, #0x13
b _0807D522
_0807D520:
movs r3, #0x16
_0807D522:
adds r7, r5, #0
adds r7, #0xf8
cmp r3, #0
ble _0807D548
ldr r0, _0807D55C @ =0x000003FF
mov sl, r0
_0807D52E:
lsls r0, r2, #1
adds r0, r0, r6
ldrh r1, [r4]
strh r1, [r0]
movs r1, #0x80
lsls r1, r1, #1
adds r4, r4, r1
adds r2, #0x20
mov r0, sl
ands r2, r0
subs r3, #1
cmp r3, #0
bgt _0807D52E
_0807D548:
mov r1, sb
ldrh r0, [r1, #0x18]
adds r0, #1
lsls r0, r0, #3
add r0, r8
ldrh r2, [r1, #0x1e]
cmp r7, r2
blt _0807D560
adds r1, r7, #0
b _0807D566
.align 2, 0
_0807D55C: .4byte 0x000003FF
_0807D560:
movs r3, #0x80
lsls r3, r3, #1
adds r1, r5, r3
_0807D566:
cmp r0, r1
blt _0807D56C
b _0807D6CC
_0807D56C:
mov r1, ip
asrs r3, r1, #3
lsls r1, r3, #8
ldr r2, [sp]
adds r1, r2, r1
asrs r0, r0, #3
lsls r2, r0, #1
adds r4, r1, r2
movs r1, #0x1f
ands r0, r1
lsls r0, r0, #1
ldr r2, [sp, #4]
adds r6, r2, r0
ands r3, r1
lsls r2, r3, #5
mov r3, sb
ldrh r0, [r3, #0x20]
lsls r1, r0, #0x10
lsrs r0, r1, #0x10
cmp r0, #0xaf
bhi _0807D59A
lsrs r3, r1, #0x13
b _0807D59C
_0807D59A:
movs r3, #0x16
_0807D59C:
cmp r3, #0
bgt _0807D5A2
b _0807D6CC
_0807D5A2:
movs r7, #0x80
lsls r7, r7, #1
ldr r5, _0807D5C0 @ =0x000003FF
_0807D5A8:
lsls r0, r2, #1
adds r0, r0, r6
ldrh r1, [r4]
strh r1, [r0]
adds r4, r4, r7
adds r2, #0x20
ands r2, r5
subs r3, #1
cmp r3, #0
bgt _0807D5A8
b _0807D6CC
.align 2, 0
_0807D5C0: .4byte 0x000003FF
_0807D5C4:
mov r1, sb
movs r2, #0xc
ldrsh r0, [r1, r2]
ldrh r2, [r1, #8]
subs r5, r0, r2
cmp r5, #7
ble _0807D5D4
subs r5, #8
_0807D5D4:
mov r3, sb
movs r0, #0xa
ldrsh r1, [r3, r0]
ldrh r0, [r3, #6]
subs r1, r1, r0
mov r8, r1
cmp r1, #7
ble _0807D5EA
movs r1, #8
rsbs r1, r1, #0
add r8, r1
_0807D5EA:
mov r3, sb
ldr r0, [r3, #0x30]
movs r1, #0x32
ldrsh r0, [r0, r1]
subs r0, r0, r2
subs r2, r0, #4
mov ip, r2
cmp r2, #7
ble _0807D600
subs r0, #0xc
mov ip, r0
_0807D600:
mov r3, sb
ldrh r0, [r3, #0x18]
lsls r0, r0, #3
mov r1, ip
subs r0, r1, r0
adds r7, r5, #0
adds r7, #0xa8
movs r2, #0xb0
adds r2, r2, r5
mov sl, r2
cmp r0, r5
blt _0807D66A
asrs r2, r0, #3
lsls r0, r2, #8
ldr r3, [sp]
adds r0, r3, r0
mov r1, r8
asrs r3, r1, #3
lsls r1, r3, #1
adds r4, r0, r1
movs r0, #0x1f
ands r2, r0
lsls r2, r2, #6
ldr r1, [sp, #4]
adds r6, r1, r2
adds r2, r0, #0
ands r2, r3
mov r3, sb
ldrh r0, [r3, #0x1e]
lsls r1, r0, #0x10
lsrs r0, r1, #0x10
cmp r0, #0xff
bhi _0807D646
lsrs r3, r1, #0x13
b _0807D648
_0807D646:
movs r3, #0x20
_0807D648:
adds r7, r5, #0
adds r7, #0xa8
adds r5, #0xb0
mov sl, r5
cmp r3, #0
ble _0807D66A
movs r5, #0x1f
_0807D656:
lsls r0, r2, #1
adds r0, r0, r6
ldrh r1, [r4]
strh r1, [r0]
adds r4, #2
adds r2, #1
ands r2, r5
subs r3, #1
cmp r3, #0
bgt _0807D656
_0807D66A:
mov r1, sb
ldrh r0, [r1, #0x18]
adds r0, #1
lsls r0, r0, #3
add r0, ip
mov r2, sl
ldrh r1, [r1, #0x20]
cmp r7, r1
blt _0807D67E
adds r2, r7, #0
_0807D67E:
cmp r0, r2
bge _0807D6CC
asrs r2, r0, #3
lsls r0, r2, #8
ldr r1, [sp]
adds r0, r1, r0
mov r1, r8
asrs r3, r1, #3
lsls r1, r3, #1
adds r4, r0, r1
movs r0, #0x1f
ands r2, r0
lsls r2, r2, #6
ldr r1, [sp, #4]
adds r6, r1, r2
adds r2, r0, #0
ands r2, r3
mov r3, sb
ldrh r0, [r3, #0x1e]
lsls r1, r0, #0x10
lsrs r0, r1, #0x10
cmp r0, #0xff
bhi _0807D6B0
lsrs r3, r1, #0x13
b _0807D6B2
_0807D6B0:
movs r3, #0x20
_0807D6B2:
cmp r3, #0
ble _0807D6CC
movs r5, #0x1f
_0807D6B8:
lsls r0, r2, #1
adds r0, r0, r6
ldrh r1, [r4]
strh r1, [r0]
adds r4, #2
adds r2, #1
ands r2, r5
subs r3, #1
cmp r3, #0
bgt _0807D6B8
_0807D6CC:
add sp, #8
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.syntax divided
@@ -1,482 +0,0 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #0x44
str r0, [sp]
str r1, [sp, #4]
ldr r5, _0807D8BC @ =gRoomControls
ldrh r0, [r5, #0x18]
cmp r0, #0
bne _0807D6F2
b _0807DA62
_0807D6F2:
ldrh r0, [r5, #0x1a]
cmp r0, #0
bne _0807D6FA
b _0807DA62
_0807D6FA:
movs r1, #0xa
ldrsh r0, [r5, r1]
ldrh r1, [r5, #6]
subs r0, r0, r1
movs r4, #0x10
rsbs r4, r4, #0
ands r0, r4
str r0, [sp, #0x24]
ldr r3, [r5, #0x30]
movs r2, #0x2e
ldrsh r0, [r3, r2]
subs r0, r0, r1
movs r2, #8
rsbs r2, r2, #0
ands r0, r2
str r0, [sp, #0x14]
ldr r1, [sp, #0x24]
subs r0, r0, r1
str r0, [sp, #0x1c]
movs r1, #0xc
ldrsh r0, [r5, r1]
ldrh r1, [r5, #8]
subs r0, r0, r1
ands r0, r4
str r0, [sp, #0x28]
movs r4, #0x32
ldrsh r0, [r3, r4]
subs r0, r0, r1
ands r0, r2
str r0, [sp, #0x18]
ldr r1, [sp, #0x28]
subs r0, r0, r1
str r0, [sp, #0x20]
ldrh r0, [r5, #0x18]
adds r2, r0, #0
muls r2, r0, r2
str r2, [sp, #0xc]
ldrh r3, [r5, #0x1a]
str r3, [sp, #8]
adds r4, r3, #0
muls r4, r3, r4
str r4, [sp, #0x10]
adds r4, r0, #0
movs r0, #0
mov sb, r0
lsls r0, r4, #1
rsbs r0, r0, #0
adds r0, #1
ldr r1, [sp, #0x10]
muls r0, r1, r0
lsls r6, r2, #1
adds r7, r0, r6
adds r2, r4, #0
muls r2, r1, r2
mov r8, r2
mov r0, r8
ldr r1, [sp, #0xc]
bl __divsi3
mov ip, r0
cmp sb, ip
ble _0807D778
b _0807D8D8
_0807D778:
mov sl, r5
ldr r3, [sp, #0xc]
adds r0, r6, r3
lsls r0, r0, #1
str r0, [sp, #0x3c]
mov r0, r8
str r0, [sp, #0x40]
ldr r1, [sp, #0x14]
subs r1, r1, r4
mov r8, r1
ldr r2, [sp, #0x14]
adds r6, r4, r2
movs r0, #0x80
lsls r0, r0, #1
ldr r3, [sp, #0x24]
adds r0, r3, r0
str r0, [sp, #0x2c]
_0807D79A:
ldr r0, [sp, #0x28]
adds r0, #0xb0
ldr r1, [sp, #0x18]
add r1, sb
cmp r0, r1
ble _0807D812
ldr r0, [sp, #0x20]
add r0, sb
asrs r0, r0, #3
movs r5, #0x1f
ands r0, r5
cmp r0, #0x1f
beq _0807D812
lsls r0, r0, #6
ldr r3, [sp, #4]
adds r2, r3, r0
asrs r0, r1, #3
lsls r0, r0, #8
ldr r1, [sp]
adds r3, r1, r0
ldr r0, [sp, #0x2c]
cmp r0, r6
ble _0807D7EA
ldr r0, [sp, #0x1c]
adds r1, r0, r4
asrs r1, r1, #3
ands r1, r5
lsls r1, r1, #1
adds r1, r1, r2
asrs r0, r6, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
strh r0, [r1]
mov r1, sl
ldrh r0, [r1, #0x1c]
movs r1, #1
orrs r0, r1
mov r1, sl
strh r0, [r1, #0x1c]
_0807D7EA:
ldr r0, [sp, #0x24]
cmp r0, r8
bge _0807D812
ldr r0, [sp, #0x1c]
subs r1, r0, r4
asrs r1, r1, #3
ands r1, r5
lsls r1, r1, #1
adds r1, r1, r2
mov r2, r8
asrs r0, r2, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
strh r0, [r1]
mov r3, sl
ldrh r0, [r3, #0x1c]
movs r1, #2
orrs r0, r1
strh r0, [r3, #0x1c]
_0807D812:
ldr r0, [sp, #0x18]
mov r2, sb
subs r1, r0, r2
adds r0, r1, #0
adds r0, #8
ldr r3, [sp, #0x28]
cmp r3, r0
bge _0807D88E
ldr r3, [sp, #0x20]
subs r0, r3, r2
asrs r0, r0, #3
movs r5, #0x1f
ands r0, r5
cmp r0, #0x1f
beq _0807D88E
lsls r0, r0, #6
ldr r3, [sp, #4]
adds r2, r3, r0
asrs r0, r1, #3
lsls r0, r0, #8
ldr r1, [sp]
adds r3, r1, r0
ldr r0, [sp, #0x2c]
cmp r0, r6
ble _0807D866
ldr r0, [sp, #0x1c]
adds r1, r0, r4
asrs r1, r1, #3
ands r1, r5
lsls r1, r1, #1
adds r1, r1, r2
asrs r0, r6, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
strh r0, [r1]
mov r1, sl
ldrh r0, [r1, #0x1c]
movs r1, #4
orrs r0, r1
mov r1, sl
strh r0, [r1, #0x1c]
_0807D866:
ldr r0, [sp, #0x24]
cmp r0, r8
bge _0807D88E
ldr r0, [sp, #0x1c]
subs r1, r0, r4
asrs r1, r1, #3
ands r1, r5
lsls r1, r1, #1
adds r1, r1, r2
mov r2, r8
asrs r0, r2, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
strh r0, [r1]
mov r3, sl
ldrh r0, [r3, #0x1c]
movs r1, #8
orrs r0, r1
strh r0, [r3, #0x1c]
_0807D88E:
cmp r7, #0
ble _0807D8C0
lsls r0, r4, #2
rsbs r0, r0, #0
adds r0, #4
ldr r1, [sp, #0x10]
muls r0, r1, r0
ldr r2, [sp, #0x3c]
adds r0, r0, r2
adds r7, r7, r0
ldr r3, [sp, #0x40]
subs r3, r3, r1
str r3, [sp, #0x40]
movs r0, #1
add r8, r0
subs r6, #1
subs r4, #1
adds r0, r3, #0
ldr r1, [sp, #0xc]
bl __divsi3
mov ip, r0
b _0807D8C4
.align 2, 0
_0807D8BC: .4byte gRoomControls
_0807D8C0:
ldr r1, [sp, #0x3c]
adds r7, r7, r1
_0807D8C4:
ldr r2, [sp, #0xc]
lsls r0, r2, #2
ldr r3, [sp, #0x3c]
adds r3, r3, r0
str r3, [sp, #0x3c]
movs r0, #1
add sb, r0
cmp sb, ip
bgt _0807D8D8
b _0807D79A
_0807D8D8:
movs r4, #0
ldr r1, [sp, #8]
mov sb, r1
ldr r2, [sp, #0x10]
lsls r6, r2, #1
lsls r0, r1, #1
rsbs r0, r0, #0
adds r0, #1
ldr r3, [sp, #0xc]
muls r0, r3, r0
adds r7, r6, r0
mov r5, sb
muls r5, r3, r5
adds r0, r5, #0
adds r1, r2, #0
bl __divsi3
mov ip, r0
cmp r4, ip
ble _0807D902
b _0807DA62
_0807D902:
ldr r0, _0807DA40 @ =gRoomControls
mov sl, r0
ldr r1, [sp, #0x10]
adds r0, r6, r1
lsls r0, r0, #1
str r0, [sp, #0x34]
ldr r6, [sp, #0x14]
mov r8, r6
str r5, [sp, #0x38]
movs r3, #0x80
lsls r3, r3, #1
ldr r2, [sp, #0x24]
adds r3, r2, r3
str r3, [sp, #0x30]
_0807D91E:
ldr r0, [sp, #0x28]
adds r0, #0xb0
ldr r1, [sp, #0x18]
add r1, sb
cmp r0, r1
ble _0807D996
ldr r0, [sp, #0x20]
add r0, sb
asrs r0, r0, #3
movs r5, #0x1f
ands r0, r5
cmp r0, #0x1f
beq _0807D996
lsls r0, r0, #6
ldr r3, [sp, #4]
adds r2, r3, r0
asrs r0, r1, #3
lsls r0, r0, #8
ldr r1, [sp]
adds r3, r1, r0
ldr r0, [sp, #0x30]
cmp r0, r6
ble _0807D96E
ldr r0, [sp, #0x1c]
adds r1, r0, r4
asrs r1, r1, #3
ands r1, r5
lsls r1, r1, #1
adds r1, r1, r2
asrs r0, r6, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
strh r0, [r1]
mov r1, sl
ldrh r0, [r1, #0x1c]
movs r1, #0x10
orrs r0, r1
mov r1, sl
strh r0, [r1, #0x1c]
_0807D96E:
ldr r0, [sp, #0x24]
cmp r0, r8
bge _0807D996
ldr r0, [sp, #0x1c]
subs r1, r0, r4
asrs r1, r1, #3
ands r1, r5
lsls r1, r1, #1
adds r1, r1, r2
mov r2, r8
asrs r0, r2, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
strh r0, [r1]
mov r3, sl
ldrh r0, [r3, #0x1c]
movs r1, #0x20
orrs r0, r1
strh r0, [r3, #0x1c]
_0807D996:
ldr r0, [sp, #0x18]
mov r2, sb
subs r1, r0, r2
adds r0, r1, #0
adds r0, #8
ldr r3, [sp, #0x28]
cmp r3, r0
bge _0807DA12
ldr r3, [sp, #0x20]
subs r0, r3, r2
asrs r0, r0, #3
movs r5, #0x1f
ands r0, r5
cmp r0, #0x1f
beq _0807DA12
lsls r0, r0, #6
ldr r3, [sp, #4]
adds r2, r3, r0
asrs r0, r1, #3
lsls r0, r0, #8
ldr r1, [sp]
adds r3, r1, r0
ldr r0, [sp, #0x30]
cmp r0, r6
ble _0807D9EA
ldr r0, [sp, #0x1c]
adds r1, r0, r4
asrs r1, r1, #3
ands r1, r5
lsls r1, r1, #1
adds r1, r1, r2
asrs r0, r6, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
strh r0, [r1]
mov r1, sl
ldrh r0, [r1, #0x1c]
movs r1, #0x40
orrs r0, r1
mov r1, sl
strh r0, [r1, #0x1c]
_0807D9EA:
ldr r0, [sp, #0x24]
cmp r0, r8
bge _0807DA12
ldr r0, [sp, #0x1c]
subs r1, r0, r4
asrs r1, r1, #3
ands r1, r5
lsls r1, r1, #1
adds r1, r1, r2
mov r2, r8
asrs r0, r2, #3
lsls r0, r0, #1
adds r0, r0, r3
ldrh r0, [r0]
strh r0, [r1]
mov r3, sl
ldrh r0, [r3, #0x1c]
movs r1, #0x80
orrs r0, r1
strh r0, [r3, #0x1c]
_0807DA12:
cmp r7, #0
ble _0807DA44
mov r1, sb
lsls r0, r1, #2
rsbs r0, r0, #0
adds r0, #4
ldr r2, [sp, #0xc]
muls r0, r2, r0
ldr r3, [sp, #0x34]
adds r0, r3, r0
adds r7, r7, r0
ldr r0, [sp, #0x38]
subs r0, r0, r2
str r0, [sp, #0x38]
movs r1, #1
rsbs r1, r1, #0
add sb, r1
ldr r1, [sp, #0x10]
bl __divsi3
mov ip, r0
b _0807DA48
.align 2, 0
_0807DA40: .4byte gRoomControls
_0807DA44:
ldr r2, [sp, #0x34]
adds r7, r7, r2
_0807DA48:
ldr r3, [sp, #0x10]
lsls r0, r3, #2
ldr r1, [sp, #0x34]
adds r1, r1, r0
str r1, [sp, #0x34]
movs r2, #1
rsbs r2, r2, #0
add r8, r2
adds r6, #1
adds r4, #1
cmp r4, ip
bgt _0807DA62
b _0807D91E
_0807DA62:
add sp, #0x44
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
-189
View File
@@ -1,189 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #0x20
str r0, [sp]
str r1, [sp, #4]
mov sl, r2
mov sb, r3
ldr r0, _0801E3AC @ =gUnk_03003DE4
ldrb r1, [r0]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
ldr r1, _0801E3B0 @ =gUnk_02017AA0
adds r0, r0, r1
movs r1, #0xa0
lsls r1, r1, #4
bl MemClear
cmp sl, sb
bge _0801E3DC
movs r6, #0
mov r8, sl
mov r7, r8
mov r0, r8
lsls r1, r0, #1
movs r0, #3
subs r5, r0, r1
cmp r6, r8
ble _0801E35E
b _0801E45E
_0801E35E:
mov r1, r8
lsls r0, r1, #2
ldr r4, _0801E3B4 @ =gUnk_02018EE0
adds r0, r0, r4
str r0, [sp, #0x10]
mov r1, sb
mov r0, r8
muls r0, r1, r0
str r0, [sp, #0x14]
movs r3, #0
_0801E372:
adds r0, r3, #0
mov r1, sl
str r3, [sp, #0x18]
bl Div
adds r4, r0, #0
lsls r4, r4, #0x10
lsrs r4, r4, #0x10
str r4, [sp, #0x1c]
ldr r0, [sp, #0x14]
mov r1, sl
bl Div
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
lsls r2, r6, #2
ldr r4, _0801E3B4 @ =gUnk_02018EE0
adds r1, r2, r4
str r0, [r1]
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x10]
str r0, [r1]
ldr r3, [sp, #0x18]
cmp r5, #0
bge _0801E3B8
adds r0, r5, #6
adds r5, r0, r2
b _0801E3D2
.align 2, 0
_0801E3AC: .4byte gUnk_03003DE4
_0801E3B0: .4byte gUnk_02017AA0
_0801E3B4: .4byte gUnk_02018EE0
_0801E3B8:
adds r1, r5, #0
adds r1, #0xa
subs r0, r6, r7
lsls r0, r0, #2
adds r5, r1, r0
ldr r4, [sp, #0x10]
subs r4, #4
str r4, [sp, #0x10]
ldr r0, [sp, #0x14]
mov r1, sb
subs r0, r0, r1
str r0, [sp, #0x14]
subs r7, #1
_0801E3D2:
add r3, sb
adds r6, #1
cmp r6, r7
ble _0801E372
b _0801E45E
_0801E3DC:
movs r6, #0
mov r8, sb
mov r7, r8
mov r4, r8
lsls r1, r4, #1
movs r0, #3
subs r5, r0, r1
cmp r6, r8
bgt _0801E45E
lsls r0, r4, #2
ldr r1, _0801E438 @ =gUnk_02018EE0
adds r0, r0, r1
str r0, [sp, #8]
mov r0, sl
mov r4, r8
muls r4, r0, r4
str r4, [sp, #0xc]
movs r3, #0
_0801E400:
adds r0, r3, #0
mov r1, sb
str r3, [sp, #0x18]
bl Div
adds r4, r0, #0
lsls r4, r4, #0x10
lsrs r4, r4, #0x10
str r4, [sp, #0x1c]
ldr r0, [sp, #0xc]
mov r1, sb
bl Div
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
lsls r2, r6, #2
ldr r4, _0801E438 @ =gUnk_02018EE0
adds r1, r2, r4
str r0, [r1]
ldr r0, [sp, #0x1c]
ldr r1, [sp, #8]
str r0, [r1]
ldr r3, [sp, #0x18]
cmp r5, #0
bge _0801E43C
adds r0, r5, #6
adds r5, r0, r2
b _0801E456
.align 2, 0
_0801E438: .4byte gUnk_02018EE0
_0801E43C:
adds r1, r5, #0
adds r1, #0xa
subs r0, r6, r7
lsls r0, r0, #2
adds r5, r1, r0
ldr r4, [sp, #8]
subs r4, #4
str r4, [sp, #8]
ldr r0, [sp, #0xc]
mov r1, sl
subs r0, r0, r1
str r0, [sp, #0xc]
subs r7, #1
_0801E456:
add r3, sl
adds r6, #1
cmp r6, r7
ble _0801E400
_0801E45E:
ldr r0, [sp]
ldr r1, [sp, #4]
mov r2, r8
bl sub_0801E290
ldr r0, _0801E48C @ =gUnk_03003DE4
ldrb r1, [r0]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
ldr r1, _0801E490 @ =gUnk_02017AA0
adds r0, r0, r1
ldr r1, _0801E494 @ =0x04000040
ldr r2, _0801E498 @ =0xA2600001
bl SetVBlankDMA
add sp, #0x20
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801E48C: .4byte gUnk_03003DE4
_0801E490: .4byte gUnk_02017AA0
_0801E494: .4byte 0x04000040
_0801E498: .4byte 0xA2600001
.syntax divided
-211
View File
@@ -1,211 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #8
mov r8, r0
str r1, [sp, #4]
mov sb, r2
adds r5, r3, #0
ldr r0, _0801E5E4 @ =0x0000FFFF
movs r2, #0xf0
lsls r2, r2, #3
ldr r1, _0801E5E8 @ =gUnk_02018EE0
bl MemFill16
adds r3, r5, #0
subs r3, #0x40
movs r2, #0xff
ands r3, r2
ldr r1, _0801E5EC @ =gSineTable
adds r0, r3, #0
adds r0, #0x40
lsls r0, r0, #1
adds r0, r0, r1
movs r4, #0
ldrsh r0, [r0, r4]
mov r4, sb
muls r4, r0, r4
adds r0, r4, #0
asrs r0, r0, #8
mov r4, r8
adds r7, r4, r0
lsls r0, r3, #1
adds r0, r0, r1
movs r3, #0
ldrsh r0, [r0, r3]
mov r4, sb
muls r4, r0, r4
adds r0, r4, #0
asrs r0, r0, #8
ldr r3, [sp, #4]
adds r3, r3, r0
mov sl, r3
adds r3, r5, #0
adds r3, #0x68
ands r3, r2
adds r0, r3, #0
adds r0, #0x40
lsls r0, r0, #1
adds r0, r0, r1
movs r4, #0
ldrsh r0, [r0, r4]
mov r4, sb
muls r4, r0, r4
adds r0, r4, #0
asrs r0, r0, #8
mov r4, r8
adds r6, r4, r0
lsls r0, r3, #1
adds r0, r0, r1
movs r3, #0
ldrsh r0, [r0, r3]
mov r4, sb
muls r4, r0, r4
adds r0, r4, #0
asrs r0, r0, #8
ldr r3, [sp, #4]
adds r4, r3, r0
adds r3, r5, #0
subs r3, #0xe8
ands r3, r2
adds r0, r3, #0
adds r0, #0x40
lsls r0, r0, #1
adds r0, r0, r1
movs r2, #0
ldrsh r0, [r0, r2]
mov r2, sb
muls r2, r0, r2
adds r0, r2, #0
asrs r0, r0, #8
mov r2, r8
adds r5, r2, r0
lsls r0, r3, #1
adds r0, r0, r1
movs r3, #0
ldrsh r0, [r0, r3]
mov r1, sb
muls r1, r0, r1
adds r0, r1, #0
asrs r0, r0, #8
ldr r2, [sp, #4]
adds r2, r2, r0
mov r8, r2
movs r0, #0
str r0, [sp]
adds r0, r7, #0
mov r1, sl
adds r2, r6, #0
adds r3, r4, #0
bl sub_0801E64C
movs r0, #1
str r0, [sp]
adds r0, r7, #0
mov r1, sl
adds r2, r5, #0
mov r3, r8
bl sub_0801E64C
movs r0, #2
str r0, [sp]
adds r0, r6, #0
adds r1, r4, #0
adds r2, r5, #0
mov r3, r8
bl sub_0801E64C
ldr r5, _0801E5F0 @ =gUnk_03003DE4
ldrb r1, [r5]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
ldr r6, _0801E5F4 @ =gUnk_02017AA0
adds r0, r0, r6
movs r1, #0xa0
lsls r1, r1, #4
bl MemClear
ldr r2, _0801E5E8 @ =gUnk_02018EE0
ldrb r1, [r5]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
adds r1, r0, r6
movs r3, #0xa0
mov sl, r3
_0801E5B0:
ldr r7, [r2]
ldr r6, [r2, #4]
ldr r5, [r2, #8]
adds r2, #0xc
cmp r7, r6
ble _0801E5C2
adds r4, r7, #0
adds r7, r6, #0
adds r6, r4, #0
_0801E5C2:
cmp r7, r5
ble _0801E5CC
adds r4, r7, #0
adds r7, r5, #0
adds r5, r4, #0
_0801E5CC:
cmp r6, r5
ble _0801E5D6
adds r4, r6, #0
adds r6, r5, #0
adds r5, r4, #0
_0801E5D6:
movs r0, #1
rsbs r0, r0, #0
cmp r7, r0
beq _0801E5F8
strb r5, [r1]
strb r7, [r1, #1]
b _0801E60A
.align 2, 0
_0801E5E4: .4byte 0x0000FFFF
_0801E5E8: .4byte gUnk_02018EE0
_0801E5EC: .4byte gSineTable
_0801E5F0: .4byte gUnk_03003DE4
_0801E5F4: .4byte gUnk_02017AA0
_0801E5F8:
cmp r6, r7
beq _0801E602
strb r5, [r1]
strb r6, [r1, #1]
b _0801E60A
_0801E602:
cmp r5, r7
beq _0801E60A
strb r7, [r1, #1]
strb r7, [r1]
_0801E60A:
movs r4, #1
rsbs r4, r4, #0
add sl, r4
adds r1, #2
mov r0, sl
cmp r0, #0
bgt _0801E5B0
ldr r0, _0801E63C @ =gUnk_03003DE4
ldrb r1, [r0]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
ldr r1, _0801E640 @ =gUnk_02017AA0
adds r0, r0, r1
ldr r1, _0801E644 @ =0x04000040
ldr r2, _0801E648 @ =0xA2600001
bl SetVBlankDMA
add sp, #8
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801E63C: .4byte gUnk_03003DE4
_0801E640: .4byte gUnk_02017AA0
_0801E644: .4byte 0x04000040
_0801E648: .4byte 0xA2600001
.syntax divided
-171
View File
@@ -1,171 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
mov ip, r0
movs r0, #3
add ip, r0
subs r0, #7
mov r1, ip
ands r1, r0
mov ip, r1
ldr r6, _0801D90C @ =gzHeap
mov sb, r6
ldrh r7, [r6]
movs r5, #1
movs r3, #0x80
lsls r3, r3, #5
add r3, sb
subs r4, r3, r1
movs r2, #0
b _0801D926
.align 2, 0
_0801D90C: .4byte gzHeap
_0801D910:
cmp r1, r4
bhi _0801D918
cmp r3, r0
bls _0801D952
_0801D918:
cmp r4, r1
bhi _0801D920
cmp r0, r3
bls _0801D952
_0801D920:
adds r0, r2, #1
lsls r0, r0, #0x10
lsrs r2, r0, #0x10
_0801D926:
cmp r2, r7
bhs _0801D94A
lsls r0, r2, #2
add r0, sb
ldrh r1, [r0, #2]
ldr r6, _0801D95C @ =gzHeap
adds r1, r1, r6
ldrh r0, [r0, #4]
adds r0, r0, r6
cmp r1, r4
bhi _0801D940
cmp r4, r0
bls _0801D952
_0801D940:
cmp r1, r3
bhi _0801D910
cmp r3, r0
bhi _0801D910
movs r5, #0
_0801D94A:
lsls r0, r7, #2
mov sl, r0
cmp r5, #0
bne _0801D9D8
_0801D952:
movs r1, #0
mov r8, r1
lsls r6, r7, #2
mov sl, r6
b _0801D970
.align 2, 0
_0801D95C: .4byte gzHeap
_0801D960:
movs r5, #0
_0801D962:
mov r0, r8
adds r0, #1
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
mov r8, r0
cmp r8, r7
bhs _0801D9D4
_0801D970:
mov r1, r8
lsls r0, r1, #2
add r0, sb
ldrh r0, [r0, #2]
ldr r6, _0801D994 @ =gzHeap
adds r3, r0, r6
mov r0, ip
subs r4, r3, r0
movs r5, #0
mov r0, sl
adds r0, #2
add r0, sb
adds r0, #4
cmp r4, r0
blo _0801D962
movs r5, #1
movs r2, #0
b _0801D9AE
.align 2, 0
_0801D994: .4byte gzHeap
_0801D998:
cmp r1, r4
bhi _0801D9A0
cmp r3, r0
bls _0801D960
_0801D9A0:
cmp r4, r1
bhi _0801D9A8
cmp r0, r3
bls _0801D960
_0801D9A8:
adds r0, r2, #1
lsls r0, r0, #0x10
lsrs r2, r0, #0x10
_0801D9AE:
cmp r2, r7
bhs _0801D9D0
lsls r0, r2, #2
add r0, sb
ldrh r1, [r0, #2]
adds r1, r1, r6
ldrh r0, [r0, #4]
adds r0, r0, r6
cmp r1, r4
bhi _0801D9C6
cmp r4, r0
blo _0801D960
_0801D9C6:
cmp r1, r3
bhs _0801D998
cmp r3, r0
bhi _0801D998
movs r5, #0
_0801D9D0:
cmp r5, #0
beq _0801D962
_0801D9D4:
cmp r5, #0
beq _0801DA00
_0801D9D8:
ldr r0, _0801D9FC @ =gUnk_02035542
mov r1, sl
adds r2, r1, r0
subs r3, r0, #2
subs r1, r4, r3
strh r1, [r2]
adds r0, #2
add r0, sl
add r1, ip
strh r1, [r0]
adds r0, r7, #1
strh r0, [r3]
adds r0, r4, #0
mov r1, ip
bl MemClear
adds r0, r4, #0
b _0801DA02
.align 2, 0
_0801D9FC: .4byte gUnk_02035542
_0801DA00:
movs r0, #0
_0801DA02:
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.syntax divided
@@ -1,365 +0,0 @@
.syntax unified
.ifdef JP
push {r4, lr}
adds r2, r0, #0
lsls r1, r1, #3
ldr r0, _08087FB0 @ =gUnk_080FC3E4
adds r1, r1, r0
movs r4, #0
adds r0, r2, #0
adds r0, #0x7c
ldrb r0, [r0]
ldrb r3, [r1, #6]
cmp r0, r3
bhs _08088068
ldrb r0, [r1, #6]
cmp r0, #0x10
beq _08087FC6
cmp r0, #0x10
bgt _08087FB4
cmp r0, #8
beq _08087FBC
b _0808806A
.align 2, 0
_08087FB0: .4byte gUnk_080FC3E4
_08087FB4:
cmp r0, #0x20
beq _08087FCA
cmp r0, #0x40
bne _0808806A
_08087FBC:
ldr r0, [r1]
ldrh r1, [r1, #4]
bl CheckLocalFlagByBank
b _08088064EU
_08087FC6:
ldrh r0, [r1, #4]
b _08088060EU
_08087FCA:
ldrh r0, [r1, #4]
cmp r0, #4
bhi _0808806A
lsls r0, r0, #2
ldr r1, _08087FDC @ =_08087FE0
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08087FDC: .4byte _08087FE0
_08087FE0: @ jump table
.4byte _08087FF4 @ case 0
.4byte _0808800C @ case 1
.4byte _0808801A @ case 2
.4byte _08088032 @ case 3
.4byte _0808804A @ case 4
_08087FF4:
movs r0, #0x20
bl CheckKinstoneFused
cmp r0, #0
bne _08088068
movs r0, #0x10
bl CheckKinstoneFused
cmp r0, #0
bne _08088068
movs r0, #0x19
b _08088060EU
_0808800C:
adds r0, r2, #0
adds r0, #0x7c
ldrb r0, [r0]
cmp r0, #4
bls _0808806A
movs r0, #0x28
b _08088060EU
_0808801A:
movs r0, #0x54
bl CheckKinstoneFused
cmp r0, #0
bne _08088068
movs r0, #0x56
bl CheckKinstoneFused
cmp r0, #0
bne _08088068
movs r0, #0x3d
b _08088060EU
_08088032:
movs r0, #0x3b
bl CheckKinstoneFused
cmp r0, #0
bne _08088068
movs r0, #0x4a
bl CheckKinstoneFused
cmp r0, #0
bne _08088068
movs r0, #0xd
b _08088060EU
_0808804A:
movs r0, #0x49
bl CheckKinstoneFused
cmp r0, #0
bne _08088068
movs r0, #0x55
bl CheckKinstoneFused
cmp r0, #0
bne _08088068
movs r0, #0x3c
_08088060EU:
bl CheckKinstoneFused
_08088064EU:
cmp r0, #0
beq _0808806A
_08088068:
movs r4, #1
_0808806A:
adds r0, r4, #0
pop {r4, pc}
.align 2, 0
.else
.ifdef EU
push {r4, lr}
adds r2, r0, #0
lsls r1, r1, #3
ldr r0, _08087B44 @ =gUnk_080FC3E4
adds r1, r1, r0
movs r4, #0
adds r0, r2, #0
adds r0, #0x7d
ldrb r0, [r0]
ldrb r3, [r1, #6]
cmp r0, r3
bhs _08087BFC
ldrb r0, [r1, #6]
cmp r0, #0x10
beq _08087B5A
cmp r0, #0x10
bgt _08087B48
cmp r0, #8
beq _08087B50
b _08087BFE
.align 2, 0
_08087B44: .4byte gUnk_080FC3E4
_08087B48:
cmp r0, #0x20
beq _08087B5E
cmp r0, #0x40
bne _08087BFE
_08087B50:
ldr r0, [r1]
ldrh r1, [r1, #4]
bl CheckLocalFlagByBank
b _08087BF8
_08087B5A:
ldrh r0, [r1, #4]
b _08087BF4
_08087B5E:
ldrh r0, [r1, #4]
cmp r0, #4
bhi _08087BFE
lsls r0, r0, #2
ldr r1, _08087B70 @ =_08087B74
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08087B70: .4byte _08087B74
_08087B74: @ jump table
.4byte _08087B88 @ case 0
.4byte _08087BA0 @ case 1
.4byte _08087BAE @ case 2
.4byte _08087BC6 @ case 3
.4byte _08087BDE @ case 4
_08087B88:
movs r0, #0x20
bl CheckKinstoneFused
cmp r0, #0
bne _08087BFC
movs r0, #0x10
bl CheckKinstoneFused
cmp r0, #0
bne _08087BFC
movs r0, #0x19
b _08087BF4
_08087BA0:
adds r0, r2, #0
adds r0, #0x7d
ldrb r0, [r0]
cmp r0, #4
bls _08087BFE
movs r0, #0x28
b _08087BF4
_08087BAE:
movs r0, #0x54
bl CheckKinstoneFused
cmp r0, #0
bne _08087BFC
movs r0, #0x56
bl CheckKinstoneFused
cmp r0, #0
bne _08087BFC
movs r0, #0x3d
b _08087BF4
_08087BC6:
movs r0, #0x3b
bl CheckKinstoneFused
cmp r0, #0
bne _08087BFC
movs r0, #0x4a
bl CheckKinstoneFused
cmp r0, #0
bne _08087BFC
movs r0, #0xd
b _08087BF4
_08087BDE:
movs r0, #0x49
bl CheckKinstoneFused
cmp r0, #0
bne _08087BFC
movs r0, #0x55
bl CheckKinstoneFused
cmp r0, #0
bne _08087BFC
movs r0, #0x3c
_08087BF4:
bl CheckKinstoneFused
_08087BF8:
cmp r0, #0
beq _08087BFE
_08087BFC:
movs r4, #1
_08087BFE:
adds r0, r4, #0
pop {r4, pc}
.align 2, 0
.else
push {r4, lr}
adds r2, r0, #0
lsls r1, r1, #3
ldr r0, _08088188 @ =gUnk_080FC3E4
adds r1, r1, r0
movs r4, #0
adds r0, r2, #0
adds r0, #0x7c
ldrb r0, [r0]
ldrb r3, [r1, #6]
cmp r0, r3
bhs _08088266
ldrb r0, [r1, #6]
cmp r0, #0x10
beq _0808819E
cmp r0, #0x10
bgt _0808818C
cmp r0, #8
beq _08088194
b _08088268
.align 2, 0
_08088188: .4byte gUnk_080FC3E4
_0808818C:
cmp r0, #0x20
beq _080881A6
cmp r0, #0x40
bne _08088268
_08088194:
ldr r0, [r1]
ldrh r1, [r1, #4]
bl CheckLocalFlagByBank
b _08088262
_0808819E:
ldrh r0, [r1, #4]
.ifndef JP
bl CheckKinstoneFused
.endif
b _08088262
_080881A6:
ldrh r0, [r1, #4]
cmp r0, #5
bhi _08088268
lsls r0, r0, #2
ldr r1, _080881B8 @ =_080881BC
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080881B8: .4byte _080881BC
_080881BC: @ jump table
.4byte _080881D4 @ case 0
.4byte _080881F0 @ case 1
.4byte _080881FE @ case 2
.4byte _0808821A @ case 3
.4byte _08088236 @ case 4
.4byte _08088252 @ case 5
_080881D4:
movs r0, #0x20
bl CheckKinstoneFused
cmp r0, #0
bne _08088266
movs r0, #0x10
bl CheckKinstoneFused
cmp r0, #0
bne _08088266
movs r0, #0x19
_080881EA:
bl CheckKinstoneFused
b _08088262
_080881F0:
adds r0, r2, #0
adds r0, #0x7c
ldrb r0, [r0]
cmp r0, #4
bls _08088268
movs r0, #0x28
b _080881EA
_080881FE:
movs r0, #0x54
bl CheckKinstoneFused
cmp r0, #0
bne _08088266
movs r0, #0x56
bl CheckKinstoneFused
cmp r0, #0
bne _08088266
movs r0, #0x3d
bl CheckKinstoneFused
b _08088262
_0808821A:
movs r0, #0x3b
bl CheckKinstoneFused
cmp r0, #0
bne _08088266
movs r0, #0x4a
bl CheckKinstoneFused
cmp r0, #0
bne _08088266
movs r0, #0xd
bl CheckKinstoneFused
b _08088262
_08088236:
movs r0, #0x49
bl CheckKinstoneFused
cmp r0, #0
bne _08088266
movs r0, #0x55
bl CheckKinstoneFused
cmp r0, #0
bne _08088266
movs r0, #0x3c
bl CheckKinstoneFused
b _08088262
_08088252:
adds r0, r2, #0
adds r0, #0x7c
ldrb r0, [r0]
cmp r0, #1
bls _08088268
movs r0, #0x12
bl CheckGlobalFlag
_08088262:
cmp r0, #0
beq _08088268
_08088266:
movs r4, #1
_08088268:
adds r0, r4, #0
pop {r4, pc}
.endif
.endif
.syntax divided
@@ -1,219 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r6, r1, #0
ldr r4, _08076334 @ =gPlayerState
ldrb r0, [r4, #5]
movs r1, #0xcf
ands r1, r0
strb r1, [r4, #5]
adds r0, r5, #0
adds r1, r6, #0
bl PlayerTryDropObject
cmp r0, #0
bne _080762F6
b _08076486
_080762F6:
ldr r0, _08076338 @ =gPlayerEntity
adds r1, r0, #0
adds r1, #0x3d
ldrb r1, [r1]
lsls r1, r1, #0x18
asrs r1, r1, #0x18
adds r3, r0, #0
cmp r1, #8
bgt _0807636C
adds r0, #0x42
ldrb r0, [r0]
cmp r0, #0
bne _0807636C
ldr r2, [r5, #0x18]
cmp r2, #0
beq _08076340
ldrh r1, [r2, #0xc]
ldr r0, _0807633C @ =0x00000502
cmp r1, r0
bne _08076376
adds r0, r4, #0
adds r0, #0x90
ldrh r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
bne _08076340
movs r0, #6
strb r0, [r2, #0xd]
b _08076376
.align 2, 0
_08076334: .4byte gPlayerState
_08076338: .4byte gPlayerEntity
_0807633C: .4byte 0x00000502
_08076340:
ldr r2, _08076364 @ =gPlayerState
adds r1, r2, #0
adds r1, #0xa8
movs r0, #5
strb r0, [r1]
ldr r0, _08076368 @ =gHUD
adds r0, #0x2e
movs r1, #8
strb r1, [r0]
ldrb r0, [r2, #2]
cmp r0, #0
beq _0807635A
b _0807647E
_0807635A:
ldrb r0, [r2, #5]
cmp r0, #1
bne _08076394
b _08076380
.align 2, 0
_08076364: .4byte gPlayerState
_08076368: .4byte gHUD
_0807636C:
ldr r1, [r5, #0x18]
cmp r1, #0
beq _08076376
movs r0, #6
strb r0, [r1, #0xd]
_08076376:
adds r0, r5, #0
adds r1, r6, #0
bl PlayerCancelHoldItem
b _08076486
_08076380:
adds r0, r3, #0
movs r1, #6
adds r2, r5, #0
bl sub_0800875A
cmp r0, #0
beq _08076394
adds r0, r5, #0
movs r1, #0
b _080763EC
_08076394:
ldr r1, _080763F4 @ =gUnk_0811BE38
ldr r7, _080763F8 @ =gPlayerEntity
ldrb r0, [r7, #0x14]
lsrs r0, r0, #1
lsls r3, r0, #1
adds r1, r3, r1
ldr r4, _080763FC @ =gPlayerState
adds r2, r4, #0
adds r2, #0x90
ldrh r0, [r1]
ldrh r2, [r2]
ands r0, r2
cmp r0, #0
beq _08076400
adds r0, r5, #0
bl UpdateItemAnim
ldr r0, [r4, #0x30]
movs r1, #8
ands r0, r1
movs r1, #0x94
lsls r1, r1, #4
cmp r0, #0
bne _080763C8
movs r1, #0xd0
lsls r1, r1, #2
_080763C8:
ldrh r0, [r5, #0x10]
cmp r1, r0
beq _080763D4
adds r0, r5, #0
bl SetItemAnim
_080763D4:
ldrb r0, [r4, #5]
movs r1, #0x10
orrs r1, r0
strb r1, [r4, #5]
adds r2, r4, #0
adds r2, #0xa8
movs r0, #0x1a
strb r0, [r2]
cmp r1, #1
beq _08076486
ldr r1, [r5, #0x18]
adds r0, r5, #0
_080763EC:
adds r2, r6, #0
bl sub_08076088
b _08076486
.align 2, 0
_080763F4: .4byte gUnk_0811BE38
_080763F8: .4byte gPlayerEntity
_080763FC: .4byte gPlayerState
_08076400:
ldr r0, _08076418 @ =gUnk_0811BE40
adds r0, r3, r0
ldrh r0, [r0]
ands r0, r2
cmp r0, #0
beq _08076460
ldrb r0, [r7, #0xf]
cmp r0, #5
bhi _0807641C
adds r0, #1
strb r0, [r7, #0xf]
b _08076486
.align 2, 0
_08076418: .4byte gUnk_0811BE40
_0807641C:
ldrb r0, [r5, #0xa]
adds r1, r4, #0
adds r1, #0x35
strb r0, [r1]
ldrb r0, [r4, #6]
movs r1, #0x80
orrs r0, r1
strb r0, [r4, #6]
ldrb r1, [r4, #5]
movs r0, #0x20
orrs r0, r1
strb r0, [r4, #5]
adds r1, r4, #0
adds r1, #0xa8
movs r0, #0x19
strb r0, [r1]
ldr r0, [r4, #0x30]
movs r1, #8
ands r0, r1
ldr r1, _0807645C @ =0x0000093C
cmp r0, #0
bne _0807644C
movs r1, #0xcf
lsls r1, r1, #2
_0807644C:
ldrh r0, [r5, #0x10]
cmp r1, r0
bne _08076476
adds r0, r5, #0
bl UpdateItemAnim
b _08076486
.align 2, 0
_0807645C: .4byte 0x0000093C
_08076460:
strb r0, [r7, #0xf]
ldr r0, [r4, #0x30]
movs r1, #8
ands r0, r1
cmp r0, #0
bne _08076472
movs r1, #0xd0
lsls r1, r1, #2
b _08076476
_08076472:
movs r1, #0x94
lsls r1, r1, #4
_08076476:
adds r0, r5, #0
bl SetItemAnim
b _08076486
_0807647E:
adds r0, r5, #0
adds r1, r6, #0
bl PlayerCancelHoldItem
_08076486:
pop {r4, r5, r6, r7, pc}
.syntax divided
@@ -1,112 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
ldr r4, _080A4210 @ =gOamCmd
movs r0, #0
strh r0, [r4, #4]
strh r0, [r4, #6]
ldr r0, _080A4214 @ =gMenu
ldrh r0, [r0, #0x10]
ldr r1, _080A4218 @ =0x00000B21
bl __divsi3
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
movs r5, #3
rsbs r5, r5, #0
movs r1, #0xff
mov r8, r1
adds r7, r4, #0
ldr r6, _080A421C @ =gSineTable
rsbs r0, r0, #0
adds r4, r0, #0
subs r4, #0x45
ldr r2, _080A4220 @ =gSave+0x12b
mov sb, r2
_080A4180:
adds r2, r4, #0
mov r3, r8
ands r2, r3
lsls r0, r2, #1
adds r0, r0, r6
movs r3, #0
ldrsh r1, [r0, r3]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
cmp r0, #0
bge _080A419A
adds r0, #0xff
_080A419A:
asrs r0, r0, #8
adds r0, #0x4f
strh r0, [r7, #2]
adds r0, r2, #0
adds r0, #0x40
mov r1, r8
ands r0, r1
lsls r0, r0, #1
adds r0, r0, r6
movs r2, #0
ldrsh r1, [r0, r2]
lsls r0, r1, #5
adds r0, r0, r1
lsls r0, r0, #1
cmp r0, #0
bge _080A41BC
adds r0, #0xff
_080A41BC:
asrs r0, r0, #8
subs r0, #0x10
strh r0, [r7]
ldr r2, _080A4214 @ =gMenu
ldr r0, [r2, #0x10]
cmp r0, #0
bge _080A41CE
ldr r3, _080A4224 @ =0x0000FFFF
adds r0, r0, r3
_080A41CE:
asrs r0, r0, #0x10
adds r3, r0, r5
cmp r3, #0
blt _080A4200
mov r1, sb
adds r0, r3, r1
ldrb r1, [r0]
ldr r0, _080A4228 @ =gSave
cmp r5, #0
bne _080A41EE
ldrb r2, [r2, #1]
cmp r2, #4
bgt _080A41EE
cmp r2, #3
blt _080A41EE
subs r1, #1
_080A41EE:
cmp r1, #0
ble _080A4200
movs r2, #0x8c
lsls r2, r2, #1
adds r0, r0, r2
adds r0, r3, r0
ldrb r0, [r0]
bl sub_080A42E0
_080A4200:
adds r4, #0x17
adds r5, #1
cmp r5, #3
ble _080A4180
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080A4210: .4byte gOamCmd
_080A4214: .4byte gMenu
_080A4218: .4byte 0x00000B21
_080A421C: .4byte gSineTable
_080A4220: .4byte gSave+0x12b
_080A4224: .4byte 0x0000FFFF
_080A4228: .4byte gSave
.syntax divided
-66
View File
@@ -1,66 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
mov ip, r0
adds r5, r1, #0
ldrb r1, [r0, #0xb]
movs r0, #0x10
ands r0, r1
cmp r0, #0
beq _0806650A
mov r1, ip
ldrh r0, [r1, #0x2e]
adds r1, #0x86
strh r0, [r1]
mov r0, ip
adds r0, #0x7e
ldrh r2, [r0]
adds r0, #4
ldrh r0, [r0]
adds r3, r2, r0
subs r4, r2, r0
movs r6, #0x2e
ldrsh r0, [r5, r6]
cmp r0, r3
bge _080664C6
cmp r0, r4
ble _080664C6
adds r2, r0, #0
b _080664D2
_080664C6:
movs r2, #0x2e
ldrsh r0, [r5, r2]
adds r2, r4, #0
cmp r0, r3
blt _080664D2
adds r2, r3, #0
_080664D2:
ldrh r0, [r1]
cmp r0, r2
bne _080664F0
mov r1, ip
adds r1, #0x84
ldrh r0, [r1]
cmp r0, #1
bne _0806650A
movs r0, #0
strh r0, [r1]
mov r0, ip
movs r1, #2
bl InitializeAnimation
b _0806650A
_080664F0:
mov r6, ip
strh r2, [r6, #0x2e]
mov r1, ip
adds r1, #0x84
ldrh r0, [r1]
cmp r0, #0
bne _0806650A
movs r0, #1
strh r0, [r1]
mov r0, ip
movs r1, #6
bl InitializeAnimation
_0806650A:
pop {r4, r5, r6, pc}
.syntax divided
-144
View File
@@ -1,144 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #8
mov sb, r0
movs r6, #0
ldr r0, [r0, #0x64]
str r0, [sp, #4]
mov r4, sb
adds r4, #0x70
ldr r0, _080A12F8 @ =gRoomControls
movs r2, #0xd8
lsls r2, r2, #2
adds r1, r2, #0
ldrh r3, [r0, #6]
adds r1, r1, r3
movs r7, #0xd4
lsls r7, r7, #2
adds r2, r7, #0
ldrh r0, [r0, #8]
adds r2, r2, r0
lsls r1, r1, #0x10
asrs r1, r1, #0x10
mov r8, r1
lsls r2, r2, #0x10
asrs r3, r2, #0x10
movs r0, #9
mov sl, r0
movs r1, #1
rsbs r1, r1, #0
adds r5, r1, #0
_080A12B2:
ldr r7, [sp, #4]
ldr r2, [r7]
movs r0, #0
ldrsb r0, [r4, r0]
cmp r0, #0
bne _080A1300
ldr r0, [r2, #4]
cmp r0, #0
beq _080A132C
cmp r2, #0
beq _080A132C
movs r1, #0x2e
ldrsh r0, [r2, r1]
cmp r8, r0
bgt _080A132E
movs r7, #0x32
ldrsh r0, [r2, r7]
cmp r3, r0
bgt _080A132E
ldrb r0, [r2, #0xa]
adds r0, #1
strb r0, [r4]
movs r0, #1
strb r0, [r2, #0xb]
adds r6, #1
ldr r1, _080A12FC @ =CuccoMinigame_Sounds
ldrb r0, [r2, #0xa]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r0, [r0]
str r3, [sp]
bl SoundReq
ldr r3, [sp]
b _080A132E
.align 2, 0
_080A12F8: .4byte gRoomControls
_080A12FC: .4byte CuccoMinigame_Sounds
_080A1300:
cmp r0, #0
ble _080A132E
adds r6, #1
ldr r0, [r2, #4]
cmp r0, #0
beq _080A132C
cmp r2, #0
beq _080A132C
mov r1, r8
adds r1, #4
movs r7, #0x2e
ldrsh r0, [r2, r7]
cmp r1, r0
ble _080A131E
strh r1, [r2, #0x2e]
_080A131E:
adds r1, r3, #4
movs r7, #0x32
ldrsh r0, [r2, r7]
cmp r1, r0
ble _080A132E
strh r1, [r2, #0x32]
b _080A132E
_080A132C:
strb r5, [r4]
_080A132E:
movs r0, #1
rsbs r0, r0, #0
add sl, r0
adds r4, #1
ldr r1, [sp, #4]
adds r1, #4
str r1, [sp, #4]
mov r2, sl
cmp r2, #0
bge _080A12B2
mov r0, sb
adds r0, #0x6a
strh r6, [r0]
ldr r0, _080A136C @ =gPlayerState
adds r0, #0x27
movs r1, #0xff
strb r1, [r0]
mov r1, sb
adds r1, #0x68
ldrh r0, [r1]
subs r0, #1
strh r0, [r1]
lsls r0, r0, #0x10
cmp r0, #0
bgt _080A1370
movs r0, #0xe2
bl SoundReq
bl sub_08050384
b _080A1376
.align 2, 0
_080A136C: .4byte gPlayerState
_080A1370:
ldr r1, _080A1384 @ =gActiveScriptInfo
movs r0, #0
strb r0, [r1, #6]
_080A1376:
add sp, #8
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080A1384: .4byte gActiveScriptInfo
.syntax divided
@@ -1,315 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
ldr r0, _080784FC @ =gPossibleInteraction
ldrb r1, [r0]
mov r8, r0
cmp r1, #0
beq _08078500
ldr r0, [r0, #4]
b _0807876A
.align 2, 0
_080784FC: .4byte gPossibleInteraction
_08078500:
ldr r2, _08078528 @ =gPlayerState
adds r0, r2, #0
adds r0, #0x27
adds r3, r2, #0
adds r3, #0x26
ldrb r1, [r0]
ldrb r0, [r3]
orrs r0, r1
cmp r0, #0
bne _08078598
adds r1, r2, #0
adds r1, #0xa8
ldrb r0, [r1]
cmp r0, #0
bne _0807852C
adds r0, r2, #0
adds r0, #0xa9
ldrb r0, [r0]
b _0807852E
.align 2, 0
_08078528: .4byte gPlayerState
_0807852C:
ldrb r0, [r1]
_0807852E:
subs r0, #2
cmp r0, #0x14
bhi _080785B0
lsls r0, r0, #2
ldr r1, _08078540 @ =_08078544
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08078540: .4byte _08078544
_08078544: @ jump table
.4byte _08078598 @ case 0
.4byte _08078598 @ case 1
.4byte _080785B0 @ case 2
.4byte _080785B0 @ case 3
.4byte _080785B0 @ case 4
.4byte _080785B0 @ case 5
.4byte _080785B0 @ case 6
.4byte _080785B0 @ case 7
.4byte _080785B0 @ case 8
.4byte _080785B0 @ case 9
.4byte _080785B0 @ case 10
.4byte _080785B0 @ case 11
.4byte _080785B0 @ case 12
.4byte _080785B0 @ case 13
.4byte _080785B0 @ case 14
.4byte _080785B0 @ case 15
.4byte _08078598 @ case 16
.4byte _080785B0 @ case 17
.4byte _080785B0 @ case 18
.4byte _08078598 @ case 19
.4byte _08078598 @ case 20
_08078598:
movs r0, #0xff
mov r1, r8
strb r0, [r1, #3]
ldr r0, _080785AC @ =gNoInteraction
str r0, [r1, #4]
movs r1, #1
mov r2, r8
strb r1, [r2]
b _0807876A
.align 2, 0
_080785AC: .4byte gNoInteraction
_080785B0:
ldr r0, [r2, #0x30]
movs r1, #0x80
ands r0, r1
cmp r0, #0
bne _080785F0
bl HasDungeonSmallKey
cmp r0, #0
beq _080785C4
movs r0, #1
_080785C4:
adds r7, r0, #0
bl HasDungeonBigKey
cmp r0, #0
beq _080785D2
movs r0, #2
orrs r7, r0
_080785D2:
ldr r3, _080785E4 @ =gPlayerEntity
ldrb r0, [r3, #0x14]
movs r1, #6
ands r1, r0
ldr r0, _080785E8 @ =gPlayerInteractHitboxOffsetNormal
adds r2, r1, r0
ldr r5, _080785EC @ =gPossibleInteraction
mov r8, r5
b _080785FE
.align 2, 0
_080785E4: .4byte gPlayerEntity
_080785E8: .4byte gPlayerInteractHitboxOffsetNormal
_080785EC: .4byte gPossibleInteraction
_080785F0:
ldr r3, _08078624 @ =gPlayerEntity
ldrb r0, [r3, #0x14]
movs r1, #6
ands r1, r0
ldr r0, _08078628 @ =gPlayerInteractHitboxOffsetMinish
adds r2, r1, r0
movs r7, #0
_080785FE:
mov ip, r3
mov r0, ip
movs r3, #0x2e
ldrsh r1, [r0, r3]
movs r0, #0
ldrsb r0, [r2, r0]
adds r1, r1, r0
mov sl, r1
mov r5, ip
movs r0, #0x32
ldrsh r1, [r5, r0]
movs r0, #1
ldrsb r0, [r2, r0]
adds r1, r1, r0
mov sb, r1
movs r6, #0
ldr r5, _0807862C @ =gInteractableObjects
b _08078724
.align 2, 0
_08078624: .4byte gPlayerEntity
_08078628: .4byte gPlayerInteractHitboxOffsetMinish
_0807862C: .4byte gInteractableObjects
_08078630:
ldrb r1, [r5]
movs r3, #1
adds r0, r3, #0
ands r0, r1
cmp r0, #0
bne _0807864E
mov r0, ip
adds r0, #0x38
adds r1, r2, #0
adds r1, #0x38
ldrb r2, [r0]
ldrb r0, [r1]
ands r0, r2
cmp r0, #0
beq _08078714
_0807864E:
ldrb r1, [r5, #2]
mov r2, ip
ldrb r0, [r2, #0x14]
lsrs r0, r0, #1
asrs r1, r0
ands r1, r3
cmp r1, #0
bne _08078714
ldrb r0, [r5, #1]
cmp r0, #0xa
bhi _080786D4
lsls r0, r0, #2
ldr r1, _08078670 @ =_08078674
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08078670: .4byte _08078674
_08078674: @ jump table
.4byte _08078714 @ case 0
.4byte _080786A0 @ case 1
.4byte _080786C4 @ case 2
.4byte _080786A0 @ case 3
.4byte _080786A0 @ case 4
.4byte _080786C8 @ case 5
.4byte _080786CC @ case 6
.4byte _080786B4 @ case 7
.4byte _080786A0 @ case 8
.4byte _080786A0 @ case 9
.4byte _080786D4 @ case 10
_080786A0:
ldr r0, _080786B0 @ =gPlayerState
ldr r0, [r0, #0x30]
movs r1, #0x80
ands r0, r1
cmp r0, #0
bne _08078714
b _080786D4
.align 2, 0
_080786B0: .4byte gPlayerState
_080786B4:
ldr r0, _080786C0 @ =gPlayerState
ldr r0, [r0, #0x30]
movs r1, #0x80
ands r0, r1
b _080786D0
.align 2, 0
_080786C0: .4byte gPlayerState
_080786C4:
ldrb r0, [r5, #3]
b _080786D0
_080786C8:
movs r0, #1
b _080786CE
_080786CC:
movs r0, #2
_080786CE:
ands r0, r7
_080786D0:
cmp r0, #0
beq _08078714
_080786D4:
ldr r0, [r5, #8]
movs r1, #0x2e
ldrsh r3, [r0, r1]
movs r2, #0x32
ldrsh r4, [r0, r2]
ldr r1, [r5, #4]
cmp r1, #0
beq _080786F4
movs r0, #0
ldrsb r0, [r1, r0]
adds r3, r3, r0
movs r0, #1
ldrsb r0, [r1, r0]
adds r4, r4, r0
adds r2, r1, #2
b _080786F8
_080786F4:
ldr r0, [r0, #0x48]
adds r2, r0, #6
_080786F8:
ldrb r1, [r2]
mov r5, sl
adds r0, r1, r5
subs r0, r0, r3
lsls r1, r1, #1
cmp r0, r1
bhs _08078714
ldrb r1, [r2, #1]
mov r2, sb
adds r0, r1, r2
subs r0, r0, r4
lsls r1, r1, #1
cmp r0, r1
blo _0807873A
_08078714:
adds r6, #1
cmp r6, #0x1f
bhi _08078758
lsls r0, r6, #1
adds r0, r0, r6
lsls r0, r0, #2
ldr r3, _08078754 @ =gInteractableObjects
adds r5, r0, r3
_08078724:
ldr r2, [r5, #8]
cmp r2, #0
beq _08078714
adds r0, r2, #0
adds r0, #0x39
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
blt _0807873A
b _08078630
_0807873A:
cmp r6, #0x1f
bhi _08078758
mov r5, r8
strb r6, [r5, #3]
lsls r0, r6, #1
adds r0, r0, r6
lsls r0, r0, #2
mov r1, r8
adds r1, #8
adds r0, r0, r1
str r0, [r5, #4]
b _08078762
.align 2, 0
_08078754: .4byte gInteractableObjects
_08078758:
movs r0, #0xff
mov r1, r8
strb r0, [r1, #3]
ldr r0, _08078774 @ =gNoInteraction
str r0, [r1, #4]
_08078762:
movs r0, #1
mov r2, r8
strb r0, [r2]
ldr r0, [r2, #4]
_0807876A:
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08078774: .4byte gNoInteraction
.syntax divided
@@ -1,116 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
ldr r1, _080789BC @ =gCarriedEntity
ldrb r0, [r1]
cmp r0, #0
beq _080789C0
ldrb r0, [r1, #1]
b _08078A88
.align 2, 0
_080789BC: .4byte gCarriedEntity
_080789C0:
ldr r0, _08078A5C @ =gPlayerState
ldr r0, [r0, #0x30]
movs r1, #0x80
ands r0, r1
cmp r0, #0
bne _08078A56
ldr r0, _08078A60 @ =gPlayerEntity
bl GetCollisionDataAtEntity
adds r4, r0, #0
cmp r4, #0xf
bls _080789E6
ldr r0, _08078A64 @ =gUnk_080084BC
adds r1, r4, #0
subs r1, #0x10
adds r1, r1, r0
ldrb r0, [r1]
cmp r0, #0xf
beq _08078A56
_080789E6:
ldr r0, _08078A5C @ =gPlayerState
ldrb r0, [r0, #0x12]
cmp r0, #0x12
beq _08078A56
ldr r3, _08078A68 @ =gCarriedEntity
movs r0, #1
strb r0, [r3]
ldrb r4, [r3, #2]
cmp r4, #0
beq _08078A2E
ldr r2, _08078A60 @ =gPlayerEntity
ldrb r1, [r2, #0x14]
movs r0, #6
ands r0, r1
ldr r1, _08078A6C @ =gUnk_0811BFE0
adds r6, r0, r1
adds r7, r2, #0
adds r3, #8
mov r8, r3
_08078A0C:
lsls r0, r4, #2
mov r1, r8
adds r5, r0, r1
ldr r1, [r5]
cmp r1, #0
beq _08078A26
ldrb r2, [r6]
ldrb r3, [r6, #1]
adds r0, r7, #0
bl sub_0807A180
cmp r0, #0
bne _08078A74
_08078A26:
subs r4, #1
ldr r7, _08078A60 @ =gPlayerEntity
cmp r4, #0
bne _08078A0C
_08078A2E:
ldr r0, _08078A60 @ =gPlayerEntity
ldrb r1, [r0, #0x14]
movs r2, #6
ands r2, r1
ldr r1, _08078A70 @ =gUnk_08007DF4
adds r2, r2, r1
movs r1, #0
ldrsb r1, [r2, r1]
ldrb r2, [r2, #1]
lsls r2, r2, #0x18
asrs r2, r2, #0x18
bl sub_080B1A0C
ldr r4, _08078A68 @ =gCarriedEntity
strh r0, [r4, #4]
movs r1, #6
bl sub_0806FC24
cmp r0, #0
bne _08078A84
_08078A56:
movs r0, #0
b _08078A88
.align 2, 0
_08078A5C: .4byte gPlayerState
_08078A60: .4byte gPlayerEntity
_08078A64: .4byte gUnk_080084BC
_08078A68: .4byte gCarriedEntity
_08078A6C: .4byte gUnk_0811BFE0
_08078A70: .4byte gUnk_08007DF4
_08078A74:
mov r0, r8
subs r0, #8
ldr r1, [r5]
str r1, [r0, #8]
movs r1, #2
strb r1, [r0, #1]
movs r0, #2
b _08078A88
_08078A84:
movs r0, #1
strb r0, [r4, #1]
_08078A88:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
@@ -1,139 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
ldr r5, _08079344 @ =gPlayerEntity
adds r3, r5, #0
adds r3, #0x42
ldrb r0, [r3]
cmp r0, #0
beq _080793E0
ldrb r2, [r5, #0xc]
cmp r2, #0xb
beq _08079338
ldr r0, _08079348 @ =gPlayerState
ldrb r1, [r0, #0x1e]
adds r6, r0, #0
cmp r1, #0
bne _08079338
ldrb r0, [r6, #5]
subs r0, #1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #3
bls _08079338
ldrb r0, [r6, #2]
cmp r0, #0
bne _08079338
ldrb r0, [r6, #0x12]
cmp r0, #0xff
beq _08079338
ldrb r1, [r6, #7]
movs r0, #0x80
ands r0, r1
cmp r0, #0
bne _08079338
adds r0, r6, #0
adds r0, #0x26
ldrb r1, [r0]
movs r0, #0xf
ands r0, r1
subs r0, #1
cmp r0, #0
bgt _08079338
cmp r2, #3
beq _08079338
ldr r1, [r6, #0x30]
movs r0, #0x80
lsls r0, r0, #0xb
ands r1, r0
cmp r1, #0
beq _0807934C
_08079338:
adds r1, r5, #0
adds r1, #0x42
movs r0, #0
strb r0, [r1]
b _080793E0
.align 2, 0
_08079344: .4byte gPlayerEntity
_08079348: .4byte gPlayerState
_0807934C:
cmp r2, #0x1d
bne _0807935E
adds r0, r5, #0
adds r0, #0x3e
ldrb r0, [r0]
cmp r0, #0x10
beq _0807935E
strb r1, [r3]
b _080793E0
_0807935E:
adds r0, r5, #0
adds r0, #0x42
ldrb r3, [r0]
movs r1, #0
ldrsb r1, [r0, r1]
adds r2, r0, #0
cmp r1, #0
ble _08079372
subs r0, r3, #1
b _08079374
_08079372:
adds r0, r3, #1
_08079374:
strb r0, [r2]
ldrb r0, [r2]
cmp r0, #0
beq _080793E0
adds r4, r6, #0
ldrb r0, [r4, #7]
movs r1, #0xdf
ands r1, r0
strb r1, [r4, #7]
adds r0, r5, #0
adds r0, #0x3d
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
ble _080793CA
adds r0, r4, #0
adds r0, #0x26
ldrb r0, [r0]
cmp r0, #0
bne _080793CA
ldr r0, [r4, #0x30]
movs r1, #0x80
ands r0, r1
cmp r0, #0
bne _080793CA
ldrb r0, [r4, #2]
cmp r0, #0
bne _080793CA
bl ResetActiveItems
ldr r0, [r4, #0x30]
movs r1, #8
ands r0, r1
cmp r0, #0
bne _080793C4
movs r0, #0x8a
lsls r0, r0, #1
strh r0, [r4, #8]
b _080793CA
_080793C4:
movs r0, #0x83
lsls r0, r0, #3
strh r0, [r6, #8]
_080793CA:
movs r1, #0xa0
lsls r1, r1, #2
adds r4, r5, #0
adds r4, #0x3e
ldrb r2, [r4]
adds r0, r5, #0
bl sub_080027EA
ldrb r0, [r4]
bl sub_0807A5B8
_080793E0:
pop {r4, r5, r6, pc}
.align 2, 0
.syntax divided
@@ -1,257 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #4
adds r4, r0, #0
ldr r0, _0807A364 @ =gRoomControls
mov r8, r0
ldrb r0, [r0, #4]
cmp r0, #8
bne _0807A312
b _0807A4F2
_0807A312:
bl sub_08079778
orrs r0, r4
cmp r0, #0
bne _0807A31E
b _0807A4F2
_0807A31E:
ldr r7, _0807A368 @ =gPlayerEntity
ldrb r1, [r7, #0x14]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0807A36C
movs r1, #0x2e
ldrsh r2, [r7, r1]
mov r6, r8
ldrh r0, [r6, #6]
subs r2, r2, r0
asrs r2, r2, #4
movs r3, #0x3f
ands r2, r3
movs r0, #0x32
ldrsh r1, [r7, r0]
ldr r0, [r7, #0x48]
ldrb r5, [r0, #5]
adds r0, r1, r5
ldrh r4, [r6, #8]
subs r0, r0, r4
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r0, r2
lsls r7, r0, #1
subs r1, r1, r5
subs r1, r1, r4
asrs r1, r1, #4
ands r1, r3
lsls r1, r1, #6
orrs r2, r1
lsls r6, r2, #1
b _0807A3A2
.align 2, 0
_0807A364: .4byte gRoomControls
_0807A368: .4byte gPlayerEntity
_0807A36C:
movs r1, #0x2e
ldrsh r3, [r7, r1]
ldr r0, [r7, #0x48]
ldrb r6, [r0, #2]
adds r1, r3, r6
mov r2, r8
ldrh r5, [r2, #6]
subs r1, r1, r5
asrs r1, r1, #4
movs r4, #0x3f
ands r1, r4
movs r2, #0x32
ldrsh r0, [r7, r2]
mov r7, r8
ldrh r2, [r7, #8]
subs r0, r0, r2
asrs r0, r0, #4
ands r0, r4
lsls r0, r0, #6
orrs r1, r0
lsls r7, r1, #1
subs r3, r3, r6
subs r3, r3, r5
asrs r3, r3, #4
ands r3, r4
orrs r3, r0
lsls r6, r3, #1
_0807A3A2:
movs r0, #0
mov sb, r0
ldr r1, _0807A3F4 @ =gPlayerEntity
mov sl, r1
_0807A3AA:
movs r2, #0
mov r8, r2
mov r0, sl
mov r1, sp
adds r2, r7, #0
bl sub_08004202
adds r7, r0, #0
lsrs r4, r7, #1
adds r0, r4, #0
movs r1, #1
bl GetCollisionDataAtMetaTilePos
cmp r0, #0
beq _0807A3FC
lsls r0, r4, #0x10
lsrs r0, r0, #0x10
mov r1, sl
adds r1, #0x38
ldrb r1, [r1]
bl GetVvvAtMetaTilePos
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
mov r2, sl
ldrb r1, [r2, #0x14]
lsrs r1, r1, #1
lsls r1, r1, #2
ldr r2, _0807A3F8 @ =gUnk_0811C1D8
adds r1, r1, r2
ldr r1, [r1]
bl FindValueForKey
cmp r0, #0
beq _0807A468
b _0807A400
.align 2, 0
_0807A3F4: .4byte gPlayerEntity
_0807A3F8: .4byte gUnk_0811C1D8
_0807A3FC:
movs r0, #1
mov r8, r0
_0807A400:
ldr r5, _0807A444 @ =gPlayerEntity
adds r0, r5, #0
mov r1, sp
adds r2, r6, #0
bl sub_08004202
adds r6, r0, #0
lsrs r4, r6, #1
adds r0, r4, #0
movs r1, #1
bl GetCollisionDataAtMetaTilePos
cmp r0, #0
beq _0807A44C
lsls r0, r4, #0x10
lsrs r0, r0, #0x10
adds r1, r5, #0
adds r1, #0x38
ldrb r1, [r1]
bl GetVvvAtMetaTilePos
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
ldrb r1, [r5, #0x14]
lsrs r1, r1, #1
lsls r1, r1, #2
ldr r2, _0807A448 @ =gUnk_0811C1D8
adds r1, r1, r2
ldr r1, [r1]
bl FindValueForKey
cmp r0, #0
beq _0807A468
b _0807A450
.align 2, 0
_0807A444: .4byte gPlayerEntity
_0807A448: .4byte gUnk_0811C1D8
_0807A44C:
movs r0, #1
add r8, r0
_0807A450:
mov r1, r8
cmp r1, #2
bne _0807A45E
mov r2, sb
cmp r2, #0
bne _0807A46E
b _0807A4F2
_0807A45E:
movs r0, #1
add sb, r0
mov r1, sb
cmp r1, #1
bls _0807A3AA
_0807A468:
mov r2, sb
cmp r2, #0
beq _0807A4F2
_0807A46E:
bl AreaIsDungeon
cmp r0, #0
beq _0807A4B0
ldr r4, _0807A4AC @ =gPlayerEntity
adds r0, r4, #0
mov r1, sp
adds r2, r7, #0
bl sub_08004202
adds r7, r0, #0
lsrs r0, r7, #1
movs r1, #2
bl GetCollisionDataAtMetaTilePos
cmp r0, #0
bne _0807A4F2
adds r0, r4, #0
mov r1, sp
adds r2, r6, #0
bl sub_08004202
adds r6, r0, #0
lsrs r0, r6, #1
movs r1, #2
_0807A4A0:
bl GetCollisionDataAtMetaTilePos
cmp r0, #0
beq _0807A4EC
b _0807A4F2
.align 2, 0
_0807A4AC: .4byte gPlayerEntity
_0807A4B0:
mov r0, sb
cmp r0, #2
bne _0807A4C2
ldr r0, _0807A4E8 @ =gPlayerEntity
mov r1, sp
adds r2, r7, #0
bl sub_08004202
adds r7, r0, #0
_0807A4C2:
lsrs r0, r7, #1
movs r1, #1
bl GetCollisionDataAtMetaTilePos
cmp r0, #0
bne _0807A4F2
mov r1, sb
cmp r1, #2
bne _0807A4E0
ldr r0, _0807A4E8 @ =gPlayerEntity
mov r1, sp
adds r2, r6, #0
bl sub_08004202
adds r6, r0, #0
_0807A4E0:
lsrs r0, r6, #1
movs r1, #1
b _0807A4A0
.align 2, 0
_0807A4E8: .4byte gPlayerEntity
_0807A4EC:
mov r0, sb
adds r0, #1
b _0807A4F4
_0807A4F2:
movs r0, #0
_0807A4F4:
add sp, #4
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.syntax divided
@@ -1,123 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
bl ClearBgAnimations
bl sub_0807BFA8
ldr r7, _0807C0B8 @ =0x0000FFFF
ldr r6, _0807C0BC @ =gMapBottom+0x5004
movs r0, #0x80
lsls r0, r0, #5
mov r8, r0
adds r0, r7, #0
adds r1, r6, #0
mov r2, r8
bl MemFill16
movs r5, #0
strh r5, [r6]
ldr r4, _0807C0C0 @ =gMapTop+0x5004
adds r0, r7, #0
adds r1, r4, #0
mov r2, r8
bl MemFill16
strh r5, [r4]
ldr r2, _0807C0C4 @ =gRoomControls
ldr r0, _0807C0C8 @ =gArea
ldr r1, _0807C0CC @ =0x0000085C
adds r4, r0, r1
ldr r0, [r4]
ldr r1, [r2, #0x34]
ldr r0, [r0, #8]
cmp r1, r0
beq _0807C01C
str r0, [r2, #0x34]
bl LoadMapData
_0807C01C:
ldr r0, [r4]
ldr r0, [r0, #0x10]
bl LoadMapData
ldr r1, _0807C0D0 @ =gPaletteBuffer
adds r0, r1, #0
adds r0, #0x60
movs r2, #0xa8
lsls r2, r2, #2
adds r1, r1, r2
movs r2, #0x20
bl MemCopy
ldr r2, _0807C0D4 @ =gUsedPalettes
ldr r0, [r2]
movs r1, #0x80
lsls r1, r1, #0xe
orrs r0, r1
str r0, [r2]
ldr r0, [r4]
ldr r0, [r0, #0x14]
cmp r0, #0
beq _0807C04E
bl LoadBgAnimations
_0807C04E:
adds r5, r6, #0
movs r0, #0x80
lsls r0, r0, #5
adds r6, r5, r0
adds r0, r7, #0
adds r1, r6, #0
mov r2, r8
bl MemFill16
movs r2, #0
ldr r3, _0807C0D8 @ =0x000007FF
adds r4, r7, #0
_0807C066:
ldrh r0, [r5]
cmp r0, r3
bhi _0807C078
lsls r0, r0, #1
adds r1, r0, r6
ldrh r0, [r1]
cmp r0, r4
bne _0807C078
strh r2, [r1]
_0807C078:
adds r2, #1
adds r5, #2
cmp r2, r3
ble _0807C066
movs r2, #0x80
lsls r2, r2, #5
ldr r5, _0807C0C0 @ =gMapTop+0x5004
adds r6, r5, r2
ldr r4, _0807C0B8 @ =0x0000FFFF
adds r0, r4, #0
adds r1, r6, #0
bl MemFill16
movs r2, #0
ldr r3, _0807C0D8 @ =0x000007FF
_0807C096:
ldrh r0, [r5]
cmp r0, r3
bhi _0807C0A8
lsls r0, r0, #1
adds r1, r0, r6
ldrh r0, [r1]
cmp r0, r4
bne _0807C0A8
strh r2, [r1]
_0807C0A8:
adds r2, #1
adds r5, #2
cmp r2, r3
ble _0807C096
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807C0B8: .4byte 0x0000FFFF
_0807C0BC: .4byte gMapBottom+0x5004
_0807C0C0: .4byte gMapTop+0x5004
_0807C0C4: .4byte gRoomControls
_0807C0C8: .4byte gArea
_0807C0CC: .4byte 0x0000085C
_0807C0D0: .4byte gPaletteBuffer
_0807C0D4: .4byte gUsedPalettes
_0807C0D8: .4byte 0x000007FF
.syntax divided
@@ -1,98 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
mov r8, r0
adds r4, r1, #0
mov ip, r2
mov r0, ip
muls r0, r4, r0
lsls r0, r0, #1
add r0, r8
subs r7, r0, #2
mov r0, ip
subs r0, #1
lsls r0, r0, #7
add r0, r8
lsls r3, r4, #1
subs r1, r3, #2
adds r0, r0, r1
movs r5, #0
cmp r5, ip
bhs _0807C906
mov sb, r3
_0807C8DE:
movs r2, #0
adds r6, r0, #0
subs r6, #0x80
cmp r2, r4
bhs _0807C8FA
adds r1, r7, #0
adds r3, r0, #0
_0807C8EC:
ldrh r0, [r1]
strh r0, [r3]
subs r1, #2
subs r3, #2
adds r2, #1
cmp r2, r4
blo _0807C8EC
_0807C8FA:
adds r0, r6, #0
mov r1, sb
subs r7, r7, r1
adds r5, #1
cmp r5, ip
blo _0807C8DE
_0807C906:
movs r0, #0x40
subs r6, r0, r4
movs r5, #0
lsls r0, r4, #1
mov r2, ip
lsls r7, r2, #7
mov r2, r8
adds r1, r2, r0
_0807C916:
lsls r0, r5, #7
adds r0, r1, r0
movs r2, #0
adds r3, r5, #1
cmp r2, r6
bhs _0807C92E
movs r4, #0
_0807C924:
strh r4, [r0]
adds r0, #2
adds r2, #1
cmp r2, r6
blo _0807C924
_0807C92E:
adds r5, r3, #0
cmp r5, #0x3f
bls _0807C916
movs r0, #0x40
mov r1, ip
subs r6, r0, r1
mov r2, r8
adds r0, r2, r7
movs r5, #0
cmp r5, r6
bhs _0807C956
adds r4, r0, #0
_0807C946:
adds r0, r4, #0
movs r1, #0x80
bl MemClear
adds r4, #0x80
adds r5, #1
cmp r5, r6
blo _0807C946
_0807C956:
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
-290
View File
@@ -1,290 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #0x38
ldr r1, _080804F0 @ =gRoomControls
movs r2, #0xa
ldrsh r0, [r1, r2]
ldrh r2, [r1, #6]
subs r0, r0, r2
str r0, [sp, #0x18]
ldr r3, [r1, #0x30]
movs r4, #0x2e
ldrsh r0, [r3, r4]
subs r0, r0, r2
str r0, [sp, #0x10]
movs r2, #0xc
ldrsh r0, [r1, r2]
ldrh r1, [r1, #8]
subs r0, r0, r1
str r0, [sp, #0x1c]
movs r4, #0x32
ldrsh r0, [r3, r4]
subs r0, r0, r1
str r0, [sp, #0x14]
movs r0, #0x3c
str r0, [sp, #8]
_08080408:
movs r7, #0
ldr r1, [sp, #8]
adds r1, #6
str r1, [sp, #8]
adds r2, r1, #0
muls r2, r1, r2
mov sl, r2
lsls r4, r1, #1
adds r0, r4, #0
movs r1, #3
bl __divsi3
str r0, [sp, #0xc]
adds r1, r0, #0
muls r1, r0, r1
mov sb, r1
movs r2, #0
str r2, [sp, #4]
rsbs r4, r4, #0
adds r4, #1
mov r0, sb
muls r0, r4, r0
mov r4, sl
lsls r5, r4, #1
adds r4, r0, r5
ldr r0, [sp, #8]
mov r6, sb
muls r6, r0, r6
adds r0, r6, #0
mov r1, sl
bl __divsi3
adds r2, r0, #0
cmp r7, r2
bgt _08080506
ldr r1, [sp, #0x18]
adds r1, #0xf8
str r1, [sp, #0x20]
mov r1, sl
adds r0, r5, r1
lsls r3, r0, #1
str r6, [sp, #0x2c]
ldr r0, [sp, #8]
lsls r1, r0, #2
rsbs r1, r1, #0
adds r1, #4
mov r8, r1
rsbs r0, r0, #0
adds r0, #8
ldr r1, [sp, #0x10]
adds r6, r0, r1
ldr r0, [sp, #8]
adds r5, r0, r1
mov r0, r8
mov r1, sb
muls r1, r0, r1
mov r8, r1
_0808047A:
ldr r1, [sp, #0x1c]
adds r1, #0xa8
mov ip, r1
ldr r0, [sp, #0x14]
ldr r1, [sp, #4]
adds r0, r0, r1
str r0, [sp, #0x34]
cmp ip, r0
ble _080804A0
ldr r0, [sp, #0x20]
cmp r0, r5
ble _08080496
movs r0, #1
orrs r7, r0
_08080496:
ldr r1, [sp, #0x18]
cmp r1, r6
bge _080804A0
movs r0, #2
orrs r7, r0
_080804A0:
ldr r0, [sp, #0x14]
ldr r1, [sp, #4]
subs r0, r0, r1
mov ip, r0
adds r0, #8
ldr r1, [sp, #0x1c]
cmp r1, r0
bge _080804C4
ldr r0, [sp, #0x20]
cmp r0, r5
ble _080804BA
movs r0, #4
orrs r7, r0
_080804BA:
ldr r1, [sp, #0x18]
cmp r1, r6
bge _080804C4
movs r0, #8
orrs r7, r0
_080804C4:
cmp r4, #0
ble _080804F4
mov r2, r8
adds r0, r2, r3
adds r4, r4, r0
ldr r0, [sp, #0x2c]
mov r1, sb
subs r0, r0, r1
str r0, [sp, #0x2c]
lsls r0, r1, #2
add r8, r0
adds r6, #1
subs r5, #1
ldr r0, [sp, #0x2c]
mov r1, sl
str r3, [sp, #0x30]
bl __divsi3
adds r2, r0, #0
ldr r3, [sp, #0x30]
b _080804F6
.align 2, 0
_080804F0: .4byte gRoomControls
_080804F4:
adds r4, r4, r3
_080804F6:
mov r1, sl
lsls r0, r1, #2
adds r3, r3, r0
ldr r0, [sp, #4]
adds r0, #1
str r0, [sp, #4]
cmp r0, r2
ble _0808047A
_08080506:
movs r1, #0
str r1, [sp]
ldr r2, [sp, #0xc]
str r2, [sp, #4]
mov r4, sb
lsls r6, r4, #1
lsls r0, r2, #1
rsbs r0, r0, #0
adds r0, #1
mov r1, sl
muls r1, r0, r1
adds r0, r1, #0
adds r4, r6, r0
mov r5, sl
muls r5, r2, r5
adds r0, r5, #0
mov r1, sb
bl __divsi3
adds r2, r0, #0
ldr r0, [sp]
cmp r0, r2
bgt _080805E4
ldr r1, [sp, #0x18]
adds r1, #0xf8
str r1, [sp, #0x24]
mov r1, sb
adds r0, r6, r1
lsls r0, r0, #1
mov r8, r0
ldr r3, [sp, #0x10]
adds r3, #8
ldr r6, [sp, #0x10]
str r5, [sp, #0x28]
ldr r1, [sp, #4]
lsls r0, r1, #2
rsbs r0, r0, #0
adds r0, #4
mov r5, sl
muls r5, r0, r5
_08080556:
ldr r0, [sp, #0x1c]
adds r0, #0xa8
mov ip, r0
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
adds r1, r1, r0
str r1, [sp, #0x34]
cmp ip, r1
ble _0808057C
ldr r1, [sp, #0x24]
cmp r1, r6
ble _08080572
movs r0, #0x10
orrs r7, r0
_08080572:
ldr r0, [sp, #0x18]
cmp r0, r3
bge _0808057C
movs r0, #0x20
orrs r7, r0
_0808057C:
ldr r1, [sp, #0x14]
ldr r0, [sp, #4]
subs r1, r1, r0
mov ip, r1
mov r0, ip
adds r0, #8
ldr r1, [sp, #0x1c]
cmp r1, r0
bge _080805A2
ldr r0, [sp, #0x24]
cmp r0, r6
ble _08080598
movs r0, #0x40
orrs r7, r0
_08080598:
ldr r1, [sp, #0x18]
cmp r1, r3
bge _080805A2
movs r0, #0x80
orrs r7, r0
_080805A2:
cmp r4, #0
ble _080805CE
mov r2, r8
adds r0, r2, r5
adds r4, r4, r0
ldr r0, [sp, #0x28]
mov r1, sl
subs r0, r0, r1
str r0, [sp, #0x28]
lsls r0, r1, #2
adds r5, r5, r0
ldr r2, [sp, #4]
subs r2, #1
str r2, [sp, #4]
ldr r0, [sp, #0x28]
mov r1, sb
str r3, [sp, #0x30]
bl __divsi3
adds r2, r0, #0
ldr r3, [sp, #0x30]
b _080805D0
_080805CE:
add r4, r8
_080805D0:
mov r1, sb
lsls r0, r1, #2
add r8, r0
subs r3, #1
adds r6, #1
ldr r0, [sp]
adds r0, #1
str r0, [sp]
cmp r0, r2
ble _08080556
_080805E4:
cmp r7, #0
beq _080805EA
b _08080408
_080805EA:
ldr r0, [sp, #8]
add sp, #0x38
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.syntax divided
-138
View File
@@ -1,138 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
mov sl, r0
mov r8, r1
lsls r0, r1, #4
movs r1, #0xa0
lsls r1, r1, #1
adds r0, r0, r1
mov ip, r0
mov r2, sl
lsls r0, r2, #4
adds r3, r0, r1
ldr r1, _080AE30C @ =gGFXSlots
lsls r0, r2, #1
add r0, sl
lsls r0, r0, #2
adds r0, r0, r1
ldrb r0, [r0, #5]
lsls r0, r0, #4
adds r7, r3, r0
movs r4, #0
ldr r6, _080AE310 @ =gUnk_020000C0
mov sb, r6
ldr r0, _080AE314 @ =gPlayerEntity
adds r2, r0, #0
adds r2, #0x26
adds r5, r0, #0
_080AE254:
ldr r0, [r5, #4]
cmp r0, #0
beq _080AE276
ldrb r0, [r2]
cmp sl, r0
bne _080AE264
mov r1, r8
strb r1, [r2]
_080AE264:
ldrh r0, [r2, #0x3a]
cmp r3, r0
bhi _080AE276
cmp r7, r0
bls _080AE276
subs r0, r0, r3
mov r6, ip
adds r1, r0, r6
strh r1, [r2, #0x3a]
_080AE276:
adds r2, #0x88
adds r5, #0x88
adds r4, #1
cmp r4, #0x4f
bls _080AE254
movs r0, #0
_080AE282:
movs r4, #0
adds r1, r0, #1
mov r8, r1
lsls r5, r0, #6
_080AE28A:
lsls r0, r4, #4
add r0, sb
adds r2, r5, r0
ldrb r1, [r2]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _080AE2B4
movs r0, #2
ands r0, r1
cmp r0, #0
bne _080AE2B4
ldrh r1, [r2, #0xa]
cmp r3, r1
bhi _080AE2B4
cmp r7, r1
bls _080AE2B4
subs r0, r1, r3
mov r6, ip
adds r1, r0, r6
strh r1, [r2, #0xa]
_080AE2B4:
adds r4, #1
cmp r4, #3
bls _080AE28A
mov r0, r8
cmp r0, #0x2f
bls _080AE282
movs r4, #0
ldr r0, _080AE318 @ =0xFFFFFC00
mov sl, r0
ldr r5, _080AE31C @ =gOAMControls
adds r5, #0x24
ldr r1, _080AE320 @ =0x000003FF
mov sb, r1
movs r2, #1
mov r8, r2
_080AE2D2:
ldrh r2, [r5]
lsls r0, r2, #0x16
lsrs r1, r0, #0x16
cmp r3, r1
bhi _080AE2F8
cmp r7, r1
bls _080AE2F8
subs r0, r1, r3
mov r6, ip
adds r1, r0, r6
mov r0, sb
ands r1, r0
mov r0, sl
ands r0, r2
orrs r0, r1
strh r0, [r5]
mov r2, r8
ldr r1, _080AE31C @ =gOAMControls
strb r2, [r1]
_080AE2F8:
adds r5, #8
adds r4, #1
cmp r4, #0x7f
bls _080AE2D2
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080AE30C: .4byte gGFXSlots
_080AE310: .4byte gUnk_020000C0
_080AE314: .4byte gPlayerEntity
_080AE318: .4byte 0xFFFFFC00
_080AE31C: .4byte gOAMControls
_080AE320: .4byte 0x000003FF
.syntax divided
-570
View File
@@ -1,570 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@
@ Please leave this file as a tutorial.
@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
thumb_func_start EvilSpirit
EvilSpirit: @ 0x08086284
push {r4, lr}
adds r4, r0, #0
ldr r1, _080862B4 @ =gUnk_08120668
ldrb r0, [r4, #0xc]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
adds r1, r4, #0
adds r1, #0x41
movs r0, #0
strb r0, [r1]
adds r0, r4, #0
adds r0, #0x76
ldrh r1, [r0]
adds r0, #4
ldrh r2, [r0]
adds r0, r4, #0
movs r3, #0
bl SetAffineInfo
pop {r4, pc}
.align 2, 0
_080862B4: .4byte gUnk_08120668
thumb_func_start sub_080862B8
sub_080862B8: @ 0x080862B8
push {r4, r5, lr}
adds r4, r0, #0
movs r0, #0x63
bl CheckLocalFlag
cmp r0, #0
beq _080862CA
bl DeleteThisEntity
_080862CA:
movs r3, #1
strb r3, [r4, #0xc]
ldr r1, _08086350 @ =gUnk_08120678
ldrb r0, [r4, #0xa]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r0, [r0]
adds r1, r4, #0
adds r1, #0x7c
strh r0, [r1]
adds r2, r4, #0
adds r2, #0x76
strh r0, [r2]
ldrh r0, [r1]
subs r1, #2
strh r0, [r1]
ldrb r0, [r4, #0xa]
cmp r0, #0
bne _08086354
adds r1, #6
ldr r0, [r4, #0x2c]
str r0, [r1]
adds r1, #4
ldr r0, [r4, #0x30]
str r0, [r1]
ldrb r1, [r4, #0x19]
movs r0, #0x3f
ands r0, r1
strb r0, [r4, #0x19]
str r4, [r4, #0x50]
ldrb r0, [r4, #0x10]
movs r1, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
adds r1, r4, #0
adds r1, #0x3c
movs r0, #7
strb r0, [r1]
adds r0, r4, #0
adds r0, #0x3f
strb r3, [r0]
subs r1, #1
movs r0, #4
strb r0, [r1]
movs r2, #0
_08086324:
adds r5, r2, #1
adds r0, r4, #0
movs r1, #0x18
adds r2, r5, #0
movs r3, #0
bl CreateObjectWithParent
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
beq _08086346
ldr r0, [r4, #0x50]
str r0, [r1, #0x50]
ldr r0, [r4, #0x54]
str r4, [r0, #0x54]
ldr r0, [r4, #0x54]
str r0, [r4, #0x50]
_08086346:
adds r2, r5, #0
cmp r2, #3
bls _08086324
b _08086360
.align 2, 0
_08086350: .4byte gUnk_08120678
_08086354:
ldrb r0, [r4, #0x19]
movs r1, #0x3f
ands r1, r0
movs r0, #0x40
orrs r1, r0
strb r1, [r4, #0x19]
_08086360:
ldrb r1, [r4, #0xa]
adds r0, r4, #0
bl InitializeAnimation
adds r0, r4, #0
bl sub_08086370
pop {r4, r5, pc}
thumb_func_start sub_08086370
sub_08086370: @ 0x08086370
push {r4, r5, r6, lr}
adds r6, r0, #0
ldrb r2, [r6, #0xa]
cmp r2, #0
beq _08086440
ldr r0, [r6, #0x54]
adds r0, #0x7f
ldrb r0, [r0]
cmp r0, #0
bne _080863B6
adds r1, r6, #0
adds r1, #0x7c
ldrh r0, [r1]
adds r2, r6, #0
adds r2, #0x76
strh r0, [r2]
ldrh r0, [r1]
subs r1, #2
strh r0, [r1]
movs r0, #0xc0
lsls r0, r0, #2
strh r0, [r6, #0x24]
ldr r2, [r6, #0x50]
ldr r0, [r2, #0x2c]
ldr r1, [r6, #0x2c]
subs r0, r0, r1
ldr r1, [r2, #0x30]
ldr r2, [r6, #0x30]
subs r1, r1, r2
bl CalculateDirectionFromOffsets
movs r1, #0x80
eors r0, r1
strb r0, [r6, #0x15]
b _08086428
_080863B6:
movs r0, #0xc0
lsls r0, r0, #3
strh r0, [r6, #0x24]
ldr r2, _080863E8 @ =gPlayerEntity
ldr r0, [r2, #0x2c]
ldr r1, [r6, #0x2c]
subs r0, r0, r1
ldr r1, [r2, #0x30]
ldr r2, [r6, #0x30]
subs r1, r1, r2
bl CalculateDirectionFromOffsets
adds r1, r0, #0
movs r0, #0x80
eors r1, r0
ldrb r2, [r6, #0x15]
cmp r1, r2
beq _080863F0
subs r0, r1, r2
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x80
bls _080863EC
adds r0, r2, #3
b _080863EE
.align 2, 0
_080863E8: .4byte gPlayerEntity
_080863EC:
subs r0, r2, #3
_080863EE:
strb r0, [r6, #0x15]
_080863F0:
ldr r0, _0808640C @ =gPlayerEntity
ldrb r1, [r0, #0x14]
movs r0, #2
ands r0, r1
cmp r0, #0
bne _08086410
adds r0, r6, #0
adds r0, #0x7c
ldrh r0, [r0]
adds r0, #0x40
adds r1, r6, #0
adds r1, #0x76
b _08086426
.align 2, 0
_0808640C: .4byte gPlayerEntity
_08086410:
adds r0, r6, #0
adds r0, #0x7c
ldrh r1, [r0]
subs r1, #0x20
adds r2, r6, #0
adds r2, #0x76
strh r1, [r2]
ldrh r0, [r0]
adds r0, #0x50
adds r1, r6, #0
adds r1, #0x7a
_08086426:
strh r0, [r1]
_08086428:
ldr r1, [r6, #0x50]
ldr r0, [r1, #0x2c]
str r0, [r6, #0x2c]
ldr r0, [r1, #0x30]
str r0, [r6, #0x30]
movs r0, #0x24
ldrsh r1, [r6, r0]
ldrb r2, [r6, #0x15]
adds r0, r6, #0
bl LinearMoveAngle
b _0808654A
_08086440:
adds r0, r6, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x7f
ands r0, r1
cmp r0, #0x13
bne _08086498
ldrb r0, [r6, #0x15]
adds r0, #1
strb r0, [r6, #0x15]
ldrb r0, [r6, #0x1d]
subs r0, #1
strb r0, [r6, #0x1d]
adds r2, r6, #0
adds r2, #0x7f
movs r0, #1
strb r0, [r2]
ldr r0, _08086480 @ =gPlayerEntity
ldrb r1, [r0, #0x14]
movs r0, #2
ands r0, r1
adds r3, r2, #0
cmp r0, #0
bne _08086484
adds r0, r6, #0
adds r0, #0x7c
ldrh r0, [r0]
adds r0, #0x10
adds r1, r6, #0
adds r1, #0x76
strh r0, [r1]
b _080864BC
.align 2, 0
_08086480: .4byte gPlayerEntity
_08086484:
adds r1, r6, #0
adds r1, #0x7c
ldrh r0, [r1]
subs r0, #0x20
adds r2, r6, #0
adds r2, #0x76
strh r0, [r2]
ldrh r0, [r1]
adds r0, #0x30
b _080864B6
_08086498:
ldrb r0, [r6, #0x15]
adds r0, #2
strb r0, [r6, #0x15]
movs r0, #0xf0
strb r0, [r6, #0x1d]
adds r3, r6, #0
adds r3, #0x7f
strb r2, [r3]
adds r1, r6, #0
adds r1, #0x7c
ldrh r0, [r1]
adds r2, r6, #0
adds r2, #0x76
strh r0, [r2]
ldrh r0, [r1]
_080864B6:
subs r1, #2
strh r0, [r1]
adds r1, r2, #0
_080864BC:
ldrb r2, [r6, #0x1d]
cmp r2, #0
bne _080864CA
movs r0, #2
strb r0, [r6, #0xc]
strb r2, [r3]
b _0808654A
_080864CA:
ldrb r0, [r6, #0x15]
adds r0, #0x40
lsls r0, r0, #0x18
cmp r0, #0
blt _080864E0
ldrh r2, [r1]
movs r3, #0
ldrsh r0, [r1, r3]
cmp r0, #0
ble _080864EE
b _080864EA
_080864E0:
ldrh r2, [r1]
movs r3, #0
ldrsh r0, [r1, r3]
cmp r0, #0
bge _080864EE
_080864EA:
rsbs r0, r2, #0
strh r0, [r1]
_080864EE:
ldr r5, _0808654C @ =gSineTable
ldrb r0, [r6, #0x15]
lsls r0, r0, #1
adds r0, r0, r5
movs r1, #0
ldrsh r0, [r0, r1]
movs r1, #0x80
lsls r1, r1, #6
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r4, #0x80
lsls r4, r4, #1
adds r1, r4, #0
bl FixedDiv
adds r1, r6, #0
adds r1, #0x80
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r1]
adds r1, r1, r0
str r1, [r6, #0x2c]
ldrb r0, [r6, #0x15]
adds r0, #0x40
lsls r0, r0, #1
adds r0, r0, r5
movs r3, #0
ldrsh r0, [r0, r3]
movs r1, #0x80
lsls r1, r1, #5
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r4, #0
bl FixedDiv
adds r1, r6, #0
adds r1, #0x84
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r1]
subs r1, r1, r0
str r1, [r6, #0x30]
_0808654A:
pop {r4, r5, r6, pc}
.align 2, 0
_0808654C: .4byte gSineTable
thumb_func_start sub_08086550
sub_08086550: @ 0x08086550
push {r4, r5, lr}
adds r4, r0, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x7f
ands r0, r1
cmp r0, #0x13
beq _08086566
movs r0, #3
strb r0, [r4, #0xc]
b _08086592
_08086566:
adds r0, r4, #0
bl sub_0806F3E4
cmp r0, #0
beq _08086592
movs r0, #0x63
bl SetLocalFlag
movs r0, #0
bl SetRoomFlag
movs r5, #0
_0808657E:
ldr r0, [r4, #0x54]
ldr r1, [r0, #0x50]
str r1, [r4, #0x54]
bl DeleteEntity
adds r5, #1
cmp r5, #3
bls _0808657E
bl DeleteThisEntity
_08086592:
pop {r4, r5, pc}
thumb_func_start sub_08086594
sub_08086594: @ 0x08086594
push {r4, r5, r6, r7, lr}
adds r7, r0, #0
adds r0, #0x80
ldr r0, [r0]
ldr r1, [r7, #0x2c]
subs r0, r0, r1
adds r1, r7, #0
adds r1, #0x84
ldr r1, [r1]
ldr r2, [r7, #0x30]
subs r1, r1, r2
bl CalculateDirectionFromOffsets
strb r0, [r7, #0x15]
adds r0, r7, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x7f
ands r0, r1
cmp r0, #0x13
bne _08086608
movs r0, #0x80
lsls r0, r0, #1
strh r0, [r7, #0x24]
ldrb r0, [r7, #0x1d]
subs r0, #1
strb r0, [r7, #0x1d]
adds r2, r7, #0
adds r2, #0x7f
movs r0, #1
strb r0, [r2]
ldr r0, _080865EC @ =gPlayerEntity
ldrb r1, [r0, #0x14]
movs r0, #2
ands r0, r1
cmp r0, #0
bne _080865F0
adds r0, r7, #0
adds r0, #0x7c
ldrh r0, [r0]
adds r0, #0x10
adds r1, r7, #0
adds r1, #0x76
b _0808662A
.align 2, 0
_080865EC: .4byte gPlayerEntity
_080865F0:
adds r0, r7, #0
adds r0, #0x7c
ldrh r1, [r0]
subs r1, #0x20
adds r3, r7, #0
adds r3, #0x76
strh r1, [r3]
ldrh r0, [r0]
adds r0, #0x30
adds r1, r7, #0
adds r1, #0x7a
b _0808662A
_08086608:
movs r1, #0
movs r0, #0x80
lsls r0, r0, #2
strh r0, [r7, #0x24]
movs r0, #0xf0
strb r0, [r7, #0x1d]
adds r2, r7, #0
adds r2, #0x7f
strb r1, [r2]
adds r1, r7, #0
adds r1, #0x7c
ldrh r0, [r1]
adds r3, r7, #0
adds r3, #0x76
strh r0, [r3]
ldrh r0, [r1]
subs r1, #2
_0808662A:
strh r0, [r1]
ldrb r1, [r7, #0x1d]
cmp r1, #0
bne _0808663A
movs r0, #2
strb r0, [r7, #0xc]
strb r1, [r2]
b _080866B8
_0808663A:
movs r0, #0x24
ldrsh r1, [r7, r0]
ldrb r2, [r7, #0x15]
adds r0, r7, #0
bl LinearMoveAngle
ldrb r0, [r7, #0x15]
movs r1, #0x80
eors r0, r1
strb r0, [r7, #0x15]
ldr r6, _080866BC @ =gSineTable
ldrb r0, [r7, #0x15]
lsls r0, r0, #1
adds r0, r0, r6
movs r1, #0
ldrsh r0, [r0, r1]
movs r1, #0x80
lsls r1, r1, #6
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r5, #0x80
lsls r5, r5, #1
adds r1, r5, #0
bl FixedDiv
adds r1, r7, #0
adds r1, #0x80
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r4, [r1]
adds r4, r4, r0
ldrb r0, [r7, #0x15]
adds r0, #0x40
lsls r0, r0, #1
adds r0, r0, r6
movs r1, #0
ldrsh r0, [r0, r1]
movs r1, #0x80
lsls r1, r1, #5
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r5, #0
bl FixedDiv
adds r1, r7, #0
adds r1, #0x84
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r2, [r1]
subs r2, r2, r0
adds r0, r7, #0
adds r1, r4, #0
movs r3, #2
bl EntityWithinDistance
cmp r0, #0
beq _080866B8
movs r0, #1
strb r0, [r7, #0xc]
_080866B8:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080866BC: .4byte gSineTable