Merge branch 'master' into transitions

This commit is contained in:
Henny022p
2022-03-23 22:43:39 +01:00
369 changed files with 5173 additions and 10141 deletions
+2
View File
@@ -19,3 +19,5 @@ Makefile text eol=lf
*.h linguist-language=C
*.inc linguist-language=Assembly
data/** linguist-language=data
tools/** linguist-vendored
+1
View File
@@ -85,3 +85,4 @@ _Deparsed_XSubs.pm
*.sna
__pycache__
Info.plist
ctx.c
+11 -11
View File
@@ -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;
}
```
+1 -1
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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
-560
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
@@ -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
+1 -1
View File
@@ -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
@@ -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]
-126
View File
@@ -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
-141
View File
@@ -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
+2 -2
View File
@@ -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]
+144
View File
@@ -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
+1 -1
View File
@@ -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,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]
@@ -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
-110
View File
@@ -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
-57
View File
@@ -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
-39
View File
@@ -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
-102
View File
@@ -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
-56
View File
@@ -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
-100
View File
@@ -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
-698
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
-384
View File
@@ -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
-322
View File
@@ -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}
-288
View File
@@ -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}
-128
View File
@@ -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
-117
View File
@@ -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
-95
View File
@@ -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
-79
View File
@@ -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
-124
View File
@@ -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
-117
View File
@@ -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
-352
View File
@@ -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}
-638
View File
@@ -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
-677
View File
@@ -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
-91
View File
@@ -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
+8 -8
View File
@@ -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]
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+43
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-115
View File
@@ -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,
-34
View File
@@ -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"
+1 -1
View File
@@ -6,7 +6,7 @@
gUnk_0811BDB4:: @ 0811BDB4
.4byte sub_080761C0
.4byte ItemPickupCheck
.4byte sub_080762D8
.4byte sub_08076488
.4byte sub_08076518
-34
View File
@@ -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
-16
View File
@@ -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
-21
View File
@@ -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"
-83
View File
@@ -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
-9
View File
@@ -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
-9
View File
@@ -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
-16
View File
@@ -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"
-10
View File
@@ -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
-9
View File
@@ -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
-17
View File
@@ -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"
-21
View File
@@ -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"
-27
View File
@@ -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"
-13
View File
@@ -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"
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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