mirror of https://github.com/zeldaret/tmc.git
1537 lines
31 KiB
ArmAsm
1537 lines
31 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start EnemyUpdate
|
|
EnemyUpdate: @ 0x080011C4
|
|
mov r3, lr
|
|
push {r3, r4}
|
|
adds r4, r0, #0
|
|
ldrb r2, [r0, #0xc]
|
|
cmp r2, #0
|
|
bne _080011DC
|
|
bl EnemyInit
|
|
cmp r0, #0
|
|
bne _080011EA
|
|
bl DeleteThisEntity
|
|
_080011DC:
|
|
bl EntityIsDeleted
|
|
cmp r0, #0
|
|
bne _0800120A
|
|
adds r0, r4, #0
|
|
bl sub_080028E0
|
|
_080011EA:
|
|
adds r0, r4, #0
|
|
movs r1, #0x6d
|
|
ldrb r1, [r0, r1]
|
|
lsrs r1, r1, #5
|
|
bhs _0800120A
|
|
ldrb r1, [r0, #9]
|
|
lsls r1, r1, #2
|
|
ldr r2, _08001358 @ =gEnemyFunctions
|
|
ldr r1, [r2, r1]
|
|
bl _call_via_r1
|
|
movs r1, #0x41
|
|
movs r3, #0x7f
|
|
ldrb r2, [r4, r1]
|
|
ands r2, r3
|
|
strb r2, [r4, r1]
|
|
_0800120A:
|
|
adds r0, r4, #0
|
|
bl DrawEntity
|
|
pop {r3, r4}
|
|
bx r3
|
|
|
|
thumb_func_start sub_08001214
|
|
sub_08001214: @ 0x08001214
|
|
movs r3, #0x3a
|
|
ldrb r1, [r0, r3]
|
|
movs r2, #1
|
|
tst r1, r2
|
|
bne _08001230
|
|
orrs r1, r2
|
|
strb r2, [r0, r3]
|
|
movs r1, #1
|
|
movs r2, #0x5a
|
|
ldrb r2, [r0, r2]
|
|
lsrs r2, r2, #7
|
|
blo _0800122E
|
|
movs r1, #0x20
|
|
_0800122E:
|
|
strb r1, [r0, #0xe]
|
|
_08001230:
|
|
ldrb r1, [r0, #0xe]
|
|
subs r1, #1
|
|
beq _0800123E
|
|
strb r1, [r0, #0xe]
|
|
movs r1, #4
|
|
ldr r3, _0800135C @ =UpdateAnimationVariableFrames
|
|
bx r3
|
|
_0800123E:
|
|
ldr r3, _08001360 @ =CreateItemOnGround
|
|
bx r3
|
|
|
|
non_word_aligned_thumb_func_start sub_08001242
|
|
sub_08001242: @ 0x08001242
|
|
push {lr}
|
|
movs r1, #0x43
|
|
ldrb r2, [r0, r1]
|
|
subs r2, #1
|
|
strb r2, [r0, r1]
|
|
cmp r2, #0x3c
|
|
bhs _08001282
|
|
movs r3, #3
|
|
ands r3, r2
|
|
add r1, pc, #0x34
|
|
ldrsb r1, [r1, r3]
|
|
movs r3, #0x62
|
|
strb r1, [r0, r3]
|
|
cmp r2, #0
|
|
bne _08001282
|
|
movs r1, #0x68
|
|
ldr r1, [r0, r1]
|
|
cmp r1, #0
|
|
beq _08001282
|
|
ldrb r2, [r1, #8]
|
|
cmp r2, #6
|
|
bne _08001282
|
|
ldrb r2, [r1, #9]
|
|
cmp r2, #0xf
|
|
bne _08001282
|
|
ldrb r2, [r1, #0xa]
|
|
cmp r2, #0x1c
|
|
bne _08001282
|
|
push {r0}
|
|
bl sub_0804AA1C
|
|
pop {r0}
|
|
_08001282:
|
|
ldr r1, _08001364 @ =0x00001800
|
|
bl GravityUpdate
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0800128C:
|
|
.byte 0x00, 0x01, 0x00, 0xFF
|
|
|
|
thumb_func_start sub_08001290
|
|
sub_08001290: @ 0x08001290
|
|
cmp r1, #0
|
|
beq _0800129C
|
|
ldr r2, _08001368 @ =gUnk_080012C8
|
|
lsls r1, r1, #2
|
|
ldr r1, [r2, r1]
|
|
bx r1
|
|
_0800129C:
|
|
bx lr
|
|
|
|
@ r0: Entity*
|
|
@ r1: Function* array
|
|
non_word_aligned_thumb_func_start EnemyFunctionHandler
|
|
EnemyFunctionHandler: @ 0x0800129E
|
|
mov r3, lr
|
|
push {r3, r4, r5}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_080012DC
|
|
cmp r0, #0
|
|
beq _080012B2
|
|
ldr r1, _0800136C @ =gUnk_080012C8
|
|
b _080012BA
|
|
_080012B2:
|
|
adds r0, r4, #0
|
|
bl GetNextFunction
|
|
adds r1, r5, #0
|
|
_080012BA:
|
|
lsls r0, r0, #2
|
|
ldr r1, [r1, r0]
|
|
adds r0, r4, #0
|
|
pop {r3, r4, r5}
|
|
mov lr, r3
|
|
bx r1
|
|
.align 2, 0
|
|
|
|
gUnk_080012C8::
|
|
.4byte 0x00000000
|
|
_080012CC: .4byte sub_08001214
|
|
_080012D0: .4byte sub_080043A8
|
|
_080012D4: .4byte CreateChestSpawner
|
|
_080012D8: .4byte sub_080043B0
|
|
|
|
thumb_func_start sub_080012DC
|
|
sub_080012DC: @ 0x080012DC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r5, #0x3a
|
|
ldrb r1, [r4, r5]
|
|
lsrs r1, r1, #3
|
|
bhs _08001302
|
|
bl sub_080043E8
|
|
cmp r0, #4
|
|
beq _08001302
|
|
cmp r0, #0
|
|
bne _08001306
|
|
ldrb r1, [r4, r5]
|
|
lsrs r1, r1, #1
|
|
blo _08001302
|
|
ldrb r1, [r4, #0x10]
|
|
movs r2, #0x80
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x10]
|
|
_08001302:
|
|
movs r0, #0
|
|
pop {r4, r5, pc}
|
|
_08001306:
|
|
cmp r0, #1
|
|
beq _08001316
|
|
movs r1, #1
|
|
strb r1, [r4, #0xe]
|
|
ldrb r2, [r4, r5]
|
|
movs r1, #1
|
|
orrs r1, r2
|
|
strb r1, [r4, r5]
|
|
_08001316:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08001318
|
|
sub_08001318: @ 0x08001318
|
|
movs r1, #0x36
|
|
ldrsh r1, [r0, r1]
|
|
cmp r1, #0
|
|
bpl sub_08001324
|
|
movs r2, #0xff
|
|
strb r2, [r0, #0x15]
|
|
|
|
thumb_func_start sub_08001324
|
|
sub_08001324: @ 0x08001324
|
|
ldr r3, _08001370 @ =sub_080AF18C
|
|
bx r3
|
|
|
|
thumb_func_start sub_08001328
|
|
sub_08001328: @ 0x08001328
|
|
ldr r3, _08001374 @ =sub_080AF1BC
|
|
bx r3
|
|
|
|
thumb_func_start sub_0800132C
|
|
sub_0800132C: @ 0x0800132C
|
|
movs r2, #0x38
|
|
ldrb r3, [r1, r2]
|
|
ldrb r2, [r0, r2]
|
|
ands r2, r3
|
|
beq _08001352
|
|
ldrh r2, [r0, #0x2e]
|
|
ldrh r3, [r1, #0x2e]
|
|
subs r2, r2, r3
|
|
adds r2, #8
|
|
cmp r2, #0x11
|
|
bhs _0800134E
|
|
ldrh r2, [r0, #0x32]
|
|
ldrh r3, [r1, #0x32]
|
|
subs r2, r2, r3
|
|
adds r2, #8
|
|
cmp r2, #0x11
|
|
blo _08001352
|
|
_0800134E:
|
|
ldr r3, _08001378 @ =GetFacingDirection
|
|
bx r3
|
|
_08001352:
|
|
movs r0, #0xff
|
|
bx lr
|
|
.align 2, 0
|
|
_08001358: .4byte gEnemyFunctions
|
|
_0800135C: .4byte UpdateAnimationVariableFrames
|
|
_08001360: .4byte CreateItemOnGround
|
|
_08001364: .4byte 0x00001800
|
|
_08001368: .4byte gUnk_080012C8
|
|
_0800136C: .4byte gUnk_080012C8
|
|
_08001370: .4byte sub_080AF18C
|
|
_08001374: .4byte sub_080AF1BC
|
|
_08001378: .4byte GetFacingDirection
|
|
|
|
gUnk_0800137C:: @ 0800137C
|
|
.incbin "code_080011C4/gUnk_0800137C.bin"
|
|
|
|
gUnk_0800143C:: @ 0800143C
|
|
.incbin "code_080011C4/gUnk_0800143C.bin"
|
|
|
|
gUnk_080015BC:: @ 080015BC
|
|
.incbin "code_080011C4/gUnk_080015BC.bin"
|
|
|
|
gUnk_0800161C:: @ 0800161C
|
|
.incbin "code_080011C4/gUnk_0800161C.bin"
|
|
.ifdef EU
|
|
@ TODO only small differences
|
|
.incbin "code_080011C4/gUnk_0800161C_1_EU.bin"
|
|
.else
|
|
.incbin "code_080011C4/gUnk_0800161C_2_USA-JP-DEMO_USA-DEMO_JP.bin"
|
|
.endif
|
|
.incbin "code_080011C4/gUnk_0800161C_3.bin"
|
|
|
|
.ifdef EU
|
|
.incbin "code_080011C4/gUnk_0800161C_4_EU.bin"
|
|
.else
|
|
.incbin "code_080011C4/gUnk_0800161C_5_USA-JP-DEMO_USA-DEMO_JP.bin"
|
|
.endif
|
|
.incbin "code_080011C4/gUnk_0800161C_6.bin"
|
|
|
|
gUnk_0800191C:: @ 0800191C
|
|
.ifdef EU
|
|
@ TODO mostly 0 bytes?
|
|
.incbin "code_080011C4/gUnk_0800191C_EU.bin"
|
|
.else
|
|
.incbin "code_080011C4/gUnk_0800191C_1_USA-JP-DEMO_USA-DEMO_JP.bin"
|
|
.endif
|
|
.incbin "code_080011C4/gUnk_0800191C_2.bin"
|
|
|
|
gUnk_08001A1C:: @ 08001A1C
|
|
.incbin "code_080011C4/gUnk_08001A1C.bin"
|
|
|
|
gUnk_08001A7C:: @ 08001A7C
|
|
.4byte gUnk_08001C5C
|
|
.4byte gUnk_08001C62
|
|
.4byte gUnk_08001C68
|
|
.4byte gUnk_08001C6E
|
|
.4byte gUnk_08001C74
|
|
.4byte gUnk_08001C6E
|
|
.4byte gUnk_08001C7A
|
|
.4byte gUnk_08001C7A
|
|
.4byte gUnk_08001C7A
|
|
.4byte gUnk_08001C80
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001C8C
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001C98
|
|
.4byte gUnk_08001C9E
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001C9E
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001CA4
|
|
.4byte gUnk_08001C9E
|
|
.4byte gUnk_08001C9E
|
|
.4byte gUnk_08001CAA
|
|
.4byte gUnk_08001CB0
|
|
.4byte gUnk_08001CB6
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001CBC
|
|
.4byte gUnk_08001CC2
|
|
.4byte gUnk_08001CC2
|
|
.4byte gUnk_08001CC2
|
|
.4byte gUnk_08001CC2
|
|
.4byte gUnk_08001C9E
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001C9E
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001DAC
|
|
.4byte gUnk_08001C6E
|
|
.4byte gUnk_08001C6E
|
|
.4byte gUnk_08001CA4
|
|
.4byte gUnk_08001C9E
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001C86
|
|
.4byte gUnk_08001C92
|
|
.4byte gUnk_08001CA4
|
|
.4byte gUnk_08001CC8
|
|
.4byte gUnk_08001C6E
|
|
.4byte gUnk_08001CCE
|
|
.4byte gUnk_08001CD4
|
|
.4byte gUnk_08001CDA
|
|
.4byte gUnk_08001CE0
|
|
.4byte gUnk_08001CE6
|
|
.4byte gUnk_08001CEC
|
|
.4byte gUnk_08001CF2
|
|
.4byte gUnk_08001CF8
|
|
.4byte gUnk_08001CFE
|
|
.4byte gUnk_08001D04
|
|
.4byte gUnk_08001D0A
|
|
.4byte gUnk_08001D16
|
|
.4byte gUnk_08001D1C
|
|
.4byte gUnk_08001D22
|
|
.4byte gUnk_08001D28
|
|
.4byte gUnk_08001D2E
|
|
.4byte gUnk_08001D34
|
|
.4byte gUnk_08001D3A
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D46
|
|
.4byte gUnk_08001D4C
|
|
.4byte gUnk_08001D4C
|
|
.4byte gUnk_08001D4C
|
|
.4byte gUnk_08001D4C
|
|
.4byte gUnk_08001D52
|
|
.4byte gUnk_08001D58
|
|
.4byte gUnk_08001D5E
|
|
.4byte gUnk_08001D64
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D6A
|
|
.4byte gUnk_08001DB8
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001DBE
|
|
.4byte gUnk_08001D70
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D40
|
|
.4byte gUnk_08001D76
|
|
.4byte gUnk_08001DC4
|
|
.4byte gUnk_08001D7C
|
|
.4byte gUnk_08001D7C
|
|
.4byte gUnk_08001D7C
|
|
.4byte gUnk_08001D7C
|
|
.4byte gUnk_08001D7C
|
|
.4byte gUnk_08001D82
|
|
.4byte gUnk_08001D82
|
|
.4byte gUnk_08001D88
|
|
.4byte gUnk_08001D88
|
|
.4byte gUnk_08001D88
|
|
.4byte gUnk_08001D8E
|
|
.4byte gUnk_08001D8E
|
|
.4byte gUnk_08001D8E
|
|
.4byte gUnk_08001D94
|
|
.4byte gUnk_08001D94
|
|
.4byte gUnk_08001D9A
|
|
.4byte gUnk_08001DA0
|
|
.4byte gUnk_08001DA6
|
|
|
|
gUnk_08001C5C:: @ 08001C5C
|
|
.incbin "code_080011C4/gUnk_08001C5C.bin"
|
|
|
|
gUnk_08001C62:: @ 08001C62
|
|
.incbin "code_080011C4/gUnk_08001C62.bin"
|
|
|
|
gUnk_08001C68:: @ 08001C68
|
|
.incbin "code_080011C4/gUnk_08001C68.bin"
|
|
|
|
gUnk_08001C6E:: @ 08001C6E
|
|
.incbin "code_080011C4/gUnk_08001C6E.bin"
|
|
|
|
gUnk_08001C74:: @ 08001C74
|
|
.incbin "code_080011C4/gUnk_08001C74.bin"
|
|
|
|
gUnk_08001C7A:: @ 08001C7A
|
|
.incbin "code_080011C4/gUnk_08001C7A.bin"
|
|
|
|
gUnk_08001C80:: @ 08001C80
|
|
.incbin "code_080011C4/gUnk_08001C80.bin"
|
|
|
|
gUnk_08001C86:: @ 08001C86
|
|
.incbin "code_080011C4/gUnk_08001C86.bin"
|
|
|
|
gUnk_08001C8C:: @ 08001C8C
|
|
.incbin "code_080011C4/gUnk_08001C8C.bin"
|
|
|
|
gUnk_08001C92:: @ 08001C92
|
|
.incbin "code_080011C4/gUnk_08001C92.bin"
|
|
|
|
gUnk_08001C98:: @ 08001C98
|
|
.incbin "code_080011C4/gUnk_08001C98.bin"
|
|
|
|
gUnk_08001C9E:: @ 08001C9E
|
|
.incbin "code_080011C4/gUnk_08001C9E.bin"
|
|
|
|
gUnk_08001CA4:: @ 08001CA4
|
|
.incbin "code_080011C4/gUnk_08001CA4.bin"
|
|
|
|
gUnk_08001CAA:: @ 08001CAA
|
|
.incbin "code_080011C4/gUnk_08001CAA.bin"
|
|
|
|
gUnk_08001CB0:: @ 08001CB0
|
|
.incbin "code_080011C4/gUnk_08001CB0.bin"
|
|
|
|
gUnk_08001CB6:: @ 08001CB6
|
|
.incbin "code_080011C4/gUnk_08001CB6.bin"
|
|
|
|
gUnk_08001CBC:: @ 08001CBC
|
|
.incbin "code_080011C4/gUnk_08001CBC.bin"
|
|
|
|
gUnk_08001CC2:: @ 08001CC2
|
|
.incbin "code_080011C4/gUnk_08001CC2.bin"
|
|
|
|
gUnk_08001CC8:: @ 08001CC8
|
|
.incbin "code_080011C4/gUnk_08001CC8.bin"
|
|
|
|
gUnk_08001CCE:: @ 08001CCE
|
|
.incbin "code_080011C4/gUnk_08001CCE.bin"
|
|
|
|
gUnk_08001CD4:: @ 08001CD4
|
|
.incbin "code_080011C4/gUnk_08001CD4.bin"
|
|
|
|
gUnk_08001CDA:: @ 08001CDA
|
|
.incbin "code_080011C4/gUnk_08001CDA.bin"
|
|
|
|
gUnk_08001CE0:: @ 08001CE0
|
|
.incbin "code_080011C4/gUnk_08001CE0.bin"
|
|
|
|
gUnk_08001CE6:: @ 08001CE6
|
|
.incbin "code_080011C4/gUnk_08001CE6.bin"
|
|
|
|
gUnk_08001CEC:: @ 08001CEC
|
|
.incbin "code_080011C4/gUnk_08001CEC.bin"
|
|
|
|
gUnk_08001CF2:: @ 08001CF2
|
|
.incbin "code_080011C4/gUnk_08001CF2.bin"
|
|
|
|
gUnk_08001CF8:: @ 08001CF8
|
|
.incbin "code_080011C4/gUnk_08001CF8.bin"
|
|
|
|
gUnk_08001CFE:: @ 08001CFE
|
|
.incbin "code_080011C4/gUnk_08001CFE.bin"
|
|
|
|
gUnk_08001D04:: @ 08001D04
|
|
.incbin "code_080011C4/gUnk_08001D04.bin"
|
|
|
|
gUnk_08001D0A:: @ 08001D0A
|
|
.incbin "code_080011C4/gUnk_08001D0A.bin"
|
|
|
|
gUnk_08001D16:: @ 08001D16
|
|
.incbin "code_080011C4/gUnk_08001D16.bin"
|
|
|
|
gUnk_08001D1C:: @ 08001D1C
|
|
.incbin "code_080011C4/gUnk_08001D1C.bin"
|
|
|
|
gUnk_08001D22:: @ 08001D22
|
|
.incbin "code_080011C4/gUnk_08001D22.bin"
|
|
|
|
gUnk_08001D28:: @ 08001D28
|
|
.incbin "code_080011C4/gUnk_08001D28.bin"
|
|
|
|
gUnk_08001D2E:: @ 08001D2E
|
|
.incbin "code_080011C4/gUnk_08001D2E.bin"
|
|
|
|
gUnk_08001D34:: @ 08001D34
|
|
.incbin "code_080011C4/gUnk_08001D34.bin"
|
|
|
|
gUnk_08001D3A:: @ 08001D3A
|
|
.incbin "code_080011C4/gUnk_08001D3A.bin"
|
|
|
|
gUnk_08001D40:: @ 08001D40
|
|
.incbin "code_080011C4/gUnk_08001D40.bin"
|
|
|
|
gUnk_08001D46:: @ 08001D46
|
|
.incbin "code_080011C4/gUnk_08001D46.bin"
|
|
|
|
gUnk_08001D4C:: @ 08001D4C
|
|
.incbin "code_080011C4/gUnk_08001D4C.bin"
|
|
|
|
gUnk_08001D52:: @ 08001D52
|
|
.incbin "code_080011C4/gUnk_08001D52.bin"
|
|
|
|
gUnk_08001D58:: @ 08001D58
|
|
.incbin "code_080011C4/gUnk_08001D58.bin"
|
|
|
|
gUnk_08001D5E:: @ 08001D5E
|
|
.incbin "code_080011C4/gUnk_08001D5E.bin"
|
|
|
|
gUnk_08001D64:: @ 08001D64
|
|
.incbin "code_080011C4/gUnk_08001D64.bin"
|
|
|
|
gUnk_08001D6A:: @ 08001D6A
|
|
.incbin "code_080011C4/gUnk_08001D6A.bin"
|
|
|
|
gUnk_08001D70:: @ 08001D70
|
|
.incbin "code_080011C4/gUnk_08001D70.bin"
|
|
|
|
gUnk_08001D76:: @ 08001D76
|
|
.incbin "code_080011C4/gUnk_08001D76.bin"
|
|
|
|
gUnk_08001D7C:: @ 08001D7C
|
|
.incbin "code_080011C4/gUnk_08001D7C.bin"
|
|
|
|
gUnk_08001D82:: @ 08001D82
|
|
.incbin "code_080011C4/gUnk_08001D82.bin"
|
|
|
|
gUnk_08001D88:: @ 08001D88
|
|
.incbin "code_080011C4/gUnk_08001D88.bin"
|
|
|
|
gUnk_08001D8E:: @ 08001D8E
|
|
.incbin "code_080011C4/gUnk_08001D8E.bin"
|
|
|
|
gUnk_08001D94:: @ 08001D94
|
|
.incbin "code_080011C4/gUnk_08001D94.bin"
|
|
|
|
gUnk_08001D9A:: @ 08001D9A
|
|
.incbin "code_080011C4/gUnk_08001D9A.bin"
|
|
|
|
gUnk_08001DA0:: @ 08001DA0
|
|
.incbin "code_080011C4/gUnk_08001DA0.bin"
|
|
|
|
gUnk_08001DA6:: @ 08001DA6
|
|
.incbin "code_080011C4/gUnk_08001DA6.bin"
|
|
|
|
gUnk_08001DAC:: @ 08001DAC
|
|
.incbin "code_080011C4/gUnk_08001DAC.bin"
|
|
|
|
gUnk_08001DB8:: @ 08001DB8
|
|
.incbin "code_080011C4/gUnk_08001DB8.bin"
|
|
|
|
gUnk_08001DBE:: @ 08001DBE
|
|
.incbin "code_080011C4/gUnk_08001DBE.bin"
|
|
|
|
gUnk_08001DC4:: @ 08001DC4
|
|
.incbin "code_080011C4/gUnk_08001DC4.bin"
|
|
|
|
gUnk_08001DCC:: @ 08001DCC
|
|
.4byte gUnk_08001FAC
|
|
.4byte gUnk_08001FB4
|
|
.4byte gUnk_08001FBC
|
|
.4byte gUnk_08001FC3
|
|
.4byte gUnk_08001FCA
|
|
.4byte gUnk_08001FD1
|
|
.4byte gUnk_08001FD8
|
|
.4byte gUnk_08001FDF
|
|
.4byte gUnk_08001FE6
|
|
.4byte gUnk_08001FED
|
|
.4byte gUnk_08001FF8
|
|
.4byte gUnk_08001FFF
|
|
.4byte gUnk_08002006
|
|
.4byte gUnk_0800200D
|
|
.4byte gUnk_08002014
|
|
.4byte gUnk_0800201B
|
|
.4byte gUnk_08002022
|
|
.4byte gUnk_08002029
|
|
.4byte gUnk_08002030
|
|
.4byte gUnk_08002037
|
|
.4byte gUnk_0800203E
|
|
.4byte gUnk_08002045
|
|
.4byte gUnk_0800204C
|
|
.4byte gUnk_08002053
|
|
.4byte gUnk_0800205A
|
|
.4byte gUnk_08002061
|
|
.4byte gUnk_08002068
|
|
.4byte gUnk_08002071
|
|
.4byte gUnk_0800207A
|
|
.4byte gUnk_08002081
|
|
.4byte gUnk_0800208A
|
|
.4byte gUnk_08002091
|
|
.4byte gUnk_08002098
|
|
.4byte gUnk_0800209F
|
|
.4byte gUnk_080020A6
|
|
.4byte gUnk_080020AD
|
|
.4byte gUnk_080020B4
|
|
.4byte gUnk_080020BB
|
|
.4byte gUnk_080020C2
|
|
.4byte gUnk_080020C9
|
|
.4byte gUnk_080020D0
|
|
.4byte gUnk_080020D7
|
|
.4byte gUnk_080020DE
|
|
.4byte gUnk_080020E5
|
|
.4byte gUnk_080020EC
|
|
.4byte gUnk_080020F4
|
|
.4byte gUnk_080020FB
|
|
.4byte gUnk_08002102
|
|
.4byte gUnk_08002109
|
|
.4byte gUnk_08002110
|
|
.4byte gUnk_08002117
|
|
.4byte gUnk_0800211E
|
|
.4byte gUnk_08002125
|
|
.4byte gUnk_0800212D
|
|
.4byte gUnk_08002135
|
|
.4byte gUnk_0800213D
|
|
.4byte gUnk_08002144
|
|
.4byte gUnk_0800214B
|
|
.4byte gUnk_08002152
|
|
.4byte gUnk_0800215A
|
|
.4byte gUnk_08002162
|
|
.4byte gUnk_08002169
|
|
.4byte gUnk_08002170
|
|
.4byte gUnk_08002178
|
|
.4byte gUnk_08002184
|
|
.4byte gUnk_0800218B
|
|
.4byte gUnk_08002193
|
|
.4byte gUnk_0800219B
|
|
.4byte gUnk_080021A3
|
|
.4byte gUnk_080021AB
|
|
.4byte gUnk_080021B3
|
|
.4byte gUnk_080021BC
|
|
.4byte gUnk_080021C3
|
|
.4byte gUnk_080021CA
|
|
.4byte gUnk_080021D1
|
|
.4byte gUnk_080021D8
|
|
.4byte gUnk_080021E1
|
|
.4byte gUnk_080021E8
|
|
.4byte gUnk_080021F1
|
|
.4byte gUnk_080021F8
|
|
.4byte gUnk_080021FF
|
|
.4byte gUnk_08002206
|
|
.4byte gUnk_0800220D
|
|
.4byte gUnk_08002214
|
|
.4byte gUnk_0800221B
|
|
.4byte gUnk_08002222
|
|
.4byte gUnk_08002229
|
|
.4byte gUnk_08002230
|
|
.4byte gUnk_08002239
|
|
.4byte gUnk_08002240
|
|
.4byte gUnk_08002247
|
|
.4byte gUnk_0800224E
|
|
.4byte gUnk_08002255
|
|
.4byte gUnk_0800225C
|
|
.4byte gUnk_08002263
|
|
.4byte gUnk_0800226A
|
|
.4byte gUnk_08002271
|
|
.4byte gUnk_08002278
|
|
.4byte gUnk_0800227F
|
|
.4byte gUnk_08002286
|
|
.4byte gUnk_0800228D
|
|
.4byte gUnk_08002294
|
|
.4byte gUnk_0800229B
|
|
.4byte gUnk_080022A7
|
|
.4byte gUnk_080022B3
|
|
.4byte gUnk_080022BF
|
|
.4byte gUnk_080022CB
|
|
.4byte gUnk_080022D7
|
|
.4byte gUnk_080022DE
|
|
.4byte gUnk_080022E5
|
|
.4byte gUnk_080022EC
|
|
.4byte gUnk_080022F3
|
|
.4byte gUnk_080022FB
|
|
.4byte gUnk_08002302
|
|
.4byte gUnk_08002309
|
|
.4byte gUnk_08002310
|
|
.4byte gUnk_08002317
|
|
.4byte gUnk_0800231E
|
|
.4byte gUnk_08002325
|
|
.4byte gUnk_0800232C
|
|
|
|
gUnk_08001FAC:: @ 08001FAC
|
|
.incbin "code_080011C4/gUnk_08001FAC.bin"
|
|
|
|
gUnk_08001FB4:: @ 08001FB4
|
|
.incbin "code_080011C4/gUnk_08001FB4.bin"
|
|
|
|
gUnk_08001FBC:: @ 08001FBC
|
|
.incbin "code_080011C4/gUnk_08001FBC.bin"
|
|
|
|
gUnk_08001FC3:: @ 08001FC3
|
|
.incbin "code_080011C4/gUnk_08001FC3.bin"
|
|
|
|
gUnk_08001FCA:: @ 08001FCA
|
|
.incbin "code_080011C4/gUnk_08001FCA.bin"
|
|
|
|
gUnk_08001FD1:: @ 08001FD1
|
|
.incbin "code_080011C4/gUnk_08001FD1.bin"
|
|
|
|
gUnk_08001FD8:: @ 08001FD8
|
|
.incbin "code_080011C4/gUnk_08001FD8.bin"
|
|
|
|
gUnk_08001FDF:: @ 08001FDF
|
|
.incbin "code_080011C4/gUnk_08001FDF.bin"
|
|
|
|
gUnk_08001FE6:: @ 08001FE6
|
|
.incbin "code_080011C4/gUnk_08001FE6.bin"
|
|
|
|
gUnk_08001FED:: @ 08001FED
|
|
.incbin "code_080011C4/gUnk_08001FED.bin"
|
|
|
|
gUnk_08001FF8:: @ 08001FF8
|
|
.incbin "code_080011C4/gUnk_08001FF8.bin"
|
|
|
|
gUnk_08001FFF:: @ 08001FFF
|
|
.incbin "code_080011C4/gUnk_08001FFF.bin"
|
|
|
|
gUnk_08002006:: @ 08002006
|
|
.incbin "code_080011C4/gUnk_08002006.bin"
|
|
|
|
gUnk_0800200D:: @ 0800200D
|
|
.incbin "code_080011C4/gUnk_0800200D.bin"
|
|
|
|
gUnk_08002014:: @ 08002014
|
|
.incbin "code_080011C4/gUnk_08002014.bin"
|
|
|
|
gUnk_0800201B:: @ 0800201B
|
|
.incbin "code_080011C4/gUnk_0800201B.bin"
|
|
|
|
gUnk_08002022:: @ 08002022
|
|
.incbin "code_080011C4/gUnk_08002022.bin"
|
|
|
|
gUnk_08002029:: @ 08002029
|
|
.incbin "code_080011C4/gUnk_08002029.bin"
|
|
|
|
gUnk_08002030:: @ 08002030
|
|
.incbin "code_080011C4/gUnk_08002030.bin"
|
|
|
|
gUnk_08002037:: @ 08002037
|
|
.incbin "code_080011C4/gUnk_08002037.bin"
|
|
|
|
gUnk_0800203E:: @ 0800203E
|
|
.incbin "code_080011C4/gUnk_0800203E.bin"
|
|
|
|
gUnk_08002045:: @ 08002045
|
|
.incbin "code_080011C4/gUnk_08002045.bin"
|
|
|
|
gUnk_0800204C:: @ 0800204C
|
|
.incbin "code_080011C4/gUnk_0800204C.bin"
|
|
|
|
gUnk_08002053:: @ 08002053
|
|
.incbin "code_080011C4/gUnk_08002053.bin"
|
|
|
|
gUnk_0800205A:: @ 0800205A
|
|
.incbin "code_080011C4/gUnk_0800205A.bin"
|
|
|
|
gUnk_08002061:: @ 08002061
|
|
.incbin "code_080011C4/gUnk_08002061.bin"
|
|
|
|
gUnk_08002068:: @ 08002068
|
|
.incbin "code_080011C4/gUnk_08002068.bin"
|
|
|
|
gUnk_08002071:: @ 08002071
|
|
.incbin "code_080011C4/gUnk_08002071.bin"
|
|
|
|
gUnk_0800207A:: @ 0800207A
|
|
.incbin "code_080011C4/gUnk_0800207A.bin"
|
|
|
|
gUnk_08002081:: @ 08002081
|
|
.incbin "code_080011C4/gUnk_08002081.bin"
|
|
|
|
gUnk_0800208A:: @ 0800208A
|
|
.incbin "code_080011C4/gUnk_0800208A.bin"
|
|
|
|
gUnk_08002091:: @ 08002091
|
|
.incbin "code_080011C4/gUnk_08002091.bin"
|
|
|
|
gUnk_08002098:: @ 08002098
|
|
.incbin "code_080011C4/gUnk_08002098.bin"
|
|
|
|
gUnk_0800209F:: @ 0800209F
|
|
.incbin "code_080011C4/gUnk_0800209F.bin"
|
|
|
|
gUnk_080020A6:: @ 080020A6
|
|
.incbin "code_080011C4/gUnk_080020A6.bin"
|
|
|
|
gUnk_080020AD:: @ 080020AD
|
|
.incbin "code_080011C4/gUnk_080020AD.bin"
|
|
|
|
gUnk_080020B4:: @ 080020B4
|
|
.incbin "code_080011C4/gUnk_080020B4.bin"
|
|
|
|
gUnk_080020BB:: @ 080020BB
|
|
.incbin "code_080011C4/gUnk_080020BB.bin"
|
|
|
|
gUnk_080020C2:: @ 080020C2
|
|
.incbin "code_080011C4/gUnk_080020C2.bin"
|
|
|
|
gUnk_080020C9:: @ 080020C9
|
|
.incbin "code_080011C4/gUnk_080020C9.bin"
|
|
|
|
gUnk_080020D0:: @ 080020D0
|
|
.incbin "code_080011C4/gUnk_080020D0.bin"
|
|
|
|
gUnk_080020D7:: @ 080020D7
|
|
.incbin "code_080011C4/gUnk_080020D7.bin"
|
|
|
|
gUnk_080020DE:: @ 080020DE
|
|
.incbin "code_080011C4/gUnk_080020DE.bin"
|
|
|
|
gUnk_080020E5:: @ 080020E5
|
|
.incbin "code_080011C4/gUnk_080020E5.bin"
|
|
|
|
gUnk_080020EC:: @ 080020EC
|
|
.incbin "code_080011C4/gUnk_080020EC.bin"
|
|
|
|
gUnk_080020F4:: @ 080020F4
|
|
.incbin "code_080011C4/gUnk_080020F4.bin"
|
|
|
|
gUnk_080020FB:: @ 080020FB
|
|
.incbin "code_080011C4/gUnk_080020FB.bin"
|
|
|
|
gUnk_08002102:: @ 08002102
|
|
.incbin "code_080011C4/gUnk_08002102.bin"
|
|
|
|
gUnk_08002109:: @ 08002109
|
|
.incbin "code_080011C4/gUnk_08002109.bin"
|
|
|
|
gUnk_08002110:: @ 08002110
|
|
.incbin "code_080011C4/gUnk_08002110.bin"
|
|
|
|
gUnk_08002117:: @ 08002117
|
|
.incbin "code_080011C4/gUnk_08002117.bin"
|
|
|
|
gUnk_0800211E:: @ 0800211E
|
|
.incbin "code_080011C4/gUnk_0800211E.bin"
|
|
|
|
gUnk_08002125:: @ 08002125
|
|
.incbin "code_080011C4/gUnk_08002125.bin"
|
|
|
|
gUnk_0800212D:: @ 0800212D
|
|
.incbin "code_080011C4/gUnk_0800212D.bin"
|
|
|
|
gUnk_08002135:: @ 08002135
|
|
.incbin "code_080011C4/gUnk_08002135.bin"
|
|
|
|
gUnk_0800213D:: @ 0800213D
|
|
.incbin "code_080011C4/gUnk_0800213D.bin"
|
|
|
|
gUnk_08002144:: @ 08002144
|
|
.incbin "code_080011C4/gUnk_08002144.bin"
|
|
|
|
gUnk_0800214B:: @ 0800214B
|
|
.incbin "code_080011C4/gUnk_0800214B.bin"
|
|
|
|
gUnk_08002152:: @ 08002152
|
|
.incbin "code_080011C4/gUnk_08002152.bin"
|
|
|
|
gUnk_0800215A:: @ 0800215A
|
|
.incbin "code_080011C4/gUnk_0800215A.bin"
|
|
|
|
gUnk_08002162:: @ 08002162
|
|
.incbin "code_080011C4/gUnk_08002162.bin"
|
|
|
|
gUnk_08002169:: @ 08002169
|
|
.incbin "code_080011C4/gUnk_08002169.bin"
|
|
|
|
gUnk_08002170:: @ 08002170
|
|
.incbin "code_080011C4/gUnk_08002170.bin"
|
|
|
|
gUnk_08002178:: @ 08002178
|
|
.incbin "code_080011C4/gUnk_08002178.bin"
|
|
|
|
gUnk_08002184:: @ 08002184
|
|
.incbin "code_080011C4/gUnk_08002184.bin"
|
|
|
|
gUnk_0800218B:: @ 0800218B
|
|
.incbin "code_080011C4/gUnk_0800218B.bin"
|
|
|
|
gUnk_08002193:: @ 08002193
|
|
.incbin "code_080011C4/gUnk_08002193.bin"
|
|
|
|
gUnk_0800219B:: @ 0800219B
|
|
.incbin "code_080011C4/gUnk_0800219B.bin"
|
|
|
|
gUnk_080021A3:: @ 080021A3
|
|
.incbin "code_080011C4/gUnk_080021A3.bin"
|
|
|
|
gUnk_080021AB:: @ 080021AB
|
|
.incbin "code_080011C4/gUnk_080021AB.bin"
|
|
|
|
gUnk_080021B3:: @ 080021B3
|
|
.incbin "code_080011C4/gUnk_080021B3.bin"
|
|
|
|
gUnk_080021BC:: @ 080021BC
|
|
.incbin "code_080011C4/gUnk_080021BC.bin"
|
|
|
|
gUnk_080021C3:: @ 080021C3
|
|
.incbin "code_080011C4/gUnk_080021C3.bin"
|
|
|
|
gUnk_080021CA:: @ 080021CA
|
|
.incbin "code_080011C4/gUnk_080021CA.bin"
|
|
|
|
gUnk_080021D1:: @ 080021D1
|
|
.incbin "code_080011C4/gUnk_080021D1.bin"
|
|
|
|
gUnk_080021D8:: @ 080021D8
|
|
.incbin "code_080011C4/gUnk_080021D8.bin"
|
|
|
|
gUnk_080021E1:: @ 080021E1
|
|
.incbin "code_080011C4/gUnk_080021E1.bin"
|
|
|
|
gUnk_080021E8:: @ 080021E8
|
|
.incbin "code_080011C4/gUnk_080021E8.bin"
|
|
|
|
gUnk_080021F1:: @ 080021F1
|
|
.incbin "code_080011C4/gUnk_080021F1.bin"
|
|
|
|
gUnk_080021F8:: @ 080021F8
|
|
.incbin "code_080011C4/gUnk_080021F8.bin"
|
|
|
|
gUnk_080021FF:: @ 080021FF
|
|
.incbin "code_080011C4/gUnk_080021FF.bin"
|
|
|
|
gUnk_08002206:: @ 08002206
|
|
.incbin "code_080011C4/gUnk_08002206.bin"
|
|
|
|
gUnk_0800220D:: @ 0800220D
|
|
.incbin "code_080011C4/gUnk_0800220D.bin"
|
|
|
|
gUnk_08002214:: @ 08002214
|
|
.incbin "code_080011C4/gUnk_08002214.bin"
|
|
|
|
gUnk_0800221B:: @ 0800221B
|
|
.incbin "code_080011C4/gUnk_0800221B.bin"
|
|
|
|
gUnk_08002222:: @ 08002222
|
|
.incbin "code_080011C4/gUnk_08002222.bin"
|
|
|
|
gUnk_08002229:: @ 08002229
|
|
.incbin "code_080011C4/gUnk_08002229.bin"
|
|
|
|
gUnk_08002230:: @ 08002230
|
|
.incbin "code_080011C4/gUnk_08002230.bin"
|
|
|
|
gUnk_08002239:: @ 08002239
|
|
.incbin "code_080011C4/gUnk_08002239.bin"
|
|
|
|
gUnk_08002240:: @ 08002240
|
|
.incbin "code_080011C4/gUnk_08002240.bin"
|
|
|
|
gUnk_08002247:: @ 08002247
|
|
.incbin "code_080011C4/gUnk_08002247.bin"
|
|
|
|
gUnk_0800224E:: @ 0800224E
|
|
.incbin "code_080011C4/gUnk_0800224E.bin"
|
|
|
|
gUnk_08002255:: @ 08002255
|
|
.incbin "code_080011C4/gUnk_08002255.bin"
|
|
|
|
gUnk_0800225C:: @ 0800225C
|
|
.incbin "code_080011C4/gUnk_0800225C.bin"
|
|
|
|
gUnk_08002263:: @ 08002263
|
|
.incbin "code_080011C4/gUnk_08002263.bin"
|
|
|
|
gUnk_0800226A:: @ 0800226A
|
|
.incbin "code_080011C4/gUnk_0800226A.bin"
|
|
|
|
gUnk_08002271:: @ 08002271
|
|
.incbin "code_080011C4/gUnk_08002271.bin"
|
|
|
|
gUnk_08002278:: @ 08002278
|
|
.incbin "code_080011C4/gUnk_08002278.bin"
|
|
|
|
gUnk_0800227F:: @ 0800227F
|
|
.incbin "code_080011C4/gUnk_0800227F.bin"
|
|
|
|
gUnk_08002286:: @ 08002286
|
|
.incbin "code_080011C4/gUnk_08002286.bin"
|
|
|
|
gUnk_0800228D:: @ 0800228D
|
|
.incbin "code_080011C4/gUnk_0800228D.bin"
|
|
|
|
gUnk_08002294:: @ 08002294
|
|
.incbin "code_080011C4/gUnk_08002294.bin"
|
|
|
|
gUnk_0800229B:: @ 0800229B
|
|
.incbin "code_080011C4/gUnk_0800229B.bin"
|
|
|
|
gUnk_080022A7:: @ 080022A7
|
|
.incbin "code_080011C4/gUnk_080022A7.bin"
|
|
|
|
gUnk_080022B3:: @ 080022B3
|
|
.incbin "code_080011C4/gUnk_080022B3.bin"
|
|
|
|
gUnk_080022BF:: @ 080022BF
|
|
.incbin "code_080011C4/gUnk_080022BF.bin"
|
|
|
|
gUnk_080022CB:: @ 080022CB
|
|
.incbin "code_080011C4/gUnk_080022CB.bin"
|
|
|
|
gUnk_080022D7:: @ 080022D7
|
|
.incbin "code_080011C4/gUnk_080022D7.bin"
|
|
|
|
gUnk_080022DE:: @ 080022DE
|
|
.incbin "code_080011C4/gUnk_080022DE.bin"
|
|
|
|
gUnk_080022E5:: @ 080022E5
|
|
.incbin "code_080011C4/gUnk_080022E5.bin"
|
|
|
|
gUnk_080022EC:: @ 080022EC
|
|
.incbin "code_080011C4/gUnk_080022EC.bin"
|
|
|
|
gUnk_080022F3:: @ 080022F3
|
|
.incbin "code_080011C4/gUnk_080022F3.bin"
|
|
|
|
gUnk_080022FB:: @ 080022FB
|
|
.incbin "code_080011C4/gUnk_080022FB.bin"
|
|
|
|
gUnk_08002302:: @ 08002302
|
|
.incbin "code_080011C4/gUnk_08002302.bin"
|
|
|
|
gUnk_08002309:: @ 08002309
|
|
.incbin "code_080011C4/gUnk_08002309.bin"
|
|
|
|
gUnk_08002310:: @ 08002310
|
|
.incbin "code_080011C4/gUnk_08002310.bin"
|
|
|
|
gUnk_08002317:: @ 08002317
|
|
.incbin "code_080011C4/gUnk_08002317.bin"
|
|
|
|
gUnk_0800231E:: @ 0800231E
|
|
.incbin "code_080011C4/gUnk_0800231E.bin"
|
|
|
|
gUnk_08002325:: @ 08002325
|
|
.incbin "code_080011C4/gUnk_08002325.bin"
|
|
|
|
gUnk_0800232C:: @ 0800232C
|
|
.incbin "code_080011C4/gUnk_0800232C.bin"
|
|
|
|
gUnk_0800232E:: @ 0800232E
|
|
.incbin "code_080011C4/gUnk_0800232E.bin"
|
|
|
|
gUnk_08002342:: @ 08002342
|
|
.incbin "code_080011C4/gUnk_08002342.bin"
|
|
|
|
non_word_aligned_thumb_func_start sub_08002632
|
|
sub_08002632: @ 0x08002632
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r4, _0800269C @ =gUnk_0800232E
|
|
ldrb r3, [r0, #8]
|
|
cmp r3, #3
|
|
beq _08002642
|
|
cmp r3, #7
|
|
bne _08002684
|
|
ldr r4, _080026A0 @ =gUnk_08002342
|
|
_08002642:
|
|
ldrb r3, [r0, #9]
|
|
lsls r1, r3, #0x10
|
|
ldrb r3, [r0, #0xa]
|
|
lsls r3, r3, #8
|
|
orrs r1, r3
|
|
ldrb r3, [r0, #0xb]
|
|
orrs r1, r3
|
|
add r6, pc, #0x38
|
|
_08002652:
|
|
adds r4, #6
|
|
ldrb r3, [r4]
|
|
lsls r2, r3, #0x10
|
|
beq _08002684
|
|
movs r5, #0
|
|
ldrb r3, [r4, #1]
|
|
cmp r3, #0xff
|
|
bne _08002664
|
|
movs r5, #8
|
|
_08002664:
|
|
lsls r3, r3, #8
|
|
orrs r2, r3
|
|
ldrb r3, [r4, #2]
|
|
cmp r3, #0xff
|
|
bne _08002670
|
|
adds r5, #4
|
|
_08002670:
|
|
orrs r2, r3
|
|
ldr r5, [r6, r5]
|
|
adds r3, r1, #0
|
|
ands r3, r5
|
|
ands r2, r5
|
|
cmp r3, r2
|
|
bne _08002652
|
|
ldrb r0, [r4, #3]
|
|
ldrh r1, [r4, #4]
|
|
pop {r4, r5, r6, r7, pc}
|
|
_08002684:
|
|
movs r0, #0
|
|
movs r1, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0800268C:
|
|
.byte 0xFF, 0xFF, 0xFF, 0x00
|
|
.byte 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
_0800269C: .4byte gUnk_0800232E
|
|
_080026A0: .4byte gUnk_08002342
|
|
|
|
gUnk_080026A4::
|
|
@ normal entities
|
|
.4byte gUnk_020000B0 @ enemy target? (player)
|
|
.4byte gEntityLists - 8 @ first linked list
|
|
.4byte gEntityLists + 64 @ last linked list
|
|
.4byte gUnk_03005FBC @ entity table
|
|
@ managers
|
|
.4byte gUnk_020000B0
|
|
.4byte gEntityLists + 56
|
|
.4byte gCollidableCount
|
|
.4byte gUnk_03005FBC
|
|
|
|
thumb_func_start sub_080026C4
|
|
sub_080026C4: @ 0x080026C4
|
|
push {r4, r5, r6, lr}
|
|
lsrs r4, r3, #3
|
|
lsls r4, r4, #6
|
|
adds r1, r1, r4
|
|
movs r6, #0xf0
|
|
lsls r4, r3, #0x1d
|
|
lsrs r4, r4, #0x1e
|
|
blo _080026D8
|
|
movs r6, #0xf
|
|
adds r2, #0x10
|
|
_080026D8:
|
|
adds r1, r1, r4
|
|
movs r3, #0x10
|
|
_080026DC:
|
|
ldrb r4, [r0]
|
|
ldrb r4, [r2, r4]
|
|
ldrb r5, [r1]
|
|
ands r5, r6
|
|
orrs r5, r4
|
|
strb r5, [r1]
|
|
adds r1, #4
|
|
adds r0, #8
|
|
subs r3, #1
|
|
bne _080026DC
|
|
pop {r4, r5, r6, pc}
|
|
|
|
non_word_aligned_thumb_func_start sub_080026F2
|
|
sub_080026F2: @ 0x080026F2
|
|
push {r4, r5, r6, lr}
|
|
lsrs r4, r3, #3
|
|
lsls r4, r4, #6
|
|
adds r1, r1, r4
|
|
movs r6, #0xf0
|
|
lsls r4, r3, #0x1d
|
|
lsrs r4, r4, #0x1e
|
|
blo _08002706
|
|
movs r6, #0xf
|
|
adds r2, #0x10
|
|
_08002706:
|
|
adds r1, r1, r4
|
|
movs r3, #0x10
|
|
_0800270A:
|
|
ldrb r4, [r0]
|
|
ldrb r4, [r2, r4]
|
|
cmp r4, #0
|
|
beq _0800271A
|
|
ldrb r5, [r1]
|
|
ands r5, r6
|
|
orrs r5, r4
|
|
strb r5, [r1]
|
|
_0800271A:
|
|
adds r1, #4
|
|
adds r0, #8
|
|
subs r3, #1
|
|
bne _0800270A
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08002724
|
|
sub_08002724: @ 0x08002724
|
|
push {r4, r5, lr}
|
|
movs r2, #0x10
|
|
movs r3, #0xf
|
|
_0800272A:
|
|
ldrb r4, [r0]
|
|
lsrs r5, r4, #4
|
|
ands r4, r3
|
|
strb r4, [r1]
|
|
strb r5, [r1, #1]
|
|
ldrb r4, [r0, #1]
|
|
lsrs r5, r4, #4
|
|
ands r4, r3
|
|
strb r4, [r1, #2]
|
|
strb r5, [r1, #3]
|
|
ldrb r4, [r0, #2]
|
|
lsrs r5, r4, #4
|
|
ands r4, r3
|
|
strb r4, [r1, #4]
|
|
strb r5, [r1, #5]
|
|
ldrb r4, [r0, #3]
|
|
lsrs r5, r4, #4
|
|
ands r4, r3
|
|
strb r4, [r1, #6]
|
|
strb r5, [r1, #7]
|
|
adds r0, #4
|
|
adds r1, #8
|
|
subs r2, #1
|
|
bne _0800272A
|
|
pop {r4, r5, pc}
|
|
|
|
gUnk_0800275C::
|
|
.byte 0x06, 0x00, 0x06, 0x60
|
|
.byte 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x00, 0x60, 0x60, 0x60
|
|
.byte 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x60, 0x06
|
|
.byte 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x00, 0x06, 0x06, 0x06
|
|
.byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
|
|
|
|
thumb_func_start GetNextFunction
|
|
GetNextFunction: @ 0x0800279C
|
|
movs r1, #0x3a
|
|
ldrb r3, [r0, r1]
|
|
movs r2, #4
|
|
ands r2, r3
|
|
bne _080027AE
|
|
movs r1, #0x41
|
|
ldrb r2, [r0, r1]
|
|
lsrs r2, r2, #7
|
|
bne _080027CE
|
|
_080027AE:
|
|
movs r1, #0x42
|
|
ldrb r2, [r0, r1]
|
|
cmp r2, #0
|
|
bne _080027D2
|
|
movs r1, #0x45
|
|
ldrb r2, [r0, r1]
|
|
cmp r2, #0
|
|
beq _080027D6
|
|
lsrs r2, r3, #3
|
|
bhs _080027E2
|
|
movs r1, #0x43
|
|
ldrb r2, [r0, r1]
|
|
cmp r2, #0
|
|
bne _080027E6
|
|
_080027CA:
|
|
movs r0, #0
|
|
bx lr
|
|
_080027CE:
|
|
movs r0, #1
|
|
bx lr
|
|
_080027D2:
|
|
movs r0, #2
|
|
bx lr
|
|
_080027D6:
|
|
ldrb r2, [r0, #0xc]
|
|
ldrb r0, [r0, #0xd]
|
|
orrs r0, r2
|
|
beq _080027CA
|
|
movs r0, #3
|
|
bx lr
|
|
_080027E2:
|
|
movs r0, #5
|
|
bx lr
|
|
_080027E6:
|
|
movs r0, #4
|
|
bx lr
|
|
|
|
non_word_aligned_thumb_func_start sub_080027EA
|
|
sub_080027EA: @ 0x080027EA
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r3, #0x80
|
|
tst r2, r3
|
|
bne _08002860
|
|
movs r4, #0x2a
|
|
ldrh r3, [r0, r4]
|
|
movs r4, #7
|
|
tst r2, r4
|
|
bne _08002812
|
|
push {r0, r1, r2, r3}
|
|
adds r0, r2, #0
|
|
adds r1, r3, #0
|
|
bl sub_08002864
|
|
adds r4, r0, #0
|
|
pop {r0, r1, r2, r3}
|
|
cmp r2, r4
|
|
beq _08002812
|
|
adds r2, r4, #0
|
|
ldr r1, _0800296C @ =0x00000100
|
|
_08002812:
|
|
ldr r4, _08002970 @ =gUnk_0800275C
|
|
lsls r2, r2, #1
|
|
ldrh r4, [r4, r2]
|
|
lsls r2, r2, #3
|
|
ands r3, r4
|
|
ldr r4, _08002974 @ =0x0000EE00
|
|
tst r3, r4
|
|
bne _0800283E
|
|
push {r0, r1, r2, r3}
|
|
ldr r4, _08002978 @ =gSineTable
|
|
ldrh r0, [r4, r2]
|
|
cmp r0, #0
|
|
beq _08002834
|
|
adds r6, #1
|
|
bl FixedMul
|
|
lsls r0, r0, #8
|
|
_08002834:
|
|
adds r4, r0, #0
|
|
pop {r0, r1, r2, r3}
|
|
ldr r5, [r0, #0x2c]
|
|
adds r5, r5, r4
|
|
str r5, [r0, #0x2c]
|
|
_0800283E:
|
|
movs r4, #0xee
|
|
tst r3, r4
|
|
bne _08002860
|
|
push {r0, r1, r2, r3}
|
|
ldr r4, _0800297C @ =gCosineTable
|
|
ldrh r0, [r4, r2]
|
|
cmp r0, #0
|
|
beq _08002856
|
|
adds r6, #2
|
|
bl FixedMul
|
|
lsls r0, r0, #8
|
|
_08002856:
|
|
adds r4, r0, #0
|
|
pop {r0, r1, r2, r3}
|
|
ldr r5, [r0, #0x30]
|
|
subs r5, r5, r4
|
|
str r5, [r0, #0x30]
|
|
_08002860:
|
|
adds r1, r6, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08002864
|
|
sub_08002864: @ 0x08002864
|
|
adds r2, r0, #0
|
|
lsrs r2, r2, #3
|
|
cmp r2, #0
|
|
beq _080028A8
|
|
subs r2, #1
|
|
beq _0800288E
|
|
subs r2, #1
|
|
beq _080028C2
|
|
ldr r3, _08002980 @ =0x00000E00
|
|
ands r3, r1
|
|
bne _0800287C
|
|
bx lr
|
|
_0800287C:
|
|
movs r2, #0
|
|
ldr r3, _08002984 @ =0x0000020E
|
|
tst r3, r1
|
|
beq _080028DC
|
|
movs r2, #0x10
|
|
ldr r3, _08002988 @ =0x000004E0
|
|
tst r3, r1
|
|
beq _080028DC
|
|
bx lr
|
|
_0800288E:
|
|
ldr r3, _0800298C @ =0x0000E000
|
|
ands r3, r1
|
|
bne _08002896
|
|
bx lr
|
|
_08002896:
|
|
movs r2, #0
|
|
ldr r3, _08002990 @ =0x0000200E
|
|
tst r3, r1
|
|
beq _080028DC
|
|
movs r2, #0x10
|
|
ldr r3, _08002994 @ =0x000040E0
|
|
tst r3, r1
|
|
beq _080028DC
|
|
bx lr
|
|
_080028A8:
|
|
movs r3, #0xe
|
|
ands r3, r1
|
|
bne _080028B0
|
|
bx lr
|
|
_080028B0:
|
|
movs r2, #8
|
|
ldr r3, _08002998 @ =0x0000E004
|
|
tst r3, r1
|
|
beq _080028DC
|
|
movs r2, #0x18
|
|
ldr r3, _0800299C @ =0x00000E02
|
|
tst r3, r1
|
|
beq _080028DC
|
|
bx lr
|
|
_080028C2:
|
|
movs r3, #0xe0
|
|
ands r3, r1
|
|
bne _080028CA
|
|
bx lr
|
|
_080028CA:
|
|
movs r2, #8
|
|
ldr r3, _080029A0 @ =0x0000E040
|
|
tst r3, r1
|
|
beq _080028DC
|
|
movs r2, #0x18
|
|
ldr r3, _080029A4 @ =0x00000E20
|
|
tst r3, r1
|
|
beq _080028DC
|
|
bx lr
|
|
_080028DC:
|
|
adds r0, r2, #0
|
|
bx lr
|
|
|
|
thumb_func_start sub_080028E0
|
|
sub_080028E0: @ 0x080028E0
|
|
movs r1, #0x3d
|
|
movs r3, #1
|
|
ldrsb r2, [r0, r1]
|
|
cmp r2, #0
|
|
beq _080028F2
|
|
bmi _080028EE
|
|
rsbs r3, r3, #0
|
|
_080028EE:
|
|
adds r2, r2, r3
|
|
strb r2, [r0, r1]
|
|
_080028F2:
|
|
bx lr
|
|
|
|
thumb_func_start GetRandomByWeight
|
|
GetRandomByWeight: @ 0x080028F4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl Random
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
movs r1, #0
|
|
_08002902:
|
|
ldrb r2, [r4, r1]
|
|
adds r1, #1
|
|
subs r0, r0, r2
|
|
bpl _08002902
|
|
subs r0, r1, #1
|
|
pop {r4, pc}
|
|
|
|
non_word_aligned_thumb_func_start CheckRectOnScreen
|
|
CheckRectOnScreen: @ 0x0800290E
|
|
push {r4, r5, r6, lr}
|
|
ldr r4, _080029A8 @ =gRoomControls
|
|
ldrh r5, [r4, #0xa]
|
|
ldrh r6, [r4, #6]
|
|
subs r5, r5, r6
|
|
subs r5, r5, r2
|
|
subs r0, r0, r5
|
|
lsls r2, r2, #1
|
|
adds r2, #0xf0
|
|
cmp r0, r2
|
|
bhs _0800293A
|
|
ldrh r5, [r4, #0xc]
|
|
ldrh r6, [r4, #8]
|
|
subs r5, r5, r6
|
|
subs r5, r5, r3
|
|
subs r1, r1, r5
|
|
lsls r3, r3, #1
|
|
adds r3, #0xa0
|
|
cmp r1, r3
|
|
bhs _0800293A
|
|
movs r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0800293A:
|
|
movs r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
|
|
non_word_aligned_thumb_func_start CheckPlayerInRegion
|
|
CheckPlayerInRegion: @ 0x0800293E
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r4, _080029AC @ =gRoomControls
|
|
ldr r7, _080029B0 @ =gPlayerEntity
|
|
ldrh r6, [r4, #6]
|
|
ldrh r5, [r7, #0x2e]
|
|
subs r5, r5, r6
|
|
subs r5, r5, r2
|
|
subs r0, r0, r5
|
|
lsls r2, r2, #1
|
|
cmp r0, r2
|
|
bhs _08002968
|
|
ldrh r6, [r4, #8]
|
|
ldrh r5, [r7, #0x32]
|
|
subs r5, r5, r6
|
|
subs r5, r5, r3
|
|
subs r1, r1, r5
|
|
lsls r3, r3, #1
|
|
cmp r1, r3
|
|
bhs _08002968
|
|
movs r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_08002968:
|
|
movs r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0800296C: .4byte 0x00000100
|
|
_08002970: .4byte gUnk_0800275C
|
|
_08002974: .4byte 0x0000EE00
|
|
_08002978: .4byte gSineTable
|
|
_0800297C: .4byte gCosineTable
|
|
_08002980: .4byte 0x00000E00
|
|
_08002984: .4byte 0x0000020E
|
|
_08002988: .4byte 0x000004E0
|
|
_0800298C: .4byte 0x0000E000
|
|
_08002990: .4byte 0x0000200E
|
|
_08002994: .4byte 0x000040E0
|
|
_08002998: .4byte 0x0000E004
|
|
_0800299C: .4byte 0x00000E02
|
|
_080029A0: .4byte 0x0000E040
|
|
_080029A4: .4byte 0x00000E20
|
|
_080029A8: .4byte gRoomControls
|
|
_080029AC: .4byte gRoomControls
|
|
_080029B0: .4byte gPlayerEntity
|