Merge branch 'master' into gyorg

This commit is contained in:
Ibot02
2022-01-09 20:46:03 +01:00
1301 changed files with 26072 additions and 28415 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
+46 -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,27 +75,13 @@
*.ss7
*.ss8
*.ss9
.fuse_hidden*
.idea/
Thumbs.db
build/
cmake-build-*
sound/**/*.bin
sound/songs/midi/*.s
src/*.s
tags
tools/agbcc
tools/binutils
translations/*.bin
types_*.taghl
*.zip
!calcrom.pl
!sound/programmable_wave_samples/*.pcm
_Deparsed_XSubs.pm
*.py
*.sna
__pycache__
.vscode/settings.json
.vscode/c_cpp_properties.json
.vscode/tasks.json
Info.plist
+47 -51
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
+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))
+25 -25
View File
@@ -37,7 +37,7 @@ sub_08019698: @ 0x08019698
bl SetLocalFlagByBank
ldrh r0, [r4]
ldrh r1, [r4, #2]
bl sub_08052FD8
bl LoadAuxiliaryRoom
ldr r5, _0801972C @ =gRoomControls
ldrh r0, [r4, #6]
ldrh r1, [r5, #0xa]
@@ -50,7 +50,7 @@ sub_08019698: @ 0x08019698
ldr r1, _08019730 @ =gUpdateVisibleTiles
movs r0, #1
strb r0, [r1]
bl sub_08000108
bl UpdateScrollVram
ldr r2, _08019734 @ =gScreen
ldrh r1, [r2]
ldr r0, _08019738 @ =0x0000FEFF
@@ -75,11 +75,11 @@ _08019700:
movs r0, #0x11
bl LoadGfxGroup
bl FlushSprites
bl sub_080AD9B0
bl sub_080AD918
bl DrawEntities
bl CopyOAM
movs r0, #4
movs r1, #8
bl DoFade
bl SetFade
ldr r1, _0801973C @ =gUnk_02018EB0
ldrb r0, [r1]
adds r0, #1
@@ -119,8 +119,8 @@ sub_08019764: @ 0x08019764
push {lr}
bl FlushSprites
bl UpdateEntities
bl sub_080AD9B0
bl sub_080AD918
bl DrawEntities
bl CopyOAM
ldr r2, _08019798 @ =gUnk_02018EB0
ldrh r0, [r2, #4]
subs r0, #1
@@ -152,8 +152,8 @@ sub_080197A0: @ 0x080197A0
bl MenuFadeIn
pop {pc}
thumb_func_start sub_080197AC
sub_080197AC: @ 0x080197AC
thumb_func_start SetBGDefaults
SetBGDefaults: @ 0x080197AC
ldr r0, _080197C4 @ =gUnk_02025EB0
ldr r1, _080197C8 @ =gBGAffSettings
str r1, [r0]
@@ -168,7 +168,7 @@ sub_080197AC: @ 0x080197AC
bx lr
.align 2, 0
_080197C4: .4byte gUnk_02025EB0
_080197C8: .4byte gBGAffSettings
_080197C8: .4byte gScreen + 0x20
_080197CC: .4byte gUnk_080B77C0
_080197D0: .4byte gUnk_0200B650
@@ -227,8 +227,8 @@ _0801982E:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_08019840
sub_08019840: @ 0x08019840
thumb_func_start UpdatePlayerCollision
UpdatePlayerCollision: @ 0x08019840
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
@@ -1260,7 +1260,7 @@ _08019FDA:
ands r7, r0
movs r4, #0
movs r6, #0
ldr r5, _0801A088 @ =gUnk_03004040
ldr r5, _0801A088 @ =gPlayerClones
mov sb, r5
_08019FEC:
mov r1, sb
@@ -1340,7 +1340,7 @@ _0801A02A:
_0801A07C: .4byte gPlayerState
_0801A080: .4byte 0x0000FFFF
_0801A084: .4byte 0x00000FFF
_0801A088: .4byte gUnk_03004040
_0801A088: .4byte gPlayerClones
_0801A08C: .4byte gPlayerEntity
_0801A090: .4byte gRoomControls
_0801A094:
@@ -1465,7 +1465,7 @@ _0801A166:
b _0801A2A4
_0801A174:
movs r4, #0
ldr r5, _0801A194 @ =gUnk_03004040
ldr r5, _0801A194 @ =gPlayerClones
_0801A178:
ldr r0, [r5]
movs r1, #0
@@ -1481,7 +1481,7 @@ _0801A186:
b _0801A2A4
.align 2, 0
_0801A190: .4byte gPlayerState
_0801A194: .4byte gUnk_03004040
_0801A194: .4byte gPlayerClones
_0801A198:
subs r7, #0x40
_0801A19A:
@@ -1499,7 +1499,7 @@ _0801A1A6:
cmp r0, #9
ble _0801A2A4
movs r4, #0
ldr r5, _0801A1D0 @ =gUnk_03004040
ldr r5, _0801A1D0 @ =gPlayerClones
_0801A1B6:
ldr r0, [r5]
movs r1, #6
@@ -1513,7 +1513,7 @@ _0801A1B6:
b _0801A2A4
.align 2, 0
_0801A1CC: .4byte gPlayerState
_0801A1D0: .4byte gUnk_03004040
_0801A1D0: .4byte gPlayerClones
_0801A1D4:
movs r0, #2
ands r0, r1
@@ -3099,7 +3099,7 @@ sub_0801AD6C: @ 0x0801AD6C
adds r0, #0x38
strb r3, [r0]
adds r0, r5, #0
bl sub_08016A30
bl ResolveCollisionLayer
ldr r1, _0801ADD8 @ =gUnk_081091E4
ldrb r0, [r5, #8]
adds r0, r0, r1
@@ -3178,11 +3178,11 @@ sub_0801AE44: @ 0x0801AE44
bl sub_0807BFD0
cmp r4, #0
beq _0801AE5A
bl sub_0807C0DC
bl LoadRoomGfx
_0801AE5A:
bl sub_080809D4
bl sub_080805F8
ldr r0, _0801AEE4 @ =gScreenTransition
ldr r0, _0801AEE4 @ =gRoomTransition
adds r0, #0x2d
ldrb r0, [r0]
cmp r0, #0
@@ -3244,7 +3244,7 @@ _0801AED0:
b _0801AF10
.align 2, 0
_0801AEE0: .4byte gRoomControls
_0801AEE4: .4byte gScreenTransition
_0801AEE4: .4byte gRoomTransition
_0801AEE8: .4byte gArea
_0801AEEC: .4byte 0x0600F000
_0801AEF0: .4byte gUnk_03004030
@@ -3257,7 +3257,7 @@ _0801AF08: .4byte gMapDataTopSpecial
_0801AF0C:
bl sub_0807C4F8
_0801AF10:
bl sub_08000108
bl UpdateScrollVram
pop {r4, pc}
.align 2, 0
@@ -3298,7 +3298,7 @@ sub_0801AF48: @ 0x0801AF48
ldr r0, _0801AF7C @ =0x00003FFF
cmp r4, r0
bhi _0801AF7A
ldr r0, _0801AF80 @ =gScreenTransition
ldr r0, _0801AF80 @ =gRoomTransition
adds r0, #0x30
ldrb r0, [r0]
cmp r0, #0
@@ -3320,7 +3320,7 @@ _0801AF7A:
pop {r4, r5, r6, pc}
.align 2, 0
_0801AF7C: .4byte 0x00003FFF
_0801AF80: .4byte gScreenTransition
_0801AF80: .4byte gRoomTransition
_0801AF84: .4byte gRoomVars
_0801AF88: .4byte gUnk_0200B240
-717
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
+12 -8
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
@@ -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 ChangeObjPalette
ChangeObjPalette: @ 0x0801D2B4
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
bl UnloadOBJPalette
adds r0, r4, #0
adds r1, r5, #0
bl LoadObjPalette
pop {r4, r5, pc}
thumb_func_start LoadObjPaletteAtIndex
LoadObjPaletteAtIndex: @ 0x0801D2C8
push {r4, lr}
adds r3, r0, #0
ldr r2, _0801D2F8 @ =gUsedPalettes
adds r4, r1, #0
adds r4, #0x10
movs r1, #1
lsls r1, r4
ldr r0, [r2]
orrs r0, r1
str r0, [r2]
cmp r3, #5
bls _0801D33C
cmp r3, #0x15
bne _0801D300
ldr r2, _0801D2FC @ =gPaletteBuffer
adds r0, r2, #0
adds r0, #0x78
ldrh r0, [r0]
lsls r1, r4, #5
adds r1, r1, r2
movs r2, #0x20
bl MemFill16
b _0801D33C
.align 2, 0
_0801D2F8: .4byte gUsedPalettes
_0801D2FC: .4byte gPaletteBuffer
_0801D300:
cmp r3, #0x14
bhi _0801D31C
subs r0, r3, #6
lsls r0, r0, #5
ldr r1, _0801D318 @ =gPaletteBuffer
adds r0, r0, r1
adds r1, r4, #0
movs r2, #1
bl LoadPalettes
b _0801D33C
.align 2, 0
_0801D318: .4byte gPaletteBuffer
_0801D31C:
ldr r1, _0801D340 @ =gUnk_08133368
adds r0, r3, #0
subs r0, #0x16
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
lsrs r2, r0, #0x18
movs r1, #0xf
ands r2, r1
ldr r1, _0801D344 @ =0x00FFFFFF
ands r0, r1
ldr r1, _0801D348 @ =gGlobalGfxAndPalettes
adds r0, r0, r1
adds r1, r4, #0
bl LoadPalettes
_0801D33C:
pop {r4, pc}
.align 2, 0
_0801D340: .4byte gUnk_08133368
_0801D344: .4byte 0x00FFFFFF
_0801D348: .4byte gGlobalGfxAndPalettes
thumb_func_start CleanUpObjPalettes
CleanUpObjPalettes: @ 0x0801D34C
push {r4, r5, r6, r7, lr}
sub sp, #0x10
movs r2, #0
movs r3, #0
ldr r1, _0801D37C @ =gPaletteList
_0801D356:
mov r4, sp
adds r0, r4, r2
strb r2, [r0]
ldrb r0, [r1]
lsls r0, r0, #0x1c
lsrs r0, r0, #0x1c
cmp r0, #1
bgt _0801D370
cmp r0, #0
blt _0801D370
strb r3, [r1]
strb r3, [r1, #1]
strh r3, [r1, #2]
_0801D370:
adds r1, #4
adds r2, #1
cmp r2, #0xf
bls _0801D356
movs r4, #6
b _0801D390
.align 2, 0
_0801D37C: .4byte gPaletteList
_0801D380:
cmp r4, r1
ble _0801D390
mov r2, sp
adds r0, r2, r4
strb r1, [r0]
adds r0, r4, #0
bl sub_0801D48C
_0801D390:
adds r0, r4, #1
bl sub_0801D458
adds r4, r0, #0
cmp r4, #0
beq _0801D3AC
movs r0, #1
bl FindFreeObjPalette
adds r1, r0, #0
movs r0, #1
rsbs r0, r0, #0
cmp r1, r0
bne _0801D380
_0801D3AC:
movs r1, #0
ldr r4, _0801D450 @ =gEntityLists
mov ip, r4
_0801D3B2:
lsls r0, r1, #3
mov r2, ip
adds r3, r0, r2
adds r0, r3, #0
ldr r3, [r3, #4]
adds r5, r1, #1
cmp r0, r3
beq _0801D444
movs r7, #0x10
rsbs r7, r7, #0
adds r4, r0, #0
ldr r6, _0801D454 @ =gUnk_020000C0
_0801D3CA:
ldrb r0, [r3, #8]
cmp r0, #9
beq _0801D43E
adds r1, r3, #0
adds r1, #0x28
ldrb r0, [r1]
subs r0, #1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x7e
bhi _0801D40C
ldrb r1, [r1]
lsls r1, r1, #6
adds r1, r1, r6
ldrb r0, [r1, #5]
add r0, sp
ldrb r0, [r0]
strb r0, [r1, #5]
ldrb r0, [r1, #0x15]
add r0, sp
ldrb r0, [r0]
strb r0, [r1, #0x15]
adds r2, r1, #0
adds r2, #0x25
ldrb r0, [r2]
add r0, sp
ldrb r0, [r0]
strb r0, [r2]
adds r1, #0x35
ldrb r0, [r1]
add r0, sp
ldrb r0, [r0]
strb r0, [r1]
_0801D40C:
adds r1, r3, #0
adds r1, #0x27
ldrb r0, [r1]
add r0, sp
ldrb r0, [r0]
strb r0, [r1]
ldrb r2, [r3, #0x1a]
lsls r0, r2, #0x1c
lsrs r0, r0, #0x1c
add r0, sp
ldrb r1, [r0]
movs r0, #0xf
ands r1, r0
adds r0, r7, #0
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x1a]
lsrs r1, r0, #4
add r1, sp
ldrb r2, [r1]
lsls r2, r2, #4
movs r1, #0xf
ands r0, r1
orrs r0, r2
strb r0, [r3, #0x1a]
_0801D43E:
ldr r3, [r3, #4]
cmp r4, r3
bne _0801D3CA
_0801D444:
adds r1, r5, #0
cmp r1, #8
bls _0801D3B2
add sp, #0x10
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801D450: .4byte gEntityLists
_0801D454: .4byte gUnk_020000C0
thumb_func_start sub_0801D458
sub_0801D458: @ 0x0801D458
push {lr}
adds r2, r0, #0
cmp r2, #0xf
bhi _0801D488
ldr r1, _0801D47C @ =gPaletteList
lsls r0, r2, #2
adds r1, r0, r1
_0801D466:
ldrb r0, [r1]
lsls r0, r0, #0x1c
lsrs r0, r0, #0x1c
cmp r0, #0
blt _0801D478
cmp r0, #1
ble _0801D480
cmp r0, #4
beq _0801D480
_0801D478:
adds r0, r2, #0
b _0801D48A
.align 2, 0
_0801D47C: .4byte gPaletteList
_0801D480:
adds r1, #4
adds r2, #1
cmp r2, #0xf
bls _0801D466
_0801D488:
movs r0, #0
_0801D48A:
pop {pc}
thumb_func_start sub_0801D48C
sub_0801D48C: @ 0x0801D48C
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
sub sp, #4
adds r6, r0, #0
adds r3, r1, #0
ldr r0, _0801D50C @ =gPaletteList
mov r8, r0
lsls r0, r6, #2
mov r1, r8
adds r4, r0, r1
ldrb r0, [r4]
lsrs r5, r0, #4
subs r5, #1
movs r0, #1
rsbs r0, r0, #0
cmp r5, r0
beq _0801D4F8
ldr r2, _0801D510 @ =gPaletteBuffer
lsls r0, r3, #5
movs r1, #0x80
lsls r1, r1, #2
adds r0, r0, r1
adds r7, r0, r2
lsls r0, r3, #2
add r8, r0
lsls r0, r6, #5
adds r0, r0, r1
adds r6, r0, r2
movs r3, #0
_0801D4C8:
ldr r0, [r4]
mov r1, r8
adds r1, #4
mov r8, r1
subs r1, #4
stm r1!, {r0}
strb r3, [r4]
strb r3, [r4, #1]
strh r3, [r4, #2]
adds r0, r6, #0
adds r1, r7, #0
movs r2, #0x20
str r3, [sp]
bl MemCopy
adds r6, #0x20
adds r4, #4
adds r7, #0x20
subs r5, #1
movs r0, #1
rsbs r0, r0, #0
ldr r3, [sp]
cmp r5, r0
bne _0801D4C8
_0801D4F8:
ldr r0, _0801D514 @ =gUsedPalettes
ldr r1, [r0]
ldr r2, _0801D518 @ =0xFFFF0000
orrs r1, r2
str r1, [r0]
add sp, #4
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801D50C: .4byte gPaletteList
_0801D510: .4byte gPaletteBuffer
_0801D514: .4byte gUsedPalettes
_0801D518: .4byte 0xFFFF0000
thumb_func_start sub_0801D51C
sub_0801D51C: @ 0x0801D51C
push {r4, lr}
adds r2, r0, #0
ldr r0, _0801D58C @ =0x05F5E0FF
cmp r2, r0
bhi _0801D5A0
ldr r1, _0801D590 @ =0x00989680
adds r0, r2, #0
bl Div
adds r4, r0, #0
lsls r4, r4, #0x1c
ldr r2, _0801D594 @ =0x000F4240
adds r0, r1, #0
adds r1, r2, #0
bl Div
lsls r0, r0, #0x18
adds r4, r4, r0
ldr r2, _0801D598 @ =0x000186A0
adds r0, r1, #0
adds r1, r2, #0
bl Div
lsls r0, r0, #0x14
adds r4, r4, r0
ldr r2, _0801D59C @ =0x00002710
adds r0, r1, #0
adds r1, r2, #0
bl Div
lsls r0, r0, #0x10
adds r4, r4, r0
movs r2, #0xfa
lsls r2, r2, #2
adds r0, r1, #0
adds r1, r2, #0
bl Div
lsls r0, r0, #0xc
adds r4, r4, r0
adds r0, r1, #0
movs r1, #0x64
bl Div
lsls r0, r0, #8
adds r4, r4, r0
adds r0, r1, #0
movs r1, #0xa
bl Div
lsls r0, r0, #4
adds r4, r4, r0
adds r4, r4, r1
adds r0, r4, #0
b _0801D5A2
.align 2, 0
_0801D58C: .4byte 0x05F5E0FF
_0801D590: .4byte 0x00989680
_0801D594: .4byte 0x000F4240
_0801D598: .4byte 0x000186A0
_0801D59C: .4byte 0x00002710
_0801D5A0:
ldr r0, _0801D5A4 @ =0x99999999
_0801D5A2:
pop {r4, pc}
.align 2, 0
_0801D5A4: .4byte 0x99999999
thumb_func_start ReadBit
ReadBit: @ 0x0801D5A8
lsrs r2, r1, #3
adds r0, r0, r2
ldrb r0, [r0]
movs r2, #7
ands r2, r1
asrs r0, r2
movs r1, #1
ands r0, r1
bx lr
.align 2, 0
thumb_func_start WriteBit
WriteBit: @ 0x0801D5BC
lsrs r2, r1, #3
adds r3, r0, r2
movs r2, #7
ands r1, r2
movs r2, #1
lsls r2, r1
ldrb r0, [r3]
adds r1, r0, #0
orrs r1, r2
strb r1, [r3]
ands r0, r2
bx lr
thumb_func_start ClearBit
ClearBit: @ 0x0801D5D4
lsrs r2, r1, #3
adds r3, r0, r2
movs r2, #7
ands r1, r2
movs r2, #1
lsls r2, r1
ldrb r0, [r3]
adds r1, r0, #0
bics r1, r2
strb r1, [r3]
ands r0, r2
bx lr
-2677
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
+39 -39
View File
@@ -6,8 +6,8 @@
.text
thumb_func_start sub_08053590
sub_08053590: @ 0x08053590
thumb_func_start CutsceneMain_Init
CutsceneMain_Init: @ 0x08053590
push {lr}
ldr r1, _080535A4 @ =gUnk_080FCBB4
ldr r0, _080535A8 @ =gMenu
@@ -42,7 +42,7 @@ sub_080535AC: @ 0x080535AC
bl LoadRoomEntityList
movs r0, #6
movs r1, #8
bl DoFade
bl SetFade
pop {pc}
.align 2, 0
_080535DC: .4byte gMenu
@@ -175,7 +175,7 @@ sub_080536B8: @ 0x080536B8
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
bl SetFade
pop {pc}
.align 2, 0
@@ -224,7 +224,7 @@ sub_0805370C: @ 0x0805370C
bl LoadRoomEntityList
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {pc}
.align 2, 0
_08053730: .4byte gMenu
@@ -306,7 +306,7 @@ sub_08053758: @ 0x08053758
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_080537DC: .4byte gMenu
@@ -376,7 +376,7 @@ sub_08053800: @ 0x08053800
strh r1, [r0]
ldrh r1, [r4, #0xa]
movs r0, #4
bl DoFade
bl SetFade
_0805387A:
pop {r4, r5, pc}
.align 2, 0
@@ -409,7 +409,7 @@ sub_08053894: @ 0x08053894
_080538B4: .4byte gFadeControl
_080538B8: .4byte gMenu
_080538BC:
ldr r0, _080538FC @ =gScreenTransition
ldr r0, _080538FC @ =gRoomTransition
ldr r0, [r0]
movs r1, #1
ands r0, r1
@@ -438,11 +438,11 @@ _080538E4:
strb r0, [r4, #6]
movs r0, #5
movs r1, #8
bl DoFade
bl SetFade
_080538F8:
pop {r4, pc}
.align 2, 0
_080538FC: .4byte gScreenTransition
_080538FC: .4byte gRoomTransition
_08053900: .4byte gScreen
thumb_func_start sub_08053904
@@ -467,7 +467,7 @@ sub_08053904: @ 0x08053904
_08053924: .4byte gFadeControl
_08053928: .4byte gMenu
_0805392C:
ldr r0, _0805396C @ =gScreenTransition
ldr r0, _0805396C @ =gRoomTransition
ldr r0, [r0]
movs r1, #1
ands r0, r1
@@ -496,11 +496,11 @@ _08053954:
strb r0, [r4, #6]
movs r0, #5
movs r1, #1
bl DoFade
bl SetFade
_08053968:
pop {r4, pc}
.align 2, 0
_0805396C: .4byte gScreenTransition
_0805396C: .4byte gRoomTransition
_08053970: .4byte gScreen
thumb_func_start sub_08053974
@@ -513,14 +513,14 @@ sub_08053974: @ 0x08053974
bl InitFade
movs r0, #1
bl DispReset
bl sub_080197AC
bl SetBGDefaults
bl sub_08051F78
ldr r0, _080539B0 @ =gUnk_080FCBC4
bl LoadRoomEntityList
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
bl SetFade
ldr r1, _080539B4 @ =gMenu
ldrb r0, [r1, #6]
adds r0, #1
@@ -540,7 +540,7 @@ nullsub_482: @ 0x080539B8
thumb_func_start sub_080539BC
sub_080539BC: @ 0x080539BC
push {lr}
bl sub_080197AC
bl SetBGDefaults
bl DeleteAllEntities
movs r0, #0x22
movs r1, #0x11
@@ -606,7 +606,7 @@ sub_08053A1C: @ 0x08053A1C
strb r4, [r1, #7]
movs r0, #4
movs r1, #8
bl DoFade
bl SetFade
_08053A4E:
pop {r4, pc}
.align 2, 0
@@ -635,7 +635,7 @@ sub_08053A5C: @ 0x08053A5C
strb r0, [r1, #6]
movs r0, #5
movs r1, #8
bl DoFade
bl SetFade
_08053A86:
pop {pc}
.align 2, 0
@@ -652,7 +652,7 @@ sub_08053A90: @ 0x08053A90
ldr r1, _08053AAC @ =gUnk_02032EC0
movs r0, #3
strb r0, [r1]
bl sub_080197AC
bl SetBGDefaults
_08053AA4:
pop {pc}
.align 2, 0
@@ -690,7 +690,7 @@ sub_08053ACC: @ 0x08053ACC
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
bl SetFade
pop {pc}
.align 2, 0
_08053AF4: .4byte gMenu
@@ -723,7 +723,7 @@ sub_08053B10: @ 0x08053B10
movs r1, #0x80
lsls r1, r1, #1
movs r0, #4
bl DoFade
bl SetFade
_08053B34:
pop {pc}
.align 2, 0
@@ -741,7 +741,7 @@ sub_08053B3C: @ 0x08053B3C
bl sub_080A71C4
movs r0, #5
adds r1, r4, #0
bl DoFade
bl SetFade
pop {r4, pc}
thumb_func_start sub_08053B58
@@ -776,7 +776,7 @@ sub_08053B74: @ 0x08053B74
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
bl SetFade
pop {pc}
.align 2, 0
_08053BA0: .4byte gMenu
@@ -809,7 +809,7 @@ sub_08053BBC: @ 0x08053BBC
movs r1, #0x80
lsls r1, r1, #1
movs r0, #4
bl DoFade
bl SetFade
_08053BE0:
pop {pc}
.align 2, 0
@@ -827,7 +827,7 @@ sub_08053BE8: @ 0x08053BE8
bl sub_080A71C4
movs r0, #5
adds r1, r4, #0
bl DoFade
bl SetFade
pop {r4, pc}
thumb_func_start sub_08053C04
@@ -862,7 +862,7 @@ sub_08053C20: @ 0x08053C20
bl LoadRoomEntityList
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
movs r0, #0x33
bl SoundReq
pop {pc}
@@ -881,13 +881,13 @@ sub_08053C60: @ 0x08053C60
push {lr}
movs r0, #5
movs r1, #2
bl DoFade
bl SetFade
movs r0, #0xf4
bl SoundReq
ldr r0, _08053C80 @ =0x80100000
bl SoundReq
movs r0, #3
bl InitScreen
bl SetTask
pop {pc}
.align 2, 0
_08053C80: .4byte 0x80100000
@@ -901,8 +901,8 @@ sub_08053C84: @ 0x08053C84
.align 2, 0
_08053C8C: .4byte gMenu
thumb_func_start sub_08053C90
sub_08053C90: @ 0x08053C90
thumb_func_start CutsceneMain_Exit
CutsceneMain_Exit: @ 0x08053C90
push {lr}
ldr r1, _08053CA4 @ =gUnk_080FCEF8
ldr r0, _08053CA8 @ =gMenu
@@ -965,7 +965,7 @@ sub_08053CC8: @ 0x08053CC8
strb r5, [r0]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
ldrb r0, [r4, #5]
cmp r0, #0x1d
bne _08053D1E
@@ -1040,7 +1040,7 @@ sub_08053D90: @ 0x08053D90
adds r0, #1
strb r0, [r1, #6]
movs r0, #0x10
bl sub_080500F4
bl SetFadeInverted
_08053DAC:
pop {pc}
.align 2, 0
@@ -1091,7 +1091,7 @@ sub_08053DB4: @ 0x08053DB4
adds r0, #1
strb r0, [r5, #6]
movs r0, #0x10
bl sub_080500F4
bl SetFadeInverted
_08053E1C:
pop {r4, r5, pc}
.align 2, 0
@@ -1165,7 +1165,7 @@ sub_08053E74: @ 0x08053E74
bl SetMinPriority
movs r0, #4
movs r1, #8
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08053EB0: .4byte gUnk_080FCFB8
@@ -1217,7 +1217,7 @@ sub_08053EFC: @ 0x08053EFC
adds r0, #1
strb r0, [r1, #6]
movs r0, #8
bl sub_080500F4
bl SetFadeInverted
_08053F18:
pop {pc}
.align 2, 0
@@ -1261,7 +1261,7 @@ sub_08053F20: @ 0x08053F20
adds r0, #1
strb r0, [r5, #6]
movs r0, #8
bl sub_080500F4
bl SetFadeInverted
_08053F74:
pop {r4, r5, pc}
.align 2, 0
@@ -1294,8 +1294,8 @@ _08053FAA:
_08053FAC: .4byte gFadeControl
_08053FB0: .4byte gMenu
thumb_func_start sub_08053FB4
sub_08053FB4: @ 0x08053FB4
thumb_func_start CutsceneMain_Update
CutsceneMain_Update: @ 0x08053FB4
push {lr}
ldr r1, _08053FC8 @ =gUnk_080FD138
ldr r0, _08053FCC @ =gMenu
@@ -1537,7 +1537,7 @@ _080541AA:
movs r0, #0x63
bl ModBombs
_080541B0:
bl sub_08053390
bl LoadItemGfx
b _0805427C
_080541B6:
cmp r5, #0
+8 -8
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,7 +129,7 @@ sub_08054974: @ 0x08054974
strb r0, [r4, #4]
ldrb r0, [r6, #3]
strb r0, [r4, #5]
bl sub_08053320
bl LoadGfxGroups
ldrb r0, [r4, #4]
bl GetFlagBankOffset
ldr r1, _080549B8 @ =gArea
@@ -138,7 +138,7 @@ sub_08054974: @ 0x08054974
beq _080549BC
ldrb r0, [r6, #2]
ldrb r1, [r6, #3]
bl sub_08052FD8
bl LoadAuxiliaryRoom
b _080549CE
.align 2, 0
_080549B0: .4byte gUnk_080FE320
+37 -37
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]
@@ -526,7 +526,7 @@ _08054FCA:
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
strh r4, [r6, #0xa]
movs r0, #0x80
lsls r0, r0, #3
@@ -599,7 +599,7 @@ sub_08055054: @ 0x08055054
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055080: .4byte gUnk_080FF128
@@ -654,7 +654,7 @@ sub_080550B0: @ 0x080550B0
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_080550E8: .4byte gMenu
@@ -707,7 +707,7 @@ _0805512A:
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055150: .4byte gUnk_080FF17C
@@ -798,7 +798,7 @@ sub_08055184: @ 0x08055184
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r3}
mov r8, r3
pop {r4, r5, r6, pc}
@@ -853,7 +853,7 @@ sub_0805524C: @ 0x0805524C
.align 2, 0
_08055270: .4byte gMenu
_08055274:
ldr r0, _080552A4 @ =gScreenTransition
ldr r0, _080552A4 @ =gRoomTransition
ldr r0, [r0]
movs r1, #7
ands r0, r1
@@ -877,7 +877,7 @@ _08055274:
strh r0, [r1]
b _080552D6
.align 2, 0
_080552A4: .4byte gScreenTransition
_080552A4: .4byte gRoomTransition
_080552A8: .4byte gUnk_080FF204
_080552AC: .4byte 0x0000FFFF
_080552B0: .4byte gScreen
@@ -959,7 +959,7 @@ sub_08055318: @ 0x08055318
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055348: .4byte gMenu
@@ -978,7 +978,7 @@ sub_08055350: @ 0x08055350
beq _08055374
movs r0, #7
movs r1, #0x10
bl DoFade
bl SetFade
ldr r1, _0805537C @ =gMenu
ldrb r0, [r1, #6]
adds r0, #1
@@ -1002,7 +1002,7 @@ sub_08055380: @ 0x08055380
bl sub_08054974
movs r0, #6
movs r1, #0x10
bl DoFade
bl SetFade
movs r0, #0x73
bl SoundReq
ldrb r0, [r4, #6]
@@ -1102,7 +1102,7 @@ sub_08055430: @ 0x08055430
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055460: .4byte gMenu
@@ -1121,7 +1121,7 @@ sub_08055468: @ 0x08055468
beq _0805548C
movs r0, #7
movs r1, #0x10
bl DoFade
bl SetFade
ldr r1, _08055494 @ =gMenu
ldrb r0, [r1, #6]
adds r0, #1
@@ -1147,7 +1147,7 @@ sub_08055498: @ 0x08055498
bl sub_080553E0
movs r0, #6
movs r1, #0x10
bl DoFade
bl SetFade
movs r0, #0x73
bl SoundReq
ldrb r0, [r4, #6]
@@ -1216,7 +1216,7 @@ sub_08055518: @ 0x08055518
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055540: .4byte gMenu
@@ -1313,7 +1313,7 @@ sub_080555B8: @ 0x080555B8
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, r5, pc}
.align 2, 0
_08055600: .4byte gMenu
@@ -1430,7 +1430,7 @@ sub_080556AC: @ 0x080556AC
bl sub_08055B70
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_080556E4: .4byte gMenu
@@ -1491,7 +1491,7 @@ _08055734:
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_0805575C: .4byte gMenu
@@ -1578,7 +1578,7 @@ sub_080557D0: @ 0x080557D0
bl sub_08055B70
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055808: .4byte gMenu
@@ -1631,7 +1631,7 @@ _0805584A:
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055870: .4byte gUnk_080FF2C0
@@ -1683,7 +1683,7 @@ sub_080558A4: @ 0x080558A4
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_080558DC: .4byte gMenu
@@ -1734,7 +1734,7 @@ sub_08055908: @ 0x08055908
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, r5, pc}
.align 2, 0
_08055940: .4byte gMenu
@@ -1859,7 +1859,7 @@ _08055A0E:
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055A30: .4byte gMenu
@@ -1879,7 +1879,7 @@ sub_08055A3C: @ 0x08055A3C
beq _08055A60
movs r0, #7
movs r1, #0x10
bl DoFade
bl SetFade
ldr r1, _08055A68 @ =gMenu
ldrb r0, [r1, #6]
adds r0, #1
@@ -1905,7 +1905,7 @@ sub_08055A6C: @ 0x08055A6C
bl sub_080553E0
movs r0, #6
movs r1, #0x10
bl DoFade
bl SetFade
movs r0, #0x73
bl SoundReq
ldrb r0, [r4, #6]
@@ -1986,7 +1986,7 @@ _08055B14:
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055B2C: .4byte gMenu
@@ -2095,7 +2095,7 @@ sub_08055BCC: @ 0x08055BCC
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055BFC: .4byte gMenu
@@ -2114,7 +2114,7 @@ sub_08055C04: @ 0x08055C04
beq _08055C28
movs r0, #7
movs r1, #0x10
bl DoFade
bl SetFade
ldr r1, _08055C30 @ =gMenu
ldrb r0, [r1, #6]
adds r0, #1
@@ -2168,7 +2168,7 @@ _08055C6C:
_08055C8C:
movs r0, #6
movs r1, #0x10
bl DoFade
bl SetFade
movs r0, #0x73
bl SoundReq
ldr r0, _08055CAC @ =gMenu
@@ -2242,7 +2242,7 @@ sub_08055CF4: @ 0x08055CF4
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {r4, pc}
.align 2, 0
_08055D24: .4byte gMenu
@@ -2321,7 +2321,7 @@ sub_08055D9C: @ 0x08055D9C
strb r0, [r1]
movs r0, #4
movs r1, #0x10
bl DoFade
bl SetFade
pop {pc}
.align 2, 0
_08055DB8: .4byte gMenu
-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
-4332
View File
File diff suppressed because it is too large Load Diff
+8 -8
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
@@ -558,7 +558,7 @@ _08078418:
bl CreateEzloHint
_08078420:
movs r0, #0x13
bl sub_08078160
bl ForceSetPlayerState
b _080784C4
.align 2, 0
_08078428: .4byte 0x00000B65
@@ -599,7 +599,7 @@ _08078484:
movs r0, #7
strb r0, [r4, #0xc]
movs r0, #0x13
bl sub_08078160
bl ForceSetPlayerState
_0807848E:
adds r1, r6, #0
adds r1, #0x39
+43 -43
View File
@@ -310,7 +310,7 @@ CreateEzloHint: @ 0x08078AA8
ldr r3, _08078AB8 @ =gPlayerState
movs r2, #0x16
strb r2, [r3, #0xc]
ldr r2, _08078ABC @ =gScreenTransition
ldr r2, _08078ABC @ =gRoomTransition
strh r0, [r2, #0x36]
.ifdef JP
adds r2, #0x34
@@ -325,7 +325,7 @@ CreateEzloHint: @ 0x08078AA8
bx lr
.align 2, 0
_08078AB8: .4byte gPlayerState
_08078ABC: .4byte gScreenTransition
_08078ABC: .4byte gRoomTransition
thumb_func_start sub_08078AC0
sub_08078AC0: @ 0x08078AC0
@@ -391,7 +391,7 @@ sub_08078AF0: @ 0x08078AF0
movs r1, #2
orrs r0, r1
strb r0, [r2, #0x11]
bl sub_0807A108
bl DeleteClones
pop {r4, pc}
.align 2, 0
_08078B40: .4byte gPlayerState
@@ -556,8 +556,8 @@ sub_08078C24: @ 0x08078C24
_08078CAC: .4byte gPlayerState
_08078CB0: .4byte gUnk_03003DF0
thumb_func_start sub_08078CB4
sub_08078CB4: @ 0x08078CB4
thumb_func_start UpdateCarriedObject
UpdateCarriedObject: @ 0x08078CB4
push {lr}
ldr r0, _08078CCC @ =gPlayerState
ldrb r0, [r0, #5]
@@ -744,7 +744,7 @@ _08078DE0:
ands r0, r1
cmp r0, #2
bne _08078E82
ldr r0, _08078E38 @ =gScreenTransition
ldr r0, _08078E38 @ =gRoomTransition
ldr r1, [r0]
movs r0, #3
ands r1, r0
@@ -755,7 +755,7 @@ _08078DE0:
b _08078E82
.align 2, 0
_08078E34: .4byte gPlayerState
_08078E38: .4byte gScreenTransition
_08078E38: .4byte gRoomTransition
_08078E3C:
ldrh r0, [r4, #0x2e]
adds r0, #1
@@ -862,8 +862,8 @@ sub_08078EE4: @ 0x08078EE4
_08078EF4: .4byte gPlayerEntity
_08078EF8: .4byte gPlayerState
thumb_func_start sub_08078EFC
sub_08078EFC: @ 0x08078EFC
thumb_func_start RunQueuedAction
RunQueuedAction: @ 0x08078EFC
push {lr}
ldr r3, _08078F18 @ =gPlayerState
ldrb r2, [r3, #0xc]
@@ -894,7 +894,7 @@ sub_08078F24: @ 0x08078F24
ands r0, r3
cmp r0, #0
beq _08078F3C
bl sub_08078F60
bl ResetPlayerVelocity
b _08078F5A
.align 2, 0
_08078F38: .4byte gPlayerState
@@ -919,8 +919,8 @@ _08078F5A:
.align 2, 0
_08078F5C: .4byte gSineTable
thumb_func_start sub_08078F60
sub_08078F60: @ 0x08078F60
thumb_func_start ResetPlayerVelocity
ResetPlayerVelocity: @ 0x08078F60
ldr r0, _08078F70 @ =gPlayerState
adds r1, r0, #0
adds r1, #0x8c
@@ -1239,7 +1239,7 @@ sub_0807919C: @ 0x0807919C
ands r0, r1
cmp r0, #0
bne _080791B4
bl sub_080791BC
bl SetPlayerActionNormal
b _080791B8
.align 2, 0
_080791B0: .4byte gPlayerState
@@ -1249,8 +1249,8 @@ _080791B8:
pop {pc}
.align 2, 0
thumb_func_start sub_080791BC
sub_080791BC: @ 0x080791BC
thumb_func_start SetPlayerActionNormal
SetPlayerActionNormal: @ 0x080791BC
ldr r0, _080791CC @ =gPlayerEntity
movs r2, #0
movs r1, #1
@@ -1261,8 +1261,8 @@ sub_080791BC: @ 0x080791BC
.align 2, 0
_080791CC: .4byte gPlayerEntity
thumb_func_start sub_080791D0
sub_080791D0: @ 0x080791D0
thumb_func_start ResetPlayerAnimationAndAction
ResetPlayerAnimationAndAction: @ 0x080791D0
push {lr}
ldr r3, _0807920C @ =gPlayerState
ldr r0, [r3, #0x30]
@@ -1318,8 +1318,8 @@ sub_0807921C: @ 0x0807921C
ldr r1, _08079254 @ =0xFECBF6FA
ands r0, r1
str r0, [r2, #0x30]
bl sub_08079938
bl sub_080791BC
bl ResolvePlayerAnimation
bl SetPlayerActionNormal
adds r0, r4, #0
bl sub_0805E374
pop {r4, pc}
@@ -2248,8 +2248,8 @@ _0807992E:
_08079930: .4byte gPlayerState
_08079934: .4byte gPlayerEntity
thumb_func_start sub_08079938
sub_08079938: @ 0x08079938
thumb_func_start ResolvePlayerAnimation
ResolvePlayerAnimation: @ 0x08079938
push {r4, lr}
ldr r3, _08079954 @ =gPlayerState
ldr r2, [r3, #0x30]
@@ -2865,8 +2865,8 @@ _08079DFC: .4byte gPlayerEntity
_08079E00: .4byte gPlayerState
_08079E04: .4byte 0x00000193
thumb_func_start sub_08079E08
sub_08079E08: @ 0x08079E08
thumb_func_start UpdatePlayerMovement
UpdatePlayerMovement: @ 0x08079E08
push {r4, lr}
ldr r0, _08079E50 @ =gPlayerEntity
ldrh r2, [r0, #0x24]
@@ -3279,10 +3279,10 @@ _0807A104:
adds r0, r2, #0
pop {r4, r5, pc}
thumb_func_start sub_0807A108
sub_0807A108: @ 0x0807A108
thumb_func_start DeleteClones
DeleteClones: @ 0x0807A108
push {lr}
ldr r1, _0807A148 @ =gUnk_03004040
ldr r1, _0807A148 @ =gPlayerClones
movs r0, #0
str r0, [r1]
str r0, [r1, #4]
@@ -3315,7 +3315,7 @@ _0807A130:
_0807A144:
pop {pc}
.align 2, 0
_0807A148: .4byte gUnk_03004040
_0807A148: .4byte gPlayerClones
_0807A14C: .4byte gPlayerState
_0807A150: .4byte 0xFFBFFFFF
_0807A154: .4byte gPlayerEntity
@@ -3483,8 +3483,8 @@ _0807A28C: .4byte gPlayerEntity
_0807A290: .4byte gPlayerState
_0807A294: .4byte gUnk_08007CAC
thumb_func_start sub_0807A298
sub_0807A298: @ 0x0807A298
thumb_func_start EnablePlayerDraw
EnablePlayerDraw: @ 0x0807A298
movs r1, #0
strb r1, [r0, #0xb]
ldrb r1, [r0, #0x18]
@@ -3722,7 +3722,7 @@ _0807A468:
cmp r2, #0
beq _0807A4F2
_0807A46E:
bl CheckIsDungeon
bl AreaIsDungeon
cmp r0, #0
beq _0807A4B0
ldr r4, _0807A4AC @ =gPlayerEntity
@@ -5105,7 +5105,7 @@ _0807AEA8:
ands r0, r1
cmp r0, #0
beq _0807AECC
ldr r0, _0807AEC8 @ =gScreenTransition
ldr r0, _0807AEC8 @ =gRoomTransition
ldr r0, [r0]
movs r1, #0xf
ands r0, r1
@@ -5116,9 +5116,9 @@ _0807AEA8:
bl sub_080A2A84
b _0807AEDE
.align 2, 0
_0807AEC8: .4byte gScreenTransition
_0807AEC8: .4byte gRoomTransition
_0807AECC:
ldr r0, _0807AEE0 @ =gScreenTransition
ldr r0, _0807AEE0 @ =gRoomTransition
ldr r0, [r0]
movs r1, #7
ands r0, r1
@@ -5129,10 +5129,10 @@ _0807AECC:
_0807AEDE:
pop {r4, pc}
.align 2, 0
_0807AEE0: .4byte gScreenTransition
_0807AEE0: .4byte gRoomTransition
thumb_func_start sub_0807AEE4
sub_0807AEE4: @ 0x0807AEE4
thumb_func_start UpdatePlayerSkills
UpdatePlayerSkills: @ 0x0807AEE4
push {r4, lr}
ldr r0, _0807AFE4 @ =gPlayerState
adds r4, r0, #0
@@ -5471,7 +5471,7 @@ sub_0807B144: @ 0x0807B144
ldr r1, _0807B170 @ =gPlayerState
movs r0, #0x81
strb r0, [r1, #2]
bl sub_080791BC
bl SetPlayerActionNormal
pop {pc}
.align 2, 0
_0807B170: .4byte gPlayerState
@@ -5501,7 +5501,7 @@ sub_0807B178: @ 0x0807B178
ldr r1, _0807B1A4 @ =gPlayerState
movs r0, #0x81
strb r0, [r1, #2]
bl sub_080791BC
bl SetPlayerActionNormal
pop {pc}
.align 2, 0
_0807B1A4: .4byte gPlayerState
@@ -5518,7 +5518,7 @@ sub_0807B1A8: @ 0x0807B1A8
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
ldr r0, _0807B1D8 @ =gScreenTransition
ldr r0, _0807B1D8 @ =gRoomTransition
ldr r0, [r0]
movs r1, #7
ands r0, r1
@@ -5530,7 +5530,7 @@ _0807B1D0:
pop {r4, pc}
.align 2, 0
_0807B1D4: .4byte gUnk_0811C298
_0807B1D8: .4byte gScreenTransition
_0807B1D8: .4byte gRoomTransition
thumb_func_start sub_0807B1DC
sub_0807B1DC: @ 0x0807B1DC
@@ -5581,13 +5581,13 @@ sub_0807B21C: @ 0x0807B21C
movs r1, #0x80
lsls r1, r1, #3
adds r0, r4, #0
bl sub_08003FC4
bl GravityUpdate
b _0807B240
_0807B236:
movs r1, #0x80
lsls r1, r1, #4
adds r0, r4, #0
bl sub_08003FC4
bl GravityUpdate
_0807B240:
ldr r1, [r4, #0x20]
ldr r0, _0807B260 @ =0xFFFF8000
@@ -5659,7 +5659,7 @@ sub_0807B2B8: @ 0x0807B2B8
push {r4, lr}
adds r4, r0, #0
ldr r1, _0807B2F0 @ =0xFFFFE000
bl sub_08003FC4
bl GravityUpdate
adds r0, r4, #0
bl UpdateAnimationSingleFrame
ldrb r0, [r4, #0xe]
+10 -10
View File
@@ -931,8 +931,8 @@ _0807C0D0: .4byte gPaletteBuffer
_0807C0D4: .4byte gUsedPalettes
_0807C0D8: .4byte 0x000007FF
thumb_func_start sub_0807C0DC
sub_0807C0DC: @ 0x0807C0DC
thumb_func_start LoadRoomGfx
LoadRoomGfx: @ 0x0807C0DC
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
@@ -1003,7 +1003,7 @@ _0807C178:
movs r3, #1
mov sb, r3
_0807C184:
ldr r0, _0807C1B0 @ =gScreenTransition
ldr r0, _0807C1B0 @ =gRoomTransition
adds r0, #0x2d
ldrb r0, [r0]
cmp r0, #0
@@ -1024,7 +1024,7 @@ _0807C184:
bl MemCopy
b _0807C26C
.align 2, 0
_0807C1B0: .4byte gScreenTransition
_0807C1B0: .4byte gRoomTransition
_0807C1B4: .4byte gMapDataBottom
_0807C1B8: .4byte gMapDataTop
_0807C1BC:
@@ -1710,7 +1710,7 @@ _0807C736:
sub_0807C740: @ 0x0807C740
push {r4, r5, lr}
bl sub_0807BFD0
bl sub_0807C0DC
bl LoadRoomGfx
ldr r4, _0807C780 @ =gRoomControls
ldr r2, [r4, #0x30]
cmp r2, #0
@@ -1859,7 +1859,7 @@ _0807C85C: .4byte gUpdateVisibleTiles
thumb_func_start sub_0807C860
sub_0807C860: @ 0x0807C860
push {r4, lr}
ldr r0, _0807C88C @ =gScreenTransition
ldr r0, _0807C88C @ =gRoomTransition
adds r0, #0x2d
movs r1, #1
strb r1, [r0]
@@ -1879,23 +1879,23 @@ sub_0807C860: @ 0x0807C860
bl MemCopy
pop {r4, pc}
.align 2, 0
_0807C88C: .4byte gScreenTransition
_0807C88C: .4byte gRoomTransition
_0807C890: .4byte gMapDataBottom
_0807C894: .4byte gMapDataTop
thumb_func_start sub_0807C898
sub_0807C898: @ 0x0807C898
push {r4, r5, lr}
ldr r4, _0807C8AC @ =gScreenTransition
ldr r4, _0807C8AC @ =gRoomTransition
adds r4, #0x2d
movs r5, #0
movs r0, #2
strb r0, [r4]
bl sub_0807C0DC
bl LoadRoomGfx
strb r5, [r4]
pop {r4, r5, pc}
.align 2, 0
_0807C8AC: .4byte gScreenTransition
_0807C8AC: .4byte gRoomTransition
thumb_func_start sub_0807C8B0
sub_0807C8B0: @ 0x0807C8B0
+6 -6
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
-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
-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
+7 -5
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
+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
+1 -1
View File
@@ -162,7 +162,7 @@ sub_0803350C: @ 0x0803350C
cmp r0, #0
bne _08033520
adds r0, r4, #0
bl sub_0806F69C
bl LinearMoveUpdate
_08033520:
adds r2, r4, #0
adds r2, #0x76
+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
@@ -607,6 +607,6 @@ _080388A8:
subs r0, #1
strb r0, [r1]
adds r0, r4, #0
bl sub_0806F69C
bl LinearMoveUpdate
_080388B2:
pop {r4, r5, r6, pc}
@@ -9,7 +9,7 @@
thumb_func_start sub_080300E8
sub_080300E8: @ 0x080300E8
push {lr}
ldr r1, _08030110 @ =gScreenTransition
ldr r1, _08030110 @ =gRoomTransition
adds r3, r1, #0
adds r3, #0xae
ldrh r0, [r3]
@@ -29,14 +29,14 @@ sub_080300E8: @ 0x080300E8
_0803010C:
pop {pc}
.align 2, 0
_08030110: .4byte gScreenTransition
_08030110: .4byte gRoomTransition
_08030114: .4byte gPlayerEntity
thumb_func_start sub_08030118
sub_08030118: @ 0x08030118
push {lr}
adds r2, r0, #0
ldr r0, _0803013C @ =gScreenTransition
ldr r0, _0803013C @ =gRoomTransition
adds r0, #0xac
ldrh r0, [r0]
asrs r0, r2
@@ -51,7 +51,7 @@ sub_08030118: @ 0x08030118
bl SetLocalFlagByBank
b _0803014C
.align 2, 0
_0803013C: .4byte gScreenTransition
_0803013C: .4byte gRoomTransition
_08030140:
movs r0, #0xc0
lsls r0, r0, #2
@@ -66,7 +66,7 @@ _0803014C:
sub_08030150: @ 0x08030150
push {r4, r5, lr}
mov ip, r0
ldr r2, _08030194 @ =gScreenTransition
ldr r2, _08030194 @ =gRoomTransition
adds r5, r2, #0
adds r5, #0xac
mov r3, ip
@@ -98,4 +98,4 @@ sub_08030150: @ 0x08030150
strh r1, [r0]
pop {r4, r5, pc}
.align 2, 0
_08030194: .4byte gScreenTransition
_08030194: .4byte gRoomTransition
+3 -3
View File
@@ -280,7 +280,7 @@ sub_080329E8: @ 0x080329E8
sub_080329F0: @ 0x080329F0
push {r4, lr}
adds r4, r0, #0
bl sub_080040A8
bl CheckOnScreen
cmp r0, #0
bne _08032A3A
movs r0, #4
@@ -326,7 +326,7 @@ _08032A46:
sub_08032A48: @ 0x08032A48
push {r4, r5, lr}
adds r4, r0, #0
bl sub_080040A8
bl CheckOnScreen
adds r5, r0, #0
cmp r5, #0
bne _08032AAE
@@ -431,7 +431,7 @@ sub_08032AF4: @ 0x08032AF4
sub_08032B10: @ 0x08032B10
push {r4, lr}
adds r4, r0, #0
bl sub_0806F69C
bl LinearMoveUpdate
adds r1, r4, #0
adds r1, #0x38
movs r0, #3
+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
+3 -3
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]
+4 -4
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
@@ -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
+2 -2
View File
@@ -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
+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
@@ -694,7 +694,7 @@ _0803A0CA:
movs r1, #0x80
lsls r1, r1, #6
adds r0, r4, #0
bl sub_08003FC4
bl GravityUpdate
cmp r0, #0
bne _0803A0DE
adds r0, r4, #0
+3 -3
View File
@@ -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
+18 -18
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
@@ -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
+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
+4 -4
View File
@@ -226,7 +226,7 @@ sub_0803BD08: @ 0x0803BD08
cmp r0, #0
beq _0803BD2C
adds r0, r4, #0
bl sub_080040A8
bl CheckOnScreen
cmp r0, #0
bne _0803BD80
strb r0, [r4, #0xf]
@@ -290,7 +290,7 @@ sub_0803BD88: @ 0x0803BD88
sub_0803BD90: @ 0x0803BD90
push {r4, lr}
adds r4, r0, #0
bl sub_080040A8
bl CheckOnScreen
cmp r0, #0
bne _0803BDC8
movs r0, #4
@@ -415,7 +415,7 @@ _0803BE78: .4byte gRoomControls
sub_0803BE7C: @ 0x0803BE7C
push {r4, r5, lr}
adds r4, r0, #0
bl sub_080040A8
bl CheckOnScreen
adds r5, r0, #0
cmp r5, #0
bne _0803BEE6
@@ -522,7 +522,7 @@ sub_0803BF2C: @ 0x0803BF2C
sub_0803BF48: @ 0x0803BF48
push {r4, lr}
adds r4, r0, #0
bl sub_0806F69C
bl LinearMoveUpdate
adds r1, r4, #0
adds r1, #0x38
movs r0, #3
@@ -242,7 +242,7 @@ _0802FCDE:
cmp r0, #0
beq _0802FDCA
adds r0, r4, #0
bl sub_080040A8
bl CheckOnScreen
cmp r0, #0
beq _0802FDCA
adds r0, r4, #0
@@ -269,7 +269,7 @@ _0802FFB6:
cmp r0, #0
beq _080300A2
adds r0, r4, #0
bl sub_080040A8
bl CheckOnScreen
cmp r0, #0
beq _080300A2
adds r0, r4, #0
@@ -294,7 +294,7 @@ _0802F6B6:
cmp r0, #0
beq _0802F7A2
adds r0, r4, #0
bl sub_080040A8
bl CheckOnScreen
cmp r0, #0
beq _0802F7A2
adds r0, r4, #0
@@ -711,7 +711,7 @@ _0802FA02:
cmp r0, #0
beq _0802FA3E
adds r0, r4, #0
bl sub_0806F69C
bl LinearMoveUpdate
ldrb r0, [r6]
cmp r0, #0
bne _0802FA3E
+2 -2
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
@@ -65,7 +65,7 @@ _0804ABA4:
strb r0, [r1, #0xe]
movs r0, #4
movs r1, #8
bl DoFade
bl SetFade
pop {r4, r5, pc}
.align 2, 0
_0804ABF8: .4byte gScreen
@@ -121,8 +121,8 @@ _0804AC5E:
ldrh r0, [r1, #0xc]
strh r0, [r2, #0x18]
bl FlushSprites
bl sub_080AD9B0
bl sub_080AD918
bl DrawEntities
bl CopyOAM
ldr r0, _0804AC98 @ =gUnk_02018EB0
ldrb r0, [r0, #0x1b]
cmp r0, #0
@@ -137,7 +137,7 @@ _0804AC86:
strb r0, [r1, #0xe]
movs r0, #7
movs r1, #0x10
bl DoFade
bl SetFade
_0804AC96:
pop {r4, pc}
.align 2, 0
@@ -187,8 +187,8 @@ _0804ACEC: .4byte gFadeControl
_0804ACF0: .4byte gArea
_0804ACF4: .4byte gUnk_02032EDC
thumb_func_start sub_0804ACF8
sub_0804ACF8: @ 0x0804ACF8
thumb_func_start RespawnAsMinish
RespawnAsMinish: @ 0x0804ACF8
push {lr}
bl sub_0804AD18
cmp r0, #0
@@ -248,7 +248,7 @@ sub_0804AD6C: @ 0x0804AD6C
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
ldr r3, _0804ADD0 @ =gScreenTransition
ldr r3, _0804ADD0 @ =gRoomTransition
movs r1, #0
movs r6, #1
strb r6, [r3, #8]
@@ -287,12 +287,12 @@ sub_0804AD6C: @ 0x0804AD6C
strb r0, [r3, #0xd]
mov r0, r8
strb r0, [r3, #0x14]
bl sub_080300AC
bl ClearArmosData
bl sub_080300C4
pop {r3}
mov r8, r3
pop {r4, r5, r6, pc}
.align 2, 0
_0804ADD0: .4byte gScreenTransition
_0804ADD0: .4byte gRoomTransition
_0804ADD4: .4byte gArea
_0804ADD8: .4byte gUnk_080D4140
-1032
View File
File diff suppressed because it is too large Load Diff
+8 -8
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,7 +654,7 @@ _080B2150:
bx lr
.align 2, 0
_080B21A4: .4byte 0x01010101
_080B21A8: .4byte gUnk_02000006
_080B21A8: .4byte 0x02000000 + 6 @ brightness preference
_080B21AC: .4byte gUnk_08000F54
ldr r11, _080B2270 @ =gUpdateContext
@@ -835,7 +835,7 @@ _080B23EC: .4byte gUnk_0800464E
sub_080B23F0: @ 0x080B23F0
.ifdef EU
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
ldr fp, _080B2A30 @ =gUnk_03000000
ldr fp, _080B2A30 @ =gOAMControls
ldrb r2, [fp, #3]
cmp r2, #0x80
bhs _080B19C0EU
@@ -885,7 +885,7 @@ sub_080B19C8: @ 0x080B19C8
.else
.ifdef DEMO_JP @ TODO deduplicate same as EU
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
ldr fp, _080B2A30 @ =gUnk_03000000
ldr fp, _080B2A30 @ =gOAMControls
ldrb r2, [fp, #3]
cmp r2, #0x80
bhs _080B19C0EU
@@ -934,7 +934,7 @@ sub_080B19C8: @ 0x080B19C8
b _080B1C40EU
.else
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
ldr fp, _080B2A30 @ =gUnk_03000000
ldr fp, _080B2A30 @ =gOAMControls
ldrb r2, [fp, #3]
cmp r2, #0x80
bhs _080B2440
@@ -1527,7 +1527,7 @@ sub_080B280C: @ 0x080B280C
cmp r2, #0
bxeq lr
push {r4, r5, r6, r7, r8, sb, sl, fp, lr}
ldr fp, _080B2A64 @ =gUnk_03000000
ldr fp, _080B2A64 @ =gOAMControls
ldrb r3, [fp, #3]
cmp r3, #0x80
bhs _080B286C
@@ -1898,7 +1898,7 @@ _080B2144:
.4byte gUnk_0300689C
.endif
_080B2A30: .4byte gUnk_03000000
_080B2A30: .4byte gOAMControls
.ifdef EU
_080B2154: .4byte 0x03006958 @TODO make pointer?
.endif
@@ -1917,7 +1917,7 @@ _080B2A54: .4byte gUnk_0300694C
_080B2A58: .4byte gUnk_020000C0
_080B2A5C: .4byte gFrameObjLists
_080B2A60: .4byte gFrameObjLists
_080B2A64: .4byte gUnk_03000000
_080B2A64: .4byte gOAMControls
_080B2A68: .4byte gUnk_0300695C
_080B2A6C: .4byte 0x3E003F00
.ifdef EU
+4 -4
View File
@@ -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]
View File
View File
+1 -1
View File
@@ -85,7 +85,7 @@ _0804AE94:
_0804AEA0: .4byte gRoomControls
_0804AEA4:
adds r0, r5, #0
bl sub_08016A30
bl ResolveCollisionLayer
_0804AEAA:
adds r0, r5, #0
_0804AEAC:
+32 -32
View File
@@ -171,7 +171,7 @@
.2byte 0x0418
.endm
.macro _0807E30C
.macro FacePlayerAndCheckDist
.2byte 0x0419
.endm
@@ -180,7 +180,7 @@
.2byte \amount
.endm
.macro _0807E3BC s:req
.macro HasShells s:req
.2byte 0x081b
.2byte \s
.endm
@@ -209,17 +209,17 @@
.2byte \s
.endm
.macro _0807E4CC w:req
.macro VariableBitSet w:req
.2byte 0x0c20
.4byte \w
.endm
.macro _0807E4EC w:req
.macro VariableOnlyBitSet w:req
.2byte 0x0c21
.4byte \w
.endm
.macro _0807E514 w:req
.macro VariableEqual w:req
.2byte 0x0c22
.4byte \w
.endm
@@ -229,7 +229,7 @@
.4byte \w
.endm
.macro _0807E564
.macro CheckPlayerMinish
.2byte 0x0424
.endm
@@ -312,7 +312,7 @@
.2byte 0x0434
.endm
.macro WaitForPlayerAction0x17
.macro WaitForPlayerEnterRoom
.2byte 0x0435
.endm
@@ -324,7 +324,7 @@
.2byte 0x0437
.endm
.macro _0807E778 s:req
.macro SetFadeTime s:req
.2byte 0x0838
.2byte \s
.endm
@@ -334,7 +334,7 @@
.4byte \w
.endm
.macro _0807E79C
.macro FadeInvert
.2byte 0x043a
.endm
@@ -343,19 +343,19 @@
.2byte \s
.endm
.macro DoFade4
.macro SetFade4
.2byte 0x043c
.endm
.macro DoFade5
.macro SetFade5
.2byte 0x043d
.endm
.macro DoFade6
.macro SetFade6
.2byte 0x043e
.endm
.macro DoFade7
.macro SetFade7
.2byte 0x043f
.endm
@@ -378,15 +378,15 @@
.2byte 0x0442
.endm
.macro _0807E864
.macro SetPlayerIdle
.2byte 0x0443
.endm
.macro _0807E878
.macro EnablePlayerControl
.2byte 0x0444
.endm
.macro _0807E888
.macro DisablePlayerControl
.2byte 0x0445
.endm
@@ -400,7 +400,7 @@
.4byte \script
.endm
.macro _0807E8D4 s:req
.macro SetPlayerAnimation s:req
.2byte 0x0848
.2byte \s
.endm
@@ -421,7 +421,7 @@
.2byte 0x044c
.endm
.macro _0807E908 s:req
.macro SetAction s:req
.2byte 0x084d
.2byte \s
.endm
@@ -431,16 +431,16 @@
.4byte \value
.endm
.macro _0807E924
.macro SetVariableToFrame
.2byte 0x044f
.endm
.macro _0807E930 s:req
.macro SetAnimation s:req
.2byte 0x0850
.2byte \s
.endm
.macro _0807E944
.macro TriggerInteract
.2byte 0x0451
.endm
@@ -509,7 +509,7 @@
.2byte 0x045e
.endm
.macro _0807EB28 s:req
.macro EzloMessage s:req
.2byte 0x085f
.2byte \s
.endm
@@ -518,7 +518,7 @@
.2byte 0x0460
.endm
.macro _0807EB44 s:req
.macro SetAnimationState s:req
.2byte 0x0861
.2byte \s
.endm
@@ -529,11 +529,11 @@
.2byte \b
.endm
.macro _0807EB74
.macro FacePlayer
.2byte 0x0463
.endm
.macro _0807EB8C
.macro FaceAwayFromPlayer
.2byte 0x0464
.endm
@@ -552,7 +552,7 @@
.2byte \speed
.endm
.macro SetEntity0x20 value:req
.macro SetEntityVelocity value:req
.2byte 0x0c68
.4byte \value
.endm
@@ -577,27 +577,27 @@
.2byte 0x046c
.endm
.macro _0807EC1C s:req
.macro WalkForward s:req
.2byte 0x086d
.2byte \s
.endm
.macro _0807EC64 s:req
.macro WalkNorth s:req
.2byte 0x086e
.2byte \s
.endm
.macro _0807EC94 s:req
.macro WalkEast s:req
.2byte 0x086f
.2byte \s
.endm
.macro _0807ECC4 s:req
.macro WalkSouth s:req
.2byte 0x0870
.2byte \s
.endm
.macro _0807ECF4 s:req
.macro WalkWest s:req
.2byte 0x0871
.2byte \s
.endm
@@ -695,7 +695,7 @@
.2byte \s
.endm
.macro _0807F050 s:req
.macro GiveKinstone s:req
.2byte 0x0883
.2byte \s
.endm
File diff suppressed because it is too large Load Diff
-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,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
@@ -1,63 +0,0 @@
.syntax unified
push {lr}
adds r3, r0, #0
adds r2, r1, #0
ldrb r0, [r2, #0x18]
cmp r0, #1
beq _08067706
cmp r0, #1
bgt _080676F6
cmp r0, #0
beq _080676FC
b _08067734
_080676F6:
cmp r0, #2
beq _08067722
b _08067734
_080676FC:
movs r0, #1
strb r0, [r2, #0x18]
movs r0, #0x20
strb r0, [r2, #0x19]
b _08067742
_08067706:
ldrb r1, [r2, #0x19]
lsrs r0, r1, #1
subs r0, #0x10
strh r0, [r3, #0x36]
subs r1, #1
strb r1, [r2, #0x19]
lsls r1, r1, #0x18
cmp r1, #0
bne _08067742
movs r0, #2
strb r0, [r2, #0x18]
movs r0, #0x24
strb r0, [r2, #0x19]
b _08067742
_08067722:
ldrb r0, [r2, #0x19]
subs r0, #1
strb r0, [r2, #0x19]
lsls r0, r0, #0x18
cmp r0, #0
bne _08067742
movs r0, #3
strb r0, [r2, #0x18]
b _08067742
_08067734:
movs r1, #0xc0
lsls r1, r1, #5
adds r0, r3, #0
bl sub_08003FC4
cmp r0, #0
beq _08067748
_08067742:
ldr r1, _0806774C @ =gActiveScriptInfo
movs r0, #0
strb r0, [r1, #6]
_08067748:
pop {pc}
.align 2, 0
_0806774C: .4byte gActiveScriptInfo
.syntax divided
@@ -1,57 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r4, r0, #0
adds r3, r1, #0
movs r5, #0x10
eors r2, r5
adds r0, r2, #0
subs r0, #0xc
movs r2, #0x1f
ands r0, r2
ldrb r1, [r3, #0x15]
subs r1, r1, r0
ands r1, r2
cmp r1, #0x18
bhi _08017CF0
adds r1, r4, #0
adds r1, #0x3d
movs r0, #0xf4
strb r0, [r1]
adds r1, r3, #0
adds r1, #0x3d
strb r0, [r1]
adds r0, r4, #0
adds r1, r3, #0
bl sub_08017940
b _08017D1E
_08017CF0:
adds r1, r3, #0
adds r1, #0x42
movs r0, #0xc
strb r0, [r1]
adds r0, r3, #0
adds r0, #0x3d
strb r5, [r0]
adds r1, #1
movs r0, #0xf0
strb r0, [r1]
adds r1, #3
movs r0, #0xc0
lsls r0, r0, #2
strh r0, [r1]
adds r1, r4, #0
adds r1, #0x3d
ldrb r2, [r1]
movs r0, #0
ldrsb r0, [r1, r0]
cmp r0, #0
bne _08017D1E
movs r0, #0xff
strb r0, [r1]
_08017D1E:
movs r0, #1
pop {r4, r5}
pop {r1}
bx r1
.align 2, 0
.syntax divided
@@ -1,75 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r4, r0, #0
adds r5, r1, #0
adds r6, r2, #0
ldrb r0, [r4, #8]
cmp r0, #1
bne _08018058
bl sub_08079F8C
cmp r0, #0
beq _08018090
movs r0, #0x10
eors r0, r6
ldrb r1, [r5, #0x14]
lsls r1, r1, #2
subs r0, r0, r1
adds r0, #5
movs r1, #0x1f
ands r0, r1
cmp r0, #0xa
bhi _08018090
b _0801807A
_08018058:
cmp r0, #8
bne _08018086
ldrb r0, [r4, #0x15]
movs r1, #0x10
eors r1, r0
ldrb r0, [r5, #0x14]
lsls r0, r0, #2
subs r1, r1, r0
adds r1, #5
movs r0, #0x1f
ands r1, r0
cmp r1, #0xa
bgt _08018090
adds r1, r4, #0
adds r1, #0x45
movs r0, #0
strb r0, [r1]
_0801807A:
adds r0, r4, #0
adds r1, r5, #0
bl sub_080180BC
movs r0, #1
b _080180AE
_08018086:
adds r1, r4, #0
adds r1, #0x45
movs r0, #0
strb r0, [r1]
b _080180AE
_08018090:
adds r0, r4, #0
adds r0, #0x40
ldrb r0, [r0]
ldr r1, _080180B4 @ =0x000011AA
adds r0, r0, r1
lsls r3, r0, #1
adds r3, r3, r0
lsls r3, r3, #2
ldr r0, _080180B8 @ =gCollisionMtx
adds r3, r3, r0
adds r0, r4, #0
adds r1, r5, #0
adds r2, r6, #0
bl sub_08018308
_080180AE:
pop {r4, r5, r6}
pop {r1}
bx r1
.align 2, 0
_080180B4: .4byte 0x000011AA
_080180B8: .4byte gCollisionMtx
.syntax divided
@@ -0,0 +1,141 @@
.syntax unified
push {r4, r5, r6, r7, lr}
sub sp, #0x10
movs r2, #0
movs r3, #0
ldr r1, _0801D37C @ =gPaletteList
_0801D356:
mov r4, sp
adds r0, r4, r2
strb r2, [r0]
ldrb r0, [r1]
lsls r0, r0, #0x1c
lsrs r0, r0, #0x1c
cmp r0, #1
bgt _0801D370
cmp r0, #0
blt _0801D370
strb r3, [r1]
strb r3, [r1, #1]
strh r3, [r1, #2]
_0801D370:
adds r1, #4
adds r2, #1
cmp r2, #0xf
bls _0801D356
movs r4, #6
b _0801D390
.align 2, 0
_0801D37C: .4byte gPaletteList
_0801D380:
cmp r4, r1
ble _0801D390
mov r2, sp
adds r0, r2, r4
strb r1, [r0]
adds r0, r4, #0
bl sub_0801D48C
_0801D390:
adds r0, r4, #1
bl sub_0801D458
adds r4, r0, #0
cmp r4, #0
beq _0801D3AC
movs r0, #1
bl FindFreeObjPalette
adds r1, r0, #0
movs r0, #1
rsbs r0, r0, #0
cmp r1, r0
bne _0801D380
_0801D3AC:
movs r1, #0
ldr r4, _0801D450 @ =gEntityLists
mov ip, r4
_0801D3B2:
lsls r0, r1, #3
mov r2, ip
adds r3, r0, r2
adds r0, r3, #0
ldr r3, [r3, #4]
adds r5, r1, #1
cmp r0, r3
beq _0801D444
movs r7, #0x10
rsbs r7, r7, #0
adds r4, r0, #0
ldr r6, _0801D454 @ =gUnk_020000C0
_0801D3CA:
ldrb r0, [r3, #8]
cmp r0, #9
beq _0801D43E
adds r1, r3, #0
adds r1, #0x28
ldrb r0, [r1]
subs r0, #1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x7e
bhi _0801D40C
ldrb r1, [r1]
lsls r1, r1, #6
adds r1, r1, r6
ldrb r0, [r1, #5]
add r0, sp
ldrb r0, [r0]
strb r0, [r1, #5]
ldrb r0, [r1, #0x15]
add r0, sp
ldrb r0, [r0]
strb r0, [r1, #0x15]
adds r2, r1, #0
adds r2, #0x25
ldrb r0, [r2]
add r0, sp
ldrb r0, [r0]
strb r0, [r2]
adds r1, #0x35
ldrb r0, [r1]
add r0, sp
ldrb r0, [r0]
strb r0, [r1]
_0801D40C:
adds r1, r3, #0
adds r1, #0x27
ldrb r0, [r1]
add r0, sp
ldrb r0, [r0]
strb r0, [r1]
ldrb r2, [r3, #0x1a]
lsls r0, r2, #0x1c
lsrs r0, r0, #0x1c
add r0, sp
ldrb r1, [r0]
movs r0, #0xf
ands r1, r0
adds r0, r7, #0
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x1a]
lsrs r1, r0, #4
add r1, sp
ldrb r2, [r1]
lsls r2, r2, #4
movs r1, #0xf
ands r0, r1
orrs r0, r2
strb r0, [r3, #0x1a]
_0801D43E:
ldr r3, [r3, #4]
cmp r4, r3
bne _0801D3CA
_0801D444:
adds r1, r5, #0
cmp r1, #8
bls _0801D3B2
add sp, #0x10
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801D450: .4byte gEntityLists
_0801D454: .4byte gUnk_020000C0
.syntax divided
@@ -0,0 +1,60 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
movs r1, #0
movs r2, #6
ldr r0, _0801D154 @ =gPaletteList
adds r3, r0, #0
adds r3, #0x18
_0801D142:
ldrb r0, [r3]
lsls r0, r0, #0x1c
cmp r0, #0
bne _0801D158
adds r1, #1
cmp r4, r1
bhi _0801D15A
b _0801D180
.align 2, 0
_0801D154: .4byte gPaletteList
_0801D158:
movs r1, #0
_0801D15A:
adds r3, #4
adds r2, #1
cmp r2, #0xf
bls _0801D142
movs r1, #0
movs r2, #6
ldr r0, _0801D188 @ =gPaletteList
adds r3, r0, #0
adds r3, #0x18
_0801D16C:
ldrb r0, [r3]
lsls r0, r0, #0x1c
lsrs r0, r0, #0x1c
cmp r0, #1
bgt _0801D18C
cmp r0, #0
blt _0801D18C
adds r1, #1
cmp r4, r1
bhi _0801D18E
_0801D180:
subs r0, r1, #1
subs r0, r2, r0
b _0801D19A
.align 2, 0
_0801D188: .4byte gPaletteList
_0801D18C:
movs r1, #0
_0801D18E:
adds r3, #4
adds r2, #1
cmp r2, #0xf
bls _0801D16C
movs r0, #1
rsbs r0, r0, #0
_0801D19A:
pop {r4, pc}
.syntax divided
+28
View File
@@ -0,0 +1,28 @@
.syntax unified
push {lr}
adds r2, r0, #0
cmp r2, #5
bhi _0801D116
b _0801D12E
_0801D112:
adds r0, r1, #0
b _0801D12E
_0801D116:
movs r1, #6
ldr r0, _0801D130 @ =gPaletteList
adds r0, #0x18
_0801D11C:
ldrh r3, [r0, #2]
cmp r2, r3
beq _0801D112
adds r0, #4
adds r1, #1
cmp r1, #0xf
bls _0801D11C
movs r0, #1
rsbs r0, r0, #0
_0801D12E:
pop {pc}
.align 2, 0
_0801D130: .4byte gPaletteList
.syntax divided
+100
View File
@@ -0,0 +1,100 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #4
str r0, [sp]
adds r6, r1, #0
adds r0, r6, #0
bl FindPalette
adds r5, r0, #0
cmp r5, #0
bge _0801D0E8
cmp r6, #0x15
bhi _0801D064
movs r4, #1
b _0801D074
_0801D064:
ldr r0, _0801D100 @ =gUnk_08133368
adds r1, r6, #0
subs r1, #0x16
lsls r1, r1, #2
adds r1, r1, r0
ldrb r4, [r1, #3]
movs r0, #0xf
ands r4, r0
_0801D074:
adds r0, r4, #0
bl FindFreeObjPalette
adds r5, r0, #0
cmp r5, #0
bge _0801D090
bl CleanUpObjPalettes
adds r0, r4, #0
bl FindFreeObjPalette
adds r5, r0, #0
cmp r5, #0
blt _0801D0E8
_0801D090:
lsls r1, r5, #2
ldr r0, _0801D104 @ =gPaletteList
adds r3, r1, r0
movs r0, #0
strh r6, [r3, #2]
strb r0, [r3, #1]
movs r2, #0x10
rsbs r2, r2, #0
lsls r0, r4, #4
movs r1, #3
orrs r0, r1
strb r0, [r3]
subs r4, #1
cmp r4, #0
beq _0801D0E0
movs r0, #0
mov sl, r0
movs r1, #0
mov r8, r1
movs r0, #0xf
mov sb, r0
mov ip, r2
movs r7, #2
_0801D0BE:
adds r3, #4
mov r1, r8
strh r1, [r3, #2]
mov r0, sl
strb r0, [r3, #1]
lsls r2, r4, #4
ldrb r1, [r3]
mov r0, sb
ands r0, r1
orrs r0, r2
mov r1, ip
ands r0, r1
orrs r0, r7
strb r0, [r3]
subs r4, #1
cmp r4, #0
bne _0801D0BE
_0801D0E0:
adds r0, r6, #0
adds r1, r5, #0
bl LoadObjPaletteAtIndex
_0801D0E8:
ldr r0, [sp]
adds r1, r5, #0
bl SetEntityObjPalette
adds r0, r5, #0
add sp, #4
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801D100: .4byte gUnk_08133368
_0801D104: .4byte gPaletteList
.syntax divided
@@ -0,0 +1,63 @@
.syntax unified
push {r4, lr}
adds r3, r0, #0
ldr r2, _0801D2F8 @ =gUsedPalettes
adds r4, r1, #0
adds r4, #0x10
movs r1, #1
lsls r1, r4
ldr r0, [r2]
orrs r0, r1
str r0, [r2]
cmp r3, #5
bls _0801D33C
cmp r3, #0x15
bne _0801D300
ldr r2, _0801D2FC @ =gPaletteBuffer
adds r0, r2, #0
adds r0, #0x78
ldrh r0, [r0]
lsls r1, r4, #5
adds r1, r1, r2
movs r2, #0x20
bl MemFill16
b _0801D33C
.align 2, 0
_0801D2F8: .4byte gUsedPalettes
_0801D2FC: .4byte gPaletteBuffer
_0801D300:
cmp r3, #0x14
bhi _0801D31C
subs r0, r3, #6
lsls r0, r0, #5
ldr r1, _0801D318 @ =gPaletteBuffer
adds r0, r0, r1
adds r1, r4, #0
movs r2, #1
bl LoadPalettes
b _0801D33C
.align 2, 0
_0801D318: .4byte gPaletteBuffer
_0801D31C:
ldr r1, _0801D340 @ =gUnk_08133368
adds r0, r3, #0
subs r0, #0x16
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
lsrs r2, r0, #0x18
movs r1, #0xf
ands r2, r1
ldr r1, _0801D344 @ =0x00FFFFFF
ands r0, r1
ldr r1, _0801D348 @ =gGlobalGfxAndPalettes
adds r0, r0, r1
adds r1, r4, #0
bl LoadPalettes
_0801D33C:
pop {r4, pc}
.align 2, 0
_0801D340: .4byte gUnk_08133368
_0801D344: .4byte 0x00FFFFFF
_0801D348: .4byte gGlobalGfxAndPalettes
.syntax divided
@@ -0,0 +1,80 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r4, r0, #0
adds r3, r1, #0
cmp r3, #0
bge _0801D1A8
movs r3, #0
_0801D1A8:
adds r0, r4, #0
adds r0, #0x28
ldrb r0, [r0]
subs r0, #1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x7e
bls _0801D1BE
adds r0, r4, #0
adds r0, #0x27
strb r3, [r0]
_0801D1BE:
movs r0, #0xf
adds r1, r3, #0
ands r1, r0
ldrb r2, [r4, #0x1a]
movs r5, #0x10
rsbs r5, r5, #0
adds r0, r5, #0
ands r0, r2
orrs r0, r1
movs r2, #0xf
adds r1, r3, #0
ands r1, r2
lsls r1, r1, #4
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x1a]
lsls r1, r3, #2
ldr r0, _0801D22C @ =gPaletteList
adds r4, r1, r0
ldr r0, [r4]
lsls r0, r0, #0x1c
lsrs r0, r0, #0x1c
cmp r0, #4
beq _0801D22A
ldrb r0, [r4, #1]
adds r0, #1
strb r0, [r4, #1]
ldr r0, [r4]
lsls r0, r0, #0x18
lsrs r3, r0, #0x1c
ldrb r1, [r4]
adds r0, r5, #0
ands r0, r1
movs r1, #3
orrs r0, r1
strb r0, [r4]
subs r3, #1
cmp r3, #0
beq _0801D22A
movs r7, #0xf
adds r6, r5, #0
movs r5, #2
_0801D212:
adds r4, #4
lsls r2, r3, #4
ldrb r1, [r4]
adds r0, r7, #0
ands r0, r1
orrs r0, r2
ands r0, r6
orrs r0, r5
strb r0, [r4]
subs r3, #1
cmp r3, #0
bne _0801D212
_0801D22A:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801D22C: .4byte gPaletteList
.syntax divided
+34
View File
@@ -0,0 +1,34 @@
.syntax unified
push {lr}
adds r2, r0, #0
ldr r0, _0801D024 @ =gRoomTransition
movs r1, #0
cmp r2, #0
beq _0801D00E
movs r1, #0xf
_0801D00E:
adds r0, #0x2f
strb r1, [r0]
cmp r2, #0
beq _0801D028
bl CleanUpObjPalettes
movs r0, #0xf
bl sub_0801CFD0
b _0801D03A
.align 2, 0
_0801D024: .4byte gRoomTransition
_0801D028:
ldr r3, _0801D03C @ =gUnk_02001A3C
ldrb r1, [r3]
movs r0, #0xf
ands r0, r1
cmp r0, #4
bne _0801D03A
strb r2, [r3]
strb r2, [r3, #1]
strh r2, [r3, #2]
_0801D03A:
pop {pc}
.align 2, 0
_0801D03C: .4byte gUnk_02001A3C
.syntax divided
+39
View File
@@ -0,0 +1,39 @@
.syntax unified
push {r4, r5, r6, lr}
lsls r0, r0, #2
ldr r1, _0801D288 @ =gPaletteList
adds r2, r0, r1
ldr r0, [r2]
lsls r0, r0, #0x1c
lsrs r0, r0, #0x1c
cmp r0, #3
bne _0801D284
ldrb r0, [r2, #1]
subs r0, #1
strb r0, [r2, #1]
lsls r0, r0, #0x18
cmp r0, #0
bne _0801D284
ldr r0, [r2]
lsls r0, r0, #0x18
lsrs r3, r0, #0x1c
movs r5, #0
movs r6, #0x10
rsbs r6, r6, #0
movs r4, #1
_0801D270:
strb r5, [r2, #1]
ldrb r1, [r2]
adds r0, r6, #0
ands r0, r1
orrs r0, r4
strb r0, [r2]
adds r2, #4
subs r3, #1
cmp r3, #0
bne _0801D270
_0801D284:
pop {r4, r5, r6, pc}
.align 2, 0
_0801D288: .4byte gPaletteList
.syntax divided
+71
View File
@@ -0,0 +1,71 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
sub sp, #4
adds r6, r0, #0
adds r3, r1, #0
ldr r0, _0801D50C @ =gPaletteList
mov r8, r0
lsls r0, r6, #2
mov r1, r8
adds r4, r0, r1
ldrb r0, [r4]
lsrs r5, r0, #4
subs r5, #1
movs r0, #1
rsbs r0, r0, #0
cmp r5, r0
beq _0801D4F8
ldr r2, _0801D510 @ =gPaletteBuffer
lsls r0, r3, #5
movs r1, #0x80
lsls r1, r1, #2
adds r0, r0, r1
adds r7, r0, r2
lsls r0, r3, #2
add r8, r0
lsls r0, r6, #5
adds r0, r0, r1
adds r6, r0, r2
movs r3, #0
_0801D4C8:
ldr r0, [r4]
mov r1, r8
adds r1, #4
mov r8, r1
subs r1, #4
stm r1!, {r0}
strb r3, [r4]
strb r3, [r4, #1]
strh r3, [r4, #2]
adds r0, r6, #0
adds r1, r7, #0
movs r2, #0x20
str r3, [sp]
bl MemCopy
adds r6, #0x20
adds r4, #4
adds r7, #0x20
subs r5, #1
movs r0, #1
rsbs r0, r0, #0
ldr r3, [sp]
cmp r5, r0
bne _0801D4C8
_0801D4F8:
ldr r0, _0801D514 @ =gUsedPalettes
ldr r1, [r0]
ldr r2, _0801D518 @ =0xFFFF0000
orrs r1, r2
str r1, [r0]
add sp, #4
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801D50C: .4byte gPaletteList
_0801D510: .4byte gPaletteBuffer
_0801D514: .4byte gUsedPalettes
_0801D518: .4byte 0xFFFF0000
.syntax divided
+14
View File
@@ -0,0 +1,14 @@
.syntax unified
lsrs r2, r1, #3
adds r3, r0, r2
movs r2, #7
ands r1, r2
movs r2, #1
lsls r2, r1
ldrb r0, [r3]
adds r1, r0, #0
bics r1, r2
strb r1, [r3]
ands r0, r2
bx lr
.syntax divided
@@ -0,0 +1,179 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #0x14
adds r4, r0, #0
bl AreaHasMap
cmp r0, #0
bne _0801DDB8
b _0801DEEA
_0801DDB8:
ldr r1, _0801DDD8 @ =gUnk_080C9C50
ldr r0, _0801DDDC @ =gArea
ldrb r0, [r0, #3]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
lsls r0, r4, #2
adds r0, r0, r1
ldr r4, [r0]
ldr r0, _0801DDE0 @ =gUnk_02019EE0
movs r1, #0x80
lsls r1, r1, #8
bl MemClear
b _0801DEE2
.align 2, 0
_0801DDD8: .4byte gUnk_080C9C50
_0801DDDC: .4byte gArea
_0801DDE0: .4byte gUnk_02019EE0
_0801DDE4:
ldrb r0, [r4]
ldrb r1, [r4, #1]
movs r2, #3
bl GetRoomProperty
adds r6, r0, #0
adds r0, r4, #0
bl sub_0801DF10
adds r5, r0, #0
movs r0, #0
str r0, [sp, #0xc]
ldrh r2, [r4]
ldr r0, _0801DE14 @ =gUnk_02032EC0
ldrh r3, [r0, #0x20]
ldr r1, _0801DE18 @ =0x0000FFFF
ands r1, r2
ldr r0, _0801DE18 @ =0x0000FFFF
ands r0, r3
cmp r1, r0
bne _0801DE1C
movs r3, #8
b _0801DE36
.align 2, 0
_0801DE14: .4byte gUnk_02032EC0
_0801DE18: .4byte 0x0000FFFF
_0801DE1C:
bl HasDungeonSmallKey
cmp r0, #0
beq _0801DE28
movs r0, #2
str r0, [sp, #0xc]
_0801DE28:
adds r0, r6, #0
adds r1, r5, #0
bl sub_0801DF90
cmp r0, #0
beq _0801DE38
movs r3, #3
_0801DE36:
str r3, [sp, #0xc]
_0801DE38:
ldrb r1, [r4, #2]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _0801DE46
movs r0, #0
str r0, [sp, #0xc]
_0801DE46:
adds r3, r4, #0
adds r3, #8
str r3, [sp, #0x10]
ldr r0, [sp, #0xc]
cmp r0, #0
beq _0801DEE0
ldr r2, _0801DEF8 @ =0x040000D4
ldr r0, [r4, #4]
ldr r1, _0801DEFC @ =gMapData
adds r0, r0, r1
str r0, [r2]
ldr r0, _0801DF00 @ =gUnk_02019EE0
str r0, [r2, #4]
ldr r0, _0801DF04 @ =0x84000100
str r0, [r2, #8]
ldr r0, [r2, #8]
ldr r0, _0801DF08 @ =gAreaRoomHeaders
ldrb r2, [r4]
lsls r2, r2, #2
adds r2, r2, r0
ldrb r1, [r4, #1]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #1
ldr r2, [r2]
adds r2, r2, r0
ldrh r0, [r2]
lsrs r0, r0, #4
str r0, [sp]
ldrh r0, [r2, #2]
ldr r1, _0801DF0C @ =0x000007FF
ands r0, r1
lsrs r0, r0, #4
str r0, [sp, #4]
ldrh r0, [r2, #4]
lsrs r7, r0, #4
ldrh r0, [r2, #6]
lsrs r0, r0, #4
mov sl, r0
adds r0, r7, #3
lsrs r0, r0, #2
str r0, [sp, #8]
movs r6, #0
cmp r6, sl
bhs _0801DEE0
_0801DEA0:
ldr r3, [sp, #8]
adds r1, r6, #0
muls r1, r3, r1
ldr r0, _0801DF00 @ =gUnk_02019EE0
adds r1, r1, r0
mov r8, r1
movs r5, #0
adds r0, r6, #1
mov sb, r0
cmp r5, r7
bhs _0801DEDA
_0801DEB6:
ldr r3, [sp]
adds r4, r3, r5
adds r0, r5, #0
mov r1, r8
bl sub_0801DF60
ldr r1, [sp, #0xc]
bl sub_0801DF78
adds r2, r0, #0
adds r0, r4, #0
ldr r3, [sp, #4]
adds r1, r3, r6
bl sub_0801DF28
adds r5, #1
cmp r5, r7
blo _0801DEB6
_0801DEDA:
mov r6, sb
cmp r6, sl
blo _0801DEA0
_0801DEE0:
ldr r4, [sp, #0x10]
_0801DEE2:
ldrb r0, [r4]
cmp r0, #0
beq _0801DEEA
b _0801DDE4
_0801DEEA:
add sp, #0x14
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801DEF8: .4byte 0x040000D4
_0801DEFC: .4byte gMapData
_0801DF00: .4byte gUnk_02019EE0
_0801DF04: .4byte 0x84000100
_0801DF08: .4byte gAreaRoomHeaders
_0801DF0C: .4byte 0x000007FF
.syntax divided
+221
View File
@@ -0,0 +1,221 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
sub sp, #4
adds r4, r0, #0
adds r5, r1, #0
adds r1, r2, #0
adds r0, r5, #0
bl MemClear
movs r0, #1
strb r0, [r5]
ldr r2, _0801DBE4 @ =gRoomTransition
ldrh r0, [r2, #0x1c]
lsrs r0, r0, #4
movs r1, #0x7f
ands r0, r1
strb r0, [r5, #1]
ldrh r0, [r2, #0x1e]
lsrs r0, r0, #4
ands r0, r1
strb r0, [r5, #2]
adds r5, #3
ldr r1, _0801DBE8 @ =gUnk_080C9C50
ldr r0, _0801DBEC @ =gArea
ldrb r0, [r0, #3]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
lsls r4, r4, #2
adds r4, r4, r0
ldr r6, [r4]
b _0801DD3A
.align 2, 0
_0801DBE4: .4byte gRoomTransition
_0801DBE8: .4byte gUnk_080C9C50
_0801DBEC: .4byte gArea
_0801DBF0:
ldrb r0, [r6]
ldrb r1, [r6, #1]
movs r2, #3
bl GetRoomProperty
adds r4, r0, #0
cmp r4, #0
bne _0801DC04
adds r6, #8
b _0801DD3A
_0801DC04:
adds r0, r6, #0
bl sub_0801DF10
mov r8, r0
bl HasDungeonBigKey
movs r1, #8
adds r1, r1, r6
mov sb, r1
cmp r0, #0
beq _0801DCAE
ldrb r0, [r4]
cmp r0, #0
beq _0801DCAE
movs r3, #0xfc
lsls r3, r3, #2
ldr r7, _0801DC84 @ =0x000007FF
_0801DC26:
ldrb r0, [r4]
cmp r0, #3
bgt _0801DCA6
cmp r0, #2
blt _0801DCA6
ldrb r1, [r4, #1]
mov r0, r8
str r3, [sp]
bl CheckLocalFlagByBank
ldr r3, [sp]
cmp r0, #0
bne _0801DCA6
ldr r0, _0801DC88 @ =gAreaRoomHeaders
ldrb r2, [r6]
lsls r2, r2, #2
adds r2, r2, r0
ldrb r1, [r6, #1]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #1
ldr r1, [r2]
adds r2, r1, r0
movs r0, #2
strb r0, [r5]
ldrb r0, [r4]
cmp r0, #2
bne _0801DC8C
ldrh r0, [r4, #4]
lsls r0, r0, #4
ands r0, r3
movs r1, #8
orrs r0, r1
ldrh r1, [r2]
ands r1, r7
adds r0, r0, r1
asrs r0, r0, #4
strb r0, [r5, #1]
ldrh r0, [r4, #4]
lsrs r0, r0, #2
ands r0, r3
movs r1, #8
orrs r0, r1
ldrh r1, [r2, #2]
ands r1, r7
b _0801DC9E
.align 2, 0
_0801DC84: .4byte 0x000007FF
_0801DC88: .4byte gAreaRoomHeaders
_0801DC8C:
ldrh r0, [r2]
ands r0, r7
ldrh r1, [r4, #4]
adds r0, r0, r1
asrs r0, r0, #4
strb r0, [r5, #1]
ldrh r0, [r2, #2]
ands r0, r7
ldrh r1, [r4, #6]
_0801DC9E:
adds r0, r0, r1
asrs r0, r0, #4
strb r0, [r5, #2]
adds r5, #3
_0801DCA6:
adds r4, #8
ldrb r0, [r4]
cmp r0, #0
bne _0801DC26
_0801DCAE:
bl HasDungeonBigKey
cmp r0, #0
beq _0801DD16
ldrb r1, [r6, #2]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0801DD16
ldr r0, _0801DD4C @ =gArea
ldrb r0, [r0, #3]
adds r0, #1
bl CheckGlobalFlag
cmp r0, #0
bne _0801DD16
ldr r0, _0801DD50 @ =gAreaRoomHeaders
ldrb r2, [r6]
lsls r2, r2, #2
adds r2, r2, r0
ldrb r1, [r6, #1]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #1
ldr r1, [r2]
adds r2, r1, r0
movs r0, #4
strb r0, [r5]
ldrh r0, [r2, #4]
lsrs r0, r0, #1
ldrh r1, [r2]
adds r0, r0, r1
asrs r1, r0, #4
adds r0, r1, #0
cmp r1, #0
bge _0801DCF8
adds r0, #0x7f
_0801DCF8:
asrs r0, r0, #7
lsls r0, r0, #7
subs r0, r1, r0
strb r0, [r5, #1]
ldrh r0, [r2, #6]
lsrs r0, r0, #1
ldrh r2, [r2, #2]
adds r0, r0, r2
asrs r1, r0, #4
adds r0, r1, #0
asrs r0, r0, #7
lsls r0, r0, #7
subs r0, r1, r0
strb r0, [r5, #2]
adds r5, #3
_0801DD16:
ldr r2, _0801DD54 @ =gRoomTransition
ldrh r0, [r6]
ldrh r1, [r2, #0x16]
cmp r0, r1
bne _0801DD38
movs r0, #3
strb r0, [r5]
ldrh r0, [r2, #0x18]
lsrs r0, r0, #4
movs r1, #0x7f
ands r0, r1
strb r0, [r5, #1]
ldrh r0, [r2, #0x1a]
lsrs r0, r0, #4
ands r0, r1
strb r0, [r5, #2]
adds r5, #3
_0801DD38:
mov r6, sb
_0801DD3A:
ldrb r0, [r6]
cmp r0, #0
beq _0801DD42
b _0801DBF0
_0801DD42:
add sp, #4
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801DD4C: .4byte gArea
_0801DD50: .4byte gAreaRoomHeaders
_0801DD54: .4byte gRoomTransition
.syntax divided
+14
View File
@@ -0,0 +1,14 @@
.syntax unified
lsrs r2, r1, #3
adds r3, r0, r2
movs r2, #7
ands r1, r2
movs r2, #1
lsls r2, r1
ldrb r0, [r3]
adds r1, r0, #0
orrs r1, r2
strb r1, [r3]
ands r0, r2
bx lr
.syntax divided
+39
View File
@@ -0,0 +1,39 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r4, r1, #0
adds r6, r2, #0
movs r0, #0x80
lsls r0, r0, #8
ands r0, r3
movs r1, #0x20
mov ip, r1
cmp r0, #0
beq _0801D8B2
movs r0, #0x40
mov ip, r0
_0801D8B2:
ldr r0, _0801D8D8 @ =0x00007FFF
ands r3, r0
ldr r1, _0801D8DC @ =0x040000D4
movs r2, #0x80
lsls r2, r2, #0x18
orrs r2, r6
lsls r7, r6, #1
mov r0, ip
lsls r6, r0, #1
_0801D8C4:
str r4, [r1]
str r5, [r1, #4]
str r2, [r1, #8]
ldr r0, [r1, #8]
adds r4, r4, r7
adds r5, r5, r6
subs r3, #1
cmp r3, #0
bne _0801D8C4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801D8D8: .4byte 0x00007FFF
_0801D8DC: .4byte 0x040000D4
.syntax divided
+28
View File
@@ -0,0 +1,28 @@
.syntax unified
push {r4, lr}
lsrs r4, r1, #3
lsls r4, r4, #4
lsrs r3, r0, #3
adds r4, r4, r3
lsls r4, r4, #5
ldr r3, _0801DF58 @ =gUnk_0201AEE0
adds r4, r4, r3
movs r3, #7
ands r1, r3
lsls r1, r1, #2
adds r4, r4, r1
ands r0, r3
lsls r0, r0, #2
lsls r2, r0
ldr r1, _0801DF5C @ =gUnk_080C9460
adds r0, r0, r1
ldr r1, [r4]
ldr r0, [r0]
ands r1, r0
orrs r1, r2
str r1, [r4]
pop {r4, pc}
.align 2, 0
_0801DF58: .4byte gUnk_0201AEE0
_0801DF5C: .4byte gUnk_080C9460
.syntax divided

Some files were not shown because too many files have changed in this diff Show More