mirror of
https://github.com/zeldaret/tmc
synced 2026-05-24 07:11:07 -04:00
Merge branch 'master' into transitions
This commit is contained in:
@@ -19,3 +19,5 @@ Makefile text eol=lf
|
||||
|
||||
*.h linguist-language=C
|
||||
*.inc linguist-language=Assembly
|
||||
data/** linguist-language=data
|
||||
tools/** linguist-vendored
|
||||
|
||||
@@ -85,3 +85,4 @@ _Deparsed_XSubs.pm
|
||||
*.sna
|
||||
__pycache__
|
||||
Info.plist
|
||||
ctx.c
|
||||
|
||||
+11
-11
@@ -69,7 +69,7 @@ sub_08086284: @ 0x08086284
|
||||
ldrh r2, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080862B4: .4byte gUnk_08120668
|
||||
@@ -119,10 +119,10 @@ Then, start translating the code to `src/evilSpirit.c`, bit by bit:
|
||||
ldrh r2, [r0]
|
||||
add r0, r4, #0
|
||||
mov r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
```
|
||||
```c
|
||||
sub_0805EC9C(r0, *(u16 *)(r0 + 0x76), *(u16 *)(r0 + 0x7a), 0);
|
||||
SetAffineInfo(r0, *(u16 *)(r0 + 0x76), *(u16 *)(r0 + 0x7a), 0);
|
||||
```
|
||||
---
|
||||
```asm
|
||||
@@ -151,7 +151,7 @@ Putting it all together, we get:
|
||||
void sub_08086284(u8 *r0) {
|
||||
gUnk_08120668[*(u8 *)(r0 + 0xc)](r0);
|
||||
*(u8 *)(r0 + 0x41) = 0;
|
||||
sub_0805EC9C(r0, *(u16 *)(r0 + 0x76), *(u16 *)(r0 + 0x7a), 0);
|
||||
SetAffineInfo(r0, *(u16 *)(r0 + 0x76), *(u16 *)(r0 + 0x7a), 0);
|
||||
return;
|
||||
}
|
||||
```
|
||||
@@ -217,7 +217,7 @@ Much better.
|
||||
void sub_08086284(Entity *r0) {
|
||||
gUnk_08120668[r0->action](r0);
|
||||
r0->bitfield = 0;
|
||||
sub_0805EC9C(r0, r0->field_0x76.HWORD, r0->field_0x7a.HWORD, 0);
|
||||
SetAffineInfo(r0, r0->field_0x76.HWORD, r0->field_0x7a.HWORD, 0);
|
||||
return;
|
||||
}
|
||||
```
|
||||
@@ -235,18 +235,18 @@ src/evilSpirit.c: In function `sub_08086284':
|
||||
src/evilSpirit.c:4: syntax error before `*'
|
||||
src/evilSpirit.c:5: `gUnk_08120668' undeclared (first use in this function)
|
||||
src/evilSpirit.c:5: (Each undeclared identifier is reported only once for each function it appears in.)
|
||||
src/evilSpirit.c:7: warning: implicit declaration of function `sub_0805EC9C'
|
||||
src/evilSpirit.c:7: warning: implicit declaration of function `SetAffineInfo'
|
||||
```
|
||||
|
||||
We got some errors. We need to tell the compiler what `gUnk_08120668`, `Entity`, and `sub_0805EC9C` are.
|
||||
We got some errors. We need to tell the compiler what `gUnk_08120668`, `Entity`, and `SetAffineInfo` are.
|
||||
|
||||
We know `r0` is an `Entity`, which is from `entity.h`. We can declare this above the function:
|
||||
```c
|
||||
#include "entity.h"
|
||||
```
|
||||
What about `gUnk_08120668` and `sub_0805EC9C`?
|
||||
What about `gUnk_08120668` and `SetAffineInfo`?
|
||||
```c
|
||||
extern void sub_0805EC9C();
|
||||
extern void SetAffineInfo();
|
||||
extern void (*gUnk_08120668[])(Entity *);
|
||||
```
|
||||
Now the compiler will look outside of this file for both of these. We don't have to set the size of `gUnk_08120668`, a function array, since it's size is irrelevant for now.
|
||||
@@ -258,13 +258,13 @@ Now our file looks like this:
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void sub_0805EC9C();
|
||||
extern void SetAffineInfo();
|
||||
extern void (*gUnk_08120668[])(Entity *);
|
||||
|
||||
void sub_08086284(Entity *r0) {
|
||||
gUnk_08120668[r0->action](r0);
|
||||
r0->bitfield = 0;
|
||||
sub_0805EC9C(r0, r0->field_0x76.HWORD, r0->field_0x7a.HWORD, 0);
|
||||
SetAffineInfo(r0, r0->field_0x76.HWORD, r0->field_0x7a.HWORD, 0);
|
||||
return;
|
||||
}
|
||||
```
|
||||
|
||||
@@ -3181,7 +3181,7 @@ sub_0801AE44: @ 0x0801AE44
|
||||
bl LoadRoomGfx
|
||||
_0801AE5A:
|
||||
bl sub_080809D4
|
||||
bl sub_080805F8
|
||||
bl UpdateIsDiggingCave
|
||||
ldr r0, _0801AEE4 @ =gRoomTransition
|
||||
adds r0, #0x2d
|
||||
ldrb r0, [r0]
|
||||
|
||||
-1120
File diff suppressed because it is too large
Load Diff
@@ -488,7 +488,7 @@ sub_08026060: @ 0x08026060
|
||||
adds r0, #4
|
||||
ldrh r3, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0802608C: .4byte gUnk_080CC1C8
|
||||
|
||||
@@ -1,560 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start FlyingPot
|
||||
FlyingPot: @ 0x0803704C
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_080012DC
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _08037070
|
||||
ldr r0, _0803706C @ =gUnk_080012C8
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
b _08037084
|
||||
.align 2, 0
|
||||
_0803706C: .4byte gUnk_080012C8
|
||||
_08037070:
|
||||
ldr r4, _08037088 @ =gUnk_080CF244
|
||||
adds r0, r5, #0
|
||||
bl GetNextFunction
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
_08037084:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08037088: .4byte gUnk_080CF244
|
||||
|
||||
thumb_func_start sub_0803708C
|
||||
sub_0803708C: @ 0x0803708C
|
||||
push {lr}
|
||||
ldr r2, _080370A0 @ =gUnk_080CF25C
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080370A0: .4byte gUnk_080CF25C
|
||||
|
||||
thumb_func_start sub_080370A4
|
||||
sub_080370A4: @ 0x080370A4
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_08037418
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x41
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x9d
|
||||
bne _08037110
|
||||
movs r0, #6
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r5, #0x10]
|
||||
movs r0, #0xa8
|
||||
lsls r0, r0, #0xa
|
||||
str r0, [r5, #0x20]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _0803710C @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
b _0803711E
|
||||
.align 2, 0
|
||||
_0803710C: .4byte gRoomControls
|
||||
_08037110:
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r5, r1]
|
||||
cmp r0, #0
|
||||
beq _0803711E
|
||||
adds r0, r5, #0
|
||||
bl sub_08037408
|
||||
_0803711E:
|
||||
ldr r1, _08037128 @ =gUnk_080CF244
|
||||
adds r0, r5, #0
|
||||
bl EnemyFunctionHandlerAfterCollision
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08037128: .4byte gUnk_080CF244
|
||||
|
||||
thumb_func_start sub_0803712C
|
||||
sub_0803712C: @ 0x0803712C
|
||||
push {lr}
|
||||
ldr r2, _08037140 @ =gUnk_080CF278
|
||||
ldrb r1, [r0, #0xd]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08037140: .4byte gUnk_080CF278
|
||||
|
||||
thumb_func_start sub_08037144
|
||||
sub_08037144: @ 0x08037144
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08037418
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
strb r1, [r4, #0xe]
|
||||
movs r0, #0x30
|
||||
strb r0, [r4, #0x1d]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803715C
|
||||
sub_0803715C: @ 0x0803715C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08037418
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F520
|
||||
cmp r0, #0
|
||||
beq _08037176
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F4E8
|
||||
b _0803718A
|
||||
_08037176:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x62
|
||||
strb r0, [r1]
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, #0
|
||||
beq _0803718A
|
||||
adds r0, r4, #0
|
||||
bl sub_08037408
|
||||
_0803718A:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803718C
|
||||
sub_0803718C: @ 0x0803718C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xe]
|
||||
cmp r4, #0
|
||||
bne _080371DA
|
||||
bl sub_08037418
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
ldrb r1, [r5, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r5, #0x10]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x62
|
||||
strb r4, [r0]
|
||||
adds r0, #0x12
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _080371EC @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
_080371DA:
|
||||
adds r0, r5, #0
|
||||
bl sub_0806F520
|
||||
cmp r0, #0
|
||||
beq _080371F0
|
||||
adds r0, r5, #0
|
||||
bl sub_0806F3E4
|
||||
b _080371F6
|
||||
.align 2, 0
|
||||
_080371EC: .4byte gRoomControls
|
||||
_080371F0:
|
||||
adds r0, r5, #0
|
||||
bl sub_08037408
|
||||
_080371F6:
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_080371F8
|
||||
sub_080371F8: @ 0x080371F8
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _08037210 @ =gPlayerState
|
||||
ldrb r1, [r0, #0x1c]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0803720E
|
||||
adds r0, r2, #0
|
||||
bl sub_08037408
|
||||
_0803720E:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08037210: .4byte gPlayerState
|
||||
|
||||
thumb_func_start nullsub_161
|
||||
nullsub_161: @ 0x08037214
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08037218
|
||||
sub_08037218: @ 0x08037218
|
||||
push {lr}
|
||||
bl sub_08037408
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08037220
|
||||
sub_08037220: @ 0x08037220
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
movs r0, #2
|
||||
strb r0, [r5, #0x1c]
|
||||
ldrh r0, [r5, #0x32]
|
||||
adds r0, #3
|
||||
strh r0, [r5, #0x32]
|
||||
movs r0, #0x2e
|
||||
ldrsh r4, [r5, r0]
|
||||
ldr r1, _0803727C @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
subs r4, r4, r0
|
||||
asrs r4, r4, #4
|
||||
movs r2, #0x3f
|
||||
ands r4, r2
|
||||
movs r3, #0x32
|
||||
ldrsh r0, [r5, r3]
|
||||
ldrh r1, [r1, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r4, r0
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x38
|
||||
ldrb r1, [r6]
|
||||
adds r0, r4, #0
|
||||
bl GetTileIndex
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x74
|
||||
strh r0, [r1]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #7
|
||||
ldrb r2, [r6]
|
||||
adds r1, r4, #0
|
||||
bl SetTile
|
||||
adds r0, r5, #0
|
||||
movs r1, #5
|
||||
bl InitializeAnimation
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0803727C: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_08037280
|
||||
sub_08037280: @ 0x08037280
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_08037418
|
||||
adds r0, r5, #0
|
||||
bl GetTileTypeByEntity
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #7
|
||||
cmp r0, r1
|
||||
beq _080372CC
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _080372E4 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
adds r0, r5, #0
|
||||
bl sub_08037408
|
||||
_080372CC:
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0x40
|
||||
bl PlayerInRange
|
||||
cmp r0, #0
|
||||
beq _080372E2
|
||||
movs r0, #2
|
||||
strb r0, [r5, #0xc]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r5, #0xe]
|
||||
_080372E2:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080372E4: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_080372E8
|
||||
sub_080372E8: @ 0x080372E8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_08037418
|
||||
adds r3, r5, #0
|
||||
adds r3, #0x62
|
||||
ldr r2, _08037370 @ =gUnk_080CF290
|
||||
ldrb r1, [r5, #0xe]
|
||||
movs r6, #3
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
ldrb r1, [r3]
|
||||
adds r0, r0, r1
|
||||
strb r0, [r3]
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r4, r0, #0x18
|
||||
cmp r4, #0
|
||||
bne _0803736E
|
||||
strb r6, [r5, #0xc]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
strb r4, [r3]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0xa0
|
||||
strb r0, [r1]
|
||||
subs r1, #4
|
||||
movs r0, #0xf
|
||||
strb r0, [r1]
|
||||
ldr r0, _08037374 @ =gUnk_080FD34C
|
||||
str r0, [r5, #0x48]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _08037378 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
_0803736E:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08037370: .4byte gUnk_080CF290
|
||||
_08037374: .4byte gUnk_080FD34C
|
||||
_08037378: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0803737C
|
||||
sub_0803737C: @ 0x0803737C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x34]
|
||||
ldr r1, _080373A8 @ =0xFFFF0000
|
||||
adds r0, r0, r1
|
||||
str r0, [r4, #0x34]
|
||||
movs r0, #0x36
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r0, #6
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bgt _080373A6
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0xa
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r1, _080373AC @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
strb r0, [r4, #0x15]
|
||||
_080373A6:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080373A8: .4byte 0xFFFF0000
|
||||
_080373AC: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_080373B0
|
||||
sub_080373B0: @ 0x080373B0
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080373C4
|
||||
movs r0, #5
|
||||
strb r0, [r1, #0xc]
|
||||
_080373C4:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080373C8
|
||||
sub_080373C8: @ 0x080373C8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl ProcessMovement2
|
||||
ldrh r0, [r4, #0x2a]
|
||||
cmp r0, #0
|
||||
beq _080373DC
|
||||
adds r0, r4, #0
|
||||
bl sub_08037408
|
||||
_080373DC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080373E0
|
||||
sub_080373E0: @ 0x080373E0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x20]
|
||||
cmp r0, #0
|
||||
bge _080373F2
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_080373F2:
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08037406
|
||||
adds r0, r4, #0
|
||||
bl sub_08037408
|
||||
_08037406:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08037408
|
||||
sub_08037408: @ 0x08037408
|
||||
push {lr}
|
||||
movs r1, #5
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
bl DeleteThisEntity
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08037418
|
||||
sub_08037418: @ 0x08037418
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
ldr r3, _08037464 @ =gRoomControls
|
||||
ldrh r1, [r3, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r4, r0, #4
|
||||
movs r2, #0x3f
|
||||
ands r4, r2
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r5, r1]
|
||||
ldrh r1, [r3, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r4, r0
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x38
|
||||
ldrb r1, [r6]
|
||||
adds r0, r4, #0
|
||||
bl GetTileIndex
|
||||
ldr r1, _08037468 @ =0x00004067
|
||||
cmp r0, r1
|
||||
bne _08037460
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
ldrb r2, [r6]
|
||||
adds r1, r4, #0
|
||||
bl SetTile
|
||||
bl DeleteThisEntity
|
||||
_08037460:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08037464: .4byte gRoomControls
|
||||
_08037468: .4byte 0x00004067
|
||||
@@ -48,7 +48,7 @@ _0805E6CC: .4byte gPlayerEntity
|
||||
_0805E6D0: .4byte gUpdateContext
|
||||
_0805E6D4:
|
||||
adds r4, #0x88
|
||||
ldr r0, _0805E738 @ =gUnk_03003BE0
|
||||
ldr r0, _0805E738 @ =gCarryEntities
|
||||
cmp r4, r0
|
||||
blo _0805E6A8
|
||||
movs r0, #0
|
||||
@@ -101,7 +101,7 @@ _0805E730:
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805E738: .4byte gUnk_03003BE0
|
||||
_0805E738: .4byte gCarryEntities
|
||||
_0805E73C: .4byte gEntityLists
|
||||
_0805E740: .4byte gUpdateContext
|
||||
.syntax divided
|
||||
|
||||
@@ -49,7 +49,7 @@ _0802B00C:
|
||||
adds r0, r4, #0
|
||||
adds r1, r2, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
_0802B022:
|
||||
ldrb r0, [r4, #0xf]
|
||||
ands r0, r7
|
||||
|
||||
+2
-2
@@ -79,7 +79,7 @@ _0805EDB4:
|
||||
strb r0, [r2]
|
||||
ldr r0, _0805EDF8 @ =gInput
|
||||
ldrh r0, [r0]
|
||||
bl sub_0805EE04
|
||||
bl ConvInputToState
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x90
|
||||
strh r0, [r1]
|
||||
@@ -88,7 +88,7 @@ _0805EDC6:
|
||||
ldrh r1, [r0]
|
||||
_0805EDCA:
|
||||
adds r0, r1, #0
|
||||
bl sub_0805EE04
|
||||
bl ConvInputToState
|
||||
ldr r3, _0805EDFC @ =gPlayerState
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x90
|
||||
@@ -252,7 +252,7 @@ _0809C7C4:
|
||||
adds r0, #6
|
||||
ldrh r3, [r0]
|
||||
adds r0, r5, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
b _0809C7DE
|
||||
_0809C7D2:
|
||||
ldr r0, _0809C7E0 @ =gRoomControls
|
||||
|
||||
@@ -98,7 +98,7 @@ _08076138:
|
||||
_0807614A:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x13
|
||||
bl CreatePlayerBomb
|
||||
bl CreatePlayerItemWithParent
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
bne _08076162
|
||||
|
||||
@@ -99,7 +99,7 @@ _08077370: .4byte gUnk_0811BE16
|
||||
_08077374:
|
||||
adds r0, r4, #0
|
||||
adds r1, r6, #0
|
||||
bl sub_08077E78
|
||||
bl DeletePlayerItem
|
||||
ldr r0, _08077388 @ =gPlayerState
|
||||
adds r0, #0x3d
|
||||
movs r1, #0
|
||||
|
||||
+2
-2
@@ -33,7 +33,7 @@ _080761DE:
|
||||
blo _0807626E
|
||||
cmp r3, #2
|
||||
bne _080762C0
|
||||
ldr r0, _0807622C @ =gUnk_03003BE0
|
||||
ldr r0, _0807622C @ =gCarryEntities
|
||||
ldr r2, [r0, #8]
|
||||
ldrb r1, [r2, #0x16]
|
||||
movs r0, #0xf
|
||||
@@ -49,7 +49,7 @@ _080761DE:
|
||||
_08076220: .4byte gPlayerState
|
||||
_08076224: .4byte 0x00001201
|
||||
_08076228: .4byte gPlayerEntity
|
||||
_0807622C: .4byte gUnk_03003BE0
|
||||
_0807622C: .4byte gCarryEntities
|
||||
_08076230:
|
||||
str r2, [r4, #0x18]
|
||||
strb r3, [r2, #0xc]
|
||||
@@ -1,126 +0,0 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xa]
|
||||
lsls r0, r4, #2
|
||||
mov ip, r0
|
||||
ldr r2, _08062868 @ =gUnk_0810C0A0
|
||||
add r2, ip
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r3, [r0]
|
||||
movs r1, #0x1f
|
||||
adds r0, r1, #0
|
||||
ands r0, r3
|
||||
ldrb r3, [r2]
|
||||
adds r6, r0, r3
|
||||
ldrb r0, [r5, #0x1e]
|
||||
ands r1, r0
|
||||
ldrb r2, [r2, #1]
|
||||
adds r7, r1, r2
|
||||
cmp r4, #8
|
||||
bhi _08062946
|
||||
ldr r0, _0806286C @ =_08062870
|
||||
add r0, ip
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08062868: .4byte gUnk_0810C0A0
|
||||
_0806286C: .4byte _08062870 @ jump table
|
||||
_08062870:
|
||||
.4byte _08062894 @ case 0
|
||||
.4byte _08062894 @ case 1
|
||||
.4byte _08062894 @ case 2
|
||||
.4byte _08062894 @ case 3
|
||||
.4byte _08062894 @ case 4
|
||||
.4byte _08062894 @ case 5
|
||||
.4byte _080628D8 @ case 6
|
||||
.4byte _08062922 @ case 7
|
||||
.4byte _08062922 @ case 8
|
||||
_08062894:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x30
|
||||
ands r0, r1
|
||||
lsrs r4, r0, #4
|
||||
cmp r4, #0
|
||||
beq _080628A6
|
||||
adds r4, #0x50
|
||||
_080628A6:
|
||||
subs r4, #1
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
adds r2, r6, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
adds r2, r7, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
adds r2, r4, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #2
|
||||
b _08062916
|
||||
_080628D8:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r0, [r0]
|
||||
movs r2, #0xf
|
||||
ands r2, r0
|
||||
cmp r2, #0
|
||||
beq _080628E8
|
||||
adds r2, #0x93
|
||||
_080628E8:
|
||||
subs r2, #1
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
adds r2, r6, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
adds r2, r7, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
movs r2, #1
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
_08062916:
|
||||
bl SetSpriteSubEntryOffsetData2
|
||||
adds r0, r5, #0
|
||||
bl sub_0807000C
|
||||
b _08062946
|
||||
_08062922:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
adds r2, r6, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
adds r2, r7, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r5, #0
|
||||
bl sub_0807000C
|
||||
_08062946:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -1,141 +0,0 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r6, r1, #0
|
||||
ldrb r0, [r6, #0x18]
|
||||
cmp r0, #0
|
||||
bne _080629B4
|
||||
adds r0, #1
|
||||
strb r0, [r6, #0x18]
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r0, r1
|
||||
adds r0, #0x20
|
||||
strh r0, [r6, #0x12]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x18
|
||||
ands r1, r0
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _08062990
|
||||
cmp r0, #8
|
||||
bgt _0806297E
|
||||
cmp r0, #0
|
||||
beq _08062988
|
||||
b _080629A6
|
||||
_0806297E:
|
||||
cmp r0, #0x10
|
||||
beq _08062998
|
||||
cmp r0, #0x18
|
||||
beq _080629A0
|
||||
b _080629A6
|
||||
_08062988:
|
||||
cmp r1, #0x10
|
||||
bne _080629A6
|
||||
movs r1, #8
|
||||
b _080629A6
|
||||
_08062990:
|
||||
cmp r1, #0x18
|
||||
bne _080629A6
|
||||
movs r1, #0x10
|
||||
b _080629A6
|
||||
_08062998:
|
||||
cmp r1, #0
|
||||
bne _080629A6
|
||||
movs r1, #0x18
|
||||
b _080629A6
|
||||
_080629A0:
|
||||
cmp r1, #8
|
||||
bne _080629A6
|
||||
movs r1, #0
|
||||
_080629A6:
|
||||
strb r1, [r4, #0x15]
|
||||
adds r0, r1, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
_080629B4:
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
adds r1, r0, #4
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x58
|
||||
ldrb r0, [r5]
|
||||
cmp r1, r0
|
||||
beq _080629D2
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldrb r1, [r5]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x80
|
||||
strh r1, [r0]
|
||||
_080629D2:
|
||||
adds r0, r4, #0
|
||||
bl ProcessMovement0
|
||||
movs r3, #0x2e
|
||||
ldrsh r1, [r4, r3]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6c
|
||||
movs r5, #0
|
||||
ldrsh r0, [r2, r5]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _080629F4
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
_080629F4:
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
cmp r1, r3
|
||||
bge _08062A06
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
_08062A06:
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r4, r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6e
|
||||
movs r5, #0
|
||||
ldrsh r0, [r2, r5]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _08062A22
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
_08062A22:
|
||||
cmp r1, r3
|
||||
bge _08062A30
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
_08062A30:
|
||||
ldrh r0, [r6, #0x12]
|
||||
subs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _08062A42
|
||||
ldr r1, _08062A44 @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08062A42:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08062A44: .4byte gActiveScriptInfo
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,24 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
movs r1, #0
|
||||
ldr r0, _080A3B6C @ =gSave
|
||||
ldr r3, _080A3B70 @ =0x0000012B
|
||||
adds r2, r0, r3
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #0
|
||||
beq _080A3B66
|
||||
_080A3B58:
|
||||
adds r1, #1
|
||||
cmp r1, #0x12
|
||||
bhi _080A3B66
|
||||
adds r0, r1, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080A3B58
|
||||
_080A3B66:
|
||||
adds r0, r1, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A3B6C: .4byte gSave
|
||||
_080A3B70: .4byte 0x0000012B
|
||||
.syntax divided
|
||||
@@ -132,7 +132,7 @@ _08063186:
|
||||
adds r0, r4, #0
|
||||
adds r1, r2, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x11
|
||||
bl InitAnimationForceUpdate
|
||||
@@ -163,7 +163,7 @@ _080631CA:
|
||||
ldr r2, [r4, #0x70]
|
||||
adds r0, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
ldr r1, _080631E4 @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #8
|
||||
mov sb, r0
|
||||
movs r6, #0
|
||||
ldr r0, [r0, #0x64]
|
||||
str r0, [sp, #4]
|
||||
mov r4, sb
|
||||
adds r4, #0x70
|
||||
ldr r0, _080A12F8 @ =gRoomControls
|
||||
movs r2, #0xd8
|
||||
lsls r2, r2, #2
|
||||
adds r1, r2, #0
|
||||
ldrh r3, [r0, #6]
|
||||
adds r1, r1, r3
|
||||
movs r7, #0xd4
|
||||
lsls r7, r7, #2
|
||||
adds r2, r7, #0
|
||||
ldrh r0, [r0, #8]
|
||||
adds r2, r2, r0
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x10
|
||||
mov r8, r1
|
||||
lsls r2, r2, #0x10
|
||||
asrs r3, r2, #0x10
|
||||
movs r0, #9
|
||||
mov sl, r0
|
||||
movs r1, #1
|
||||
rsbs r1, r1, #0
|
||||
adds r5, r1, #0
|
||||
_080A12B2:
|
||||
ldr r7, [sp, #4]
|
||||
ldr r2, [r7]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
bne _080A1300
|
||||
ldr r0, [r2, #4]
|
||||
cmp r0, #0
|
||||
beq _080A132C
|
||||
cmp r2, #0
|
||||
beq _080A132C
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r2, r1]
|
||||
cmp r8, r0
|
||||
bgt _080A132E
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r2, r7]
|
||||
cmp r3, r0
|
||||
bgt _080A132E
|
||||
ldrb r0, [r2, #0xa]
|
||||
adds r0, #1
|
||||
strb r0, [r4]
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0xb]
|
||||
adds r6, #1
|
||||
ldr r1, _080A12FC @ =CuccoMinigame_Sounds
|
||||
ldrb r0, [r2, #0xa]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
str r3, [sp]
|
||||
bl SoundReq
|
||||
ldr r3, [sp]
|
||||
b _080A132E
|
||||
.align 2, 0
|
||||
_080A12F8: .4byte gRoomControls
|
||||
_080A12FC: .4byte CuccoMinigame_Sounds
|
||||
_080A1300:
|
||||
cmp r0, #0
|
||||
ble _080A132E
|
||||
adds r6, #1
|
||||
ldr r0, [r2, #4]
|
||||
cmp r0, #0
|
||||
beq _080A132C
|
||||
cmp r2, #0
|
||||
beq _080A132C
|
||||
mov r1, r8
|
||||
adds r1, #4
|
||||
movs r7, #0x2e
|
||||
ldrsh r0, [r2, r7]
|
||||
cmp r1, r0
|
||||
ble _080A131E
|
||||
strh r1, [r2, #0x2e]
|
||||
_080A131E:
|
||||
adds r1, r3, #4
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r2, r7]
|
||||
cmp r1, r0
|
||||
ble _080A132E
|
||||
strh r1, [r2, #0x32]
|
||||
b _080A132E
|
||||
_080A132C:
|
||||
strb r5, [r4]
|
||||
_080A132E:
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
add sl, r0
|
||||
adds r4, #1
|
||||
ldr r1, [sp, #4]
|
||||
adds r1, #4
|
||||
str r1, [sp, #4]
|
||||
mov r2, sl
|
||||
cmp r2, #0
|
||||
bge _080A12B2
|
||||
mov r0, sb
|
||||
adds r0, #0x6a
|
||||
strh r6, [r0]
|
||||
ldr r0, _080A136C @ =gPlayerState
|
||||
adds r0, #0x27
|
||||
movs r1, #0xff
|
||||
strb r1, [r0]
|
||||
mov r1, sb
|
||||
adds r1, #0x68
|
||||
ldrh r0, [r1]
|
||||
subs r0, #1
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bgt _080A1370
|
||||
movs r0, #0xe2
|
||||
bl SoundReq
|
||||
bl sub_08050384
|
||||
b _080A1376
|
||||
.align 2, 0
|
||||
_080A136C: .4byte gPlayerState
|
||||
_080A1370:
|
||||
ldr r1, _080A1384 @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_080A1376:
|
||||
add sp, #8
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080A1384: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -27,7 +27,7 @@
|
||||
bl ResetPlayerEventPriority
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl sub_08077E78
|
||||
bl DeletePlayerItem
|
||||
_08076C6E:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
@@ -308,7 +308,7 @@ _0809A420:
|
||||
adds r0, #0x7a
|
||||
ldrh r3, [r0]
|
||||
adds r0, r7, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
b _0809A436
|
||||
_0809A432:
|
||||
subs r0, #1
|
||||
|
||||
@@ -85,7 +85,7 @@ _080AD0D8:
|
||||
ldr r0, [r4, #0x34]
|
||||
str r0, [r5, #0x34]
|
||||
adds r0, r4, #0
|
||||
bl sub_080B1AA8
|
||||
bl GetTileUnderEntity
|
||||
cmp r0, #0x11
|
||||
bhi _080AD0FC
|
||||
cmp r0, #0x10
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
cmp r0, #0
|
||||
bne _0801B2DE
|
||||
adds r0, r4, #0
|
||||
bl sub_08078930
|
||||
bl RegisterCarryEntity
|
||||
_0801B2DE:
|
||||
movs r0, #8
|
||||
bl IsItemEquipped
|
||||
|
||||
@@ -40,7 +40,7 @@ _0801B3E0:
|
||||
adds r0, r4, #0
|
||||
adds r1, r2, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
_0801B3F4:
|
||||
ldrb r0, [r4, #0xf]
|
||||
ands r0, r5
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r4, #0
|
||||
ldr r0, _08078970 @ =gUnk_03003BE0
|
||||
ldr r0, _08078970 @ =gCarryEntities
|
||||
ldrb r1, [r0, #2]
|
||||
adds r2, r0, #0
|
||||
cmp r4, r1
|
||||
@@ -13,7 +13,7 @@
|
||||
subs r0, r1, #1
|
||||
b _0807898C
|
||||
.align 2, 0
|
||||
_08078970: .4byte gUnk_03003BE0
|
||||
_08078970: .4byte gCarryEntities
|
||||
_08078974:
|
||||
adds r4, #1
|
||||
ldrb r3, [r2, #2]
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldr r2, _08078950 @ =gUnk_03003BE0
|
||||
ldr r2, _08078950 @ =gCarryEntities
|
||||
ldrb r0, [r2, #2]
|
||||
cmp r0, #0x1f
|
||||
bhi _0807894C
|
||||
@@ -16,5 +16,5 @@
|
||||
_0807894C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08078950: .4byte gUnk_03003BE0
|
||||
_08078950: .4byte gCarryEntities
|
||||
.syntax divided
|
||||
@@ -124,7 +124,7 @@ _08078278:
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xe
|
||||
beq _080782BC
|
||||
ldr r1, _080782A0 @ =gUnk_03003BE0
|
||||
ldr r1, _080782A0 @ =gCarryEntities
|
||||
ldrb r0, [r1, #1]
|
||||
movs r4, #9
|
||||
cmp r0, #2
|
||||
@@ -136,7 +136,7 @@ _08078278:
|
||||
movs r4, #8
|
||||
b _080782B6
|
||||
.align 2, 0
|
||||
_080782A0: .4byte gUnk_03003BE0
|
||||
_080782A0: .4byte gCarryEntities
|
||||
_080782A4:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xa8
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
ldr r1, _080789BC @ =gUnk_03003BE0
|
||||
ldr r1, _080789BC @ =gCarryEntities
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _080789C0
|
||||
ldrb r0, [r1, #1]
|
||||
b _08078A88
|
||||
.align 2, 0
|
||||
_080789BC: .4byte gUnk_03003BE0
|
||||
_080789BC: .4byte gCarryEntities
|
||||
_080789C0:
|
||||
ldr r0, _08078A5C @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
@@ -34,7 +34,7 @@ _080789E6:
|
||||
ldrb r0, [r0, #0x12]
|
||||
cmp r0, #0x12
|
||||
beq _08078A56
|
||||
ldr r3, _08078A68 @ =gUnk_03003BE0
|
||||
ldr r3, _08078A68 @ =gCarryEntities
|
||||
movs r0, #1
|
||||
strb r0, [r3]
|
||||
ldrb r4, [r3, #2]
|
||||
@@ -80,7 +80,7 @@ _08078A2E:
|
||||
lsls r2, r2, #0x18
|
||||
asrs r2, r2, #0x18
|
||||
bl sub_080B1A0C
|
||||
ldr r4, _08078A68 @ =gUnk_03003BE0
|
||||
ldr r4, _08078A68 @ =gCarryEntities
|
||||
strh r0, [r4, #4]
|
||||
movs r1, #6
|
||||
bl sub_0806FC24
|
||||
@@ -93,7 +93,7 @@ _08078A56:
|
||||
_08078A5C: .4byte gPlayerState
|
||||
_08078A60: .4byte gPlayerEntity
|
||||
_08078A64: .4byte gUnk_080084BC
|
||||
_08078A68: .4byte gUnk_03003BE0
|
||||
_08078A68: .4byte gCarryEntities
|
||||
_08078A6C: .4byte gUnk_0811BFE0
|
||||
_08078A70: .4byte gUnk_08007DF4
|
||||
_08078A74:
|
||||
|
||||
@@ -150,6 +150,6 @@ _0808ACDE:
|
||||
ldr r2, [r4, #0x78]
|
||||
ldr r3, [r4, #0x70]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0807FE18 @ =gUpdateVisibleTiles
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
ldrh r0, [r4, #0x18]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x18]
|
||||
ldrb r0, [r4, #0x10]
|
||||
cmp r0, #1
|
||||
beq _0807FE44
|
||||
cmp r0, #1
|
||||
bgt _0807FE1C
|
||||
cmp r0, #0
|
||||
beq _0807FE26
|
||||
b _0807FEB6
|
||||
.align 2, 0
|
||||
_0807FE18: .4byte gUpdateVisibleTiles
|
||||
_0807FE1C:
|
||||
cmp r0, #2
|
||||
beq _0807FE68
|
||||
cmp r0, #3
|
||||
beq _0807FE94
|
||||
b _0807FEB6
|
||||
_0807FE26:
|
||||
ldrh r0, [r4, #0xc]
|
||||
subs r0, #4
|
||||
strh r0, [r4, #0xc]
|
||||
ldr r1, [r4, #0x30]
|
||||
ldr r0, _0807FE3C @ =gPlayerEntity
|
||||
cmp r1, r0
|
||||
bne _0807FE80
|
||||
ldr r0, [r1, #0x30]
|
||||
ldr r2, _0807FE40 @ =0xFFFFA000
|
||||
b _0807FE7C
|
||||
.align 2, 0
|
||||
_0807FE3C: .4byte gPlayerEntity
|
||||
_0807FE40: .4byte 0xFFFFA000
|
||||
_0807FE44:
|
||||
ldrh r0, [r4, #0xa]
|
||||
adds r0, #4
|
||||
strh r0, [r4, #0xa]
|
||||
ldr r1, [r4, #0x30]
|
||||
ldr r0, _0807FE64 @ =gPlayerEntity
|
||||
cmp r1, r0
|
||||
bne _0807FE5C
|
||||
ldr r0, [r1, #0x2c]
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #7
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x2c]
|
||||
_0807FE5C:
|
||||
ldrh r0, [r4, #0x18]
|
||||
cmp r0, #0x3c
|
||||
bne _0807FEB6
|
||||
b _0807FE86
|
||||
.align 2, 0
|
||||
_0807FE64: .4byte gPlayerEntity
|
||||
_0807FE68:
|
||||
ldrh r0, [r4, #0xc]
|
||||
adds r0, #4
|
||||
strh r0, [r4, #0xc]
|
||||
ldr r1, [r4, #0x30]
|
||||
ldr r0, _0807FE90 @ =gPlayerEntity
|
||||
cmp r1, r0
|
||||
bne _0807FE80
|
||||
ldr r0, [r1, #0x30]
|
||||
movs r2, #0xc0
|
||||
lsls r2, r2, #7
|
||||
_0807FE7C:
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x30]
|
||||
_0807FE80:
|
||||
ldrh r0, [r4, #0x18]
|
||||
cmp r0, #0x28
|
||||
bne _0807FEB6
|
||||
_0807FE86:
|
||||
adds r0, r4, #0
|
||||
bl sub_0807FEC8
|
||||
b _0807FEB6
|
||||
.align 2, 0
|
||||
_0807FE90: .4byte gPlayerEntity
|
||||
_0807FE94:
|
||||
ldrh r0, [r4, #0xa]
|
||||
subs r0, #4
|
||||
strh r0, [r4, #0xa]
|
||||
ldr r1, [r4, #0x30]
|
||||
ldr r0, _0807FEC0 @ =gPlayerEntity
|
||||
cmp r1, r0
|
||||
bne _0807FEAA
|
||||
ldr r0, [r1, #0x2c]
|
||||
ldr r2, _0807FEC4 @ =0xFFFFC000
|
||||
adds r0, r0, r2
|
||||
str r0, [r1, #0x2c]
|
||||
_0807FEAA:
|
||||
ldrh r0, [r4, #0x18]
|
||||
cmp r0, #0x3c
|
||||
bne _0807FEB6
|
||||
adds r0, r4, #0
|
||||
bl sub_0807FEC8
|
||||
_0807FEB6:
|
||||
movs r0, #0
|
||||
strh r0, [r4, #0x16]
|
||||
bl sub_08080BC4
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0807FEC0: .4byte gPlayerEntity
|
||||
_0807FEC4: .4byte 0xFFFFC000
|
||||
.syntax divided
|
||||
@@ -1,57 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
movs r1, #1
|
||||
strb r1, [r0, #3]
|
||||
ldr r3, _0807FFC8 @ =gScreen
|
||||
ldrh r1, [r3]
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #7
|
||||
adds r0, r2, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r3]
|
||||
adds r2, r3, #0
|
||||
adds r2, #0x60
|
||||
ldrb r0, [r2]
|
||||
movs r4, #0xb8
|
||||
lsls r4, r4, #5
|
||||
adds r1, r4, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
adds r2, #2
|
||||
ldrh r1, [r2]
|
||||
movs r0, #0xff
|
||||
lsls r0, r0, #8
|
||||
ands r0, r1
|
||||
movs r1, #7
|
||||
movs r4, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x5a
|
||||
movs r1, #0xf0
|
||||
strh r1, [r0]
|
||||
adds r0, #4
|
||||
strh r1, [r0]
|
||||
bl ResetPlayer
|
||||
bl ResetPlayerAnimationAndAction
|
||||
ldr r0, _0807FFCC @ =gUnk_03004030
|
||||
ldrb r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
beq _0807FFD4
|
||||
ldr r1, _0807FFD0 @ =gPlayerEntity
|
||||
movs r0, #4
|
||||
strb r0, [r1, #0x14]
|
||||
b _0807FFD8
|
||||
.align 2, 0
|
||||
_0807FFC8: .4byte gScreen
|
||||
_0807FFCC: .4byte gUnk_03004030
|
||||
_0807FFD0: .4byte gPlayerEntity
|
||||
_0807FFD4:
|
||||
ldr r0, _0807FFE0 @ =gPlayerEntity
|
||||
strb r4, [r0, #0x14]
|
||||
_0807FFD8:
|
||||
bl sub_080809D4
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0807FFE0: .4byte gPlayerEntity
|
||||
.syntax divided
|
||||
@@ -1,39 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #2
|
||||
strb r0, [r5, #3]
|
||||
bl sub_080803D0
|
||||
adds r0, #6
|
||||
strh r0, [r5, #0x18]
|
||||
ldr r4, _0808002C @ =gUnk_0200B640
|
||||
bl sub_08080278
|
||||
strh r0, [r4]
|
||||
ldr r1, _08080030 @ =gUnk_08109194
|
||||
ldr r0, _08080034 @ =gUnk_03004030
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #3]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0]
|
||||
bl sub_080197D4
|
||||
ldr r4, _08080038 @ =gMapDataTop
|
||||
ldrh r1, [r5, #0x1e]
|
||||
lsrs r1, r1, #4
|
||||
ldrh r2, [r5, #0x20]
|
||||
lsrs r2, r2, #4
|
||||
adds r0, r4, #0
|
||||
bl sub_0807C8B0
|
||||
ldr r0, _0808003C @ =gMapDataTopSpecial
|
||||
subs r4, #4
|
||||
adds r1, r4, #0
|
||||
bl sub_0801AB08
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0808002C: .4byte gUnk_0200B640
|
||||
_08080030: .4byte gUnk_08109194
|
||||
_08080034: .4byte gUnk_03004030
|
||||
_08080038: .4byte gMapDataTop
|
||||
_0808003C: .4byte gMapDataTopSpecial
|
||||
.syntax divided
|
||||
@@ -1,102 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
ldrh r4, [r5, #0x18]
|
||||
subs r4, #6
|
||||
strh r4, [r5, #0x18]
|
||||
ldrh r0, [r5, #0x18]
|
||||
lsls r0, r0, #1
|
||||
movs r1, #3
|
||||
bl __divsi3
|
||||
strh r0, [r5, #0x1a]
|
||||
lsls r4, r4, #0x10
|
||||
lsrs r4, r4, #0x10
|
||||
cmp r4, #0x2a
|
||||
bls _080800C6
|
||||
ldr r3, [r5, #0x30]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r3, r1]
|
||||
movs r2, #0xa
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r2, r0, r1
|
||||
ldrh r1, [r5, #0x18]
|
||||
subs r0, r2, r1
|
||||
adds r7, r0, #0
|
||||
adds r7, #8
|
||||
cmp r7, #0
|
||||
bge _08080078
|
||||
movs r7, #0
|
||||
_08080078:
|
||||
adds r0, r2, r1
|
||||
adds r6, r0, #0
|
||||
subs r6, #8
|
||||
cmp r6, #0xf0
|
||||
ble _08080084
|
||||
movs r6, #0xf0
|
||||
_08080084:
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r3, r1]
|
||||
movs r2, #0xc
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r2, r0, r1
|
||||
ldrh r1, [r5, #0x1a]
|
||||
subs r0, r2, r1
|
||||
adds r4, r0, #0
|
||||
adds r4, #8
|
||||
cmp r4, #0
|
||||
bge _0808009C
|
||||
movs r4, #0
|
||||
_0808009C:
|
||||
adds r0, r2, r1
|
||||
adds r3, r0, #0
|
||||
subs r3, #8
|
||||
cmp r3, #0xa0
|
||||
ble _080800A8
|
||||
movs r3, #0xa0
|
||||
_080800A8:
|
||||
ldr r2, _080800F0 @ =gScreen
|
||||
movs r1, #0xff
|
||||
ands r7, r1
|
||||
lsls r0, r7, #8
|
||||
ands r6, r1
|
||||
orrs r0, r6
|
||||
adds r6, r2, #0
|
||||
adds r6, #0x5a
|
||||
strh r0, [r6]
|
||||
ands r4, r1
|
||||
lsls r0, r4, #8
|
||||
ands r3, r1
|
||||
orrs r0, r3
|
||||
adds r2, #0x5e
|
||||
strh r0, [r2]
|
||||
_080800C6:
|
||||
ldrh r0, [r5, #0x18]
|
||||
cmp r0, #0
|
||||
bne _080800FC
|
||||
movs r0, #3
|
||||
strb r0, [r5, #3]
|
||||
bl DeleteSleepingEntities
|
||||
bl sub_0807C810
|
||||
ldr r1, _080800F4 @ =gUnk_08109194
|
||||
ldr r0, _080800F8 @ =gUnk_03004030
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, #3]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #4]
|
||||
bl sub_08080C80
|
||||
b _08080102
|
||||
.align 2, 0
|
||||
_080800F0: .4byte gScreen
|
||||
_080800F4: .4byte gUnk_08109194
|
||||
_080800F8: .4byte gUnk_03004030
|
||||
_080800FC:
|
||||
ldr r1, _08080104 @ =gUpdateVisibleTiles
|
||||
movs r0, #4
|
||||
strb r0, [r1]
|
||||
_08080102:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08080104: .4byte gUpdateVisibleTiles
|
||||
.syntax divided
|
||||
@@ -1,56 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
movs r1, #4
|
||||
strb r1, [r0, #3]
|
||||
ldr r5, _08080178 @ =gMapDataBottom
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #6
|
||||
adds r1, r5, r0
|
||||
movs r6, #0x80
|
||||
lsls r6, r6, #6
|
||||
adds r0, r5, #0
|
||||
adds r2, r6, #0
|
||||
bl MemCopy
|
||||
ldr r4, _0808017C @ =gMapDataTop
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #6
|
||||
adds r1, r4, r0
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
bl MemCopy
|
||||
bl sub_08080368
|
||||
ldr r1, _08080180 @ =gUnk_02034480
|
||||
ldr r0, _08080184 @ =gUnk_0200B640
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r1]
|
||||
ldr r0, _08080188 @ =gUnk_02022830
|
||||
ldr r1, _0808018C @ =gUnk_020246B0
|
||||
movs r2, #0xc0
|
||||
lsls r2, r2, #5
|
||||
bl MemCopy
|
||||
subs r5, #4
|
||||
adds r0, r5, #0
|
||||
bl sub_08080B60
|
||||
subs r4, #4
|
||||
adds r0, r4, #0
|
||||
bl sub_08080B60
|
||||
bl sub_0807BBE4
|
||||
bl sub_0807BC84
|
||||
bl sub_0805E248
|
||||
ldr r0, _08080190 @ =gMapDataBottomSpecial
|
||||
adds r1, r5, #0
|
||||
bl sub_0801AB08
|
||||
ldr r0, _08080194 @ =gMapDataTopSpecial
|
||||
adds r1, r4, #0
|
||||
bl sub_0801AB08
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08080178: .4byte gMapDataBottom
|
||||
_0808017C: .4byte gMapDataTop
|
||||
_08080180: .4byte gUnk_02034480
|
||||
_08080184: .4byte gUnk_0200B640
|
||||
_08080188: .4byte gUnk_02022830
|
||||
_0808018C: .4byte gUnk_020246B0
|
||||
_08080190: .4byte gMapDataBottomSpecial
|
||||
_08080194: .4byte gMapDataTopSpecial
|
||||
.syntax divided
|
||||
@@ -1,100 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
ldrh r4, [r5, #0x18]
|
||||
adds r4, #6
|
||||
strh r4, [r5, #0x18]
|
||||
ldrh r0, [r5, #0x18]
|
||||
lsls r0, r0, #1
|
||||
movs r1, #3
|
||||
bl __divsi3
|
||||
strh r0, [r5, #0x1a]
|
||||
lsls r4, r4, #0x10
|
||||
lsrs r4, r4, #0x10
|
||||
cmp r4, #0x1e
|
||||
bls _08080232
|
||||
ldr r2, [r5, #0x30]
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r2, r0]
|
||||
movs r3, #0xa
|
||||
ldrsh r0, [r5, r3]
|
||||
subs r0, r1, r0
|
||||
ldrh r1, [r5, #0x18]
|
||||
subs r7, r0, r1
|
||||
cmp r7, #0
|
||||
bge _080801F0
|
||||
movs r7, #0
|
||||
_080801F0:
|
||||
adds r6, r0, r1
|
||||
cmp r6, #0xf0
|
||||
ble _080801F8
|
||||
movs r6, #0xf0
|
||||
_080801F8:
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r2, r0]
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r5, r2]
|
||||
subs r0, r1, r0
|
||||
ldrh r1, [r5, #0x1a]
|
||||
subs r4, r0, r1
|
||||
cmp r4, #0
|
||||
bge _0808020C
|
||||
movs r4, #0
|
||||
_0808020C:
|
||||
adds r3, r0, r1
|
||||
cmp r3, #0xa0
|
||||
ble _08080214
|
||||
movs r3, #0xa0
|
||||
_08080214:
|
||||
ldr r2, _08080260 @ =gScreen
|
||||
movs r1, #0xff
|
||||
ands r7, r1
|
||||
lsls r0, r7, #8
|
||||
ands r6, r1
|
||||
orrs r0, r6
|
||||
adds r6, r2, #0
|
||||
adds r6, #0x5a
|
||||
strh r0, [r6]
|
||||
ands r4, r1
|
||||
lsls r0, r4, #8
|
||||
ands r3, r1
|
||||
orrs r0, r3
|
||||
adds r2, #0x5e
|
||||
strh r0, [r2]
|
||||
_08080232:
|
||||
ldrh r0, [r5, #0x1c]
|
||||
cmp r0, #0
|
||||
bne _08080268
|
||||
strb r0, [r5, #2]
|
||||
strh r0, [r5]
|
||||
bl ResetSystemPriority
|
||||
ldr r1, _08080260 @ =gScreen
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _08080264 @ =0x0000BFFF
|
||||
ands r0, r2
|
||||
strh r0, [r1]
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x60
|
||||
ldrb r0, [r2]
|
||||
strh r0, [r2]
|
||||
adds r1, #0x62
|
||||
ldrh r2, [r1]
|
||||
movs r0, #0xff
|
||||
lsls r0, r0, #8
|
||||
ands r0, r2
|
||||
strh r0, [r1]
|
||||
b _08080272
|
||||
.align 2, 0
|
||||
_08080260: .4byte gScreen
|
||||
_08080264: .4byte 0x0000BFFF
|
||||
_08080268:
|
||||
ldr r0, _08080274 @ =gUpdateVisibleTiles
|
||||
movs r1, #4
|
||||
strb r1, [r0]
|
||||
movs r0, #0
|
||||
strh r0, [r5, #0x1c]
|
||||
_08080272:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08080274: .4byte gUpdateVisibleTiles
|
||||
.syntax divided
|
||||
@@ -1,698 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0809D1F0
|
||||
sub_0809D1F0: @ 0x0809D1F0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xc]
|
||||
mov sb, r0
|
||||
cmp r0, #0
|
||||
beq _0809D224
|
||||
cmp r0, #1
|
||||
beq _0809D2B0
|
||||
bl sub_08078B48
|
||||
ldr r2, _0809D220 @ =gPlayerEntity
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
movs r1, #0x68
|
||||
adds r1, r1, r5
|
||||
mov r8, r1
|
||||
b _0809D3A8
|
||||
.align 2, 0
|
||||
_0809D220: .4byte gPlayerEntity
|
||||
_0809D224:
|
||||
ldrb r1, [r5, #0xe]
|
||||
cmp r1, #0
|
||||
beq _0809D234
|
||||
movs r0, #0xff
|
||||
strb r0, [r5, #0x1e]
|
||||
subs r0, r1, #1
|
||||
strb r0, [r5, #0xe]
|
||||
b _0809D488
|
||||
_0809D234:
|
||||
movs r1, #1
|
||||
strb r1, [r5, #0xc]
|
||||
mov r2, sb
|
||||
str r2, [r5, #0x20]
|
||||
ldr r0, _0809D2A0 @ =0xFFEC0000
|
||||
str r0, [r5, #0x34]
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r5, #0x24]
|
||||
movs r0, #8
|
||||
strb r0, [r5, #0x15]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldrb r2, [r5, #0x19]
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
strb r0, [r5, #0x19]
|
||||
ldrb r0, [r5, #0x1b]
|
||||
ands r1, r0
|
||||
movs r0, #0x40
|
||||
orrs r1, r0
|
||||
strb r1, [r5, #0x1b]
|
||||
ldr r0, _0809D2A4 @ =gRoomControls
|
||||
ldrh r0, [r0, #0xa]
|
||||
strh r0, [r5, #0x2e]
|
||||
ldr r0, _0809D2A8 @ =gPlayerEntity
|
||||
ldrh r0, [r0, #0x32]
|
||||
strh r0, [r5, #0x32]
|
||||
mov r3, sb
|
||||
str r3, [r5, #0x54]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl SetDefaultPriority
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
ldr r0, _0809D2AC @ =0x00000123
|
||||
bl SoundReq
|
||||
movs r0, #0x68
|
||||
adds r0, r0, r5
|
||||
mov r8, r0
|
||||
b _0809D3A8
|
||||
.align 2, 0
|
||||
_0809D2A0: .4byte 0xFFEC0000
|
||||
_0809D2A4: .4byte gRoomControls
|
||||
_0809D2A8: .4byte gPlayerEntity
|
||||
_0809D2AC: .4byte 0x00000123
|
||||
_0809D2B0:
|
||||
ldr r6, _0809D430 @ =gPlayerEntity
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
ldrh r0, [r5, #0x24]
|
||||
adds r0, #8
|
||||
strh r0, [r5, #0x24]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #2
|
||||
mov sl, r1
|
||||
cmp r0, sl
|
||||
ble _0809D2D6
|
||||
mov r2, sl
|
||||
strh r2, [r5, #0x24]
|
||||
_0809D2D6:
|
||||
ldrb r1, [r6, #0x10]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
movs r3, #0x68
|
||||
adds r3, r3, r5
|
||||
mov r8, r3
|
||||
cmp r0, #0
|
||||
beq _0809D3A8
|
||||
ldr r0, _0809D434 @ =gMessage
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0809D3A8
|
||||
ldrb r0, [r6, #0xc]
|
||||
cmp r0, #0x1c
|
||||
beq _0809D3A8
|
||||
cmp r0, #6
|
||||
beq _0809D3A8
|
||||
cmp r0, #9
|
||||
beq _0809D3A8
|
||||
ldr r7, _0809D438 @ =gPlayerState
|
||||
adds r0, r7, #0
|
||||
adds r0, #0xa8
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x18
|
||||
beq _0809D3A8
|
||||
cmp r0, #0xb
|
||||
beq _0809D3A8
|
||||
cmp r0, #8
|
||||
beq _0809D3A8
|
||||
bl sub_08079F8C
|
||||
cmp r0, #0
|
||||
beq _0809D3A8
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
movs r2, #0xe
|
||||
movs r3, #0xe
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
beq _0809D3A8
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r6, r1]
|
||||
movs r2, #0x36
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r0, r0, r1
|
||||
subs r0, #8
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0x1f
|
||||
bhi _0809D3A8
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x45
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0809D3A8
|
||||
movs r0, #0x95
|
||||
movs r1, #0xa
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0809D3A8
|
||||
str r4, [r5, #0x54]
|
||||
movs r0, #2
|
||||
strb r0, [r5, #0xc]
|
||||
movs r0, #8
|
||||
strb r0, [r5, #0xe]
|
||||
mov r3, sl
|
||||
strh r3, [r5, #0x24]
|
||||
movs r0, #0xe0
|
||||
lsls r0, r0, #8
|
||||
mov r1, r8
|
||||
strh r0, [r1]
|
||||
bl sub_08079184
|
||||
bl sub_08078B48
|
||||
bl ResetPlayerAnimationAndAction
|
||||
bl sub_08077B20
|
||||
adds r0, r7, #0
|
||||
adds r0, #0x26
|
||||
movs r2, #0
|
||||
strb r2, [r0]
|
||||
strb r2, [r7, #2]
|
||||
ldrb r1, [r6, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r6, #0x10]
|
||||
ldrb r1, [r6, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r6, #0x18]
|
||||
ldr r1, _0809D43C @ =gPriorityHandler
|
||||
movs r0, #6
|
||||
strb r0, [r1]
|
||||
ldr r0, _0809D440 @ =gUnk_02034490
|
||||
mov r3, sb
|
||||
strb r3, [r0]
|
||||
_0809D3A8:
|
||||
adds r0, r5, #0
|
||||
bl LinearMoveUpdate
|
||||
mov r0, r8
|
||||
movs r2, #0
|
||||
ldrsh r1, [r0, r2]
|
||||
adds r0, r5, #0
|
||||
bl GravityUpdate
|
||||
adds r0, r5, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
ldr r4, [r5, #0x54]
|
||||
cmp r4, #0
|
||||
beq _0809D454
|
||||
ldr r2, _0809D430 @ =gPlayerEntity
|
||||
movs r3, #0x2e
|
||||
ldrsh r1, [r2, r3]
|
||||
movs r3, #0x2e
|
||||
ldrsh r0, [r5, r3]
|
||||
subs r0, #8
|
||||
cmp r1, r0
|
||||
bge _0809D3DA
|
||||
movs r0, #0
|
||||
strb r0, [r5, #0xe]
|
||||
_0809D3DA:
|
||||
ldrb r0, [r5, #0xe]
|
||||
cmp r0, #0
|
||||
bne _0809D448
|
||||
ldr r2, _0809D444 @ =0xFFF80000
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r3, #0
|
||||
bl PositionRelative
|
||||
ldrh r0, [r4, #0x36]
|
||||
adds r0, #0x18
|
||||
strh r0, [r4, #0x36]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x29
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #0x1d
|
||||
adds r3, r4, #0
|
||||
adds r3, #0x29
|
||||
lsrs r1, r1, #0x1d
|
||||
ldrb r2, [r3]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
ldrb r2, [r5, #0x19]
|
||||
lsrs r2, r2, #6
|
||||
lsls r2, r2, #6
|
||||
ldrb r3, [r4, #0x19]
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r3
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x19]
|
||||
ldrb r0, [r5, #0x1b]
|
||||
lsrs r0, r0, #6
|
||||
lsls r0, r0, #6
|
||||
ldrb r2, [r4, #0x1b]
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
strb r1, [r4, #0x1b]
|
||||
b _0809D454
|
||||
.align 2, 0
|
||||
_0809D430: .4byte gPlayerEntity
|
||||
_0809D434: .4byte gMessage
|
||||
_0809D438: .4byte gPlayerState
|
||||
_0809D43C: .4byte gPriorityHandler
|
||||
_0809D440: .4byte gUnk_02034490
|
||||
_0809D444: .4byte 0xFFF80000
|
||||
_0809D448:
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
adds r0, r2, #0
|
||||
adds r1, r4, #0
|
||||
bl CopyPosition
|
||||
_0809D454:
|
||||
adds r0, r5, #0
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
bne _0809D488
|
||||
ldrb r0, [r5, #0xc]
|
||||
cmp r0, #2
|
||||
bne _0809D478
|
||||
ldr r0, _0809D494 @ =gSave
|
||||
ldr r1, [r0, #0x40]
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #0x15
|
||||
orrs r1, r2
|
||||
str r1, [r0, #0x40]
|
||||
movs r0, #9
|
||||
movs r1, #0
|
||||
bl MenuFadeIn
|
||||
_0809D478:
|
||||
ldr r4, [r5, #0x54]
|
||||
cmp r4, #0
|
||||
beq _0809D484
|
||||
adds r0, r4, #0
|
||||
bl DeleteEntityAny
|
||||
_0809D484:
|
||||
bl DeleteThisEntity
|
||||
_0809D488:
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0809D494: .4byte gSave
|
||||
|
||||
thumb_func_start sub_0809D498
|
||||
sub_0809D498: @ 0x0809D498
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0809D548
|
||||
movs r2, #1
|
||||
movs r3, #1
|
||||
strb r3, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r5, #0x18]
|
||||
ldr r0, _0809D534 @ =0xFFFD8000
|
||||
str r0, [r5, #0x20]
|
||||
ldr r0, _0809D538 @ =0xFFB4C000
|
||||
str r0, [r5, #0x34]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x68
|
||||
movs r0, #0xf0
|
||||
lsls r0, r0, #8
|
||||
strh r0, [r4]
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #2
|
||||
strh r0, [r5, #0x24]
|
||||
movs r0, #8
|
||||
strb r0, [r5, #0x15]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x38
|
||||
strb r3, [r0]
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x29
|
||||
ldrb r1, [r6]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
ldrb r2, [r5, #0x19]
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
strb r0, [r5, #0x19]
|
||||
ldrb r0, [r5, #0x1b]
|
||||
ands r1, r0
|
||||
movs r0, #0x40
|
||||
orrs r1, r0
|
||||
strb r1, [r5, #0x1b]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl SetDefaultPriority
|
||||
ldr r0, _0809D53C @ =gRoomControls
|
||||
ldrh r0, [r0, #0xa]
|
||||
strh r0, [r5, #0x2e]
|
||||
ldr r0, _0809D540 @ =gPlayerEntity
|
||||
ldrh r0, [r0, #0x32]
|
||||
strh r0, [r5, #0x32]
|
||||
ldr r0, _0809D544 @ =0x00000123
|
||||
bl SoundReq
|
||||
ldrb r1, [r6]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #0x10
|
||||
orrs r0, r1
|
||||
strb r0, [r6]
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
bl sub_08078B48
|
||||
adds r7, r4, #0
|
||||
b _0809D62E
|
||||
.align 2, 0
|
||||
_0809D534: .4byte 0xFFFD8000
|
||||
_0809D538: .4byte 0xFFB4C000
|
||||
_0809D53C: .4byte gRoomControls
|
||||
_0809D540: .4byte gPlayerEntity
|
||||
_0809D544: .4byte 0x00000123
|
||||
_0809D548:
|
||||
adds r7, r5, #0
|
||||
adds r7, #0x68
|
||||
cmp r0, #1
|
||||
bne _0809D62E
|
||||
ldr r6, _0809D658 @ =gPlayerEntity
|
||||
ldrb r1, [r6, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
mov r8, r0
|
||||
ands r0, r1
|
||||
strb r0, [r6, #0x18]
|
||||
ldr r4, [r5, #0x54]
|
||||
cmp r4, #0
|
||||
beq _0809D5B0
|
||||
ldr r2, _0809D65C @ =0xFFF80000
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r3, #0
|
||||
bl PositionRelative
|
||||
ldrh r0, [r4, #0x36]
|
||||
adds r0, #0x18
|
||||
strh r0, [r4, #0x36]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x29
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #0x1d
|
||||
adds r3, r4, #0
|
||||
adds r3, #0x29
|
||||
lsrs r1, r1, #0x1d
|
||||
ldrb r2, [r3]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
ldrb r2, [r5, #0x19]
|
||||
lsrs r2, r2, #6
|
||||
lsls r2, r2, #6
|
||||
ldrb r3, [r4, #0x19]
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r3
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x19]
|
||||
ldrb r0, [r5, #0x1b]
|
||||
lsrs r0, r0, #6
|
||||
lsls r0, r0, #6
|
||||
ldrb r2, [r4, #0x1b]
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
strb r1, [r4, #0x1b]
|
||||
_0809D5B0:
|
||||
bl sub_08078B48
|
||||
ldr r3, _0809D660 @ =gRoomControls
|
||||
movs r1, #0xa
|
||||
ldrsh r0, [r3, r1]
|
||||
adds r0, #0x78
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
cmp r0, r1
|
||||
bge _0809D62E
|
||||
ldrb r0, [r5, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
cmp r4, #0
|
||||
beq _0809D5E6
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_0809D5E6:
|
||||
str r6, [r3, #0x30]
|
||||
ldrb r1, [r6, #0x18]
|
||||
mov r0, r8
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r6, #0x18]
|
||||
bl ResetPlayerAnimationAndAction
|
||||
bl ResetPlayerEventPriority
|
||||
ldr r1, _0809D664 @ =gUnk_02034490
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
movs r0, #0x52
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0809D62E
|
||||
movs r0, #0x69
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0809D62E
|
||||
ldr r1, _0809D668 @ =script_EzloTalkOcarina
|
||||
bl StartCutscene
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x84
|
||||
str r0, [r1]
|
||||
movs r0, #0x52
|
||||
bl SetGlobalFlag
|
||||
_0809D62E:
|
||||
adds r0, r5, #0
|
||||
bl LinearMoveUpdate
|
||||
movs r0, #0
|
||||
ldrsh r1, [r7, r0]
|
||||
adds r0, r5, #0
|
||||
bl GravityUpdate
|
||||
adds r0, r5, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r5, #0
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
bne _0809D652
|
||||
bl DeleteThisEntity
|
||||
_0809D652:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0809D658: .4byte gPlayerEntity
|
||||
_0809D65C: .4byte 0xFFF80000
|
||||
_0809D660: .4byte gRoomControls
|
||||
_0809D664: .4byte gUnk_02034490
|
||||
_0809D668: .4byte script_EzloTalkOcarina
|
||||
|
||||
thumb_func_start sub_0809D66C
|
||||
sub_0809D66C: @ 0x0809D66C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _0809D694 @ =gPlayerEntity
|
||||
ldrb r1, [r0, #0x1a]
|
||||
lsls r1, r1, #0x1c
|
||||
lsrs r1, r1, #0x1c
|
||||
ldrb r2, [r4, #0x1a]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1a]
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _0809D6EC
|
||||
cmp r0, #1
|
||||
bgt _0809D698
|
||||
cmp r0, #0
|
||||
beq _0809D6A2
|
||||
b _0809D6FE
|
||||
.align 2, 0
|
||||
_0809D694: .4byte gPlayerEntity
|
||||
_0809D698:
|
||||
cmp r0, #2
|
||||
beq _0809D6F4
|
||||
cmp r0, #3
|
||||
beq _0809D6FA
|
||||
b _0809D6FE
|
||||
_0809D6A2:
|
||||
movs r3, #1
|
||||
movs r2, #1
|
||||
strb r2, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
orrs r0, r3
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
strb r2, [r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldrb r2, [r4, #0x19]
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
strb r0, [r4, #0x19]
|
||||
ldrb r0, [r4, #0x1b]
|
||||
ands r1, r0
|
||||
movs r0, #0x40
|
||||
orrs r1, r0
|
||||
strb r1, [r4, #0x1b]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
movs r1, #0xe0
|
||||
bl InitAnimationForceUpdate
|
||||
_0809D6EC:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
b _0809D6FE
|
||||
_0809D6F4:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
b _0809D6FE
|
||||
_0809D6FA:
|
||||
bl DeleteThisEntity
|
||||
_0809D6FE:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start CreateBird
|
||||
CreateBird: @ 0x0809D700
|
||||
push {r4, lr}
|
||||
sub sp, #4
|
||||
.ifdef EU
|
||||
bl AreaIsOverworld @ TODO correct function?
|
||||
.else
|
||||
bl AreaAllowsWarp
|
||||
.endif
|
||||
cmp r0, #0
|
||||
beq _0809D732
|
||||
movs r0, #0
|
||||
str r0, [sp]
|
||||
movs r0, #6
|
||||
movs r1, #0x95
|
||||
movs r2, #6
|
||||
movs r3, #8
|
||||
bl FindEntity
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
bne _0809D732
|
||||
movs r0, #0x95
|
||||
movs r1, #8
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
cmp r0, #0
|
||||
beq _0809D732
|
||||
strb r4, [r0, #0xe]
|
||||
_0809D732:
|
||||
add sp, #4
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0809D738
|
||||
sub_0809D738: @ 0x0809D738
|
||||
push {r4, lr}
|
||||
movs r0, #0x95
|
||||
movs r1, #9
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0809D77C
|
||||
ldr r1, _0809D774 @ =gRoomControls
|
||||
movs r0, #0
|
||||
str r0, [r1, #0x30]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl SetDefaultPriority
|
||||
bl SetPlayerEventPriority
|
||||
movs r0, #0x95
|
||||
movs r1, #0xa
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
cmp r0, #0
|
||||
beq _0809D76C
|
||||
str r0, [r4, #0x54]
|
||||
_0809D76C:
|
||||
ldr r1, _0809D778 @ =gUnk_02034490
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
b _0809D780
|
||||
.align 2, 0
|
||||
_0809D774: .4byte gRoomControls
|
||||
_0809D778: .4byte gUnk_02034490
|
||||
_0809D77C:
|
||||
bl ResetPlayerAnimationAndAction
|
||||
_0809D780:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -89,7 +89,7 @@ _0808C9FA:
|
||||
adds r0, r4, #0
|
||||
adds r1, r2, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
_0808CA04:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -205,7 +205,7 @@ _0808CAD6:
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
_0808CAE0:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
@@ -33,7 +33,7 @@ EvilSpirit: @ 0x08086284
|
||||
ldrh r2, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
bl SetAffineInfo
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080862B4: .4byte gUnk_08120668
|
||||
|
||||
@@ -1,384 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start MazaalBossObject
|
||||
MazaalBossObject: @ 0x0809AAEC
|
||||
push {lr}
|
||||
ldr r2, _0809AB00 @ =gUnk_08123D28
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809AB00: .4byte gUnk_08123D28
|
||||
|
||||
thumb_func_start sub_0809AB04
|
||||
sub_0809AB04: @ 0x0809AB04
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #0x31
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0809AB22
|
||||
adds r0, r5, #0
|
||||
bl sub_0809AD68
|
||||
adds r0, r5, #0
|
||||
bl sub_0809AD8C
|
||||
bl DeleteThisEntity
|
||||
_0809AB22:
|
||||
movs r0, #0x36
|
||||
movs r1, #0
|
||||
bl CreateEnemy
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0809AB9C
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl CopyPosition
|
||||
str r4, [r5, #0x54]
|
||||
ldr r2, _0809AB68 @ =gRoomTransition
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
cmp r1, #0
|
||||
beq _0809AB70
|
||||
adds r0, #1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0809AB52
|
||||
bl DeleteThisEntity
|
||||
_0809AB52:
|
||||
movs r0, #7
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x18]
|
||||
subs r0, #0xb
|
||||
ands r0, r1
|
||||
strb r0, [r5, #0x18]
|
||||
ldr r0, _0809AB6C @ =gRoomControls
|
||||
str r5, [r0, #0x30]
|
||||
bl sub_080809D4
|
||||
b _0809AB9C
|
||||
.align 2, 0
|
||||
_0809AB68: .4byte gRoomTransition
|
||||
_0809AB6C: .4byte gRoomControls
|
||||
_0809AB70:
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r5, #0xe]
|
||||
strb r1, [r5, #0x1e]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x29
|
||||
ldrb r0, [r2]
|
||||
movs r1, #7
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x63
|
||||
movs r0, #0x20
|
||||
strb r0, [r1]
|
||||
ldr r1, _0809ABA0 @ =script_Object89Mazaal
|
||||
adds r0, r5, #0
|
||||
bl StartCutscene
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x84
|
||||
str r0, [r1]
|
||||
_0809AB9C:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0809ABA0: .4byte script_Object89Mazaal
|
||||
|
||||
thumb_func_start sub_0809ABA4
|
||||
sub_0809ABA4: @ 0x0809ABA4
|
||||
push {lr}
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0809ABB0
|
||||
sub_0809ABB0: @ 0x0809ABB0
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0809ABCE
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0xc]
|
||||
movs r0, #0x78
|
||||
strb r0, [r2, #0xe]
|
||||
ldr r1, _0809ABD0 @ =gRoomControls
|
||||
ldr r0, [r2, #0x54]
|
||||
str r0, [r1, #0x30]
|
||||
_0809ABCE:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809ABD0: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0809ABD4
|
||||
sub_0809ABD4: @ 0x0809ABD4
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0809ABF2
|
||||
movs r0, #4
|
||||
strb r0, [r1, #0xc]
|
||||
movs r0, #0x5a
|
||||
strb r0, [r1, #0xe]
|
||||
ldr r1, [r1, #0x54]
|
||||
movs r0, #1
|
||||
strb r0, [r1, #0xd]
|
||||
_0809ABF2:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0809ABF4
|
||||
sub_0809ABF4: @ 0x0809ABF4
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, [r2, #0x54]
|
||||
ldrb r0, [r0, #0xd]
|
||||
cmp r0, #2
|
||||
bls _0809AC36
|
||||
ldrb r0, [r2, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _0809AC36
|
||||
movs r0, #5
|
||||
strb r0, [r2, #0xc]
|
||||
movs r0, #8
|
||||
strb r0, [r2, #0xe]
|
||||
strb r1, [r2, #0xf]
|
||||
ldrb r1, [r2, #0x19]
|
||||
subs r0, #0x15
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x19]
|
||||
ldr r1, _0809AC38 @ =gScreen
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x66
|
||||
movs r0, #0xf4
|
||||
lsls r0, r0, #4
|
||||
strh r0, [r2]
|
||||
adds r1, #0x68
|
||||
movs r0, #0x10
|
||||
strh r0, [r1]
|
||||
_0809AC36:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809AC38: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_0809AC3C
|
||||
sub_0809AC3C: @ 0x0809AC3C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
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 _0809AC9A
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r2, [r4, #0xf]
|
||||
adds r2, #1
|
||||
strb r2, [r4, #0xf]
|
||||
adds r1, r2, #0
|
||||
ands r1, r3
|
||||
ldr r6, _0809AC9C @ =gScreen
|
||||
lsls r3, r1, #8
|
||||
movs r0, #0x10
|
||||
subs r0, r0, r1
|
||||
movs r1, #0xff
|
||||
ands r0, r1
|
||||
orrs r3, r0
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x68
|
||||
strh r3, [r0]
|
||||
lsls r2, r2, #0x18
|
||||
lsrs r2, r2, #0x18
|
||||
cmp r2, #0xf
|
||||
bls _0809AC9A
|
||||
ldrb r1, [r4, #0x19]
|
||||
movs r0, #0xd
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x66
|
||||
strh r5, [r0]
|
||||
movs r0, #6
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0xf
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #0x13
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_0809AC9A:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0809AC9C: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_0809ACA0
|
||||
sub_0809ACA0: @ 0x0809ACA0
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0809ACC4
|
||||
ldr r1, [r2, #0x54]
|
||||
movs r0, #6
|
||||
strb r0, [r1, #0xd]
|
||||
ldr r0, _0809ACC8 @ =gRoomTransition
|
||||
adds r0, #0x38
|
||||
movs r1, #0xf1
|
||||
strb r1, [r0]
|
||||
adds r0, r2, #0
|
||||
bl DeleteEntity
|
||||
_0809ACC4:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809ACC8: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_0809ACCC
|
||||
sub_0809ACCC: @ 0x0809ACCC
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, [r2, #0x54]
|
||||
ldrb r0, [r0, #0xe]
|
||||
cmp r0, #1
|
||||
bne _0809ACE4
|
||||
movs r0, #0
|
||||
movs r1, #8
|
||||
strb r1, [r2, #0xc]
|
||||
strb r0, [r2, #0xd]
|
||||
movs r0, #0xb4
|
||||
strb r0, [r2, #0xe]
|
||||
_0809ACE4:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0809ACE8
|
||||
sub_0809ACE8: @ 0x0809ACE8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #1
|
||||
beq _0809AD1E
|
||||
cmp r0, #2
|
||||
beq _0809AD3A
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0809AD58
|
||||
movs r0, #0x5a
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x73
|
||||
bl SoundReq
|
||||
movs r0, #0x31
|
||||
bl SetFlag
|
||||
adds r0, r4, #0
|
||||
bl sub_0809AD8C
|
||||
b _0809AD58
|
||||
_0809AD1E:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0809AD58
|
||||
movs r0, #0x78
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
bl sub_0809AD68
|
||||
b _0809AD58
|
||||
_0809AD3A:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0809AD58
|
||||
ldr r1, _0809AD5C @ =gRoomControls
|
||||
ldr r0, _0809AD60 @ =gPlayerEntity
|
||||
str r0, [r1, #0x30]
|
||||
ldr r0, _0809AD64 @ =gPlayerState
|
||||
adds r0, #0x8b
|
||||
movs r1, #1
|
||||
strb r1, [r0]
|
||||
bl DeleteThisEntity
|
||||
_0809AD58:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0809AD5C: .4byte gRoomControls
|
||||
_0809AD60: .4byte gPlayerEntity
|
||||
_0809AD64: .4byte gPlayerState
|
||||
|
||||
thumb_func_start sub_0809AD68
|
||||
sub_0809AD68: @ 0x0809AD68
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
bl LoadRoomEntityList
|
||||
movs r0, #0x17
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _0809AD8A
|
||||
ldrb r0, [r4, #0xb]
|
||||
bl GetCurrentRoomProperty
|
||||
bl LoadRoomEntityList
|
||||
_0809AD8A:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0809AD8C
|
||||
sub_0809AD8C: @ 0x0809AD8C
|
||||
push {lr}
|
||||
movs r0, #0x4f
|
||||
movs r1, #0x22
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0809ADAC
|
||||
ldr r0, _0809ADB0 @ =gRoomControls
|
||||
ldrh r1, [r0, #6]
|
||||
adds r1, #0xb8
|
||||
strh r1, [r2, #0x2e]
|
||||
ldrh r0, [r0, #8]
|
||||
adds r0, #8
|
||||
strh r0, [r2, #0x32]
|
||||
_0809ADAC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809ADB0: .4byte gRoomControls
|
||||
@@ -1,322 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08091C0C
|
||||
sub_08091C0C: @ 0x08091C0C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08004168
|
||||
ldr r1, _08091C30 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl CopyPosition
|
||||
adds r0, r4, #0
|
||||
bl sub_080B1AA8
|
||||
cmp r0, #0x68
|
||||
beq _08091C46
|
||||
cmp r0, #0x68
|
||||
bhi _08091C34
|
||||
cmp r0, #0x67
|
||||
beq _08091C3E
|
||||
b _08091C80
|
||||
.align 2, 0
|
||||
_08091C30: .4byte gPlayerEntity
|
||||
_08091C34:
|
||||
cmp r0, #0x69
|
||||
beq _08091C4E
|
||||
cmp r0, #0x6a
|
||||
beq _08091C66
|
||||
b _08091C80
|
||||
_08091C3E:
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #0x18
|
||||
beq _08091C54
|
||||
b _08091C76
|
||||
_08091C46:
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _08091C6C
|
||||
b _08091C5C
|
||||
_08091C4E:
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
bne _08091C5C
|
||||
_08091C54:
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0x15]
|
||||
strb r0, [r4, #0x14]
|
||||
b _08091C86
|
||||
_08091C5C:
|
||||
movs r0, #0x18
|
||||
strb r0, [r4, #0x15]
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0x14]
|
||||
b _08091C86
|
||||
_08091C66:
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #0x18
|
||||
bne _08091C76
|
||||
_08091C6C:
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0x15]
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
b _08091C86
|
||||
_08091C76:
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0x15]
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0x14]
|
||||
b _08091C86
|
||||
_08091C80:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
b _08091C92
|
||||
_08091C86:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r1, _08091C94 @ =gPlayerEntity
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #1
|
||||
strb r0, [r1, #0x14]
|
||||
_08091C92:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08091C94: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_08091C98
|
||||
sub_08091C98: @ 0x08091C98
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl LinearMoveUpdate
|
||||
ldr r5, _08091CC0 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl CopyPosition
|
||||
ldr r1, _08091CC4 @ =gRoomControls
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _08091CBE
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0xe0
|
||||
lsls r0, r0, #3
|
||||
strh r0, [r4, #0x24]
|
||||
str r5, [r1, #0x30]
|
||||
_08091CBE:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08091CC0: .4byte gPlayerEntity
|
||||
_08091CC4: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_08091CC8
|
||||
sub_08091CC8: @ 0x08091CC8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
ldr r2, _08091D58 @ =gPlayerState
|
||||
ldrb r0, [r2, #2]
|
||||
cmp r0, #0
|
||||
bne _08091D64
|
||||
movs r0, #1
|
||||
strb r0, [r6, #0xc]
|
||||
ldrb r0, [r6, #0x15]
|
||||
movs r1, #0x10
|
||||
eors r0, r1
|
||||
strb r0, [r6, #0x15]
|
||||
ldrb r0, [r6, #0x14]
|
||||
movs r1, #2
|
||||
eors r0, r1
|
||||
strb r0, [r6, #0x14]
|
||||
ldr r0, [r2, #0x30]
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #0x13
|
||||
eors r0, r1
|
||||
str r0, [r2, #0x30]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x84
|
||||
ldr r4, [r0]
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r6, r0]
|
||||
ldr r5, _08091D5C @ =gRoomControls
|
||||
ldrh r0, [r5, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r6, r2]
|
||||
ldrh r2, [r5, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r3
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
strh r1, [r4]
|
||||
ldrb r0, [r5, #5]
|
||||
strb r0, [r4, #4]
|
||||
ldrb r0, [r6, #0x14]
|
||||
strb r0, [r4, #5]
|
||||
ldrb r1, [r6, #0x14]
|
||||
adds r1, #0x10
|
||||
adds r0, r6, #0
|
||||
bl InitAnimationForceUpdate
|
||||
ldr r0, _08091D60 @ =0x00004022
|
||||
movs r3, #0x2e
|
||||
ldrsh r1, [r6, r3]
|
||||
ldrh r2, [r5, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r3, #0x32
|
||||
ldrsh r2, [r6, r3]
|
||||
ldrh r3, [r5, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
b _08091D8A
|
||||
.align 2, 0
|
||||
_08091D58: .4byte gPlayerState
|
||||
_08091D5C: .4byte gRoomControls
|
||||
_08091D60: .4byte 0x00004022
|
||||
_08091D64:
|
||||
adds r0, r6, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
ldr r3, _08091D8C @ =gPlayerEntity
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x29
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #0x1d
|
||||
lsrs r1, r1, #0x1d
|
||||
subs r1, #1
|
||||
adds r3, #0x29
|
||||
movs r0, #7
|
||||
ands r1, r0
|
||||
ldrb r2, [r3]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
_08091D8A:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08091D8C: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_08091D90
|
||||
sub_08091D90: @ 0x08091D90
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x20]
|
||||
cmp r0, #0
|
||||
bge _08091DA0
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_08091DA0:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08091DD8
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08091DD8
|
||||
ldrb r1, [r4, #0xb]
|
||||
movs r0, #4
|
||||
eors r1, r0
|
||||
strb r1, [r4, #0xb]
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x84
|
||||
ldr r0, [r0]
|
||||
strb r1, [r0, #6]
|
||||
movs r0, #0x9e
|
||||
lsls r0, r0, #1
|
||||
bl SoundReq
|
||||
_08091DD8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08091DDC
|
||||
sub_08091DDC: @ 0x08091DDC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r2, _08091E30 @ =gUnk_081223D0
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #1
|
||||
adds r1, r0, r2
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r0, #1
|
||||
adds r0, r0, r2
|
||||
movs r2, #0
|
||||
ldrsb r2, [r0, r2]
|
||||
adds r0, r4, #0
|
||||
bl sub_080B1AF0
|
||||
cmp r0, #0xff
|
||||
bne _08091E5C
|
||||
ldr r0, _08091E34 @ =gPlayerEntity
|
||||
ldrb r1, [r4, #0x14]
|
||||
bl sub_0807BD14
|
||||
cmp r0, #0
|
||||
beq _08091E5C
|
||||
ldrb r1, [r4, #0x11]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #6
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x11]
|
||||
movs r0, #5
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _08091E40
|
||||
cmp r0, #8
|
||||
bgt _08091E38
|
||||
cmp r0, #0
|
||||
beq _08091E40
|
||||
b _08091E44
|
||||
.align 2, 0
|
||||
_08091E30: .4byte gUnk_081223D0
|
||||
_08091E34: .4byte gPlayerEntity
|
||||
_08091E38:
|
||||
cmp r0, #0x10
|
||||
beq _08091E40
|
||||
cmp r0, #0x18
|
||||
bne _08091E44
|
||||
_08091E40:
|
||||
movs r0, #0xa0
|
||||
strh r0, [r4, #0x24]
|
||||
_08091E44:
|
||||
ldr r0, _08091E54 @ =gPlayerEntity
|
||||
ldrb r1, [r4, #0x15]
|
||||
strb r1, [r0, #0x15]
|
||||
ldr r0, _08091E58 @ =gRoomControls
|
||||
str r4, [r0, #0x30]
|
||||
movs r0, #1
|
||||
b _08091E5E
|
||||
.align 2, 0
|
||||
_08091E54: .4byte gPlayerEntity
|
||||
_08091E58: .4byte gRoomControls
|
||||
_08091E5C:
|
||||
movs r0, #0
|
||||
_08091E5E:
|
||||
pop {r4, pc}
|
||||
@@ -1,288 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Object96
|
||||
Object96: @ 0x0809D784
|
||||
push {lr}
|
||||
ldr r1, _0809D7A0 @ =gUnk_081240B0
|
||||
ldrb r3, [r0, #0xc]
|
||||
lsls r3, r3, #2
|
||||
adds r3, r3, r1
|
||||
ldrb r1, [r0, #0xa]
|
||||
lsls r1, r1, #5
|
||||
ldr r2, _0809D7A4 @ =gUnk_08123FB0
|
||||
adds r1, r1, r2
|
||||
ldr r2, [r3]
|
||||
bl _call_via_r2
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809D7A0: .4byte gUnk_081240B0
|
||||
_0809D7A4: .4byte gUnk_08123FB0
|
||||
|
||||
thumb_func_start sub_0809D7A8
|
||||
sub_0809D7A8: @ 0x0809D7A8
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xc]
|
||||
adds r0, #1
|
||||
movs r4, #0
|
||||
strb r0, [r5, #0xc]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r2]
|
||||
ldrb r2, [r5, #0x19]
|
||||
movs r0, #0x3f
|
||||
ands r0, r2
|
||||
movs r2, #0x40
|
||||
orrs r0, r2
|
||||
strb r0, [r5, #0x19]
|
||||
ldr r0, [r1, #0x10]
|
||||
str r0, [r5, #0x20]
|
||||
ldrb r3, [r1, #0xf]
|
||||
strb r3, [r5, #0x15]
|
||||
ldrh r0, [r1, #0x18]
|
||||
strh r0, [r5, #0x24]
|
||||
ldrh r0, [r5, #0x32]
|
||||
ldrh r2, [r1, #0x1a]
|
||||
subs r0, r0, r2
|
||||
strh r0, [r5, #0x32]
|
||||
str r4, [r5, #0x34]
|
||||
ldrb r0, [r1, #0x1e]
|
||||
strb r0, [r5, #0xe]
|
||||
movs r0, #0x80
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
beq _0809D80C
|
||||
ldrb r0, [r5, #0x15]
|
||||
cmp r0, #0x81
|
||||
bne _0809D80C
|
||||
bl Random
|
||||
ldr r1, _0809D820 @ =gPlayerEntity
|
||||
ldrb r1, [r1, #0x14]
|
||||
lsls r1, r1, #2
|
||||
movs r2, #3
|
||||
ands r0, r2
|
||||
adds r1, r1, r0
|
||||
subs r1, #2
|
||||
movs r0, #0x1f
|
||||
ands r1, r0
|
||||
movs r0, #0x10
|
||||
eors r1, r0
|
||||
strb r1, [r5, #0x15]
|
||||
_0809D80C:
|
||||
adds r0, r5, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
ldrb r4, [r5, #0xa]
|
||||
adds r0, r5, #0
|
||||
bl sub_08080CB4
|
||||
strb r4, [r5, #0xa]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0809D820: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_0809D824
|
||||
sub_0809D824: @ 0x0809D824
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
movs r0, #1
|
||||
ldr r2, [r6, #4]
|
||||
cmp r2, #0
|
||||
beq _0809D838
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r2
|
||||
_0809D838:
|
||||
cmp r0, #0
|
||||
beq _0809D850
|
||||
ldrb r0, [r5, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrh r1, [r6, #0x1a]
|
||||
ldrh r2, [r5, #0x32]
|
||||
adds r0, r1, r2
|
||||
strh r0, [r5, #0x32]
|
||||
ldrh r0, [r5, #0x36]
|
||||
subs r0, r0, r1
|
||||
strh r0, [r5, #0x36]
|
||||
_0809D850:
|
||||
ldrb r4, [r5, #0xa]
|
||||
ldrb r0, [r6, #0xd]
|
||||
strb r0, [r5, #0xa]
|
||||
adds r0, r5, #0
|
||||
bl sub_08080CB4
|
||||
strb r4, [r5, #0xa]
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_0809D860
|
||||
sub_0809D860: @ 0x0809D860
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
bl LinearMoveUpdate
|
||||
ldr r1, [r6, #0x14]
|
||||
adds r0, r5, #0
|
||||
bl sub_080044EC
|
||||
cmp r0, #1
|
||||
bhi _0809D8B2
|
||||
ldrb r0, [r5, #0xe]
|
||||
cmp r0, #0
|
||||
beq _0809D888
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
ldr r0, [r6, #0x14]
|
||||
lsls r0, r0, #3
|
||||
str r0, [r5, #0x20]
|
||||
b _0809D8AC
|
||||
_0809D888:
|
||||
ldrb r0, [r5, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldr r0, _0809D8C4 @ =gPlayerEntity
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
ldr r1, [r6]
|
||||
cmp r1, #0
|
||||
beq _0809D8AC
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
_0809D8AC:
|
||||
movs r0, #0x6e
|
||||
bl SoundReq
|
||||
_0809D8B2:
|
||||
ldrb r4, [r5, #0xa]
|
||||
ldrb r0, [r6, #0xd]
|
||||
strb r0, [r5, #0xa]
|
||||
adds r0, r5, #0
|
||||
bl sub_08080CB4
|
||||
strb r4, [r5, #0xa]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0809D8C4: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_0809D8C8
|
||||
sub_0809D8C8: @ 0x0809D8C8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
ldr r0, _0809D8E4 @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0809D8E8
|
||||
adds r0, r5, #0
|
||||
bl sub_0800445C
|
||||
b _0809D90A
|
||||
.align 2, 0
|
||||
_0809D8E4: .4byte gPlayerState
|
||||
_0809D8E8:
|
||||
adds r0, r5, #0
|
||||
bl IsCollidingPlayer
|
||||
cmp r0, #0
|
||||
beq _0809D90A
|
||||
ldrb r0, [r6, #0xd]
|
||||
ldrb r1, [r5, #0xb]
|
||||
movs r2, #0
|
||||
bl CreateItemEntity
|
||||
ldrh r0, [r6, #0x1c]
|
||||
cmp r0, #0
|
||||
beq _0809D906
|
||||
bl SetFlag
|
||||
_0809D906:
|
||||
bl DeleteThisEntity
|
||||
_0809D90A:
|
||||
ldrb r4, [r5, #0xa]
|
||||
ldrb r0, [r6, #0xd]
|
||||
strb r0, [r5, #0xa]
|
||||
adds r0, r5, #0
|
||||
bl sub_08080CB4
|
||||
strb r4, [r5, #0xa]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0809D91C
|
||||
sub_0809D91C: @ 0x0809D91C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x11
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0809D934
|
||||
adds r0, r4, #0
|
||||
bl SortEntityBelow
|
||||
_0809D934:
|
||||
movs r0, #0x72
|
||||
bl SoundReq
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0809D93C
|
||||
sub_0809D93C: @ 0x0809D93C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r3, r1, #0
|
||||
ldr r2, _0809D9A0 @ =gPlayerEntity
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #6
|
||||
bne _0809D9A4
|
||||
ldrb r0, [r3, #0xc]
|
||||
ldrb r1, [r2, #0x14]
|
||||
asrs r0, r1
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0809D9A4
|
||||
movs r5, #0x2e
|
||||
ldrsh r0, [r2, r5]
|
||||
movs r5, #0x2e
|
||||
ldrsh r1, [r4, r5]
|
||||
subs r0, r0, r1
|
||||
movs r1, #8
|
||||
ldrsb r1, [r3, r1]
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r3, #0xa]
|
||||
adds r0, r0, r1
|
||||
lsls r1, r1, #1
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r1, r0
|
||||
ble _0809D9A4
|
||||
movs r0, #0x32
|
||||
ldrsh r2, [r2, r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r4, #0x1a
|
||||
ldrsh r1, [r3, r4]
|
||||
adds r0, r0, r1
|
||||
subs r2, r2, r0
|
||||
movs r0, #9
|
||||
ldrsb r0, [r3, r0]
|
||||
adds r2, r2, r0
|
||||
ldrb r1, [r3, #0xb]
|
||||
adds r0, r2, r1
|
||||
lsls r1, r1, #1
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r1, r0
|
||||
ble _0809D9A4
|
||||
movs r0, #1
|
||||
b _0809D9A6
|
||||
.align 2, 0
|
||||
_0809D9A0: .4byte gPlayerEntity
|
||||
_0809D9A4:
|
||||
movs r0, #0
|
||||
_0809D9A6:
|
||||
pop {r4, r5, pc}
|
||||
@@ -1,128 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Object98
|
||||
Object98: @ 0x0809E348
|
||||
push {lr}
|
||||
ldr r2, _0809E35C @ =gUnk_0812418C
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809E35C: .4byte gUnk_0812418C
|
||||
|
||||
thumb_func_start sub_0809E360
|
||||
sub_0809E360: @ 0x0809E360
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #8
|
||||
bls _0809E372
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
_0809E372:
|
||||
ldrb r2, [r4, #0xe]
|
||||
movs r0, #0x48
|
||||
subs r0, r0, r2
|
||||
ldr r1, _0809E3E0 @ =gEntCount
|
||||
ldrb r1, [r1]
|
||||
cmp r0, r1
|
||||
ble _0809E3D8
|
||||
movs r5, #0
|
||||
adds r7, r4, #0
|
||||
adds r7, #0x7e
|
||||
movs r0, #0x76
|
||||
adds r0, r0, r4
|
||||
mov r8, r0
|
||||
cmp r5, r2
|
||||
bhs _0809E3A6
|
||||
movs r6, #0xe
|
||||
_0809E392:
|
||||
movs r0, #0x17
|
||||
bl CreateProjectile
|
||||
strb r6, [r0, #0xe]
|
||||
str r4, [r0, #0x50]
|
||||
adds r6, #0xc
|
||||
adds r5, #1
|
||||
ldrb r2, [r4, #0xe]
|
||||
cmp r5, r2
|
||||
blo _0809E392
|
||||
_0809E3A6:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r7]
|
||||
lsls r1, r0, #8
|
||||
mov r2, r8
|
||||
strh r1, [r2]
|
||||
lsls r0, r0, #6
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl SetDefaultPriority
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
beq _0809E3D8
|
||||
bl GetCurrentRoomProperty
|
||||
str r0, [r4, #0x54]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x54
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x74
|
||||
adds r0, r4, #0
|
||||
bl sub_080A2CC0
|
||||
_0809E3D8:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0809E3E0: .4byte gEntCount
|
||||
|
||||
thumb_func_start sub_0809E3E4
|
||||
sub_0809E3E4: @ 0x0809E3E4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x76
|
||||
ldrb r0, [r4, #0xb]
|
||||
ldrh r1, [r2]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r2]
|
||||
lsrs r1, r1, #2
|
||||
strb r1, [r4, #0x14]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
beq _0809E428
|
||||
ldrb r1, [r4, #0x15]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0809E40E
|
||||
adds r0, r4, #0
|
||||
bl LinearMoveUpdate
|
||||
_0809E40E:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x74
|
||||
ldrh r0, [r2]
|
||||
subs r0, #1
|
||||
strh r0, [r2]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _0809E428
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x54
|
||||
adds r0, r4, #0
|
||||
bl sub_080A2CC0
|
||||
_0809E428:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -1,117 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Object99
|
||||
Object99: @ 0x0809E42C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
adds r4, r0, #0
|
||||
ldr r6, [r4, #0x50]
|
||||
ldr r0, [r6, #4]
|
||||
cmp r0, #0
|
||||
bne _0809E444
|
||||
bl DeleteThisEntity
|
||||
_0809E444:
|
||||
ldrb r0, [r4, #0xc]
|
||||
movs r1, #0x76
|
||||
adds r1, r1, r4
|
||||
mov r8, r1
|
||||
adds r7, r4, #0
|
||||
adds r7, #0x62
|
||||
movs r2, #0x74
|
||||
adds r2, r2, r4
|
||||
mov sb, r2
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x63
|
||||
movs r1, #0x75
|
||||
adds r1, r1, r4
|
||||
mov sl, r1
|
||||
cmp r0, #0
|
||||
bne _0809E482
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r6, #0x14]
|
||||
mov r2, r8
|
||||
strb r0, [r2]
|
||||
ldrb r0, [r7]
|
||||
mov r1, sb
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r5]
|
||||
mov r2, sl
|
||||
strb r0, [r2]
|
||||
ldrb r1, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
_0809E482:
|
||||
ldrb r0, [r6, #0x14]
|
||||
mov r1, r8
|
||||
ldrb r1, [r1]
|
||||
cmp r0, r1
|
||||
beq _0809E490
|
||||
bl DeleteThisEntity
|
||||
_0809E490:
|
||||
ldrb r1, [r6, #0x18]
|
||||
lsls r1, r1, #0x1e
|
||||
lsrs r1, r1, #0x1e
|
||||
ldrb r2, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r6, #0
|
||||
adds r1, r4, #0
|
||||
bl CopyPositionAndSpriteOffset
|
||||
mov r2, sb
|
||||
ldrb r0, [r2]
|
||||
ldrb r1, [r7]
|
||||
adds r0, r0, r1
|
||||
strb r0, [r7]
|
||||
mov r2, sl
|
||||
ldrb r0, [r2]
|
||||
ldrb r1, [r5]
|
||||
adds r0, r0, r1
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r4, #0x14]
|
||||
cmp r0, #2
|
||||
beq _0809E4D0
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
ldrb r0, [r5]
|
||||
subs r0, #1
|
||||
b _0809E4DA
|
||||
_0809E4D0:
|
||||
ldrh r0, [r4, #0x32]
|
||||
subs r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
ldrb r0, [r5]
|
||||
adds r0, #1
|
||||
_0809E4DA:
|
||||
strb r0, [r5]
|
||||
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 _0809E4F4
|
||||
bl DeleteThisEntity
|
||||
_0809E4F4:
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
@@ -1,95 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ObjectA6
|
||||
ObjectA6: @ 0x0809F908
|
||||
push {lr}
|
||||
ldr r2, _0809F91C @ =gUnk_08124800
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809F91C: .4byte gUnk_08124800
|
||||
|
||||
thumb_func_start sub_0809F920
|
||||
sub_0809F920: @ 0x0809F920
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0809F934
|
||||
bl DeleteThisEntity
|
||||
_0809F934:
|
||||
movs r2, #1
|
||||
strb r2, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3c
|
||||
movs r0, #7
|
||||
strb r0, [r1]
|
||||
adds r1, #4
|
||||
movs r0, #0x48
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x3f
|
||||
strb r2, [r0]
|
||||
subs r1, #5
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
ldr r0, _0809F960 @ =gHitbox_0
|
||||
str r0, [r4, #0x48]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0809F960: .4byte gHitbox_0
|
||||
|
||||
thumb_func_start sub_0809F964
|
||||
sub_0809F964: @ 0x0809F964
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x41
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xa1
|
||||
bne _0809F9A8
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x4e
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0809F99A
|
||||
adds r3, r2, #0
|
||||
adds r3, #0x29
|
||||
ldrb r1, [r3]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x63
|
||||
movs r0, #0xfb
|
||||
strb r0, [r1]
|
||||
_0809F99A:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl SetFlag
|
||||
bl DeleteThisEntity
|
||||
_0809F9A8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -1,79 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ObjectA9
|
||||
ObjectA9: @ 0x0809FEE0
|
||||
push {lr}
|
||||
ldr r2, _0809FEF4 @ =gUnk_08124850
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809FEF4: .4byte gUnk_08124850
|
||||
|
||||
thumb_func_start sub_0809FEF8
|
||||
sub_0809FEF8: @ 0x0809FEF8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r1, _0809FF20 @ =gUnk_0812485C
|
||||
ldrb r0, [r4, #0xa]
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldr r1, _0809FF24 @ =gUnk_08124860
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
bl SoundReq
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0809FF20: .4byte gUnk_0812485C
|
||||
_0809FF24: .4byte gUnk_08124860
|
||||
|
||||
thumb_func_start sub_0809FF28
|
||||
sub_0809FF28: @ 0x0809FF28
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0809FF64
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r1, [r4, #0x50]
|
||||
ldrb r0, [r4, #0xe]
|
||||
strb r0, [r1, #0x10]
|
||||
ldrb r2, [r4, #0xf]
|
||||
movs r0, #3
|
||||
ands r2, r0
|
||||
ldrb r3, [r1, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r3
|
||||
orrs r0, r2
|
||||
strb r0, [r1, #0x18]
|
||||
adds r1, #0x6d
|
||||
ldrb r2, [r1]
|
||||
movs r0, #0xef
|
||||
ands r0, r2
|
||||
strb r0, [r1]
|
||||
_0809FF64:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -1,124 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ObjectAB
|
||||
ObjectAB: @ 0x080A00E0
|
||||
push {lr}
|
||||
ldr r2, _080A00F4 @ =gUnk_0812486C
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A00F4: .4byte gUnk_0812486C
|
||||
|
||||
thumb_func_start sub_080A00F8
|
||||
sub_080A00F8: @ 0x080A00F8
|
||||
push {lr}
|
||||
ldrb r1, [r0, #0xc]
|
||||
adds r1, #1
|
||||
movs r3, #0
|
||||
strb r1, [r0, #0xc]
|
||||
adds r2, r0, #0
|
||||
adds r2, #0x38
|
||||
movs r1, #1
|
||||
strb r1, [r2]
|
||||
ldrb r1, [r0, #0x19]
|
||||
movs r2, #0xc0
|
||||
orrs r1, r2
|
||||
strb r1, [r0, #0x19]
|
||||
movs r1, #0x29
|
||||
adds r1, r1, r0
|
||||
mov ip, r1
|
||||
ldrb r1, [r1]
|
||||
movs r2, #7
|
||||
orrs r1, r2
|
||||
mov r2, ip
|
||||
strb r1, [r2]
|
||||
strb r3, [r0, #0xd]
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080A012C
|
||||
sub_080A012C: @ 0x080A012C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0
|
||||
bl CheckRoomFlag
|
||||
cmp r0, #0
|
||||
beq _080A0154
|
||||
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 _080A0154
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_080A0154:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080A0158
|
||||
sub_080A0158: @ 0x080A0158
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #1
|
||||
bl CheckRoomFlag
|
||||
cmp r0, #0
|
||||
beq _080A018A
|
||||
adds r0, r4, #0
|
||||
bl sub_080A0190
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x1e
|
||||
bl RequestPriorityDuration
|
||||
ldr r1, _080A018C @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
movs r2, #0x10
|
||||
movs r3, #0x10
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
beq _080A018A
|
||||
movs r0, #0x37
|
||||
bl sub_0805B390
|
||||
_080A018A:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A018C: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_080A0190
|
||||
sub_080A0190: @ 0x080A0190
|
||||
push {r4, lr}
|
||||
movs r4, #0
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xd]
|
||||
ldr r1, _080A01B8 @ =gPlayerEntity
|
||||
bl CopyPosition
|
||||
ldr r2, _080A01BC @ =gPlayerState
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0xc]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r4, [r0]
|
||||
ldr r0, [r2, #0x30]
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #8
|
||||
orrs r0, r1
|
||||
str r0, [r2, #0x30]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A01B8: .4byte gPlayerEntity
|
||||
_080A01BC: .4byte gPlayerState
|
||||
@@ -1,117 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ObjectAD
|
||||
ObjectAD: @ 0x080A048C
|
||||
push {lr}
|
||||
ldr r2, _080A04A0 @ =gUnk_081248BC
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A04A0: .4byte gUnk_081248BC
|
||||
|
||||
thumb_func_start sub_080A04A4
|
||||
sub_080A04A4: @ 0x080A04A4
|
||||
push {r4, lr}
|
||||
movs r3, #0
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
movs r4, #4
|
||||
movs r1, #4
|
||||
strb r1, [r0, #0x1e]
|
||||
strb r3, [r0, #0xe]
|
||||
ldrb r1, [r0, #0x19]
|
||||
movs r2, #0xc0
|
||||
orrs r1, r2
|
||||
strb r1, [r0, #0x19]
|
||||
movs r1, #0x29
|
||||
adds r1, r1, r0
|
||||
mov ip, r1
|
||||
ldrb r1, [r1]
|
||||
movs r2, #7
|
||||
orrs r1, r2
|
||||
mov r2, ip
|
||||
strb r1, [r2]
|
||||
str r3, [r0, #0x34]
|
||||
ldrb r2, [r0, #0x19]
|
||||
movs r1, #0xd
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r2
|
||||
orrs r1, r4
|
||||
strb r1, [r0, #0x19]
|
||||
bl sub_080A04E8
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080A04E0
|
||||
sub_080A04E0: @ 0x080A04E0
|
||||
push {lr}
|
||||
bl sub_080A04E8
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080A04E8
|
||||
sub_080A04E8: @ 0x080A04E8
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, [r5, #0x50]
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, #0
|
||||
bge _080A04F8
|
||||
rsbs r0, r0, #0
|
||||
_080A04F8:
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
adds r4, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
adds r2, r4, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
movs r1, #0xe0
|
||||
lsls r1, r1, #1
|
||||
subs r1, r1, r4
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #1
|
||||
adds r1, r4, #0
|
||||
bl __divsi3
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r5, #0x50]
|
||||
ldrb r0, [r0, #0xa]
|
||||
cmp r0, #0x41
|
||||
bne _080A0538
|
||||
lsls r3, r4, #1
|
||||
cmp r3, #0xc
|
||||
bls _080A052E
|
||||
movs r3, #0xc
|
||||
_080A052E:
|
||||
movs r0, #0x10
|
||||
subs r0, r0, r4
|
||||
lsls r4, r0, #8
|
||||
orrs r4, r3
|
||||
b _080A0540
|
||||
_080A0538:
|
||||
movs r0, #0x10
|
||||
subs r0, r0, r4
|
||||
lsls r0, r0, #8
|
||||
orrs r4, r0
|
||||
_080A0540:
|
||||
ldr r0, _080A054C @ =0x0000FFFF
|
||||
ands r4, r0
|
||||
ldr r0, _080A0550 @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r4, [r0]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A054C: .4byte 0x0000FFFF
|
||||
_080A0550: .4byte gScreen
|
||||
@@ -1,352 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ObjectB4
|
||||
ObjectB4: @ 0x080A0B90
|
||||
push {lr}
|
||||
ldr r2, _080A0BA4 @ =gUnk_08124B20
|
||||
ldrb r1, [r0, #0xa]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A0BA4: .4byte gUnk_08124B20
|
||||
|
||||
thumb_func_start sub_080A0BA8
|
||||
sub_080A0BA8: @ 0x080A0BA8
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r2, [r5, #0xc]
|
||||
cmp r2, #0
|
||||
beq _080A0BB8
|
||||
cmp r2, #1
|
||||
beq _080A0C08
|
||||
b _080A0CE0
|
||||
_080A0BB8:
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r5, #0x18]
|
||||
movs r0, #9
|
||||
strb r0, [r5, #0x1e]
|
||||
movs r0, #8
|
||||
strb r0, [r5, #0xe]
|
||||
strb r2, [r5, #0xf]
|
||||
ldrb r1, [r5, #0x19]
|
||||
movs r2, #0x3f
|
||||
adds r0, r2, #0
|
||||
ands r0, r1
|
||||
movs r3, #0x40
|
||||
orrs r0, r3
|
||||
strb r0, [r5, #0x19]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x29
|
||||
ldrb r1, [r4]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r5, #0x1b]
|
||||
ands r2, r0
|
||||
orrs r2, r3
|
||||
strb r2, [r5, #0x1b]
|
||||
adds r0, r5, #0
|
||||
movs r1, #0xbf
|
||||
movs r2, #0x48
|
||||
movs r3, #0x1e
|
||||
bl sub_0806FB00
|
||||
b _080A0CE0
|
||||
_080A0C08:
|
||||
ldrb r0, [r5, #0xf]
|
||||
cmp r0, #6
|
||||
bhi _080A0C46
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080A0C46
|
||||
strb r2, [r5, #0xe]
|
||||
ldrb r2, [r5, #0xf]
|
||||
movs r0, #0xb4
|
||||
movs r1, #1
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080A0C40
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl CopyPosition
|
||||
movs r0, #0x68
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl SortEntityBelow
|
||||
_080A0C40:
|
||||
ldrb r0, [r5, #0xf]
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xf]
|
||||
_080A0C46:
|
||||
adds r0, r5, #0
|
||||
bl sub_0806FB38
|
||||
cmp r0, #0
|
||||
bne _080A0C58
|
||||
ldr r0, _080A0CE4 @ =gMenu
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #1
|
||||
bls _080A0CE0
|
||||
_080A0C58:
|
||||
movs r0, #0xbf
|
||||
strh r0, [r5, #0x2e]
|
||||
movs r0, #0x48
|
||||
strh r0, [r5, #0x32]
|
||||
movs r0, #0xa
|
||||
strb r0, [r5, #0x1e]
|
||||
movs r0, #2
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r0, [r5, #0xf]
|
||||
cmp r0, #6
|
||||
bhi _080A0CA0
|
||||
_080A0C6E:
|
||||
ldrb r2, [r5, #0xf]
|
||||
movs r0, #0xb4
|
||||
movs r1, #1
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080A0C92
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl CopyPosition
|
||||
movs r0, #0x68
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl SortEntityBelow
|
||||
_080A0C92:
|
||||
ldrb r0, [r5, #0xf]
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #6
|
||||
bls _080A0C6E
|
||||
_080A0CA0:
|
||||
movs r0, #0xb4
|
||||
movs r1, #2
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080A0CC0
|
||||
movs r0, #0xc4
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #0x2c
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl SortEntityAbove
|
||||
_080A0CC0:
|
||||
movs r0, #0xb4
|
||||
movs r1, #3
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080A0CE0
|
||||
movs r0, #0xb4
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #0x19
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl SortEntityAbove
|
||||
_080A0CE0:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A0CE4: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A0CE8
|
||||
sub_080A0CE8: @ 0x080A0CE8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
beq _080A0CF8
|
||||
cmp r0, #1
|
||||
beq _080A0D28
|
||||
b _080A0D66
|
||||
_080A0CF8:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldrb r0, [r4, #0xb]
|
||||
adds r0, #2
|
||||
strb r0, [r4, #0x1e]
|
||||
ldr r1, _080A0D24 @ =gUnk_08124B10
|
||||
ldrb r0, [r4, #0xb]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r2, #0x68
|
||||
movs r3, #0x14
|
||||
bl sub_0806FB00
|
||||
b _080A0D66
|
||||
.align 2, 0
|
||||
_080A0D24: .4byte gUnk_08124B10
|
||||
_080A0D28:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806FB38
|
||||
cmp r0, #0
|
||||
bne _080A0D3A
|
||||
ldr r0, _080A0D68 @ =gMenu
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #1
|
||||
bls _080A0D66
|
||||
_080A0D3A:
|
||||
ldr r1, _080A0D6C @ =gUnk_08124B10
|
||||
ldrb r0, [r4, #0xb]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #0x68
|
||||
strh r0, [r4, #0x32]
|
||||
ldrb r1, [r4, #0xb]
|
||||
movs r0, #7
|
||||
subs r1, r0, r1
|
||||
adds r3, r4, #0
|
||||
adds r3, #0x29
|
||||
ands r1, r0
|
||||
ldrb r2, [r3]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
_080A0D66:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A0D68: .4byte gMenu
|
||||
_080A0D6C: .4byte gUnk_08124B10
|
||||
|
||||
thumb_func_start sub_080A0D70
|
||||
sub_080A0D70: @ 0x080A0D70
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r6, [r5, #0xc]
|
||||
cmp r6, #0
|
||||
bne _080A0DC4
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r5, #0x18]
|
||||
ldrb r2, [r5, #0x19]
|
||||
movs r4, #0x3f
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
movs r3, #0x40
|
||||
orrs r0, r3
|
||||
strb r0, [r5, #0x19]
|
||||
movs r0, #0x29
|
||||
adds r0, r0, r5
|
||||
mov ip, r0
|
||||
ldrb r2, [r0]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
mov r2, ip
|
||||
strb r0, [r2]
|
||||
ldrb r0, [r5, #0x1b]
|
||||
ands r1, r0
|
||||
orrs r1, r3
|
||||
strb r1, [r5, #0x1b]
|
||||
movs r0, #0xb
|
||||
strb r0, [r5, #0x1e]
|
||||
bl Random
|
||||
ands r0, r4
|
||||
adds r0, #0x40
|
||||
strb r0, [r5, #0xe]
|
||||
strb r6, [r5, #0xf]
|
||||
_080A0DC4:
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r4, r0, #0x18
|
||||
cmp r4, #0
|
||||
bne _080A0E02
|
||||
movs r0, #4
|
||||
strb r0, [r5, #0xe]
|
||||
ldr r2, _080A0E04 @ =gUnk_08124B30
|
||||
ldrb r0, [r5, #0xf]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r5, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
adds r0, #2
|
||||
strb r0, [r5, #0x1e]
|
||||
ldrb r0, [r5, #0xf]
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xff
|
||||
bne _080A0E02
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r0, r1
|
||||
adds r0, #0x40
|
||||
strb r0, [r5, #0xe]
|
||||
strb r4, [r5, #0xf]
|
||||
_080A0E02:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080A0E04: .4byte gUnk_08124B30
|
||||
|
||||
thumb_func_start sub_080A0E08
|
||||
sub_080A0E08: @ 0x080A0E08
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _080A0E26
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
movs r0, #0xf
|
||||
strb r0, [r2, #0x1e]
|
||||
_080A0E26:
|
||||
pop {pc}
|
||||
@@ -1,638 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ObjectB9
|
||||
ObjectB9: @ 0x080A1204
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bne _080A1260
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
bl sub_080A1514
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080A126C @ =gUnk_08124C20
|
||||
adds r0, r0, r1
|
||||
ldrh r2, [r0]
|
||||
lsls r1, r2, #4
|
||||
subs r1, r1, r2
|
||||
lsls r1, r1, #2
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x68
|
||||
strh r1, [r2]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6a
|
||||
strh r5, [r1]
|
||||
ldrh r1, [r0, #2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6c
|
||||
strh r1, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6e
|
||||
movs r0, #1
|
||||
strh r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x70
|
||||
movs r2, #0
|
||||
movs r1, #9
|
||||
_080A124A:
|
||||
strb r2, [r0]
|
||||
adds r0, #1
|
||||
subs r1, #1
|
||||
cmp r1, #0
|
||||
bge _080A124A
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
adds r0, r4, #0
|
||||
bl sub_0806EC20
|
||||
_080A1260:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A126C: .4byte gUnk_08124C20
|
||||
|
||||
thumb_func_start sub_080A1270
|
||||
sub_080A1270: @ 0x080A1270
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #8
|
||||
mov sb, r0
|
||||
movs r6, #0
|
||||
ldr r0, [r0, #0x64]
|
||||
str r0, [sp, #4]
|
||||
mov r4, sb
|
||||
adds r4, #0x70
|
||||
ldr r0, _080A12F8 @ =gRoomControls
|
||||
movs r2, #0xd8
|
||||
lsls r2, r2, #2
|
||||
adds r1, r2, #0
|
||||
ldrh r3, [r0, #6]
|
||||
adds r1, r1, r3
|
||||
movs r7, #0xd4
|
||||
lsls r7, r7, #2
|
||||
adds r2, r7, #0
|
||||
ldrh r0, [r0, #8]
|
||||
adds r2, r2, r0
|
||||
lsls r1, r1, #0x10
|
||||
asrs r1, r1, #0x10
|
||||
mov r8, r1
|
||||
lsls r2, r2, #0x10
|
||||
asrs r3, r2, #0x10
|
||||
movs r0, #9
|
||||
mov sl, r0
|
||||
movs r1, #1
|
||||
rsbs r1, r1, #0
|
||||
adds r5, r1, #0
|
||||
_080A12B2:
|
||||
ldr r7, [sp, #4]
|
||||
ldr r2, [r7]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
bne _080A1300
|
||||
ldr r0, [r2, #4]
|
||||
cmp r0, #0
|
||||
beq _080A132C
|
||||
cmp r2, #0
|
||||
beq _080A132C
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r2, r1]
|
||||
cmp r8, r0
|
||||
bgt _080A132E
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r2, r7]
|
||||
cmp r3, r0
|
||||
bgt _080A132E
|
||||
ldrb r0, [r2, #0xa]
|
||||
adds r0, #1
|
||||
strb r0, [r4]
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0xb]
|
||||
adds r6, #1
|
||||
ldr r1, _080A12FC @ =gUnk_08124EC8
|
||||
ldrb r0, [r2, #0xa]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
str r3, [sp]
|
||||
bl SoundReq
|
||||
ldr r3, [sp]
|
||||
b _080A132E
|
||||
.align 2, 0
|
||||
_080A12F8: .4byte gRoomControls
|
||||
_080A12FC: .4byte gUnk_08124EC8
|
||||
_080A1300:
|
||||
cmp r0, #0
|
||||
ble _080A132E
|
||||
adds r6, #1
|
||||
ldr r0, [r2, #4]
|
||||
cmp r0, #0
|
||||
beq _080A132C
|
||||
cmp r2, #0
|
||||
beq _080A132C
|
||||
mov r1, r8
|
||||
adds r1, #4
|
||||
movs r7, #0x2e
|
||||
ldrsh r0, [r2, r7]
|
||||
cmp r1, r0
|
||||
ble _080A131E
|
||||
strh r1, [r2, #0x2e]
|
||||
_080A131E:
|
||||
adds r1, r3, #4
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r2, r7]
|
||||
cmp r1, r0
|
||||
ble _080A132E
|
||||
strh r1, [r2, #0x32]
|
||||
b _080A132E
|
||||
_080A132C:
|
||||
strb r5, [r4]
|
||||
_080A132E:
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
add sl, r0
|
||||
adds r4, #1
|
||||
ldr r1, [sp, #4]
|
||||
adds r1, #4
|
||||
str r1, [sp, #4]
|
||||
mov r2, sl
|
||||
cmp r2, #0
|
||||
bge _080A12B2
|
||||
mov r0, sb
|
||||
adds r0, #0x6a
|
||||
strh r6, [r0]
|
||||
ldr r0, _080A136C @ =gPlayerState
|
||||
adds r0, #0x27
|
||||
movs r1, #0xff
|
||||
strb r1, [r0]
|
||||
mov r1, sb
|
||||
adds r1, #0x68
|
||||
ldrh r0, [r1]
|
||||
subs r0, #1
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bgt _080A1370
|
||||
movs r0, #0xe2
|
||||
bl SoundReq
|
||||
bl sub_08050384
|
||||
b _080A1376
|
||||
.align 2, 0
|
||||
_080A136C: .4byte gPlayerState
|
||||
_080A1370:
|
||||
ldr r1, _080A1384 @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_080A1376:
|
||||
add sp, #8
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080A1384: .4byte gActiveScriptInfo
|
||||
|
||||
thumb_func_start sub_080A1388
|
||||
sub_080A1388: @ 0x080A1388
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r5, #0x70
|
||||
ldr r4, [r0, #0x64]
|
||||
movs r6, #9
|
||||
_080A1392:
|
||||
ldr r1, [r4]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r5, r0]
|
||||
cmp r0, #0
|
||||
blt _080A13A6
|
||||
cmp r1, #0
|
||||
beq _080A13A6
|
||||
adds r0, r1, #0
|
||||
bl DeleteEntityAny
|
||||
_080A13A6:
|
||||
subs r6, #1
|
||||
adds r5, #1
|
||||
adds r4, #4
|
||||
cmp r6, #0
|
||||
bge _080A1392
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080A13B4
|
||||
sub_080A13B4: @ 0x080A13B4
|
||||
push {r4, lr}
|
||||
adds r4, r1, #0
|
||||
adds r1, r0, #0
|
||||
adds r1, #0x6a
|
||||
adds r0, #0x6c
|
||||
movs r2, #0
|
||||
ldrsh r1, [r1, r2]
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
cmp r1, r0
|
||||
blt _080A13D8
|
||||
ldr r0, _080A13D4 @ =0x0000300C
|
||||
bl MessageFromTarget
|
||||
movs r0, #1
|
||||
b _080A13E0
|
||||
.align 2, 0
|
||||
_080A13D4: .4byte 0x0000300C
|
||||
_080A13D8:
|
||||
ldr r0, _080A13E4 @ =0x00003005
|
||||
bl MessageFromTarget
|
||||
movs r0, #0
|
||||
_080A13E0:
|
||||
str r0, [r4, #0x14]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A13E4: .4byte 0x00003005
|
||||
|
||||
thumb_func_start sub_080A13E8
|
||||
sub_080A13E8: @ 0x080A13E8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_080A1514
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080A1408 @ =gUnk_08124EA0
|
||||
adds r4, r0, r1
|
||||
movs r6, #0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0x5c
|
||||
beq _080A141C
|
||||
cmp r0, #0x5c
|
||||
bgt _080A140C
|
||||
cmp r0, #0x3f
|
||||
beq _080A1412
|
||||
b _080A1444
|
||||
.align 2, 0
|
||||
_080A1408: .4byte gUnk_08124EA0
|
||||
_080A140C:
|
||||
cmp r0, #0x63
|
||||
beq _080A1430
|
||||
b _080A1444
|
||||
_080A1412:
|
||||
ldr r0, _080A1418 @ =gSave
|
||||
adds r0, #0xbb
|
||||
b _080A1424
|
||||
.align 2, 0
|
||||
_080A1418: .4byte gSave
|
||||
_080A141C:
|
||||
ldr r0, _080A142C @ =gSave
|
||||
movs r1, #0x8b
|
||||
lsls r1, r1, #1
|
||||
adds r0, r0, r1
|
||||
_080A1424:
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080A1444
|
||||
b _080A1454
|
||||
.align 2, 0
|
||||
_080A142C: .4byte gSave
|
||||
_080A1430:
|
||||
movs r0, #0x4f
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080A1442
|
||||
movs r0, #0x4f
|
||||
bl SetGlobalFlag
|
||||
b _080A1444
|
||||
_080A1442:
|
||||
movs r6, #1
|
||||
_080A1444:
|
||||
cmp r6, #0
|
||||
bne _080A1454
|
||||
ldrb r0, [r4]
|
||||
ldrb r1, [r4, #1]
|
||||
movs r2, #0
|
||||
bl sub_080A7C18
|
||||
b _080A145C
|
||||
_080A1454:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x6e
|
||||
movs r0, #2
|
||||
strh r0, [r1]
|
||||
_080A145C:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080A1460
|
||||
sub_080A1460: @ 0x080A1460
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_080A1514
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
movs r4, #0
|
||||
ldr r3, _080A149C @ =gUnk_08124ECC
|
||||
movs r2, #9
|
||||
_080A1472:
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
adds r0, r0, r3
|
||||
ldrb r0, [r0]
|
||||
adds r4, r4, r0
|
||||
adds r1, #1
|
||||
subs r2, #1
|
||||
cmp r2, #0
|
||||
bge _080A1472
|
||||
adds r0, r4, #0
|
||||
bl ModRupees
|
||||
ldr r0, _080A14A0 @ =0x00003007
|
||||
adds r1, r5, #0
|
||||
bl MessageNoOverlap
|
||||
ldr r1, _080A14A4 @ =gMessage
|
||||
lsls r0, r4, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
str r0, [r1, #0x10]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A149C: .4byte gUnk_08124ECC
|
||||
_080A14A0: .4byte 0x00003007
|
||||
_080A14A4: .4byte gMessage
|
||||
|
||||
thumb_func_start sub_080A14A8
|
||||
sub_080A14A8: @ 0x080A14A8
|
||||
push {r4, lr}
|
||||
bl sub_080A1514
|
||||
adds r4, r0, #0
|
||||
adds r4, #1
|
||||
cmp r4, #9
|
||||
ble _080A14B8
|
||||
movs r4, #9
|
||||
_080A14B8:
|
||||
movs r0, #1
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _080A14C8
|
||||
movs r0, #0x4b
|
||||
bl SetGlobalFlag
|
||||
b _080A14CE
|
||||
_080A14C8:
|
||||
movs r0, #0x4b
|
||||
bl ClearGlobalFlag
|
||||
_080A14CE:
|
||||
movs r0, #2
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _080A14DE
|
||||
movs r0, #0x4c
|
||||
bl SetGlobalFlag
|
||||
b _080A14E4
|
||||
_080A14DE:
|
||||
movs r0, #0x4c
|
||||
bl ClearGlobalFlag
|
||||
_080A14E4:
|
||||
movs r0, #4
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _080A14F4
|
||||
movs r0, #0x4d
|
||||
bl SetGlobalFlag
|
||||
b _080A14FA
|
||||
_080A14F4:
|
||||
movs r0, #0x4d
|
||||
bl ClearGlobalFlag
|
||||
_080A14FA:
|
||||
movs r0, #8
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _080A150A
|
||||
movs r0, #0x4e
|
||||
bl SetGlobalFlag
|
||||
b _080A1510
|
||||
_080A150A:
|
||||
movs r0, #0x4e
|
||||
bl ClearGlobalFlag
|
||||
_080A1510:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080A1514
|
||||
sub_080A1514: @ 0x080A1514
|
||||
push {r4, lr}
|
||||
movs r0, #0x4b
|
||||
bl CheckGlobalFlag
|
||||
rsbs r1, r0, #0
|
||||
orrs r1, r0
|
||||
lsrs r4, r1, #0x1f
|
||||
movs r0, #0x4c
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _080A1530
|
||||
movs r0, #2
|
||||
orrs r4, r0
|
||||
_080A1530:
|
||||
movs r0, #0x4d
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _080A153E
|
||||
movs r0, #4
|
||||
orrs r4, r0
|
||||
_080A153E:
|
||||
movs r0, #0x4e
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _080A154C
|
||||
movs r0, #8
|
||||
orrs r4, r0
|
||||
_080A154C:
|
||||
adds r0, r4, #0
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080A1550
|
||||
sub_080A1550: @ 0x080A1550
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
mov r8, r1
|
||||
movs r0, #0
|
||||
str r0, [r1, #0x14]
|
||||
movs r0, #0xb9
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080A15FE
|
||||
movs r0, #0x28
|
||||
bl zMalloc
|
||||
str r0, [r4, #0x64]
|
||||
cmp r0, #0
|
||||
bne _080A1582
|
||||
adds r0, r4, #0
|
||||
bl DeleteEntityAny
|
||||
b _080A15FE
|
||||
_080A1582:
|
||||
mov r0, r8
|
||||
ldr r1, [r0, #4]
|
||||
adds r0, r4, #0
|
||||
bl StartCutscene
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x84
|
||||
str r0, [r1]
|
||||
bl sub_080A1514
|
||||
lsls r1, r0, #4
|
||||
subs r1, r1, r0
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _080A15B4 @ =gUnk_08124C48
|
||||
adds r5, r1, r0
|
||||
ldr r4, [r4, #0x64]
|
||||
mov sb, r4
|
||||
ldr r7, _080A15B8 @ =gRoomControls
|
||||
movs r6, #9
|
||||
_080A15A8:
|
||||
movs r1, #0
|
||||
ldrsh r0, [r5, r1]
|
||||
cmp r0, #0
|
||||
bgt _080A15BC
|
||||
movs r4, #0
|
||||
b _080A15E6
|
||||
.align 2, 0
|
||||
_080A15B4: .4byte gUnk_08124C48
|
||||
_080A15B8: .4byte gRoomControls
|
||||
_080A15BC:
|
||||
movs r0, #0
|
||||
ldrsh r1, [r5, r0]
|
||||
subs r1, #1
|
||||
movs r0, #0x41
|
||||
bl CreateEnemy
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080A15E6
|
||||
ldrh r0, [r5, #2]
|
||||
ldrh r1, [r7, #6]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
ldrh r0, [r5, #4]
|
||||
ldrh r1, [r7, #8]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
_080A15E6:
|
||||
mov r0, sb
|
||||
adds r0, #4
|
||||
mov sb, r0
|
||||
subs r0, #4
|
||||
stm r0!, {r4}
|
||||
subs r6, #1
|
||||
adds r5, #6
|
||||
cmp r6, #0
|
||||
bge _080A15A8
|
||||
movs r0, #1
|
||||
mov r1, r8
|
||||
str r0, [r1, #0x14]
|
||||
_080A15FE:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080A1608
|
||||
sub_080A1608: @ 0x080A1608
|
||||
push {r4, lr}
|
||||
ldr r4, _080A163C @ =0x00003002
|
||||
movs r0, #1
|
||||
bl CheckRoomFlag
|
||||
cmp r0, #0
|
||||
beq _080A1618
|
||||
adds r4, #4
|
||||
_080A1618:
|
||||
adds r0, r4, #0
|
||||
bl MessageFromTarget
|
||||
ldr r4, _080A1640 @ =gMessage
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #6]
|
||||
strb r1, [r4, #7]
|
||||
bl sub_080A1514
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080A1644 @ =gUnk_08124C20
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
str r1, [r4, #0x10]
|
||||
ldrh r0, [r0, #2]
|
||||
str r0, [r4, #0x14]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A163C: .4byte 0x00003002
|
||||
_080A1640: .4byte gMessage
|
||||
_080A1644: .4byte gUnk_08124C20
|
||||
|
||||
thumb_func_start sub_080A1648
|
||||
sub_080A1648: @ 0x080A1648
|
||||
push {r4, lr}
|
||||
ldr r4, _080A1684 @ =0x0000407F
|
||||
ldr r1, _080A1688 @ =0x00000D36
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
ldr r1, _080A168C @ =0x00000D37
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
ldr r1, _080A1690 @ =0x00000D38
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
subs r4, #1
|
||||
ldr r1, _080A1694 @ =0x00000D75
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
ldr r1, _080A1698 @ =0x00000E75
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTileType
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A1684: .4byte 0x0000407F
|
||||
_080A1688: .4byte 0x00000D36
|
||||
_080A168C: .4byte 0x00000D37
|
||||
_080A1690: .4byte 0x00000D38
|
||||
_080A1694: .4byte 0x00000D75
|
||||
_080A1698: .4byte 0x00000E75
|
||||
|
||||
thumb_func_start sub_080A169C
|
||||
sub_080A169C: @ 0x080A169C
|
||||
push {lr}
|
||||
ldr r0, _080A16C8 @ =0x00000D36
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
ldr r0, _080A16CC @ =0x00000D37
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
ldr r0, _080A16D0 @ =0x00000D38
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
ldr r0, _080A16D4 @ =0x00000D75
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
ldr r0, _080A16D8 @ =0x00000E75
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A16C8: .4byte 0x00000D36
|
||||
_080A16CC: .4byte 0x00000D37
|
||||
_080A16D0: .4byte 0x00000D38
|
||||
_080A16D4: .4byte 0x00000D75
|
||||
_080A16D8: .4byte 0x00000E75
|
||||
@@ -1,677 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ObjectBlockingStairs
|
||||
ObjectBlockingStairs: @ 0x08092ED4
|
||||
push {lr}
|
||||
ldr r2, _08092EE8 @ =gUnk_0812283C
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08092EE8: .4byte gUnk_0812283C
|
||||
|
||||
thumb_func_start sub_08092EEC
|
||||
sub_08092EEC: @ 0x08092EEC
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl sub_080932D8
|
||||
cmp r0, #1
|
||||
beq _08092F2C
|
||||
cmp r0, #2
|
||||
beq _08092F3A
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r1, #0
|
||||
movs r2, #0x80
|
||||
strh r2, [r4, #0x24]
|
||||
strb r0, [r4, #0x16]
|
||||
strb r1, [r4, #0xe]
|
||||
strb r1, [r4, #0xf]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x7a
|
||||
movs r0, #0x20
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7b
|
||||
strb r2, [r0]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _08092F48
|
||||
ldr r0, _08092F28 @ =gUnk_080FD288
|
||||
str r0, [r4, #0x48]
|
||||
b _08092F48
|
||||
.align 2, 0
|
||||
_08092F28: .4byte gUnk_080FD288
|
||||
_08092F2C:
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r0, [r4, #0x2e]
|
||||
subs r0, #0x20
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r5, #2
|
||||
b _08092F5E
|
||||
_08092F3A:
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
ldrh r0, [r4, #0x2e]
|
||||
adds r0, #0x20
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r5, #3
|
||||
b _08092F5E
|
||||
_08092F48:
|
||||
movs r5, #0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x86
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _08092F5E
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
bne _08092F5E
|
||||
movs r5, #1
|
||||
_08092F5E:
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_080931A4
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_08092F68
|
||||
sub_08092F68: @ 0x08092F68
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, #0
|
||||
ldr r0, _08092FA4 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r6, r2]
|
||||
subs r1, r1, r0
|
||||
mov r8, r1
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x86
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _08092FA8
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
bne _08092F92
|
||||
b _080930E6
|
||||
_08092F92:
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x7a
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08092FA8
|
||||
adds r0, r6, #0
|
||||
bl sub_080932A8
|
||||
b _080930E6
|
||||
.align 2, 0
|
||||
_08092FA4: .4byte gPlayerEntity
|
||||
_08092FA8:
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x7b
|
||||
ldrb r2, [r1]
|
||||
movs r0, #0x3f
|
||||
ands r0, r2
|
||||
adds r7, r1, #0
|
||||
cmp r0, #0
|
||||
bne _08092FD6
|
||||
movs r0, #0xf
|
||||
movs r4, #0
|
||||
orrs r0, r2
|
||||
strb r0, [r7]
|
||||
adds r0, r6, #0
|
||||
movs r1, #0
|
||||
bl sub_080931A4
|
||||
mov r0, r8
|
||||
cmp r0, #0
|
||||
bge _08092FD6
|
||||
ldrb r0, [r7]
|
||||
movs r1, #0x40
|
||||
orrs r0, r1
|
||||
strb r0, [r7]
|
||||
_08092FD6:
|
||||
ldrb r1, [r7]
|
||||
movs r0, #0x40
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08092FEA
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x78
|
||||
ldrh r0, [r5]
|
||||
subs r0, #1
|
||||
b _08092FF2
|
||||
_08092FEA:
|
||||
adds r5, r6, #0
|
||||
adds r5, #0x78
|
||||
ldrh r0, [r5]
|
||||
adds r0, #1
|
||||
_08092FF2:
|
||||
adds r4, r6, #0
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
bl GetTileType
|
||||
adds r1, r0, #0
|
||||
ldr r0, _08093034 @ =0x00004031
|
||||
cmp r1, r0
|
||||
bhi _08093040
|
||||
subs r0, #1
|
||||
cmp r1, r0
|
||||
blo _08093040
|
||||
movs r0, #3
|
||||
strb r0, [r6, #0xc]
|
||||
ldr r0, _08093038 @ =gPlayerEntity
|
||||
ldrb r0, [r0, #0x14]
|
||||
lsls r0, r0, #2
|
||||
strb r0, [r6, #0x15]
|
||||
movs r0, #0x80
|
||||
strh r0, [r6, #0x24]
|
||||
movs r0, #0x40
|
||||
strb r0, [r6, #0xe]
|
||||
adds r0, r6, #0
|
||||
movs r1, #0x50
|
||||
bl RequestPriorityDuration
|
||||
ldr r0, _0809303C @ =0x0000010F
|
||||
bl EnqueueSFX
|
||||
adds r0, r6, #0
|
||||
bl sub_08093248
|
||||
b _080930E6
|
||||
.align 2, 0
|
||||
_08093034: .4byte 0x00004031
|
||||
_08093038: .4byte gPlayerEntity
|
||||
_0809303C: .4byte 0x0000010F
|
||||
_08093040:
|
||||
ldr r0, _0809307C @ =gPlayerEntity
|
||||
ldrb r1, [r0, #0x14]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080930E6
|
||||
adds r0, r6, #0
|
||||
bl sub_08078930
|
||||
adds r3, r7, #0
|
||||
ldrb r2, [r3]
|
||||
movs r0, #0x80
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _08093088
|
||||
movs r1, #0x7f
|
||||
ands r1, r2
|
||||
strb r1, [r3]
|
||||
movs r0, #0x40
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0809309C
|
||||
ldr r0, _08093080 @ =0x0000402C
|
||||
ldrh r1, [r5]
|
||||
subs r1, #1
|
||||
ldrb r2, [r4]
|
||||
bl SetTile
|
||||
ldr r0, _08093084 @ =0x0000403D
|
||||
b _080930AA
|
||||
.align 2, 0
|
||||
_0809307C: .4byte gPlayerEntity
|
||||
_08093080: .4byte 0x0000402C
|
||||
_08093084: .4byte 0x0000403D
|
||||
_08093088:
|
||||
movs r0, #0x40
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _080930C0
|
||||
mov r1, r8
|
||||
cmp r1, #4
|
||||
ble _080930E6
|
||||
movs r0, #0x3f
|
||||
ands r0, r2
|
||||
strb r0, [r3]
|
||||
_0809309C:
|
||||
ldr r0, _080930B8 @ =0x0000403D
|
||||
ldrh r1, [r5]
|
||||
subs r1, #1
|
||||
ldrb r2, [r4]
|
||||
bl SetTile
|
||||
ldr r0, _080930BC @ =0x0000402D
|
||||
_080930AA:
|
||||
ldrh r1, [r5]
|
||||
adds r1, #1
|
||||
ldrb r2, [r4]
|
||||
bl SetTile
|
||||
b _080930E6
|
||||
.align 2, 0
|
||||
_080930B8: .4byte 0x0000403D
|
||||
_080930BC: .4byte 0x0000402D
|
||||
_080930C0:
|
||||
mov r1, r8
|
||||
rsbs r0, r1, #0
|
||||
cmp r0, #4
|
||||
ble _080930E6
|
||||
movs r0, #0x40
|
||||
orrs r0, r2
|
||||
strb r0, [r7]
|
||||
ldr r0, _080930EC @ =0x0000402C
|
||||
ldrh r1, [r5]
|
||||
subs r1, #1
|
||||
ldrb r2, [r4]
|
||||
bl SetTile
|
||||
ldr r0, _080930F0 @ =0x0000403D
|
||||
ldrh r1, [r5]
|
||||
adds r1, #1
|
||||
ldrb r2, [r4]
|
||||
bl SetTile
|
||||
_080930E6:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080930EC: .4byte 0x0000402C
|
||||
_080930F0: .4byte 0x0000403D
|
||||
|
||||
thumb_func_start sub_080930F4
|
||||
sub_080930F4: @ 0x080930F4
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r3, [r4, #0xe]
|
||||
cmp r3, #0
|
||||
beq _08093104
|
||||
bl sub_08093280
|
||||
b _08093174
|
||||
_08093104:
|
||||
ldr r5, _0809315C @ =gPlayerState
|
||||
ldrb r0, [r5, #5]
|
||||
cmp r0, #0x12
|
||||
bne _08093168
|
||||
ldr r6, _08093160 @ =gPlayerEntity
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08093174
|
||||
ldrb r0, [r4, #0xf]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #8
|
||||
bls _08093174
|
||||
movs r0, #0x10
|
||||
strb r0, [r5, #0xc]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x38
|
||||
movs r2, #0x40
|
||||
strb r2, [r0]
|
||||
ldr r0, [r5, #0x30]
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
str r0, [r5, #0x30]
|
||||
strh r3, [r6, #0x2c]
|
||||
strh r3, [r6, #0x30]
|
||||
ldrb r0, [r6, #0x14]
|
||||
movs r1, #4
|
||||
eors r0, r1
|
||||
lsls r0, r0, #2
|
||||
strb r0, [r4, #0x15]
|
||||
strb r2, [r4, #0xe]
|
||||
ldr r0, _08093164 @ =0x0000010F
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
bl sub_08093248
|
||||
b _08093174
|
||||
.align 2, 0
|
||||
_0809315C: .4byte gPlayerState
|
||||
_08093160: .4byte gPlayerEntity
|
||||
_08093164: .4byte 0x0000010F
|
||||
_08093168:
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #6
|
||||
bne _08093174
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r3, [r4, #0xf]
|
||||
_08093174:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08093178
|
||||
sub_08093178: @ 0x08093178
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0800445C
|
||||
adds r0, r4, #0
|
||||
bl LinearMoveUpdate
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08093198
|
||||
adds r0, r4, #0
|
||||
bl sub_08093334
|
||||
_08093198:
|
||||
adds r0, r4, #0
|
||||
bl sub_08093364
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start nullsub_120
|
||||
nullsub_120: @ 0x080931A0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080931A4
|
||||
sub_080931A4: @ 0x080931A4
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r5, r1, #0
|
||||
movs r1, #0x2e
|
||||
ldrsh r2, [r0, r1]
|
||||
ldr r3, _080931F0 @ =gRoomControls
|
||||
ldrh r1, [r3, #6]
|
||||
subs r2, r2, r1
|
||||
asrs r2, r2, #4
|
||||
movs r4, #0x3f
|
||||
ands r2, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r0, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r1, r1, r3
|
||||
asrs r1, r1, #4
|
||||
ands r1, r4
|
||||
lsls r1, r1, #6
|
||||
orrs r2, r1
|
||||
adds r1, r0, #0
|
||||
adds r1, #0x78
|
||||
strh r2, [r1]
|
||||
ldrh r1, [r1]
|
||||
subs r1, #0x40
|
||||
mov r8, r1
|
||||
adds r0, #0x38
|
||||
ldrb r7, [r0]
|
||||
cmp r5, #1
|
||||
beq _080931F4
|
||||
cmp r5, #1
|
||||
blo _0809320C
|
||||
cmp r5, #2
|
||||
beq _080931FC
|
||||
cmp r5, #3
|
||||
beq _08093204
|
||||
b _0809320C
|
||||
.align 2, 0
|
||||
_080931F0: .4byte gRoomControls
|
||||
_080931F4:
|
||||
ldr r0, _080931F8 @ =gUnk_08122862
|
||||
b _0809320E
|
||||
.align 2, 0
|
||||
_080931F8: .4byte gUnk_08122862
|
||||
_080931FC:
|
||||
ldr r0, _08093200 @ =gUnk_08122874
|
||||
b _0809320E
|
||||
.align 2, 0
|
||||
_08093200: .4byte gUnk_08122874
|
||||
_08093204:
|
||||
ldr r0, _08093208 @ =gUnk_08122886
|
||||
b _0809320E
|
||||
.align 2, 0
|
||||
_08093208: .4byte gUnk_08122886
|
||||
_0809320C:
|
||||
ldr r0, _08093230 @ =gUnk_08122850
|
||||
_0809320E:
|
||||
movs r4, #0
|
||||
movs r6, #0
|
||||
adds r5, r0, #0
|
||||
_08093214:
|
||||
mov r0, r8
|
||||
adds r1, r0, r6
|
||||
adds r1, r1, r4
|
||||
subs r1, #1
|
||||
ldrh r0, [r5]
|
||||
adds r2, r7, #0
|
||||
bl SetTile
|
||||
cmp r4, #2
|
||||
beq _08093234
|
||||
cmp r4, #5
|
||||
beq _08093238
|
||||
b _0809323A
|
||||
.align 2, 0
|
||||
_08093230: .4byte gUnk_08122850
|
||||
_08093234:
|
||||
movs r6, #0x3d
|
||||
b _0809323A
|
||||
_08093238:
|
||||
movs r6, #0x7a
|
||||
_0809323A:
|
||||
adds r5, #2
|
||||
adds r4, #1
|
||||
cmp r4, #8
|
||||
bls _08093214
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_08093248
|
||||
sub_08093248: @ 0x08093248
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r1, r0, #0
|
||||
adds r1, #0x78
|
||||
ldrh r1, [r1]
|
||||
adds r7, r1, #0
|
||||
subs r7, #0x40
|
||||
adds r0, #0x38
|
||||
ldrb r6, [r0]
|
||||
movs r4, #0
|
||||
movs r5, #0
|
||||
_0809325C:
|
||||
adds r0, r7, r5
|
||||
adds r0, r0, r4
|
||||
subs r0, #1
|
||||
adds r1, r6, #0
|
||||
bl sub_0807BA8C
|
||||
cmp r4, #2
|
||||
beq _08093272
|
||||
cmp r4, #5
|
||||
beq _08093276
|
||||
b _08093278
|
||||
_08093272:
|
||||
movs r5, #0x3d
|
||||
b _08093278
|
||||
_08093276:
|
||||
movs r5, #0x7a
|
||||
_08093278:
|
||||
adds r4, #1
|
||||
cmp r4, #8
|
||||
bls _0809325C
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_08093280
|
||||
sub_08093280: @ 0x08093280
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0800445C
|
||||
adds r0, r4, #0
|
||||
bl LinearMoveUpdate
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080932A0
|
||||
adds r0, r4, #0
|
||||
bl sub_08093334
|
||||
_080932A0:
|
||||
adds r0, r4, #0
|
||||
bl sub_08093364
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080932A8
|
||||
sub_080932A8: @ 0x080932A8
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x7a
|
||||
ldrb r0, [r2]
|
||||
subs r0, #1
|
||||
strb r0, [r2]
|
||||
movs r2, #3
|
||||
ands r2, r0
|
||||
cmp r2, #1
|
||||
beq _080932C8
|
||||
cmp r2, #3
|
||||
beq _080932D0
|
||||
adds r1, #0x62
|
||||
movs r0, #0
|
||||
b _080932D4
|
||||
_080932C8:
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x62
|
||||
strb r2, [r0]
|
||||
b _080932D6
|
||||
_080932D0:
|
||||
adds r1, #0x62
|
||||
movs r0, #0xff
|
||||
_080932D4:
|
||||
strb r0, [r1]
|
||||
_080932D6:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080932D8
|
||||
sub_080932D8: @ 0x080932D8
|
||||
push {r4, lr}
|
||||
lsls r0, r0, #3
|
||||
ldr r1, _080932F0 @ =gUnk_08122898
|
||||
adds r4, r0, r1
|
||||
ldr r0, [r4]
|
||||
ldrh r1, [r4, #4]
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
beq _080932F4
|
||||
movs r0, #1
|
||||
b _08093306
|
||||
.align 2, 0
|
||||
_080932F0: .4byte gUnk_08122898
|
||||
_080932F4:
|
||||
ldr r0, [r4]
|
||||
ldrh r1, [r4, #6]
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
bne _08093304
|
||||
movs r0, #0
|
||||
b _08093306
|
||||
_08093304:
|
||||
movs r0, #2
|
||||
_08093306:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08093308
|
||||
sub_08093308: @ 0x08093308
|
||||
push {lr}
|
||||
adds r2, r1, #0
|
||||
lsls r0, r0, #3
|
||||
ldr r1, _08093320 @ =gUnk_08122898
|
||||
adds r1, r0, r1
|
||||
cmp r2, #1
|
||||
bne _08093324
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r1, #4]
|
||||
bl SetLocalFlagByBank
|
||||
b _08093330
|
||||
.align 2, 0
|
||||
_08093320: .4byte gUnk_08122898
|
||||
_08093324:
|
||||
cmp r2, #2
|
||||
bne _08093330
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r1, #6]
|
||||
bl SetLocalFlagByBank
|
||||
_08093330:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08093334
|
||||
sub_08093334: @ 0x08093334
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x15]
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
movs r5, #2
|
||||
cmp r0, #0
|
||||
beq _0809334A
|
||||
movs r5, #1
|
||||
_0809334A:
|
||||
adds r1, r5, #1
|
||||
adds r0, r4, #0
|
||||
bl sub_080931A4
|
||||
ldrb r0, [r4, #0xa]
|
||||
adds r1, r5, #0
|
||||
bl sub_08093308
|
||||
movs r0, #0x72
|
||||
bl EnqueueSFX
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08093364
|
||||
sub_08093364: @ 0x08093364
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r1, [r5, #0xe]
|
||||
movs r0, #3
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080933BC
|
||||
movs r0, #0xf
|
||||
movs r1, #0x11
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080933BC
|
||||
str r5, [r4, #0x50]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl CopyPosition
|
||||
ldrb r1, [r5, #0x15]
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0809339C
|
||||
ldrh r0, [r4, #0x2e]
|
||||
adds r0, #0x12
|
||||
b _080933A0
|
||||
_0809339C:
|
||||
ldrh r0, [r4, #0x2e]
|
||||
subs r0, #0x12
|
||||
_080933A0:
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #0x32
|
||||
ldrsh r2, [r4, r0]
|
||||
ldrb r1, [r5, #0xe]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080933B6
|
||||
adds r0, r2, #0
|
||||
adds r0, #8
|
||||
b _080933BA
|
||||
_080933B6:
|
||||
adds r0, r2, #0
|
||||
subs r0, #8
|
||||
_080933BA:
|
||||
strh r0, [r4, #0x32]
|
||||
_080933BC:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
@@ -1,91 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start PicoBloom
|
||||
PicoBloom: @ 0x08098A78
|
||||
push {lr}
|
||||
ldr r2, _08098A8C @ =gUnk_08123568
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08098A8C: .4byte gUnk_08123568
|
||||
|
||||
thumb_func_start sub_08098A90
|
||||
sub_08098A90: @ 0x08098A90
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #1
|
||||
beq _08098A9C
|
||||
movs r0, #2
|
||||
_08098A9C:
|
||||
strb r0, [r4, #0xc]
|
||||
bl Random
|
||||
movs r1, #0x7f
|
||||
ands r0, r1
|
||||
adds r0, #0x7f
|
||||
strb r0, [r4, #0xe]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
ldr r1, _08098ACC @ =gUnk_08123574
|
||||
ldrb r0, [r4, #0xa]
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
ldrb r0, [r4, #0xb]
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08098ACC: .4byte gUnk_08123574
|
||||
|
||||
thumb_func_start sub_08098AD0
|
||||
sub_08098AD0: @ 0x08098AD0
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08098AE6
|
||||
ldrb r0, [r1, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #0xc]
|
||||
_08098AE6:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08098AE8
|
||||
sub_08098AE8: @ 0x08098AE8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
adds r4, #0x5a
|
||||
ldrb r1, [r4]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08098B08
|
||||
movs r0, #0xfe
|
||||
ands r0, r1
|
||||
strb r0, [r4]
|
||||
ldr r0, _08098B0C @ =0x0000021B
|
||||
bl EnqueueSFX
|
||||
_08098B08:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08098B0C: .4byte 0x0000021B
|
||||
@@ -5,22 +5,22 @@
|
||||
|
||||
.text
|
||||
|
||||
@ r0 = Entity*
|
||||
@ r1 = Gravity strength
|
||||
@ returns z pos
|
||||
thumb_func_start GravityUpdate
|
||||
GravityUpdate: @ 0x08003FC4
|
||||
@ r0 = Entity*
|
||||
@ r1 = Gravity strength
|
||||
@ returns z pos
|
||||
|
||||
adds r3, r0, #0
|
||||
ldr r0, [r3, #0x34]
|
||||
ldr r2, [r3, #0x20]
|
||||
subs r0, r0, r2
|
||||
bpl _08003FD6
|
||||
bpl hitground
|
||||
subs r2, r2, r1
|
||||
str r0, [r3, #0x34]
|
||||
str r2, [r3, #0x20]
|
||||
bx lr
|
||||
_08003FD6:
|
||||
hitground:
|
||||
movs r0, #0
|
||||
str r0, [r3, #0x34]
|
||||
str r0, [r3, #0x20]
|
||||
@@ -29,7 +29,7 @@ _08003FD6:
|
||||
non_word_aligned_thumb_func_start sub_08003FDE
|
||||
sub_08003FDE: @ 0x08003FDE
|
||||
push {r0, lr}
|
||||
bl sub_08003FF2
|
||||
bl CheckEntityPickup
|
||||
cmp r0, #0
|
||||
pop {r2}
|
||||
beq _08003FF0
|
||||
@@ -38,8 +38,8 @@ sub_08003FDE: @ 0x08003FDE
|
||||
_08003FF0:
|
||||
pop {pc}
|
||||
|
||||
non_word_aligned_thumb_func_start sub_08003FF2
|
||||
sub_08003FF2: @ 0x08003FF2
|
||||
non_word_aligned_thumb_func_start CheckEntityPickup
|
||||
CheckEntityPickup: @ 0x08003FF2
|
||||
push {r4, r5, r6, r7, lr}
|
||||
ldr r4, [r1, #0x48]
|
||||
ldrb r5, [r4, #6]
|
||||
|
||||
@@ -170,7 +170,7 @@ _08004516:
|
||||
thumb_func_start sub_0800451C
|
||||
sub_0800451C: @ 0x0800451C
|
||||
push {r0, lr}
|
||||
bl sub_080B1AA8
|
||||
bl GetTileUnderEntity
|
||||
adds r1, r0, #0
|
||||
pop {r0, r3}
|
||||
mov lr, r3
|
||||
|
||||
+11
-23
@@ -13,37 +13,25 @@ header:
|
||||
start_vector:
|
||||
mov r0, #0x12
|
||||
msr cpsr_fc, r0
|
||||
ldr sp, sp_irq
|
||||
ldr sp, =irq_stack_begin
|
||||
mov r0, #0x1f
|
||||
msr cpsr_fc, r0
|
||||
ldr sp, sp_usr
|
||||
ldr r1, INTR_VECTOR_BUF
|
||||
ldr r0, intr_main
|
||||
ldr sp, =usr_stack_begin
|
||||
ldr r1, =0x03007FFC
|
||||
ldr r0, =ram_IntrMain
|
||||
str r0, [r1]
|
||||
.ifdef EU
|
||||
ldr r1, unk_function
|
||||
mov lr, pc
|
||||
bx r1
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
ldr r1, unk_function
|
||||
|
||||
.ifndef USA
|
||||
.ifndef DEMO_USA
|
||||
.ifndef JP
|
||||
ldr r1, =fill_rq_stack
|
||||
mov lr, pc
|
||||
bx r1
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
ldr r1, =AgbMain
|
||||
mov lr, pc
|
||||
bx r1
|
||||
_080000F0:
|
||||
b start_vector
|
||||
sp_irq: .4byte irq_stack_begin
|
||||
sp_usr: .4byte usr_stack_begin
|
||||
INTR_VECTOR_BUF: .4byte 0x03007FFC
|
||||
intr_main: .4byte ram_IntrMain
|
||||
.ifdef EU
|
||||
unk_function: .4byte fill_rq_stack
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
unk_function: .4byte fill_rq_stack
|
||||
.endif
|
||||
.endif
|
||||
|
||||
+1
-1
@@ -129,7 +129,7 @@ arm_sub_080B1A8C: @ 0x080B1A8C
|
||||
ldrb r2, [r0, #0x38]
|
||||
mov r0, r3
|
||||
b arm_sub_080B1AB4
|
||||
arm_sub_080B1AA8:
|
||||
arm_GetTileUnderEntity:
|
||||
ldrb r2, [r0, #0x38]
|
||||
ldrh r1, [r0, #0x32]
|
||||
ldrh r0, [r0, #0x2e]
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ _08016A64:
|
||||
sub_08016A6C: @ 0x08016A6C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080B1AA8
|
||||
bl GetTileUnderEntity
|
||||
add r1, pc, #0x38
|
||||
_08016A76:
|
||||
adds r1, #4
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
thumb_func_start fill_rq_stack
|
||||
fill_rq_stack: // fill iqr and user stack with 'MCZ3'
|
||||
adr r0, pool
|
||||
ldm r0!, {r1, r2, r3}
|
||||
loop1:
|
||||
subs r2, #4
|
||||
str r1, [r2]
|
||||
cmp r2, r3
|
||||
bgt loop1
|
||||
bx lr
|
||||
|
||||
// unused
|
||||
// returns the maximum values reached by irq stack (r0) and usr stack (r1)
|
||||
check_stack_threshold:
|
||||
adr r0, pool
|
||||
ldm r0!, {r1, r2, r3}
|
||||
loop2:
|
||||
ldr r0, [r3]
|
||||
adds r3, #4
|
||||
cmp r0, r1 // cmp against magic
|
||||
beq loop2
|
||||
|
||||
subs r2, #0xa0
|
||||
loop3:
|
||||
ldr r0, [r2]
|
||||
adds r2, #4
|
||||
cmp r0, r1 // cmp against magic
|
||||
beq loop3
|
||||
|
||||
subs r1, r2, #4
|
||||
subs r0, r3, #4
|
||||
bx lr
|
||||
|
||||
.align 2, 0
|
||||
pool:
|
||||
.byte '3, 'Z, 'C, 'M // r1
|
||||
.4byte irq_stack_begin // r2
|
||||
.4byte usr_stack_top // r3
|
||||
+4
-49
@@ -5,51 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
.ifndef USA
|
||||
.ifndef DEMO_USA
|
||||
.ifndef JP
|
||||
thumb_func_start fill_rq_stack
|
||||
fill_rq_stack: // fill iqr and user stack with 'MCZ3'
|
||||
adr r0, 1f
|
||||
ldm r0!, {r1, r2, r3}
|
||||
0:
|
||||
subs r2, #4
|
||||
str r1, [r2]
|
||||
cmp r2, r3
|
||||
bgt 0b
|
||||
bx lr
|
||||
|
||||
// unused
|
||||
// returns the maximum values reached by irq stack (r0) and usr stack (r1)
|
||||
check_stack_threshold:
|
||||
adr r0, 1f
|
||||
ldm r0!, {r1, r2, r3}
|
||||
0:
|
||||
ldr r0, [r3]
|
||||
adds r3, #4
|
||||
cmp r0, r1 // cmp against magic
|
||||
beq 0b
|
||||
|
||||
subs r2, #0xa0
|
||||
0:
|
||||
ldr r0, [r2]
|
||||
adds r2, #4
|
||||
cmp r0, r1 // cmp against magic
|
||||
beq 0b
|
||||
|
||||
subs r1, r2, #4
|
||||
subs r0, r3, #4
|
||||
bx lr
|
||||
|
||||
.align 2, 0
|
||||
1:
|
||||
.byte '3, 'Z, 'C, 'M // r1
|
||||
.4byte irq_stack_begin // r2
|
||||
.4byte usr_stack_top // r3
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
thumb_func_start UpdateScrollVram
|
||||
UpdateScrollVram: @ 0x08000108
|
||||
push {r4, lr}
|
||||
@@ -322,9 +277,9 @@ sub_080B1A8C: @ 0x080002B4
|
||||
@ return:
|
||||
@ ========
|
||||
@ Called every frame a pot is thrown, every frame the screen is sliding in a transition, and once when entering stairs.
|
||||
thumb_func_start sub_080B1AA8
|
||||
sub_080B1AA8: @ 0x080002B8
|
||||
ldr r3, _08000324 @ =ram_sub_080B1AA8
|
||||
thumb_func_start GetTileUnderEntity
|
||||
GetTileUnderEntity: @ 0x080002B8
|
||||
ldr r3, _08000324 @ =ram_GetTileUnderEntity
|
||||
bx r3
|
||||
|
||||
@ call 0x080B1AB4
|
||||
@@ -458,7 +413,7 @@ _08000314: .4byte ram_sub_080B1A48
|
||||
_08000318: .4byte ram_sub_080B1A58
|
||||
_0800031C: .4byte ram_GetTileType
|
||||
_08000320: .4byte ram_sub_080B1A8C
|
||||
_08000324: .4byte ram_sub_080B1AA8
|
||||
_08000324: .4byte ram_GetTileUnderEntity
|
||||
_08000328: .4byte ram_sub_080B1AB4
|
||||
_0800032C: .4byte ram_sub_080B1AC8
|
||||
_08000330: .4byte ram_sub_080B1AD8
|
||||
|
||||
-716
@@ -1,716 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start StaffrollTask
|
||||
StaffrollTask: @ 0x080A35E0
|
||||
push {lr}
|
||||
ldr r1, _080A35FC @ =gRoomTransition
|
||||
ldr r0, [r1]
|
||||
adds r0, #1
|
||||
str r0, [r1]
|
||||
ldr r1, _080A3600 @ =gUnk_08127D00
|
||||
ldr r0, _080A3604 @ =gMain
|
||||
ldrb r0, [r0, #3]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A35FC: .4byte gRoomTransition
|
||||
_080A3600: .4byte gUnk_08127D00
|
||||
_080A3604: .4byte gMain
|
||||
|
||||
thumb_func_start sub_080A3608
|
||||
sub_080A3608: @ 0x080A3608
|
||||
push {r4, r5, lr}
|
||||
ldr r0, _080A3640 @ =gSave
|
||||
movs r5, #0
|
||||
movs r4, #1
|
||||
strb r4, [r0, #6]
|
||||
movs r0, #0x55
|
||||
bl SetGlobalFlag
|
||||
ldr r0, _080A3644 @ =gMain
|
||||
strb r4, [r0, #3]
|
||||
ldr r2, _080A3648 @ =gMenu
|
||||
strb r5, [r2, #5]
|
||||
movs r1, #0
|
||||
movs r0, #0xb4
|
||||
strh r0, [r2, #8]
|
||||
movs r0, #5
|
||||
strb r0, [r2, #0x16]
|
||||
movs r0, #4
|
||||
strb r0, [r2, #0x17]
|
||||
strb r1, [r2, #0x1a]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
ldrb r0, [r0, #7]
|
||||
cmp r0, #1
|
||||
bls _080A3650
|
||||
ldr r0, _080A364C @ =gUnk_08127998
|
||||
b _080A365E
|
||||
.align 2, 0
|
||||
_080A3640: .4byte gSave
|
||||
_080A3644: .4byte gMain
|
||||
_080A3648: .4byte gMenu
|
||||
_080A364C: .4byte gUnk_08127998
|
||||
_080A3650:
|
||||
cmp r0, #1
|
||||
bne _080A365C
|
||||
ldr r0, _080A3658 @ =gUnk_08127644
|
||||
b _080A365E
|
||||
.align 2, 0
|
||||
_080A3658: .4byte gUnk_08127644
|
||||
_080A365C:
|
||||
ldr r0, _080A36B0 @ =gUnk_081272F0
|
||||
_080A365E:
|
||||
str r0, [r2, #0xc]
|
||||
movs r0, #0
|
||||
bl DispReset
|
||||
movs r0, #0xb
|
||||
bl LoadPaletteGroup
|
||||
movs r0, #0xc
|
||||
bl LoadPaletteGroup
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl SetColor
|
||||
ldr r2, _080A36B4 @ =gScreen
|
||||
movs r0, #0xc8
|
||||
lsls r0, r0, #3
|
||||
strh r0, [r2]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x66
|
||||
ldr r0, _080A36B8 @ =0x00002442
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
strh r0, [r1]
|
||||
ldr r0, _080A36BC @ =0x00001E4D
|
||||
strh r0, [r2, #0x14]
|
||||
subs r0, #0x8a
|
||||
strh r0, [r2, #0x20]
|
||||
bl InitSoundPlayingInfo
|
||||
bl ResetSystemPriority
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl SetFade
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A36B0: .4byte gUnk_081272F0
|
||||
_080A36B4: .4byte gScreen
|
||||
_080A36B8: .4byte 0x00002442
|
||||
_080A36BC: .4byte 0x00001E4D
|
||||
|
||||
thumb_func_start sub_080A36C0
|
||||
sub_080A36C0: @ 0x080A36C0
|
||||
push {lr}
|
||||
ldr r1, _080A36D4 @ =gUnk_08127D10
|
||||
ldr r0, _080A36D8 @ =gMenu
|
||||
ldrb r0, [r0, #5]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A36D4: .4byte gUnk_08127D10
|
||||
_080A36D8: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A36DC
|
||||
sub_080A36DC: @ 0x080A36DC
|
||||
push {lr}
|
||||
ldr r1, _080A36F4 @ =gMenu
|
||||
ldrh r0, [r1, #8]
|
||||
subs r0, #1
|
||||
strh r0, [r1, #8]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _080A36F0
|
||||
bl sub_080A3954
|
||||
_080A36F0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A36F4: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A36F8
|
||||
sub_080A36F8: @ 0x080A36F8
|
||||
push {r4, r5, lr}
|
||||
ldr r0, _080A3754 @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080A3752
|
||||
ldr r5, _080A3758 @ =gMenu
|
||||
movs r0, #0x10
|
||||
ldrsh r4, [r5, r0]
|
||||
lsls r4, r4, #1
|
||||
ldr r0, _080A375C @ =gUnk_08127CEC
|
||||
adds r4, r4, r0
|
||||
ldrb r0, [r4]
|
||||
bl LoadPaletteGroup
|
||||
ldrb r0, [r4, #1]
|
||||
bl LoadGfxGroup
|
||||
ldr r0, _080A3760 @ =gBG1Buffer
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #4
|
||||
bl MemClear
|
||||
ldr r1, _080A3764 @ =gScreen
|
||||
movs r2, #0
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0x1a]
|
||||
ldrh r0, [r5, #0x12]
|
||||
strh r0, [r1, #0x22]
|
||||
adds r1, #0x68
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
strh r0, [r1]
|
||||
strb r2, [r5, #5]
|
||||
ldrb r0, [r5, #0x1a]
|
||||
cmp r0, #0
|
||||
bne _080A374A
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0x1a]
|
||||
movs r0, #9
|
||||
bl SoundReq
|
||||
_080A374A:
|
||||
movs r0, #4
|
||||
movs r1, #8
|
||||
bl SetFade
|
||||
_080A3752:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A3754: .4byte gFadeControl
|
||||
_080A3758: .4byte gMenu
|
||||
_080A375C: .4byte gUnk_08127CEC
|
||||
_080A3760: .4byte gBG1Buffer
|
||||
_080A3764: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_080A3768
|
||||
sub_080A3768: @ 0x080A3768
|
||||
push {r4, lr}
|
||||
ldr r4, _080A377C @ =gMenu
|
||||
ldrb r1, [r4, #6]
|
||||
cmp r1, #1
|
||||
beq _080A37C4
|
||||
cmp r1, #1
|
||||
bgt _080A3780
|
||||
cmp r1, #0
|
||||
beq _080A378A
|
||||
b _080A384C
|
||||
.align 2, 0
|
||||
_080A377C: .4byte gMenu
|
||||
_080A3780:
|
||||
cmp r1, #2
|
||||
beq _080A3804
|
||||
cmp r1, #3
|
||||
beq _080A3812
|
||||
b _080A384C
|
||||
_080A378A:
|
||||
ldr r0, _080A37B8 @ =gBG1Buffer
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #4
|
||||
bl MemClear
|
||||
movs r1, #0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
ldr r2, _080A37BC @ =gUnk_081272E0
|
||||
ldrb r1, [r4, #0x19]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl sub_0805F46C
|
||||
ldr r1, _080A37C0 @ =gScreen
|
||||
movs r2, #0
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0x1a]
|
||||
ldrb r0, [r4, #6]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #6]
|
||||
strb r2, [r4, #0x18]
|
||||
b _080A385E
|
||||
.align 2, 0
|
||||
_080A37B8: .4byte gBG1Buffer
|
||||
_080A37BC: .4byte gUnk_081272E0
|
||||
_080A37C0: .4byte gScreen
|
||||
_080A37C4:
|
||||
ldr r0, _080A37F8 @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080A385E
|
||||
ldr r0, _080A37FC @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080A385E
|
||||
ldrb r1, [r4, #0x18]
|
||||
adds r1, #1
|
||||
strb r1, [r4, #0x18]
|
||||
lsls r0, r1, #0x18
|
||||
lsrs r3, r0, #0x18
|
||||
ldr r2, _080A3800 @ =gScreen
|
||||
movs r0, #0x10
|
||||
subs r0, r0, r3
|
||||
lsls r0, r0, #8
|
||||
orrs r0, r3
|
||||
adds r2, #0x68
|
||||
strh r0, [r2]
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x18
|
||||
cmp r1, #0xf
|
||||
bls _080A385E
|
||||
b _080A383C
|
||||
.align 2, 0
|
||||
_080A37F8: .4byte gFadeControl
|
||||
_080A37FC: .4byte gRoomTransition
|
||||
_080A3800: .4byte gScreen
|
||||
_080A3804:
|
||||
ldrh r0, [r4, #8]
|
||||
subs r0, #1
|
||||
strh r0, [r4, #8]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _080A385E
|
||||
b _080A383C
|
||||
_080A3812:
|
||||
ldr r0, _080A3844 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080A385E
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r1, #1
|
||||
strb r1, [r4, #0x18]
|
||||
lsls r0, r1, #0x18
|
||||
lsrs r3, r0, #0x18
|
||||
ldr r2, _080A3848 @ =gScreen
|
||||
movs r0, #0x10
|
||||
subs r0, r0, r3
|
||||
lsls r0, r0, #8
|
||||
orrs r0, r3
|
||||
adds r2, #0x68
|
||||
strh r0, [r2]
|
||||
lsls r1, r1, #0x18
|
||||
cmp r1, #0
|
||||
bne _080A385E
|
||||
_080A383C:
|
||||
ldrb r0, [r4, #6]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #6]
|
||||
b _080A385E
|
||||
.align 2, 0
|
||||
_080A3844: .4byte gRoomTransition
|
||||
_080A3848: .4byte gScreen
|
||||
_080A384C:
|
||||
ldr r1, _080A3860 @ =gFadeControl
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _080A385E
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
str r0, [r1, #4]
|
||||
bl sub_080A3954
|
||||
_080A385E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A3860: .4byte gFadeControl
|
||||
|
||||
thumb_func_start sub_080A3864
|
||||
sub_080A3864: @ 0x080A3864
|
||||
push {lr}
|
||||
ldr r1, _080A3884 @ =gMenu
|
||||
ldrh r0, [r1, #8]
|
||||
subs r0, #1
|
||||
strh r0, [r1, #8]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _080A3880
|
||||
bl sub_080A3954
|
||||
movs r0, #5
|
||||
movs r1, #8
|
||||
bl SetFade
|
||||
_080A3880:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A3884: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A3888
|
||||
sub_080A3888: @ 0x080A3888
|
||||
push {lr}
|
||||
ldr r1, _080A38A8 @ =gFadeControl
|
||||
ldr r0, _080A38AC @ =0xFFFF7FFF
|
||||
str r0, [r1, #4]
|
||||
movs r0, #5
|
||||
movs r1, #4
|
||||
bl SetFade
|
||||
ldr r0, _080A38B0 @ =gMenu
|
||||
ldrh r0, [r0, #8]
|
||||
bl SetFadeProgress
|
||||
bl sub_080A3954
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A38A8: .4byte gFadeControl
|
||||
_080A38AC: .4byte 0xFFFF7FFF
|
||||
_080A38B0: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A38B4
|
||||
sub_080A38B4: @ 0x080A38B4
|
||||
push {lr}
|
||||
movs r0, #4
|
||||
movs r1, #4
|
||||
bl SetFade
|
||||
ldr r0, _080A38CC @ =gMenu
|
||||
ldrh r0, [r0, #8]
|
||||
bl SetFadeProgress
|
||||
bl sub_080A3954
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A38CC: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A38D0
|
||||
sub_080A38D0: @ 0x080A38D0
|
||||
push {r4, r5, r6, lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
ldr r0, _080A391C @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080A3914
|
||||
ldr r0, _080A3920 @ =gBG1Buffer
|
||||
movs r6, #0x80
|
||||
lsls r6, r6, #4
|
||||
adds r1, r6, #0
|
||||
bl MemClear
|
||||
ldr r4, _080A3924 @ =gScreen
|
||||
movs r0, #0
|
||||
mov r8, r0
|
||||
movs r5, #1
|
||||
strh r5, [r4, #0x1a]
|
||||
ldr r0, _080A3928 @ =gBG2Buffer
|
||||
adds r1, r6, #0
|
||||
bl MemClear
|
||||
strh r5, [r4, #0x26]
|
||||
adds r4, #0x68
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
strh r0, [r4]
|
||||
ldr r0, _080A392C @ =gMenu
|
||||
mov r1, r8
|
||||
strb r1, [r0, #5]
|
||||
movs r0, #4
|
||||
movs r1, #8
|
||||
bl SetFade
|
||||
_080A3914:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080A391C: .4byte gFadeControl
|
||||
_080A3920: .4byte gBG1Buffer
|
||||
_080A3924: .4byte gScreen
|
||||
_080A3928: .4byte gBG2Buffer
|
||||
_080A392C: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A3930
|
||||
sub_080A3930: @ 0x080A3930
|
||||
push {lr}
|
||||
ldr r0, _080A394C @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080A3948
|
||||
movs r0, #7
|
||||
movs r1, #8
|
||||
bl SetFade
|
||||
ldr r1, _080A3950 @ =gMain
|
||||
movs r0, #2
|
||||
strb r0, [r1, #3]
|
||||
_080A3948:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A394C: .4byte gFadeControl
|
||||
_080A3950: .4byte gMain
|
||||
|
||||
thumb_func_start sub_080A3954
|
||||
sub_080A3954: @ 0x080A3954
|
||||
ldr r2, _080A397C @ =gMenu
|
||||
ldr r1, [r2, #0xc]
|
||||
ldrb r0, [r1]
|
||||
movs r3, #0
|
||||
strb r0, [r2, #5]
|
||||
strb r3, [r2, #6]
|
||||
ldrh r0, [r1, #6]
|
||||
strh r0, [r2, #0x10]
|
||||
ldrh r0, [r1, #4]
|
||||
strh r0, [r2, #8]
|
||||
ldrh r0, [r1, #8]
|
||||
strh r0, [r2, #0x12]
|
||||
ldrh r0, [r1, #0xa]
|
||||
strh r0, [r2, #0x14]
|
||||
ldrb r0, [r1, #1]
|
||||
strb r0, [r2, #0x19]
|
||||
adds r1, #0xc
|
||||
str r1, [r2, #0xc]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080A397C: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A3980
|
||||
sub_080A3980: @ 0x080A3980
|
||||
push {lr}
|
||||
ldr r0, _080A3990 @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080A398E
|
||||
bl DoSoftReset
|
||||
_080A398E:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A3990: .4byte gFadeControl
|
||||
|
||||
thumb_func_start sub_080A3994
|
||||
sub_080A3994: @ 0x080A3994
|
||||
push {r4, r5, lr}
|
||||
ldr r0, _080A39AC @ =gMenu
|
||||
ldrb r1, [r0, #6]
|
||||
adds r2, r0, #0
|
||||
cmp r1, #4
|
||||
bls _080A39A2
|
||||
b _080A3B14
|
||||
_080A39A2:
|
||||
lsls r0, r1, #2
|
||||
ldr r1, _080A39B0 @ =_080A39B4
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080A39AC: .4byte gMenu
|
||||
_080A39B0: .4byte _080A39B4
|
||||
_080A39B4: @ jump table
|
||||
.4byte _080A39C8 @ case 0
|
||||
.4byte _080A3A38 @ case 1
|
||||
.4byte _080A3AB8 @ case 2
|
||||
.4byte _080A3AEE @ case 3
|
||||
.4byte _080A3B14 @ case 4
|
||||
_080A39C8:
|
||||
movs r5, #1
|
||||
strb r5, [r2, #6]
|
||||
movs r4, #0
|
||||
movs r0, #0x1e
|
||||
strh r0, [r2, #8]
|
||||
strb r4, [r2, #3]
|
||||
movs r0, #1
|
||||
bl DispReset
|
||||
bl InitSoundPlayingInfo
|
||||
bl sub_080A4D34
|
||||
movs r0, #0xa
|
||||
bl LoadPaletteGroup
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl SetColor
|
||||
movs r0, #4
|
||||
bl LoadGfxGroup
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #0x13
|
||||
movs r1, #0x20
|
||||
bl MemClear
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl SetPopupState
|
||||
ldr r2, _080A3A2C @ =gScreen
|
||||
ldrh r0, [r2]
|
||||
movs r3, #0xc0
|
||||
lsls r3, r3, #3
|
||||
adds r1, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
ldr r0, _080A3A30 @ =0x00001C01
|
||||
strh r0, [r2, #0x14]
|
||||
ldr r0, _080A3A34 @ =0x00001D05
|
||||
strh r0, [r2, #0x20]
|
||||
strh r5, [r2, #0x26]
|
||||
movs r0, #4
|
||||
movs r1, #8
|
||||
bl SetFade
|
||||
b _080A3B36
|
||||
.align 2, 0
|
||||
_080A3A2C: .4byte gScreen
|
||||
_080A3A30: .4byte 0x00001C01
|
||||
_080A3A34: .4byte 0x00001D05
|
||||
_080A3A38:
|
||||
ldr r0, _080A3A50 @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080A3A42
|
||||
b _080A3B36
|
||||
_080A3A42:
|
||||
ldrh r0, [r2, #8]
|
||||
cmp r0, #0
|
||||
beq _080A3A54
|
||||
subs r0, #1
|
||||
strh r0, [r2, #8]
|
||||
b _080A3B36
|
||||
.align 2, 0
|
||||
_080A3A50: .4byte gFadeControl
|
||||
_080A3A54:
|
||||
ldrb r4, [r2, #3]
|
||||
ldr r0, _080A3A68 @ =gInput
|
||||
ldrh r0, [r0, #2]
|
||||
cmp r0, #0x40
|
||||
beq _080A3A72
|
||||
cmp r0, #0x40
|
||||
bgt _080A3A6C
|
||||
cmp r0, #1
|
||||
beq _080A3A7A
|
||||
b _080A3A9A
|
||||
.align 2, 0
|
||||
_080A3A68: .4byte gInput
|
||||
_080A3A6C:
|
||||
cmp r0, #0x80
|
||||
beq _080A3A76
|
||||
b _080A3A9A
|
||||
_080A3A72:
|
||||
movs r4, #0
|
||||
b _080A3A9A
|
||||
_080A3A76:
|
||||
movs r4, #1
|
||||
b _080A3A9A
|
||||
_080A3A7A:
|
||||
cmp r4, #0
|
||||
beq _080A3A82
|
||||
movs r0, #4
|
||||
b _080A3A8C
|
||||
_080A3A82:
|
||||
movs r0, #8
|
||||
movs r1, #0
|
||||
bl CreateDialogBox
|
||||
movs r0, #2
|
||||
_080A3A8C:
|
||||
ldr r1, _080A3AB4 @ =gMenu
|
||||
strb r0, [r1, #6]
|
||||
movs r0, #0x3c
|
||||
strh r0, [r1, #8]
|
||||
movs r0, #0x6a
|
||||
bl SoundReq
|
||||
_080A3A9A:
|
||||
ldr r1, _080A3AB4 @ =gMenu
|
||||
ldrb r0, [r1, #3]
|
||||
cmp r0, r4
|
||||
beq _080A3B36
|
||||
strb r4, [r1, #3]
|
||||
movs r0, #0
|
||||
adds r1, r4, #0
|
||||
bl SetPopupState
|
||||
movs r0, #0x69
|
||||
bl SoundReq
|
||||
b _080A3B36
|
||||
.align 2, 0
|
||||
_080A3AB4: .4byte gMenu
|
||||
_080A3AB8:
|
||||
movs r0, #0
|
||||
bl HandleSave
|
||||
adds r1, r0, #0
|
||||
ldr r4, _080A3AD8 @ =gMenu
|
||||
strb r1, [r4]
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
beq _080A3ADC
|
||||
cmp r1, #1
|
||||
bne _080A3B36
|
||||
movs r0, #4
|
||||
strb r0, [r4, #6]
|
||||
b _080A3B36
|
||||
.align 2, 0
|
||||
_080A3AD8: .4byte gMenu
|
||||
_080A3ADC:
|
||||
movs r0, #0x3c
|
||||
strh r0, [r4, #8]
|
||||
movs r0, #9
|
||||
movs r1, #0
|
||||
bl CreateDialogBox
|
||||
movs r0, #3
|
||||
strb r0, [r4, #6]
|
||||
b _080A3B36
|
||||
_080A3AEE:
|
||||
adds r1, r2, #0
|
||||
ldrh r0, [r1, #8]
|
||||
cmp r0, #0
|
||||
beq _080A3AFC
|
||||
subs r0, #1
|
||||
strh r0, [r1, #8]
|
||||
b _080A3B36
|
||||
_080A3AFC:
|
||||
ldr r0, _080A3B10 @ =gInput
|
||||
ldrh r1, [r0, #2]
|
||||
movs r0, #0xb
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080A3B36
|
||||
movs r0, #1
|
||||
strb r0, [r2, #6]
|
||||
b _080A3B36
|
||||
.align 2, 0
|
||||
_080A3B10: .4byte gInput
|
||||
_080A3B14:
|
||||
ldr r2, _080A3B38 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _080A3B3C @ =0x0000FDFF
|
||||
ands r0, r1
|
||||
movs r4, #0
|
||||
strh r0, [r2]
|
||||
bl sub_08050384
|
||||
movs r0, #7
|
||||
movs r1, #8
|
||||
bl SetFade
|
||||
ldr r1, _080A3B40 @ =gMain
|
||||
movs r0, #3
|
||||
strb r0, [r1, #3]
|
||||
ldr r0, _080A3B44 @ =gMenu
|
||||
strb r4, [r0, #6]
|
||||
_080A3B36:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A3B38: .4byte gScreen
|
||||
_080A3B3C: .4byte 0x0000FDFF
|
||||
_080A3B40: .4byte gMain
|
||||
_080A3B44: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_080A3B48
|
||||
sub_080A3B48: @ 0x080A3B48
|
||||
push {lr}
|
||||
movs r1, #0
|
||||
ldr r0, _080A3B6C @ =gSave
|
||||
ldr r3, _080A3B70 @ =0x0000012B
|
||||
adds r2, r0, r3
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #0
|
||||
beq _080A3B66
|
||||
_080A3B58:
|
||||
adds r1, #1
|
||||
cmp r1, #0x12
|
||||
bhi _080A3B66
|
||||
adds r0, r1, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080A3B58
|
||||
_080A3B66:
|
||||
adds r0, r1, #0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A3B6C: .4byte gSave
|
||||
_080A3B70: .4byte 0x0000012B
|
||||
|
||||
thumb_func_start sub_080A3B74
|
||||
sub_080A3B74: @ 0x080A3B74
|
||||
ldr r0, _080A3B80 @ =gMenu
|
||||
adds r0, #0x2f
|
||||
movs r1, #0
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080A3B80: .4byte gMenu
|
||||
-1203
File diff suppressed because it is too large
Load Diff
@@ -25987,11 +25987,6 @@
|
||||
"size": 5,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "flyingPot/gUnk_080CF290.bin",
|
||||
"start": 848528,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Gibdo_0.bin",
|
||||
"start": 848592,
|
||||
@@ -43800,16 +43795,6 @@
|
||||
"size": 8,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "minecart/gUnk_081223C8.bin",
|
||||
"start": 1188808,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "minecart/gUnk_081223D0.bin",
|
||||
"start": 1188816,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_ThoughtBubble_0.bin",
|
||||
"start": 1189280,
|
||||
@@ -43911,31 +43896,6 @@
|
||||
"size": 27,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "objectBlockingStairs/gUnk_08122850.bin",
|
||||
"start": 1189968,
|
||||
"size": 18
|
||||
},
|
||||
{
|
||||
"path": "objectBlockingStairs/gUnk_08122862.bin",
|
||||
"start": 1189986,
|
||||
"size": 18
|
||||
},
|
||||
{
|
||||
"path": "objectBlockingStairs/gUnk_08122874.bin",
|
||||
"start": 1190004,
|
||||
"size": 18
|
||||
},
|
||||
{
|
||||
"path": "objectBlockingStairs/gUnk_08122886.bin",
|
||||
"start": 1190022,
|
||||
"size": 18
|
||||
},
|
||||
{
|
||||
"path": "objectBlockingStairs/gUnk_08122898.bin",
|
||||
"start": 1190040,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "swordsmanNewsletter/gUnk_081228A8.bin",
|
||||
"start": 1190056,
|
||||
@@ -44547,11 +44507,6 @@
|
||||
"start": 1193532,
|
||||
"size": 32
|
||||
},
|
||||
{
|
||||
"path": "picoBloom/gUnk_08123574.bin",
|
||||
"start": 1193332,
|
||||
"size": 6
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_BigVortex_0.bin",
|
||||
"start": 1193624,
|
||||
@@ -44743,11 +44698,6 @@
|
||||
"size": 4,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "object96/gUnk_08123FB0.bin",
|
||||
"start": 1196172,
|
||||
"size": 36
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Object98_0.bin",
|
||||
"start": 1196436,
|
||||
@@ -44907,16 +44857,6 @@
|
||||
"size": 20,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "objectA9/gUnk_0812485C.bin",
|
||||
"start": 1198172,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "objectA9/gUnk_08124860.bin",
|
||||
"start": 1198176,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_ObjectAB_0.bin",
|
||||
"start": 1198200,
|
||||
@@ -45058,41 +44998,6 @@
|
||||
"size": 83,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "objectB4/gUnk_08124B10.bin",
|
||||
"start": 1198864,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "objectB4/gUnk_08124B30.bin",
|
||||
"start": 1198896,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "objectB9/gUnk_08124C20.bin",
|
||||
"start": 1199136,
|
||||
"size": 40
|
||||
},
|
||||
{
|
||||
"path": "objectB9/gUnk_08124C48.bin",
|
||||
"start": 1199176,
|
||||
"size": 600
|
||||
},
|
||||
{
|
||||
"path": "objectB9/gUnk_08124EA0.bin",
|
||||
"start": 1199776,
|
||||
"size": 40
|
||||
},
|
||||
{
|
||||
"path": "objectB9/gUnk_08124EC8.bin",
|
||||
"start": 1199816,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "objectB9/gUnk_08124ECC.bin",
|
||||
"start": 1199820,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "windcrest/gUnk_08125010.bin",
|
||||
"start": 1200144,
|
||||
@@ -45389,26 +45294,6 @@
|
||||
"DEMO_USA": 2640
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "data_08127280/gUnk_08127280.bin",
|
||||
"start": 1208960,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "data_08127280/gUnk_08127298.bin",
|
||||
"start": 1208984,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "data_08127280/gUnk_081272B0.bin",
|
||||
"start": 1209008,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "data_08127280/gUnk_081272C8.bin",
|
||||
"start": 1209032,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "data_08127280/gUnk_081272F0.bin",
|
||||
"start": 1209072,
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
gUnk_080CF244:: @ 080CF244
|
||||
.4byte sub_0803708C
|
||||
.4byte sub_080370A4
|
||||
.4byte GenericKnockback
|
||||
.4byte GenericDeath
|
||||
.4byte GenericConfused
|
||||
.4byte sub_0803712C
|
||||
|
||||
gUnk_080CF25C:: @ 080CF25C
|
||||
.4byte sub_08037220
|
||||
.4byte sub_08037280
|
||||
.4byte sub_080372E8
|
||||
.4byte sub_0803737C
|
||||
.4byte sub_080373B0
|
||||
.4byte sub_080373C8
|
||||
.4byte sub_080373E0
|
||||
|
||||
gUnk_080CF278:: @ 080CF278
|
||||
.4byte sub_08037144
|
||||
.4byte sub_0803715C
|
||||
.4byte sub_0803718C
|
||||
.4byte sub_080371F8
|
||||
.4byte nullsub_161
|
||||
.4byte sub_08037218
|
||||
|
||||
gUnk_080CF290:: @ 080CF290
|
||||
.incbin "flyingPot/gUnk_080CF290.bin"
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
|
||||
gUnk_0811BDB4:: @ 0811BDB4
|
||||
.4byte sub_080761C0
|
||||
.4byte ItemPickupCheck
|
||||
.4byte sub_080762D8
|
||||
.4byte sub_08076488
|
||||
.4byte sub_08076518
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08123EC0:: @ 08123EC0
|
||||
.4byte sub_0809CF3C
|
||||
.4byte sub_0809D030
|
||||
.4byte sub_0809D0F4
|
||||
.4byte sub_0809D178
|
||||
.4byte sub_0809D178
|
||||
.4byte sub_0809D178
|
||||
.4byte sub_0809D178
|
||||
.4byte sub_0809D178
|
||||
.4byte sub_0809D1F0
|
||||
.4byte sub_0809D498
|
||||
.4byte sub_0809D66C
|
||||
|
||||
gUnk_08123EEC:: @ 08123EEC
|
||||
.4byte sub_0809CF54
|
||||
.4byte sub_0809CFEC
|
||||
|
||||
gUnk_08123EF4:: @ 08123EF4
|
||||
.4byte sub_0809D048
|
||||
.4byte sub_0809D06C
|
||||
|
||||
gUnk_08123EFC:: @ 08123EFC
|
||||
.4byte sub_0809D084
|
||||
.4byte sub_0809D0AC
|
||||
|
||||
gUnk_08123F04:: @ 08123F04
|
||||
.4byte sub_0809D10C
|
||||
.4byte sub_0809D130
|
||||
@@ -1,16 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08123D28:: @ 08123D28
|
||||
.4byte sub_0809AB04
|
||||
.4byte sub_0809ABA4
|
||||
.4byte sub_0809ABB0
|
||||
.4byte sub_0809ABD4
|
||||
.4byte sub_0809ABF4
|
||||
.4byte sub_0809AC3C
|
||||
.4byte sub_0809ACA0
|
||||
.4byte sub_0809ACCC
|
||||
.4byte sub_0809ACE8
|
||||
@@ -1,21 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_081223A8:: @ 081223A8
|
||||
.4byte sub_080916EC
|
||||
.4byte sub_080917DC
|
||||
.4byte sub_080918A4
|
||||
.4byte sub_080919AC
|
||||
.4byte sub_08091C0C
|
||||
.4byte sub_08091C98
|
||||
.4byte sub_08091CC8
|
||||
.4byte sub_08091D90
|
||||
|
||||
gUnk_081223C8:: @ 081223C8
|
||||
.incbin "minecart/gUnk_081223C8.bin"
|
||||
|
||||
gUnk_081223D0:: @ 081223D0
|
||||
.incbin "minecart/gUnk_081223D0.bin"
|
||||
@@ -1,83 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08123FB0:: @ 08123FB0
|
||||
.4byte sub_0809D91C
|
||||
.4byte sub_0809D93C
|
||||
.4byte 0x30300000
|
||||
.4byte 0x133c3c01
|
||||
.4byte 0x00010000
|
||||
.4byte 0x00001800
|
||||
.4byte 0x00400060
|
||||
.4byte 0x00014021
|
||||
.4byte sub_0809D91C
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
.4byte 0x10636300
|
||||
.4byte 00000000
|
||||
.4byte 0x00001800
|
||||
.4byte 0x00180000
|
||||
.ifdef JP
|
||||
.4byte 0x000000CD
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
.4byte 0x000000CD
|
||||
.else
|
||||
.ifdef EU
|
||||
.4byte 0x000000CD @ TODO deduplicate
|
||||
.else
|
||||
.4byte 0x000000d0
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
.4byte sub_0809D91C
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
.4byte 0x0f3c3c00
|
||||
.4byte 0x00010000
|
||||
.4byte 0x00001800
|
||||
.4byte 0x00400060
|
||||
.4byte 0x00014021
|
||||
.4byte sub_0809D91C
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
.4byte 0x023c3c00
|
||||
.4byte 0x00010000
|
||||
.4byte 0x00001800
|
||||
.4byte 0x00400140
|
||||
.4byte 0x00014021
|
||||
.4byte sub_0809D91C
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
.4byte 0x0d3c3c00
|
||||
.4byte 0x00010000
|
||||
.4byte 0x00001800
|
||||
.4byte 0x00400060
|
||||
.4byte 0x00014021
|
||||
.4byte sub_0809D91C
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
.4byte 0x1a3c3c00
|
||||
.4byte 0x00010000
|
||||
.4byte 0x00001800
|
||||
.4byte 0x00400100
|
||||
.4byte 0x00014021
|
||||
.4byte sub_0809D91C
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
.4byte 0x133c3c00
|
||||
.4byte 0x00010000
|
||||
.4byte 0x00001800
|
||||
.4byte 0x00400060
|
||||
|
||||
.incbin "object96/gUnk_08123FB0.bin"
|
||||
|
||||
gUnk_081240B0:: @ 081240B0
|
||||
.4byte sub_0809D7A8
|
||||
.4byte sub_0809D824
|
||||
.4byte sub_0809D860
|
||||
.4byte sub_0809D8C8
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0812418C:: @ 0812418C
|
||||
.4byte sub_0809E360
|
||||
.4byte sub_0809E3E4
|
||||
@@ -1,9 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08124800:: @ 08124800
|
||||
.4byte sub_0809F920
|
||||
.4byte sub_0809F964
|
||||
@@ -1,16 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08124850:: @ 08124850
|
||||
.4byte sub_0809FEF8
|
||||
.4byte sub_0809FF28
|
||||
.4byte DeleteEntity
|
||||
|
||||
gUnk_0812485C:: @ 0812485C
|
||||
.incbin "objectA9/gUnk_0812485C.bin"
|
||||
|
||||
gUnk_08124860:: @ 08124860
|
||||
.incbin "objectA9/gUnk_08124860.bin"
|
||||
@@ -1,10 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0812486C:: @ 0812486C
|
||||
.4byte sub_080A00F8
|
||||
.4byte sub_080A012C
|
||||
.4byte sub_080A0158
|
||||
@@ -1,9 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_081248BC:: @ 081248BC
|
||||
.4byte sub_080A04A4
|
||||
.4byte sub_080A04E0
|
||||
@@ -1,17 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08124B10:: @ 08124B10
|
||||
.incbin "objectB4/gUnk_08124B10.bin"
|
||||
|
||||
gUnk_08124B20:: @ 08124B20
|
||||
.4byte sub_080A0BA8
|
||||
.4byte sub_080A0CE8
|
||||
.4byte sub_080A0D70
|
||||
.4byte sub_080A0E08
|
||||
|
||||
gUnk_08124B30:: @ 08124B30
|
||||
.incbin "objectB4/gUnk_08124B30.bin"
|
||||
@@ -1,21 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08124C20:: @ 08124C20
|
||||
.incbin "objectB9/gUnk_08124C20.bin"
|
||||
|
||||
gUnk_08124C48:: @ 08124C48
|
||||
.incbin "objectB9/gUnk_08124C48.bin"
|
||||
|
||||
gUnk_08124EA0:: @ 08124EA0
|
||||
.incbin "objectB9/gUnk_08124EA0.bin"
|
||||
|
||||
gUnk_08124EC8:: @ 08124EC8
|
||||
.incbin "objectB9/gUnk_08124EC8.bin"
|
||||
|
||||
gUnk_08124ECC:: @ 08124ECC
|
||||
.incbin "objectB9/gUnk_08124ECC.bin"
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0812283C:: @ 0812283C
|
||||
.4byte sub_08092EEC
|
||||
.4byte sub_08092F68
|
||||
.4byte sub_080930F4
|
||||
.4byte sub_08093178
|
||||
.4byte nullsub_120
|
||||
|
||||
gUnk_08122850:: @ 08122850
|
||||
.incbin "objectBlockingStairs/gUnk_08122850.bin"
|
||||
|
||||
gUnk_08122862:: @ 08122862
|
||||
.incbin "objectBlockingStairs/gUnk_08122862.bin"
|
||||
|
||||
gUnk_08122874:: @ 08122874
|
||||
.incbin "objectBlockingStairs/gUnk_08122874.bin"
|
||||
|
||||
gUnk_08122886:: @ 08122886
|
||||
.incbin "objectBlockingStairs/gUnk_08122886.bin"
|
||||
|
||||
gUnk_08122898:: @ 08122898
|
||||
.incbin "objectBlockingStairs/gUnk_08122898.bin"
|
||||
@@ -1,13 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08123568:: @ 08123568
|
||||
.4byte sub_08098A90
|
||||
.4byte sub_08098AD0
|
||||
.4byte sub_08098AE8
|
||||
|
||||
gUnk_08123574:: @ 08123574
|
||||
.incbin "picoBloom/gUnk_08123574.bin"
|
||||
@@ -390,7 +390,7 @@ gUnk_081091F8:: @ 081091F8
|
||||
gUnk_08109202:: @ 08109202
|
||||
.incbin "data_08108E6C/gUnk_08109202.bin"
|
||||
|
||||
gUnk_08109214:: @ 08109214
|
||||
gTranslations:: @ 08109214
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
|
||||
+1
-21
@@ -4,30 +4,10 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811E768:: @ 0811E768
|
||||
.4byte sub_0807FC64
|
||||
.4byte sub_0807FC7C
|
||||
.4byte sub_0807FDB0
|
||||
.4byte 00000000
|
||||
.4byte sub_0807FEF0
|
||||
.4byte sub_0807FF54
|
||||
|
||||
gUnk_0811E780:: @ 0811E780
|
||||
.4byte sub_0807FDC8
|
||||
.4byte sub_0807FDE4
|
||||
.4byte sub_0807FDF8
|
||||
|
||||
gUnk_0811E78C:: @ 0811E78C
|
||||
.4byte sub_0807FF08
|
||||
.4byte sub_0807FF1C
|
||||
|
||||
gUnk_0811E794:: @ 0811E794
|
||||
.4byte sub_0807FF6C
|
||||
.4byte sub_0807FFE4
|
||||
.4byte sub_08080040
|
||||
.4byte sub_08080108
|
||||
.4byte sub_08080198
|
||||
.4byte sub_080801BC
|
||||
|
||||
|
||||
gUnk_0811E7AC:: @ 0811E7AC
|
||||
.4byte sub_08080794
|
||||
|
||||
+16
-29
@@ -4,23 +4,7 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08127280:: @ 08127280
|
||||
.incbin "data_08127280/gUnk_08127280.bin"
|
||||
|
||||
gUnk_08127298:: @ 08127298
|
||||
.incbin "data_08127280/gUnk_08127298.bin"
|
||||
|
||||
gUnk_081272B0:: @ 081272B0
|
||||
.incbin "data_08127280/gUnk_081272B0.bin"
|
||||
|
||||
gUnk_081272C8:: @ 081272C8
|
||||
.incbin "data_08127280/gUnk_081272C8.bin"
|
||||
|
||||
gUnk_081272E0:: @ 081272E0
|
||||
.4byte gUnk_08127280
|
||||
.4byte gUnk_08127298
|
||||
.4byte gUnk_081272B0
|
||||
.4byte gUnk_081272C8
|
||||
@ staffroll rodata
|
||||
|
||||
gUnk_081272F0:: @ 081272F0
|
||||
.incbin "data_08127280/gUnk_081272F0.bin"
|
||||
@@ -35,20 +19,23 @@ gUnk_08127CEC:: @ 08127CEC
|
||||
.incbin "data_08127280/gUnk_08127CEC.bin"
|
||||
|
||||
gUnk_08127D00:: @ 08127D00
|
||||
.4byte sub_080A3608
|
||||
.4byte sub_080A36C0
|
||||
.4byte sub_080A3994
|
||||
.4byte sub_080A3980
|
||||
.4byte StaffrollTask_State0
|
||||
.4byte StaffrollTask_State1
|
||||
.4byte StaffrollTask_State2
|
||||
.4byte StaffrollTask_State3
|
||||
|
||||
gUnk_08127D10:: @ 08127D10
|
||||
.4byte sub_080A36DC
|
||||
.4byte sub_080A36F8
|
||||
.4byte sub_080A3768
|
||||
.4byte sub_080A3864
|
||||
.4byte sub_080A3888
|
||||
.4byte sub_080A38B4
|
||||
.4byte sub_080A38D0
|
||||
.4byte sub_080A3930
|
||||
.4byte StaffrollTask_State1MenuType0
|
||||
.4byte StaffrollTask_State1MenuType1
|
||||
.4byte StaffrollTask_State1MenuType2
|
||||
.4byte StaffrollTask_State1MenuType3
|
||||
.4byte StaffrollTask_State1MenuType4
|
||||
.4byte StaffrollTask_State1MenuType5
|
||||
.4byte StaffrollTask_State1MenuType6
|
||||
.4byte StaffrollTask_State1MenuType7
|
||||
|
||||
@ End of staffroll
|
||||
|
||||
|
||||
gAreaMetadata:: @ 08127D30
|
||||
.ifdef EU
|
||||
|
||||
@@ -33,7 +33,7 @@ SCRIPT_START script_ZeldaIntroBusinessScrub
|
||||
SetEntitySpeed 0x0200
|
||||
WalkSouth 0x0008
|
||||
SetAnimation 0x0040
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetAnimationState 0x0006
|
||||
DoPostScriptAction 0x0000
|
||||
SetSyncFlag 0x00000002
|
||||
|
||||
@@ -30,7 +30,7 @@ SCRIPT_START script_Npc4EMonsters
|
||||
Call NPC4E_SaveEquippedItems
|
||||
Call SetPlayerActionNormal
|
||||
CallWithArg EquipItem, 0x0000000d
|
||||
CallWithArg sub_0807F29C, gUnk_080049F6
|
||||
CallWithArg SetInputMacro, gUnk_080049F6
|
||||
_0807F0B4 0x0001
|
||||
SetEntityPositionRelative 0x01f8, 0x0068
|
||||
SetSyncFlag 0x00000004
|
||||
@@ -41,7 +41,7 @@ SCRIPT_START script_Npc4EMonsters
|
||||
PlaySound SFX_1C3
|
||||
SetSyncFlag 0x20000000
|
||||
Wait 0x0078
|
||||
CallWithArg sub_0807F29C, 0x00000000
|
||||
CallWithArg SetInputMacro, 0x00000000
|
||||
Call NPC4E_RestoreEquippedItems
|
||||
SetSyncFlag 0x40000000
|
||||
SetSyncFlag 0x00000010
|
||||
|
||||
@@ -10,11 +10,11 @@ SCRIPT_START script_Npc4EVaatiAttacking
|
||||
Call NPC4E_SaveEquippedItems
|
||||
Call SetPlayerActionNormal
|
||||
CallWithArg EquipItem, 0x0000000d
|
||||
CallWithArg sub_0807F29C, gUnk_080049F6
|
||||
CallWithArg SetInputMacro, gUnk_080049F6
|
||||
Wait 0x001e
|
||||
SetSyncFlag 0x00000100
|
||||
WaitForSyncFlagAndClear 0x00000200
|
||||
CallWithArg sub_0807F29C, 0x00000000
|
||||
CallWithArg SetInputMacro, 0x00000000
|
||||
Call NPC4E_RestoreEquippedItems
|
||||
Wait 0x003c
|
||||
SetSyncFlag 0x08000000
|
||||
|
||||
@@ -11,7 +11,7 @@ SCRIPT_START script_PlayerFainting
|
||||
Call sub_0807F1E8
|
||||
DoPostScriptAction 0x0011
|
||||
EndBlock
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
WaitForSyncFlag 0x80000000
|
||||
Call SetPlayerActionNormal
|
||||
SCRIPT_END
|
||||
|
||||
@@ -13,21 +13,21 @@ SCRIPT_START script_VaatiIntroCeremony
|
||||
WaitForSyncFlagAndClear 0x00000100
|
||||
SetAnimationState 0x0004
|
||||
DoPostScriptAction 0x001c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetAnimationState 0x0004
|
||||
DoPostScriptAction 0x0000
|
||||
SetSyncFlag 0x00000200
|
||||
WaitForSyncFlagAndClear 0x00000100
|
||||
SetAnimationState 0x0000
|
||||
DoPostScriptAction 0x001c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetAnimationState 0x0000
|
||||
DoPostScriptAction 0x0000
|
||||
SetSyncFlag 0x00000200
|
||||
WaitForSyncFlagAndClear 0x00000100
|
||||
SetAnimationState 0x0000
|
||||
DoPostScriptAction 0x001a
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
DoPostScriptAction 0x0000
|
||||
SetSyncFlag 0x00000200
|
||||
WaitForSyncFlagAndClear 0x00000100
|
||||
@@ -71,7 +71,7 @@ SCRIPT_START script_VaatiIntroCeremony
|
||||
Wait 0x005a
|
||||
SetAnimationState 0x0004
|
||||
DoPostScriptAction 0x001c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetAnimationState 0x0004
|
||||
DoPostScriptAction 0x0000
|
||||
Wait 0x001e
|
||||
|
||||
@@ -48,7 +48,7 @@ script_08011206:
|
||||
Call sub_08066E20
|
||||
Wait 0x0014
|
||||
DoPostScriptAction 0x0010
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
PlaySound SFX_1CA
|
||||
SetSyncFlag 0x00000020
|
||||
WaitForSyncFlagAndClear 0x00000010
|
||||
|
||||
@@ -164,14 +164,14 @@ SCRIPT_START script_Npc4EIntroTown
|
||||
CallWithArg EquipItem, 0x0000000d
|
||||
SetIntVariable 0x000000ff
|
||||
Call sub_0807F5B0
|
||||
CallWithArg sub_0807F29C, gUnk_080049D6
|
||||
CallWithArg SetInputMacro, gUnk_080049D6
|
||||
Wait 0x00b7
|
||||
SetIntVariable 0x00000000
|
||||
Call sub_0807F5B0
|
||||
MessageFromTargetPos 0x102c, 0x0000
|
||||
WaitUntilTextboxCloses
|
||||
@ Give control back to the player
|
||||
CallWithArg sub_0807F29C, 0x00000000
|
||||
CallWithArg SetInputMacro, 0x00000000
|
||||
Call NPC4E_RestoreEquippedItems
|
||||
_0807F0B4 0x0004
|
||||
CameraTargetPlayer
|
||||
|
||||
@@ -34,7 +34,7 @@ SCRIPT_START script_MinishEzlo
|
||||
SetSyncFlag 0x00010000
|
||||
WaitForSyncFlagAndClear 0x00008000
|
||||
SetAnimation 0x000d
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetSyncFlag 0x00010000
|
||||
Wait 0x003c
|
||||
DoPostScriptAction 0x0005
|
||||
|
||||
@@ -17,7 +17,7 @@ SCRIPT_START script_Object6AMinishCap
|
||||
SetSyncFlag 0x00000100
|
||||
WaitForSyncFlagAndClear 0x00000080
|
||||
SetAnimation 0x0001
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
.2byte 0x0000
|
||||
|
||||
@@ -23,7 +23,7 @@ SCRIPT_START script_Vaati
|
||||
SetSyncFlag 0x00001000
|
||||
WaitForSyncFlagAndClear 0x00000800
|
||||
DoPostScriptAction 0x0018
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetAnimationState 0x0004
|
||||
DoPostScriptAction 0x0000
|
||||
SetSyncFlag 0x00001000
|
||||
|
||||
@@ -16,7 +16,7 @@ SCRIPT_START script_VaatiAppearsAgain
|
||||
Wait 0x0014
|
||||
SetAnimationState 0x0000
|
||||
DoPostScriptAction 0x001c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
DoPostScriptAction 0x0000
|
||||
SetSyncFlag 0x00000004
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
|
||||
@@ -25,17 +25,17 @@ SCRIPT_START script_MinishEzloGoodbye
|
||||
SetSyncFlag 0x00000004
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
SetAnimation 0x000c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
Call sub_08094B94
|
||||
SetSyncFlag 0x00000004
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
SetAnimation 0x000f
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetSyncFlag 0x00000004
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
CallWithArg sub_080960C4, script_Object6AEzloFinalMagic
|
||||
SetAnimation 0x0012
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
Wait 0x001e
|
||||
SetSyncFlag 0x00000020
|
||||
StopBgm
|
||||
|
||||
@@ -10,20 +10,20 @@ SCRIPT_START script_MinishEzloOutro
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
SetAnimation 0x000e
|
||||
DoPostScriptAction 0x0007
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
DoPostScriptAction 0x0004
|
||||
SetSyncFlag 0x00000040
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
SetAnimation 0x000c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetSyncFlag 0x00000040
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
SetAnimation 0x000f
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetSyncFlag 0x00000040
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
SetAnimation 0x000c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetSyncFlag 0x00000040
|
||||
WaitForSyncFlagAndClear 0x00000002
|
||||
CallWithArg sub_080960C4, script_EzloZeldaMagic
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
@ Sanctuary Player faint from Vaati attack
|
||||
SCRIPT_START script_PlayerFaintAgain
|
||||
Call sub_0807F1C4
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
Call sub_0807F1E8
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetSyncFlag 0x00000002
|
||||
WaitForSyncFlagAndClear 0x00000004
|
||||
PlaySound SFX_PLY_JUMP
|
||||
|
||||
@@ -14,7 +14,7 @@ SCRIPT_START script_VaatiTakeover
|
||||
Wait 0x0014
|
||||
SetAnimationState 0x0000
|
||||
DoPostScriptAction 0x001c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
DoPostScriptAction 0x0000
|
||||
SetSyncFlag 0x00000020
|
||||
WaitForSyncFlagAndClear 0x00000010
|
||||
|
||||
@@ -25,7 +25,7 @@ SCRIPT_START script_Vaati1Intro
|
||||
PlayBgm BGM_VAATI_REBORN
|
||||
DoPostScriptAction 0x0019
|
||||
PlaySound SFX_198
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetRoomFlag 0x0000
|
||||
DoPostScriptAction 0x0008
|
||||
Wait 0x0080
|
||||
|
||||
@@ -11,7 +11,7 @@ SCRIPT_START script_VaatiWithZelda
|
||||
Wait 0x003c
|
||||
SetAnimationState 0x0004
|
||||
DoPostScriptAction 0x001c
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
DoPostScriptAction 0x0000
|
||||
Wait 0x003c
|
||||
SetSyncFlag 0x00000002
|
||||
|
||||
@@ -18,7 +18,7 @@ script_0800DCD0:
|
||||
StopBgm
|
||||
Call sub_08066E50
|
||||
PlaySound SFX_1C9
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
PlaySound SFX_1CA
|
||||
Wait 0x003c
|
||||
DoPostScriptAction 0x0004
|
||||
|
||||
@@ -19,7 +19,7 @@ script_0801015A:
|
||||
Call sub_080A1608
|
||||
WaitUntilTextboxCloses
|
||||
EnablePlayerControl
|
||||
CallWithArg sub_080A1550, script_080101AC
|
||||
CallWithArg CuccoMinigame_Init, script_080101AC
|
||||
JumpIfNot script_0801015A
|
||||
PlayBgm BGM_CUCCO_MINIGAME
|
||||
SetRoomFlag 0x0001
|
||||
@@ -49,7 +49,7 @@ script_080101AC:
|
||||
Call sub_0807FB74
|
||||
_0807E8E4_1
|
||||
Call SetPlayerCollisionLayer1
|
||||
Call sub_080A1388
|
||||
Call CuccoMinigame_Cleanup
|
||||
Call sub_0806EC38
|
||||
BeginBlock
|
||||
MoveEntityToPlayer
|
||||
|
||||
@@ -10,7 +10,7 @@ script_0800E974:
|
||||
JumpIfNot script_0800E974
|
||||
SetPlayerIdle
|
||||
SetAnimation 0x0008
|
||||
Call WaitForFrameHiBit
|
||||
Call WaitForAnimDone
|
||||
SetAnimation 0x0009
|
||||
Call sub_0806B260
|
||||
JumpIfNot script_0800E9E4
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user