mirror of
https://github.com/zeldaret/tmc
synced 2026-06-09 12:46:21 -04:00
Merge branch 'master' into gyorg
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
name: run Doxygen to generate docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: generate docs
|
||||
uses: mattnotmitt/doxygen-action@v1
|
||||
with:
|
||||
doxyfile-path: 'Doxyfile'
|
||||
- name: deploy docs to github pages
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./docs/doxygen
|
||||
+46
-30
@@ -1,33 +1,64 @@
|
||||
# build artifacts
|
||||
src/*.s
|
||||
build/
|
||||
cmake-build-*
|
||||
*.elf
|
||||
*.exe
|
||||
*.gba
|
||||
*.i
|
||||
*.o
|
||||
*.map
|
||||
*.pcm
|
||||
sound/**/*.bin
|
||||
sound/songs/midi/*.s
|
||||
translations/*.bin
|
||||
|
||||
# doxygen
|
||||
docs/doxygen/html/
|
||||
|
||||
# tools
|
||||
tools/agbcc
|
||||
tools/binutils
|
||||
|
||||
# scripts
|
||||
*.py
|
||||
*.pl
|
||||
|
||||
# graphics
|
||||
*.1bpp
|
||||
*.4bpp
|
||||
*.8bpp
|
||||
*.DS_Store
|
||||
*.bak
|
||||
*.bat
|
||||
*.diff
|
||||
*.dump
|
||||
*.elf
|
||||
*.exe
|
||||
*.fwjpnfont
|
||||
*.gba
|
||||
*.sgm
|
||||
*.sa1
|
||||
*.sg1
|
||||
*.gbapal
|
||||
*.hwjpnfont
|
||||
*.i
|
||||
*.latfont
|
||||
*.lz
|
||||
|
||||
# system files
|
||||
*.DS_Store
|
||||
|
||||
# IDE
|
||||
.vscode/settings.json
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/tasks.json
|
||||
*.code-workspace
|
||||
.idea/
|
||||
|
||||
# misc
|
||||
.fuse_hidden*
|
||||
*.bak
|
||||
*.bat
|
||||
*.diff
|
||||
*.dump
|
||||
*.id0
|
||||
*.id1
|
||||
*.id2
|
||||
*.idb
|
||||
*.dmp
|
||||
*.latfont
|
||||
*.lz
|
||||
*.map
|
||||
*.nam
|
||||
*.o
|
||||
*.pcm
|
||||
*.pl
|
||||
*.rl
|
||||
*.s.old
|
||||
*.s.old2
|
||||
@@ -35,7 +66,6 @@
|
||||
*.swo
|
||||
*.swp
|
||||
*.til
|
||||
*.code-workspace
|
||||
*.ss1
|
||||
*.ss2
|
||||
*.ss3
|
||||
@@ -45,27 +75,13 @@
|
||||
*.ss7
|
||||
*.ss8
|
||||
*.ss9
|
||||
.fuse_hidden*
|
||||
.idea/
|
||||
Thumbs.db
|
||||
build/
|
||||
cmake-build-*
|
||||
sound/**/*.bin
|
||||
sound/songs/midi/*.s
|
||||
src/*.s
|
||||
tags
|
||||
tools/agbcc
|
||||
tools/binutils
|
||||
translations/*.bin
|
||||
types_*.taghl
|
||||
*.zip
|
||||
!calcrom.pl
|
||||
!sound/programmable_wave_samples/*.pcm
|
||||
_Deparsed_XSubs.pm
|
||||
*.py
|
||||
*.sna
|
||||
__pycache__
|
||||
.vscode/settings.json
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/tasks.json
|
||||
Info.plist
|
||||
|
||||
+47
-51
@@ -83,11 +83,10 @@ Then, start translating the code to `src/evilSpirit.c`, bit by bit:
|
||||
adds r4, r0, #0
|
||||
```
|
||||
```c
|
||||
void sub_08086284(u8 *r4) {
|
||||
void sub_08086284(u8* r0) {
|
||||
```
|
||||
---
|
||||
```asm
|
||||
add r4, r0, #0
|
||||
ldr r1, _080862B4 @ =gUnk_08120668
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsl r0, r0, #0x2
|
||||
@@ -97,7 +96,7 @@ Then, start translating the code to `src/evilSpirit.c`, bit by bit:
|
||||
bl _call_via_r1
|
||||
```
|
||||
```c
|
||||
gUnk_08120668[*(u8 *)(r4 + 12)](r4);
|
||||
gUnk_08120668[*(u8 *)(r0 + 0xc)](r0);
|
||||
```
|
||||
---
|
||||
|
||||
@@ -109,7 +108,7 @@ Then, start translating the code to `src/evilSpirit.c`, bit by bit:
|
||||
strb r0, [r1]
|
||||
```
|
||||
```c
|
||||
*(u8 *)(r4 + 65) = 0;
|
||||
*(u8 *)(r0 + 0x41) = 0;
|
||||
```
|
||||
---
|
||||
```asm
|
||||
@@ -123,7 +122,7 @@ Then, start translating the code to `src/evilSpirit.c`, bit by bit:
|
||||
bl sub_0805EC9C
|
||||
```
|
||||
```c
|
||||
sub_0805EC9C(r4, *(u16 *)(r4 + 118), *(u16 *)(r4 + 122), 0);
|
||||
sub_0805EC9C(r0, *(u16 *)(r0 + 0x76), *(u16 *)(r0 + 0x7a), 0);
|
||||
```
|
||||
---
|
||||
```asm
|
||||
@@ -132,10 +131,14 @@ Then, start translating the code to `src/evilSpirit.c`, bit by bit:
|
||||
```c
|
||||
return;
|
||||
```
|
||||
The type signature of the function depends on the return type.
|
||||
* `pop {r4, pc}`: `void`
|
||||
The type signature of the function depends on the return type. Return values are stored in r0,
|
||||
so pay attention to how the assembly treats this register toward the end of the function.
|
||||
ex:
|
||||
* `add r0, r4, #0`
|
||||
`pop {r4, pc}`: `void`, `*`
|
||||
|
||||
`pop {r4, pc}`
|
||||
|
||||
The compiler chose to move a value into r0 here; the most likely explanation is that it's returning something.
|
||||
|
||||
You will need to look at the caller and the function prologue to determine the exact type if not void.
|
||||
|
||||
@@ -145,11 +148,10 @@ Since it only used `pop {r4, pc}`, it's probably `void`.
|
||||
|
||||
Putting it all together, we get:
|
||||
```c
|
||||
void sub_08086284(u8 *r4) {
|
||||
{
|
||||
gUnk_08120668[*(u8 *)(r4 + 12)](r4);
|
||||
*(u8 *)(r4 + 65) = 0;
|
||||
sub_0805EC9C(r4, *(u16 *)(r4 + 118), *(u16 *)(r4 + 122), 0);
|
||||
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);
|
||||
return;
|
||||
}
|
||||
```
|
||||
@@ -160,10 +162,10 @@ void sub_08086284(u8 *r4) {
|
||||
This line doesn't look quite right.
|
||||
|
||||
```c
|
||||
gUnk_08120668[*(u8 *)(r4 + 12)](r4);
|
||||
gUnk_08120668[*(u8 *)(r0 + 0xc)](r0);
|
||||
```
|
||||
|
||||
What is `r4`? Since this function corresponds to an entity, we should first try to assign r4 to an`Entity` struct.
|
||||
What is `r0`? Since this function corresponds to an entity, we should first try to assign r0 to an `Entity` struct.
|
||||
You can find out what this is with `git grep`:
|
||||
|
||||
```sh
|
||||
@@ -176,39 +178,35 @@ include/entity.h:typedef struct Entity
|
||||
So it's a struct called `Entity`. Let's look in `entity.h`:
|
||||
|
||||
```c
|
||||
typedef struct Entity
|
||||
{
|
||||
u32 *field_0x0;
|
||||
u32 * field_0x4;
|
||||
EntityType entityType;
|
||||
u8 action;
|
||||
u8 subAction;
|
||||
u8 actionDelay;
|
||||
u8 field_0xf;
|
||||
u8 flags;
|
||||
|
||||
typedef struct Entity_ {
|
||||
/*0x00*/ struct Entity_* prev;
|
||||
/*0x04*/ struct Entity_* next;
|
||||
/*0x08*/ u8 kind;
|
||||
/*0x09*/ u8 id;
|
||||
/*0x0a*/ u8 type;
|
||||
/*0x0b*/ u8 type2;
|
||||
/*0x0c*/ u8 action;
|
||||
/*0x0d*/ u8 subAction;
|
||||
...
|
||||
|
||||
} Entity;
|
||||
```
|
||||
---
|
||||
|
||||
What's the 12th byte in this struct?
|
||||
```c
|
||||
u32 *field_0x0; //0-3
|
||||
u32 * field_0x4; //4-7
|
||||
EntityType entityType; //8-11
|
||||
u8 action; //12
|
||||
u8 subAction; //13
|
||||
/*0x00*/ struct Entity_* prev;
|
||||
/*0x04*/ struct Entity_* next;
|
||||
...
|
||||
/*0x0c*/ u8 action; <-
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
The 12th byte belongs to `action`. We can substitute this in by replacing r4's parameter type and adding in the member names.
|
||||
The 12th byte belongs to `action`. We can substitute this in by replacing r0's parameter type and adding in the member names.
|
||||
|
||||
```c
|
||||
void sub_08086284(Entity *r4) {
|
||||
gUnk_08120668[r4->action](r4);
|
||||
void sub_08086284(Entity *r0) {
|
||||
gUnk_08120668[r0->action](r0);
|
||||
```
|
||||
|
||||
Much better.
|
||||
@@ -216,35 +214,33 @@ Much better.
|
||||
---
|
||||
|
||||
```c
|
||||
void sub_08086284(Entity *r4) {
|
||||
|
||||
gUnk_08120668[r4->action](r4);
|
||||
r4->bitfield = 0;
|
||||
sub_0805EC9C(r4, *((u16 *)&r4->heldObjectPtr + 1), r4->field_0x7a, 0);
|
||||
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);
|
||||
return;
|
||||
}
|
||||
```
|
||||
|
||||
The second of the function that is called uses an offset right in the middle of `heldObjectPtr`. Something seems wrong.
|
||||
We can ignore this for now, since we can come back to that later.
|
||||
Right now we are just concerned with making the function match, even if it isn't pretty.
|
||||
The fields at the end of of `Entity` are general purpose. For this reason the fields are defined as unions so the proper data size may be loaded.
|
||||
This isn't pretty, but right now we are just concerned with making the function match. Later on we can define these entity-specific fields.
|
||||
|
||||
## 5. Build
|
||||
|
||||
```sh
|
||||
make
|
||||
```
|
||||
```gcc
|
||||
```
|
||||
src/evilSpirit.c: In function `sub_08086284':
|
||||
src/evilSpirit.c:5: `r4' undeclared (first use in this function)
|
||||
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'
|
||||
```
|
||||
|
||||
We got some errors. We need to tell the compiler what `gUnk_08120668`, `r4`, and `sub_0805EC9C` are.
|
||||
We got some errors. We need to tell the compiler what `gUnk_08120668`, `Entity`, and `sub_0805EC9C` are.
|
||||
|
||||
We know `r4` is an `Entity`, which is from `entity.h`. We can declare this above the function:
|
||||
We know `r0` is an `Entity`, which is from `entity.h`. We can declare this above the function:
|
||||
```c
|
||||
#include "entity.h"
|
||||
```
|
||||
@@ -265,10 +261,10 @@ Now our file looks like this:
|
||||
extern void sub_0805EC9C();
|
||||
extern void (*gUnk_08120668[])(Entity *);
|
||||
|
||||
void sub_08086284(Entity *r4) {
|
||||
gUnk_08120668[r4->action](r4);
|
||||
r4->bitfield = 0;
|
||||
sub_0805EC9C(r4, *((u16 *)&r4->heldObjectPtr + 1), r4->field_0x7a, 0);
|
||||
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);
|
||||
return;
|
||||
}
|
||||
```
|
||||
|
||||
@@ -131,7 +131,7 @@ C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c)
|
||||
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
|
||||
|
||||
ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s $(ASM_SUBDIR)/*/*.s)
|
||||
ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS))
|
||||
ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS)) $(patsubst $(ASM_SUBDIR)/*/%.s,$(ASM_BUILDDIR)/**/%.o,$(ASM_SRCS))
|
||||
|
||||
DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s $(DATA_ASM_SUBDIR)/**/*.s $(DATA_ASM_SUBDIR)/**/**/*.s)
|
||||
DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS))
|
||||
|
||||
@@ -37,7 +37,7 @@ sub_08019698: @ 0x08019698
|
||||
bl SetLocalFlagByBank
|
||||
ldrh r0, [r4]
|
||||
ldrh r1, [r4, #2]
|
||||
bl sub_08052FD8
|
||||
bl LoadAuxiliaryRoom
|
||||
ldr r5, _0801972C @ =gRoomControls
|
||||
ldrh r0, [r4, #6]
|
||||
ldrh r1, [r5, #0xa]
|
||||
@@ -50,7 +50,7 @@ sub_08019698: @ 0x08019698
|
||||
ldr r1, _08019730 @ =gUpdateVisibleTiles
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
bl sub_08000108
|
||||
bl UpdateScrollVram
|
||||
ldr r2, _08019734 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
ldr r0, _08019738 @ =0x0000FEFF
|
||||
@@ -75,11 +75,11 @@ _08019700:
|
||||
movs r0, #0x11
|
||||
bl LoadGfxGroup
|
||||
bl FlushSprites
|
||||
bl sub_080AD9B0
|
||||
bl sub_080AD918
|
||||
bl DrawEntities
|
||||
bl CopyOAM
|
||||
movs r0, #4
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldr r1, _0801973C @ =gUnk_02018EB0
|
||||
ldrb r0, [r1]
|
||||
adds r0, #1
|
||||
@@ -119,8 +119,8 @@ sub_08019764: @ 0x08019764
|
||||
push {lr}
|
||||
bl FlushSprites
|
||||
bl UpdateEntities
|
||||
bl sub_080AD9B0
|
||||
bl sub_080AD918
|
||||
bl DrawEntities
|
||||
bl CopyOAM
|
||||
ldr r2, _08019798 @ =gUnk_02018EB0
|
||||
ldrh r0, [r2, #4]
|
||||
subs r0, #1
|
||||
@@ -152,8 +152,8 @@ sub_080197A0: @ 0x080197A0
|
||||
bl MenuFadeIn
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080197AC
|
||||
sub_080197AC: @ 0x080197AC
|
||||
thumb_func_start SetBGDefaults
|
||||
SetBGDefaults: @ 0x080197AC
|
||||
ldr r0, _080197C4 @ =gUnk_02025EB0
|
||||
ldr r1, _080197C8 @ =gBGAffSettings
|
||||
str r1, [r0]
|
||||
@@ -168,7 +168,7 @@ sub_080197AC: @ 0x080197AC
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080197C4: .4byte gUnk_02025EB0
|
||||
_080197C8: .4byte gBGAffSettings
|
||||
_080197C8: .4byte gScreen + 0x20
|
||||
_080197CC: .4byte gUnk_080B77C0
|
||||
_080197D0: .4byte gUnk_0200B650
|
||||
|
||||
@@ -227,8 +227,8 @@ _0801982E:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08019840
|
||||
sub_08019840: @ 0x08019840
|
||||
thumb_func_start UpdatePlayerCollision
|
||||
UpdatePlayerCollision: @ 0x08019840
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
@@ -1260,7 +1260,7 @@ _08019FDA:
|
||||
ands r7, r0
|
||||
movs r4, #0
|
||||
movs r6, #0
|
||||
ldr r5, _0801A088 @ =gUnk_03004040
|
||||
ldr r5, _0801A088 @ =gPlayerClones
|
||||
mov sb, r5
|
||||
_08019FEC:
|
||||
mov r1, sb
|
||||
@@ -1340,7 +1340,7 @@ _0801A02A:
|
||||
_0801A07C: .4byte gPlayerState
|
||||
_0801A080: .4byte 0x0000FFFF
|
||||
_0801A084: .4byte 0x00000FFF
|
||||
_0801A088: .4byte gUnk_03004040
|
||||
_0801A088: .4byte gPlayerClones
|
||||
_0801A08C: .4byte gPlayerEntity
|
||||
_0801A090: .4byte gRoomControls
|
||||
_0801A094:
|
||||
@@ -1465,7 +1465,7 @@ _0801A166:
|
||||
b _0801A2A4
|
||||
_0801A174:
|
||||
movs r4, #0
|
||||
ldr r5, _0801A194 @ =gUnk_03004040
|
||||
ldr r5, _0801A194 @ =gPlayerClones
|
||||
_0801A178:
|
||||
ldr r0, [r5]
|
||||
movs r1, #0
|
||||
@@ -1481,7 +1481,7 @@ _0801A186:
|
||||
b _0801A2A4
|
||||
.align 2, 0
|
||||
_0801A190: .4byte gPlayerState
|
||||
_0801A194: .4byte gUnk_03004040
|
||||
_0801A194: .4byte gPlayerClones
|
||||
_0801A198:
|
||||
subs r7, #0x40
|
||||
_0801A19A:
|
||||
@@ -1499,7 +1499,7 @@ _0801A1A6:
|
||||
cmp r0, #9
|
||||
ble _0801A2A4
|
||||
movs r4, #0
|
||||
ldr r5, _0801A1D0 @ =gUnk_03004040
|
||||
ldr r5, _0801A1D0 @ =gPlayerClones
|
||||
_0801A1B6:
|
||||
ldr r0, [r5]
|
||||
movs r1, #6
|
||||
@@ -1513,7 +1513,7 @@ _0801A1B6:
|
||||
b _0801A2A4
|
||||
.align 2, 0
|
||||
_0801A1CC: .4byte gPlayerState
|
||||
_0801A1D0: .4byte gUnk_03004040
|
||||
_0801A1D0: .4byte gPlayerClones
|
||||
_0801A1D4:
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
@@ -3099,7 +3099,7 @@ sub_0801AD6C: @ 0x0801AD6C
|
||||
adds r0, #0x38
|
||||
strb r3, [r0]
|
||||
adds r0, r5, #0
|
||||
bl sub_08016A30
|
||||
bl ResolveCollisionLayer
|
||||
ldr r1, _0801ADD8 @ =gUnk_081091E4
|
||||
ldrb r0, [r5, #8]
|
||||
adds r0, r0, r1
|
||||
@@ -3178,11 +3178,11 @@ sub_0801AE44: @ 0x0801AE44
|
||||
bl sub_0807BFD0
|
||||
cmp r4, #0
|
||||
beq _0801AE5A
|
||||
bl sub_0807C0DC
|
||||
bl LoadRoomGfx
|
||||
_0801AE5A:
|
||||
bl sub_080809D4
|
||||
bl sub_080805F8
|
||||
ldr r0, _0801AEE4 @ =gScreenTransition
|
||||
ldr r0, _0801AEE4 @ =gRoomTransition
|
||||
adds r0, #0x2d
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
@@ -3244,7 +3244,7 @@ _0801AED0:
|
||||
b _0801AF10
|
||||
.align 2, 0
|
||||
_0801AEE0: .4byte gRoomControls
|
||||
_0801AEE4: .4byte gScreenTransition
|
||||
_0801AEE4: .4byte gRoomTransition
|
||||
_0801AEE8: .4byte gArea
|
||||
_0801AEEC: .4byte 0x0600F000
|
||||
_0801AEF0: .4byte gUnk_03004030
|
||||
@@ -3257,7 +3257,7 @@ _0801AF08: .4byte gMapDataTopSpecial
|
||||
_0801AF0C:
|
||||
bl sub_0807C4F8
|
||||
_0801AF10:
|
||||
bl sub_08000108
|
||||
bl UpdateScrollVram
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
@@ -3298,7 +3298,7 @@ sub_0801AF48: @ 0x0801AF48
|
||||
ldr r0, _0801AF7C @ =0x00003FFF
|
||||
cmp r4, r0
|
||||
bhi _0801AF7A
|
||||
ldr r0, _0801AF80 @ =gScreenTransition
|
||||
ldr r0, _0801AF80 @ =gRoomTransition
|
||||
adds r0, #0x30
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
@@ -3320,7 +3320,7 @@ _0801AF7A:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0801AF7C: .4byte 0x00003FFF
|
||||
_0801AF80: .4byte gScreenTransition
|
||||
_0801AF80: .4byte gRoomTransition
|
||||
_0801AF84: .4byte gRoomVars
|
||||
_0801AF88: .4byte gUnk_0200B240
|
||||
|
||||
-717
@@ -1,717 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0803C1E0
|
||||
sub_0803C1E0: @ 0x0803C1E0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0804A720
|
||||
movs r1, #0
|
||||
movs r2, #1
|
||||
strb r2, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7b
|
||||
strb r1, [r0]
|
||||
adds r0, #5
|
||||
strb r1, [r0]
|
||||
adds r0, #3
|
||||
strb r1, [r0]
|
||||
subs r0, #2
|
||||
strb r1, [r0]
|
||||
subs r0, #7
|
||||
strb r1, [r0]
|
||||
adds r0, #8
|
||||
strb r2, [r0]
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
beq _0803C228
|
||||
ldrb r1, [r4, #0xb]
|
||||
lsls r0, r1, #1
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
lsls r1, r1, #3
|
||||
strb r1, [r4, #0x15]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C690
|
||||
b _0803C232
|
||||
_0803C228:
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C4B0
|
||||
_0803C232:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803C234
|
||||
sub_0803C234: @ 0x0803C234
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x81
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _0803C246
|
||||
subs r0, #1
|
||||
strb r0, [r1]
|
||||
_0803C246:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r3, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0803C292
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x80
|
||||
ldrb r0, [r1]
|
||||
adds r2, r0, #1
|
||||
strb r2, [r1]
|
||||
adds r0, r2, #0
|
||||
ands r0, r3
|
||||
cmp r0, #0xf
|
||||
bls _0803C26E
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C5C4
|
||||
b _0803C2D2
|
||||
_0803C26E:
|
||||
movs r0, #3
|
||||
ands r2, r0
|
||||
cmp r2, #0
|
||||
bne _0803C28A
|
||||
bl Random
|
||||
movs r1, #0x10
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _0803C28A
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C624
|
||||
b _0803C2D2
|
||||
_0803C28A:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C4B0
|
||||
b _0803C2D2
|
||||
_0803C292:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C6F8
|
||||
cmp r0, #0
|
||||
beq _0803C2C2
|
||||
ldrh r1, [r4, #0x2a]
|
||||
adds r0, r4, #0
|
||||
bl sub_0800417E
|
||||
ldrb r0, [r4, #0x15]
|
||||
adds r0, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
asrs r0, r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x83
|
||||
ldrb r0, [r1]
|
||||
adds r0, #1
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C690
|
||||
b _0803C2D2
|
||||
_0803C2C2:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C568
|
||||
cmp r0, #0
|
||||
beq _0803C2D2
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C5F0
|
||||
_0803C2D2:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C6DC
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803C2DC
|
||||
sub_0803C2DC: @ 0x0803C2DC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _0803C308
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x82
|
||||
strb r1, [r0]
|
||||
subs r0, #2
|
||||
strb r1, [r0]
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C4B0
|
||||
b _0803C31E
|
||||
_0803C308:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C568
|
||||
cmp r0, #0
|
||||
beq _0803C31E
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x7b
|
||||
ldrb r0, [r2]
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
_0803C31E:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0xb
|
||||
bls _0803C336
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7b
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0803C33A
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C5F0
|
||||
b _0803C33A
|
||||
_0803C336:
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
_0803C33A:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C6DC
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803C344
|
||||
sub_0803C344: @ 0x0803C344
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0803C3F8
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x82
|
||||
ldrb r1, [r0]
|
||||
adds r2, r0, #0
|
||||
cmp r1, #5
|
||||
bhi _0803C3C8
|
||||
lsls r0, r1, #2
|
||||
ldr r1, _0803C36C @ =_0803C370
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0803C36C: .4byte _0803C370
|
||||
_0803C370: @ jump table
|
||||
.4byte _0803C3C8 @ case 0
|
||||
.4byte _0803C3C8 @ case 1
|
||||
.4byte _0803C3A6 @ case 2
|
||||
.4byte _0803C388 @ case 3
|
||||
.4byte _0803C3BE @ case 4
|
||||
.4byte _0803C39C @ case 5
|
||||
_0803C388:
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_08049F84
|
||||
strb r0, [r4, #0x15]
|
||||
b _0803C3E2
|
||||
_0803C39C:
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
b _0803C3E2
|
||||
_0803C3A6:
|
||||
movs r1, #0
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strh r1, [r4, #0x24]
|
||||
bl Random
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r0
|
||||
adds r1, #0x40
|
||||
b _0803C3E0
|
||||
_0803C3BE:
|
||||
ldrb r0, [r4, #0x15]
|
||||
adds r0, #0x10
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x15]
|
||||
_0803C3C8:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
bl Random
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r0
|
||||
adds r1, #0x22
|
||||
_0803C3E0:
|
||||
strb r1, [r4, #0xe]
|
||||
_0803C3E2:
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0xf]
|
||||
ldrb r0, [r4, #0x15]
|
||||
adds r0, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
asrs r0, r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C690
|
||||
_0803C3F8:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C6DC
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803C400
|
||||
sub_0803C400: @ 0x0803C400
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xf]
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0803C458
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
movs r2, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r5, r0, #0x18
|
||||
cmp r5, #0
|
||||
bne _0803C4AC
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x82
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #3
|
||||
bne _0803C450
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x7a
|
||||
ldrb r0, [r1]
|
||||
adds r0, #1
|
||||
strb r0, [r1]
|
||||
ands r0, r2
|
||||
cmp r0, #2
|
||||
bhi _0803C450
|
||||
bl Random
|
||||
movs r1, #0xc0
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _0803C450
|
||||
strb r5, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C690
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C6DC
|
||||
b _0803C4AC
|
||||
_0803C450:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C634
|
||||
b _0803C4AC
|
||||
_0803C458:
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #1
|
||||
beq _0803C46C
|
||||
cmp r0, #0x18
|
||||
beq _0803C494
|
||||
b _0803C49A
|
||||
_0803C46C:
|
||||
ldrb r2, [r4, #0x14]
|
||||
lsls r0, r2, #2
|
||||
strb r0, [r4, #0x15]
|
||||
lsls r2, r2, #0x18
|
||||
lsrs r2, r2, #0x19
|
||||
adds r0, r4, #0
|
||||
movs r1, #0xd
|
||||
bl CreateProjectileWithParent
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0803C49A
|
||||
str r2, [r4, #0x54]
|
||||
ldrb r0, [r4, #0x15]
|
||||
adds r0, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
strb r0, [r2, #0x15]
|
||||
str r4, [r2, #0x50]
|
||||
b _0803C49A
|
||||
_0803C494:
|
||||
strb r1, [r4, #0xe]
|
||||
movs r0, #0x20
|
||||
strb r0, [r4, #0xf]
|
||||
_0803C49A:
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C6DC
|
||||
ldr r0, [r4, #0x54]
|
||||
cmp r0, #0
|
||||
beq _0803C4AC
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C714
|
||||
_0803C4AC:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803C4B0
|
||||
sub_0803C4B0: @ 0x0803C4B0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
movs r1, #0
|
||||
strb r1, [r5, #0xf]
|
||||
adds r0, #0x82
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #1
|
||||
bne _0803C54C
|
||||
bl Random
|
||||
ldr r1, _0803C4F0 @ =gUnk_080CFFA4
|
||||
movs r7, #7
|
||||
ands r0, r7
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r5, #0xe]
|
||||
movs r0, #0x80
|
||||
strh r0, [r5, #0x24]
|
||||
adds r0, r5, #0
|
||||
bl sub_08049FA0
|
||||
cmp r0, #0
|
||||
beq _0803C4F4
|
||||
bl Random
|
||||
adds r4, r0, #0
|
||||
movs r0, #6
|
||||
ands r4, r0
|
||||
lsls r0, r4, #2
|
||||
strb r0, [r5, #0x15]
|
||||
b _0803C556
|
||||
.align 2, 0
|
||||
_0803C4F0: .4byte gUnk_080CFFA4
|
||||
_0803C4F4:
|
||||
adds r0, r5, #0
|
||||
bl sub_08049EE4
|
||||
adds r4, r0, #0
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x83
|
||||
ldrb r0, [r6]
|
||||
cmp r0, #0
|
||||
bne _0803C520
|
||||
bl Random
|
||||
ldr r2, _0803C51C @ =gUnk_080CFFAC
|
||||
movs r1, #0xf
|
||||
ands r1, r0
|
||||
adds r1, r1, r2
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
adds r4, r4, r0
|
||||
b _0803C53E
|
||||
.align 2, 0
|
||||
_0803C51C: .4byte gUnk_080CFFAC
|
||||
_0803C520:
|
||||
bl Random
|
||||
ldr r1, _0803C548 @ =gUnk_080CFFAC
|
||||
ands r0, r7
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
adds r4, r4, r0
|
||||
ldrb r0, [r5, #0xe]
|
||||
adds r0, #0x10
|
||||
strb r0, [r5, #0xe]
|
||||
ldrb r0, [r6]
|
||||
subs r0, #1
|
||||
strb r0, [r6]
|
||||
_0803C53E:
|
||||
adds r0, r4, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
strb r0, [r5, #0x15]
|
||||
b _0803C554
|
||||
.align 2, 0
|
||||
_0803C548: .4byte gUnk_080CFFAC
|
||||
_0803C54C:
|
||||
movs r0, #0xc
|
||||
strb r0, [r5, #0xe]
|
||||
strh r1, [r5, #0x24]
|
||||
ldrb r0, [r5, #0x15]
|
||||
_0803C554:
|
||||
lsrs r4, r0, #2
|
||||
_0803C556:
|
||||
ldrb r0, [r5, #0x14]
|
||||
cmp r4, r0
|
||||
beq _0803C564
|
||||
strb r4, [r5, #0x14]
|
||||
adds r0, r5, #0
|
||||
bl sub_0803C690
|
||||
_0803C564:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803C568
|
||||
sub_0803C568: @ 0x0803C568
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r0, #0x81
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0803C5C0
|
||||
movs r0, #1
|
||||
bl sub_08049DF4
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0803C5C0
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x82
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #2
|
||||
bne _0803C598
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r2, #0x30
|
||||
bl sub_0806FC80
|
||||
cmp r0, #0
|
||||
bne _0803C5BC
|
||||
_0803C598:
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r2, #0x40
|
||||
bl sub_0806FC80
|
||||
cmp r0, #0
|
||||
beq _0803C5C0
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl GetFacingDirection
|
||||
adds r0, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #2
|
||||
ldrb r5, [r5, #0x14]
|
||||
cmp r0, r5
|
||||
bne _0803C5C0
|
||||
_0803C5BC:
|
||||
movs r0, #1
|
||||
b _0803C5C2
|
||||
_0803C5C0:
|
||||
movs r0, #0
|
||||
_0803C5C2:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0803C5C4
|
||||
sub_0803C5C4: @ 0x0803C5C4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0x15]
|
||||
adds r0, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
asrs r0, r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
lsls r0, r0, #2
|
||||
strb r0, [r4, #0x15]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x83
|
||||
ldrb r0, [r1]
|
||||
lsrs r0, r0, #1
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C664
|
||||
adds r4, #0x82
|
||||
movs r0, #2
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803C5F0
|
||||
sub_0803C5F0: @ 0x0803C5F0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #1
|
||||
bl sub_08049F84
|
||||
movs r2, #0
|
||||
strb r0, [r4, #0x15]
|
||||
ldrb r0, [r4, #0x15]
|
||||
adds r0, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
asrs r0, r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x83
|
||||
strb r2, [r0]
|
||||
subs r0, #9
|
||||
strb r2, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C664
|
||||
adds r4, #0x82
|
||||
movs r0, #3
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803C624
|
||||
sub_0803C624: @ 0x0803C624
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0803C664
|
||||
adds r4, #0x82
|
||||
movs r0, #5
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803C634
|
||||
sub_0803C634: @ 0x0803C634
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0x15]
|
||||
adds r0, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
asrs r0, r0, #2
|
||||
movs r1, #0
|
||||
strb r0, [r4, #0x14]
|
||||
lsls r0, r0, #2
|
||||
strb r0, [r4, #0x15]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x83
|
||||
strb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0803C664
|
||||
ldrb r0, [r4, #0xe]
|
||||
lsls r0, r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
adds r4, #0x82
|
||||
movs r0, #4
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803C664
|
||||
sub_0803C664: @ 0x0803C664
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
movs r1, #0
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0xc]
|
||||
movs r0, #0x20
|
||||
strb r0, [r2, #0xe]
|
||||
strb r1, [r2, #0xf]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x80
|
||||
strb r1, [r0]
|
||||
subs r0, #5
|
||||
strb r1, [r0]
|
||||
movs r0, #0
|
||||
strh r1, [r2, #0x24]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x82
|
||||
strb r0, [r1]
|
||||
adds r0, r2, #0
|
||||
bl sub_0803C690
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0803C690
|
||||
sub_0803C690: @ 0x0803C690
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3, #0x14]
|
||||
lsrs r2, r0, #1
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x82
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #5
|
||||
bhi _0803C6D2
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0803C6AC @ =_0803C6B0
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0803C6AC: .4byte _0803C6B0
|
||||
_0803C6B0: @ jump table
|
||||
.4byte _0803C6D2 @ case 0
|
||||
.4byte _0803C6C8 @ case 1
|
||||
.4byte _0803C6D0 @ case 2
|
||||
.4byte _0803C6CC @ case 3
|
||||
.4byte _0803C6C8 @ case 4
|
||||
.4byte _0803C6CC @ case 5
|
||||
_0803C6C8:
|
||||
adds r2, #4
|
||||
b _0803C6D2
|
||||
_0803C6CC:
|
||||
adds r2, #8
|
||||
b _0803C6D2
|
||||
_0803C6D0:
|
||||
adds r2, #0xc
|
||||
_0803C6D2:
|
||||
adds r0, r3, #0
|
||||
adds r1, r2, #0
|
||||
bl InitializeAnimation
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0803C6DC
|
||||
sub_0803C6DC: @ 0x0803C6DC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x82
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0803C6EA
|
||||
strh r0, [r4, #0x24]
|
||||
_0803C6EA:
|
||||
adds r0, r4, #0
|
||||
bl ProcessMovement
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803C6F8
|
||||
sub_0803C6F8: @ 0x0803C6F8
|
||||
ldr r2, _0803C710 @ =gUnk_080CFFBC
|
||||
ldrb r1, [r0, #0x14]
|
||||
lsrs r1, r1, #1
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r2
|
||||
ldrh r0, [r0, #0x2a]
|
||||
ldrh r1, [r1]
|
||||
ands r1, r0
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r0, r0, #0x1f
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0803C710: .4byte gUnk_080CFFBC
|
||||
|
||||
thumb_func_start sub_0803C714
|
||||
sub_0803C714: @ 0x0803C714
|
||||
push {lr}
|
||||
ldr r1, [r0, #0x54]
|
||||
ldrb r3, [r0, #0x14]
|
||||
ldr r2, _0803C734 @ =gUnk_080CFFC4
|
||||
adds r3, r3, r2
|
||||
movs r2, #0
|
||||
ldrsb r2, [r3, r2]
|
||||
lsls r2, r2, #0x10
|
||||
ldrb r3, [r3, #1]
|
||||
lsls r3, r3, #0x18
|
||||
asrs r3, r3, #0x18
|
||||
lsls r3, r3, #0x10
|
||||
bl PositionRelative
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0803C734: .4byte gUnk_080CFFC4
|
||||
+12
-8
@@ -5,8 +5,12 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08003FC4
|
||||
sub_08003FC4: @ 0x08003FC4
|
||||
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]
|
||||
@@ -141,8 +145,8 @@ sub_080040A2: @ 0x080040A2
|
||||
lsrs r1, r1, #2
|
||||
bhs _080040D0
|
||||
|
||||
thumb_func_start sub_080040A8
|
||||
sub_080040A8: @ 0x080040A8
|
||||
thumb_func_start CheckOnScreen
|
||||
CheckOnScreen: @ 0x080040A8
|
||||
ldr r1, _08004368 @ =gRoomControls
|
||||
movs r2, #0x2e
|
||||
ldrsh r2, [r0, r2]
|
||||
@@ -191,10 +195,10 @@ sub_080040EC: @ 0x080040EC
|
||||
b _080040F2
|
||||
_080040F2:
|
||||
push {r2, r3, r4, lr}
|
||||
ldr r4, _08004374 @ =gUnk_03000BF6
|
||||
ldr r4, _08004374 @ =gRoomControls + 6
|
||||
ldrh r4, [r4]
|
||||
subs r2, r2, r4
|
||||
ldr r4, _08004378 @ =gUnk_03000BF8
|
||||
ldr r4, _08004378 @ =gRoomControls + 8
|
||||
ldrh r4, [r4]
|
||||
subs r3, r3, r4
|
||||
ldr r4, _0800437C @ =0x000003F0
|
||||
@@ -603,8 +607,8 @@ _08004364: .4byte gUnk_02024048
|
||||
_08004368: .4byte gRoomControls
|
||||
_0800436C: .4byte 0x0000016E
|
||||
_08004370: .4byte 0x0000011E
|
||||
_08004374: .4byte gUnk_03000BF6
|
||||
_08004378: .4byte gUnk_03000BF8
|
||||
_08004374: .4byte gRoomControls + 6
|
||||
_08004378: .4byte gRoomControls + 8
|
||||
_0800437C: .4byte 0x000003F0
|
||||
_08004380: .4byte gUnk_08000248
|
||||
_08004384: .4byte 0x000FFFFF
|
||||
|
||||
+7
-7
@@ -99,10 +99,10 @@ EnqueueSFX: @ 0x08004488
|
||||
_0800449A:
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0800449C
|
||||
sub_0800449C: @ 0x0800449C
|
||||
thumb_func_start SoundReqClipped
|
||||
SoundReqClipped: @ 0x0800449C
|
||||
push {r1, lr}
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
pop {r0}
|
||||
beq _080044AC
|
||||
@@ -179,9 +179,9 @@ sub_0800451C: @ 0x0800451C
|
||||
cmp r1, #0xb
|
||||
beq sub_08004542
|
||||
cmp r1, #0xa
|
||||
beq sub_0800455E
|
||||
beq ResetCollisionLayer
|
||||
cmp r1, #9
|
||||
beq sub_0800455E
|
||||
beq ResetCollisionLayer
|
||||
cmp r1, #0x26
|
||||
beq _0800457A
|
||||
cmp r1, #0x27
|
||||
@@ -205,8 +205,8 @@ sub_08004542: @ 0x08004542
|
||||
strb r1, [r0, #0x19]
|
||||
bx lr
|
||||
|
||||
non_word_aligned_thumb_func_start sub_0800455E
|
||||
sub_0800455E: @ 0x0800455E
|
||||
non_word_aligned_thumb_func_start ResetCollisionLayer
|
||||
ResetCollisionLayer: @ 0x0800455E
|
||||
movs r1, #0x38
|
||||
movs r2, #1
|
||||
strb r2, [r0, r1]
|
||||
|
||||
@@ -1,196 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0801C1D4
|
||||
sub_0801C1D4: @ 0x0801C1D4
|
||||
push {r4, lr}
|
||||
movs r4, #0
|
||||
_0801C1D8:
|
||||
lsls r1, r4, #5
|
||||
ldr r0, _0801C200 @ =gUnk_0200AF34
|
||||
adds r2, r1, r0
|
||||
ldrb r1, [r2]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0801C1F8
|
||||
ldrb r0, [r2, #1]
|
||||
lsls r0, r0, #4
|
||||
ldr r1, _0801C204 @ =gUnk_080C8F8C
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0, #8]
|
||||
adds r0, r2, #0
|
||||
bl _call_via_r1
|
||||
_0801C1F8:
|
||||
adds r4, #1
|
||||
cmp r4, #0x17
|
||||
bls _0801C1D8
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0801C200: .4byte gUnk_0200AF34
|
||||
_0801C204: .4byte gUnk_080C8F8C
|
||||
|
||||
thumb_func_start sub_0801C208
|
||||
sub_0801C208: @ 0x0801C208
|
||||
push {r4, r5, lr}
|
||||
movs r5, #0
|
||||
ldr r4, _0801C250 @ =gOamCmd
|
||||
_0801C20E:
|
||||
lsls r1, r5, #5
|
||||
ldr r0, _0801C254 @ =gUnk_0200AF34
|
||||
adds r3, r1, r0
|
||||
ldrb r1, [r3]
|
||||
movs r0, #3
|
||||
ands r0, r1
|
||||
cmp r0, #3
|
||||
bne _0801C248
|
||||
ldrh r0, [r3, #0xc]
|
||||
strh r0, [r4]
|
||||
ldrh r0, [r3, #0xe]
|
||||
strh r0, [r4, #2]
|
||||
ldrb r2, [r3, #1]
|
||||
lsls r2, r2, #4
|
||||
ldr r0, _0801C258 @ =gUnk_080C8F8C
|
||||
adds r2, r2, r0
|
||||
ldrh r0, [r2]
|
||||
strh r0, [r4, #4]
|
||||
ldrh r0, [r2, #2]
|
||||
strh r0, [r4, #6]
|
||||
ldrb r0, [r3, #0x18]
|
||||
lsls r0, r0, #0xc
|
||||
ldrh r1, [r3, #0x1a]
|
||||
orrs r0, r1
|
||||
strh r0, [r4, #8]
|
||||
ldrh r0, [r2, #6]
|
||||
ldrb r1, [r3, #0x10]
|
||||
bl sub_080ADA14
|
||||
_0801C248:
|
||||
adds r5, #1
|
||||
cmp r5, #0x17
|
||||
bls _0801C20E
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0801C250: .4byte gOamCmd
|
||||
_0801C254: .4byte gUnk_0200AF34
|
||||
_0801C258: .4byte gUnk_080C8F8C
|
||||
|
||||
thumb_func_start sub_0801C25C
|
||||
sub_0801C25C: @ 0x0801C25C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
movs r4, #0
|
||||
ldr r5, _0801C2E4 @ =gUnk_0200AF34
|
||||
adds r6, r5, #0
|
||||
subs r6, #0x34
|
||||
movs r7, #0xd
|
||||
rsbs r7, r7, #0
|
||||
ldr r3, _0801C2E8 @ =0x040000D4
|
||||
_0801C26C:
|
||||
lsls r0, r4, #5
|
||||
adds r2, r0, r5
|
||||
ldrb r1, [r2]
|
||||
movs r0, #3
|
||||
ands r0, r1
|
||||
cmp r0, #3
|
||||
bne _0801C2A8
|
||||
lsls r0, r1, #0x1c
|
||||
lsrs r0, r0, #0x1e
|
||||
cmp r0, #1
|
||||
bne _0801C2A8
|
||||
adds r0, r7, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, [r2, #0x1c]
|
||||
str r0, [r3]
|
||||
ldrh r0, [r2, #0x1a]
|
||||
lsls r0, r0, #5
|
||||
ldr r1, _0801C2EC @ =0x06010000
|
||||
adds r0, r0, r1
|
||||
str r0, [r3, #4]
|
||||
ldrb r0, [r2, #0x19]
|
||||
lsls r0, r0, #3
|
||||
movs r1, #0x84
|
||||
lsls r1, r1, #0x18
|
||||
orrs r0, r1
|
||||
str r0, [r3, #8]
|
||||
ldr r0, [r3, #8]
|
||||
_0801C2A8:
|
||||
adds r4, #1
|
||||
cmp r4, #0x17
|
||||
ble _0801C26C
|
||||
adds r2, r6, #0
|
||||
ldrb r3, [r2, #0x13]
|
||||
movs r0, #0x13
|
||||
ldrsb r0, [r2, r0]
|
||||
cmp r0, #0
|
||||
bge _0801C2C8
|
||||
movs r1, #0x7f
|
||||
ands r1, r3
|
||||
strb r1, [r2, #0x13]
|
||||
movs r0, #0x8d
|
||||
lsls r0, r0, #1
|
||||
bl sub_0801C2F0
|
||||
_0801C2C8:
|
||||
ldrb r2, [r6, #0x14]
|
||||
movs r0, #0x14
|
||||
ldrsb r0, [r6, r0]
|
||||
cmp r0, #0
|
||||
bge _0801C2E0
|
||||
movs r1, #0x7f
|
||||
ands r1, r2
|
||||
strb r1, [r6, #0x14]
|
||||
movs r0, #0x93
|
||||
lsls r0, r0, #1
|
||||
bl sub_0801C2F0
|
||||
_0801C2E0:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801C2E4: .4byte gUnk_0200AF34
|
||||
_0801C2E8: .4byte 0x040000D4
|
||||
_0801C2EC: .4byte 0x06010000
|
||||
|
||||
thumb_func_start sub_0801C2F0
|
||||
sub_0801C2F0: @ 0x0801C2F0
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, r1, #0
|
||||
lsls r5, r4, #5
|
||||
ldr r1, _0801C330 @ =0x06010000
|
||||
adds r4, r5, r1
|
||||
movs r1, #0xa
|
||||
bl Div
|
||||
cmp r0, #9
|
||||
bls _0801C308
|
||||
movs r0, #9
|
||||
_0801C308:
|
||||
ldr r2, _0801C334 @ =0x040000D4
|
||||
lsls r0, r0, #5
|
||||
ldr r3, _0801C338 @ =gUnk_085C4620
|
||||
adds r0, r0, r3
|
||||
str r0, [r2]
|
||||
str r4, [r2, #4]
|
||||
ldr r4, _0801C33C @ =0x84000008
|
||||
str r4, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
adds r1, #0xa
|
||||
lsls r1, r1, #5
|
||||
adds r1, r1, r3
|
||||
str r1, [r2]
|
||||
ldr r1, _0801C340 @ =0x06010020
|
||||
adds r0, r5, r1
|
||||
str r0, [r2, #4]
|
||||
str r4, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0801C330: .4byte 0x06010000
|
||||
_0801C334: .4byte 0x040000D4
|
||||
_0801C338: .4byte gUnk_085C4620
|
||||
_0801C33C: .4byte 0x84000008
|
||||
_0801C340: .4byte 0x06010020
|
||||
@@ -1,151 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0801C370
|
||||
sub_0801C370: @ 0x0801C370
|
||||
push {r4, r5, r6, lr}
|
||||
cmp r0, #0
|
||||
bne _0801C390
|
||||
ldr r0, _0801C388 @ =gSave
|
||||
adds r1, r0, #0
|
||||
adds r1, #0xaa
|
||||
ldrb r1, [r1]
|
||||
lsrs r6, r1, #1
|
||||
adds r0, #0xc0
|
||||
ldrh r4, [r0]
|
||||
ldr r5, _0801C38C @ =gUnk_0200AF00
|
||||
b _0801C398
|
||||
.align 2, 0
|
||||
_0801C388: .4byte gSave
|
||||
_0801C38C: .4byte gUnk_0200AF00
|
||||
_0801C390:
|
||||
ldr r0, _0801C470 @ =gUnk_0200AF00
|
||||
ldrb r6, [r0, #3]
|
||||
ldrh r4, [r0, #0xe]
|
||||
adds r5, r0, #0
|
||||
_0801C398:
|
||||
movs r1, #0xcd
|
||||
lsls r1, r1, #2
|
||||
adds r0, r5, #0
|
||||
bl MemClear
|
||||
strb r6, [r5, #3]
|
||||
strh r4, [r5, #0xe]
|
||||
ldr r0, _0801C474 @ =gSave
|
||||
adds r0, #0xab
|
||||
ldrb r0, [r0]
|
||||
lsrs r0, r0, #1
|
||||
strb r0, [r5, #4]
|
||||
movs r0, #0xc
|
||||
bl LoadPaletteGroup
|
||||
movs r0, #0x10
|
||||
bl LoadGfxGroup
|
||||
ldr r4, _0801C478 @ =gBG0Buffer
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #4
|
||||
adds r0, r4, #0
|
||||
bl MemClear
|
||||
ldr r1, _0801C47C @ =gScreen
|
||||
str r4, [r1, #0x10]
|
||||
ldr r0, _0801C480 @ =0x00001F0C
|
||||
strh r0, [r1, #8]
|
||||
ldrh r2, [r1]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #1
|
||||
adds r0, r3, #0
|
||||
orrs r0, r2
|
||||
strh r0, [r1]
|
||||
ldr r1, _0801C484 @ =gUnk_03000000
|
||||
ldr r2, _0801C488 @ =0x00000427
|
||||
adds r0, r1, r2
|
||||
movs r2, #1
|
||||
strb r2, [r0]
|
||||
ldr r3, _0801C48C @ =0x00000426
|
||||
adds r0, r1, r3
|
||||
strb r2, [r0]
|
||||
ldr r0, _0801C490 @ =0x0000042E
|
||||
adds r1, r1, r0
|
||||
strb r2, [r1]
|
||||
movs r0, #0x7f
|
||||
strb r0, [r5, #0x13]
|
||||
strb r0, [r5, #0x14]
|
||||
strb r0, [r5, #8]
|
||||
bl sub_0801C6B0
|
||||
bl sub_0801C4B0
|
||||
bl sub_0801C85C
|
||||
bl sub_0801C99C
|
||||
movs r0, #0xd0
|
||||
strh r0, [r5, #0x16]
|
||||
movs r0, #0xb8
|
||||
strh r0, [r5, #0x18]
|
||||
movs r0, #0xd8
|
||||
strh r0, [r5, #0x1a]
|
||||
movs r0, #0x1c
|
||||
strh r0, [r5, #0x1c]
|
||||
strh r0, [r5, #0x1e]
|
||||
movs r0, #0xe
|
||||
strh r0, [r5, #0x20]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x34
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #2
|
||||
bl MemClear
|
||||
movs r0, #5
|
||||
movs r1, #9
|
||||
bl sub_0801CA6C
|
||||
movs r0, #3
|
||||
movs r1, #0
|
||||
bl sub_0801CA6C
|
||||
movs r0, #4
|
||||
movs r1, #0
|
||||
bl sub_0801CA6C
|
||||
movs r0, #2
|
||||
movs r1, #0
|
||||
bl sub_0801CA6C
|
||||
movs r0, #1
|
||||
movs r1, #0
|
||||
bl sub_0801CA6C
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl sub_0801CA6C
|
||||
movs r0, #7
|
||||
movs r1, #0
|
||||
bl sub_0801CA6C
|
||||
movs r0, #6
|
||||
movs r1, #0
|
||||
bl sub_0801CA6C
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0801C470: .4byte gUnk_0200AF00
|
||||
_0801C474: .4byte gSave
|
||||
_0801C478: .4byte gBG0Buffer
|
||||
_0801C47C: .4byte gScreen
|
||||
_0801C480: .4byte 0x00001F0C
|
||||
_0801C484: .4byte gUnk_03000000
|
||||
_0801C488: .4byte 0x00000427
|
||||
_0801C48C: .4byte 0x00000426
|
||||
_0801C490: .4byte 0x0000042E
|
||||
|
||||
thumb_func_start RefreshUI
|
||||
RefreshUI: @ 0x0801C494
|
||||
ldr r1, _0801C49C @ =gScreen
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0xe]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0801C49C: .4byte gScreen
|
||||
|
||||
thumb_func_start RecoverUI
|
||||
RecoverUI: @ 0x0801C4A0
|
||||
ldr r1, _0801C4AC @ =gUnk_0200AF00
|
||||
movs r0, #0
|
||||
strb r0, [r1, #2]
|
||||
strb r0, [r1, #0x10]
|
||||
strb r0, [r1, #0xa]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0801C4AC: .4byte gUnk_0200AF00
|
||||
@@ -1,112 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0801C5E0
|
||||
sub_0801C5E0: @ 0x0801C5E0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldr r7, _0801C650 @ =gUnk_085C4B20
|
||||
cmp r2, #0
|
||||
bne _0801C5F0
|
||||
ldr r0, _0801C654 @ =0xFFFFFD80
|
||||
adds r7, r7, r0
|
||||
_0801C5F0:
|
||||
ldr r0, _0801C658 @ =0x000003FF
|
||||
ands r0, r4
|
||||
lsls r6, r0, #5
|
||||
ldr r0, _0801C65C @ =0x0600C000
|
||||
adds r4, r6, r0
|
||||
cmp r3, #2
|
||||
beq _0801C620
|
||||
cmp r3, #3
|
||||
bne _0801C63C
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x64
|
||||
bl Div
|
||||
adds r5, r1, #0
|
||||
ldr r1, _0801C660 @ =0x040000D4
|
||||
lsls r0, r0, #6
|
||||
adds r0, r7, r0
|
||||
str r0, [r1]
|
||||
str r4, [r1, #4]
|
||||
ldr r0, _0801C664 @ =0x84000010
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
ldr r0, _0801C668 @ =0x0600C040
|
||||
adds r4, r6, r0
|
||||
_0801C620:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0xa
|
||||
bl Div
|
||||
adds r5, r1, #0
|
||||
ldr r1, _0801C660 @ =0x040000D4
|
||||
lsls r0, r0, #6
|
||||
adds r0, r7, r0
|
||||
str r0, [r1]
|
||||
str r4, [r1, #4]
|
||||
ldr r0, _0801C664 @ =0x84000010
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
adds r4, #0x40
|
||||
_0801C63C:
|
||||
ldr r1, _0801C660 @ =0x040000D4
|
||||
lsls r0, r5, #6
|
||||
adds r0, r7, r0
|
||||
str r0, [r1]
|
||||
str r4, [r1, #4]
|
||||
ldr r0, _0801C664 @ =0x84000010
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801C650: .4byte gUnk_085C4B20
|
||||
_0801C654: .4byte 0xFFFFFD80
|
||||
_0801C658: .4byte 0x000003FF
|
||||
_0801C65C: .4byte 0x0600C000
|
||||
_0801C660: .4byte 0x040000D4
|
||||
_0801C664: .4byte 0x84000010
|
||||
_0801C668: .4byte 0x0600C040
|
||||
|
||||
thumb_func_start sub_0801C66C
|
||||
sub_0801C66C: @ 0x0801C66C
|
||||
push {lr}
|
||||
ldr r1, _0801C6A4 @ =gUnk_0200AF00
|
||||
ldrb r0, [r1, #2]
|
||||
cmp r0, #0
|
||||
beq _0801C6A2
|
||||
movs r0, #0
|
||||
strb r0, [r1, #2]
|
||||
ldrb r0, [r1, #4]
|
||||
movs r2, #1
|
||||
cmp r0, #0x28
|
||||
bls _0801C684
|
||||
movs r2, #2
|
||||
_0801C684:
|
||||
ldr r0, _0801C6A8 @ =gUnk_02034CF0
|
||||
ldr r3, _0801C6AC @ =gScreen
|
||||
movs r1, #0
|
||||
_0801C68A:
|
||||
str r1, [r0]
|
||||
str r1, [r0, #4]
|
||||
str r1, [r0, #8]
|
||||
str r1, [r0, #0xc]
|
||||
str r1, [r0, #0x10]
|
||||
str r1, [r0, #0x14]
|
||||
adds r0, #0x40
|
||||
subs r2, #1
|
||||
cmp r2, #0
|
||||
bgt _0801C68A
|
||||
movs r0, #1
|
||||
strh r0, [r3, #0xe]
|
||||
_0801C6A2:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801C6A4: .4byte gUnk_0200AF00
|
||||
_0801C6A8: .4byte gUnk_02034CF0
|
||||
_0801C6AC: .4byte gScreen
|
||||
@@ -1,869 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0801C85C
|
||||
sub_0801C85C: @ 0x0801C85C
|
||||
push {r4, r5, r6, lr}
|
||||
movs r2, #0
|
||||
ldr r5, _0801C884 @ =gUnk_0200AF00
|
||||
ldrb r1, [r5, #1]
|
||||
movs r0, #0x20
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0801C878
|
||||
ldr r0, _0801C888 @ =gPlayerState
|
||||
adds r0, #0xa0
|
||||
ldrb r1, [r0]
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r2, r0, #0x1f
|
||||
_0801C878:
|
||||
cmp r2, #0
|
||||
bne _0801C88C
|
||||
bl sub_0801C824
|
||||
b _0801C984
|
||||
.align 2, 0
|
||||
_0801C884: .4byte gUnk_0200AF00
|
||||
_0801C888: .4byte gPlayerState
|
||||
_0801C88C:
|
||||
ldrb r0, [r5, #4]
|
||||
ldr r4, _0801C92C @ =gUnk_02034D30
|
||||
cmp r0, #0x28
|
||||
bls _0801C896
|
||||
adds r4, #0x40
|
||||
_0801C896:
|
||||
ldr r0, _0801C930 @ =gPlayerState
|
||||
adds r0, #0xa4
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
adds r0, #0x13
|
||||
movs r1, #0x14
|
||||
bl Div
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0x28
|
||||
bls _0801C8AE
|
||||
movs r1, #0x28
|
||||
_0801C8AE:
|
||||
ldrb r0, [r5, #6]
|
||||
cmp r0, #0
|
||||
beq _0801C8BA
|
||||
ldrb r0, [r5, #7]
|
||||
cmp r0, r1
|
||||
beq _0801C910
|
||||
_0801C8BA:
|
||||
movs r6, #1
|
||||
strb r6, [r5, #6]
|
||||
strb r1, [r5, #7]
|
||||
adds r0, r1, #0
|
||||
movs r1, #4
|
||||
bl Div
|
||||
adds r3, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldr r1, _0801C934 @ =0x0000F016
|
||||
adds r0, r1, #0
|
||||
strh r0, [r4]
|
||||
ldr r1, _0801C938 @ =0x0000F416
|
||||
adds r0, r1, #0
|
||||
strh r0, [r4, #0x16]
|
||||
ldr r2, _0801C93C @ =0x040000D4
|
||||
movs r0, #0xa
|
||||
subs r0, r0, r3
|
||||
lsls r0, r0, #1
|
||||
ldr r1, _0801C940 @ =gUnk_080C8F54
|
||||
adds r0, r0, r1
|
||||
str r0, [r2]
|
||||
adds r0, r4, #2
|
||||
str r0, [r2, #4]
|
||||
ldr r0, _0801C944 @ =0x8000000A
|
||||
str r0, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
cmp r5, #0
|
||||
beq _0801C90C
|
||||
lsls r2, r3, #1
|
||||
adds r2, r2, r4
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x17
|
||||
ldr r3, _0801C948 @ =0x000003FF
|
||||
adds r1, r3, #0
|
||||
ands r0, r1
|
||||
movs r3, #0xf0
|
||||
lsls r3, r3, #8
|
||||
adds r1, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2, #2]
|
||||
_0801C90C:
|
||||
ldr r0, _0801C94C @ =gScreen
|
||||
strh r6, [r0, #0xe]
|
||||
_0801C910:
|
||||
ldr r0, _0801C930 @ =gPlayerState
|
||||
adds r0, #0xa0
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #5
|
||||
bgt _0801C962
|
||||
cmp r0, #4
|
||||
blt _0801C962
|
||||
ldr r2, _0801C950 @ =gUnk_0200AF00
|
||||
ldrb r1, [r2, #9]
|
||||
adds r4, r2, #0
|
||||
cmp r0, #4
|
||||
bne _0801C954
|
||||
adds r0, r1, #2
|
||||
b _0801C956
|
||||
.align 2, 0
|
||||
_0801C92C: .4byte gUnk_02034D30
|
||||
_0801C930: .4byte gPlayerState
|
||||
_0801C934: .4byte 0x0000F016
|
||||
_0801C938: .4byte 0x0000F416
|
||||
_0801C93C: .4byte 0x040000D4
|
||||
_0801C940: .4byte gUnk_080C8F54
|
||||
_0801C944: .4byte 0x8000000A
|
||||
_0801C948: .4byte 0x000003FF
|
||||
_0801C94C: .4byte gScreen
|
||||
_0801C950: .4byte gUnk_0200AF00
|
||||
_0801C954:
|
||||
adds r0, r1, #1
|
||||
_0801C956:
|
||||
strb r0, [r2, #9]
|
||||
ldrb r0, [r4, #9]
|
||||
lsrs r3, r0, #4
|
||||
movs r0, #3
|
||||
ands r3, r0
|
||||
b _0801C966
|
||||
_0801C962:
|
||||
movs r3, #0
|
||||
ldr r4, _0801C988 @ =gUnk_0200AF00
|
||||
_0801C966:
|
||||
ldrb r0, [r4, #8]
|
||||
cmp r3, r0
|
||||
beq _0801C984
|
||||
strb r3, [r4, #8]
|
||||
ldr r4, _0801C98C @ =0x0600C2C0
|
||||
ldr r1, _0801C990 @ =0x040000D4
|
||||
ldr r2, _0801C994 @ =gUnk_080C8F7C
|
||||
lsls r0, r3, #2
|
||||
adds r0, r0, r2
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
str r4, [r1, #4]
|
||||
ldr r0, _0801C998 @ =0x84000030
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
_0801C984:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0801C988: .4byte gUnk_0200AF00
|
||||
_0801C98C: .4byte 0x0600C2C0
|
||||
_0801C990: .4byte 0x040000D4
|
||||
_0801C994: .4byte gUnk_080C8F7C
|
||||
_0801C998: .4byte 0x84000030
|
||||
|
||||
thumb_func_start sub_0801C99C
|
||||
sub_0801C99C: @ 0x0801C99C
|
||||
push {r4, r5, lr}
|
||||
ldr r4, _0801C9E0 @ =gUnk_0200AF00
|
||||
ldrb r1, [r4, #1]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0801C9B2
|
||||
bl sub_08052724
|
||||
cmp r0, #0
|
||||
bne _0801C9EC
|
||||
_0801C9B2:
|
||||
ldrb r0, [r4, #0x10]
|
||||
cmp r0, #0
|
||||
beq _0801CA50
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0x10]
|
||||
ldr r2, _0801C9E4 @ =gUnk_020350E2
|
||||
strh r0, [r2]
|
||||
strh r0, [r2, #2]
|
||||
strh r0, [r2, #4]
|
||||
strh r0, [r2, #6]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x40
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
strh r0, [r1]
|
||||
ldr r1, _0801C9E8 @ =gScreen
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0xe]
|
||||
b _0801CA50
|
||||
.align 2, 0
|
||||
_0801C9E0: .4byte gUnk_0200AF00
|
||||
_0801C9E4: .4byte gUnk_020350E2
|
||||
_0801C9E8: .4byte gScreen
|
||||
_0801C9EC:
|
||||
ldrb r0, [r4, #0x10]
|
||||
cmp r0, #0
|
||||
bne _0801CA1E
|
||||
ldr r2, _0801CA54 @ =gUnk_020350E2
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x40
|
||||
ldr r3, _0801CA58 @ =0x0000F01C
|
||||
strh r3, [r2]
|
||||
adds r0, r3, #1
|
||||
strh r0, [r2, #2]
|
||||
adds r0, r3, #2
|
||||
strh r0, [r1]
|
||||
adds r0, r3, #3
|
||||
strh r0, [r1, #2]
|
||||
adds r3, #0x5a
|
||||
strh r3, [r2, #4]
|
||||
adds r0, r3, #1
|
||||
strh r0, [r1, #4]
|
||||
adds r0, r3, #2
|
||||
strh r0, [r2, #6]
|
||||
adds r0, r3, #3
|
||||
strh r0, [r1, #6]
|
||||
ldr r1, _0801CA5C @ =gScreen
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0xe]
|
||||
_0801CA1E:
|
||||
ldr r0, _0801CA60 @ =gSave
|
||||
ldr r3, _0801CA64 @ =gArea
|
||||
ldrb r1, [r3, #3]
|
||||
ldr r5, _0801CA68 @ =0x0000045C
|
||||
adds r2, r0, r5
|
||||
adds r1, r1, r2
|
||||
ldrb r0, [r4, #0x12]
|
||||
ldrb r1, [r1]
|
||||
cmp r0, r1
|
||||
bne _0801CA38
|
||||
ldrb r0, [r4, #0x10]
|
||||
cmp r0, #0
|
||||
bne _0801CA50
|
||||
_0801CA38:
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0x10]
|
||||
ldrb r0, [r3, #3]
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0x12]
|
||||
ldrb r1, [r4, #0x12]
|
||||
movs r0, #0x76
|
||||
movs r2, #0
|
||||
movs r3, #2
|
||||
bl sub_0801C5E0
|
||||
_0801CA50:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0801CA54: .4byte gUnk_020350E2
|
||||
_0801CA58: .4byte 0x0000F01C
|
||||
_0801CA5C: .4byte gScreen
|
||||
_0801CA60: .4byte gSave
|
||||
_0801CA64: .4byte gArea
|
||||
_0801CA68: .4byte 0x0000045C
|
||||
|
||||
thumb_func_start sub_0801CA6C
|
||||
sub_0801CA6C: @ 0x0801CA6C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
movs r3, #0
|
||||
ldr r7, _0801CAA8 @ =gUnk_0200AF34
|
||||
movs r0, #1
|
||||
mov ip, r0
|
||||
ldr r1, _0801CAAC @ =gUnk_080C8F8C
|
||||
lsls r0, r5, #4
|
||||
adds r4, r0, r1
|
||||
_0801CA80:
|
||||
lsls r0, r3, #5
|
||||
adds r1, r0, r7
|
||||
ldrb r2, [r1]
|
||||
movs r0, #1
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
bne _0801CAB0
|
||||
strb r5, [r1, #1]
|
||||
strb r6, [r1, #2]
|
||||
movs r0, #0xff
|
||||
strb r0, [r1, #0x10]
|
||||
mov r0, ip
|
||||
orrs r0, r2
|
||||
strb r0, [r1]
|
||||
ldrh r0, [r4, #4]
|
||||
strh r0, [r1, #0x1a]
|
||||
ldrb r0, [r4, #0xc]
|
||||
strb r0, [r1, #3]
|
||||
b _0801CAB6
|
||||
.align 2, 0
|
||||
_0801CAA8: .4byte gUnk_0200AF34
|
||||
_0801CAAC: .4byte gUnk_080C8F8C
|
||||
_0801CAB0:
|
||||
adds r3, #1
|
||||
cmp r3, #0x17
|
||||
bls _0801CA80
|
||||
_0801CAB6:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_0801CAB8
|
||||
sub_0801CAB8: @ 0x0801CAB8
|
||||
push {lr}
|
||||
str r1, [r0, #0x14]
|
||||
ldrb r2, [r1, #1]
|
||||
strb r2, [r0, #0x11]
|
||||
ldrb r2, [r1, #2]
|
||||
strb r2, [r0, #0x12]
|
||||
ldrb r2, [r1, #3]
|
||||
strb r2, [r0, #0x13]
|
||||
ldrb r1, [r1]
|
||||
bl sub_0801CAFC
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0801CAD0
|
||||
sub_0801CAD0: @ 0x0801CAD0
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0x11]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0x11]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0801CAF8
|
||||
ldr r1, [r2, #0x14]
|
||||
movs r0, #3
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
bge _0801CAF0
|
||||
ldrb r0, [r1, #4]
|
||||
lsls r0, r0, #2
|
||||
subs r1, r1, r0
|
||||
_0801CAF0:
|
||||
adds r1, #4
|
||||
adds r0, r2, #0
|
||||
bl sub_0801CAB8
|
||||
_0801CAF8:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0801CAFC
|
||||
sub_0801CAFC: @ 0x0801CAFC
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
adds r3, r1, #0
|
||||
ldrb r0, [r2, #1]
|
||||
lsls r0, r0, #4
|
||||
ldr r1, _0801CB1C @ =gUnk_080C8F8C
|
||||
adds r1, r0, r1
|
||||
ldrb r0, [r2, #0x10]
|
||||
cmp r3, r0
|
||||
beq _0801CB18
|
||||
strb r3, [r2, #0x10]
|
||||
adds r0, r2, #0
|
||||
bl sub_0801CB20
|
||||
_0801CB18:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801CB1C: .4byte gUnk_080C8F8C
|
||||
|
||||
thumb_func_start sub_0801CB20
|
||||
sub_0801CB20: @ 0x0801CB20
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r1, #0xe]
|
||||
cmp r0, #0
|
||||
bne _0801CB76
|
||||
ldrh r1, [r1, #6]
|
||||
lsls r1, r1, #4
|
||||
ldr r0, _0801CB54 @ =gSpritePtrs
|
||||
adds r1, r1, r0
|
||||
ldrb r0, [r3, #0x10]
|
||||
lsls r0, r0, #2
|
||||
ldr r2, [r1, #4]
|
||||
adds r2, r2, r0
|
||||
ldrh r0, [r2, #2]
|
||||
lsls r0, r0, #5
|
||||
ldr r1, [r1, #8]
|
||||
adds r1, r1, r0
|
||||
ldrb r2, [r2]
|
||||
cmp r2, #0
|
||||
bne _0801CB58
|
||||
ldrb r1, [r3]
|
||||
movs r0, #0xd
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r3]
|
||||
b _0801CB74
|
||||
.align 2, 0
|
||||
_0801CB54: .4byte gSpritePtrs
|
||||
_0801CB58:
|
||||
ldrb r0, [r3, #0x19]
|
||||
cmp r0, r2
|
||||
bne _0801CB64
|
||||
ldr r0, [r3, #0x1c]
|
||||
cmp r0, r1
|
||||
beq _0801CB74
|
||||
_0801CB64:
|
||||
str r1, [r3, #0x1c]
|
||||
ldrb r0, [r3]
|
||||
movs r1, #0xd
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r0
|
||||
movs r0, #4
|
||||
orrs r1, r0
|
||||
strb r1, [r3]
|
||||
_0801CB74:
|
||||
strb r2, [r3, #0x19]
|
||||
_0801CB76:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0801CB78
|
||||
sub_0801CB78: @ 0x0801CB78
|
||||
push {lr}
|
||||
ldr r2, _0801CB8C @ =gUnk_080C903C
|
||||
ldrb r1, [r0, #4]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801CB8C: .4byte gUnk_080C903C
|
||||
|
||||
thumb_func_start sub_0801CB90
|
||||
sub_0801CB90: @ 0x0801CB90
|
||||
push {lr}
|
||||
ldr r3, _0801CBC4 @ =gUnk_0200AF00
|
||||
ldrb r1, [r0, #1]
|
||||
lsls r1, r1, #1
|
||||
adds r2, r3, #0
|
||||
adds r2, #0x16
|
||||
adds r1, r1, r2
|
||||
ldrh r1, [r1]
|
||||
strh r1, [r0, #0xc]
|
||||
ldrb r1, [r0, #1]
|
||||
lsls r1, r1, #1
|
||||
adds r3, #0x1c
|
||||
adds r1, r1, r3
|
||||
ldrh r1, [r1]
|
||||
subs r1, #0x20
|
||||
strh r1, [r0, #0xe]
|
||||
movs r1, #1
|
||||
strb r1, [r0, #4]
|
||||
ldrb r1, [r0]
|
||||
movs r2, #2
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
ldrb r1, [r0, #1]
|
||||
bl sub_0801CAFC
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801CBC4: .4byte gUnk_0200AF00
|
||||
|
||||
thumb_func_start sub_0801CBC8
|
||||
sub_0801CBC8: @ 0x0801CBC8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #2]
|
||||
movs r6, #8
|
||||
cmp r0, #0
|
||||
bne _0801CC10
|
||||
movs r6, #4
|
||||
cmp r0, #0
|
||||
bne _0801CC10
|
||||
ldr r3, _0801CC08 @ =gUnk_0200AF00
|
||||
ldrb r0, [r3, #1]
|
||||
ldrb r2, [r5, #1]
|
||||
asrs r0, r2
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0801CBF6
|
||||
ldr r0, _0801CC0C @ =gMessage
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0801CC10
|
||||
_0801CBF6:
|
||||
lsls r0, r2, #1
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x1c
|
||||
adds r0, r0, r1
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
adds r1, r0, #0
|
||||
subs r1, #0x28
|
||||
b _0801CC1E
|
||||
.align 2, 0
|
||||
_0801CC08: .4byte gUnk_0200AF00
|
||||
_0801CC0C: .4byte gMessage
|
||||
_0801CC10:
|
||||
ldr r1, _0801CC7C @ =gUnk_0200AF00
|
||||
ldrb r0, [r5, #1]
|
||||
lsls r0, r0, #1
|
||||
adds r1, #0x1c
|
||||
adds r0, r0, r1
|
||||
movs r2, #0
|
||||
ldrsh r1, [r0, r2]
|
||||
_0801CC1E:
|
||||
movs r2, #0xe
|
||||
ldrsh r0, [r5, r2]
|
||||
subs r4, r1, r0
|
||||
adds r1, r4, #0
|
||||
cmp r4, #0
|
||||
bge _0801CC2C
|
||||
rsbs r4, r4, #0
|
||||
_0801CC2C:
|
||||
cmp r6, r4
|
||||
bgt _0801CC32
|
||||
adds r4, r6, #0
|
||||
_0801CC32:
|
||||
adds r0, r1, #0
|
||||
bl sub_08000E44
|
||||
muls r4, r0, r4
|
||||
cmp r4, #0
|
||||
beq _0801CC44
|
||||
ldrh r0, [r5, #0xe]
|
||||
adds r0, r0, r4
|
||||
strh r0, [r5, #0xe]
|
||||
_0801CC44:
|
||||
ldr r0, _0801CC7C @ =gUnk_0200AF00
|
||||
ldrb r1, [r5, #1]
|
||||
lsls r1, r1, #1
|
||||
adds r0, #0x16
|
||||
adds r1, r1, r0
|
||||
movs r0, #0
|
||||
ldrsh r1, [r1, r0]
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r5, r2]
|
||||
subs r4, r1, r0
|
||||
adds r1, r4, #0
|
||||
cmp r4, #0
|
||||
bge _0801CC60
|
||||
rsbs r4, r4, #0
|
||||
_0801CC60:
|
||||
cmp r6, r4
|
||||
bgt _0801CC66
|
||||
adds r4, r6, #0
|
||||
_0801CC66:
|
||||
adds r0, r1, #0
|
||||
bl sub_08000E44
|
||||
muls r4, r0, r4
|
||||
cmp r4, #0
|
||||
beq _0801CC78
|
||||
ldrh r0, [r5, #0xc]
|
||||
adds r0, r0, r4
|
||||
strh r0, [r5, #0xc]
|
||||
_0801CC78:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0801CC7C: .4byte gUnk_0200AF00
|
||||
|
||||
thumb_func_start sub_0801CC80
|
||||
sub_0801CC80: @ 0x0801CC80
|
||||
push {r4, r5, lr}
|
||||
ldrb r1, [r0, #1]
|
||||
movs r0, #3
|
||||
eors r1, r0
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r0, r0, #0x1f
|
||||
ldr r5, _0801CCAC @ =gSave
|
||||
adds r1, r5, #0
|
||||
adds r1, #0xb4
|
||||
adds r0, r0, r1
|
||||
ldrb r4, [r0]
|
||||
adds r0, r4, #0
|
||||
bl ItemIsBottle
|
||||
cmp r0, #0
|
||||
beq _0801CCA8
|
||||
adds r0, r5, r4
|
||||
adds r0, #0x9a
|
||||
ldrb r4, [r0]
|
||||
_0801CCA8:
|
||||
adds r0, r4, #0
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0801CCAC: .4byte gSave
|
||||
|
||||
thumb_func_start sub_0801CCB0
|
||||
sub_0801CCB0: @ 0x0801CCB0
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4]
|
||||
movs r0, #3
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801CC80
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0801CD90
|
||||
ldrb r0, [r4, #8]
|
||||
cmp r0, r1
|
||||
beq _0801CCE0
|
||||
strb r1, [r4, #8]
|
||||
ldr r0, _0801CD1C @ =gSpriteAnimations_322
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801CAB8
|
||||
_0801CCE0:
|
||||
ldrb r0, [r4, #1]
|
||||
movs r1, #3
|
||||
eors r0, r1
|
||||
rsbs r1, r0, #0
|
||||
orrs r1, r0
|
||||
lsrs r6, r1, #0x1f
|
||||
ldr r3, _0801CD20 @ =gUnk_0200AF13
|
||||
cmp r6, #0
|
||||
beq _0801CCF4
|
||||
adds r3, #1
|
||||
_0801CCF4:
|
||||
ldrb r0, [r4, #8]
|
||||
cmp r0, #7
|
||||
blt _0801CD60
|
||||
cmp r0, #8
|
||||
ble _0801CD28
|
||||
cmp r0, #0xa
|
||||
bgt _0801CD60
|
||||
ldr r1, _0801CD24 @ =gSave
|
||||
adds r0, r1, #0
|
||||
adds r0, #0xad
|
||||
ldrb r2, [r0]
|
||||
ldrb r0, [r3]
|
||||
adds r5, r1, #0
|
||||
cmp r0, r2
|
||||
beq _0801CD4C
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x80
|
||||
strb r0, [r3]
|
||||
b _0801CD4C
|
||||
.align 2, 0
|
||||
_0801CD1C: .4byte gSpriteAnimations_322
|
||||
_0801CD20: .4byte gUnk_0200AF13
|
||||
_0801CD24: .4byte gSave
|
||||
_0801CD28:
|
||||
ldr r5, _0801CD44 @ =gSave
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xac
|
||||
ldrb r2, [r0]
|
||||
ldrb r0, [r3]
|
||||
cmp r0, r2
|
||||
beq _0801CD3C
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x80
|
||||
strb r0, [r3]
|
||||
_0801CD3C:
|
||||
ldr r1, _0801CD48 @ =gBombBagSizes
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xae
|
||||
b _0801CD52
|
||||
.align 2, 0
|
||||
_0801CD44: .4byte gSave
|
||||
_0801CD48: .4byte gBombBagSizes
|
||||
_0801CD4C:
|
||||
ldr r1, _0801CD5C @ =gQuiverSizes
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xaf
|
||||
_0801CD52:
|
||||
ldrb r0, [r0]
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
b _0801CD64
|
||||
.align 2, 0
|
||||
_0801CD5C: .4byte gQuiverSizes
|
||||
_0801CD60:
|
||||
movs r0, #1
|
||||
movs r2, #0
|
||||
_0801CD64:
|
||||
movs r1, #3
|
||||
cmp r0, r2
|
||||
bhi _0801CD6C
|
||||
movs r1, #4
|
||||
_0801CD6C:
|
||||
strb r1, [r4, #0x18]
|
||||
adds r0, r6, #0
|
||||
bl sub_0801CE24
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0801CD90
|
||||
ldrh r0, [r1, #0xc]
|
||||
strh r0, [r4, #0xc]
|
||||
ldrh r0, [r1, #0xe]
|
||||
strh r0, [r4, #0xe]
|
||||
ldrb r0, [r4]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801CAD0
|
||||
_0801CD90:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0801CD94
|
||||
sub_0801CD94: @ 0x0801CD94
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #2]
|
||||
ldr r1, _0801CDC0 @ =gUnk_0200AF00
|
||||
cmp r0, #9
|
||||
bne _0801CDD4
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x2f
|
||||
ldrb r2, [r0]
|
||||
cmp r2, #0
|
||||
bne _0801CDCE
|
||||
ldr r0, _0801CDC4 @ =gArea
|
||||
ldrb r0, [r0, #0x18]
|
||||
cmp r0, #2
|
||||
beq _0801CDC8
|
||||
cmp r0, #3
|
||||
beq _0801CDCC
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x2c
|
||||
ldrb r2, [r0]
|
||||
b _0801CDCE
|
||||
.align 2, 0
|
||||
_0801CDC0: .4byte gUnk_0200AF00
|
||||
_0801CDC4: .4byte gArea
|
||||
_0801CDC8:
|
||||
movs r2, #0xb
|
||||
b _0801CDCE
|
||||
_0801CDCC:
|
||||
movs r2, #0xa
|
||||
_0801CDCE:
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x32
|
||||
strb r2, [r0]
|
||||
_0801CDD4:
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x30
|
||||
ldrb r1, [r4, #3]
|
||||
adds r0, r0, r1
|
||||
ldrb r2, [r0]
|
||||
ldrb r1, [r4]
|
||||
movs r0, #3
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4]
|
||||
cmp r2, #0
|
||||
beq _0801CE1E
|
||||
ldr r1, _0801CE20 @ =gUnk_080C9044
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
ldrb r0, [r0, #7]
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
adds r2, r2, r0
|
||||
adds r0, r4, #0
|
||||
adds r1, r2, #0
|
||||
bl sub_0801CAFC
|
||||
ldrb r0, [r4, #3]
|
||||
bl sub_0801CE24
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0801CE1E
|
||||
ldrh r0, [r1, #0xc]
|
||||
strh r0, [r4, #0xc]
|
||||
ldrh r0, [r1, #0xe]
|
||||
strh r0, [r4, #0xe]
|
||||
ldrb r0, [r4]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
_0801CE1E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0801CE20: .4byte gUnk_080C9044
|
||||
|
||||
thumb_func_start sub_0801CE24
|
||||
sub_0801CE24: @ 0x0801CE24
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
movs r4, #0
|
||||
movs r6, #1
|
||||
ldr r3, _0801CE44 @ =gUnk_0200AF34
|
||||
adds r2, r3, #0
|
||||
_0801CE30:
|
||||
ldrb r1, [r2]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0801CE48
|
||||
ldrb r0, [r2, #1]
|
||||
cmp r5, r0
|
||||
bne _0801CE48
|
||||
adds r0, r3, #0
|
||||
b _0801CE54
|
||||
.align 2, 0
|
||||
_0801CE44: .4byte gUnk_0200AF34
|
||||
_0801CE48:
|
||||
adds r2, #0x20
|
||||
adds r3, #0x20
|
||||
adds r4, #1
|
||||
cmp r4, #0x17
|
||||
bls _0801CE30
|
||||
movs r0, #0
|
||||
_0801CE54:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0801CE58
|
||||
sub_0801CE58: @ 0x0801CE58
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3]
|
||||
movs r4, #3
|
||||
rsbs r4, r4, #0
|
||||
ands r4, r0
|
||||
strb r4, [r3]
|
||||
ldr r2, _0801CEB8 @ =gUnk_0200AF00
|
||||
ldrb r1, [r2, #1]
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0801CEB4
|
||||
ldr r0, _0801CEBC @ =gMessage
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0801CEB4
|
||||
ldrb r2, [r2, #3]
|
||||
cmp r2, #0
|
||||
beq _0801CEB4
|
||||
movs r0, #2
|
||||
adds r1, r4, #0
|
||||
orrs r1, r0
|
||||
strb r1, [r3]
|
||||
adds r0, r2, #3
|
||||
lsrs r0, r0, #2
|
||||
lsls r0, r0, #3
|
||||
adds r1, r0, #3
|
||||
movs r4, #0xc
|
||||
cmp r2, #0x28
|
||||
bls _0801CE9E
|
||||
movs r4, #0x14
|
||||
subs r1, #0x50
|
||||
_0801CE9E:
|
||||
strh r1, [r3, #0xc]
|
||||
strh r4, [r3, #0xe]
|
||||
movs r1, #3
|
||||
ands r1, r2
|
||||
cmp r1, #0
|
||||
bne _0801CEAC
|
||||
movs r1, #4
|
||||
_0801CEAC:
|
||||
adds r1, #0x71
|
||||
adds r0, r3, #0
|
||||
bl sub_0801CAFC
|
||||
_0801CEB4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0801CEB8: .4byte gUnk_0200AF00
|
||||
_0801CEBC: .4byte gMessage
|
||||
@@ -1,863 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0801CFA8
|
||||
sub_0801CFA8: @ 0x0801CFA8
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _0801CFCC @ =gPaletteList
|
||||
movs r1, #0x40
|
||||
bl MemClear
|
||||
movs r4, #0
|
||||
_0801CFB6:
|
||||
adds r0, r4, #0
|
||||
bl sub_0801CFD0
|
||||
adds r4, #1
|
||||
cmp r4, #5
|
||||
bls _0801CFB6
|
||||
adds r0, r5, #0
|
||||
bl sub_0801D000
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0801CFCC: .4byte gPaletteList
|
||||
|
||||
thumb_func_start sub_0801CFD0
|
||||
sub_0801CFD0: @ 0x0801CFD0
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0801CFF8 @ =gPaletteList
|
||||
adds r0, r0, r1
|
||||
ldrb r2, [r0]
|
||||
movs r1, #0x10
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r2
|
||||
movs r2, #4
|
||||
orrs r1, r2
|
||||
movs r2, #0xf
|
||||
ands r1, r2
|
||||
movs r2, #0x10
|
||||
orrs r1, r2
|
||||
strb r1, [r0]
|
||||
movs r1, #0x80
|
||||
strb r1, [r0, #1]
|
||||
ldr r1, _0801CFFC @ =0x0000FFFF
|
||||
strh r1, [r0, #2]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0801CFF8: .4byte gPaletteList
|
||||
_0801CFFC: .4byte 0x0000FFFF
|
||||
|
||||
thumb_func_start sub_0801D000
|
||||
sub_0801D000: @ 0x0801D000
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0801D024 @ =gScreenTransition
|
||||
movs r1, #0
|
||||
cmp r2, #0
|
||||
beq _0801D00E
|
||||
movs r1, #0xf
|
||||
_0801D00E:
|
||||
adds r0, #0x2f
|
||||
strb r1, [r0]
|
||||
cmp r2, #0
|
||||
beq _0801D028
|
||||
bl CleanUpObjPalettes
|
||||
movs r0, #0xf
|
||||
bl sub_0801CFD0
|
||||
b _0801D03A
|
||||
.align 2, 0
|
||||
_0801D024: .4byte gScreenTransition
|
||||
_0801D028:
|
||||
ldr r3, _0801D03C @ =gUnk_02001A3C
|
||||
ldrb r1, [r3]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
cmp r0, #4
|
||||
bne _0801D03A
|
||||
strb r2, [r3]
|
||||
strb r2, [r3, #1]
|
||||
strh r2, [r3, #2]
|
||||
_0801D03A:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801D03C: .4byte gUnk_02001A3C
|
||||
|
||||
thumb_func_start LoadObjPalette
|
||||
LoadObjPalette: @ 0x0801D040
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #4
|
||||
str r0, [sp]
|
||||
adds r6, r1, #0
|
||||
adds r0, r6, #0
|
||||
bl FindPalette
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bge _0801D0E8
|
||||
cmp r6, #0x15
|
||||
bhi _0801D064
|
||||
movs r4, #1
|
||||
b _0801D074
|
||||
_0801D064:
|
||||
ldr r0, _0801D100 @ =gUnk_08133368
|
||||
adds r1, r6, #0
|
||||
subs r1, #0x16
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldrb r4, [r1, #3]
|
||||
movs r0, #0xf
|
||||
ands r4, r0
|
||||
_0801D074:
|
||||
adds r0, r4, #0
|
||||
bl FindFreeObjPalette
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bge _0801D090
|
||||
bl CleanUpObjPalettes
|
||||
adds r0, r4, #0
|
||||
bl FindFreeObjPalette
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
blt _0801D0E8
|
||||
_0801D090:
|
||||
lsls r1, r5, #2
|
||||
ldr r0, _0801D104 @ =gPaletteList
|
||||
adds r3, r1, r0
|
||||
movs r0, #0
|
||||
strh r6, [r3, #2]
|
||||
strb r0, [r3, #1]
|
||||
movs r2, #0x10
|
||||
rsbs r2, r2, #0
|
||||
lsls r0, r4, #4
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
subs r4, #1
|
||||
cmp r4, #0
|
||||
beq _0801D0E0
|
||||
movs r0, #0
|
||||
mov sl, r0
|
||||
movs r1, #0
|
||||
mov r8, r1
|
||||
movs r0, #0xf
|
||||
mov sb, r0
|
||||
mov ip, r2
|
||||
movs r7, #2
|
||||
_0801D0BE:
|
||||
adds r3, #4
|
||||
mov r1, r8
|
||||
strh r1, [r3, #2]
|
||||
mov r0, sl
|
||||
strb r0, [r3, #1]
|
||||
lsls r2, r4, #4
|
||||
ldrb r1, [r3]
|
||||
mov r0, sb
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
mov r1, ip
|
||||
ands r0, r1
|
||||
orrs r0, r7
|
||||
strb r0, [r3]
|
||||
subs r4, #1
|
||||
cmp r4, #0
|
||||
bne _0801D0BE
|
||||
_0801D0E0:
|
||||
adds r0, r6, #0
|
||||
adds r1, r5, #0
|
||||
bl LoadObjPaletteAtIndex
|
||||
_0801D0E8:
|
||||
ldr r0, [sp]
|
||||
adds r1, r5, #0
|
||||
bl SetEntityObjPalette
|
||||
adds r0, r5, #0
|
||||
add sp, #4
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D100: .4byte gUnk_08133368
|
||||
_0801D104: .4byte gPaletteList
|
||||
|
||||
thumb_func_start FindPalette
|
||||
FindPalette: @ 0x0801D108
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
cmp r2, #5
|
||||
bhi _0801D116
|
||||
b _0801D12E
|
||||
_0801D112:
|
||||
adds r0, r1, #0
|
||||
b _0801D12E
|
||||
_0801D116:
|
||||
movs r1, #6
|
||||
ldr r0, _0801D130 @ =gPaletteList
|
||||
adds r0, #0x18
|
||||
_0801D11C:
|
||||
ldrh r3, [r0, #2]
|
||||
cmp r2, r3
|
||||
beq _0801D112
|
||||
adds r0, #4
|
||||
adds r1, #1
|
||||
cmp r1, #0xf
|
||||
bls _0801D11C
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
_0801D12E:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801D130: .4byte gPaletteList
|
||||
|
||||
thumb_func_start FindFreeObjPalette
|
||||
FindFreeObjPalette: @ 0x0801D134
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0
|
||||
movs r2, #6
|
||||
ldr r0, _0801D154 @ =gPaletteList
|
||||
adds r3, r0, #0
|
||||
adds r3, #0x18
|
||||
_0801D142:
|
||||
ldrb r0, [r3]
|
||||
lsls r0, r0, #0x1c
|
||||
cmp r0, #0
|
||||
bne _0801D158
|
||||
adds r1, #1
|
||||
cmp r4, r1
|
||||
bhi _0801D15A
|
||||
b _0801D180
|
||||
.align 2, 0
|
||||
_0801D154: .4byte gPaletteList
|
||||
_0801D158:
|
||||
movs r1, #0
|
||||
_0801D15A:
|
||||
adds r3, #4
|
||||
adds r2, #1
|
||||
cmp r2, #0xf
|
||||
bls _0801D142
|
||||
movs r1, #0
|
||||
movs r2, #6
|
||||
ldr r0, _0801D188 @ =gPaletteList
|
||||
adds r3, r0, #0
|
||||
adds r3, #0x18
|
||||
_0801D16C:
|
||||
ldrb r0, [r3]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #1
|
||||
bgt _0801D18C
|
||||
cmp r0, #0
|
||||
blt _0801D18C
|
||||
adds r1, #1
|
||||
cmp r4, r1
|
||||
bhi _0801D18E
|
||||
_0801D180:
|
||||
subs r0, r1, #1
|
||||
subs r0, r2, r0
|
||||
b _0801D19A
|
||||
.align 2, 0
|
||||
_0801D188: .4byte gPaletteList
|
||||
_0801D18C:
|
||||
movs r1, #0
|
||||
_0801D18E:
|
||||
adds r3, #4
|
||||
adds r2, #1
|
||||
cmp r2, #0xf
|
||||
bls _0801D16C
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
_0801D19A:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start SetEntityObjPalette
|
||||
SetEntityObjPalette: @ 0x0801D19C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
adds r3, r1, #0
|
||||
cmp r3, #0
|
||||
bge _0801D1A8
|
||||
movs r3, #0
|
||||
_0801D1A8:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x28
|
||||
ldrb r0, [r0]
|
||||
subs r0, #1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x7e
|
||||
bls _0801D1BE
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x27
|
||||
strb r3, [r0]
|
||||
_0801D1BE:
|
||||
movs r0, #0xf
|
||||
adds r1, r3, #0
|
||||
ands r1, r0
|
||||
ldrb r2, [r4, #0x1a]
|
||||
movs r5, #0x10
|
||||
rsbs r5, r5, #0
|
||||
adds r0, r5, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
movs r2, #0xf
|
||||
adds r1, r3, #0
|
||||
ands r1, r2
|
||||
lsls r1, r1, #4
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1a]
|
||||
lsls r1, r3, #2
|
||||
ldr r0, _0801D22C @ =gPaletteList
|
||||
adds r4, r1, r0
|
||||
ldr r0, [r4]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #4
|
||||
beq _0801D22A
|
||||
ldrb r0, [r4, #1]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #1]
|
||||
ldr r0, [r4]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r3, r0, #0x1c
|
||||
ldrb r1, [r4]
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
subs r3, #1
|
||||
cmp r3, #0
|
||||
beq _0801D22A
|
||||
movs r7, #0xf
|
||||
adds r6, r5, #0
|
||||
movs r5, #2
|
||||
_0801D212:
|
||||
adds r4, #4
|
||||
lsls r2, r3, #4
|
||||
ldrb r1, [r4]
|
||||
adds r0, r7, #0
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
ands r0, r6
|
||||
orrs r0, r5
|
||||
strb r0, [r4]
|
||||
subs r3, #1
|
||||
cmp r3, #0
|
||||
bne _0801D212
|
||||
_0801D22A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D22C: .4byte gPaletteList
|
||||
|
||||
thumb_func_start UnloadOBJPalette
|
||||
UnloadOBJPalette: @ 0x0801D230
|
||||
push {lr}
|
||||
adds r0, #0x27
|
||||
ldrb r2, [r0]
|
||||
movs r1, #0
|
||||
strb r1, [r0]
|
||||
adds r0, r2, #0
|
||||
bl sub_0801D244
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0801D244
|
||||
sub_0801D244: @ 0x0801D244
|
||||
push {r4, r5, r6, lr}
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0801D288 @ =gPaletteList
|
||||
adds r2, r0, r1
|
||||
ldr r0, [r2]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #3
|
||||
bne _0801D284
|
||||
ldrb r0, [r2, #1]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #1]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0801D284
|
||||
ldr r0, [r2]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r3, r0, #0x1c
|
||||
movs r5, #0
|
||||
movs r6, #0x10
|
||||
rsbs r6, r6, #0
|
||||
movs r4, #1
|
||||
_0801D270:
|
||||
strb r5, [r2, #1]
|
||||
ldrb r1, [r2]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
orrs r0, r4
|
||||
strb r0, [r2]
|
||||
adds r2, #4
|
||||
subs r3, #1
|
||||
cmp r3, #0
|
||||
bne _0801D270
|
||||
_0801D284:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0801D288: .4byte gPaletteList
|
||||
|
||||
thumb_func_start sub_0801D28C
|
||||
sub_0801D28C: @ 0x0801D28C
|
||||
push {lr}
|
||||
adds r3, r1, #0
|
||||
adds r0, #0x27
|
||||
ldrb r2, [r0]
|
||||
ldr r1, _0801D2B0 @ =gPaletteList
|
||||
lsls r0, r2, #2
|
||||
adds r1, r0, r1
|
||||
ldrb r0, [r1]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #3
|
||||
bne _0801D2AE
|
||||
strh r3, [r1, #2]
|
||||
adds r0, r3, #0
|
||||
adds r1, r2, #0
|
||||
bl LoadObjPaletteAtIndex
|
||||
_0801D2AE:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801D2B0: .4byte gPaletteList
|
||||
|
||||
thumb_func_start ChangeObjPalette
|
||||
ChangeObjPalette: @ 0x0801D2B4
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
bl UnloadOBJPalette
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl LoadObjPalette
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start LoadObjPaletteAtIndex
|
||||
LoadObjPaletteAtIndex: @ 0x0801D2C8
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
ldr r2, _0801D2F8 @ =gUsedPalettes
|
||||
adds r4, r1, #0
|
||||
adds r4, #0x10
|
||||
movs r1, #1
|
||||
lsls r1, r4
|
||||
ldr r0, [r2]
|
||||
orrs r0, r1
|
||||
str r0, [r2]
|
||||
cmp r3, #5
|
||||
bls _0801D33C
|
||||
cmp r3, #0x15
|
||||
bne _0801D300
|
||||
ldr r2, _0801D2FC @ =gPaletteBuffer
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x78
|
||||
ldrh r0, [r0]
|
||||
lsls r1, r4, #5
|
||||
adds r1, r1, r2
|
||||
movs r2, #0x20
|
||||
bl MemFill16
|
||||
b _0801D33C
|
||||
.align 2, 0
|
||||
_0801D2F8: .4byte gUsedPalettes
|
||||
_0801D2FC: .4byte gPaletteBuffer
|
||||
_0801D300:
|
||||
cmp r3, #0x14
|
||||
bhi _0801D31C
|
||||
subs r0, r3, #6
|
||||
lsls r0, r0, #5
|
||||
ldr r1, _0801D318 @ =gPaletteBuffer
|
||||
adds r0, r0, r1
|
||||
adds r1, r4, #0
|
||||
movs r2, #1
|
||||
bl LoadPalettes
|
||||
b _0801D33C
|
||||
.align 2, 0
|
||||
_0801D318: .4byte gPaletteBuffer
|
||||
_0801D31C:
|
||||
ldr r1, _0801D340 @ =gUnk_08133368
|
||||
adds r0, r3, #0
|
||||
subs r0, #0x16
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
lsrs r2, r0, #0x18
|
||||
movs r1, #0xf
|
||||
ands r2, r1
|
||||
ldr r1, _0801D344 @ =0x00FFFFFF
|
||||
ands r0, r1
|
||||
ldr r1, _0801D348 @ =gGlobalGfxAndPalettes
|
||||
adds r0, r0, r1
|
||||
adds r1, r4, #0
|
||||
bl LoadPalettes
|
||||
_0801D33C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0801D340: .4byte gUnk_08133368
|
||||
_0801D344: .4byte 0x00FFFFFF
|
||||
_0801D348: .4byte gGlobalGfxAndPalettes
|
||||
|
||||
thumb_func_start CleanUpObjPalettes
|
||||
CleanUpObjPalettes: @ 0x0801D34C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
ldr r1, _0801D37C @ =gPaletteList
|
||||
_0801D356:
|
||||
mov r4, sp
|
||||
adds r0, r4, r2
|
||||
strb r2, [r0]
|
||||
ldrb r0, [r1]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #1
|
||||
bgt _0801D370
|
||||
cmp r0, #0
|
||||
blt _0801D370
|
||||
strb r3, [r1]
|
||||
strb r3, [r1, #1]
|
||||
strh r3, [r1, #2]
|
||||
_0801D370:
|
||||
adds r1, #4
|
||||
adds r2, #1
|
||||
cmp r2, #0xf
|
||||
bls _0801D356
|
||||
movs r4, #6
|
||||
b _0801D390
|
||||
.align 2, 0
|
||||
_0801D37C: .4byte gPaletteList
|
||||
_0801D380:
|
||||
cmp r4, r1
|
||||
ble _0801D390
|
||||
mov r2, sp
|
||||
adds r0, r2, r4
|
||||
strb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801D48C
|
||||
_0801D390:
|
||||
adds r0, r4, #1
|
||||
bl sub_0801D458
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0801D3AC
|
||||
movs r0, #1
|
||||
bl FindFreeObjPalette
|
||||
adds r1, r0, #0
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bne _0801D380
|
||||
_0801D3AC:
|
||||
movs r1, #0
|
||||
ldr r4, _0801D450 @ =gEntityLists
|
||||
mov ip, r4
|
||||
_0801D3B2:
|
||||
lsls r0, r1, #3
|
||||
mov r2, ip
|
||||
adds r3, r0, r2
|
||||
adds r0, r3, #0
|
||||
ldr r3, [r3, #4]
|
||||
adds r5, r1, #1
|
||||
cmp r0, r3
|
||||
beq _0801D444
|
||||
movs r7, #0x10
|
||||
rsbs r7, r7, #0
|
||||
adds r4, r0, #0
|
||||
ldr r6, _0801D454 @ =gUnk_020000C0
|
||||
_0801D3CA:
|
||||
ldrb r0, [r3, #8]
|
||||
cmp r0, #9
|
||||
beq _0801D43E
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x28
|
||||
ldrb r0, [r1]
|
||||
subs r0, #1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x7e
|
||||
bhi _0801D40C
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #6
|
||||
adds r1, r1, r6
|
||||
ldrb r0, [r1, #5]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1, #5]
|
||||
ldrb r0, [r1, #0x15]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1, #0x15]
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x25
|
||||
ldrb r0, [r2]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r2]
|
||||
adds r1, #0x35
|
||||
ldrb r0, [r1]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
_0801D40C:
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x27
|
||||
ldrb r0, [r1]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
ldrb r2, [r3, #0x1a]
|
||||
lsls r0, r2, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
add r0, sp
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
adds r0, r7, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x1a]
|
||||
lsrs r1, r0, #4
|
||||
add r1, sp
|
||||
ldrb r2, [r1]
|
||||
lsls r2, r2, #4
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r3, #0x1a]
|
||||
_0801D43E:
|
||||
ldr r3, [r3, #4]
|
||||
cmp r4, r3
|
||||
bne _0801D3CA
|
||||
_0801D444:
|
||||
adds r1, r5, #0
|
||||
cmp r1, #8
|
||||
bls _0801D3B2
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D450: .4byte gEntityLists
|
||||
_0801D454: .4byte gUnk_020000C0
|
||||
|
||||
thumb_func_start sub_0801D458
|
||||
sub_0801D458: @ 0x0801D458
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0xf
|
||||
bhi _0801D488
|
||||
ldr r1, _0801D47C @ =gPaletteList
|
||||
lsls r0, r2, #2
|
||||
adds r1, r0, r1
|
||||
_0801D466:
|
||||
ldrb r0, [r1]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #0
|
||||
blt _0801D478
|
||||
cmp r0, #1
|
||||
ble _0801D480
|
||||
cmp r0, #4
|
||||
beq _0801D480
|
||||
_0801D478:
|
||||
adds r0, r2, #0
|
||||
b _0801D48A
|
||||
.align 2, 0
|
||||
_0801D47C: .4byte gPaletteList
|
||||
_0801D480:
|
||||
adds r1, #4
|
||||
adds r2, #1
|
||||
cmp r2, #0xf
|
||||
bls _0801D466
|
||||
_0801D488:
|
||||
movs r0, #0
|
||||
_0801D48A:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0801D48C
|
||||
sub_0801D48C: @ 0x0801D48C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, #4
|
||||
adds r6, r0, #0
|
||||
adds r3, r1, #0
|
||||
ldr r0, _0801D50C @ =gPaletteList
|
||||
mov r8, r0
|
||||
lsls r0, r6, #2
|
||||
mov r1, r8
|
||||
adds r4, r0, r1
|
||||
ldrb r0, [r4]
|
||||
lsrs r5, r0, #4
|
||||
subs r5, #1
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
cmp r5, r0
|
||||
beq _0801D4F8
|
||||
ldr r2, _0801D510 @ =gPaletteBuffer
|
||||
lsls r0, r3, #5
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #2
|
||||
adds r0, r0, r1
|
||||
adds r7, r0, r2
|
||||
lsls r0, r3, #2
|
||||
add r8, r0
|
||||
lsls r0, r6, #5
|
||||
adds r0, r0, r1
|
||||
adds r6, r0, r2
|
||||
movs r3, #0
|
||||
_0801D4C8:
|
||||
ldr r0, [r4]
|
||||
mov r1, r8
|
||||
adds r1, #4
|
||||
mov r8, r1
|
||||
subs r1, #4
|
||||
stm r1!, {r0}
|
||||
strb r3, [r4]
|
||||
strb r3, [r4, #1]
|
||||
strh r3, [r4, #2]
|
||||
adds r0, r6, #0
|
||||
adds r1, r7, #0
|
||||
movs r2, #0x20
|
||||
str r3, [sp]
|
||||
bl MemCopy
|
||||
adds r6, #0x20
|
||||
adds r4, #4
|
||||
adds r7, #0x20
|
||||
subs r5, #1
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
ldr r3, [sp]
|
||||
cmp r5, r0
|
||||
bne _0801D4C8
|
||||
_0801D4F8:
|
||||
ldr r0, _0801D514 @ =gUsedPalettes
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0801D518 @ =0xFFFF0000
|
||||
orrs r1, r2
|
||||
str r1, [r0]
|
||||
add sp, #4
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D50C: .4byte gPaletteList
|
||||
_0801D510: .4byte gPaletteBuffer
|
||||
_0801D514: .4byte gUsedPalettes
|
||||
_0801D518: .4byte 0xFFFF0000
|
||||
|
||||
thumb_func_start sub_0801D51C
|
||||
sub_0801D51C: @ 0x0801D51C
|
||||
push {r4, lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0801D58C @ =0x05F5E0FF
|
||||
cmp r2, r0
|
||||
bhi _0801D5A0
|
||||
ldr r1, _0801D590 @ =0x00989680
|
||||
adds r0, r2, #0
|
||||
bl Div
|
||||
adds r4, r0, #0
|
||||
lsls r4, r4, #0x1c
|
||||
ldr r2, _0801D594 @ =0x000F4240
|
||||
adds r0, r1, #0
|
||||
adds r1, r2, #0
|
||||
bl Div
|
||||
lsls r0, r0, #0x18
|
||||
adds r4, r4, r0
|
||||
ldr r2, _0801D598 @ =0x000186A0
|
||||
adds r0, r1, #0
|
||||
adds r1, r2, #0
|
||||
bl Div
|
||||
lsls r0, r0, #0x14
|
||||
adds r4, r4, r0
|
||||
ldr r2, _0801D59C @ =0x00002710
|
||||
adds r0, r1, #0
|
||||
adds r1, r2, #0
|
||||
bl Div
|
||||
lsls r0, r0, #0x10
|
||||
adds r4, r4, r0
|
||||
movs r2, #0xfa
|
||||
lsls r2, r2, #2
|
||||
adds r0, r1, #0
|
||||
adds r1, r2, #0
|
||||
bl Div
|
||||
lsls r0, r0, #0xc
|
||||
adds r4, r4, r0
|
||||
adds r0, r1, #0
|
||||
movs r1, #0x64
|
||||
bl Div
|
||||
lsls r0, r0, #8
|
||||
adds r4, r4, r0
|
||||
adds r0, r1, #0
|
||||
movs r1, #0xa
|
||||
bl Div
|
||||
lsls r0, r0, #4
|
||||
adds r4, r4, r0
|
||||
adds r4, r4, r1
|
||||
adds r0, r4, #0
|
||||
b _0801D5A2
|
||||
.align 2, 0
|
||||
_0801D58C: .4byte 0x05F5E0FF
|
||||
_0801D590: .4byte 0x00989680
|
||||
_0801D594: .4byte 0x000F4240
|
||||
_0801D598: .4byte 0x000186A0
|
||||
_0801D59C: .4byte 0x00002710
|
||||
_0801D5A0:
|
||||
ldr r0, _0801D5A4 @ =0x99999999
|
||||
_0801D5A2:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0801D5A4: .4byte 0x99999999
|
||||
|
||||
thumb_func_start ReadBit
|
||||
ReadBit: @ 0x0801D5A8
|
||||
lsrs r2, r1, #3
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
movs r2, #7
|
||||
ands r2, r1
|
||||
asrs r0, r2
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start WriteBit
|
||||
WriteBit: @ 0x0801D5BC
|
||||
lsrs r2, r1, #3
|
||||
adds r3, r0, r2
|
||||
movs r2, #7
|
||||
ands r1, r2
|
||||
movs r2, #1
|
||||
lsls r2, r1
|
||||
ldrb r0, [r3]
|
||||
adds r1, r0, #0
|
||||
orrs r1, r2
|
||||
strb r1, [r3]
|
||||
ands r0, r2
|
||||
bx lr
|
||||
|
||||
thumb_func_start ClearBit
|
||||
ClearBit: @ 0x0801D5D4
|
||||
lsrs r2, r1, #3
|
||||
adds r3, r0, r2
|
||||
movs r2, #7
|
||||
ands r1, r2
|
||||
movs r2, #1
|
||||
lsls r2, r1
|
||||
ldrb r0, [r3]
|
||||
adds r1, r0, #0
|
||||
bics r1, r2
|
||||
strb r1, [r3]
|
||||
ands r0, r2
|
||||
bx lr
|
||||
-2677
File diff suppressed because it is too large
Load Diff
+8
-8
@@ -6,11 +6,11 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08049D30
|
||||
sub_08049D30: @ 0x08049D30
|
||||
thumb_func_start UpdateRoomTracker
|
||||
UpdateRoomTracker: @ 0x08049D30
|
||||
push {r4, r5, r6, lr}
|
||||
ldr r1, _08049D58 @ =gUnk_020354B0
|
||||
ldr r0, _08049D5C @ =gUnk_02024050
|
||||
ldr r0, _08049D5C @ =gRoomMemory
|
||||
str r0, [r1]
|
||||
adds r5, r1, #0
|
||||
ldr r6, _08049D60 @ =gRoomControls
|
||||
@@ -30,7 +30,7 @@ _08049D3E:
|
||||
b _08049D7C
|
||||
.align 2, 0
|
||||
_08049D58: .4byte gUnk_020354B0
|
||||
_08049D5C: .4byte gUnk_02024050
|
||||
_08049D5C: .4byte gRoomMemory
|
||||
_08049D60: .4byte gRoomControls
|
||||
_08049D64: .4byte 0x0000FFFF
|
||||
_08049D68:
|
||||
@@ -52,7 +52,7 @@ _08049D84: .4byte gUnk_020354B0
|
||||
thumb_func_start sub_08049D88
|
||||
sub_08049D88: @ 0x08049D88
|
||||
push {r4, r5, lr}
|
||||
ldr r4, _08049DC0 @ =gUnk_02024050
|
||||
ldr r4, _08049DC0 @ =gRoomMemory
|
||||
adds r1, r4, #0
|
||||
adds r1, #8
|
||||
ldr r3, _08049DC4 @ =gRoomControls
|
||||
@@ -81,7 +81,7 @@ _08049DA0:
|
||||
adds r0, r4, #0
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08049DC0: .4byte gUnk_02024050
|
||||
_08049DC0: .4byte gRoomMemory
|
||||
_08049DC4: .4byte gRoomControls
|
||||
_08049DC8: .4byte 0x0000FFFF
|
||||
|
||||
@@ -89,7 +89,7 @@ _08049DC8: .4byte 0x0000FFFF
|
||||
sub_08049DCC: @ 0x08049DCC
|
||||
push {r4, lr}
|
||||
adds r2, r0, #0
|
||||
ldr r1, _08049DF0 @ =gUnk_02024050
|
||||
ldr r1, _08049DF0 @ =gRoomMemory
|
||||
adds r3, r1, #0
|
||||
adds r3, #0x40
|
||||
_08049DD6:
|
||||
@@ -107,7 +107,7 @@ _08049DE2:
|
||||
strh r0, [r2, #2]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08049DF0: .4byte gUnk_02024050
|
||||
_08049DF0: .4byte gRoomMemory
|
||||
|
||||
thumb_func_start sub_08049DF4
|
||||
sub_08049DF4: @ 0x08049DF4
|
||||
|
||||
+39
-39
@@ -6,8 +6,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08053590
|
||||
sub_08053590: @ 0x08053590
|
||||
thumb_func_start CutsceneMain_Init
|
||||
CutsceneMain_Init: @ 0x08053590
|
||||
push {lr}
|
||||
ldr r1, _080535A4 @ =gUnk_080FCBB4
|
||||
ldr r0, _080535A8 @ =gMenu
|
||||
@@ -42,7 +42,7 @@ sub_080535AC: @ 0x080535AC
|
||||
bl LoadRoomEntityList
|
||||
movs r0, #6
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080535DC: .4byte gMenu
|
||||
@@ -175,7 +175,7 @@ sub_080536B8: @ 0x080536B8
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
@@ -224,7 +224,7 @@ sub_0805370C: @ 0x0805370C
|
||||
bl LoadRoomEntityList
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08053730: .4byte gMenu
|
||||
@@ -306,7 +306,7 @@ sub_08053758: @ 0x08053758
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080537DC: .4byte gMenu
|
||||
@@ -376,7 +376,7 @@ sub_08053800: @ 0x08053800
|
||||
strh r1, [r0]
|
||||
ldrh r1, [r4, #0xa]
|
||||
movs r0, #4
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_0805387A:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
@@ -409,7 +409,7 @@ sub_08053894: @ 0x08053894
|
||||
_080538B4: .4byte gFadeControl
|
||||
_080538B8: .4byte gMenu
|
||||
_080538BC:
|
||||
ldr r0, _080538FC @ =gScreenTransition
|
||||
ldr r0, _080538FC @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
@@ -438,11 +438,11 @@ _080538E4:
|
||||
strb r0, [r4, #6]
|
||||
movs r0, #5
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_080538F8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080538FC: .4byte gScreenTransition
|
||||
_080538FC: .4byte gRoomTransition
|
||||
_08053900: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_08053904
|
||||
@@ -467,7 +467,7 @@ sub_08053904: @ 0x08053904
|
||||
_08053924: .4byte gFadeControl
|
||||
_08053928: .4byte gMenu
|
||||
_0805392C:
|
||||
ldr r0, _0805396C @ =gScreenTransition
|
||||
ldr r0, _0805396C @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
@@ -496,11 +496,11 @@ _08053954:
|
||||
strb r0, [r4, #6]
|
||||
movs r0, #5
|
||||
movs r1, #1
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_08053968:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805396C: .4byte gScreenTransition
|
||||
_0805396C: .4byte gRoomTransition
|
||||
_08053970: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_08053974
|
||||
@@ -513,14 +513,14 @@ sub_08053974: @ 0x08053974
|
||||
bl InitFade
|
||||
movs r0, #1
|
||||
bl DispReset
|
||||
bl sub_080197AC
|
||||
bl SetBGDefaults
|
||||
bl sub_08051F78
|
||||
ldr r0, _080539B0 @ =gUnk_080FCBC4
|
||||
bl LoadRoomEntityList
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldr r1, _080539B4 @ =gMenu
|
||||
ldrb r0, [r1, #6]
|
||||
adds r0, #1
|
||||
@@ -540,7 +540,7 @@ nullsub_482: @ 0x080539B8
|
||||
thumb_func_start sub_080539BC
|
||||
sub_080539BC: @ 0x080539BC
|
||||
push {lr}
|
||||
bl sub_080197AC
|
||||
bl SetBGDefaults
|
||||
bl DeleteAllEntities
|
||||
movs r0, #0x22
|
||||
movs r1, #0x11
|
||||
@@ -606,7 +606,7 @@ sub_08053A1C: @ 0x08053A1C
|
||||
strb r4, [r1, #7]
|
||||
movs r0, #4
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_08053A4E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -635,7 +635,7 @@ sub_08053A5C: @ 0x08053A5C
|
||||
strb r0, [r1, #6]
|
||||
movs r0, #5
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_08053A86:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -652,7 +652,7 @@ sub_08053A90: @ 0x08053A90
|
||||
ldr r1, _08053AAC @ =gUnk_02032EC0
|
||||
movs r0, #3
|
||||
strb r0, [r1]
|
||||
bl sub_080197AC
|
||||
bl SetBGDefaults
|
||||
_08053AA4:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -690,7 +690,7 @@ sub_08053ACC: @ 0x08053ACC
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08053AF4: .4byte gMenu
|
||||
@@ -723,7 +723,7 @@ sub_08053B10: @ 0x08053B10
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #4
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_08053B34:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -741,7 +741,7 @@ sub_08053B3C: @ 0x08053B3C
|
||||
bl sub_080A71C4
|
||||
movs r0, #5
|
||||
adds r1, r4, #0
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08053B58
|
||||
@@ -776,7 +776,7 @@ sub_08053B74: @ 0x08053B74
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08053BA0: .4byte gMenu
|
||||
@@ -809,7 +809,7 @@ sub_08053BBC: @ 0x08053BBC
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #4
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_08053BE0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -827,7 +827,7 @@ sub_08053BE8: @ 0x08053BE8
|
||||
bl sub_080A71C4
|
||||
movs r0, #5
|
||||
adds r1, r4, #0
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08053C04
|
||||
@@ -862,7 +862,7 @@ sub_08053C20: @ 0x08053C20
|
||||
bl LoadRoomEntityList
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
movs r0, #0x33
|
||||
bl SoundReq
|
||||
pop {pc}
|
||||
@@ -881,13 +881,13 @@ sub_08053C60: @ 0x08053C60
|
||||
push {lr}
|
||||
movs r0, #5
|
||||
movs r1, #2
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
movs r0, #0xf4
|
||||
bl SoundReq
|
||||
ldr r0, _08053C80 @ =0x80100000
|
||||
bl SoundReq
|
||||
movs r0, #3
|
||||
bl InitScreen
|
||||
bl SetTask
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08053C80: .4byte 0x80100000
|
||||
@@ -901,8 +901,8 @@ sub_08053C84: @ 0x08053C84
|
||||
.align 2, 0
|
||||
_08053C8C: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_08053C90
|
||||
sub_08053C90: @ 0x08053C90
|
||||
thumb_func_start CutsceneMain_Exit
|
||||
CutsceneMain_Exit: @ 0x08053C90
|
||||
push {lr}
|
||||
ldr r1, _08053CA4 @ =gUnk_080FCEF8
|
||||
ldr r0, _08053CA8 @ =gMenu
|
||||
@@ -965,7 +965,7 @@ sub_08053CC8: @ 0x08053CC8
|
||||
strb r5, [r0]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldrb r0, [r4, #5]
|
||||
cmp r0, #0x1d
|
||||
bne _08053D1E
|
||||
@@ -1040,7 +1040,7 @@ sub_08053D90: @ 0x08053D90
|
||||
adds r0, #1
|
||||
strb r0, [r1, #6]
|
||||
movs r0, #0x10
|
||||
bl sub_080500F4
|
||||
bl SetFadeInverted
|
||||
_08053DAC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1091,7 +1091,7 @@ sub_08053DB4: @ 0x08053DB4
|
||||
adds r0, #1
|
||||
strb r0, [r5, #6]
|
||||
movs r0, #0x10
|
||||
bl sub_080500F4
|
||||
bl SetFadeInverted
|
||||
_08053E1C:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
@@ -1165,7 +1165,7 @@ sub_08053E74: @ 0x08053E74
|
||||
bl SetMinPriority
|
||||
movs r0, #4
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08053EB0: .4byte gUnk_080FCFB8
|
||||
@@ -1217,7 +1217,7 @@ sub_08053EFC: @ 0x08053EFC
|
||||
adds r0, #1
|
||||
strb r0, [r1, #6]
|
||||
movs r0, #8
|
||||
bl sub_080500F4
|
||||
bl SetFadeInverted
|
||||
_08053F18:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1261,7 +1261,7 @@ sub_08053F20: @ 0x08053F20
|
||||
adds r0, #1
|
||||
strb r0, [r5, #6]
|
||||
movs r0, #8
|
||||
bl sub_080500F4
|
||||
bl SetFadeInverted
|
||||
_08053F74:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
@@ -1294,8 +1294,8 @@ _08053FAA:
|
||||
_08053FAC: .4byte gFadeControl
|
||||
_08053FB0: .4byte gMenu
|
||||
|
||||
thumb_func_start sub_08053FB4
|
||||
sub_08053FB4: @ 0x08053FB4
|
||||
thumb_func_start CutsceneMain_Update
|
||||
CutsceneMain_Update: @ 0x08053FB4
|
||||
push {lr}
|
||||
ldr r1, _08053FC8 @ =gUnk_080FD138
|
||||
ldr r0, _08053FCC @ =gMenu
|
||||
@@ -1537,7 +1537,7 @@ _080541AA:
|
||||
movs r0, #0x63
|
||||
bl ModBombs
|
||||
_080541B0:
|
||||
bl sub_08053390
|
||||
bl LoadItemGfx
|
||||
b _0805427C
|
||||
_080541B6:
|
||||
cmp r5, #0
|
||||
|
||||
+8
-8
@@ -59,11 +59,11 @@ sub_080548E8: @ 0x080548E8
|
||||
bl _call_via_r0
|
||||
bl FlushSprites
|
||||
bl UpdateEntities
|
||||
bl sub_080AD9B0
|
||||
bl sub_080AD918
|
||||
bl DrawEntities
|
||||
bl CopyOAM
|
||||
bl UpdateScroll
|
||||
bl UpdateBgAnim
|
||||
bl sub_08000108
|
||||
bl UpdateScrollVram
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08054918: .4byte gUnk_080FE2AC
|
||||
@@ -75,7 +75,7 @@ sub_08054920: @ 0x08054920
|
||||
bl MessageInitialize
|
||||
bl sub_0806F38C
|
||||
ldr r1, _08054948 @ =gUnk_080C9CBC
|
||||
ldr r0, _0805494C @ =gUnk_02022740
|
||||
ldr r0, _0805494C @ =gFuseInfo
|
||||
ldrb r0, [r0, #3]
|
||||
lsls r0, r0, #3
|
||||
adds r0, r0, r1
|
||||
@@ -89,7 +89,7 @@ sub_08054920: @ 0x08054920
|
||||
b _08054962
|
||||
.align 2, 0
|
||||
_08054948: .4byte gUnk_080C9CBC
|
||||
_0805494C: .4byte gUnk_02022740
|
||||
_0805494C: .4byte gFuseInfo
|
||||
_08054950: .4byte gUnk_02032EC0
|
||||
_08054954:
|
||||
ldr r1, _08054964 @ =gUnk_02032EC0
|
||||
@@ -97,7 +97,7 @@ _08054954:
|
||||
strb r0, [r1]
|
||||
movs r0, #7
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_08054962:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -129,7 +129,7 @@ sub_08054974: @ 0x08054974
|
||||
strb r0, [r4, #4]
|
||||
ldrb r0, [r6, #3]
|
||||
strb r0, [r4, #5]
|
||||
bl sub_08053320
|
||||
bl LoadGfxGroups
|
||||
ldrb r0, [r4, #4]
|
||||
bl GetFlagBankOffset
|
||||
ldr r1, _080549B8 @ =gArea
|
||||
@@ -138,7 +138,7 @@ sub_08054974: @ 0x08054974
|
||||
beq _080549BC
|
||||
ldrb r0, [r6, #2]
|
||||
ldrb r1, [r6, #3]
|
||||
bl sub_08052FD8
|
||||
bl LoadAuxiliaryRoom
|
||||
b _080549CE
|
||||
.align 2, 0
|
||||
_080549B0: .4byte gUnk_080FE320
|
||||
|
||||
+37
-37
@@ -41,7 +41,7 @@ sub_08054C20: @ 0x08054C20
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08054C50: .4byte gMenu
|
||||
@@ -60,7 +60,7 @@ sub_08054C58: @ 0x08054C58
|
||||
beq _08054C7C
|
||||
movs r0, #7
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldr r1, _08054C84 @ =gMenu
|
||||
ldrb r0, [r1, #6]
|
||||
adds r0, #1
|
||||
@@ -84,7 +84,7 @@ sub_08054C88: @ 0x08054C88
|
||||
bl sub_08054974
|
||||
movs r0, #6
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
movs r0, #0x73
|
||||
bl SoundReq
|
||||
ldrb r0, [r4, #6]
|
||||
@@ -157,7 +157,7 @@ sub_08054D04: @ 0x08054D04
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08054D34: .4byte gMenu
|
||||
@@ -251,7 +251,7 @@ sub_08054DAC: @ 0x08054DAC
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08054DF0: .4byte gMenu
|
||||
@@ -302,7 +302,7 @@ sub_08054E1C: @ 0x08054E1C
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08054E54: .4byte gMenu
|
||||
@@ -327,7 +327,7 @@ sub_08054E5C: @ 0x08054E5C
|
||||
strh r0, [r4, #8]
|
||||
movs r0, #6
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldrb r0, [r4, #4]
|
||||
bl sub_080553E0
|
||||
ldrb r0, [r4, #4]
|
||||
@@ -526,7 +526,7 @@ _08054FCA:
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
strh r4, [r6, #0xa]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #3
|
||||
@@ -599,7 +599,7 @@ sub_08055054: @ 0x08055054
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055080: .4byte gUnk_080FF128
|
||||
@@ -654,7 +654,7 @@ sub_080550B0: @ 0x080550B0
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080550E8: .4byte gMenu
|
||||
@@ -707,7 +707,7 @@ _0805512A:
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055150: .4byte gUnk_080FF17C
|
||||
@@ -798,7 +798,7 @@ sub_08055184: @ 0x08055184
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, pc}
|
||||
@@ -853,7 +853,7 @@ sub_0805524C: @ 0x0805524C
|
||||
.align 2, 0
|
||||
_08055270: .4byte gMenu
|
||||
_08055274:
|
||||
ldr r0, _080552A4 @ =gScreenTransition
|
||||
ldr r0, _080552A4 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
@@ -877,7 +877,7 @@ _08055274:
|
||||
strh r0, [r1]
|
||||
b _080552D6
|
||||
.align 2, 0
|
||||
_080552A4: .4byte gScreenTransition
|
||||
_080552A4: .4byte gRoomTransition
|
||||
_080552A8: .4byte gUnk_080FF204
|
||||
_080552AC: .4byte 0x0000FFFF
|
||||
_080552B0: .4byte gScreen
|
||||
@@ -959,7 +959,7 @@ sub_08055318: @ 0x08055318
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055348: .4byte gMenu
|
||||
@@ -978,7 +978,7 @@ sub_08055350: @ 0x08055350
|
||||
beq _08055374
|
||||
movs r0, #7
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldr r1, _0805537C @ =gMenu
|
||||
ldrb r0, [r1, #6]
|
||||
adds r0, #1
|
||||
@@ -1002,7 +1002,7 @@ sub_08055380: @ 0x08055380
|
||||
bl sub_08054974
|
||||
movs r0, #6
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
movs r0, #0x73
|
||||
bl SoundReq
|
||||
ldrb r0, [r4, #6]
|
||||
@@ -1102,7 +1102,7 @@ sub_08055430: @ 0x08055430
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055460: .4byte gMenu
|
||||
@@ -1121,7 +1121,7 @@ sub_08055468: @ 0x08055468
|
||||
beq _0805548C
|
||||
movs r0, #7
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldr r1, _08055494 @ =gMenu
|
||||
ldrb r0, [r1, #6]
|
||||
adds r0, #1
|
||||
@@ -1147,7 +1147,7 @@ sub_08055498: @ 0x08055498
|
||||
bl sub_080553E0
|
||||
movs r0, #6
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
movs r0, #0x73
|
||||
bl SoundReq
|
||||
ldrb r0, [r4, #6]
|
||||
@@ -1216,7 +1216,7 @@ sub_08055518: @ 0x08055518
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055540: .4byte gMenu
|
||||
@@ -1313,7 +1313,7 @@ sub_080555B8: @ 0x080555B8
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08055600: .4byte gMenu
|
||||
@@ -1430,7 +1430,7 @@ sub_080556AC: @ 0x080556AC
|
||||
bl sub_08055B70
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080556E4: .4byte gMenu
|
||||
@@ -1491,7 +1491,7 @@ _08055734:
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0805575C: .4byte gMenu
|
||||
@@ -1578,7 +1578,7 @@ sub_080557D0: @ 0x080557D0
|
||||
bl sub_08055B70
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055808: .4byte gMenu
|
||||
@@ -1631,7 +1631,7 @@ _0805584A:
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055870: .4byte gUnk_080FF2C0
|
||||
@@ -1683,7 +1683,7 @@ sub_080558A4: @ 0x080558A4
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080558DC: .4byte gMenu
|
||||
@@ -1734,7 +1734,7 @@ sub_08055908: @ 0x08055908
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08055940: .4byte gMenu
|
||||
@@ -1859,7 +1859,7 @@ _08055A0E:
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055A30: .4byte gMenu
|
||||
@@ -1879,7 +1879,7 @@ sub_08055A3C: @ 0x08055A3C
|
||||
beq _08055A60
|
||||
movs r0, #7
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldr r1, _08055A68 @ =gMenu
|
||||
ldrb r0, [r1, #6]
|
||||
adds r0, #1
|
||||
@@ -1905,7 +1905,7 @@ sub_08055A6C: @ 0x08055A6C
|
||||
bl sub_080553E0
|
||||
movs r0, #6
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
movs r0, #0x73
|
||||
bl SoundReq
|
||||
ldrb r0, [r4, #6]
|
||||
@@ -1986,7 +1986,7 @@ _08055B14:
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055B2C: .4byte gMenu
|
||||
@@ -2095,7 +2095,7 @@ sub_08055BCC: @ 0x08055BCC
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055BFC: .4byte gMenu
|
||||
@@ -2114,7 +2114,7 @@ sub_08055C04: @ 0x08055C04
|
||||
beq _08055C28
|
||||
movs r0, #7
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
ldr r1, _08055C30 @ =gMenu
|
||||
ldrb r0, [r1, #6]
|
||||
adds r0, #1
|
||||
@@ -2168,7 +2168,7 @@ _08055C6C:
|
||||
_08055C8C:
|
||||
movs r0, #6
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
movs r0, #0x73
|
||||
bl SoundReq
|
||||
ldr r0, _08055CAC @ =gMenu
|
||||
@@ -2242,7 +2242,7 @@ sub_08055CF4: @ 0x08055CF4
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08055D24: .4byte gMenu
|
||||
@@ -2321,7 +2321,7 @@ sub_08055D9C: @ 0x08055D9C
|
||||
strb r0, [r1]
|
||||
movs r0, #4
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08055DB8: .4byte gMenu
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08057044
|
||||
sub_08057044: @ 0x08057044
|
||||
push {r4, r5, lr}
|
||||
sub sp, #8
|
||||
adds r5, r1, #0
|
||||
adds r4, r2, #0
|
||||
mov r1, sp
|
||||
bl sub_08056FEC
|
||||
ldr r2, [sp]
|
||||
movs r1, #3
|
||||
subs r1, r1, r0
|
||||
lsls r1, r1, #3
|
||||
lsls r2, r1
|
||||
orrs r2, r4
|
||||
str r2, [r5]
|
||||
add sp, #8
|
||||
pop {r4, r5, pc}
|
||||
+2
-1199
File diff suppressed because it is too large
Load Diff
-4332
File diff suppressed because it is too large
Load Diff
+8
-8
@@ -9,7 +9,7 @@
|
||||
thumb_func_start sub_08077FEC
|
||||
sub_08077FEC: @ 0x08077FEC
|
||||
push {lr}
|
||||
ldr r0, _08078000 @ =gUnk_03004020
|
||||
ldr r0, _08078000 @ =gPlayerState + 0xA0
|
||||
ldr r2, _08078004 @ =gUnk_0811BFE8
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #2
|
||||
@@ -18,7 +18,7 @@ sub_08077FEC: @ 0x08077FEC
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08078000: .4byte gUnk_03004020
|
||||
_08078000: .4byte gPlayerState + 0xA0
|
||||
_08078004: .4byte gUnk_0811BFE8
|
||||
|
||||
thumb_func_start sub_08078008
|
||||
@@ -221,8 +221,8 @@ _0807815C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08078160
|
||||
sub_08078160: @ 0x08078160
|
||||
thumb_func_start ForceSetPlayerState
|
||||
ForceSetPlayerState: @ 0x08078160
|
||||
push {lr}
|
||||
ldr r1, _08078178 @ =gPlayerState
|
||||
adds r1, #0xa8
|
||||
@@ -467,7 +467,7 @@ _0807835C:
|
||||
bne _0807836A
|
||||
b _080784AC
|
||||
_0807836A:
|
||||
bl sub_08052B24
|
||||
bl CanDispEzloMessage
|
||||
cmp r0, #0
|
||||
beq _08078374
|
||||
b _080784C4
|
||||
@@ -482,7 +482,7 @@ _08078376:
|
||||
beq _08078384
|
||||
b _080784AC
|
||||
_08078384:
|
||||
bl sub_08052B24
|
||||
bl CanDispEzloMessage
|
||||
cmp r0, #0
|
||||
beq _0807838E
|
||||
b _080784C4
|
||||
@@ -558,7 +558,7 @@ _08078418:
|
||||
bl CreateEzloHint
|
||||
_08078420:
|
||||
movs r0, #0x13
|
||||
bl sub_08078160
|
||||
bl ForceSetPlayerState
|
||||
b _080784C4
|
||||
.align 2, 0
|
||||
_08078428: .4byte 0x00000B65
|
||||
@@ -599,7 +599,7 @@ _08078484:
|
||||
movs r0, #7
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x13
|
||||
bl sub_08078160
|
||||
bl ForceSetPlayerState
|
||||
_0807848E:
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x39
|
||||
|
||||
+43
-43
@@ -310,7 +310,7 @@ CreateEzloHint: @ 0x08078AA8
|
||||
ldr r3, _08078AB8 @ =gPlayerState
|
||||
movs r2, #0x16
|
||||
strb r2, [r3, #0xc]
|
||||
ldr r2, _08078ABC @ =gScreenTransition
|
||||
ldr r2, _08078ABC @ =gRoomTransition
|
||||
strh r0, [r2, #0x36]
|
||||
.ifdef JP
|
||||
adds r2, #0x34
|
||||
@@ -325,7 +325,7 @@ CreateEzloHint: @ 0x08078AA8
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08078AB8: .4byte gPlayerState
|
||||
_08078ABC: .4byte gScreenTransition
|
||||
_08078ABC: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_08078AC0
|
||||
sub_08078AC0: @ 0x08078AC0
|
||||
@@ -391,7 +391,7 @@ sub_08078AF0: @ 0x08078AF0
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x11]
|
||||
bl sub_0807A108
|
||||
bl DeleteClones
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08078B40: .4byte gPlayerState
|
||||
@@ -556,8 +556,8 @@ sub_08078C24: @ 0x08078C24
|
||||
_08078CAC: .4byte gPlayerState
|
||||
_08078CB0: .4byte gUnk_03003DF0
|
||||
|
||||
thumb_func_start sub_08078CB4
|
||||
sub_08078CB4: @ 0x08078CB4
|
||||
thumb_func_start UpdateCarriedObject
|
||||
UpdateCarriedObject: @ 0x08078CB4
|
||||
push {lr}
|
||||
ldr r0, _08078CCC @ =gPlayerState
|
||||
ldrb r0, [r0, #5]
|
||||
@@ -744,7 +744,7 @@ _08078DE0:
|
||||
ands r0, r1
|
||||
cmp r0, #2
|
||||
bne _08078E82
|
||||
ldr r0, _08078E38 @ =gScreenTransition
|
||||
ldr r0, _08078E38 @ =gRoomTransition
|
||||
ldr r1, [r0]
|
||||
movs r0, #3
|
||||
ands r1, r0
|
||||
@@ -755,7 +755,7 @@ _08078DE0:
|
||||
b _08078E82
|
||||
.align 2, 0
|
||||
_08078E34: .4byte gPlayerState
|
||||
_08078E38: .4byte gScreenTransition
|
||||
_08078E38: .4byte gRoomTransition
|
||||
_08078E3C:
|
||||
ldrh r0, [r4, #0x2e]
|
||||
adds r0, #1
|
||||
@@ -862,8 +862,8 @@ sub_08078EE4: @ 0x08078EE4
|
||||
_08078EF4: .4byte gPlayerEntity
|
||||
_08078EF8: .4byte gPlayerState
|
||||
|
||||
thumb_func_start sub_08078EFC
|
||||
sub_08078EFC: @ 0x08078EFC
|
||||
thumb_func_start RunQueuedAction
|
||||
RunQueuedAction: @ 0x08078EFC
|
||||
push {lr}
|
||||
ldr r3, _08078F18 @ =gPlayerState
|
||||
ldrb r2, [r3, #0xc]
|
||||
@@ -894,7 +894,7 @@ sub_08078F24: @ 0x08078F24
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
beq _08078F3C
|
||||
bl sub_08078F60
|
||||
bl ResetPlayerVelocity
|
||||
b _08078F5A
|
||||
.align 2, 0
|
||||
_08078F38: .4byte gPlayerState
|
||||
@@ -919,8 +919,8 @@ _08078F5A:
|
||||
.align 2, 0
|
||||
_08078F5C: .4byte gSineTable
|
||||
|
||||
thumb_func_start sub_08078F60
|
||||
sub_08078F60: @ 0x08078F60
|
||||
thumb_func_start ResetPlayerVelocity
|
||||
ResetPlayerVelocity: @ 0x08078F60
|
||||
ldr r0, _08078F70 @ =gPlayerState
|
||||
adds r1, r0, #0
|
||||
adds r1, #0x8c
|
||||
@@ -1239,7 +1239,7 @@ sub_0807919C: @ 0x0807919C
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080791B4
|
||||
bl sub_080791BC
|
||||
bl SetPlayerActionNormal
|
||||
b _080791B8
|
||||
.align 2, 0
|
||||
_080791B0: .4byte gPlayerState
|
||||
@@ -1249,8 +1249,8 @@ _080791B8:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080791BC
|
||||
sub_080791BC: @ 0x080791BC
|
||||
thumb_func_start SetPlayerActionNormal
|
||||
SetPlayerActionNormal: @ 0x080791BC
|
||||
ldr r0, _080791CC @ =gPlayerEntity
|
||||
movs r2, #0
|
||||
movs r1, #1
|
||||
@@ -1261,8 +1261,8 @@ sub_080791BC: @ 0x080791BC
|
||||
.align 2, 0
|
||||
_080791CC: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_080791D0
|
||||
sub_080791D0: @ 0x080791D0
|
||||
thumb_func_start ResetPlayerAnimationAndAction
|
||||
ResetPlayerAnimationAndAction: @ 0x080791D0
|
||||
push {lr}
|
||||
ldr r3, _0807920C @ =gPlayerState
|
||||
ldr r0, [r3, #0x30]
|
||||
@@ -1318,8 +1318,8 @@ sub_0807921C: @ 0x0807921C
|
||||
ldr r1, _08079254 @ =0xFECBF6FA
|
||||
ands r0, r1
|
||||
str r0, [r2, #0x30]
|
||||
bl sub_08079938
|
||||
bl sub_080791BC
|
||||
bl ResolvePlayerAnimation
|
||||
bl SetPlayerActionNormal
|
||||
adds r0, r4, #0
|
||||
bl sub_0805E374
|
||||
pop {r4, pc}
|
||||
@@ -2248,8 +2248,8 @@ _0807992E:
|
||||
_08079930: .4byte gPlayerState
|
||||
_08079934: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_08079938
|
||||
sub_08079938: @ 0x08079938
|
||||
thumb_func_start ResolvePlayerAnimation
|
||||
ResolvePlayerAnimation: @ 0x08079938
|
||||
push {r4, lr}
|
||||
ldr r3, _08079954 @ =gPlayerState
|
||||
ldr r2, [r3, #0x30]
|
||||
@@ -2865,8 +2865,8 @@ _08079DFC: .4byte gPlayerEntity
|
||||
_08079E00: .4byte gPlayerState
|
||||
_08079E04: .4byte 0x00000193
|
||||
|
||||
thumb_func_start sub_08079E08
|
||||
sub_08079E08: @ 0x08079E08
|
||||
thumb_func_start UpdatePlayerMovement
|
||||
UpdatePlayerMovement: @ 0x08079E08
|
||||
push {r4, lr}
|
||||
ldr r0, _08079E50 @ =gPlayerEntity
|
||||
ldrh r2, [r0, #0x24]
|
||||
@@ -3279,10 +3279,10 @@ _0807A104:
|
||||
adds r0, r2, #0
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0807A108
|
||||
sub_0807A108: @ 0x0807A108
|
||||
thumb_func_start DeleteClones
|
||||
DeleteClones: @ 0x0807A108
|
||||
push {lr}
|
||||
ldr r1, _0807A148 @ =gUnk_03004040
|
||||
ldr r1, _0807A148 @ =gPlayerClones
|
||||
movs r0, #0
|
||||
str r0, [r1]
|
||||
str r0, [r1, #4]
|
||||
@@ -3315,7 +3315,7 @@ _0807A130:
|
||||
_0807A144:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0807A148: .4byte gUnk_03004040
|
||||
_0807A148: .4byte gPlayerClones
|
||||
_0807A14C: .4byte gPlayerState
|
||||
_0807A150: .4byte 0xFFBFFFFF
|
||||
_0807A154: .4byte gPlayerEntity
|
||||
@@ -3483,8 +3483,8 @@ _0807A28C: .4byte gPlayerEntity
|
||||
_0807A290: .4byte gPlayerState
|
||||
_0807A294: .4byte gUnk_08007CAC
|
||||
|
||||
thumb_func_start sub_0807A298
|
||||
sub_0807A298: @ 0x0807A298
|
||||
thumb_func_start EnablePlayerDraw
|
||||
EnablePlayerDraw: @ 0x0807A298
|
||||
movs r1, #0
|
||||
strb r1, [r0, #0xb]
|
||||
ldrb r1, [r0, #0x18]
|
||||
@@ -3722,7 +3722,7 @@ _0807A468:
|
||||
cmp r2, #0
|
||||
beq _0807A4F2
|
||||
_0807A46E:
|
||||
bl CheckIsDungeon
|
||||
bl AreaIsDungeon
|
||||
cmp r0, #0
|
||||
beq _0807A4B0
|
||||
ldr r4, _0807A4AC @ =gPlayerEntity
|
||||
@@ -5105,7 +5105,7 @@ _0807AEA8:
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0807AECC
|
||||
ldr r0, _0807AEC8 @ =gScreenTransition
|
||||
ldr r0, _0807AEC8 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
@@ -5116,9 +5116,9 @@ _0807AEA8:
|
||||
bl sub_080A2A84
|
||||
b _0807AEDE
|
||||
.align 2, 0
|
||||
_0807AEC8: .4byte gScreenTransition
|
||||
_0807AEC8: .4byte gRoomTransition
|
||||
_0807AECC:
|
||||
ldr r0, _0807AEE0 @ =gScreenTransition
|
||||
ldr r0, _0807AEE0 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
@@ -5129,10 +5129,10 @@ _0807AECC:
|
||||
_0807AEDE:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0807AEE0: .4byte gScreenTransition
|
||||
_0807AEE0: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_0807AEE4
|
||||
sub_0807AEE4: @ 0x0807AEE4
|
||||
thumb_func_start UpdatePlayerSkills
|
||||
UpdatePlayerSkills: @ 0x0807AEE4
|
||||
push {r4, lr}
|
||||
ldr r0, _0807AFE4 @ =gPlayerState
|
||||
adds r4, r0, #0
|
||||
@@ -5471,7 +5471,7 @@ sub_0807B144: @ 0x0807B144
|
||||
ldr r1, _0807B170 @ =gPlayerState
|
||||
movs r0, #0x81
|
||||
strb r0, [r1, #2]
|
||||
bl sub_080791BC
|
||||
bl SetPlayerActionNormal
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0807B170: .4byte gPlayerState
|
||||
@@ -5501,7 +5501,7 @@ sub_0807B178: @ 0x0807B178
|
||||
ldr r1, _0807B1A4 @ =gPlayerState
|
||||
movs r0, #0x81
|
||||
strb r0, [r1, #2]
|
||||
bl sub_080791BC
|
||||
bl SetPlayerActionNormal
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0807B1A4: .4byte gPlayerState
|
||||
@@ -5518,7 +5518,7 @@ sub_0807B1A8: @ 0x0807B1A8
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
ldr r0, _0807B1D8 @ =gScreenTransition
|
||||
ldr r0, _0807B1D8 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
@@ -5530,7 +5530,7 @@ _0807B1D0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0807B1D4: .4byte gUnk_0811C298
|
||||
_0807B1D8: .4byte gScreenTransition
|
||||
_0807B1D8: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_0807B1DC
|
||||
sub_0807B1DC: @ 0x0807B1DC
|
||||
@@ -5581,13 +5581,13 @@ sub_0807B21C: @ 0x0807B21C
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #3
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
b _0807B240
|
||||
_0807B236:
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #4
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
_0807B240:
|
||||
ldr r1, [r4, #0x20]
|
||||
ldr r0, _0807B260 @ =0xFFFF8000
|
||||
@@ -5659,7 +5659,7 @@ sub_0807B2B8: @ 0x0807B2B8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0807B2F0 @ =0xFFFFE000
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
ldrb r0, [r4, #0xe]
|
||||
|
||||
+10
-10
@@ -931,8 +931,8 @@ _0807C0D0: .4byte gPaletteBuffer
|
||||
_0807C0D4: .4byte gUsedPalettes
|
||||
_0807C0D8: .4byte 0x000007FF
|
||||
|
||||
thumb_func_start sub_0807C0DC
|
||||
sub_0807C0DC: @ 0x0807C0DC
|
||||
thumb_func_start LoadRoomGfx
|
||||
LoadRoomGfx: @ 0x0807C0DC
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
@@ -1003,7 +1003,7 @@ _0807C178:
|
||||
movs r3, #1
|
||||
mov sb, r3
|
||||
_0807C184:
|
||||
ldr r0, _0807C1B0 @ =gScreenTransition
|
||||
ldr r0, _0807C1B0 @ =gRoomTransition
|
||||
adds r0, #0x2d
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
@@ -1024,7 +1024,7 @@ _0807C184:
|
||||
bl MemCopy
|
||||
b _0807C26C
|
||||
.align 2, 0
|
||||
_0807C1B0: .4byte gScreenTransition
|
||||
_0807C1B0: .4byte gRoomTransition
|
||||
_0807C1B4: .4byte gMapDataBottom
|
||||
_0807C1B8: .4byte gMapDataTop
|
||||
_0807C1BC:
|
||||
@@ -1710,7 +1710,7 @@ _0807C736:
|
||||
sub_0807C740: @ 0x0807C740
|
||||
push {r4, r5, lr}
|
||||
bl sub_0807BFD0
|
||||
bl sub_0807C0DC
|
||||
bl LoadRoomGfx
|
||||
ldr r4, _0807C780 @ =gRoomControls
|
||||
ldr r2, [r4, #0x30]
|
||||
cmp r2, #0
|
||||
@@ -1859,7 +1859,7 @@ _0807C85C: .4byte gUpdateVisibleTiles
|
||||
thumb_func_start sub_0807C860
|
||||
sub_0807C860: @ 0x0807C860
|
||||
push {r4, lr}
|
||||
ldr r0, _0807C88C @ =gScreenTransition
|
||||
ldr r0, _0807C88C @ =gRoomTransition
|
||||
adds r0, #0x2d
|
||||
movs r1, #1
|
||||
strb r1, [r0]
|
||||
@@ -1879,23 +1879,23 @@ sub_0807C860: @ 0x0807C860
|
||||
bl MemCopy
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0807C88C: .4byte gScreenTransition
|
||||
_0807C88C: .4byte gRoomTransition
|
||||
_0807C890: .4byte gMapDataBottom
|
||||
_0807C894: .4byte gMapDataTop
|
||||
|
||||
thumb_func_start sub_0807C898
|
||||
sub_0807C898: @ 0x0807C898
|
||||
push {r4, r5, lr}
|
||||
ldr r4, _0807C8AC @ =gScreenTransition
|
||||
ldr r4, _0807C8AC @ =gRoomTransition
|
||||
adds r4, #0x2d
|
||||
movs r5, #0
|
||||
movs r0, #2
|
||||
strb r0, [r4]
|
||||
bl sub_0807C0DC
|
||||
bl LoadRoomGfx
|
||||
strb r5, [r4]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0807C8AC: .4byte gScreenTransition
|
||||
_0807C8AC: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_0807C8B0
|
||||
sub_0807C8B0: @ 0x0807C8B0
|
||||
|
||||
+6
-6
@@ -6,8 +6,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08080A40
|
||||
sub_08080A40: @ 0x08080A40
|
||||
thumb_func_start UpdateDoorTransition
|
||||
UpdateDoorTransition: @ 0x08080A40
|
||||
push {r4, r5, r6, r7, lr}
|
||||
ldr r7, _08080A70 @ =gRoomControls
|
||||
ldr r1, [r7, #0x30]
|
||||
@@ -100,7 +100,7 @@ _08080AFA:
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl sub_080002A8
|
||||
ldr r1, _08080B48 @ =gScreenTransition
|
||||
ldr r1, _08080B48 @ =gRoomTransition
|
||||
strh r0, [r1, #0xa]
|
||||
cmp r4, #0x3f
|
||||
beq _08080B50
|
||||
@@ -112,7 +112,7 @@ _08080AFA:
|
||||
blo _08080B5C
|
||||
b _08080B50
|
||||
.align 2, 0
|
||||
_08080B48: .4byte gScreenTransition
|
||||
_08080B48: .4byte gRoomTransition
|
||||
_08080B4C:
|
||||
cmp r4, #0xf1
|
||||
bne _08080B5C
|
||||
@@ -422,7 +422,7 @@ _08080DB4:
|
||||
bl ResolveEntityOnTop
|
||||
b _08080E00
|
||||
_08080DEE:
|
||||
ldr r0, _08080E04 @ =gScreenTransition
|
||||
ldr r0, _08080E04 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
@@ -433,4 +433,4 @@ _08080DEE:
|
||||
_08080E00:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08080E04: .4byte gScreenTransition
|
||||
_08080E04: .4byte gRoomTransition
|
||||
|
||||
@@ -1,157 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start FlushSprites
|
||||
FlushSprites: @ 0x080AD90C
|
||||
ldr r1, _080AD914 @ =gUnk_03000000
|
||||
movs r0, #0
|
||||
strb r0, [r1, #3]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080AD914: .4byte gUnk_03000000
|
||||
|
||||
thumb_func_start sub_080AD918
|
||||
sub_080AD918: @ 0x080AD918
|
||||
push {r4, lr}
|
||||
ldr r1, _080AD948 @ =gMain
|
||||
ldrb r0, [r1, #0xb]
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
bne _080AD958
|
||||
ldr r1, _080AD94C @ =gUnk_03000000
|
||||
movs r3, #0xa4
|
||||
lsls r3, r3, #3
|
||||
adds r0, r1, r3
|
||||
strb r2, [r0]
|
||||
ldr r3, _080AD950 @ =0x00000664
|
||||
adds r0, r1, r3
|
||||
strb r2, [r0]
|
||||
movs r3, #0xf5
|
||||
lsls r3, r3, #3
|
||||
adds r0, r1, r3
|
||||
strb r2, [r0]
|
||||
ldr r3, _080AD954 @ =0x000008EC
|
||||
adds r0, r1, r3
|
||||
strb r2, [r0]
|
||||
adds r4, r1, #0
|
||||
b _080AD95E
|
||||
.align 2, 0
|
||||
_080AD948: .4byte gMain
|
||||
_080AD94C: .4byte gUnk_03000000
|
||||
_080AD950: .4byte 0x00000664
|
||||
_080AD954: .4byte 0x000008EC
|
||||
_080AD958:
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xb]
|
||||
ldr r4, _080AD9A8 @ =gUnk_03000000
|
||||
_080AD95E:
|
||||
ldrb r1, [r4, #3]
|
||||
movs r0, #0x80
|
||||
subs r2, r0, r1
|
||||
cmp r2, #0
|
||||
ble _080AD980
|
||||
lsls r1, r1, #3
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x20
|
||||
adds r1, r1, r0
|
||||
movs r3, #0xa8
|
||||
lsls r3, r3, #2
|
||||
adds r0, r3, #0
|
||||
_080AD976:
|
||||
strh r0, [r1]
|
||||
adds r1, #8
|
||||
subs r2, #1
|
||||
cmp r2, #0
|
||||
bne _080AD976
|
||||
_080AD980:
|
||||
adds r1, r4, #0
|
||||
ldr r0, _080AD9AC @ =0x00000427
|
||||
adds r2, r1, r0
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #0
|
||||
beq _080AD9A0
|
||||
movs r0, #0
|
||||
strb r0, [r2]
|
||||
movs r2, #0x84
|
||||
lsls r2, r2, #3
|
||||
adds r0, r1, r2
|
||||
adds r1, #0x26
|
||||
movs r2, #0x20
|
||||
movs r3, #8
|
||||
bl ObjAffineSet
|
||||
_080AD9A0:
|
||||
movs r0, #1
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080AD9A8: .4byte gUnk_03000000
|
||||
_080AD9AC: .4byte 0x00000427
|
||||
|
||||
thumb_func_start sub_080AD9B0
|
||||
sub_080AD9B0: @ 0x080AD9B0
|
||||
push {lr}
|
||||
ldr r2, _080AD9F4 @ =gUnk_03000000
|
||||
ldr r0, _080AD9F8 @ =gScreenTransition
|
||||
adds r0, #0x2f
|
||||
ldrb r0, [r0]
|
||||
movs r1, #0
|
||||
cmp r0, #0
|
||||
beq _080AD9C2
|
||||
movs r1, #0xf
|
||||
_080AD9C2:
|
||||
strb r1, [r2, #0xe]
|
||||
ldr r1, _080AD9FC @ =gRoomControls
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x24
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
ldrh r3, [r1, #0xa]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r2, #4]
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x25
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
ldrh r1, [r1, #0xc]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r2, #6]
|
||||
ldrb r0, [r2, #1]
|
||||
adds r0, #1
|
||||
strb r0, [r2, #1]
|
||||
ldr r0, _080ADA00 @ =gUnk_03006164
|
||||
bl _call_via_r0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080AD9F4: .4byte gUnk_03000000
|
||||
_080AD9F8: .4byte gScreenTransition
|
||||
_080AD9FC: .4byte gRoomControls
|
||||
_080ADA00: .4byte gUnk_03006164
|
||||
|
||||
thumb_func_start sub_080ADA04
|
||||
sub_080ADA04: @ 0x080ADA04
|
||||
push {lr}
|
||||
ldr r2, _080ADA10 @ =gUnk_0300659C
|
||||
bl _call_via_r2
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080ADA10: .4byte gUnk_0300659C
|
||||
|
||||
thumb_func_start sub_080ADA14
|
||||
sub_080ADA14: @ 0x080ADA14
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
adds r2, r1, #0
|
||||
ldr r4, _080ADA28 @ =gUnk_03006580
|
||||
ldr r0, _080ADA2C @ =gOamCmd
|
||||
adds r1, r3, #0
|
||||
bl _call_via_r4
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080ADA28: .4byte gUnk_03006580
|
||||
_080ADA2C: .4byte gOamCmd
|
||||
@@ -106,7 +106,7 @@ _0806FBB2:
|
||||
sub_0806FBB4: @ 0x0806FBB4
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, _0806FBD0 @ =gScreenTransition
|
||||
ldr r0, _0806FBD0 @ =gRoomTransition
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #0
|
||||
bne _0806FBC8
|
||||
@@ -120,7 +120,7 @@ _0806FBC8:
|
||||
_0806FBCC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806FBD0: .4byte gScreenTransition
|
||||
_0806FBD0: .4byte gRoomTransition
|
||||
_0806FBD4: .4byte gPlayerState
|
||||
|
||||
thumb_func_start AllocMutableHitbox
|
||||
@@ -1,204 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0801C6B0
|
||||
sub_0801C6B0: @ 0x0801C6B0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
ldr r2, _0801C6CC @ =gUnk_0200AF00
|
||||
ldrb r1, [r2, #1]
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0801C6D0
|
||||
bl sub_0801C824
|
||||
bl sub_0801C66C
|
||||
b _0801C802
|
||||
.align 2, 0
|
||||
_0801C6CC: .4byte gUnk_0200AF00
|
||||
_0801C6D0:
|
||||
ldr r5, _0801C6F8 @ =gSave
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xab
|
||||
ldrb r0, [r0]
|
||||
lsrs r4, r0, #1
|
||||
ldrb r0, [r2, #4]
|
||||
cmp r4, r0
|
||||
beq _0801C6EA
|
||||
strb r4, [r2, #4]
|
||||
bl sub_0801C824
|
||||
bl sub_0801C66C
|
||||
_0801C6EA:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0xaa
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #1
|
||||
beq _0801C6FC
|
||||
lsrs r1, r0, #1
|
||||
b _0801C6FE
|
||||
.align 2, 0
|
||||
_0801C6F8: .4byte gSave
|
||||
_0801C6FC:
|
||||
movs r1, #1
|
||||
_0801C6FE:
|
||||
cmp r1, r4
|
||||
ble _0801C704
|
||||
adds r1, r4, #0
|
||||
_0801C704:
|
||||
movs r4, #0
|
||||
ldr r0, _0801C748 @ =gUnk_0200AF00
|
||||
ldrb r2, [r0, #3]
|
||||
adds r7, r0, #0
|
||||
cmp r1, r2
|
||||
beq _0801C718
|
||||
movs r4, #1
|
||||
cmp r1, r2
|
||||
ble _0801C718
|
||||
movs r4, #2
|
||||
_0801C718:
|
||||
cmp r4, #1
|
||||
beq _0801C750
|
||||
cmp r4, #2
|
||||
bne _0801C756
|
||||
ldrb r0, [r7, #5]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r7, #5]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0801C74C
|
||||
movs r0, #7
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
bne _0801C740
|
||||
movs r0, #0x71
|
||||
bl SoundReq
|
||||
_0801C740:
|
||||
ldrb r0, [r7, #3]
|
||||
adds r0, #1
|
||||
strb r0, [r7, #3]
|
||||
b _0801C75A
|
||||
.align 2, 0
|
||||
_0801C748: .4byte gUnk_0200AF00
|
||||
_0801C74C:
|
||||
movs r4, #0
|
||||
b _0801C75A
|
||||
_0801C750:
|
||||
ldrb r0, [r7, #3]
|
||||
subs r0, #1
|
||||
strb r0, [r7, #3]
|
||||
_0801C756:
|
||||
movs r0, #0
|
||||
strb r0, [r7, #5]
|
||||
_0801C75A:
|
||||
ldrb r0, [r7, #2]
|
||||
cmp r0, #0
|
||||
beq _0801C764
|
||||
cmp r4, #0
|
||||
beq _0801C802
|
||||
_0801C764:
|
||||
movs r0, #2
|
||||
strb r0, [r7, #2]
|
||||
ldrb r0, [r7, #3]
|
||||
lsrs r3, r0, #2
|
||||
cmp r3, #0xa
|
||||
ble _0801C77A
|
||||
movs r1, #0xa
|
||||
mov r8, r1
|
||||
adds r6, r3, #0
|
||||
subs r6, #0xa
|
||||
b _0801C77E
|
||||
_0801C77A:
|
||||
mov r8, r3
|
||||
movs r6, #0
|
||||
_0801C77E:
|
||||
ldrb r0, [r7, #4]
|
||||
lsrs r4, r0, #2
|
||||
adds r1, r4, #0
|
||||
cmp r4, #0xa
|
||||
ble _0801C78A
|
||||
movs r4, #0xa
|
||||
_0801C78A:
|
||||
adds r2, r1, #0
|
||||
subs r2, #0xa
|
||||
ldr r0, _0801C808 @ =gUnk_080C8F2C
|
||||
mov ip, r0
|
||||
cmp r2, #0
|
||||
ble _0801C7B8
|
||||
ldr r5, _0801C80C @ =gUnk_02034D30
|
||||
ldr r1, _0801C810 @ =0x0000F010
|
||||
adds r0, r1, #0
|
||||
strh r0, [r5]
|
||||
ldr r1, _0801C814 @ =0x040000D4
|
||||
movs r0, #0xa
|
||||
subs r0, r0, r6
|
||||
lsls r0, r0, #1
|
||||
add r0, ip
|
||||
str r0, [r1]
|
||||
adds r0, r5, #2
|
||||
str r0, [r1, #4]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x18
|
||||
orrs r2, r0
|
||||
str r2, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
_0801C7B8:
|
||||
ldr r5, _0801C818 @ =gUnk_02034CF0
|
||||
ldr r2, _0801C810 @ =0x0000F010
|
||||
adds r0, r2, #0
|
||||
strh r0, [r5]
|
||||
ldr r1, _0801C814 @ =0x040000D4
|
||||
movs r0, #0xa
|
||||
mov r2, r8
|
||||
subs r0, r0, r2
|
||||
lsls r0, r0, #1
|
||||
add r0, ip
|
||||
str r0, [r1]
|
||||
adds r0, r5, #2
|
||||
str r0, [r1, #4]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x18
|
||||
orrs r4, r0
|
||||
str r4, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
ldrb r0, [r7, #3]
|
||||
movs r1, #3
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _0801C7FC
|
||||
cmp r3, #9
|
||||
ble _0801C7EE
|
||||
subs r3, #0xa
|
||||
adds r5, #0x40
|
||||
_0801C7EE:
|
||||
lsls r0, r3, #1
|
||||
adds r0, r0, r5
|
||||
adds r1, #0x11
|
||||
ldr r3, _0801C81C @ =0xFFFFF000
|
||||
adds r2, r3, #0
|
||||
orrs r1, r2
|
||||
strh r1, [r0, #2]
|
||||
_0801C7FC:
|
||||
ldr r1, _0801C820 @ =gScreen
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0xe]
|
||||
_0801C802:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801C808: .4byte gUnk_080C8F2C
|
||||
_0801C80C: .4byte gUnk_02034D30
|
||||
_0801C810: .4byte 0x0000F010
|
||||
_0801C814: .4byte 0x040000D4
|
||||
_0801C818: .4byte gUnk_02034CF0
|
||||
_0801C81C: .4byte 0xFFFFF000
|
||||
_0801C820: .4byte gScreen
|
||||
@@ -1,160 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0801C4B0
|
||||
sub_0801C4B0: @ 0x0801C4B0
|
||||
push {r4, r5, r6, lr}
|
||||
ldr r2, _0801C4F0 @ =gUnk_0200AF00
|
||||
ldrb r1, [r2, #1]
|
||||
movs r0, #0x40
|
||||
ands r0, r1
|
||||
adds r6, r2, #0
|
||||
cmp r0, #0
|
||||
beq _0801C4FC
|
||||
ldrb r0, [r6, #0xa]
|
||||
cmp r0, #0
|
||||
bne _0801C4C8
|
||||
b _0801C5D0
|
||||
_0801C4C8:
|
||||
movs r0, #0
|
||||
strb r0, [r6, #0xa]
|
||||
ldr r3, _0801C4F4 @ =gUnk_02035160
|
||||
strh r0, [r3]
|
||||
strh r0, [r3, #2]
|
||||
strh r0, [r3, #4]
|
||||
strh r0, [r3, #6]
|
||||
strh r0, [r3, #8]
|
||||
adds r4, r3, #0
|
||||
adds r4, #0x40
|
||||
strh r0, [r4]
|
||||
strh r0, [r4, #2]
|
||||
strh r0, [r4, #4]
|
||||
strh r0, [r4, #6]
|
||||
strh r0, [r4, #8]
|
||||
ldr r1, _0801C4F8 @ =gScreen
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0xe]
|
||||
b _0801C5D0
|
||||
.align 2, 0
|
||||
_0801C4F0: .4byte gUnk_0200AF00
|
||||
_0801C4F4: .4byte gUnk_02035160
|
||||
_0801C4F8: .4byte gScreen
|
||||
_0801C4FC:
|
||||
ldrb r0, [r6, #0xa]
|
||||
cmp r0, #0
|
||||
bne _0801C560
|
||||
movs r0, #2
|
||||
strb r0, [r6, #0xa]
|
||||
ldr r3, _0801C54C @ =gUnk_02035160
|
||||
adds r4, r3, #0
|
||||
adds r4, #0x40
|
||||
ldr r1, _0801C550 @ =gWalletSizes
|
||||
ldr r2, _0801C554 @ =gSave
|
||||
adds r0, r2, #0
|
||||
adds r0, #0xa8
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0, #2]
|
||||
strh r1, [r3]
|
||||
adds r0, r1, #1
|
||||
strh r0, [r3, #2]
|
||||
adds r0, r1, #2
|
||||
strh r0, [r4]
|
||||
adds r0, r1, #3
|
||||
strh r0, [r4, #2]
|
||||
ldr r1, _0801C558 @ =0x0000F070
|
||||
strh r1, [r3, #4]
|
||||
adds r0, r1, #1
|
||||
strh r0, [r4, #4]
|
||||
adds r0, r1, #2
|
||||
strh r0, [r3, #6]
|
||||
adds r0, r1, #3
|
||||
strh r0, [r4, #6]
|
||||
adds r0, r1, #4
|
||||
strh r0, [r3, #8]
|
||||
adds r0, r1, #5
|
||||
strh r0, [r4, #8]
|
||||
ldr r1, _0801C55C @ =gScreen
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0xe]
|
||||
movs r4, #1
|
||||
b _0801C564
|
||||
.align 2, 0
|
||||
_0801C54C: .4byte gUnk_02035160
|
||||
_0801C550: .4byte gWalletSizes
|
||||
_0801C554: .4byte gSave
|
||||
_0801C558: .4byte 0x0000F070
|
||||
_0801C55C: .4byte gScreen
|
||||
_0801C560:
|
||||
movs r4, #0
|
||||
ldr r2, _0801C580 @ =gSave
|
||||
_0801C564:
|
||||
adds r5, r6, #0
|
||||
adds r0, r2, #0
|
||||
adds r0, #0xc0
|
||||
ldrh r1, [r5, #0xe]
|
||||
adds r3, r1, #0
|
||||
ldrh r0, [r0]
|
||||
cmp r3, r0
|
||||
beq _0801C58A
|
||||
cmp r3, r0
|
||||
bhs _0801C584
|
||||
adds r0, r1, #1
|
||||
strh r0, [r5, #0xe]
|
||||
b _0801C588
|
||||
.align 2, 0
|
||||
_0801C580: .4byte gSave
|
||||
_0801C584:
|
||||
subs r0, r1, #1
|
||||
strh r0, [r6, #0xe]
|
||||
_0801C588:
|
||||
movs r4, #2
|
||||
_0801C58A:
|
||||
cmp r4, #1
|
||||
beq _0801C5A4
|
||||
cmp r4, #2
|
||||
bne _0801C5CC
|
||||
ldr r0, _0801C5D4 @ =gUnk_0200AF00
|
||||
ldrb r0, [r0, #0xc]
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0801C5A4
|
||||
movs r0, #0x6f
|
||||
bl SoundReq
|
||||
_0801C5A4:
|
||||
ldr r4, _0801C5D4 @ =gUnk_0200AF00
|
||||
ldrh r3, [r4, #0xe]
|
||||
movs r2, #0
|
||||
ldr r1, _0801C5D8 @ =gWalletSizes
|
||||
ldr r0, _0801C5DC @ =gSave
|
||||
adds r0, #0xa8
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
cmp r0, r3
|
||||
bhi _0801C5BE
|
||||
movs r2, #1
|
||||
_0801C5BE:
|
||||
movs r0, #0x70
|
||||
adds r1, r3, #0
|
||||
movs r3, #3
|
||||
bl sub_0801C5E0
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r4, r0, #1
|
||||
_0801C5CC:
|
||||
ldr r0, _0801C5D4 @ =gUnk_0200AF00
|
||||
strb r4, [r0, #0xc]
|
||||
_0801C5D0:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0801C5D4: .4byte gUnk_0200AF00
|
||||
_0801C5D8: .4byte gWalletSizes
|
||||
_0801C5DC: .4byte gSave
|
||||
@@ -1,26 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0801C344
|
||||
sub_0801C344: @ 0x0801C344
|
||||
push {r4, r5, lr}
|
||||
ldr r4, _0801C36C @ =gUnk_0200AF00
|
||||
ldrb r1, [r4, #1]
|
||||
ldrb r0, [r4]
|
||||
bics r0, r1
|
||||
movs r5, #0
|
||||
strb r0, [r4]
|
||||
bl sub_0801C6B0
|
||||
bl sub_0801C85C
|
||||
bl sub_0801C4B0
|
||||
bl sub_0801C99C
|
||||
strb r5, [r4]
|
||||
bl sub_0801C1D4
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0801C36C: .4byte gUnk_0200AF00
|
||||
@@ -18,7 +18,7 @@ EnemyUpdate: @ 0x080011C4
|
||||
bne _080011EA
|
||||
bl DeleteThisEntity
|
||||
_080011DC:
|
||||
bl CheckDontUpdate
|
||||
bl EntityIsDeleted
|
||||
cmp r0, #0
|
||||
bne _0800120A
|
||||
adds r0, r4, #0
|
||||
@@ -109,7 +109,7 @@ sub_08001242: @ 0x08001242
|
||||
pop {r0}
|
||||
_08001282:
|
||||
ldr r1, _08001364 @ =0x00001800
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0800128C:
|
||||
@@ -126,6 +126,8 @@ sub_08001290: @ 0x08001290
|
||||
_0800129C:
|
||||
bx lr
|
||||
|
||||
@ r0: Entity*
|
||||
@ r1: Function* array
|
||||
non_word_aligned_thumb_func_start EnemyFunctionHandler
|
||||
EnemyFunctionHandler: @ 0x0800129E
|
||||
mov r3, lr
|
||||
@@ -1133,12 +1135,12 @@ _080026A0: .4byte gUnk_08002342
|
||||
gUnk_080026A4::
|
||||
@ normal entities
|
||||
.4byte gUnk_020000B0 @ enemy target? (player)
|
||||
.4byte gUnk_03003D68 @ first linked list
|
||||
.4byte gUnk_03003DB0 @ last linked list
|
||||
.4byte gEntityLists - 8 @ first linked list
|
||||
.4byte gEntityLists + 64 @ last linked list
|
||||
.4byte gUnk_03005FBC @ entity table
|
||||
@ managers
|
||||
.4byte gUnk_020000B0
|
||||
.4byte gUnk_03003DA8
|
||||
.4byte gEntityLists + 56
|
||||
.4byte gCollidableCount
|
||||
.4byte gUnk_03005FBC
|
||||
|
||||
@@ -130,7 +130,7 @@ sub_0803026C: @ 0x0803026C
|
||||
strb r0, [r3]
|
||||
ldrb r2, [r3]
|
||||
lsls r0, r2, #2
|
||||
ldr r5, _080302A8 @ =gUnk_0300110C
|
||||
ldr r5, _080302A8 @ =armos_data
|
||||
adds r0, r0, r5
|
||||
ldrh r1, [r0]
|
||||
cmp r1, #0
|
||||
@@ -150,7 +150,7 @@ sub_0803026C: @ 0x0803026C
|
||||
str r0, [r2]
|
||||
b _080302BA
|
||||
.align 2, 0
|
||||
_080302A8: .4byte gUnk_0300110C
|
||||
_080302A8: .4byte gRoomTransition + 0x6c
|
||||
_080302AC:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x84
|
||||
@@ -459,7 +459,7 @@ _080304F0:
|
||||
sub_080304F4: @ 0x080304F4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_080309A8
|
||||
ldrb r0, [r4, #0xe]
|
||||
@@ -1014,7 +1014,7 @@ _0803088E:
|
||||
strb r0, [r2]
|
||||
ldr r0, [r5, #0x7c]
|
||||
bl DoExitTransition
|
||||
ldr r0, _08030938 @ =gScreenTransition
|
||||
ldr r0, _08030938 @ =gRoomTransition
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x80
|
||||
ldrb r1, [r1]
|
||||
@@ -1027,7 +1027,7 @@ _08030928: .4byte gPlayerState
|
||||
_0803092C: .4byte gRoomControls
|
||||
_08030930: .4byte 0x00004049
|
||||
_08030934: .4byte gPlayerEntity
|
||||
_08030938: .4byte gScreenTransition
|
||||
_08030938: .4byte gRoomTransition
|
||||
_0803093C:
|
||||
ldr r0, _0803094C @ =0x00004022
|
||||
mov r3, r8
|
||||
@@ -356,7 +356,7 @@ _0803E7A0:
|
||||
strb r0, [r2, #0xe]
|
||||
movs r0, #8
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
_0803E7B0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -162,7 +162,7 @@ sub_0803350C: @ 0x0803350C
|
||||
cmp r0, #0
|
||||
bne _08033520
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
_08033520:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x76
|
||||
@@ -1028,12 +1028,12 @@ sub_0802647C: @ 0x0802647C
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #7
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _080264A6
|
||||
movs r0, #0x10
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
ldr r0, _080264A8 @ =0x000001A1
|
||||
bl SoundReq
|
||||
adds r0, r4, #0
|
||||
@@ -1333,7 +1333,7 @@ _080266B0:
|
||||
strh r0, [r4, #0x24]
|
||||
b _08026742
|
||||
_080266D6:
|
||||
ldr r0, _08026700 @ =gScreenTransition
|
||||
ldr r0, _08026700 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #0x7f
|
||||
ands r0, r1
|
||||
@@ -1354,7 +1354,7 @@ _080266EC:
|
||||
lsls r0, r0, #1
|
||||
b _0802670A
|
||||
.align 2, 0
|
||||
_08026700: .4byte gScreenTransition
|
||||
_08026700: .4byte gRoomTransition
|
||||
_08026704: .4byte gPlayerEntity
|
||||
_08026708:
|
||||
movs r0, #0xc0
|
||||
@@ -1363,7 +1363,7 @@ _0802670A:
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
beq _0802672C
|
||||
ldr r0, _0802674C @ =gScreenTransition
|
||||
ldr r0, _0802674C @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
@@ -1394,7 +1394,7 @@ _08026748:
|
||||
add sp, #4
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0802674C: .4byte gScreenTransition
|
||||
_0802674C: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_08026750
|
||||
sub_08026750: @ 0x08026750
|
||||
@@ -1551,7 +1551,7 @@ sub_0802686C: @ 0x0802686C
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #7
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
beq _08026888
|
||||
@@ -1561,7 +1561,7 @@ sub_0802686C: @ 0x0802686C
|
||||
_08026888:
|
||||
movs r0, #0x10
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
movs r0, #5
|
||||
strb r0, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
@@ -1852,7 +1852,7 @@ _08026A7C:
|
||||
strh r0, [r1]
|
||||
movs r0, #0x20
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
ldr r0, _08026B24 @ =0x0000010B
|
||||
bl SoundReq
|
||||
adds r0, r6, #0
|
||||
@@ -2126,7 +2126,7 @@ _08026A98:
|
||||
strh r0, [r1]
|
||||
movs r0, #0x20
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
ldr r0, _08026B24 @ =0x0000010B
|
||||
bl SoundReq
|
||||
adds r0, r6, #0
|
||||
@@ -2885,7 +2885,7 @@ sub_08027064: @ 0x08027064
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xa
|
||||
beq _08027098
|
||||
ldr r0, _080270C8 @ =gScreenTransition
|
||||
ldr r0, _080270C8 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
@@ -2908,7 +2908,7 @@ _08027098:
|
||||
ldrsh r2, [r0, r1]
|
||||
cmp r4, r2
|
||||
beq _080270E0
|
||||
ldr r0, _080270C8 @ =gScreenTransition
|
||||
ldr r0, _080270C8 @ =gRoomTransition
|
||||
ldr r1, [r0]
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
@@ -2919,7 +2919,7 @@ _08027098:
|
||||
strb r1, [r3, #0xc]
|
||||
b _080270D4
|
||||
.align 2, 0
|
||||
_080270C8: .4byte gScreenTransition
|
||||
_080270C8: .4byte gRoomTransition
|
||||
_080270CC: .4byte gPlayerEntity
|
||||
_080270D0:
|
||||
movs r0, #0x10
|
||||
@@ -607,6 +607,6 @@ _080388A8:
|
||||
subs r0, #1
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
_080388B2:
|
||||
pop {r4, r5, r6, pc}
|
||||
@@ -9,7 +9,7 @@
|
||||
thumb_func_start sub_080300E8
|
||||
sub_080300E8: @ 0x080300E8
|
||||
push {lr}
|
||||
ldr r1, _08030110 @ =gScreenTransition
|
||||
ldr r1, _08030110 @ =gRoomTransition
|
||||
adds r3, r1, #0
|
||||
adds r3, #0xae
|
||||
ldrh r0, [r3]
|
||||
@@ -29,14 +29,14 @@ sub_080300E8: @ 0x080300E8
|
||||
_0803010C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08030110: .4byte gScreenTransition
|
||||
_08030110: .4byte gRoomTransition
|
||||
_08030114: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_08030118
|
||||
sub_08030118: @ 0x08030118
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0803013C @ =gScreenTransition
|
||||
ldr r0, _0803013C @ =gRoomTransition
|
||||
adds r0, #0xac
|
||||
ldrh r0, [r0]
|
||||
asrs r0, r2
|
||||
@@ -51,7 +51,7 @@ sub_08030118: @ 0x08030118
|
||||
bl SetLocalFlagByBank
|
||||
b _0803014C
|
||||
.align 2, 0
|
||||
_0803013C: .4byte gScreenTransition
|
||||
_0803013C: .4byte gRoomTransition
|
||||
_08030140:
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #2
|
||||
@@ -66,7 +66,7 @@ _0803014C:
|
||||
sub_08030150: @ 0x08030150
|
||||
push {r4, r5, lr}
|
||||
mov ip, r0
|
||||
ldr r2, _08030194 @ =gScreenTransition
|
||||
ldr r2, _08030194 @ =gRoomTransition
|
||||
adds r5, r2, #0
|
||||
adds r5, #0xac
|
||||
mov r3, ip
|
||||
@@ -98,4 +98,4 @@ sub_08030150: @ 0x08030150
|
||||
strh r1, [r0]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08030194: .4byte gScreenTransition
|
||||
_08030194: .4byte gRoomTransition
|
||||
@@ -280,7 +280,7 @@ sub_080329E8: @ 0x080329E8
|
||||
sub_080329F0: @ 0x080329F0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
bne _08032A3A
|
||||
movs r0, #4
|
||||
@@ -326,7 +326,7 @@ _08032A46:
|
||||
sub_08032A48: @ 0x08032A48
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bne _08032AAE
|
||||
@@ -431,7 +431,7 @@ sub_08032AF4: @ 0x08032AF4
|
||||
sub_08032B10: @ 0x08032B10
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #3
|
||||
@@ -312,7 +312,7 @@ sub_08038EE0: @ 0x08038EE0
|
||||
movs r1, #0xe0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08038F1C
|
||||
ldrb r0, [r4, #0xe]
|
||||
@@ -430,7 +430,7 @@ _08038FE0:
|
||||
adds r0, r4, #0
|
||||
bl sub_080390F8
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
b _08039018
|
||||
@@ -439,7 +439,7 @@ _08038FF4: .4byte 0x0000FFFF
|
||||
_08038FF8: .4byte gPlayerEntity
|
||||
_08038FFC:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
@@ -633,7 +633,7 @@ _08044570:
|
||||
bl sub_080045D4
|
||||
strb r0, [r6, #0x15]
|
||||
adds r0, r6, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
b _080445BE
|
||||
.align 2, 0
|
||||
_080445A8: .4byte gPlayerState
|
||||
@@ -284,7 +284,7 @@ _0803EDC0:
|
||||
strb r0, [r2, #0xe]
|
||||
movs r0, #8
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
_0803EDD0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -474,7 +474,7 @@ _0803EF1C: .4byte gUnk_020000B0
|
||||
sub_0803EF20: @ 0x0803EF20
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r6, _0803EF5C @ =gUnk_03003D80
|
||||
ldr r6, _0803EF5C @ =gEntityLists + 16
|
||||
ldr r4, [r6, #4]
|
||||
cmp r4, r6
|
||||
beq _0803EF6A
|
||||
@@ -503,7 +503,7 @@ _0803EF2E:
|
||||
strb r0, [r1]
|
||||
b _0803EF6C
|
||||
.align 2, 0
|
||||
_0803EF5C: .4byte gUnk_03003D80
|
||||
_0803EF5C: .4byte gEntityLists + 16
|
||||
_0803EF60: .4byte gUnk_080D08C8
|
||||
_0803EF64:
|
||||
ldr r4, [r4, #4]
|
||||
@@ -854,7 +854,7 @@ sub_08041134: @ 0x08041134
|
||||
movs r0, #0x25
|
||||
strb r0, [r1]
|
||||
movs r5, #0
|
||||
ldr r0, _08041168 @ =gUnk_03004040
|
||||
ldr r0, _08041168 @ =gPlayerClones
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08041150
|
||||
@@ -872,7 +872,7 @@ _08041150:
|
||||
strh r0, [r1]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08041168: .4byte gUnk_03004040
|
||||
_08041168: .4byte gPlayerClones
|
||||
_0804116C: .4byte gUnk_080D0E18
|
||||
|
||||
thumb_func_start sub_08041170
|
||||
@@ -1050,7 +1050,7 @@ _08041250:
|
||||
adds r1, #1
|
||||
strb r0, [r1]
|
||||
adds r0, r2, #0
|
||||
bl sub_08016A30
|
||||
bl ResolveCollisionLayer
|
||||
adds r6, #2
|
||||
movs r0, #6
|
||||
ands r6, r0
|
||||
@@ -1077,7 +1077,7 @@ _080412C8:
|
||||
adds r0, #0x38
|
||||
strb r3, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_08016A30
|
||||
bl ResolveCollisionLayer
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
@@ -105,7 +105,7 @@ _08048E48:
|
||||
bl SoundReq
|
||||
movs r0, #0x28
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
_08048E5C:
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x3d
|
||||
@@ -1013,7 +1013,7 @@ sub_080497D0: @ 0x080497D0
|
||||
movs r0, #5
|
||||
strb r0, [r4, #0xd]
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_08049802:
|
||||
pop {r4, pc}
|
||||
|
||||
@@ -1073,7 +1073,7 @@ sub_08049804: @ 0x08049804
|
||||
bl sub_080809D4
|
||||
movs r0, #4
|
||||
movs r1, #4
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_08049878:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -161,7 +161,7 @@ sub_08030B34: @ 0x08030B34
|
||||
movs r1, #0xe0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
b _08030B70
|
||||
_08030B52:
|
||||
adds r0, r4, #0
|
||||
@@ -425,7 +425,7 @@ _08030D44:
|
||||
movs r1, #0xe0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08030D66
|
||||
adds r0, r4, #0
|
||||
@@ -506,7 +506,7 @@ _08030DDE:
|
||||
movs r1, #0xe0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08030E1C
|
||||
adds r0, r4, #0
|
||||
@@ -501,7 +501,7 @@ _080373F2:
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08037406
|
||||
adds r0, r4, #0
|
||||
@@ -694,7 +694,7 @@ _0803A0CA:
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _0803A0DE
|
||||
adds r0, r4, #0
|
||||
@@ -851,7 +851,7 @@ sub_0803F630: @ 0x0803F630
|
||||
movs r0, #0x25
|
||||
strb r0, [r1]
|
||||
movs r5, #0
|
||||
ldr r0, _0803F664 @ =gUnk_03004040
|
||||
ldr r0, _0803F664 @ =gPlayerClones
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0803F64C
|
||||
@@ -869,7 +869,7 @@ _0803F64C:
|
||||
strh r0, [r1]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0803F664: .4byte gUnk_03004040
|
||||
_0803F664: .4byte gPlayerClones
|
||||
_0803F668: .4byte gUnk_080D0980
|
||||
|
||||
thumb_func_start sub_0803F66C
|
||||
@@ -937,7 +937,7 @@ sub_0803F6C0: @ 0x0803F6C0
|
||||
bl ModHealth
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x7a
|
||||
bl sub_0800449C
|
||||
bl SoundReqClipped
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0803F6E8: .4byte gPlayerEntity
|
||||
@@ -169,7 +169,7 @@ sub_0802D158: @ 0x0802D158
|
||||
strb r1, [r0]
|
||||
movs r0, #7
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0802D16C: .4byte gUnk_02034490
|
||||
@@ -234,7 +234,7 @@ sub_0802D170: @ 0x0802D170
|
||||
str r5, [r4, #0x30]
|
||||
movs r0, #6
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
b _0802D216
|
||||
.align 2, 0
|
||||
_0802D1F0: .4byte gFadeControl
|
||||
@@ -364,7 +364,7 @@ _0802D2D0:
|
||||
movs r2, #0x40
|
||||
bl sub_0802EA68
|
||||
_0802D2E4:
|
||||
ldr r5, _0802D338 @ =gScreenTransition
|
||||
ldr r5, _0802D338 @ =gRoomTransition
|
||||
ldr r0, [r5]
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
@@ -405,7 +405,7 @@ _0802D32E:
|
||||
_0802D334:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0802D338: .4byte gScreenTransition
|
||||
_0802D338: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_0802D33C
|
||||
sub_0802D33C: @ 0x0802D33C
|
||||
@@ -900,7 +900,7 @@ sub_0802D6F0: @ 0x0802D6F0
|
||||
str r0, [r2, #0x7c]
|
||||
movs r0, #0x96
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
_0802D712:
|
||||
pop {pc}
|
||||
|
||||
@@ -964,7 +964,7 @@ _0802D77A:
|
||||
sub_0802D77C: @ 0x0802D77C
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _0802D7B0 @ =gScreenTransition
|
||||
ldr r0, _0802D7B0 @ =gRoomTransition
|
||||
ldr r4, [r0]
|
||||
movs r0, #1
|
||||
ands r4, r0
|
||||
@@ -988,7 +988,7 @@ sub_0802D77C: @ 0x0802D77C
|
||||
_0802D7AC:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0802D7B0: .4byte gScreenTransition
|
||||
_0802D7B0: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_0802D7B4
|
||||
sub_0802D7B4: @ 0x0802D7B4
|
||||
@@ -1294,7 +1294,7 @@ _0802D95E:
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0802D970
|
||||
@@ -1325,7 +1325,7 @@ _0802D99C:
|
||||
bl DeleteThisEntity
|
||||
b _0802DB7E
|
||||
_0802D9A2:
|
||||
ldr r0, _0802D9F4 @ =gScreenTransition
|
||||
ldr r0, _0802D9F4 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
@@ -1367,9 +1367,9 @@ _0802D9CE:
|
||||
str r1, [r0]
|
||||
b _0802D99C
|
||||
.align 2, 0
|
||||
_0802D9F4: .4byte gScreenTransition
|
||||
_0802D9F4: .4byte gRoomTransition
|
||||
_0802D9F8:
|
||||
ldr r0, _0802DA50 @ =gScreenTransition
|
||||
ldr r0, _0802DA50 @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
@@ -1414,7 +1414,7 @@ _0802DA24:
|
||||
str r1, [r0]
|
||||
b _0802D99C
|
||||
.align 2, 0
|
||||
_0802DA50: .4byte gScreenTransition
|
||||
_0802DA50: .4byte gRoomTransition
|
||||
_0802DA54:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x74
|
||||
@@ -1526,7 +1526,7 @@ _0802DB20:
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
ldr r0, [r4, #0x20]
|
||||
cmp r0, #0
|
||||
bgt _0802DB7E
|
||||
@@ -2496,7 +2496,7 @@ _0802E23A:
|
||||
movs r0, #0xf0
|
||||
strh r0, [r7]
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
b _0802E2E4
|
||||
.align 2, 0
|
||||
_0802E280: .4byte gPlayerEntity
|
||||
@@ -2545,7 +2545,7 @@ _0802E29E:
|
||||
strh r0, [r1]
|
||||
movs r0, #0x1e
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
bl InitScreenShake
|
||||
_0802E2E4:
|
||||
movs r0, #5
|
||||
strb r0, [r5, #0xb]
|
||||
@@ -2702,7 +2702,7 @@ _0802E400:
|
||||
.align 2, 0
|
||||
_0802E408: .4byte gPlayerEntity
|
||||
_0802E40C:
|
||||
ldr r0, _0802E42C @ =gScreenTransition
|
||||
ldr r0, _0802E42C @ =gRoomTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
@@ -2718,7 +2718,7 @@ _0802E422:
|
||||
_0802E428:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0802E42C: .4byte gScreenTransition
|
||||
_0802E42C: .4byte gRoomTransition
|
||||
|
||||
thumb_func_start sub_0802E430
|
||||
sub_0802E430: @ 0x0802E430
|
||||
@@ -2883,7 +2883,7 @@ _0802E552:
|
||||
lsls r0, r0, #8
|
||||
strh r0, [r1, #0x24]
|
||||
ldr r0, [r2, #0x3c]
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
movs r6, #0
|
||||
movs r0, #0x3c
|
||||
add r0, sb
|
||||
@@ -353,7 +353,7 @@ sub_08039530: @ 0x08039530
|
||||
adds r4, r0, #0
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08039568
|
||||
adds r0, r4, #0
|
||||
@@ -442,7 +442,7 @@ sub_080395D8: @ 0x080395D8
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _08039602
|
||||
adds r0, r4, #0
|
||||
@@ -464,7 +464,7 @@ sub_08039604: @ 0x08039604
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
ldr r0, [r4, #0x20]
|
||||
cmp r0, #0
|
||||
bge _08039624
|
||||
@@ -563,7 +563,7 @@ sub_080396BC: @ 0x080396BC
|
||||
adds r4, r0, #0
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
bl sub_08003FC4
|
||||
bl GravityUpdate
|
||||
cmp r0, #0
|
||||
bne _080396E2
|
||||
adds r1, r4, #0
|
||||
@@ -226,7 +226,7 @@ sub_0803BD08: @ 0x0803BD08
|
||||
cmp r0, #0
|
||||
beq _0803BD2C
|
||||
adds r0, r4, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
bne _0803BD80
|
||||
strb r0, [r4, #0xf]
|
||||
@@ -290,7 +290,7 @@ sub_0803BD88: @ 0x0803BD88
|
||||
sub_0803BD90: @ 0x0803BD90
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
bne _0803BDC8
|
||||
movs r0, #4
|
||||
@@ -415,7 +415,7 @@ _0803BE78: .4byte gRoomControls
|
||||
sub_0803BE7C: @ 0x0803BE7C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bne _0803BEE6
|
||||
@@ -522,7 +522,7 @@ sub_0803BF2C: @ 0x0803BF2C
|
||||
sub_0803BF48: @ 0x0803BF48
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #3
|
||||
@@ -242,7 +242,7 @@ _0802FCDE:
|
||||
cmp r0, #0
|
||||
beq _0802FDCA
|
||||
adds r0, r4, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
beq _0802FDCA
|
||||
adds r0, r4, #0
|
||||
@@ -269,7 +269,7 @@ _0802FFB6:
|
||||
cmp r0, #0
|
||||
beq _080300A2
|
||||
adds r0, r4, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
beq _080300A2
|
||||
adds r0, r4, #0
|
||||
@@ -294,7 +294,7 @@ _0802F6B6:
|
||||
cmp r0, #0
|
||||
beq _0802F7A2
|
||||
adds r0, r4, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
beq _0802F7A2
|
||||
adds r0, r4, #0
|
||||
@@ -711,7 +711,7 @@ _0802FA02:
|
||||
cmp r0, #0
|
||||
beq _0802FA3E
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F69C
|
||||
bl LinearMoveUpdate
|
||||
ldrb r0, [r6]
|
||||
cmp r0, #0
|
||||
bne _0802FA3E
|
||||
@@ -162,7 +162,7 @@ _0804A81C:
|
||||
ldrb r0, [r5, #9]
|
||||
cmp r0, #0x37
|
||||
bne _0804A84A
|
||||
ldr r0, _0804A85C @ =gScreenTransition
|
||||
ldr r0, _0804A85C @ =gRoomTransition
|
||||
adds r0, #0x39
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
@@ -175,7 +175,7 @@ _0804A84A:
|
||||
bl DeleteThisEntity
|
||||
b _0804A982
|
||||
.align 2, 0
|
||||
_0804A85C: .4byte gScreenTransition
|
||||
_0804A85C: .4byte gRoomTransition
|
||||
_0804A860: .4byte 0x80100000
|
||||
_0804A864:
|
||||
adds r4, r5, #0
|
||||
@@ -65,7 +65,7 @@ _0804ABA4:
|
||||
strb r0, [r1, #0xe]
|
||||
movs r0, #4
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0804ABF8: .4byte gScreen
|
||||
@@ -121,8 +121,8 @@ _0804AC5E:
|
||||
ldrh r0, [r1, #0xc]
|
||||
strh r0, [r2, #0x18]
|
||||
bl FlushSprites
|
||||
bl sub_080AD9B0
|
||||
bl sub_080AD918
|
||||
bl DrawEntities
|
||||
bl CopyOAM
|
||||
ldr r0, _0804AC98 @ =gUnk_02018EB0
|
||||
ldrb r0, [r0, #0x1b]
|
||||
cmp r0, #0
|
||||
@@ -137,7 +137,7 @@ _0804AC86:
|
||||
strb r0, [r1, #0xe]
|
||||
movs r0, #7
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
bl SetFade
|
||||
_0804AC96:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -187,8 +187,8 @@ _0804ACEC: .4byte gFadeControl
|
||||
_0804ACF0: .4byte gArea
|
||||
_0804ACF4: .4byte gUnk_02032EDC
|
||||
|
||||
thumb_func_start sub_0804ACF8
|
||||
sub_0804ACF8: @ 0x0804ACF8
|
||||
thumb_func_start RespawnAsMinish
|
||||
RespawnAsMinish: @ 0x0804ACF8
|
||||
push {lr}
|
||||
bl sub_0804AD18
|
||||
cmp r0, #0
|
||||
@@ -248,7 +248,7 @@ sub_0804AD6C: @ 0x0804AD6C
|
||||
push {r4, r5, r6, lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
ldr r3, _0804ADD0 @ =gScreenTransition
|
||||
ldr r3, _0804ADD0 @ =gRoomTransition
|
||||
movs r1, #0
|
||||
movs r6, #1
|
||||
strb r6, [r3, #8]
|
||||
@@ -287,12 +287,12 @@ sub_0804AD6C: @ 0x0804AD6C
|
||||
strb r0, [r3, #0xd]
|
||||
mov r0, r8
|
||||
strb r0, [r3, #0x14]
|
||||
bl sub_080300AC
|
||||
bl ClearArmosData
|
||||
bl sub_080300C4
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0804ADD0: .4byte gScreenTransition
|
||||
_0804ADD0: .4byte gRoomTransition
|
||||
_0804ADD4: .4byte gArea
|
||||
_0804ADD8: .4byte gUnk_080D4140
|
||||
-1032
File diff suppressed because it is too large
Load Diff
+8
-8
@@ -623,7 +623,7 @@ MakeFadeBuff256: @ 0x080B2124
|
||||
mul r3, r2, r3
|
||||
mov r4, #0x400
|
||||
sub r2, r4, r2, lsl #2
|
||||
ldr r7, _080B21A8 @ =gUnk_02000006
|
||||
ldr r7, _080B21A8 @ =0x02000006
|
||||
ldrb r7, [r7]
|
||||
ldr ip, _080B21AC @ =gUnk_08000F54
|
||||
add ip, ip, r7, lsl #4
|
||||
@@ -654,7 +654,7 @@ _080B2150:
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080B21A4: .4byte 0x01010101
|
||||
_080B21A8: .4byte gUnk_02000006
|
||||
_080B21A8: .4byte 0x02000000 + 6 @ brightness preference
|
||||
_080B21AC: .4byte gUnk_08000F54
|
||||
|
||||
ldr r11, _080B2270 @ =gUpdateContext
|
||||
@@ -835,7 +835,7 @@ _080B23EC: .4byte gUnk_0800464E
|
||||
sub_080B23F0: @ 0x080B23F0
|
||||
.ifdef EU
|
||||
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
ldr fp, _080B2A30 @ =gUnk_03000000
|
||||
ldr fp, _080B2A30 @ =gOAMControls
|
||||
ldrb r2, [fp, #3]
|
||||
cmp r2, #0x80
|
||||
bhs _080B19C0EU
|
||||
@@ -885,7 +885,7 @@ sub_080B19C8: @ 0x080B19C8
|
||||
.else
|
||||
.ifdef DEMO_JP @ TODO deduplicate same as EU
|
||||
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
ldr fp, _080B2A30 @ =gUnk_03000000
|
||||
ldr fp, _080B2A30 @ =gOAMControls
|
||||
ldrb r2, [fp, #3]
|
||||
cmp r2, #0x80
|
||||
bhs _080B19C0EU
|
||||
@@ -934,7 +934,7 @@ sub_080B19C8: @ 0x080B19C8
|
||||
b _080B1C40EU
|
||||
.else
|
||||
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
ldr fp, _080B2A30 @ =gUnk_03000000
|
||||
ldr fp, _080B2A30 @ =gOAMControls
|
||||
ldrb r2, [fp, #3]
|
||||
cmp r2, #0x80
|
||||
bhs _080B2440
|
||||
@@ -1527,7 +1527,7 @@ sub_080B280C: @ 0x080B280C
|
||||
cmp r2, #0
|
||||
bxeq lr
|
||||
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
ldr fp, _080B2A64 @ =gUnk_03000000
|
||||
ldr fp, _080B2A64 @ =gOAMControls
|
||||
ldrb r3, [fp, #3]
|
||||
cmp r3, #0x80
|
||||
bhs _080B286C
|
||||
@@ -1898,7 +1898,7 @@ _080B2144:
|
||||
.4byte gUnk_0300689C
|
||||
.endif
|
||||
|
||||
_080B2A30: .4byte gUnk_03000000
|
||||
_080B2A30: .4byte gOAMControls
|
||||
.ifdef EU
|
||||
_080B2154: .4byte 0x03006958 @TODO make pointer?
|
||||
.endif
|
||||
@@ -1917,7 +1917,7 @@ _080B2A54: .4byte gUnk_0300694C
|
||||
_080B2A58: .4byte gUnk_020000C0
|
||||
_080B2A5C: .4byte gFrameObjLists
|
||||
_080B2A60: .4byte gFrameObjLists
|
||||
_080B2A64: .4byte gUnk_03000000
|
||||
_080B2A64: .4byte gOAMControls
|
||||
_080B2A68: .4byte gUnk_0300695C
|
||||
_080B2A6C: .4byte 0x3E003F00
|
||||
.ifdef EU
|
||||
|
||||
@@ -160,14 +160,14 @@ _08018620:
|
||||
_08018624: .4byte gUnk_02033AB8
|
||||
_08018628: .4byte gUnk_080B3D20
|
||||
|
||||
thumb_func_start sub_0801862C
|
||||
sub_0801862C: @ 0x0801862C
|
||||
thumb_func_start GenerateAreaHint
|
||||
GenerateAreaHint: @ 0x0801862C
|
||||
push {r4, r5, lr}
|
||||
ldr r1, _0801864C @ =gPlayerState
|
||||
movs r2, #0
|
||||
movs r0, #0x16
|
||||
strb r0, [r1, #0xc]
|
||||
ldr r5, _08018650 @ =gScreenTransition
|
||||
ldr r5, _08018650 @ =gRoomTransition
|
||||
adds r0, r5, #0
|
||||
.ifdef JP
|
||||
adds r0, #0x34
|
||||
@@ -188,7 +188,7 @@ sub_0801862C: @ 0x0801862C
|
||||
b _0801868C
|
||||
.align 2, 0
|
||||
_0801864C: .4byte gPlayerState
|
||||
_08018650: .4byte gScreenTransition
|
||||
_08018650: .4byte gRoomTransition
|
||||
_08018654: .4byte gUnk_02033AB8
|
||||
_08018658:
|
||||
ldrb r0, [r4, #2]
|
||||
@@ -85,7 +85,7 @@ _0804AE94:
|
||||
_0804AEA0: .4byte gRoomControls
|
||||
_0804AEA4:
|
||||
adds r0, r5, #0
|
||||
bl sub_08016A30
|
||||
bl ResolveCollisionLayer
|
||||
_0804AEAA:
|
||||
adds r0, r5, #0
|
||||
_0804AEAC:
|
||||
|
||||
+32
-32
@@ -171,7 +171,7 @@
|
||||
.2byte 0x0418
|
||||
.endm
|
||||
|
||||
.macro _0807E30C
|
||||
.macro FacePlayerAndCheckDist
|
||||
.2byte 0x0419
|
||||
.endm
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
.2byte \amount
|
||||
.endm
|
||||
|
||||
.macro _0807E3BC s:req
|
||||
.macro HasShells s:req
|
||||
.2byte 0x081b
|
||||
.2byte \s
|
||||
.endm
|
||||
@@ -209,17 +209,17 @@
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807E4CC w:req
|
||||
.macro VariableBitSet w:req
|
||||
.2byte 0x0c20
|
||||
.4byte \w
|
||||
.endm
|
||||
|
||||
.macro _0807E4EC w:req
|
||||
.macro VariableOnlyBitSet w:req
|
||||
.2byte 0x0c21
|
||||
.4byte \w
|
||||
.endm
|
||||
|
||||
.macro _0807E514 w:req
|
||||
.macro VariableEqual w:req
|
||||
.2byte 0x0c22
|
||||
.4byte \w
|
||||
.endm
|
||||
@@ -229,7 +229,7 @@
|
||||
.4byte \w
|
||||
.endm
|
||||
|
||||
.macro _0807E564
|
||||
.macro CheckPlayerMinish
|
||||
.2byte 0x0424
|
||||
.endm
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
.2byte 0x0434
|
||||
.endm
|
||||
|
||||
.macro WaitForPlayerAction0x17
|
||||
.macro WaitForPlayerEnterRoom
|
||||
.2byte 0x0435
|
||||
.endm
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
.2byte 0x0437
|
||||
.endm
|
||||
|
||||
.macro _0807E778 s:req
|
||||
.macro SetFadeTime s:req
|
||||
.2byte 0x0838
|
||||
.2byte \s
|
||||
.endm
|
||||
@@ -334,7 +334,7 @@
|
||||
.4byte \w
|
||||
.endm
|
||||
|
||||
.macro _0807E79C
|
||||
.macro FadeInvert
|
||||
.2byte 0x043a
|
||||
.endm
|
||||
|
||||
@@ -343,19 +343,19 @@
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro DoFade4
|
||||
.macro SetFade4
|
||||
.2byte 0x043c
|
||||
.endm
|
||||
|
||||
.macro DoFade5
|
||||
.macro SetFade5
|
||||
.2byte 0x043d
|
||||
.endm
|
||||
|
||||
.macro DoFade6
|
||||
.macro SetFade6
|
||||
.2byte 0x043e
|
||||
.endm
|
||||
|
||||
.macro DoFade7
|
||||
.macro SetFade7
|
||||
.2byte 0x043f
|
||||
.endm
|
||||
|
||||
@@ -378,15 +378,15 @@
|
||||
.2byte 0x0442
|
||||
.endm
|
||||
|
||||
.macro _0807E864
|
||||
.macro SetPlayerIdle
|
||||
.2byte 0x0443
|
||||
.endm
|
||||
|
||||
.macro _0807E878
|
||||
.macro EnablePlayerControl
|
||||
.2byte 0x0444
|
||||
.endm
|
||||
|
||||
.macro _0807E888
|
||||
.macro DisablePlayerControl
|
||||
.2byte 0x0445
|
||||
.endm
|
||||
|
||||
@@ -400,7 +400,7 @@
|
||||
.4byte \script
|
||||
.endm
|
||||
|
||||
.macro _0807E8D4 s:req
|
||||
.macro SetPlayerAnimation s:req
|
||||
.2byte 0x0848
|
||||
.2byte \s
|
||||
.endm
|
||||
@@ -421,7 +421,7 @@
|
||||
.2byte 0x044c
|
||||
.endm
|
||||
|
||||
.macro _0807E908 s:req
|
||||
.macro SetAction s:req
|
||||
.2byte 0x084d
|
||||
.2byte \s
|
||||
.endm
|
||||
@@ -431,16 +431,16 @@
|
||||
.4byte \value
|
||||
.endm
|
||||
|
||||
.macro _0807E924
|
||||
.macro SetVariableToFrame
|
||||
.2byte 0x044f
|
||||
.endm
|
||||
|
||||
.macro _0807E930 s:req
|
||||
.macro SetAnimation s:req
|
||||
.2byte 0x0850
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807E944
|
||||
.macro TriggerInteract
|
||||
.2byte 0x0451
|
||||
.endm
|
||||
|
||||
@@ -509,7 +509,7 @@
|
||||
.2byte 0x045e
|
||||
.endm
|
||||
|
||||
.macro _0807EB28 s:req
|
||||
.macro EzloMessage s:req
|
||||
.2byte 0x085f
|
||||
.2byte \s
|
||||
.endm
|
||||
@@ -518,7 +518,7 @@
|
||||
.2byte 0x0460
|
||||
.endm
|
||||
|
||||
.macro _0807EB44 s:req
|
||||
.macro SetAnimationState s:req
|
||||
.2byte 0x0861
|
||||
.2byte \s
|
||||
.endm
|
||||
@@ -529,11 +529,11 @@
|
||||
.2byte \b
|
||||
.endm
|
||||
|
||||
.macro _0807EB74
|
||||
.macro FacePlayer
|
||||
.2byte 0x0463
|
||||
.endm
|
||||
|
||||
.macro _0807EB8C
|
||||
.macro FaceAwayFromPlayer
|
||||
.2byte 0x0464
|
||||
.endm
|
||||
|
||||
@@ -552,7 +552,7 @@
|
||||
.2byte \speed
|
||||
.endm
|
||||
|
||||
.macro SetEntity0x20 value:req
|
||||
.macro SetEntityVelocity value:req
|
||||
.2byte 0x0c68
|
||||
.4byte \value
|
||||
.endm
|
||||
@@ -577,27 +577,27 @@
|
||||
.2byte 0x046c
|
||||
.endm
|
||||
|
||||
.macro _0807EC1C s:req
|
||||
.macro WalkForward s:req
|
||||
.2byte 0x086d
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807EC64 s:req
|
||||
.macro WalkNorth s:req
|
||||
.2byte 0x086e
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807EC94 s:req
|
||||
.macro WalkEast s:req
|
||||
.2byte 0x086f
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807ECC4 s:req
|
||||
.macro WalkSouth s:req
|
||||
.2byte 0x0870
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807ECF4 s:req
|
||||
.macro WalkWest s:req
|
||||
.2byte 0x0871
|
||||
.2byte \s
|
||||
.endm
|
||||
@@ -695,7 +695,7 @@
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807F050 s:req
|
||||
.macro GiveKinstone s:req
|
||||
.2byte 0x0883
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,73 +0,0 @@
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0x46
|
||||
bhi _080543A8
|
||||
movs r0, #0
|
||||
movs r1, #1
|
||||
bl sub_0807CAA0
|
||||
_080543A8:
|
||||
subs r0, r5, #1
|
||||
cmp r0, #0x1e
|
||||
bhi _08054410
|
||||
movs r1, #2
|
||||
ldr r2, _080543C0 @ =gSave
|
||||
adds r0, r2, #0
|
||||
adds r0, #0xb4
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080543C4
|
||||
movs r1, #0
|
||||
b _080543D0
|
||||
.align 2, 0
|
||||
_080543C0: .4byte gSave
|
||||
_080543C4:
|
||||
adds r0, r2, #0
|
||||
adds r0, #0xb5
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080543D0
|
||||
movs r1, #1
|
||||
_080543D0:
|
||||
cmp r1, #2
|
||||
bne _0805440A
|
||||
ldr r3, _080543F0 @ =gUnk_080FD5B4
|
||||
lsls r0, r5, #3
|
||||
adds r0, r0, r3
|
||||
ldrb r4, [r0]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0xb4
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #3
|
||||
adds r0, r0, r3
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
bne _080543F4
|
||||
movs r1, #0
|
||||
b _08054406
|
||||
.align 2, 0
|
||||
_080543F0: .4byte gUnk_080FD5B4
|
||||
_080543F4:
|
||||
adds r0, r2, #0
|
||||
adds r0, #0xb5
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #3
|
||||
adds r0, r0, r3
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
bne _08054406
|
||||
movs r1, #1
|
||||
_08054406:
|
||||
cmp r1, #2
|
||||
beq _08054410
|
||||
_0805440A:
|
||||
adds r0, r5, #0
|
||||
bl ForceEquipItem
|
||||
_08054410:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
.syntax divided
|
||||
@@ -26,7 +26,7 @@ _08017550:
|
||||
bl NPCInit
|
||||
_08017566:
|
||||
adds r0, r4, #0
|
||||
bl CheckDontUpdate
|
||||
bl EntityIsDeleted
|
||||
cmp r0, #0
|
||||
bne _08017584
|
||||
ldr r2, _080175DC @ =gNPCFunctions
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r3, r4, #0
|
||||
adds r3, #0x29
|
||||
ldrb r1, [r3]
|
||||
movs r0, #0x40
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08017682
|
||||
_0801767E:
|
||||
movs r0, #1
|
||||
b _080176DE
|
||||
_08017682:
|
||||
ldr r2, _080176C0 @ =gUnk_03003C70
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
adds r1, r2, r0
|
||||
cmp r1, r2
|
||||
bls _080176DC
|
||||
_0801768E:
|
||||
ldr r0, [r2, #8]
|
||||
cmp r0, #0
|
||||
bne _080176D6
|
||||
str r4, [r2, #8]
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r0, [r3]
|
||||
movs r1, #0x40
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
ldr r3, _080176C4 @ =gUnk_02018EA0
|
||||
ldr r1, [r3]
|
||||
ldrb r0, [r1, #0xc]
|
||||
cmp r0, #0
|
||||
beq _080176C8
|
||||
_080176AA:
|
||||
ldr r1, [r1, #4]
|
||||
ldrb r0, [r1, #0xc]
|
||||
cmp r0, #0
|
||||
bne _080176AA
|
||||
str r1, [r2, #4]
|
||||
ldr r0, [r1]
|
||||
str r0, [r2]
|
||||
str r2, [r0, #4]
|
||||
str r2, [r1]
|
||||
b _0801767E
|
||||
.align 2, 0
|
||||
_080176C0: .4byte gUnk_03003C70
|
||||
_080176C4: .4byte gUnk_02018EA0
|
||||
_080176C8:
|
||||
str r1, [r2, #4]
|
||||
ldr r0, [r1]
|
||||
str r0, [r2]
|
||||
str r2, [r0, #4]
|
||||
str r2, [r1]
|
||||
str r2, [r3]
|
||||
b _0801767E
|
||||
_080176D6:
|
||||
adds r2, #0x10
|
||||
cmp r1, r2
|
||||
bhi _0801768E
|
||||
_080176DC:
|
||||
movs r0, #0
|
||||
_080176DE:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.syntax divided
|
||||
@@ -1,54 +0,0 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
adds r0, #0x29
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x40
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08017720
|
||||
movs r0, #1
|
||||
b _0801773A
|
||||
_080176F8:
|
||||
str r2, [r3, #8]
|
||||
movs r0, #1
|
||||
strb r0, [r3, #0xc]
|
||||
adds r2, #0x29
|
||||
ldrb r0, [r2]
|
||||
movs r1, #0x40
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r2, _0801771C @ =gUnk_02018EA0
|
||||
ldr r0, [r2]
|
||||
str r0, [r3, #4]
|
||||
ldr r1, [r0]
|
||||
str r1, [r3]
|
||||
str r3, [r1, #4]
|
||||
str r3, [r0]
|
||||
str r3, [r2]
|
||||
movs r0, #1
|
||||
b _0801773A
|
||||
.align 2, 0
|
||||
_0801771C: .4byte gUnk_02018EA0
|
||||
_08017720:
|
||||
ldr r3, _08017740 @ =gUnk_03003C70
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
adds r1, r3, r0
|
||||
cmp r1, r3
|
||||
bls _08017738
|
||||
_0801772C:
|
||||
ldr r0, [r3, #8]
|
||||
cmp r0, #0
|
||||
beq _080176F8
|
||||
adds r3, #0x10
|
||||
cmp r1, r3
|
||||
bhi _0801772C
|
||||
_08017738:
|
||||
movs r0, #0
|
||||
_0801773A:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08017740: .4byte gUnk_03003C70
|
||||
.syntax divided
|
||||
@@ -1,133 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r6, [r4, #0x50]
|
||||
ldr r0, [r6, #4]
|
||||
cmp r0, #0
|
||||
bne _080AB180
|
||||
bl DeleteThisEntity
|
||||
_080AB180:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _080AB1AA
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
subs r0, #0x3a
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
movs r0, #5
|
||||
strb r0, [r4, #0x1e]
|
||||
ldrb r1, [r2]
|
||||
subs r0, #0xd
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, _080AB1C8 @ =gHitbox_22
|
||||
str r0, [r4, #0x48]
|
||||
_080AB1AA:
|
||||
ldr r5, [r6, #0x50]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7c
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x7c
|
||||
ldrb r1, [r0]
|
||||
adds r3, r0, #0
|
||||
ldrb r2, [r2]
|
||||
cmp r1, r2
|
||||
beq _080AB1CC
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x80
|
||||
orrs r0, r1
|
||||
b _080AB1D2
|
||||
.align 2, 0
|
||||
_080AB1C8: .4byte gHitbox_22
|
||||
_080AB1CC:
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
_080AB1D2:
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x7c
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r3]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x20
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080AB208
|
||||
movs r0, #0x1f
|
||||
ands r0, r1
|
||||
ldr r1, _080AB204 @ =gUnk_0812A4A8
|
||||
adds r0, r0, r1
|
||||
movs r2, #0
|
||||
ldrsb r2, [r0, r2]
|
||||
movs r3, #1
|
||||
ldrsb r3, [r0, r3]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FA90
|
||||
b _080AB216
|
||||
.align 2, 0
|
||||
_080AB204: .4byte gUnk_0812A4A8
|
||||
_080AB208:
|
||||
movs r3, #0xa
|
||||
rsbs r3, r3, #0
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_0806FA90
|
||||
_080AB216:
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r6, r1]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r4, r2]
|
||||
subs r0, r0, r1
|
||||
ldrb r2, [r4, #0xa]
|
||||
muls r0, r2, r0
|
||||
adds r3, r2, #0
|
||||
cmp r0, #0
|
||||
bge _080AB22C
|
||||
adds r0, #3
|
||||
_080AB22C:
|
||||
asrs r0, r0, #2
|
||||
ldrh r5, [r4, #0x2e]
|
||||
adds r0, r0, r5
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r6, r1]
|
||||
movs r5, #0x32
|
||||
ldrsh r1, [r4, r5]
|
||||
subs r0, r0, r1
|
||||
muls r0, r3, r0
|
||||
cmp r0, #0
|
||||
bge _080AB246
|
||||
adds r0, #3
|
||||
_080AB246:
|
||||
asrs r0, r0, #2
|
||||
ldrh r1, [r4, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
movs r3, #0x36
|
||||
ldrsh r0, [r6, r3]
|
||||
movs r5, #0x36
|
||||
ldrsh r1, [r4, r5]
|
||||
subs r0, r0, r1
|
||||
muls r0, r2, r0
|
||||
cmp r0, #0
|
||||
bge _080AB260
|
||||
adds r0, #3
|
||||
_080AB260:
|
||||
asrs r0, r0, #2
|
||||
ldrh r1, [r4, #0x36]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x36]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -1,6 +1,6 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
bl sub_08053500
|
||||
bl InitBiggoronTimer
|
||||
movs r0, #0xd
|
||||
bl IsItemEquipped
|
||||
adds r1, r0, #0
|
||||
|
||||
@@ -1,105 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #1
|
||||
beq _080645EA
|
||||
cmp r5, #1
|
||||
bgt _08064584
|
||||
cmp r5, #0
|
||||
beq _0806458A
|
||||
b _0806463C
|
||||
_08064584:
|
||||
cmp r5, #2
|
||||
beq _0806462C
|
||||
b _0806463C
|
||||
_0806458A:
|
||||
ldrb r1, [r4, #9]
|
||||
movs r0, #0x16
|
||||
eors r1, r0
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r0, r0, #0x1f
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r0
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _080645D0 @ =gUnk_0810F874
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r5, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805ACC0
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
bne _080645D4
|
||||
ldrh r0, [r4, #0x2e]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6c
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r1, #2
|
||||
strh r0, [r1]
|
||||
b _080645E0
|
||||
.align 2, 0
|
||||
_080645D0: .4byte gUnk_0810F874
|
||||
_080645D4:
|
||||
lsrs r1, r2, #0x10
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6c
|
||||
strh r1, [r0]
|
||||
adds r0, #2
|
||||
strh r2, [r0]
|
||||
_080645E0:
|
||||
movs r0, #0
|
||||
str r0, [r4, #0x68]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
_080645EA:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
movs r1, #0
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r2]
|
||||
ldr r1, _08064628 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x68]
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
bl _call_via_r0
|
||||
b _0806463C
|
||||
.align 2, 0
|
||||
_08064628: .4byte gPlayerEntity
|
||||
_0806462C:
|
||||
ldr r0, _08064640 @ =gMessage
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0806463C
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_0806463C:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08064640: .4byte gMessage
|
||||
.syntax divided
|
||||
@@ -1,127 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldrb r0, [r5, #0x18]
|
||||
cmp r0, #0
|
||||
bne _08064710
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0x18]
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r0, r1
|
||||
adds r0, #0x20
|
||||
strh r0, [r5, #0x12]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x18
|
||||
ands r1, r0
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _080646EC
|
||||
cmp r0, #8
|
||||
bgt _080646DA
|
||||
cmp r0, #0
|
||||
beq _080646E4
|
||||
b _08064702
|
||||
_080646DA:
|
||||
cmp r0, #0x10
|
||||
beq _080646F4
|
||||
cmp r0, #0x18
|
||||
beq _080646FC
|
||||
b _08064702
|
||||
_080646E4:
|
||||
cmp r1, #0x10
|
||||
bne _08064702
|
||||
movs r1, #8
|
||||
b _08064702
|
||||
_080646EC:
|
||||
cmp r1, #0x18
|
||||
bne _08064702
|
||||
movs r1, #0x10
|
||||
b _08064702
|
||||
_080646F4:
|
||||
cmp r1, #0
|
||||
bne _08064702
|
||||
movs r1, #0x18
|
||||
b _08064702
|
||||
_080646FC:
|
||||
cmp r1, #8
|
||||
bne _08064702
|
||||
movs r1, #0
|
||||
_08064702:
|
||||
strb r1, [r4, #0x15]
|
||||
adds r0, r1, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
_08064710:
|
||||
ldr r0, [r5, #8]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
str r0, [r5, #8]
|
||||
adds r0, r4, #0
|
||||
bl ProcessMovement
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6c
|
||||
movs r3, #0
|
||||
ldrsh r0, [r2, r3]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _0806473A
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806473A:
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
cmp r1, r3
|
||||
bge _0806474C
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806474C:
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r4, r6]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6e
|
||||
movs r6, #0
|
||||
ldrsh r0, [r2, r6]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _08064768
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_08064768:
|
||||
cmp r1, r3
|
||||
bge _08064776
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_08064776:
|
||||
ldrh r0, [r5, #0x12]
|
||||
subs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _08064788
|
||||
ldr r1, _0806478C @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08064788:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806478C: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -1,63 +0,0 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
adds r2, r1, #0
|
||||
ldrb r0, [r2, #0x18]
|
||||
cmp r0, #1
|
||||
beq _08067706
|
||||
cmp r0, #1
|
||||
bgt _080676F6
|
||||
cmp r0, #0
|
||||
beq _080676FC
|
||||
b _08067734
|
||||
_080676F6:
|
||||
cmp r0, #2
|
||||
beq _08067722
|
||||
b _08067734
|
||||
_080676FC:
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0x18]
|
||||
movs r0, #0x20
|
||||
strb r0, [r2, #0x19]
|
||||
b _08067742
|
||||
_08067706:
|
||||
ldrb r1, [r2, #0x19]
|
||||
lsrs r0, r1, #1
|
||||
subs r0, #0x10
|
||||
strh r0, [r3, #0x36]
|
||||
subs r1, #1
|
||||
strb r1, [r2, #0x19]
|
||||
lsls r1, r1, #0x18
|
||||
cmp r1, #0
|
||||
bne _08067742
|
||||
movs r0, #2
|
||||
strb r0, [r2, #0x18]
|
||||
movs r0, #0x24
|
||||
strb r0, [r2, #0x19]
|
||||
b _08067742
|
||||
_08067722:
|
||||
ldrb r0, [r2, #0x19]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0x19]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08067742
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0x18]
|
||||
b _08067742
|
||||
_08067734:
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r3, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
beq _08067748
|
||||
_08067742:
|
||||
ldr r1, _0806774C @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08067748:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806774C: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -1,57 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r3, r1, #0
|
||||
movs r5, #0x10
|
||||
eors r2, r5
|
||||
adds r0, r2, #0
|
||||
subs r0, #0xc
|
||||
movs r2, #0x1f
|
||||
ands r0, r2
|
||||
ldrb r1, [r3, #0x15]
|
||||
subs r1, r1, r0
|
||||
ands r1, r2
|
||||
cmp r1, #0x18
|
||||
bhi _08017CF0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3d
|
||||
movs r0, #0xf4
|
||||
strb r0, [r1]
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x3d
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
bl sub_08017940
|
||||
b _08017D1E
|
||||
_08017CF0:
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x42
|
||||
movs r0, #0xc
|
||||
strb r0, [r1]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x3d
|
||||
strb r5, [r0]
|
||||
adds r1, #1
|
||||
movs r0, #0xf0
|
||||
strb r0, [r1]
|
||||
adds r1, #3
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #2
|
||||
strh r0, [r1]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3d
|
||||
ldrb r2, [r1]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
bne _08017D1E
|
||||
movs r0, #0xff
|
||||
strb r0, [r1]
|
||||
_08017D1E:
|
||||
movs r0, #1
|
||||
pop {r4, r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -1,75 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
adds r6, r2, #0
|
||||
ldrb r0, [r4, #8]
|
||||
cmp r0, #1
|
||||
bne _08018058
|
||||
bl sub_08079F8C
|
||||
cmp r0, #0
|
||||
beq _08018090
|
||||
movs r0, #0x10
|
||||
eors r0, r6
|
||||
ldrb r1, [r5, #0x14]
|
||||
lsls r1, r1, #2
|
||||
subs r0, r0, r1
|
||||
adds r0, #5
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0xa
|
||||
bhi _08018090
|
||||
b _0801807A
|
||||
_08018058:
|
||||
cmp r0, #8
|
||||
bne _08018086
|
||||
ldrb r0, [r4, #0x15]
|
||||
movs r1, #0x10
|
||||
eors r1, r0
|
||||
ldrb r0, [r5, #0x14]
|
||||
lsls r0, r0, #2
|
||||
subs r1, r1, r0
|
||||
adds r1, #5
|
||||
movs r0, #0x1f
|
||||
ands r1, r0
|
||||
cmp r1, #0xa
|
||||
bgt _08018090
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x45
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
_0801807A:
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_080180BC
|
||||
movs r0, #1
|
||||
b _080180AE
|
||||
_08018086:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x45
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
b _080180AE
|
||||
_08018090:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x40
|
||||
ldrb r0, [r0]
|
||||
ldr r1, _080180B4 @ =0x000011AA
|
||||
adds r0, r0, r1
|
||||
lsls r3, r0, #1
|
||||
adds r3, r3, r0
|
||||
lsls r3, r3, #2
|
||||
ldr r0, _080180B8 @ =gCollisionMtx
|
||||
adds r3, r3, r0
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
adds r2, r6, #0
|
||||
bl sub_08018308
|
||||
_080180AE:
|
||||
pop {r4, r5, r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080180B4: .4byte 0x000011AA
|
||||
_080180B8: .4byte gCollisionMtx
|
||||
.syntax divided
|
||||
@@ -0,0 +1,141 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
ldr r1, _0801D37C @ =gPaletteList
|
||||
_0801D356:
|
||||
mov r4, sp
|
||||
adds r0, r4, r2
|
||||
strb r2, [r0]
|
||||
ldrb r0, [r1]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #1
|
||||
bgt _0801D370
|
||||
cmp r0, #0
|
||||
blt _0801D370
|
||||
strb r3, [r1]
|
||||
strb r3, [r1, #1]
|
||||
strh r3, [r1, #2]
|
||||
_0801D370:
|
||||
adds r1, #4
|
||||
adds r2, #1
|
||||
cmp r2, #0xf
|
||||
bls _0801D356
|
||||
movs r4, #6
|
||||
b _0801D390
|
||||
.align 2, 0
|
||||
_0801D37C: .4byte gPaletteList
|
||||
_0801D380:
|
||||
cmp r4, r1
|
||||
ble _0801D390
|
||||
mov r2, sp
|
||||
adds r0, r2, r4
|
||||
strb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801D48C
|
||||
_0801D390:
|
||||
adds r0, r4, #1
|
||||
bl sub_0801D458
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0801D3AC
|
||||
movs r0, #1
|
||||
bl FindFreeObjPalette
|
||||
adds r1, r0, #0
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bne _0801D380
|
||||
_0801D3AC:
|
||||
movs r1, #0
|
||||
ldr r4, _0801D450 @ =gEntityLists
|
||||
mov ip, r4
|
||||
_0801D3B2:
|
||||
lsls r0, r1, #3
|
||||
mov r2, ip
|
||||
adds r3, r0, r2
|
||||
adds r0, r3, #0
|
||||
ldr r3, [r3, #4]
|
||||
adds r5, r1, #1
|
||||
cmp r0, r3
|
||||
beq _0801D444
|
||||
movs r7, #0x10
|
||||
rsbs r7, r7, #0
|
||||
adds r4, r0, #0
|
||||
ldr r6, _0801D454 @ =gUnk_020000C0
|
||||
_0801D3CA:
|
||||
ldrb r0, [r3, #8]
|
||||
cmp r0, #9
|
||||
beq _0801D43E
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x28
|
||||
ldrb r0, [r1]
|
||||
subs r0, #1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x7e
|
||||
bhi _0801D40C
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #6
|
||||
adds r1, r1, r6
|
||||
ldrb r0, [r1, #5]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1, #5]
|
||||
ldrb r0, [r1, #0x15]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1, #0x15]
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x25
|
||||
ldrb r0, [r2]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r2]
|
||||
adds r1, #0x35
|
||||
ldrb r0, [r1]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
_0801D40C:
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x27
|
||||
ldrb r0, [r1]
|
||||
add r0, sp
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
ldrb r2, [r3, #0x1a]
|
||||
lsls r0, r2, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
add r0, sp
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
adds r0, r7, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x1a]
|
||||
lsrs r1, r0, #4
|
||||
add r1, sp
|
||||
ldrb r2, [r1]
|
||||
lsls r2, r2, #4
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r3, #0x1a]
|
||||
_0801D43E:
|
||||
ldr r3, [r3, #4]
|
||||
cmp r4, r3
|
||||
bne _0801D3CA
|
||||
_0801D444:
|
||||
adds r1, r5, #0
|
||||
cmp r1, #8
|
||||
bls _0801D3B2
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D450: .4byte gEntityLists
|
||||
_0801D454: .4byte gUnk_020000C0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,60 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0
|
||||
movs r2, #6
|
||||
ldr r0, _0801D154 @ =gPaletteList
|
||||
adds r3, r0, #0
|
||||
adds r3, #0x18
|
||||
_0801D142:
|
||||
ldrb r0, [r3]
|
||||
lsls r0, r0, #0x1c
|
||||
cmp r0, #0
|
||||
bne _0801D158
|
||||
adds r1, #1
|
||||
cmp r4, r1
|
||||
bhi _0801D15A
|
||||
b _0801D180
|
||||
.align 2, 0
|
||||
_0801D154: .4byte gPaletteList
|
||||
_0801D158:
|
||||
movs r1, #0
|
||||
_0801D15A:
|
||||
adds r3, #4
|
||||
adds r2, #1
|
||||
cmp r2, #0xf
|
||||
bls _0801D142
|
||||
movs r1, #0
|
||||
movs r2, #6
|
||||
ldr r0, _0801D188 @ =gPaletteList
|
||||
adds r3, r0, #0
|
||||
adds r3, #0x18
|
||||
_0801D16C:
|
||||
ldrb r0, [r3]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #1
|
||||
bgt _0801D18C
|
||||
cmp r0, #0
|
||||
blt _0801D18C
|
||||
adds r1, #1
|
||||
cmp r4, r1
|
||||
bhi _0801D18E
|
||||
_0801D180:
|
||||
subs r0, r1, #1
|
||||
subs r0, r2, r0
|
||||
b _0801D19A
|
||||
.align 2, 0
|
||||
_0801D188: .4byte gPaletteList
|
||||
_0801D18C:
|
||||
movs r1, #0
|
||||
_0801D18E:
|
||||
adds r3, #4
|
||||
adds r2, #1
|
||||
cmp r2, #0xf
|
||||
bls _0801D16C
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
_0801D19A:
|
||||
pop {r4, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,28 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
cmp r2, #5
|
||||
bhi _0801D116
|
||||
b _0801D12E
|
||||
_0801D112:
|
||||
adds r0, r1, #0
|
||||
b _0801D12E
|
||||
_0801D116:
|
||||
movs r1, #6
|
||||
ldr r0, _0801D130 @ =gPaletteList
|
||||
adds r0, #0x18
|
||||
_0801D11C:
|
||||
ldrh r3, [r0, #2]
|
||||
cmp r2, r3
|
||||
beq _0801D112
|
||||
adds r0, #4
|
||||
adds r1, #1
|
||||
cmp r1, #0xf
|
||||
bls _0801D11C
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
_0801D12E:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801D130: .4byte gPaletteList
|
||||
.syntax divided
|
||||
@@ -0,0 +1,100 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #4
|
||||
str r0, [sp]
|
||||
adds r6, r1, #0
|
||||
adds r0, r6, #0
|
||||
bl FindPalette
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bge _0801D0E8
|
||||
cmp r6, #0x15
|
||||
bhi _0801D064
|
||||
movs r4, #1
|
||||
b _0801D074
|
||||
_0801D064:
|
||||
ldr r0, _0801D100 @ =gUnk_08133368
|
||||
adds r1, r6, #0
|
||||
subs r1, #0x16
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldrb r4, [r1, #3]
|
||||
movs r0, #0xf
|
||||
ands r4, r0
|
||||
_0801D074:
|
||||
adds r0, r4, #0
|
||||
bl FindFreeObjPalette
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bge _0801D090
|
||||
bl CleanUpObjPalettes
|
||||
adds r0, r4, #0
|
||||
bl FindFreeObjPalette
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
blt _0801D0E8
|
||||
_0801D090:
|
||||
lsls r1, r5, #2
|
||||
ldr r0, _0801D104 @ =gPaletteList
|
||||
adds r3, r1, r0
|
||||
movs r0, #0
|
||||
strh r6, [r3, #2]
|
||||
strb r0, [r3, #1]
|
||||
movs r2, #0x10
|
||||
rsbs r2, r2, #0
|
||||
lsls r0, r4, #4
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
subs r4, #1
|
||||
cmp r4, #0
|
||||
beq _0801D0E0
|
||||
movs r0, #0
|
||||
mov sl, r0
|
||||
movs r1, #0
|
||||
mov r8, r1
|
||||
movs r0, #0xf
|
||||
mov sb, r0
|
||||
mov ip, r2
|
||||
movs r7, #2
|
||||
_0801D0BE:
|
||||
adds r3, #4
|
||||
mov r1, r8
|
||||
strh r1, [r3, #2]
|
||||
mov r0, sl
|
||||
strb r0, [r3, #1]
|
||||
lsls r2, r4, #4
|
||||
ldrb r1, [r3]
|
||||
mov r0, sb
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
mov r1, ip
|
||||
ands r0, r1
|
||||
orrs r0, r7
|
||||
strb r0, [r3]
|
||||
subs r4, #1
|
||||
cmp r4, #0
|
||||
bne _0801D0BE
|
||||
_0801D0E0:
|
||||
adds r0, r6, #0
|
||||
adds r1, r5, #0
|
||||
bl LoadObjPaletteAtIndex
|
||||
_0801D0E8:
|
||||
ldr r0, [sp]
|
||||
adds r1, r5, #0
|
||||
bl SetEntityObjPalette
|
||||
adds r0, r5, #0
|
||||
add sp, #4
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D100: .4byte gUnk_08133368
|
||||
_0801D104: .4byte gPaletteList
|
||||
.syntax divided
|
||||
@@ -0,0 +1,63 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
ldr r2, _0801D2F8 @ =gUsedPalettes
|
||||
adds r4, r1, #0
|
||||
adds r4, #0x10
|
||||
movs r1, #1
|
||||
lsls r1, r4
|
||||
ldr r0, [r2]
|
||||
orrs r0, r1
|
||||
str r0, [r2]
|
||||
cmp r3, #5
|
||||
bls _0801D33C
|
||||
cmp r3, #0x15
|
||||
bne _0801D300
|
||||
ldr r2, _0801D2FC @ =gPaletteBuffer
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x78
|
||||
ldrh r0, [r0]
|
||||
lsls r1, r4, #5
|
||||
adds r1, r1, r2
|
||||
movs r2, #0x20
|
||||
bl MemFill16
|
||||
b _0801D33C
|
||||
.align 2, 0
|
||||
_0801D2F8: .4byte gUsedPalettes
|
||||
_0801D2FC: .4byte gPaletteBuffer
|
||||
_0801D300:
|
||||
cmp r3, #0x14
|
||||
bhi _0801D31C
|
||||
subs r0, r3, #6
|
||||
lsls r0, r0, #5
|
||||
ldr r1, _0801D318 @ =gPaletteBuffer
|
||||
adds r0, r0, r1
|
||||
adds r1, r4, #0
|
||||
movs r2, #1
|
||||
bl LoadPalettes
|
||||
b _0801D33C
|
||||
.align 2, 0
|
||||
_0801D318: .4byte gPaletteBuffer
|
||||
_0801D31C:
|
||||
ldr r1, _0801D340 @ =gUnk_08133368
|
||||
adds r0, r3, #0
|
||||
subs r0, #0x16
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
lsrs r2, r0, #0x18
|
||||
movs r1, #0xf
|
||||
ands r2, r1
|
||||
ldr r1, _0801D344 @ =0x00FFFFFF
|
||||
ands r0, r1
|
||||
ldr r1, _0801D348 @ =gGlobalGfxAndPalettes
|
||||
adds r0, r0, r1
|
||||
adds r1, r4, #0
|
||||
bl LoadPalettes
|
||||
_0801D33C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0801D340: .4byte gUnk_08133368
|
||||
_0801D344: .4byte 0x00FFFFFF
|
||||
_0801D348: .4byte gGlobalGfxAndPalettes
|
||||
.syntax divided
|
||||
@@ -0,0 +1,80 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
adds r3, r1, #0
|
||||
cmp r3, #0
|
||||
bge _0801D1A8
|
||||
movs r3, #0
|
||||
_0801D1A8:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x28
|
||||
ldrb r0, [r0]
|
||||
subs r0, #1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x7e
|
||||
bls _0801D1BE
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x27
|
||||
strb r3, [r0]
|
||||
_0801D1BE:
|
||||
movs r0, #0xf
|
||||
adds r1, r3, #0
|
||||
ands r1, r0
|
||||
ldrb r2, [r4, #0x1a]
|
||||
movs r5, #0x10
|
||||
rsbs r5, r5, #0
|
||||
adds r0, r5, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
movs r2, #0xf
|
||||
adds r1, r3, #0
|
||||
ands r1, r2
|
||||
lsls r1, r1, #4
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1a]
|
||||
lsls r1, r3, #2
|
||||
ldr r0, _0801D22C @ =gPaletteList
|
||||
adds r4, r1, r0
|
||||
ldr r0, [r4]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #4
|
||||
beq _0801D22A
|
||||
ldrb r0, [r4, #1]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #1]
|
||||
ldr r0, [r4]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r3, r0, #0x1c
|
||||
ldrb r1, [r4]
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4]
|
||||
subs r3, #1
|
||||
cmp r3, #0
|
||||
beq _0801D22A
|
||||
movs r7, #0xf
|
||||
adds r6, r5, #0
|
||||
movs r5, #2
|
||||
_0801D212:
|
||||
adds r4, #4
|
||||
lsls r2, r3, #4
|
||||
ldrb r1, [r4]
|
||||
adds r0, r7, #0
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
ands r0, r6
|
||||
orrs r0, r5
|
||||
strb r0, [r4]
|
||||
subs r3, #1
|
||||
cmp r3, #0
|
||||
bne _0801D212
|
||||
_0801D22A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D22C: .4byte gPaletteList
|
||||
.syntax divided
|
||||
@@ -0,0 +1,34 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0801D024 @ =gRoomTransition
|
||||
movs r1, #0
|
||||
cmp r2, #0
|
||||
beq _0801D00E
|
||||
movs r1, #0xf
|
||||
_0801D00E:
|
||||
adds r0, #0x2f
|
||||
strb r1, [r0]
|
||||
cmp r2, #0
|
||||
beq _0801D028
|
||||
bl CleanUpObjPalettes
|
||||
movs r0, #0xf
|
||||
bl sub_0801CFD0
|
||||
b _0801D03A
|
||||
.align 2, 0
|
||||
_0801D024: .4byte gRoomTransition
|
||||
_0801D028:
|
||||
ldr r3, _0801D03C @ =gUnk_02001A3C
|
||||
ldrb r1, [r3]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
cmp r0, #4
|
||||
bne _0801D03A
|
||||
strb r2, [r3]
|
||||
strb r2, [r3, #1]
|
||||
strh r2, [r3, #2]
|
||||
_0801D03A:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801D03C: .4byte gUnk_02001A3C
|
||||
.syntax divided
|
||||
@@ -0,0 +1,39 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0801D288 @ =gPaletteList
|
||||
adds r2, r0, r1
|
||||
ldr r0, [r2]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
cmp r0, #3
|
||||
bne _0801D284
|
||||
ldrb r0, [r2, #1]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #1]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0801D284
|
||||
ldr r0, [r2]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r3, r0, #0x1c
|
||||
movs r5, #0
|
||||
movs r6, #0x10
|
||||
rsbs r6, r6, #0
|
||||
movs r4, #1
|
||||
_0801D270:
|
||||
strb r5, [r2, #1]
|
||||
ldrb r1, [r2]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
orrs r0, r4
|
||||
strb r0, [r2]
|
||||
adds r2, #4
|
||||
subs r3, #1
|
||||
cmp r3, #0
|
||||
bne _0801D270
|
||||
_0801D284:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0801D288: .4byte gPaletteList
|
||||
.syntax divided
|
||||
@@ -0,0 +1,71 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, #4
|
||||
adds r6, r0, #0
|
||||
adds r3, r1, #0
|
||||
ldr r0, _0801D50C @ =gPaletteList
|
||||
mov r8, r0
|
||||
lsls r0, r6, #2
|
||||
mov r1, r8
|
||||
adds r4, r0, r1
|
||||
ldrb r0, [r4]
|
||||
lsrs r5, r0, #4
|
||||
subs r5, #1
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
cmp r5, r0
|
||||
beq _0801D4F8
|
||||
ldr r2, _0801D510 @ =gPaletteBuffer
|
||||
lsls r0, r3, #5
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #2
|
||||
adds r0, r0, r1
|
||||
adds r7, r0, r2
|
||||
lsls r0, r3, #2
|
||||
add r8, r0
|
||||
lsls r0, r6, #5
|
||||
adds r0, r0, r1
|
||||
adds r6, r0, r2
|
||||
movs r3, #0
|
||||
_0801D4C8:
|
||||
ldr r0, [r4]
|
||||
mov r1, r8
|
||||
adds r1, #4
|
||||
mov r8, r1
|
||||
subs r1, #4
|
||||
stm r1!, {r0}
|
||||
strb r3, [r4]
|
||||
strb r3, [r4, #1]
|
||||
strh r3, [r4, #2]
|
||||
adds r0, r6, #0
|
||||
adds r1, r7, #0
|
||||
movs r2, #0x20
|
||||
str r3, [sp]
|
||||
bl MemCopy
|
||||
adds r6, #0x20
|
||||
adds r4, #4
|
||||
adds r7, #0x20
|
||||
subs r5, #1
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
ldr r3, [sp]
|
||||
cmp r5, r0
|
||||
bne _0801D4C8
|
||||
_0801D4F8:
|
||||
ldr r0, _0801D514 @ =gUsedPalettes
|
||||
ldr r1, [r0]
|
||||
ldr r2, _0801D518 @ =0xFFFF0000
|
||||
orrs r1, r2
|
||||
str r1, [r0]
|
||||
add sp, #4
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D50C: .4byte gPaletteList
|
||||
_0801D510: .4byte gPaletteBuffer
|
||||
_0801D514: .4byte gUsedPalettes
|
||||
_0801D518: .4byte 0xFFFF0000
|
||||
.syntax divided
|
||||
@@ -0,0 +1,14 @@
|
||||
.syntax unified
|
||||
lsrs r2, r1, #3
|
||||
adds r3, r0, r2
|
||||
movs r2, #7
|
||||
ands r1, r2
|
||||
movs r2, #1
|
||||
lsls r2, r1
|
||||
ldrb r0, [r3]
|
||||
adds r1, r0, #0
|
||||
bics r1, r2
|
||||
strb r1, [r3]
|
||||
ands r0, r2
|
||||
bx lr
|
||||
.syntax divided
|
||||
@@ -0,0 +1,179 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #0x14
|
||||
adds r4, r0, #0
|
||||
bl AreaHasMap
|
||||
cmp r0, #0
|
||||
bne _0801DDB8
|
||||
b _0801DEEA
|
||||
_0801DDB8:
|
||||
ldr r1, _0801DDD8 @ =gUnk_080C9C50
|
||||
ldr r0, _0801DDDC @ =gArea
|
||||
ldrb r0, [r0, #3]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
lsls r0, r4, #2
|
||||
adds r0, r0, r1
|
||||
ldr r4, [r0]
|
||||
ldr r0, _0801DDE0 @ =gUnk_02019EE0
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #8
|
||||
bl MemClear
|
||||
b _0801DEE2
|
||||
.align 2, 0
|
||||
_0801DDD8: .4byte gUnk_080C9C50
|
||||
_0801DDDC: .4byte gArea
|
||||
_0801DDE0: .4byte gUnk_02019EE0
|
||||
_0801DDE4:
|
||||
ldrb r0, [r4]
|
||||
ldrb r1, [r4, #1]
|
||||
movs r2, #3
|
||||
bl GetRoomProperty
|
||||
adds r6, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl sub_0801DF10
|
||||
adds r5, r0, #0
|
||||
movs r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
ldrh r2, [r4]
|
||||
ldr r0, _0801DE14 @ =gUnk_02032EC0
|
||||
ldrh r3, [r0, #0x20]
|
||||
ldr r1, _0801DE18 @ =0x0000FFFF
|
||||
ands r1, r2
|
||||
ldr r0, _0801DE18 @ =0x0000FFFF
|
||||
ands r0, r3
|
||||
cmp r1, r0
|
||||
bne _0801DE1C
|
||||
movs r3, #8
|
||||
b _0801DE36
|
||||
.align 2, 0
|
||||
_0801DE14: .4byte gUnk_02032EC0
|
||||
_0801DE18: .4byte 0x0000FFFF
|
||||
_0801DE1C:
|
||||
bl HasDungeonSmallKey
|
||||
cmp r0, #0
|
||||
beq _0801DE28
|
||||
movs r0, #2
|
||||
str r0, [sp, #0xc]
|
||||
_0801DE28:
|
||||
adds r0, r6, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0801DF90
|
||||
cmp r0, #0
|
||||
beq _0801DE38
|
||||
movs r3, #3
|
||||
_0801DE36:
|
||||
str r3, [sp, #0xc]
|
||||
_0801DE38:
|
||||
ldrb r1, [r4, #2]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0801DE46
|
||||
movs r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
_0801DE46:
|
||||
adds r3, r4, #0
|
||||
adds r3, #8
|
||||
str r3, [sp, #0x10]
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0801DEE0
|
||||
ldr r2, _0801DEF8 @ =0x040000D4
|
||||
ldr r0, [r4, #4]
|
||||
ldr r1, _0801DEFC @ =gMapData
|
||||
adds r0, r0, r1
|
||||
str r0, [r2]
|
||||
ldr r0, _0801DF00 @ =gUnk_02019EE0
|
||||
str r0, [r2, #4]
|
||||
ldr r0, _0801DF04 @ =0x84000100
|
||||
str r0, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
ldr r0, _0801DF08 @ =gAreaRoomHeaders
|
||||
ldrb r2, [r4]
|
||||
lsls r2, r2, #2
|
||||
adds r2, r2, r0
|
||||
ldrb r1, [r4, #1]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #1
|
||||
ldr r2, [r2]
|
||||
adds r2, r2, r0
|
||||
ldrh r0, [r2]
|
||||
lsrs r0, r0, #4
|
||||
str r0, [sp]
|
||||
ldrh r0, [r2, #2]
|
||||
ldr r1, _0801DF0C @ =0x000007FF
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #4
|
||||
str r0, [sp, #4]
|
||||
ldrh r0, [r2, #4]
|
||||
lsrs r7, r0, #4
|
||||
ldrh r0, [r2, #6]
|
||||
lsrs r0, r0, #4
|
||||
mov sl, r0
|
||||
adds r0, r7, #3
|
||||
lsrs r0, r0, #2
|
||||
str r0, [sp, #8]
|
||||
movs r6, #0
|
||||
cmp r6, sl
|
||||
bhs _0801DEE0
|
||||
_0801DEA0:
|
||||
ldr r3, [sp, #8]
|
||||
adds r1, r6, #0
|
||||
muls r1, r3, r1
|
||||
ldr r0, _0801DF00 @ =gUnk_02019EE0
|
||||
adds r1, r1, r0
|
||||
mov r8, r1
|
||||
movs r5, #0
|
||||
adds r0, r6, #1
|
||||
mov sb, r0
|
||||
cmp r5, r7
|
||||
bhs _0801DEDA
|
||||
_0801DEB6:
|
||||
ldr r3, [sp]
|
||||
adds r4, r3, r5
|
||||
adds r0, r5, #0
|
||||
mov r1, r8
|
||||
bl sub_0801DF60
|
||||
ldr r1, [sp, #0xc]
|
||||
bl sub_0801DF78
|
||||
adds r2, r0, #0
|
||||
adds r0, r4, #0
|
||||
ldr r3, [sp, #4]
|
||||
adds r1, r3, r6
|
||||
bl sub_0801DF28
|
||||
adds r5, #1
|
||||
cmp r5, r7
|
||||
blo _0801DEB6
|
||||
_0801DEDA:
|
||||
mov r6, sb
|
||||
cmp r6, sl
|
||||
blo _0801DEA0
|
||||
_0801DEE0:
|
||||
ldr r4, [sp, #0x10]
|
||||
_0801DEE2:
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _0801DEEA
|
||||
b _0801DDE4
|
||||
_0801DEEA:
|
||||
add sp, #0x14
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801DEF8: .4byte 0x040000D4
|
||||
_0801DEFC: .4byte gMapData
|
||||
_0801DF00: .4byte gUnk_02019EE0
|
||||
_0801DF04: .4byte 0x84000100
|
||||
_0801DF08: .4byte gAreaRoomHeaders
|
||||
_0801DF0C: .4byte 0x000007FF
|
||||
.syntax divided
|
||||
@@ -0,0 +1,221 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
sub sp, #4
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
adds r1, r2, #0
|
||||
adds r0, r5, #0
|
||||
bl MemClear
|
||||
movs r0, #1
|
||||
strb r0, [r5]
|
||||
ldr r2, _0801DBE4 @ =gRoomTransition
|
||||
ldrh r0, [r2, #0x1c]
|
||||
lsrs r0, r0, #4
|
||||
movs r1, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r5, #1]
|
||||
ldrh r0, [r2, #0x1e]
|
||||
lsrs r0, r0, #4
|
||||
ands r0, r1
|
||||
strb r0, [r5, #2]
|
||||
adds r5, #3
|
||||
ldr r1, _0801DBE8 @ =gUnk_080C9C50
|
||||
ldr r0, _0801DBEC @ =gArea
|
||||
ldrb r0, [r0, #3]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
lsls r4, r4, #2
|
||||
adds r4, r4, r0
|
||||
ldr r6, [r4]
|
||||
b _0801DD3A
|
||||
.align 2, 0
|
||||
_0801DBE4: .4byte gRoomTransition
|
||||
_0801DBE8: .4byte gUnk_080C9C50
|
||||
_0801DBEC: .4byte gArea
|
||||
_0801DBF0:
|
||||
ldrb r0, [r6]
|
||||
ldrb r1, [r6, #1]
|
||||
movs r2, #3
|
||||
bl GetRoomProperty
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
bne _0801DC04
|
||||
adds r6, #8
|
||||
b _0801DD3A
|
||||
_0801DC04:
|
||||
adds r0, r6, #0
|
||||
bl sub_0801DF10
|
||||
mov r8, r0
|
||||
bl HasDungeonBigKey
|
||||
movs r1, #8
|
||||
adds r1, r1, r6
|
||||
mov sb, r1
|
||||
cmp r0, #0
|
||||
beq _0801DCAE
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _0801DCAE
|
||||
movs r3, #0xfc
|
||||
lsls r3, r3, #2
|
||||
ldr r7, _0801DC84 @ =0x000007FF
|
||||
_0801DC26:
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #3
|
||||
bgt _0801DCA6
|
||||
cmp r0, #2
|
||||
blt _0801DCA6
|
||||
ldrb r1, [r4, #1]
|
||||
mov r0, r8
|
||||
str r3, [sp]
|
||||
bl CheckLocalFlagByBank
|
||||
ldr r3, [sp]
|
||||
cmp r0, #0
|
||||
bne _0801DCA6
|
||||
ldr r0, _0801DC88 @ =gAreaRoomHeaders
|
||||
ldrb r2, [r6]
|
||||
lsls r2, r2, #2
|
||||
adds r2, r2, r0
|
||||
ldrb r1, [r6, #1]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #1
|
||||
ldr r1, [r2]
|
||||
adds r2, r1, r0
|
||||
movs r0, #2
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #2
|
||||
bne _0801DC8C
|
||||
ldrh r0, [r4, #4]
|
||||
lsls r0, r0, #4
|
||||
ands r0, r3
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
ldrh r1, [r2]
|
||||
ands r1, r7
|
||||
adds r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
strb r0, [r5, #1]
|
||||
ldrh r0, [r4, #4]
|
||||
lsrs r0, r0, #2
|
||||
ands r0, r3
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
ldrh r1, [r2, #2]
|
||||
ands r1, r7
|
||||
b _0801DC9E
|
||||
.align 2, 0
|
||||
_0801DC84: .4byte 0x000007FF
|
||||
_0801DC88: .4byte gAreaRoomHeaders
|
||||
_0801DC8C:
|
||||
ldrh r0, [r2]
|
||||
ands r0, r7
|
||||
ldrh r1, [r4, #4]
|
||||
adds r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
strb r0, [r5, #1]
|
||||
ldrh r0, [r2, #2]
|
||||
ands r0, r7
|
||||
ldrh r1, [r4, #6]
|
||||
_0801DC9E:
|
||||
adds r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
strb r0, [r5, #2]
|
||||
adds r5, #3
|
||||
_0801DCA6:
|
||||
adds r4, #8
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
bne _0801DC26
|
||||
_0801DCAE:
|
||||
bl HasDungeonBigKey
|
||||
cmp r0, #0
|
||||
beq _0801DD16
|
||||
ldrb r1, [r6, #2]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0801DD16
|
||||
ldr r0, _0801DD4C @ =gArea
|
||||
ldrb r0, [r0, #3]
|
||||
adds r0, #1
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0801DD16
|
||||
ldr r0, _0801DD50 @ =gAreaRoomHeaders
|
||||
ldrb r2, [r6]
|
||||
lsls r2, r2, #2
|
||||
adds r2, r2, r0
|
||||
ldrb r1, [r6, #1]
|
||||
lsls r0, r1, #2
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #1
|
||||
ldr r1, [r2]
|
||||
adds r2, r1, r0
|
||||
movs r0, #4
|
||||
strb r0, [r5]
|
||||
ldrh r0, [r2, #4]
|
||||
lsrs r0, r0, #1
|
||||
ldrh r1, [r2]
|
||||
adds r0, r0, r1
|
||||
asrs r1, r0, #4
|
||||
adds r0, r1, #0
|
||||
cmp r1, #0
|
||||
bge _0801DCF8
|
||||
adds r0, #0x7f
|
||||
_0801DCF8:
|
||||
asrs r0, r0, #7
|
||||
lsls r0, r0, #7
|
||||
subs r0, r1, r0
|
||||
strb r0, [r5, #1]
|
||||
ldrh r0, [r2, #6]
|
||||
lsrs r0, r0, #1
|
||||
ldrh r2, [r2, #2]
|
||||
adds r0, r0, r2
|
||||
asrs r1, r0, #4
|
||||
adds r0, r1, #0
|
||||
asrs r0, r0, #7
|
||||
lsls r0, r0, #7
|
||||
subs r0, r1, r0
|
||||
strb r0, [r5, #2]
|
||||
adds r5, #3
|
||||
_0801DD16:
|
||||
ldr r2, _0801DD54 @ =gRoomTransition
|
||||
ldrh r0, [r6]
|
||||
ldrh r1, [r2, #0x16]
|
||||
cmp r0, r1
|
||||
bne _0801DD38
|
||||
movs r0, #3
|
||||
strb r0, [r5]
|
||||
ldrh r0, [r2, #0x18]
|
||||
lsrs r0, r0, #4
|
||||
movs r1, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r5, #1]
|
||||
ldrh r0, [r2, #0x1a]
|
||||
lsrs r0, r0, #4
|
||||
ands r0, r1
|
||||
strb r0, [r5, #2]
|
||||
adds r5, #3
|
||||
_0801DD38:
|
||||
mov r6, sb
|
||||
_0801DD3A:
|
||||
ldrb r0, [r6]
|
||||
cmp r0, #0
|
||||
beq _0801DD42
|
||||
b _0801DBF0
|
||||
_0801DD42:
|
||||
add sp, #4
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801DD4C: .4byte gArea
|
||||
_0801DD50: .4byte gAreaRoomHeaders
|
||||
_0801DD54: .4byte gRoomTransition
|
||||
.syntax divided
|
||||
@@ -0,0 +1,14 @@
|
||||
.syntax unified
|
||||
lsrs r2, r1, #3
|
||||
adds r3, r0, r2
|
||||
movs r2, #7
|
||||
ands r1, r2
|
||||
movs r2, #1
|
||||
lsls r2, r1
|
||||
ldrb r0, [r3]
|
||||
adds r1, r0, #0
|
||||
orrs r1, r2
|
||||
strb r1, [r3]
|
||||
ands r0, r2
|
||||
bx lr
|
||||
.syntax divided
|
||||
@@ -0,0 +1,39 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r6, r2, #0
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #8
|
||||
ands r0, r3
|
||||
movs r1, #0x20
|
||||
mov ip, r1
|
||||
cmp r0, #0
|
||||
beq _0801D8B2
|
||||
movs r0, #0x40
|
||||
mov ip, r0
|
||||
_0801D8B2:
|
||||
ldr r0, _0801D8D8 @ =0x00007FFF
|
||||
ands r3, r0
|
||||
ldr r1, _0801D8DC @ =0x040000D4
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #0x18
|
||||
orrs r2, r6
|
||||
lsls r7, r6, #1
|
||||
mov r0, ip
|
||||
lsls r6, r0, #1
|
||||
_0801D8C4:
|
||||
str r4, [r1]
|
||||
str r5, [r1, #4]
|
||||
str r2, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
adds r4, r4, r7
|
||||
adds r5, r5, r6
|
||||
subs r3, #1
|
||||
cmp r3, #0
|
||||
bne _0801D8C4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801D8D8: .4byte 0x00007FFF
|
||||
_0801D8DC: .4byte 0x040000D4
|
||||
.syntax divided
|
||||
@@ -0,0 +1,28 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
lsrs r4, r1, #3
|
||||
lsls r4, r4, #4
|
||||
lsrs r3, r0, #3
|
||||
adds r4, r4, r3
|
||||
lsls r4, r4, #5
|
||||
ldr r3, _0801DF58 @ =gUnk_0201AEE0
|
||||
adds r4, r4, r3
|
||||
movs r3, #7
|
||||
ands r1, r3
|
||||
lsls r1, r1, #2
|
||||
adds r4, r4, r1
|
||||
ands r0, r3
|
||||
lsls r0, r0, #2
|
||||
lsls r2, r0
|
||||
ldr r1, _0801DF5C @ =gUnk_080C9460
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r4]
|
||||
ldr r0, [r0]
|
||||
ands r1, r0
|
||||
orrs r1, r2
|
||||
str r1, [r4]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0801DF58: .4byte gUnk_0201AEE0
|
||||
_0801DF5C: .4byte gUnk_080C9460
|
||||
.syntax divided
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user