mirror of https://github.com/zeldaret/tmc.git
more refining
This commit is contained in:
parent
cfc757cd58
commit
b6b0248051
4
Makefile
4
Makefile
|
@ -49,7 +49,7 @@ CPPFLAGS := -I tools/agbcc -I tools/agbcc/include -iquote include -nostdinc -und
|
||||||
|
|
||||||
LDFLAGS = -Map ../../$(MAP)
|
LDFLAGS = -Map ../../$(MAP)
|
||||||
|
|
||||||
LIB := -L ../../tools/agbcc/lib -lc
|
LIB := -L ../../tools/agbcc/lib -lc
|
||||||
|
|
||||||
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
|
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
|
||||||
GFX := tools/gbagfx/gbagfx
|
GFX := tools/gbagfx/gbagfx
|
||||||
|
@ -120,6 +120,8 @@ endif
|
||||||
|
|
||||||
tools: $(TOOLDIRS)
|
tools: $(TOOLDIRS)
|
||||||
|
|
||||||
|
$(TOOLDIRS):
|
||||||
|
@$(MAKE) -C $@
|
||||||
|
|
||||||
# For contributors to make sure a change didn't affect the contents of the ROM.
|
# For contributors to make sure a change didn't affect the contents of the ROM.
|
||||||
compare:
|
compare:
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
.include "asm/macros.inc"
|
|
||||||
.text
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
thumb_func_start GetProgressFlag
|
|
||||||
GetProgressFlag: @ 0x0807CC30
|
|
||||||
push {lr}
|
|
||||||
adds r1, r0, #0
|
|
||||||
movs r0, #0
|
|
||||||
bl GetProgressFlagWithOffset
|
|
||||||
pop {pc}
|
|
16
asm/code.s
16
asm/code.s
|
@ -475,7 +475,7 @@ _0801889A:
|
||||||
ldr r1, _080188AC @ =gUnk_080FECC8
|
ldr r1, _080188AC @ =gUnk_080FECC8
|
||||||
_080188A4:
|
_080188A4:
|
||||||
adds r0, r0, r1
|
adds r0, r0, r1
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
b _080189E4
|
b _080189E4
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080188AC: .4byte gUnk_080FECC8
|
_080188AC: .4byte gUnk_080FECC8
|
||||||
|
@ -488,7 +488,7 @@ _080188B8:
|
||||||
lsls r0, r0, #4
|
lsls r0, r0, #4
|
||||||
ldr r1, _080188DC @ =gUnk_080FED18
|
ldr r1, _080188DC @ =gUnk_080FED18
|
||||||
adds r0, r0, r1
|
adds r0, r0, r1
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
adds r2, r0, #0
|
adds r2, r0, #0
|
||||||
cmp r2, #0
|
cmp r2, #0
|
||||||
bne _080188CC
|
bne _080188CC
|
||||||
|
@ -527,7 +527,7 @@ _080188FE:
|
||||||
lsls r0, r0, #4
|
lsls r0, r0, #4
|
||||||
ldr r1, _08018924 @ =gUnk_080FED58
|
ldr r1, _08018924 @ =gUnk_080FED58
|
||||||
adds r0, r0, r1
|
adds r0, r0, r1
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
ldr r2, _08018928 @ =gUnk_02034350
|
ldr r2, _08018928 @ =gUnk_02034350
|
||||||
ldrb r0, [r5, #1]
|
ldrb r0, [r5, #1]
|
||||||
lsls r0, r0, #2
|
lsls r0, r0, #2
|
||||||
|
@ -549,7 +549,7 @@ _08018930:
|
||||||
lsls r0, r0, #4
|
lsls r0, r0, #4
|
||||||
ldr r1, _08018974 @ =gUnk_080FEE78
|
ldr r1, _08018974 @ =gUnk_080FEE78
|
||||||
adds r0, r0, r1
|
adds r0, r0, r1
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
adds r2, r0, #0
|
adds r2, r0, #0
|
||||||
cmp r2, #0
|
cmp r2, #0
|
||||||
beq _08018958
|
beq _08018958
|
||||||
|
@ -604,7 +604,7 @@ _080189A4:
|
||||||
cmp r4, #0
|
cmp r4, #0
|
||||||
beq _080189E4
|
beq _080189E4
|
||||||
ldr r0, _080189B0 @ =gUnk_080FEE18
|
ldr r0, _080189B0 @ =gUnk_080FEE18
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
b _080189E4
|
b _080189E4
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080189B0: .4byte gUnk_080FEE18
|
_080189B0: .4byte gUnk_080FEE18
|
||||||
|
@ -612,13 +612,13 @@ _080189B4:
|
||||||
cmp r4, #0
|
cmp r4, #0
|
||||||
beq _080189C4
|
beq _080189C4
|
||||||
ldr r0, _080189C0 @ =gUnk_080FEE58
|
ldr r0, _080189C0 @ =gUnk_080FEE58
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
b _080189E4
|
b _080189E4
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080189C0: .4byte gUnk_080FEE58
|
_080189C0: .4byte gUnk_080FEE58
|
||||||
_080189C4:
|
_080189C4:
|
||||||
ldr r0, _080189CC @ =gUnk_080FEE48
|
ldr r0, _080189CC @ =gUnk_080FEE48
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
b _080189E4
|
b _080189E4
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080189CC: .4byte gUnk_080FEE48
|
_080189CC: .4byte gUnk_080FEE48
|
||||||
|
@ -630,7 +630,7 @@ _080189D0:
|
||||||
movs r1, #0x79
|
movs r1, #0x79
|
||||||
bl sub_0807CC9C
|
bl sub_0807CC9C
|
||||||
ldr r0, _080189E8 @ =gUnk_080FEE38
|
ldr r0, _080189E8 @ =gUnk_080FEE38
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
_080189E4:
|
_080189E4:
|
||||||
pop {r4, r5, pc}
|
pop {r4, r5, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
|
|
3227
asm/code_08016B30.s
3227
asm/code_08016B30.s
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,419 @@
|
||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
|
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AA84
|
||||||
|
sub_0804AA84: @ 0x0804AA84
|
||||||
|
push {lr}
|
||||||
|
ldr r3, _0804AA98 @ =gUnk_02033A90
|
||||||
|
ldrb r0, [r3, #0x19]
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804AA9C
|
||||||
|
strb r0, [r3, #0x18]
|
||||||
|
strb r0, [r3, #0x19]
|
||||||
|
movs r0, #0
|
||||||
|
b _0804AAB0
|
||||||
|
.align 2, 0
|
||||||
|
_0804AA98: .4byte gUnk_02033A90
|
||||||
|
_0804AA9C:
|
||||||
|
ldr r2, _0804AAB4 @ =gUnk_03001000
|
||||||
|
movs r1, #0
|
||||||
|
movs r0, #4
|
||||||
|
strb r0, [r2, #4]
|
||||||
|
strb r1, [r3, #0xe]
|
||||||
|
strb r1, [r3, #0xf]
|
||||||
|
strh r1, [r3, #0x10]
|
||||||
|
bl sub_0805E5A8
|
||||||
|
movs r0, #1
|
||||||
|
_0804AAB0:
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AAB4: .4byte gUnk_03001000
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AAB8
|
||||||
|
sub_0804AAB8: @ 0x0804AAB8
|
||||||
|
push {lr}
|
||||||
|
ldr r1, _0804AACC @ =gUnk_080D4120
|
||||||
|
ldr r0, _0804AAD0 @ =gUnk_02033A90
|
||||||
|
ldrb r0, [r0, #0xe]
|
||||||
|
lsls r0, r0, #2
|
||||||
|
adds r0, r0, r1
|
||||||
|
ldr r0, [r0]
|
||||||
|
bl _call_via_r0
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AACC: .4byte gUnk_080D4120
|
||||||
|
_0804AAD0: .4byte gUnk_02033A90
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AAD4
|
||||||
|
sub_0804AAD4: @ 0x0804AAD4
|
||||||
|
push {r4, lr}
|
||||||
|
ldr r4, _0804AAFC @ =gUnk_02018EB0
|
||||||
|
adds r0, r4, #0
|
||||||
|
movs r1, #0x28
|
||||||
|
bl sub_0801D630
|
||||||
|
movs r0, #0
|
||||||
|
str r0, [r4, #0x14]
|
||||||
|
bl sub_0805E60C
|
||||||
|
ldr r4, _0804AB00 @ =gUnk_02033A90
|
||||||
|
ldrb r1, [r4, #0x17]
|
||||||
|
movs r0, #0x3d
|
||||||
|
movs r2, #0
|
||||||
|
bl sub_080A2960
|
||||||
|
ldrb r0, [r4, #0xe]
|
||||||
|
adds r0, #1
|
||||||
|
strb r0, [r4, #0xe]
|
||||||
|
pop {r4, pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AAFC: .4byte gUnk_02018EB0
|
||||||
|
_0804AB00: .4byte gUnk_02033A90
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AB04
|
||||||
|
sub_0804AB04: @ 0x0804AB04
|
||||||
|
push {lr}
|
||||||
|
bl sub_0805E5C0
|
||||||
|
ldr r0, _0804AB20 @ =gUnk_02033A90
|
||||||
|
ldrh r0, [r0, #0x10]
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804AB1E
|
||||||
|
bl sub_080AD90C
|
||||||
|
bl sub_080AD9B0
|
||||||
|
bl sub_080AD918
|
||||||
|
_0804AB1E:
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AB20: .4byte gUnk_02033A90
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AB24
|
||||||
|
sub_0804AB24: @ 0x0804AB24
|
||||||
|
push {r4, r5, lr}
|
||||||
|
ldr r5, _0804AB48 @ =gUnk_03000FD0
|
||||||
|
ldrb r1, [r5]
|
||||||
|
cmp r1, #0
|
||||||
|
bne _0804AB46
|
||||||
|
ldr r0, _0804AB4C @ =gUnk_03000F50
|
||||||
|
movs r4, #0
|
||||||
|
strh r1, [r0]
|
||||||
|
bl sub_0801E104
|
||||||
|
ldr r0, _0804AB50 @ =gUnk_02033A90
|
||||||
|
strb r4, [r0, #0xe]
|
||||||
|
movs r0, #6
|
||||||
|
movs r1, #0
|
||||||
|
bl sub_080A7138
|
||||||
|
strb r4, [r5]
|
||||||
|
_0804AB46:
|
||||||
|
pop {r4, r5, pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AB48: .4byte gUnk_03000FD0
|
||||||
|
_0804AB4C: .4byte gUnk_03000F50
|
||||||
|
_0804AB50: .4byte gUnk_02033A90
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AB54
|
||||||
|
sub_0804AB54: @ 0x0804AB54
|
||||||
|
push {lr}
|
||||||
|
ldr r1, _0804AB68 @ =gUnk_080D412C
|
||||||
|
ldr r0, _0804AB6C @ =gUnk_02033A90
|
||||||
|
ldrb r0, [r0, #0xe]
|
||||||
|
lsls r0, r0, #2
|
||||||
|
adds r0, r0, r1
|
||||||
|
ldr r0, [r0]
|
||||||
|
bl _call_via_r0
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AB68: .4byte gUnk_080D412C
|
||||||
|
_0804AB6C: .4byte gUnk_02033A90
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AB70
|
||||||
|
sub_0804AB70: @ 0x0804AB70
|
||||||
|
push {r4, r5, lr}
|
||||||
|
movs r0, #0
|
||||||
|
bl sub_0801DA90
|
||||||
|
ldr r1, _0804ABF8 @ =gUnk_03000F50
|
||||||
|
movs r2, #0
|
||||||
|
movs r0, #0x92
|
||||||
|
lsls r0, r0, #5
|
||||||
|
strh r0, [r1]
|
||||||
|
ldr r0, _0804ABFC @ =0x00009E83
|
||||||
|
strh r0, [r1, #0x14]
|
||||||
|
ldr r0, _0804AC00 @ =gUnk_03000BF0
|
||||||
|
strh r2, [r1, #0x16]
|
||||||
|
strh r2, [r0, #0xa]
|
||||||
|
strh r2, [r1, #0x18]
|
||||||
|
strh r2, [r0, #0xc]
|
||||||
|
ldr r0, _0804AC04 @ =gUnk_02033A90
|
||||||
|
ldrb r5, [r0, #0x17]
|
||||||
|
cmp r5, #2
|
||||||
|
bne _0804ABA4
|
||||||
|
ldr r0, _0804AC08 @ =gUnk_02032EC0
|
||||||
|
adds r0, #0x20
|
||||||
|
ldrb r0, [r0]
|
||||||
|
cmp r0, #2
|
||||||
|
beq _0804ABA4
|
||||||
|
movs r5, #3
|
||||||
|
_0804ABA4:
|
||||||
|
lsls r4, r5, #1
|
||||||
|
ldr r0, _0804AC0C @ =gUnk_080D4138
|
||||||
|
adds r4, r4, r0
|
||||||
|
ldrb r0, [r4]
|
||||||
|
bl sub_0801D714
|
||||||
|
ldrb r0, [r4, #1]
|
||||||
|
bl sub_0801D7EC
|
||||||
|
ldr r0, _0804AC10 @ =gUnk_02017700
|
||||||
|
movs r2, #0x90
|
||||||
|
lsls r2, r2, #2
|
||||||
|
adds r1, r0, r2
|
||||||
|
movs r2, #0x20
|
||||||
|
bl sub_0801D66C
|
||||||
|
ldr r2, _0804AC14 @ =gUnk_0200B644
|
||||||
|
ldr r0, [r2]
|
||||||
|
movs r1, #0x80
|
||||||
|
lsls r1, r1, #0xe
|
||||||
|
orrs r0, r1
|
||||||
|
str r0, [r2]
|
||||||
|
bl sub_0805E60C
|
||||||
|
ldr r1, _0804AC18 @ =gUnk_080D4110
|
||||||
|
lsls r0, r5, #2
|
||||||
|
adds r0, r0, r1
|
||||||
|
ldr r0, [r0]
|
||||||
|
bl LoadRoomEntityList
|
||||||
|
bl sub_0805E5B4
|
||||||
|
ldr r1, _0804AC04 @ =gUnk_02033A90
|
||||||
|
ldrb r0, [r1, #0xe]
|
||||||
|
adds r0, #1
|
||||||
|
strb r0, [r1, #0xe]
|
||||||
|
movs r0, #4
|
||||||
|
movs r1, #8
|
||||||
|
bl sub_08050054
|
||||||
|
pop {r4, r5, pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804ABF8: .4byte gUnk_03000F50
|
||||||
|
_0804ABFC: .4byte 0x00009E83
|
||||||
|
_0804AC00: .4byte gUnk_03000BF0
|
||||||
|
_0804AC04: .4byte gUnk_02033A90
|
||||||
|
_0804AC08: .4byte gUnk_02032EC0
|
||||||
|
_0804AC0C: .4byte gUnk_080D4138
|
||||||
|
_0804AC10: .4byte gUnk_02017700
|
||||||
|
_0804AC14: .4byte gUnk_0200B644
|
||||||
|
_0804AC18: .4byte gUnk_080D4110
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AC1C
|
||||||
|
sub_0804AC1C: @ 0x0804AC1C
|
||||||
|
push {r4, lr}
|
||||||
|
bl sub_0805E5C0
|
||||||
|
ldr r0, _0804AC98 @ =gUnk_02018EB0
|
||||||
|
ldr r2, [r0, #0x14]
|
||||||
|
cmp r2, #0
|
||||||
|
beq _0804AC5E
|
||||||
|
ldr r3, _0804AC9C @ =gUnk_03000BF0
|
||||||
|
movs r1, #0xc
|
||||||
|
ldrsh r0, [r3, r1]
|
||||||
|
movs r4, #0x32
|
||||||
|
ldrsh r1, [r2, r4]
|
||||||
|
subs r1, #0x50
|
||||||
|
subs r0, r0, r1
|
||||||
|
movs r4, #0x36
|
||||||
|
ldrsh r1, [r2, r4]
|
||||||
|
subs r1, r0, r1
|
||||||
|
cmp r1, #0
|
||||||
|
beq _0804AC5E
|
||||||
|
ldrh r0, [r3, #0xc]
|
||||||
|
subs r0, r0, r1
|
||||||
|
strh r0, [r3, #0xc]
|
||||||
|
lsls r0, r0, #0x10
|
||||||
|
cmp r0, #0
|
||||||
|
bge _0804AC52
|
||||||
|
movs r0, #0
|
||||||
|
strh r0, [r3, #0xc]
|
||||||
|
_0804AC52:
|
||||||
|
movs r1, #0xc
|
||||||
|
ldrsh r0, [r3, r1]
|
||||||
|
cmp r0, #0x9f
|
||||||
|
ble _0804AC5E
|
||||||
|
movs r0, #0x9f
|
||||||
|
strh r0, [r3, #0xc]
|
||||||
|
_0804AC5E:
|
||||||
|
ldr r2, _0804ACA0 @ =gUnk_03000F50
|
||||||
|
ldr r1, _0804AC9C @ =gUnk_03000BF0
|
||||||
|
ldrh r0, [r1, #0xa]
|
||||||
|
strh r0, [r2, #0x16]
|
||||||
|
ldrh r0, [r1, #0xc]
|
||||||
|
strh r0, [r2, #0x18]
|
||||||
|
bl sub_080AD90C
|
||||||
|
bl sub_080AD9B0
|
||||||
|
bl sub_080AD918
|
||||||
|
ldr r0, _0804AC98 @ =gUnk_02018EB0
|
||||||
|
ldrb r0, [r0, #0x1b]
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804AC86
|
||||||
|
bl sub_0804ACA8
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804AC96
|
||||||
|
_0804AC86:
|
||||||
|
ldr r1, _0804ACA4 @ =gUnk_02033A90
|
||||||
|
ldrb r0, [r1, #0xe]
|
||||||
|
adds r0, #1
|
||||||
|
strb r0, [r1, #0xe]
|
||||||
|
movs r0, #7
|
||||||
|
movs r1, #0x10
|
||||||
|
bl sub_08050054
|
||||||
|
_0804AC96:
|
||||||
|
pop {r4, pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AC98: .4byte gUnk_02018EB0
|
||||||
|
_0804AC9C: .4byte gUnk_03000BF0
|
||||||
|
_0804ACA0: .4byte gUnk_03000F50
|
||||||
|
_0804ACA4: .4byte gUnk_02033A90
|
||||||
|
|
||||||
|
thumb_func_start sub_0804ACA8
|
||||||
|
sub_0804ACA8: @ 0x0804ACA8
|
||||||
|
push {lr}
|
||||||
|
ldr r0, _0804ACC0 @ =gUnk_03000FF0
|
||||||
|
ldrh r1, [r0, #2]
|
||||||
|
movs r0, #0x81
|
||||||
|
lsls r0, r0, #1
|
||||||
|
ands r0, r1
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804ACC4
|
||||||
|
bl sub_0804AD18
|
||||||
|
b _0804ACC6
|
||||||
|
.align 2, 0
|
||||||
|
_0804ACC0: .4byte gUnk_03000FF0
|
||||||
|
_0804ACC4:
|
||||||
|
movs r0, #0
|
||||||
|
_0804ACC6:
|
||||||
|
pop {pc}
|
||||||
|
|
||||||
|
thumb_func_start sub_0804ACC8
|
||||||
|
sub_0804ACC8: @ 0x0804ACC8
|
||||||
|
push {lr}
|
||||||
|
ldr r0, _0804ACEC @ =gUnk_03000FD0
|
||||||
|
ldrb r0, [r0]
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804ACE8
|
||||||
|
ldr r0, _0804ACF0 @ =gUnk_02033A90
|
||||||
|
ldrb r0, [r0, #0x17]
|
||||||
|
adds r0, #0x5e
|
||||||
|
bl sub_0807CD04
|
||||||
|
ldr r0, _0804ACF4 @ =gUnk_02032EDC
|
||||||
|
bl sub_0804AD6C
|
||||||
|
movs r0, #0
|
||||||
|
bl sub_080A71F4
|
||||||
|
_0804ACE8:
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804ACEC: .4byte gUnk_03000FD0
|
||||||
|
_0804ACF0: .4byte gUnk_02033A90
|
||||||
|
_0804ACF4: .4byte gUnk_02032EDC
|
||||||
|
|
||||||
|
thumb_func_start sub_0804ACF8
|
||||||
|
sub_0804ACF8: @ 0x0804ACF8
|
||||||
|
push {lr}
|
||||||
|
bl sub_0804AD18
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804AD12
|
||||||
|
ldr r0, _0804AD14 @ =gUnk_03000BF0
|
||||||
|
bl sub_0804AD6C
|
||||||
|
bl sub_0805E5A8
|
||||||
|
movs r0, #0xf8
|
||||||
|
bl sub_080A3268
|
||||||
|
_0804AD12:
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AD14: .4byte gUnk_03000BF0
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AD18
|
||||||
|
sub_0804AD18: @ 0x0804AD18
|
||||||
|
push {lr}
|
||||||
|
ldr r0, _0804AD30 @ =gUnk_02033A90
|
||||||
|
ldrb r1, [r0, #0x17]
|
||||||
|
adds r2, r0, #0
|
||||||
|
cmp r1, #6
|
||||||
|
bhi _0804AD66
|
||||||
|
lsls r0, r1, #2
|
||||||
|
ldr r1, _0804AD34 @ =_0804AD38
|
||||||
|
adds r0, r0, r1
|
||||||
|
ldr r0, [r0]
|
||||||
|
mov pc, r0
|
||||||
|
.align 2, 0
|
||||||
|
_0804AD30: .4byte gUnk_02033A90
|
||||||
|
_0804AD34: .4byte _0804AD38
|
||||||
|
_0804AD38: @ jump table
|
||||||
|
.4byte _0804AD54 @ case 0
|
||||||
|
.4byte _0804AD54 @ case 1
|
||||||
|
.4byte _0804AD54 @ case 2
|
||||||
|
.4byte _0804AD66 @ case 3
|
||||||
|
.4byte _0804AD66 @ case 4
|
||||||
|
.4byte _0804AD66 @ case 5
|
||||||
|
.4byte _0804AD62 @ case 6
|
||||||
|
_0804AD54:
|
||||||
|
ldrb r0, [r2, #0x17]
|
||||||
|
adds r0, #0x5e
|
||||||
|
bl GetProgressFlag
|
||||||
|
adds r1, r0, #0
|
||||||
|
cmp r1, #0
|
||||||
|
bne _0804AD68
|
||||||
|
_0804AD62:
|
||||||
|
movs r0, #0
|
||||||
|
b _0804AD68
|
||||||
|
_0804AD66:
|
||||||
|
movs r0, #0
|
||||||
|
_0804AD68:
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AD6C
|
||||||
|
sub_0804AD6C: @ 0x0804AD6C
|
||||||
|
push {r4, r5, r6, lr}
|
||||||
|
mov r6, r8
|
||||||
|
push {r6}
|
||||||
|
ldr r3, _0804ADD0 @ =gUnk_030010A0
|
||||||
|
movs r1, #0
|
||||||
|
movs r6, #1
|
||||||
|
strb r6, [r3, #8]
|
||||||
|
strb r1, [r3, #9]
|
||||||
|
ldr r4, _0804ADD4 @ =gUnk_02033A90
|
||||||
|
ldr r5, _0804ADD8 @ =gUnk_080D4140
|
||||||
|
ldrb r1, [r4, #0x16]
|
||||||
|
lsls r1, r1, #2
|
||||||
|
adds r1, r1, r5
|
||||||
|
ldrh r1, [r1]
|
||||||
|
ldrh r2, [r4, #0x12]
|
||||||
|
adds r1, r1, r2
|
||||||
|
ldrh r2, [r0, #6]
|
||||||
|
subs r1, r1, r2
|
||||||
|
movs r2, #0
|
||||||
|
mov r8, r2
|
||||||
|
strh r1, [r3, #0x10]
|
||||||
|
ldrb r1, [r4, #0x16]
|
||||||
|
lsls r1, r1, #1
|
||||||
|
adds r1, #1
|
||||||
|
lsls r1, r1, #1
|
||||||
|
adds r1, r1, r5
|
||||||
|
ldrh r1, [r1]
|
||||||
|
ldrh r2, [r4, #0x14]
|
||||||
|
adds r1, r1, r2
|
||||||
|
ldrh r2, [r0, #8]
|
||||||
|
subs r1, r1, r2
|
||||||
|
strh r1, [r3, #0x12]
|
||||||
|
ldrb r1, [r4, #0x16]
|
||||||
|
lsls r1, r1, #1
|
||||||
|
strb r1, [r3, #0xe]
|
||||||
|
strb r6, [r3, #0xf]
|
||||||
|
ldrb r1, [r0, #4]
|
||||||
|
strb r1, [r3, #0xc]
|
||||||
|
ldrb r0, [r0, #5]
|
||||||
|
strb r0, [r3, #0xd]
|
||||||
|
mov r0, r8
|
||||||
|
strb r0, [r3, #0x14]
|
||||||
|
bl sub_080300AC
|
||||||
|
bl sub_080300C4
|
||||||
|
pop {r3}
|
||||||
|
mov r8, r3
|
||||||
|
pop {r4, r5, r6, pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804ADD0: .4byte gUnk_030010A0
|
||||||
|
_0804ADD4: .4byte gUnk_02033A90
|
||||||
|
_0804ADD8: .4byte gUnk_080D4140
|
|
@ -0,0 +1,198 @@
|
||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
|
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AEB0
|
||||||
|
sub_0804AEB0: @ 0x0804AEB0
|
||||||
|
push {r4, r5, r6, lr}
|
||||||
|
adds r5, r0, #0
|
||||||
|
adds r6, r1, #0
|
||||||
|
ldrb r0, [r6, #1]
|
||||||
|
movs r1, #0xf
|
||||||
|
adds r2, r1, #0
|
||||||
|
ands r2, r0
|
||||||
|
ldrb r0, [r6]
|
||||||
|
adds r4, r1, #0
|
||||||
|
ands r4, r0
|
||||||
|
ldr r0, [r5]
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804AEF6
|
||||||
|
cmp r2, #0xf
|
||||||
|
bne _0804AEE0
|
||||||
|
ldr r0, _0804AEDC @ =gUnk_081091E4
|
||||||
|
adds r0, r4, r0
|
||||||
|
ldrb r1, [r0]
|
||||||
|
adds r0, r5, #0
|
||||||
|
bl sub_0805EA2C
|
||||||
|
b _0804AEF6
|
||||||
|
.align 2, 0
|
||||||
|
_0804AEDC: .4byte gUnk_081091E4
|
||||||
|
_0804AEE0:
|
||||||
|
cmp r2, #8
|
||||||
|
bne _0804AEEE
|
||||||
|
adds r0, r5, #0
|
||||||
|
movs r1, #8
|
||||||
|
bl sub_0805EA2C
|
||||||
|
b _0804AEF6
|
||||||
|
_0804AEEE:
|
||||||
|
adds r0, r5, #0
|
||||||
|
adds r1, r2, #0
|
||||||
|
bl sub_0805EA2C
|
||||||
|
_0804AEF6:
|
||||||
|
adds r1, r5, #0
|
||||||
|
adds r1, #0x78
|
||||||
|
cmp r4, #9
|
||||||
|
bne _0804AF00
|
||||||
|
subs r1, #0x48
|
||||||
|
_0804AF00:
|
||||||
|
adds r0, r6, #0
|
||||||
|
movs r2, #0x10
|
||||||
|
bl sub_0801D66C
|
||||||
|
pop {r4, r5, r6, pc}
|
||||||
|
.align 2, 0
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AF0C
|
||||||
|
sub_0804AF0C: @ 0x0804AF0C
|
||||||
|
push {r4, lr}
|
||||||
|
adds r4, r0, #0
|
||||||
|
adds r2, r1, #0
|
||||||
|
ldrb r0, [r2, #1]
|
||||||
|
movs r1, #0xf0
|
||||||
|
ands r1, r0
|
||||||
|
cmp r1, #0x20
|
||||||
|
beq _0804AF40
|
||||||
|
cmp r1, #0x20
|
||||||
|
bgt _0804AF26
|
||||||
|
cmp r1, #0
|
||||||
|
beq _0804AF2C
|
||||||
|
b _0804AF88
|
||||||
|
_0804AF26:
|
||||||
|
cmp r1, #0x40
|
||||||
|
beq _0804AF64
|
||||||
|
b _0804AF88
|
||||||
|
_0804AF2C:
|
||||||
|
ldr r0, _0804AF3C @ =gUnk_03000BF0
|
||||||
|
ldrh r1, [r0, #6]
|
||||||
|
ldrh r3, [r2, #8]
|
||||||
|
adds r1, r1, r3
|
||||||
|
strh r1, [r4, #0x2e]
|
||||||
|
ldrh r0, [r0, #8]
|
||||||
|
b _0804AF58
|
||||||
|
.align 2, 0
|
||||||
|
_0804AF3C: .4byte gUnk_03000BF0
|
||||||
|
_0804AF40:
|
||||||
|
adds r3, r4, #0
|
||||||
|
adds r3, #0x6d
|
||||||
|
ldrb r1, [r3]
|
||||||
|
movs r0, #0x20
|
||||||
|
orrs r0, r1
|
||||||
|
strb r0, [r3]
|
||||||
|
ldr r1, _0804AF60 @ =gUnk_03000BF0
|
||||||
|
ldrh r0, [r1, #6]
|
||||||
|
ldrh r3, [r2, #8]
|
||||||
|
adds r0, r0, r3
|
||||||
|
strh r0, [r4, #0x2e]
|
||||||
|
ldrh r0, [r1, #8]
|
||||||
|
_0804AF58:
|
||||||
|
ldrh r2, [r2, #0xa]
|
||||||
|
adds r0, r0, r2
|
||||||
|
strh r0, [r4, #0x32]
|
||||||
|
b _0804AF88
|
||||||
|
.align 2, 0
|
||||||
|
_0804AF60: .4byte gUnk_03000BF0
|
||||||
|
_0804AF64:
|
||||||
|
ldr r1, _0804AF8C @ =gUnk_03000BF0
|
||||||
|
ldrh r0, [r1, #6]
|
||||||
|
ldrh r3, [r2, #8]
|
||||||
|
adds r0, r0, r3
|
||||||
|
strh r0, [r4, #0x2e]
|
||||||
|
ldrh r0, [r1, #8]
|
||||||
|
ldrh r1, [r2, #0xa]
|
||||||
|
adds r0, r0, r1
|
||||||
|
strh r0, [r4, #0x32]
|
||||||
|
ldr r1, [r2, #0xc]
|
||||||
|
adds r0, r4, #0
|
||||||
|
bl sub_0807DAD0
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804AF88
|
||||||
|
adds r0, r4, #0
|
||||||
|
bl sub_0805E7BC
|
||||||
|
_0804AF88:
|
||||||
|
pop {r4, pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AF8C: .4byte gUnk_03000BF0
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AF90
|
||||||
|
sub_0804AF90: @ 0x0804AF90
|
||||||
|
push {lr}
|
||||||
|
ldr r0, _0804AFA8 @ =gUnk_02033A90
|
||||||
|
ldr r1, _0804AFAC @ =0x0000085C
|
||||||
|
adds r0, r0, r1
|
||||||
|
ldr r0, [r0]
|
||||||
|
ldr r0, [r0, #0x1c]
|
||||||
|
bl sub_0804AFB0
|
||||||
|
bl sub_080A7C7C
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AFA8: .4byte gUnk_02033A90
|
||||||
|
_0804AFAC: .4byte 0x0000085C
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AFB0
|
||||||
|
sub_0804AFB0: @ 0x0804AFB0
|
||||||
|
push {r4, lr}
|
||||||
|
ldr r1, _0804AFD4 @ =gUnk_02017654
|
||||||
|
str r0, [r1]
|
||||||
|
movs r2, #0
|
||||||
|
ldr r0, _0804AFD8 @ =gUnk_02034350
|
||||||
|
adds r3, r1, #0
|
||||||
|
adds r4, r0, #0
|
||||||
|
adds r4, #0x6c
|
||||||
|
_0804AFC0:
|
||||||
|
lsls r0, r2, #2
|
||||||
|
ldr r1, [r3]
|
||||||
|
adds r0, r0, r1
|
||||||
|
ldr r0, [r0]
|
||||||
|
stm r4!, {r0}
|
||||||
|
adds r2, #1
|
||||||
|
cmp r2, #7
|
||||||
|
bls _0804AFC0
|
||||||
|
pop {r4, pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804AFD4: .4byte gUnk_02017654
|
||||||
|
_0804AFD8: .4byte gUnk_02034350
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AFDC
|
||||||
|
sub_0804AFDC: @ 0x0804AFDC
|
||||||
|
push {r4, lr}
|
||||||
|
movs r4, #1
|
||||||
|
movs r0, #6
|
||||||
|
bl sub_0804B128
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804AFF0
|
||||||
|
bl _call_via_r0
|
||||||
|
adds r4, r0, #0
|
||||||
|
_0804AFF0:
|
||||||
|
adds r0, r4, #0
|
||||||
|
pop {r4, pc}
|
||||||
|
|
||||||
|
thumb_func_start sub_0804AFF4
|
||||||
|
sub_0804AFF4: @ 0x0804AFF4
|
||||||
|
push {lr}
|
||||||
|
bl sub_080186EC
|
||||||
|
movs r0, #5
|
||||||
|
bl sub_0804B128
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804B008
|
||||||
|
bl _call_via_r0
|
||||||
|
_0804B008:
|
||||||
|
movs r0, #7
|
||||||
|
bl sub_0804B128
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804B016
|
||||||
|
bl _call_via_r0
|
||||||
|
_0804B016:
|
||||||
|
bl sub_0804B16C
|
||||||
|
pop {pc}
|
16164
asm/code_0804B058.s
16164
asm/code_0804B058.s
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -2040,7 +2040,7 @@ sub_080535AC: @ 0x080535AC
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
strh r0, [r2]
|
strh r0, [r2]
|
||||||
ldr r0, _080535F0 @ =gUnk_080FCB94
|
ldr r0, _080535F0 @ =gUnk_080FCB94
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r0, #6
|
movs r0, #6
|
||||||
movs r1, #8
|
movs r1, #8
|
||||||
bl sub_08050054
|
bl sub_08050054
|
||||||
|
@ -2222,7 +2222,7 @@ sub_0805370C: @ 0x0805370C
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
bl sub_08051FF0
|
bl sub_08051FF0
|
||||||
ldr r0, _08053738 @ =gUnk_080FCC54
|
ldr r0, _08053738 @ =gUnk_080FCC54
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r0, #4
|
movs r0, #4
|
||||||
movs r1, #0x10
|
movs r1, #0x10
|
||||||
bl sub_08050054
|
bl sub_08050054
|
||||||
|
@ -2517,7 +2517,7 @@ sub_08053974: @ 0x08053974
|
||||||
bl sub_080197AC
|
bl sub_080197AC
|
||||||
bl sub_08051F78
|
bl sub_08051F78
|
||||||
ldr r0, _080539B0 @ =gUnk_080FCBC4
|
ldr r0, _080539B0 @ =gUnk_080FCBC4
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r1, #0x80
|
movs r1, #0x80
|
||||||
lsls r1, r1, #1
|
lsls r1, r1, #1
|
||||||
movs r0, #5
|
movs r0, #5
|
||||||
|
@ -2552,7 +2552,7 @@ sub_080539BC: @ 0x080539BC
|
||||||
movs r1, #0x11
|
movs r1, #0x11
|
||||||
bl sub_0804B0B0
|
bl sub_0804B0B0
|
||||||
ldr r0, _080539EC @ =gUnk_080FCC14
|
ldr r0, _080539EC @ =gUnk_080FCC14
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldr r1, _080539F0 @ =gUnk_02000080
|
ldr r1, _080539F0 @ =gUnk_02000080
|
||||||
ldrb r0, [r1, #6]
|
ldrb r0, [r1, #6]
|
||||||
adds r0, #1
|
adds r0, #1
|
||||||
|
@ -2687,7 +2687,7 @@ sub_08053ACC: @ 0x08053ACC
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
bl sub_08051FF0
|
bl sub_08051FF0
|
||||||
ldr r0, _08053AFC @ =gUnk_080FCD84
|
ldr r0, _08053AFC @ =gUnk_080FCD84
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r1, #0x80
|
movs r1, #0x80
|
||||||
lsls r1, r1, #1
|
lsls r1, r1, #1
|
||||||
movs r0, #5
|
movs r0, #5
|
||||||
|
@ -2771,7 +2771,7 @@ sub_08053B74: @ 0x08053B74
|
||||||
movs r0, #1
|
movs r0, #1
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
ldr r0, _08053BA8 @ =gUnk_080FCDE0
|
ldr r0, _08053BA8 @ =gUnk_080FCDE0
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
bl sub_0805E5B4
|
bl sub_0805E5B4
|
||||||
bl sub_0805E470
|
bl sub_0805E470
|
||||||
movs r1, #0x80
|
movs r1, #0x80
|
||||||
|
@ -2860,7 +2860,7 @@ sub_08053C20: @ 0x08053C20
|
||||||
movs r0, #4
|
movs r0, #4
|
||||||
bl sub_0805B4D0
|
bl sub_0805B4D0
|
||||||
ldr r0, _08053C58 @ =gUnk_080FCEBC
|
ldr r0, _08053C58 @ =gUnk_080FCEBC
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r0, #4
|
movs r0, #4
|
||||||
movs r1, #0x10
|
movs r1, #0x10
|
||||||
bl sub_08050054
|
bl sub_08050054
|
||||||
|
@ -2944,17 +2944,17 @@ sub_08053CC8: @ 0x08053CC8
|
||||||
adds r0, #8
|
adds r0, #8
|
||||||
str r0, [r6, #0xc]
|
str r0, [r6, #0xc]
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
ldrb r1, [r4, #5]
|
ldrb r1, [r4, #5]
|
||||||
movs r2, #1
|
movs r2, #1
|
||||||
bl sub_0804B0FC
|
bl sub_0804B0FC
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
ldrb r1, [r4, #5]
|
ldrb r1, [r4, #5]
|
||||||
movs r2, #2
|
movs r2, #2
|
||||||
bl sub_0804B0FC
|
bl sub_0804B0FC
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r5, #1
|
movs r5, #1
|
||||||
strb r5, [r6, #6]
|
strb r5, [r6, #6]
|
||||||
ldr r2, _08053D28 @ =gUnk_03000F50
|
ldr r2, _08053D28 @ =gUnk_03000F50
|
||||||
|
@ -3075,17 +3075,17 @@ sub_08053DB4: @ 0x08053DB4
|
||||||
adds r0, r0, r2
|
adds r0, r0, r2
|
||||||
strh r0, [r1, #0xc]
|
strh r0, [r1, #0xc]
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
ldrb r1, [r4, #5]
|
ldrb r1, [r4, #5]
|
||||||
movs r2, #1
|
movs r2, #1
|
||||||
bl sub_0804B0FC
|
bl sub_0804B0FC
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
ldrb r1, [r4, #5]
|
ldrb r1, [r4, #5]
|
||||||
movs r2, #2
|
movs r2, #2
|
||||||
bl sub_0804B0FC
|
bl sub_0804B0FC
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r0, #0x78
|
movs r0, #0x78
|
||||||
strh r0, [r5, #8]
|
strh r0, [r5, #8]
|
||||||
ldrb r0, [r5, #6]
|
ldrb r0, [r5, #6]
|
||||||
|
@ -3146,7 +3146,7 @@ sub_08053E74: @ 0x08053E74
|
||||||
ldr r4, _08053EB4 @ =gUnk_02000080
|
ldr r4, _08053EB4 @ =gUnk_02000080
|
||||||
str r0, [r4, #0xc]
|
str r0, [r4, #0xc]
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r0, #0x78
|
movs r0, #0x78
|
||||||
strh r0, [r4, #8]
|
strh r0, [r4, #8]
|
||||||
movs r0, #0x3c
|
movs r0, #0x3c
|
||||||
|
@ -3194,7 +3194,7 @@ sub_08053EC4: @ 0x08053EC4
|
||||||
adds r0, #0xc
|
adds r0, #0xc
|
||||||
str r0, [r4, #0xc]
|
str r0, [r4, #0xc]
|
||||||
ldr r0, [r1, #4]
|
ldr r0, [r1, #4]
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #6]
|
ldrb r0, [r4, #6]
|
||||||
adds r0, #1
|
adds r0, #1
|
||||||
strb r0, [r4, #6]
|
strb r0, [r4, #6]
|
||||||
|
@ -3253,7 +3253,7 @@ sub_08053F20: @ 0x08053F20
|
||||||
adds r0, r0, r2
|
adds r0, r0, r2
|
||||||
strh r0, [r1, #0xc]
|
strh r0, [r1, #0xc]
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r0, #0x78
|
movs r0, #0x78
|
||||||
strh r0, [r5, #8]
|
strh r0, [r5, #8]
|
||||||
movs r0, #0x3c
|
movs r0, #0x3c
|
||||||
|
@ -4441,7 +4441,7 @@ _08054838:
|
||||||
_08054842:
|
_08054842:
|
||||||
movs r0, #7
|
movs r0, #7
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
bl sub_0804AA60
|
bl CreateEnemy
|
||||||
adds r2, r0, #0
|
adds r2, r0, #0
|
||||||
cmp r2, #0
|
cmp r2, #0
|
||||||
beq _0805486A
|
beq _0805486A
|
||||||
|
@ -5133,7 +5133,7 @@ sub_08054DAC: @ 0x08054DAC
|
||||||
ldrb r1, [r1, #3]
|
ldrb r1, [r1, #3]
|
||||||
bl sub_0804B0B0
|
bl sub_0804B0B0
|
||||||
ldr r0, _08054DF4 @ =gUnk_080FEED4
|
ldr r0, _08054DF4 @ =gUnk_080FEED4
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r0, #2
|
movs r0, #2
|
||||||
bl sub_0805B4D0
|
bl sub_0805B4D0
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
|
@ -5394,7 +5394,7 @@ sub_08054FAC: @ 0x08054FAC
|
||||||
lsls r0, r0, #2
|
lsls r0, r0, #2
|
||||||
adds r0, r0, r1
|
adds r0, r0, r1
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r5, #1]
|
ldrb r0, [r5, #1]
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
|
@ -5472,7 +5472,7 @@ _08055050: .4byte gUnk_02000080
|
||||||
sub_08055054: @ 0x08055054
|
sub_08055054: @ 0x08055054
|
||||||
push {r4, lr}
|
push {r4, lr}
|
||||||
ldr r0, _08055080 @ =gUnk_080FF128
|
ldr r0, _08055080 @ =gUnk_080FF128
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldr r4, _08055084 @ =gUnk_02000080
|
ldr r4, _08055084 @ =gUnk_02000080
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
movs r1, #2
|
movs r1, #2
|
||||||
|
@ -5528,7 +5528,7 @@ sub_080550B0: @ 0x080550B0
|
||||||
ldrb r1, [r1, #3]
|
ldrb r1, [r1, #3]
|
||||||
bl sub_0804B0B0
|
bl sub_0804B0B0
|
||||||
ldr r0, _080550EC @ =gUnk_080FF154
|
ldr r0, _080550EC @ =gUnk_080FF154
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
movs r2, #0
|
movs r2, #0
|
||||||
|
@ -5573,7 +5573,7 @@ _08055110: .4byte gUnk_02000080
|
||||||
sub_08055114: @ 0x08055114
|
sub_08055114: @ 0x08055114
|
||||||
push {r4, lr}
|
push {r4, lr}
|
||||||
ldr r0, _08055150 @ =gUnk_080FF17C
|
ldr r0, _08055150 @ =gUnk_080FF17C
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldr r0, _08055154 @ =gUnk_02002A40
|
ldr r0, _08055154 @ =gUnk_02002A40
|
||||||
ldrb r0, [r0, #8]
|
ldrb r0, [r0, #8]
|
||||||
cmp r0, #9
|
cmp r0, #9
|
||||||
|
@ -6308,7 +6308,7 @@ sub_080556AC: @ 0x080556AC
|
||||||
ldrb r1, [r1, #3]
|
ldrb r1, [r1, #3]
|
||||||
bl sub_0804B0B0
|
bl sub_0804B0B0
|
||||||
ldr r0, _080556EC @ =gUnk_080FF264
|
ldr r0, _080556EC @ =gUnk_080FF264
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
movs r2, #0
|
movs r2, #0
|
||||||
|
@ -6352,7 +6352,7 @@ sub_08055710: @ 0x08055710
|
||||||
ldrb r1, [r1, #3]
|
ldrb r1, [r1, #3]
|
||||||
bl sub_0804B0B0
|
bl sub_0804B0B0
|
||||||
ldr r0, _08055760 @ =gUnk_080FEE48
|
ldr r0, _08055760 @ =gUnk_080FEE48
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
adds r1, r0, #0
|
adds r1, r0, #0
|
||||||
cmp r1, #0
|
cmp r1, #0
|
||||||
beq _08055734
|
beq _08055734
|
||||||
|
@ -6456,7 +6456,7 @@ sub_080557D0: @ 0x080557D0
|
||||||
ldrb r1, [r1, #3]
|
ldrb r1, [r1, #3]
|
||||||
bl sub_0804B0B0
|
bl sub_0804B0B0
|
||||||
ldr r0, _08055810 @ =gUnk_080FF298
|
ldr r0, _08055810 @ =gUnk_080FF298
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
movs r2, #0
|
movs r2, #0
|
||||||
|
@ -6495,7 +6495,7 @@ _08055830: .4byte gUnk_02000080
|
||||||
sub_08055834: @ 0x08055834
|
sub_08055834: @ 0x08055834
|
||||||
push {r4, lr}
|
push {r4, lr}
|
||||||
ldr r0, _08055870 @ =gUnk_080FF2C0
|
ldr r0, _08055870 @ =gUnk_080FF2C0
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldr r0, _08055874 @ =gUnk_02002A40
|
ldr r0, _08055874 @ =gUnk_02002A40
|
||||||
ldrb r0, [r0, #8]
|
ldrb r0, [r0, #8]
|
||||||
cmp r0, #9
|
cmp r0, #9
|
||||||
|
@ -6555,7 +6555,7 @@ sub_080558A4: @ 0x080558A4
|
||||||
ldrb r1, [r1, #3]
|
ldrb r1, [r1, #3]
|
||||||
bl sub_0804B0B0
|
bl sub_0804B0B0
|
||||||
ldr r0, _080558E0 @ =gUnk_080FF308
|
ldr r0, _080558E0 @ =gUnk_080FF308
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
movs r2, #0
|
movs r2, #0
|
||||||
|
@ -6730,7 +6730,7 @@ sub_080559FC: @ 0x080559FC
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
beq _08055A0E
|
beq _08055A0E
|
||||||
ldr r0, _08055A34 @ =gUnk_080FF33C
|
ldr r0, _08055A34 @ =gUnk_080FF33C
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
_08055A0E:
|
_08055A0E:
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
|
@ -6857,7 +6857,7 @@ sub_08055AEC: @ 0x08055AEC
|
||||||
lsls r0, r0, #4
|
lsls r0, r0, #4
|
||||||
ldr r1, _08055B30 @ =gUnk_080FED18
|
ldr r1, _08055B30 @ =gUnk_080FED18
|
||||||
adds r0, r0, r1
|
adds r0, r0, r1
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
adds r1, r0, #0
|
adds r1, r0, #0
|
||||||
cmp r1, #0
|
cmp r1, #0
|
||||||
beq _08055B14
|
beq _08055B14
|
||||||
|
@ -6924,7 +6924,7 @@ sub_08055B70: @ 0x08055B70
|
||||||
lsls r0, r0, #4
|
lsls r0, r0, #4
|
||||||
ldr r1, _08055BA8 @ =gUnk_080FF378
|
ldr r1, _08055BA8 @ =gUnk_080FF378
|
||||||
adds r0, r0, r1
|
adds r0, r0, r1
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
adds r3, r0, #0
|
adds r3, r0, #0
|
||||||
cmp r3, #0
|
cmp r3, #0
|
||||||
beq _08055BA2
|
beq _08055BA2
|
||||||
|
@ -7283,7 +7283,7 @@ sub_08055E24: @ 0x08055E24
|
||||||
ldrb r1, [r1, #3]
|
ldrb r1, [r1, #3]
|
||||||
bl sub_0804B0B0
|
bl sub_0804B0B0
|
||||||
ldr r0, _08055E64 @ =gUnk_080FF400
|
ldr r0, _08055E64 @ =gUnk_080FF400
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
ldrb r0, [r4, #4]
|
ldrb r0, [r4, #4]
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
movs r2, #0
|
movs r2, #0
|
||||||
|
|
64276
asm/code_08055FF4.s
64276
asm/code_08055FF4.s
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -2949,7 +2949,7 @@ sub_0807E148: @ 0x0807E148
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, [r1]
|
ldr r0, [r1]
|
||||||
bl sub_08016998
|
bl sub_08016998
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
pop {pc}
|
pop {pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
|
|
||||||
|
@ -63425,7 +63425,7 @@ sub_0809AB04: @ 0x0809AB04
|
||||||
_0809AB22:
|
_0809AB22:
|
||||||
movs r0, #0x36
|
movs r0, #0x36
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
bl sub_0804AA60
|
bl CreateEnemy
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
cmp r4, #0
|
cmp r4, #0
|
||||||
beq _0809AB9C
|
beq _0809AB9C
|
||||||
|
@ -63739,14 +63739,14 @@ sub_0809AD68: @ 0x0809AD68
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
ldrb r0, [r4, #0xa]
|
ldrb r0, [r4, #0xa]
|
||||||
bl sub_0804B128
|
bl sub_0804B128
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
movs r0, #0x17
|
movs r0, #0x17
|
||||||
bl sub_0807CA84
|
bl sub_0807CA84
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
beq _0809AD8A
|
beq _0809AD8A
|
||||||
ldrb r0, [r4, #0xb]
|
ldrb r0, [r4, #0xb]
|
||||||
bl sub_0804B128
|
bl sub_0804B128
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
_0809AD8A:
|
_0809AD8A:
|
||||||
pop {r4, pc}
|
pop {r4, pc}
|
||||||
|
|
||||||
|
@ -73042,7 +73042,7 @@ sub_0809F5B0: @ 0x0809F5B0
|
||||||
movs r0, #0x24
|
movs r0, #0x24
|
||||||
bl sub_0807CD04
|
bl sub_0807CD04
|
||||||
ldr r0, _0809F5D8 @ =gUnk_080DD750
|
ldr r0, _0809F5D8 @ =gUnk_080DD750
|
||||||
bl sub_0804ADDC
|
bl LoadRoomEntityList
|
||||||
bl sub_0805E780
|
bl sub_0805E780
|
||||||
_0809F5D4:
|
_0809F5D4:
|
||||||
pop {pc}
|
pop {pc}
|
||||||
|
@ -77290,7 +77290,7 @@ _080A15BC:
|
||||||
ldrsh r1, [r5, r0]
|
ldrsh r1, [r5, r0]
|
||||||
subs r1, #1
|
subs r1, #1
|
||||||
movs r0, #0x41
|
movs r0, #0x41
|
||||||
bl sub_0804AA60
|
bl CreateEnemy
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
cmp r4, #0
|
cmp r4, #0
|
||||||
beq _080A15E6
|
beq _080A15E6
|
||||||
|
@ -77479,13 +77479,13 @@ _080A171E:
|
||||||
str r0, [r7]
|
str r0, [r7]
|
||||||
movs r0, #0x5c
|
movs r0, #0x5c
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
bl sub_0804AA60
|
bl CreateEnemy
|
||||||
adds r1, r0, #0
|
adds r1, r0, #0
|
||||||
str r7, [r1, #0x64]
|
str r7, [r1, #0x64]
|
||||||
str r1, [r7, #4]
|
str r1, [r7, #4]
|
||||||
movs r0, #0x5d
|
movs r0, #0x5d
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
bl sub_0804AA60
|
bl CreateEnemy
|
||||||
adds r1, r0, #0
|
adds r1, r0, #0
|
||||||
ldr r4, _080A182C @ =gUnk_03000BF0
|
ldr r4, _080A182C @ =gUnk_03000BF0
|
||||||
movs r2, #0x80
|
movs r2, #0x80
|
||||||
|
@ -77504,7 +77504,7 @@ _080A171E:
|
||||||
str r1, [r7, #8]
|
str r1, [r7, #8]
|
||||||
movs r0, #0x5d
|
movs r0, #0x5d
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
bl sub_0804AA60
|
bl CreateEnemy
|
||||||
adds r1, r0, #0
|
adds r1, r0, #0
|
||||||
movs r2, #0x98
|
movs r2, #0x98
|
||||||
lsls r2, r2, #2
|
lsls r2, r2, #2
|
||||||
|
@ -78485,7 +78485,7 @@ sub_080A1ED0: @ 0x080A1ED0
|
||||||
_080A1F1C:
|
_080A1F1C:
|
||||||
movs r0, #0x60
|
movs r0, #0x60
|
||||||
mov r1, sb
|
mov r1, sb
|
||||||
bl sub_0804AA60
|
bl CreateEnemy
|
||||||
adds r2, r0, #0
|
adds r2, r0, #0
|
||||||
cmp r2, #0
|
cmp r2, #0
|
||||||
beq _080A1FA6
|
beq _080A1FA6
|
||||||
|
|
|
@ -3581,7 +3581,7 @@ _080A4544:
|
||||||
bne _080A45A2
|
bne _080A45A2
|
||||||
ldrb r0, [r2, #9]
|
ldrb r0, [r2, #9]
|
||||||
ldrb r1, [r2, #0xa]
|
ldrb r1, [r2, #0xa]
|
||||||
bl sub_0804AA60
|
bl CreateEnemy
|
||||||
_080A4550:
|
_080A4550:
|
||||||
adds r4, r0, #0
|
adds r4, r0, #0
|
||||||
cmp r4, #0
|
cmp r4, #0
|
||||||
|
@ -16248,7 +16248,7 @@ sub_080AA654: @ 0x080AA654
|
||||||
adds r0, #8
|
adds r0, #8
|
||||||
strh r0, [r4, #0xa]
|
strh r0, [r4, #0xa]
|
||||||
adds r0, r4, #0
|
adds r0, r4, #0
|
||||||
bl sub_0804ADF8
|
bl CreateEntity
|
||||||
pop {r4, r5, pc}
|
pop {r4, r5, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080AA688: .4byte gUnk_0812A004
|
_080AA688: .4byte gUnk_0812A004
|
||||||
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
|
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
thumb_func_start CreateEntity
|
||||||
|
CreateEntity: @ 0x0804ADF8
|
||||||
|
push {r4, r5, r6, r7, lr}
|
||||||
|
adds r4, r0, #0
|
||||||
|
ldrb r0, [r4]
|
||||||
|
movs r6, #0xf
|
||||||
|
ands r6, r0
|
||||||
|
ldrb r1, [r4, #1]
|
||||||
|
movs r0, #0xf0
|
||||||
|
ands r0, r1
|
||||||
|
cmp r0, #0x50
|
||||||
|
bne _0804AE1C
|
||||||
|
ldrb r1, [r4, #2]
|
||||||
|
adds r0, r6, #0
|
||||||
|
bl sub_0805EB9C
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804AE1C
|
||||||
|
movs r0, #0
|
||||||
|
b _0804AEAC
|
||||||
|
_0804AE1C:
|
||||||
|
adds r0, r6, #0
|
||||||
|
bl sub_0805E768
|
||||||
|
adds r5, r0, #0
|
||||||
|
cmp r5, #0
|
||||||
|
beq _0804AEAA
|
||||||
|
strb r6, [r5, #8]
|
||||||
|
ldrb r0, [r4, #2]
|
||||||
|
strb r0, [r5, #9]
|
||||||
|
ldrb r0, [r4, #3]
|
||||||
|
strb r0, [r5, #0xa]
|
||||||
|
adds r0, r5, #0
|
||||||
|
adds r1, r4, #0
|
||||||
|
bl sub_0804AEB0
|
||||||
|
ldrb r1, [r4, #1]
|
||||||
|
movs r7, #0xf0
|
||||||
|
adds r0, r7, #0
|
||||||
|
ands r0, r1
|
||||||
|
cmp r0, #0x10
|
||||||
|
beq _0804AEAA
|
||||||
|
ldrb r0, [r4, #4]
|
||||||
|
strb r0, [r5, #0xb]
|
||||||
|
ldr r0, [r4, #4]
|
||||||
|
movs r1, #0xff
|
||||||
|
lsls r1, r1, #8
|
||||||
|
ands r0, r1
|
||||||
|
lsrs r0, r0, #8
|
||||||
|
strb r0, [r5, #0xe]
|
||||||
|
cmp r6, #9
|
||||||
|
beq _0804AEAA
|
||||||
|
adds r0, r5, #0
|
||||||
|
adds r1, r4, #0
|
||||||
|
bl sub_0804AF0C
|
||||||
|
ldr r0, [r5, #4]
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804AEAA
|
||||||
|
ldrb r0, [r4]
|
||||||
|
adds r2, r7, #0
|
||||||
|
ands r2, r0
|
||||||
|
movs r0, #0x10
|
||||||
|
ands r0, r2
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804AE94
|
||||||
|
movs r0, #0x20
|
||||||
|
ands r2, r0
|
||||||
|
cmp r2, #0
|
||||||
|
beq _0804AE88
|
||||||
|
adds r1, r5, #0
|
||||||
|
adds r1, #0x38
|
||||||
|
movs r0, #2
|
||||||
|
strb r0, [r1]
|
||||||
|
b _0804AEAA
|
||||||
|
_0804AE88:
|
||||||
|
ldr r0, _0804AEA0 @ =gUnk_03000BF0
|
||||||
|
ldrb r1, [r0, #0xf]
|
||||||
|
movs r0, #2
|
||||||
|
ands r0, r1
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804AEA4
|
||||||
|
_0804AE94:
|
||||||
|
adds r1, r5, #0
|
||||||
|
adds r1, #0x38
|
||||||
|
movs r0, #1
|
||||||
|
strb r0, [r1]
|
||||||
|
b _0804AEAA
|
||||||
|
.align 2, 0
|
||||||
|
_0804AEA0: .4byte gUnk_03000BF0
|
||||||
|
_0804AEA4:
|
||||||
|
adds r0, r5, #0
|
||||||
|
bl sub_08016A30
|
||||||
|
_0804AEAA:
|
||||||
|
adds r0, r5, #0
|
||||||
|
_0804AEAC:
|
||||||
|
pop {r4, r5, r6, r7, pc}
|
||||||
|
.align 2, 0
|
|
@ -0,0 +1,113 @@
|
||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
|
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
thumb_func_start sub_0805E678
|
||||||
|
sub_0805E678: @ 0x0805E678
|
||||||
|
push {r4, r5, r6, r7, lr}
|
||||||
|
mov r7, r8
|
||||||
|
push {r7}
|
||||||
|
ldr r0, _0805E698 @ =gUnk_03003DBC
|
||||||
|
ldrb r0, [r0]
|
||||||
|
cmp r0, #0x46
|
||||||
|
bhi _0805E6A6
|
||||||
|
ldr r4, _0805E69C @ =gUnk_030015A0
|
||||||
|
movs r0, #0x99
|
||||||
|
lsls r0, r0, #6
|
||||||
|
adds r1, r4, r0
|
||||||
|
_0805E68E:
|
||||||
|
ldr r0, [r4]
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0805E6A0
|
||||||
|
adds r0, r4, #0
|
||||||
|
b _0805E730
|
||||||
|
.align 2, 0
|
||||||
|
_0805E698: .4byte gUnk_03003DBC
|
||||||
|
_0805E69C: .4byte gUnk_030015A0
|
||||||
|
_0805E6A0:
|
||||||
|
adds r4, #0x88
|
||||||
|
cmp r4, r1
|
||||||
|
blo _0805E68E
|
||||||
|
_0805E6A6:
|
||||||
|
ldr r4, _0805E6CC @ =gLinkEntity
|
||||||
|
_0805E6A8:
|
||||||
|
ldr r0, [r4]
|
||||||
|
cmp r0, #0
|
||||||
|
bge _0805E6D4
|
||||||
|
ldrb r1, [r4, #0x10]
|
||||||
|
movs r0, #0xc
|
||||||
|
ands r0, r1
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0805E6D4
|
||||||
|
ldr r0, _0805E6D0 @ =gUnk_03003DD0
|
||||||
|
ldr r0, [r0, #8]
|
||||||
|
cmp r4, r0
|
||||||
|
beq _0805E6D4
|
||||||
|
adds r0, r4, #0
|
||||||
|
bl sub_0805E870
|
||||||
|
adds r0, r4, #0
|
||||||
|
b _0805E730
|
||||||
|
.align 2, 0
|
||||||
|
_0805E6CC: .4byte gLinkEntity
|
||||||
|
_0805E6D0: .4byte gUnk_03003DD0
|
||||||
|
_0805E6D4:
|
||||||
|
adds r4, #0x88
|
||||||
|
ldr r0, _0805E738 @ =gUnk_03003BE0
|
||||||
|
cmp r4, r0
|
||||||
|
blo _0805E6A8
|
||||||
|
movs r0, #0
|
||||||
|
mov ip, r0
|
||||||
|
movs r5, #0
|
||||||
|
ldr r2, _0805E73C @ =gUnk_03003D70
|
||||||
|
movs r0, #0x48
|
||||||
|
adds r0, r0, r2
|
||||||
|
mov r8, r0
|
||||||
|
_0805E6EA:
|
||||||
|
ldr r4, [r2, #4]
|
||||||
|
adds r3, r2, #0
|
||||||
|
adds r3, #8
|
||||||
|
cmp r4, r2
|
||||||
|
beq _0805E718
|
||||||
|
movs r7, #0x1c
|
||||||
|
ldr r6, _0805E740 @ =gUnk_03003DD0
|
||||||
|
_0805E6F8:
|
||||||
|
ldrb r0, [r4, #8]
|
||||||
|
cmp r0, #9
|
||||||
|
beq _0805E712
|
||||||
|
ldrb r0, [r4, #0x10]
|
||||||
|
adds r1, r7, #0
|
||||||
|
ands r1, r0
|
||||||
|
cmp ip, r1
|
||||||
|
bhs _0805E712
|
||||||
|
ldr r0, [r6, #8]
|
||||||
|
cmp r0, r4
|
||||||
|
beq _0805E712
|
||||||
|
mov ip, r1
|
||||||
|
adds r5, r4, #0
|
||||||
|
_0805E712:
|
||||||
|
ldr r4, [r4, #4]
|
||||||
|
cmp r4, r2
|
||||||
|
bne _0805E6F8
|
||||||
|
_0805E718:
|
||||||
|
adds r2, r3, #0
|
||||||
|
cmp r2, r8
|
||||||
|
blo _0805E6EA
|
||||||
|
cmp r5, #0
|
||||||
|
beq _0805E72E
|
||||||
|
adds r0, r5, #0
|
||||||
|
bl sub_0805E7BC
|
||||||
|
adds r0, r5, #0
|
||||||
|
bl sub_0805E870
|
||||||
|
_0805E72E:
|
||||||
|
adds r0, r5, #0
|
||||||
|
_0805E730:
|
||||||
|
pop {r3}
|
||||||
|
mov r8, r3
|
||||||
|
pop {r4, r5, r6, r7, pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0805E738: .4byte gUnk_03003BE0
|
||||||
|
_0805E73C: .4byte gUnk_03003D70
|
||||||
|
_0805E740: .4byte gUnk_03003DD0
|
|
@ -19,3 +19,36 @@ ReadKeyInput: @ 0x0801D6C0
|
||||||
_0801D6D4: .4byte 0x04000130
|
_0801D6D4: .4byte 0x04000130
|
||||||
_0801D6D8: .4byte 0x000003FF
|
_0801D6D8: .4byte 0x000003FF
|
||||||
_0801D6DC: .4byte gUnk_03000FF0
|
_0801D6DC: .4byte gUnk_03000FF0
|
||||||
|
|
||||||
|
|
||||||
|
thumb_func_start sub_0801D6E0
|
||||||
|
sub_0801D6E0: @ 0x0801D6E0
|
||||||
|
push {lr}
|
||||||
|
adds r2, r0, #0
|
||||||
|
ldrh r0, [r2]
|
||||||
|
adds r3, r1, #0
|
||||||
|
bics r3, r0
|
||||||
|
strh r3, [r2, #2]
|
||||||
|
cmp r1, r0
|
||||||
|
bne _0801D70A
|
||||||
|
ldrb r0, [r2, #7]
|
||||||
|
subs r0, #1
|
||||||
|
strb r0, [r2, #7]
|
||||||
|
lsls r0, r0, #0x18
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0801D704
|
||||||
|
movs r0, #4
|
||||||
|
strb r0, [r2, #7]
|
||||||
|
strh r1, [r2, #4]
|
||||||
|
b _0801D710
|
||||||
|
_0801D704:
|
||||||
|
movs r0, #0
|
||||||
|
strh r0, [r2, #4]
|
||||||
|
b _0801D710
|
||||||
|
_0801D70A:
|
||||||
|
movs r0, #0x14
|
||||||
|
strb r0, [r2, #7]
|
||||||
|
strh r3, [r2, #4]
|
||||||
|
_0801D710:
|
||||||
|
strh r1, [r2]
|
||||||
|
pop {pc}
|
||||||
|
|
|
@ -0,0 +1,138 @@
|
||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
|
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
thumb_func_start sub_08016CF4
|
||||||
|
sub_08016CF4: @ 0x08016CF4
|
||||||
|
ldr r3, _08016DF0 @ =gUnk_03000F50
|
||||||
|
ldrh r1, [r3]
|
||||||
|
ldrh r0, [r3, #6]
|
||||||
|
ands r0, r1
|
||||||
|
movs r1, #0x80
|
||||||
|
lsls r1, r1, #0x13
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #8
|
||||||
|
ldrh r0, [r3, #8]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x14]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x20]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x2c]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0xa]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0xc]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x16]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x18]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x22]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x24]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x2e]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, #2
|
||||||
|
ldrh r0, [r3, #0x30]
|
||||||
|
strh r0, [r1]
|
||||||
|
adds r1, r3, #0
|
||||||
|
adds r1, #0x38
|
||||||
|
ldr r2, _08016DF4 @ =0x04000020
|
||||||
|
ldrh r0, [r3, #0x38]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #2]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #4]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #6]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #8]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0xa]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0xc]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0xe]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r1, #0x10
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #2]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #4]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #6]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #8]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0xa]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0xc]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0xe]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r1, #0x10
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #2]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #4]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #6]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #8]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0xa]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0xc]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #4
|
||||||
|
ldrh r0, [r1, #0xe]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0x10]
|
||||||
|
strh r0, [r2]
|
||||||
|
adds r2, #2
|
||||||
|
ldrh r0, [r1, #0x12]
|
||||||
|
strh r0, [r2]
|
||||||
|
bx lr
|
||||||
|
.align 2, 0
|
||||||
|
_08016DF0: .4byte gUnk_03000F50
|
||||||
|
_08016DF4: .4byte 0x04000020
|
|
@ -0,0 +1,96 @@
|
||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
|
|
||||||
|
.syntax unified
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
|
thumb_func_start sub_0804B938
|
||||||
|
sub_0804B938: @ 0x0804B938
|
||||||
|
push {lr}
|
||||||
|
ldr r0, _0804B968 @ =gUnk_02002A40
|
||||||
|
ldrb r0, [r0, #8]
|
||||||
|
cmp r0, #3
|
||||||
|
bls _0804B9F2
|
||||||
|
movs r0, #0x2b
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804B970
|
||||||
|
movs r0, #0x2f
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804B984
|
||||||
|
movs r0, #0x30
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804B9BC
|
||||||
|
ldr r0, _0804B96C @ =gUnk_080D6C64
|
||||||
|
bl LoadRoomEntityList
|
||||||
|
b _0804B9F2
|
||||||
|
.align 2, 0
|
||||||
|
_0804B968: .4byte gUnk_02002A40
|
||||||
|
_0804B96C: .4byte gUnk_080D6C64
|
||||||
|
_0804B970:
|
||||||
|
movs r0, #0x2c
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804B9A8
|
||||||
|
movs r0, #0x2e
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804B990
|
||||||
|
_0804B984:
|
||||||
|
ldr r0, _0804B98C @ =gUnk_080D6D04
|
||||||
|
bl LoadRoomEntityList
|
||||||
|
b _0804B9F2
|
||||||
|
.align 2, 0
|
||||||
|
_0804B98C: .4byte gUnk_080D6D04
|
||||||
|
_0804B990:
|
||||||
|
movs r0, #0x30
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
bne _0804B9D2
|
||||||
|
ldr r0, _0804B9A4 @ =gUnk_080D6C94
|
||||||
|
bl LoadRoomEntityList
|
||||||
|
b _0804B9F2
|
||||||
|
.align 2, 0
|
||||||
|
_0804B9A4: .4byte gUnk_080D6C94
|
||||||
|
_0804B9A8:
|
||||||
|
movs r0, #0x2d
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804B9EC
|
||||||
|
movs r0, #0x2e
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804B9C8
|
||||||
|
_0804B9BC:
|
||||||
|
ldr r0, _0804B9C4 @ =gUnk_080D6CE4
|
||||||
|
bl LoadRoomEntityList
|
||||||
|
b _0804B9F2
|
||||||
|
.align 2, 0
|
||||||
|
_0804B9C4: .4byte gUnk_080D6CE4
|
||||||
|
_0804B9C8:
|
||||||
|
movs r0, #0x2f
|
||||||
|
bl GetProgressFlag
|
||||||
|
cmp r0, #0
|
||||||
|
beq _0804B9E0
|
||||||
|
_0804B9D2:
|
||||||
|
ldr r0, _0804B9DC @ =gUnk_080D6CC4
|
||||||
|
bl LoadRoomEntityList
|
||||||
|
b _0804B9F2
|
||||||
|
.align 2, 0
|
||||||
|
_0804B9DC: .4byte gUnk_080D6CC4
|
||||||
|
_0804B9E0:
|
||||||
|
ldr r0, _0804B9E8 @ =gUnk_080D6C34
|
||||||
|
bl LoadRoomEntityList
|
||||||
|
b _0804B9F2
|
||||||
|
.align 2, 0
|
||||||
|
_0804B9E8: .4byte gUnk_080D6C34
|
||||||
|
_0804B9EC:
|
||||||
|
ldr r0, _0804B9F4 @ =gUnk_080D6BF4
|
||||||
|
bl LoadRoomEntityList
|
||||||
|
_0804B9F2:
|
||||||
|
pop {pc}
|
||||||
|
.align 2, 0
|
||||||
|
_0804B9F4: .4byte gUnk_080D6BF4
|
|
@ -0,0 +1 @@
|
||||||
|
Entity * CreateEnemy(u8, u8);
|
|
@ -1,6 +1,12 @@
|
||||||
struct Entity {
|
#ifndef ENTITY_H
|
||||||
void *field_0x0;
|
#define ENTITY_H
|
||||||
struct Entity * field_0x4;
|
|
||||||
|
#include "global.h"
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
u32 *field_0x0;
|
||||||
|
u32 * field_0x4;
|
||||||
u8 type;
|
u8 type;
|
||||||
u8 subtype;
|
u8 subtype;
|
||||||
u8 parameter1;
|
u8 parameter1;
|
||||||
|
@ -21,7 +27,7 @@ struct Entity {
|
||||||
u8 palette;
|
u8 palette;
|
||||||
u8 spriteOrientation[3];
|
u8 spriteOrientation[3];
|
||||||
u16 spritePointer;
|
u16 spritePointer;
|
||||||
uint field_0x20;
|
u16 field_0x20;
|
||||||
s16 nonPlanarMovement;
|
s16 nonPlanarMovement;
|
||||||
u8 spriteAnimation[3];
|
u8 spriteAnimation[3];
|
||||||
u8 ticks;
|
u8 ticks;
|
||||||
|
@ -48,13 +54,13 @@ struct Entity {
|
||||||
u8 field_0x44;
|
u8 field_0x44;
|
||||||
u8 currentHealth;
|
u8 currentHealth;
|
||||||
s16 field_0x46;
|
s16 field_0x46;
|
||||||
void * boundingBox;
|
u32 * boundingBox;
|
||||||
u8 field_0x4c;
|
u8 field_0x4c;
|
||||||
u8 field_0x4d;
|
u8 field_0x4d;
|
||||||
u8 field_0x4e;
|
u8 field_0x4e;
|
||||||
u8 field_0x4f;
|
u8 field_0x4f;
|
||||||
void * spritePtr;
|
u32 * spritePtr;
|
||||||
struct Entity * attachedEntity;
|
u32 * attachedEntity;
|
||||||
u8 field_0x58;
|
u8 field_0x58;
|
||||||
u8 field_0x59;
|
u8 field_0x59;
|
||||||
u8 frames;
|
u8 frames;
|
||||||
|
@ -67,27 +73,10 @@ struct Entity {
|
||||||
u8 spriteRenderPositionOffset;
|
u8 spriteRenderPositionOffset;
|
||||||
u8 field_0x63;
|
u8 field_0x63;
|
||||||
u8 * field_0x64;
|
u8 * field_0x64;
|
||||||
struct Entity * otherEntity;
|
u32 * otherEntity;
|
||||||
u8 field_0x6c;
|
u8 filler2[8];
|
||||||
u8 field_0x6d;
|
u32 * heldObjectPtr;
|
||||||
u8 field_0x6e;
|
u8 filler[12];
|
||||||
u8 field_0x6f;
|
u32 * field_0x84;
|
||||||
u8 field_0x70;
|
} Entity;
|
||||||
u8 field_0x71;
|
#endif
|
||||||
u8 field_0x72;
|
|
||||||
u8 field_0x73;
|
|
||||||
struct Entity * heldObjectPtr;
|
|
||||||
u8 field_0x78;
|
|
||||||
u8 field_0x79;
|
|
||||||
u8 field_0x7a;
|
|
||||||
u8 field_0x7b;
|
|
||||||
u8 field_0x7c;
|
|
||||||
u8 field_0x7d;
|
|
||||||
u8 field_0x7e;
|
|
||||||
u8 field_0x7f;
|
|
||||||
u8 field_0x80;
|
|
||||||
u8 field_0x81;
|
|
||||||
u8 field_0x82;
|
|
||||||
u8 field_0x83;
|
|
||||||
int * field_0x84;
|
|
||||||
};
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
#ifndef ENTITYDATA_H
|
||||||
|
#define ENTITYDATA_H
|
||||||
|
#include "global.h"
|
||||||
|
typedef struct {
|
||||||
|
u8 entityType;
|
||||||
|
u8 unk;
|
||||||
|
u8 entitySubtype;
|
||||||
|
u8 entityParameter1;
|
||||||
|
u32 entityParameter2;
|
||||||
|
u16 xPos;
|
||||||
|
u16 yPos;
|
||||||
|
u32 spritePtr;
|
||||||
|
} EntityData;
|
||||||
|
#endif
|
|
@ -0,0 +1,9 @@
|
||||||
|
struct Input {
|
||||||
|
u16 unk0;
|
||||||
|
u16 unk1;
|
||||||
|
u16 unk2;
|
||||||
|
u8 unk3;
|
||||||
|
u8 unk4;
|
||||||
|
};
|
||||||
|
|
||||||
|
//void ReadKeyInput(void);
|
18
linker.ld
18
linker.ld
|
@ -293,17 +293,29 @@ SECTIONS {
|
||||||
|
|
||||||
/* C source compiled with interworking */
|
/* C source compiled with interworking */
|
||||||
asm/code_08016B30.o(.text);
|
asm/code_08016B30.o(.text);
|
||||||
|
asm/updateBackgroundRegisters.o(.text);
|
||||||
|
asm/code_08016DF8.o(.text);
|
||||||
/* C source compiled without interworking */
|
/* C source compiled without interworking */
|
||||||
asm/code.o(.text);
|
asm/code.o(.text);
|
||||||
|
src/readKeyInput.o(.text);
|
||||||
asm/readKeyInput.o(.text);
|
asm/readKeyInput.o(.text);
|
||||||
asm/code_0801D6E0.o(.text);
|
asm/code_0801D714.o(.text);
|
||||||
|
src/createEnemy.o(.text);
|
||||||
|
asm/code_0804AA84.o(.text);
|
||||||
|
src/loadRoomEntityList.o(.text);
|
||||||
|
asm/createEntity.o(.text);
|
||||||
|
asm/code_0804AEB0.o(.text);
|
||||||
src/loadRoom.o(.text);
|
src/loadRoom.o(.text);
|
||||||
asm/code_0804B058.o(.text);
|
asm/code_0804B058.o(.text);
|
||||||
asm/InitializeLink.o(.text);
|
asm/upperInn.o(.text);
|
||||||
|
asm/code_0804B9F8.o(.text);
|
||||||
|
asm/initializeLink.o(.text);
|
||||||
asm/code_08052620.o(.text);
|
asm/code_08052620.o(.text);
|
||||||
asm/mainLoop.o(.text);
|
asm/mainLoop.o(.text);
|
||||||
asm/code_08055FF4.o(.text);
|
asm/code_08055FF4.o(.text);
|
||||||
asm/GetProgressFlag.o(.text);
|
asm/getEmptyEntity.o(.text);
|
||||||
|
asm/code_0805E744.o(.text);
|
||||||
|
src/getProgressFlag.o(.text);
|
||||||
asm/code_0807CC3C.o(.text);
|
asm/code_0807CC3C.o(.text);
|
||||||
asm/createFx.o(.text);
|
asm/createFx.o(.text);
|
||||||
asm/code_080A29BC.o(.text);
|
asm/code_080A29BC.o(.text);
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
#include "entity.h"
|
||||||
|
#include "global.h"
|
||||||
|
|
||||||
|
extern Entity * sub_0805E678();
|
||||||
|
extern void sub_0805EA2C(Entity *, u8);
|
||||||
|
|
||||||
|
Entity * CreateEnemy(u32 subtype, u32 param1)
|
||||||
|
{
|
||||||
|
Entity *enemy;
|
||||||
|
|
||||||
|
enemy = sub_0805E678();
|
||||||
|
if (enemy != NULL) {
|
||||||
|
enemy->type = 3;
|
||||||
|
enemy->subtype = subtype;
|
||||||
|
enemy->parameter1 = param1;
|
||||||
|
sub_0805EA2C(enemy,4);
|
||||||
|
}
|
||||||
|
return enemy;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
#include "global.h"
|
||||||
|
|
||||||
|
u32 extern GetProgressFlagWithOffset(u32, u32);
|
||||||
|
|
||||||
|
u32 GetProgressFlag (u32 index) {
|
||||||
|
return GetProgressFlagWithOffset(0, index);
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
/* called when loading any room */
|
/* called when loading any room */
|
||||||
|
|
||||||
extern void sub_0804ADDC();
|
extern void LoadRoomEntityList();
|
||||||
extern s32 GetProgressFlag(u32 flag);
|
extern s32 GetProgressFlag(u32 flag);
|
||||||
extern s32* sub_0804B128(u8 unk);
|
extern s32* sub_0804B128(u8 unk);
|
||||||
extern void sub_0804B058(s32 *unk);
|
extern void sub_0804B058(s32 *unk);
|
||||||
|
@ -16,9 +16,9 @@ void LoadRoom(void)
|
||||||
s32 *dat;
|
s32 *dat;
|
||||||
|
|
||||||
sub_0804B128(1);
|
sub_0804B128(1);
|
||||||
sub_0804ADDC();
|
LoadRoomEntityList();
|
||||||
sub_0804B128(0);
|
sub_0804B128(0);
|
||||||
sub_0804ADDC();
|
LoadRoomEntityList();
|
||||||
|
|
||||||
iVar1 = GetProgressFlag(21);
|
iVar1 = GetProgressFlag(21);
|
||||||
if (iVar1 != 0) {
|
if (iVar1 != 0) {
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#include "global.h"
|
||||||
|
#include "entityData.h"
|
||||||
|
|
||||||
|
void extern CreateEntity(EntityData *);
|
||||||
|
|
||||||
|
void LoadRoomEntityList(EntityData *listPtr) {
|
||||||
|
if (listPtr != NULL) {
|
||||||
|
while (listPtr->entityType != 0xFF) {
|
||||||
|
CreateEntity(listPtr++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue