merge master

This commit is contained in:
Henny022p
2022-01-31 17:30:51 +01:00
545 changed files with 17306 additions and 89017 deletions
+32 -22
View File
@@ -82,14 +82,14 @@ LDFLAGS = -Map ../../$(MAP)
LIB := -L ../../tools/agbcc/lib -lc
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
GFX := tools/gbagfx/gbagfx
AIF := tools/aif2pcm/aif2pcm
MID := tools/mid2agb/mid2agb
SCANINC := tools/scaninc/scaninc
GFX := tools/bin/gbagfx
AIF := tools/bin/aif2pcm
MID := tools/bin/mid2agb
SCANINC := tools/bin/scaninc
# TODO: use charmap?
PREPROC := tools/preproc/preproc
FIX := tools/gbafix/gbafix
ASSET_PROCESSOR := tools/asset_processor/asset_processor
PREPROC := tools/bin/preproc
FIX := tools/bin/gbafix
ASSET_PROCESSOR := tools/bin/asset_processor
ASSET_CONFIGS = assets/assets.json assets/gfx.json assets/map.json assets/samples.json assets/sounds.json
TRANSLATIONS = translations/USA.bin translations/English.bin translations/French.bin translations/German.bin translations/Spanish.bin translations/Italian.bin
@@ -149,11 +149,7 @@ SUBDIRS := $(sort $(dir $(OBJS)))
$(shell mkdir -p $(SUBDIRS))
TOOLDIRS := $(filter-out tools/agbcc tools/binutils,$(wildcard tools/*))
TOOLBASE = $(TOOLDIRS:tools/%=%)
TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE))
.PHONY: all setup clean-tools mostlyclean clean tidy $(TOOLDIRS) extractassets
.PHONY: all setup clean-tools mostlyclean clean tidy tools extractassets buildassets custom
MAKEFLAGS += --no-print-directory
@@ -166,11 +162,23 @@ all: build/extracted_assets_$(GAME_VERSION)
target: $(ROM)
@$(SHA1) $(BUILD_NAME).sha1
custom: buildassets
@$(MAKE) target GAME_VERSION=$(GAME_VERSION)
# kept for backwards compat
compare: $(ROM)
@$(SHA1) $(BUILD_NAME).sha1
setup: $(TOOLDIRS)
setup: tools
# all tools are build at once
# FIXME figure out why make builds multiple times when specifying all tools here
tools: $(GFX)
$(GFX) $(AIF) $(MID) $(SCANINC) $(PREPROC) $(FIX) $(ASSET_PROCESSOR) tools/bin/agb2mid tools/bin/tmc_strings tools/bin/bin2c &:
mkdir -p tools/cmake-build
unset CC CXX AS LD LDFLAGS && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=tools -S tools -B tools/cmake-build
cmake --build tools/cmake-build -j --target install
# Automatically extract binary data
build/extracted_assets_%: $(ASSET_CONFIGS) $(TRANSLATIONS)
@@ -181,8 +189,9 @@ build/extracted_assets_%: $(ASSET_CONFIGS) $(TRANSLATIONS)
extractassets:
$(ASSET_PROCESSOR) convert $(GAME_VERSION) $(ASSET_BUILDDIR)
$(TOOLDIRS):
@$(MAKE) -C $@
# Build the assets from the human readable form
buildassets:
$(ASSET_PROCESSOR) build $(GAME_VERSION) $(ASSET_BUILDDIR)
mostlyclean: tidy
rm -f sound/direct_sound_samples/*.bin
@@ -191,7 +200,8 @@ mostlyclean: tidy
rm -f $(AUTO_GEN_TARGETS)
clean-tools:
@$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);)
rm -rf tools/bin
rm -rf tools/cmake-build
clean: mostlyclean clean-tools
@@ -217,12 +227,12 @@ tidy:
%.lz: % ; $(GFX) $< $@
%.rl: % ; $(GFX) $< $@
cd $(@D) && ../../$(MID) $(<F)
translations/USA.bin: translations/USA.json ; tools/tmc_strings/tmc_strings -p --source $< --dest $@ --size 0x499E0
translations/English.bin: translations/English.json ; tools/tmc_strings/tmc_strings -p --source $< --dest $@ --size 0x488C0
translations/French.bin: translations/French.json ; tools/tmc_strings/tmc_strings -p --source $< --dest $@ --size 0x47A90
translations/German.bin: translations/German.json ; tools/tmc_strings/tmc_strings -p --source $< --dest $@ --size 0x42FC0
translations/Spanish.bin: translations/Spanish.json ; tools/tmc_strings/tmc_strings -p --source $< --dest $@ --size 0x41930
translations/Italian.bin: translations/Italian.json ; tools/tmc_strings/tmc_strings -p --source $< --dest $@ --size 0x438E0
translations/USA.bin: translations/USA.json ; tools/bin/tmc_strings -p --source $< --dest $@ --size 0x499E0
translations/English.bin: translations/English.json ; tools/bin/tmc_strings -p --source $< --dest $@ --size 0x488C0
translations/French.bin: translations/French.json ; tools/bin/tmc_strings -p --source $< --dest $@ --size 0x47A90
translations/German.bin: translations/German.json ; tools/bin/tmc_strings -p --source $< --dest $@ --size 0x42FC0
translations/Spanish.bin: translations/Spanish.json ; tools/bin/tmc_strings -p --source $< --dest $@ --size 0x41930
translations/Italian.bin: translations/Italian.json ; tools/bin/tmc_strings -p --source $< --dest $@ --size 0x438E0
ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: c_dep :=
+1 -1
View File
@@ -446,7 +446,7 @@ sub_08054EFC: @ 0x08054EFC
subs r0, #0x10
strh r0, [r1, #0x32]
adds r0, r4, #0
bl ResolveEntityBelow
bl SortEntityBelow
_08054F54:
movs r0, #0xfd
bl SoundReq
+1 -1
View File
@@ -724,7 +724,7 @@ _08078DE0:
strh r0, [r4, #0x32]
adds r0, r5, #0
adds r1, r4, #0
bl ResolveEntityOnTop
bl SortEntityAbove
ldr r0, _08078E34 @ =gPlayerState
ldrb r0, [r0, #5]
cmp r0, #4
+1 -1
View File
@@ -419,7 +419,7 @@ _08080DB4:
adds r2, #1
strb r0, [r2]
adds r0, r4, #0
bl ResolveEntityOnTop
bl SortEntityAbove
b _08080E00
_08080DEE:
ldr r0, _08080E04 @ =gRoomTransition
-845
View File
@@ -1,845 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0806FB00
sub_0806FB00: @ 0x0806FB00
push {r4, lr}
mov ip, r0
adds r4, r1, #0
cmp r3, #0
bne _0806FB0C
movs r3, #1
_0806FB0C:
mov r1, ip
adds r1, #0x7e
movs r0, #0
strb r0, [r1]
mov r0, ip
adds r0, #0x7f
strb r3, [r0]
mov r0, ip
ldrh r1, [r0, #0x2e]
adds r0, #0x80
strh r1, [r0]
mov r1, ip
ldrh r0, [r1, #0x32]
adds r1, #0x82
strh r0, [r1]
mov r0, ip
adds r0, #0x84
strh r4, [r0]
adds r0, #2
strh r2, [r0]
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0806FB38
sub_0806FB38: @ 0x0806FB38
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r6, r5, #0
adds r6, #0x7e
adds r7, r5, #0
adds r7, #0x7f
ldrb r0, [r6]
ldrb r1, [r7]
cmp r0, r1
bhs _0806FBA0
adds r0, #1
strb r0, [r6]
adds r0, r5, #0
adds r0, #0x84
movs r2, #0
ldrsh r1, [r0, r2]
adds r4, r5, #0
adds r4, #0x80
movs r2, #0
ldrsh r0, [r4, r2]
subs r1, r1, r0
ldrb r0, [r6]
muls r0, r1, r0
lsls r0, r0, #8
ldrb r1, [r7]
bl __divsi3
asrs r0, r0, #8
ldrh r4, [r4]
adds r0, r0, r4
strh r0, [r5, #0x2e]
adds r0, r5, #0
adds r0, #0x86
movs r2, #0
ldrsh r1, [r0, r2]
adds r4, r5, #0
adds r4, #0x82
movs r2, #0
ldrsh r0, [r4, r2]
subs r1, r1, r0
ldrb r0, [r6]
muls r0, r1, r0
lsls r0, r0, #8
ldrb r1, [r7]
bl __divsi3
asrs r0, r0, #8
ldrh r4, [r4]
adds r0, r0, r4
strh r0, [r5, #0x32]
movs r0, #0
b _0806FBB2
_0806FBA0:
adds r0, r5, #0
adds r0, #0x84
ldrh r0, [r0]
strh r0, [r5, #0x2e]
adds r0, r5, #0
adds r0, #0x86
ldrh r0, [r0]
strh r0, [r5, #0x32]
movs r0, #1
_0806FBB2:
pop {r4, r5, r6, r7, pc}
thumb_func_start sub_0806FBB4
sub_0806FBB4: @ 0x0806FBB4
push {lr}
adds r1, r0, #0
ldr r0, _0806FBD0 @ =gRoomTransition
ldrb r0, [r0, #5]
cmp r0, #0
bne _0806FBC8
ldr r0, _0806FBD4 @ =gPlayerState
ldrb r0, [r0, #5]
cmp r0, #0
bne _0806FBCC
_0806FBC8:
movs r0, #6
strb r0, [r1, #0xd]
_0806FBCC:
pop {pc}
.align 2, 0
_0806FBD0: .4byte gRoomTransition
_0806FBD4: .4byte gPlayerState
thumb_func_start AllocMutableHitbox
AllocMutableHitbox: @ 0x0806FBD8
push {r4, lr}
adds r4, r0, #0
bl UnloadHitbox
movs r0, #0xc
bl zMalloc
str r0, [r4, #0x48]
pop {r4, pc}
.align 2, 0
thumb_func_start UnloadHitbox
UnloadHitbox: @ 0x0806FBEC
push {r4, lr}
adds r4, r0, #0
ldr r0, [r4, #0x48]
bl zFree
movs r0, #0
str r0, [r4, #0x48]
pop {r4, pc}
thumb_func_start CheckPlayerProximity
CheckPlayerProximity: @ 0x0806FBFC
push {r4, r5, r6, lr}
adds r5, r3, #0
ldr r4, _0806FC20 @ =gPlayerEntity
movs r6, #0x2e
ldrsh r3, [r4, r6]
subs r3, r3, r0
movs r6, #0x32
ldrsh r0, [r4, r6]
subs r0, r0, r1
movs r1, #0
cmp r3, r2
bhs _0806FC1A
cmp r0, r5
bhs _0806FC1A
movs r1, #1
_0806FC1A:
adds r0, r1, #0
pop {r4, r5, r6, pc}
.align 2, 0
_0806FC20: .4byte gPlayerEntity
thumb_func_start sub_0806FC24
sub_0806FC24: @ 0x0806FC24
push {r4, lr}
adds r4, r1, #0
ldr r1, _0806FC44 @ =gUnk_080046A4
bl sub_08007DD6
cmp r0, #0
beq _0806FC4C
lsls r0, r0, #3
ldr r1, _0806FC48 @ =gUnk_080047F6
adds r0, r0, r1
ldrh r0, [r0]
asrs r0, r4
movs r1, #1
ands r0, r1
b _0806FC4E
.align 2, 0
_0806FC44: .4byte gUnk_080046A4
_0806FC48: .4byte gUnk_080047F6
_0806FC4C:
movs r0, #0
_0806FC4E:
pop {r4, pc}
thumb_func_start sub_0806FC50
sub_0806FC50: @ 0x0806FC50
push {r4, lr}
adds r4, r1, #0
ldr r1, _0806FC74 @ =gUnk_080046A4
bl sub_08007DD6
cmp r0, #0
beq _0806FC70
ldr r1, _0806FC78 @ =gUnk_080047F6
lsls r0, r0, #3
adds r2, r0, r1
ldrh r0, [r2]
asrs r0, r4
movs r1, #1
ands r0, r1
cmp r0, #0
bne _0806FC7C
_0806FC70:
movs r0, #0
b _0806FC7E
.align 2, 0
_0806FC74: .4byte gUnk_080046A4
_0806FC78: .4byte gUnk_080047F6
_0806FC7C:
adds r0, r2, #0
_0806FC7E:
pop {r4, pc}
thumb_func_start sub_0806FC80
sub_0806FC80: @ 0x0806FC80
push {r4, r5, lr}
lsls r4, r2, #4
movs r2, #0x2e
ldrsh r3, [r1, r2]
movs r5, #0x32
ldrsh r2, [r1, r5]
adds r1, r3, #0
bl sub_080041DC
cmp r4, r0
bhs _0806FC9A
movs r0, #0
b _0806FC9C
_0806FC9A:
movs r0, #1
_0806FC9C:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_0806FCA0
sub_0806FCA0: @ 0x0806FCA0
push {lr}
bl GetFacingDirection
bl sub_0806F5A4
pop {pc}
thumb_func_start sub_0806FCAC
sub_0806FCAC: @ 0x0806FCAC
push {lr}
bl GetFacingDirection
bl sub_0806F5B0
pop {pc}
thumb_func_start sub_0806FCB8
sub_0806FCB8: @ 0x0806FCB8
push {r4, r5, lr}
adds r4, r0, #0
movs r5, #0x2e
ldrsh r0, [r4, r5]
subs r0, r0, r1
movs r5, #0x32
ldrsh r1, [r4, r5]
subs r1, r1, r2
adds r2, r3, #0
bl sub_0806FCD0
pop {r4, r5, pc}
thumb_func_start sub_0806FCD0
sub_0806FCD0: @ 0x0806FCD0
push {r4, lr}
movs r3, #0
adds r4, r2, #0
muls r4, r2, r4
adds r2, r4, #0
adds r4, r0, #0
muls r4, r0, r4
adds r0, r4, #0
adds r4, r1, #0
muls r4, r1, r4
adds r1, r4, #0
adds r0, r0, r1
cmp r2, r0
blt _0806FCEE
movs r3, #1
_0806FCEE:
adds r0, r3, #0
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0806FCF4
sub_0806FCF4: @ 0x0806FCF4
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r4, r2, #0
adds r5, r3, #0
movs r2, #0
cmp r1, #0
bge _0806FD04
rsbs r1, r1, #0
_0806FD04:
cmp r4, #0
beq _0806FD1A
movs r0, #0x80
lsls r0, r0, #9
bl __divsi3
adds r1, r0, #0
adds r0, r4, #0
muls r0, r1, r0
lsrs r1, r0, #8
subs r2, r4, r1
_0806FD1A:
cmp r5, #0
beq _0806FD22
cmp r5, #3
bne _0806FD24
_0806FD22:
rsbs r2, r2, #0
_0806FD24:
cmp r5, #0
beq _0806FD2C
cmp r5, #2
bne _0806FD32
_0806FD2C:
adds r0, r6, #0
adds r0, #0x63
b _0806FD36
_0806FD32:
adds r0, r6, #0
adds r0, #0x62
_0806FD36:
strb r2, [r0]
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_start sub_0806FD3C
sub_0806FD3C: @ 0x0806FD3C
ldrb r2, [r0, #0x18]
movs r1, #0x31
rsbs r1, r1, #0
ands r1, r2
strb r1, [r0, #0x18]
adds r0, #0x29
ldrb r2, [r0]
movs r1, #0x39
rsbs r1, r1, #0
ands r1, r2
strb r1, [r0]
bx lr
thumb_func_start sub_0806FD54
sub_0806FD54: @ 0x0806FD54
push {r4, lr}
adds r3, r0, #0
ldr r0, _0806FD6C @ =gPlayerState
ldr r0, [r0, #0x30]
movs r1, #0x80
lsls r1, r1, #0x10
ands r0, r1
cmp r0, #0
bne _0806FD70
movs r0, #0
b _0806FD84
.align 2, 0
_0806FD6C: .4byte gPlayerState
_0806FD70:
ldr r0, _0806FD88 @ =gPlayerEntity
movs r2, #0x2e
ldrsh r1, [r0, r2]
movs r4, #0x32
ldrsh r2, [r0, r4]
subs r2, #9
adds r0, r3, #0
movs r3, #0x48
bl sub_0806FCB8
_0806FD84:
pop {r4, pc}
.align 2, 0
_0806FD88: .4byte gPlayerEntity
thumb_func_start sub_0806FD8C
sub_0806FD8C: @ 0x0806FD8C
push {lr}
ldr r0, _0806FD9C @ =gUnk_020000C0
movs r1, #0xc0
lsls r1, r1, #4
bl MemClear
pop {pc}
.align 2, 0
_0806FD9C: .4byte gUnk_020000C0
thumb_func_start sub_0806FDA0
sub_0806FDA0: @ 0x0806FDA0
push {r4, lr}
movs r3, #1
ldr r1, _0806FDD8 @ =gUnk_020000C0
movs r4, #0xff
movs r2, #0x61
adds r2, r2, r1
mov ip, r2
adds r2, r1, #0
adds r2, #0x40
adds r1, r0, #0
adds r1, #0x28
_0806FDB6:
ldrb r0, [r2]
lsls r0, r0, #0x1f
cmp r0, #0
bne _0806FDDC
strb r3, [r1]
ldrb r0, [r2]
movs r1, #1
orrs r0, r1
strb r0, [r2]
strb r4, [r2, #1]
strb r4, [r2, #0x11]
mov r0, ip
strb r4, [r0]
strb r4, [r0, #0x10]
movs r0, #1
b _0806FDEA
.align 2, 0
_0806FDD8: .4byte gUnk_020000C0
_0806FDDC:
movs r0, #0x40
add ip, r0
adds r2, #0x40
adds r3, #1
cmp r3, #0x2f
bls _0806FDB6
movs r0, #0
_0806FDEA:
pop {r4, pc}
thumb_func_start LoadExtraSpriteData
LoadExtraSpriteData: @ 0x0806FDEC
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r6, r0, #0
adds r4, r1, #0
bl sub_0806FDA0
cmp r0, #0
bne _0806FE02
movs r0, #0
b _0806FE74
_0806FE02:
adds r0, r6, #0
bl UnloadOBJPalette
adds r0, r6, #0
adds r0, #0x28
ldrb r0, [r0]
lsls r0, r0, #6
ldr r1, _0806FE7C @ =gUnk_020000C0
adds r5, r0, r1
movs r7, #0
ldrh r1, [r4, #2]
ldr r0, _0806FE80 @ =0x000003FF
ands r0, r1
movs r1, #0x27
adds r1, r1, r6
mov r8, r1
cmp r0, #0
beq _0806FE6C
_0806FE26:
ldr r1, [r4]
lsls r1, r1, #0x16
lsrs r1, r1, #0x16
adds r0, r6, #0
bl LoadObjPalette
adds r2, r0, #0
ldr r3, [r4]
lsls r1, r3, #6
lsrs r1, r1, #0x16
lsls r3, r3, #0x10
lsrs r3, r3, #0x1a
adds r0, r5, #0
bl sub_0806FEE8
ldrb r1, [r4, #3]
movs r0, #4
ands r0, r1
cmp r0, #0
beq _0806FE56
adds r0, r5, #0
adds r1, r6, #0
bl sub_0806FEFC
_0806FE56:
adds r5, #0x10
adds r4, #4
adds r7, #1
cmp r7, #3
bhi _0806FE6C
ldrh r1, [r4, #2]
ldr r2, _0806FE80 @ =0x000003FF
adds r0, r2, #0
ands r0, r1
cmp r0, #0
bne _0806FE26
_0806FE6C:
movs r0, #0
mov r1, r8
strb r0, [r1]
movs r0, #1
_0806FE74:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0806FE7C: .4byte gUnk_020000C0
_0806FE80: .4byte 0x000003FF
thumb_func_start sub_0806FE84
sub_0806FE84: @ 0x0806FE84
push {r4, r5, r6, lr}
adds r0, #0x28
ldrb r2, [r0]
movs r1, #0
strb r1, [r0]
subs r0, r2, #1
cmp r0, #0x7e
bhi _0806FEB4
lsls r1, r2, #6
ldr r0, _0806FEB8 @ =gUnk_020000C0
adds r6, r1, r0
movs r5, #0
adds r4, r6, #0
_0806FE9E:
ldrb r0, [r4, #5]
bl sub_0801D244
adds r4, #0x10
adds r5, #1
cmp r5, #3
bls _0806FE9E
adds r0, r6, #0
movs r1, #0x40
bl MemClear
_0806FEB4:
pop {r4, r5, r6, pc}
.align 2, 0
_0806FEB8: .4byte gUnk_020000C0
thumb_func_start sub_0806FEBC
sub_0806FEBC: @ 0x0806FEBC
adds r0, #0x28
ldrb r3, [r0]
lsls r3, r3, #6
lsls r1, r1, #4
ldr r0, _0806FEE4 @ =gUnk_020000C0
adds r1, r1, r0
adds r3, r3, r1
movs r0, #0
str r0, [r3]
str r0, [r3, #4]
str r0, [r3, #8]
str r2, [r3, #0xc]
ldrb r0, [r3]
movs r1, #1
orrs r0, r1
movs r1, #2
orrs r0, r1
strb r0, [r3]
bx lr
.align 2, 0
_0806FEE4: .4byte gUnk_020000C0
thumb_func_start sub_0806FEE8
sub_0806FEE8: @ 0x0806FEE8
strb r3, [r0, #8]
strh r1, [r0, #2]
strb r2, [r0, #5]
ldrb r1, [r0]
movs r2, #8
orrs r1, r2
movs r2, #1
orrs r1, r2
strb r1, [r0]
bx lr
thumb_func_start sub_0806FEFC
sub_0806FEFC: @ 0x0806FEFC
adds r1, #0x60
ldrh r1, [r1]
ldrb r2, [r0, #8]
adds r1, r1, r2
strh r1, [r0, #0xa]
ldrb r1, [r0]
movs r2, #4
orrs r1, r2
strb r1, [r0]
bx lr
thumb_func_start sub_0806FF10
sub_0806FF10: @ 0x0806FF10
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r5, r2, #0
adds r0, #0x28
ldrb r2, [r0]
lsls r2, r2, #6
lsls r1, r1, #4
ldr r0, _0806FF44 @ =gUnk_020000C0
adds r1, r1, r0
adds r4, r2, r1
adds r0, r5, #0
bl FindPalette
ldrb r1, [r4, #5]
cmp r1, r0
beq _0806FF40
adds r0, r1, #0
bl sub_0801D244
adds r0, r6, #0
adds r1, r5, #0
bl LoadObjPalette
strb r0, [r4, #5]
_0806FF40:
pop {r4, r5, r6, pc}
.align 2, 0
_0806FF44: .4byte gUnk_020000C0
thumb_func_start sub_0806FF48
sub_0806FF48: @ 0x0806FF48
adds r0, #0x28
ldrb r0, [r0]
lsls r0, r0, #6
lsls r1, r1, #4
ldr r3, _0806FF5C @ =gUnk_020000C0
adds r1, r1, r3
adds r0, r0, r1
strb r2, [r0, #4]
bx lr
.align 2, 0
_0806FF5C: .4byte gUnk_020000C0
thumb_func_start SetExtraSpriteFrame
SetExtraSpriteFrame: @ 0x0806FF60
push {lr}
adds r3, r2, #0
adds r0, #0x28
ldrb r0, [r0]
lsls r0, r0, #6
ldr r2, _0806FF84 @ =gUnk_020000C0
adds r0, r0, r2
lsls r1, r1, #4
adds r2, r0, r1
ldrb r0, [r2, #1]
cmp r0, r3
beq _0806FF82
strb r3, [r2, #1]
ldrb r0, [r2]
movs r1, #8
orrs r0, r1
strb r0, [r2]
_0806FF82:
pop {pc}
.align 2, 0
_0806FF84: .4byte gUnk_020000C0
thumb_func_start SetSpriteSubEntryOffsetData1
SetSpriteSubEntryOffsetData1: @ 0x0806FF88
push {r4, r5, lr}
adds r5, r1, #0
adds r0, #0x28
ldrb r4, [r0]
lsls r4, r4, #6
ldr r0, _0806FFB8 @ =gUnk_020000C0
adds r4, r4, r0
lsls r5, r5, #4
adds r5, r4, r5
lsls r2, r2, #4
adds r4, r4, r2
ldrh r0, [r5, #2]
ldrb r1, [r5, #1]
bl GetSpriteSubEntryOffsetDataPointer
ldrb r1, [r5, #6]
ldrb r2, [r0]
adds r1, r1, r2
strb r1, [r4, #6]
ldrb r1, [r5, #7]
ldrb r0, [r0, #1]
adds r1, r1, r0
strb r1, [r4, #7]
pop {r4, r5, pc}
.align 2, 0
_0806FFB8: .4byte gUnk_020000C0
thumb_func_start sub_0806FFBC
sub_0806FFBC: @ 0x0806FFBC
push {r4, lr}
adds r0, #0x28
ldrb r0, [r0]
lsls r0, r0, #6
lsls r1, r1, #4
ldr r4, _0806FFD4 @ =gUnk_020000C0
adds r1, r1, r4
adds r0, r0, r1
strb r2, [r0, #6]
strb r3, [r0, #7]
pop {r4, pc}
.align 2, 0
_0806FFD4: .4byte gUnk_020000C0
thumb_func_start SetSpriteSubEntryOffsetData2
SetSpriteSubEntryOffsetData2: @ 0x0806FFD8
push {r4, r5, lr}
adds r5, r1, #0
adds r0, #0x28
ldrb r4, [r0]
lsls r4, r4, #6
ldr r0, _08070008 @ =gUnk_020000C0
adds r4, r4, r0
lsls r5, r5, #4
adds r5, r4, r5
lsls r2, r2, #4
adds r4, r4, r2
ldrh r0, [r5, #2]
ldrb r1, [r5, #1]
bl GetSpriteSubEntryOffsetDataPointer
ldrb r1, [r5, #6]
ldrb r2, [r0, #2]
adds r1, r1, r2
strb r1, [r4, #6]
ldrb r1, [r5, #7]
ldrb r0, [r0, #3]
adds r1, r1, r0
strb r1, [r4, #7]
pop {r4, r5, pc}
.align 2, 0
_08070008: .4byte gUnk_020000C0
thumb_func_start sub_0807000C
sub_0807000C: @ 0x0807000C
push {r4, r5, r6, r7, lr}
adds r6, r0, #0
adds r7, r6, #0
adds r7, #0x28
ldrb r4, [r7]
lsls r4, r4, #6
ldr r0, _08070074 @ =gUnk_020000C0
adds r4, r4, r0
adds r0, r4, #0
movs r1, #0
bl sub_0807007C
adds r5, r0, #0
adds r0, r4, #0
movs r1, #1
bl sub_0807007C
orrs r5, r0
adds r0, r4, #0
movs r1, #2
bl sub_0807007C
orrs r5, r0
adds r0, r4, #0
movs r1, #3
bl sub_0807007C
orrs r5, r0
cmp r5, #0
beq _08070072
ldr r3, _08070078 @ =gGFXSlots
adds r2, r6, #0
adds r2, #0x26
ldrb r1, [r2]
lsls r0, r1, #1
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r3
ldrb r1, [r7]
strb r1, [r0, #7]
ldrb r1, [r2]
lsls r0, r1, #1
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r3
ldrb r2, [r0, #4]
movs r1, #0xf
ands r1, r2
movs r2, #0x30
orrs r1, r2
strb r1, [r0, #4]
_08070072:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08070074: .4byte gUnk_020000C0
_08070078: .4byte gGFXSlots
thumb_func_start sub_0807007C
sub_0807007C: @ 0x0807007C
push {lr}
lsls r1, r1, #4
adds r2, r0, r1
ldrb r1, [r2]
movs r0, #8
ands r0, r1
cmp r0, #0
beq _080700C4
movs r0, #4
ands r0, r1
cmp r0, #0
beq _080700C4
ldrb r0, [r2, #1]
cmp r0, #0xff
beq _080700C4
ldrh r0, [r2, #2]
lsls r0, r0, #4
ldr r1, _080700C0 @ =gSpritePtrs
adds r3, r0, r1
ldr r1, [r3, #4]
cmp r1, #0
beq _080700C4
ldrb r0, [r2, #1]
lsls r0, r0, #2
adds r0, r1, r0
ldrb r1, [r0]
strb r1, [r2, #9]
ldrh r1, [r0, #2]
lsls r1, r1, #5
ldr r0, [r3, #8]
adds r0, r0, r1
str r0, [r2, #0xc]
movs r0, #1
b _080700C6
.align 2, 0
_080700C0: .4byte gSpritePtrs
_080700C4:
movs r0, #0
_080700C6:
pop {pc}
thumb_func_start GetSpriteSubEntryOffsetDataPointer
GetSpriteSubEntryOffsetDataPointer: @ 0x080700C8
lsls r0, r0, #1
ldr r2, _080700E4 @ =gUnk_089FB780
adds r0, r0, r2
ldrh r0, [r0]
subs r2, #0x10
adds r0, r0, r2
adds r1, r0, r1
ldrb r0, [r1]
lsls r0, r0, #2
adds r0, r0, r2
ldr r1, [r2]
adds r0, r1, r0
bx lr
.align 2, 0
_080700E4: .4byte gExtraFrameOffsets+0x10
+1 -1
View File
@@ -887,7 +887,7 @@ sub_080307EC: @ 0x080307EC
adds r6, #0x38
ldrb r1, [r6]
adds r0, r4, #0
bl sub_080001DA
bl GetTileIndex
adds r5, #0x78
strh r0, [r5]
ldr r0, _08030830 @ =0x00004022
-797
View File
@@ -1,797 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start BallChainSoldier
BallChainSoldier: @ 0x0803E528
push {lr}
ldr r1, _0803E534 @ =gUnk_080D06E0
bl EnemyFunctionHandler
pop {pc}
.align 2, 0
_0803E534: .4byte gUnk_080D06E0
thumb_func_start sub_0803E538
sub_0803E538: @ 0x0803E538
push {lr}
ldr r2, _0803E54C @ =gUnk_080D06F8
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0803E54C: .4byte gUnk_080D06F8
thumb_func_start sub_0803E550
sub_0803E550: @ 0x0803E550
push {lr}
ldr r1, _0803E55C @ =gUnk_080D06E0
bl sub_0804AA30
pop {pc}
.align 2, 0
_0803E55C: .4byte gUnk_080D06E0
thumb_func_start sub_0803E560
sub_0803E560: @ 0x0803E560
push {r4, lr}
adds r4, r0, #0
bl sub_08001324
thumb_func_start sub_0803E568
sub_0803E568: @ 0x0803E568
adds r0, r4, #0
bl sub_0803E538
pop {r4, pc}
thumb_func_start sub_0803E570
sub_0803E570: @ 0x0803E570
push {lr}
movs r1, #0xff
movs r2, #0x57
bl CreateDeathFx
pop {pc}
thumb_func_start nullsub_20
nullsub_20: @ 0x0803E57C
bx lr
.align 2, 0
thumb_func_start sub_0803E580
sub_0803E580: @ 0x0803E580
push {r4, r5, lr}
adds r5, r0, #0
bl sub_0804A720
adds r0, r5, #0
movs r1, #0x19
movs r2, #0
bl CreateProjectileWithParent
cmp r0, #0
beq _0803E5E4
str r5, [r0, #0x50]
str r0, [r5, #0x54]
ldrb r1, [r5, #0x10]
movs r0, #0x80
movs r4, #0
orrs r0, r1
strb r0, [r5, #0x10]
ldrb r1, [r5, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r5, #0x18]
bl Random
movs r1, #3
ands r0, r1
strb r0, [r5, #0x14]
adds r0, r5, #0
adds r0, #0x7b
strb r4, [r0]
adds r0, #1
strb r4, [r0]
adds r1, r5, #0
adds r1, #0x7e
movs r0, #0x20
strb r0, [r1]
adds r1, #1
movs r0, #0xfe
strb r0, [r1]
ldrb r1, [r5, #0x14]
lsls r1, r1, #2
adds r0, r5, #0
bl InitAnimationForceUpdate
adds r0, r5, #0
bl sub_0803E86C
_0803E5E4:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_0803E5E8
sub_0803E5E8: @ 0x0803E5E8
push {r4, lr}
adds r4, r0, #0
adds r0, #0x7c
ldrb r1, [r0]
subs r1, #0xa
strb r1, [r0]
adds r0, r4, #0
bl sub_0803E9A4
adds r0, r4, #0
bl sub_0803E9D4
cmp r0, #0
bne _0803E61A
adds r1, r4, #0
adds r1, #0x78
ldrh r0, [r1]
subs r0, #1
strh r0, [r1]
lsls r0, r0, #0x10
cmp r0, #0
bne _0803E61A
adds r0, r4, #0
bl sub_0803E8CC
_0803E61A:
pop {r4, pc}
thumb_func_start sub_0803E61C
sub_0803E61C: @ 0x0803E61C
push {r4, lr}
adds r4, r0, #0
adds r0, #0x7c
ldrb r1, [r0]
subs r1, #0xa
strb r1, [r0]
adds r0, r4, #0
bl sub_0803E9A4
adds r0, r4, #0
bl sub_0803E9D4
cmp r0, #0
bne _0803E66A
adds r0, r4, #0
adds r0, #0x42
ldrb r0, [r0]
cmp r0, #0
bne _0803E654
adds r0, r4, #0
bl ProcessMovement
cmp r0, #0
bne _0803E654
adds r0, r4, #0
bl sub_0803E86C
b _0803E66A
_0803E654:
adds r1, r4, #0
adds r1, #0x78
ldrh r0, [r1]
subs r0, #1
strh r0, [r1]
lsls r0, r0, #0x10
cmp r0, #0
bne _0803E66A
adds r0, r4, #0
bl sub_0803E92C
_0803E66A:
pop {r4, pc}
thumb_func_start sub_0803E66C
sub_0803E66C: @ 0x0803E66C
push {r4, lr}
adds r4, r0, #0
adds r1, r4, #0
adds r1, #0x7c
ldrb r0, [r1]
subs r0, #0x10
strb r0, [r1]
adds r0, r4, #0
bl sub_0803E9A4
adds r1, r4, #0
adds r1, #0x7e
ldrb r0, [r1]
cmp r0, #0x21
bhi _0803E68E
adds r0, #1
strb r0, [r1]
_0803E68E:
adds r0, r4, #0
movs r1, #1
bl sub_08049FDC
cmp r0, #0
beq _0803E6A4
adds r0, r4, #0
bl sub_0803EA64
cmp r0, #0
bne _0803E6B0
_0803E6A4:
movs r0, #4
strb r0, [r4, #0xc]
adds r1, r4, #0
adds r1, #0x7b
movs r0, #0
strb r0, [r1]
_0803E6B0:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0803E6B4
sub_0803E6B4: @ 0x0803E6B4
push {r4, lr}
adds r4, r0, #0
adds r1, r4, #0
adds r1, #0x7c
ldrb r0, [r1]
subs r0, #0xa
strb r0, [r1]
adds r0, r4, #0
bl sub_0803E9A4
adds r1, r4, #0
adds r1, #0x7e
ldrb r0, [r1]
cmp r0, #0x20
bls _0803E6D8
subs r0, #1
strb r0, [r1]
b _0803E6DE
_0803E6D8:
adds r0, r4, #0
bl sub_0803E86C
_0803E6DE:
pop {r4, pc}
thumb_func_start sub_0803E6E0
sub_0803E6E0: @ 0x0803E6E0
push {r4, lr}
adds r4, r0, #0
adds r0, #0x7c
ldrb r1, [r0]
subs r1, #0xc
strb r1, [r0]
adds r0, r4, #0
bl sub_0803E9A4
adds r1, r4, #0
adds r1, #0x7e
ldrb r0, [r1]
subs r0, #4
strb r0, [r1]
lsls r0, r0, #0x18
cmp r0, #0
bgt _0803E718
movs r0, #0
strb r0, [r1]
movs r0, #6
strb r0, [r4, #0xc]
movs r0, #0x1e
strb r0, [r4, #0xe]
ldrb r1, [r4, #0x14]
adds r1, #0x20
adds r0, r4, #0
bl InitAnimationForceUpdate
_0803E718:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0803E71C
sub_0803E71C: @ 0x0803E71C
push {lr}
adds r2, r0, #0
ldrb r0, [r2, #0xe]
subs r0, #1
strb r0, [r2, #0xe]
lsls r0, r0, #0x18
lsrs r3, r0, #0x18
cmp r3, #0
bne _0803E756
movs r0, #7
strb r0, [r2, #0xc]
movs r0, #1
strb r0, [r2, #0xe]
ldr r1, _0803E758 @ =gUnk_080D0724
ldrb r0, [r2, #0x14]
adds r0, r0, r1
ldrb r1, [r0]
adds r0, r2, #0
adds r0, #0x7c
strb r1, [r0]
subs r0, #1
strb r3, [r0]
adds r1, r2, #0
adds r1, #0x7f
movs r0, #0xf6
strb r0, [r1]
adds r0, #0x65
bl EnqueueSFX
_0803E756:
pop {pc}
.align 2, 0
_0803E758: .4byte gUnk_080D0724
thumb_func_start sub_0803E75C
sub_0803E75C: @ 0x0803E75C
push {lr}
adds r2, r0, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
bne _0803E774
adds r0, r2, #0
bl UpdateAnimationSingleFrame
b _0803E7B0
_0803E774:
ldrb r0, [r2, #0xe]
subs r0, #1
strb r0, [r2, #0xe]
lsls r0, r0, #0x18
adds r1, r2, #0
adds r1, #0x7f
cmp r0, #0
bne _0803E78E
movs r0, #2
strb r0, [r2, #0xe]
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
_0803E78E:
ldrb r0, [r1]
cmp r0, #0
beq _0803E7A0
adds r1, r2, #0
adds r1, #0x7e
ldrb r0, [r1]
adds r0, #5
strb r0, [r1]
b _0803E7B0
_0803E7A0:
movs r0, #8
strb r0, [r2, #0xc]
movs r0, #0x1e
strb r0, [r2, #0xe]
movs r0, #8
movs r1, #0
bl InitScreenShake
_0803E7B0:
pop {pc}
.align 2, 0
thumb_func_start sub_0803E7B4
sub_0803E7B4: @ 0x0803E7B4
push {lr}
adds r1, r0, #0
ldrb r0, [r1, #0xe]
subs r0, #1
strb r0, [r1, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0803E7C8
movs r0, #9
strb r0, [r1, #0xc]
_0803E7C8:
pop {pc}
.align 2, 0
thumb_func_start sub_0803E7CC
sub_0803E7CC: @ 0x0803E7CC
push {lr}
adds r2, r0, #0
adds r1, r2, #0
adds r1, #0x7e
ldrb r0, [r1]
subs r0, #2
strb r0, [r1]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0xa
bhi _0803E806
movs r0, #0xa
strb r0, [r2, #0xc]
movs r0, #0x5a
strb r0, [r2, #0xe]
ldrb r0, [r2, #0x14]
lsls r0, r0, #3
strb r0, [r2, #0x15]
subs r1, #2
movs r0, #0
strb r0, [r1]
adds r1, #3
movs r0, #0xfe
strb r0, [r1]
adds r0, r2, #0
movs r1, #0x10
bl sub_0803E94C
b _0803E814
_0803E806:
cmp r0, #0x12
bhi _0803E814
ldr r2, [r2, #0x54]
ldrb r1, [r2, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r2, #0x10]
_0803E814:
pop {pc}
.align 2, 0
thumb_func_start sub_0803E818
sub_0803E818: @ 0x0803E818
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xe]
cmp r0, #0
beq _0803E840
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _0803E868
ldr r0, [r4, #0x54]
ldrb r1, [r0, #0x10]
movs r2, #0x80
orrs r1, r2
strb r1, [r0, #0x10]
adds r0, r4, #0
movs r1, #0
bl sub_0803E94C
b _0803E868
_0803E840:
adds r1, r4, #0
adds r1, #0x7c
ldrb r0, [r1]
subs r0, #0xa
strb r0, [r1]
adds r0, r4, #0
bl sub_0803E9A4
adds r1, r4, #0
adds r1, #0x7e
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x1f
bls _0803E868
adds r0, r4, #0
bl sub_0803E86C
_0803E868:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0803E86C
sub_0803E86C: @ 0x0803E86C
push {r4, lr}
adds r4, r0, #0
movs r1, #1
bl sub_08049FDC
cmp r0, #0
beq _0803E898
adds r0, r4, #0
movs r1, #0x50
bl sub_0803EAD0
cmp r0, #0
beq _0803E898
ldr r0, _0803E8C4 @ =gUnk_020000B0
ldr r1, [r0]
adds r0, r4, #0
bl GetFacingDirection
adds r0, #4
movs r1, #0x18
ands r0, r1
strb r0, [r4, #0x15]
_0803E898:
movs r0, #1
strb r0, [r4, #0xc]
bl Random
ldr r2, _0803E8C8 @ =gUnk_080D0728
movs r1, #3
ands r1, r0
lsls r1, r1, #1
adds r1, r1, r2
ldrh r1, [r1]
adds r0, r4, #0
adds r0, #0x78
strh r1, [r0]
adds r1, r4, #0
adds r1, #0x7a
movs r0, #4
strb r0, [r1]
adds r0, r4, #0
movs r1, #0
bl sub_0803E94C
pop {r4, pc}
.align 2, 0
_0803E8C4: .4byte gUnk_020000B0
_0803E8C8: .4byte gUnk_080D0728
thumb_func_start sub_0803E8CC
sub_0803E8CC: @ 0x0803E8CC
push {r4, r5, lr}
adds r4, r0, #0
bl Random
adds r5, r0, #0
adds r0, r4, #0
bl sub_08049FA0
cmp r0, #0
bne _0803E8F4
movs r0, #3
ands r0, r5
cmp r0, #0
beq _0803E8F4
adds r0, r4, #0
bl sub_08049EE4
adds r0, #4
movs r1, #0x18
b _0803E8F8
_0803E8F4:
movs r1, #0x18
adds r0, r5, #0
_0803E8F8:
ands r0, r1
strb r0, [r4, #0x15]
movs r0, #2
strb r0, [r4, #0xc]
ldr r2, _0803E928 @ =gUnk_080D0730
lsrs r0, r5, #0x10
movs r1, #3
ands r0, r1
lsls r0, r0, #1
adds r0, r0, r2
ldrh r1, [r0]
adds r0, r4, #0
adds r0, #0x78
strh r1, [r0]
adds r1, r4, #0
adds r1, #0x7a
movs r0, #4
strb r0, [r1]
adds r0, r4, #0
movs r1, #0x10
bl sub_0803E94C
pop {r4, r5, pc}
.align 2, 0
_0803E928: .4byte gUnk_080D0730
thumb_func_start sub_0803E92C
sub_0803E92C: @ 0x0803E92C
push {r4, lr}
adds r4, r0, #0
bl Random
movs r1, #1
ands r1, r0
cmp r1, #0
beq _0803E944
adds r0, r4, #0
bl sub_0803E86C
b _0803E94A
_0803E944:
adds r0, r4, #0
bl sub_0803E8CC
_0803E94A:
pop {r4, pc}
thumb_func_start sub_0803E94C
sub_0803E94C: @ 0x0803E94C
push {r4, r5, r6, lr}
adds r3, r0, #0
adds r6, r1, #0
ldrb r2, [r3, #0x15]
adds r0, r2, #4
movs r1, #0x18
ands r0, r1
asrs r4, r0, #3
adds r0, r3, #0
adds r0, #0x58
ldrb r1, [r0]
movs r0, #0x10
ands r0, r1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, r6
bne _0803E988
movs r0, #7
ands r0, r2
ldrb r5, [r3, #0x14]
cmp r0, #4
bne _0803E984
lsrs r0, r2, #3
subs r0, r5, r0
movs r1, #3
ands r0, r1
cmp r0, #1
ble _0803E9A2
_0803E984:
cmp r4, r5
beq _0803E9A2
_0803E988:
strb r4, [r3, #0x14]
adds r0, r3, #0
adds r0, #0x58
ldrb r1, [r0]
movs r0, #3
ands r0, r1
adds r0, r6, r0
lsls r1, r4, #2
adds r4, r0, r1
adds r0, r3, #0
adds r1, r4, #0
bl InitAnimationForceUpdate
_0803E9A2:
pop {r4, r5, r6, pc}
thumb_func_start sub_0803E9A4
sub_0803E9A4: @ 0x0803E9A4
push {r4, lr}
adds r2, r0, #0
adds r0, #0x7c
ldrb r0, [r0]
adds r0, #0x20
movs r1, #0xff
ands r0, r1
asrs r4, r0, #6
adds r3, r2, #0
adds r3, #0x58
ldrb r1, [r3]
movs r0, #3
ands r0, r1
cmp r0, r4
beq _0803E9D2
ldrb r1, [r3]
movs r0, #4
rsbs r0, r0, #0
ands r1, r0
adds r1, r4, r1
adds r0, r2, #0
bl InitAnimationForceUpdate
_0803E9D2:
pop {r4, pc}
thumb_func_start sub_0803E9D4
sub_0803E9D4: @ 0x0803E9D4
push {r4, lr}
adds r4, r0, #0
movs r1, #1
bl sub_08049FDC
cmp r0, #0
beq _0803EA58
adds r0, r4, #0
movs r1, #0x38
bl sub_0803EAD0
cmp r0, #0
beq _0803EA10
movs r0, #3
strb r0, [r4, #0xc]
ldr r0, _0803EA0C @ =gUnk_020000B0
ldr r1, [r0]
adds r0, r4, #0
bl GetFacingDirection
adds r0, #4
movs r1, #0x18
ands r0, r1
strb r0, [r4, #0x15]
adds r1, r4, #0
adds r1, #0x7b
movs r0, #1
b _0803EA46
.align 2, 0
_0803EA0C: .4byte gUnk_020000B0
_0803EA10:
adds r0, r4, #0
movs r1, #0x4e
bl sub_0803EAD0
cmp r0, #0
beq _0803EA58
ldr r0, _0803EA54 @ =gUnk_020000B0
ldr r1, [r0]
adds r0, r4, #0
movs r2, #0x12
bl sub_0804A044
adds r2, r0, #0
cmp r2, #0xff
beq _0803EA58
adds r1, r4, #0
adds r1, #0x7a
ldrb r0, [r1]
subs r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
cmp r0, #0
bne _0803EA60
movs r0, #5
strb r0, [r4, #0xc]
strb r2, [r4, #0x15]
movs r0, #4
_0803EA46:
strb r0, [r1]
adds r0, r4, #0
movs r1, #0
bl sub_0803E94C
movs r0, #1
b _0803EA62
.align 2, 0
_0803EA54: .4byte gUnk_020000B0
_0803EA58:
adds r1, r4, #0
adds r1, #0x7a
movs r0, #4
strb r0, [r1]
_0803EA60:
movs r0, #0
_0803EA62:
pop {r4, pc}
thumb_func_start sub_0803EA64
sub_0803EA64: @ 0x0803EA64
push {r4, lr}
adds r4, r0, #0
movs r1, #1
bl sub_08049FDC
cmp r0, #0
beq _0803EAC4
adds r0, r4, #0
movs r1, #0x4e
bl sub_0803EAD0
cmp r0, #0
beq _0803EAB8
ldr r0, _0803EAB4 @ =gUnk_020000B0
ldr r1, [r0]
adds r0, r4, #0
movs r2, #0x12
bl sub_0804A044
adds r2, r0, #0
cmp r2, #0xff
beq _0803EAB8
adds r1, r4, #0
adds r1, #0x7a
ldrb r0, [r1]
subs r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
cmp r0, #0
bne _0803EAAE
movs r0, #5
strb r0, [r4, #0xc]
strb r2, [r4, #0x15]
adds r0, r4, #0
movs r1, #0
bl sub_0803E94C
_0803EAAE:
movs r0, #1
b _0803EACE
.align 2, 0
_0803EAB4: .4byte gUnk_020000B0
_0803EAB8:
adds r0, r4, #0
movs r1, #0x38
bl sub_0803EAD0
cmp r0, #0
bne _0803EAAE
_0803EAC4:
adds r1, r4, #0
adds r1, #0x7a
movs r0, #4
strb r0, [r1]
movs r0, #0
_0803EACE:
pop {r4, pc}
thumb_func_start sub_0803EAD0
sub_0803EAD0: @ 0x0803EAD0
push {r4, lr}
adds r3, r1, #0
ldr r1, _0803EAE8 @ =gUnk_020000B0
ldr r2, [r1]
movs r4, #0x2e
ldrsh r1, [r2, r4]
movs r4, #0x32
ldrsh r2, [r2, r4]
subs r2, #4
bl sub_0806FCB8
pop {r4, pc}
.align 2, 0
_0803EAE8: .4byte gUnk_020000B0
+5 -5
View File
@@ -3676,7 +3676,7 @@ _08027676:
mov r0, sl
ldrb r2, [r0]
adds r0, r5, #0
bl sub_0806F62C
bl LinearMoveAngle
ldrb r0, [r5, #0xa]
cmp r0, #1
beq _080276D2
@@ -3692,7 +3692,7 @@ _08027676:
adds r2, r0, #0
adds r2, #0x83
ldrb r2, [r2]
bl sub_0806F62C
bl LinearMoveAngle
ldr r0, [r5, #0x68]
ldr r1, [r5, #0x54]
ldrb r2, [r1, #0xa]
@@ -4033,7 +4033,7 @@ _08027934:
adds r0, #0x83
ldrb r2, [r0]
adds r0, r5, #0
bl sub_0806F62C
bl LinearMoveAngle
ldr r0, [r5, #0x2c]
str r0, [r6, #0x2c]
ldr r0, [r5, #0x30]
@@ -4044,7 +4044,7 @@ _08027934:
adds r0, #0x83
ldrb r2, [r0]
adds r0, r6, #0
bl sub_0806F62C
bl LinearMoveAngle
ldr r0, [r6, #0x2c]
str r0, [r4, #0x2c]
ldr r0, [r6, #0x30]
@@ -4055,7 +4055,7 @@ _08027934:
adds r0, #0x83
ldrb r2, [r0]
adds r0, r4, #0
bl sub_0806F62C
bl LinearMoveAngle
adds r0, r7, #0
bl sub_08027984
pop {r4, r5, r6, r7, pc}
+2 -2
View File
@@ -396,7 +396,7 @@ sub_080386B8: @ 0x080386B8
cmp r1, #0
beq _08038720
adds r0, r4, #0
bl ResolveEntityOnTop
bl SortEntityAbove
_08038720:
pop {r4, pc}
.align 2, 0
@@ -507,7 +507,7 @@ _080387D8:
cmp r1, #0
beq _080387EE
adds r0, r4, #0
bl ResolveEntityOnTop
bl SortEntityAbove
_080387EE:
pop {r4, pc}
-794
View File
@@ -1,794 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start CuccoAggr
CuccoAggr: @ 0x08038CA4
push {r4, r5, lr}
adds r5, r0, #0
bl sub_080012DC
adds r1, r0, #0
cmp r1, #0
beq _08038CC8
ldr r0, _08038CC4 @ =gUnk_080012C8
lsls r1, r1, #2
adds r1, r1, r0
ldr r1, [r1]
adds r0, r5, #0
bl _call_via_r1
b _08038CF0
.align 2, 0
_08038CC4: .4byte gUnk_080012C8
_08038CC8:
ldr r4, _08038CF4 @ =gUnk_080CF778
adds r0, r5, #0
bl GetNextFunction
lsls r0, r0, #2
adds r0, r0, r4
ldr r1, [r0]
adds r0, r5, #0
bl _call_via_r1
movs r3, #0x10
rsbs r3, r3, #0
adds r0, r5, #0
movs r1, #0
movs r2, #1
bl SetChildOffset
adds r0, r5, #0
bl sub_080391B4
_08038CF0:
pop {r4, r5, pc}
.align 2, 0
_08038CF4: .4byte gUnk_080CF778
thumb_func_start sub_08038CF8
sub_08038CF8: @ 0x08038CF8
push {lr}
ldr r2, _08038D0C @ =gUnk_080CF790
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_08038D0C: .4byte gUnk_080CF790
thumb_func_start sub_08038D10
sub_08038D10: @ 0x08038D10
push {r4, r5, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xa]
cmp r0, #2
beq _08038D52
adds r5, r4, #0
adds r5, #0x7a
ldrb r0, [r5]
cmp r0, #0
bne _08038D3E
movs r0, #1
bl CheckRoomFlag
cmp r0, #0
bne _08038D3E
adds r0, r4, #0
adds r0, #0x45
ldrb r0, [r0]
cmp r0, #0xbf
bhi _08038D46
movs r0, #1
strb r0, [r5]
b _08038D46
_08038D3E:
adds r1, r4, #0
adds r1, #0x45
movs r0, #0xff
strb r0, [r1]
_08038D46:
adds r0, r4, #0
bl sub_08039218
adds r0, r4, #0
bl sub_08039260
_08038D52:
adds r0, r4, #0
adds r0, #0x43
ldrb r0, [r0]
cmp r0, #0
beq _08038D64
adds r0, r4, #0
movs r1, #0x1c
bl sub_0804A9FC
_08038D64:
ldr r1, _08038D70 @ =gUnk_080CF778
adds r0, r4, #0
bl sub_0804AA30
pop {r4, r5, pc}
.align 2, 0
_08038D70: .4byte gUnk_080CF778
thumb_func_start nullsub_165
nullsub_165: @ 0x08038D74
bx lr
.align 2, 0
thumb_func_start sub_08038D78
sub_08038D78: @ 0x08038D78
push {r4, lr}
adds r4, r0, #0
bl sub_0804A720
ldrb r0, [r4, #0xa]
cmp r0, #2
beq _08038D96
movs r0, #0
strb r0, [r4, #0xb]
movs r0, #0x30
strb r0, [r4, #0x16]
adds r0, r4, #0
bl sub_08039120
b _08038D9C
_08038D96:
adds r0, r4, #0
bl sub_08039140
_08038D9C:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08038DA0
sub_08038DA0: @ 0x08038DA0
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 _08038DB6
adds r0, r4, #0
bl sub_0803901C
_08038DB6:
adds r0, r4, #0
bl sub_08039298
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08038DC0
sub_08038DC0: @ 0x08038DC0
push {lr}
ldr r2, _08038DD4 @ =gUnk_080CF7AC
ldrb r1, [r0, #0xd]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_08038DD4: .4byte gUnk_080CF7AC
thumb_func_start sub_08038DD8
sub_08038DD8: @ 0x08038DD8
push {lr}
movs r1, #1
strb r1, [r0, #0xd]
movs r1, #0x10
strb r1, [r0, #0xe]
ldr r2, _08038E10 @ =gUnk_080CF7BC
ldrb r1, [r0, #0xa]
adds r1, r1, r2
ldrb r1, [r1]
strb r1, [r0, #0xf]
ldrb r2, [r0, #0x10]
movs r1, #0x7f
ands r1, r2
strb r1, [r0, #0x10]
adds r3, r0, #0
adds r3, #0x29
ldrb r2, [r3]
movs r1, #0x39
rsbs r1, r1, #0
ands r1, r2
strb r1, [r3]
movs r1, #4
bl InitializeAnimation
ldr r0, _08038E14 @ =0x000001D9
bl EnqueueSFX
pop {pc}
.align 2, 0
_08038E10: .4byte gUnk_080CF7BC
_08038E14: .4byte 0x000001D9
thumb_func_start sub_08038E18
sub_08038E18: @ 0x08038E18
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xf]
cmp r0, #0
beq _08038E70
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _08038E70
bl sub_08079184
adds r0, r4, #0
bl sub_08039218
ldrb r0, [r4, #0x10]
movs r1, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r1
movs r1, #8
orrs r0, r1
movs r1, #8
rsbs r1, r1, #0
ands r0, r1
movs r1, #4
orrs r0, r1
strb r0, [r2]
bl Random
movs r1, #0x1f
ands r0, r1
strb r0, [r4, #0x15]
adds r0, r4, #0
bl ProcessMovement
adds r0, r4, #0
bl UpdateSpriteForCollisionLayer
_08038E70:
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _08038EA2
movs r0, #0x10
strb r0, [r4, #0xe]
bl Random
ldrb r3, [r4, #0x18]
lsls r2, r3, #0x19
lsrs r2, r2, #0x1f
movs r1, #1
ands r1, r0
eors r2, r1
lsls r2, r2, #6
movs r0, #0x41
rsbs r0, r0, #0
ands r0, r3
orrs r0, r2
strb r0, [r4, #0x18]
adds r0, r4, #0
bl sub_08039260
_08038EA2:
adds r0, r4, #0
bl GetNextFrame
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08038EAC
sub_08038EAC: @ 0x08038EAC
push {r4, lr}
adds r4, r0, #0
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r1
movs r1, #8
orrs r0, r1
strb r0, [r2]
adds r0, r4, #0
bl sub_080390F8
adds r0, r4, #0
bl GetNextFrame
pop {r4, pc}
thumb_func_start sub_08038ED0
sub_08038ED0: @ 0x08038ED0
push {lr}
ldrb r2, [r0, #0x10]
movs r1, #0x80
orrs r1, r2
strb r1, [r0, #0x10]
bl sub_08039218
pop {pc}
thumb_func_start sub_08038EE0
sub_08038EE0: @ 0x08038EE0
push {r4, lr}
adds r4, r0, #0
bl ProcessMovement
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
bl sub_08039298
movs r1, #0xe0
lsls r1, r1, #5
adds r0, r4, #0
bl GravityUpdate
cmp r0, #0
bne _08038F1C
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _08038F16
adds r0, r4, #0
bl sub_0803901C
b _08038F1C
_08038F16:
movs r0, #0x80
lsls r0, r0, #8
str r0, [r4, #0x20]
_08038F1C:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08038F20
sub_08038F20: @ 0x08038F20
push {r4, lr}
adds r4, r0, #0
bl sub_08039298
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _08038F42
adds r0, r4, #0
bl sub_0803901C
_08038F42:
pop {r4, pc}
thumb_func_start sub_08038F44
sub_08038F44: @ 0x08038F44
push {r4, lr}
adds r4, r0, #0
ldr r0, _08038F8C @ =gPlayerEntity
adds r1, r4, #0
bl GetFacingDirection
strb r0, [r4, #0x15]
adds r0, r4, #0
bl sub_080390F8
adds r0, r4, #0
bl ProcessMovement
movs r1, #0xc0
lsls r1, r1, #5
adds r0, r4, #0
bl sub_080044EC
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
bl sub_08039298
adds r1, r4, #0
adds r1, #0x78
ldrh r0, [r1]
subs r2, r0, #1
strh r2, [r1]
lsls r0, r2, #0x10
cmp r0, #0
bne _08038F90
adds r0, r4, #0
bl sub_08039120
b _08038F9E
.align 2, 0
_08038F8C: .4byte gPlayerEntity
_08038F90:
movs r0, #0x1f
ands r2, r0
cmp r2, #0
bne _08038F9E
adds r0, r4, #0
bl sub_08039260
_08038F9E:
pop {r4, pc}
thumb_func_start sub_08038FA0
sub_08038FA0: @ 0x08038FA0
push {r4, lr}
adds r4, r0, #0
ldrb r1, [r4, #0xe]
adds r0, r1, #1
strb r0, [r4, #0xe]
movs r0, #0x1f
ands r0, r1
cmp r0, #0
bne _08038FB8
adds r0, r4, #0
bl sub_08039260
_08038FB8:
adds r2, r4, #0
adds r2, #0x78
ldrh r1, [r2]
cmp r1, #0
beq _08038FFC
ldr r3, _08038FF4 @ =0x0000FFFF
adds r0, r1, r3
strh r0, [r2]
movs r0, #7
ands r0, r1
cmp r0, #0
bne _08038FE0
ldr r1, _08038FF8 @ =gPlayerEntity
adds r0, r4, #0
bl GetFacingDirection
adds r1, r0, #0
adds r0, r4, #0
bl sub_08004596
_08038FE0:
adds r0, r4, #0
bl sub_080390F8
adds r0, r4, #0
bl LinearMoveUpdate
adds r0, r4, #0
bl GetNextFrame
b _08039018
.align 2, 0
_08038FF4: .4byte 0x0000FFFF
_08038FF8: .4byte gPlayerEntity
_08038FFC:
adds r0, r4, #0
bl LinearMoveUpdate
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
bl sub_0803917C
cmp r0, #0
beq _08039018
adds r0, r4, #0
bl DeleteEntity
_08039018:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0803901C
sub_0803901C: @ 0x0803901C
push {r4, r5, lr}
adds r4, r0, #0
bl Random
adds r3, r0, #0
movs r5, #3
ands r5, r3
cmp r3, #3
bne _08039042
ldrb r0, [r4, #0xc]
cmp r0, #3
beq _0803903C
cmp r0, #4
beq _08039040
movs r5, #0
b _08039042
_0803903C:
movs r5, #1
b _08039042
_08039040:
movs r5, #2
_08039042:
cmp r5, #1
beq _0803906C
cmp r5, #2
beq _080390AA
movs r0, #1
strb r0, [r4, #0xc]
ldr r2, _08039068 @ =gUnk_080CF7BE
lsrs r0, r3, #0x10
movs r1, #3
ands r0, r1
adds r0, r0, r2
ldrb r0, [r0]
strb r0, [r4, #0xe]
adds r0, r4, #0
movs r1, #0
bl InitializeAnimation
b _080390BC
.align 2, 0
_08039068: .4byte gUnk_080CF7BE
_0803906C:
movs r1, #3
movs r0, #3
strb r0, [r4, #0xc]
lsrs r0, r3, #8
ands r0, r1
adds r0, #2
strb r0, [r4, #0xe]
movs r0, #0x80
lsls r0, r0, #8
str r0, [r4, #0x20]
adds r0, r4, #0
bl sub_080390C0
adds r0, r4, #0
movs r1, #1
bl InitializeAnimation
bl Random
ands r0, r5
cmp r0, #0
beq _080390BC
bl Random
ands r5, r0
movs r1, #0xeb
lsls r1, r1, #1
adds r0, r5, r1
bl EnqueueSFX
b _080390BC
_080390AA:
movs r0, #4
strb r0, [r4, #0xc]
lsrs r1, r3, #0x10
movs r0, #1
ands r1, r0
adds r1, #2
adds r0, r4, #0
bl InitializeAnimation
_080390BC:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_080390C0
sub_080390C0: @ 0x080390C0
push {r4, r5, lr}
adds r4, r0, #0
bl Random
adds r5, r0, #0
adds r0, r4, #0
bl sub_08049FA0
cmp r0, #0
beq _080390E0
movs r0, #1
ands r0, r5
cmp r0, #0
beq _080390E0
lsrs r0, r5, #0x10
b _080390E8
_080390E0:
adds r0, r4, #0
bl sub_08049EE4
adds r0, #2
_080390E8:
movs r1, #0x1c
ands r0, r1
strb r0, [r4, #0x15]
adds r0, r4, #0
bl sub_080390F8
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_080390F8
sub_080390F8: @ 0x080390F8
push {lr}
adds r3, r0, #0
ldrb r1, [r3, #0x15]
movs r0, #0xf
ands r0, r1
cmp r0, #0
beq _0803911C
lsrs r1, r1, #4
movs r0, #1
eors r1, r0
ands r1, r0
lsls r1, r1, #6
ldrb r2, [r3, #0x18]
movs r0, #0x41
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x18]
_0803911C:
pop {pc}
.align 2, 0
thumb_func_start sub_08039120
sub_08039120: @ 0x08039120
push {lr}
ldr r2, _0803913C @ =gUnk_080CF7C2
ldrb r1, [r0, #0xa]
adds r1, r1, r2
ldrb r1, [r1]
movs r2, #0
strh r1, [r0, #0x24]
adds r1, r0, #0
adds r1, #0x7a
strb r2, [r1]
bl sub_0803901C
pop {pc}
.align 2, 0
_0803913C: .4byte gUnk_080CF7C2
thumb_func_start sub_08039140
sub_08039140: @ 0x08039140
push {r4, lr}
adds r4, r0, #0
movs r0, #6
strb r0, [r4, #0xc]
bl Random
strb r0, [r4, #0xe]
ldr r1, _08039174 @ =gPlayerEntity
adds r0, r4, #0
bl GetFacingDirection
strb r0, [r4, #0x15]
ldr r0, _08039178 @ =0x0000FFFC
strh r0, [r4, #0x36]
adds r1, r4, #0
adds r1, #0x78
movs r0, #0xb4
strh r0, [r1]
adds r0, r4, #0
bl sub_080390F8
adds r0, r4, #0
movs r1, #4
bl InitializeAnimation
pop {r4, pc}
.align 2, 0
_08039174: .4byte gPlayerEntity
_08039178: .4byte 0x0000FFFC
thumb_func_start sub_0803917C
sub_0803917C: @ 0x0803917C
push {r4, lr}
adds r2, r0, #0
movs r1, #0x2e
ldrsh r0, [r2, r1]
ldr r3, _080391AC @ =gRoomControls
movs r4, #0xa
ldrsh r1, [r3, r4]
adds r1, #0xc
subs r0, r0, r1
movs r1, #0x84
lsls r1, r1, #1
cmp r0, r1
bhi _080391B0
movs r0, #0x32
ldrsh r1, [r2, r0]
movs r2, #0xc
ldrsh r0, [r3, r2]
adds r0, #0xc
subs r1, r1, r0
cmp r1, #0xb8
bhi _080391B0
movs r0, #0
b _080391B2
.align 2, 0
_080391AC: .4byte gRoomControls
_080391B0:
movs r0, #1
_080391B2:
pop {r4, pc}
thumb_func_start sub_080391B4
sub_080391B4: @ 0x080391B4
push {r4, r5, lr}
adds r5, r0, #0
adds r0, #0x7a
ldrb r0, [r0]
cmp r0, #0
beq _0803920C
adds r2, r5, #0
adds r2, #0x7b
ldrb r1, [r2]
adds r0, r1, #1
strb r0, [r2]
movs r0, #0x1f
ands r0, r1
cmp r0, #0
bne _0803920C
movs r0, #0x41
movs r1, #2
bl CreateEnemy
adds r4, r0, #0
cmp r4, #0
beq _0803920C
bl Random
movs r1, #0x17
ands r1, r0
lsls r1, r1, #2
ldr r0, _08039210 @ =gUnk_080CF7C4
adds r1, r1, r0
ldr r2, _08039214 @ =gRoomControls
ldrh r0, [r1]
ldrh r3, [r2, #0xa]
adds r0, r0, r3
strh r0, [r4, #0x2e]
ldrh r0, [r1, #2]
ldrh r2, [r2, #0xc]
adds r0, r0, r2
strh r0, [r4, #0x32]
adds r0, r5, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r4, #0
adds r0, #0x38
strb r1, [r0]
_0803920C:
pop {r4, r5, pc}
.align 2, 0
_08039210: .4byte gUnk_080CF7C4
_08039214: .4byte gRoomControls
thumb_func_start sub_08039218
sub_08039218: @ 0x08039218
push {lr}
adds r2, r0, #0
movs r0, #5
strb r0, [r2, #0xc]
ldr r1, _08039254 @ =gUnk_080CF824
ldrb r0, [r2, #0xa]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r0, [r0]
strh r0, [r2, #0x24]
ldr r1, _08039258 @ =gUnk_080CF828
ldrb r0, [r2, #0xa]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r1, [r0]
adds r0, r2, #0
adds r0, #0x78
strh r1, [r0]
subs r0, #0x20
ldrb r0, [r0]
cmp r0, #4
beq _0803924C
adds r0, r2, #0
movs r1, #4
bl InitializeAnimation
_0803924C:
ldr r0, _0803925C @ =0x000001D9
bl EnqueueSFX
pop {pc}
.align 2, 0
_08039254: .4byte gUnk_080CF824
_08039258: .4byte gUnk_080CF828
_0803925C: .4byte 0x000001D9
thumb_func_start sub_08039260
sub_08039260: @ 0x08039260
push {r4, lr}
adds r4, r0, #0
ldr r0, _08039290 @ =gUnk_080CF82E
ldrb r1, [r4, #0xa]
adds r1, r1, r0
ldrb r1, [r1]
adds r0, r4, #0
movs r2, #0
bl CreateFx
adds r2, r0, #0
cmp r2, #0
beq _0803928E
ldr r0, _08039294 @ =gUnk_080CF82C
ldrb r1, [r4, #0x18]
lsls r1, r1, #0x19
lsrs r1, r1, #0x1f
adds r1, r1, r0
movs r0, #0
ldrsb r0, [r1, r0]
ldrh r1, [r2, #0x2e]
adds r0, r0, r1
strh r0, [r2, #0x2e]
_0803928E:
pop {r4, pc}
.align 2, 0
_08039290: .4byte gUnk_080CF82E
_08039294: .4byte gUnk_080CF82C
thumb_func_start sub_08039298
sub_08039298: @ 0x08039298
push {lr}
adds r1, r0, #0
ldrb r0, [r1, #0xb]
cmp r0, #0
bne _080392A8
adds r0, r1, #0
bl sub_08078930
_080392A8:
pop {pc}
.align 2, 0
-317
View File
@@ -1,317 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Enemy49
Enemy49: @ 0x0803CE80
push {lr}
ldr r2, _0803CE94 @ =gUnk_080D0448
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0803CE94: .4byte gUnk_080D0448
thumb_func_start sub_0803CE98
sub_0803CE98: @ 0x0803CE98
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r1, r6, #0
adds r1, #0x84
ldrh r2, [r1]
movs r5, #0xf0
lsls r5, r5, #8
adds r0, r5, #0
ands r0, r2
lsrs r0, r0, #5
strh r0, [r6, #0x24]
ldrh r2, [r1]
ldr r4, _0803CF1C @ =0x00000FFF
adds r0, r4, #0
ands r0, r2
strh r0, [r1]
adds r0, r6, #0
bl sub_0804A720
movs r0, #1
strb r0, [r6, #0xc]
adds r3, r6, #0
adds r3, #0x82
ldrh r0, [r3]
ands r4, r0
adds r0, r6, #0
adds r0, #0x74
strh r4, [r0]
ldrh r0, [r3]
movs r1, #0x3f
ands r1, r0
lsls r1, r1, #4
ldr r2, _0803CF20 @ =gRoomControls
ldrh r0, [r2, #6]
adds r0, #8
adds r1, r1, r0
strh r1, [r6, #0x2e]
ldrh r1, [r3]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r1
lsrs r0, r0, #2
ldrh r1, [r2, #8]
adds r1, #8
adds r0, r0, r1
strh r0, [r6, #0x32]
movs r1, #0
ldrsh r0, [r3, r1]
ands r0, r5
asrs r0, r0, #0xa
strb r0, [r6, #0x15]
ldrb r0, [r6, #0xa]
lsls r0, r0, #2
adds r1, r6, #0
adds r1, #0x78
strh r0, [r1]
adds r0, r6, #0
bl sub_0803CFF0
cmp r0, #0
beq _0803CF18
adds r0, r6, #0
bl sub_0803D0B0
_0803CF18:
pop {r4, r5, r6, pc}
.align 2, 0
_0803CF1C: .4byte 0x00000FFF
_0803CF20: .4byte gRoomControls
thumb_func_start sub_0803CF24
sub_0803CF24: @ 0x0803CF24
push {r4, lr}
adds r4, r0, #0
bl sub_0803CFD8
cmp r0, #0
beq _0803CF36
adds r0, r4, #0
bl sub_0803D024
_0803CF36:
pop {r4, pc}
thumb_func_start sub_0803CF38
sub_0803CF38: @ 0x0803CF38
push {r4, lr}
adds r4, r0, #0
bl sub_0803CFF0
cmp r0, #0
beq _0803CF4C
adds r0, r4, #0
bl sub_0803D0B0
b _0803CF8C
_0803CF4C:
adds r0, r4, #0
movs r1, #0
bl sub_08049FDC
cmp r0, #0
beq _0803CF8C
ldr r0, _0803CF90 @ =gUnk_020000B0
ldr r0, [r0]
movs r2, #0x2e
ldrsh r1, [r0, r2]
movs r3, #0x32
ldrsh r2, [r0, r3]
adds r0, r4, #0
movs r3, #0x20
bl sub_0806FCB8
cmp r0, #0
bne _0803CF8C
adds r1, r4, #0
adds r1, #0x7a
ldrh r0, [r1]
subs r0, #1
strh r0, [r1]
lsls r0, r0, #0x10
cmp r0, #0
bne _0803CF8C
adds r0, r4, #0
bl sub_0803D058
adds r0, r4, #0
bl sub_0803D024
_0803CF8C:
pop {r4, pc}
.align 2, 0
_0803CF90: .4byte gUnk_020000B0
thumb_func_start sub_0803CF94
sub_0803CF94: @ 0x0803CF94
push {r4, lr}
adds r4, r0, #0
adds r0, #0x74
ldrh r0, [r0]
adds r1, r4, #0
adds r1, #0x38
ldrb r1, [r1]
bl GetTileType
cmp r0, #0x76
bne _0803CFBA
adds r1, r4, #0
adds r1, #0x80
movs r0, #0
strh r0, [r1]
adds r0, r4, #0
bl sub_0803D024
b _0803CFD4
_0803CFBA:
adds r0, r4, #0
adds r0, #0x7c
ldrh r0, [r0]
cmp r0, #0
beq _0803CFD4
adds r0, r4, #0
bl sub_0803CFD8
cmp r0, #0
beq _0803CFD4
adds r0, r4, #0
bl sub_0803D024
_0803CFD4:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0803CFD8
sub_0803CFD8: @ 0x0803CFD8
push {lr}
adds r1, r0, #0
adds r1, #0x7c
ldrh r0, [r1]
cmp r0, #0
bne _0803CFE8
movs r0, #1
b _0803CFEE
_0803CFE8:
ldrh r0, [r1]
bl CheckFlags
_0803CFEE:
pop {pc}
thumb_func_start sub_0803CFF0
sub_0803CFF0: @ 0x0803CFF0
push {lr}
adds r1, r0, #0
adds r1, #0x80
ldrh r2, [r1]
cmp r2, #0
beq _0803D01E
adds r0, #0x7c
ldrh r0, [r0]
cmp r2, r0
bne _0803D016
adds r0, r2, #0
bl CheckFlags
movs r1, #0
cmp r0, #0
bne _0803D012
movs r1, #1
_0803D012:
adds r0, r1, #0
b _0803D020
_0803D016:
ldrh r0, [r1]
bl CheckFlags
b _0803D020
_0803D01E:
movs r0, #0
_0803D020:
pop {pc}
.align 2, 0
thumb_func_start sub_0803D024
sub_0803D024: @ 0x0803D024
push {r4, lr}
adds r4, r0, #0
movs r0, #2
strb r0, [r4, #0xc]
adds r0, r4, #0
adds r0, #0x78
ldrh r1, [r0]
cmp r1, #0
beq _0803D03A
adds r0, #2
b _0803D04E
_0803D03A:
bl Random
ldr r2, _0803D054 @ =gUnk_080D0458
movs r1, #7
ands r1, r0
lsls r1, r1, #1
adds r1, r1, r2
ldrh r1, [r1]
adds r0, r4, #0
adds r0, #0x7a
_0803D04E:
strh r1, [r0]
pop {r4, pc}
.align 2, 0
_0803D054: .4byte gUnk_080D0458
thumb_func_start sub_0803D058
sub_0803D058: @ 0x0803D058
push {r4, r5, lr}
adds r4, r0, #0
movs r1, #0x16
movs r2, #0
bl CreateProjectileWithParent
adds r5, r0, #0
cmp r5, #0
beq _0803D0AE
ldrh r1, [r4, #0x24]
movs r2, #0x24
ldrsh r0, [r4, r2]
cmp r0, #0
beq _0803D078
strh r1, [r5, #0x24]
b _0803D08A
_0803D078:
bl Random
ldr r2, _0803D0A4 @ =gUnk_080D0468
movs r1, #3
ands r1, r0
lsls r1, r1, #1
adds r1, r1, r2
ldrh r0, [r1]
strh r0, [r5, #0x24]
_0803D08A:
ldrb r1, [r4, #0x15]
movs r0, #0x20
ands r0, r1
cmp r0, #0
beq _0803D0AC
ldr r0, _0803D0A8 @ =gUnk_020000B0
ldr r1, [r0]
adds r0, r4, #0
bl GetFacingDirection
strb r0, [r5, #0x15]
b _0803D0AE
.align 2, 0
_0803D0A4: .4byte gUnk_080D0468
_0803D0A8: .4byte gUnk_020000B0
_0803D0AC:
strb r1, [r5, #0x15]
_0803D0AE:
pop {r4, r5, pc}
thumb_func_start sub_0803D0B0
sub_0803D0B0: @ 0x0803D0B0
push {lr}
movs r1, #3
strb r1, [r0, #0xc]
adds r1, r0, #0
adds r1, #0x74
ldrh r1, [r1]
adds r0, #0x38
ldrb r2, [r0]
movs r0, #0x75
bl sub_0807B7D8
pop {pc}
+4 -4
View File
@@ -39,7 +39,7 @@ _0803EBE4:
ldrh r2, [r0]
adds r0, r4, #0
movs r3, #2
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
bne _0803EC14
movs r0, #4
@@ -141,7 +141,7 @@ sub_0803EC94: @ 0x0803EC94
ldrh r2, [r6]
adds r0, r4, #0
movs r3, #1
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _0803ECD8
ldrh r0, [r5]
@@ -465,7 +465,7 @@ sub_0803EF04: @ 0x0803EF04
movs r4, #0x32
ldrsh r2, [r2, r4]
subs r2, #4
bl sub_0806FCB8
bl EntityWithinDistance
pop {r4, pc}
.align 2, 0
_0803EF1C: .4byte gUnk_020000B0
@@ -531,7 +531,7 @@ sub_0803EF74: @ 0x0803EF74
ldrsh r2, [r4, r0]
adds r0, r5, #0
movs r3, #0x50
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _0803EFA8
adds r0, r4, #0
+7 -7
View File
@@ -449,7 +449,7 @@ _08049398:
asrs r3, r3, #0x10
adds r3, #0x10
adds r0, r4, #0
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _080493E0
movs r0, #2
@@ -661,7 +661,7 @@ sub_08049538: @ 0x08049538
adds r2, #0x80
adds r0, r4, #0
movs r3, #0x70
bl sub_0806FCB8
bl EntityWithinDistance
adds r1, r0, #0
cmp r1, #0
bne _0804956E
@@ -754,7 +754,7 @@ sub_080495F8: @ 0x080495F8
adds r2, #0x80
adds r0, r4, #0
movs r3, #0x28
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _0804963C
movs r0, #2
@@ -1195,7 +1195,7 @@ sub_08049944: @ 0x08049944
movs r3, #0x32
ldrsh r2, [r5, r3]
movs r3, #0x20
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _0804998C
ldr r2, _08049994 @ =gPlayerState
@@ -1236,7 +1236,7 @@ sub_08049998: @ 0x08049998
ldrsh r1, [r5, r0]
ldrb r2, [r5, #0x15]
adds r0, r5, #0
bl sub_0806F62C
bl LinearMoveAngle
adds r0, r5, #0
adds r0, #0x7c
ldrb r1, [r0]
@@ -1292,7 +1292,7 @@ sub_080499F0: @ 0x080499F0
ldrsh r2, [r4, r3]
adds r0, r5, #0
movs r3, #0x24
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _08049A7E
ldrb r1, [r6]
@@ -1433,7 +1433,7 @@ sub_08049B20: @ 0x08049B20
ldrsh r1, [r4, r0]
ldrb r2, [r4, #0x15]
adds r0, r4, #0
bl sub_0806F62C
bl LinearMoveAngle
adds r0, r4, #0
adds r0, #0x7c
ldrb r1, [r0]
-30
View File
@@ -1,30 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Enemy66
Enemy66: @ 0x08049CAC
push {lr}
adds r2, r0, #0
ldr r1, _08049CC8 @ =gUnk_080D2ABC
ldrb r0, [r2, #0xf]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
cmp r1, #0
beq _08049CCC
adds r0, r2, #0
bl _call_via_r1
b _08049CD0
.align 2, 0
_08049CC8: .4byte gUnk_080D2ABC
_08049CCC:
bl DeleteThisEntity
_08049CD0:
pop {pc}
.align 2, 0
+4 -4
View File
@@ -687,14 +687,14 @@ sub_08030F00: @ 0x08030F00
adds r6, #0x38
ldrb r1, [r6]
adds r0, r4, #0
bl sub_080001DA
bl GetTileIndex
adds r1, r5, #0
adds r1, #0x80
strh r0, [r1]
adds r0, r4, #1
mov sl, r0
ldrb r1, [r6]
bl sub_080001DA
bl GetTileIndex
adds r1, r5, #0
adds r1, #0x82
strh r0, [r1]
@@ -703,7 +703,7 @@ sub_08030F00: @ 0x08030F00
mov sb, r3
ldrb r1, [r6]
mov r0, sb
bl sub_080001DA
bl GetTileIndex
adds r1, r5, #0
adds r1, #0x84
strh r0, [r1]
@@ -711,7 +711,7 @@ sub_08030F00: @ 0x08030F00
adds r0, r0, r4
mov r8, r0
ldrb r1, [r6]
bl sub_080001DA
bl GetTileIndex
adds r1, r5, #0
adds r1, #0x86
strh r0, [r1]
+2 -2
View File
@@ -286,7 +286,7 @@ sub_08037220: @ 0x08037220
adds r6, #0x38
ldrb r1, [r6]
adds r0, r4, #0
bl sub_080001DA
bl GetTileIndex
adds r1, r5, #0
adds r1, #0x74
strh r0, [r1]
@@ -542,7 +542,7 @@ sub_08037418: @ 0x08037418
adds r6, #0x38
ldrb r1, [r6]
adds r0, r4, #0
bl sub_080001DA
bl GetTileIndex
ldr r1, _08037468 @ =0x00004067
cmp r0, r1
bne _08037460
-3133
View File
File diff suppressed because it is too large Load Diff
-966
View File
@@ -1,966 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start SpinyBeetle
SpinyBeetle: @ 0x0803379C
push {r4, lr}
adds r4, r0, #0
ldr r1, _080337B8 @ =gUnk_080CEBEC
bl EnemyFunctionHandler
movs r3, #0x10
rsbs r3, r3, #0
adds r0, r4, #0
movs r1, #0
movs r2, #1
bl SetChildOffset
pop {r4, pc}
.align 2, 0
_080337B8: .4byte gUnk_080CEBEC
thumb_func_start sub_080337BC
sub_080337BC: @ 0x080337BC
push {lr}
ldr r2, _080337D0 @ =gUnk_080CEC04
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_080337D0: .4byte gUnk_080CEC04
thumb_func_start sub_080337D4
sub_080337D4: @ 0x080337D4
push {r4, r5, lr}
adds r4, r0, #0
adds r0, #0x43
ldrb r0, [r0]
cmp r0, #0
beq _080337E8
adds r0, r4, #0
movs r1, #0x1c
bl sub_0804A9FC
_080337E8:
ldr r1, _08033868 @ =gUnk_080CEBEC
adds r0, r4, #0
bl sub_0804AA30
adds r2, r4, #0
adds r2, #0x41
ldrb r1, [r2]
movs r0, #0x80
ands r0, r1
adds r5, r2, #0
cmp r0, #0
beq _08033864
adds r0, r4, #0
adds r0, #0x3d
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
ble _0803381A
ldr r0, [r4, #0x54]
cmp r0, #0
beq _0803381A
adds r0, r4, #0
bl sub_08033E1C
_0803381A:
ldrb r1, [r5]
movs r0, #0x3f
ands r0, r1
cmp r0, #0x14
bne _08033864
ldrb r0, [r4, #0xc]
cmp r0, #5
beq _08033864
movs r0, #3
strb r0, [r4, #0xc]
movs r0, #0x5a
strb r0, [r4, #0xe]
movs r0, #0x10
strb r0, [r4, #0xf]
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
subs r0, #0x49
ands r0, r1
movs r1, #8
orrs r0, r1
strb r0, [r2]
adds r0, r4, #0
movs r1, #1
bl sub_08049F84
adds r0, #4
movs r1, #0x18
ands r0, r1
strb r0, [r4, #0x15]
adds r0, r4, #0
bl sub_08033D78
adds r0, r4, #0
movs r1, #3
bl InitializeAnimation
_08033864:
pop {r4, r5, pc}
.align 2, 0
_08033868: .4byte gUnk_080CEBEC
thumb_func_start nullsub_159
nullsub_159: @ 0x0803386C
bx lr
.align 2, 0
thumb_func_start sub_08033870
sub_08033870: @ 0x08033870
push {r4, lr}
adds r4, r0, #0
bl sub_08001242
ldrb r0, [r4, #0xc]
cmp r0, #5
beq _0803388E
adds r0, r4, #0
bl sub_08033DF0
cmp r0, #0
beq _0803388E
adds r0, r4, #0
bl sub_08033E1C
_0803388E:
pop {r4, pc}
thumb_func_start sub_08033890
sub_08033890: @ 0x08033890
push {r4, r5, r6, lr}
adds r6, r0, #0
movs r1, #0
movs r0, #1
strb r0, [r6, #0xc]
strb r1, [r6, #0xe]
strb r1, [r6, #0xf]
ldr r0, [r6, #0x2c]
ldr r3, _0803394C @ =0xFFF00000
ands r0, r3
movs r2, #0x80
lsls r2, r2, #0xc
orrs r0, r2
str r0, [r6, #0x7c]
adds r4, r6, #0
adds r4, #0x80
ldr r0, [r6, #0x30]
ands r0, r3
orrs r0, r2
str r0, [r4]
ldr r0, [r6, #0x7c]
str r0, [r6, #0x2c]
ldr r0, [r4]
str r0, [r6, #0x30]
adds r0, r6, #0
adds r0, #0x79
strb r1, [r0]
adds r0, #1
strb r1, [r0]
subs r0, #2
strb r1, [r0]
adds r0, #3
strb r1, [r0]
movs r0, #0x2e
ldrsh r1, [r6, r0]
ldr r2, _08033950 @ =gRoomControls
ldrh r0, [r2, #6]
subs r1, r1, r0
asrs r1, r1, #4
movs r3, #0x3f
ands r1, r3
movs r4, #0x32
ldrsh r0, [r6, r4]
ldrh r2, [r2, #8]
subs r0, r0, r2
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r1, r0
adds r4, r6, #0
adds r4, #0x74
strh r1, [r4]
ldrh r0, [r4]
adds r5, r6, #0
adds r5, #0x38
ldrb r1, [r5]
bl sub_080001DA
adds r1, r6, #0
adds r1, #0x76
strh r0, [r1]
ldr r0, _08033954 @ =0x00004022
ldrh r1, [r4]
ldrb r2, [r5]
bl SetTile
ldrb r1, [r6, #0xa]
movs r0, #0x7d
movs r2, #0
bl CreateObject
adds r4, r0, #0
cmp r4, #0
bne _08033928
bl DeleteThisEntity
_08033928:
adds r0, r6, #0
adds r1, r4, #0
bl CopyPosition
str r4, [r6, #0x54]
str r6, [r4, #0x50]
ldrb r0, [r6, #0xa]
cmp r0, #1
bne _08033940
adds r0, r6, #0
bl sub_08033EA8
_08033940:
adds r0, r6, #0
movs r1, #0
bl InitializeAnimation
pop {r4, r5, r6, pc}
.align 2, 0
_0803394C: .4byte 0xFFF00000
_08033950: .4byte gRoomControls
_08033954: .4byte 0x00004022
thumb_func_start sub_08033958
sub_08033958: @ 0x08033958
push {r4, r5, lr}
adds r4, r0, #0
bl sub_08033DF0
cmp r0, #0
beq _08033982
adds r0, r4, #0
bl sub_08033E1C
adds r0, r4, #0
adds r0, #0x76
ldrh r0, [r0]
adds r1, r4, #0
adds r1, #0x74
ldrh r1, [r1]
adds r2, r4, #0
adds r2, #0x38
ldrb r2, [r2]
bl sub_0807B9B8
b _08033A72
_08033982:
adds r1, r4, #0
adds r1, #0x7b
ldrb r0, [r1]
cmp r0, #0
beq _08033992
subs r0, #1
strb r0, [r1]
b _08033A72
_08033992:
ldr r0, [r4, #0x7c]
str r0, [r4, #0x2c]
adds r0, r4, #0
adds r0, #0x80
ldr r0, [r0]
str r0, [r4, #0x30]
adds r0, r4, #0
movs r1, #1
movs r2, #0x10
bl sub_0804A024
adds r5, r0, #0
cmp r5, #0x10
beq _080339E0
cmp r5, #0x10
bhi _080339BC
cmp r5, #0
beq _080339C6
cmp r5, #8
beq _080339F0
b _08033A10
_080339BC:
cmp r5, #0x18
beq _08033A00
cmp r5, #0xff
bne _08033A10
b _08033A72
_080339C6:
adds r0, r4, #0
adds r0, #0x78
ldrb r0, [r0]
cmp r0, #0
beq _08033A72
movs r1, #0x32
ldrsh r0, [r4, r1]
ldr r1, _080339DC @ =gPlayerEntity
movs r2, #0x32
ldrsh r1, [r1, r2]
b _08033A0A
.align 2, 0
_080339DC: .4byte gPlayerEntity
_080339E0:
ldr r0, _080339EC @ =gPlayerEntity
movs r1, #0x32
ldrsh r0, [r0, r1]
movs r2, #0x32
ldrsh r1, [r4, r2]
b _08033A0A
.align 2, 0
_080339EC: .4byte gPlayerEntity
_080339F0:
ldr r0, _080339FC @ =gPlayerEntity
movs r1, #0x2e
ldrsh r0, [r0, r1]
movs r2, #0x2e
ldrsh r1, [r4, r2]
b _08033A0A
.align 2, 0
_080339FC: .4byte gPlayerEntity
_08033A00:
movs r1, #0x2e
ldrsh r0, [r4, r1]
ldr r1, _08033A74 @ =gPlayerEntity
movs r2, #0x2e
ldrsh r1, [r1, r2]
_08033A0A:
subs r0, r0, r1
cmp r0, #0x30
bgt _08033A72
_08033A10:
ldr r0, [r4, #0x54]
cmp r0, #0
beq _08033A1E
bl sub_0806F520
cmp r0, #0
bne _08033A72
_08033A1E:
adds r1, r4, #0
adds r1, #0x78
ldrb r0, [r1]
cmp r0, #0
bne _08033A2C
movs r0, #1
strb r0, [r1]
_08033A2C:
movs r0, #2
strb r0, [r4, #0xc]
strb r5, [r4, #0x15]
ldrb r1, [r4, #0x18]
subs r0, #6
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x18]
ldrb r1, [r4, #0x10]
movs r0, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
ldr r0, [r4, #0x30]
ldr r1, _08033A78 @ =0xFFF00000
ands r0, r1
movs r1, #0xc0
lsls r1, r1, #0xc
orrs r0, r1
str r0, [r4, #0x30]
adds r0, r4, #0
adds r0, #0x76
ldrh r0, [r0]
adds r1, r4, #0
adds r1, #0x74
ldrh r1, [r1]
adds r2, r4, #0
adds r2, #0x38
ldrb r2, [r2]
bl sub_0807B9B8
adds r0, r4, #0
movs r1, #2
bl InitializeAnimation
_08033A72:
pop {r4, r5, pc}
.align 2, 0
_08033A74: .4byte gPlayerEntity
_08033A78: .4byte 0xFFF00000
thumb_func_start sub_08033A7C
sub_08033A7C: @ 0x08033A7C
push {r4, lr}
adds r4, r0, #0
bl sub_08033DF0
cmp r0, #0
beq _08033A90
adds r0, r4, #0
bl sub_08033E1C
b _08033AC8
_08033A90:
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _08033AC8
movs r0, #3
strb r0, [r4, #0xc]
movs r0, #0x78
strb r0, [r4, #0xe]
movs r0, #0x20
strb r0, [r4, #0xf]
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
subs r0, #0x59
ands r0, r1
movs r1, #8
orrs r0, r1
strb r0, [r2]
adds r0, r4, #0
movs r1, #3
bl InitializeAnimation
_08033AC8:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08033ACC
sub_08033ACC: @ 0x08033ACC
push {r4, lr}
adds r4, r0, #0
bl sub_08033DF0
cmp r0, #0
beq _08033AE0
adds r0, r4, #0
bl sub_08033E1C
b _08033B42
_08033AE0:
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
bl GetNextFrame
ldrb r0, [r4, #0xf]
cmp r0, #0
beq _08033AF8
subs r0, #1
strb r0, [r4, #0xf]
b _08033B42
_08033AF8:
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _08033B3C
movs r0, #4
strb r0, [r4, #0xc]
movs r0, #0x78
strb r0, [r4, #0xe]
ldr r2, [r4, #0x2c]
ldr r1, _08033B38 @ =0xFFF00000
ands r2, r1
movs r0, #0x80
lsls r0, r0, #0xc
orrs r2, r0
str r2, [r4, #0x2c]
ldr r0, [r4, #0x30]
ands r0, r1
movs r1, #0xc0
lsls r1, r1, #0xc
orrs r0, r1
str r0, [r4, #0x30]
str r2, [r4, #0x7c]
adds r1, r4, #0
adds r1, #0x80
str r0, [r1]
adds r0, r4, #0
movs r1, #4
bl InitializeAnimation
b _08033B42
.align 2, 0
_08033B38: .4byte 0xFFF00000
_08033B3C:
adds r0, r4, #0
bl sub_08033D78
_08033B42:
pop {r4, pc}
thumb_func_start sub_08033B44
sub_08033B44: @ 0x08033B44
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #0xc
adds r4, r0, #0
bl sub_08033DF0
cmp r0, #0
beq _08033B62
adds r0, r4, #0
bl sub_08033E1C
b _08033C82
_08033B62:
adds r0, r4, #0
bl GetNextFrame
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
beq _08033B76
b _08033C82
_08033B76:
movs r0, #1
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x18]
subs r0, #5
ands r0, r1
strb r0, [r4, #0x18]
ldrb r1, [r4, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r4, #0x10]
movs r0, #0
mov r8, r0
adds r1, r4, #0
adds r1, #0x80
str r1, [sp, #4]
adds r6, r4, #0
adds r6, #0x29
adds r2, r4, #0
adds r2, #0x7b
str r2, [sp]
adds r5, r4, #0
adds r5, #0x74
adds r3, r4, #0
adds r3, #0x38
str r3, [sp, #8]
movs r7, #0x76
adds r7, r7, r4
mov sl, r7
ldr r0, _08033C20 @ =gRoomControls
mov sb, r0
_08033BB2:
ldr r1, [r4, #0x2c]
ldr r3, _08033C24 @ =0xFFF00000
ands r1, r3
movs r2, #0x80
lsls r2, r2, #0xc
orrs r1, r2
str r1, [r4, #0x2c]
ldr r0, [r4, #0x30]
ands r0, r3
orrs r0, r2
str r0, [r4, #0x30]
str r1, [r4, #0x7c]
ldr r1, [sp, #4]
str r0, [r1]
ldrb r0, [r6]
movs r2, #0x39
rsbs r2, r2, #0
adds r1, r2, #0
ands r0, r1
strb r0, [r6]
movs r0, #0x78
ldr r3, [sp]
strb r0, [r3]
movs r7, #0x2e
ldrsh r2, [r4, r7]
mov r1, sb
ldrh r0, [r1, #6]
subs r2, r2, r0
asrs r2, r2, #4
movs r3, #0x3f
ands r2, r3
movs r7, #0x32
ldrsh r0, [r4, r7]
ldrh r1, [r1, #8]
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r2, r0
strh r2, [r5]
ldrh r0, [r5]
ldr r2, [sp, #8]
ldrb r1, [r2]
bl sub_080001DA
mov r3, sl
strh r0, [r3]
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
ldr r7, _08033C28 @ =0x00004022
cmp r0, r7
beq _08033C2C
movs r0, #1
add r8, r0
b _08033C68
.align 2, 0
_08033C20: .4byte gRoomControls
_08033C24: .4byte 0xFFF00000
_08033C28: .4byte 0x00004022
_08033C2C:
ldrb r1, [r4, #0x15]
movs r0, #0x18
ands r0, r1
lsrs r0, r0, #2
cmp r0, #2
beq _08033C54
cmp r0, #2
bgt _08033C42
cmp r0, #0
beq _08033C4C
b _08033C68
_08033C42:
cmp r0, #4
beq _08033C5A
cmp r0, #6
beq _08033C62
b _08033C68
_08033C4C:
ldrh r0, [r4, #0x32]
adds r0, #0x10
strh r0, [r4, #0x32]
b _08033C68
_08033C54:
ldrh r0, [r4, #0x2e]
subs r0, #0x10
b _08033C66
_08033C5A:
ldrh r0, [r4, #0x32]
subs r0, #0x10
strh r0, [r4, #0x32]
b _08033C68
_08033C62:
ldrh r0, [r4, #0x2e]
adds r0, #0x10
_08033C66:
strh r0, [r4, #0x2e]
_08033C68:
mov r1, r8
cmp r1, #0
beq _08033BB2
ldr r0, _08033C90 @ =0x00004022
ldrh r1, [r5]
ldr r3, [sp, #8]
ldrb r2, [r3]
bl SetTile
adds r0, r4, #0
movs r1, #0
bl InitializeAnimation
_08033C82:
add sp, #0xc
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08033C90: .4byte 0x00004022
thumb_func_start sub_08033C94
sub_08033C94: @ 0x08033C94
push {r4, lr}
adds r4, r0, #0
movs r1, #3
bl UpdateAnimationVariableFrames
adds r1, r4, #0
adds r1, #0x79
ldrb r0, [r1]
cmp r0, #1
beq _08033CD2
cmp r0, #1
bgt _08033CB2
cmp r0, #0
beq _08033CB8
b _08033D76
_08033CB2:
cmp r0, #2
beq _08033D18
b _08033D76
_08033CB8:
movs r0, #1
strb r0, [r1]
ldrb r1, [r4, #0x18]
lsls r0, r1, #0x1e
lsrs r0, r0, #0x1e
cmp r0, #1
beq _08033CD2
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x18]
_08033CD2:
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
cmp r2, #0
bne _08033D76
adds r1, r4, #0
adds r1, #0x79
movs r0, #2
strb r0, [r1]
movs r0, #0x78
strb r0, [r4, #0xe]
adds r0, r4, #0
adds r0, #0x63
strb r2, [r0]
adds r0, r4, #0
movs r1, #1
bl sub_08049F84
adds r0, #0x14
strb r0, [r4, #0x15]
bl Random
adds r1, r0, #0
movs r0, #3
ands r1, r0
cmp r1, #0
beq _08033D12
cmp r1, #2
beq _08033D68
b _08033D6E
_08033D12:
ldrb r0, [r4, #0x15]
adds r0, #8
b _08033D6C
_08033D18:
ldrb r0, [r4, #0xf]
cmp r0, #0
beq _08033D24
subs r0, #1
strb r0, [r4, #0xf]
b _08033D2A
_08033D24:
adds r0, r4, #0
bl sub_08033D78
_08033D2A:
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _08033D76
bl Random
movs r1, #0x1f
ands r0, r1
adds r0, #0x20
strb r0, [r4, #0xe]
adds r0, r4, #0
movs r1, #1
bl sub_08049F84
adds r0, #0x14
strb r0, [r4, #0x15]
bl Random
adds r1, r0, #0
movs r0, #3
ands r1, r0
cmp r1, #1
beq _08033D62
cmp r1, #3
beq _08033D68
b _08033D6E
_08033D62:
ldrb r0, [r4, #0x15]
adds r0, #8
b _08033D6C
_08033D68:
ldrb r0, [r4, #0x15]
adds r0, #0x18
_08033D6C:
strb r0, [r4, #0x15]
_08033D6E:
ldrb r1, [r4, #0x15]
movs r0, #0x18
ands r0, r1
strb r0, [r4, #0x15]
_08033D76:
pop {r4, pc}
thumb_func_start sub_08033D78
sub_08033D78: @ 0x08033D78
push {r4, r5, r6, lr}
adds r6, r0, #0
ldrb r0, [r6, #0x15]
movs r2, #0x18
ands r2, r0
lsrs r2, r2, #2
ldr r0, _08033DE4 @ =gUnk_080CEC1C
adds r2, r2, r0
movs r1, #0x2e
ldrsh r0, [r6, r1]
movs r1, #0
ldrsb r1, [r2, r1]
adds r0, r0, r1
ldr r4, _08033DE8 @ =gRoomControls
ldrh r1, [r4, #6]
subs r0, r0, r1
asrs r5, r0, #4
movs r3, #0x3f
ands r5, r3
movs r1, #0x32
ldrsh r0, [r6, r1]
movs r1, #1
ldrsb r1, [r2, r1]
adds r0, r0, r1
ldrh r1, [r4, #8]
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r5, r0
adds r4, r6, #0
adds r4, #0x38
ldrb r1, [r4]
adds r0, r5, #0
bl GetTileType
adds r1, r0, #0
ldr r0, _08033DEC @ =0x000001C5
cmp r1, r0
bhi _08033DCE
subs r0, #1
cmp r1, r0
bhs _08033DE2
_08033DCE:
ldrb r1, [r4]
adds r0, r5, #0
bl sub_080002E0
subs r0, #1
cmp r0, #0x3e
bls _08033DE2
adds r0, r6, #0
bl ProcessMovement
_08033DE2:
pop {r4, r5, r6, pc}
.align 2, 0
_08033DE4: .4byte gUnk_080CEC1C
_08033DE8: .4byte gRoomControls
_08033DEC: .4byte 0x000001C5
thumb_func_start sub_08033DF0
sub_08033DF0: @ 0x08033DF0
push {lr}
movs r2, #0
ldr r1, [r0, #0x54]
cmp r1, #0
beq _08033E16
ldrb r0, [r1, #0xc]
cmp r0, #3
beq _08033E10
cmp r0, #3
bgt _08033E0A
cmp r0, #2
beq _08033E16
b _08033E18
_08033E0A:
cmp r0, #4
bne _08033E18
b _08033E16
_08033E10:
ldrb r0, [r1, #0xd]
cmp r0, #1
bls _08033E18
_08033E16:
movs r2, #1
_08033E18:
adds r0, r2, #0
pop {pc}
thumb_func_start sub_08033E1C
sub_08033E1C: @ 0x08033E1C
push {r4, lr}
adds r4, r0, #0
movs r2, #0
movs r3, #5
movs r0, #5
strb r0, [r4, #0xc]
adds r0, r4, #0
adds r0, #0x79
strb r2, [r0]
ldrb r1, [r4, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x18]
ldrb r1, [r4, #0x10]
movs r0, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
movs r0, #0x29
adds r0, r0, r4
mov ip, r0
ldrb r1, [r0]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
orrs r0, r3
mov r1, ip
strb r0, [r1]
ldr r0, [r4, #0x30]
ldr r1, _08033EA4 @ =0xFFF00000
ands r0, r1
movs r1, #0xc0
lsls r1, r1, #0xc
orrs r0, r1
str r0, [r4, #0x30]
adds r1, r4, #0
adds r1, #0x3f
movs r0, #0x19
strb r0, [r1]
mov r0, ip
ldrb r1, [r0]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r1
movs r1, #8
orrs r0, r1
mov r1, ip
strb r0, [r1]
movs r0, #0x30
strb r0, [r4, #0xe]
strb r2, [r4, #0xf]
adds r0, #0xd0
strh r0, [r4, #0x24]
str r2, [r4, #0x54]
adds r0, r4, #0
movs r1, #3
bl InitializeAnimation
movs r2, #0xc
rsbs r2, r2, #0
adds r0, r4, #0
movs r1, #0xa
bl CreateSpeechBubbleExclamationMark
pop {r4, pc}
.align 2, 0
_08033EA4: .4byte 0xFFF00000
thumb_func_start sub_08033EA8
sub_08033EA8: @ 0x08033EA8
push {lr}
adds r2, r0, #0
ldr r0, _08033EC4 @ =gPlayerState
adds r0, #0xac
ldrh r1, [r0]
movs r0, #8
ands r0, r1
cmp r0, #0
beq _08033EC8
adds r1, r2, #0
adds r1, #0x3f
movs r0, #0x95
b _08033ECE
.align 2, 0
_08033EC4: .4byte gPlayerState
_08033EC8:
adds r1, r2, #0
adds r1, #0x3f
movs r0, #0x63
_08033ECE:
strb r0, [r1]
pop {pc}
.align 2, 0
+3 -3
View File
@@ -671,7 +671,7 @@ _0803976A:
ldrsh r2, [r0, r3]
adds r0, r4, #0
movs r3, #0x24
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _08039818
movs r0, #5
@@ -713,7 +713,7 @@ _080397DC:
ldrsh r2, [r0, r3]
adds r0, r4, #0
movs r3, #0x48
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _08039818
movs r0, #8
@@ -844,7 +844,7 @@ sub_080398C0: @ 0x080398C0
ldrsh r2, [r0, r3]
adds r0, r4, #0
movs r3, #0x58
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _08039908
ldr r1, _08039904 @ =gPlayerEntity
+3 -3
View File
@@ -551,7 +551,7 @@ sub_0802F888: @ 0x0802F888
adds r6, r4, #0
adds r6, #0x38
ldrb r1, [r6]
bl sub_080001DA
bl GetTileIndex
adds r4, #0x86
strh r0, [r4]
ldr r0, _0802F8E0 @ =0x00004071
@@ -643,7 +643,7 @@ _0802F920:
mov r2, r8
ldrb r1, [r2]
adds r0, r4, #0
bl sub_080001DA
bl GetTileIndex
ldr r1, _0802F9C4 @ =0x00004071
cmp r0, r1
beq _0802F9A2
@@ -789,7 +789,7 @@ sub_0802FA88: @ 0x0802FA88
adds r6, #0x7a
ldrh r2, [r6]
movs r3, #2
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _0802FAF6
adds r1, r4, #0
@@ -1,21 +0,0 @@
.syntax unified
push {lr}
bl InitBiggoronTimer
movs r0, #0xd
bl IsItemEquipped
adds r1, r0, #0
cmp r1, #2
beq _0806D5F0
ldr r0, _0806D5FC @ =gSave
adds r0, #0xb4
adds r0, r1, r0
movs r1, #0
strb r1, [r0]
_0806D5F0:
movs r0, #0xd
movs r1, #0
bl sub_0807CAA0
pop {pc}
.align 2, 0
_0806D5FC: .4byte gSave
.syntax divided
@@ -1,131 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r4, r0, #0
ldr r5, _080676D0 @ =gUnk_08110E78
ldrb r0, [r4, #0xd]
lsls r0, r0, #2
adds r7, r0, #0
subs r7, #0xc
movs r0, #0x3f
mov r8, r0
movs r6, #8
_080675EC:
adds r0, r4, #0
movs r1, #2
movs r2, #0
bl CreateFx
adds r3, r0, #0
cmp r3, #0
beq _08067646
movs r0, #0
ldrsb r0, [r5, r0]
ldrh r1, [r3, #0x2e]
adds r0, r0, r1
strh r0, [r3, #0x2e]
movs r0, #1
ldrsb r0, [r5, r0]
ldrh r1, [r3, #0x32]
adds r0, r0, r1
strh r0, [r3, #0x32]
strh r7, [r3, #0x36]
adds r0, r4, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r3, #0
adds r0, #0x38
strb r1, [r0]
ldrb r1, [r4, #0x1b]
lsrs r1, r1, #6
lsls r1, r1, #6
ldrb r2, [r3, #0x1b]
mov r0, r8
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x1b]
ldrb r1, [r4, #0x19]
lsrs r1, r1, #6
lsls r1, r1, #6
ldrb r2, [r3, #0x19]
mov r0, r8
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x19]
adds r0, r4, #0
adds r1, r3, #0
bl ResolveEntityOnTop
_08067646:
subs r6, #1
adds r5, #2
cmp r6, #0
bge _080675EC
ldr r5, _080676D4 @ =gUnk_08110E8A
movs r0, #0x3f
mov r8, r0
movs r6, #3
_08067656:
adds r0, r4, #0
movs r1, #4
movs r2, #0
bl CreateFx
adds r3, r0, #0
cmp r3, #0
beq _080676B0
movs r0, #0
ldrsb r0, [r5, r0]
ldrh r1, [r3, #0x2e]
adds r0, r0, r1
strh r0, [r3, #0x2e]
movs r0, #1
ldrsb r0, [r5, r0]
ldrh r1, [r3, #0x32]
adds r0, r0, r1
strh r0, [r3, #0x32]
strh r7, [r3, #0x36]
adds r0, r4, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r3, #0
adds r0, #0x38
strb r1, [r0]
ldrb r1, [r4, #0x1b]
lsrs r1, r1, #6
lsls r1, r1, #6
ldrb r2, [r3, #0x1b]
mov r0, r8
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x1b]
ldrb r1, [r4, #0x19]
lsrs r1, r1, #6
lsls r1, r1, #6
ldrb r2, [r3, #0x19]
mov r0, r8
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x19]
adds r0, r4, #0
adds r1, r3, #0
bl ResolveEntityOnTop
_080676B0:
subs r6, #1
adds r5, #2
cmp r6, #0
bge _08067656
ldrb r0, [r4, #0xd]
cmp r0, #2
bls _080676C8
ldrb r1, [r4, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
strb r0, [r4, #0x18]
_080676C8:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080676D0: .4byte gUnk_08110E78
_080676D4: .4byte gUnk_08110E8A
.syntax divided
-28
View File
@@ -1,28 +0,0 @@
.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
-44
View File
@@ -1,44 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
mov r8, r0
adds r4, r1, #0
adds r5, r2, #0
adds r6, r3, #0
ldr r7, _0801E004 @ =gFuseInfo
adds r0, r7, #0
movs r1, #0x10
bl MemClear
strh r4, [r7, #6]
strh r5, [r7, #8]
strh r6, [r7, #0xa]
mov r0, r8
str r0, [r7, #0xc]
ldr r0, _0801E008 @ =gUnk_03003DF0
ldrb r0, [r0, #2]
strb r0, [r7, #3]
mov r1, r8
cmp r1, #0
beq _0801DFF8
ldrb r1, [r1, #0x11]
lsls r0, r1, #0x1c
lsrs r0, r0, #0x1c
strb r0, [r7, #4]
movs r0, #0x10
rsbs r0, r0, #0
ands r0, r1
movs r1, #2
orrs r0, r1
mov r1, r8
strb r0, [r1, #0x11]
_0801DFF8:
movs r0, #0
strb r0, [r7]
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801E004: .4byte gFuseInfo
_0801E008: .4byte gUnk_03003DF0
.syntax divided
@@ -0,0 +1,17 @@
.syntax unified
lsls r0, r0, #1
ldr r2, _080700E4 @ =gUnk_089FB780
adds r0, r0, r2
ldrh r0, [r0]
subs r2, #0x10
adds r0, r0, r2
adds r1, r0, r1
ldrb r0, [r1]
lsls r0, r0, #2
adds r0, r0, r2
ldr r1, [r2]
adds r0, r1, r0
bx lr
.align 2, 0
_080700E4: .4byte gExtraFrameOffsets+0x10
.syntax divided
+23
View File
@@ -0,0 +1,23 @@
.syntax unified
push {r4, lr}
adds r4, r1, #0
ldr r1, _0806FC44 @ =gUnk_080046A4
bl sub_08007DD6
cmp r0, #0
beq _0806FC4C
lsls r0, r0, #3
ldr r1, _0806FC48 @ =gUnk_080047F6
adds r0, r0, r1
ldrh r0, [r0]
asrs r0, r4
movs r1, #1
ands r0, r1
b _0806FC4E
.align 2, 0
_0806FC44: .4byte gUnk_080046A4
_0806FC48: .4byte gUnk_080047F6
_0806FC4C:
movs r0, #0
_0806FC4E:
pop {r4, pc}
.syntax divided
@@ -1,11 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
push {lr}
adds r2, r0, #0
movs r0, #7
-251
View File
@@ -1,251 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r5, r0, #0
ldr r0, _080170E4 @ =gUnk_0200AF00
adds r2, r0, #0
adds r2, #0x2f
movs r1, #0
strb r1, [r2]
subs r2, #2
strb r1, [r2]
adds r0, #0x2e
strb r1, [r0]
ldr r2, _080170E8 @ =gPlayerEntity
adds r0, r2, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _08017072
adds r0, r2, #0
adds r0, #0x3d
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
ble _08017072
movs r0, #0x86
bl SoundReq
_08017072:
ldr r4, _080170EC @ =gPlayerState
ldr r0, [r4, #0x30]
ldr r1, _080170F0 @ =0xFDFFFDFF
ands r0, r1
str r0, [r4, #0x30]
movs r1, #0x80
lsls r1, r1, #3
ands r0, r1
cmp r0, #0
beq _0801708A
bl ResetPlayer
_0801708A:
ldr r0, [r4, #0x30]
movs r1, #0x80
lsls r1, r1, #0xf
ands r0, r1
cmp r0, #0
beq _080170A4
adds r0, r4, #0
adds r0, #0xa0
ldrb r0, [r0]
cmp r0, #0
bne _080170A4
bl DeleteClones
_080170A4:
bl sub_08079B24
cmp r0, #0
bne _080170B2
adds r0, r5, #0
bl sub_08079708
_080170B2:
ldr r0, _080170F4 @ =gUnk_03003DF0
movs r4, #0
strb r4, [r0]
ldr r2, _080170EC @ =gPlayerState
adds r1, r2, #0
adds r1, #0x27
ldrb r0, [r1]
cmp r0, #0
beq _080170C8
subs r0, #1
strb r0, [r1]
_080170C8:
adds r1, r2, #0
adds r1, #0xa8
ldrb r0, [r1]
adds r3, r2, #0
adds r3, #0xa9
strb r0, [r3]
strb r4, [r1]
subs r1, #0x1e
ldrb r0, [r1]
cmp r0, #0
beq _080170F8
subs r0, #1
strb r0, [r1]
b _08017222
.align 2, 0
_080170E4: .4byte gUnk_0200AF00
_080170E8: .4byte gPlayerEntity
_080170EC: .4byte gPlayerState
_080170F0: .4byte 0xFDFFFDFF
_080170F4: .4byte gUnk_03003DF0
_080170F8:
adds r0, r2, #0
adds r0, #0x8b
ldrb r0, [r0]
cmp r0, #0
beq _08017104
b _08017222
_08017104:
ldr r0, _08017160 @ =gMessage
ldrb r1, [r0]
movs r0, #0x7f
ands r0, r1
cmp r0, #0
beq _08017112
b _08017222
_08017112:
ldr r0, _08017164 @ =gUnk_0200AF00
ldrb r0, [r0, #1]
cmp r0, #0
bne _0801714E
ldr r0, _08017168 @ =gRoomTransition
ldr r0, [r0]
movs r1, #0x5a
bl __modsi3
cmp r0, #0
bne _0801714E
ldr r2, _0801716C @ =gSave
adds r0, r2, #0
adds r0, #0xab
ldrb r0, [r0]
lsrs r1, r0, #2
cmp r1, #0x18
bls _08017138
movs r1, #0x18
_08017138:
cmp r1, #7
bhi _0801713E
movs r1, #8
_0801713E:
adds r0, r2, #0
adds r0, #0xaa
ldrb r0, [r0]
cmp r0, r1
bhi _0801714E
ldr r0, _08017170 @ =0x0000011F
bl EnqueueSFX
_0801714E:
ldr r0, _0801716C @ =gSave
adds r2, r0, #0
adds r2, #0xb2
ldrb r1, [r2]
cmp r1, #0
bne _08017174
adds r0, #0xc4
strh r1, [r0]
b _08017192
.align 2, 0
_08017160: .4byte gMessage
_08017164: .4byte gUnk_0200AF00
_08017168: .4byte gRoomTransition
_0801716C: .4byte gSave
_08017170: .4byte 0x0000011F
_08017174:
adds r1, r0, #0
adds r1, #0xc4
ldrh r0, [r1]
cmp r0, #0
beq _08017188
subs r0, #1
strh r0, [r1]
lsls r0, r0, #0x10
cmp r0, #0
bne _08017192
_08017188:
movs r0, #0
strb r0, [r2]
ldr r0, _080171A4 @ =0x000001B3
bl SoundReq
_08017192:
ldr r0, _080171A8 @ =gSave
adds r3, r0, #0
adds r3, #0xb3
ldrb r1, [r3]
cmp r1, #0
bne _080171AC
adds r0, #0xc6
strh r1, [r0]
b _080171DC
.align 2, 0
_080171A4: .4byte 0x000001B3
_080171A8: .4byte gSave
_080171AC:
adds r2, r0, #0
adds r2, #0xc6
ldrh r0, [r2]
cmp r0, #0
beq _080171C0
subs r1, r0, #1
strh r1, [r2]
lsls r0, r1, #0x10
cmp r0, #0
bne _080171CE
_080171C0:
movs r0, #0
strb r0, [r3]
movs r0, #0xa0
lsls r0, r0, #1
bl SoundReq
b _080171DC
_080171CE:
movs r0, #0xf
ands r1, r0
cmp r1, #0
bne _080171DC
adds r0, r5, #0
bl CreateSparkle
_080171DC:
ldr r0, _080171F0 @ =gSave
adds r3, r0, #0
adds r3, #0xba
ldrb r1, [r3]
cmp r1, #0
bne _080171F4
adds r0, #0xc8
strh r1, [r0]
b _08017222
.align 2, 0
_080171F0: .4byte gSave
_080171F4:
adds r2, r0, #0
adds r2, #0xc8
ldrh r0, [r2]
cmp r0, #0
beq _08017208
subs r1, r0, #1
strh r1, [r2]
lsls r0, r1, #0x10
cmp r0, #0
bne _0801720E
_08017208:
movs r0, #0
strb r0, [r3]
b _08017222
_0801720E:
movs r0, #0x3f
ands r1, r0
cmp r1, #0
bne _08017222
ldrb r1, [r3]
adds r1, #0x55
adds r0, r5, #0
movs r2, #0
bl CreateFx
_08017222:
pop {r4, r5}
pop {r0}
bx r0
.syntax divided
-95
View File
@@ -1,95 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _080578C4
movs r0, #1
strb r0, [r4, #0xc]
movs r0, #8
strb r0, [r4, #0xe]
adds r1, r4, #0
adds r1, #0x20
movs r0, #0xff
strb r0, [r1]
ldr r1, _0805791C @ =sub_080582F8
adds r0, r4, #0
movs r2, #0
bl RegisterTransitionManager
_080578C4:
ldr r0, _08057920 @ =gRoomControls
ldrh r5, [r0]
cmp r5, #0
bne _08057960
adds r0, r4, #0
bl sub_08057E40
cmp r0, #0
beq _080578E8
ldr r0, _08057924 @ =gRoomVars
ldrb r6, [r0, #0x10]
adds r1, r4, #0
adds r1, #0x20
ldrb r0, [r1]
cmp r0, r6
beq _080578E8
strb r6, [r1]
strb r5, [r4, #0xe]
_080578E8:
lsls r1, r6, #6
ldr r0, _08057928 @ =gUnk_081080A4
adds r2, r1, r0
ldrb r1, [r4, #0xe]
cmp r1, #0
bne _08057938
ldr r1, _0805792C @ =gUnk_02034490
movs r0, #1
strb r0, [r1]
ldr r0, [r2]
ldr r1, _08057930 @ =gGlobalGfxAndPalettes
adds r0, r0, r1
ldr r1, [r2, #4]
movs r2, #0x80
lsls r2, r2, #5
bl LoadResourceAsync
ldr r0, _08057934 @ =gUnk_081081E4
adds r0, r6, r0
ldrb r0, [r0]
bl LoadPaletteGroup
ldrb r0, [r4, #0xe]
adds r0, #1
strb r0, [r4, #0xe]
b _08057960
.align 2, 0
_0805791C: .4byte sub_08057E30
_08057920: .4byte gRoomControls
_08057924: .4byte gRoomVars
_08057928: .4byte gUnk_081080A4
_0805792C: .4byte gUnk_02034490
_08057930: .4byte gGlobalGfxAndPalettes
_08057934: .4byte gUnk_081081E4
_08057938:
cmp r1, #0
blt _08057960
cmp r1, #7
bgt _08057960
lsls r1, r1, #3
adds r1, r1, r2
ldr r0, [r1]
ldr r2, _08057964 @ =gGlobalGfxAndPalettes
adds r0, r0, r2
ldr r1, [r1, #4]
movs r2, #0x80
lsls r2, r2, #5
bl LoadResourceAsync
ldrb r0, [r4, #0xe]
adds r0, #1
movs r1, #0
strb r0, [r4, #0xe]
ldr r0, _08057968 @ =gUnk_02034490
strb r1, [r0]
_08057960:
pop {r4, r5, r6, pc}
.align 2, 0
_08057964: .4byte gGlobalGfxAndPalettes
_08057968: .4byte gUnk_02034490
.syntax divided
@@ -1,98 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r4, r0, #0
ldr r5, [r4, #0x54]
cmp r5, #0
bne _080A984A
bl DeleteThisEntity
_080A984A:
ldr r0, [r5, #4]
cmp r0, #0
bne _080A9856
bl DeleteThisEntity
b _080A989A
_080A9856:
ldrh r0, [r5, #0x12]
ldrb r1, [r5, #0x1e]
bl GetSpriteSubEntryOffsetDataPointer
adds r3, r0, #0
ldrb r1, [r5, #0x14]
movs r0, #4
ands r0, r1
cmp r0, #0
beq _080A9884
movs r2, #0
ldrsb r2, [r3, r2]
rsbs r2, r2, #0
lsls r2, r2, #0x10
ldrb r3, [r3, #1]
lsls r3, r3, #0x18
asrs r3, r3, #0x18
lsls r3, r3, #0x10
adds r0, r5, #0
adds r1, r4, #0
bl PositionRelative
b _080A989A
_080A9884:
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
adds r0, r5, #0
adds r1, r4, #0
bl PositionRelative
_080A989A:
adds r0, r5, #0
adds r0, #0x43
ldrb r0, [r0]
cmp r0, #0
bne _080A98F8
ldrb r0, [r4, #0xf]
cmp r0, #0
beq _080A98B0
subs r0, #1
strb r0, [r4, #0xf]
b _080A98F8
_080A98B0:
adds r0, r4, #0
bl UpdateAnimationSingleFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _080A98F8
movs r0, #4
strb r0, [r4, #0xc]
adds r1, r4, #0
adds r1, #0x82
movs r0, #3
strb r0, [r1]
movs r2, #0x40
movs r0, #0x40
strb r0, [r4, #0xf]
ldrb r0, [r5, #0x14]
lsls r1, r0, #2
strb r1, [r4, #0x15]
lsls r0, r0, #0x1a
lsrs r0, r0, #0x1a
strb r0, [r4, #0x14]
ldrb r1, [r4, #0x1b]
movs r0, #0x3f
ands r0, r1
orrs r0, r2
strb r0, [r4, #0x1b]
ldr r0, _080A98FC @ =gHitbox_0
str r0, [r4, #0x48]
adds r0, r4, #0
movs r1, #0
bl sub_080AA3E0
_080A98F8:
pop {r4, r5, pc}
.align 2, 0
_080A98FC: .4byte gHitbox_0
.syntax divided
-103
View File
@@ -1,103 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r4, r0, #0
ldr r3, _0801B564 @ =gPlayerState
str r4, [r3, #0x2c]
movs r2, #0
movs r0, #1
strb r0, [r4, #0xc]
ldr r0, _0801B568 @ =gUnk_081271CC
str r0, [r4, #0x48]
movs r0, #0xff
strb r0, [r4, #0x1e]
adds r0, r4, #0
adds r0, #0x80
strb r2, [r0]
ldr r5, _0801B56C @ =gPlayerEntity
adds r0, r5, #0
adds r0, #0x60
ldrh r1, [r0]
adds r0, r4, #0
adds r0, #0x60
strh r1, [r0]
adds r1, r4, #0
adds r1, #0x58
movs r0, #0xb
strb r0, [r1]
str r5, [r4, #0x50]
adds r0, r4, #0
adds r0, #0x86
strh r2, [r0]
ldrb r1, [r4, #0x14]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0801B550
ldrb r0, [r5, #0x18]
lsls r0, r0, #0x19
lsrs r0, r0, #0x1f
movs r1, #1
bics r1, r0
lsls r1, r1, #6
ldrb r2, [r4, #0x18]
movs r0, #0x41
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x18]
_0801B550:
adds r0, r4, #0
adds r0, #0x68
ldrb r0, [r0]
cmp r0, #0xc
bne _0801B570
movs r0, #0xa0
lsls r0, r0, #2
strh r0, [r4, #0x24]
movs r0, #0x3c
b _0801B578
.align 2, 0
_0801B564: .4byte gPlayerState
_0801B568: .4byte gUnk_081271CC
_0801B56C: .4byte gPlayerEntity
_0801B570:
movs r0, #0x80
lsls r0, r0, #2
strh r0, [r4, #0x24]
movs r0, #0x1e
_0801B578:
strb r0, [r4, #0xe]
ldrb r1, [r3, #0xd]
movs r0, #0xd
ldrsb r0, [r3, r0]
cmp r0, #0
blt _0801B588
strb r1, [r4, #0x15]
b _0801B58E
_0801B588:
ldrb r0, [r4, #0x14]
lsls r0, r0, #2
strb r0, [r4, #0x15]
_0801B58E:
ldrb r0, [r4, #0x15]
adds r1, r4, #0
adds r1, #0x83
strb r0, [r1]
adds r0, r4, #0
adds r0, #0x38
ldrb r0, [r0]
cmp r0, #2
bne _0801B5A4
movs r0, #1
strb r0, [r4, #0xb]
_0801B5A4:
adds r0, r4, #0
movs r1, #1
movs r2, #3
bl LoadSwapGFX
adds r0, r4, #0
bl sub_0801766C
adds r0, r4, #0
bl sub_0801B584
pop {r4, r5, pc}
.syntax divided
-101
View File
@@ -1,101 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r4, r0, #0
bl sub_0802AC40
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _0802AAB4
adds r0, r4, #0
movs r1, #4
bl sub_0802AD1C
_0802AAB4:
adds r6, r4, #0
adds r6, #0x81
ldrb r0, [r6]
cmp r0, #0
beq _0802AB38
ldr r5, [r4, #0x54]
cmp r5, #0
bne _0802AAC8
strb r5, [r6]
b _0802AB56
_0802AAC8:
ldr r0, [r5, #4]
cmp r0, #0
bne _0802AAD4
strb r0, [r6]
str r0, [r4, #0x54]
b _0802AB56
_0802AAD4:
ldrb r0, [r5, #0xe]
mov r8, r0
cmp r0, #0
bne _0802AB56
movs r1, #0x2e
ldrsh r0, [r4, r1]
ldr r2, _0802AB24 @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
asrs r0, r0, #4
movs r3, #0x3f
ands r0, r3
movs r7, #0x32
ldrsh r1, [r4, r7]
ldrh r2, [r2, #8]
subs r1, r1, r2
asrs r1, r1, #4
ands r1, r3
lsls r1, r1, #6
orrs r0, r1
movs r1, #1
bl sub_080002E0
cmp r0, #0
bne _0802AB2C
ldr r1, _0802AB28 @ =gPlayerEntity
adds r0, r4, #0
movs r2, #0x10
movs r3, #0x10
bl EntityInRectRadius
cmp r0, #0
beq _0802AB56
ldrb r0, [r5, #0xf]
cmp r0, #0x50
bhi _0802AB56
mov r0, r8
strb r0, [r6]
b _0802AB56
.align 2, 0
_0802AB24: .4byte gRoomControls
_0802AB28: .4byte gPlayerEntity
_0802AB2C:
ldrb r0, [r5, #0xf]
cmp r0, #0x13
bhi _0802AB56
mov r1, r8
strb r1, [r6]
b _0802AB56
_0802AB38:
movs r1, #4
strb r1, [r4, #0xc]
movs r0, #0xc0
strb r0, [r4, #0xe]
strb r1, [r4, #0xf]
adds r2, r4, #0
adds r2, #0x80
ldrb r0, [r2]
movs r1, #1
eors r0, r1
strb r0, [r2]
adds r0, r4, #0
movs r1, #0
bl InitializeAnimation
_0802AB56:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.syntax divided
-50
View File
@@ -1,50 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
bl sub_0802AC40
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
movs r2, #0xff
lsls r0, r0, #0x18
lsrs r1, r0, #0x18
cmp r1, #0
bne _0802ABA6
adds r0, r4, #0
adds r0, #0x7a
ldrb r0, [r0]
cmp r0, #4
bhi _0802AB90
movs r0, #5
strb r0, [r4, #0xc]
strh r1, [r4, #0x24]
ldrb r1, [r4, #0xa]
adds r1, #1
adds r0, r4, #0
bl InitializeAnimation
b _0802ABBA
_0802AB90:
movs r0, #0xc0
strb r0, [r4, #0xe]
movs r0, #4
strb r0, [r4, #0xf]
adds r2, r4, #0
adds r2, #0x80
ldrb r0, [r2]
movs r1, #1
eors r0, r1
strb r0, [r2]
b _0802ABBA
_0802ABA6:
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
ands r0, r2
cmp r0, #0
bne _0802ABBA
adds r0, r4, #0
movs r1, #4
bl sub_0802ACDC
_0802ABBA:
pop {r4, pc}
.syntax divided
-43
View File
@@ -1,43 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r4, r0, #0
bl GetNextFrame
adds r0, r4, #0
bl LinearMoveUpdate
adds r5, r4, #0
adds r5, #0x7a
ldrb r0, [r5]
cmp r0, #0
beq _0802AC26
adds r0, r4, #0
bl sub_0802B234
cmp r0, #0
bne _0802AC44
strb r0, [r5]
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r1
b _0802AC42
_0802AC26:
adds r0, r4, #0
bl sub_0802B234
cmp r0, #0
beq _0802AC44
movs r0, #1
strb r0, [r5]
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
subs r0, #0x3a
ands r0, r1
movs r1, #0x18
orrs r0, r1
_0802AC42:
strb r0, [r2]
_0802AC44:
pop {r4, r5, pc}
.align 2, 0
.syntax divided
-38
View File
@@ -1,38 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r5, r0, #0
ldrb r1, [r5, #0xa]
adds r1, #2
movs r0, #0x1b
bl CreateEnemy
adds r4, r0, #0
cmp r4, #0
beq _0802AD92
adds r0, r5, #0
bl sub_0802B234
rsbs r1, r0, #0
orrs r1, r0
lsrs r1, r1, #0x1f
strb r1, [r4, #0xb]
str r5, [r4, #0x50]
str r4, [r5, #0x54]
adds r0, r5, #0
adds r1, r4, #0
bl CopyPosition
ldrh r0, [r4, #0x36]
adds r0, #8
strh r0, [r4, #0x36]
adds r1, r5, #0
adds r1, #0x81
movs r0, #1
strb r0, [r1]
ldrb r0, [r5, #0xa]
cmp r0, #0
bne _0802AD92
subs r1, #7
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
_0802AD92:
pop {r4, r5, pc}
.syntax divided
-78
View File
@@ -1,78 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
ldr r2, [r4, #0x50]
cmp r2, #0
bne _0802ADFA
movs r0, #3
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x18]
subs r0, #7
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x18]
adds r1, r4, #0
adds r1, #0x80
movs r0, #1
strb r0, [r1]
_0802ADFA:
adds r0, r2, #0
adds r0, #0x81
ldrb r0, [r0]
cmp r0, #0
beq _0802AE1E
adds r0, r2, #0
adds r1, r4, #0
bl CopyPosition
ldrh r0, [r4, #0x36]
adds r0, #8
strh r0, [r4, #0x36]
ldrb r1, [r4, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
strb r0, [r4, #0x18]
b _0802AE68
_0802AE1E:
movs r0, #3
strb r0, [r4, #0xc]
adds r1, r4, #0
adds r1, #0x80
movs r2, #1
movs r0, #1
strb r0, [r1]
ldrb r1, [r4, #0x18]
subs r0, #5
ands r0, r1
orrs r0, r2
strb r0, [r4, #0x18]
adds r0, r4, #0
bl sub_0802B234
cmp r0, #0
beq _0802AE54
adds r2, r4, #0
adds r2, #0x29
ldrb r0, [r2]
movs r1, #0x39
rsbs r1, r1, #0
ands r1, r0
movs r0, #0x18
orrs r1, r0
strb r1, [r2]
b _0802AE62
_0802AE54:
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r1
strb r0, [r2]
_0802AE62:
adds r0, r4, #0
bl GetNextFrame
_0802AE68:
pop {r4, pc}
.align 2, 0
.syntax divided
-71
View File
@@ -1,71 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xe]
cmp r0, #0
beq _0802B17A
subs r0, #1
strb r0, [r4, #0xe]
_0802B17A:
ldr r2, [r4, #0x50]
cmp r2, #0
bne _0802B190
movs r0, #2
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x18]
subs r0, #6
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x18]
_0802B190:
adds r0, r2, #0
adds r0, #0x81
ldrb r0, [r0]
cmp r0, #0
beq _0802B1AA
adds r0, r2, #0
adds r1, r4, #0
bl CopyPosition
ldrh r0, [r4, #0x36]
adds r0, #8
strh r0, [r4, #0x36]
b _0802B1EC
_0802B1AA:
movs r0, #2
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x18]
subs r0, #6
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x18]
adds r0, r4, #0
bl sub_0802B234
cmp r0, #0
beq _0802B1D8
adds r2, r4, #0
adds r2, #0x29
ldrb r0, [r2]
movs r1, #0x39
rsbs r1, r1, #0
ands r1, r0
movs r0, #0x18
orrs r1, r0
strb r1, [r2]
b _0802B1E6
_0802B1D8:
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r1
strb r0, [r2]
_0802B1E6:
adds r0, r4, #0
bl GetNextFrame
_0802B1EC:
pop {r4, pc}
.align 2, 0
.syntax divided
-207
View File
@@ -1,207 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
sub sp, #0x20
adds r6, r0, #0
adds r3, r1, #0
ldr r0, _08054138 @ =gRoomVars
ldrb r0, [r0, #2]
cmp r0, #1
bne _08054126
b _080542CC
_08054126:
ldr r2, _0805413C @ =gUnk_08001A1C
movs r4, #0
cmp r3, #0x18
bhi _080541BC
lsls r0, r3, #2
ldr r1, _08054140 @ =_08054144
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08054138: .4byte gRoomVars
_0805413C: .4byte gUnk_08001A1C
_08054140: .4byte _08054144
_08054144: @ jump table
.4byte _080541BC @ case 0
.4byte _080541A8 @ case 1
.4byte _080541A8 @ case 2
.4byte _080541A8 @ case 3
.4byte _080541A8 @ case 4
.4byte _080541A8 @ case 5
.4byte _080541A8 @ case 6
.4byte _080541A8 @ case 7
.4byte _080541A8 @ case 8
.4byte _080541A8 @ case 9
.4byte _080541A8 @ case 10
.4byte _080541A8 @ case 11
.4byte _080541A8 @ case 12
.4byte _080541BC @ case 13
.4byte _080541BC @ case 14
.4byte _080541BA @ case 15
.4byte _080541B4 @ case 16
.4byte _080541B4 @ case 17
.4byte _080541B4 @ case 18
.4byte _080541B4 @ case 19
.4byte _080541B4 @ case 20
.4byte _080541B4 @ case 21
.4byte _080541B4 @ case 22
.4byte _080541B4 @ case 23
.4byte _080541B4 @ case 24
_080541A8:
lsls r1, r3, #5
ldr r0, _080541B0 @ =gUnk_0800137C
adds r4, r1, r0
b _080541BC
.align 2, 0
_080541B0: .4byte gUnk_0800137C
_080541B4:
lsls r1, r3, #5
ldr r0, _080541D0 @ =gUnk_0800161C
adds r2, r1, r0
_080541BA:
ldr r4, _080541D4 @ =gUnk_02034398
_080541BC:
cmp r4, #0
bne _080541C2
b _080542CC
_080541C2:
ldr r0, _080541D8 @ =gSave
adds r0, #0xb3
ldrb r1, [r0]
cmp r1, #0
bne _080541E0
ldr r3, _080541DC @ =gUnk_08001A1C
b _080541E6
.align 2, 0
_080541D0: .4byte gUnk_0800161C
_080541D4: .4byte gUnk_02034398
_080541D8: .4byte gSave
_080541DC: .4byte gUnk_08001A1C
_080541E0:
lsls r1, r1, #5
ldr r0, _080542BC @ =0x080014E4
adds r3, r1, r0
_080541E6:
mov r0, sp
adds r1, r4, #0
bl sub_08000F14
ldr r4, _080542C0 @ =gSave
adds r0, r4, #0
adds r0, #0xaa
ldrb r0, [r0]
cmp r0, #8
bhi _08054204
mov r1, sp
mov r0, sp
ldrh r0, [r0, #8]
adds r0, #5
strh r0, [r1, #8]
_08054204:
adds r0, r4, #0
adds r0, #0xac
ldrb r0, [r0]
cmp r0, #0
bne _08054218
mov r1, sp
mov r0, sp
ldrh r0, [r0, #0xc]
adds r0, #3
strh r0, [r1, #0xc]
_08054218:
adds r0, r4, #0
adds r0, #0xad
ldrb r0, [r0]
cmp r0, #0
bne _0805422C
mov r1, sp
mov r0, sp
ldrh r0, [r0, #0xe]
adds r0, #3
strh r0, [r1, #0xe]
_0805422C:
adds r0, r4, #0
adds r0, #0xc0
ldrh r0, [r0]
cmp r0, #0xa
bhi _08054240
mov r1, sp
mov r0, sp
ldrh r0, [r0, #4]
adds r0, #1
strh r0, [r1, #4]
_08054240:
ldr r2, _080542C4 @ =gUnk_08001A1C
adds r0, r4, #0
adds r0, #0xbb
ldrb r0, [r0]
adds r3, r2, #0
cmp r0, #0
beq _08054250
adds r2, #0x20
_08054250:
movs r1, #0x8b
lsls r1, r1, #1
adds r0, r4, r1
ldrb r0, [r0]
cmp r0, #0
beq _0805425E
adds r3, #0x40
_0805425E:
mov r0, sp
mov r1, sp
bl sub_08000F2C
adds r4, r0, #0
bl Random
adds r2, r0, #0
asrs r5, r2, #0x18
movs r0, #0xf
ands r5, r0
adds r0, r2, #0
adds r1, r4, #0
bl __modsi3
adds r2, r0, #0
movs r3, #0
lsls r0, r5, #1
add r0, sp
movs r4, #0
ldrsh r1, [r0, r4]
cmp r1, r2
bgt _080542A6
movs r4, #0xf
_0805428E:
adds r3, #1
adds r5, #1
ands r5, r4
cmp r3, #0xf
bhi _080542A6
lsls r0, r5, #1
add r0, sp
movs r7, #0
ldrsh r0, [r0, r7]
adds r1, r1, r0
cmp r1, r2
ble _0805428E
_080542A6:
ldr r0, _080542C8 @ =gUnk_080FE1B4
adds r0, r5, r0
ldrb r1, [r0]
cmp r1, #0
beq _080542CC
adds r0, r6, #0
movs r2, #0
bl CreateItemDrop
b _080542CE
.align 2, 0
_080542BC: .4byte 0x080014E4
_080542C0: .4byte gSave
_080542C4: .4byte gUnk_08001A1C
_080542C8: .4byte gUnk_080FE1B4
_080542CC:
movs r0, #0
_080542CE:
add sp, #0x20
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
-56
View File
@@ -1,56 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
mov r8, r0
adds r4, r1, #0
bl SetInitializationPriority
ldr r5, _080575E8 @ =gUnk_03004030
ldrb r0, [r5, #9]
strb r0, [r5, #0xa]
ldr r3, _080575EC @ =gRoomControls
ldrb r0, [r3, #4]
strb r0, [r5, #9]
ldr r1, _080575F0 @ =gRoomTransition
ldrb r0, [r4, #4]
strb r0, [r1, #0xc]
ldrb r0, [r4, #5]
strb r0, [r1, #0xd]
ldrb r0, [r4, #4]
strb r0, [r3, #4]
ldrb r0, [r4, #5]
strb r0, [r3, #5]
str r4, [r5]
ldr r6, _080575F4 @ =gPlayerEntity
ldrh r1, [r6, #0x2e]
ldrh r0, [r3, #6]
subs r1, r1, r0
ldrh r2, [r4]
movs r0, #0x3f
ands r0, r2
lsls r0, r0, #4
subs r1, r1, r0
strh r1, [r5, #4]
ldrh r1, [r6, #0x32]
ldrh r0, [r3, #8]
subs r1, r1, r0
ldrh r2, [r4]
movs r0, #0xfc
lsls r0, r0, #4
ands r0, r2
lsrs r0, r0, #2
subs r1, r1, r0
strh r1, [r5, #6]
ldrb r0, [r4, #3]
bl sub_08080930
mov r0, r8
bl DeleteManager
pop {r3}
mov r8, r3
pop {r4, r5, r6, pc}
.align 2, 0
_080575E8: .4byte gUnk_03004030
_080575EC: .4byte gRoomControls
_080575F0: .4byte gRoomTransition
_080575F4: .4byte gPlayerEntity
.syntax divided
-37
View File
@@ -1,37 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r4, r0, #0
ldr r0, _080579F0 @ =gUnk_081081E4
adds r0, r4, r0
ldrb r0, [r0]
bl LoadPaletteGroup
lsls r1, r4, #6
ldr r0, _080579F4 @ =gUnk_081080A4
adds r1, r1, r0
movs r3, #0
ldr r2, _080579F8 @ =0x040000D4
ldr r6, _080579FC @ =gGlobalGfxAndPalettes
ldr r5, _08057A00 @ =0x84000400
_080579D4:
ldr r0, [r1]
adds r0, r0, r6
str r0, [r2]
ldr r0, [r1, #4]
str r0, [r2, #4]
str r5, [r2, #8]
ldr r0, [r2, #8]
adds r3, #1
adds r1, #8
cmp r3, #7
bls _080579D4
ldr r0, _08057A04 @ =gRoomVars
strb r4, [r0, #0x10]
pop {r4, r5, r6, pc}
.align 2, 0
_080579F0: .4byte gUnk_081081E4
_080579F4: .4byte gUnk_081080A4
_080579F8: .4byte 0x040000D4
_080579FC: .4byte gGlobalGfxAndPalettes
_08057A00: .4byte 0x84000400
_08057A04: .4byte gRoomVars
.syntax divided
-24
View File
@@ -1,24 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
bl sub_08050384
adds r4, #0x68
movs r1, #0
ldrsh r0, [r4, r1]
ldr r1, _0806E520 @ =gUnk_020227E8
ldr r2, _0806E524 @ =0x00202020
bl sub_08057044
ldr r0, _0806E528 @ =0x00003302
ldr r1, _0806E52C @ =gUnk_081146B8
bl sub_0805F46C
ldr r1, _0806E530 @ =gScreen
movs r0, #1
strh r0, [r1, #0xe]
pop {r4, pc}
.align 2, 0
_0806E520: .4byte gUnk_020227E8
_0806E524: .4byte 0x00202020
_0806E528: .4byte 0x00003302
_0806E52C: .4byte gUnk_081146B8
_0806E530: .4byte gScreen
.syntax divided
-180
View File
@@ -1,180 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r7, r1, #0
ldr r4, _08074DA8 @ =gPlayerState
ldr r1, [r4, #0x30]
movs r3, #0x80
adds r0, r1, #0
ands r0, r3
cmp r0, #0
beq _08074DAC
ldrb r0, [r5, #9]
movs r1, #0x80
orrs r1, r0
strb r1, [r5, #9]
adds r0, r5, #0
adds r1, r7, #0
bl sub_08077D38
movs r0, #0xc0
lsls r0, r0, #4
strh r0, [r4, #8]
movs r0, #0x75
bl SoundReq
b _08074EE2
.align 2, 0
_08074DA8: .4byte gPlayerState
_08074DAC:
ldrb r2, [r4, #2]
cmp r2, #0
beq _08074E22
movs r6, #7
adds r0, r6, #0
ands r0, r2
cmp r0, #3
beq _08074E18
movs r0, #0x78
ands r0, r2
cmp r0, #0
bne _08074E18
ldr r3, _08074E10 @ =gPlayerEntity
ldr r1, [r3, #0x20]
ldr r0, _08074E14 @ =0x00017FFF
cmp r1, r0
bhi _08074E18
adds r0, r4, #0
adds r0, #0xac
ldrh r1, [r0]
movs r0, #0x40
ands r0, r1
cmp r0, #0
beq _08074E18
ldr r0, [r3, #0x34]
cmp r0, #0
beq _08074E18
movs r0, #0x20
orrs r0, r2
strb r0, [r4, #2]
adds r0, r4, #0
adds r0, #0xab
strb r6, [r0]
movs r0, #8
asrs r0, r7
lsls r1, r0, #4
orrs r0, r1
ldrb r1, [r4, #4]
orrs r0, r1
strb r0, [r4, #4]
adds r0, r5, #0
bl sub_08077B98
movs r0, #6
strb r0, [r5, #4]
adds r0, r5, #0
adds r1, r7, #0
bl sub_08075898
b _08074EE2
.align 2, 0
_08074E10: .4byte gPlayerEntity
_08074E14: .4byte 0x00017FFF
_08074E18:
adds r0, r5, #0
adds r1, r7, #0
bl sub_080759B8
b _08074EE2
_08074E22:
movs r6, #0x80
lsls r6, r6, #0xb
ands r6, r1
cmp r6, #0
beq _08074EAE
adds r0, r4, #0
adds r0, #0xac
ldrh r1, [r0]
movs r0, #2
ands r0, r1
lsls r0, r0, #0x10
lsrs r6, r0, #0x10
cmp r6, #0
bne _08074E4C
ldr r0, [r4, #0x2c]
cmp r0, #0
beq _08074EE2
bl DeleteEntity
str r6, [r4, #0x2c]
b _08074EE2
_08074E4C:
adds r0, r5, #0
adds r1, r7, #0
bl sub_08077D38
adds r0, r5, #0
bl sub_08077B98
movs r3, #8
adds r1, r3, #0
asrs r1, r7
lsls r0, r1, #4
orrs r0, r1
ldrb r2, [r4, #4]
orrs r0, r2
strb r0, [r4, #4]
ldrb r2, [r4, #0xa]
adds r0, r1, #0
orrs r0, r2
strb r0, [r4, #0xa]
ldrb r0, [r4, #0xb]
orrs r1, r0
strb r1, [r4, #0xb]
strb r3, [r5, #4]
movs r0, #0x14
strb r0, [r5, #7]
movs r0, #6
strb r0, [r5, #0xf]
ldrb r1, [r5, #9]
movs r0, #0x80
orrs r0, r1
strb r0, [r5, #9]
adds r1, r4, #0
adds r1, #0xab
movs r0, #2
strb r0, [r1]
ldr r0, [r4, #0x30]
movs r1, #0x80
lsls r1, r1, #0x14
orrs r0, r1
str r0, [r4, #0x30]
movs r1, #0x98
lsls r1, r1, #1
adds r0, r5, #0
bl sub_08077DF4
movs r0, #0x77
bl SoundReq
b _08074EE2
_08074EAE:
ldrb r1, [r4, #0x1b]
adds r0, r3, #0
ands r0, r1
cmp r0, #0
bne _08074EC0
strb r6, [r4, #0x1b]
ldr r0, _08074EE4 @ =gPlayerEntity
bl sub_0806F948
_08074EC0:
ldr r1, [r4, #0x2c]
cmp r1, #0
beq _08074ED4
ldrb r0, [r1, #9]
cmp r0, #1
beq _08074ED4
adds r0, r1, #0
bl DeleteEntity
str r6, [r4, #0x2c]
_08074ED4:
adds r0, r5, #0
adds r1, r7, #0
bl sub_08077D38
adds r0, r5, #0
bl sub_08077B98
_08074EE2:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08074EE4: .4byte gPlayerEntity
.syntax divided
-95
View File
@@ -1,95 +0,0 @@
.syntax unified
.text
push {r4, lr}
adds r4, r0, #0
adds r0, #0x41
ldrb r2, [r0]
cmp r2, #0x87
bne _080374D4
ldrb r0, [r4, #0xc]
cmp r0, #6
bne _080374BC
adds r0, r4, #0
bl sub_08037ACC
_080374BC:
movs r0, #8
strb r0, [r4, #0xc]
movs r0, #0x3c
strb r0, [r4, #0xe]
ldrb r1, [r4, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r4, #0x10]
adds r0, r4, #0
bl sub_08037B48
b _08037534
_080374D4:
ldrb r0, [r4, #0xc]
adds r1, r0, #0
cmp r1, #6
beq _0803752E
adds r0, r4, #0
adds r0, #0x3f
ldrb r0, [r0]
cmp r0, #0x27
bne _080374F2
cmp r2, #0x80
bne _080374F2
adds r0, r4, #0
bl sub_08037A14
b _08037534
_080374F2:
subs r0, r1, #1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #1
bhi _08037534
movs r0, #1
strb r0, [r4, #0xc]
adds r0, r4, #0
adds r0, #0x3e
ldrb r0, [r0]
movs r1, #0x10
eors r0, r1
adds r0, #4
movs r1, #0x18
ands r0, r1
strb r0, [r4, #0x15]
lsrs r0, r0, #3
strb r0, [r4, #0x14]
ldrb r1, [r4, #0x14]
adds r0, r4, #0
bl InitAnimationForceUpdate
adds r0, r4, #0
bl sub_08037810
cmp r0, #0
beq _08037534
movs r0, #4
strb r0, [r4, #0xe]
b _08037534
_0803752E:
adds r0, r4, #0
bl sub_08037A58
_08037534:
adds r0, r4, #0
adds r0, #0x43
ldrb r0, [r0]
cmp r0, #0
beq _08037546
adds r0, r4, #0
movs r1, #0x1c
bl sub_0804A9FC
_08037546:
ldr r1, _08037550 @ =gGibdo
adds r0, r4, #0
bl sub_0804AA30
pop {r4, pc}
.align 2, 0
_08037550: .4byte gGibdo
.syntax divided
-39
View File
@@ -1,39 +0,0 @@
.syntax unified
.text
push {r4, r5, lr}
adds r5, r0, #0
movs r4, #0x18
movs r0, #0x18
strb r0, [r5, #0xe]
movs r0, #8
strb r0, [r5, #0xf]
movs r1, #0x2e
ldrsh r0, [r5, r1]
movs r2, #0x32
ldrsh r1, [r5, r2]
adds r2, r5, #0
adds r2, #0x78
ldrh r2, [r2]
adds r3, r5, #0
adds r3, #0x7a
ldrh r3, [r3]
bl sub_080045D4
adds r0, #4
ands r0, r4
strb r0, [r5, #0x15]
lsrs r0, r0, #3
ldrb r1, [r5, #0x14]
cmp r0, r1
beq _080379BA
strb r0, [r5, #0x14]
adds r1, r0, #4
adds r0, r5, #0
bl InitAnimationForceUpdate
_080379BA:
pop {r4, r5, pc}
.syntax divided
-36
View File
@@ -1,36 +0,0 @@
.syntax unified
.text
push {lr}
adds r3, r0, #0
adds r0, #0x80
ldr r2, [r0]
cmp r2, #0
beq _08037C1E
movs r0, #0xf
strb r0, [r2, #0xe]
str r1, [r2, #0x50]
_08037C1E:
adds r0, r3, #0
adds r0, #0x84
ldr r2, [r0]
cmp r2, #0
beq _08037C2E
movs r0, #0xf
strb r0, [r2, #0xe]
str r1, [r2, #0x50]
_08037C2E:
ldr r2, [r3, #0x54]
cmp r2, #0
beq _08037C3A
movs r0, #0xf
strb r0, [r2, #0xe]
str r1, [r2, #0x50]
_08037C3A:
pop {pc}
.syntax divided
+45
View File
@@ -0,0 +1,45 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r0, #0x84
ldr r6, [r0]
movs r4, #0
adds r7, r6, #0
adds r7, #0x3c
adds r5, r7, #0
_0802D34A:
ldm r5!, {r0}
bl DeleteEntity
adds r4, #1
cmp r4, #3
bls _0802D34A
lsls r1, r4, #2
adds r1, r7, r1
ldr r0, [r1]
adds r0, #0x45
movs r3, #0
strb r3, [r0]
ldr r1, [r1]
adds r1, #0x6d
ldrb r2, [r1]
movs r0, #1
orrs r0, r2
strb r0, [r1]
ldr r0, [r6, #0x50]
adds r0, #0x45
strb r3, [r0]
ldr r0, [r6, #0x50]
strb r3, [r0, #0xb]
ldr r3, [r6, #0x50]
ldrb r2, [r3, #0x18]
lsls r1, r2, #0x1e
lsrs r1, r1, #0x1e
movs r0, #2
rsbs r0, r0, #0
ands r1, r0
subs r0, #2
ands r0, r2
orrs r0, r1
strb r0, [r3, #0x18]
bl DeleteThisEntity
pop {r4, r5, r6, r7, pc}
.syntax divided
+323
View File
@@ -0,0 +1,323 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r4, r0, #0
movs r0, #3
bl CheckGlobalFlag
cmp r0, #0
beq _0802D3DE
ldr r2, _0802D3F4 @ =gScreen
ldrh r1, [r2]
ldr r0, _0802D3F8 @ =0x0000FDFF
ands r0, r1
strh r0, [r2]
ldr r0, _0802D3FC @ =gPlayerEntity
bl sub_0807AABC
bl DeleteThisEntity
_0802D3DE:
movs r0, #1
strb r0, [r4, #0xc]
ldrb r0, [r4, #0xa]
cmp r0, #6
bls _0802D3EA
b _0802D63C
_0802D3EA:
lsls r0, r0, #2
ldr r1, _0802D400 @ =_0802D404
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0802D3F4: .4byte gScreen
_0802D3F8: .4byte 0x0000FDFF
_0802D3FC: .4byte gPlayerEntity
_0802D400: .4byte _0802D404
_0802D404: @ jump table
.4byte _0802D420 @ case 0
.4byte _0802D544 @ case 1
.4byte _0802D58C @ case 2
.4byte _0802D5A8 @ case 3
.4byte _0802D5EC @ case 4
.4byte _0802D5F6 @ case 5
.4byte _0802D61A @ case 6
_0802D420:
movs r2, #0
movs r0, #2
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r4, #0x10]
adds r3, r4, #0
adds r3, #0x29
ldrb r0, [r3]
movs r1, #7
orrs r0, r1
strb r0, [r3]
adds r0, r4, #0
adds r0, #0x75
strb r2, [r0]
adds r0, #0xb
strb r2, [r0]
subs r0, #7
strb r2, [r0]
movs r0, #0x96
str r0, [r4, #0x7c]
adds r0, r4, #0
bl sub_0802EB9C
movs r0, #0x54
bl zMalloc
adds r1, r4, #0
adds r1, #0x84
str r0, [r1]
adds r5, r0, #0
adds r7, r1, #0
cmp r5, #0
bne _0802D470
adds r0, r4, #0
bl sub_0804A7D4
bl DeleteThisEntity
_0802D470:
ldr r0, [r7]
str r0, [r4, #0x64]
movs r6, #0
movs r0, #0
mov r8, r0
_0802D47A:
movs r0, #0x24
movs r1, #1
bl CreateEnemy
str r0, [r4, #0x54]
adds r3, r6, #1
cmp r0, #0
beq _0802D4D6
strb r3, [r0, #0xb]
ldr r1, [r4, #0x54]
adds r0, r4, #0
adds r0, #0x38
ldrb r0, [r0]
adds r1, #0x38
strb r0, [r1]
ldr r1, [r4, #0x54]
ldrh r0, [r4, #0x2e]
strh r0, [r1, #0x2e]
ldr r1, [r4, #0x54]
lsls r0, r3, #1
adds r0, r0, r3
lsls r0, r0, #2
ldrh r2, [r4, #0x32]
adds r0, r0, r2
strh r0, [r1, #0x32]
ldr r0, [r4, #0x54]
str r4, [r0, #0x50]
ldr r0, [r4, #0x54]
adds r0, #0x84
ldr r1, [r7]
str r1, [r0]
lsls r2, r6, #2
adds r0, r5, #0
adds r0, #0x3c
adds r0, r0, r2
ldr r1, [r4, #0x54]
str r1, [r0]
adds r2, r5, r2
movs r0, #0x10
strb r0, [r2, #1]
mov r0, r8
strb r0, [r2, #0x19]
adds r0, r5, #0
adds r0, #0x35
mov r1, r8
strb r1, [r0]
_0802D4D6:
adds r6, r3, #0
cmp r6, #4
bls _0802D47A
movs r0, #0x24
movs r1, #2
bl CreateEnemy
adds r2, r0, #0
str r2, [r4, #0x54]
cmp r2, #0
beq _0802D52E
adds r0, r4, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r2, #0
adds r0, #0x38
strb r1, [r0]
ldr r1, [r4, #0x54]
ldrh r0, [r4, #0x2e]
movs r3, #0
strh r0, [r1, #0x2e]
ldr r2, [r4, #0x54]
adds r1, r6, #1
lsls r0, r1, #1
adds r0, r0, r1
lsls r0, r0, #2
ldrh r1, [r4, #0x32]
adds r0, r0, r1
strh r0, [r2, #0x32]
ldr r0, [r4, #0x54]
str r4, [r0, #0x50]
ldr r0, [r4, #0x54]
adds r0, #0x84
ldr r1, [r7]
str r1, [r0]
ldr r0, [r4, #0x54]
str r0, [r5, #0x50]
movs r0, #0x10
strb r0, [r5, #0x15]
adds r0, r5, #0
adds r0, #0x2d
strb r3, [r0]
adds r0, #8
strb r3, [r0]
_0802D52E:
.ifndef EU
ldr r0, _0802D540 @ =gPlayerState
adds r0, #0x8b
movs r1, #3
strb r1, [r0]
.endif
adds r0, r4, #0
movs r1, #0x4c
bl InitializeAnimation
b _0802D63C
.align 2, 0
.ifndef EU
_0802D540: .4byte gPlayerState
.endif
_0802D544:
ldrb r0, [r4, #0xb]
cmp r0, #1
bne _0802D55C
ldrb r0, [r4, #0x10]
movs r1, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
adds r2, r4, #0
adds r2, #0x3b
ldrb r0, [r2]
orrs r1, r0
strb r1, [r2]
_0802D55C:
ldr r1, _0802D588 @ =gUnk_080CD7C4
ldrb r0, [r4, #0xb]
lsls r0, r0, #2
adds r0, r0, r1
ldrb r0, [r0, #1]
adds r3, r4, #0
adds r3, #0x29
movs r1, #7
ands r1, r0
ldrb r2, [r3]
movs r0, #8
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r3]
movs r0, #0
strb r0, [r4, #0xf]
adds r0, r4, #0
movs r1, #0x24
bl InitializeAnimation
b _0802D63C
.align 2, 0
_0802D588: .4byte gUnk_080CD7C4
_0802D58C:
adds r2, r4, #0
adds r2, #0x29
ldrb r0, [r2]
movs r1, #8
rsbs r1, r1, #0
ands r1, r0
strb r1, [r2]
movs r0, #0
strb r0, [r4, #0xf]
adds r0, r4, #0
movs r1, #0
bl InitAnimationForceUpdate
b _0802D63C
_0802D5A8:
ldr r0, _0802D5E8 @ =gUnk_080CD884
ldrb r1, [r0]
adds r0, r4, #0
adds r0, #0x74
movs r2, #0
strb r1, [r0]
adds r0, #1
strb r2, [r0]
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #6
orrs r0, r1
strb r0, [r2]
adds r2, #0x12
ldrb r1, [r2]
movs r0, #0x80
orrs r0, r1
strb r0, [r2]
ldr r0, [r4, #0x50]
adds r1, r4, #0
bl CopyPosition
adds r0, r4, #0
movs r1, #0x4f
bl InitializeAnimation
b _0802D63C
.align 2, 0
_0802D5E8: .4byte gUnk_080CD884
_0802D5EC:
adds r0, r4, #0
movs r1, #0x2c
bl InitAnimationForceUpdate
b _0802D63C
_0802D5F6:
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #6
orrs r0, r1
strb r0, [r2]
ldr r0, [r4, #0x50]
adds r1, r4, #0
bl CopyPosition
adds r0, r4, #0
movs r1, #0x2d
bl InitAnimationForceUpdate
b _0802D63C
_0802D61A:
adds r2, r4, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
movs r1, #6
orrs r0, r1
strb r0, [r2]
ldr r0, [r4, #0x50]
adds r1, r4, #0
bl CopyPosition
adds r0, r4, #0
movs r1, #0x50
bl InitializeAnimation
_0802D63C:
ldrb r0, [r4, #0xa]
cmp r0, #0
beq _0802D648
adds r0, r4, #0
bl sub_0802D86C
_0802D648:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.syntax divided
+401
View File
@@ -0,0 +1,401 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xa]
cmp r0, #6
bls _0802D878
b _0802DB7E
_0802D878:
lsls r0, r0, #2
ldr r1, _0802D884 @ =_0802D888
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0802D884: .4byte _0802D888
_0802D888: @ jump table
.4byte _0802DB64 @ case 0
.4byte _0802D8A4 @ case 1
.4byte _0802D8CE @ case 2
.4byte _0802DA54 @ case 3
.4byte _0802D94C @ case 4
.4byte _0802D9A2 @ case 5
.4byte _0802D9F8 @ case 6
_0802D8A4:
ldrb r0, [r4, #0xb]
cmp r0, #1
bne _0802D8CE
ldr r0, [r4, #0x50]
adds r0, #0x80
ldrb r0, [r0]
cmp r0, #0
bne _0802D8BE
ldrb r0, [r4, #0x18]
lsls r0, r0, #0x1e
lsrs r0, r0, #0x1e
cmp r0, #1
beq _0802D8C6
_0802D8BE:
ldrb r1, [r4, #0x10]
movs r0, #0x7f
ands r0, r1
b _0802D8CC
_0802D8C6:
ldrb r1, [r4, #0x10]
movs r0, #0x80
orrs r0, r1
_0802D8CC:
strb r0, [r4, #0x10]
_0802D8CE:
ldrb r0, [r4, #0x18]
lsls r0, r0, #0x1e
lsrs r0, r0, #0x1e
movs r1, #1
ands r0, r1
cmp r0, #0
bne _0802D8DE
b _0802DB7E
_0802D8DE:
ldr r0, [r4, #0x50]
adds r0, #0x3d
ldrb r0, [r0]
adds r1, r4, #0
adds r1, #0x3d
strb r0, [r1]
lsls r0, r0, #0x18
cmp r0, #0
bne _0802D918
ldrb r0, [r4, #0xf]
cmp r0, #0
bne _0802D906
adds r0, r4, #0
bl UnloadOBJPalette
adds r0, r4, #0
movs r1, #0xc9
bl LoadObjPalette
b _0802D918
_0802D906:
subs r0, #1
strb r0, [r4, #0xf]
adds r0, r4, #0
bl UnloadOBJPalette
adds r0, r4, #0
movs r1, #0xca
bl LoadObjPalette
_0802D918:
ldr r0, [r4, #0x50]
adds r0, #0x80
ldrb r0, [r0]
cmp r0, #0
bne _0802D924
b _0802DB7E
_0802D924:
ldr r1, _0802D944 @ =gPlayerEntity
adds r0, r4, #0
movs r2, #8
movs r3, #8
bl EntityInRectRadius
cmp r0, #0
bne _0802D936
b _0802DB7E
_0802D936:
ldr r0, _0802D948 @ =gPlayerState
movs r1, #1
strb r1, [r0, #0x14]
adds r0, #0x3f
movs r1, #0xfc
strb r1, [r0]
b _0802DB7E
.align 2, 0
_0802D944: .4byte gPlayerEntity
_0802D948: .4byte gPlayerState
_0802D94C:
adds r0, r4, #0
adds r0, #0x5a
ldrb r0, [r0]
cmp r0, #0
bne _0802D95E
adds r0, r4, #0
bl UpdateAnimationSingleFrame
b _0802DB7E
_0802D95E:
movs r1, #0xc0
lsls r1, r1, #5
adds r0, r4, #0
bl GravityUpdate
adds r2, r0, #0
cmp r2, #0
beq _0802D970
b _0802DB7E
_0802D970:
ldr r0, [r4, #0x50]
adds r0, #0x7b
movs r1, #1
strb r1, [r0]
strb r2, [r4, #0xe]
_0802D97A:
ldrb r3, [r4, #0xe]
adds r0, r4, #0
movs r1, #0x67
movs r2, #0
bl CreateObjectWithParent
ldrb r0, [r4, #0xe]
adds r0, #1
strb r0, [r4, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #7
bls _0802D97A
movs r0, #0xa8
lsls r0, r0, #1
bl SoundReq
_0802D99C:
bl DeleteThisEntity
b _0802DB7E
_0802D9A2:
ldr r0, _0802D9F4 @ =gRoomTransition
ldr r0, [r0]
movs r1, #1
ands r0, r1
cmp r0, #0
beq _0802D9B8
ldr r0, [r4, #0x50]
ldrb r0, [r0, #0xc]
cmp r0, #2
bne _0802D9B8
b _0802DB7E
_0802D9B8:
adds r0, r4, #0
bl UpdateAnimationSingleFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
bne _0802D9CE
b _0802DB7E
_0802D9CE:
movs r0, #0x24
movs r1, #6
bl CreateEnemy
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
beq _0802D99C
ldr r0, [r4, #0x50]
str r0, [r1, #0x50]
adds r2, r4, #0
adds r2, #0x84
ldr r1, [r2]
ldr r0, [r4, #0x54]
str r0, [r1, #0x38]
adds r0, #0x84
ldr r1, [r2]
str r1, [r0]
b _0802D99C
.align 2, 0
_0802D9F4: .4byte gRoomTransition
_0802D9F8:
ldr r0, _0802DA50 @ =gRoomTransition
ldr r0, [r0]
movs r1, #1
ands r0, r1
cmp r0, #0
beq _0802DA0E
ldr r0, [r4, #0x50]
ldrb r0, [r0, #0xc]
cmp r0, #2
bne _0802DA0E
b _0802DB7E
_0802DA0E:
adds r0, r4, #0
bl GetNextFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
bne _0802DA24
b _0802DB7E
_0802DA24:
movs r0, #0x24
movs r1, #3
bl CreateEnemy
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
beq _0802D99C
ldr r0, [r4, #0x50]
str r0, [r1, #0x50]
adds r1, r4, #0
adds r1, #0x84
ldr r0, [r1]
ldrb r0, [r0, #1]
strb r0, [r4, #0xe]
ldr r2, [r1]
ldr r0, [r4, #0x54]
str r0, [r2, #0x38]
adds r0, #0x84
ldr r1, [r1]
str r1, [r0]
b _0802D99C
.align 2, 0
_0802DA50: .4byte gRoomTransition
_0802DA54:
adds r0, r4, #0
adds r0, #0x74
ldrb r1, [r0]
adds r6, r0, #0
cmp r1, #0
beq _0802DA96
subs r0, r1, #1
strb r0, [r6]
lsls r0, r0, #0x18
cmp r0, #0
bne _0802DA96
adds r5, r4, #0
adds r5, #0x75
ldrb r0, [r5]
adds r0, #2
strb r0, [r5]
ldr r7, _0802DAD4 @ =gUnk_080CD884
ldrb r0, [r5]
adds r0, r0, r7
ldrb r0, [r0]
strb r0, [r6]
cmp r0, #0
beq _0802DA96
adds r0, r4, #0
bl UnloadOBJPalette
ldrb r0, [r5]
adds r0, #1
adds r0, r0, r7
ldrb r1, [r0]
adds r0, r4, #0
bl LoadObjPalette
_0802DA96:
adds r0, r4, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _0802DAD8
ldrb r2, [r6]
cmp r2, #0
bne _0802DAD8
movs r0, #0x7f
ands r0, r1
cmp r0, #0x1d
bne _0802DB20
movs r0, #0xc0
lsls r0, r0, #0xa
str r0, [r4, #0x20]
ldr r1, [r4, #0x50]
movs r0, #4
strb r0, [r1, #0xd]
ldr r0, [r4, #0x50]
strb r2, [r0, #0xb]
ldr r0, [r4, #0x50]
adds r0, #0x7b
strb r2, [r0]
movs r0, #0x86
lsls r0, r0, #1
bl SoundReq
b _0802DB20
.align 2, 0
_0802DAD4: .4byte gUnk_080CD884
_0802DAD8:
adds r0, r4, #0
adds r0, #0x84
ldr r2, [r0]
ldrb r1, [r4, #0xe]
adds r3, r0, #0
ldrb r0, [r2, #1]
cmp r1, r0
beq _0802DB20
adds r0, r1, #0
ldrb r1, [r2, #1]
subs r0, r0, r1
movs r1, #0x1f
ands r0, r1
cmp r0, #0x10
ble _0802DB08
ldrb r0, [r4, #0x1e]
adds r0, #1
strb r0, [r4, #0x1e]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x30
bls _0802DB1A
movs r0, #0x28
b _0802DB18
_0802DB08:
ldrb r0, [r4, #0x1e]
subs r0, #1
strb r0, [r4, #0x1e]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x27
bhi _0802DB1A
movs r0, #0x30
_0802DB18:
strb r0, [r4, #0x1e]
_0802DB1A:
ldr r0, [r3]
ldrb r0, [r0, #1]
strb r0, [r4, #0xe]
_0802DB20:
ldr r0, [r4, #0x20]
cmp r0, #0
ble _0802DB7E
movs r1, #0xc0
lsls r1, r1, #5
adds r0, r4, #0
bl GravityUpdate
ldr r0, [r4, #0x20]
cmp r0, #0
bgt _0802DB7E
movs r0, #0x24
movs r1, #4
bl CreateEnemy
adds r1, r0, #0
str r1, [r4, #0x54]
cmp r1, #0
beq _0802DB7E
ldr r0, [r4, #0x50]
str r0, [r1, #0x50]
adds r2, r4, #0
adds r2, #0x84
ldr r1, [r2]
ldr r0, [r4, #0x54]
str r0, [r1, #0x38]
adds r0, #0x84
ldr r1, [r2]
str r1, [r0]
ldr r1, [r4, #0x54]
adds r0, r4, #0
bl CopyPosition
b _0802D99C
_0802DB64:
ldr r1, _0802DB80 @ =gUnk_080CD810
ldrb r0, [r4, #0xd]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
adds r0, r4, #0
adds r0, #0x84
ldr r0, [r0]
bl sub_0802E7E4
_0802DB7E:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0802DB80: .4byte gUnk_080CD810
.syntax divided
+300
View File
@@ -0,0 +1,300 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #0xc
str r0, [sp]
adds r0, #0x84
ldr r0, [r0]
mov sb, r0
ldr r1, [r0, #0x3c]
ldr r0, [r1, #0x50]
bl CopyPosition
mov r0, sb
ldr r1, [r0, #0x3c]
ldrb r0, [r0, #1]
strb r0, [r1, #0x15]
mov r1, sb
ldrb r6, [r1, #1]
cmp r6, #0x10
bls _0802E54C
movs r0, #0xf
eors r6, r0
adds r6, #1
ands r6, r0
_0802E54C:
cmp r6, #0x10
bne _0802E552
movs r6, #0xf
_0802E552:
mov r2, sb
ldr r1, [r2, #0x3c]
movs r0, #0xf
eors r6, r0
adds r0, r6, #0
adds r0, #0x12
lsls r0, r0, #8
strh r0, [r1, #0x24]
ldr r0, [r2, #0x3c]
bl LinearMoveUpdate
movs r6, #0
movs r0, #0x3c
add r0, sb
mov sl, r0
mov r1, sb
adds r1, #0x30
str r1, [sp, #4]
ldr r2, [sp]
adds r2, #0x80
str r2, [sp, #8]
movs r7, #0x80
lsls r7, r7, #1
_0802E580:
lsls r0, r6, #2
add r0, sl
ldr r0, [r0]
adds r1, r6, #1
mov r8, r1
lsls r4, r1, #2
mov r2, sl
adds r5, r2, r4
ldr r1, [r5]
bl CopyPosition
add r4, sb
ldrb r0, [r4, #0x19]
lsls r0, r0, #4
ldr r1, _0802E644 @ =gSineTable
adds r0, r0, r1
movs r2, #0
ldrsh r0, [r0, r2]
ldr r1, [sp, #4]
adds r6, r1, r6
ldrb r1, [r6]
lsls r1, r1, #0x18
asrs r1, r1, #0x10
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl FixedDiv
adds r1, r0, #0
ldrb r0, [r4, #1]
lsls r0, r0, #4
ldr r2, _0802E644 @ =gSineTable
adds r0, r0, r2
movs r2, #0
ldrsh r0, [r0, r2]
lsls r1, r1, #0x10
asrs r1, r1, #0x10
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl FixedDiv
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r2, #0x2c]
adds r1, r1, r0
str r1, [r2, #0x2c]
ldrb r0, [r4, #0x19]
lsls r0, r0, #4
adds r0, #0x80
ldr r1, _0802E644 @ =gSineTable
adds r0, r0, r1
movs r2, #0
ldrsh r0, [r0, r2]
ldrb r1, [r6]
lsls r1, r1, #0x18
asrs r1, r1, #0x10
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl FixedDiv
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r2, #0x30]
subs r1, r1, r0
str r1, [r2, #0x30]
mov r6, r8
cmp r6, #4
bls _0802E580
mov r1, sb
ldr r0, [r1, #0x50]
ldrb r1, [r0, #0xe]
adds r2, r0, #0
cmp r1, #0x18
bne _0802E662
mov r1, sb
ldrb r0, [r1, #0x15]
lsrs r0, r0, #3
lsls r7, r0, #2
mov r0, sb
adds r0, #0x2d
ldrb r0, [r0]
lsls r1, r0, #0x18
lsrs r0, r1, #0x18
cmp r0, #0xc
bls _0802E648
adds r7, #3
b _0802E64C
.align 2, 0
_0802E644: .4byte gSineTable
_0802E648:
lsrs r0, r1, #0x1a
adds r7, r7, r0
_0802E64C:
adds r0, r2, #0
adds r0, #0x58
ldrb r0, [r0]
adds r1, r7, #0
adds r1, #0x18
cmp r0, r1
beq _0802E6E8
adds r0, r2, #0
bl InitAnimationForceUpdate
b _0802E6E8
_0802E662:
ldr r2, [sp, #8]
ldrb r0, [r2]
cmp r0, #0
bne _0802E688
mov r0, sb
movs r1, #5
movs r2, #0
movs r3, #0
bl sub_0802E7CC
mov r0, sb
ldr r2, [r0, #0x50]
ldrb r1, [r2, #0x14]
lsrs r0, r1, #1
adds r7, r1, r0
lsrs r0, r7, #2
ldrb r2, [r2, #0xe]
adds r7, r0, r2
b _0802E6CA
_0802E688:
ldr r0, [sp]
adds r0, #0x3d
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
bne _0802E6C0
ldr r0, [sp]
adds r0, #0x58
ldrb r3, [r0]
mov r1, sb
ldrb r0, [r1, #0x15]
lsrs r2, r0, #3
adds r0, r2, #0
adds r0, #0x2f
cmp r3, r0
bne _0802E6BA
ldr r0, [sp]
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
adds r7, r3, #0
cmp r0, #0
beq _0802E6CA
_0802E6BA:
adds r7, r2, #0
adds r7, #0x28
b _0802E6CA
_0802E6C0:
mov r2, sb
ldrb r0, [r2, #0x15]
lsrs r0, r0, #3
adds r7, r0, #0
adds r7, #0x2f
_0802E6CA:
mov r0, sb
ldr r1, [r0, #0x50]
adds r0, r1, #0
adds r0, #0x58
ldrb r0, [r0]
cmp r0, r7
beq _0802E6E2
adds r0, r1, #0
adds r1, r7, #0
bl InitAnimationForceUpdate
b _0802E6E8
_0802E6E2:
adds r0, r1, #0
bl UpdateAnimationSingleFrame
_0802E6E8:
movs r6, #0
_0802E6EA:
ldr r1, [sp, #8]
ldrb r0, [r1]
cmp r0, #0
bne _0802E72E
lsls r1, r6, #0x18
lsrs r1, r1, #0x18
mov r0, sb
movs r2, #0
movs r3, #0
bl sub_0802E7CC
lsls r5, r6, #2
mov r2, sl
adds r0, r2, r5
ldr r0, [r0]
ldrb r1, [r0, #0x14]
lsrs r0, r1, #1
adds r7, r1, r0
lsrs r7, r7, #2
adds r4, r6, #1
lsls r0, r4, #2
add r0, sb
ldrb r0, [r0, #0x19]
movs r1, #3
bl __divsi3
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
lsls r1, r0, #1
adds r1, r1, r0
lsls r1, r1, #2
adds r7, r7, r1
adds r1, r5, #0
b _0802E73E
_0802E72E:
lsls r1, r6, #2
mov r2, sb
adds r0, r2, r1
ldrb r0, [r0, #1]
lsrs r0, r0, #3
adds r7, r0, #0
adds r7, #0x48
adds r4, r6, #1
_0802E73E:
mov r2, sl
adds r0, r2, r1
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x58
ldrb r0, [r0]
cmp r0, r7
beq _0802E756
adds r0, r1, #0
adds r1, r7, #0
bl InitializeAnimation
_0802E756:
adds r6, r4, #0
cmp r6, #4
bls _0802E6EA
add sp, #0xc
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.syntax divided
+85 -84
View File
@@ -1,84 +1,85 @@
push {r4, r5, r6, r7, lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5, r6, r7}
sub sp, #0x8
ldr r1, _data0_0
ldr r2, _data0_0+0x4
add r0, r1, r2
ldr r3, _data0_0+0x8
add r2, r1, r3
ldr r7, _data0_0+0xc
add r7, r1, r7
str r7, [sp, #0x4]
ldr r3, _data0_0+0x10
add r6, r1, r3
mov r1, #0x10
_code0_0:
mov r5, #0x10
mov r7, #0x80
add r7, r0
mov r10, r7
mov r3, r2
add r3, #0x80
str r3, [sp]
ldr r7, [sp, #0x4]
add r7, #0x40
mov r8, r7
mov r3, #0x40
add r3, r6
mov r9, r3
sub r1, #0x1
mov r12, r1
mov r3, r0
add r3, #0x20
mov r4, r2
add r4, #0x20
_code0_1:
ldrh r0, [r3]
strh r0, [r4]
ldrh r0, [r3]
lsl r0, #0x1
ldr r7, _data0_0
add r0, r7
ldrh r1, [r0]
ldr r0, [sp, #0x4]
add r2, r0, r5
ldr r7, _data0_0+0x14
add r0, r1, r7
ldrb r0, [r0]
strb r0, [r2]
add r2, r6, r5
ldr r0, _data0_0+0x18
add r1, r0
ldrb r0, [r1]
strb r0, [r2]
sub r3, #0x2
sub r4, #0x2
sub r5, #0x1
cmp r5, #0x0
bne _code0_1
mov r0, r10
ldr r2, [sp]
mov r1, r8
str r1, [sp, #0x4]
mov r6, r9
mov r1, r12
cmp r1, #0x0
bne _code0_0
add sp, #0x8
pop {r3, r4, r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_data0_0:
.4byte gMetatileTypesTop
.4byte 0xffffbcb0
.4byte 0xffffecb0
.4byte 0x6658
.4byte 0xffffd658
.4byte gUnk_080B37A0
.4byte gUnk_080B3E80
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #8
ldr r1, _080465AC @ =gMetatileTypesTop
ldr r2, _080465B0 @ =0xFFFFBCB0
adds r0, r1, r2
ldr r3, _080465B4 @ =0xFFFFECB0
adds r2, r1, r3
ldr r7, _080465B8 @ =0x00006658
adds r7, r1, r7
str r7, [sp, #4]
ldr r3, _080465BC @ =0xFFFFD658
adds r6, r1, r3
movs r1, #0x10
_0804653A:
movs r5, #0x10
movs r7, #0x80
adds r7, r7, r0
mov sl, r7
adds r3, r2, #0
adds r3, #0x80
str r3, [sp]
ldr r7, [sp, #4]
adds r7, #0x40
mov r8, r7
movs r3, #0x40
adds r3, r3, r6
mov sb, r3
subs r1, #1
mov ip, r1
adds r3, r0, #0
adds r3, #0x20
adds r4, r2, #0
adds r4, #0x20
_08046560:
ldrh r0, [r3]
strh r0, [r4]
ldrh r0, [r3]
lsls r0, r0, #1
ldr r7, _080465AC @ =gMetatileTypesTop
adds r0, r0, r7
ldrh r1, [r0]
ldr r0, [sp, #4]
adds r2, r0, r5
ldr r7, _080465C0 @ =gUnk_080B37A0
adds r0, r1, r7
ldrb r0, [r0]
strb r0, [r2]
adds r2, r6, r5
ldr r0, _080465C4 @ =gUnk_080B3E80
adds r1, r1, r0
ldrb r0, [r1]
strb r0, [r2]
subs r3, #2
subs r4, #2
subs r5, #1
cmp r5, #0
bne _08046560
mov r0, sl
ldr r2, [sp]
mov r1, r8
str r1, [sp, #4]
mov r6, sb
mov r1, ip
cmp r1, #0
bne _0804653A
add sp, #8
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080465AC: .4byte gMetatileTypesTop
_080465B0: .4byte 0xFFFFBCB0
_080465B4: .4byte 0xFFFFECB0
_080465B8: .4byte 0x00006658
_080465BC: .4byte 0xFFFFD658
_080465C0: .4byte gUnk_080B37A0
_080465C4: .4byte gUnk_080B3E80
.syntax divided
-186
View File
@@ -1,186 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r7, r1, #0
ldr r4, _0807536C @ =gPlayerState
ldr r1, [r4, #0x30]
movs r3, #0x80
adds r0, r1, #0
ands r0, r3
cmp r0, #0
beq _08075370
ldrb r0, [r5, #9]
movs r1, #0x80
orrs r1, r0
strb r1, [r5, #9]
adds r0, r5, #0
adds r1, r7, #0
bl sub_08077D38
movs r0, #0xc0
lsls r0, r0, #4
strh r0, [r4, #8]
movs r0, #0x75
bl SoundReq
b _080754B4
.align 2, 0
_0807536C: .4byte gPlayerState
_08075370:
ldrb r2, [r4, #2]
cmp r2, #0
beq _080753DC
movs r6, #7
adds r0, r6, #0
ands r0, r2
cmp r0, #3
beq _080753E4
movs r0, #0x78
ands r0, r2
cmp r0, #0
bne _080753E4
ldr r3, _080753D4 @ =gPlayerEntity
ldr r1, [r3, #0x20]
ldr r0, _080753D8 @ =0x00017FFF
cmp r1, r0
bhi _080753E4
adds r0, r4, #0
adds r0, #0xac
ldrh r1, [r0]
movs r0, #0x40
ands r0, r1
cmp r0, #0
beq _080753E4
ldr r0, [r3, #0x34]
cmp r0, #0
beq _080753E4
movs r0, #0x20
orrs r0, r2
strb r0, [r4, #2]
adds r0, r4, #0
adds r0, #0xab
strb r6, [r0]
movs r0, #8
asrs r0, r7
lsls r1, r0, #4
orrs r0, r1
ldrb r1, [r4, #4]
orrs r0, r1
strb r0, [r4, #4]
adds r0, r5, #0
bl sub_08077B98
movs r0, #6
strb r0, [r5, #4]
adds r0, r5, #0
adds r1, r7, #0
bl sub_08075898
b _080754B4
.align 2, 0
_080753D4: .4byte gPlayerEntity
_080753D8: .4byte 0x00017FFF
_080753DC:
ldr r2, _080753F0 @ =gPlayerEntity
ldr r0, [r2, #0x34]
cmp r0, #0
beq _080753F4
_080753E4:
adds r0, r5, #0
adds r1, r7, #0
bl sub_080759B8
b _080754B4
.align 2, 0
_080753F0: .4byte gPlayerEntity
_080753F4:
movs r6, #0x80
lsls r6, r6, #0xb
ands r6, r1
cmp r6, #0
beq _08075480
adds r0, r4, #0
adds r0, #0xac
ldrh r1, [r0]
movs r0, #2
ands r0, r1
lsls r0, r0, #0x10
lsrs r6, r0, #0x10
cmp r6, #0
bne _0807541E
ldr r0, [r4, #0x2c]
cmp r0, #0
beq _080754B4
bl DeleteEntity
str r6, [r4, #0x2c]
b _080754B4
_0807541E:
adds r0, r5, #0
adds r1, r7, #0
bl sub_08077D38
adds r0, r5, #0
bl sub_08077B98
movs r3, #8
adds r1, r3, #0
asrs r1, r7
lsls r0, r1, #4
orrs r0, r1
ldrb r2, [r4, #4]
orrs r0, r2
strb r0, [r4, #4]
ldrb r2, [r4, #0xa]
adds r0, r1, #0
orrs r0, r2
strb r0, [r4, #0xa]
ldrb r0, [r4, #0xb]
orrs r1, r0
strb r1, [r4, #0xb]
strb r3, [r5, #4]
movs r0, #0x14
strb r0, [r5, #7]
movs r0, #6
strb r0, [r5, #0xf]
ldrb r1, [r5, #9]
movs r0, #0x80
orrs r0, r1
strb r0, [r5, #9]
adds r1, r4, #0
adds r1, #0xab
movs r0, #2
strb r0, [r1]
ldr r0, [r4, #0x30]
movs r1, #0x80
lsls r1, r1, #0x14
orrs r0, r1
str r0, [r4, #0x30]
movs r1, #0x98
lsls r1, r1, #1
adds r0, r5, #0
bl sub_08077DF4
movs r0, #0x77
bl SoundReq
b _080754B4
_08075480:
ldrb r1, [r4, #0x1b]
adds r0, r3, #0
ands r0, r1
cmp r0, #0
bne _08075492
strb r6, [r4, #0x1b]
adds r0, r2, #0
bl sub_0806F948
_08075492:
ldr r1, [r4, #0x2c]
cmp r1, #0
beq _080754A6
ldrb r0, [r1, #9]
cmp r0, #1
beq _080754A6
adds r0, r1, #0
bl DeleteEntity
str r6, [r4, #0x2c]
_080754A6:
adds r0, r5, #0
adds r1, r7, #0
bl sub_08077D38
adds r0, r5, #0
bl sub_08077B98
_080754B4:
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
@@ -0,0 +1,564 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r7, r0, #0
ldrb r1, [r7, #0x10]
movs r0, #0x20
orrs r0, r1
strb r0, [r7, #0x10]
ldr r6, _0808564C @ =gPlayerEntity
adds r0, r7, #0
adds r1, r6, #0
movs r2, #0x18
bl sub_0806FC80
adds r1, r0, #0
cmp r1, #0
beq _080856EE
ldr r3, _08085650 @ =gPlayerState
ldr r0, [r3, #0x30]
movs r1, #2
orrs r0, r1
str r0, [r3, #0x30]
ldr r4, [r6, #0x34]
cmp r4, #0
beq _0808561C
b _080857CE
_0808561C:
adds r5, r3, #0
adds r5, #0x26
ldrb r0, [r5]
cmp r0, #0
beq _08085634
adds r2, r6, #0
adds r2, #0x3c
ldrb r1, [r2]
movs r0, #0xfb
ands r0, r1
strb r0, [r2]
strb r4, [r5]
_08085634:
adds r0, r3, #0
adds r0, #0x84
str r7, [r0]
adds r0, r7, #0
adds r0, #0x38
ldrb r0, [r0]
cmp r0, #1
bne _08085654
adds r0, r6, #0
bl ResetCollisionLayer
b _0808565A
.align 2, 0
_0808564C: .4byte gPlayerEntity
_08085650: .4byte gPlayerState
_08085654:
adds r0, r6, #0
bl sub_08004542
_0808565A:
ldrb r0, [r7, #0xf]
cmp r0, #0
bne _0808568C
movs r0, #4
strb r0, [r7, #0xf]
_08085664:
adds r0, r7, #0
movs r1, #8
movs r2, #0xa
bl sub_080A2AF4
ldrb r0, [r7, #0xf]
subs r0, #1
strb r0, [r7, #0xf]
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
cmp r2, #0
bne _08085664
movs r0, #1
strb r0, [r7, #0xf]
ldrb r1, [r7, #0xe]
movs r0, #0x80
orrs r0, r1
strb r0, [r7, #0xe]
str r2, [r7, #0x70]
str r2, [r7, #0x6c]
_0808568C:
ldr r2, _080856B8 @ =gPlayerState
ldrb r0, [r2, #0x1c]
cmp r0, #3
beq _08085696
b _080857CE
_08085696:
ldr r1, _080856BC @ =gUnk_08120620
ldrb r0, [r2, #0x1d]
subs r0, #1
lsls r0, r0, #2
adds r0, r0, r1
ldr r4, [r0]
ldr r0, _080856C0 @ =gPlayerEntity
ldrb r0, [r0, #0x14]
movs r1, #6
ands r1, r0
cmp r1, #2
beq _080856DE
cmp r1, #2
bgt _080856C4
cmp r1, #0
beq _080856D6
b _080857CE
.align 2, 0
_080856B8: .4byte gPlayerState
_080856BC: .4byte gUnk_08120620
_080856C0: .4byte gPlayerEntity
_080856C4:
cmp r1, #4
beq _080856CE
cmp r1, #6
beq _080856E6
b _080857CE
_080856CE:
ldr r0, [r7, #0x70]
subs r0, r0, r4
str r0, [r7, #0x70]
b _080857CE
_080856D6:
ldr r0, [r7, #0x70]
adds r0, r0, r4
str r0, [r7, #0x70]
b _080857CE
_080856DE:
ldr r0, [r7, #0x6c]
subs r0, r0, r4
str r0, [r7, #0x6c]
b _080857CE
_080856E6:
ldr r0, [r7, #0x6c]
adds r0, r0, r4
str r0, [r7, #0x6c]
b _080857CE
_080856EE:
ldrb r0, [r7, #0xf]
cmp r0, #0
beq _080856FC
strb r1, [r7, #0xf]
movs r0, #0x83
bl SoundReq
_080856FC:
adds r2, r7, #0
adds r2, #0x41
ldrb r1, [r2]
movs r0, #0x7f
ands r0, r1
mov r8, r2
cmp r0, #0x13
bne _080857C8
movs r0, #0x2e
ldrsh r1, [r6, r0]
ldr r3, _08085758 @ =gUnk_08126EE4
ldrb r2, [r6, #0x14]
movs r0, #0xe
ands r0, r2
adds r0, r0, r3
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
adds r5, r1, r0
movs r0, #0x32
ldrsh r1, [r6, r0]
movs r0, #1
orrs r0, r2
adds r0, r0, r3
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
adds r3, r1, r0
movs r1, #0x2e
ldrsh r0, [r7, r1]
movs r2, #0x32
ldrsh r1, [r7, r2]
adds r2, r5, #0
bl sub_080045D4
strb r0, [r7, #0x15]
ldr r0, _0808575C @ =gPlayerState
ldrb r0, [r0, #0x1d]
cmp r0, #2
beq _0808576A
cmp r0, #2
bgt _08085760
cmp r0, #1
beq _08085770
b _08085774
.align 2, 0
_08085758: .4byte gUnk_08126EE4
_0808575C: .4byte gPlayerState
_08085760:
cmp r0, #3
bne _08085774
movs r4, #0x80
lsls r4, r4, #3
b _08085774
_0808576A:
movs r4, #0xc0
lsls r4, r4, #2
b _08085774
_08085770:
movs r4, #0x80
lsls r4, r4, #2
_08085774:
ldr r6, _080858A8 @ =gSineTable
ldrb r0, [r7, #0x15]
lsls r0, r0, #4
adds r0, r0, r6
movs r1, #0
ldrsh r0, [r0, r1]
lsls r4, r4, #0x10
asrs r4, r4, #0x18
adds r1, r4, #0
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r5, #0x80
lsls r5, r5, #1
adds r1, r5, #0
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r7, #0x6c]
adds r1, r1, r0
str r1, [r7, #0x6c]
ldrb r0, [r7, #0x15]
lsls r0, r0, #4
adds r0, #0x80
adds r0, r0, r6
movs r2, #0
ldrsh r0, [r0, r2]
adds r1, r4, #0
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r5, #0
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r7, #0x70]
subs r1, r1, r0
str r1, [r7, #0x70]
_080857C8:
movs r0, #0
mov r1, r8
strb r0, [r1]
_080857CE:
ldr r0, [r7, #0x2c]
str r0, [r7, #0x54]
ldr r0, [r7, #0x30]
str r0, [r7, #0x50]
ldr r0, [r7, #0x6c]
cmp r0, #0
bne _080857E4
ldr r0, [r7, #0x70]
cmp r0, #0
bne _080857E4
b _080859F4
_080857E4:
ldr r0, [r7, #0x70]
ldr r1, _080858AC @ =0xFFFF0000
cmp r0, r1
blt _080857F4
movs r1, #0x80
lsls r1, r1, #9
cmp r0, r1
ble _080857F6
_080857F4:
str r1, [r7, #0x70]
_080857F6:
ldr r0, [r7, #0x6c]
ldr r1, _080858AC @ =0xFFFF0000
cmp r0, r1
blt _08085806
movs r1, #0x80
lsls r1, r1, #9
cmp r0, r1
ble _08085808
_08085806:
str r1, [r7, #0x6c]
_08085808:
ldr r0, _080858B0 @ =gRoomTransition
ldr r0, [r0]
movs r1, #0xf
ands r0, r1
cmp r0, #0
bne _0808581A
adds r0, r7, #0
bl sub_080A2AD4
_0808581A:
ldr r0, [r7, #0x2c]
ldr r1, [r7, #0x6c]
adds r5, r0, r1
ldr r1, [r7, #0x30]
ldr r2, [r7, #0x70]
adds r3, r1, r2
adds r2, r5, #0
bl sub_080045D4
strb r0, [r7, #0x15]
ldr r0, [r7, #0x6c]
lsls r0, r0, #8
asrs r0, r0, #0x10
movs r4, #0x80
lsls r4, r4, #1
adds r1, r4, #0
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
ldr r5, _080858A8 @ =gSineTable
ldrb r1, [r7, #0x15]
lsls r1, r1, #4
adds r1, r1, r5
movs r2, #0
ldrsh r1, [r1, r2]
bl FixedDiv
strh r0, [r7, #0x24]
ldr r0, [r7, #0x70]
lsls r0, r0, #8
asrs r0, r0, #0x10
adds r1, r4, #0
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
ldrb r1, [r7, #0x15]
lsls r1, r1, #4
adds r1, #0x80
adds r1, r1, r5
movs r2, #0
ldrsh r1, [r1, r2]
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #0x10
rsbs r4, r0, #0
movs r1, #0x24
ldrsh r0, [r7, r1]
cmp r4, r0
ble _08085884
strh r4, [r7, #0x24]
_08085884:
ldrb r0, [r7, #0xb]
cmp r0, #0
beq _080858BC
adds r0, r7, #0
adds r0, #0x7e
movs r2, #0
ldrsh r1, [r0, r2]
ldr r0, _080858B4 @ =0x00000FFF
cmp r1, r0
bgt _080858B8
movs r0, #0x24
ldrsh r1, [r7, r0]
lsls r1, r1, #0xc
ldr r0, [r7, #0x7c]
adds r0, r0, r1
str r0, [r7, #0x7c]
b _080858E0
.align 2, 0
_080858A8: .4byte gSineTable
_080858AC: .4byte 0xFFFF0000
_080858B0: .4byte gRoomTransition
_080858B4: .4byte 0x00000FFF
_080858B8:
movs r0, #0
b _080858DE
_080858BC:
adds r0, r7, #0
adds r0, #0x7e
movs r2, #0
ldrsh r1, [r0, r2]
ldr r0, _080858D8 @ =0xFFFFF000
cmp r1, r0
ble _080858DC
movs r0, #0x24
ldrsh r1, [r7, r0]
lsls r1, r1, #0xc
ldr r0, [r7, #0x7c]
subs r0, r0, r1
str r0, [r7, #0x7c]
b _080858E0
.align 2, 0
_080858D8: .4byte 0xFFFFF000
_080858DC:
movs r0, #1
_080858DE:
strb r0, [r7, #0xb]
_080858E0:
adds r0, r7, #0
bl sub_08085EFC
adds r0, r7, #0
bl sub_080AF134
ldr r1, [r7, #0x54]
ldr r0, [r7, #0x2c]
cmp r1, r0
bne _0808590C
adds r0, r7, #0
adds r0, #0x85
ldrb r1, [r0]
adds r2, r0, #0
cmp r1, #2
bne _08085906
movs r0, #0
str r0, [r7, #0x6c]
b _08085916
_08085906:
adds r0, r1, #1
strb r0, [r2]
b _08085916
_0808590C:
adds r1, r7, #0
adds r1, #0x85
movs r0, #0
strb r0, [r1]
adds r2, r1, #0
_08085916:
ldr r1, [r7, #0x50]
ldr r0, [r7, #0x30]
cmp r1, r0
bne _0808592E
ldrb r0, [r2]
cmp r0, #2
bne _0808592A
movs r0, #0
str r0, [r7, #0x70]
b _08085932
_0808592A:
adds r0, #1
b _08085930
_0808592E:
movs r0, #0
_08085930:
strb r0, [r2]
_08085932:
ldr r0, _0808595C @ =gPlayerState
ldr r0, [r0, #0x30]
movs r1, #2
ands r0, r1
cmp r0, #0
beq _08085944
adds r0, r7, #0
bl sub_08085F1C
_08085944:
ldr r1, [r7, #0x6c]
cmp r1, #0
beq _08085998
cmp r1, #0
bge _0808596E
movs r0, #0x80
rsbs r0, r0, #0
cmp r1, r0
ble _08085960
movs r0, #0
b _08085964
.align 2, 0
_0808595C: .4byte gPlayerState
_08085960:
adds r0, r1, #0
adds r0, #0x80
_08085964:
str r0, [r7, #0x6c]
ldrh r2, [r7, #0x2a]
movs r1, #0xe0
lsls r1, r1, #4
b _08085982
_0808596E:
cmp r1, #0x7f
bhi _08085976
movs r0, #0
b _0808597A
_08085976:
adds r0, r1, #0
subs r0, #0x80
_0808597A:
str r0, [r7, #0x6c]
ldrh r2, [r7, #0x2a]
movs r1, #0xe0
lsls r1, r1, #8
_08085982:
adds r0, r1, #0
ands r0, r2
cmp r0, r1
bne _08085998
ldr r0, [r7, #0x6c]
cmp r0, #0
bge _08085992
adds r0, #3
_08085992:
asrs r0, r0, #2
rsbs r0, r0, #0
str r0, [r7, #0x6c]
_08085998:
ldr r1, [r7, #0x70]
cmp r1, #0
beq _080859E6
cmp r1, #0
bge _080859C0
movs r0, #0x80
rsbs r0, r0, #0
cmp r1, r0
ble _080859AE
movs r0, #0
b _080859B2
_080859AE:
adds r0, r1, #0
adds r0, #0x80
_080859B2:
str r0, [r7, #0x70]
ldrh r1, [r7, #0x2a]
movs r0, #0xe
ands r0, r1
cmp r0, #0xe
bne _080859E6
b _080859D8
_080859C0:
cmp r1, #0x7f
bhi _080859C8
movs r0, #0
b _080859CC
_080859C8:
adds r0, r1, #0
subs r0, #0x80
_080859CC:
str r0, [r7, #0x70]
ldrh r1, [r7, #0x2a]
movs r0, #0xe0
ands r0, r1
cmp r0, #0xe0
bne _080859E6
_080859D8:
ldr r0, [r7, #0x70]
cmp r0, #0
bge _080859E0
adds r0, #3
_080859E0:
asrs r0, r0, #2
rsbs r0, r0, #0
str r0, [r7, #0x70]
_080859E6:
adds r0, r7, #0
bl sub_08085D28
adds r0, r7, #0
bl sub_08085D60
b _08085A0A
_080859F4:
ldr r0, _08085A18 @ =gRoomTransition
ldr r0, [r0]
movs r1, #0x1f
ands r0, r1
cmp r0, #0
bne _08085A0A
adds r0, r7, #0
movs r1, #8
movs r2, #0xa
bl sub_080A2AF4
_08085A0A:
adds r0, r7, #0
bl sub_08085F48
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08085A18: .4byte gRoomTransition
.syntax divided
@@ -0,0 +1,139 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r5, r0, #0
ldr r2, _08085D94 @ =gPlayerState
ldr r0, [r2, #0x30]
movs r1, #2
ands r0, r1
cmp r0, #0
beq _08085E64
adds r0, r2, #0
adds r0, #0xa8
ldrb r0, [r0]
cmp r0, #0x12
beq _08085E64
ldrb r0, [r2, #2]
cmp r0, #0
bne _08085E64
ldrb r1, [r5, #0x15]
movs r0, #7
ands r0, r1
cmp r0, #0
bne _08085D98
ldrb r6, [r5, #0x15]
adds r4, r6, #0
b _08085DB0
.align 2, 0
_08085D94: .4byte gPlayerState
_08085D98:
movs r0, #0x10
ands r0, r1
movs r4, #8
cmp r0, #0
beq _08085DA4
movs r4, #0x18
_08085DA4:
ldrb r0, [r5, #0x15]
subs r0, #8
movs r6, #0x10
cmp r0, #0x10
ble _08085DB0
movs r6, #0
_08085DB0:
cmp r4, #0x18
beq _08085DB8
cmp r4, #8
bne _08085E20
_08085DB8:
lsrs r3, r4, #2
ldr r1, _08085E10 @ =gUnk_08120638
adds r0, r3, r1
movs r7, #0
ldrsb r7, [r0, r7]
adds r0, r3, #1
adds r0, r0, r1
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
mov r8, r0
adds r0, r5, #0
adds r1, r7, #0
mov r2, r8
bl sub_080002CC
cmp r0, #0xff
bne _08085E20
movs r1, #0x2e
ldrsh r0, [r5, r1]
ldr r2, _08085E14 @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
adds r0, r0, r7
movs r3, #0x32
ldrsh r1, [r5, r3]
ldrh r2, [r2, #8]
subs r1, r1, r2
add r1, r8
adds r2, r4, #0
movs r3, #5
bl sub_080806BC
cmp r0, #0
bne _08085E1C
ldr r0, _08085E18 @ =gPlayerEntity
lsrs r1, r4, #3
bl sub_0807BD14
cmp r0, #0
beq _08085E20
strb r4, [r5, #0x15]
b _08085E52
.align 2, 0
_08085E10: .4byte gUnk_08120638
_08085E14: .4byte gRoomControls
_08085E18: .4byte gPlayerEntity
_08085E1C:
strb r4, [r5, #0x15]
b _08085E6C
_08085E20:
cmp r6, #0
beq _08085E28
cmp r6, #0x10
bne _08085E6C
_08085E28:
lsrs r3, r6, #2
ldr r2, _08085E5C @ =gUnk_08120638
adds r0, r3, r2
movs r1, #0
ldrsb r1, [r0, r1]
adds r0, r3, #1
adds r0, r0, r2
movs r2, #0
ldrsb r2, [r0, r2]
adds r0, r5, #0
bl sub_080002CC
cmp r0, #0xff
bne _08085E6C
ldr r0, _08085E60 @ =gPlayerEntity
lsrs r1, r6, #3
bl sub_0807BD14
cmp r0, #0
beq _08085E6C
strb r6, [r5, #0x15]
_08085E52:
adds r0, r5, #0
bl sub_08085E74
b _08085E6C
.align 2, 0
_08085E5C: .4byte gUnk_08120638
_08085E60: .4byte gPlayerEntity
_08085E64:
ldrb r1, [r5, #0x10]
movs r0, #0xdf
ands r0, r1
strb r0, [r5, #0x10]
_08085E6C:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
@@ -1,4 +0,0 @@
.syntax unified
bx lr
.align 2, 0
.syntax divided
@@ -1,38 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xf]
subs r0, #1
strb r0, [r4, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _080572CA
movs r0, #8
strb r0, [r4, #0xf]
ldr r2, _080572CC @ =gScreen
ldr r3, _080572D0 @ =gUnk_08107C1C
ldrb r0, [r4, #0xe]
adds r1, r0, #1
strb r1, [r4, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x17
adds r0, r0, r3
ldrh r0, [r0]
adds r2, #0x68
strh r0, [r2]
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
cmp r1, #0xa
bne _080572CA
movs r0, #1
strb r0, [r4, #0xc]
adds r1, r4, #0
adds r1, #0x22
movs r0, #0
strb r0, [r1]
_080572CA:
pop {r4, pc}
.align 2, 0
_080572CC: .4byte gScreen
_080572D0: .4byte gUnk_08107C1C
.syntax divided
@@ -1,45 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r3, r0, #0
ldrb r0, [r3, #0xf]
subs r0, #1
strb r0, [r3, #0xf]
lsls r0, r0, #0x18
cmp r0, #0
bne _08057320
movs r0, #8
strb r0, [r3, #0xf]
ldr r5, _08057324 @ =gScreen
ldr r2, _08057328 @ =gUnk_08107C1C
ldrb r0, [r3, #0xe]
adds r1, r0, #0
adds r1, #0xff
strb r1, [r3, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x17
adds r0, r0, r2
ldrh r2, [r0]
adds r0, r5, #0
adds r0, #0x68
movs r4, #0
strh r2, [r0]
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
cmp r1, #0xff
bne _08057320
movs r0, #1
strb r0, [r3, #0xc]
adds r0, r3, #0
adds r0, #0x22
strb r4, [r0]
subs r0, #1
strb r4, [r0]
adds r0, r5, #0
adds r0, #0x6c
strb r4, [r0]
_08057320:
pop {r4, r5, pc}
.align 2, 0
_08057324: .4byte gScreen
_08057328: .4byte gUnk_08107C1C
.syntax divided
@@ -1,58 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
adds r6, r0, #0
adds r5, r1, #0
ldr r2, _08057390 @ =gUnk_03003DE4
ldrb r1, [r2]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
ldr r1, _08057394 @ =gUnk_02017AA0
adds r4, r0, r1
movs r3, #0
mov ip, r2
mov r8, r1
ldr r0, _08057398 @ =gSineTable
mov sb, r0
movs r2, #0xff
ldr r1, _0805739C @ =gScreen
_08057354:
adds r0, r5, r3
ands r0, r2
lsls r0, r0, #1
add r0, sb
movs r7, #0
ldrsh r0, [r0, r7]
muls r0, r6, r0
lsrs r0, r0, #8
ldrh r7, [r1, #0x2e]
adds r0, r0, r7
strh r0, [r4]
adds r4, #2
adds r3, #1
cmp r3, #0x9f
bls _08057354
mov r0, ip
ldrb r1, [r0]
lsls r0, r1, #2
adds r0, r0, r1
lsls r0, r0, #9
add r0, r8
ldr r1, _080573A0 @ =0x0400001C
ldr r2, _080573A4 @ =0xA2600001
bl sub_0805622C
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08057390: .4byte gUnk_03003DE4
_08057394: .4byte gUnk_02017AA0
_08057398: .4byte gSineTable
_0805739C: .4byte gScreen
_080573A0: .4byte 0x0400001C
_080573A4: .4byte 0xA2600001
.syntax divided
-102
View File
@@ -1,102 +0,0 @@
.syntax unified
push {r4, r5, r6, lr}
adds r3, r0, #0
ldr r4, _08057504 @ =gScreen
movs r0, #0x10
strh r0, [r4, #0x2e]
ldr r0, _08057508 @ =gRoomControls
movs r2, #0xc
ldrsh r1, [r0, r2]
ldrh r0, [r0, #8]
subs r1, r1, r0
asrs r1, r1, #2
movs r2, #0x3f
adds r0, r1, #0
ands r0, r2
strh r0, [r4, #0x30]
cmp r1, #0
bge _08057474
adds r1, #0x3f
_08057474:
asrs r0, r1, #6
lsls r0, r0, #9
ldr r1, _0805750C @ =gBG3Buffer
adds r1, r0, r1
str r1, [r4, #0x34]
ldr r0, [r3, #0x34]
cmp r0, r1
beq _0805748A
str r1, [r3, #0x34]
movs r0, #1
strh r0, [r4, #0x32]
_0805748A:
adds r0, r3, #0
adds r0, #0x22
ldrb r0, [r0]
ldr r5, _08057510 @ =gRoomTransition
cmp r0, #0
bne _080574BE
ldr r0, [r5]
movs r1, #0x1f
ands r0, r1
cmp r0, #0
bne _080574BE
adds r2, r3, #0
adds r2, #0x24
ldrb r0, [r2]
adds r0, #1
movs r1, #7
ands r0, r1
strb r0, [r2]
ldr r1, _08057514 @ =gUnk_08107C30
ldrb r0, [r2]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r1, [r0]
adds r0, r4, #0
adds r0, #0x68
strh r1, [r0]
_080574BE:
ldr r0, [r5]
movs r1, #7
ands r0, r1
cmp r0, #0
bne _08057502
adds r0, r3, #0
adds r0, #0x23
ldrb r1, [r0]
lsls r1, r1, #5
ldr r2, _08057518 @ =gUnk_085B4180
adds r1, r1, r2
movs r5, #0
adds r6, r0, #0
adds r4, r1, #0
adds r4, #0xe
_080574DC:
adds r0, r5, #0
adds r0, #0x87
ldrh r1, [r4]
bl SetColor
adds r0, r5, #0
adds r0, #0x8c
ldrh r1, [r4, #0xa]
bl SetColor
adds r4, #2
adds r5, #1
cmp r5, #3
bls _080574DC
ldrb r0, [r6]
adds r0, #1
movs r1, #3
ands r0, r1
strb r0, [r6]
_08057502:
pop {r4, r5, r6, pc}
.align 2, 0
_08057504: .4byte gScreen
_08057508: .4byte gRoomControls
_0805750C: .4byte gBG3Buffer
_08057510: .4byte gRoomTransition
_08057514: .4byte gUnk_08107C30
_08057518: .4byte gUnk_085B4180
.syntax divided
@@ -34,7 +34,7 @@
adds r2, r2, r0
adds r0, r6, #0
movs r3, #8
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _080AA3D0
movs r0, #1
-60
View File
@@ -1,60 +0,0 @@
.syntax unified
push {r4, lr}
adds r4, r0, #0
ldr r2, _0803AB0C @ =gUnk_080CED6C
ldr r0, [r4, #0x50]
ldrb r0, [r0, #0xf]
lsrs r0, r0, #4
adds r0, #3
ldrb r1, [r4, #0xa]
lsls r1, r1, #1
adds r0, r0, r1
movs r1, #7
ands r0, r1
adds r0, r0, r2
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
adds r0, #4
strh r0, [r4, #0x36]
adds r0, r4, #0
bl sub_0803B870
cmp r0, #0
bne _0803AB0A
adds r0, r4, #0
bl LinearMoveUpdate
adds r0, r4, #0
bl sub_0803B6F4
cmp r0, #0
beq _0803AB0A
movs r0, #0x14
strb r0, [r4, #0xc]
movs r0, #0x40
strh r0, [r4, #0x24]
adds r0, r4, #0
movs r1, #0xa
bl InitializeAnimation
ldr r2, [r4, #0x74]
ldrb r1, [r2, #0x10]
movs r0, #0x80
orrs r0, r1
strb r0, [r2, #0x10]
ldr r2, [r4, #0x54]
adds r1, r2, #0
adds r1, #0x3f
movs r0, #0x13
strb r0, [r1]
adds r0, r2, #0
movs r1, #5
bl InitAnimationForceUpdate
movs r0, #0xb7
lsls r0, r0, #1
bl SoundReq
_0803AB0A:
pop {r4, pc}
.align 2, 0
_0803AB0C: .4byte gUnk_080CED6C
.syntax divided
@@ -95,7 +95,7 @@ _0809A25C:
ldrsh r1, [r7, r2]
ldrb r2, [r7, #0x15]
adds r0, r7, #0
bl sub_0806F62C
bl LinearMoveAngle
ldr r1, [r4]
ldrb r0, [r7, #0xe]
lsls r0, r0, #2
@@ -206,7 +206,7 @@ _0809A33E:
lsls r1, r1, #2
ldrb r2, [r7, #0x15]
adds r0, r7, #0
bl sub_0806F62C
bl LinearMoveAngle
ldr r1, [r7, #0x50]
adds r0, r7, #0
movs r2, #0x48
@@ -216,7 +216,7 @@ _0809A378:
ldrb r2, [r7, #0x15]
adds r0, r7, #0
movs r1, #0x80
bl sub_0806F62C
bl LinearMoveAngle
adds r0, r7, #0
adds r0, #0x5a
ldrb r0, [r0]
@@ -335,7 +335,7 @@ _0809A436:
ldrh r3, [r3]
adds r2, r2, r3
adds r0, r7, #0
bl sub_0806F62C
bl LinearMoveAngle
b _0809A632
.align 2, 0
_0809A468: .4byte gUnk_0812388C
@@ -1,334 +0,0 @@
.syntax unified
.ifdef EU
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
mov r8, r0
adds r2, r1, #0
ldr r4, _0806E3F8 @ =gInput
ldrh r1, [r4, #2]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0806E3FC
bl sub_08050384
b _0806E4EA
.align 2, 0
_0806E3F8: .4byte gInput
_0806E3FC:
ldrb r0, [r2, #0x18]
adds r1, r0, #0
mov r6, r8
adds r6, #0x6c
cmp r1, #0
bne _0806E414
adds r0, #1
strb r0, [r2, #0x18]
strh r1, [r6]
mov r0, r8
bl sub_0806EABC
_0806E414:
ldrh r2, [r4, #4]
movs r0, #0xc0
ands r0, r2
cmp r0, #0
beq _0806E466
mov r1, r8
adds r1, #0x68
movs r0, #0
ldrsh r4, [r1, r0]
movs r0, #0x40
ands r0, r2
adds r7, r1, #0
cmp r0, #0
beq _0806E434
adds r4, #1
b _0806E436
_0806E434:
subs r4, #1
_0806E436:
cmp r4, #0
bgt _0806E43C
movs r4, #1
_0806E43C:
movs r5, #0x1c
movs r0, #0x55
bl CheckGlobalFlag
cmp r0, #0
beq _0806E44A
movs r5, #0x34
_0806E44A:
cmp r4, r5
ble _0806E450
adds r4, r5, #0
_0806E450:
strh r4, [r7]
mov r0, r8
bl sub_0806EABC
ldrh r1, [r6]
movs r2, #0
ldrsh r0, [r6, r2]
cmp r0, #0
ble _0806E466
subs r0, r1, #1
strh r0, [r6]
_0806E466:
ldr r0, _0806E4B4 @ =gInput
ldrh r1, [r0, #2]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _0806E4C6
mov r5, r8
adds r5, #0x68
mov r7, r8
adds r7, #0x6a
movs r0, #0
ldrsh r1, [r5, r0]
movs r2, #0
ldrsh r0, [r7, r2]
cmp r1, r0
bne _0806E48E
movs r1, #0
ldrsh r0, [r6, r1]
cmp r0, #0
bne _0806E4BC
_0806E48E:
ldr r4, _0806E4B8 @ =gUnk_081145E4
movs r2, #0
ldrsh r0, [r5, r2]
lsls r0, r0, #2
adds r0, r0, r4
movs r1, #0
ldrsh r0, [r0, r1]
bl SoundReq
ldrh r0, [r5]
strh r0, [r7]
movs r2, #0
ldrsh r0, [r5, r2]
lsls r0, r0, #2
adds r4, #2
adds r0, r0, r4
ldrh r0, [r0]
strh r0, [r6]
b _0806E4C6
.align 2, 0
_0806E4B4: .4byte gInput
_0806E4B8: .4byte gUnk_081145E4
_0806E4BC:
ldr r0, _0806E4F0 @ =0x80010000
bl SoundReq
movs r0, #0
strh r0, [r7]
_0806E4C6:
ldrh r1, [r6]
movs r2, #0
ldrsh r0, [r6, r2]
cmp r0, #0
ble _0806E4E4
subs r0, r1, #1
movs r1, #0
strh r0, [r6]
lsls r0, r0, #0x10
cmp r0, #0
bgt _0806E4E4
mov r0, r8
adds r0, #0x6a
strh r1, [r0]
strh r1, [r6]
_0806E4E4:
ldr r1, _0806E4F4 @ =gActiveScriptInfo
movs r0, #0
strb r0, [r1, #6]
_0806E4EA:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0806E4F0: .4byte 0x80010000
_0806E4F4: .4byte gActiveScriptInfo
.else
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
mov sb, r0
adds r2, r1, #0
ldr r0, _0806E984 @ =gInput
mov r8, r0
ldrh r1, [r0, #2]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0806E988
bl sub_08050384
b _0806EAAA
.align 2, 0
_0806E984: .4byte gInput
_0806E988:
ldrb r0, [r2, #0x18]
adds r1, r0, #0
mov r6, sb
adds r6, #0x6c
mov r7, sb
adds r7, #0x68
cmp r1, #0
bne _0806E9A8
adds r0, #1
strb r0, [r2, #0x18]
strh r1, [r6]
movs r2, #0
ldrsh r1, [r7, r2]
mov r0, sb
bl sub_0806EABC
_0806E9A8:
movs r5, #0x1c
movs r0, #0x55
bl CheckGlobalFlag
cmp r0, #0
beq _0806E9B6
movs r5, #0x34
_0806E9B6:
movs r0, #0
ldrsh r4, [r7, r0]
mov r2, r8
ldrh r1, [r2, #2]
movs r2, #0xc0
adds r0, r2, #0
ands r0, r1
cmp r0, #0
beq _0806E9E4
movs r0, #0x40
ands r0, r1
cmp r0, #0
beq _0806E9D4
adds r4, #1
b _0806E9D6
_0806E9D4:
subs r4, #1
_0806E9D6:
cmp r4, #0
bgt _0806E9DC
adds r4, r5, #0
_0806E9DC:
cmp r4, r5
ble _0806EA0A
movs r4, #1
b _0806EA0A
_0806E9E4:
mov r0, r8
ldrh r1, [r0, #4]
adds r0, r2, #0
ands r0, r1
cmp r0, #0
beq _0806EA0A
movs r0, #0x40
ands r0, r1
cmp r0, #0
beq _0806E9FC
adds r4, #1
b _0806E9FE
_0806E9FC:
subs r4, #1
_0806E9FE:
cmp r4, #0
bgt _0806EA04
movs r4, #1
_0806EA04:
cmp r4, r5
ble _0806EA0A
adds r4, r5, #0
_0806EA0A:
movs r1, #0
ldrsh r0, [r7, r1]
cmp r4, r0
beq _0806EA28
mov r0, sb
adds r1, r4, #0
bl sub_0806EABC
ldrh r1, [r6]
movs r2, #0
ldrsh r0, [r6, r2]
cmp r0, #0
ble _0806EA28
subs r0, r1, #1
strh r0, [r6]
_0806EA28:
strh r4, [r7]
ldr r0, _0806EA74 @ =gInput
ldrh r1, [r0, #2]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _0806EA86
mov r5, sb
adds r5, #0x6a
lsls r0, r4, #0x10
asrs r0, r0, #0x10
movs r2, #0
ldrsh r1, [r5, r2]
cmp r0, r1
bne _0806EA4E
movs r1, #0
ldrsh r0, [r6, r1]
cmp r0, #0
bne _0806EA7C
_0806EA4E:
ldr r4, _0806EA78 @ =gUnk_081145E4
movs r2, #0
ldrsh r0, [r7, r2]
lsls r0, r0, #2
adds r0, r0, r4
movs r1, #0
ldrsh r0, [r0, r1]
bl SoundReq
ldrh r0, [r7]
strh r0, [r5]
movs r2, #0
ldrsh r0, [r7, r2]
lsls r0, r0, #2
adds r4, #2
adds r0, r0, r4
ldrh r0, [r0]
strh r0, [r6]
b _0806EA86
.align 2, 0
_0806EA74: .4byte gInput
_0806EA78: .4byte gUnk_081145E4
_0806EA7C:
ldr r0, _0806EAB4 @ =0x80010000
bl SoundReq
movs r0, #0
strh r0, [r5]
_0806EA86:
ldrh r1, [r6]
movs r2, #0
ldrsh r0, [r6, r2]
cmp r0, #0
ble _0806EAA4
subs r0, r1, #1
movs r1, #0
strh r0, [r6]
lsls r0, r0, #0x10
cmp r0, #0
bgt _0806EAA4
mov r0, sb
adds r0, #0x6a
strh r1, [r0]
strh r1, [r6]
_0806EAA4:
ldr r1, _0806EAB8 @ =gActiveScriptInfo
movs r0, #0
strb r0, [r1, #6]
_0806EAAA:
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0806EAB4: .4byte 0x80010000
_0806EAB8: .4byte gActiveScriptInfo
.endif
.syntax divided
-544
View File
@@ -1,544 +0,0 @@
.syntax unified
.text
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
ldr r6, _080707F0 @ =gPlayerState
adds r3, r6, #0
adds r3, #0xa8
movs r4, #0
strb r4, [r3]
ldr r1, [r6, #0x30]
movs r7, #0x10
adds r0, r1, #0
ands r0, r7
mov ip, r6
cmp r0, #0
beq _08070818
adds r2, r5, #0
adds r2, #0x29
ldrb r1, [r2]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r1
strb r0, [r2]
adds r0, r5, #0
adds r0, #0x42
strb r4, [r0]
movs r0, #0xa0
lsls r0, r0, #1
strh r0, [r5, #0x24]
movs r0, #0x80
strb r0, [r6, #6]
strb r7, [r3]
ldrb r0, [r5, #0x14]
lsrs r0, r0, #1
adds r0, #0x5c
adds r1, r5, #0
adds r1, #0x58
ldrb r1, [r1]
cmp r0, r1
bne _080707F8
ldrh r0, [r5, #0x12]
cmp r0, #2
bne _080707F8
ldr r0, _080707F4 @ =gPlayerEntity
bl UpdateAnimationSingleFrame
b _08070800
.align 2, 0
_080707F0: .4byte gPlayerState
_080707F4: .4byte gPlayerEntity
_080707F8:
movs r0, #0x97
lsls r0, r0, #2
mov r1, ip
strh r0, [r1, #8]
_08070800:
ldr r0, _08070814 @ =gPlayerEntity
bl sub_0806F948
bl ResetPlayer
adds r0, r5, #0
bl sub_08077698
b _08070BE4
.align 2, 0
_08070814: .4byte gPlayerEntity
_08070818:
movs r0, #0x80
lsls r0, r0, #5
ands r0, r1
cmp r0, #0
beq _08070842
adds r1, r5, #0
adds r1, #0x40
movs r0, #0x1e
strb r0, [r1]
movs r0, #0xc
strb r0, [r3]
movs r1, #0
movs r2, #0x24
ldrsh r0, [r5, r2]
cmp r0, #0
bne _0807083A
movs r1, #1
_0807083A:
adds r0, r5, #0
bl sub_08070BEC
b _08070BE4
_08070842:
movs r4, #0x80
lsls r4, r4, #0xc
ands r4, r1
cmp r4, #0
beq _08070852
bl ResolvePlayerAnimation
b _08070BE4
_08070852:
adds r0, r5, #0
bl sub_080085B0
adds r0, r5, #0
adds r0, #0x40
strb r4, [r0]
bl RunQueuedAction
cmp r0, #0
beq _08070868
b _08070BE4
_08070868:
adds r0, r6, #0
adds r0, #0x26
ldrb r0, [r0]
cmp r0, #0
bne _080708AC
ldrb r1, [r6, #2]
movs r2, #0xc0
adds r0, r2, #0
ands r0, r1
cmp r0, #0
bne _080708AC
ldrb r0, [r6, #3]
cmp r0, #0
bne _0807088E
adds r0, r6, #0
adds r0, #0x21
ldrb r0, [r0]
cmp r0, #0
beq _08070892
_0807088E:
strh r2, [r5, #0x24]
b _080708AC
_08070892:
ldrb r0, [r6, #0x1b]
cmp r0, #0
beq _0807089C
movs r0, #0xe0
b _080708AA
_0807089C:
ldrb r0, [r6, #0x1c]
cmp r0, #0
beq _080708A6
movs r0, #0x80
b _080708AA
_080708A6:
movs r0, #0xa0
lsls r0, r0, #1
_080708AA:
strh r0, [r5, #0x24]
_080708AC:
ldr r4, _08070918 @ =gPlayerState
ldrb r0, [r4, #6]
movs r1, #0x80
orrs r1, r0
strb r1, [r4, #6]
ldr r0, [r4, #0x30]
ldr r6, _0807091C @ =0x10000002
ands r0, r6
cmp r0, #0
bne _080708C4
bl UpdateFloorType
_080708C4:
bl RunQueuedAction
cmp r0, #0
beq _080708CE
b _08070BE4
_080708CE:
ldrb r0, [r4, #2]
cmp r0, #0
beq _080708D6
b _080709D8
_080708D6:
ldr r0, [r4, #0x30]
movs r1, #0x80
lsls r1, r1, #3
ands r0, r1
cmp r0, #0
beq _080708E4
b _080709D8
_080708E4:
adds r0, r5, #0
adds r0, #0x42
ldrb r0, [r0]
cmp r0, #0
bne _08070924
bl sub_080782C0
cmp r0, #0
beq _08070924
ldr r0, _08070920 @ =gRoomVars
ldrb r0, [r0, #6]
cmp r0, #0
bne _08070902
bl ResetPlayer
_08070902:
ldr r0, [r4, #0x30]
ands r0, r6
cmp r0, #0
beq _0807090C
b _08070BE4
_0807090C:
bl UpdateFloorType
bl RunQueuedAction
b _08070BE4
.align 2, 0
_08070918: .4byte gPlayerState
_0807091C: .4byte 0x10000002
_08070920: .4byte gRoomVars
_08070924:
ldr r0, _0807094C @ =gPlayerState
ldr r1, [r0, #0x30]
ldr r2, _08070950 @ =0x00041635
ands r1, r2
adds r0, #0xaa
ldrb r0, [r0]
orrs r1, r0
cmp r1, #0
bne _080709D8
bl UpdatePlayerCollision
cmp r0, #0xf
bls _08070940
b _08070BE4
_08070940:
lsls r0, r0, #2
ldr r1, _08070954 @ =_08070958
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0807094C: .4byte gPlayerState
_08070950: .4byte 0x00041635
_08070954: .4byte _08070958
_08070958: @ jump table
.4byte _08070998 @ case 0
.4byte _08070BE4 @ case 1
.4byte _08070BE4 @ case 2
.4byte _080709A8 @ case 3
.4byte _080709C2 @ case 4
.4byte _08070BE4 @ case 5
.4byte _08070BE4 @ case 6
.4byte _08070BE4 @ case 7
.4byte _08070BE4 @ case 8
.4byte _08070BE4 @ case 9
.4byte _08070BE4 @ case 10
.4byte _08070BE4 @ case 11
.4byte _08070BE4 @ case 12
.4byte _08070BE4 @ case 13
.4byte _08070BE4 @ case 14
.4byte _080709B4 @ case 15
_08070998:
ldr r0, _080709A4 @ =gPlayerState
ldrb r1, [r0, #6]
movs r2, #0x80
eors r1, r2
strb r1, [r0, #6]
b _080709D8
.align 2, 0
_080709A4: .4byte gPlayerState
_080709A8:
ldr r1, _080709B0 @ =gPlayerState
movs r0, #0x80
strb r0, [r1, #6]
b _080709D8
.align 2, 0
_080709B0: .4byte gPlayerState
_080709B4:
ldrb r1, [r5, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r5, #0x10]
bl sub_080797EC
b _08070BE4
_080709C2:
ldr r0, _080709D4 @ =gPlayerState
ldrb r1, [r0, #6]
movs r2, #0x80
eors r1, r2
strb r1, [r0, #6]
bl sub_080797EC
b _08070BE4
.align 2, 0
_080709D4: .4byte gPlayerState
_080709D8:
adds r1, r5, #0
adds r1, #0x3c
movs r0, #0
strb r0, [r1]
adds r6, r5, #0
adds r6, #0x29
ldrb r1, [r6]
subs r0, #8
ands r0, r1
movs r1, #4
orrs r0, r1
strb r0, [r6]
adds r0, r5, #0
bl sub_0807AC54
cmp r0, #0
beq _080709FC
b _08070BE4
_080709FC:
adds r0, r5, #0
bl sub_08077698
bl RunQueuedAction
cmp r0, #0
beq _08070A0C
b _08070BE4
_08070A0C:
bl sub_080792D8
ldr r4, _08070A78 @ =gPlayerState
ldrb r1, [r4, #2]
ldrb r0, [r4, #0xa]
orrs r0, r1
cmp r0, #0
bne _08070A32
bl sub_08079550
cmp r0, #0
beq _08070A26
b _08070BE4
_08070A26:
adds r0, r5, #0
bl sub_08078F74
cmp r0, #0
beq _08070A32
b _08070BE4
_08070A32:
adds r0, r5, #0
bl DoJump
bl RunQueuedAction
cmp r0, #0
beq _08070A42
b _08070BE4
_08070A42:
ldrb r2, [r4, #2]
cmp r2, #0
beq _08070AAC
adds r1, r4, #0
adds r1, #0xa8
movs r0, #0x14
strb r0, [r1]
movs r0, #0xc0
ands r0, r2
cmp r0, #0
bne _08070A80
movs r0, #7
ands r0, r2
cmp r0, #3
beq _08070A7C
movs r0, #0x20
ands r0, r2
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0
bne _08070A7C
strh r0, [r5, #0x24]
adds r0, r5, #0
bl sub_08008926
b _08070A80
.align 2, 0
_08070A78: .4byte gPlayerState
_08070A7C:
movs r0, #0xff
strb r0, [r5, #0x15]
_08070A80:
bl UpdatePlayerMovement
adds r0, r5, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _08070A94
b _08070BE4
_08070A94:
ldr r0, _08070AA8 @ =gPlayerState
ldrb r0, [r0, #4]
cmp r0, #0
beq _08070A9E
b _08070BE4
_08070A9E:
adds r0, r5, #0
bl UpdateAnimationSingleFrame
b _08070BE4
.align 2, 0
_08070AA8: .4byte gPlayerState
_08070AAC:
adds r0, r5, #0
adds r0, #0x42
ldrb r1, [r0]
adds r7, r0, #0
cmp r1, #0
beq _08070ABA
b _08070BBC
_08070ABA:
adds r0, r4, #0
adds r0, #0x26
ldrb r0, [r0]
cmp r0, #0
beq _08070AD4
adds r1, r4, #0
adds r1, #0xa8
movs r0, #7
strb r0, [r1]
adds r0, r5, #0
bl sub_0807ACCC
b _08070B56
_08070AD4:
ldr r0, [r4, #0x30]
movs r1, #0x80
lsls r1, r1, #0x12
ands r0, r1
cmp r0, #0
bne _08070AEE
ldrb r0, [r6]
movs r1, #0x39
rsbs r1, r1, #0
ands r1, r0
movs r0, #8
orrs r1, r0
strb r1, [r6]
_08070AEE:
ldrb r1, [r4, #0x1e]
movs r0, #0x40
ands r0, r1
cmp r0, #0
beq _08070B00
adds r0, r5, #0
bl sub_08008AA0
b _08070B1E
_08070B00:
ldrb r0, [r4, #0x12]
cmp r0, #0x17
bne _08070B0E
adds r0, r5, #0
bl sub_08008926
b _08070B1E
_08070B0E:
cmp r0, #1
bne _08070B18
bl ResetPlayerVelocity
b _08070B1E
_08070B18:
adds r0, r5, #0
bl sub_08008AA0
_08070B1E:
ldr r2, _08070BB8 @ =gPlayerState
ldrb r1, [r2, #0x1b]
movs r0, #0x10
ands r0, r1
cmp r0, #0
bne _08070B56
ldrb r3, [r2, #0xd]
strb r3, [r5, #0x15]
ldr r0, [r2, #0x30]
movs r1, #0x80
lsls r1, r1, #3
ands r0, r1
cmp r0, #0
beq _08070B56
movs r0, #0xc0
lsls r0, r0, #2
strh r0, [r5, #0x24]
movs r0, #0x80
ands r0, r3
cmp r0, #0
beq _08070B52
ldrb r1, [r5, #0x14]
movs r0, #0xe
ands r0, r1
lsls r0, r0, #2
strb r0, [r5, #0x15]
_08070B52:
bl DeleteClones
_08070B56:
movs r4, #0
ldr r3, _08070BB8 @ =gPlayerState
ldrb r2, [r3, #7]
ldrb r0, [r5, #0x15]
orrs r0, r2
movs r1, #0x80
ands r0, r1
ldrb r1, [r3, #0xa]
orrs r0, r1
cmp r0, #0
bne _08070B8E
movs r0, #0x10
ands r0, r2
cmp r0, #0
bne _08070B8E
movs r4, #1
ldrb r0, [r7]
cmp r0, #0
bne _08070B8E
ldrb r1, [r3, #0x1e]
movs r0, #0x40
ands r0, r1
cmp r0, #0
bne _08070B8C
ldrb r0, [r3, #0x12]
cmp r0, #0x17
beq _08070B8E
_08070B8C:
movs r4, #3
_08070B8E:
adds r0, r5, #0
adds r1, r4, #0
bl sub_08070BEC
adds r0, r5, #0
bl sub_08008AC6
ldrb r0, [r7]
cmp r0, #0
bne _08070BE4
ldr r1, _08070BB8 @ =gPlayerState
ldrb r0, [r1, #0xb]
cmp r0, #0
bne _08070BE4
ldrb r0, [r1, #0x12]
cmp r0, #0x1e
beq _08070BE4
adds r0, r5, #0
bl sub_0806F948
b _08070BE4
.align 2, 0
_08070BB8: .4byte gPlayerState
_08070BBC:
ldr r0, [r4, #0x2c]
cmp r0, #0
bne _08070BC8
adds r0, r5, #0
bl UpdateAnimationSingleFrame
_08070BC8:
adds r0, r4, #0
adds r0, #0x26
ldrb r0, [r0]
cmp r0, #0
beq _08070BE4
ldr r0, _08070BE8 @ =gRoomTransition
ldr r0, [r0]
movs r1, #7
ands r0, r1
cmp r0, #0
bne _08070BE4
adds r0, r5, #0
bl CreateWaterTrace
_08070BE4:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08070BE8: .4byte gRoomTransition
.syntax divided
@@ -141,7 +141,7 @@ _08070280:
adds r4, r5, #0
adds r4, #0x38
ldrb r1, [r4]
bl sub_080001DA
bl GetTileIndex
str r0, [r5, #0x7c]
adds r0, r5, #0
movs r1, #0x14
@@ -21,7 +21,7 @@
adds r1, r4, #0
adds r1, #0x38
ldrb r1, [r1]
bl sub_080001DA
bl GetTileIndex
adds r1, r0, #0
ldr r0, _08070408 @ =0x00004021
cmp r1, r0
@@ -1,3 +1,108 @@
.ifdef EU
.syntax unified
push {r4, r5, lr}
adds r4, r0, #0
ldr r3, _0801B564 @ =gPlayerState
str r4, [r3, #0x2c]
movs r2, #0
movs r0, #1
strb r0, [r4, #0xc]
ldr r0, _0801B568 @ =gUnk_081271CC
str r0, [r4, #0x48]
movs r0, #0xff
strb r0, [r4, #0x1e]
adds r0, r4, #0
adds r0, #0x80
strb r2, [r0]
ldr r5, _0801B56C @ =gPlayerEntity
adds r0, r5, #0
adds r0, #0x60
ldrh r1, [r0]
adds r0, r4, #0
adds r0, #0x60
strh r1, [r0]
adds r1, r4, #0
adds r1, #0x58
movs r0, #0xb
strb r0, [r1]
str r5, [r4, #0x50]
adds r0, r4, #0
adds r0, #0x86
strh r2, [r0]
ldrb r1, [r4, #0x14]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0801B550
ldrb r0, [r5, #0x18]
lsls r0, r0, #0x19
lsrs r0, r0, #0x1f
movs r1, #1
bics r1, r0
lsls r1, r1, #6
ldrb r2, [r4, #0x18]
movs r0, #0x41
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x18]
_0801B550:
adds r0, r4, #0
adds r0, #0x68
ldrb r0, [r0]
cmp r0, #0xc
bne _0801B570
movs r0, #0xa0
lsls r0, r0, #2
strh r0, [r4, #0x24]
movs r0, #0x3c
b _0801B578
.align 2, 0
_0801B564: .4byte gPlayerState
_0801B568: .4byte gUnk_081271CC
_0801B56C: .4byte gPlayerEntity
_0801B570:
movs r0, #0x80
lsls r0, r0, #2
strh r0, [r4, #0x24]
movs r0, #0x1e
_0801B578:
strb r0, [r4, #0xe]
ldrb r1, [r3, #0xd]
movs r0, #0xd
ldrsb r0, [r3, r0]
cmp r0, #0
blt _0801B588
strb r1, [r4, #0x15]
b _0801B58E
_0801B588:
ldrb r0, [r4, #0x14]
lsls r0, r0, #2
strb r0, [r4, #0x15]
_0801B58E:
ldrb r0, [r4, #0x15]
adds r1, r4, #0
adds r1, #0x83
strb r0, [r1]
adds r0, r4, #0
adds r0, #0x38
ldrb r0, [r0]
cmp r0, #2
bne _0801B5A4
movs r0, #1
strb r0, [r4, #0xb]
_0801B5A4:
adds r0, r4, #0
movs r1, #1
movs r2, #3
bl LoadSwapGFX
adds r0, r4, #0
bl sub_0801766C
adds r0, r4, #0
bl sub_0801B584
pop {r4, r5, pc}
.syntax divided
.else
.syntax unified
push {r4, r5, lr}
adds r4, r0, #0
@@ -95,3 +200,4 @@ _0801B56C:
bl sub_0801B584
pop {r4, r5, pc}
.syntax divided
.endif
@@ -0,0 +1,59 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
movs r5, #0
ldrh r1, [r0, #0x2e]
subs r1, #8
lsls r1, r1, #0x10
lsrs r1, r1, #0x10
mov ip, r1
ldrh r1, [r0, #0x32]
subs r1, #8
lsls r1, r1, #0x10
lsrs r7, r1, #0x10
movs r4, #0
ldr r1, _080889A0 @ =gRoomVars
ldr r2, _080889A4 @ =sSpriteOffsets
mov r8, r2
adds r3, r1, #0
adds r3, #0xac
adds r6, r0, #0
adds r6, #0x72
_08088962:
ldr r2, [r3]
cmp r2, #0
beq _08088990
ldrh r0, [r2, #0x2e]
mov r1, ip
subs r0, r0, r1
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
cmp r0, #0x10
bhi _08088990
ldrh r0, [r2, #0x32]
subs r0, r0, r7
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
cmp r0, #0x10
bhi _08088990
ldrb r0, [r6]
add r0, r8
ldrb r1, [r0]
adds r0, r2, #0
adds r0, #0x63
strb r1, [r0]
adds r5, #1
_08088990:
adds r3, #4
adds r4, #1
cmp r4, #7
bls _08088962
adds r0, r5, #0
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080889A0: .4byte gRoomVars
_080889A4: .4byte sSpriteOffsets
.syntax divided
-6
View File
@@ -1,10 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
+210
View File
@@ -1,3 +1,212 @@
.ifdef EU
.syntax unified
push {r4, r5, r6, r7, lr}
sub sp, #0x20
adds r6, r0, #0
adds r3, r1, #0
ldr r0, _08054138 @ =gRoomVars
ldrb r0, [r0, #2]
cmp r0, #1
bne _08054126
b _080542CC
_08054126:
ldr r2, _0805413C @ =gUnk_08001A1C
movs r4, #0
cmp r3, #0x18
bhi _080541BC
lsls r0, r3, #2
ldr r1, _08054140 @ =_08054144
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08054138: .4byte gRoomVars
_0805413C: .4byte gUnk_08001A1C
_08054140: .4byte _08054144
_08054144: @ jump table
.4byte _080541BC @ case 0
.4byte _080541A8 @ case 1
.4byte _080541A8 @ case 2
.4byte _080541A8 @ case 3
.4byte _080541A8 @ case 4
.4byte _080541A8 @ case 5
.4byte _080541A8 @ case 6
.4byte _080541A8 @ case 7
.4byte _080541A8 @ case 8
.4byte _080541A8 @ case 9
.4byte _080541A8 @ case 10
.4byte _080541A8 @ case 11
.4byte _080541A8 @ case 12
.4byte _080541BC @ case 13
.4byte _080541BC @ case 14
.4byte _080541BA @ case 15
.4byte _080541B4 @ case 16
.4byte _080541B4 @ case 17
.4byte _080541B4 @ case 18
.4byte _080541B4 @ case 19
.4byte _080541B4 @ case 20
.4byte _080541B4 @ case 21
.4byte _080541B4 @ case 22
.4byte _080541B4 @ case 23
.4byte _080541B4 @ case 24
_080541A8:
lsls r1, r3, #5
ldr r0, _080541B0 @ =gUnk_0800137C
adds r4, r1, r0
b _080541BC
.align 2, 0
_080541B0: .4byte gUnk_0800137C
_080541B4:
lsls r1, r3, #5
ldr r0, _080541D0 @ =gUnk_0800161C
adds r2, r1, r0
_080541BA:
ldr r4, _080541D4 @ =gUnk_02034398
_080541BC:
cmp r4, #0
bne _080541C2
b _080542CC
_080541C2:
ldr r0, _080541D8 @ =gSave
adds r0, #0xb3
ldrb r1, [r0]
cmp r1, #0
bne _080541E0
ldr r3, _080541DC @ =gUnk_08001A1C
b _080541E6
.align 2, 0
_080541D0: .4byte gUnk_0800161C
_080541D4: .4byte gUnk_02034398
_080541D8: .4byte gSave
_080541DC: .4byte gUnk_08001A1C
_080541E0:
lsls r1, r1, #5
ldr r0, _080542BC @ =0x080014E4
adds r3, r1, r0
_080541E6:
mov r0, sp
adds r1, r4, #0
bl sub_08000F14
ldr r4, _080542C0 @ =gSave
adds r0, r4, #0
adds r0, #0xaa
ldrb r0, [r0]
cmp r0, #8
bhi _08054204
mov r1, sp
mov r0, sp
ldrh r0, [r0, #8]
adds r0, #5
strh r0, [r1, #8]
_08054204:
adds r0, r4, #0
adds r0, #0xac
ldrb r0, [r0]
cmp r0, #0
bne _08054218
mov r1, sp
mov r0, sp
ldrh r0, [r0, #0xc]
adds r0, #3
strh r0, [r1, #0xc]
_08054218:
adds r0, r4, #0
adds r0, #0xad
ldrb r0, [r0]
cmp r0, #0
bne _0805422C
mov r1, sp
mov r0, sp
ldrh r0, [r0, #0xe]
adds r0, #3
strh r0, [r1, #0xe]
_0805422C:
adds r0, r4, #0
adds r0, #0xc0
ldrh r0, [r0]
cmp r0, #0xa
bhi _08054240
mov r1, sp
mov r0, sp
ldrh r0, [r0, #4]
adds r0, #1
strh r0, [r1, #4]
_08054240:
ldr r2, _080542C4 @ =gUnk_08001A1C
adds r0, r4, #0
adds r0, #0xbb
ldrb r0, [r0]
adds r3, r2, #0
cmp r0, #0
beq _08054250
adds r2, #0x20
_08054250:
movs r1, #0x8b
lsls r1, r1, #1
adds r0, r4, r1
ldrb r0, [r0]
cmp r0, #0
beq _0805425E
adds r3, #0x40
_0805425E:
mov r0, sp
mov r1, sp
bl sub_08000F2C
adds r4, r0, #0
bl Random
adds r2, r0, #0
asrs r5, r2, #0x18
movs r0, #0xf
ands r5, r0
adds r0, r2, #0
adds r1, r4, #0
bl __modsi3
adds r2, r0, #0
movs r3, #0
lsls r0, r5, #1
add r0, sp
movs r4, #0
ldrsh r1, [r0, r4]
cmp r1, r2
bgt _080542A6
movs r4, #0xf
_0805428E:
adds r3, #1
adds r5, #1
ands r5, r4
cmp r3, #0xf
bhi _080542A6
lsls r0, r5, #1
add r0, sp
movs r7, #0
ldrsh r0, [r0, r7]
adds r1, r1, r0
cmp r1, r2
ble _0805428E
_080542A6:
ldr r0, _080542C8 @ =gUnk_080FE1B4
adds r0, r5, r0
ldrb r1, [r0]
cmp r1, #0
beq _080542CC
adds r0, r6, #0
movs r2, #0
bl CreateItemDrop
b _080542CE
.align 2, 0
_080542BC: .4byte 0x080014E4
_080542C0: .4byte gSave
_080542C4: .4byte gUnk_08001A1C
_080542C8: .4byte gUnk_080FE1B4
_080542CC:
movs r0, #0
_080542CE:
add sp, #0x20
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
.else
.syntax unified
push {r4, r5, r6, r7, lr}
sub sp, #0x20
@@ -216,3 +425,4 @@ _0805474E:
.align 2, 0
.syntax divided
.endif
-65
View File
@@ -1,65 +0,0 @@
.syntax unified
push {r4, r5, r6, r7, lr}
sub sp, #4
ldr r7, _0806F114 @ =gEntityLists + 56
ldr r5, [r7, #4]
movs r0, #0
cmp r5, r7
beq _0806F0BA
_0806F0B2:
adds r0, #1
ldr r5, [r5, #4]
cmp r5, r7
bne _0806F0B2
_0806F0BA:
cmp r0, #1
bls _0806F10E
ldr r5, [r7, #4]
cmp r5, r7
beq _0806F10E
movs r2, #1
_0806F0C6:
ldrb r1, [r5, #0x10]
adds r0, r2, #0
ands r0, r1
cmp r0, #0
beq _0806F108
ldrb r1, [r5, #0x17]
adds r0, r2, #0
ands r0, r1
cmp r0, #0
beq _0806F108
ldr r4, [r5, #4]
cmp r4, r7
beq _0806F108
movs r6, #1
_0806F0E2:
ldrb r1, [r4, #0x10]
adds r0, r6, #0
ands r0, r1
cmp r0, #0
beq _0806F102
ldrb r1, [r4, #0x17]
adds r0, r6, #0
ands r0, r1
cmp r0, #0
beq _0806F102
adds r0, r5, #0
adds r1, r4, #0
str r2, [sp]
bl sub_08004484
ldr r2, [sp]
_0806F102:
ldr r4, [r4, #4]
cmp r4, r7
bne _0806F0E2
_0806F108:
ldr r5, [r5, #4]
cmp r5, r7
bne _0806F0C6
_0806F10E:
add sp, #4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0806F114: .4byte gEntityLists + 56
.syntax divided
-7
View File
@@ -1,11 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
-76
View File
@@ -1,76 +0,0 @@
.syntax unified
push {r4, lr}
ldr r1, _080AD948 @ =gMain
ldrb r0, [r1, #0xb]
adds r2, r0, #0
cmp r2, #0
bne _080AD958
ldr r1, _080AD94C @ =gOAMControls
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 gOAMControls
_080AD950: .4byte 0x00000664
_080AD954: .4byte 0x000008EC
_080AD958:
subs r0, #1
strb r0, [r1, #0xb]
ldr r4, _080AD9A8 @ =gOAMControls
_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 gOAMControls
_080AD9AC: .4byte 0x00000427
.syntax divided
@@ -1,11 +1,4 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
push {r4, lr}
adds r3, r0, #0
ldrb r1, [r3, #0x15]
-357
View File
@@ -1,357 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start BigPushableLever
BigPushableLever: @ 0x08098EE0
push {lr}
ldr r2, _08098EF4 @ =gUnk_081236DC
ldrb r1, [r0, #0xc]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_08098EF4: .4byte gUnk_081236DC
thumb_func_start sub_08098EF8
sub_08098EF8: @ 0x08098EF8
push {lr}
adds r3, r0, #0
adds r3, #0x29
ldrb r2, [r3]
movs r1, #8
rsbs r1, r1, #0
ands r1, r2
movs r2, #5
orrs r1, r2
strb r1, [r3]
bl sub_08098FCC
pop {pc}
.align 2, 0
thumb_func_start sub_08098F14
sub_08098F14: @ 0x08098F14
push {r4, r5, r6, lr}
adds r5, r0, #0
bl sub_080990EC
cmp r0, #0
beq _08098F84
movs r6, #0
movs r0, #2
strb r0, [r5, #0xc]
adds r0, r5, #0
adds r0, #0x74
ldrh r0, [r0]
adds r1, r5, #0
adds r1, #0x70
ldrh r1, [r1]
adds r4, r5, #0
adds r4, #0x38
ldrb r2, [r4]
bl SetTile
adds r0, r5, #0
adds r0, #0x76
ldrh r0, [r0]
adds r1, r5, #0
adds r1, #0x72
ldrh r1, [r1]
ldrb r2, [r4]
bl SetTile
movs r0, #0x99
lsls r0, r0, #1
bl EnqueueSFX
adds r0, r5, #0
movs r1, #0x1e
bl RequestPriorityDuration
bl sub_08079F8C
cmp r0, #0
beq _08098F84
ldr r2, _08098F88 @ =gPlayerState
movs r0, #0x98
strb r0, [r2, #6]
movs r0, #5
strb r0, [r2, #0xc]
ldr r0, [r2, #0x30]
movs r1, #1
orrs r0, r1
str r0, [r2, #0x30]
ldr r1, _08098F8C @ =gPlayerEntity
strh r6, [r1, #0x2c]
strh r6, [r1, #0x30]
ldrb r0, [r1, #0x14]
lsls r0, r0, #2
strb r0, [r1, #0x15]
_08098F84:
pop {r4, r5, r6, pc}
.align 2, 0
_08098F88: .4byte gPlayerState
_08098F8C: .4byte gPlayerEntity
thumb_func_start sub_08098F90
sub_08098F90: @ 0x08098F90
push {r4, lr}
adds r4, r0, #0
bl GetNextFrame
adds r0, r4, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _08098FC8
ldrb r0, [r4, #0xb]
cmp r0, #0
bne _08098FB8
adds r0, r4, #0
adds r0, #0x86
ldrh r0, [r0]
bl SetFlag
b _08098FC2
_08098FB8:
adds r0, r4, #0
adds r0, #0x86
ldrh r0, [r0]
bl ClearFlag
_08098FC2:
adds r0, r4, #0
bl sub_08098FCC
_08098FC8:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_08098FCC
sub_08098FCC: @ 0x08098FCC
push {lr}
movs r1, #1
strb r1, [r0, #0xc]
adds r2, r0, #0
adds r2, #0x84
movs r1, #0x3c
strh r1, [r2]
bl sub_08098FE0
pop {pc}
thumb_func_start sub_08098FE0
sub_08098FE0: @ 0x08098FE0
push {r4, r5, r6, r7, lr}
adds r6, r0, #0
adds r0, #0x86
ldrh r0, [r0]
bl CheckFlags
cmp r0, #0
bne _0809906C
strb r0, [r6, #0xb]
movs r0, #0x2e
ldrsh r2, [r6, r0]
ldr r1, _08099060 @ =gRoomControls
ldrh r0, [r1, #6]
subs r2, r2, r0
asrs r2, r2, #4
movs r3, #0x3f
ands r2, r3
movs r4, #0x32
ldrsh r0, [r6, r4]
ldrh r1, [r1, #8]
adds r1, #0x10
subs r0, r0, r1
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r2, r0
adds r5, r6, #0
adds r5, #0x70
strh r2, [r5]
subs r2, #0x40
adds r7, r6, #0
adds r7, #0x72
strh r2, [r7]
ldrh r0, [r5]
adds r4, r6, #0
adds r4, #0x38
ldrb r1, [r4]
bl sub_080001DA
adds r1, r6, #0
adds r1, #0x74
strh r0, [r1]
ldrh r0, [r7]
ldrb r1, [r4]
bl sub_080001DA
adds r1, r6, #0
adds r1, #0x76
strh r0, [r1]
ldr r0, _08099064 @ =0x00004057
ldrh r1, [r5]
ldrb r2, [r4]
bl SetTile
ldr r0, _08099068 @ =0x00004058
ldrh r1, [r7]
ldrb r2, [r4]
bl SetTile
adds r0, r6, #0
movs r1, #1
bl InitializeAnimation
b _080990DC
.align 2, 0
_08099060: .4byte gRoomControls
_08099064: .4byte 0x00004057
_08099068: .4byte 0x00004058
_0809906C:
movs r0, #1
strb r0, [r6, #0xb]
movs r0, #0x2e
ldrsh r1, [r6, r0]
ldr r2, _080990E0 @ =gRoomControls
ldrh r0, [r2, #6]
adds r0, #0x10
subs r1, r1, r0
asrs r1, r1, #4
movs r3, #0x3f
ands r1, r3
movs r4, #0x32
ldrsh r0, [r6, r4]
ldrh r2, [r2, #8]
subs r0, r0, r2
asrs r0, r0, #4
ands r0, r3
lsls r0, r0, #6
orrs r1, r0
adds r5, r6, #0
adds r5, #0x70
strh r1, [r5]
subs r1, #1
adds r7, r6, #0
adds r7, #0x72
strh r1, [r7]
ldrh r0, [r5]
adds r4, r6, #0
adds r4, #0x38
ldrb r1, [r4]
bl sub_080001DA
adds r1, r6, #0
adds r1, #0x74
strh r0, [r1]
ldrh r0, [r7]
ldrb r1, [r4]
bl sub_080001DA
adds r1, r6, #0
adds r1, #0x76
strh r0, [r1]
ldr r0, _080990E4 @ =0x00004055
ldrh r1, [r5]
ldrb r2, [r4]
bl SetTile
ldr r0, _080990E8 @ =0x00004056
ldrh r1, [r7]
ldrb r2, [r4]
bl SetTile
adds r0, r6, #0
movs r1, #0
bl InitializeAnimation
_080990DC:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080990E0: .4byte gRoomControls
_080990E4: .4byte 0x00004055
_080990E8: .4byte 0x00004056
thumb_func_start sub_080990EC
sub_080990EC: @ 0x080990EC
push {r4, r5, r6, lr}
adds r4, r0, #0
adds r6, r4, #0
adds r6, #0x72
ldrh r0, [r6]
adds r5, r4, #0
adds r5, #0x38
ldrb r1, [r5]
bl sub_080001DA
ldr r1, _0809911C @ =0x00004059
cmp r0, r1
bne _08099140
adds r1, r4, #0
adds r1, #0x84
ldrh r0, [r1]
subs r0, #1
strh r0, [r1]
lsls r0, r0, #0x10
cmp r0, #0
bne _08099120
movs r0, #1
b _08099156
.align 2, 0
_0809911C: .4byte 0x00004059
_08099120:
adds r0, r4, #0
bl sub_08099158
ldr r1, _0809913C @ =gUnk_081236E8
ldrb r0, [r4, #0xb]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r0, [r0]
ldrh r1, [r6]
ldrb r2, [r5]
bl SetTile
b _08099154
.align 2, 0
_0809913C: .4byte gUnk_081236E8
_08099140:
adds r1, r4, #0
adds r1, #0x84
movs r2, #0
movs r0, #0x3c
strh r0, [r1]
adds r0, r4, #0
adds r0, #0x62
strb r2, [r0]
adds r0, #1
strb r2, [r0]
_08099154:
movs r0, #0
_08099156:
pop {r4, r5, r6, pc}
thumb_func_start sub_08099158
sub_08099158: @ 0x08099158
push {r4, lr}
adds r3, r0, #0
ldrb r0, [r3, #0xb]
ldr r4, _08099198 @ =gUnk_081236F4
cmp r0, #0
bne _08099166
ldr r4, _0809919C @ =gUnk_081236EC
_08099166:
adds r2, r3, #0
adds r2, #0x84
ldrh r0, [r2]
lsrs r0, r0, #2
movs r1, #6
ands r0, r1
adds r4, r4, r0
ldrb r0, [r4]
adds r1, r3, #0
adds r1, #0x62
strb r0, [r1]
ldrb r1, [r4, #1]
adds r0, r3, #0
adds r0, #0x63
strb r1, [r0]
ldrh r1, [r2]
movs r0, #3
ands r0, r1
cmp r0, #0
bne _08099194
ldr r0, _080991A0 @ =0x00000131
bl EnqueueSFX
_08099194:
pop {r4, pc}
.align 2, 0
_08099198: .4byte gUnk_081236F4
_0809919C: .4byte gUnk_081236EC
_080991A0: .4byte 0x00000131
+1 -1
View File
@@ -190,7 +190,7 @@ sub_0808B3AC: @ 0x0808B3AC
adds r5, r6, #0
adds r5, #0x38
ldrb r1, [r5]
bl sub_080001DA
bl GetTileIndex
adds r1, r6, #0
adds r1, #0x72
strh r0, [r1]
+6 -6
View File
@@ -432,20 +432,20 @@ _0808C510:
adds r5, r4, #0
adds r5, #0x38
ldrb r1, [r5]
bl sub_080001DA
bl GetTileIndex
adds r1, r4, #0
adds r1, #0x78
strh r0, [r1]
ldrh r0, [r6]
ldrb r1, [r5]
bl sub_080001DA
bl GetTileIndex
adds r1, r4, #0
adds r1, #0x7a
strh r0, [r1]
ldrh r0, [r6]
adds r0, #1
ldrb r1, [r5]
bl sub_080001DA
bl GetTileIndex
adds r1, r4, #0
adds r1, #0x7c
strh r0, [r1]
@@ -475,20 +475,20 @@ _0808C570:
adds r5, r4, #0
adds r5, #0x38
ldrb r1, [r5]
bl sub_080001DA
bl GetTileIndex
adds r1, r4, #0
adds r1, #0x78
strh r0, [r1]
ldrh r0, [r6]
ldrb r1, [r5]
bl sub_080001DA
bl GetTileIndex
adds r1, r4, #0
adds r1, #0x7a
strh r0, [r1]
ldrh r0, [r6]
adds r0, #0x40
ldrb r1, [r5]
bl sub_080001DA
bl GetTileIndex
adds r1, r4, #0
adds r1, #0x7c
strh r0, [r1]
+3 -3
View File
@@ -235,7 +235,7 @@ _08086428:
ldrsh r1, [r6, r0]
ldrb r2, [r6, #0x15]
adds r0, r6, #0
bl sub_0806F62C
bl LinearMoveAngle
b _0808654A
_08086440:
adds r0, r6, #0
@@ -507,7 +507,7 @@ _0808663A:
ldrsh r1, [r7, r0]
ldrb r2, [r7, #0x15]
adds r0, r7, #0
bl sub_0806F62C
bl LinearMoveAngle
ldrb r0, [r7, #0x15]
movs r1, #0x80
eors r0, r1
@@ -555,7 +555,7 @@ _0808663A:
adds r0, r7, #0
adds r1, r4, #0
movs r3, #2
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _080866B8
movs r0, #1
+1 -1
View File
@@ -392,7 +392,7 @@ _0808D972:
strh r0, [r4, #0x36]
ldr r1, _0808D994 @ =gPlayerEntity
adds r0, r4, #0
bl sub_080177A0
bl IsColliding
cmp r0, #0
beq _0808D992
adds r0, r4, #0
+1 -1
View File
@@ -151,7 +151,7 @@ sub_080A02CC: @ 0x080A02CC
adds r0, r4, #0
bl sub_080A0444
adds r0, r4, #0
bl sub_08017850
bl IsCollidingPlayer
cmp r0, #0
beq _080A0342
ldr r0, [r4, #0x54]
+2 -2
View File
@@ -103,13 +103,13 @@ _0809207A:
strh r2, [r7]
ldrh r0, [r5]
movs r1, #1
bl sub_080001DA
bl GetTileIndex
adds r1, r6, #0
adds r1, #0x74
strh r0, [r1]
ldrh r0, [r7]
movs r1, #1
bl sub_080001DA
bl GetTileIndex
adds r1, r6, #0
adds r1, #0x76
strh r0, [r1]
-188
View File
@@ -1,188 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start HittableLever
HittableLever: @ 0x0808A6F4
push {lr}
adds r2, r0, #0
adds r0, #0x3d
movs r1, #0
ldrsb r1, [r0, r1]
cmp r1, #0
bne _0808A706
adds r0, #0x33
strh r1, [r0]
_0808A706:
ldr r0, _0808A718 @ =gUnk_08121178
ldrb r1, [r2, #0xc]
lsls r1, r1, #2
adds r1, r1, r0
ldr r1, [r1]
adds r0, r2, #0
bl _call_via_r1
pop {pc}
.align 2, 0
_0808A718: .4byte gUnk_08121178
thumb_func_start sub_0808A71C
sub_0808A71C: @ 0x0808A71C
push {r4, r5, lr}
adds r4, r0, #0
movs r5, #1
strb r5, [r4, #0xc]
ldrb r1, [r4, #0x10]
movs r0, #0x80
orrs r0, r1
strb r0, [r4, #0x10]
adds r1, r4, #0
adds r1, #0x3c
movs r0, #7
strb r0, [r1]
adds r1, #3
movs r0, #0x8f
strb r0, [r1]
subs r1, #4
movs r0, #0xa
strb r0, [r1]
ldr r0, _0808A75C @ =gUnk_08121180
str r0, [r4, #0x48]
ldrb r0, [r4, #0xa]
cmp r0, #0
bne _0808A764
adds r0, r4, #0
adds r0, #0x86
ldrh r0, [r0]
bl CheckFlags
cmp r0, #0
beq _0808A760
strb r5, [r4, #0xa]
b _0808A76E
.align 2, 0
_0808A75C: .4byte gUnk_08121180
_0808A760:
strb r0, [r4, #0xa]
b _0808A76E
_0808A764:
adds r0, r4, #0
adds r0, #0x86
ldrh r0, [r0]
bl SetFlag
_0808A76E:
adds r0, r4, #0
bl sub_0808A7D8
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_0808A778
sub_0808A778: @ 0x0808A778
push {r4, r5, lr}
adds r5, r0, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _0808A7D0
adds r1, r5, #0
adds r1, #0x70
ldrh r0, [r1]
cmp r0, #0
bne _0808A7D0
movs r0, #1
strh r0, [r1]
ldrb r0, [r5, #0xa]
movs r1, #1
eors r0, r1
strb r0, [r5, #0xa]
adds r1, r5, #0
adds r1, #0x3d
movs r0, #0xe8
strb r0, [r1]
adds r0, r5, #0
bl sub_0808A7D8
adds r4, r5, #0
adds r4, #0x86
ldrh r0, [r4]
bl CheckFlags
cmp r0, #0
beq _0808A7C2
ldrh r0, [r4]
bl ClearFlag
b _0808A7C8
_0808A7C2:
ldrh r0, [r4]
bl SetFlag
_0808A7C8:
ldr r1, _0808A7D4 @ =0x00000117
adds r0, r5, #0
bl SoundReqClipped
_0808A7D0:
pop {r4, r5, pc}
.align 2, 0
_0808A7D4: .4byte 0x00000117
thumb_func_start sub_0808A7D8
sub_0808A7D8: @ 0x0808A7D8
push {r4, r5, r6, lr}
adds r5, r0, #0
ldrb r0, [r5, #0xa]
cmp r0, #0
beq _0808A818
movs r0, #0xde
lsls r0, r0, #2
movs r2, #0x2e
ldrsh r1, [r5, r2]
ldr r3, _0808A814 @ =gRoomControls
ldrh r2, [r3, #6]
subs r1, r1, r2
asrs r1, r1, #4
movs r4, #0x3f
ands r1, r4
movs r6, #0x32
ldrsh r2, [r5, r6]
ldrh r3, [r3, #8]
subs r2, r2, r3
asrs r2, r2, #4
ands r2, r4
lsls r2, r2, #6
orrs r1, r2
adds r2, r5, #0
adds r2, #0x38
ldrb r2, [r2]
bl sub_0807B7D8
b _0808A844
.align 2, 0
_0808A814: .4byte gRoomControls
_0808A818:
ldr r0, _0808A848 @ =0x00000377
movs r2, #0x2e
ldrsh r1, [r5, r2]
ldr r3, _0808A84C @ =gRoomControls
ldrh r2, [r3, #6]
subs r1, r1, r2
asrs r1, r1, #4
movs r4, #0x3f
ands r1, r4
movs r6, #0x32
ldrsh r2, [r5, r6]
ldrh r3, [r3, #8]
subs r2, r2, r3
asrs r2, r2, #4
ands r2, r4
lsls r2, r2, #6
orrs r1, r2
adds r2, r5, #0
adds r2, #0x38
ldrb r2, [r2]
bl sub_0807B7D8
_0808A844:
pop {r4, r5, r6, pc}
.align 2, 0
_0808A848: .4byte 0x00000377
_0808A84C: .4byte gRoomControls
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -90,7 +90,7 @@ _0808CB70:
movs r5, #0
str r5, [r4, #0x34]
adds r1, r4, #0
bl ResolveEntityBelow
bl SortEntityBelow
ldrb r0, [r4, #0xd]
cmp r0, #0
beq _0808CB98
+1 -1
View File
@@ -84,7 +84,7 @@ _08096B12:
adds r6, r4, #0
adds r6, #0x38
ldrb r1, [r6]
bl sub_080001DA
bl GetTileIndex
adds r1, r4, #0
adds r1, #0x74
strh r0, [r1]
+1 -1
View File
@@ -113,7 +113,7 @@ _08084D7E:
lsls r1, r1, #6
orrs r0, r1
ldrb r1, [r6]
bl sub_080001DA
bl GetTileIndex
adds r1, r7, #0
adds r1, #0x70
strh r0, [r1]
-145
View File
@@ -1,145 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08089BA0
sub_08089BA0: @ 0x08089BA0
push {r4, r5, r6, lr}
adds r5, r0, #0
bl GetNextFrame
ldrb r0, [r5, #0xa]
cmp r0, #4
bhi _08089BD0
lsls r0, r0, #2
ldr r1, _08089BB8 @ =_08089BBC
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08089BB8: .4byte _08089BBC
_08089BBC: @ jump table
.4byte _08089BD0 @ case 0
.4byte _08089BD6 @ case 1
.4byte _08089BD6 @ case 2
.4byte _08089C4C @ case 3
.4byte _08089C72 @ case 4
_08089BD0:
ldrb r0, [r5, #0xb]
cmp r0, #0
beq _08089CBA
_08089BD6:
ldrb r0, [r5, #0xe]
subs r0, #1
strb r0, [r5, #0xe]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0xff
bne _08089CBA
ldrb r0, [r5, #0xa]
cmp r0, #2
bne _08089C42
ldr r0, [r5, #0x54]
ldrh r0, [r0, #6]
movs r2, #0x2e
ldrsh r1, [r5, r2]
ldr r3, _08089C48 @ =gRoomControls
ldrh r2, [r3, #6]
subs r1, r1, r2
asrs r1, r1, #4
movs r4, #0x3f
ands r1, r4
movs r6, #0x32
ldrsh r2, [r5, r6]
ldrh r3, [r3, #8]
subs r2, r2, r3
asrs r2, r2, #4
ands r2, r4
lsls r2, r2, #6
orrs r1, r2
adds r2, r5, #0
adds r2, #0x38
ldrb r2, [r2]
bl sub_0807B7D8
adds r0, r5, #0
movs r1, #0
movs r2, #0x10
bl sub_0807AB44
subs r4, #0x4f
adds r0, r5, #0
movs r1, #0
adds r2, r4, #0
bl sub_0807AB44
adds r0, r5, #0
movs r1, #0x10
movs r2, #0
bl sub_0807AB44
adds r0, r5, #0
adds r1, r4, #0
movs r2, #0
bl sub_0807AB44
_08089C42:
bl DeleteThisEntity
b _08089CBA
.align 2, 0
_08089C48: .4byte gRoomControls
_08089C4C:
ldr r0, [r5, #0x50]
ldr r0, [r0, #4]
cmp r0, #0
bne _08089C58
bl DeleteThisEntity
_08089C58:
ldrb r0, [r5, #0xe]
subs r0, #1
strb r0, [r5, #0xe]
lsls r0, r0, #0x18
cmp r0, #0
bne _08089C68
bl DeleteThisEntity
_08089C68:
ldr r0, [r5, #0x50]
adds r1, r5, #0
bl CopyPosition
b _08089CBA
_08089C72:
adds r0, r5, #0
adds r0, #0x86
ldrh r0, [r0]
bl CheckFlags
adds r1, r0, #0
ldrb r0, [r5, #0xd]
cmp r0, #0
bne _08089C96
cmp r1, #0
bne _08089CBA
movs r0, #1
strb r0, [r5, #0xd]
ldrb r1, [r5, #0x18]
subs r0, #5
ands r0, r1
strb r0, [r5, #0x18]
b _08089CBA
_08089C96:
cmp r1, #0
beq _08089CBA
movs r0, #0
strb r0, [r5, #0xd]
ldrb r1, [r5, #0x18]
subs r0, #4
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r5, #0x18]
adds r0, r5, #0
movs r1, #0
bl InitializeAnimation
movs r0, #0x92
lsls r0, r0, #1
bl EnqueueSFX
_08089CBA:
pop {r4, r5, r6, pc}
+1 -1
View File
@@ -144,7 +144,7 @@ _0808A930:
asrs r0, r0, #0x18
strh r0, [r4, #0x36]
adds r0, r4, #0
bl sub_08017850
bl IsCollidingPlayer
cmp r0, #0
beq _0808A962
_0808A954:
+1 -1
View File
@@ -163,7 +163,7 @@ sub_0808B934: @ 0x0808B934
adds r6, r4, #0
adds r6, #0x38
ldrb r1, [r6]
bl sub_080001DA
bl GetTileIndex
adds r1, r4, #0
adds r1, #0x74
strh r0, [r1]
+1 -1
View File
@@ -297,7 +297,7 @@ _0808BD34:
subs r2, #6
adds r0, r5, #0
movs r3, #0x1c
bl sub_0806FCB8
bl EntityWithinDistance
cmp r0, #0
beq _0808BDAE
adds r0, r5, #0
+3 -3
View File
@@ -291,7 +291,7 @@ _0809C5E0: @ jump table
_0809C600:
ldr r0, [r5, #0x50]
adds r1, r5, #0
bl ResolveEntityBelow
bl SortEntityBelow
ldr r0, [r5, #0x50]
ldrb r0, [r0, #0xd]
adds r6, r5, #0
@@ -382,7 +382,7 @@ _0809C6B4: .4byte gUnk_08123E1C
_0809C6B8:
ldr r0, [r5, #0x50]
adds r1, r5, #0
bl ResolveEntityBelow
bl SortEntityBelow
ldr r0, [r5, #0x50]
ldrb r0, [r0, #0xd]
adds r6, r5, #0
@@ -864,7 +864,7 @@ _0809CA30:
adds r2, #2
ldrb r2, [r2]
rsbs r2, r2, #0
bl sub_0806F62C
bl LinearMoveAngle
ldr r1, [r4, #0x54]
adds r0, r4, #0
movs r2, #0x48
+2 -2
View File
@@ -189,7 +189,7 @@ sub_0809D8C8: @ 0x0809D8C8
_0809D8E4: .4byte gPlayerState
_0809D8E8:
adds r0, r5, #0
bl sub_08017850
bl IsCollidingPlayer
cmp r0, #0
beq _0809D90A
ldrb r0, [r6, #0xd]
@@ -223,7 +223,7 @@ sub_0809D91C: @ 0x0809D91C
cmp r1, #0
beq _0809D934
adds r0, r4, #0
bl ResolveEntityBelow
bl SortEntityBelow
_0809D934:
movs r0, #0x72
bl SoundReq
+1 -1
View File
@@ -1024,7 +1024,7 @@ _0809E170:
ldrsh r1, [r5, r0]
ldrb r2, [r5, #0x15]
adds r0, r5, #0
bl sub_0806F62C
bl LinearMoveAngle
movs r1, #0x2e
ldrsh r0, [r5, r1]
mov r2, r8
+1 -1
View File
@@ -340,7 +340,7 @@ _0809FD1C:
strh r0, [r4, #0x36]
ldr r1, _0809FD48 @ =gPlayerEntity
adds r0, r4, #0
bl sub_080177A0
bl IsColliding
cmp r0, #0
beq _0809FD44
adds r0, r4, #0
+4 -4
View File
@@ -95,7 +95,7 @@ _080A0C08:
strh r0, [r4, #0x32]
adds r0, r5, #0
adds r1, r4, #0
bl ResolveEntityBelow
bl SortEntityBelow
_080A0C40:
ldrb r0, [r5, #0xf]
adds r0, #1
@@ -136,7 +136,7 @@ _080A0C6E:
strh r0, [r4, #0x32]
adds r0, r5, #0
adds r1, r4, #0
bl ResolveEntityBelow
bl SortEntityBelow
_080A0C92:
ldrb r0, [r5, #0xf]
adds r0, #1
@@ -159,7 +159,7 @@ _080A0CA0:
strh r0, [r4, #0x32]
adds r0, r5, #0
adds r1, r4, #0
bl ResolveEntityOnTop
bl SortEntityAbove
_080A0CC0:
movs r0, #0xb4
movs r1, #3
@@ -174,7 +174,7 @@ _080A0CC0:
strh r0, [r4, #0x32]
adds r0, r5, #0
adds r1, r4, #0
bl ResolveEntityOnTop
bl SortEntityAbove
_080A0CE0:
pop {r4, r5, pc}
.align 2, 0
+1 -1
View File
@@ -425,7 +425,7 @@ sub_080970F4: @ 0x080970F4
adds r5, r6, #0
adds r5, #0x38
ldrb r1, [r5]
bl sub_080001DA
bl GetTileIndex
adds r1, r6, #0
adds r1, #0x70
strh r0, [r1]
+3 -3
View File
@@ -67,7 +67,7 @@ _080985AC:
_080985AE:
ldr r1, [r4, #0x50]
adds r0, r4, #0
bl ResolveEntityBelow
bl SortEntityBelow
adds r0, r4, #0
bl sub_08098918
pop {r4, r5, pc}
@@ -569,7 +569,7 @@ _0809892E:
strb r0, [r2]
ldr r1, [r4, #0x50]
adds r0, r4, #0
bl ResolveEntityBelow
bl SortEntityBelow
_08098968:
ldr r2, _0809898C @ =gUnk_08123558
adds r0, r6, #0
@@ -606,7 +606,7 @@ _08098990:
strb r0, [r2]
ldr r1, [r4, #0x50]
adds r0, r4, #0
bl ResolveEntityBelow
bl SortEntityBelow
_080989B2:
strh r5, [r4, #0x36]
adds r1, r4, #0

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