mirror of
https://github.com/zeldaret/tmc
synced 2026-08-28 16:52:02 -04:00
merge master
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
|
||||
+47
-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,26 +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;
|
||||
}
|
||||
```
|
||||
|
||||
Vendored
+6
-4
@@ -26,8 +26,9 @@ pipeline {
|
||||
}
|
||||
steps {
|
||||
sh 'mkdir reports'
|
||||
sh 'python3 progress.py >> reports/progress_tmc.csv'
|
||||
sh 'python3 progress.py -m >> reports/progress_tmc_matching.csv'
|
||||
sh 'python3 progress.py csv >> reports/progress-tmc-nonmatching.csv'
|
||||
sh 'python3 progress.py csv -m >> reports/progress-tmc-matching.csv'
|
||||
sh 'python3 progress.py shield-json > reports/progress-tmc-shield.json'
|
||||
stash includes: 'reports/*', name: 'reports'
|
||||
}
|
||||
}
|
||||
@@ -40,8 +41,9 @@ pipeline {
|
||||
}
|
||||
steps {
|
||||
unstash 'reports'
|
||||
sh 'cat reports/progress_tmc.csv >> /var/www/html/reports/progress_tmc.csv'
|
||||
sh 'cat reports/progress_tmc_matching.csv >> /var/www/html/reports/progress_tmc_matching.csv'
|
||||
sh 'cat reports/progress-tmc-nonmatching.csv >> /var/www/zelda64.dev/assets/csv/progress-tmc-nonmatching.csv'
|
||||
sh 'cat reports/progress-tmc-matching.csv >> /var/www/zelda64.dev/assets/csv/progress-tmc-matching.csv'
|
||||
sh 'cat reports/progress-tmc-shield.json > /var/www/zelda64.dev/assets/csv/progress-tmc-shield.json'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
# The Legend of Zelda: The Minish Cap
|
||||
|
||||
**Progress:** [⬛⬛⬛⬛⬛⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 45%
|
||||
|
||||
[![Build Status][jenkins-badge]][jenkins] [![Decompilation Progress][progress-badge]][progress] [![Contributors][contributors-badge]][contributors] [![Discord Channel][discord-badge]][discord]
|
||||
|
||||
[jenkins]: https://jenkins.deco.mp/job/TMC/job/master
|
||||
[jenkins-badge]: https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins.deco.mp%2Fjob%2FTMC%2Fjob%2Fmaster
|
||||
|
||||
[progress]: https://zelda64.dev/games/tmc
|
||||
[progress-badge]: https://img.shields.io/endpoint?url=https://zelda64.dev/assets/csv/progress-tmc-shield.json
|
||||
|
||||
[contributors]: https://github.com/zeldaret/tmc/graphs/contributors
|
||||
[contributors-badge]: https://img.shields.io/github/contributors/zeldaret/tmc
|
||||
|
||||
[discord]: https://discord.zelda64.dev
|
||||
[discord-badge]: https://img.shields.io/discord/688807550715560050?color=%237289DA&logo=discord&logoColor=%23FFFFFF
|
||||
|
||||
```diff
|
||||
- WARNING! -
|
||||
|
||||
@@ -34,10 +34,10 @@ sub_08019698: @ 0x08019698
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
ldrh r1, [r4, #4]
|
||||
bl SetLocalFlagByOffset
|
||||
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
|
||||
@@ -939,7 +939,7 @@ _08019D76:
|
||||
_08019D8C: .4byte gPlayerState
|
||||
_08019D90: .4byte gUnk_0200AF00
|
||||
_08019D94:
|
||||
bl sub_08052734
|
||||
bl HasDungeonMap
|
||||
cmp r0, #0
|
||||
bne _08019D9E
|
||||
b _0801A2A4
|
||||
@@ -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
|
||||
|
||||
@@ -1,180 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Bombarossa
|
||||
Bombarossa: @ 0x080333B8
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r4, _080333D0 @ =gUnk_080CEB38
|
||||
bl GetNextFunction
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080333D0: .4byte gUnk_080CEB38
|
||||
|
||||
thumb_func_start sub_080333D4
|
||||
sub_080333D4: @ 0x080333D4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0803340E
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
bl Random
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
beq _0803340E
|
||||
bl GetCurrentRoomProperty
|
||||
str r0, [r4, #0x54]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x54
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x76
|
||||
adds r0, r4, #0
|
||||
bl sub_080A2CC0
|
||||
_0803340E:
|
||||
ldr r2, _08033444 @ =gUnk_080CEB50
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1c
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
ldrb r1, [r4, #0xb]
|
||||
lsls r1, r1, #3
|
||||
adds r0, r0, r1
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
strh r0, [r4, #0x36]
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
beq _08033440
|
||||
adds r0, r4, #0
|
||||
bl sub_0803350C
|
||||
_08033440:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08033444: .4byte gUnk_080CEB50
|
||||
|
||||
thumb_func_start sub_08033448
|
||||
sub_08033448: @ 0x08033448
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x41
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
subs r0, #1
|
||||
cmp r0, #0x1d
|
||||
bhi _080334E0
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08033464 @ =_08033468
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08033464: .4byte _08033468
|
||||
_08033468: @ jump table
|
||||
.4byte _080334FA @ case 0
|
||||
.4byte _080334E0 @ case 1
|
||||
.4byte _080334E0 @ case 2
|
||||
.4byte _080334E0 @ case 3
|
||||
.4byte _080334E0 @ case 4
|
||||
.4byte _080334E0 @ case 5
|
||||
.4byte _080334E0 @ case 6
|
||||
.4byte _080334E0 @ case 7
|
||||
.4byte _080334E0 @ case 8
|
||||
.4byte _080334E0 @ case 9
|
||||
.4byte _080334E0 @ case 10
|
||||
.4byte _080334E0 @ case 11
|
||||
.4byte _080334E0 @ case 12
|
||||
.4byte _080334E0 @ case 13
|
||||
.4byte _080334FA @ case 14
|
||||
.4byte _080334E0 @ case 15
|
||||
.4byte _080334E0 @ case 16
|
||||
.4byte _080334E0 @ case 17
|
||||
.4byte _080334FA @ case 18
|
||||
.4byte _080334E0 @ case 19
|
||||
.4byte _080334E0 @ case 20
|
||||
.4byte _080334E0 @ case 21
|
||||
.4byte _080334E0 @ case 22
|
||||
.4byte _080334E0 @ case 23
|
||||
.4byte _080334E0 @ case 24
|
||||
.4byte _080334E0 @ case 25
|
||||
.4byte _080334FA @ case 26
|
||||
.4byte _080334E0 @ case 27
|
||||
.4byte _080334FA @ case 28
|
||||
.4byte _080334FA @ case 29
|
||||
_080334E0:
|
||||
movs r0, #0x20
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080334F6
|
||||
adds r0, r4, #0
|
||||
bl CopyPosition
|
||||
_080334F6:
|
||||
bl DeleteThisEntity
|
||||
_080334FA:
|
||||
ldr r1, _08033504 @ =gUnk_080CEB38
|
||||
adds r0, r4, #0
|
||||
bl sub_0804AA30
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08033504: .4byte gUnk_080CEB38
|
||||
|
||||
thumb_func_start nullsub_158
|
||||
nullsub_158: @ 0x08033508
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803350C
|
||||
sub_0803350C: @ 0x0803350C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x15]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08033520
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F69C
|
||||
_08033520:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x76
|
||||
ldrh r0, [r2]
|
||||
subs r0, #1
|
||||
strh r0, [r2]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _0803353A
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x54
|
||||
adds r0, r4, #0
|
||||
bl sub_080A2CC0
|
||||
_0803353A:
|
||||
pop {r4, pc}
|
||||
-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
|
||||
+14
-10
@@ -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
|
||||
@@ -293,8 +297,8 @@ sub_0800419C: @ 0x0800419C
|
||||
push {r5, r6, lr}
|
||||
b _080041B0
|
||||
|
||||
thumb_func_start sub_080041A0
|
||||
sub_080041A0: @ 0x080041A0
|
||||
thumb_func_start EntityInRectRadius
|
||||
EntityInRectRadius: @ 0x080041A0
|
||||
push {r5, r6, lr}
|
||||
movs r6, #0x38
|
||||
ldrb r5, [r0, r6]
|
||||
@@ -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 sub_0801D2B4
|
||||
sub_0801D2B4: @ 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
|
||||
|
||||
@@ -1,352 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.text
|
||||
.syntax unified
|
||||
|
||||
thumb_func_start GetCurrentRoomProperty
|
||||
GetCurrentRoomProperty: @ 0x0804B128
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0804B138 @ =gCurrentRoomProperties
|
||||
ldr r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _0804B13C
|
||||
movs r0, #0
|
||||
b _0804B166
|
||||
.align 2, 0
|
||||
_0804B138: .4byte gCurrentRoomProperties
|
||||
_0804B13C:
|
||||
cmp r2, #0x7f
|
||||
bls _0804B150
|
||||
ldr r0, _0804B14C @ =gRoomVars
|
||||
movs r1, #7
|
||||
ands r1, r2
|
||||
lsls r1, r1, #2
|
||||
adds r0, #0x8c
|
||||
b _0804B162
|
||||
.align 2, 0
|
||||
_0804B14C: .4byte gRoomVars
|
||||
_0804B150:
|
||||
cmp r2, #7
|
||||
bls _0804B15C
|
||||
lsls r0, r2, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
b _0804B166
|
||||
_0804B15C:
|
||||
ldr r0, _0804B168 @ =gRoomVars
|
||||
lsls r1, r2, #2
|
||||
adds r0, #0x6c
|
||||
_0804B162:
|
||||
adds r1, r1, r0
|
||||
ldr r0, [r1]
|
||||
_0804B166:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B168: .4byte gRoomVars
|
||||
|
||||
thumb_func_start sub_0804B16C
|
||||
sub_0804B16C: @ 0x0804B16C
|
||||
push {r4, lr}
|
||||
ldr r4, _0804B1A4 @ =gUnk_02017660
|
||||
_0804B170:
|
||||
ldrh r0, [r4, #4]
|
||||
cmp r0, #0
|
||||
beq _0804B198
|
||||
ldrb r0, [r4, #1]
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B198
|
||||
ldrh r3, [r4, #4]
|
||||
ldrb r1, [r4, #6]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
movs r2, #1
|
||||
cmp r0, #0
|
||||
beq _0804B190
|
||||
movs r2, #2
|
||||
_0804B190:
|
||||
movs r0, #0x74
|
||||
adds r1, r3, #0
|
||||
bl SetTileType
|
||||
_0804B198:
|
||||
adds r4, #8
|
||||
ldr r0, _0804B1A8 @ =gPaletteBuffer
|
||||
cmp r4, r0
|
||||
blo _0804B170
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0804B1A4: .4byte gUnk_02017660
|
||||
_0804B1A8: .4byte gPaletteBuffer
|
||||
|
||||
thumb_func_start LoadRoomTileEntities
|
||||
LoadRoomTileEntities: @ 0x0804B1AC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0804B25A
|
||||
b _0804B254
|
||||
_0804B1B6:
|
||||
ldrb r0, [r4]
|
||||
subs r0, #1
|
||||
cmp r0, #0xc
|
||||
bhi _0804B252
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _0804B1C8 @ =_0804B1CC
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0804B1C8: .4byte _0804B1CC
|
||||
_0804B1CC: @ jump table
|
||||
.4byte _0804B200 @ case 0
|
||||
.4byte _0804B208 @ case 1
|
||||
.4byte _0804B252 @ case 2
|
||||
.4byte _0804B210 @ case 3
|
||||
.4byte _0804B252 @ case 4
|
||||
.4byte _0804B252 @ case 5
|
||||
.4byte _0804B218 @ case 6
|
||||
.4byte _0804B252 @ case 7
|
||||
.4byte _0804B22C @ case 8
|
||||
.4byte _0804B234 @ case 9
|
||||
.4byte _0804B23C @ case 10
|
||||
.4byte _0804B244 @ case 11
|
||||
.4byte _0804B24C @ case 12
|
||||
_0804B200:
|
||||
adds r0, r4, #0
|
||||
bl sub_0804B290
|
||||
b _0804B252
|
||||
_0804B208:
|
||||
adds r0, r4, #0
|
||||
bl sub_0804B29C
|
||||
b _0804B252
|
||||
_0804B210:
|
||||
adds r0, r4, #0
|
||||
bl sub_0804B300
|
||||
b _0804B252
|
||||
_0804B218:
|
||||
ldr r0, _0804B224 @ =gArea
|
||||
ldr r1, _0804B228 @ =0x00000864
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r4, #3]
|
||||
str r1, [r0]
|
||||
b _0804B252
|
||||
.align 2, 0
|
||||
_0804B224: .4byte gArea
|
||||
_0804B228: .4byte 0x00000864
|
||||
_0804B22C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0804B334
|
||||
b _0804B252
|
||||
_0804B234:
|
||||
adds r0, r4, #0
|
||||
bl sub_0804B340
|
||||
b _0804B252
|
||||
_0804B23C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0804B260
|
||||
b _0804B252
|
||||
_0804B244:
|
||||
adds r0, r4, #0
|
||||
bl sub_0804B27C
|
||||
b _0804B252
|
||||
_0804B24C:
|
||||
ldr r1, _0804B25C @ =gRoomVars
|
||||
ldrb r0, [r4, #3]
|
||||
strb r0, [r1, #9]
|
||||
_0804B252:
|
||||
adds r4, #8
|
||||
_0804B254:
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
bne _0804B1B6
|
||||
_0804B25A:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0804B25C: .4byte gRoomVars
|
||||
|
||||
thumb_func_start sub_0804B260
|
||||
sub_0804B260: @ 0x0804B260
|
||||
push {lr}
|
||||
ldrb r0, [r0, #1]
|
||||
lsls r0, r0, #5
|
||||
ldr r1, _0804B274 @ =gUnk_080015BC
|
||||
adds r0, r0, r1
|
||||
ldr r1, _0804B278 @ =gUnk_02034398
|
||||
movs r2, #0x20
|
||||
bl MemCopy
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B274: .4byte gUnk_080015BC
|
||||
_0804B278: .4byte gUnk_02034398
|
||||
|
||||
thumb_func_start sub_0804B27C
|
||||
sub_0804B27C: @ 0x0804B27C
|
||||
push {lr}
|
||||
ldr r1, _0804B28C @ =gArea
|
||||
ldrb r0, [r0, #1]
|
||||
strb r0, [r1, #1]
|
||||
bl sub_08054524
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B28C: .4byte gArea
|
||||
|
||||
thumb_func_start sub_0804B290
|
||||
sub_0804B290: @ 0x0804B290
|
||||
push {lr}
|
||||
ldrb r0, [r0, #1]
|
||||
bl SetLocalFlag
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B29C
|
||||
sub_0804B29C: @ 0x0804B29C
|
||||
push {r4, lr}
|
||||
adds r2, r0, #0
|
||||
ldr r4, _0804B2EC @ =gUnk_02017660
|
||||
movs r1, #0
|
||||
_0804B2A4:
|
||||
ldrh r0, [r4, #4]
|
||||
cmp r0, #0
|
||||
bne _0804B2F4
|
||||
adds r0, r2, #0
|
||||
adds r1, r4, #0
|
||||
movs r2, #8
|
||||
bl MemCopy
|
||||
ldrb r1, [r4, #6]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0804B2FC
|
||||
ldr r0, _0804B2F0 @ =gRoomControls
|
||||
ldrb r1, [r0, #0xf]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0804B2FC
|
||||
ldrb r0, [r4, #1]
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0804B2FC
|
||||
ldrb r1, [r4, #1]
|
||||
movs r0, #0x52
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
cmp r0, #0
|
||||
beq _0804B2FC
|
||||
ldrh r1, [r4, #4]
|
||||
bl sub_0806F704
|
||||
b _0804B2FC
|
||||
.align 2, 0
|
||||
_0804B2EC: .4byte gUnk_02017660
|
||||
_0804B2F0: .4byte gRoomControls
|
||||
_0804B2F4:
|
||||
adds r1, #1
|
||||
adds r4, #8
|
||||
cmp r1, #7
|
||||
bls _0804B2A4
|
||||
_0804B2FC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B300
|
||||
sub_0804B300: @ 0x0804B300
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetEmptyManager
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0804B332
|
||||
movs r0, #9
|
||||
strb r0, [r1, #8]
|
||||
movs r0, #0x24
|
||||
strb r0, [r1, #9]
|
||||
ldrh r0, [r4, #4]
|
||||
strh r0, [r1, #0x38]
|
||||
ldrh r0, [r4, #6]
|
||||
strh r0, [r1, #0x3a]
|
||||
ldrb r0, [r4, #2]
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x35
|
||||
strb r0, [r2]
|
||||
ldrb r0, [r4, #1]
|
||||
strh r0, [r1, #0x3e]
|
||||
adds r0, r1, #0
|
||||
movs r1, #6
|
||||
bl AppendEntityToList
|
||||
_0804B332:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0804B334
|
||||
sub_0804B334: @ 0x0804B334
|
||||
push {lr}
|
||||
ldrb r0, [r0, #3]
|
||||
movs r1, #1
|
||||
bl sub_0805BB00
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0804B340
|
||||
sub_0804B340: @ 0x0804B340
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrh r0, [r4, #2]
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B35A
|
||||
ldrh r0, [r4, #6]
|
||||
ldrh r1, [r4, #4]
|
||||
ldrb r2, [r4, #1]
|
||||
bl SetTileType
|
||||
b _0804B380
|
||||
_0804B35A:
|
||||
ldr r1, _0804B384 @ =gRoomVars
|
||||
ldrb r0, [r1, #1]
|
||||
cmp r0, #0
|
||||
bne _0804B380
|
||||
movs r0, #1
|
||||
strb r0, [r1, #1]
|
||||
bl GetEmptyManager
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0804B380
|
||||
movs r0, #9
|
||||
strb r0, [r1, #8]
|
||||
movs r0, #0x2a
|
||||
strb r0, [r1, #9]
|
||||
adds r0, r1, #0
|
||||
movs r1, #6
|
||||
bl AppendEntityToList
|
||||
_0804B380:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0804B384: .4byte gRoomVars
|
||||
|
||||
thumb_func_start sub_0804B388
|
||||
sub_0804B388: @ 0x0804B388
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
movs r0, #0x34
|
||||
cmp r4, #1
|
||||
bne _0804B396
|
||||
movs r0, #0x26
|
||||
_0804B396:
|
||||
adds r1, r5, #0
|
||||
adds r2, r4, #0
|
||||
bl SetTileType
|
||||
movs r0, #0xf
|
||||
movs r1, #2
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0804B3BA
|
||||
adds r0, #0x38
|
||||
strb r4, [r0]
|
||||
adds r0, r1, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806F704
|
||||
_0804B3BA:
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
bl sub_080526F8
|
||||
pop {r4, r5, pc}
|
||||
@@ -1,252 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start UpdateFade
|
||||
UpdateFade: @ 0x08050154
|
||||
push {r4, r5, r6, lr}
|
||||
ldr r4, _08050180 @ =gFadeControl
|
||||
ldrh r0, [r4, #8]
|
||||
movs r5, #0x1c
|
||||
ands r5, r0
|
||||
movs r6, #0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _080501BE
|
||||
ldrh r0, [r4, #0xc]
|
||||
ldrh r1, [r4, #0xa]
|
||||
subs r0, r0, r1
|
||||
strh r0, [r4, #0xc]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
ldrh r2, [r4, #0xe]
|
||||
movs r3, #0xe
|
||||
ldrsh r1, [r4, r3]
|
||||
cmp r0, r1
|
||||
bgt _080501B8
|
||||
strh r2, [r4, #0xc]
|
||||
b _080501B8
|
||||
.align 2, 0
|
||||
_08050180: .4byte gFadeControl
|
||||
_08050184:
|
||||
mvns r0, r5
|
||||
adds r0, #1
|
||||
ands r0, r5
|
||||
eors r5, r0
|
||||
cmp r0, #8
|
||||
beq _080501A8
|
||||
cmp r0, #8
|
||||
bhi _0805019A
|
||||
cmp r0, #4
|
||||
beq _080501A0
|
||||
b _080501B8
|
||||
_0805019A:
|
||||
cmp r0, #0x10
|
||||
beq _080501B0
|
||||
b _080501B8
|
||||
_080501A0:
|
||||
adds r0, r4, #0
|
||||
bl sub_080501C0
|
||||
b _080501B6
|
||||
_080501A8:
|
||||
adds r0, r4, #0
|
||||
bl sub_08050230
|
||||
b _080501B6
|
||||
_080501B0:
|
||||
adds r0, r4, #0
|
||||
bl sub_080502A4
|
||||
_080501B6:
|
||||
orrs r6, r0
|
||||
_080501B8:
|
||||
cmp r5, #0
|
||||
bne _08050184
|
||||
strb r6, [r4]
|
||||
_080501BE:
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_080501C0
|
||||
sub_080501C0: @ 0x080501C0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r3, r0, #0
|
||||
ldrh r1, [r3, #8]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080501DA
|
||||
movs r0, #0xc
|
||||
ldrsh r1, [r3, r0]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
subs r5, r0, r1
|
||||
b _080501DE
|
||||
_080501DA:
|
||||
movs r2, #0xc
|
||||
ldrsh r5, [r3, r2]
|
||||
_080501DE:
|
||||
ldr r0, _080501F8 @ =gFadeControl
|
||||
ldr r2, [r0, #4]
|
||||
ldr r1, _080501FC @ =gUnk_020354C0
|
||||
movs r4, #0
|
||||
ldr r7, _08050200 @ =gUsedPalettes
|
||||
movs r6, #1
|
||||
_080501EA:
|
||||
adds r0, r2, #0
|
||||
ands r0, r6
|
||||
cmp r0, #0
|
||||
beq _08050204
|
||||
strb r6, [r1]
|
||||
strh r5, [r1, #2]
|
||||
b _08050208
|
||||
.align 2, 0
|
||||
_080501F8: .4byte gFadeControl
|
||||
_080501FC: .4byte gUnk_020354C0
|
||||
_08050200: .4byte gUsedPalettes
|
||||
_08050204:
|
||||
strb r0, [r1]
|
||||
strh r0, [r1, #2]
|
||||
_08050208:
|
||||
ldrb r0, [r3, #2]
|
||||
strb r0, [r1, #1]
|
||||
lsrs r2, r2, #1
|
||||
adds r4, #1
|
||||
adds r1, #4
|
||||
cmp r4, #0x1f
|
||||
bls _080501EA
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
str r0, [r7]
|
||||
movs r0, #0xe
|
||||
ldrsh r1, [r3, r0]
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r3, r2]
|
||||
eors r1, r0
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r0, r0, #0x1f
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08050230
|
||||
sub_08050230: @ 0x08050230
|
||||
push {r4, r5, lr}
|
||||
ldrh r4, [r0, #8]
|
||||
ldrh r0, [r0, #0xc]
|
||||
lsls r5, r0, #0x10
|
||||
asrs r2, r5, #0x14
|
||||
movs r0, #0xf
|
||||
ands r2, r0
|
||||
movs r0, #1
|
||||
ands r4, r0
|
||||
cmp r4, #0
|
||||
beq _0805024A
|
||||
movs r0, #0xf
|
||||
subs r2, r0, r2
|
||||
_0805024A:
|
||||
ldr r3, _08050264 @ =gScreen
|
||||
ldr r1, _08050268 @ =gUnk_080FC3C4
|
||||
lsls r0, r2, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x64
|
||||
strh r1, [r0]
|
||||
cmp r5, #0
|
||||
beq _0805026C
|
||||
movs r0, #1
|
||||
b _08050298
|
||||
.align 2, 0
|
||||
_08050264: .4byte gScreen
|
||||
_08050268: .4byte gUnk_080FC3C4
|
||||
_0805026C:
|
||||
ldr r1, _0805029C @ =gUnk_03000000
|
||||
movs r0, #0
|
||||
strb r0, [r1, #2]
|
||||
cmp r4, #0
|
||||
bne _08050296
|
||||
ldrh r2, [r3, #8]
|
||||
ldr r1, _080502A0 @ =0x0000FFBF
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
strh r0, [r3, #8]
|
||||
ldrh r2, [r3, #0x14]
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
strh r0, [r3, #0x14]
|
||||
ldrh r2, [r3, #0x20]
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
strh r0, [r3, #0x20]
|
||||
ldrh r0, [r3, #0x2c]
|
||||
ands r1, r0
|
||||
strh r1, [r3, #0x2c]
|
||||
_08050296:
|
||||
movs r0, #0
|
||||
_08050298:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0805029C: .4byte gUnk_03000000
|
||||
_080502A0: .4byte 0x0000FFBF
|
||||
|
||||
thumb_func_start sub_080502A4
|
||||
sub_080502A4: @ 0x080502A4
|
||||
push {r4, lr}
|
||||
ldrh r1, [r0, #8]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080502E4
|
||||
ldr r4, _080502E0 @ =gFadeControl
|
||||
ldrh r0, [r4, #0x10]
|
||||
ldrh r1, [r4, #0xa]
|
||||
subs r0, r0, r1
|
||||
strh r0, [r4, #0x10]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bgt _080502C4
|
||||
movs r0, #0
|
||||
strh r0, [r4, #0x10]
|
||||
_080502C4:
|
||||
movs r1, #0x12
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x14
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r3, #0x10
|
||||
ldrsh r2, [r4, r3]
|
||||
bl sub_0801E1EC
|
||||
movs r1, #0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, #0
|
||||
bne _08050314
|
||||
movs r0, #0
|
||||
b _08050316
|
||||
.align 2, 0
|
||||
_080502E0: .4byte gFadeControl
|
||||
_080502E4:
|
||||
ldr r4, _08050310 @ =gFadeControl
|
||||
ldrh r0, [r4, #0xa]
|
||||
ldrh r2, [r4, #0x10]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r4, #0x10]
|
||||
movs r3, #0x12
|
||||
ldrsh r0, [r4, r3]
|
||||
movs r2, #0x14
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r3, #0x10
|
||||
ldrsh r2, [r4, r3]
|
||||
bl sub_0801E1EC
|
||||
movs r1, #0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, #0x96
|
||||
ble _08050314
|
||||
bl sub_0801E104
|
||||
movs r0, #0
|
||||
b _08050316
|
||||
.align 2, 0
|
||||
_08050310: .4byte gFadeControl
|
||||
_08050314:
|
||||
movs r0, #1
|
||||
_08050316:
|
||||
pop {r4, pc}
|
||||
+48
-2009
File diff suppressed because it is too large
Load Diff
+12
-12
@@ -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,16 +129,16 @@ 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 sub_08052D58
|
||||
bl GetFlagBankOffset
|
||||
ldr r1, _080549B8 @ =gArea
|
||||
strh r0, [r1, #4]
|
||||
cmp r5, #0
|
||||
beq _080549BC
|
||||
ldrb r0, [r6, #2]
|
||||
ldrb r1, [r6, #3]
|
||||
bl sub_08052FD8
|
||||
bl LoadAuxiliaryRoom
|
||||
b _080549CE
|
||||
.align 2, 0
|
||||
_080549B0: .4byte gUnk_080FE320
|
||||
@@ -194,14 +194,14 @@ sub_08054A14: @ 0x08054A14
|
||||
ldrb r0, [r2, #0x11]
|
||||
cmp r0, #0xd
|
||||
bhi _08054A34
|
||||
ldr r1, _08054A3C @ =gUnk_0811E454
|
||||
ldr r1, _08054A3C @ =gLocalFlagBanks
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r2, #0x12]
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
_08054A34:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08054A38: .4byte gUnk_080FE320
|
||||
_08054A3C: .4byte gUnk_0811E454
|
||||
_08054A3C: .4byte gLocalFlagBanks
|
||||
|
||||
+42
-42
@@ -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]
|
||||
@@ -446,7 +446,7 @@ sub_08054EFC: @ 0x08054EFC
|
||||
subs r0, #0x10
|
||||
strh r0, [r1, #0x32]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806FAD8
|
||||
bl ResolveEntityBelow
|
||||
_08054F54:
|
||||
movs r0, #0xfd
|
||||
bl SoundReq
|
||||
@@ -526,12 +526,12 @@ _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
|
||||
movs r1, #0x77
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
beq _08055004
|
||||
ldrb r0, [r5, #2]
|
||||
@@ -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
|
||||
@@ -1288,13 +1288,13 @@ sub_080555B8: @ 0x080555B8
|
||||
push {r4, r5, lr}
|
||||
ldr r5, _08055600 @ =gMenu
|
||||
ldr r4, [r5, #0xc]
|
||||
ldr r1, _08055604 @ =gUnk_0811E454
|
||||
ldr r1, _08055604 @ =gLocalFlagBanks
|
||||
ldrb r0, [r4, #0x11]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r4, #0x12]
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
ldrb r0, [r4, #2]
|
||||
ldrb r1, [r4, #3]
|
||||
bl sub_0804B0E8
|
||||
@@ -1313,11 +1313,11 @@ 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
|
||||
_08055604: .4byte gUnk_0811E454
|
||||
_08055604: .4byte gLocalFlagBanks
|
||||
_08055608: .4byte gUpdateVisibleTiles
|
||||
|
||||
thumb_func_start sub_0805560C
|
||||
@@ -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
@@ -1,36 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0806EC20
|
||||
sub_0806EC20: @ 0x0806EC20
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x58
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateNPC
|
||||
cmp r0, #0
|
||||
beq _0806EC34
|
||||
str r4, [r0, #0x50]
|
||||
_0806EC34:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806EC38
|
||||
sub_0806EC38: @ 0x0806EC38
|
||||
push {lr}
|
||||
movs r0, #7
|
||||
movs r1, #0x58
|
||||
movs r2, #7
|
||||
bl FindEntityByID
|
||||
cmp r0, #0
|
||||
beq _0806EC4C
|
||||
bl DeleteEntity
|
||||
_0806EC4C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
-1749
File diff suppressed because it is too large
Load Diff
-4332
File diff suppressed because it is too large
Load Diff
+11
-11
@@ -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
|
||||
@@ -555,10 +555,10 @@ _08078414: .4byte 0x0000012B
|
||||
_08078418:
|
||||
ldr r0, _08078428 @ =0x00000B65
|
||||
movs r1, #0
|
||||
bl sub_08078AA8
|
||||
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
|
||||
@@ -741,13 +741,13 @@ _080785B0:
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080785F0
|
||||
bl sub_08052734
|
||||
bl HasDungeonMap
|
||||
cmp r0, #0
|
||||
beq _080785C4
|
||||
movs r0, #1
|
||||
_080785C4:
|
||||
adds r7, r0, #0
|
||||
bl sub_08052764
|
||||
bl HasDungeonCompass
|
||||
cmp r0, #0
|
||||
beq _080785D2
|
||||
movs r0, #2
|
||||
|
||||
+54
-54
@@ -289,8 +289,8 @@ _08078A88:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08078A90
|
||||
sub_08078A90: @ 0x08078A90
|
||||
thumb_func_start SetPlayerControl
|
||||
SetPlayerControl: @ 0x08078A90
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, _08078AA4 @ =gPlayerState
|
||||
@@ -305,12 +305,12 @@ _08078AA2:
|
||||
.align 2, 0
|
||||
_08078AA4: .4byte gPlayerState
|
||||
|
||||
thumb_func_start sub_08078AA8
|
||||
sub_08078AA8: @ 0x08078AA8
|
||||
thumb_func_start CreateEzloHint
|
||||
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 @@ sub_08078AA8: @ 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}
|
||||
@@ -1966,7 +1966,7 @@ sub_08079708: @ 0x08079708
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0807973E
|
||||
bl FreezeTime
|
||||
bl SetPlayerEventPriority
|
||||
_0807973E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -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]
|
||||
@@ -3204,7 +3204,7 @@ _0807A06A:
|
||||
beq _0807A084
|
||||
strb r1, [r0]
|
||||
ldr r0, _0807A090 @ =gPlayerEntity
|
||||
bl sub_0801D2B4
|
||||
bl ChangeObjPalette
|
||||
_0807A084:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -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
|
||||
@@ -3371,14 +3371,14 @@ sub_0807A180: @ 0x0807A180
|
||||
.align 2, 0
|
||||
_0807A1B4: .4byte 0xFFFC0000
|
||||
|
||||
thumb_func_start sub_0807A1B8
|
||||
sub_0807A1B8: @ 0x0807A1B8
|
||||
thumb_func_start UpdateFloorType
|
||||
UpdateFloorType: @ 0x0807A1B8
|
||||
push {r4, lr}
|
||||
ldr r4, _0807A1DC @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl sub_0807A1E8
|
||||
bl GetSurfaceCalcType
|
||||
ldr r1, _0807A1E0 @ =gPlayerState
|
||||
strb r0, [r1, #0x12]
|
||||
ldr r2, _0807A1E4 @ =gUnk_0811C120
|
||||
@@ -3394,8 +3394,8 @@ _0807A1DC: .4byte gPlayerEntity
|
||||
_0807A1E0: .4byte gPlayerState
|
||||
_0807A1E4: .4byte gUnk_0811C120
|
||||
|
||||
thumb_func_start sub_0807A1E8
|
||||
sub_0807A1E8: @ 0x0807A1E8
|
||||
thumb_func_start GetSurfaceCalcType
|
||||
GetSurfaceCalcType: @ 0x0807A1E8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
@@ -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]
|
||||
|
||||
+12
-12
@@ -456,7 +456,7 @@ sub_0807BD14: @ 0x0807BD14
|
||||
strh r4, [r1]
|
||||
strb r3, [r1, #5]
|
||||
strb r5, [r1, #0x10]
|
||||
bl sub_08052E8C
|
||||
bl GetCurrentRoomInfo
|
||||
adds r2, r0, #0
|
||||
ldr r1, _0807BD6C @ =gArea
|
||||
ldr r3, _0807BD70 @ =0x0000085C
|
||||
@@ -511,7 +511,7 @@ _0807BD98:
|
||||
movs r1, #6
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x11]
|
||||
bl sub_0805E5A8
|
||||
bl SetInitializationPriority
|
||||
movs r0, #1
|
||||
b _0807BDB6
|
||||
.align 2, 0
|
||||
@@ -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
|
||||
|
||||
+5
-5
@@ -65,8 +65,8 @@ _0807CB04: .4byte gSave
|
||||
_0807CB08: .4byte gArea
|
||||
_0807CB0C: .4byte 0x0000047C
|
||||
|
||||
thumb_func_start CheckLocalFlagByOffset
|
||||
CheckLocalFlagByOffset: @ 0x0807CB10
|
||||
thumb_func_start CheckLocalFlagByBank
|
||||
CheckLocalFlagByBank: @ 0x0807CB10
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0807CB20 @ =gGlobalFlags
|
||||
@@ -114,17 +114,17 @@ _0807CB84:
|
||||
movs r1, #0
|
||||
b _0807CBCA
|
||||
_0807CB88:
|
||||
ldr r0, _0807CB9C @ =gUnk_0811E454
|
||||
ldr r0, _0807CB9C @ =gLocalFlagBanks
|
||||
lsls r1, r2, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r3, #0
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
_0807CB96:
|
||||
adds r1, r0, #0
|
||||
b _0807CBCA
|
||||
.align 2, 0
|
||||
_0807CB9C: .4byte gUnk_0811E454
|
||||
_0807CB9C: .4byte gLocalFlagBanks
|
||||
_0807CBA0:
|
||||
adds r0, r3, #0
|
||||
bl GetInventoryValue
|
||||
|
||||
+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,197 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start CreateItemEntity
|
||||
CreateItemEntity: @ 0x080A7C00
|
||||
push {r4, lr}
|
||||
bl GiveItemWithCutscene
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080A7C16
|
||||
ldrb r1, [r4, #0xa]
|
||||
movs r2, #0
|
||||
bl sub_080A276C
|
||||
str r0, [r4, #0x50]
|
||||
_080A7C16:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080A7C18
|
||||
sub_080A7C18: @ 0x080A7C18
|
||||
push {lr}
|
||||
bl GiveItemWithCutscene
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _080A7C32
|
||||
ldr r0, _080A7C34 @ =gPlayerEntity
|
||||
str r0, [r2, #0x50]
|
||||
ldrb r1, [r2, #0xa]
|
||||
adds r0, r2, #0
|
||||
movs r2, #0
|
||||
bl sub_08078AF0
|
||||
_080A7C32:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A7C34: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start GiveItemWithCutscene
|
||||
GiveItemWithCutscene: @ 0x080A7C38
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
adds r7, r2, #0
|
||||
cmp r5, #0x3f
|
||||
bne _080A7C52
|
||||
ldr r0, _080A7C78 @ =gSave
|
||||
adds r0, #0xbb
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080A7C52
|
||||
movs r5, #0x57
|
||||
movs r6, #0
|
||||
_080A7C52:
|
||||
bl sub_0805E744
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080A7C72
|
||||
strb r5, [r4, #0xa]
|
||||
strb r6, [r4, #0xb]
|
||||
strb r7, [r4, #0xe]
|
||||
movs r0, #0xb
|
||||
strb r0, [r4, #9]
|
||||
movs r0, #6
|
||||
strb r0, [r4, #8]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl AppendEntityToList
|
||||
_080A7C72:
|
||||
adds r0, r4, #0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080A7C78: .4byte gSave
|
||||
|
||||
thumb_func_start sub_080A7C7C
|
||||
sub_080A7C7C: @ 0x080A7C7C
|
||||
push {lr}
|
||||
ldr r0, _080A7C88 @ =gUnk_02017660
|
||||
movs r1, #0x40
|
||||
bl MemClear
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080A7C88: .4byte gUnk_02017660
|
||||
|
||||
thumb_func_start sub_080A7C8C
|
||||
sub_080A7C8C: @ 0x080A7C8C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
ldr r4, _080A7C9C @ =gUnk_02017660
|
||||
movs r2, #0
|
||||
movs r1, #0
|
||||
b _080A7CA8
|
||||
.align 2, 0
|
||||
_080A7C9C: .4byte gUnk_02017660
|
||||
_080A7CA0:
|
||||
adds r1, #1
|
||||
adds r4, #8
|
||||
cmp r1, #7
|
||||
bhi _080A7CB0
|
||||
_080A7CA8:
|
||||
ldrh r0, [r4, #4]
|
||||
cmp r0, r5
|
||||
bne _080A7CA0
|
||||
movs r2, #1
|
||||
_080A7CB0:
|
||||
lsrs r1, r6, #1
|
||||
ldrb r0, [r4, #6]
|
||||
lsls r0, r0, #0x1f
|
||||
lsrs r0, r0, #0x1f
|
||||
cmp r1, r0
|
||||
bne _080A7CF4
|
||||
cmp r2, #0
|
||||
beq _080A7CD2
|
||||
ldrb r0, [r4, #1]
|
||||
bl SetLocalFlag
|
||||
ldrb r0, [r4, #2]
|
||||
ldrb r1, [r4, #3]
|
||||
movs r2, #0
|
||||
bl CreateItemEntity
|
||||
b _080A7CDC
|
||||
_080A7CD2:
|
||||
movs r0, #0x60
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateItemEntity
|
||||
_080A7CDC:
|
||||
movs r0, #0x74
|
||||
adds r1, r5, #0
|
||||
adds r2, r6, #0
|
||||
bl sub_0807B7D8
|
||||
movs r0, #0
|
||||
movs r1, #0x78
|
||||
bl sub_0805E4E0
|
||||
ldr r0, _080A7CF8 @ =0x0000011B
|
||||
bl SoundReq
|
||||
_080A7CF4:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080A7CF8: .4byte 0x0000011B
|
||||
|
||||
thumb_func_start sub_080A7CFC
|
||||
sub_080A7CFC: @ 0x080A7CFC
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
movs r4, #0xc0
|
||||
lsls r4, r4, #3
|
||||
movs r6, #0
|
||||
movs r0, #3
|
||||
bl GetCurrentRoomProperty
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080A7D38
|
||||
_080A7D12:
|
||||
ldrh r0, [r1, #4]
|
||||
cmp r0, r5
|
||||
bne _080A7D30
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #5
|
||||
beq _080A7D24
|
||||
cmp r0, #6
|
||||
beq _080A7D2A
|
||||
b _080A7D38
|
||||
_080A7D24:
|
||||
movs r6, #0
|
||||
ldrh r4, [r1, #6]
|
||||
b _080A7D38
|
||||
_080A7D2A:
|
||||
movs r6, #1
|
||||
ldrh r4, [r1, #6]
|
||||
b _080A7D38
|
||||
_080A7D30:
|
||||
adds r1, #8
|
||||
ldrh r0, [r1, #4]
|
||||
cmp r0, #0
|
||||
bne _080A7D12
|
||||
_080A7D38:
|
||||
adds r0, r4, #0
|
||||
adds r1, r6, #0
|
||||
bl sub_080A7D44
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080A7D44
|
||||
sub_080A7D44: @ 0x080A7D44
|
||||
push {lr}
|
||||
cmp r1, #0
|
||||
beq _080A7D52
|
||||
movs r1, #0
|
||||
bl sub_08078AA8
|
||||
b _080A7D56
|
||||
_080A7D52:
|
||||
bl MessageFromTarget
|
||||
_080A7D56:
|
||||
pop {pc}
|
||||
@@ -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
|
||||
-618
@@ -1,618 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Crow
|
||||
Crow: @ 0x080327F4
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r4, _0803280C @ =gUnk_080CE978
|
||||
bl GetNextFunction
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0803280C: .4byte gUnk_080CE978
|
||||
|
||||
thumb_func_start sub_08032810
|
||||
sub_08032810: @ 0x08032810
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _08032840 @ =gUnk_080CE990
|
||||
ldrb r1, [r4, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
beq _0803283C
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0803283C
|
||||
ldrb r0, [r4, #0x10]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
_0803283C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08032840: .4byte gUnk_080CE990
|
||||
|
||||
thumb_func_start sub_08032844
|
||||
sub_08032844: @ 0x08032844
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x41
|
||||
ldrb r1, [r0]
|
||||
movs r2, #0x80
|
||||
adds r0, r2, #0
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080328AE
|
||||
movs r0, #0x3f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08032896
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
movs r3, #0x10
|
||||
strb r3, [r4, #0xf]
|
||||
ldrb r2, [r4, #0x15]
|
||||
adds r0, r2, #4
|
||||
movs r1, #8
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08032886
|
||||
adds r0, r2, #0
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
beq _08032882
|
||||
adds r0, r2, #2
|
||||
b _08032884
|
||||
_08032882:
|
||||
subs r0, r2, #2
|
||||
_08032884:
|
||||
strb r0, [r4, #0x15]
|
||||
_08032886:
|
||||
ldrb r1, [r4, #0x15]
|
||||
movs r0, #0x20
|
||||
subs r0, r0, r1
|
||||
strb r0, [r4, #0x15]
|
||||
adds r0, r4, #0
|
||||
bl sub_08032AF4
|
||||
b _080328AE
|
||||
_08032896:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x3d
|
||||
ldrb r1, [r0]
|
||||
adds r0, r2, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080328AE
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x45
|
||||
strb r0, [r1]
|
||||
_080328AE:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080328B8
|
||||
sub_080328B8: @ 0x080328B8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _080328FC @ =gUnk_080CE9A4
|
||||
ldrb r1, [r4, #0xd]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F520
|
||||
cmp r0, #0
|
||||
bne _080328F8
|
||||
movs r1, #2
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x84
|
||||
strb r1, [r0]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0xe0
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r4, #0x24]
|
||||
adds r0, r4, #0
|
||||
bl sub_08032AF4
|
||||
_080328F8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080328FC: .4byte gUnk_080CE9A4
|
||||
|
||||
thumb_func_start sub_08032900
|
||||
sub_08032900: @ 0x08032900
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xd]
|
||||
movs r1, #0x3c
|
||||
strb r1, [r0, #0x1d]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803290C
|
||||
sub_0803290C: @ 0x0803290C
|
||||
push {lr}
|
||||
bl sub_0806F4E8
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08032914
|
||||
sub_08032914: @ 0x08032914
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F3E4
|
||||
cmp r0, #0
|
||||
beq _08032926
|
||||
adds r0, r4, #0
|
||||
bl sub_0804A7D4
|
||||
_08032926:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08032928
|
||||
sub_08032928: @ 0x08032928
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
bl sub_0804A720
|
||||
movs r4, #0
|
||||
movs r5, #1
|
||||
strb r5, [r6, #0xc]
|
||||
strb r4, [r6, #0xf]
|
||||
adds r0, r6, #0
|
||||
movs r1, #1
|
||||
bl sub_08049F84
|
||||
strb r0, [r6, #0x15]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x80
|
||||
strb r4, [r0]
|
||||
adds r0, #1
|
||||
strb r4, [r0]
|
||||
strb r5, [r6, #0x1c]
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x3c
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x10
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #3
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r6, #0x1b]
|
||||
movs r0, #0x3f
|
||||
ands r0, r1
|
||||
movs r1, #0x40
|
||||
orrs r0, r1
|
||||
strb r0, [r6, #0x1b]
|
||||
ldrh r1, [r6, #0x2e]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x78
|
||||
strh r1, [r0]
|
||||
ldrh r0, [r6, #0x32]
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x7a
|
||||
strh r0, [r1]
|
||||
adds r0, r6, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
adds r0, r6, #0
|
||||
bl sub_08032AF4
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_0803298C
|
||||
sub_0803298C: @ 0x0803298C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08032AB0
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
movs r0, #1
|
||||
bl sub_08049DF4
|
||||
cmp r0, #0
|
||||
beq _080329E2
|
||||
ldr r5, _080329E4 @ =gUnk_020000B0
|
||||
ldr r1, [r5]
|
||||
adds r0, r4, #0
|
||||
movs r2, #0x88
|
||||
movs r3, #0x50
|
||||
bl sub_080041A0
|
||||
cmp r0, #0
|
||||
beq _080329E2
|
||||
ldr r0, [r5]
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r4, r2]
|
||||
adds r0, #8
|
||||
cmp r1, r0
|
||||
ble _080329E2
|
||||
movs r1, #0
|
||||
movs r2, #2
|
||||
strb r2, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x84
|
||||
strb r1, [r0]
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x81
|
||||
strb r2, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_08032AF4
|
||||
_080329E2:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080329E4: .4byte gUnk_020000B0
|
||||
|
||||
thumb_func_start sub_080329E8
|
||||
sub_080329E8: @ 0x080329E8
|
||||
push {lr}
|
||||
bl sub_08032B38
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080329F0
|
||||
sub_080329F0: @ 0x080329F0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080040A8
|
||||
cmp r0, #0
|
||||
bne _08032A3A
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #8
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x78
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r4, #0x2e]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7a
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r4, #0x32]
|
||||
ldrh r0, [r4, #0x36]
|
||||
adds r0, #8
|
||||
strh r0, [r4, #0x36]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
b _08032A46
|
||||
_08032A3A:
|
||||
adds r0, r4, #0
|
||||
bl sub_08032B10
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_08032A46:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08032A48
|
||||
sub_08032A48: @ 0x08032A48
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080040A8
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bne _08032AAE
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_08049F84
|
||||
strb r0, [r4, #0x15]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x80
|
||||
strb r5, [r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #0x18
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x81
|
||||
strb r5, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #3
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
adds r0, r4, #0
|
||||
bl sub_08032AF4
|
||||
_08032AAE:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_08032AB0
|
||||
sub_08032AB0: @ 0x08032AB0
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08032AF0
|
||||
ldrb r0, [r4, #0x15]
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x80
|
||||
strb r0, [r5]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_08049F84
|
||||
cmp r0, #0xff
|
||||
beq _08032AD6
|
||||
strb r0, [r4, #0x15]
|
||||
_08032AD6:
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r2, [r5]
|
||||
movs r0, #0x10
|
||||
adds r1, r0, #0
|
||||
ands r1, r2
|
||||
ldrb r2, [r4, #0x15]
|
||||
ands r0, r2
|
||||
cmp r1, r0
|
||||
beq _08032AF0
|
||||
adds r0, r4, #0
|
||||
bl sub_08032AF4
|
||||
_08032AF0:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08032AF4
|
||||
sub_08032AF4: @ 0x08032AF4
|
||||
push {lr}
|
||||
ldrb r2, [r0, #0x15]
|
||||
movs r1, #0x10
|
||||
ands r1, r2
|
||||
lsls r1, r1, #0x18
|
||||
lsrs r1, r1, #0x1c
|
||||
adds r2, r0, #0
|
||||
adds r2, #0x81
|
||||
ldrb r2, [r2]
|
||||
adds r1, r1, r2
|
||||
bl InitializeAnimation
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08032B10
|
||||
sub_08032B10: @ 0x08032B10
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F69C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #3
|
||||
strb r0, [r1]
|
||||
ldrb r2, [r4, #0x1b]
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
movs r2, #0x40
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x1b]
|
||||
ldrb r0, [r4, #0x19]
|
||||
ands r1, r0
|
||||
orrs r1, r2
|
||||
strb r1, [r4, #0x19]
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08032B38
|
||||
sub_08032B38: @ 0x08032B38
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x84
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #1
|
||||
beq _08032B88
|
||||
cmp r0, #1
|
||||
bgt _08032B50
|
||||
cmp r0, #0
|
||||
beq _08032B56
|
||||
b _08032C6A
|
||||
_08032B50:
|
||||
cmp r0, #2
|
||||
beq _08032BB2
|
||||
b _08032C6A
|
||||
_08032B56:
|
||||
ldrb r1, [r5, #0xe]
|
||||
movs r3, #1
|
||||
adds r0, r3, #0
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08032B68
|
||||
ldrh r0, [r5, #0x36]
|
||||
subs r0, #1
|
||||
strh r0, [r5, #0x36]
|
||||
_08032B68:
|
||||
subs r0, r1, #1
|
||||
strb r0, [r5, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08032C6A
|
||||
strb r3, [r2]
|
||||
movs r0, #0x18
|
||||
strb r0, [r5, #0xe]
|
||||
ldrb r0, [r5, #0x10]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r5, #0x10]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x81
|
||||
movs r0, #2
|
||||
b _08032BA8
|
||||
_08032B88:
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08032C6A
|
||||
movs r0, #2
|
||||
strb r0, [r2]
|
||||
movs r0, #8
|
||||
strb r0, [r5, #0xe]
|
||||
movs r0, #0xe0
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r5, #0x24]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x81
|
||||
movs r0, #4
|
||||
_08032BA8:
|
||||
strb r0, [r1]
|
||||
adds r0, r5, #0
|
||||
bl sub_08032AF4
|
||||
b _08032C6A
|
||||
_08032BB2:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x82
|
||||
ldrh r0, [r1]
|
||||
subs r0, #1
|
||||
movs r3, #0
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
adds r6, r1, #0
|
||||
cmp r0, #0
|
||||
bne _08032BF4
|
||||
movs r0, #3
|
||||
strb r0, [r5, #0xc]
|
||||
strb r3, [r2]
|
||||
strb r3, [r5, #0xe]
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r5, #0x24]
|
||||
ldrb r2, [r5, #0x15]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x18
|
||||
movs r1, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08032BEC
|
||||
movs r0, #0x10
|
||||
subs r0, r0, r2
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
strb r0, [r5, #0x15]
|
||||
_08032BEC:
|
||||
adds r0, r5, #0
|
||||
bl sub_08032AF4
|
||||
b _08032C64
|
||||
_08032BF4:
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08032C64
|
||||
movs r0, #8
|
||||
strb r0, [r5, #0xe]
|
||||
ldrb r0, [r5, #0x15]
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x80
|
||||
strb r0, [r4]
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
bl sub_08049F84
|
||||
adds r1, r0, #0
|
||||
adds r0, r5, #0
|
||||
bl sub_08004596
|
||||
ldrb r3, [r5, #0x15]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x18
|
||||
movs r1, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08032C46
|
||||
ldrb r0, [r4]
|
||||
cmp r0, #0x10
|
||||
bne _08032C3E
|
||||
ands r3, r0
|
||||
cmp r3, #0
|
||||
beq _08032C3A
|
||||
movs r0, #0x12
|
||||
b _08032C3C
|
||||
_08032C3A:
|
||||
movs r0, #0xe
|
||||
_08032C3C:
|
||||
strb r0, [r4]
|
||||
_08032C3E:
|
||||
ldrb r0, [r4]
|
||||
strb r0, [r5, #0x15]
|
||||
movs r0, #1
|
||||
strh r0, [r6]
|
||||
_08032C46:
|
||||
ldrb r2, [r4]
|
||||
movs r0, #0x10
|
||||
adds r1, r0, #0
|
||||
ands r1, r2
|
||||
lsls r1, r1, #0x18
|
||||
ldrb r2, [r5, #0x15]
|
||||
ands r0, r2
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r2, r0, #0x1c
|
||||
cmp r1, r0
|
||||
beq _08032C64
|
||||
adds r1, r2, #4
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_08032C64:
|
||||
adds r0, r5, #0
|
||||
bl sub_08032B10
|
||||
_08032C6A:
|
||||
adds r0, r5, #0
|
||||
bl GetNextFrame
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
-156
@@ -1,156 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Curtain
|
||||
Curtain: @ 0x080481C0
|
||||
push {lr}
|
||||
ldr r1, _080481CC @ =gUnk_080D1CC8
|
||||
bl EnemyFunctionHandler
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080481CC: .4byte gUnk_080D1CC8
|
||||
|
||||
thumb_func_start sub_080481D0
|
||||
sub_080481D0: @ 0x080481D0
|
||||
push {lr}
|
||||
ldr r2, _080481E4 @ =gUnk_080D1CE0
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080481E4: .4byte gUnk_080D1CE0
|
||||
|
||||
thumb_func_start sub_080481E8
|
||||
sub_080481E8: @ 0x080481E8
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
adds r0, #0x46
|
||||
ldrh r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08048210
|
||||
movs r0, #2
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r2, #0x10]
|
||||
adds r3, r2, #0
|
||||
adds r3, #0x29
|
||||
ldrb r0, [r3]
|
||||
movs r1, #7
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
movs r0, #3
|
||||
b _08048212
|
||||
_08048210:
|
||||
movs r0, #2
|
||||
_08048212:
|
||||
strb r0, [r2, #0xe]
|
||||
ldrb r1, [r2, #0xe]
|
||||
adds r0, r2, #0
|
||||
bl InitializeAnimation
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start nullsub_26
|
||||
nullsub_26: @ 0x08048220
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08048224
|
||||
sub_08048224: @ 0x08048224
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r0, [r2]
|
||||
movs r1, #8
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r0
|
||||
movs r0, #4
|
||||
orrs r1, r0
|
||||
strb r1, [r2]
|
||||
movs r0, #0x72
|
||||
bl CheckLocalFlag
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bne _0804824E
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
b _0804825E
|
||||
_0804824E:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
_0804825E:
|
||||
ldrb r1, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08048268
|
||||
sub_08048268: @ 0x08048268
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
beq _08048292
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08048292
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
_08048292:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08048294
|
||||
sub_08048294: @ 0x08048294
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080482BC
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x72
|
||||
bl SetLocalFlag
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl InitializeAnimation
|
||||
_080482BC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start nullsub_27
|
||||
nullsub_27: @ 0x080482C0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
@@ -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
|
||||
|
||||
@@ -1443,8 +1445,8 @@ _080028EE:
|
||||
_080028F2:
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_080028F4
|
||||
sub_080028F4: @ 0x080028F4
|
||||
thumb_func_start GetRandomByWeight
|
||||
GetRandomByWeight: @ 0x080028F4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl Random
|
||||
@@ -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
|
||||
@@ -88,7 +88,7 @@ _08045C16:
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_08045C2C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -142,14 +142,14 @@ sub_08045C3C: @ 0x08045C3C
|
||||
bl sub_08046030
|
||||
adds r0, r4, #0
|
||||
bl sub_08095C48
|
||||
ldr r1, _08045CA0 @ =script_08015AC4
|
||||
ldr r1, _08045CA0 @ =script_BusinessScrubIntro
|
||||
adds r0, r4, #0
|
||||
bl StartCutscene
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08045CA0: .4byte script_08015AC4
|
||||
_08045CA0: .4byte script_BusinessScrubIntro
|
||||
|
||||
thumb_func_start sub_08045CA4
|
||||
sub_08045CA4: @ 0x08045CA4
|
||||
@@ -419,7 +419,7 @@ _08045E70:
|
||||
strh r0, [r2, #0x36]
|
||||
adds r0, r2, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_08045EBA:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
@@ -517,7 +517,7 @@ sub_08045F54: @ 0x08045F54
|
||||
adds r1, r4, #0
|
||||
movs r2, #0x20
|
||||
movs r3, #0x20
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
bne _08045F90
|
||||
cmp r5, #2
|
||||
@@ -530,7 +530,7 @@ _08045F82:
|
||||
adds r0, r6, #0
|
||||
adds r1, r4, #0
|
||||
adds r2, r3, #0
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
bne _08045F94
|
||||
_08045F90:
|
||||
@@ -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
|
||||
@@ -383,7 +383,7 @@ sub_080386B8: @ 0x080386B8
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x70
|
||||
bl sub_0801D2B4
|
||||
bl ChangeObjPalette
|
||||
ldrb r1, [r4, #0x15]
|
||||
lsrs r1, r1, #2
|
||||
adds r0, r4, #0
|
||||
@@ -470,7 +470,7 @@ sub_08038754: @ 0x08038754
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x71
|
||||
bl sub_0801D2B4
|
||||
bl ChangeObjPalette
|
||||
ldrb r2, [r4, #0x15]
|
||||
movs r0, #0xf
|
||||
ands r0, r2
|
||||
@@ -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
|
||||
@@ -48,16 +48,16 @@ sub_08030118: @ 0x08030118
|
||||
lsls r0, r0, #2
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x67
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
b _0803014C
|
||||
.align 2, 0
|
||||
_0803013C: .4byte gScreenTransition
|
||||
_0803013C: .4byte gRoomTransition
|
||||
_08030140:
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #2
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x67
|
||||
bl ClearLocalFlagByOffset
|
||||
bl ClearLocalFlagByBank
|
||||
_0803014C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -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
|
||||
@@ -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]
|
||||
@@ -558,7 +558,7 @@ sub_0803EFAC: @ 0x0803EFAC
|
||||
adds r4, r1, #0
|
||||
movs r2, #0x50
|
||||
movs r3, #0x50
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
beq _0803EFD6
|
||||
adds r0, r4, #0
|
||||
@@ -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
|
||||
@@ -907,7 +907,7 @@ _08041184:
|
||||
adds r0, r4, #0
|
||||
movs r2, #0x70
|
||||
movs r3, #0x48
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
beq _080411C8
|
||||
_080411B6:
|
||||
@@ -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
|
||||
@@ -887,7 +887,7 @@ sub_080496EC: @ 0x080496EC
|
||||
cmp r0, #0
|
||||
bne _08049720
|
||||
movs r0, #2
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x1e
|
||||
@@ -916,7 +916,7 @@ sub_0804972C: @ 0x0804972C
|
||||
cmp r0, #0
|
||||
bne _08049750
|
||||
movs r0, #2
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #1
|
||||
@@ -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
|
||||
@@ -1098,7 +1098,7 @@ sub_08049888: @ 0x08049888
|
||||
movs r0, #0x7c
|
||||
bl SetFlag
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
_080498AE:
|
||||
pop {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
|
||||
@@ -824,7 +824,7 @@ _0803F5E8:
|
||||
adds r0, r4, #0
|
||||
movs r2, #0x70
|
||||
movs r3, #0x48
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
beq _0803F62C
|
||||
_0803F61A:
|
||||
@@ -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
|
||||
@@ -1266,7 +1266,7 @@ _0802D924:
|
||||
adds r0, r4, #0
|
||||
movs r2, #8
|
||||
movs r3, #8
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
bne _0802D936
|
||||
b _0802DB7E
|
||||
@@ -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
|
||||
@@ -3749,7 +3749,7 @@ sub_0802EB9C: @ 0x0802EB9C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, _0802EBBC @ =gUnk_080CD850
|
||||
bl sub_080028F4
|
||||
bl GetRandomByWeight
|
||||
ldr r1, _0802EBC0 @ =gUnk_080CD854
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
@@ -3782,7 +3782,7 @@ sub_0802EBC4: @ 0x0802EBC4
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl sub_080028F4
|
||||
bl GetRandomByWeight
|
||||
ldr r2, _0802EC1C @ =gUnk_080CD878
|
||||
ldrb r1, [r5]
|
||||
lsls r1, r1, #2
|
||||
@@ -978,7 +978,7 @@ sub_08033364: @ 0x08033364
|
||||
_0803337E:
|
||||
adds r0, r4, #0
|
||||
adds r2, r3, #0
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
beq _080333B4
|
||||
ldrb r0, [r4, #0xa]
|
||||
@@ -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
|
||||
@@ -238,11 +238,11 @@ _0802FCDE:
|
||||
adds r0, r4, #0
|
||||
movs r2, #0xa0
|
||||
movs r3, #0xa0
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
beq _0802FDCA
|
||||
adds r0, r4, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
beq _0802FDCA
|
||||
adds r0, r4, #0
|
||||
@@ -265,11 +265,11 @@ _0802FFB6:
|
||||
adds r0, r4, #0
|
||||
movs r2, #0xa0
|
||||
movs r3, #0xa0
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
cmp r0, #0
|
||||
beq _080300A2
|
||||
adds r0, r4, #0
|
||||
bl sub_080040A8
|
||||
bl CheckOnScreen
|
||||
cmp r0, #0
|
||||
beq _080300A2
|
||||
adds r0, r4, #0
|
||||
@@ -290,11 +290,11 @@ _0802F6B6:
|
||||
adds r0, r4, #0
|
||||
movs r2, #0xa0
|
||||
movs r3, #0xa0
|
||||
bl sub_080041A0
|
||||
bl EntityInRectRadius
|
||||
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
|
||||
@@ -203,7 +203,7 @@ _0804A864:
|
||||
strb r0, [r5, #0xe]
|
||||
adds r0, r5, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r1, [r5, #9]
|
||||
movs r0, #1
|
||||
movs r2, #0
|
||||
@@ -299,7 +299,7 @@ _0804A940:
|
||||
strb r0, [r5, #0x18]
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
b _0804A982
|
||||
_0804A95E:
|
||||
lsls r0, r1, #0x18
|
||||
@@ -58,14 +58,14 @@ _0804ABA4:
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl LoadRoomEntityList
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
ldr r1, _0804AC04 @ =gArea
|
||||
ldrb r0, [r1, #0xe]
|
||||
adds r0, #1
|
||||
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,15 +187,15 @@ _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
|
||||
beq _0804AD12
|
||||
ldr r0, _0804AD14 @ =gRoomControls
|
||||
bl sub_0804AD6C
|
||||
bl sub_0805E5A8
|
||||
bl SetInitializationPriority
|
||||
movs r0, #0xf8
|
||||
bl SoundReq
|
||||
_0804AD12:
|
||||
@@ -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
-176
@@ -1,176 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Fireplace
|
||||
Fireplace: @ 0x0809B6F0
|
||||
push {lr}
|
||||
ldr r2, _0809B704 @ =gUnk_08123D98
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809B704: .4byte gUnk_08123D98
|
||||
|
||||
thumb_func_start sub_0809B708
|
||||
sub_0809B708: @ 0x0809B708
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r6, #0xc]
|
||||
ldrb r1, [r6, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r6, #0x18]
|
||||
movs r0, #0x80
|
||||
strh r0, [r6, #0x24]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _0809B73A
|
||||
adds r0, r6, #0
|
||||
bl sub_0809B7DC
|
||||
bl DeleteThisEntity
|
||||
b _0809B78A
|
||||
_0809B73A:
|
||||
ldr r0, _0809B794 @ =0x0000030B
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r6, r2]
|
||||
ldr r5, _0809B798 @ =gRoomControls
|
||||
ldrh r2, [r5, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r3, #0x32
|
||||
ldrsh r2, [r6, r3]
|
||||
ldrh r3, [r5, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
movs r2, #2
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _0809B79C @ =0x00004061
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r6, r2]
|
||||
ldrh r2, [r5, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
ands r1, r4
|
||||
movs r3, #0x32
|
||||
ldrsh r2, [r6, r3]
|
||||
ldrh r3, [r5, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
_0809B78A:
|
||||
adds r0, r6, #0
|
||||
bl sub_0809B7A0
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0809B794: .4byte 0x0000030B
|
||||
_0809B798: .4byte gRoomControls
|
||||
_0809B79C: .4byte 0x00004061
|
||||
|
||||
thumb_func_start sub_0809B7A0
|
||||
sub_0809B7A0: @ 0x0809B7A0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0809B7C0
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
beq _0809B7BC
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x86
|
||||
ldrh r0, [r0]
|
||||
bl SetFlag
|
||||
bl DeleteThisEntity
|
||||
_0809B7BC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0809B7C0
|
||||
sub_0809B7C0: @ 0x0809B7C0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetTileTypeByEntity
|
||||
ldr r1, _0809B7D8 @ =0xFFFFBF9F
|
||||
adds r0, r0, r1
|
||||
cmp r0, #1
|
||||
bls _0809B7D6
|
||||
adds r0, r4, #0
|
||||
bl sub_0809B7DC
|
||||
_0809B7D6:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0809B7D8: .4byte 0xFFFFBF9F
|
||||
|
||||
thumb_func_start sub_0809B7DC
|
||||
sub_0809B7DC: @ 0x0809B7DC
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
movs r0, #0xc3
|
||||
lsls r0, r0, #2
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r6, r2]
|
||||
ldr r5, _0809B838 @ =gRoomControls
|
||||
ldrh r2, [r5, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r3, #0x32
|
||||
ldrsh r2, [r6, r3]
|
||||
ldrh r3, [r5, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
movs r2, #2
|
||||
bl sub_0807B7D8
|
||||
ldr r0, _0809B83C @ =0x00004062
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r6, r2]
|
||||
ldrh r2, [r5, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
ands r1, r4
|
||||
movs r3, #0x32
|
||||
ldrsh r2, [r6, r3]
|
||||
ldrh r3, [r5, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
movs r0, #1
|
||||
strb r0, [r6, #0xe]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0809B838: .4byte gRoomControls
|
||||
_0809B83C: .4byte 0x00004062
|
||||
@@ -1,760 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start FlyingSkull
|
||||
FlyingSkull: @ 0x08039BA0
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_080012DC
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _08039BC4
|
||||
ldr r0, _08039BC0 @ =gUnk_080012C8
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
b _08039BD8
|
||||
.align 2, 0
|
||||
_08039BC0: .4byte gUnk_080012C8
|
||||
_08039BC4:
|
||||
ldr r4, _08039BDC @ =gUnk_080CFB84
|
||||
adds r0, r5, #0
|
||||
bl GetNextFunction
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
_08039BD8:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08039BDC: .4byte gUnk_080CFB84
|
||||
|
||||
thumb_func_start sub_08039BE0
|
||||
sub_08039BE0: @ 0x08039BE0
|
||||
push {lr}
|
||||
ldr r2, _08039BF4 @ =gUnk_080CFB9C
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08039BF4: .4byte gUnk_080CFB9C
|
||||
|
||||
thumb_func_start sub_08039BF8
|
||||
sub_08039BF8: @ 0x08039BF8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_0803A100
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x41
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x9d
|
||||
bne _08039C64
|
||||
movs r0, #7
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r5, #0x10]
|
||||
movs r0, #0xa8
|
||||
lsls r0, r0, #0xa
|
||||
str r0, [r5, #0x20]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _08039C60 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
b _08039C72
|
||||
.align 2, 0
|
||||
_08039C60: .4byte gRoomControls
|
||||
_08039C64:
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r5, r1]
|
||||
cmp r0, #0
|
||||
beq _08039C72
|
||||
adds r0, r5, #0
|
||||
bl sub_0803A0E0
|
||||
_08039C72:
|
||||
ldr r1, _08039C7C @ =gUnk_080CFB84
|
||||
adds r0, r5, #0
|
||||
bl sub_0804AA30
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08039C7C: .4byte gUnk_080CFB84
|
||||
|
||||
thumb_func_start sub_08039C80
|
||||
sub_08039C80: @ 0x08039C80
|
||||
push {lr}
|
||||
ldr r2, _08039C94 @ =gUnk_080CFBBC
|
||||
ldrb r1, [r0, #0xd]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08039C94: .4byte gUnk_080CFBBC
|
||||
|
||||
thumb_func_start sub_08039C98
|
||||
sub_08039C98: @ 0x08039C98
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0803A100
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
strb r1, [r4, #0xe]
|
||||
movs r0, #0x30
|
||||
strb r0, [r4, #0x1d]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08039CB0
|
||||
sub_08039CB0: @ 0x08039CB0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0803A100
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F520
|
||||
cmp r0, #0
|
||||
beq _08039CCA
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F4E8
|
||||
b _08039CDE
|
||||
_08039CCA:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x62
|
||||
strb r0, [r1]
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, #0
|
||||
beq _08039CDE
|
||||
adds r0, r4, #0
|
||||
bl sub_0803A0E0
|
||||
_08039CDE:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08039CE0
|
||||
sub_08039CE0: @ 0x08039CE0
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xe]
|
||||
cmp r4, #0
|
||||
bne _08039D2A
|
||||
bl sub_0803A100
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
ldr r0, _08039D3C @ =0x0000FFFF
|
||||
strh r0, [r5, #0x36]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x62
|
||||
strb r4, [r0]
|
||||
adds r0, #0x12
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _08039D40 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
_08039D2A:
|
||||
adds r0, r5, #0
|
||||
bl sub_0806F520
|
||||
cmp r0, #0
|
||||
beq _08039D44
|
||||
adds r0, r5, #0
|
||||
bl sub_0806F3E4
|
||||
b _08039D4A
|
||||
.align 2, 0
|
||||
_08039D3C: .4byte 0x0000FFFF
|
||||
_08039D40: .4byte gRoomControls
|
||||
_08039D44:
|
||||
adds r0, r5, #0
|
||||
bl sub_0803A0E0
|
||||
_08039D4A:
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_08039D4C
|
||||
sub_08039D4C: @ 0x08039D4C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _08039D64 @ =gPlayerState
|
||||
ldrb r1, [r0, #0x1c]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08039D62
|
||||
adds r0, r2, #0
|
||||
bl sub_0803A0E0
|
||||
_08039D62:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08039D64: .4byte gPlayerState
|
||||
|
||||
thumb_func_start nullsub_166
|
||||
nullsub_166: @ 0x08039D68
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08039D6C
|
||||
sub_08039D6C: @ 0x08039D6C
|
||||
push {lr}
|
||||
bl sub_0803A0E0
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08039D74
|
||||
sub_08039D74: @ 0x08039D74
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
movs r0, #2
|
||||
strb r0, [r5, #0x1c]
|
||||
strb r1, [r5, #0x16]
|
||||
ldrh r0, [r5, #0x32]
|
||||
adds r0, #3
|
||||
strh r0, [r5, #0x32]
|
||||
movs r0, #0x2e
|
||||
ldrsh r4, [r5, r0]
|
||||
ldr r1, _08039DD0 @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
subs r4, r4, r0
|
||||
asrs r4, r4, #4
|
||||
movs r2, #0x3f
|
||||
ands r4, r2
|
||||
movs r3, #0x32
|
||||
ldrsh r0, [r5, r3]
|
||||
ldrh r1, [r1, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r4, r0
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x38
|
||||
ldrb r1, [r6]
|
||||
adds r0, r4, #0
|
||||
bl sub_080001DA
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x74
|
||||
strh r0, [r1]
|
||||
ldr r0, _08039DD4 @ =0x00004060
|
||||
ldrb r2, [r6]
|
||||
adds r1, r4, #0
|
||||
bl SetTile
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08039DD0: .4byte gRoomControls
|
||||
_08039DD4: .4byte 0x00004060
|
||||
|
||||
thumb_func_start sub_08039DD8
|
||||
sub_08039DD8: @ 0x08039DD8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_0803A100
|
||||
ldrb r0, [r5, #0xa]
|
||||
cmp r0, #0
|
||||
bne _08039E38
|
||||
adds r0, r5, #0
|
||||
bl GetTileTypeByEntity
|
||||
ldr r1, _08039E30 @ =0x00004073
|
||||
cmp r0, r1
|
||||
bne _08039E28
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _08039E34 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
adds r0, r5, #0
|
||||
bl sub_0803A0E0
|
||||
_08039E28:
|
||||
adds r0, r5, #0
|
||||
bl sub_08078930
|
||||
b _08039EC6
|
||||
.align 2, 0
|
||||
_08039E30: .4byte 0x00004073
|
||||
_08039E34: .4byte gRoomControls
|
||||
_08039E38:
|
||||
ldr r0, _08039E6C @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08039EC6
|
||||
ldr r2, _08039E70 @ =gPlayerEntity
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r2, r0]
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r2, r6]
|
||||
adds r0, r5, #0
|
||||
movs r3, #0x30
|
||||
bl sub_0806FCB8
|
||||
cmp r0, #0
|
||||
beq _08039EC6
|
||||
ldrb r0, [r5, #0xa]
|
||||
cmp r0, #1
|
||||
bne _08039E74
|
||||
movs r0, #3
|
||||
strb r0, [r5, #0xc]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r5, #0xe]
|
||||
b _08039EC6
|
||||
.align 2, 0
|
||||
_08039E6C: .4byte gPlayerState
|
||||
_08039E70: .4byte gPlayerEntity
|
||||
_08039E74:
|
||||
ldrb r1, [r5, #0xa]
|
||||
subs r1, #2
|
||||
movs r0, #0x42
|
||||
bl CreateEnemy
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _08039EC6
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0xb]
|
||||
adds r0, r5, #0
|
||||
adds r1, r2, #0
|
||||
bl CopyPosition
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _08039EC8 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
adds r0, r5, #0
|
||||
bl DeleteEntity
|
||||
_08039EC6:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08039EC8: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_08039ECC
|
||||
sub_08039ECC: @ 0x08039ECC
|
||||
push {lr}
|
||||
ldr r2, _08039EE0 @ =gUnk_080CFBD4
|
||||
ldrb r1, [r0, #0xd]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08039EE0: .4byte gUnk_080CFBD4
|
||||
|
||||
thumb_func_start sub_08039EE4
|
||||
sub_08039EE4: @ 0x08039EE4
|
||||
push {r4, r5, r6, lr}
|
||||
mov ip, r0
|
||||
movs r2, #0
|
||||
movs r0, #1
|
||||
mov r1, ip
|
||||
strb r0, [r1, #0xd]
|
||||
ldrb r1, [r1, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
mov r3, ip
|
||||
strb r0, [r3, #0x10]
|
||||
strh r2, [r3, #0x2a]
|
||||
ldr r0, _08039F40 @ =gUnk_080FD340
|
||||
str r0, [r3, #0x48]
|
||||
ldr r0, _08039F44 @ =gPlayerEntity
|
||||
ldrb r0, [r0, #0x14]
|
||||
mov r1, ip
|
||||
adds r1, #0x76
|
||||
strb r0, [r1]
|
||||
mov r0, ip
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
movs r5, #0x2e
|
||||
ldrsh r1, [r3, r5]
|
||||
ldr r3, _08039F48 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
mov r6, ip
|
||||
movs r5, #0x32
|
||||
ldrsh r2, [r6, r5]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
mov r2, ip
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08039F40: .4byte gUnk_080FD340
|
||||
_08039F44: .4byte gPlayerEntity
|
||||
_08039F48: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_08039F4C
|
||||
sub_08039F4C: @ 0x08039F4C
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldr r0, _08039F74 @ =gPlayerEntity
|
||||
movs r1, #0x76
|
||||
adds r1, r1, r3
|
||||
mov ip, r1
|
||||
ldrb r2, [r0, #0x14]
|
||||
ldrb r0, [r1]
|
||||
cmp r2, r0
|
||||
beq _08039F70
|
||||
subs r0, r2, r0
|
||||
ldrb r1, [r3, #0x1e]
|
||||
adds r0, r0, r1
|
||||
movs r1, #6
|
||||
ands r0, r1
|
||||
strb r0, [r3, #0x1e]
|
||||
mov r0, ip
|
||||
strb r2, [r0]
|
||||
_08039F70:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08039F74: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_08039F78
|
||||
sub_08039F78: @ 0x08039F78
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
adds r3, r2, #0
|
||||
adds r3, #0x29
|
||||
ldrb r1, [r3]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r2, r1]
|
||||
cmp r0, #0
|
||||
beq _08039F9C
|
||||
ldrh r0, [r2, #0x2a]
|
||||
cmp r0, #0
|
||||
beq _08039FA2
|
||||
_08039F9C:
|
||||
adds r0, r2, #0
|
||||
bl sub_0803A0E0
|
||||
_08039FA2:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08039FA4
|
||||
sub_08039FA4: @ 0x08039FA4
|
||||
push {lr}
|
||||
bl sub_0803A0E0
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08039FAC
|
||||
sub_08039FAC: @ 0x08039FAC
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_0803A100
|
||||
adds r3, r5, #0
|
||||
adds r3, #0x62
|
||||
ldr r2, _0803A03C @ =gUnk_080CFBE4
|
||||
ldrb r1, [r5, #0xe]
|
||||
movs r0, #3
|
||||
ands r0, r1
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
ldrb r1, [r3]
|
||||
adds r0, r0, r1
|
||||
strb r0, [r3]
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r4, r0, #0x18
|
||||
cmp r4, #0
|
||||
bne _0803A03A
|
||||
movs r0, #4
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r0, [r5, #0x10]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r5, #0x10]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
strb r4, [r3]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0xa0
|
||||
strb r0, [r1]
|
||||
subs r1, #4
|
||||
movs r0, #0xf
|
||||
strb r0, [r1]
|
||||
ldr r0, _0803A040 @ =gUnk_080FD34C
|
||||
str r0, [r5, #0x48]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
ldr r3, _0803A044 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x38
|
||||
ldrb r2, [r2]
|
||||
bl SetTile
|
||||
_0803A03A:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0803A03C: .4byte gUnk_080CFBE4
|
||||
_0803A040: .4byte gUnk_080FD34C
|
||||
_0803A044: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0803A048
|
||||
sub_0803A048: @ 0x0803A048
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
ldr r0, [r4, #0x34]
|
||||
ldr r1, _0803A078 @ =0xFFFF0000
|
||||
adds r0, r0, r1
|
||||
str r0, [r4, #0x34]
|
||||
movs r0, #0x36
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r0, #6
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bgt _0803A076
|
||||
movs r0, #5
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0xa
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r1, _0803A07C @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
strb r0, [r4, #0x15]
|
||||
_0803A076:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0803A078: .4byte 0xFFFF0000
|
||||
_0803A07C: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_0803A080
|
||||
sub_0803A080: @ 0x0803A080
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0803A098
|
||||
movs r0, #6
|
||||
strb r0, [r4, #0xc]
|
||||
_0803A098:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803A09C
|
||||
sub_0803A09C: @ 0x0803A09C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEFE0
|
||||
ldrh r0, [r4, #0x2a]
|
||||
cmp r0, #0
|
||||
beq _0803A0B6
|
||||
adds r0, r4, #0
|
||||
bl sub_0803A0E0
|
||||
_0803A0B6:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803A0B8
|
||||
sub_0803A0B8: @ 0x0803A0B8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x20]
|
||||
cmp r0, #0
|
||||
bge _0803A0CA
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_0803A0CA:
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
bne _0803A0DE
|
||||
adds r0, r4, #0
|
||||
bl sub_0803A0E0
|
||||
_0803A0DE:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0803A0E0
|
||||
sub_0803A0E0: @ 0x0803A0E0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0xb]
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
bl sub_0808288C
|
||||
adds r2, r0, #0
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x3c
|
||||
bl CreateFx
|
||||
bl DeleteThisEntity
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0803A100
|
||||
sub_0803A100: @ 0x0803A100
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
ldr r3, _0803A14C @ =gRoomControls
|
||||
ldrh r1, [r3, #6]
|
||||
subs r0, r0, r1
|
||||
asrs r4, r0, #4
|
||||
movs r2, #0x3f
|
||||
ands r4, r2
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r5, r1]
|
||||
ldrh r1, [r3, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r4, r0
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x38
|
||||
ldrb r1, [r6]
|
||||
adds r0, r4, #0
|
||||
bl sub_080001DA
|
||||
ldr r1, _0803A150 @ =0x00004067
|
||||
cmp r0, r1
|
||||
bne _0803A148
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
ldrb r2, [r6]
|
||||
adds r1, r4, #0
|
||||
bl SetTile
|
||||
bl DeleteThisEntity
|
||||
_0803A148:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0803A14C: .4byte gRoomControls
|
||||
_0803A150: .4byte 0x00004067
|
||||
-1102
File diff suppressed because it is too large
Load Diff
@@ -1,455 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start GyorgChild
|
||||
GyorgChild: @ 0x08048640
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _0804867C @ =gScreenTransition
|
||||
adds r0, #0x39
|
||||
ldrb r2, [r0]
|
||||
cmp r2, #0
|
||||
bne _08048664
|
||||
ldrb r1, [r5, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r5, #0x10]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x45
|
||||
strb r2, [r0]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
_08048664:
|
||||
ldr r4, _08048680 @ =gUnk_080D1E6C
|
||||
adds r0, r5, #0
|
||||
bl GetNextFunction
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0804867C: .4byte gScreenTransition
|
||||
_08048680: .4byte gUnk_080D1E6C
|
||||
|
||||
thumb_func_start sub_08048684
|
||||
sub_08048684: @ 0x08048684
|
||||
push {lr}
|
||||
ldr r2, _08048698 @ =gUnk_080D1E84
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08048698: .4byte gUnk_080D1E84
|
||||
|
||||
thumb_func_start sub_0804869C
|
||||
sub_0804869C: @ 0x0804869C
|
||||
push {lr}
|
||||
ldr r1, _080486A8 @ =gUnk_080D1E6C
|
||||
bl sub_0804AA30
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080486A8: .4byte gUnk_080D1E6C
|
||||
|
||||
thumb_func_start sub_080486AC
|
||||
sub_080486AC: @ 0x080486AC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F520
|
||||
cmp r0, #0
|
||||
beq _080486C8
|
||||
ldr r0, _080486CC @ =gUnk_080D1E94
|
||||
ldrb r1, [r4, #0xd]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
_080486C8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080486CC: .4byte gUnk_080D1E94
|
||||
|
||||
thumb_func_start sub_080486D0
|
||||
sub_080486D0: @ 0x080486D0
|
||||
movs r1, #2
|
||||
strb r1, [r0, #0xd]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080486D8
|
||||
sub_080486D8: @ 0x080486D8
|
||||
push {lr}
|
||||
bl sub_0806F4E8
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080486E0
|
||||
sub_080486E0: @ 0x080486E0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F3E4
|
||||
cmp r0, #0
|
||||
beq _080486F2
|
||||
adds r0, r4, #0
|
||||
bl sub_0804A7D4
|
||||
_080486F2:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080486F4
|
||||
sub_080486F4: @ 0x080486F4
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r5, #1
|
||||
strb r5, [r4, #0x1c]
|
||||
ldrb r0, [r4, #0x1b]
|
||||
movs r1, #0xc0
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1b]
|
||||
ldrb r0, [r4, #0x19]
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r0, [r2]
|
||||
movs r1, #7
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldrb r0, [r4, #0x15]
|
||||
lsrs r0, r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _0804876C
|
||||
ldrb r1, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
strb r5, [r4, #0xc]
|
||||
ldrb r0, [r4, #0x10]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
bl Random
|
||||
movs r1, #0xb
|
||||
bl __modsi3
|
||||
ldrb r1, [r4, #0x15]
|
||||
adds r1, r1, r0
|
||||
subs r1, #5
|
||||
movs r2, #0x1f
|
||||
ands r1, r2
|
||||
strb r1, [r4, #0x15]
|
||||
lsls r0, r0, #1
|
||||
ldr r2, _08048768 @ =gUnk_080D1EA0
|
||||
adds r1, r0, r2
|
||||
ldrb r1, [r1]
|
||||
strb r1, [r4, #0xe]
|
||||
adds r0, #1
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x7b
|
||||
strb r0, [r1]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #2
|
||||
strh r0, [r4, #0x24]
|
||||
b _0804877A
|
||||
.align 2, 0
|
||||
_08048768: .4byte gUnk_080D1EA0
|
||||
_0804876C:
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r5, [r4, #0xe]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #6
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_0804877A:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0804877C
|
||||
sub_0804877C: @ 0x0804877C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F69C
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
beq _080487AA
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r1, #0xff
|
||||
ands r0, r1
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080487AA
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7b
|
||||
ldrb r0, [r0]
|
||||
ldrb r1, [r4, #0x15]
|
||||
adds r0, r0, r1
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x15]
|
||||
_080487AA:
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
cmp r0, #1
|
||||
beq _080487D4
|
||||
cmp r0, #1
|
||||
bgt _080487BC
|
||||
cmp r0, #0
|
||||
beq _080487C2
|
||||
b _08048804
|
||||
_080487BC:
|
||||
cmp r0, #2
|
||||
beq _080487EC
|
||||
b _08048804
|
||||
_080487C2:
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r4, r2]
|
||||
ldr r0, _080487D0 @ =gRoomControls
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r0, r2]
|
||||
b _0804880E
|
||||
.align 2, 0
|
||||
_080487D0: .4byte gRoomControls
|
||||
_080487D4:
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r0, _080487E8 @ =gRoomControls
|
||||
movs r2, #0xa
|
||||
ldrsh r0, [r0, r2]
|
||||
movs r2, #0x84
|
||||
lsls r2, r2, #1
|
||||
adds r0, r0, r2
|
||||
b _080487F8
|
||||
.align 2, 0
|
||||
_080487E8: .4byte gRoomControls
|
||||
_080487EC:
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r0, _08048800 @ =gRoomControls
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r0, r2]
|
||||
adds r0, #0xb8
|
||||
_080487F8:
|
||||
cmp r1, r0
|
||||
blt _08048824
|
||||
b _08048814
|
||||
.align 2, 0
|
||||
_08048800: .4byte gRoomControls
|
||||
_08048804:
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r0, _08048828 @ =gRoomControls
|
||||
movs r2, #0xa
|
||||
ldrsh r0, [r0, r2]
|
||||
_0804880E:
|
||||
subs r0, #0x18
|
||||
cmp r1, r0
|
||||
bgt _08048824
|
||||
_08048814:
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x5a
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #0x5e
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_08048824:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08048828: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0804882C
|
||||
sub_0804882C: @ 0x0804882C
|
||||
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 _080488FA
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0x10]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
bl Random
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x78
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r4, #0x24]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7a
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r4, #0x15]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1a
|
||||
strb r0, [r4, #0x14]
|
||||
ldrb r1, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
cmp r0, #1
|
||||
beq _080488D0
|
||||
cmp r0, #1
|
||||
bgt _080488AA
|
||||
cmp r0, #0
|
||||
beq _080488AE
|
||||
b _080488D0
|
||||
_080488AA:
|
||||
cmp r0, #2
|
||||
bne _080488D0
|
||||
_080488AE:
|
||||
ldr r1, _080488C8 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r1, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
ldr r1, _080488CC @ =gRoomControls
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x76
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r1, #0xc]
|
||||
b _080488E8
|
||||
.align 2, 0
|
||||
_080488C8: .4byte gPlayerEntity
|
||||
_080488CC: .4byte gRoomControls
|
||||
_080488D0:
|
||||
ldr r1, _080488FC @ =gRoomControls
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x74
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r1, #0xa]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
ldr r1, _08048900 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x76
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r1, #0x32]
|
||||
_080488E8:
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
ldrb r0, [r4, #0xb]
|
||||
cmp r0, #0
|
||||
bne _080488FA
|
||||
movs r0, #0xcc
|
||||
lsls r0, r0, #1
|
||||
bl SoundReq
|
||||
_080488FA:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080488FC: .4byte gRoomControls
|
||||
_08048900: .4byte gPlayerEntity
|
||||
|
||||
thumb_func_start sub_08048904
|
||||
sub_08048904: @ 0x08048904
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0806F69C
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
cmp r0, #1
|
||||
beq _0804893C
|
||||
cmp r0, #1
|
||||
bgt _08048924
|
||||
cmp r0, #0
|
||||
beq _0804892A
|
||||
b _0804896C
|
||||
_08048924:
|
||||
cmp r0, #2
|
||||
beq _08048954
|
||||
b _0804896C
|
||||
_0804892A:
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r0, _08048938 @ =gRoomControls
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r0, r2]
|
||||
b _08048976
|
||||
.align 2, 0
|
||||
_08048938: .4byte gRoomControls
|
||||
_0804893C:
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r0, _08048950 @ =gRoomControls
|
||||
movs r2, #0xa
|
||||
ldrsh r0, [r0, r2]
|
||||
movs r2, #0x8c
|
||||
lsls r2, r2, #1
|
||||
adds r0, r0, r2
|
||||
b _08048960
|
||||
.align 2, 0
|
||||
_08048950: .4byte gRoomControls
|
||||
_08048954:
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r0, _08048968 @ =gRoomControls
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r0, r2]
|
||||
adds r0, #0xc8
|
||||
_08048960:
|
||||
cmp r1, r0
|
||||
blt _08048980
|
||||
b _0804897C
|
||||
.align 2, 0
|
||||
_08048968: .4byte gRoomControls
|
||||
_0804896C:
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r0, _08048984 @ =gRoomControls
|
||||
movs r2, #0xa
|
||||
ldrsh r0, [r0, r2]
|
||||
_08048976:
|
||||
subs r0, #0x28
|
||||
cmp r1, r0
|
||||
bgt _08048980
|
||||
_0804897C:
|
||||
bl DeleteThisEntity
|
||||
_08048980:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08048984: .4byte gRoomControls
|
||||
-1093
File diff suppressed because it is too large
Load Diff
@@ -1,590 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start GyorgFemaleEye
|
||||
GyorgFemaleEye: @ 0x08048988
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, [r5, #0x50]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
bne _08048998
|
||||
bl DeleteThisEntity
|
||||
_08048998:
|
||||
ldr r4, _080489B0 @ =gUnk_080D1F64
|
||||
adds r0, r5, #0
|
||||
bl GetNextFunction
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080489B0: .4byte gUnk_080D1F64
|
||||
|
||||
thumb_func_start sub_080489B4
|
||||
sub_080489B4: @ 0x080489B4
|
||||
push {lr}
|
||||
ldr r2, _080489C8 @ =gUnk_080D1F7C
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080489C8: .4byte gUnk_080D1F7C
|
||||
|
||||
thumb_func_start sub_080489CC
|
||||
sub_080489CC: @ 0x080489CC
|
||||
.ifdef EU
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #0x45
|
||||
adds r0, r0, r5
|
||||
mov ip, r0
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xff
|
||||
beq _080487F4
|
||||
ldr r3, [r5, #0x50]
|
||||
adds r2, r3, #0
|
||||
adds r2, #0x7c
|
||||
movs r0, #1
|
||||
ldrb r1, [r5, #0xa]
|
||||
lsls r0, r1
|
||||
ldrb r1, [r2]
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r4, [r3, #0x64]
|
||||
ldrb r0, [r5, #0xa]
|
||||
lsls r0, r0, #2
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x18
|
||||
adds r1, r1, r0
|
||||
ldr r0, [r5, #0x4c]
|
||||
str r0, [r1]
|
||||
ldr r2, _08048804 @ =gPlayerEntity
|
||||
movs r6, #0x2e
|
||||
ldrsh r0, [r2, r6]
|
||||
movs r6, #0x2e
|
||||
ldrsh r1, [r5, r6]
|
||||
adds r0, r0, r1
|
||||
lsrs r1, r0, #0x1f
|
||||
adds r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
strh r0, [r4, #0x38]
|
||||
ldr r4, [r3, #0x64]
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r2, r1]
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r5, r2]
|
||||
adds r0, r0, r1
|
||||
lsrs r1, r0, #0x1f
|
||||
adds r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
strh r0, [r4, #0x3a]
|
||||
ldr r2, [r3, #0x64]
|
||||
adds r3, r5, #0
|
||||
adds r3, #0x3e
|
||||
ldrb r0, [r3]
|
||||
movs r1, #0x10
|
||||
eors r0, r1
|
||||
strb r0, [r3]
|
||||
adds r2, #0x3c
|
||||
strb r0, [r2]
|
||||
_080487F4:
|
||||
movs r0, #0xff
|
||||
mov r6, ip
|
||||
strb r0, [r6]
|
||||
ldr r1, _08048808 @ =gUnk_080D1F64
|
||||
adds r0, r5, #0
|
||||
bl sub_0804AA30
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08048804: .4byte gPlayerEntity
|
||||
_08048808: .4byte gUnk_080D1F64
|
||||
.else
|
||||
push {r4, r5, r6, lr}
|
||||
mov ip, r0
|
||||
adds r0, #0x45
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xff
|
||||
bne _080489DA
|
||||
b _08048AD8
|
||||
_080489DA:
|
||||
mov r0, ip
|
||||
ldr r4, [r0, #0x50]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x78
|
||||
ldrb r0, [r0]
|
||||
mov r2, ip
|
||||
ldrb r1, [r2, #0xa]
|
||||
asrs r0, r1
|
||||
movs r3, #1
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
beq _08048AD8
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x7c
|
||||
adds r0, r3, #0
|
||||
lsls r0, r1
|
||||
ldrb r1, [r2]
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
mov r0, ip
|
||||
adds r0, #0x41
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
subs r0, #4
|
||||
cmp r0, #0x16
|
||||
bhi _08048AD0
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08048A1C @ =_08048A20
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08048A1C: .4byte _08048A20
|
||||
_08048A20: @ jump table
|
||||
.4byte _08048A7C @ case 0
|
||||
.4byte _08048A7C @ case 1
|
||||
.4byte _08048A7C @ case 2
|
||||
.4byte _08048AD0 @ case 3
|
||||
.4byte _08048A7C @ case 4
|
||||
.4byte _08048A7C @ case 5
|
||||
.4byte _08048A7C @ case 6
|
||||
.4byte _08048A7C @ case 7
|
||||
.4byte _08048A7C @ case 8
|
||||
.4byte _08048A7C @ case 9
|
||||
.4byte _08048AD0 @ case 10
|
||||
.4byte _08048AD0 @ case 11
|
||||
.4byte _08048A7C @ case 12
|
||||
.4byte _08048A7C @ case 13
|
||||
.4byte _08048A7C @ case 14
|
||||
.4byte _08048AD0 @ case 15
|
||||
.4byte _08048AD0 @ case 16
|
||||
.4byte _08048AD0 @ case 17
|
||||
.4byte _08048AD0 @ case 18
|
||||
.4byte _08048AD0 @ case 19
|
||||
.4byte _08048A7C @ case 20
|
||||
.4byte _08048A7C @ case 21
|
||||
.4byte _08048A7C @ case 22
|
||||
_08048A7C:
|
||||
ldr r3, [r4, #0x64]
|
||||
mov r5, ip
|
||||
ldrb r0, [r5, #0xa]
|
||||
lsls r0, r0, #2
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x18
|
||||
adds r1, r1, r0
|
||||
ldr r0, [r5, #0x4c]
|
||||
str r0, [r1]
|
||||
ldr r2, _08048ACC @ =gPlayerEntity
|
||||
movs r6, #0x2e
|
||||
ldrsh r0, [r2, r6]
|
||||
movs r6, #0x2e
|
||||
ldrsh r1, [r5, r6]
|
||||
adds r0, r0, r1
|
||||
lsrs r1, r0, #0x1f
|
||||
adds r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
strh r0, [r3, #0x38]
|
||||
ldr r3, [r4, #0x64]
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r2, r1]
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r5, r2]
|
||||
adds r0, r0, r1
|
||||
lsrs r1, r0, #0x1f
|
||||
adds r0, r0, r1
|
||||
asrs r0, r0, #1
|
||||
strh r0, [r3, #0x3a]
|
||||
ldr r2, [r4, #0x64]
|
||||
mov r3, ip
|
||||
adds r3, #0x3e
|
||||
ldrb r0, [r3]
|
||||
movs r1, #0x10
|
||||
eors r0, r1
|
||||
strb r0, [r3]
|
||||
adds r2, #0x3c
|
||||
strb r0, [r2]
|
||||
b _08048AD8
|
||||
.align 2, 0
|
||||
_08048ACC: .4byte gPlayerEntity
|
||||
_08048AD0:
|
||||
ldr r0, [r4, #0x64]
|
||||
adds r0, #0x3c
|
||||
movs r1, #0xff
|
||||
strb r1, [r0]
|
||||
_08048AD8:
|
||||
mov r1, ip
|
||||
adds r1, #0x45
|
||||
movs r0, #0xff
|
||||
strb r0, [r1]
|
||||
ldr r1, _08048AEC @ =gUnk_080D1F64
|
||||
mov r0, ip
|
||||
bl sub_0804AA30
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08048AEC: .4byte gUnk_080D1F64
|
||||
.endif
|
||||
|
||||
thumb_func_start sub_08048AF0
|
||||
sub_08048AF0: @ 0x08048AF0
|
||||
push {lr}
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
movs r1, #0xff
|
||||
strb r1, [r0, #0x14]
|
||||
ldrb r3, [r0, #0x1b]
|
||||
movs r2, #0x3f
|
||||
adds r1, r2, #0
|
||||
ands r1, r3
|
||||
movs r3, #0x80
|
||||
orrs r1, r3
|
||||
strb r1, [r0, #0x1b]
|
||||
ldrb r1, [r0, #0x19]
|
||||
ands r2, r1
|
||||
orrs r2, r3
|
||||
strb r2, [r0, #0x19]
|
||||
adds r3, r0, #0
|
||||
adds r3, #0x29
|
||||
ldrb r1, [r3]
|
||||
movs r2, #7
|
||||
orrs r1, r2
|
||||
strb r1, [r3]
|
||||
adds r2, r0, #0
|
||||
adds r2, #0x38
|
||||
movs r1, #2
|
||||
strb r1, [r2]
|
||||
bl sub_08048D20
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08048B2C
|
||||
sub_08048B2C: @ 0x08048B2C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08048D20
|
||||
ldr r5, [r4, #0x50]
|
||||
adds r0, r5, #0
|
||||
bl sub_08048D70
|
||||
cmp r0, #0
|
||||
beq _08048B62
|
||||
ldrb r0, [r4, #0x18]
|
||||
lsls r0, r0, #0x1e
|
||||
cmp r0, #0
|
||||
bne _08048B52
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
movs r2, #0x40
|
||||
bl CreateFx
|
||||
_08048B52:
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #4
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r0
|
||||
movs r0, #1
|
||||
orrs r1, r0
|
||||
strb r1, [r4, #0x18]
|
||||
b _08048B6C
|
||||
_08048B62:
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_08048B6C:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x78
|
||||
ldrb r0, [r0]
|
||||
ldrb r1, [r4, #0xa]
|
||||
asrs r0, r1
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08048B82
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
_08048B82:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_08048B84
|
||||
sub_08048B84: @ 0x08048B84
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08048BAE
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0x1e
|
||||
strb r0, [r1]
|
||||
_08048BAE:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08048BB0
|
||||
sub_08048BB0: @ 0x08048BB0
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r2, [r4, #0x50]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x78
|
||||
ldrb r3, [r0]
|
||||
ldrb r1, [r4, #0xa]
|
||||
adds r0, r3, #0
|
||||
asrs r0, r1
|
||||
movs r6, #1
|
||||
ands r0, r6
|
||||
cmp r0, #0
|
||||
bne _08048C34
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x45
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08048BFC
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
ldr r1, _08048BF8 @ =gUnk_080D2030
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #3
|
||||
ldrb r2, [r4, #0xa]
|
||||
adds r0, r0, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
b _08048CEA
|
||||
.align 2, 0
|
||||
_08048BF8: .4byte gUnk_080D2030
|
||||
_08048BFC:
|
||||
strb r6, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldr r1, _08048C30 @ =gUnk_080D2010
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #3
|
||||
ldrb r2, [r4, #0xa]
|
||||
adds r0, r0, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
movs r2, #0x40
|
||||
bl CreateFx
|
||||
b _08048CEA
|
||||
.align 2, 0
|
||||
_08048C30: .4byte gUnk_080D2010
|
||||
_08048C34:
|
||||
adds r5, r2, #0
|
||||
adds r5, #0x80
|
||||
ldrb r0, [r5]
|
||||
asrs r0, r1
|
||||
ands r0, r6
|
||||
cmp r0, #0
|
||||
beq _08048CBC
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x13
|
||||
bhi _08048C6C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3d
|
||||
movs r0, #0xf4
|
||||
strb r0, [r1]
|
||||
adds r1, #2
|
||||
movs r0, #0x89
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r2, #0x14]
|
||||
lsrs r1, r1, #6
|
||||
adds r1, #0x14
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldr r0, _08048CB4 @ =0x00000119
|
||||
bl SoundReq
|
||||
_08048C6C:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08048CEA
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0x1e
|
||||
strb r0, [r1]
|
||||
ldr r1, _08048CB8 @ =gUnk_080D2010
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #3
|
||||
ldrb r2, [r4, #0xa]
|
||||
adds r0, r0, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r4, #0
|
||||
movs r1, #7
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r1, r6, #0
|
||||
ldrb r4, [r4, #0xa]
|
||||
lsls r1, r4
|
||||
ldrb r0, [r5]
|
||||
bics r0, r1
|
||||
strb r0, [r5]
|
||||
b _08048CEA
|
||||
.align 2, 0
|
||||
_08048CB4: .4byte 0x00000119
|
||||
_08048CB8: .4byte gUnk_080D2010
|
||||
_08048CBC:
|
||||
cmp r3, #0xff
|
||||
bne _08048CEA
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
subs r0, #0x10
|
||||
cmp r0, #3
|
||||
bls _08048CE4
|
||||
ldrb r1, [r4, #0x14]
|
||||
adds r1, #0x10
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
bl Random
|
||||
movs r1, #0x1c
|
||||
ands r1, r0
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationVariableFrames
|
||||
_08048CE4:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_08048CEA:
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
thumb_func_start sub_08048CEC
|
||||
sub_08048CEC: @ 0x08048CEC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08048D1A
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r1, _08048D1C @ =gUnk_080D2010
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #3
|
||||
ldrb r2, [r4, #0xa]
|
||||
adds r0, r0, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
_08048D1A:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08048D1C: .4byte gUnk_080D2010
|
||||
|
||||
thumb_func_start sub_08048D20
|
||||
sub_08048D20: @ 0x08048D20
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x50]
|
||||
ldrb r0, [r0, #0x14]
|
||||
lsrs r0, r0, #6
|
||||
ldrb r1, [r4, #0x14]
|
||||
cmp r0, r1
|
||||
beq _08048D60
|
||||
strb r0, [r4, #0x14]
|
||||
ldrb r1, [r4, #0xa]
|
||||
lsls r3, r0, #3
|
||||
adds r1, r1, r3
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _08048D64 @ =gUnk_080D1F90
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08048D68 @ =gRoomControls
|
||||
ldrh r0, [r2, #6]
|
||||
ldrh r5, [r1]
|
||||
adds r0, r0, r5
|
||||
strh r0, [r4, #0x2e]
|
||||
ldrh r0, [r2, #8]
|
||||
ldrh r1, [r1, #2]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
ldr r1, _08048D6C @ =gUnk_080D2010
|
||||
ldrb r0, [r4, #0xa]
|
||||
adds r0, r0, r3
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
_08048D60:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08048D64: .4byte gUnk_080D1F90
|
||||
_08048D68: .4byte gRoomControls
|
||||
_08048D6C: .4byte gUnk_080D2010
|
||||
|
||||
thumb_func_start sub_08048D70
|
||||
sub_08048D70: @ 0x08048D70
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
adds r0, #0x45
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08048D8E
|
||||
ldr r1, [r1, #0x64]
|
||||
ldr r0, [r1, #8]
|
||||
cmp r0, #0
|
||||
bne _08048D86
|
||||
ldr r0, [r1, #0xc]
|
||||
_08048D86:
|
||||
adds r0, #0x45
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08048D92
|
||||
_08048D8E:
|
||||
movs r0, #1
|
||||
b _08048D94
|
||||
_08048D92:
|
||||
movs r0, #0
|
||||
_08048D94:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1,115 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start GyorgFemaleMouth
|
||||
GyorgFemaleMouth: @ 0x08048F8C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x50]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
bne _08048F9C
|
||||
bl DeleteThisEntity
|
||||
_08048F9C:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08048FD4
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r2, [r4, #0x1b]
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
movs r2, #0x80
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x1b]
|
||||
ldrb r0, [r4, #0x19]
|
||||
ands r1, r0
|
||||
orrs r1, r2
|
||||
strb r1, [r4, #0x19]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r0, [r2]
|
||||
movs r1, #7
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #2
|
||||
strb r0, [r1]
|
||||
movs r0, #0xff
|
||||
strb r0, [r4, #0x14]
|
||||
_08048FD4:
|
||||
ldr r0, [r4, #0x50]
|
||||
ldrb r0, [r0, #0x14]
|
||||
lsrs r0, r0, #5
|
||||
lsls r6, r0, #0x18
|
||||
lsrs r5, r6, #0x18
|
||||
ldrb r0, [r4, #0x14]
|
||||
cmp r5, r0
|
||||
beq _08049018
|
||||
strb r5, [r4, #0x14]
|
||||
ldr r3, _08049010 @ =gUnk_080D28CC
|
||||
lsls r1, r5, #1
|
||||
adds r1, r1, r3
|
||||
ldr r2, _08049014 @ =gRoomControls
|
||||
ldrh r0, [r2, #6]
|
||||
ldrh r1, [r1]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x2e]
|
||||
adds r1, r5, #1
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r3
|
||||
ldrh r0, [r2, #8]
|
||||
ldrh r1, [r1]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r4, #0x32]
|
||||
lsrs r1, r6, #0x19
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
b _0804901E
|
||||
.align 2, 0
|
||||
_08049010: .4byte gUnk_080D28CC
|
||||
_08049014: .4byte gRoomControls
|
||||
_08049018:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_0804901E:
|
||||
movs r0, #2
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _08049038
|
||||
ldr r0, _08049034 @ =gPlayerEntity
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r0, r2]
|
||||
b _08049042
|
||||
.align 2, 0
|
||||
_08049034: .4byte gPlayerEntity
|
||||
_08049038:
|
||||
ldr r0, _08049054 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r0, r2]
|
||||
_08049042:
|
||||
cmp r1, r0
|
||||
bge _08049048
|
||||
adds r5, #1
|
||||
_08049048:
|
||||
ldr r0, _08049058 @ =gUnk_080D28AC
|
||||
lsls r1, r5, #2
|
||||
adds r1, r1, r0
|
||||
ldr r0, [r1]
|
||||
str r0, [r4, #0x48]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08049054: .4byte gPlayerEntity
|
||||
_08049058: .4byte gUnk_080D28AC
|
||||
+13
-13
@@ -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,10 +654,10 @@ _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 @ =gUnk_03003DD0
|
||||
ldr r11, _080B2270 @ =gUpdateContext
|
||||
ldr r1, [r11]
|
||||
ldm r1, {r7, r8, r9, r10}
|
||||
ldr sp, [r11, #0xc]
|
||||
@@ -665,7 +665,7 @@ _080B21AC: .4byte gUnk_08000F54
|
||||
ldr r0, [r11, #8]
|
||||
add pc, pc, #0x60 @ =_080B2230
|
||||
|
||||
@ gUnk_03003DD0 {
|
||||
@ gUpdateContext {
|
||||
@ void* chosen_table;
|
||||
@ void* linked_list_top;
|
||||
@ void* curr_entity;
|
||||
@@ -679,7 +679,7 @@ UpdateEntities_arm: @ 0x080B21B0
|
||||
ldr r1, _080B2274 @ =gUnk_080026A4
|
||||
add r1, r1, r0, lsl #4
|
||||
push {r4 - r11, lr}
|
||||
ldr r11, _080B2278 @ =gUnk_03003DD0
|
||||
ldr r11, _080B2278 @ =gUpdateContext
|
||||
str r1, [r11, #0x0]
|
||||
str sp, [r11, #0xc]
|
||||
ldm r1, {r7, r8, r9, r10}
|
||||
@@ -724,9 +724,9 @@ _080B2264: .4byte NPCUpdate
|
||||
_080B2268: .4byte ItemUpdate
|
||||
_080B226C: .4byte ManagerUpdate
|
||||
|
||||
_080B2270: .4byte gUnk_03003DD0
|
||||
_080B2270: .4byte gUpdateContext
|
||||
_080B2274: .4byte gUnk_080026A4
|
||||
_080B2278: .4byte gUnk_03003DD0
|
||||
_080B2278: .4byte gUpdateContext
|
||||
|
||||
arm_func_start sub_080B227C
|
||||
sub_080B227C: @ 0x080B227C
|
||||
@@ -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
|
||||
|
||||
@@ -118,16 +118,16 @@ _080185C2:
|
||||
_080185D4:
|
||||
cmp r0, #0xfd
|
||||
beq _080185F0
|
||||
ldr r1, _080185EC @ =gUnk_0811E454
|
||||
ldr r1, _080185EC @ =gLocalFlagBanks
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
ldrb r1, [r2, #1]
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
b _080185F6
|
||||
.align 2, 0
|
||||
_080185EC: .4byte gUnk_0811E454
|
||||
_080185EC: .4byte gLocalFlagBanks
|
||||
_080185F0:
|
||||
ldrb r0, [r2, #1]
|
||||
bl CheckKinstoneFused
|
||||
@@ -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]
|
||||
@@ -648,7 +648,7 @@ _080189D0:
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
ldr r0, _080189E8 @ =gUnk_080FEE38
|
||||
bl LoadRoomEntityList
|
||||
_080189E4:
|
||||
@@ -75,6 +75,22 @@
|
||||
.4byte \paramC
|
||||
.endm
|
||||
|
||||
.macro ezlo_hint type=0 x:req, y:req, rx:req, ry:req, msg:req, flag:req, msg_y=0, flag2=0
|
||||
.byte 9
|
||||
.byte 0
|
||||
.byte 10
|
||||
.byte \type
|
||||
.byte 0
|
||||
.byte \msg_y
|
||||
.2byte \msg
|
||||
.byte \x >> 1 /* normalize to same coordinates */
|
||||
.byte \y >> 1
|
||||
.byte \rx
|
||||
.byte \ry
|
||||
.2byte \flag
|
||||
.2byte \flag2
|
||||
.endm
|
||||
|
||||
.macro manager subtype:req, collision=0, unknown=0xf, paramA=0, paramB=0, x=0, y=0, paramC=0
|
||||
entity_raw type=9, subtype=\subtype, collision=\collision, unknown=\unknown, paramA=\paramA, paramB=\paramB, x=\x, y=\y, paramC=\paramC
|
||||
.endm
|
||||
|
||||
+45
-45
@@ -115,7 +115,7 @@
|
||||
.4byte \entityDataList
|
||||
.endm
|
||||
|
||||
.macro TestBit bitmask:req
|
||||
.macro CheckSyncFlagAndClear bitmask:req
|
||||
.2byte 0x0c0e
|
||||
.4byte \bitmask
|
||||
.endm
|
||||
@@ -139,7 +139,7 @@
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro CheckLocalFlagByOffset a:req, b:req
|
||||
.macro CheckLocalFlagByBank a:req, b:req
|
||||
.2byte 0x0c13
|
||||
.2byte \a
|
||||
.2byte \b
|
||||
@@ -171,7 +171,7 @@
|
||||
.2byte 0x0418
|
||||
.endm
|
||||
|
||||
.macro _0807E30C
|
||||
.macro FacePlayerAndCheckDist
|
||||
.2byte 0x0419
|
||||
.endm
|
||||
|
||||
@@ -180,12 +180,12 @@
|
||||
.2byte \amount
|
||||
.endm
|
||||
|
||||
.macro _0807E3BC s:req
|
||||
.macro HasShells s:req
|
||||
.2byte 0x081b
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807E3E8
|
||||
.macro CheckTextboxResult
|
||||
.2byte 0x041c
|
||||
.endm
|
||||
|
||||
@@ -204,22 +204,22 @@
|
||||
.endif
|
||||
.endm
|
||||
|
||||
.macro _0807E48C s:req
|
||||
.macro CheckBottleContaining s:req
|
||||
.2byte 0x081f
|
||||
.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
|
||||
|
||||
@@ -247,12 +247,12 @@
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro _0807E5F8 w:req
|
||||
.macro SetSyncFlag w:req
|
||||
.2byte 0x0c28
|
||||
.4byte \w
|
||||
.endm
|
||||
|
||||
.macro _0807E610 w:req
|
||||
.macro ClearSyncFlag w:req
|
||||
.2byte 0x0c29
|
||||
.4byte \w
|
||||
.endm
|
||||
@@ -262,7 +262,7 @@
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro SetLocalFlagByOffset a:req, b:req
|
||||
.macro SetLocalFlagByBank a:req, b:req
|
||||
.2byte 0x0c2b
|
||||
.2byte \a
|
||||
.2byte \b
|
||||
@@ -298,21 +298,21 @@
|
||||
.2byte \frames
|
||||
.endm
|
||||
|
||||
.macro WaitForSomething w:req
|
||||
.macro WaitForSyncFlag w:req
|
||||
.2byte 0x0c32
|
||||
.4byte \w
|
||||
.endm
|
||||
|
||||
.macro WaitForSomething2 w:req
|
||||
.macro WaitForSyncFlagAndClear w:req
|
||||
.2byte 0x0c33
|
||||
.4byte \w
|
||||
.endm
|
||||
|
||||
.macro WaitPlayerAction8
|
||||
.macro WaitPlayerGetItem
|
||||
.2byte 0x0434
|
||||
.endm
|
||||
|
||||
.macro WaitForPlayerAction0x17
|
||||
.macro WaitForPlayerEnterRoom
|
||||
.2byte 0x0435
|
||||
.endm
|
||||
|
||||
@@ -320,11 +320,11 @@
|
||||
.2byte 0x0436
|
||||
.endm
|
||||
|
||||
.macro WaitFor_2
|
||||
.macro WaitForFadeFinish
|
||||
.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
|
||||
@@ -563,7 +563,7 @@
|
||||
.2byte \yOffset
|
||||
.endm
|
||||
|
||||
.macro SetEntityPosition x:req, y:req
|
||||
.macro OffsetEntityPosition x:req, y:req
|
||||
.2byte 0x0c6a
|
||||
.2byte \x
|
||||
.2byte \y
|
||||
@@ -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
|
||||
@@ -690,12 +690,12 @@
|
||||
.2byte 8
|
||||
.endm
|
||||
|
||||
.macro _0807F034 s:req
|
||||
.macro GivePlayerItem s:req
|
||||
.2byte 0x0882
|
||||
.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,149 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r5, r2, #0
|
||||
cmp r4, #0x5e
|
||||
beq _08054786
|
||||
cmp r4, #0x5e
|
||||
bhi _08054772
|
||||
cmp r4, #0x5c
|
||||
beq _080547A6
|
||||
cmp r4, #0x5c
|
||||
bhi _08054782
|
||||
cmp r4, #0x3f
|
||||
beq _08054794
|
||||
b _080547DA
|
||||
_08054772:
|
||||
cmp r4, #0xfc
|
||||
blo _080547DA
|
||||
cmp r4, #0xfe
|
||||
bls _080547A6
|
||||
cmp r4, #0xff
|
||||
bne _080547DA
|
||||
movs r0, #1
|
||||
b _08054788
|
||||
_08054782:
|
||||
movs r0, #0x65
|
||||
b _08054788
|
||||
_08054786:
|
||||
movs r0, #9
|
||||
_08054788:
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _080547DA
|
||||
_08054790:
|
||||
movs r0, #0
|
||||
b _0805486C
|
||||
_08054794:
|
||||
movs r0, #0x40
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08054790
|
||||
cmp r5, #0
|
||||
bne _080547DA
|
||||
movs r5, #1
|
||||
b _080547DA
|
||||
_080547A6:
|
||||
movs r0, #0x67
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08054790
|
||||
ldr r0, _080547FC @ =gRoomVars
|
||||
ldrb r0, [r0, #5]
|
||||
cmp r0, #3
|
||||
bhi _08054790
|
||||
cmp r4, #0x5c
|
||||
beq _080547DA
|
||||
adds r5, r4, #0
|
||||
subs r5, #0xfc
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r1, r0
|
||||
ldr r2, _08054800 @ =gUnk_080FE1DD
|
||||
lsls r0, r5, #6
|
||||
adds r1, r1, r0
|
||||
adds r1, r1, r2
|
||||
ldrb r5, [r1]
|
||||
movs r4, #0x5c
|
||||
cmp r5, #0
|
||||
bne _080547DA
|
||||
movs r4, #0
|
||||
_080547DA:
|
||||
cmp r4, #0
|
||||
beq _0805486A
|
||||
cmp r4, #0xff
|
||||
beq _08054842
|
||||
movs r0, #0
|
||||
adds r1, r4, #0
|
||||
adds r2, r5, #0
|
||||
bl CreateObject
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805486A
|
||||
ldr r0, _08054804 @ =gPlayerEntity
|
||||
cmp r6, r0
|
||||
bne _08054808
|
||||
movs r0, #1
|
||||
b _0805480A
|
||||
.align 2, 0
|
||||
_080547FC: .4byte gRoomVars
|
||||
_08054800: .4byte gUnk_080FE1DD
|
||||
_08054804: .4byte gPlayerEntity
|
||||
_08054808:
|
||||
movs r0, #0
|
||||
_0805480A:
|
||||
strb r0, [r2, #0xe]
|
||||
ldrb r0, [r6, #8]
|
||||
cmp r0, #6
|
||||
bne _08054838
|
||||
ldrb r0, [r6, #9]
|
||||
cmp r0, #0x63
|
||||
bne _0805481C
|
||||
str r2, [r6, #0x54]
|
||||
b _08054838
|
||||
_0805481C:
|
||||
cmp r0, #0x1e
|
||||
bne _08054838
|
||||
ldrb r0, [r6, #0x14]
|
||||
lsls r0, r0, #3
|
||||
movs r3, #0x80
|
||||
rsbs r3, r3, #0
|
||||
adds r1, r3, #0
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x15]
|
||||
movs r0, #0xc0
|
||||
strh r0, [r2, #0x24]
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #9
|
||||
str r0, [r2, #0x20]
|
||||
_08054838:
|
||||
adds r0, r6, #0
|
||||
adds r1, r2, #0
|
||||
bl CopyPosition
|
||||
b _0805486A
|
||||
_08054842:
|
||||
movs r0, #7
|
||||
movs r1, #0
|
||||
bl CreateEnemy
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _0805486A
|
||||
ldrh r0, [r6, #0x2e]
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r6, #0x32]
|
||||
strh r0, [r2, #0x32]
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
adds r0, r2, #0
|
||||
bl UpdateSpriteForCollisionLayer
|
||||
_0805486A:
|
||||
adds r0, r4, #0
|
||||
_0805486C:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -35,7 +35,7 @@ _0805E6A8:
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805E6D4
|
||||
ldr r0, _0805E6D0 @ =gUnk_03003DD0
|
||||
ldr r0, _0805E6D0 @ =gUpdateContext
|
||||
ldr r0, [r0, #8]
|
||||
cmp r4, r0
|
||||
beq _0805E6D4
|
||||
@@ -45,7 +45,7 @@ _0805E6A8:
|
||||
b _0805E730
|
||||
.align 2, 0
|
||||
_0805E6CC: .4byte gPlayerEntity
|
||||
_0805E6D0: .4byte gUnk_03003DD0
|
||||
_0805E6D0: .4byte gUpdateContext
|
||||
_0805E6D4:
|
||||
adds r4, #0x88
|
||||
ldr r0, _0805E738 @ =gUnk_03003BE0
|
||||
@@ -65,7 +65,7 @@ _0805E6EA:
|
||||
cmp r4, r2
|
||||
beq _0805E718
|
||||
movs r7, #0x1c
|
||||
ldr r6, _0805E740 @ =gUnk_03003DD0
|
||||
ldr r6, _0805E740 @ =gUpdateContext
|
||||
_0805E6F8:
|
||||
ldrb r0, [r4, #8]
|
||||
cmp r0, #9
|
||||
@@ -103,5 +103,5 @@ _0805E730:
|
||||
.align 2, 0
|
||||
_0805E738: .4byte gUnk_03003BE0
|
||||
_0805E73C: .4byte gEntityLists
|
||||
_0805E740: .4byte gUnk_03003DD0
|
||||
_0805E740: .4byte gUpdateContext
|
||||
.syntax divided
|
||||
@@ -85,7 +85,7 @@ _0804AE94:
|
||||
_0804AEA0: .4byte gRoomControls
|
||||
_0804AEA4:
|
||||
adds r0, r5, #0
|
||||
bl sub_08016A30
|
||||
bl ResolveCollisionLayer
|
||||
_0804AEAA:
|
||||
adds r0, r5, #0
|
||||
_0804AEAC:
|
||||
@@ -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,95 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
mov ip, r0
|
||||
adds r5, r1, #0
|
||||
adds r0, #0x38
|
||||
adds r1, #0x38
|
||||
ldrb r2, [r0]
|
||||
ldrb r0, [r1]
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _08017848
|
||||
mov r0, ip
|
||||
ldr r3, [r0, #0x48]
|
||||
ldr r4, [r5, #0x48]
|
||||
ldrb r1, [r3, #6]
|
||||
ldrb r0, [r4, #6]
|
||||
adds r2, r1, r0
|
||||
mov r1, ip
|
||||
movs r6, #0x2e
|
||||
ldrsh r0, [r1, r6]
|
||||
movs r6, #0x2e
|
||||
ldrsh r1, [r5, r6]
|
||||
subs r0, r0, r1
|
||||
movs r1, #0
|
||||
ldrsb r1, [r3, r1]
|
||||
adds r0, r0, r1
|
||||
movs r1, #0
|
||||
ldrsb r1, [r4, r1]
|
||||
subs r0, r0, r1
|
||||
adds r0, r0, r2
|
||||
lsls r1, r2, #1
|
||||
cmp r0, r1
|
||||
bhi _08017848
|
||||
ldrb r1, [r3, #7]
|
||||
ldrb r0, [r4, #7]
|
||||
adds r2, r1, r0
|
||||
mov r1, ip
|
||||
movs r6, #0x32
|
||||
ldrsh r0, [r1, r6]
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r5, r6]
|
||||
subs r0, r0, r1
|
||||
movs r1, #1
|
||||
ldrsb r1, [r3, r1]
|
||||
adds r0, r0, r1
|
||||
movs r1, #1
|
||||
ldrsb r1, [r4, r1]
|
||||
subs r0, r0, r1
|
||||
adds r0, r0, r2
|
||||
lsls r1, r2, #1
|
||||
cmp r0, r1
|
||||
bhi _08017848
|
||||
mov r0, ip
|
||||
adds r0, #0x3c
|
||||
ldrb r1, [r0]
|
||||
movs r6, #0x10
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
movs r2, #5
|
||||
cmp r0, #0
|
||||
beq _0801781A
|
||||
ldrb r2, [r3, #8]
|
||||
_0801781A:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x3c
|
||||
ldrb r1, [r0]
|
||||
adds r0, r6, #0
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0801782E
|
||||
ldrb r0, [r4, #8]
|
||||
adds r2, r2, r0
|
||||
b _08017830
|
||||
_0801782E:
|
||||
adds r2, #5
|
||||
_08017830:
|
||||
mov r1, ip
|
||||
movs r3, #0x36
|
||||
ldrsh r0, [r1, r3]
|
||||
movs r6, #0x36
|
||||
ldrsh r1, [r5, r6]
|
||||
subs r0, r0, r1
|
||||
adds r0, r0, r2
|
||||
lsls r1, r2, #1
|
||||
cmp r0, r1
|
||||
bhi _08017848
|
||||
movs r0, #1
|
||||
b _0801784A
|
||||
_08017848:
|
||||
movs r0, #0
|
||||
_0801784A:
|
||||
pop {r4, r5, r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.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
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user