merge master

This commit is contained in:
Henny022p
2022-01-18 06:38:58 +01:00
1740 changed files with 56973 additions and 73193 deletions
+22
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
```
+2553
View File
File diff suppressed because it is too large Load Diff
Vendored
+6 -4
View File
@@ -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'
}
}
}
+1 -1
View File
@@ -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))
+14 -1
View File
@@ -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! -
+27 -27
View File
@@ -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
-180
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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]
-196
View File
@@ -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
-151
View File
@@ -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
-112
View File
@@ -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
-869
View File
@@ -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
-863
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -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
-352
View File
@@ -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}
-252
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+12 -12
View File
@@ -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
View File
@@ -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
-25
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-36
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-4332
View File
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
-197
View File
@@ -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}
-157
View File
@@ -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
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
-204
View File
@@ -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
-160
View File
@@ -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
-26
View File
@@ -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
+9 -7
View File
@@ -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
+5 -5
View File
@@ -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:
+13 -13
View File
@@ -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
+3 -3
View File
@@ -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
+1 -1
View File
@@ -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
+4 -4
View File
@@ -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
+5 -5
View File
@@ -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
+1 -1
View File
@@ -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
+5 -5
View File
@@ -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
+3 -3
View File
@@ -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
+1 -1
View File
@@ -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
+4 -4
View File
@@ -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
+21 -21
View File
@@ -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
+1 -1
View File
@@ -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]
+4 -4
View File
@@ -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
+4 -4
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-176
View File
@@ -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
-760
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-455
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-590
View File
@@ -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
-115
View File
@@ -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
View File
@@ -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
+8 -8
View File
@@ -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:
View File
View File
+16
View File
@@ -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
View File
@@ -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
-149
View File
@@ -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:
-73
View File
@@ -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
+1 -1
View File
@@ -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 -1
View File
@@ -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