Merge branch 'master' into sub_0807CA18

This commit is contained in:
Ibot02
2021-10-25 13:35:56 +02:00
390 changed files with 14082 additions and 27769 deletions
+9 -7
View File
@@ -1,23 +1,25 @@
# The Legend of Zelda: The Minish Cap
**Progress:** [⬛⬛⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 30%
**Progress:** [⬛⬛⬛⬛⬛⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 45%
```diff
- WARNING! -
The ROM this repository builds cannot be 'shifted', primarily due to some hardcoded pointers which have yet
to be dumped. Thus this repository is currently in an experimental and research phase and cannot yet be used
traditionally as a source code base for general changes.
This repository is a work in progress, and while it can be used to make certain changes, it's still
constantly evolving. If you use it for modding purposes in its current state, please be aware that
the codebase can drastically change at any time. Also note that some parts of the ROM may not be
'shiftable' yet, so modifying them could be difficult at this point.
```
This is a WIP decompilation of The Legend of Zelda: The Minish Cap.
The purpose of the project is to recreate a source code base for the game from scratch, using information found inside the game along with static and/or dynamic analysis.
The only build currently supported is `The Legend of Zelda: The Minish Cap (USA)`, but other versions are planned to be supported.
It builds the following ROM:
It can target the following ROMs:
* [**tmc.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=1841) `sha1: b4bd50e4131b027c334547b4524e2dbbd4227130`
* [**tmc_jp.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=1719) `sha1: 6c5404a1effb17f481f352181d0f1c61a2765c5d`
* [**tmc_eu.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=1734) `sha1: cff199b36ff173fb6faf152653d1bccf87c26fb7`
* [**tmc_demo.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=x051) `sha1: 63fcad218f9047b6a9edbb68c98bd0dec322d7a1`
**Note:** This repository does not include any of the assets necessary to build the ROM.
A prior copy of the game is required to extract the needed assets.
+1 -1
View File
@@ -71,7 +71,7 @@ sub_0803E580: @ 0x0803E580
adds r0, r5, #0
movs r1, #0x19
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
cmp r0, #0
beq _0803E5E4
str r5, [r0, #0x50]
+1 -1
View File
@@ -344,7 +344,7 @@ _0803C46C:
lsrs r2, r2, #0x19
adds r0, r4, #0
movs r1, #0xd
bl sub_0804A98C
bl CreateProjectileWithParent
adds r2, r0, #0
cmp r2, #0
beq _0803C49A
+1 -1
View File
@@ -261,7 +261,7 @@ _08045D60:
adds r0, r4, #0
movs r1, #4
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
cmp r1, #0
beq _08045DF8
+4 -4
View File
@@ -2202,14 +2202,14 @@ _0801E8BC:
bl sub_0801E810
cmp r0, #0
bne _0801E93A
ldr r1, _0801E8F4 @ =0x080C9A5C
ldr r1, _0801E8F4 @ =gUnk_080FC3E4
lsls r0, r4, #3
adds r0, r0, r1
ldrb r1, [r0, #4]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #2
ldr r1, _0801E8F8 @ =0x080FDFD0
ldr r1, _0801E8F8 @ =gUnk_080FE320
adds r2, r0, r1
ldrb r0, [r2, #0x10]
cmp r0, #4
@@ -2220,8 +2220,8 @@ _0801E8BC:
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0801E8F4: .4byte 0x080C9A5C
_0801E8F8: .4byte 0x080FDFD0
_0801E8F4: .4byte gUnk_080C9CBC
_0801E8F8: .4byte gUnk_080FE320
_0801E8FC: .4byte _0801E900
_0801E900: @ jump table
.4byte _0801E914 @ case 0
+3 -3
View File
@@ -1682,13 +1682,13 @@ _0804A982:
mov sl, r5
pop {r4, r5, r6, r7, pc}
thumb_func_start sub_0804A98C
sub_0804A98C: @ 0x0804A98C
thumb_func_start CreateProjectileWithParent
CreateProjectileWithParent: @ 0x0804A98C
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r0, r1, #0
adds r5, r2, #0
bl sub_080A7EE0
bl CreateProjectile
adds r4, r0, #0
cmp r4, #0
beq _0804A9A8
+4 -4
View File
@@ -333,7 +333,7 @@ sub_0805E5C0: @ 0x0805E5C0
bl sub_0805E428
bl ClearHitboxList
bl sub_0806F0A4
ldr r1, _0805E5F4 @ =gUnk_03005F40
ldr r1, _0805E5F4 @ =_UpdateEntities
movs r0, #0
bl _call_via_r1
bl ClearAllDeletedEntities
@@ -341,18 +341,18 @@ sub_0805E5C0: @ 0x0805E5C0
pop {pc}
.align 2, 0
_0805E5F0: .4byte gRoomVars
_0805E5F4: .4byte gUnk_03005F40
_0805E5F4: .4byte _UpdateEntities
thumb_func_start sub_0805E5F8
sub_0805E5F8: @ 0x0805E5F8
push {lr}
ldr r1, _0805E608 @ =gUnk_03005F40
ldr r1, _0805E608 @ =_UpdateEntities
movs r0, #1
bl _call_via_r1
bl ClearAllDeletedEntities
pop {pc}
.align 2, 0
_0805E608: .4byte gUnk_03005F40
_0805E608: .4byte _UpdateEntities
thumb_func_start EraseAllEntities
EraseAllEntities: @ 0x0805E60C
-1615
View File
File diff suppressed because it is too large Load Diff
+10 -10
View File
@@ -3196,7 +3196,7 @@ sub_080A529C: @ 0x080A529C
str r0, [r1, #0xc]
ldrb r4, [r1, #3]
lsls r1, r4, #3
ldr r0, _080A52D8 @ =gUnk_08128B64
ldr r0, _080A52D8 @ =gItemMenuTable
adds r1, r1, r0
ldr r0, _080A52DC @ =gInput
ldrh r2, [r0, #2]
@@ -3214,7 +3214,7 @@ sub_080A529C: @ 0x080A529C
.align 2, 0
_080A52D0: .4byte gMenu
_080A52D4: .4byte gUnk_08128BF4
_080A52D8: .4byte gUnk_08128B64
_080A52D8: .4byte gItemMenuTable
_080A52DC: .4byte gInput
_080A52E0:
cmp r4, #0x10
@@ -3347,7 +3347,7 @@ _080A4BC8:
ldrb r0, [r2]
cmp r0, #0
beq _080A4C68
ldr r0, _080A4C20 @ =gUnk_08128B64
ldr r0, _080A4C20 @ =gItemMenuTable
adds r1, r6, r0
ldrb r0, [r1, #6]
ldr r3, _080A4C14EU @ =gOamCmd
@@ -3384,7 +3384,7 @@ _080A4BF4:
_080A4C14EU: .4byte gOamCmd
_080A4C18: .4byte gSave
_080A4C1C: .4byte gChooseFileState
_080A4C20: .4byte gUnk_08128B64
_080A4C20: .4byte gItemMenuTable
_080A4C24: .4byte gBombBagSizes
_080A4C28:
cmp r3, #0xa
@@ -3442,7 +3442,7 @@ _080A4C68:
movs r1, #0x11
_080A4C8E:
lsls r0, r1, #3
ldr r1, _080A4D54EU @ =gUnk_08128B64
ldr r1, _080A4D54EU @ =gItemMenuTable
mov r8, r1
adds r1, r0, r1
mov r4, sb
@@ -3534,7 +3534,7 @@ _080A4D44: .4byte gOamCmd
_080A4D48: .4byte gUnk_080FDFD8
_080A4D4C: .4byte 0x00000141
_080A4D50EU: .4byte gChooseFileState
_080A4D54EU: .4byte gUnk_08128B64
_080A4D54EU: .4byte gItemMenuTable
_080A4D58: .4byte gMain
_080A4D5C: .4byte gSave
.else
@@ -3569,7 +3569,7 @@ _080A53B4:
ldrb r0, [r2]
cmp r0, #0
beq _080A5456
ldr r0, _080A540C @ =gUnk_08128B64
ldr r0, _080A540C @ =gItemMenuTable
adds r1, r6, r0
ldrb r0, [r1, #6]
ldr r3, _080A5400 @ =gOamCmd
@@ -3606,7 +3606,7 @@ _080A53E0:
_080A5400: .4byte gOamCmd
_080A5404: .4byte gSave
_080A5408: .4byte gMenu
_080A540C: .4byte gUnk_08128B64
_080A540C: .4byte gItemMenuTable
_080A5410: .4byte gBombBagSizes
_080A5414:
cmp r3, #0xa
@@ -3665,7 +3665,7 @@ _080A5456:
movs r1, #0x11
_080A547C:
lsls r0, r1, #3
ldr r1, _080A553C @ =gUnk_08128B64
ldr r1, _080A553C @ =gItemMenuTable
mov r8, r1
adds r1, r0, r1
mov r4, sb
@@ -3755,7 +3755,7 @@ _080A552C: .4byte gQuiverSizes
_080A5530: .4byte gOamCmd
_080A5534: .4byte gUnk_080FDFD8
_080A5538: .4byte gMenu
_080A553C: .4byte gUnk_08128B64
_080A553C: .4byte gItemMenuTable
_080A5540: .4byte gMain
_080A5544: .4byte 0x000001FB
_080A5548: .4byte gSave
+2 -2
View File
@@ -411,8 +411,8 @@ _080A7EDC:
_080A7EDE:
pop {pc}
thumb_func_start sub_080A7EE0
sub_080A7EE0: @ 0x080A7EE0
thumb_func_start CreateProjectile
CreateProjectile: @ 0x080A7EE0
push {r4, r5, lr}
adds r5, r0, #0
bl GetEmptyEntity
+1 -1
View File
@@ -262,7 +262,7 @@ sub_0803D058: @ 0x0803D058
adds r4, r0, #0
movs r1, #0x16
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r5, r0, #0
cmp r5, #0
beq _0803D0AE
-652
View File
@@ -1,652 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Enemy5A
Enemy5A: @ 0x080456D8
push {lr}
ldr r1, _080456E4 @ =gUnk_080D1888
bl EnemyFunctionHandler
pop {pc}
.align 2, 0
_080456E4: .4byte gUnk_080D1888
thumb_func_start sub_080456E8
sub_080456E8: @ 0x080456E8
push {lr}
ldr r2, _080456FC @ =gUnk_080D18A0
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_080456FC: .4byte gUnk_080D18A0
thumb_func_start sub_08045700
sub_08045700: @ 0x08045700
push {r4, r5, lr}
adds r5, r0, #0
ldrb r0, [r5, #0xa]
cmp r0, #0
beq _080457D0
ldr r0, [r5, #0x50]
ldr r3, [r0, #0x50]
adds r0, r5, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _080457D0
movs r0, #0x3f
ands r0, r1
cmp r0, #0xe
beq _08045728
cmp r0, #0x15
bne _08045778
_08045728:
adds r1, r5, #0
adds r1, #0x81
ldrb r0, [r1]
cmp r0, #0
bne _0804575C
movs r0, #3
strb r0, [r5, #0xc]
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
ldrb r1, [r5, #0xa]
lsls r1, r1, #3
ldrb r0, [r5, #0xe]
adds r0, #2
orrs r1, r0
adds r0, r5, #0
bl InitializeAnimation
ldr r0, [r5, #0x50]
ldrb r1, [r0, #0xa]
lsls r1, r1, #3
ldrb r2, [r5, #0xe]
adds r2, #2
orrs r1, r2
bl InitializeAnimation
_0804575C:
ldrb r0, [r5, #0xe]
cmp r0, #0
beq _0804576C
movs r0, #0xbd
lsls r0, r0, #1
bl SoundReq
b _080457D0
_0804576C:
ldr r0, _08045774 @ =0x00000119
bl SoundReq
b _080457D0
.align 2, 0
_08045774: .4byte 0x00000119
_08045778:
adds r2, r5, #0
adds r2, #0x45
ldrb r1, [r2]
adds r0, r1, #0
cmp r0, #0xff
beq _080457D0
movs r0, #0xff
strb r0, [r2]
ldrb r0, [r5, #0xe]
cmp r0, #0
beq _080457D0
adds r0, r3, #0
adds r0, #0x81
ldrb r0, [r0]
cmp r0, #0
beq _080457D0
adds r0, r3, #0
adds r0, #0x76
movs r1, #1
ldrb r2, [r5, #0xb]
lsls r1, r2
ldrb r2, [r0]
orrs r1, r2
strb r1, [r0]
adds r1, r5, #0
adds r1, #0x85
ldrb r0, [r1]
cmp r0, #0
bne _080457D0
adds r0, #1
strb r0, [r1]
ldrb r1, [r5, #0xa]
lsls r1, r1, #3
movs r4, #6
orrs r1, r4
adds r0, r5, #0
bl InitializeAnimation
ldr r0, [r5, #0x50]
ldrb r1, [r0, #0xa]
lsls r1, r1, #3
orrs r1, r4
bl InitializeAnimation
_080457D0:
ldr r1, _080457DC @ =gUnk_080D1888
adds r0, r5, #0
bl sub_0804AA30
pop {r4, r5, pc}
.align 2, 0
_080457DC: .4byte gUnk_080D1888
thumb_func_start nullsub_173
nullsub_173: @ 0x080457E0
bx lr
.align 2, 0
thumb_func_start sub_080457E4
sub_080457E4: @ 0x080457E4
push {r4, lr}
adds r4, r0, #0
ldr r0, _08045850 @ =gTextBox
ldrb r0, [r0]
movs r2, #0x7f
ands r2, r0
cmp r2, #0
bne _08045868
movs r3, #1
strb r3, [r4, #0xc]
ldrb r1, [r4, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
strb r0, [r4, #0x18]
adds r0, r4, #0
adds r0, #0x80
strb r2, [r0]
adds r0, #1
strb r2, [r0]
adds r0, #4
strb r2, [r0]
strb r2, [r4, #0xf]
adds r1, r4, #0
adds r1, #0x82
movs r0, #0x30
strb r0, [r1]
adds r0, r4, #0
adds r0, #0x83
strb r2, [r0]
ldrb r0, [r4, #0xa]
cmp r0, #0
bne _08045854
adds r0, r4, #0
bl sub_08045A00
movs r0, #0x5a
movs r1, #1
bl CreateEnemy
adds r1, r0, #0
cmp r1, #0
beq _0804585A
str r4, [r1, #0x50]
str r1, [r4, #0x54]
ldrb r0, [r4, #0xe]
strb r0, [r1, #0xe]
ldrb r0, [r4, #0xb]
strb r0, [r1, #0xb]
adds r0, r4, #0
bl CopyPosition
b _0804585A
.align 2, 0
_08045850: .4byte gTextBox
_08045854:
adds r0, r4, #0
adds r0, #0x63
strb r3, [r0]
_0804585A:
ldrb r1, [r4, #0xa]
lsls r1, r1, #3
movs r0, #1
orrs r1, r0
adds r0, r4, #0
bl InitializeAnimation
_08045868:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0804586C
sub_0804586C: @ 0x0804586C
push {r4, lr}
adds r4, r0, #0
bl sub_08045A28
adds r1, r4, #0
adds r1, #0x82
ldrb r0, [r1]
cmp r0, #0
bne _080458AA
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _080458C2
ldrb r0, [r4, #0xa]
cmp r0, #0
beq _0804589A
ldrb r1, [r4, #0x10]
movs r0, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
_0804589A:
movs r0, #2
strb r0, [r4, #0xc]
ldrb r1, [r4, #0xa]
lsls r1, r1, #3
adds r0, r4, #0
bl InitializeAnimation
b _080458C2
_080458AA:
subs r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
cmp r0, #0
bne _080458C2
ldrb r0, [r4, #0x18]
movs r1, #4
rsbs r1, r1, #0
ands r1, r0
movs r0, #1
orrs r1, r0
strb r1, [r4, #0x18]
_080458C2:
pop {r4, pc}
thumb_func_start sub_080458C4
sub_080458C4: @ 0x080458C4
push {r4, r5, lr}
adds r5, r0, #0
bl sub_08045A28
ldr r1, [r5, #0x50]
ldrb r2, [r5, #0xa]
cmp r2, #0
beq _080458D6
ldr r1, [r1, #0x50]
_080458D6:
ldrb r0, [r1, #0xc]
cmp r0, #3
bne _08045934
adds r0, r1, #0
adds r0, #0x80
ldrb r0, [r0]
cmp r0, #1
bne _08045934
movs r0, #0
movs r4, #4
strb r4, [r5, #0xc]
strb r0, [r5, #0xf]
cmp r2, #0
beq _08045934
ldrb r0, [r5, #0x10]
movs r1, #0x7f
ands r1, r0
strb r1, [r5, #0x10]
ldrb r0, [r5, #0xe]
cmp r0, #0
beq _0804591C
ldrb r1, [r5, #0xa]
lsls r1, r1, #3
movs r4, #5
orrs r1, r4
adds r0, r5, #0
bl InitializeAnimation
ldr r0, [r5, #0x50]
ldrb r1, [r0, #0xa]
lsls r1, r1, #3
orrs r1, r4
bl InitializeAnimation
b _08045934
_0804591C:
ldrb r1, [r5, #0xa]
lsls r1, r1, #3
orrs r1, r4
adds r0, r5, #0
bl InitializeAnimation
ldr r0, [r5, #0x50]
ldrb r1, [r0, #0xa]
lsls r1, r1, #3
orrs r1, r4
bl InitializeAnimation
_08045934:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_08045938
sub_08045938: @ 0x08045938
push {r4, lr}
adds r4, r0, #0
bl sub_08045A28
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _08045980
movs r0, #2
strb r0, [r4, #0xc]
ldrb r0, [r4, #0xa]
cmp r0, #0
beq _08045980
ldrb r0, [r4, #0xe]
cmp r0, #0
bne _08045966
adds r1, r4, #0
adds r1, #0x3f
movs r0, #0x32
b _0804597E
_08045966:
ldr r0, [r4, #0x50]
ldr r2, [r0, #0x50]
adds r2, #0x76
movs r0, #1
ldrb r1, [r4, #0xb]
lsls r0, r1
ldrb r1, [r2]
orrs r0, r1
strb r0, [r2]
adds r1, r4, #0
adds r1, #0x3f
movs r0, #0x31
_0804597E:
strb r0, [r1]
_08045980:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08045984
sub_08045984: @ 0x08045984
push {r4, lr}
adds r4, r0, #0
bl sub_08045A28
ldrb r0, [r4, #0xf]
cmp r0, #0
bne _080459A6
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _080459FE
movs r0, #0x20
strb r0, [r4, #0xf]
b _080459FE
_080459A6:
ldr r2, [r4, #0x50]
ldrb r0, [r4, #0xa]
cmp r0, #0
beq _080459B0
ldr r2, [r2, #0x50]
_080459B0:
ldrb r0, [r2, #0x14]
cmp r0, #2
bhi _080459FE
ldrb r0, [r2, #0xc]
cmp r0, #3
beq _080459FE
movs r0, #0
movs r3, #1
strb r3, [r4, #0xc]
strb r0, [r4, #0xf]
adds r1, r4, #0
adds r1, #0x81
strb r0, [r1]
adds r1, #4
strb r0, [r1]
ldrb r0, [r4, #0xa]
cmp r0, #0
beq _080459DA
subs r1, #0x46
movs r0, #0x33
strb r0, [r1]
_080459DA:
adds r0, r2, #0
adds r0, #0x75
ldrb r0, [r0]
ldrb r1, [r4, #0xb]
asrs r0, r1
ands r0, r3
cmp r0, #0
beq _080459EE
strb r3, [r4, #0xe]
b _080459F0
_080459EE:
strb r0, [r4, #0xe]
_080459F0:
ldrb r1, [r4, #0xa]
lsls r1, r1, #3
movs r0, #1
orrs r1, r0
adds r0, r4, #0
bl InitializeAnimation
_080459FE:
pop {r4, pc}
thumb_func_start sub_08045A00
sub_08045A00: @ 0x08045A00
push {lr}
adds r1, r0, #0
ldrb r3, [r1, #0xb]
lsls r3, r3, #1
ldr r0, _08045A24 @ =gUnk_080D18B4
adds r3, r3, r0
ldr r0, [r1, #0x50]
movs r2, #0
ldrsb r2, [r3, r2]
lsls r2, r2, #0x10
ldrb r3, [r3, #1]
lsls r3, r3, #0x18
asrs r3, r3, #0x18
adds r3, #3
lsls r3, r3, #0x10
bl PositionRelative
pop {pc}
.align 2, 0
_08045A24: .4byte gUnk_080D18B4
thumb_func_start sub_08045A28
sub_08045A28: @ 0x08045A28
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r5, r0, #0
adds r0, #0x82
ldrb r0, [r0]
cmp r0, #0
bne _08045A3E
adds r0, r5, #0
bl GetNextFrame
_08045A3E:
adds r6, r5, #0
adds r6, #0x5a
ldrb r0, [r6]
movs r1, #0x70
mov r8, r1
mov r4, r8
ands r4, r0
ldrb r7, [r5, #0xa]
cmp r7, #0
bne _08045AF8
adds r0, r5, #0
bl sub_08045A00
adds r1, r5, #0
adds r1, #0x83
ldrb r0, [r1]
adds r2, r1, #0
cmp r0, #1
beq _08045AA4
cmp r0, #1
bgt _08045A6E
cmp r0, #0
beq _08045A78
b _08045B7C
_08045A6E:
cmp r0, #2
beq _08045ABC
cmp r0, #3
beq _08045AE8
b _08045B7C
_08045A78:
cmp r4, #0x20
beq _08045A8C
cmp r4, #0x20
bhi _08045A86
cmp r4, #0
beq _08045A96
b _08045B7C
_08045A86:
cmp r4, #0x40
beq _08045A96
b _08045B7C
_08045A8C:
movs r0, #1
strb r0, [r1]
movs r1, #0x9f
lsls r1, r1, #1
b _08045B5A
_08045A96:
movs r0, #2
strb r0, [r2]
ldr r1, _08045AA0 @ =0x0000013F
b _08045B5A
.align 2, 0
_08045AA0: .4byte 0x0000013F
_08045AA4:
cmp r4, #0
beq _08045AB0
cmp r4, #0x10
bne _08045B7C
strb r7, [r1]
b _08045B58
_08045AB0:
movs r0, #2
strb r0, [r1]
ldr r1, _08045AB8 @ =0x0000013F
b _08045B5A
.align 2, 0
_08045AB8: .4byte 0x0000013F
_08045ABC:
cmp r4, #0x20
beq _08045AD0
cmp r4, #0x20
bhi _08045ACA
cmp r4, #0x10
beq _08045ADA
b _08045B7C
_08045ACA:
cmp r4, #0x40
beq _08045ADE
b _08045B7C
_08045AD0:
movs r0, #1
strb r0, [r1]
movs r1, #0x9f
lsls r1, r1, #1
b _08045B5A
_08045ADA:
strb r7, [r1]
b _08045B58
_08045ADE:
strb r0, [r1]
ldr r1, _08045AE4 @ =0x0000013F
b _08045B5A
.align 2, 0
_08045AE4: .4byte 0x0000013F
_08045AE8:
cmp r4, #0
bne _08045B7C
movs r0, #2
strb r0, [r1]
ldr r1, _08045AF4 @ =0x0000013F
b _08045B5A
.align 2, 0
_08045AF4: .4byte 0x0000013F
_08045AF8:
ldr r0, [r5, #0x50]
ldr r3, _08045B18 @ =0xFFFF0000
adds r1, r5, #0
movs r2, #0
bl PositionRelative
adds r2, r5, #0
adds r2, #0x83
ldrb r0, [r2]
cmp r0, #1
beq _08045B3A
cmp r0, #1
bgt _08045B1C
cmp r0, #0
beq _08045B22
b _08045B7C
.align 2, 0
_08045B18: .4byte 0xFFFF0000
_08045B1C:
cmp r0, #2
beq _08045B68
b _08045B7C
_08045B22:
ldrb r0, [r6]
mov r1, r8
ands r1, r0
cmp r1, #0x10
beq _08045B54
cmp r1, #0x20
bne _08045B7C
movs r0, #1
strb r0, [r2]
movs r1, #0x9f
lsls r1, r1, #1
b _08045B5A
_08045B3A:
ldrb r0, [r6]
mov r1, r8
ands r1, r0
cmp r1, #0
beq _08045B4A
cmp r1, #0x10
beq _08045B54
b _08045B7C
_08045B4A:
strb r1, [r2]
ldr r1, _08045B50 @ =0x0000013F
b _08045B5A
.align 2, 0
_08045B50: .4byte 0x0000013F
_08045B54:
movs r0, #2
strb r0, [r2]
_08045B58:
ldr r1, _08045B64 @ =0x0000013B
_08045B5A:
adds r0, r5, #0
bl sub_0801D2B4
b _08045B7C
.align 2, 0
_08045B64: .4byte 0x0000013B
_08045B68:
ldrb r0, [r6]
mov r1, r8
ands r1, r0
cmp r1, #0
bne _08045B7C
strb r1, [r2]
ldr r1, _08045B84 @ =0x0000013F
adds r0, r5, #0
bl sub_0801D2B4
_08045B7C:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08045B84: .4byte 0x0000013F
-474
View File
@@ -1,474 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Enemy5F
Enemy5F: @ 0x080482C4
push {r4, lr}
adds r4, r0, #0
ldr r0, [r4, #0x50]
ldr r0, [r0, #4]
cmp r0, #0
bne _080482D4
bl DeleteThisEntity
_080482D4:
ldr r0, _080482E8 @ =gUnk_080D1D48
ldrb r1, [r4, #0xc]
lsls r1, r1, #2
adds r1, r1, r0
ldr r1, [r1]
adds r0, r4, #0
bl _call_via_r1
pop {r4, pc}
.align 2, 0
_080482E8: .4byte gUnk_080D1D48
thumb_func_start sub_080482EC
sub_080482EC: @ 0x080482EC
push {r4, lr}
adds r4, r0, #0
ldr r0, _08048310 @ =gScreenTransition
adds r0, #0x38
ldrb r1, [r0]
movs r2, #1
adds r0, r2, #0
ands r0, r1
cmp r0, #0
beq _08048314
movs r0, #2
strb r0, [r4, #0xc]
adds r0, r4, #0
movs r1, #1
bl InitializeAnimation
b _08048326
.align 2, 0
_08048310: .4byte gScreenTransition
_08048314:
strb r2, [r4, #0xc]
adds r0, r4, #0
movs r1, #0
bl InitializeAnimation
movs r0, #0xb3
lsls r0, r0, #1
bl SoundReq
_08048326:
adds r0, r4, #0
bl sub_080485D8
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08048330
sub_08048330: @ 0x08048330
push {r4, lr}
adds r4, r0, #0
bl sub_080485D8
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _08048358
movs r0, #2
strb r0, [r4, #0xc]
adds r0, r4, #0
movs r1, #1
bl InitializeAnimation
_08048358:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0804835C
sub_0804835C: @ 0x0804835C
push {r4, lr}
adds r4, r0, #0
bl sub_080485D8
ldr r0, _08048384 @ =gScreenTransition
adds r0, #0x39
ldrb r1, [r0]
movs r2, #3
adds r0, r2, #0
ands r0, r1
cmp r0, #0
bne _08048382
strb r2, [r4, #0xc]
ldrb r0, [r4, #0x10]
movs r1, #0x80
orrs r1, r0
strb r1, [r4, #0x10]
movs r0, #0x80
strh r0, [r4, #0x24]
_08048382:
pop {r4, pc}
.align 2, 0
_08048384: .4byte gScreenTransition
thumb_func_start sub_08048388
sub_08048388: @ 0x08048388
push {r4, r5, r6, lr}
adds r5, r0, #0
ldr r2, [r5, #0x50]
adds r0, r2, #0
adds r0, #0x79
ldrb r0, [r0]
cmp r0, #0
beq _080483A0
adds r0, r5, #0
bl sub_080485D8
b _080483F2
_080483A0:
ldrb r1, [r5, #0xa]
lsls r1, r1, #1
ldr r0, _080483F4 @ =gUnk_080D1D98
adds r1, r1, r0
movs r0, #0x2e
ldrsh r4, [r2, r0]
movs r0, #0
ldrsb r0, [r1, r0]
adds r4, r4, r0
movs r0, #0x32
ldrsh r2, [r2, r0]
movs r0, #1
ldrsb r0, [r1, r0]
adds r6, r2, r0
movs r1, #0x2e
ldrsh r0, [r5, r1]
movs r2, #0x32
ldrsh r1, [r5, r2]
adds r2, r4, #0
adds r3, r6, #0
bl sub_080045D4
strb r0, [r5, #0x15]
adds r0, r5, #0
bl sub_0806F69C
ldr r0, [r5, #0x50]
ldrh r0, [r0, #0x36]
strh r0, [r5, #0x36]
movs r1, #0x2e
ldrsh r0, [r5, r1]
cmp r0, r4
bne _080483F2
movs r2, #0x32
ldrsh r0, [r5, r2]
cmp r0, r6
bne _080483F2
movs r0, #4
strb r0, [r5, #0xc]
movs r0, #0x3c
strb r0, [r5, #0xe]
_080483F2:
pop {r4, r5, r6, pc}
.align 2, 0
_080483F4: .4byte gUnk_080D1D98
thumb_func_start sub_080483F8
sub_080483F8: @ 0x080483F8
push {r4, r5, lr}
adds r4, r0, #0
bl sub_080485FC
ldrb r0, [r4, #0xe]
adds r5, r0, #0
cmp r5, #0
beq _0804841C
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _08048436
adds r0, r4, #0
movs r1, #3
bl InitializeAnimation
b _08048436
_0804841C:
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _08048436
movs r0, #5
strb r0, [r4, #0xc]
strb r5, [r4, #0xe]
_08048436:
pop {r4, r5, pc}
thumb_func_start sub_08048438
sub_08048438: @ 0x08048438
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xe]
cmp r0, #0
beq _0804846A
movs r0, #6
strb r0, [r4, #0xc]
ldr r0, [r4, #0x50]
adds r0, #0x45
ldrb r0, [r0]
cmp r0, #0x14
bls _08048454
movs r0, #0x78
b _08048456
_08048454:
movs r0, #0x3c
_08048456:
strb r0, [r4, #0xe]
movs r0, #0
str r0, [r4, #0x54]
adds r0, r4, #0
movs r1, #5
bl InitializeAnimation
ldr r0, _08048474 @ =0x0000019B
bl SoundReq
_0804846A:
adds r0, r4, #0
bl sub_080485FC
pop {r4, pc}
.align 2, 0
_08048474: .4byte 0x0000019B
thumb_func_start sub_08048478
sub_08048478: @ 0x08048478
push {r4, lr}
adds r4, r0, #0
bl sub_080485FC
adds r0, r4, #0
bl GetNextFrame
ldrb r0, [r4, #0xe]
adds r2, r0, #0
cmp r2, #0
beq _080484A2
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _080484E6
adds r0, r4, #0
movs r1, #6
bl InitializeAnimation
b _080484E6
_080484A2:
adds r3, r4, #0
adds r3, #0x5a
ldrb r1, [r3]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _080484BC
movs r0, #7
strb r0, [r4, #0xc]
movs r0, #0x78
strb r0, [r4, #0xe]
strb r2, [r4, #0xf]
b _080484E6
_080484BC:
movs r0, #1
ands r0, r1
cmp r0, #0
beq _080484E6
movs r0, #0xfe
ands r0, r1
strb r0, [r3]
movs r0, #0x24
bl sub_080A7EE0
adds r1, r0, #0
cmp r1, #0
beq _080484E6
str r4, [r1, #0x50]
str r1, [r4, #0x54]
movs r3, #0xc0
lsls r3, r3, #0xc
adds r0, r4, #0
movs r2, #0
bl PositionRelative
_080484E6:
pop {r4, pc}
thumb_func_start sub_080484E8
sub_080484E8: @ 0x080484E8
push {r4, lr}
adds r4, r0, #0
bl sub_080485FC
adds r0, r4, #0
bl GetNextFrame
ldrb r0, [r4, #0xf]
cmp r0, #0
beq _08048528
movs r0, #8
strb r0, [r4, #0xc]
movs r0, #0x3c
strb r0, [r4, #0xe]
ldrb r1, [r4, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r4, #0x10]
ldrb r1, [r4, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
strb r0, [r4, #0x18]
adds r0, r4, #0
movs r1, #0x1f
movs r2, #0x40
bl CreateFx
ldr r2, [r4, #0x50]
adds r2, #0x7b
movs r0, #0x10
b _08048542
_08048528:
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
lsrs r1, r0, #0x18
cmp r1, #0
bne _0804854C
movs r0, #5
strb r0, [r4, #0xc]
strb r1, [r4, #0xe]
ldr r2, [r4, #0x50]
adds r2, #0x7b
movs r0, #1
_08048542:
ldrb r4, [r4, #0xa]
lsls r0, r4
ldrb r1, [r2]
orrs r0, r1
strb r0, [r2]
_0804854C:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08048550
sub_08048550: @ 0x08048550
push {r4, lr}
adds r4, r0, #0
ldr r0, [r4, #0x50]
ldrb r0, [r0, #0xc]
cmp r0, #0xb
bne _08048562
movs r0, #0x3c
strb r0, [r4, #0xe]
b _0804859E
_08048562:
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0804859E
movs r0, #9
strb r0, [r4, #0xc]
ldrb r0, [r4, #0x10]
movs r1, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
ldrb r1, [r4, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x18]
adds r0, r4, #0
movs r1, #0
bl InitializeAnimation
adds r0, r4, #0
bl sub_080485FC
movs r0, #0xb3
lsls r0, r0, #1
bl SoundReq
_0804859E:
pop {r4, pc}
thumb_func_start sub_080485A0
sub_080485A0: @ 0x080485A0
push {r4, lr}
adds r4, r0, #0
bl sub_080485FC
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _080485D6
movs r0, #4
strb r0, [r4, #0xc]
movs r1, #1
strb r1, [r4, #0xe]
ldr r2, [r4, #0x50]
adds r2, #0x7b
ldrb r3, [r2]
movs r0, #0xf
ands r0, r3
ldrb r4, [r4, #0xa]
lsls r1, r4
orrs r0, r1
strb r0, [r2]
_080485D6:
pop {r4, pc}
thumb_func_start sub_080485D8
sub_080485D8: @ 0x080485D8
push {lr}
adds r1, r0, #0
ldrb r3, [r1, #0xa]
lsls r3, r3, #1
ldr r0, _080485F8 @ =gUnk_080D1D70
adds r3, r3, r0
ldr r0, [r1, #0x50]
movs r2, #0
ldrsb r2, [r3, r2]
ldrb r3, [r3, #1]
lsls r3, r3, #0x18
asrs r3, r3, #0x18
bl sub_0806FA90
pop {pc}
.align 2, 0
_080485F8: .4byte gUnk_080D1D70
thumb_func_start sub_080485FC
sub_080485FC: @ 0x080485FC
push {r4, lr}
adds r4, r0, #0
ldrb r1, [r4, #0xa]
lsls r1, r1, #1
ldr r0, _08048638 @ =gUnk_080D1D98
adds r1, r1, r0
ldr r0, [r4, #0x50]
movs r2, #0
ldrsb r2, [r1, r2]
movs r3, #1
ldrsb r3, [r1, r3]
adds r1, r4, #0
bl sub_0806FA90
ldr r3, _0804863C @ =gUnk_080D1D78
ldrb r1, [r4, #0xa]
lsls r1, r1, #3
ldr r0, [r4, #0x50]
adds r0, #0x78
ldrb r0, [r0]
lsrs r0, r0, #4
movs r2, #7
ands r0, r2
adds r1, r1, r0
adds r1, r1, r3
movs r0, #0
ldrsb r0, [r1, r0]
strh r0, [r4, #0x36]
pop {r4, pc}
.align 2, 0
_08048638: .4byte gUnk_080D1D98
_0804863C: .4byte gUnk_080D1D78
+2 -2
View File
@@ -139,7 +139,7 @@ _08049144:
bl sub_0807B7D8
_0804916E:
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r2, r0, #0
cmp r2, #0
beq _080491E4
@@ -560,7 +560,7 @@ _0804948C:
cmp r0, #0
beq _080494B2
movs r0, #0x23
bl sub_080A7EE0
bl CreateProjectile
adds r2, r0, #0
cmp r2, #0
beq _080494B2
+2 -2
View File
@@ -1098,7 +1098,7 @@ sub_08088160: @ 0x08088160
push {r4, lr}
adds r2, r0, #0
lsls r1, r1, #3
ldr r0, _08087FB0 @ =0x080FC094
ldr r0, _08087FB0 @ =gUnk_080FC3E4
adds r1, r1, r0
movs r4, #0
adds r0, r2, #0
@@ -1116,7 +1116,7 @@ sub_08088160: @ 0x08088160
beq _08087FBC
b _0808806A
.align 2, 0
_08087FB0: .4byte 0x080FC094
_08087FB0: .4byte gUnk_080FC3E4
_08087FB4:
cmp r0, #0x20
beq _08087FCA
+3 -3
View File
@@ -1838,7 +1838,7 @@ _0802DD74:
adds r0, r4, #0
movs r1, #0xa
movs r2, #0
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
@@ -1985,7 +1985,7 @@ _0802DE7E:
bne _0802DEC4
adds r0, r5, #0
movs r1, #0xa
bl sub_0804A98C
bl CreateProjectileWithParent
adds r1, r0, #0
str r1, [r5, #0x54]
cmp r1, #0
@@ -2711,7 +2711,7 @@ _0802E40C:
adds r0, r4, #0
movs r1, #0xa
movs r2, #3
bl sub_0804A98C
bl CreateProjectileWithParent
_0802E422:
adds r0, r4, #0
bl sub_0802E518
+1 -1
View File
@@ -29,7 +29,7 @@ sub_0804614C: @ 0x0804614C
cmp r0, #0x3d
bhi _08046244
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r1, r0, #0
movs r4, #0
strb r4, [r1, #0xa]
+4 -3
View File
@@ -659,6 +659,7 @@ UpdateEntities: @ 0x080B21B0
ldr r8, [fp, #4]
ldr r0, [fp, #8]
add pc, pc, #0x60 @ =_080B2230
@ UpdateEntities starts here
ldr r1, _080B2274 @ =gUnk_080026A4
add r1, r1, r0, lsl #4
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
@@ -682,12 +683,12 @@ _080B21FC:
ldr r1, [sl, r1, lsl #2]
mov r0, r4
mov lr, pc
bx r1
bx r1 @ Jump to address stored in r1
_080B2224:
ldr r0, [fp, #8]
cmp r0, r4
bleq sub_080B1C54
_080B2230:
_080B2230: @ jumped here if ClearAndUpdateEntities
ldr r4, [r0, #4]
b _080B21FC
_080B2238:
@@ -695,7 +696,7 @@ _080B2238:
str r0, [fp, #8]
pop {r4, r5, r6, r7, r8, sb, sl, fp, lr}
bx lr
_080B2248: .4byte DeleteThisEntity
_080B2248: .4byte DeleteThisEntity @ 0x3005fbc
_080B224C: .4byte PlayerUpdate
_080B2250: .4byte DeleteThisEntity
_080B2254: .4byte EnemyUpdate
-485
View File
@@ -1,485 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08057174
sub_08057174: @ 0x08057174
push {r4, r5, r6, r7, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xa]
bl GetCurrentRoomProperty
adds r3, r0, #0
ldrb r0, [r3]
cmp r0, #0xff
bne _08057188
b _0805728A
_08057188:
ldr r1, _080571E8 @ =gPlayerEntity
movs r2, #0x2e
ldrsh r0, [r1, r2]
cmp r0, #0
bge _08057194
adds r0, #0xf
_08057194:
asrs r6, r0, #4
movs r7, #0x32
ldrsh r0, [r1, r7]
cmp r0, #0
bge _080571A0
adds r0, #0xf
_080571A0:
asrs r5, r0, #4
movs r0, #0x21
adds r0, r0, r4
mov ip, r0
_080571A8:
ldrb r0, [r3]
mov r1, ip
ldrb r1, [r1]
cmp r0, r1
beq _08057282
ldr r1, _080571EC @ =gRoomControls
ldrh r0, [r1, #6]
lsrs r0, r0, #4
ldrb r7, [r3, #1]
adds r2, r0, r7
ldrh r0, [r1, #8]
lsrs r0, r0, #4
ldrb r1, [r3, #2]
adds r0, r0, r1
subs r0, r5, r0
ldrb r7, [r3, #4]
cmp r0, r7
bhs _08057282
subs r0, r6, r2
ldrb r1, [r3, #3]
cmp r0, r1
bhs _08057282
ldrb r0, [r3]
subs r0, #1
cmp r0, #5
bhi _08057268
lsls r0, r0, #2
ldr r1, _080571F0 @ =_080571F4
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080571E8: .4byte gPlayerEntity
_080571EC: .4byte gRoomControls
_080571F0: .4byte _080571F4
_080571F4: @ jump table
.4byte _0805720C @ case 0
.4byte _08057220 @ case 1
.4byte _08057258 @ case 2
.4byte _08057246 @ case 3
.4byte _08057216 @ case 4
.4byte _08057236 @ case 5
_0805720C:
mov r2, ip
ldrb r0, [r2]
cmp r0, #2
bne _08057268
b _08057260
_08057216:
mov r7, ip
ldrb r0, [r7]
cmp r0, #6
bne _08057268
b _08057260
_08057220:
mov r0, ip
ldrb r1, [r0]
cmp r1, #0
bne _08057268
movs r0, #2
strb r0, [r4, #0xc]
strb r1, [r4, #0xe]
adds r0, r4, #0
adds r0, #0x20
strb r1, [r0]
b _08057268
_08057236:
mov r2, ip
ldrb r1, [r2]
cmp r1, #0
bne _08057268
movs r0, #2
strb r0, [r4, #0xc]
strb r1, [r4, #0xe]
b _08057268
_08057246:
mov r7, ip
ldrb r1, [r7]
cmp r1, #0
bne _08057268
movs r0, #2
strb r0, [r4, #0xc]
strb r1, [r4, #0xe]
str r1, [r4, #0x34]
b _08057268
_08057258:
mov r1, ip
ldrb r0, [r1]
cmp r0, #4
bne _08057268
_08057260:
movs r0, #3
strb r0, [r4, #0xc]
movs r0, #9
strb r0, [r4, #0xe]
_08057268:
ldrb r0, [r4, #0xc]
cmp r0, #1
beq _08057282
movs r0, #8
strb r0, [r4, #0xf]
ldrb r0, [r3]
mov r2, ip
strb r0, [r2]
adds r1, r4, #0
adds r1, #0x22
movs r0, #1
strb r0, [r1]
b _0805728A
_08057282:
adds r3, #5
ldrb r0, [r3]
cmp r0, #0xff
bne _080571A8
_0805728A:
pop {r4, r5, r6, r7, pc}
thumb_func_start sub_0805728C
sub_0805728C: @ 0x0805728C
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _080572CA
movs r0, #8
strb r0, [r4, #0xf]
ldr r2, _080572CC @ =gScreen
ldr r3, _080572D0 @ =gUnk_08107C1C
ldrb r0, [r4, #0xe]
adds r1, r0, #1
strb r1, [r4, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x17
adds r0, r0, r3
ldrh r0, [r0]
adds r2, #0x68
strh r0, [r2]
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
cmp r1, #0xa
bne _080572CA
movs r0, #1
strb r0, [r4, #0xc]
adds r1, r4, #0
adds r1, #0x22
movs r0, #0
strb r0, [r1]
_080572CA:
pop {r4, pc}
.align 2, 0
_080572CC: .4byte gScreen
_080572D0: .4byte gUnk_08107C1C
thumb_func_start sub_080572D4
sub_080572D4: @ 0x080572D4
push {r4, r5, lr}
adds r3, r0, #0
ldrb r0, [r3, #0xf]
subs r0, #1
strb r0, [r3, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _08057320
movs r0, #8
strb r0, [r3, #0xf]
ldr r5, _08057324 @ =gScreen
ldr r2, _08057328 @ =gUnk_08107C1C
ldrb r0, [r3, #0xe]
adds r1, r0, #0
adds r1, #0xff
strb r1, [r3, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x17
adds r0, r0, r2
ldrh r2, [r0]
adds r0, r5, #0
adds r0, #0x68
movs r4, #0
strh r2, [r0]
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
cmp r1, #0xff
bne _08057320
movs r0, #1
strb r0, [r3, #0xc]
adds r0, r3, #0
adds r0, #0x22
strb r4, [r0]
subs r0, #1
strb r4, [r0]
adds r0, r5, #0
adds r0, #0x6c
strb r4, [r0]
_08057320:
pop {r4, r5, pc}
.align 2, 0
_08057324: .4byte gScreen
_08057328: .4byte gUnk_08107C1C
thumb_func_start sub_0805732C
sub_0805732C: @ 0x0805732C
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
adds r6, r0, #0
adds r5, r1, #0
ldr r2, _08057390 @ =gUnk_03003DE4
ldrb r1, [r2]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
ldr r1, _08057394 @ =gUnk_02017AA0
adds r4, r0, r1
movs r3, #0
mov ip, r2
mov r8, r1
ldr r0, _08057398 @ =gSineTable
mov sb, r0
movs r2, #0xff
ldr r1, _0805739C @ =gScreen
_08057354:
adds r0, r5, r3
ands r0, r2
lsls r0, r0, #1
add r0, sb
movs r7, #0
ldrsh r0, [r0, r7]
muls r0, r6, r0
lsrs r0, r0, #8
ldrh r7, [r1, #0x2e]
adds r0, r0, r7
strh r0, [r4]
adds r4, #2
adds r3, #1
cmp r3, #0x9f
bls _08057354
mov r0, ip
ldrb r1, [r0]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
add r0, r8
ldr r1, _080573A0 @ =0x0400001C
ldr r2, _080573A4 @ =0xA2600001
bl sub_0805622C
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08057390: .4byte gUnk_03003DE4
_08057394: .4byte gUnk_02017AA0
_08057398: .4byte gSineTable
_0805739C: .4byte gScreen
_080573A0: .4byte 0x0400001C
_080573A4: .4byte 0xA2600001
thumb_func_start nullsub_494
nullsub_494: @ 0x080573A8
bx lr
.align 2, 0
thumb_func_start sub_080573AC
sub_080573AC: @ 0x080573AC
push {r4, r5, r6, lr}
adds r6, r0, #0
ldr r2, _08057434 @ =gRoomControls
ldr r0, [r2, #0x28]
ldr r1, _08057438 @ =0xFFFFE000
adds r0, r0, r1
str r0, [r2, #0x28]
ldr r0, [r2, #0x2c]
ldr r1, _0805743C @ =0xFFFFF000
adds r0, r0, r1
str r0, [r2, #0x2c]
ldr r5, _08057440 @ =gScreen
movs r1, #0xa
ldrsh r0, [r2, r1]
ldrh r1, [r2, #6]
subs r0, r0, r1
asrs r0, r0, #1
ldrh r1, [r2, #0x2a]
adds r0, r0, r1
strh r0, [r5, #0x2e]
movs r1, #0xc
ldrsh r0, [r2, r1]
ldrh r1, [r2, #8]
subs r0, r0, r1
asrs r0, r0, #1
ldrh r2, [r2, #0x2e]
adds r0, r0, r2
strh r0, [r5, #0x30]
ldr r2, _08057444 @ =gSineTable
ldr r4, _08057448 @ =gScreenTransition
ldr r1, [r4]
ldrb r0, [r4]
adds r0, #0x40
lsls r0, r0, #1
adds r0, r0, r2
movs r2, #0
ldrsh r0, [r0, r2]
asrs r0, r0, #5
adds r0, #0x10
bl sub_0805732C
adds r0, r6, #0
adds r0, #0x22
ldrb r0, [r0]
cmp r0, #0
bne _08057430
ldr r0, [r4]
movs r1, #0x1f
ands r0, r1
cmp r0, #0
bne _08057430
adds r2, r6, #0
adds r2, #0x24
ldrb r0, [r2]
adds r0, #1
movs r1, #7
ands r0, r1
strb r0, [r2]
ldr r1, _0805744C @ =gUnk_08107C30
ldrb r0, [r2]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r1, [r0]
adds r0, r5, #0
adds r0, #0x68
strh r1, [r0]
_08057430:
pop {r4, r5, r6, pc}
.align 2, 0
_08057434: .4byte gRoomControls
_08057438: .4byte 0xFFFFE000
_0805743C: .4byte 0xFFFFF000
_08057440: .4byte gScreen
_08057444: .4byte gSineTable
_08057448: .4byte gScreenTransition
_0805744C: .4byte gUnk_08107C30
thumb_func_start sub_08057450
sub_08057450: @ 0x08057450
push {r4, r5, r6, lr}
adds r3, r0, #0
ldr r4, _08057504 @ =gScreen
movs r0, #0x10
strh r0, [r4, #0x2e]
ldr r0, _08057508 @ =gRoomControls
movs r2, #0xc
ldrsh r1, [r0, r2]
ldrh r0, [r0, #8]
subs r1, r1, r0
asrs r1, r1, #2
movs r2, #0x3f
adds r0, r1, #0
ands r0, r2
strh r0, [r4, #0x30]
cmp r1, #0
bge _08057474
adds r1, #0x3f
_08057474:
asrs r0, r1, #6
lsls r0, r0, #9
ldr r1, _0805750C @ =gBG3Buffer
adds r1, r0, r1
str r1, [r4, #0x34]
ldr r0, [r3, #0x34]
cmp r0, r1
beq _0805748A
str r1, [r3, #0x34]
movs r0, #1
strh r0, [r4, #0x32]
_0805748A:
adds r0, r3, #0
adds r0, #0x22
ldrb r0, [r0]
ldr r5, _08057510 @ =gScreenTransition
cmp r0, #0
bne _080574BE
ldr r0, [r5]
movs r1, #0x1f
ands r0, r1
cmp r0, #0
bne _080574BE
adds r2, r3, #0
adds r2, #0x24
ldrb r0, [r2]
adds r0, #1
movs r1, #7
ands r0, r1
strb r0, [r2]
ldr r1, _08057514 @ =gUnk_08107C30
ldrb r0, [r2]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r1, [r0]
adds r0, r4, #0
adds r0, #0x68
strh r1, [r0]
_080574BE:
ldr r0, [r5]
movs r1, #7
ands r0, r1
cmp r0, #0
bne _08057502
adds r0, r3, #0
adds r0, #0x23
ldrb r1, [r0]
lsls r1, r1, #5
ldr r2, _08057518 @ =gUnk_085B4180
adds r1, r1, r2
movs r5, #0
adds r6, r0, #0
adds r4, r1, #0
adds r4, #0xe
_080574DC:
adds r0, r5, #0
adds r0, #0x87
ldrh r1, [r4]
bl sub_0801D79C
adds r0, r5, #0
adds r0, #0x8c
ldrh r1, [r4, #0xa]
bl sub_0801D79C
adds r4, #2
adds r5, #1
cmp r5, #3
bls _080574DC
ldrb r0, [r6]
adds r0, #1
movs r1, #3
ands r0, r1
strb r0, [r6]
_08057502:
pop {r4, r5, r6, pc}
.align 2, 0
_08057504: .4byte gScreen
_08057508: .4byte gRoomControls
_0805750C: .4byte gBG3Buffer
_08057510: .4byte gScreenTransition
_08057514: .4byte gUnk_08107C30
_08057518: .4byte gUnk_085B4180
-560
View File
@@ -1,560 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08059570
sub_08059570: @ 0x08059570
push {r4, r5, r6, lr}
adds r4, r0, #0
ldrb r5, [r4, #0xc]
cmp r5, #0
bne _080595C8
movs r6, #1
strb r6, [r4, #0xc]
adds r0, #0x21
strb r5, [r0]
adds r0, #2
strb r5, [r0]
bl sub_0805986C
cmp r0, #0
beq _080595A8
adds r0, r4, #0
adds r0, #0x20
strb r6, [r0]
adds r1, r4, #0
adds r1, #0x22
movs r0, #2
strb r0, [r1]
ldr r0, _080595A4 @ =gUnk_0200B650
str r5, [r0]
b _080595B8
.align 2, 0
_080595A4: .4byte gUnk_0200B650
_080595A8:
adds r0, r4, #0
adds r0, #0x20
movs r1, #0x1f
strb r1, [r0]
adds r1, r4, #0
adds r1, #0x22
movs r0, #5
strb r0, [r1]
_080595B8:
ldr r0, _080595DC @ =gRoomVars
movs r1, #0xff
strb r1, [r0, #0x10]
ldr r1, _080595E0 @ =sub_080595E4
adds r0, r4, #0
movs r2, #0
bl sub_08052D74
_080595C8:
adds r0, r4, #0
bl sub_08059608
adds r0, r4, #0
bl sub_08059690
adds r0, r4, #0
bl sub_080596E0
pop {r4, r5, r6, pc}
.align 2, 0
_080595DC: .4byte gRoomVars
_080595E0: .4byte sub_080595E4
thumb_func_start sub_080595E4
sub_080595E4: @ 0x080595E4
push {r4, lr}
adds r4, r0, #0
ldr r1, _08059604 @ =gRoomVars
movs r0, #0xff
strb r0, [r1, #0x10]
adds r0, r4, #0
bl sub_08059690
adds r0, r4, #0
bl sub_080596E0
movs r0, #0
bl sub_0805B4D0
pop {r4, pc}
.align 2, 0
_08059604: .4byte gRoomVars
thumb_func_start sub_08059608
sub_08059608: @ 0x08059608
push {r4, lr}
adds r4, r0, #0
adds r4, #0x23
ldrb r0, [r4]
cmp r0, #0
beq _08059638
subs r0, #1
strb r0, [r4]
lsls r0, r0, #0x18
cmp r0, #0
bne _08059682
ldr r0, _08059634 @ =gArea
movs r2, #0x86
lsls r2, r2, #4
adds r1, r0, r2
adds r2, #4
adds r0, r0, r2
ldr r0, [r0]
str r0, [r1]
bl SoundReq
b _08059682
.align 2, 0
_08059634: .4byte gArea
_08059638:
bl sub_0805986C
cmp r0, #0
beq _08059668
ldr r0, _0805965C @ =gArea
ldr r2, _08059660 @ =0x00000864
adds r1, r0, r2
ldr r0, [r1]
cmp r0, #0x1e
beq _08059682
movs r0, #0x1e
str r0, [r1]
movs r0, #0x78
strb r0, [r4]
ldr r0, _08059664 @ =0x800D0000
bl SoundReq
b _08059682
.align 2, 0
_0805965C: .4byte gArea
_08059660: .4byte 0x00000864
_08059664: .4byte 0x800D0000
_08059668:
ldr r0, _08059684 @ =gArea
ldr r2, _08059688 @ =0x00000864
adds r1, r0, r2
ldr r0, [r1]
cmp r0, #0x37
beq _08059682
movs r0, #0x37
str r0, [r1]
movs r0, #0x78
strb r0, [r4]
ldr r0, _0805968C @ =0x800D0000
bl SoundReq
_08059682:
pop {r4, pc}
.align 2, 0
_08059684: .4byte gArea
_08059688: .4byte 0x00000864
_0805968C: .4byte 0x800D0000
thumb_func_start sub_08059690
sub_08059690: @ 0x08059690
push {r4, lr}
adds r4, r0, #0
bl sub_08059844
cmp r0, #0
beq _080596BC
adds r4, #0x20
ldrb r0, [r4]
cmp r0, #0
beq _080596D8
ldr r0, _080596B8 @ =gUnk_085A7320
movs r2, #0xd0
lsls r2, r2, #1
adds r1, r0, r2
ldrb r2, [r4]
bl sub_08059894
ldrb r0, [r4]
subs r0, #1
b _080596D6
.align 2, 0
_080596B8: .4byte gUnk_085A7320
_080596BC:
adds r4, #0x20
ldrb r0, [r4]
cmp r0, #0x1f
bhi _080596D8
ldr r0, _080596DC @ =gUnk_085A7320
movs r2, #0xd0
lsls r2, r2, #1
adds r1, r0, r2
ldrb r2, [r4]
bl sub_08059894
ldrb r0, [r4]
adds r0, #1
_080596D6:
strb r0, [r4]
_080596D8:
pop {r4, pc}
.align 2, 0
_080596DC: .4byte gUnk_085A7320
thumb_func_start sub_080596E0
sub_080596E0: @ 0x080596E0
push {r4, r5, r6, lr}
adds r4, r0, #0
ldr r0, _08059730 @ =gScreenTransition
ldr r0, [r0]
movs r1, #7
ands r0, r1
cmp r0, #0
bne _080596FC
ldr r0, _08059734 @ =gScreen
ldrh r1, [r0, #0x16]
adds r1, #8
movs r2, #0x1f
ands r1, r2
strh r1, [r0, #0x16]
_080596FC:
bl sub_0805986C
cmp r0, #0
beq _08059740
adds r0, r4, #0
adds r0, #0x21
ldrb r1, [r0]
adds r5, r0, #0
adds r2, r4, #0
adds r2, #0x22
cmp r1, #0
bne _08059764
ldrb r0, [r2]
cmp r0, #2
beq _08059764
movs r0, #1
strb r0, [r5]
movs r0, #3
strb r0, [r2]
ldr r0, _08059738 @ =gUnk_08108390
ldrb r0, [r0, #3]
strb r0, [r4, #0xe]
ldr r0, _0805973C @ =gUnk_0200B650
str r1, [r0]
b _08059764
.align 2, 0
_08059730: .4byte gScreenTransition
_08059734: .4byte gScreen
_08059738: .4byte gUnk_08108390
_0805973C: .4byte gUnk_0200B650
_08059740:
adds r0, r4, #0
adds r0, #0x21
ldrb r1, [r0]
adds r5, r0, #0
adds r2, r4, #0
adds r2, #0x22
cmp r1, #0
bne _08059764
ldrb r0, [r2]
cmp r0, #5
beq _08059764
movs r0, #2
strb r0, [r5]
ldr r1, _08059774 @ =gUnk_08108390
ldrb r0, [r2]
adds r0, r0, r1
ldrb r0, [r0]
strb r0, [r4, #0xe]
_08059764:
adds r6, r5, #0
ldrb r0, [r6]
cmp r0, #1
beq _08059778
cmp r0, #2
beq _080597A8
b _080597D0
.align 2, 0
_08059774: .4byte gUnk_08108390
_08059778:
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
movs r3, #0xff
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
cmp r5, #0
bne _080597D0
ldr r1, _080597A4 @ =gUnk_08108390
ldrb r0, [r2]
subs r0, #1
strb r0, [r2]
ands r0, r3
adds r0, r0, r1
ldrb r0, [r0]
strb r0, [r4, #0xe]
ldrb r0, [r2]
cmp r0, #2
bne _080597D0
strb r5, [r6]
b _080597D0
.align 2, 0
_080597A4: .4byte gUnk_08108390
_080597A8:
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
movs r3, #0xff
lsls r0, r0, #0x18
lsrs r6, r0, #0x18
cmp r6, #0
bne _080597D0
ldr r1, _080597EC @ =gUnk_08108390
ldrb r0, [r2]
adds r0, #1
strb r0, [r2]
ands r0, r3
adds r0, r0, r1
ldrb r0, [r0]
strb r0, [r4, #0xe]
ldrb r0, [r2]
cmp r0, #5
bne _080597D0
strb r6, [r5]
_080597D0:
ldr r3, _080597F0 @ =gRoomVars
ldrb r1, [r2]
ldrb r0, [r3, #0x10]
cmp r0, r1
beq _08059838
strb r1, [r3, #0x10]
ldrb r0, [r2]
cmp r0, #4
beq _08059800
cmp r0, #4
ble _080597F4
cmp r0, #5
beq _08059824
b _08059838
.align 2, 0
_080597EC: .4byte gUnk_08108390
_080597F0: .4byte gRoomVars
_080597F4:
cmp r0, #0
blt _08059838
adds r0, #0x2b
bl LoadGfxGroup
b _08059838
_08059800:
ldr r4, _0805981C @ =gBG3Buffer
movs r5, #0x80
lsls r5, r5, #4
adds r0, r4, #0
adds r1, r5, #0
bl MemClear
ldr r1, _08059820 @ =0x0600E800
adds r0, r4, #0
adds r2, r5, #0
bl LoadResourceAsync
b _08059838
.align 2, 0
_0805981C: .4byte gBG3Buffer
_08059820: .4byte 0x0600E800
_08059824:
ldr r0, _0805983C @ =gUnk_0200B650
ldr r1, _08059840 @ =gBG1Settings
str r1, [r0]
subs r1, #0x14
ldrh r2, [r1]
movs r3, #0x80
lsls r3, r3, #2
adds r0, r3, #0
orrs r0, r2
strh r0, [r1]
_08059838:
pop {r4, r5, r6, pc}
.align 2, 0
_0805983C: .4byte gUnk_0200B650
_08059840: .4byte gBG1Settings
thumb_func_start sub_08059844
sub_08059844: @ 0x08059844
push {lr}
movs r3, #0
ldr r0, _08059864 @ =gPlayerEntity
movs r2, #0x2e
ldrsh r1, [r0, r2]
ldr r2, _08059868 @ =gRoomControls
ldrh r0, [r2, #6]
subs r1, r1, r0
ldrh r0, [r2, #0x1e]
lsrs r0, r0, #1
cmp r1, r0
ble _0805985E
movs r3, #1
_0805985E:
adds r0, r3, #0
pop {pc}
.align 2, 0
_08059864: .4byte gPlayerEntity
_08059868: .4byte gRoomControls
thumb_func_start sub_0805986C
sub_0805986C: @ 0x0805986C
push {lr}
movs r2, #0
ldr r0, _0805988C @ =gPlayerEntity
movs r3, #0x2e
ldrsh r1, [r0, r3]
ldr r0, _08059890 @ =gRoomControls
ldrh r0, [r0, #6]
subs r1, r1, r0
movs r0, #0x80
lsls r0, r0, #2
cmp r1, r0
ble _08059886
movs r2, #1
_08059886:
adds r0, r2, #0
pop {pc}
.align 2, 0
_0805988C: .4byte gPlayerEntity
_08059890: .4byte gRoomControls
thumb_func_start sub_08059894
sub_08059894: @ 0x08059894
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
adds r5, r0, #0
adds r4, r1, #0
ldr r0, _080598E8 @ =gUnk_020176E0
mov sb, r0
movs r6, #0
lsls r2, r2, #0x18
mov r8, r2
_080598AA:
adds r0, r5, #0
adds r1, r4, #0
mov r2, sb
mov r7, r8
lsrs r3, r7, #0x18
bl sub_08059960
adds r5, #0x20
adds r4, #0x20
movs r0, #0x20
add sb, r0
adds r6, #1
cmp r6, #0xc
bls _080598AA
ldr r0, _080598EC @ =gUnk_02017700
movs r2, #0x90
lsls r2, r2, #2
adds r1, r0, r2
movs r2, #0x20
bl MemCopy
ldr r2, _080598F0 @ =gUsedPalettes
ldr r0, [r2]
ldr r1, _080598F4 @ =0x00207FFC
orrs r0, r1
str r0, [r2]
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080598E8: .4byte gUnk_020176E0
_080598EC: .4byte gUnk_02017700
_080598F0: .4byte gUsedPalettes
_080598F4: .4byte 0x00207FFC
thumb_func_start sub_080598F8
sub_080598F8: @ 0x080598F8
push {r4, r5, r6, r7, lr}
movs r4, #0x1f
adds r3, r0, #0
ands r3, r4
lsls r6, r3, #8
adds r3, r6, #0
muls r3, r2, r3
lsrs r6, r3, #5
adds r3, r1, #0
ands r3, r4
lsls r3, r3, #8
movs r4, #0x20
subs r4, r4, r2
muls r3, r4, r3
lsrs r3, r3, #5
adds r3, r6, r3
lsrs r6, r3, #8
movs r5, #0xf8
lsls r5, r5, #2
adds r3, r0, #0
ands r3, r5
lsls r7, r3, #3
adds r3, r7, #0
muls r3, r2, r3
lsrs r7, r3, #5
adds r3, r1, #0
ands r3, r5
lsls r3, r3, #3
muls r3, r4, r3
lsrs r3, r3, #5
adds r3, r7, r3
lsrs r7, r3, #8
movs r3, #0xf8
lsls r3, r3, #7
ands r0, r3
lsrs r5, r0, #2
adds r0, r5, #0
muls r0, r2, r0
lsrs r5, r0, #5
ands r1, r3
lsrs r0, r1, #2
muls r0, r4, r0
lsrs r0, r0, #5
adds r0, r5, r0
lsrs r5, r0, #8
lsls r0, r7, #5
orrs r6, r0
lsls r0, r5, #0xa
orrs r6, r0
adds r0, r6, #0
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start sub_08059960
sub_08059960: @ 0x08059960
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r6, r0, #0
adds r5, r1, #0
adds r4, r2, #0
lsls r3, r3, #0x18
lsrs r3, r3, #0x18
mov r8, r3
movs r7, #0
_08059974:
ldrh r0, [r6]
adds r6, #2
ldrh r1, [r5]
adds r5, #2
mov r2, r8
bl sub_080598F8
strh r0, [r4]
adds r4, #2
adds r7, #1
cmp r7, #0xf
bls _08059974
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start sub_08059994
sub_08059994: @ 0x08059994
push {lr}
bl sub_0805986C
cmp r0, #0
beq _080599AE
movs r0, #0x5b
bl LoadPaletteGroup
ldr r0, _080599B0 @ =gArea
ldr r1, _080599B4 @ =0x00000864
adds r0, r0, r1
movs r1, #0x1e
str r1, [r0]
_080599AE:
pop {pc}
.align 2, 0
_080599B0: .4byte gArea
_080599B4: .4byte 0x00000864
-462
View File
@@ -1,462 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_080599EC
sub_080599EC: @ 0x080599EC
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _08059A20
movs r0, #1
strb r0, [r4, #0xc]
adds r1, r4, #0
adds r1, #0x22
movs r0, #0xff
strb r0, [r1]
subs r1, #1
movs r0, #1
rsbs r0, r0, #0
strb r0, [r1]
subs r1, #1
strb r0, [r1]
ldr r1, _08059A28 @ =sub_08059A2C
adds r0, r4, #0
movs r2, #0
bl sub_08052D74
adds r0, r4, #0
movs r1, #6
bl sub_0805E3A0
_08059A20:
adds r0, r4, #0
bl sub_08059A58
pop {r4, pc}
.align 2, 0
_08059A28: .4byte sub_08059A2C
thumb_func_start sub_08059A2C
sub_08059A2C: @ 0x08059A2C
push {lr}
adds r2, r0, #0
ldr r1, _08059A54 @ =gRoomVars
movs r0, #0xff
strb r0, [r1, #0x12]
movs r0, #1
rsbs r0, r0, #0
strb r0, [r1, #0x11]
strb r0, [r1, #0x10]
adds r1, r2, #0
adds r1, #0x22
strb r0, [r1]
subs r1, #1
strb r0, [r1]
subs r1, #1
strb r0, [r1]
adds r0, r2, #0
bl sub_08059A58
pop {pc}
.align 2, 0
_08059A54: .4byte gRoomVars
thumb_func_start sub_08059A58
sub_08059A58: @ 0x08059A58
push {r4, r5, lr}
adds r5, r0, #0
ldr r0, _08059AC4 @ =gRoomControls
ldrb r0, [r0, #4]
cmp r0, #0x15
beq _08059AD4
adds r4, r5, #0
adds r4, #0x20
ldr r3, _08059AC8 @ =gUnk_08108398
adds r0, r5, #0
movs r1, #0
adds r2, r4, #0
bl sub_08059C8C
cmp r0, #0
beq _08059A80
ldrb r1, [r4]
movs r0, #0
bl sub_08059CC0
_08059A80:
adds r4, r5, #0
adds r4, #0x21
ldr r3, _08059ACC @ =gUnk_081083AE
adds r0, r5, #0
movs r1, #1
adds r2, r4, #0
bl sub_08059C8C
cmp r0, #0
beq _08059AA6
ldrb r1, [r4]
movs r0, #1
bl sub_08059CC0
ldrb r0, [r4]
cmp r0, #2
bne _08059AA6
bl sub_08059B18
_08059AA6:
adds r4, r5, #0
adds r4, #0x22
ldr r3, _08059AD0 @ =gUnk_081083C4
adds r0, r5, #0
movs r1, #2
adds r2, r4, #0
bl sub_08059C8C
cmp r0, #0
beq _08059B0C
ldrb r1, [r4]
movs r0, #2
bl sub_08059CC0
b _08059B0C
.align 2, 0
_08059AC4: .4byte gRoomControls
_08059AC8: .4byte gUnk_08108398
_08059ACC: .4byte gUnk_081083AE
_08059AD0: .4byte gUnk_081083C4
_08059AD4:
adds r4, r5, #0
adds r4, #0x20
ldr r3, _08059B10 @ =gUnk_081083DA
adds r0, r5, #0
movs r1, #0
adds r2, r4, #0
bl sub_08059C8C
cmp r0, #0
beq _08059AF0
ldrb r1, [r4]
movs r0, #0
bl sub_08059CC0
_08059AF0:
adds r4, r5, #0
adds r4, #0x22
ldr r3, _08059B14 @ =gUnk_081083F2
adds r0, r5, #0
movs r1, #2
adds r2, r4, #0
bl sub_08059C8C
cmp r0, #0
beq _08059B0C
ldrb r1, [r4]
movs r0, #2
bl sub_08059CC0
_08059B0C:
pop {r4, r5, pc}
.align 2, 0
_08059B10: .4byte gUnk_081083DA
_08059B14: .4byte gUnk_081083F2
thumb_func_start sub_08059B18
sub_08059B18: @ 0x08059B18
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
sub sp, #4
movs r0, #0x18
bl CheckGlobalFlag
cmp r0, #0
beq _08059BEC
movs r6, #0
movs r0, #0x3f
mov sb, r0
movs r2, #0xc4
lsls r2, r2, #1
mov r8, r2
_08059B38:
movs r5, #0
lsls r1, r6, #4
mov r2, r8
lsrs r0, r2, #4
mov r2, sb
ands r0, r2
lsls r3, r0, #6
movs r7, #0x28
ldr r0, _08059BD8 @ =0x000004AB
adds r4, r1, r0
_08059B4C:
lsrs r1, r7, #4
mov r2, sb
ands r1, r2
orrs r1, r3
adds r0, r4, #0
movs r2, #1
str r3, [sp]
bl sub_0807B9B8
adds r7, #0x10
adds r4, #1
adds r5, #1
ldr r3, [sp]
cmp r5, #3
bls _08059B4C
movs r0, #0x10
add r8, r0
adds r6, #1
cmp r6, #3
bls _08059B38
movs r6, #0
movs r3, #0x3f
_08059B78:
movs r5, #0
lsls r1, r6, #4
adds r6, #1
mov r8, r6
movs r2, #0xc4
lsls r2, r2, #1
adds r0, r1, r2
lsrs r0, r0, #4
ands r0, r3
lsls r7, r0, #6
movs r6, #0x28
movs r0, #0x88
lsls r0, r0, #3
adds r4, r1, r0
_08059B94:
lsrs r1, r6, #4
ands r1, r3
orrs r1, r7
adds r0, r4, #0
movs r2, #2
str r3, [sp]
bl sub_0807B9B8
adds r6, #0x10
adds r4, #1
adds r5, #1
ldr r3, [sp]
cmp r5, #3
bls _08059B94
mov r6, r8
cmp r6, #2
bls _08059B78
ldr r1, _08059BDC @ =0x000005C2
movs r0, #0xd6
movs r2, #2
bl sub_0807B9B8
ldr r1, _08059BE0 @ =0x000005C3
movs r0, #0xd7
movs r2, #2
bl sub_0807B9B8
ldr r0, _08059BE4 @ =gUnk_086E8460
ldr r1, _08059BE8 @ =0x06001800
movs r2, #0x80
lsls r2, r2, #4
bl LoadResourceAsync
b _08059C5E
.align 2, 0
_08059BD8: .4byte 0x000004AB
_08059BDC: .4byte 0x000005C2
_08059BE0: .4byte 0x000005C3
_08059BE4: .4byte gUnk_086E8460
_08059BE8: .4byte 0x06001800
_08059BEC:
movs r0, #0x19
bl CheckGlobalFlag
cmp r0, #0
beq _08059C5E
movs r6, #0
movs r3, #0x3f
_08059BFA:
movs r5, #0
lsls r1, r6, #4
adds r6, #1
mov r8, r6
movs r2, #0xc4
lsls r2, r2, #1
adds r0, r1, r2
lsrs r0, r0, #4
ands r0, r3
lsls r7, r0, #6
movs r6, #0x28
ldr r0, _08059C68 @ =0x000004A6
adds r4, r1, r0
_08059C14:
lsrs r1, r6, #4
ands r1, r3
orrs r1, r7
adds r0, r4, #0
movs r2, #1
str r3, [sp]
bl sub_0807B9B8
adds r6, #0x10
adds r4, #1
adds r5, #1
ldr r3, [sp]
cmp r5, #3
bls _08059C14
mov r6, r8
cmp r6, #4
bls _08059BFA
ldr r0, _08059C6C @ =0x00000444
ldr r1, _08059C70 @ =0x00000602
movs r2, #2
bl sub_0807B9B8
ldr r0, _08059C74 @ =0x00000445
ldr r1, _08059C78 @ =0x00000605
movs r2, #2
bl sub_0807B9B8
ldr r0, _08059C7C @ =0x00000454
ldr r1, _08059C80 @ =0x00000642
movs r2, #2
bl sub_0807B9B8
ldr r0, _08059C84 @ =0x00000455
ldr r1, _08059C88 @ =0x00000645
movs r2, #2
bl sub_0807B9B8
_08059C5E:
add sp, #4
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08059C68: .4byte 0x000004A6
_08059C6C: .4byte 0x00000444
_08059C70: .4byte 0x00000602
_08059C74: .4byte 0x00000445
_08059C78: .4byte 0x00000605
_08059C7C: .4byte 0x00000454
_08059C80: .4byte 0x00000642
_08059C84: .4byte 0x00000455
_08059C88: .4byte 0x00000645
thumb_func_start sub_08059C8C
sub_08059C8C: @ 0x08059C8C
push {r4, r5, lr}
adds r5, r1, #0
adds r4, r2, #0
adds r0, r3, #0
bl sub_08056300
adds r2, r0, #0
strb r2, [r4]
lsls r0, r2, #0x18
lsrs r3, r0, #0x18
cmp r3, #0xff
beq _08059CBC
ldr r0, _08059CB8 @ =gRoomVars
adds r0, #0x10
adds r1, r5, r0
ldrb r0, [r1]
cmp r0, r3
beq _08059CBC
strb r2, [r1]
movs r0, #1
b _08059CBE
.align 2, 0
_08059CB8: .4byte gRoomVars
_08059CBC:
movs r0, #0
_08059CBE:
pop {r4, r5, pc}
thumb_func_start sub_08059CC0
sub_08059CC0: @ 0x08059CC0
push {r4, r5, r6, lr}
adds r2, r1, #0
ldr r1, _08059CDC @ =gRoomVars
adds r1, #0x10
adds r0, r0, r1
strb r2, [r0]
ldr r0, _08059CE0 @ =gRoomControls
ldrb r0, [r0, #4]
cmp r0, #0x15
beq _08059CE8
lsls r1, r2, #4
ldr r0, _08059CE4 @ =gUnk_08108408
b _08059CEC
.align 2, 0
_08059CDC: .4byte gRoomVars
_08059CE0: .4byte gRoomControls
_08059CE4: .4byte gUnk_08108408
_08059CE8:
lsls r1, r2, #4
ldr r0, _08059D10 @ =gUnk_08108468
_08059CEC:
adds r6, r1, r0
ldr r0, [r6]
ldr r4, _08059D14 @ =gGlobalGfxAndPalettes
adds r0, r0, r4
ldr r1, [r6, #4]
movs r5, #0x80
lsls r5, r5, #5
adds r2, r5, #0
bl LoadResourceAsync
ldr r0, [r6, #8]
adds r0, r0, r4
ldr r1, [r6, #0xc]
adds r2, r5, #0
bl LoadResourceAsync
pop {r4, r5, r6, pc}
.align 2, 0
_08059D10: .4byte gUnk_08108468
_08059D14: .4byte gGlobalGfxAndPalettes
thumb_func_start TryLoadPrologueHyruleTown
TryLoadPrologueHyruleTown: @ 0x08059D18
push {r4, lr}
ldr r0, _08059D68 @ =gRoomControls
ldrb r0, [r0, #4]
cmp r0, #0x15
beq _08059D78
ldr r0, _08059D6C @ =gUnk_08108398
bl sub_08056300
adds r4, r0, #0
cmp r4, #0xff
beq _08059D36
movs r0, #0
adds r1, r4, #0
bl sub_08059CC0
_08059D36:
ldr r0, _08059D70 @ =gUnk_081083AE
bl sub_08056300
adds r4, r0, #0
cmp r4, #0xff
beq _08059D52
movs r0, #1
adds r1, r4, #0
bl sub_08059CC0
cmp r4, #2
bne _08059D52
bl sub_08059B18
_08059D52:
ldr r0, _08059D74 @ =gUnk_081083C4
bl sub_08056300
adds r4, r0, #0
cmp r4, #0xff
beq _08059DA0
movs r0, #2
adds r1, r4, #0
bl sub_08059CC0
b _08059DA0
.align 2, 0
_08059D68: .4byte gRoomControls
_08059D6C: .4byte gUnk_08108398
_08059D70: .4byte gUnk_081083AE
_08059D74: .4byte gUnk_081083C4
_08059D78:
ldr r0, _08059DA4 @ =gUnk_081083DA
bl sub_08056300
adds r4, r0, #0
cmp r4, #0xff
beq _08059D8C
movs r0, #0
adds r1, r4, #0
bl sub_08059CC0
_08059D8C:
ldr r0, _08059DA8 @ =gUnk_081083F2
bl sub_08056300
adds r4, r0, #0
cmp r4, #0xff
beq _08059DA0
movs r0, #2
adds r1, r4, #0
bl sub_08059CC0
_08059DA0:
pop {r4, pc}
.align 2, 0
_08059DA4: .4byte gUnk_081083DA
_08059DA8: .4byte gUnk_081083F2
-97
View File
@@ -1,97 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08059DAC
sub_08059DAC: @ 0x08059DAC
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r5, r0, #0
ldrb r0, [r5, #0xc]
cmp r0, #0
bne _08059DBE
movs r0, #1
strb r0, [r5, #0xc]
_08059DBE:
ldr r1, _08059E4C @ =gRoomControls
ldrb r0, [r1, #4]
ldr r4, _08059E50 @ =gUnk_081084C8
cmp r0, #0x15
bne _08059DCA
ldr r4, _08059E54 @ =gUnk_08108530
_08059DCA:
movs r7, #0
ldrh r0, [r4]
cmp r0, #0
beq _08059E46
mov r8, r1
_08059DD4:
movs r6, #1
lsls r6, r7
ldr r0, [r5, #0x20]
ands r0, r6
cmp r0, #0
bne _08059E38
ldrh r0, [r4]
ldrh r1, [r4, #2]
movs r2, #0x10
movs r3, #0x10
bl CheckRectOnScreen
cmp r0, #0
beq _08059E38
ldrb r1, [r4, #4]
movs r0, #0x1c
adds r2, r7, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _08059E38
ldrb r0, [r4, #5]
strb r0, [r2, #0x1e]
ldrh r0, [r4]
mov r1, r8
ldrh r1, [r1, #6]
adds r0, r0, r1
strh r0, [r2, #0x2e]
ldrh r0, [r4, #2]
mov r3, r8
ldrh r3, [r3, #8]
adds r0, r0, r3
strh r0, [r2, #0x32]
str r5, [r2, #0x50]
ldrh r1, [r4]
adds r0, r2, #0
adds r0, #0x80
strh r1, [r0]
ldrh r0, [r4, #2]
adds r1, r2, #0
adds r1, #0x82
strh r0, [r1]
ldrb r1, [r4, #6]
adds r0, r2, #0
adds r0, #0x38
strb r1, [r0]
ldr r0, [r5, #0x20]
orrs r0, r6
str r0, [r5, #0x20]
_08059E38:
adds r4, #8
adds r7, #1
ldrh r0, [r4]
cmp r0, #0
beq _08059E46
cmp r7, #0x1f
bls _08059DD4
_08059E46:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08059E4C: .4byte gRoomControls
_08059E50: .4byte gUnk_081084C8
_08059E54: .4byte gUnk_08108530
-519
View File
@@ -1,519 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08059E58
sub_08059E58: @ 0x08059E58
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x20]
adds r0, #1
strh r0, [r4, #0x20]
ldr r1, _08059E7C @ =gUnk_081085A4
ldrb r0, [r4, #0xc]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
adds r0, r4, #0
bl sub_0805A1D8
pop {r4, pc}
.align 2, 0
_08059E7C: .4byte gUnk_081085A4
thumb_func_start sub_08059E80
sub_08059E80: @ 0x08059E80
push {r4, r5, lr}
adds r4, r0, #0
bl EntityHasDuplicateID
cmp r0, #0
beq _08059E90
bl DeleteThisEntity
_08059E90:
adds r1, r4, #0
adds r1, #0x22
movs r2, #0
movs r0, #1
strb r0, [r1]
movs r0, #0
strh r2, [r4, #0x20]
strb r0, [r4, #0xe]
movs r0, #4
strb r0, [r4, #0xf]
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x10]
movs r0, #0x20
orrs r0, r1
strb r0, [r4, #0x10]
ldr r3, _08059EE4 @ =gScreen
ldr r0, _08059EE8 @ =0x00001E04
strh r0, [r3, #0x2c]
ldrh r0, [r3]
movs r5, #0x80
lsls r5, r5, #4
adds r1, r5, #0
orrs r0, r1
strh r0, [r3]
adds r1, r3, #0
adds r1, #0x66
ldr r0, _08059EEC @ =0x00003E48
strh r0, [r1]
adds r1, #2
movs r0, #0x80
lsls r0, r0, #5
strh r0, [r1]
movs r0, #0x80
strh r0, [r3, #0x2e]
strh r2, [r3, #0x30]
ldr r1, _08059EF0 @ =nullsub_495
ldr r2, _08059EF4 @ =sub_0805A25C
adds r0, r4, #0
bl sub_08052D74
pop {r4, r5, pc}
.align 2, 0
_08059EE4: .4byte gScreen
_08059EE8: .4byte 0x00001E04
_08059EEC: .4byte 0x00003E48
_08059EF0: .4byte nullsub_495
_08059EF4: .4byte sub_0805A25C
thumb_func_start sub_08059EF8
sub_08059EF8: @ 0x08059EF8
push {r4, r5, r6, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
movs r6, #0xff
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
cmp r5, #0
bne _08059F90
movs r0, #4
strb r0, [r4, #0xf]
adds r0, r4, #0
bl sub_08059F9C
cmp r0, #0
beq _08059F64
ldr r2, _08059F50 @ =gUnk_08108588
ldrb r0, [r4, #0xe]
lsls r0, r0, #1
adds r0, r0, r2
ldrh r1, [r0]
ldr r0, _08059F54 @ =0x00000808
cmp r1, r0
beq _08059F5C
adds r1, r4, #0
adds r1, #0x22
movs r0, #1
strb r0, [r1]
adds r0, r4, #0
adds r0, #0x24
strb r5, [r0]
ldr r1, _08059F58 @ =gScreen
ldrb r0, [r4, #0xe]
adds r0, #1
strb r0, [r4, #0xe]
ands r0, r6
lsls r0, r0, #1
adds r0, r0, r2
ldrh r0, [r0]
adds r1, #0x68
strh r0, [r1]
b _08059F90
.align 2, 0
_08059F50: .4byte gUnk_08108588
_08059F54: .4byte 0x00000808
_08059F58: .4byte gScreen
_08059F5C:
adds r0, r4, #0
adds r0, #0x22
strb r5, [r0]
b _08059F90
_08059F64:
adds r1, r4, #0
adds r1, #0x22
movs r0, #1
strb r0, [r1]
ldr r3, _08059F94 @ =gUnk_08108588
ldrb r2, [r4, #0xe]
lsls r0, r2, #1
adds r0, r0, r3
ldrh r1, [r0]
movs r0, #0x80
lsls r0, r0, #5
cmp r1, r0
beq _08059F90
ldr r0, _08059F98 @ =gScreen
subs r1, r2, #1
strb r1, [r4, #0xe]
ands r1, r6
lsls r1, r1, #1
adds r1, r1, r3
ldrh r1, [r1]
adds r0, #0x68
strh r1, [r0]
_08059F90:
pop {r4, r5, r6, pc}
.align 2, 0
_08059F94: .4byte gUnk_08108588
_08059F98: .4byte gScreen
thumb_func_start sub_08059F9C
sub_08059F9C: @ 0x08059F9C
push {r4, lr}
adds r4, r0, #0
ldr r0, _08059FB4 @ =gRoomControls
ldrb r0, [r0, #5]
cmp r0, #0x17
bhi _0805A03A
lsls r0, r0, #2
ldr r1, _08059FB8 @ =_08059FBC
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08059FB4: .4byte gRoomControls
_08059FB8: .4byte _08059FBC
_08059FBC: @ jump table
.4byte _0805A036 @ case 0
.4byte _0805A01C @ case 1
.4byte _0805A03A @ case 2
.4byte _0805A03A @ case 3
.4byte _0805A03A @ case 4
.4byte _0805A03A @ case 5
.4byte _0805A03A @ case 6
.4byte _0805A02A @ case 7
.4byte _0805A036 @ case 8
.4byte _0805A036 @ case 9
.4byte _0805A03A @ case 10
.4byte _0805A03A @ case 11
.4byte _0805A03A @ case 12
.4byte _0805A03A @ case 13
.4byte _0805A03A @ case 14
.4byte _0805A03A @ case 15
.4byte _0805A03A @ case 16
.4byte _0805A03A @ case 17
.4byte _0805A03A @ case 18
.4byte _0805A03A @ case 19
.4byte _0805A03A @ case 20
.4byte _0805A03A @ case 21
.4byte _0805A03A @ case 22
.4byte _0805A036 @ case 23
_0805A01C:
movs r0, #0x16
bl CheckLocalFlag
cmp r0, #0
beq _0805A02A
movs r0, #0
b _0805A03C
_0805A02A:
adds r0, r4, #0
bl sub_0805A25C
bl DeleteThisEntity
b _0805A03C
_0805A036:
movs r0, #1
b _0805A03C
_0805A03A:
movs r0, #0
_0805A03C:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805A040
sub_0805A040: @ 0x0805A040
push {lr}
bl sub_0805A098
pop {pc}
thumb_func_start sub_0805A048
sub_0805A048: @ 0x0805A048
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805A086
movs r0, #4
strb r0, [r4, #0xf]
ldr r2, _0805A090 @ =gScreen
ldr r3, _0805A094 @ =gUnk_08108588
ldrb r0, [r4, #0xe]
adds r1, r0, #1
strb r1, [r4, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x17
adds r0, r0, r3
ldrh r0, [r0]
adds r2, #0x68
strh r0, [r2]
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
cmp r1, #9
bne _0805A086
movs r0, #1
strb r0, [r4, #0xc]
adds r1, r4, #0
adds r1, #0x22
movs r0, #0
strb r0, [r1]
_0805A086:
adds r0, r4, #0
bl sub_0805A098
pop {r4, pc}
.align 2, 0
_0805A090: .4byte gScreen
_0805A094: .4byte gUnk_08108588
thumb_func_start sub_0805A098
sub_0805A098: @ 0x0805A098
push {lr}
adds r1, r0, #0
ldr r0, _0805A0B0 @ =gRoomControls
ldrb r0, [r0, #5]
cmp r0, #9
bgt _0805A0B4
cmp r0, #8
bge _0805A0BC
cmp r0, #0
beq _0805A0BC
b _0805A0B8
.align 2, 0
_0805A0B0: .4byte gRoomControls
_0805A0B4:
cmp r0, #0x17
beq _0805A0BC
_0805A0B8:
movs r0, #3
strb r0, [r1, #0xc]
_0805A0BC:
pop {pc}
.align 2, 0
thumb_func_start sub_0805A0C0
sub_0805A0C0: @ 0x0805A0C0
push {r4, lr}
adds r3, r0, #0
ldrb r0, [r3, #0xf]
subs r0, #1
strb r0, [r3, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805A106
movs r0, #4
strb r0, [r3, #0xf]
ldr r4, _0805A108 @ =gScreen
ldr r2, _0805A10C @ =gUnk_08108588
ldrb r0, [r3, #0xe]
adds r1, r0, #0
adds r1, #0xff
strb r1, [r3, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x17
adds r0, r0, r2
ldrh r2, [r0]
adds r0, r4, #0
adds r0, #0x68
strh r2, [r0]
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
cmp r1, #0xff
bne _0805A106
ldrh r1, [r4]
ldr r0, _0805A110 @ =0x0000F7FF
ands r0, r1
strh r0, [r4]
bl sub_08056250
bl DeleteThisEntity
_0805A106:
pop {r4, pc}
.align 2, 0
_0805A108: .4byte gScreen
_0805A10C: .4byte gUnk_08108588
_0805A110: .4byte 0x0000F7FF
thumb_func_start sub_0805A114
sub_0805A114: @ 0x0805A114
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
adds r7, r0, #0
adds r6, r1, #0
ldr r2, _0805A154 @ =gUnk_03003DE4
ldrb r1, [r2]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
ldr r1, _0805A158 @ =gUnk_02017AA0
adds r4, r0, r1
movs r5, #0
mov r8, r2
mov sb, r1
ldr r2, _0805A15C @ =gScreen
ldr r0, _0805A160 @ =gSineTable
mov ip, r0
_0805A13A:
movs r1, #0x30
ldrsh r0, [r2, r1]
adds r3, r5, r0
asrs r1, r3, #3
movs r0, #7
ands r1, r0
cmp r1, #7
bhi _0805A190
lsls r0, r1, #2
ldr r1, _0805A164 @ =_0805A168
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0805A154: .4byte gUnk_03003DE4
_0805A158: .4byte gUnk_02017AA0
_0805A15C: .4byte gScreen
_0805A160: .4byte gSineTable
_0805A164: .4byte _0805A168
_0805A168: @ jump table
.4byte _0805A190 @ case 0
.4byte _0805A18C @ case 1
.4byte _0805A190 @ case 2
.4byte _0805A190 @ case 3
.4byte _0805A188 @ case 4
.4byte _0805A190 @ case 5
.4byte _0805A190 @ case 6
.4byte _0805A18C @ case 7
_0805A188:
subs r3, #8
b _0805A190
_0805A18C:
movs r0, #0xf0
b _0805A192
_0805A190:
movs r0, #0xf8
_0805A192:
ands r3, r0
adds r0, r6, r3
movs r1, #0xff
ands r0, r1
lsls r0, r0, #1
add r0, ip
movs r1, #0
ldrsh r0, [r0, r1]
muls r0, r7, r0
lsrs r0, r0, #8
ldrh r1, [r2, #0x2e]
adds r0, r0, r1
strh r0, [r4]
adds r4, #2
adds r5, #1
cmp r5, #0x9f
ble _0805A13A
mov r0, r8
ldrb r1, [r0]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
add r0, sb
ldr r1, _0805A1D0 @ =0x0400001C
ldr r2, _0805A1D4 @ =0xA2600001
bl sub_0805622C
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805A1D0: .4byte 0x0400001C
_0805A1D4: .4byte 0xA2600001
thumb_func_start sub_0805A1D8
sub_0805A1D8: @ 0x0805A1D8
push {r4, r5, lr}
adds r4, r0, #0
ldr r1, _0805A244 @ =gRoomControls
ldr r0, [r1, #0x28]
ldr r2, _0805A248 @ =0xFFFFF000
adds r0, r0, r2
str r0, [r1, #0x28]
ldr r5, _0805A24C @ =gScreen
ldrh r0, [r1, #0x2a]
strh r0, [r5, #0x2e]
ldr r0, [r1, #0x2c]
adds r0, r0, r2
str r0, [r1, #0x2c]
ldrh r0, [r1, #0x2e]
strh r0, [r5, #0x30]
ldrh r1, [r5]
movs r0, #0x80
lsls r0, r0, #4
ands r0, r1
cmp r0, #0
beq _0805A240
ldrh r1, [r4, #0x20]
lsrs r1, r1, #1
movs r0, #6
bl sub_0805A114
adds r0, r4, #0
adds r0, #0x22
ldrb r0, [r0]
cmp r0, #0
bne _0805A240
ldr r0, _0805A250 @ =gMain
ldrh r1, [r0, #0xc]
movs r0, #0x1f
ands r0, r1
cmp r0, #0
bne _0805A240
adds r2, r4, #0
adds r2, #0x24
ldrb r0, [r2]
adds r0, #1
movs r1, #3
ands r0, r1
strb r0, [r2]
ldr r1, _0805A254 @ =gUnk_0810859A
ldrb r0, [r2]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r1, [r0]
adds r0, r5, #0
adds r0, #0x68
strh r1, [r0]
_0805A240:
pop {r4, r5, pc}
.align 2, 0
_0805A244: .4byte gRoomControls
_0805A248: .4byte 0xFFFFF000
_0805A24C: .4byte gScreen
_0805A250: .4byte gMain
_0805A254: .4byte gUnk_0810859A
thumb_func_start nullsub_495
nullsub_495: @ 0x0805A258
bx lr
.align 2, 0
thumb_func_start sub_0805A25C
sub_0805A25C: @ 0x0805A25C
push {lr}
ldr r1, _0805A278 @ =gScreen
adds r2, r1, #0
adds r2, #0x66
movs r0, #0
strh r0, [r2]
ldrh r2, [r1]
ldr r0, _0805A27C @ =0x0000F7FF
ands r0, r2
strh r0, [r1]
bl sub_08056250
pop {pc}
.align 2, 0
_0805A278: .4byte gScreen
_0805A27C: .4byte 0x0000F7FF
-82
View File
@@ -1,82 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805AD48
sub_0805AD48: @ 0x0805AD48
push {lr}
ldr r2, _0805AD5C @ =gUnk_08108654
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805AD5C: .4byte gUnk_08108654
thumb_func_start sub_0805AD60
sub_0805AD60: @ 0x0805AD60
push {r4, lr}
adds r4, r0, #0
movs r0, #1
strb r0, [r4, #0xc]
ldrh r0, [r4, #0x3c]
bl CheckFlags
cmp r0, #0
beq _0805AD76
bl DeleteThisEntity
_0805AD76:
adds r0, r4, #0
bl sub_0805AD80
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805AD80
sub_0805AD80: @ 0x0805AD80
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805ADD0
ldrb r1, [r4, #0xa]
ldrb r2, [r4, #0xb]
movs r0, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805ADCC
adds r0, r4, #0
adds r0, #0x35
ldrb r0, [r0]
strb r0, [r2, #0xe]
adds r0, r4, #0
adds r0, #0x36
ldrb r1, [r0]
adds r0, r2, #0
adds r0, #0x38
strb r1, [r0]
ldr r1, _0805ADD4 @ =gRoomControls
ldrh r0, [r1, #6]
ldrh r3, [r4, #0x38]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #8]
ldrh r1, [r4, #0x3a]
adds r0, r0, r1
strh r0, [r2, #0x32]
ldrh r1, [r4, #0x3c]
adds r0, r2, #0
adds r0, #0x86
strh r1, [r0]
_0805ADCC:
bl DeleteThisEntity
_0805ADD0:
pop {r4, pc}
.align 2, 0
_0805ADD4: .4byte gRoomControls
-195
View File
@@ -1,195 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805ADD8
sub_0805ADD8: @ 0x0805ADD8
push {r4, lr}
adds r4, r0, #0
cmp r4, #0
bne _0805AE04
ldr r0, _0805ADF8 @ =gArea
ldr r1, _0805ADFC @ =0x0000088C
adds r0, r0, r1
ldr r0, [r0]
ldr r1, _0805AE00 @ =sub_0805AEDC
cmp r0, r1
beq _0805AEC4
movs r0, #0
bl _call_via_r1
b _0805AEC4
.align 2, 0
_0805ADF8: .4byte gArea
_0805ADFC: .4byte 0x0000088C
_0805AE00: .4byte sub_0805AEDC
_0805AE04:
ldrb r2, [r4, #0xc]
cmp r2, #0
bne _0805AE5E
movs r0, #1
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x10]
movs r0, #0x20
orrs r0, r1
strb r0, [r4, #0x10]
strb r2, [r4, #0xe]
movs r0, #8
strb r0, [r4, #0xf]
ldr r0, _0805AE44 @ =gUnk_0810865C
ldrh r0, [r0]
strh r0, [r4, #0x20]
adds r0, r4, #0
movs r1, #6
bl sub_0805E3A0
ldr r0, _0805AE48 @ =gArea
ldr r2, _0805AE4C @ =0x0000088C
adds r0, r0, r2
ldr r0, [r0]
cmp r0, #0
bne _0805AE58
ldr r1, _0805AE50 @ =sub_0805AEDC
ldr r2, _0805AE54 @ =sub_0805AF3C
adds r0, r4, #0
bl sub_08052D74
b _0805AEC4
.align 2, 0
_0805AE44: .4byte gUnk_0810865C
_0805AE48: .4byte gArea
_0805AE4C: .4byte 0x0000088C
_0805AE50: .4byte sub_0805AEDC
_0805AE54: .4byte sub_0805AF3C
_0805AE58:
bl DeleteThisEntity
b _0805AEC4
_0805AE5E:
ldr r2, _0805AEC8 @ =gUnk_0810865C
ldrb r0, [r4, #0xe]
lsls r0, r0, #1
adds r0, r0, r2
ldrh r0, [r0]
ldr r3, _0805AECC @ =gScreen
cmp r0, #0
beq _0805AEA2
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
movs r1, #0xff
lsls r0, r0, #0x18
cmp r0, #0
bne _0805AEA2
movs r0, #4
strb r0, [r4, #0xf]
ldrb r0, [r4, #0xe]
adds r0, #1
strb r0, [r4, #0xe]
ands r0, r1
lsls r0, r0, #1
adds r0, r0, r2
ldrh r0, [r0]
cmp r0, #0
beq _0805AEA2
ldrb r0, [r4, #0xe]
lsls r0, r0, #1
adds r0, r0, r2
ldrh r1, [r0]
strh r1, [r4, #0x20]
adds r0, r3, #0
adds r0, #0x68
strh r1, [r0]
_0805AEA2:
ldr r1, _0805AED0 @ =gRoomControls
ldr r0, [r1, #0x28]
ldr r2, _0805AED4 @ =0xFFFFE000
adds r0, r0, r2
str r0, [r1, #0x28]
ldr r0, [r1, #0x2c]
ldr r2, _0805AED8 @ =0xFFFFF000
adds r0, r0, r2
str r0, [r1, #0x2c]
ldrh r0, [r1, #0x2a]
ldrh r2, [r1, #0xa]
adds r0, r0, r2
strh r0, [r3, #0x2e]
ldrh r0, [r1, #0x2e]
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r3, #0x30]
_0805AEC4:
pop {r4, pc}
.align 2, 0
_0805AEC8: .4byte gUnk_0810865C
_0805AECC: .4byte gScreen
_0805AED0: .4byte gRoomControls
_0805AED4: .4byte 0xFFFFE000
_0805AED8: .4byte 0xFFFFF000
thumb_func_start sub_0805AEDC
sub_0805AEDC: @ 0x0805AEDC
push {r4, lr}
adds r3, r0, #0
ldr r2, _0805AF2C @ =gScreen
ldr r0, _0805AF30 @ =0x00001E05
strh r0, [r2, #0x2c]
ldrh r0, [r2]
movs r4, #0x80
lsls r4, r4, #4
adds r1, r4, #0
orrs r0, r1
strh r0, [r2]
adds r1, r2, #0
adds r1, #0x66
ldr r0, _0805AF34 @ =0x00003648
strh r0, [r1]
movs r0, #0x80
lsls r0, r0, #5
adds r1, r0, #0
cmp r3, #0
beq _0805AF06
ldrh r1, [r3, #0x20]
_0805AF06:
adds r0, r2, #0
adds r0, #0x68
strh r1, [r0]
ldr r1, _0805AF38 @ =gRoomControls
ldrh r0, [r1, #0x2a]
ldrh r4, [r1, #0xa]
adds r0, r0, r4
strh r0, [r2, #0x2e]
ldrh r0, [r1, #0x2e]
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r2, #0x30]
cmp r3, #0
beq _0805AF28
adds r0, r3, #0
bl sub_0805ADD8
_0805AF28:
pop {r4, pc}
.align 2, 0
_0805AF2C: .4byte gScreen
_0805AF30: .4byte 0x00001E05
_0805AF34: .4byte 0x00003648
_0805AF38: .4byte gRoomControls
thumb_func_start sub_0805AF3C
sub_0805AF3C: @ 0x0805AF3C
ldrb r2, [r0, #0x10]
movs r1, #0xdf
ands r1, r2
movs r3, #0
strb r1, [r0, #0x10]
ldr r1, _0805AF58 @ =gScreen
ldrh r2, [r1]
ldr r0, _0805AF5C @ =0x0000F7FF
ands r0, r2
strh r0, [r1]
adds r1, #0x66
strh r3, [r1]
bx lr
.align 2, 0
_0805AF58: .4byte gScreen
_0805AF5C: .4byte 0x0000F7FF
-106
View File
@@ -1,106 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805AF60
sub_0805AF60: @ 0x0805AF60
push {r4, lr}
adds r4, r0, #0
cmp r4, #0
bne _0805AF8C
ldr r0, _0805AF80 @ =gArea
ldr r1, _0805AF84 @ =0x0000088C
adds r0, r0, r1
ldr r0, [r0]
ldr r1, _0805AF88 @ =sub_0805AFFC
cmp r0, r1
beq _0805AFEE
movs r0, #0
bl _call_via_r1
b _0805AFEE
.align 2, 0
_0805AF80: .4byte gArea
_0805AF84: .4byte 0x0000088C
_0805AF88: .4byte sub_0805AFFC
_0805AF8C:
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805AFD2
movs r0, #1
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x10]
movs r0, #0x20
orrs r0, r1
strb r0, [r4, #0x10]
adds r0, r4, #0
movs r1, #6
bl sub_0805E3A0
ldr r0, _0805AFC0 @ =gArea
ldr r2, _0805AFC4 @ =0x0000088C
adds r0, r0, r2
ldr r0, [r0]
cmp r0, #0
bne _0805AFCC
ldr r1, _0805AFC8 @ =sub_0805AFFC
adds r0, r4, #0
movs r2, #0
bl sub_08052D74
b _0805AFEE
.align 2, 0
_0805AFC0: .4byte gArea
_0805AFC4: .4byte 0x0000088C
_0805AFC8: .4byte sub_0805AFFC
_0805AFCC:
bl DeleteThisEntity
b _0805AFEE
_0805AFD2:
ldr r1, _0805AFF0 @ =gRoomControls
ldr r0, [r1, #0x28]
ldr r3, _0805AFF4 @ =0xFFFFE000
adds r0, r0, r3
str r0, [r1, #0x28]
ldr r2, _0805AFF8 @ =gScreen
ldrh r0, [r1, #0x2a]
ldrh r3, [r1, #0xa]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #0x2e]
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r2, #0x30]
_0805AFEE:
pop {r4, pc}
.align 2, 0
_0805AFF0: .4byte gRoomControls
_0805AFF4: .4byte 0xFFFFE000
_0805AFF8: .4byte gScreen
thumb_func_start sub_0805AFFC
sub_0805AFFC: @ 0x0805AFFC
ldr r2, _0805B024 @ =gScreen
ldr r0, _0805B028 @ =0x00001E03
strh r0, [r2, #0x2c]
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
ldr r1, _0805B02C @ =gRoomControls
ldrh r0, [r1, #0x2a]
ldrh r3, [r1, #0xa]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #0x2e]
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r2, #0x30]
bx lr
.align 2, 0
_0805B024: .4byte gScreen
_0805B028: .4byte 0x00001E03
_0805B02C: .4byte gRoomControls
-203
View File
@@ -1,203 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805B3B4
sub_0805B3B4: @ 0x0805B3B4
push {r4, r5, lr}
adds r4, r0, #0
bl EntityHasDuplicateID
cmp r0, #0
beq _0805B3C4
bl DeleteThisEntity
_0805B3C4:
ldrb r0, [r4, #0xa]
lsls r0, r0, #2
ldr r1, _0805B438 @ =gUnk_08108C28
adds r5, r0, r1
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805B41E
movs r0, #1
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x10]
movs r0, #0x20
orrs r0, r1
strb r0, [r4, #0x10]
adds r0, r4, #0
movs r1, #6
bl sub_0805E3A0
ldrb r0, [r4, #0xa]
cmp r0, #0
beq _0805B3F6
ldr r1, _0805B43C @ =sub_0805B4B4
adds r0, r4, #0
movs r2, #0
bl sub_08052D74
_0805B3F6:
ldr r0, _0805B440 @ =gRoomControls
ldrh r1, [r0, #0x20]
movs r0, #0x80
lsls r0, r0, #1
subs r1, r0, r1
cmp r1, #0
bge _0805B406
movs r1, #0
_0805B406:
movs r0, #2
ldrsb r0, [r5, r0]
adds r0, r1, r0
str r0, [r4, #0x20]
ldr r1, _0805B444 @ =gUnk_08108C54
ldrb r0, [r5, #1]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
_0805B41E:
ldr r0, _0805B440 @ =gRoomControls
ldrh r0, [r0]
cmp r0, #0
bne _0805B436
ldr r0, _0805B444 @ =gUnk_08108C54
ldrb r1, [r5, #1]
lsls r1, r1, #2
adds r1, r1, r0
ldr r1, [r1]
adds r0, r4, #0
bl _call_via_r1
_0805B436:
pop {r4, r5, pc}
.align 2, 0
_0805B438: .4byte gUnk_08108C28
_0805B43C: .4byte sub_0805B4B4
_0805B440: .4byte gRoomControls
_0805B444: .4byte gUnk_08108C54
thumb_func_start sub_0805B448
sub_0805B448: @ 0x0805B448
push {r4, lr}
ldr r4, _0805B46C @ =gScreen
ldr r3, _0805B470 @ =gRoomControls
movs r2, #0xa
ldrsh r1, [r3, r2]
ldrh r2, [r3, #6]
subs r1, r1, r2
asrs r1, r1, #2
strh r1, [r4, #0x2e]
movs r2, #0xc
ldrsh r1, [r3, r2]
ldrh r2, [r3, #8]
subs r1, r1, r2
asrs r1, r1, #1
ldr r0, [r0, #0x20]
adds r0, r0, r1
strh r0, [r4, #0x30]
pop {r4, pc}
.align 2, 0
_0805B46C: .4byte gScreen
_0805B470: .4byte gRoomControls
thumb_func_start sub_0805B474
sub_0805B474: @ 0x0805B474
push {r4, r5, lr}
ldr r5, _0805B4A8 @ =gRoomControls
movs r0, #0xc
ldrsh r1, [r5, r0]
ldrh r4, [r5, #8]
subs r1, r1, r4
lsls r0, r1, #1
adds r0, r0, r1
lsls r0, r0, #5
ldrh r1, [r5, #0x20]
subs r1, #0xa0
bl __divsi3
ldr r2, _0805B4AC @ =gScreen
adds r4, r4, r0
strh r4, [r2, #0x30]
ldrh r0, [r5, #0x1e]
ldr r1, _0805B4B0 @ =0xFFFFFF00
adds r0, r0, r1
lsrs r1, r0, #0x1f
adds r0, r0, r1
asrs r0, r0, #1
ldrh r1, [r5, #0xa]
subs r1, r1, r0
strh r1, [r2, #0x2e]
pop {r4, r5, pc}
.align 2, 0
_0805B4A8: .4byte gRoomControls
_0805B4AC: .4byte gScreen
_0805B4B0: .4byte 0xFFFFFF00
thumb_func_start sub_0805B4B4
sub_0805B4B4: @ 0x0805B4B4
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xa]
bl sub_0805B4D0
ldrb r0, [r4, #0xa]
cmp r0, #2
bne _0805B4C8
bl sub_0806D0F8
_0805B4C8:
adds r0, r4, #0
bl sub_0805B3B4
pop {r4, pc}
thumb_func_start sub_0805B4D0
sub_0805B4D0: @ 0x0805B4D0
push {r4, r5, lr}
adds r5, r0, #0
ldr r0, _0805B528 @ =gUnk_08108C5C
adds r0, r5, r0
ldrb r0, [r0]
bl LoadGfxGroup
ldr r4, _0805B52C @ =gScreen
ldr r0, _0805B530 @ =0x00001E07
strh r0, [r4, #0x2c]
ldrh r1, [r4]
movs r2, #0x80
lsls r2, r2, #4
adds r0, r2, #0
orrs r0, r1
strh r0, [r4]
ldr r2, _0805B534 @ =gRoomControls
movs r1, #0xa
ldrsh r0, [r2, r1]
ldrh r1, [r2, #6]
subs r0, r0, r1
asrs r0, r0, #2
strh r0, [r4, #0x2e]
movs r1, #0xc
ldrsh r0, [r2, r1]
ldrh r1, [r2, #8]
subs r0, r0, r1
asrs r3, r0, #1
ldrh r1, [r2, #0x20]
movs r0, #0x80
lsls r0, r0, #1
subs r2, r0, r1
cmp r2, #0
bge _0805B516
movs r2, #0
_0805B516:
ldr r0, _0805B538 @ =gUnk_08108C44
lsls r1, r5, #1
adds r1, r1, r0
adds r0, r3, r2
ldrh r1, [r1]
adds r0, r0, r1
strh r0, [r4, #0x30]
pop {r4, r5, pc}
.align 2, 0
_0805B528: .4byte gUnk_08108C5C
_0805B52C: .4byte gScreen
_0805B530: .4byte 0x00001E07
_0805B534: .4byte gRoomControls
_0805B538: .4byte gUnk_08108C44
-78
View File
@@ -1,78 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805B53C
sub_0805B53C: @ 0x0805B53C
push {lr}
ldr r2, _0805B550 @ =gUnk_08108C64
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805B550: .4byte gUnk_08108C64
thumb_func_start sub_0805B554
sub_0805B554: @ 0x0805B554
movs r1, #1
strb r1, [r0, #0xc]
strb r1, [r0, #0xe]
bx lr
thumb_func_start sub_0805B55C
sub_0805B55C: @ 0x0805B55C
push {r4, r5, lr}
adds r1, r0, #0
ldrb r0, [r1, #0xe]
subs r0, #1
strb r0, [r1, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805B5B4
movs r0, #0xf
strb r0, [r1, #0xe]
movs r0, #0x19
movs r1, #0
bl CreateEnemy
adds r5, r0, #0
cmp r5, #0
beq _0805B5B4
bl Random
ldr r4, _0805B5B8 @ =gRoomControls
ldr r2, _0805B5BC @ =gUnk_08108C6C
movs r1, #7
ands r1, r0
lsls r1, r1, #1
adds r1, r1, r2
ldrh r0, [r1]
adds r0, #0x78
ldrh r1, [r4, #0xa]
adds r0, r0, r1
strh r0, [r5, #0x2e]
bl Random
ldr r2, _0805B5C0 @ =gUnk_08108C7C
movs r1, #3
ands r1, r0
adds r1, r1, r2
movs r0, #0
ldrsb r0, [r1, r0]
adds r0, #0x50
ldrh r4, [r4, #0xc]
adds r0, r0, r4
strh r0, [r5, #0x32]
ldr r0, _0805B5C4 @ =0x0000FF38
strh r0, [r5, #0x36]
_0805B5B4:
pop {r4, r5, pc}
.align 2, 0
_0805B5B8: .4byte gRoomControls
_0805B5BC: .4byte gUnk_08108C6C
_0805B5C0: .4byte gUnk_08108C7C
_0805B5C4: .4byte 0x0000FF38
-95
View File
@@ -1,95 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805B5C8
sub_0805B5C8: @ 0x0805B5C8
push {lr}
ldr r2, _0805B5DC @ =gUnk_08108C80
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805B5DC: .4byte gUnk_08108C80
thumb_func_start sub_0805B5E0
sub_0805B5E0: @ 0x0805B5E0
push {r4, r5, lr}
movs r4, #0
movs r1, #1
strb r1, [r0, #0xc]
ldr r3, _0805B618 @ =gScreen
ldrh r2, [r3]
movs r5, #0x80
lsls r5, r5, #4
adds r1, r5, #0
orrs r1, r2
strh r1, [r3]
ldr r2, _0805B61C @ =gUnk_08108C88
ldrb r1, [r0, #0xa]
lsls r1, r1, #1
adds r1, r1, r2
ldrh r1, [r1]
strh r1, [r3, #0x2c]
ldr r1, _0805B620 @ =gRoomControls
str r4, [r1, #0x2c]
str r4, [r1, #0x28]
ldrb r0, [r0, #0xa]
cmp r0, #0
beq _0805B612
cmp r0, #1
beq _0805B624
_0805B612:
strh r4, [r3, #0x30]
strh r4, [r3, #0x2e]
b _0805B634
.align 2, 0
_0805B618: .4byte gScreen
_0805B61C: .4byte gUnk_08108C88
_0805B620: .4byte gRoomControls
_0805B624:
ldrh r0, [r1, #0x2a]
ldrh r2, [r1, #0xa]
adds r0, r0, r2
strh r0, [r3, #0x2e]
ldrh r0, [r1, #0x2e]
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r3, #0x30]
_0805B634:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_0805B638
sub_0805B638: @ 0x0805B638
push {lr}
ldrb r0, [r0, #0xa]
cmp r0, #1
bne _0805B65E
ldr r1, _0805B660 @ =gRoomControls
ldr r0, [r1, #0x28]
movs r2, #0x80
lsls r2, r2, #6
adds r0, r0, r2
str r0, [r1, #0x28]
ldr r2, _0805B664 @ =gScreen
ldrh r0, [r1, #0x2a]
ldrh r3, [r1, #0xa]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #0x2e]
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r2, #0x30]
_0805B65E:
pop {pc}
.align 2, 0
_0805B660: .4byte gRoomControls
_0805B664: .4byte gScreen
-99
View File
@@ -1,99 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805B6F4
sub_0805B6F4: @ 0x0805B6F4
push {lr}
ldr r2, _0805B708 @ =gUnk_08108C94
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805B708: .4byte gUnk_08108C94
thumb_func_start sub_0805B70C
sub_0805B70C: @ 0x0805B70C
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805B71E
movs r0, #1
strb r0, [r4, #0xb]
_0805B71E:
movs r0, #1
strb r0, [r4, #0xc]
ldrh r1, [r4, #0x38]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
movs r2, #0x3f
ands r1, r2
ldrh r0, [r4, #0x3a]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
ands r0, r2
lsls r0, r0, #6
orrs r1, r0
strh r1, [r4, #0x38]
adds r0, r4, #0
bl sub_0805B778
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805B744
sub_0805B744: @ 0x0805B744
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
adds r1, r0, #0
cmp r1, #0
beq _0805B766
ldrb r0, [r4, #0xb]
cmp r0, #0
bne _0805B774
movs r0, #1
strb r0, [r4, #0xb]
adds r0, r4, #0
bl sub_0805B778
b _0805B774
_0805B766:
ldrb r0, [r4, #0xb]
cmp r0, #1
bne _0805B774
strb r1, [r4, #0xb]
adds r0, r4, #0
bl sub_0805B778
_0805B774:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805B778
sub_0805B778: @ 0x0805B778
push {lr}
ldr r2, _0805B79C @ =gUnk_08108C9C
ldrb r1, [r0, #0xa]
lsls r1, r1, #1
ldrb r3, [r0, #0xb]
adds r1, r1, r3
lsls r1, r1, #1
adds r1, r1, r2
ldrh r3, [r1]
movs r2, #0x38
ldrsh r1, [r0, r2]
adds r0, #0x36
ldrb r2, [r0]
adds r0, r3, #0
bl SetTileType
pop {pc}
.align 2, 0
_0805B79C: .4byte gUnk_08108C9C
-194
View File
@@ -1,194 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805754C
sub_0805754C: @ 0x0805754C
push {r4, r5, r6, lr}
adds r2, r0, #0
ldr r3, _080575BC @ =gRoomControls
movs r0, #0xc
ldrsh r1, [r3, r0]
ldrh r0, [r3, #8]
subs r1, r1, r0
asrs r0, r1, #3
adds r1, r1, r0
ldr r4, _080575C0 @ =gScreen
movs r6, #0x3f
adds r0, r1, #0
ands r0, r6
strh r0, [r4, #0x30]
adds r0, r1, #0
cmp r1, #0
bge _08057570
adds r0, #0x3f
_08057570:
asrs r0, r0, #6
lsls r0, r0, #9
ldr r5, _080575C4 @ =gMapDataTopSpecial
adds r1, r0, r5
str r1, [r4, #0x34]
ldr r0, [r2, #0x38]
cmp r0, r1
beq _08057586
str r1, [r2, #0x38]
movs r0, #1
strh r0, [r4, #0x32]
_08057586:
movs r0, #0xc
ldrsh r1, [r3, r0]
ldrh r0, [r3, #8]
subs r1, r1, r0
asrs r0, r1, #2
adds r1, r1, r0
adds r0, r1, #0
ands r0, r6
strh r0, [r4, #0x18]
adds r0, r1, #0
cmp r0, #0
bge _080575A0
adds r0, #0x3f
_080575A0:
asrs r0, r0, #6
lsls r0, r0, #9
movs r3, #0x80
lsls r3, r3, #6
adds r1, r5, r3
adds r1, r0, r1
str r1, [r4, #0x1c]
ldr r0, [r2, #0x3c]
cmp r0, r1
beq _080575BA
str r1, [r2, #0x3c]
movs r0, #1
strh r0, [r4, #0x1a]
_080575BA:
pop {r4, r5, r6, pc}
.align 2, 0
_080575BC: .4byte gRoomControls
_080575C0: .4byte gScreen
_080575C4: .4byte gMapDataTopSpecial
thumb_func_start sub_080575C8
sub_080575C8: @ 0x080575C8
push {r4, r5, r6, r7, lr}
adds r4, r0, #0
ldr r0, _08057664 @ =gUnk_0200B650
movs r5, #0
str r5, [r0]
movs r0, #0x80
lsls r0, r0, #0x13
strh r5, [r0]
adds r0, r4, #0
bl LoadGfxGroup
ldr r0, _08057668 @ =gRoomVars
strb r4, [r0, #0x10]
ldr r3, _0805766C @ =gRoomControls
movs r0, #0xc
ldrsh r1, [r3, r0]
ldrh r0, [r3, #8]
subs r1, r1, r0
asrs r0, r1, #3
adds r1, r1, r0
ldr r2, _08057670 @ =gScreen
movs r7, #0x3f
adds r0, r1, #0
ands r0, r7
strh r0, [r2, #0x30]
strh r5, [r2, #0x2e]
adds r0, r1, #0
cmp r1, #0
bge _08057604
adds r0, #0x3f
_08057604:
asrs r0, r0, #6
lsls r0, r0, #9
ldr r4, _08057674 @ =gMapDataTopSpecial
adds r0, r0, r4
str r0, [r2, #0x34]
ldr r0, _08057678 @ =0x00001D49
strh r0, [r2, #0x2c]
movs r6, #1
strh r6, [r2, #0x32]
movs r0, #0xc
ldrsh r1, [r3, r0]
ldrh r0, [r3, #8]
subs r1, r1, r0
asrs r0, r1, #2
adds r1, r1, r0
adds r0, r1, #0
ands r0, r7
strh r0, [r2, #0x18]
strh r5, [r2, #0x16]
adds r0, r1, #0
cmp r0, #0
bge _08057632
adds r0, #0x3f
_08057632:
asrs r0, r0, #6
lsls r0, r0, #9
movs r3, #0x80
lsls r3, r3, #6
adds r1, r4, r3
adds r0, r0, r1
str r0, [r2, #0x1c]
ldr r0, _0805767C @ =0x00001E49
strh r0, [r2, #0x14]
strh r6, [r2, #0x1a]
adds r1, r2, #0
adds r1, #0x66
ldr r0, _08057680 @ =0x00003C48
strh r0, [r1]
adds r1, #2
ldr r0, _08057684 @ =0x00000609
strh r0, [r1]
ldrh r0, [r2]
movs r3, #0xa0
lsls r3, r3, #4
adds r1, r3, #0
orrs r0, r1
strh r0, [r2]
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08057664: .4byte gUnk_0200B650
_08057668: .4byte gRoomVars
_0805766C: .4byte gRoomControls
_08057670: .4byte gScreen
_08057674: .4byte gMapDataTopSpecial
_08057678: .4byte 0x00001D49
_0805767C: .4byte 0x00001E49
_08057680: .4byte 0x00003C48
_08057684: .4byte 0x00000609
thumb_func_start sub_08057688
sub_08057688: @ 0x08057688
ldr r0, _08057694 @ =gScreen
ldr r1, _08057698 @ =0x00001D48
strh r1, [r0, #0x2c]
ldr r1, _0805769C @ =0x00001E48
strh r1, [r0, #0x14]
bx lr
.align 2, 0
_08057694: .4byte gScreen
_08057698: .4byte 0x00001D48
_0805769C: .4byte 0x00001E48
thumb_func_start sub_080576A0
sub_080576A0: @ 0x080576A0
push {r4, lr}
adds r4, r0, #0
ldr r0, _080576BC @ =gRoomVars
ldrb r0, [r0, #0x10]
bl LoadGfxGroup
movs r0, #0
str r0, [r4, #0x38]
str r0, [r4, #0x3c]
adds r0, r4, #0
bl sub_0805754C
pop {r4, pc}
.align 2, 0
_080576BC: .4byte gRoomVars
-117
View File
@@ -1,117 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805B820
sub_0805B820: @ 0x0805B820
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r5, r0, #0
ldrb r1, [r5, #0xc]
cmp r1, #0
bne _0805B834
movs r0, #1
strb r0, [r5, #0xc]
str r1, [r5, #0x20]
_0805B834:
ldrb r0, [r5, #0xa]
bl GetCurrentRoomProperty
adds r4, r0, #0
movs r7, #0
ldrh r0, [r4]
cmp r0, #0
beq _0805B8C4
ldr r0, _0805B8A8 @ =gRoomControls
mov r8, r0
_0805B848:
ldrh r0, [r4]
ldrh r1, [r4, #2]
movs r2, #4
movs r3, #4
bl CheckRectOnScreen
cmp r0, #0
beq _0805B8AC
movs r6, #1
lsls r6, r7
ldr r0, [r5, #0x20]
ands r0, r6
cmp r0, #0
bne _0805B8B6
ldrh r0, [r4, #4]
bl sub_0805B8CC
cmp r0, #0
beq _0805B8B6
movs r0, #0x4e
movs r1, #1
movs r2, #0
bl CreateObject
adds r1, r0, #0
cmp r1, #0
beq _0805B8B6
ldrh r0, [r4, #6]
strb r0, [r1, #0xe]
strb r7, [r1, #0xf]
ldrh r0, [r4]
mov r2, r8
ldrh r2, [r2, #6]
adds r0, r0, r2
strh r0, [r1, #0x2e]
ldrh r0, [r4, #2]
mov r3, r8
ldrh r3, [r3, #8]
adds r0, r0, r3
strh r0, [r1, #0x32]
str r5, [r1, #0x50]
adds r0, r1, #0
bl sub_08016A30
ldr r0, [r5, #0x20]
orrs r0, r6
b _0805B8B4
.align 2, 0
_0805B8A8: .4byte gRoomControls
_0805B8AC:
movs r1, #1
lsls r1, r7
ldr r0, [r5, #0x20]
bics r0, r1
_0805B8B4:
str r0, [r5, #0x20]
_0805B8B6:
adds r4, #8
adds r7, #1
ldrh r0, [r4]
cmp r0, #0
beq _0805B8C4
cmp r7, #0x1f
bls _0805B848
_0805B8C4:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start sub_0805B8CC
sub_0805B8CC: @ 0x0805B8CC
push {lr}
cmp r0, #4
bne _0805B8DA
movs r0, #0x18
bl CheckGlobalFlag
b _0805B8E8
_0805B8DA:
cmp r0, #4
bls _0805B8E6
cmp r0, #6
bhi _0805B8E6
movs r0, #0
b _0805B8E8
_0805B8E6:
movs r0, #1
_0805B8E8:
pop {pc}
.align 2, 0
-454
View File
@@ -1,454 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805B8EC
sub_0805B8EC: @ 0x0805B8EC
push {r4, r5, r6, lr}
adds r5, r0, #0
ldr r4, _0805B964 @ =gArea
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805B90A
bl sub_0801E104
ldr r2, _0805B968 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805B96C @ =0x0000D7FF
ands r0, r1
strh r0, [r2]
bl DeleteThisEntity
_0805B90A:
ldrb r2, [r5, #0xc]
cmp r2, #0
bne _0805B934
movs r0, #1
strb r0, [r5, #0xc]
ldrb r1, [r5, #0x10]
movs r0, #0x20
orrs r0, r1
strb r0, [r5, #0x10]
movs r0, #0x11
strb r0, [r5, #0xe]
str r2, [r5, #0x20]
adds r0, r5, #0
movs r1, #6
bl sub_0805E3A0
bl sub_0801E120
ldrb r0, [r5, #0xe]
bl sub_0801E154
_0805B934:
ldr r0, _0805B970 @ =gMain
ldrb r0, [r0, #4]
cmp r0, #2
bne _0805B952
ldr r2, _0805B968 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
bl sub_0805BA78
bl sub_0805BAD4
_0805B952:
ldrb r0, [r4, #0xc]
cmp r0, #2
bne _0805B978
ldr r2, _0805B968 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805B974 @ =0x0000DFFF
ands r0, r1
strh r0, [r2]
b _0805BA6C
.align 2, 0
_0805B964: .4byte gArea
_0805B968: .4byte gScreen
_0805B96C: .4byte 0x0000D7FF
_0805B970: .4byte gMain
_0805B974: .4byte 0x0000DFFF
_0805B978:
ldr r3, _0805B9A8 @ =gPlayerEntity
movs r4, #0x2e
ldrsh r0, [r3, r4]
ldr r2, _0805B9AC @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
movs r6, #0x32
ldrsh r1, [r3, r6]
ldrh r2, [r2, #8]
subs r1, r1, r2
movs r2, #0
movs r3, #0
bl CheckRectOnScreen
cmp r0, #0
beq _0805B9B4
ldr r2, _0805B9B0 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #6
adds r0, r3, #0
orrs r0, r1
b _0805B9BC
.align 2, 0
_0805B9A8: .4byte gPlayerEntity
_0805B9AC: .4byte gRoomControls
_0805B9B0: .4byte gScreen
_0805B9B4:
ldr r2, _0805B9E8 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805B9EC @ =0x0000DFFF
ands r0, r1
_0805B9BC:
strh r0, [r2]
ldrb r4, [r5, #0xe]
ldr r0, _0805B9F0 @ =gPlayerState
ldr r0, [r0, #0x30]
movs r1, #0x80
lsls r1, r1, #0x10
ands r0, r1
cmp r0, #0
beq _0805BA2C
ldr r0, _0805B9F4 @ =gArea
ldrb r0, [r0, #0xc]
cmp r0, #0
beq _0805BA2C
cmp r4, #0x47
bhi _0805B9F8
adds r4, #4
adds r0, r4, #0
bl sub_0801E154
movs r0, #0
str r0, [r5, #0x20]
b _0805BA42
.align 2, 0
_0805B9E8: .4byte gScreen
_0805B9EC: .4byte 0x0000DFFF
_0805B9F0: .4byte gPlayerState
_0805B9F4: .4byte gArea
_0805B9F8:
ldr r0, _0805BA24 @ =gScreenTransition
ldr r0, [r0]
movs r1, #3
ands r0, r1
cmp r0, #0
bne _0805BA42
ldrb r0, [r5, #0xf]
adds r0, #0x10
strb r0, [r5, #0xf]
ldr r1, _0805BA28 @ =gSineTable
ldrb r0, [r5, #0xf]
lsls r0, r0, #1
adds r0, r0, r1
movs r6, #0
ldrsh r0, [r0, r6]
asrs r0, r0, #7
str r0, [r5, #0x20]
adds r0, r4, r0
bl sub_0801E154
b _0805BA42
.align 2, 0
_0805BA24: .4byte gScreenTransition
_0805BA28: .4byte gSineTable
_0805BA2C:
movs r0, #0
str r0, [r5, #0x20]
cmp r4, #0x11
bls _0805BA42
subs r4, #4
cmp r4, #0x10
bhi _0805BA3C
movs r4, #0x11
_0805BA3C:
adds r0, r4, #0
bl sub_0801E154
_0805BA42:
strb r4, [r5, #0xe]
ldr r3, _0805BA70 @ =gPlayerEntity
movs r1, #0x2e
ldrsh r0, [r3, r1]
ldr r2, _0805BA74 @ =gRoomControls
movs r6, #0xa
ldrsh r1, [r2, r6]
subs r0, r0, r1
movs r6, #0x32
ldrsh r1, [r3, r6]
movs r6, #0xc
ldrsh r2, [r2, r6]
subs r1, r1, r2
movs r6, #0x36
ldrsh r2, [r3, r6]
subs r2, #9
adds r1, r1, r2
ldr r2, [r5, #0x20]
adds r2, r4, r2
bl sub_0801E160
_0805BA6C:
pop {r4, r5, r6, pc}
.align 2, 0
_0805BA70: .4byte gPlayerEntity
_0805BA74: .4byte gRoomControls
thumb_func_start sub_0805BA78
sub_0805BA78: @ 0x0805BA78
push {r4, lr}
ldr r1, _0805BAA8 @ =gArea
movs r0, #0xa
ldrsh r3, [r1, r0]
ldr r0, _0805BAAC @ =gRoomVars
movs r4, #0xc
ldrsh r2, [r0, r4]
cmp r2, #0
bge _0805BA8C
movs r2, #0
_0805BA8C:
movs r0, #0x80
lsls r0, r0, #1
cmp r2, r0
ble _0805BA96
adds r2, r0, #0
_0805BA96:
cmp r3, r2
beq _0805BACE
subs r0, r2, r3
cmp r0, #0
blt _0805BAB0
cmp r0, #4
bls _0805BAB6
b _0805BABA
.align 2, 0
_0805BAA8: .4byte gArea
_0805BAAC: .4byte gRoomVars
_0805BAB0:
subs r0, r3, r2
cmp r0, #4
bhi _0805BABA
_0805BAB6:
adds r3, r2, #0
b _0805BAC8
_0805BABA:
cmp r2, r3
bge _0805BAC2
subs r3, #4
b _0805BAC8
_0805BAC2:
cmp r2, r3
ble _0805BAC8
adds r3, #4
_0805BAC8:
strh r3, [r1, #0xa]
movs r0, #1
b _0805BAD0
_0805BACE:
movs r0, #0
_0805BAD0:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805BAD4
sub_0805BAD4: @ 0x0805BAD4
push {lr}
ldr r3, _0805BAF4 @ =gArea
ldrb r0, [r3, #0xc]
cmp r0, #0
beq _0805BAF2
ldr r1, _0805BAF8 @ =gScreen
ldr r2, _0805BAFC @ =gUnk_08108CA8
ldrh r0, [r3, #0xa]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
lsls r0, r0, #1
adds r0, r0, r2
ldrh r0, [r0]
adds r1, #0x68
strh r0, [r1]
_0805BAF2:
pop {pc}
.align 2, 0
_0805BAF4: .4byte gArea
_0805BAF8: .4byte gScreen
_0805BAFC: .4byte gUnk_08108CA8
thumb_func_start sub_0805BB00
sub_0805BB00: @ 0x0805BB00
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
ldr r0, _0805BB50 @ =gArea
ldrb r0, [r0, #0xc]
cmp r0, #0
bne _0805BB28
bl GetEmptyManager
adds r1, r0, #0
cmp r1, #0
beq _0805BB28
movs r0, #9
strb r0, [r1, #8]
movs r0, #0x22
strb r0, [r1, #9]
adds r0, r1, #0
movs r1, #0
bl AppendEntityToList
_0805BB28:
ldr r1, _0805BB54 @ =0x0600F000
movs r2, #0x80
lsls r2, r2, #4
movs r0, #0xf
bl MemFill16
ldr r0, _0805BB58 @ =gScreen
ldr r1, _0805BB5C @ =0x00001E0C
strh r1, [r0, #0x2c]
adds r0, #0x66
ldr r1, _0805BB60 @ =0x00003E48
strh r1, [r0]
ldr r0, _0805BB64 @ =gRoomVars
strh r4, [r0, #0xc]
cmp r5, #0
beq _0805BB68
ldr r1, _0805BB50 @ =gArea
movs r0, #1
b _0805BB6C
.align 2, 0
_0805BB50: .4byte gArea
_0805BB54: .4byte 0x0600F000
_0805BB58: .4byte gScreen
_0805BB5C: .4byte 0x00001E0C
_0805BB60: .4byte 0x00003E48
_0805BB64: .4byte gRoomVars
_0805BB68:
ldr r1, _0805BB70 @ =gArea
movs r0, #2
_0805BB6C:
strb r0, [r1, #0xc]
pop {r4, r5, pc}
.align 2, 0
_0805BB70: .4byte gArea
thumb_func_start sub_0805BB74
sub_0805BB74: @ 0x0805BB74
push {lr}
adds r1, r0, #0
ldr r2, _0805BBB0 @ =gRoomVars
cmp r1, #0
bge _0805BB82
movs r0, #0xc
ldrsh r1, [r2, r0]
_0805BB82:
ldr r0, _0805BBB4 @ =gArea
strh r1, [r0, #0xa]
strh r1, [r2, #0xc]
movs r0, #9
movs r1, #0x22
bl DeepFindEntityByID
cmp r0, #0
beq _0805BBAE
bl sub_0805B8EC
ldr r0, _0805BBB8 @ =gScreen
ldrh r1, [r0]
movs r3, #0x80
lsls r3, r3, #4
adds r2, r3, #0
orrs r1, r2
strh r1, [r0]
bl sub_0805BA78
bl sub_0805BAD4
_0805BBAE:
pop {pc}
.align 2, 0
_0805BBB0: .4byte gRoomVars
_0805BBB4: .4byte gArea
_0805BBB8: .4byte gScreen
thumb_func_start sub_0805BBBC
sub_0805BBBC: @ 0x0805BBBC
push {r4, lr}
movs r4, #0
ldr r2, _0805BBF8 @ =gArea
ldrb r0, [r2, #0xc]
cmp r0, #0
beq _0805BBF2
ldr r0, _0805BBFC @ =gRoomVars
movs r3, #0xc
ldrsh r1, [r0, r3]
movs r3, #0xa
ldrsh r0, [r2, r3]
cmp r1, r0
bge _0805BBF2
ldr r2, _0805BC00 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
bl sub_0805BA78
adds r4, r0, #0
cmp r4, #0
beq _0805BBF2
bl sub_0805BAD4
_0805BBF2:
adds r0, r4, #0
pop {r4, pc}
.align 2, 0
_0805BBF8: .4byte gArea
_0805BBFC: .4byte gRoomVars
_0805BC00: .4byte gScreen
thumb_func_start sub_0805BC04
sub_0805BC04: @ 0x0805BC04
push {r4, lr}
movs r4, #0
ldr r2, _0805BC40 @ =gArea
ldrb r0, [r2, #0xc]
cmp r0, #0
beq _0805BC3A
ldr r0, _0805BC44 @ =gRoomVars
movs r3, #0xc
ldrsh r1, [r0, r3]
movs r3, #0xa
ldrsh r0, [r2, r3]
cmp r1, r0
ble _0805BC3A
ldr r2, _0805BC48 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
bl sub_0805BA78
adds r4, r0, #0
cmp r4, #0
beq _0805BC3A
bl sub_0805BAD4
_0805BC3A:
adds r0, r4, #0
pop {r4, pc}
.align 2, 0
_0805BC40: .4byte gArea
_0805BC44: .4byte gRoomVars
_0805BC48: .4byte gScreen
thumb_func_start sub_0805BC4C
sub_0805BC4C: @ 0x0805BC4C
push {lr}
ldr r1, _0805BC68 @ =gArea
ldrb r0, [r1, #0xc]
cmp r0, #0
beq _0805BC64
movs r0, #0
strb r0, [r1, #0xc]
ldr r2, _0805BC6C @ =gScreen
ldrh r1, [r2]
ldr r0, _0805BC70 @ =0x0000D7FF
ands r0, r1
strh r0, [r2]
_0805BC64:
pop {pc}
.align 2, 0
_0805BC68: .4byte gArea
_0805BC6C: .4byte gScreen
_0805BC70: .4byte 0x0000D7FF
-348
View File
@@ -1,348 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805BC74
sub_0805BC74: @ 0x0805BC74
push {lr}
ldr r2, _0805BC88 @ =gUnk_08108CCC
ldrb r1, [r0, #0xa]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805BC88: .4byte gUnk_08108CCC
thumb_func_start sub_0805BC8C
sub_0805BC8C: @ 0x0805BC8C
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805BCAE
movs r0, #1
strb r0, [r4, #0xc]
movs r0, #0x1e
strb r0, [r4, #0xf]
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805BCAE
adds r0, r4, #0
bl sub_0805BE94
_0805BCAE:
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805BCD0
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805BCD0
adds r0, r4, #0
bl sub_0805BEC4
adds r0, r4, #0
bl sub_0805BE94
_0805BCD0:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805BCD4
sub_0805BCD4: @ 0x0805BCD4
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #1
beq _0805BD0E
cmp r0, #1
bgt _0805BCE8
cmp r0, #0
beq _0805BCEE
b _0805BD5A
_0805BCE8:
cmp r0, #2
beq _0805BD38
b _0805BD5A
_0805BCEE:
movs r0, #1
strb r0, [r4, #0xc]
movs r0, #0x1e
strb r0, [r4, #0xf]
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805BD5A
adds r0, r4, #0
movs r1, #0x75
bl sub_0805BE70
movs r0, #2
strb r0, [r4, #0xc]
b _0805BD5A
_0805BD0E:
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805BD5A
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805BD5A
movs r0, #0x1e
strb r0, [r4, #0xf]
adds r0, r4, #0
bl sub_0805BEC4
adds r0, r4, #0
movs r1, #0x76
bl sub_0805BE70
b _0805BD5A
_0805BD38:
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
bne _0805BD5A
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805BD5A
movs r0, #0x1e
strb r0, [r4, #0xf]
adds r0, r4, #0
movs r1, #0x75
bl sub_0805BE70
_0805BD5A:
pop {r4, pc}
thumb_func_start sub_0805BD5C
sub_0805BD5C: @ 0x0805BD5C
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805BD94
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805BD76
adds r0, r4, #0
bl sub_0805BE94
_0805BD76:
ldrh r1, [r4, #0x38]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
movs r2, #0x3f
ands r1, r2
ldrh r0, [r4, #0x3a]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
ands r0, r2
lsls r0, r0, #6
orrs r1, r0
strh r1, [r4, #0x20]
movs r0, #1
strb r0, [r4, #0xc]
b _0805BDB0
_0805BD94:
ldrh r0, [r4, #0x20]
ldrb r1, [r4, #0xb]
bl GetTileType
cmp r0, #0x76
bne _0805BDB0
ldrh r0, [r4, #0x3e]
bl SetFlag
ldrb r0, [r4, #0xe]
bl sub_0805308C
bl DeleteThisEntity
_0805BDB0:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805BDB4
sub_0805BDB4: @ 0x0805BDB4
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
beq _0805BDF4
cmp r0, #1
beq _0805BE2C
ldrh r0, [r4, #0x22]
subs r0, #1
strh r0, [r4, #0x22]
lsls r0, r0, #0x10
cmp r0, #0
bne _0805BE58
movs r1, #0x38
ldrsh r0, [r4, r1]
movs r2, #0x3a
ldrsh r1, [r4, r2]
ldrb r2, [r4, #0xb]
bl CreateDustAt
ldrh r0, [r4, #0x3e]
bl ClearFlag
ldrh r0, [r4, #0x20]
ldrb r1, [r4, #0xb]
bl sub_0807BA8C
ldrb r0, [r4, #0xe]
rsbs r0, r0, #0
bl sub_0805308C
b _0805BE26
_0805BDF4:
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
bne _0805BE08
ldrh r0, [r4, #0x3c]
bl CheckFlags
cmp r0, #0
beq _0805BE0E
_0805BE08:
adds r0, r4, #0
bl sub_0805BE94
_0805BE0E:
ldrh r1, [r4, #0x38]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
movs r2, #0x3f
ands r1, r2
ldrh r0, [r4, #0x3a]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
ands r0, r2
lsls r0, r0, #6
orrs r1, r0
strh r1, [r4, #0x20]
_0805BE26:
movs r0, #1
strb r0, [r4, #0xc]
b _0805BE6C
_0805BE2C:
ldrh r0, [r4, #0x20]
ldrb r1, [r4, #0xb]
bl GetTileType
cmp r0, #0x76
bne _0805BE6C
ldrh r0, [r4, #0x3e]
bl SetFlag
ldrb r0, [r4, #0xe]
bl sub_0805308C
movs r0, #2
strb r0, [r4, #0xc]
adds r0, r4, #0
adds r0, #0x36
ldrb r1, [r0]
lsls r0, r1, #4
subs r0, r0, r1
lsls r0, r0, #2
strh r0, [r4, #0x22]
b _0805BE6C
_0805BE58:
ldrh r0, [r4, #0x3c]
bl CheckFlags
cmp r0, #0
beq _0805BE6C
adds r0, r4, #0
bl sub_0805BEC4
bl DeleteThisEntity
_0805BE6C:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805BE70
sub_0805BE70: @ 0x0805BE70
push {r4, lr}
adds r4, r1, #0
ldrh r1, [r0, #0x38]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
movs r3, #0x3f
ands r1, r3
ldrh r2, [r0, #0x3a]
lsls r2, r2, #0x10
asrs r2, r2, #0x14
ands r2, r3
lsls r2, r2, #6
orrs r1, r2
ldrb r2, [r0, #0xb]
adds r0, r4, #0
bl SetTileType
pop {r4, pc}
thumb_func_start sub_0805BE94
sub_0805BE94: @ 0x0805BE94
push {r4, lr}
adds r4, r0, #0
ldrh r1, [r4, #0x38]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
movs r2, #0x3f
ands r1, r2
ldrh r0, [r4, #0x3a]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
ands r0, r2
lsls r0, r0, #6
orrs r1, r0
ldrb r2, [r4, #0xb]
movs r0, #0x76
bl SetTileType
ldrb r0, [r4, #0xe]
bl sub_0805308C
bl DeleteThisEntity
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805BEC4
sub_0805BEC4: @ 0x0805BEC4
push {r4, lr}
adds r4, r0, #0
movs r0, #0x2a
movs r1, #1
movs r2, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805BF10
ldrb r1, [r2, #0x11]
movs r0, #0x10
rsbs r0, r0, #0
ands r0, r1
movs r1, #3
orrs r0, r1
strb r0, [r2, #0x11]
ldr r1, _0805BF14 @ =gRoomControls
ldrh r0, [r1, #6]
ldrh r3, [r4, #0x38]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #8]
ldrh r1, [r4, #0x3a]
adds r0, r0, r1
strh r0, [r2, #0x32]
ldrb r1, [r4, #0xb]
adds r0, r2, #0
adds r0, #0x38
strb r1, [r0]
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #2
orrs r0, r1
strb r0, [r2]
_0805BF10:
pop {r4, pc}
.align 2, 0
_0805BF14: .4byte gRoomControls
-876
View File
@@ -1,876 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805BF18
sub_0805BF18: @ 0x0805BF18
push {lr}
ldr r2, _0805BF2C @ =gUnk_08108CDC
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805BF2C: .4byte gUnk_08108CDC
thumb_func_start sub_0805BF30
sub_0805BF30: @ 0x0805BF30
push {r4, lr}
adds r4, r0, #0
movs r0, #1
strb r0, [r4, #0xc]
ldrh r1, [r4, #0x38]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
movs r2, #0x3f
ands r1, r2
ldrh r0, [r4, #0x3a]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
ands r0, r2
lsls r0, r0, #6
orrs r1, r0
strh r1, [r4, #0x3c]
ldrh r0, [r4, #0x3c]
adds r1, r4, #0
adds r1, #0x35
ldrb r1, [r1]
bl sub_0805BFC4
strb r0, [r4, #0xa]
ldrh r0, [r4, #0x3e]
bl CheckLocalFlag
cmp r0, #0
beq _0805BF74
adds r0, r4, #0
bl sub_0805C02C
adds r0, r4, #0
bl DeleteManager
_0805BF74:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805BF78
sub_0805BF78: @ 0x0805BF78
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3c]
adds r1, r4, #0
adds r1, #0x35
ldrb r1, [r1]
bl sub_080002C8
cmp r0, #0x2e
beq _0805BFA0
movs r0, #2
strb r0, [r4, #0xc]
movs r0, #0x5a
strb r0, [r4, #0xe]
adds r0, r4, #0
bl sub_0805C02C
ldrh r0, [r4, #0x3e]
bl SetLocalFlag
_0805BFA0:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805BFA4
sub_0805BFA4: @ 0x0805BFA4
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805BFC0
movs r0, #0x72
bl SoundReq
adds r0, r4, #0
bl DeleteManager
_0805BFC0:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805BFC4
sub_0805BFC4: @ 0x0805BFC4
push {lr}
bl GetTileType
adds r1, r0, #0
cmp r1, #0xec
beq _0805C018
cmp r1, #0xec
bhi _0805BFEC
cmp r1, #0xbf
beq _0805C024
cmp r1, #0xbf
bhi _0805BFE2
cmp r1, #0xaf
beq _0805C014
b _0805C028
_0805BFE2:
cmp r1, #0xcc
beq _0805C01C
cmp r1, #0xdf
beq _0805C020
b _0805C028
_0805BFEC:
movs r0, #0x84
lsls r0, r0, #1
cmp r1, r0
beq _0805C01C
cmp r1, r0
bhi _0805C004
cmp r1, #0xff
beq _0805C014
subs r0, #3
cmp r1, r0
beq _0805C024
b _0805C028
_0805C004:
movs r0, #0x88
lsls r0, r0, #1
cmp r1, r0
beq _0805C020
adds r0, #5
cmp r1, r0
beq _0805C018
b _0805C028
_0805C014:
movs r0, #0
b _0805C02A
_0805C018:
movs r0, #1
b _0805C02A
_0805C01C:
movs r0, #2
b _0805C02A
_0805C020:
movs r0, #3
b _0805C02A
_0805C024:
movs r0, #4
b _0805C02A
_0805C028:
movs r0, #0xff
_0805C02A:
pop {pc}
thumb_func_start sub_0805C02C
sub_0805C02C: @ 0x0805C02C
push {lr}
adds r1, r0, #0
ldrb r0, [r1, #0xa]
cmp r0, #0xff
beq _0805C04A
ldr r0, _0805C04C @ =gUnk_08108CE8
ldrb r2, [r1, #0xa]
lsls r2, r2, #2
adds r2, r2, r0
ldrh r0, [r1, #0x3c]
adds r1, #0x35
ldrb r1, [r1]
ldr r2, [r2]
bl _call_via_r2
_0805C04A:
pop {pc}
.align 2, 0
_0805C04C: .4byte gUnk_08108CE8
thumb_func_start sub_0805C050
sub_0805C050: @ 0x0805C050
push {r4, r5, lr}
adds r5, r0, #0
adds r4, r1, #0
adds r1, r5, #0
subs r1, #0x41
movs r0, #0xb1
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
subs r1, #0x40
movs r0, #0xb2
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
subs r1, #0x3f
movs r0, #0xb3
adds r2, r4, #0
bl SetTileType
subs r1, r5, #1
movs r0, #0xb4
adds r2, r4, #0
bl SetTileType
adds r1, r5, #1
movs r0, #0xb7
adds r2, r4, #0
bl SetTileType
cmp r4, #1
bne _0805C11C
bl sub_08052670
cmp r0, #0
beq _0805C0D8
movs r0, #0x4f
movs r1, #0xe
movs r2, #0
bl CreateObject
adds r3, r0, #0
cmp r3, #0
beq _0805C0E0
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
adds r0, #8
ldr r2, _0805C0D0 @ =gRoomControls
ldrh r1, [r2, #6]
adds r1, r1, r0
strh r1, [r3, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
ldr r1, _0805C0D4 @ =0x0000FFF8
adds r0, r0, r1
ldrh r2, [r2, #8]
adds r0, r0, r2
strh r0, [r3, #0x32]
b _0805C0E0
.align 2, 0
_0805C0D0: .4byte gRoomControls
_0805C0D4: .4byte 0x0000FFF8
_0805C0D8:
bl CheckIsDungeon
cmp r0, #0
beq _0805C0EC
_0805C0E0:
movs r0, #0xb5
adds r1, r5, #0
movs r2, #1
bl SetTileType
b _0805C0F6
_0805C0EC:
movs r0, #0xb6
adds r1, r5, #0
movs r2, #1
bl SetTileType
_0805C0F6:
adds r1, r5, #0
subs r1, #0x41
movs r0, #0xb8
movs r2, #2
bl SetTileType
adds r1, r5, #0
subs r1, #0x40
movs r0, #0xb9
movs r2, #2
bl SetTileType
adds r1, r5, #0
subs r1, #0x3f
movs r0, #0xba
movs r2, #2
bl SetTileType
b _0805C16E
_0805C11C:
movs r0, #0xb5
adds r1, r5, #0
movs r2, #2
bl SetTileType
bl CheckIsDungeon
cmp r0, #0
beq _0805C16E
bl sub_0805C608
adds r1, r0, #0
movs r0, #0x4f
movs r2, #6
bl CreateObject
adds r3, r0, #0
cmp r3, #0
beq _0805C16E
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
adds r0, #8
ldr r2, _0805C170 @ =gRoomControls
ldrh r1, [r2, #6]
adds r1, r1, r0
strh r1, [r3, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
ldr r1, _0805C174 @ =0x0000FFF0
adds r0, r0, r1
ldrh r2, [r2, #8]
adds r0, r0, r2
strh r0, [r3, #0x32]
adds r1, r3, #0
adds r1, #0x38
movs r0, #2
strb r0, [r1]
_0805C16E:
pop {r4, r5, pc}
.align 2, 0
_0805C170: .4byte gRoomControls
_0805C174: .4byte 0x0000FFF0
thumb_func_start sub_0805C178
sub_0805C178: @ 0x0805C178
push {r4, r5, lr}
adds r5, r0, #0
adds r4, r1, #0
adds r1, r5, #0
subs r1, #0x40
movs r0, #0xf1
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
subs r1, #0x3f
movs r0, #0xf5
adds r2, r4, #0
bl SetTileType
adds r1, r5, #1
movs r0, #0xf6
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
adds r1, #0x40
movs r0, #0xf4
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
adds r1, #0x41
movs r0, #0xf7
adds r2, r4, #0
bl SetTileType
cmp r4, #1
bne _0805C23E
bl sub_08052670
cmp r0, #0
beq _0805C1FC
movs r0, #0x4f
movs r1, #0xe
movs r2, #1
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805C204
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
ldr r1, _0805C1F8 @ =gRoomControls
adds r0, #0x18
ldrh r3, [r1, #6]
adds r0, r0, r3
strh r0, [r2, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
adds r0, #8
ldrh r1, [r1, #8]
adds r1, r1, r0
strh r1, [r2, #0x32]
b _0805C204
.align 2, 0
_0805C1F8: .4byte gRoomControls
_0805C1FC:
bl CheckIsDungeon
cmp r0, #0
beq _0805C210
_0805C204:
movs r0, #0xf2
adds r1, r5, #0
movs r2, #1
bl SetTileType
b _0805C21A
_0805C210:
movs r0, #0xf3
adds r1, r5, #0
movs r2, #1
bl SetTileType
_0805C21A:
adds r1, r5, #0
subs r1, #0x3f
movs r0, #0xf8
movs r2, #2
bl SetTileType
adds r1, r5, #1
movs r0, #0xf9
movs r2, #2
bl SetTileType
adds r1, r5, #0
adds r1, #0x41
movs r0, #0xfa
movs r2, #2
bl SetTileType
b _0805C28E
_0805C23E:
movs r0, #0xf2
adds r1, r5, #0
movs r2, #2
bl SetTileType
bl CheckIsDungeon
cmp r0, #0
beq _0805C28E
bl sub_0805C608
adds r1, r0, #0
movs r0, #0x4f
movs r2, #7
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805C28E
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
ldr r1, _0805C290 @ =gRoomControls
adds r0, #0x20
ldrh r3, [r1, #6]
adds r0, r0, r3
strh r0, [r2, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
adds r0, #8
ldrh r1, [r1, #8]
adds r1, r1, r0
strh r1, [r2, #0x32]
adds r1, r2, #0
adds r1, #0x38
movs r0, #2
strb r0, [r1]
_0805C28E:
pop {r4, r5, pc}
.align 2, 0
_0805C290: .4byte gRoomControls
thumb_func_start sub_0805C294
sub_0805C294: @ 0x0805C294
push {r4, r5, lr}
adds r5, r0, #0
adds r4, r1, #0
subs r1, r5, #1
movs r0, #0xd1
adds r2, r4, #0
bl SetTileType
adds r1, r5, #1
movs r0, #0xd4
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
adds r1, #0x3f
movs r0, #0xd5
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
adds r1, #0x40
movs r0, #0xd6
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
adds r1, #0x41
movs r0, #0xd7
adds r2, r4, #0
bl SetTileType
cmp r4, #1
bne _0805C35C
bl sub_08052670
cmp r0, #0
beq _0805C318
movs r0, #0x4f
movs r1, #0xe
movs r2, #2
bl CreateObject
adds r3, r0, #0
cmp r3, #0
beq _0805C320
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
adds r0, #8
ldr r2, _0805C314 @ =gRoomControls
ldrh r1, [r2, #6]
adds r1, r1, r0
strh r1, [r3, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
adds r0, #0x20
ldrh r2, [r2, #8]
adds r0, r0, r2
strh r0, [r3, #0x32]
b _0805C320
.align 2, 0
_0805C314: .4byte gRoomControls
_0805C318:
bl CheckIsDungeon
cmp r0, #0
beq _0805C32C
_0805C320:
movs r0, #0xd2
adds r1, r5, #0
movs r2, #1
bl SetTileType
b _0805C336
_0805C32C:
movs r0, #0xd3
adds r1, r5, #0
movs r2, #1
bl SetTileType
_0805C336:
adds r1, r5, #0
adds r1, #0x3f
movs r0, #0xd8
movs r2, #2
bl SetTileType
adds r1, r5, #0
adds r1, #0x40
movs r0, #0xd9
movs r2, #2
bl SetTileType
adds r1, r5, #0
adds r1, #0x41
movs r0, #0xda
movs r2, #2
bl SetTileType
b _0805C3AC
_0805C35C:
movs r0, #0xd2
adds r1, r5, #0
movs r2, #2
bl SetTileType
bl CheckIsDungeon
cmp r0, #0
beq _0805C3AC
bl sub_0805C608
adds r1, r0, #0
movs r0, #0x4f
movs r2, #8
bl CreateObject
adds r3, r0, #0
cmp r3, #0
beq _0805C3AC
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
adds r0, #8
ldr r2, _0805C3B0 @ =gRoomControls
ldrh r1, [r2, #6]
adds r1, r1, r0
strh r1, [r3, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
adds r0, #0x20
ldrh r2, [r2, #8]
adds r0, r0, r2
strh r0, [r3, #0x32]
adds r1, r3, #0
adds r1, #0x38
movs r0, #2
strb r0, [r1]
_0805C3AC:
pop {r4, r5, pc}
.align 2, 0
_0805C3B0: .4byte gRoomControls
thumb_func_start sub_0805C3B4
sub_0805C3B4: @ 0x0805C3B4
push {r4, r5, lr}
adds r5, r0, #0
adds r4, r1, #0
adds r1, r5, #0
subs r1, #0x41
movs r0, #0xe1
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
subs r1, #0x40
movs r0, #0xe4
adds r2, r4, #0
bl SetTileType
subs r1, r5, #1
movs r0, #0xe2
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
adds r1, #0x3f
movs r0, #0xe3
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
adds r1, #0x40
movs r0, #0xe7
adds r2, r4, #0
bl SetTileType
cmp r4, #1
bne _0805C482
bl sub_08052670
cmp r0, #0
beq _0805C440
movs r0, #0x4f
movs r1, #0xe
movs r2, #3
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805C448
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
ldr r1, _0805C438 @ =gRoomControls
ldr r3, _0805C43C @ =0x0000FFF0
adds r0, r0, r3
ldrh r3, [r1, #6]
adds r0, r0, r3
strh r0, [r2, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
adds r0, #8
ldrh r1, [r1, #8]
adds r1, r1, r0
strh r1, [r2, #0x32]
b _0805C448
.align 2, 0
_0805C438: .4byte gRoomControls
_0805C43C: .4byte 0x0000FFF0
_0805C440:
bl CheckIsDungeon
cmp r0, #0
beq _0805C454
_0805C448:
movs r0, #0xe5
adds r1, r5, #0
movs r2, #1
bl SetTileType
b _0805C45E
_0805C454:
movs r0, #0xe6
adds r1, r5, #0
movs r2, #1
bl SetTileType
_0805C45E:
adds r1, r5, #0
subs r1, #0x41
movs r0, #0xe8
movs r2, #2
bl SetTileType
subs r1, r5, #1
movs r0, #0xe9
movs r2, #2
bl SetTileType
adds r1, r5, #0
adds r1, #0x3f
movs r0, #0xea
movs r2, #2
bl SetTileType
b _0805C4D4
_0805C482:
movs r0, #0xe5
adds r1, r5, #0
movs r2, #2
bl SetTileType
bl CheckIsDungeon
cmp r0, #0
beq _0805C4D4
bl sub_0805C608
adds r1, r0, #0
movs r0, #0x4f
movs r2, #9
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805C4D4
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
ldr r1, _0805C4D8 @ =gRoomControls
ldr r3, _0805C4DC @ =0x0000FFF0
adds r0, r0, r3
ldrh r3, [r1, #6]
adds r0, r0, r3
strh r0, [r2, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
adds r0, #8
ldrh r1, [r1, #8]
adds r1, r1, r0
strh r1, [r2, #0x32]
adds r1, r2, #0
adds r1, #0x38
movs r0, #2
strb r0, [r1]
_0805C4D4:
pop {r4, r5, pc}
.align 2, 0
_0805C4D8: .4byte gRoomControls
_0805C4DC: .4byte 0x0000FFF0
thumb_func_start sub_0805C4E0
sub_0805C4E0: @ 0x0805C4E0
push {r4, r5, lr}
adds r5, r0, #0
adds r4, r1, #0
adds r1, r5, #0
subs r1, #0x41
movs r0, #0xc1
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
subs r1, #0x40
movs r0, #0xc2
adds r2, r4, #0
bl SetTileType
adds r1, r5, #0
subs r1, #0x3f
movs r0, #0xc3
adds r2, r4, #0
bl SetTileType
subs r1, r5, #1
movs r0, #0xc4
adds r2, r4, #0
bl SetTileType
adds r1, r5, #1
movs r0, #0xc7
adds r2, r4, #0
bl SetTileType
cmp r4, #1
bne _0805C5AC
bl sub_08052670
cmp r0, #0
beq _0805C568
movs r0, #0x4f
movs r1, #0xe
movs r2, #0
bl CreateObject
adds r3, r0, #0
cmp r3, #0
beq _0805C570
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
adds r0, #8
ldr r2, _0805C560 @ =gRoomControls
ldrh r1, [r2, #6]
adds r1, r1, r0
strh r1, [r3, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
ldr r1, _0805C564 @ =0x0000FFF0
adds r0, r0, r1
ldrh r2, [r2, #8]
adds r0, r0, r2
strh r0, [r3, #0x32]
b _0805C570
.align 2, 0
_0805C560: .4byte gRoomControls
_0805C564: .4byte 0x0000FFF0
_0805C568:
bl CheckIsDungeon
cmp r0, #0
beq _0805C57C
_0805C570:
movs r0, #0xc5
adds r1, r5, #0
movs r2, #1
bl SetTileType
b _0805C586
_0805C57C:
movs r0, #0xc6
adds r1, r5, #0
movs r2, #1
bl SetTileType
_0805C586:
adds r1, r5, #0
subs r1, #0x41
movs r0, #0xc8
movs r2, #2
bl SetTileType
adds r1, r5, #0
subs r1, #0x40
movs r0, #0xc9
movs r2, #2
bl SetTileType
adds r1, r5, #0
subs r1, #0x3f
movs r0, #0xca
movs r2, #2
bl SetTileType
b _0805C5FE
_0805C5AC:
movs r0, #0xc5
adds r1, r5, #0
movs r2, #2
bl SetTileType
bl CheckIsDungeon
cmp r0, #0
beq _0805C5FE
bl sub_0805C608
adds r1, r0, #0
movs r0, #0x4f
movs r2, #6
bl CreateObject
adds r3, r0, #0
cmp r3, #0
beq _0805C5FE
movs r1, #0x3f
adds r0, r5, #0
ands r0, r1
lsls r0, r0, #4
adds r0, #8
ldr r2, _0805C600 @ =gRoomControls
ldrh r1, [r2, #6]
adds r1, r1, r0
strh r1, [r3, #0x2e]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r5
lsrs r0, r0, #2
ldr r1, _0805C604 @ =0x0000FFF0
adds r0, r0, r1
ldrh r2, [r2, #8]
adds r0, r0, r2
strh r0, [r3, #0x32]
adds r1, r3, #0
adds r1, #0x38
movs r0, #2
strb r0, [r1]
_0805C5FE:
pop {r4, r5, pc}
.align 2, 0
_0805C600: .4byte gRoomControls
_0805C604: .4byte 0x0000FFF0
thumb_func_start sub_0805C608
sub_0805C608: @ 0x0805C608
ldr r1, _0805C614 @ =gUnk_08108CFC
ldr r0, _0805C618 @ =gArea
ldrb r0, [r0, #3]
adds r0, r0, r1
ldrb r0, [r0]
bx lr
.align 2, 0
_0805C614: .4byte gUnk_08108CFC
_0805C618: .4byte gArea
-82
View File
@@ -1,82 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805C61C
sub_0805C61C: @ 0x0805C61C
push {r4, r5, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805C674
movs r0, #0x38
ldrsh r1, [r4, r0]
ldr r2, _0805C668 @ =gRoomControls
ldrh r0, [r2, #6]
subs r1, r1, r0
asrs r1, r1, #4
movs r3, #0x3f
ands r1, r3
movs r5, #0x3a
ldrsh r0, [r4, r5]
ldrh r2, [r2, #8]
subs r0, r0, r2
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r1, r0
strh r1, [r4, #0x38]
movs r1, #0x38
ldrsh r0, [r4, r1]
movs r1, #2
bl GetTileType
cmp r0, #0x75
bne _0805C670
movs r0, #1
strb r0, [r4, #0xc]
ldr r0, _0805C66C @ =0x0000406A
movs r2, #0x38
ldrsh r1, [r4, r2]
movs r2, #1
bl SetTile
b _0805C674
.align 2, 0
_0805C668: .4byte gRoomControls
_0805C66C: .4byte 0x0000406A
_0805C670:
bl DeleteThisEntity
_0805C674:
movs r5, #0x38
ldrsh r0, [r4, r5]
movs r1, #1
bl GetTileType
ldr r5, _0805C6B4 @ =0x0000406B
cmp r0, r5
bne _0805C694
movs r0, #0x38
ldrsh r1, [r4, r0]
movs r0, #0x76
movs r2, #2
bl sub_0807B7D8
bl DeleteThisEntity
_0805C694:
movs r1, #0x38
ldrsh r0, [r4, r1]
movs r1, #2
bl GetTileType
cmp r0, #0x76
bne _0805C6B2
movs r2, #0x38
ldrsh r1, [r4, r2]
adds r0, r5, #0
movs r2, #1
bl SetTile
bl DeleteThisEntity
_0805C6B2:
pop {r4, r5, pc}
.align 2, 0
_0805C6B4: .4byte 0x0000406B
-56
View File
@@ -1,56 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805CFC0
sub_0805CFC0: @ 0x0805CFC0
push {r4, lr}
adds r1, r0, #0
ldrb r0, [r1, #0xc]
cmp r0, #0
bne _0805CFCE
adds r0, #1
strb r0, [r1, #0xc]
_0805CFCE:
movs r0, #3
bl GetCurrentRoomProperty
adds r4, r0, #0
cmp r4, #0
beq _0805CFEE
b _0805CFE8
_0805CFDC:
cmp r0, #0xa
bne _0805CFE6
adds r0, r4, #0
bl sub_0805CFF0
_0805CFE6:
adds r4, #8
_0805CFE8:
ldrb r0, [r4]
cmp r0, #0
bne _0805CFDC
_0805CFEE:
pop {r4, pc}
thumb_func_start sub_0805CFF0
sub_0805CFF0: @ 0x0805CFF0
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #2]
bl CheckLocalFlag
cmp r0, #0
bne _0805D012
ldrh r0, [r4, #4]
ldrb r1, [r4, #1]
bl GetTileType
ldrh r1, [r4, #6]
cmp r1, r0
bne _0805D012
ldrh r0, [r4, #2]
bl SetLocalFlag
_0805D012:
pop {r4, pc}
-189
View File
@@ -1,189 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805D014
sub_0805D014: @ 0x0805D014
push {lr}
ldr r2, _0805D028 @ =gUnk_08108D30
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805D028: .4byte gUnk_08108D30
thumb_func_start sub_0805D02C
sub_0805D02C: @ 0x0805D02C
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
adds r6, r0, #0
ldrh r0, [r6, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805D046
bl DeleteThisEntity
_0805D046:
ldr r0, _0805D0BC @ =gEntCount
ldrb r0, [r0]
cmp r0, #0x43
bhi _0805D0B0
ldrb r0, [r6, #0xa]
bl GetCurrentRoomProperty
adds r5, r0, #0
movs r7, #0
movs r0, #0x36
adds r0, r0, r6
mov sl, r0
ldr r1, _0805D0C0 @ =gRoomControls
mov r8, r1
movs r0, #0x20
adds r0, r0, r6
mov sb, r0
_0805D068:
ldrh r1, [r5, #4]
movs r0, #0xa0
adds r2, r7, #0
bl CreateObject
adds r4, r0, #0
mov r1, r8
ldrh r0, [r1, #6]
ldrh r1, [r5]
adds r0, r0, r1
strh r0, [r4, #0x2e]
mov r1, r8
ldrh r0, [r1, #8]
ldrh r1, [r5, #2]
adds r0, r0, r1
strh r0, [r4, #0x32]
str r6, [r4, #0x50]
adds r0, r4, #0
bl sub_08016A30
mov r0, sb
adds r0, #4
mov sb, r0
subs r0, #4
stm r0!, {r4}
adds r7, #1
adds r5, #6
cmp r7, #3
bls _0805D068
movs r0, #0
movs r1, #1
strb r1, [r6, #0xc]
movs r1, #0x3c
strb r1, [r6, #0xf]
mov r1, sl
strb r0, [r1]
_0805D0B0:
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805D0BC: .4byte gEntCount
_0805D0C0: .4byte gRoomControls
thumb_func_start sub_0805D0C4
sub_0805D0C4: @ 0x0805D0C4
push {r4, r5, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805D0D8
movs r0, #0xb4
strb r0, [r4, #0xf]
_0805D0D8:
adds r5, r4, #0
adds r5, #0x36
ldrb r0, [r5]
cmp r0, #0xf
bne _0805D0F6
movs r0, #2
strb r0, [r4, #0xc]
movs r0, #8
strb r0, [r4, #0xe]
movs r0, #0x72
bl SoundReq
adds r0, r4, #0
bl sub_0805D11C
_0805D0F6:
movs r0, #0
strb r0, [r5]
pop {r4, r5, pc}
thumb_func_start sub_0805D0FC
sub_0805D0FC: @ 0x0805D0FC
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805D118
ldrh r0, [r4, #0x3e]
bl SetFlag
adds r0, r4, #0
bl DeleteManager
_0805D118:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805D11C
sub_0805D11C: @ 0x0805D11C
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
movs r6, #0
ldr r1, _0805D170 @ =gRoomControls
mov r8, r1
movs r7, #0x3f
adds r5, r0, #0
adds r5, #0x20
_0805D12E:
ldr r4, [r5]
movs r0, #0
stm r5!, {r0}
movs r2, #0x2e
ldrsh r0, [r4, r2]
mov r3, r8
ldrh r1, [r3, #6]
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r7
movs r2, #0x32
ldrsh r1, [r4, r2]
ldrh r2, [r3, #8]
subs r1, r1, r2
asrs r1, r1, #4
ands r1, r7
lsls r1, r1, #6
orrs r0, r1
adds r1, r4, #0
adds r1, #0x38
ldrb r1, [r1]
bl sub_0807BA8C
adds r0, r4, #0
bl DeleteEntity
adds r6, #1
cmp r6, #3
bls _0805D12E
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805D170: .4byte gRoomControls
-76
View File
@@ -1,76 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805D174
sub_0805D174: @ 0x0805D174
push {r4, r5, lr}
adds r5, r0, #0
ldrb r1, [r5, #0xc]
cmp r1, #0
bne _0805D184
movs r0, #1
strb r0, [r5, #0xc]
strh r1, [r5, #0x3a]
_0805D184:
movs r1, #0x38
ldrsh r0, [r5, r1]
movs r2, #0x3a
ldrsh r1, [r5, r2]
movs r2, #0x14
movs r3, #0x40
bl CheckPlayerInRegion
cmp r0, #0
beq _0805D1EE
ldr r0, _0805D1F0 @ =gPlayerEntity
movs r4, #0x32
ldrsh r1, [r0, r4]
ldr r3, _0805D1F4 @ =gRoomControls
ldrh r2, [r3, #8]
subs r1, r1, r2
movs r4, #0x36
ldrsh r0, [r0, r4]
adds r1, r1, r0
cmp r1, #0
bge _0805D1EE
movs r1, #0xc
ldrsh r0, [r3, r1]
cmp r0, r2
bne _0805D1EE
ldr r4, _0805D1F8 @ =gUnk_030010AC
adds r0, r4, #0
movs r1, #0x20
bl MemClear
subs r4, #0xc
movs r1, #0
movs r0, #1
strb r0, [r4, #8]
strb r1, [r4, #9]
movs r0, #0xb
strb r0, [r4, #0xf]
ldrb r0, [r5, #0xb]
strb r0, [r4, #0xc]
ldrb r0, [r5, #0xe]
strb r0, [r4, #0xd]
adds r0, r5, #0
adds r0, #0x37
ldrb r0, [r0]
strb r0, [r4, #0xe]
ldrh r0, [r5, #0x3c]
strh r0, [r4, #0x10]
ldrh r0, [r5, #0x3e]
strh r0, [r4, #0x12]
adds r0, r5, #0
adds r0, #0x36
ldrb r0, [r0]
strb r0, [r4, #0x14]
_0805D1EE:
pop {r4, r5, pc}
.align 2, 0
_0805D1F0: .4byte gPlayerEntity
_0805D1F4: .4byte gRoomControls
_0805D1F8: .4byte gUnk_030010AC
-46
View File
@@ -1,46 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805D1FC
sub_0805D1FC: @ 0x0805D1FC
push {r4, r5, lr}
adds r4, r0, #0
ldr r0, _0805D240 @ =0x00004014
ldr r1, _0805D244 @ =0x000005C3
movs r2, #1
bl SetTile
ldr r3, _0805D248 @ =gRoomControls
ldrh r0, [r3, #8]
adds r0, #0xc8
ldr r2, _0805D24C @ =gPlayerEntity
movs r5, #0x32
ldrsh r1, [r2, r5]
cmp r0, r1
bge _0805D236
movs r1, #0x2e
ldrsh r0, [r2, r1]
ldrh r1, [r3, #6]
subs r0, r0, r1
subs r0, #0x30
cmp r0, #0x10
bhi _0805D236
adds r1, r2, #0
adds r1, #0x38
movs r0, #3
strb r0, [r1]
adds r0, r2, #0
bl UpdateSpriteForCollisionLayer
_0805D236:
adds r0, r4, #0
bl DeleteManager
pop {r4, r5, pc}
.align 2, 0
_0805D240: .4byte 0x00004014
_0805D244: .4byte 0x000005C3
_0805D248: .4byte gRoomControls
_0805D24C: .4byte gPlayerEntity
-183
View File
@@ -1,183 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805D280
sub_0805D280: @ 0x0805D280
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3c]
bl CheckFlags
cmp r0, #0
beq _0805D292
bl DeleteThisEntity
_0805D292:
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805D2A6
ldrh r0, [r4, #0x3c]
bl SetFlag
bl DeleteThisEntity
_0805D2A6:
movs r0, #1
strb r0, [r4, #0xc]
ldrb r0, [r4, #0xe]
cmp r0, #0
bne _0805D2B4
movs r0, #0x1e
strb r0, [r4, #0xe]
_0805D2B4:
adds r0, r4, #0
movs r1, #6
bl sub_0805E3A0
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805D2C0
sub_0805D2C0: @ 0x0805D2C0
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805D2EE
ldr r0, _0805D2F0 @ =gUnk_03003DC0
ldrh r0, [r0, #8]
cmp r0, #1
bhi _0805D2EE
movs r0, #2
strb r0, [r4, #0xc]
ldrb r0, [r4, #0xe]
cmp r0, #1
bne _0805D2E6
adds r0, r4, #0
bl sub_0805D2F4
_0805D2E6:
ldrb r1, [r4, #0xe]
adds r0, r4, #0
bl sub_0805E4E0
_0805D2EE:
pop {r4, pc}
.align 2, 0
_0805D2F0: .4byte gUnk_03003DC0
thumb_func_start sub_0805D2F4
sub_0805D2F4: @ 0x0805D2F4
push {r4, lr}
adds r4, r0, #0
ldr r0, _0805D310 @ =gUnk_03003DC0
ldrh r0, [r0, #8]
cmp r0, #0
bne _0805D328
movs r1, #0x38
ldrsh r0, [r4, r1]
cmp r0, #0
beq _0805D314
bl SoundReq
b _0805D31A
.align 2, 0
_0805D310: .4byte gUnk_03003DC0
_0805D314:
movs r0, #0x72
bl SoundReq
_0805D31A:
ldrh r0, [r4, #0x3c]
cmp r0, #0
beq _0805D324
bl SetFlag
_0805D324:
bl DeleteThisEntity
_0805D328:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805D32C
sub_0805D32C: @ 0x0805D32C
push {lr}
ldr r2, _0805D340 @ =gUnk_08108D50
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805D340: .4byte gUnk_08108D50
thumb_func_start sub_0805D344
sub_0805D344: @ 0x0805D344
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
movs r0, #1
strb r0, [r4, #0xc]
ldrb r0, [r4, #0xe]
cmp r0, #0
bne _0805D35C
movs r0, #0x1e
strb r0, [r4, #0xe]
_0805D35C:
ldrb r0, [r4, #0xe]
strb r0, [r4, #0xf]
adds r0, r4, #0
movs r1, #6
bl sub_0805E3A0
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805D36C
sub_0805D36C: @ 0x0805D36C
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805D382
movs r0, #2
strb r0, [r4, #0xc]
ldrb r0, [r4, #0xf]
strb r0, [r4, #0xe]
_0805D382:
pop {r4, pc}
thumb_func_start sub_0805D384
sub_0805D384: @ 0x0805D384
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xe]
cmp r0, #0
beq _0805D3B2
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805D3C6
movs r1, #0x38
ldrsh r0, [r4, r1]
movs r1, #0x72
cmp r0, #0
beq _0805D3A4
adds r1, r0, #0
_0805D3A4:
adds r0, r1, #0
bl SoundReq
ldrh r0, [r4, #0x3c]
bl SetFlag
b _0805D3C6
_0805D3B2:
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
bne _0805D3C6
movs r0, #1
strb r0, [r4, #0xc]
ldrh r0, [r4, #0x3c]
bl ClearFlag
_0805D3C6:
pop {r4, pc}
-114
View File
@@ -1,114 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805D3C8
sub_0805D3C8: @ 0x0805D3C8
push {r4, lr}
adds r4, r0, #0
cmp r4, #0
bne _0805D3F4
ldr r0, _0805D3E8 @ =gArea
ldr r1, _0805D3EC @ =0x0000088C
adds r0, r0, r1
ldr r0, [r0]
ldr r1, _0805D3F0 @ =sub_0805D470
cmp r0, r1
beq _0805D45E
movs r0, #0
bl _call_via_r1
b _0805D45E
.align 2, 0
_0805D3E8: .4byte gArea
_0805D3EC: .4byte 0x0000088C
_0805D3F0: .4byte sub_0805D470
_0805D3F4:
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805D43A
movs r0, #1
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x10]
movs r0, #0x20
orrs r0, r1
strb r0, [r4, #0x10]
adds r0, r4, #0
movs r1, #6
bl sub_0805E3A0
ldr r0, _0805D428 @ =gArea
ldr r2, _0805D42C @ =0x0000088C
adds r0, r0, r2
ldr r0, [r0]
cmp r0, #0
bne _0805D434
ldr r1, _0805D430 @ =sub_0805D470
adds r0, r4, #0
movs r2, #0
bl sub_08052D74
b _0805D45E
.align 2, 0
_0805D428: .4byte gArea
_0805D42C: .4byte 0x0000088C
_0805D430: .4byte sub_0805D470
_0805D434:
bl DeleteThisEntity
b _0805D45E
_0805D43A:
ldr r1, _0805D460 @ =gRoomControls
ldr r0, [r1, #0x28]
ldr r3, _0805D464 @ =0xFFFFC000
adds r0, r0, r3
str r0, [r1, #0x28]
ldr r0, [r1, #0x2c]
ldr r2, _0805D468 @ =0xFFFFE000
adds r0, r0, r2
str r0, [r1, #0x2c]
ldr r2, _0805D46C @ =gScreen
ldrh r0, [r1, #0x2a]
ldrh r3, [r1, #0xa]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #0x2e]
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r2, #0x30]
_0805D45E:
pop {r4, pc}
.align 2, 0
_0805D460: .4byte gRoomControls
_0805D464: .4byte 0xFFFFC000
_0805D468: .4byte 0xFFFFE000
_0805D46C: .4byte gScreen
thumb_func_start sub_0805D470
sub_0805D470: @ 0x0805D470
push {lr}
movs r0, #0x4c
bl LoadGfxGroup
ldr r2, _0805D4A0 @ =gScreen
ldr r0, _0805D4A4 @ =0x00001E07
strh r0, [r2, #0x2c]
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
ldr r1, _0805D4A8 @ =gRoomControls
ldrh r0, [r1, #0x2a]
ldrh r3, [r1, #0xa]
adds r0, r0, r3
strh r0, [r2, #0x2e]
ldrh r0, [r1, #0x2e]
ldrh r1, [r1, #0xc]
adds r0, r0, r1
strh r0, [r2, #0x30]
pop {pc}
.align 2, 0
_0805D4A0: .4byte gScreen
_0805D4A4: .4byte 0x00001E07
_0805D4A8: .4byte gRoomControls
-182
View File
@@ -1,182 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805D630
sub_0805D630: @ 0x0805D630
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
adds r6, r0, #0
ldrb r0, [r6, #0xc]
cmp r0, #0
beq _0805D642
b _0805D768
_0805D642:
adds r0, #1
strb r0, [r6, #0xc]
movs r0, #0x42
bl CheckGlobalFlag
cmp r0, #0
beq _0805D6E4
movs r0, #0x43
bl CheckGlobalFlag
cmp r0, #0
beq _0805D6E4
movs r0, #0x44
bl CheckGlobalFlag
cmp r0, #0
beq _0805D6E4
movs r0, #0x3e
bl CheckGlobalFlag
cmp r0, #0
bne _0805D680
movs r0, #2
bl CheckGlobalFlag
cmp r0, #0
beq _0805D6E4
movs r0, #0x3e
bl SetGlobalFlag
b _0805D6D2
_0805D680:
movs r0, #0x3f
bl CheckGlobalFlag
cmp r0, #0
bne _0805D69C
movs r0, #3
bl CheckGlobalFlag
cmp r0, #0
beq _0805D6E4
movs r0, #0x3f
bl SetGlobalFlag
b _0805D6D2
_0805D69C:
movs r0, #0x40
bl CheckGlobalFlag
cmp r0, #0
bne _0805D6B8
movs r0, #4
bl CheckGlobalFlag
cmp r0, #0
beq _0805D6E4
movs r0, #0x40
bl SetGlobalFlag
b _0805D6D2
_0805D6B8:
movs r0, #0x41
bl CheckGlobalFlag
cmp r0, #0
bne _0805D6E4
movs r0, #5
bl CheckGlobalFlag
cmp r0, #0
beq _0805D6E4
movs r0, #0x41
bl SetGlobalFlag
_0805D6D2:
movs r0, #0x42
bl ClearGlobalFlag
movs r0, #0x43
bl ClearGlobalFlag
movs r0, #0x44
bl ClearGlobalFlag
_0805D6E4:
adds r1, r6, #0
adds r1, #0x22
movs r0, #0
strb r0, [r1]
subs r1, #1
strb r0, [r1]
subs r1, #1
strb r0, [r1]
ldr r4, _0805D79C @ =gUnk_08108D5C
movs r5, #0
mov sb, r1
movs r7, #1
ldr r0, _0805D7A0 @ =gRoomControls
mov r8, r0
_0805D700:
adds r0, r5, #0
adds r0, #0x42
bl CheckGlobalFlag
cmp r0, #0
bne _0805D760
bl Random
ldrh r1, [r4, #2]
bl __modsi3
adds r2, r0, #0
ldrh r0, [r4]
adds r2, r2, r0
movs r0, #2
movs r1, #0x5c
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805D760
strb r7, [r2, #0xe]
strb r5, [r2, #0xf]
mov r1, r8
ldrh r0, [r1, #6]
ldrh r1, [r4, #4]
adds r0, r0, r1
strh r0, [r2, #0x2e]
mov r1, r8
ldrh r0, [r1, #8]
ldrh r1, [r4, #6]
adds r0, r0, r1
strh r0, [r2, #0x32]
ldrh r1, [r4, #4]
adds r0, r2, #0
adds r0, #0x80
strh r1, [r0]
ldrh r0, [r4, #6]
adds r1, r2, #0
adds r1, #0x82
strh r0, [r1]
adds r0, r2, #0
adds r0, #0x38
strb r7, [r0]
str r6, [r2, #0x50]
mov r1, sb
adds r0, r1, r5
strb r7, [r0]
_0805D760:
adds r5, #1
adds r4, #8
cmp r5, #2
ble _0805D700
_0805D768:
movs r5, #0
_0805D76A:
adds r4, r5, #0
adds r4, #0x42
adds r0, r4, #0
bl CheckGlobalFlag
cmp r0, #0
bne _0805D78E
adds r0, r6, #0
adds r0, #0x20
adds r0, r0, r5
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
bge _0805D78E
adds r0, r4, #0
bl SetGlobalFlag
_0805D78E:
adds r5, #1
cmp r5, #2
ble _0805D76A
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805D79C: .4byte gUnk_08108D5C
_0805D7A0: .4byte gRoomControls
-449
View File
@@ -1,449 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805D7A4
sub_0805D7A4: @ 0x0805D7A4
push {r4, lr}
adds r4, r0, #0
ldr r1, _0805D7D4 @ =gUnk_08108D7C
ldrb r0, [r4, #0xc]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
ldr r0, _0805D7D8 @ =gScreenTransition
ldr r0, [r0]
lsls r0, r0, #4
str r0, [r4, #0x24]
adds r0, r4, #0
bl sub_0805D9D8
ldr r0, [r4, #0x20]
ldr r1, [r4, #0x28]
ldr r2, [r4, #0x24]
bl sub_0805DA08
pop {r4, pc}
.align 2, 0
_0805D7D4: .4byte gUnk_08108D7C
_0805D7D8: .4byte gScreenTransition
thumb_func_start sub_0805D7DC
sub_0805D7DC: @ 0x0805D7DC
push {lr}
adds r1, r0, #0
ldrb r0, [r1, #0xa]
movs r2, #2
cmp r0, #0
bne _0805D7EA
movs r2, #1
_0805D7EA:
movs r0, #0
strb r2, [r1, #0xc]
str r0, [r1, #0x20]
str r0, [r1, #0x24]
ldr r0, _0805D80C @ =gRoomControls
ldrb r0, [r0, #4]
cmp r0, #0x78
beq _0805D83C
cmp r0, #0x78
bgt _0805D816
cmp r0, #7
beq _0805D828
cmp r0, #7
bgt _0805D810
cmp r0, #3
beq _0805D82C
b _0805D828
.align 2, 0
_0805D80C: .4byte gRoomControls
_0805D810:
cmp r0, #0x38
beq _0805D840
b _0805D828
_0805D816:
cmp r0, #0x81
beq _0805D830
cmp r0, #0x81
bgt _0805D824
cmp r0, #0x80
beq _0805D834
b _0805D828
_0805D824:
cmp r0, #0x88
beq _0805D838
_0805D828:
movs r1, #0
b _0805D842
_0805D82C:
movs r1, #1
b _0805D842
_0805D830:
movs r1, #2
b _0805D842
_0805D834:
movs r1, #3
b _0805D842
_0805D838:
movs r1, #4
b _0805D842
_0805D83C:
movs r1, #5
b _0805D842
_0805D840:
movs r1, #6
_0805D842:
ldr r0, _0805D854 @ =gUnk_08108D74
adds r0, r1, r0
ldrb r0, [r0]
bl LoadGfxGroup
ldr r1, _0805D858 @ =gScreen
ldr r0, _0805D85C @ =0x00001E04
strh r0, [r1, #0x2c]
pop {pc}
.align 2, 0
_0805D854: .4byte gUnk_08108D74
_0805D858: .4byte gScreen
_0805D85C: .4byte 0x00001E04
thumb_func_start sub_0805D860
sub_0805D860: @ 0x0805D860
push {lr}
adds r1, r0, #0
ldrb r0, [r1, #0xd]
cmp r0, #1
beq _0805D89C
cmp r0, #1
bgt _0805D874
cmp r0, #0
beq _0805D87E
b _0805D8D6
_0805D874:
cmp r0, #2
beq _0805D8B0
cmp r0, #3
beq _0805D8C2
b _0805D8D6
_0805D87E:
movs r0, #1
strb r0, [r1, #0xd]
movs r0, #0x80
str r0, [r1, #0x20]
ldr r2, _0805D898 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
b _0805D8F4
.align 2, 0
_0805D898: .4byte gScreen
_0805D89C:
ldr r0, [r1, #0x20]
subs r0, #1
str r0, [r1, #0x20]
cmp r0, #0x10
bne _0805D8F4
movs r0, #2
strb r0, [r1, #0xd]
movs r0, #0x2d
strb r0, [r1, #0xe]
b _0805D8F4
_0805D8B0:
ldrb r0, [r1, #0xe]
subs r0, #1
strb r0, [r1, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805D8F4
movs r0, #3
strb r0, [r1, #0xd]
b _0805D8F4
_0805D8C2:
ldr r0, [r1, #0x20]
subs r0, #1
str r0, [r1, #0x20]
cmp r0, #0
bne _0805D8F4
movs r0, #4
strb r0, [r1, #0xd]
movs r0, #0x3c
strb r0, [r1, #0xe]
b _0805D8F4
_0805D8D6:
ldrb r0, [r1, #0xe]
subs r0, #1
strb r0, [r1, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805D8F4
bl sub_0801E104
ldr r2, _0805D8F8 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805D8FC @ =0x0000F7FF
ands r0, r1
strh r0, [r2]
bl DeleteThisEntity
_0805D8F4:
pop {pc}
.align 2, 0
_0805D8F8: .4byte gScreen
_0805D8FC: .4byte 0x0000F7FF
thumb_func_start sub_0805D900
sub_0805D900: @ 0x0805D900
push {lr}
adds r2, r0, #0
ldrb r0, [r2, #0xd]
cmp r0, #1
beq _0805D938
cmp r0, #1
bgt _0805D914
cmp r0, #0
beq _0805D91A
b _0805D966
_0805D914:
cmp r0, #2
beq _0805D94E
b _0805D966
_0805D91A:
movs r1, #1
strb r1, [r2, #0xd]
movs r0, #0x2d
strb r0, [r2, #0xe]
str r1, [r2, #0x20]
ldr r2, _0805D934 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
b _0805D982
.align 2, 0
_0805D934: .4byte gScreen
_0805D938:
ldrb r0, [r2, #0xe]
subs r0, #1
strb r0, [r2, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805D982
movs r0, #2
strb r0, [r2, #0xd]
movs r0, #0x14
strb r0, [r2, #0xe]
b _0805D982
_0805D94E:
ldr r0, [r2, #0x20]
adds r0, #1
str r0, [r2, #0x20]
ldrb r0, [r2, #0xe]
subs r0, #1
strb r0, [r2, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805D982
movs r0, #3
strb r0, [r2, #0xd]
b _0805D982
_0805D966:
ldr r0, [r2, #0x20]
adds r0, #4
str r0, [r2, #0x20]
cmp r0, #0x80
bls _0805D982
bl sub_0801E104
ldr r2, _0805D984 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805D988 @ =0x0000F7FF
ands r0, r1
strh r0, [r2]
bl DeleteThisEntity
_0805D982:
pop {pc}
.align 2, 0
_0805D984: .4byte gScreen
_0805D988: .4byte 0x0000F7FF
thumb_func_start sub_0805D98C
sub_0805D98C: @ 0x0805D98C
push {lr}
adds r2, r0, #0
ldr r3, _0805D9D4 @ =gInput
ldrh r1, [r3]
movs r0, #0x40
ands r0, r1
cmp r0, #0
beq _0805D9A2
ldr r0, [r2, #0x20]
subs r0, #1
str r0, [r2, #0x20]
_0805D9A2:
ldrh r1, [r3]
movs r0, #0x80
ands r0, r1
adds r3, r1, #0
cmp r0, #0
beq _0805D9B4
ldr r0, [r2, #0x20]
adds r0, #1
str r0, [r2, #0x20]
_0805D9B4:
movs r0, #0x20
ands r0, r3
cmp r0, #0
beq _0805D9C2
ldr r0, [r2, #0x28]
subs r0, #1
str r0, [r2, #0x28]
_0805D9C2:
movs r0, #0x10
ands r0, r1
cmp r0, #0
beq _0805D9D0
ldr r0, [r2, #0x28]
adds r0, #1
str r0, [r2, #0x28]
_0805D9D0:
pop {pc}
.align 2, 0
_0805D9D4: .4byte gInput
thumb_func_start sub_0805D9D8
sub_0805D9D8: @ 0x0805D9D8
push {r4, lr}
ldr r4, [r0, #0x14]
cmp r4, #0
beq _0805D9FC
ldr r3, _0805DA00 @ =gScreen
ldr r2, _0805DA04 @ =gRoomControls
ldrh r1, [r4, #0x2e]
ldrh r0, [r2, #0xa]
subs r1, r1, r0
movs r0, #0x80
subs r0, r0, r1
strh r0, [r3, #0x2e]
ldrh r1, [r4, #0x32]
ldrh r0, [r2, #0xc]
subs r1, r1, r0
movs r0, #0x8c
subs r0, r0, r1
strh r0, [r3, #0x30]
_0805D9FC:
pop {r4, pc}
.align 2, 0
_0805DA00: .4byte gScreen
_0805DA04: .4byte gRoomControls
thumb_func_start sub_0805DA08
sub_0805DA08: @ 0x0805DA08
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
mov sl, r0
adds r5, r1, #0
adds r6, r2, #0
ldr r2, _0805DA78 @ =gUnk_03003DE4
ldrb r1, [r2]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
ldr r1, _0805DA7C @ =gUnk_02017AA0
adds r4, r0, r1
movs r3, #0
mov r8, r2
mov sb, r1
ldr r0, _0805DA80 @ =gSineTable
mov ip, r0
movs r2, #0xff
ldr r1, _0805DA84 @ =gScreen
_0805DA34:
adds r0, r6, r3
adds r0, r0, r5
ands r0, r2
lsls r0, r0, #1
add r0, ip
movs r7, #0
ldrsh r0, [r0, r7]
mov r7, sl
muls r7, r0, r7
adds r0, r7, #0
lsrs r0, r0, #8
ldrh r7, [r1, #0x2e]
adds r0, r0, r7
strh r0, [r4]
adds r4, #2
adds r3, #1
adds r5, #0x17
cmp r3, #0x9f
bls _0805DA34
mov r0, r8
ldrb r1, [r0]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
add r0, sb
ldr r1, _0805DA88 @ =0x0400001C
ldr r2, _0805DA8C @ =0xA2600001
bl sub_0805622C
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805DA78: .4byte gUnk_03003DE4
_0805DA7C: .4byte gUnk_02017AA0
_0805DA80: .4byte gSineTable
_0805DA84: .4byte gScreen
_0805DA88: .4byte 0x0400001C
_0805DA8C: .4byte 0xA2600001
thumb_func_start sub_0805DA90
sub_0805DA90: @ 0x0805DA90
push {r4, r5, lr}
adds r5, r0, #0
adds r4, r1, #0
bl GetEmptyManager
adds r1, r0, #0
cmp r1, #0
beq _0805DAB4
movs r0, #9
strb r0, [r1, #8]
movs r0, #0x32
strb r0, [r1, #9]
strb r4, [r1, #0xa]
str r5, [r1, #0x14]
adds r0, r1, #0
movs r1, #8
bl AppendEntityToList
_0805DAB4:
ldr r0, _0805DAD8 @ =gArea
ldr r1, _0805DADC @ =0x0000088C
adds r4, r0, r1
ldr r0, [r4]
cmp r0, #0
beq _0805DAD4
ldr r2, _0805DAE0 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805DAE4 @ =0x0000F7FF
ands r0, r1
strh r0, [r2]
bl sub_080528F0
ldr r0, [r4]
bl DeleteManager
_0805DAD4:
pop {r4, r5, pc}
.align 2, 0
_0805DAD8: .4byte gArea
_0805DADC: .4byte 0x0000088C
_0805DAE0: .4byte gScreen
_0805DAE4: .4byte 0x0000F7FF
-93
View File
@@ -1,93 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805DAE8
sub_0805DAE8: @ 0x0805DAE8
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r2, r0, #0
ldr r5, _0805DB4C @ =gRoomControls
ldrh r0, [r5, #6]
movs r1, #0xfc
lsls r1, r1, #1
mov r8, r1
add r0, r8
ldr r3, _0805DB50 @ =gPlayerEntity
movs r4, #0x2e
ldrsh r1, [r3, r4]
subs r0, r0, r1
adds r4, r0, #0
adds r4, #0x10
ldrh r0, [r5, #8]
movs r7, #0xa0
lsls r7, r7, #1
adds r0, r0, r7
movs r6, #0x32
ldrsh r1, [r3, r6]
subs r0, r0, r1
adds r0, #0x10
ldrb r6, [r2, #0xc]
cmp r6, #0
bne _0805DB58
cmp r4, #0x1f
bhi _0805DB88
cmp r0, #0x1f
bhi _0805DB88
movs r0, #0x36
ldrsh r1, [r3, r0]
movs r0, #0x18
rsbs r0, r0, #0
cmp r1, r0
bge _0805DB88
ldr r0, _0805DB54 @ =gPlayerState
adds r0, #0xa8
ldrb r0, [r0]
cmp r0, #0x14
bne _0805DB88
adds r0, r6, #1
strb r0, [r2, #0xc]
movs r0, #0x5a
strb r0, [r2, #0xe]
adds r0, #0xb0
bl SoundReq
b _0805DB88
.align 2, 0
_0805DB4C: .4byte gRoomControls
_0805DB50: .4byte gPlayerEntity
_0805DB54: .4byte gPlayerState
_0805DB58:
ldrb r0, [r2, #0xe]
subs r0, #1
strb r0, [r2, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805DB88
movs r0, #0x96
movs r1, #1
movs r2, #0
bl CreateObject
adds r1, r0, #0
cmp r1, #0
beq _0805DB84
ldrh r0, [r5, #6]
add r0, r8
strh r0, [r1, #0x2e]
ldrh r0, [r5, #8]
adds r0, r0, r7
strh r0, [r1, #0x32]
ldr r0, _0805DB90 @ =0x0000FFE8
strh r0, [r1, #0x36]
_0805DB84:
bl DeleteThisEntity
_0805DB88:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805DB90: .4byte 0x0000FFE8
-143
View File
@@ -1,143 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805DB94
sub_0805DB94: @ 0x0805DB94
push {r4, lr}
adds r4, r0, #0
ldr r1, _0805DBB0 @ =gUnk_08108D8C
ldrb r0, [r4, #0xc]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
adds r0, r4, #0
bl sub_0805DBF0
pop {r4, pc}
.align 2, 0
_0805DBB0: .4byte gUnk_08108D8C
thumb_func_start sub_0805DBB4
sub_0805DBB4: @ 0x0805DBB4
movs r1, #1
strb r1, [r0, #0xc]
ldr r1, _0805DBC8 @ =gScreenTransition
adds r1, #0x3d
ldrb r2, [r1]
lsls r1, r2, #4
subs r1, r1, r2
lsls r1, r1, #2
strh r1, [r0, #0x20]
bx lr
.align 2, 0
_0805DBC8: .4byte gScreenTransition
thumb_func_start sub_0805DBCC
sub_0805DBCC: @ 0x0805DBCC
push {lr}
adds r1, r0, #0
ldr r0, [r1, #0x14]
ldr r0, [r0, #4]
cmp r0, #0
bne _0805DBE6
movs r0, #2
strb r0, [r1, #0xc]
ldrh r0, [r1, #0x20]
ldr r2, _0805DBE8 @ =0x0000012D
cmp r0, r2
bls _0805DBE6
strh r2, [r1, #0x20]
_0805DBE6:
pop {pc}
.align 2, 0
_0805DBE8: .4byte 0x0000012D
thumb_func_start nullsub_498
nullsub_498: @ 0x0805DBEC
bx lr
.align 2, 0
thumb_func_start sub_0805DBF0
sub_0805DBF0: @ 0x0805DBF0
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x20]
subs r1, r0, #1
strh r1, [r4, #0x20]
lsls r0, r1, #0x10
cmp r0, #0
bne _0805DC06
bl sub_0805DC70
b _0805DC6C
_0805DC06:
lsls r0, r1, #0x10
lsrs r1, r0, #0x10
cmp r1, #0x78
bne _0805DC18
movs r0, #0x78
movs r1, #2
bl sub_08080964
b _0805DC36
_0805DC18:
cmp r1, #0xd2
bne _0805DC26
movs r0, #0x5a
movs r1, #1
bl sub_08080964
b _0805DC36
_0805DC26:
movs r0, #0x96
lsls r0, r0, #1
cmp r1, r0
bne _0805DC36
movs r0, #0x5a
movs r1, #0
bl sub_08080964
_0805DC36:
ldrh r1, [r4, #0x20]
adds r0, r1, #0
cmp r0, #0x77
bhi _0805DC42
movs r0, #0xf
b _0805DC48
_0805DC42:
cmp r0, #0xd1
bhi _0805DC58
movs r0, #0x1f
_0805DC48:
ands r0, r1
cmp r0, #0
bne _0805DC6C
movs r0, #0x93
lsls r0, r0, #1
bl SoundReq
b _0805DC6C
_0805DC58:
cmp r0, #0xc7
bhi _0805DC6C
movs r0, #0x3f
ands r0, r1
cmp r0, #0
bne _0805DC6C
movs r0, #0x93
lsls r0, r0, #1
bl SoundReq
_0805DC6C:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805DC70
sub_0805DC70: @ 0x0805DC70
push {lr}
bl sub_0805E5A8
ldr r0, _0805DC80 @ =gUnk_0813AC48
bl DoExitTransition
pop {pc}
.align 2, 0
_0805DC80: .4byte gUnk_0813AC48
-166
View File
@@ -1,166 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805DC84
sub_0805DC84: @ 0x0805DC84
push {lr}
ldr r2, _0805DC98 @ =gUnk_08108D98
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805DC98: .4byte gUnk_08108D98
thumb_func_start sub_0805DC9C
sub_0805DC9C: @ 0x0805DC9C
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3c]
bl CheckFlags
cmp r0, #0
beq _0805DCAE
bl DeleteThisEntity
_0805DCAE:
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805DCC2
ldrh r0, [r4, #0x3c]
bl SetFlag
bl DeleteThisEntity
_0805DCC2:
movs r0, #1
strb r0, [r4, #0xc]
pop {r4, pc}
thumb_func_start sub_0805DCC8
sub_0805DCC8: @ 0x0805DCC8
push {r4, r5, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805DD1E
movs r0, #2
strb r0, [r4, #0xc]
adds r0, r4, #0
adds r0, #0x35
ldrb r0, [r0]
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805DCEC
movs r0, #0x1e
strb r0, [r4, #0xe]
_0805DCEC:
ldr r5, _0805DD20 @ =gRoomControls
ldr r0, [r5, #0x30]
str r0, [r4, #0x14]
movs r0, #0x69
movs r1, #0
movs r2, #0
bl CreateObject
adds r1, r0, #0
cmp r1, #0
beq _0805DD1E
ldrh r0, [r5, #6]
ldrh r2, [r4, #0x38]
adds r0, r0, r2
strh r0, [r1, #0x2e]
ldrh r0, [r5, #8]
ldrh r2, [r4, #0x3a]
adds r0, r0, r2
strh r0, [r1, #0x32]
str r1, [r4, #0x18]
str r1, [r5, #0x30]
adds r0, r1, #0
movs r1, #0x1e
bl sub_0805E4E0
_0805DD1E:
pop {r4, r5, pc}
.align 2, 0
_0805DD20: .4byte gRoomControls
thumb_func_start sub_0805DD24
sub_0805DD24: @ 0x0805DD24
push {r4, lr}
adds r4, r0, #0
movs r0, #0
movs r1, #8
bl sub_0805E4E0
ldr r0, _0805DD64 @ =gRoomControls
ldrb r1, [r0, #0xf]
movs r0, #4
ands r0, r1
cmp r0, #0
bne _0805DD60
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805DD60
movs r0, #3
strb r0, [r4, #0xc]
ldrh r0, [r4, #0x3c]
bl SetFlag
adds r1, r4, #0
adds r1, #0x36
ldrb r0, [r1]
cmp r0, #0
bne _0805DD60
movs r0, #1
strb r0, [r1]
_0805DD60:
pop {r4, pc}
.align 2, 0
_0805DD64: .4byte gRoomControls
thumb_func_start sub_0805DD68
sub_0805DD68: @ 0x0805DD68
push {r4, lr}
adds r4, r0, #0
movs r0, #0
movs r1, #8
bl sub_0805E4E0
adds r1, r4, #0
adds r1, #0x36
ldrb r0, [r1]
cmp r0, #0
beq _0805DD94
subs r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805DDAE
ldr r1, _0805DD90 @ =gRoomControls
ldr r0, [r4, #0x14]
str r0, [r1, #0x30]
b _0805DDAE
.align 2, 0
_0805DD90: .4byte gRoomControls
_0805DD94:
ldr r0, _0805DDB0 @ =gRoomControls
ldrb r1, [r0, #0xf]
movs r0, #4
ands r0, r1
cmp r0, #0
bne _0805DDAE
ldr r0, [r4, #0x18]
cmp r0, #0
beq _0805DDAA
bl DeleteEntity
_0805DDAA:
bl DeleteThisEntity
_0805DDAE:
pop {r4, pc}
.align 2, 0
_0805DDB0: .4byte gRoomControls
-81
View File
@@ -1,81 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805DDB4
sub_0805DDB4: @ 0x0805DDB4
push {lr}
adds r2, r0, #0
ldrb r0, [r2, #0xa]
lsls r0, r0, #2
ldr r1, _0805DDE0 @ =gUnk_08108DA8
adds r3, r0, r1
ldrb r0, [r2, #0xc]
adds r1, r0, #0
cmp r1, #0
bne _0805DDCE
adds r0, #1
strb r0, [r2, #0xc]
strb r1, [r2, #0xe]
_0805DDCE:
ldrb r0, [r2, #0xe]
cmp r0, #0
bne _0805DDE4
ldrh r0, [r3]
strb r0, [r2, #0xe]
ldrh r0, [r3, #2]
bl SoundReq
b _0805DDE8
.align 2, 0
_0805DDE0: .4byte gUnk_08108DA8
_0805DDE4:
subs r0, #1
strb r0, [r2, #0xe]
_0805DDE8:
pop {pc}
.align 2, 0
thumb_func_start sub_0805DDEC
sub_0805DDEC: @ 0x0805DDEC
push {r4, r5, lr}
adds r5, r1, #0
bl GetEmptyManager
adds r4, r0, #0
cmp r4, #0
beq _0805DE16
movs r0, #9
strb r0, [r4, #8]
movs r0, #0x36
strb r0, [r4, #9]
ldr r0, [r5, #4]
strb r0, [r4, #0xa]
adds r0, r4, #0
movs r1, #6
bl AppendEntityToList
adds r0, r4, #0
movs r1, #6
bl sub_0805E3A0
_0805DE16:
pop {r4, r5, pc}
thumb_func_start sub_0805DE18
sub_0805DE18: @ 0x0805DE18
push {lr}
sub sp, #4
ldr r3, [r1, #4]
movs r0, #0
str r0, [sp]
movs r0, #9
movs r1, #0x36
movs r2, #6
bl FindEntity
cmp r0, #0
beq _0805DE34
bl DeleteEntityAny
_0805DE34:
add sp, #4
pop {pc}
-390
View File
@@ -1,390 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805DE38
sub_0805DE38: @ 0x0805DE38
push {lr}
ldr r2, _0805DE4C @ =gUnk_08108DBC
ldrb r1, [r0, #0xa]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805DE4C: .4byte gUnk_08108DBC
thumb_func_start sub_0805DE50
sub_0805DE50: @ 0x0805DE50
push {lr}
ldr r2, _0805DE64 @ =gUnk_08108DC4
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805DE64: .4byte gUnk_08108DC4
thumb_func_start sub_0805DE68
sub_0805DE68: @ 0x0805DE68
.ifdef JP
push {r4, lr}
adds r4, r0, #0
movs r0, #0x7b
bl CheckLocalFlag
cmp r0, #0
bne _0805DCCE
bl DeleteThisEntity
_0805DCCE:
movs r1, #0
movs r0, #1
strb r0, [r4, #0xc]
ldr r2, _0805DCF4 @ =0x030010A0
adds r0, r2, #0
adds r0, #0x38
strb r1, [r0]
adds r1, r2, #0
adds r1, #0x39
movs r0, #0xf
strb r0, [r1]
adds r0, r2, #0
adds r0, #0x3a
movs r1, #0x20
strb r1, [r0]
adds r0, #1
strb r1, [r0]
pop {r4, pc}
.align 2, 0
_0805DCF4: .4byte gScreenTransition
.else
.ifdef EU
push {r4, lr}
adds r4, r0, #0
movs r0, #0x7b
bl CheckLocalFlag
cmp r0, #0
bne _0805D916
bl DeleteThisEntity
_0805D916:
movs r1, #0
movs r0, #1
strb r0, [r4, #0xc]
ldr r2, _0805D93C @ =gScreenTransition
adds r0, r2, #0
adds r0, #0x38
strb r1, [r0]
adds r1, r2, #0
adds r1, #0x39
movs r0, #0xf
strb r0, [r1]
adds r0, r2, #0
adds r0, #0x3a
movs r1, #0x20
strb r1, [r0]
adds r0, #1
strb r1, [r0]
pop {r4, pc}
.align 2, 0
_0805D93C: .4byte gScreenTransition
.else
push {r4, lr}
adds r4, r0, #0
movs r0, #0x7b
bl CheckLocalFlag
cmp r0, #0
bne _0805DE7A
bl DeleteThisEntity
_0805DE7A:
movs r1, #0
movs r0, #1
strb r0, [r4, #0xc]
ldr r2, _0805DEAC @ =gScreenTransition
adds r0, r2, #0
adds r0, #0x38
strb r1, [r0]
adds r1, r2, #0
adds r1, #0x39
movs r0, #0xf
strb r0, [r1]
adds r0, r2, #0
adds r0, #0x3a
movs r1, #0x20
strb r1, [r0]
adds r0, #1
strb r1, [r0]
ldr r0, _0805DEB0 @ =gSave
movs r1, #0x93
lsls r1, r1, #3
adds r0, r0, r1
ldr r1, _0805DEB4 @ =0x00001194
str r1, [r0]
pop {r4, pc}
.align 2, 0
_0805DEAC: .4byte gScreenTransition
_0805DEB0: .4byte gSave
_0805DEB4: .4byte 0x00001194
.endif
.endif
thumb_func_start sub_0805DEB8
sub_0805DEB8: @ 0x0805DEB8
push {r4, r5, lr}
adds r3, r0, #0
ldr r5, _0805DF44 @ =gPlayerEntity
movs r0, #0x2e
ldrsh r2, [r5, r0]
subs r2, #0x88
ldr r4, _0805DF48 @ =gRoomControls
ldrh r0, [r4, #6]
subs r2, r2, r0
movs r1, #0x32
ldrsh r0, [r5, r1]
subs r0, #0x40
ldrh r1, [r4, #8]
subs r0, r0, r1
adds r1, r2, #0
muls r1, r2, r1
adds r2, r0, #0
muls r2, r0, r2
adds r0, r2, #0
adds r1, r1, r0
movs r0, #0x90
lsls r0, r0, #4
cmp r1, r0
bgt _0805DF42
movs r0, #0
movs r1, #2
strb r1, [r3, #0xc]
strb r0, [r3, #0xd]
movs r0, #0x78
strb r0, [r3, #0xe]
movs r0, #2
bl sub_08078A90
bl sub_08078B48
movs r0, #0x64
movs r1, #0
movs r2, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0805DF1A
ldrh r0, [r4, #6]
adds r0, #0x88
strh r0, [r2, #0x2e]
ldrh r0, [r4, #8]
adds r0, #0x48
strh r0, [r2, #0x32]
_0805DF1A:
movs r2, #0x10
rsbs r2, r2, #0
adds r0, r5, #0
movs r1, #8
bl CreateSpeechBubbleExclamationMark
adds r2, r0, #0
cmp r2, #0
beq _0805DF3C
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #3
orrs r0, r1
strb r0, [r2]
_0805DF3C:
movs r0, #0x32
bl SoundReq
_0805DF42:
pop {r4, r5, pc}
.align 2, 0
_0805DF44: .4byte gPlayerEntity
_0805DF48: .4byte gRoomControls
thumb_func_start sub_0805DF4C
sub_0805DF4C: @ 0x0805DF4C
push {lr}
adds r1, r0, #0
ldr r2, _0805DF70 @ =gPlayerEntity
movs r0, #0
strb r0, [r2, #0x14]
movs r3, #0x36
ldrsh r0, [r2, r3]
cmp r0, #0
beq _0805DF78
movs r1, #0x32
ldrsh r0, [r2, r1]
ldr r1, _0805DF74 @ =gRoomControls
ldrh r1, [r1, #8]
adds r1, #0x48
cmp r0, r1
bge _0805DF92
strh r1, [r2, #0x32]
b _0805DF92
.align 2, 0
_0805DF70: .4byte gPlayerEntity
_0805DF74: .4byte gRoomControls
_0805DF78:
ldrb r0, [r1, #0xe]
subs r0, #1
strb r0, [r1, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0805DF92
movs r0, #3
strb r0, [r1, #0xc]
movs r0, #0x1e
strb r0, [r1, #0xe]
ldr r0, _0805DF94 @ =0x0000164F
bl TextboxNoOverlapFollow
_0805DF92:
pop {pc}
.align 2, 0
_0805DF94: .4byte 0x0000164F
thumb_func_start sub_0805DF98
sub_0805DF98: @ 0x0805DF98
push {lr}
adds r2, r0, #0
ldr r0, _0805DFB4 @ =gTextBox
ldrb r1, [r0]
movs r0, #0x7f
ands r0, r1
cmp r0, #0
bne _0805DFCA
ldrb r0, [r2, #0xe]
cmp r0, #0
beq _0805DFB8
subs r0, #1
strb r0, [r2, #0xe]
b _0805DFCA
.align 2, 0
_0805DFB4: .4byte gTextBox
_0805DFB8:
movs r0, #4
strb r0, [r2, #0xc]
movs r0, #7
movs r1, #4
bl DoFade
movs r0, #0xf6
bl SoundReq
_0805DFCA:
pop {pc}
thumb_func_start sub_0805DFCC
sub_0805DFCC: @ 0x0805DFCC
push {lr}
ldr r0, _0805DFE4 @ =gFadeControl
ldrb r0, [r0]
cmp r0, #0
bne _0805DFE0
movs r0, #0x1c
bl ClearGlobalFlag
bl sub_0805E094
_0805DFE0:
pop {pc}
.align 2, 0
_0805DFE4: .4byte gFadeControl
thumb_func_start sub_0805DFE8
sub_0805DFE8: @ 0x0805DFE8
push {lr}
ldr r2, _0805DFFC @ =gUnk_08108DD8
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805DFFC: .4byte gUnk_08108DD8
thumb_func_start sub_0805E000
sub_0805E000: @ 0x0805E000
push {r4, r5, r6, lr}
adds r6, r0, #0
movs r0, #0x51
movs r1, #0
bl CreateEnemy
adds r4, r0, #0
cmp r4, #0
beq _0805E062
ldr r1, _0805E064 @ =gRoomControls
ldrh r0, [r1, #6]
adds r0, #0xb0
strh r0, [r4, #0x2e]
ldrh r0, [r1, #8]
adds r0, #0x48
strh r0, [r4, #0x32]
adds r0, r4, #0
adds r0, #0x38
movs r5, #1
strb r5, [r0]
adds r0, r4, #0
bl UpdateSpriteForCollisionLayer
ldr r0, _0805E068 @ =gScreenTransition
adds r0, #0x38
ldrb r1, [r0]
adds r0, r5, #0
ands r0, r1
cmp r0, #0
beq _0805E040
bl DeleteThisEntity
_0805E040:
str r4, [r6, #0x18]
strb r5, [r6, #0xc]
movs r0, #3
bl sub_08078A90
ldr r0, _0805E06C @ =gArea
ldr r1, _0805E070 @ =0x00000864
adds r0, r0, r1
ldr r1, _0805E074 @ =0x80010000
str r1, [r0]
movs r0, #6
movs r1, #4
bl DoFade
movs r0, #0xf7
bl SoundReq
_0805E062:
pop {r4, r5, r6, pc}
.align 2, 0
_0805E064: .4byte gRoomControls
_0805E068: .4byte gScreenTransition
_0805E06C: .4byte gArea
_0805E070: .4byte 0x00000864
_0805E074: .4byte 0x80010000
thumb_func_start sub_0805E078
sub_0805E078: @ 0x0805E078
push {lr}
adds r1, r0, #0
ldr r0, _0805E090 @ =gFadeControl
ldrb r0, [r0]
cmp r0, #0
bne _0805E08E
ldr r1, [r1, #0x18]
movs r0, #1
strb r0, [r1, #0xd]
bl DeleteThisEntity
_0805E08E:
pop {pc}
.align 2, 0
_0805E090: .4byte gFadeControl
thumb_func_start sub_0805E094
sub_0805E094: @ 0x0805E094
push {lr}
bl sub_0805E5A8
ldr r0, _0805E0A4 @ =gUnk_0813AC34
movs r1, #7
bl sub_0808091C
pop {pc}
.align 2, 0
_0805E0A4: .4byte gUnk_0813AC34
-55
View File
@@ -1,55 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805E0A8
sub_0805E0A8: @ 0x0805E0A8
push {lr}
ldr r2, _0805E0BC @ =gUnk_08108DE0
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0805E0BC: .4byte gUnk_08108DE0
thumb_func_start sub_0805E0C0
sub_0805E0C0: @ 0x0805E0C0
push {r4, r5, lr}
adds r5, r0, #0
movs r0, #0
movs r1, #1
strb r1, [r5, #0xc]
strb r0, [r5, #0xe]
ldrb r0, [r5, #0xa]
bl GetCurrentRoomProperty
adds r4, r0, #0
cmp r4, #0
bne _0805E0EC
bl DeleteThisEntity
b _0805E0EC
_0805E0DE:
adds r0, r4, #0
adds r4, #0x10
bl LoadRoomEntity
str r5, [r0, #0x50]
movs r1, #0xff
strb r1, [r0, #0xe]
_0805E0EC:
ldrb r0, [r4]
cmp r0, #0xff
bne _0805E0DE
pop {r4, r5, pc}
thumb_func_start sub_0805E0F4
sub_0805E0F4: @ 0x0805E0F4
movs r1, #0
strb r1, [r0, #0xe]
bx lr
.align 2, 0
-87
View File
@@ -1,87 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08058DD0
sub_08058DD0: @ 0x08058DD0
push {lr}
ldr r2, _08058DE4 @ =gUnk_08108308
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_08058DE4: .4byte gUnk_08108308
thumb_func_start sub_08058DE8
sub_08058DE8: @ 0x08058DE8
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _08058DFC
bl DeleteThisEntity
b _08058E14
_08058DFC:
movs r0, #1
strb r0, [r4, #0xc]
ldrh r0, [r4, #0x3a]
bl GetLayerByIndex
ldrh r1, [r4, #0x38]
lsls r1, r1, #1
adds r1, #4
adds r0, r0, r1
str r0, [r4, #0x30]
ldrh r0, [r0]
strh r0, [r4, #0x28]
_08058E14:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08058E18
sub_08058E18: @ 0x08058E18
push {lr}
adds r2, r0, #0
ldr r1, [r2, #0x30]
ldrh r0, [r2, #0x28]
ldrh r1, [r1]
cmp r0, r1
beq _08058E30
ldrb r0, [r2, #0xc]
adds r0, #1
strb r0, [r2, #0xc]
movs r0, #0xf
strb r0, [r2, #0xe]
_08058E30:
pop {pc}
.align 2, 0
thumb_func_start sub_08058E34
sub_08058E34: @ 0x08058E34
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _08058E5E
ldrh r0, [r4, #0x3e]
bl SetFlag
ldrb r0, [r4, #0xa]
cmp r0, #0
beq _08058E58
bl GetCurrentRoomProperty
bl LoadRoomEntityList
_08058E58:
adds r0, r4, #0
bl DeleteManager
_08058E5E:
pop {r4, pc}
+1 -1
View File
@@ -100,4 +100,4 @@ _0801B5A4:
adds r0, r4, #0
bl sub_0801B584
pop {r4, r5, pc}
.syntax divided
.syntax divided
+1 -1
View File
@@ -177,4 +177,4 @@ _08074EE2:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08074EE4: .4byte gPlayerEntity
.syntax divided
.syntax divided
+1 -1
View File
@@ -55,4 +55,4 @@ _08075578:
bl UpdateItemAnim
_0807557E:
pop {r4, r5, pc}
.syntax divided
.syntax divided
@@ -35,6 +35,6 @@ _080AC8FE:
bl InitializeAnimation
_080AC920:
adds r0, r4, #0
bl sub_080AC8C4
bl GyorgMaleEnergyProjectile_OnTick
pop {r4, pc}
.syntax divided
@@ -16,7 +16,7 @@
movs r0, #0x11
strb r0, [r1]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r6, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r6, #0xa]
@@ -30,7 +30,7 @@
strb r0, [r1]
str r6, [r5, #0x54]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r7, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r7, #0xa]
@@ -46,7 +46,7 @@
strb r1, [r0]
str r7, [r6, #0x54]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
ldrb r1, [r5, #0xa]
strb r1, [r0, #0xa]
movs r1, #3
@@ -79,7 +79,7 @@ _080AC678:
movs r0, #0xf
strb r0, [r1]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r6, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r6, #0xa]
@@ -95,7 +95,7 @@ _080AC678:
strb r1, [r0]
str r6, [r5, #0x54]
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r7, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r7, #0xa]
@@ -112,7 +112,7 @@ _080AC678:
str r7, [r6, #0x54]
_080AC6C8:
movs r0, #0x22
bl sub_080A7EE0
bl CreateProjectile
adds r6, r0, #0
ldrb r0, [r5, #0xa]
strb r0, [r6, #0xa]
@@ -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,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,74 +0,0 @@
push {r4, r5, lr}
add r4, r0, #0
ldr r3, _0805AA4C @ =gScreen
ldr r5, _0805AA50 @ =gRoomControls
ldrh r0, [r5, #0xa]
ldrh r1, [r4, #0x24]
sub r0, r0, r1
ldrh r1, [r4, #0x34]
add r0, r0, r1
strh r0, [r3, #0x2e]
mov r2, #0x2e
ldrsh r0, [r3, r2]
neg r2, r0
mov r0, #0x80
lsl r0, r0, #1
add r1, r2, r0
cmp r2, #0
bge _0805A9F2
mov r2, #0
_0805A9F2:
cmp r2, #0xf0
ble _0805A9F8
mov r2, #0xf0
_0805A9F8:
cmp r1, #0
bge _0805A9FE
mov r1, #0
_0805A9FE:
cmp r1, #0xf0
ble _0805AA04
mov r1, #0xf0
_0805AA04:
lsl r0, r2, #8
orr r0, r1
add r1, r3, #0
add r1, #0x5a
strh r0, [r1]
mov r1, #0xc
ldrsh r0, [r5, r1]
ldrh r1, [r4, #0x26]
sub r0, r0, r1
mov r2, #0x36
ldrsh r1, [r4, r2]
add r2, r0, r1
mov r1, #0x3f
add r0, r2, #0
and r0, r1
strh r0, [r3, #0x30]
add r0, r2, #0
cmp r0, #0
bge _0805AA2C
add r0, #0x3f
_0805AA2C:
asr r0, r0, #6
lsl r0, r0, #9
ldr r1, _0805AA54 @ =gBG3Buffer
add r1, r0, r1
str r1, [r3, #0x34]
add r2, r3, #0
add r2, #0x5e
mov r0, #0xa0
strh r0, [r2]
ldr r0, [r4, #0x28]
cmp r0, r1
beq _0805AA4A
str r1, [r4, #0x28]
mov r0, #1
strh r0, [r3, #0x32]
_0805AA4A:
pop {r4, r5, pc}
.align 2, 0
_0805AA4C: .4byte gScreen
_0805AA50: .4byte gRoomControls
_0805AA54: .4byte gBG3Buffer
@@ -1,13 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805AB4C
sub_0805AB4C: @ 0x0805AB4C
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
@@ -190,76 +181,4 @@ _0805ACAA:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805ACBC: .4byte gRoomControls
thumb_func_start sub_0805ACC0
sub_0805ACC0: @ 0x0805ACC0
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r0, #0x45
ldrb r1, [r0]
cmp r1, #0
bne _0805ACF0
b _0805AD32
_0805ACD0:
ldrb r0, [r4, #0xb]
subs r0, r5, r0
lsls r0, r0, #4
adds r3, r3, r0
ldrh r0, [r3, #4]
ldr r2, _0805ACEC @ =gRoomControls
ldrh r1, [r2, #6]
adds r0, r0, r1
lsls r0, r0, #0x10
ldrh r1, [r3, #6]
orrs r0, r1
ldrh r2, [r2, #8]
adds r0, r0, r2
b _0805AD34
.align 2, 0
_0805ACEC: .4byte gRoomControls
_0805ACF0:
movs r0, #0x7f
ands r0, r1
subs r5, r0, #1
ldr r6, _0805AD3C @ =gUnk_03003DA0
ldr r4, [r6, #4]
cmp r4, r6
beq _0805AD32
ldr r0, _0805AD40 @ =0x00001609
mov r8, r0
ldr r0, _0805AD44 @ =0x0000FFFF
adds r7, r0, #0
_0805AD06:
ldrh r0, [r4, #8]
ands r0, r7
cmp r0, r8
bne _0805AD2C
ldrb r1, [r4, #0xb]
cmp r1, r5
bgt _0805AD2C
adds r0, r4, #0
adds r0, #0x21
ldrb r0, [r0]
adds r0, r1, r0
cmp r0, r5
ble _0805AD2C
ldrb r0, [r4, #0xa]
bl GetCurrentRoomProperty
adds r3, r0, #0
cmp r3, #0
bne _0805ACD0
_0805AD2C:
ldr r4, [r4, #4]
cmp r4, r6
bne _0805AD06
_0805AD32:
movs r0, #0
_0805AD34:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805AD3C: .4byte gUnk_03003DA0
_0805AD40: .4byte 0x00001609
_0805AD44: .4byte 0x0000FFFF
.syntax divided
@@ -0,0 +1,72 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r0, #0x45
ldrb r1, [r0]
cmp r1, #0
bne _0805ACF0
b _0805AD32
_0805ACD0:
ldrb r0, [r4, #0xb]
subs r0, r5, r0
lsls r0, r0, #4
adds r3, r3, r0
ldrh r0, [r3, #4]
ldr r2, _0805ACEC @ =gRoomControls
ldrh r1, [r2, #6]
adds r0, r0, r1
lsls r0, r0, #0x10
ldrh r1, [r3, #6]
orrs r0, r1
ldrh r2, [r2, #8]
adds r0, r0, r2
b _0805AD34
.align 2, 0
_0805ACEC: .4byte gRoomControls
_0805ACF0:
movs r0, #0x7f
ands r0, r1
subs r5, r0, #1
ldr r6, _0805AD3C @ =gUnk_03003DA0
ldr r4, [r6, #4]
cmp r4, r6
beq _0805AD32
ldr r0, _0805AD40 @ =0x00001609
mov r8, r0
ldr r0, _0805AD44 @ =0x0000FFFF
adds r7, r0, #0
_0805AD06:
ldrh r0, [r4, #8]
ands r0, r7
cmp r0, r8
bne _0805AD2C
ldrb r1, [r4, #0xb]
cmp r1, r5
bgt _0805AD2C
adds r0, r4, #0
adds r0, #0x21
ldrb r0, [r0]
adds r0, r1, r0
cmp r0, r5
ble _0805AD2C
ldrb r0, [r4, #0xa]
bl GetCurrentRoomProperty
adds r3, r0, #0
cmp r3, #0
bne _0805ACD0
_0805AD2C:
ldr r4, [r4, #4]
cmp r4, r6
bne _0805AD06
_0805AD32:
movs r0, #0
_0805AD34:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0805AD3C: .4byte gUnk_03003DA0
_0805AD40: .4byte 0x00001609
_0805AD44: .4byte 0x0000FFFF
.syntax divided
@@ -0,0 +1,185 @@
.syntax unified
push {r4, r5, r6, lr}
adds r5, r0, #0
ldr r4, _0805B964 @ =gArea
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805B90A
bl sub_0801E104
ldr r2, _0805B968 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805B96C @ =0x0000D7FF
ands r0, r1
strh r0, [r2]
bl DeleteThisEntity
_0805B90A:
ldrb r2, [r5, #0xc]
cmp r2, #0
bne _0805B934
movs r0, #1
strb r0, [r5, #0xc]
ldrb r1, [r5, #0x10]
movs r0, #0x20
orrs r0, r1
strb r0, [r5, #0x10]
movs r0, #0x11
strb r0, [r5, #0xe]
str r2, [r5, #0x20]
adds r0, r5, #0
movs r1, #6
bl sub_0805E3A0
bl sub_0801E120
ldrb r0, [r5, #0xe]
bl sub_0801E154
_0805B934:
ldr r0, _0805B970 @ =gMain
ldrb r0, [r0, #4]
cmp r0, #2
bne _0805B952
ldr r2, _0805B968 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
bl sub_0805BA78
bl sub_0805BAD4
_0805B952:
ldrb r0, [r4, #0xc]
cmp r0, #2
bne _0805B978
ldr r2, _0805B968 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805B974 @ =0x0000DFFF
ands r0, r1
strh r0, [r2]
b _0805BA6C
.align 2, 0
_0805B964: .4byte gArea
_0805B968: .4byte gScreen
_0805B96C: .4byte 0x0000D7FF
_0805B970: .4byte gMain
_0805B974: .4byte 0x0000DFFF
_0805B978:
ldr r3, _0805B9A8 @ =gPlayerEntity
movs r4, #0x2e
ldrsh r0, [r3, r4]
ldr r2, _0805B9AC @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
movs r6, #0x32
ldrsh r1, [r3, r6]
ldrh r2, [r2, #8]
subs r1, r1, r2
movs r2, #0
movs r3, #0
bl CheckRectOnScreen
cmp r0, #0
beq _0805B9B4
ldr r2, _0805B9B0 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #6
adds r0, r3, #0
orrs r0, r1
b _0805B9BC
.align 2, 0
_0805B9A8: .4byte gPlayerEntity
_0805B9AC: .4byte gRoomControls
_0805B9B0: .4byte gScreen
_0805B9B4:
ldr r2, _0805B9E8 @ =gScreen
ldrh r1, [r2]
ldr r0, _0805B9EC @ =0x0000DFFF
ands r0, r1
_0805B9BC:
strh r0, [r2]
ldrb r4, [r5, #0xe]
ldr r0, _0805B9F0 @ =gPlayerState
ldr r0, [r0, #0x30]
movs r1, #0x80
lsls r1, r1, #0x10
ands r0, r1
cmp r0, #0
beq _0805BA2C
ldr r0, _0805B9F4 @ =gArea
ldrb r0, [r0, #0xc]
cmp r0, #0
beq _0805BA2C
cmp r4, #0x47
bhi _0805B9F8
adds r4, #4
adds r0, r4, #0
bl sub_0801E154
movs r0, #0
str r0, [r5, #0x20]
b _0805BA42
.align 2, 0
_0805B9E8: .4byte gScreen
_0805B9EC: .4byte 0x0000DFFF
_0805B9F0: .4byte gPlayerState
_0805B9F4: .4byte gArea
_0805B9F8:
ldr r0, _0805BA24 @ =gScreenTransition
ldr r0, [r0]
movs r1, #3
ands r0, r1
cmp r0, #0
bne _0805BA42
ldrb r0, [r5, #0xf]
adds r0, #0x10
strb r0, [r5, #0xf]
ldr r1, _0805BA28 @ =gSineTable
ldrb r0, [r5, #0xf]
lsls r0, r0, #1
adds r0, r0, r1
movs r6, #0
ldrsh r0, [r0, r6]
asrs r0, r0, #7
str r0, [r5, #0x20]
adds r0, r4, r0
bl sub_0801E154
b _0805BA42
.align 2, 0
_0805BA24: .4byte gScreenTransition
_0805BA28: .4byte gSineTable
_0805BA2C:
movs r0, #0
str r0, [r5, #0x20]
cmp r4, #0x11
bls _0805BA42
subs r4, #4
cmp r4, #0x10
bhi _0805BA3C
movs r4, #0x11
_0805BA3C:
adds r0, r4, #0
bl sub_0801E154
_0805BA42:
strb r4, [r5, #0xe]
ldr r3, _0805BA70 @ =gPlayerEntity
movs r1, #0x2e
ldrsh r0, [r3, r1]
ldr r2, _0805BA74 @ =gRoomControls
movs r6, #0xa
ldrsh r1, [r2, r6]
subs r0, r0, r1
movs r6, #0x32
ldrsh r1, [r3, r6]
movs r6, #0xc
ldrsh r2, [r2, r6]
subs r1, r1, r2
movs r6, #0x36
ldrsh r2, [r3, r6]
subs r2, #9
adds r1, r1, r2
ldr r2, [r5, #0x20]
adds r2, r4, r2
bl sub_0801E160
_0805BA6C:
pop {r4, r5, r6, pc}
.align 2, 0
_0805BA70: .4byte gPlayerEntity
_0805BA74: .4byte gRoomControls
.syntax divided
@@ -0,0 +1,55 @@
.syntax unified
push {r4, lr}
ldr r1, _0805BAA8 @ =gArea
movs r0, #0xa
ldrsh r3, [r1, r0]
ldr r0, _0805BAAC @ =gRoomVars
movs r4, #0xc
ldrsh r2, [r0, r4]
cmp r2, #0
bge _0805BA8C
movs r2, #0
_0805BA8C:
movs r0, #0x80
lsls r0, r0, #1
cmp r2, r0
ble _0805BA96
adds r2, r0, #0
_0805BA96:
cmp r3, r2
beq _0805BACE
subs r0, r2, r3
cmp r0, #0
blt _0805BAB0
cmp r0, #4
bls _0805BAB6
b _0805BABA
.align 2, 0
_0805BAA8: .4byte gArea
_0805BAAC: .4byte gRoomVars
_0805BAB0:
subs r0, r3, r2
cmp r0, #4
bhi _0805BABA
_0805BAB6:
adds r3, r2, #0
b _0805BAC8
_0805BABA:
cmp r2, r3
bge _0805BAC2
subs r3, #4
b _0805BAC8
_0805BAC2:
cmp r2, r3
ble _0805BAC8
adds r3, #4
_0805BAC8:
strh r3, [r1, #0xa]
movs r0, #1
b _0805BAD0
_0805BACE:
movs r0, #0
_0805BAD0:
pop {r4, pc}
.align 2, 0
.syntax divided
@@ -0,0 +1,23 @@
.syntax unified
push {lr}
ldr r3, _0805BAF4 @ =gArea
ldrb r0, [r3, #0xc]
cmp r0, #0
beq _0805BAF2
ldr r1, _0805BAF8 @ =gScreen
ldr r2, _0805BAFC @ =gUnk_08108CA8
ldrh r0, [r3, #0xa]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
lsls r0, r0, #1
adds r0, r0, r2
ldrh r0, [r0]
adds r1, #0x68
strh r0, [r1]
_0805BAF2:
pop {pc}
.align 2, 0
_0805BAF4: .4byte gArea
_0805BAF8: .4byte gScreen
_0805BAFC: .4byte gUnk_08108CA8
.syntax divided
@@ -0,0 +1,54 @@
.syntax unified
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
ldr r0, _0805BB50 @ =gArea
ldrb r0, [r0, #0xc]
cmp r0, #0
bne _0805BB28
bl GetEmptyManager
adds r1, r0, #0
cmp r1, #0
beq _0805BB28
movs r0, #9
strb r0, [r1, #8]
movs r0, #0x22
strb r0, [r1, #9]
adds r0, r1, #0
movs r1, #0
bl AppendEntityToList
_0805BB28:
ldr r1, _0805BB54 @ =0x0600F000
movs r2, #0x80
lsls r2, r2, #4
movs r0, #0xf
bl MemFill16
ldr r0, _0805BB58 @ =gScreen
ldr r1, _0805BB5C @ =0x00001E0C
strh r1, [r0, #0x2c]
adds r0, #0x66
ldr r1, _0805BB60 @ =0x00003E48
strh r1, [r0]
ldr r0, _0805BB64 @ =gRoomVars
strh r4, [r0, #0xc]
cmp r5, #0
beq _0805BB68
ldr r1, _0805BB50 @ =gArea
movs r0, #1
b _0805BB6C
.align 2, 0
_0805BB50: .4byte gArea
_0805BB54: .4byte 0x0600F000
_0805BB58: .4byte gScreen
_0805BB5C: .4byte 0x00001E0C
_0805BB60: .4byte 0x00003E48
_0805BB64: .4byte gRoomVars
_0805BB68:
ldr r1, _0805BB70 @ =gArea
movs r0, #2
_0805BB6C:
strb r0, [r1, #0xc]
pop {r4, r5, pc}
.align 2, 0
_0805BB70: .4byte gArea
.syntax divided
@@ -0,0 +1,34 @@
.syntax unified
push {lr}
adds r1, r0, #0
ldr r2, _0805BBB0 @ =gRoomVars
cmp r1, #0
bge _0805BB82
movs r0, #0xc
ldrsh r1, [r2, r0]
_0805BB82:
ldr r0, _0805BBB4 @ =gArea
strh r1, [r0, #0xa]
strh r1, [r2, #0xc]
movs r0, #9
movs r1, #0x22
bl DeepFindEntityByID
cmp r0, #0
beq _0805BBAE
bl Manager22_Main
ldr r0, _0805BBB8 @ =gScreen
ldrh r1, [r0]
movs r3, #0x80
lsls r3, r3, #4
adds r2, r3, #0
orrs r1, r2
strh r1, [r0]
bl sub_0805BA78
bl sub_0805BAD4
_0805BBAE:
pop {pc}
.align 2, 0
_0805BBB0: .4byte gRoomVars
_0805BBB4: .4byte gArea
_0805BBB8: .4byte gScreen
.syntax divided
@@ -0,0 +1,34 @@
.syntax unified
push {r4, lr}
movs r4, #0
ldr r2, _0805BBF8 @ =gArea
ldrb r0, [r2, #0xc]
cmp r0, #0
beq _0805BBF2
ldr r0, _0805BBFC @ =gRoomVars
movs r3, #0xc
ldrsh r1, [r0, r3]
movs r3, #0xa
ldrsh r0, [r2, r3]
cmp r1, r0
bge _0805BBF2
ldr r2, _0805BC00 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
bl sub_0805BA78
adds r4, r0, #0
cmp r4, #0
beq _0805BBF2
bl sub_0805BAD4
_0805BBF2:
adds r0, r4, #0
pop {r4, pc}
.align 2, 0
_0805BBF8: .4byte gArea
_0805BBFC: .4byte gRoomVars
_0805BC00: .4byte gScreen
.syntax divided
@@ -0,0 +1,34 @@
.syntax unified
push {r4, lr}
movs r4, #0
ldr r2, _0805BC40 @ =gArea
ldrb r0, [r2, #0xc]
cmp r0, #0
beq _0805BC3A
ldr r0, _0805BC44 @ =gRoomVars
movs r3, #0xc
ldrsh r1, [r0, r3]
movs r3, #0xa
ldrsh r0, [r2, r3]
cmp r1, r0
ble _0805BC3A
ldr r2, _0805BC48 @ =gScreen
ldrh r1, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r0, r3, #0
orrs r0, r1
strh r0, [r2]
bl sub_0805BA78
adds r4, r0, #0
cmp r4, #0
beq _0805BC3A
bl sub_0805BAD4
_0805BC3A:
adds r0, r4, #0
pop {r4, pc}
.align 2, 0
_0805BC40: .4byte gArea
_0805BC44: .4byte gRoomVars
_0805BC48: .4byte gScreen
.syntax divided
@@ -0,0 +1,20 @@
.syntax unified
push {lr}
ldr r1, _0805BC68 @ =gArea
ldrb r0, [r1, #0xc]
cmp r0, #0
beq _0805BC64
movs r0, #0
strb r0, [r1, #0xc]
ldr r2, _0805BC6C @ =gScreen
ldrh r1, [r2]
ldr r0, _0805BC70 @ =0x0000D7FF
ands r0, r1
strh r0, [r2]
_0805BC64:
pop {pc}
.align 2, 0
_0805BC68: .4byte gArea
_0805BC6C: .4byte gScreen
_0805BC70: .4byte 0x0000D7FF
.syntax divided
@@ -0,0 +1,29 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805CBB8
adds r0, r4, #0
bl sub_0805CBD0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805CBCE
adds r0, r4, #0
bl sub_0805CC3C
adds r0, r4, #0
bl DeleteManager
b _0805CBCE
_0805CBB8:
adds r0, r4, #0
bl sub_0805CF80
cmp r0, #0
beq _0805CBCE
ldrh r0, [r4, #0x3e]
bl SetFlag
adds r0, r4, #0
bl DeleteManager
_0805CBCE:
pop {r4, pc}
.syntax divided
@@ -0,0 +1,54 @@
.syntax unified
push {r4, r5, lr}
adds r5, r0, #0
movs r0, #1
strb r0, [r5, #0xc]
ldrh r1, [r5, #0x38]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
movs r3, #0x3f
ands r1, r3
ldrh r0, [r5, #0x3a]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
ands r0, r3
lsls r0, r0, #6
orrs r1, r0
strh r1, [r5, #0x38]
ldrh r2, [r5, #0x3c]
lsrs r2, r2, #4
ands r2, r3
adds r0, r5, #0
adds r0, #0x36
ldrb r1, [r0]
adds r0, #1
ldrb r0, [r0]
lsls r0, r0, #8
adds r1, r1, r0
asrs r1, r1, #4
ands r1, r3
lsls r1, r1, #6
orrs r2, r1
strh r2, [r5, #0x3a]
movs r1, #0x38
ldrsh r0, [r5, r1]
adds r4, r5, #0
adds r4, #0x34
ldrb r1, [r4]
bl GetTileType
strh r0, [r5, #0x3c]
ldrb r0, [r4]
bl GetLayerByIndex
ldr r2, _0805CC38 @ =0x00005004
adds r1, r0, r2
str r1, [r5, #0x28]
movs r2, #0x3a
ldrsh r1, [r5, r2]
lsls r1, r1, #1
adds r1, #4
adds r0, r0, r1
str r0, [r5, #0x2c]
pop {r4, r5, pc}
.align 2, 0
_0805CC38: .4byte 0x00005004
.syntax divided
@@ -1,98 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805CB90
sub_0805CB90: @ 0x0805CB90
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805CBB8
adds r0, r4, #0
bl sub_0805CBD0
ldrh r0, [r4, #0x3e]
bl CheckFlags
cmp r0, #0
beq _0805CBCE
adds r0, r4, #0
bl sub_0805CC3C
adds r0, r4, #0
bl DeleteManager
b _0805CBCE
_0805CBB8:
adds r0, r4, #0
bl sub_0805CF80
cmp r0, #0
beq _0805CBCE
ldrh r0, [r4, #0x3e]
bl SetFlag
adds r0, r4, #0
bl DeleteManager
_0805CBCE:
pop {r4, pc}
thumb_func_start sub_0805CBD0
sub_0805CBD0: @ 0x0805CBD0
push {r4, r5, lr}
adds r5, r0, #0
movs r0, #1
strb r0, [r5, #0xc]
ldrh r1, [r5, #0x38]
lsls r1, r1, #0x10
asrs r1, r1, #0x14
movs r3, #0x3f
ands r1, r3
ldrh r0, [r5, #0x3a]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
ands r0, r3
lsls r0, r0, #6
orrs r1, r0
strh r1, [r5, #0x38]
ldrh r2, [r5, #0x3c]
lsrs r2, r2, #4
ands r2, r3
adds r0, r5, #0
adds r0, #0x36
ldrb r1, [r0]
adds r0, #1
ldrb r0, [r0]
lsls r0, r0, #8
adds r1, r1, r0
asrs r1, r1, #4
ands r1, r3
lsls r1, r1, #6
orrs r2, r1
strh r2, [r5, #0x3a]
movs r1, #0x38
ldrsh r0, [r5, r1]
adds r4, r5, #0
adds r4, #0x34
ldrb r1, [r4]
bl GetTileType
strh r0, [r5, #0x3c]
ldrb r0, [r4]
bl GetLayerByIndex
ldr r2, _0805CC38 @ =0x00005004
adds r1, r0, r2
str r1, [r5, #0x28]
movs r2, #0x3a
ldrsh r1, [r5, r2]
lsls r1, r1, #1
adds r1, #4
adds r0, r0, r1
str r0, [r5, #0x2c]
pop {r4, r5, pc}
.align 2, 0
_0805CC38: .4byte 0x00005004
thumb_func_start sub_0805CC3C
sub_0805CC3C: @ 0x0805CC3C
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
@@ -448,39 +354,4 @@ _0805CF70: .4byte 0x00000372
_0805CF74: .4byte 0x0000036F
_0805CF78: .4byte 0x00000375
_0805CF7C: .4byte 0x00000371
thumb_func_start sub_0805CF80
sub_0805CF80: @ 0x0805CF80
push {lr}
ldr r1, [r0, #0x2c]
ldrh r1, [r1]
ldr r0, [r0, #0x28]
lsls r1, r1, #1
adds r1, r1, r0
ldrh r1, [r1]
movs r2, #0
ldr r0, _0805CFBC @ =0x00000365
cmp r1, r0
beq _0805CFB4
adds r0, #4
cmp r1, r0
beq _0805CFB4
adds r0, #1
cmp r1, r0
beq _0805CFB4
adds r0, #1
cmp r1, r0
beq _0805CFB4
adds r0, #2
cmp r1, r0
beq _0805CFB4
subs r0, #1
cmp r1, r0
bne _0805CFB6
_0805CFB4:
movs r2, #1
_0805CFB6:
adds r0, r2, #0
pop {pc}
.align 2, 0
_0805CFBC: .4byte 0x00000365
.syntax divided
@@ -0,0 +1,35 @@
.syntax unified
push {lr}
ldr r1, [r0, #0x2c]
ldrh r1, [r1]
ldr r0, [r0, #0x28]
lsls r1, r1, #1
adds r1, r1, r0
ldrh r1, [r1]
movs r2, #0
ldr r0, _0805CFBC @ =0x00000365
cmp r1, r0
beq _0805CFB4
adds r0, #4
cmp r1, r0
beq _0805CFB4
adds r0, #1
cmp r1, r0
beq _0805CFB4
adds r0, #1
cmp r1, r0
beq _0805CFB4
adds r0, #2
cmp r1, r0
beq _0805CFB4
subs r0, #1
cmp r1, r0
bne _0805CFB6
_0805CFB4:
movs r2, #1
_0805CFB6:
adds r0, r2, #0
pop {pc}
.align 2, 0
_0805CFBC: .4byte 0x00000365
.syntax divided
@@ -1,94 +0,0 @@
push {r4, r5, r6, r7, lr}
add r7, r0, #0
add r6, r1, #0
ldr r0, _080579BC @ =gUnk_03004030
ldrb r0, [r0, #8]
cmp r0, #0
beq _080579C8
ldr r1, _080579C0 @ =gPlayerEntity
ldr r3, _080579C4 @ =gRoomControls
ldrh r2, [r1, #0x2e]
ldrh r0, [r3, #6]
sub r2, r2, r0
lsl r2, r2, #0x10
lsr r2, r2, #0x10
ldrh r0, [r1, #0x32]
ldrh r1, [r3, #8]
sub r0, r0, r1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldrh r3, [r6]
mov r1, #0x3f
and r1, r3
lsl r1, r1, #4
add r1, #8
mov r0, #0xfc
lsl r0, r0, #4
and r0, r3
lsl r0, r0, #0xe
mov r3, #0xc0
lsl r3, r3, #0xd
add r0, r0, r3
lsr r3, r0, #0x10
sub r2, r2, r1
add r0, r2, #0
add r0, #0x18
cmp r0, #0x30
bhi _08057A14
sub r0, r4, r3
add r0, #8
cmp r0, #0x10
bhi _08057A14
cmp r4, r3
bhs _08057A00
add r0, r2, #0
add r0, #0xc
cmp r0, #0x18
bls _08057A14
b _08057A00
.align 2, 0
_080579BC: .4byte gUnk_03004030
_080579C0: .4byte gPlayerEntity
_080579C4: .4byte gRoomControls
_080579C8:
ldr r3, _08057A0C @ =gPlayerEntity
mov r1, #0x2e
ldrsh r0, [r3, r1]
ldr r2, _08057A10 @ =gRoomControls
ldrh r1, [r2, #6]
sub r0, r0, r1
asr r4, r0, #4
mov r1, #0x3f
and r4, r1
mov r0, #0x32
ldrsh r5, [r3, r0]
ldrh r2, [r2, #8]
sub r0, r5, r2
asr r0, r0, #4
and r0, r1
lsl r0, r0, #6
orr r4, r0
ldrh r1, [r6]
cmp r4, r1
bne _08057A14
lsr r0, r4, #6
lsl r0, r0, #4
add r0, r2, r0
add r0, #6
lsl r0, r0, #0x10
lsr r3, r0, #0x10
cmp r5, r3
bge _08057A14
_08057A00:
add r0, r7, #0
add r1, r6, #0
bl sub_08057A18
mov r0, #1
b _08057A16
.align 2, 0
_08057A0C: .4byte gPlayerEntity
_08057A10: .4byte gRoomControls
_08057A14:
mov r0, #0
_08057A16:
pop {r4, r5, r6, r7, pc}
@@ -1,65 +0,0 @@
push {r4, lr}
mov r0, #0x28
bl LoadPaletteGroup
ldr r0, _08058DAC @ =gUnk_02017700
mov r2, #0x90
lsl r2, r2, #0x2
add r1, r0, r2
mov r2, #0x20
bl MemCopy
ldr r2, _08058DB0 @ =gUsedPalettes
ldr r0, [r2]
mov r1, #0x80
lsl r1, r1, #0xe
orr r0, r0, r1
str r0, [r2]
mov r0, #0x16
bl LoadGfxGroup
ldr r1, _08058DB4 @ =gScreen
ldrh r0, [r1]
mov r3, #0
mov r2, #0x1
mov r4, #0
orr r0, r0, r2
strh r0, [r1]
ldr r0, _08058DB8 @ =0x0000BC82
strh r0, [r1, #0x20]
ldr r0, _08058DBC @ =0x00005E86
strh r0, [r1, #0x14]
strh r3, [r1, #0x16]
strh r3, [r1, #0x18]
add r2, r1, #0
add r2, r2, #0x66
ldr r0, _08058DC0 @ =0x00003456
strh r0, [r2]
add r1, r1, #0x68
ldr r0, _08058DC4 @ =0x00000909
strh r0, [r1]
ldr r0, _08058DC8 @ =gArea
mov r2, #0x86
lsl r2, r2, #0x4
add r1, r0, r2
add r2, r2, #0x4
add r0, r0, r2
ldr r0, [r0]
str r0, [r1]
ldr r0, _08058DCC @ =gUnk_02000070
strb r4, [r0]
mov r0, #0x17
bl CheckGlobalFlag
cmp r0, #0
beq _08058DA8
mov r0, #0x4a
bl LoadGfxGroup
_08058DA8:
pop {r4, pc}
.align 2,0
_08058DAC: .4byte gUnk_02017700
_08058DB0: .4byte gUsedPalettes
_08058DB4: .4byte gScreen
_08058DB8: .4byte 0x0000BC82
_08058DBC: .4byte 0x00005E86
_08058DC0: .4byte 0x00003456
_08058DC4: .4byte 0x00000909
_08058DC8: .4byte gArea
_08058DCC: .4byte gUnk_02000070

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