Extract entity definitions

This commit is contained in:
octorock
2021-11-11 18:12:33 +01:00
parent e44d0e3fc9
commit b1e2175ffb
72 changed files with 3337 additions and 8518 deletions
+2 -2
View File
@@ -551,7 +551,7 @@ sub_08030590: @ 0x08030590
strb r0, [r1]
adds r1, #4
strb r0, [r1]
ldr r0, _080305B8 @ =gUnk_080FD2F8
ldr r0, _080305B8 @ =gHitbox_15
str r0, [r4, #0x48]
adds r0, r4, #0
movs r1, #5
@@ -560,7 +560,7 @@ sub_08030590: @ 0x08030590
bl sub_080307EC
pop {r4, pc}
.align 2, 0
_080305B8: .4byte gUnk_080FD2F8
_080305B8: .4byte gHitbox_15
thumb_func_start sub_080305BC
sub_080305BC: @ 0x080305BC
+2 -2
View File
@@ -60,7 +60,7 @@ _0808C230:
adds r1, r4, #0
adds r1, #0x72
strh r0, [r1]
ldr r0, _0808C2B4 @ =gUnk_080FD180
ldr r0, _0808C2B4 @ =gHitbox_3
str r0, [r4, #0x48]
adds r2, r4, #0
adds r2, #0x29
@@ -111,7 +111,7 @@ _0808C230:
b _0808C31C
.align 2, 0
_0808C2B0: .4byte 0x0000FFFF
_0808C2B4: .4byte gUnk_080FD180
_0808C2B4: .4byte gHitbox_3
_0808C2B8: .4byte gRoomControls
_0808C2BC:
cmp r0, #2
-659
View File
@@ -1114,666 +1114,7 @@ _0804A550:
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start sub_0804A554
sub_0804A554: @ 0x0804A554
push {lr}
adds r3, r0, #0
ldrb r0, [r3, #9]
lsls r0, r0, #4
ldr r1, _0804A574 @ =gUnk_080D2C58
adds r2, r0, r1
ldrh r1, [r2]
ldr r0, _0804A578 @ =0x0000FFFF
cmp r1, r0
bne _0804A570
ldrb r0, [r3, #0xa]
lsls r0, r0, #4
ldr r1, [r2, #4]
adds r2, r1, r0
_0804A570:
adds r0, r2, #0
pop {pc}
.align 2, 0
_0804A574: .4byte gUnk_080D2C58
_0804A578: .4byte 0x0000FFFF
thumb_func_start EnemyInit
EnemyInit: @ 0x0804A57C
push {r4, r5, r6, r7, lr}
adds r4, r0, #0
ldrb r1, [r4, #0x10]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _0804A58C
b _0804A6B6
_0804A58C:
adds r0, r4, #0
bl sub_0804A554
adds r5, r0, #0
adds r0, r4, #0
adds r1, r5, #0
bl sub_0804A6C0
cmp r0, #0
bne _0804A5A4
movs r0, #0
b _0804A6B8
_0804A5A4:
ldrb r1, [r4, #0x10]
movs r0, #1
adds r2, r1, #0
orrs r2, r0
strb r2, [r4, #0x10]
ldrb r1, [r5, #0xa]
movs r0, #8
ands r0, r1
cmp r0, #0
beq _0804A5BE
movs r0, #0x80
orrs r2, r0
strb r2, [r4, #0x10]
_0804A5BE:
ldrh r0, [r5, #8]
strh r0, [r4, #0x12]
ldrb r2, [r4, #0x18]
lsls r0, r2, #0x1e
cmp r0, #0
bne _0804A5DA
ldrb r1, [r5, #0xa]
lsls r1, r1, #0x1a
lsrs r1, r1, #0x1e
movs r0, #4
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x18]
_0804A5DA:
ldrb r1, [r5, #0xa]
lsls r1, r1, #0x1d
adds r3, r4, #0
adds r3, #0x29
movs r6, #7
lsrs r1, r1, #0x1a
ldrb r2, [r3]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r3]
ldrb r1, [r5, #0xa]
movs r7, #3
lsrs r1, r1, #6
lsls r1, r1, #4
ldrb r2, [r4, #0x18]
movs r0, #0x31
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x18]
movs r1, #0x24
ldrsh r0, [r4, r1]
cmp r0, #0
bne _0804A612
ldrh r0, [r5, #0xc]
strh r0, [r4, #0x24]
_0804A612:
ldrb r0, [r5, #0xf]
adds r1, r4, #0
adds r1, #0x3b
strb r0, [r1]
ldrb r0, [r5, #0xe]
adds r1, #4
strb r0, [r1]
ldr r0, [r5, #4]
str r0, [r4, #0x48]
ldrb r0, [r5, #0xb]
adds r2, r4, #0
adds r2, #0x45
strb r0, [r2]
adds r1, #1
ldrb r0, [r1]
cmp r0, #0
bne _0804A638
movs r0, #0x41
strb r0, [r1]
_0804A638:
adds r0, r4, #0
bl UpdateSpriteForCollisionLayer
adds r5, r4, #0
adds r5, #0x6d
ldrb r1, [r5]
movs r0, #0x20
ands r0, r1
cmp r0, #0
beq _0804A6B6
ldr r2, _0804A6BC @ =gUnk_080D3E74
ldrb r1, [r4, #9]
lsrs r0, r1, #3
lsls r0, r0, #1
adds r0, r0, r2
ldrh r2, [r0]
ands r6, r1
lsls r0, r6, #1
asrs r2, r0
movs r0, #3
ands r2, r0
cmp r2, #0
beq _0804A6B6
subs r1, r2, #1
movs r0, #0xa9
movs r2, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _0804A6B6
ldrb r0, [r4, #0x10]
strb r0, [r2, #0xe]
ldrb r0, [r4, #0x18]
lsls r0, r0, #0x1e
lsrs r0, r0, #0x1e
strb r0, [r2, #0xf]
adds r3, r2, #0
adds r3, #0x29
ldrb r1, [r3]
movs r0, #8
rsbs r0, r0, #0
ands r0, r1
orrs r0, r7
strb r0, [r3]
str r4, [r2, #0x50]
adds r0, r4, #0
adds r1, r2, #0
bl CopyPosition
ldrb r1, [r4, #0x10]
movs r0, #0x7f
ands r0, r1
strb r0, [r4, #0x10]
ldrb r1, [r4, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
strb r0, [r4, #0x18]
ldrb r0, [r5]
movs r1, #0x10
orrs r0, r1
strb r0, [r5]
_0804A6B6:
movs r0, #1
_0804A6B8:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0804A6BC: .4byte gUnk_080D3E74
thumb_func_start sub_0804A6C0
sub_0804A6C0: @ 0x0804A6C0
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
ldrh r2, [r5]
lsls r1, r2, #0x10
cmp r1, #0
beq _0804A712
movs r0, #0x80
lsls r0, r0, #8
ands r0, r2
cmp r0, #0
beq _0804A6E8
ldr r0, _0804A6E4 @ =0x000003FF
ands r0, r2
adds r1, r4, #0
adds r1, #0x60
strh r0, [r1]
b _0804A712
.align 2, 0
_0804A6E4: .4byte 0x000003FF
_0804A6E8:
movs r0, #0x80
lsls r0, r0, #7
ands r0, r2
cmp r0, #0
beq _0804A702
lsrs r1, r1, #0x14
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
adds r0, r4, #0
movs r2, #0
bl sub_080AE008
b _0804A70A
_0804A702:
ldrh r1, [r5]
adds r0, r4, #0
bl LoadFixedGFX
_0804A70A:
cmp r0, #0
bne _0804A712
movs r0, #0
b _0804A71C
_0804A712:
ldrh r1, [r5, #2]
adds r0, r4, #0
bl sub_0801D040
movs r0, #1
_0804A71C:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_0804A720
sub_0804A720: @ 0x0804A720
push {r4, r5, r6, lr}
adds r2, r0, #0
adds r0, #0x6d
ldrb r1, [r0]
movs r0, #4
ands r0, r1
cmp r0, #0
bne _0804A7D0
ldrb r0, [r2, #9]
lsls r0, r0, #1
ldr r1, _0804A76C @ =gUnk_080D3D94
adds r3, r0, r1
adds r4, r2, #0
adds r4, #0x68
ldrb r1, [r4, #0x16]
cmp r1, #0
bne _0804A744
ldrb r1, [r3]
_0804A744:
adds r0, r2, #0
adds r0, #0x6e
strb r1, [r0]
adds r5, r0, #0
ldrb r1, [r4, #0x17]
cmp r1, #0
bne _0804A754
ldrb r1, [r3, #1]
_0804A754:
adds r0, r2, #0
adds r0, #0x6f
strb r1, [r0]
adds r6, r0, #0
ldrh r1, [r4, #0x1c]
adds r3, r1, #0
cmp r3, #0
beq _0804A774
ldr r0, _0804A770 @ =gRoomControls
ldrh r0, [r0, #6]
adds r0, r1, r0
b _0804A784
.align 2, 0
_0804A76C: .4byte gUnk_080D3D94
_0804A770: .4byte gRoomControls
_0804A774:
ldrb r0, [r5]
lsls r1, r0, #2
movs r5, #0x2e
ldrsh r0, [r2, r5]
cmp r0, r1
blt _0804A78C
ldrh r0, [r2, #0x2e]
subs r0, r0, r1
_0804A784:
adds r1, r2, #0
adds r1, #0x70
strh r0, [r1]
b _0804A792
_0804A78C:
adds r0, r2, #0
adds r0, #0x70
strh r3, [r0]
_0804A792:
ldrh r1, [r4, #0x1e]
adds r3, r1, #0
cmp r3, #0
beq _0804A7A8
ldr r0, _0804A7A4 @ =gRoomControls
ldrh r0, [r0, #8]
adds r0, r1, r0
b _0804A7B8
.align 2, 0
_0804A7A4: .4byte gRoomControls
_0804A7A8:
ldrb r0, [r6]
lsls r1, r0, #2
movs r4, #0x32
ldrsh r0, [r2, r4]
cmp r0, r1
blt _0804A7C0
ldrh r0, [r2, #0x32]
subs r0, r0, r1
_0804A7B8:
adds r1, r2, #0
adds r1, #0x72
strh r0, [r1]
b _0804A7C6
_0804A7C0:
adds r0, r2, #0
adds r0, #0x72
strh r3, [r0]
_0804A7C6:
adds r2, #0x6d
ldrb r1, [r2]
movs r0, #4
orrs r0, r1
strb r0, [r2]
_0804A7D0:
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_start sub_0804A7D4
sub_0804A7D4: @ 0x0804A7D4
push {lr}
ldrb r1, [r0, #9]
movs r2, #0
bl CreateDeathFx
pop {pc}
thumb_func_start CreateDeathFx
CreateDeathFx: @ 0x0804A7E0
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
adds r5, r0, #0
mov sb, r1
mov sl, r2
adds r6, r5, #0
adds r6, #0x6d
ldrb r1, [r6]
movs r7, #1
adds r0, r7, #0
ands r0, r1
cmp r0, #0
beq _0804A864
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0804A80A
b _0804A982
_0804A80A:
ldrb r1, [r5, #9]
movs r0, #1
movs r2, #0
bl CreateObject
adds r4, r0, #0
cmp r4, #0
bne _0804A81C
b _0804A982
_0804A81C:
adds r0, #0x6c
strb r7, [r0]
adds r0, r5, #0
adds r1, r4, #0
movs r2, #0
movs r3, #1
bl PositionRelative
str r5, [r4, #0x50]
ldrb r1, [r6]
movs r0, #2
orrs r0, r1
strb r0, [r6]
ldrb r0, [r5, #9]
cmp r0, #0x37
bne _0804A84A
ldr r0, _0804A85C @ =gScreenTransition
adds r0, #0x39
ldrb r0, [r0]
cmp r0, #0
beq _0804A84A
bl DeleteThisEntity
_0804A84A:
bl sub_0807CD9C
ldr r0, _0804A860 @ =0x80100000
bl SoundReq
bl DeleteThisEntity
b _0804A982
.align 2, 0
_0804A85C: .4byte gScreenTransition
_0804A860: .4byte 0x80100000
_0804A864:
adds r4, r5, #0
adds r4, #0x3a
ldrb r1, [r4]
movs r0, #2
ands r0, r1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
mov r8, r0
cmp r0, #0
bne _0804A934
adds r0, r5, #0
bl sub_08049CF4
ldr r1, _0804A8E8 @ =gSave
ldr r0, [r1, #0x50]
adds r0, #1
str r0, [r1, #0x50]
ldrb r0, [r4]
movs r7, #0
movs r1, #2
orrs r0, r1
strb r0, [r4]
movs r0, #0xff
strb r0, [r5, #0xe]
adds r0, r5, #0
movs r1, #3
bl sub_0805E3A0
ldrb r1, [r5, #9]
movs r0, #1
movs r2, #0
bl CreateObject
adds r4, r0, #0
cmp r4, #0
beq _0804A8CA
adds r0, #0x6c
mov r2, r8
strb r2, [r0]
adds r0, #1
mov r1, sb
strb r1, [r0]
adds r0, #1
mov r2, sl
strb r2, [r0]
str r5, [r4, #0x50]
str r5, [r4, #0x54]
adds r0, r5, #0
adds r1, r4, #0
bl CopyPosition
_0804A8CA:
ldrb r1, [r6]
movs r0, #8
ands r0, r1
cmp r0, #0
beq _0804A8EC
adds r0, r4, #0
adds r0, #0x6c
ldrb r1, [r0]
movs r2, #8
orrs r1, r2
strb r1, [r0]
adds r0, r5, #0
bl DeleteEntity
b _0804A982
.align 2, 0
_0804A8E8: .4byte gSave
_0804A8EC:
adds r0, r5, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x7f
ands r0, r1
cmp r0, #0x13
bne _0804A934
ldrb r0, [r5, #0x1c]
movs r1, #0xf
ands r1, r0
cmp r1, #1
beq _0804A91A
cmp r1, #2
bne _0804A92A
cmp r4, #0
beq _0804A92A
adds r1, r4, #0
adds r1, #0x6c
ldrb r0, [r1]
movs r2, #2
orrs r0, r2
strb r0, [r1]
b _0804A92A
_0804A91A:
cmp r4, #0
beq _0804A92A
adds r0, r4, #0
adds r0, #0x6c
ldrb r1, [r0]
movs r2, #4
orrs r1, r2
strb r1, [r0]
_0804A92A:
movs r0, #0
str r0, [r4, #0x50]
bl DeleteThisEntity
b _0804A982
_0804A934:
ldrb r0, [r5, #0xe]
cmp r0, #0
bne _0804A940
bl DeleteThisEntity
b _0804A982
_0804A940:
subs r1, r0, #1
strb r1, [r5, #0xe]
lsls r0, r1, #0x18
cmp r0, #0
bne _0804A95E
ldrb r1, [r5, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
strb r0, [r5, #0x18]
adds r0, r5, #0
movs r1, #0
bl sub_0805E3A0
b _0804A982
_0804A95E:
lsls r0, r1, #0x18
lsrs r0, r0, #0x18
cmp r0, #8
bhi _0804A982
ldrb r1, [r5, #0x18]
lsls r0, r1, #0x1e
cmp r0, #0
beq _0804A976
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
b _0804A980
_0804A976:
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
movs r1, #1
orrs r0, r1
_0804A980:
strb r0, [r5, #0x18]
_0804A982:
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
thumb_func_start CreateProjectileWithParent
CreateProjectileWithParent: @ 0x0804A98C
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r0, r1, #0
adds r5, r2, #0
bl CreateProjectile
adds r4, r0, #0
cmp r4, #0
beq _0804A9A8
strb r5, [r4, #0xa]
adds r0, r6, #0
adds r1, r4, #0
bl CopyPosition
_0804A9A8:
adds r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_start SetChildOffset
SetChildOffset: @ 0x0804A9AC
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r6, r1, #0
adds r7, r2, #0
mov ip, r3
ldr r4, [r5, #0x68]
cmp r4, #0
beq _0804A9FA
ldrb r2, [r5, #0x19]
lsrs r2, r2, #6
lsls r2, r2, #6
ldrb r3, [r4, #0x19]
movs r1, #0x3f
adds r0, r1, #0
ands r0, r3
orrs r0, r2
strb r0, [r4, #0x19]
ldrb r0, [r5, #0x1b]
lsrs r0, r0, #6
lsls r0, r0, #6
ldrb r2, [r4, #0x1b]
ands r1, r2
orrs r1, r0
strb r1, [r4, #0x1b]
ldrh r0, [r5, #0x2e]
adds r0, r0, r6
strh r0, [r4, #0x2e]
ldrh r0, [r5, #0x32]
adds r0, r0, r7
strh r0, [r4, #0x32]
ldrh r0, [r5, #0x36]
add r0, ip
strh r0, [r4, #0x36]
adds r0, r5, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r4, #0
adds r0, #0x38
strb r1, [r0]
_0804A9FA:
pop {r4, r5, r6, r7, pc}
thumb_func_start sub_0804A9FC
sub_0804A9FC: @ 0x0804A9FC
push {r4, lr}
adds r4, r0, #0
ldr r0, [r4, #0x68]
cmp r0, #0
bne _0804AA16
adds r0, r4, #0
movs r2, #0
bl CreateFx
cmp r0, #0
beq _0804AA16
str r0, [r4, #0x68]
b _0804AA18
_0804AA16:
movs r0, #0
_0804AA18:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0804AA1C
sub_0804AA1C: @ 0x0804AA1C
push {lr}
adds r2, r0, #0
ldr r1, [r2, #0x68]
cmp r1, #0
beq _0804AA2C
movs r0, #0
str r0, [r1, #0x50]
str r0, [r2, #0x68]
_0804AA2C:
pop {pc}
.align 2, 0
+426
View File
@@ -0,0 +1,426 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0804A720
sub_0804A720: @ 0x0804A720
push {r4, r5, r6, lr}
adds r2, r0, #0
adds r0, #0x6d
ldrb r1, [r0]
movs r0, #4
ands r0, r1
cmp r0, #0
bne _0804A7D0
ldrb r0, [r2, #9]
lsls r0, r0, #1
ldr r1, _0804A76C @ =gUnk_080D3D94
adds r3, r0, r1
adds r4, r2, #0
adds r4, #0x68
ldrb r1, [r4, #0x16]
cmp r1, #0
bne _0804A744
ldrb r1, [r3]
_0804A744:
adds r0, r2, #0
adds r0, #0x6e
strb r1, [r0]
adds r5, r0, #0
ldrb r1, [r4, #0x17]
cmp r1, #0
bne _0804A754
ldrb r1, [r3, #1]
_0804A754:
adds r0, r2, #0
adds r0, #0x6f
strb r1, [r0]
adds r6, r0, #0
ldrh r1, [r4, #0x1c]
adds r3, r1, #0
cmp r3, #0
beq _0804A774
ldr r0, _0804A770 @ =gRoomControls
ldrh r0, [r0, #6]
adds r0, r1, r0
b _0804A784
.align 2, 0
_0804A76C: .4byte gUnk_080D3D94
_0804A770: .4byte gRoomControls
_0804A774:
ldrb r0, [r5]
lsls r1, r0, #2
movs r5, #0x2e
ldrsh r0, [r2, r5]
cmp r0, r1
blt _0804A78C
ldrh r0, [r2, #0x2e]
subs r0, r0, r1
_0804A784:
adds r1, r2, #0
adds r1, #0x70
strh r0, [r1]
b _0804A792
_0804A78C:
adds r0, r2, #0
adds r0, #0x70
strh r3, [r0]
_0804A792:
ldrh r1, [r4, #0x1e]
adds r3, r1, #0
cmp r3, #0
beq _0804A7A8
ldr r0, _0804A7A4 @ =gRoomControls
ldrh r0, [r0, #8]
adds r0, r1, r0
b _0804A7B8
.align 2, 0
_0804A7A4: .4byte gRoomControls
_0804A7A8:
ldrb r0, [r6]
lsls r1, r0, #2
movs r4, #0x32
ldrsh r0, [r2, r4]
cmp r0, r1
blt _0804A7C0
ldrh r0, [r2, #0x32]
subs r0, r0, r1
_0804A7B8:
adds r1, r2, #0
adds r1, #0x72
strh r0, [r1]
b _0804A7C6
_0804A7C0:
adds r0, r2, #0
adds r0, #0x72
strh r3, [r0]
_0804A7C6:
adds r2, #0x6d
ldrb r1, [r2]
movs r0, #4
orrs r0, r1
strb r0, [r2]
_0804A7D0:
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_start sub_0804A7D4
sub_0804A7D4: @ 0x0804A7D4
push {lr}
ldrb r1, [r0, #9]
movs r2, #0
bl CreateDeathFx
pop {pc}
thumb_func_start CreateDeathFx
CreateDeathFx: @ 0x0804A7E0
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
adds r5, r0, #0
mov sb, r1
mov sl, r2
adds r6, r5, #0
adds r6, #0x6d
ldrb r1, [r6]
movs r7, #1
adds r0, r7, #0
ands r0, r1
cmp r0, #0
beq _0804A864
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0804A80A
b _0804A982
_0804A80A:
ldrb r1, [r5, #9]
movs r0, #1
movs r2, #0
bl CreateObject
adds r4, r0, #0
cmp r4, #0
bne _0804A81C
b _0804A982
_0804A81C:
adds r0, #0x6c
strb r7, [r0]
adds r0, r5, #0
adds r1, r4, #0
movs r2, #0
movs r3, #1
bl PositionRelative
str r5, [r4, #0x50]
ldrb r1, [r6]
movs r0, #2
orrs r0, r1
strb r0, [r6]
ldrb r0, [r5, #9]
cmp r0, #0x37
bne _0804A84A
ldr r0, _0804A85C @ =gScreenTransition
adds r0, #0x39
ldrb r0, [r0]
cmp r0, #0
beq _0804A84A
bl DeleteThisEntity
_0804A84A:
bl sub_0807CD9C
ldr r0, _0804A860 @ =0x80100000
bl SoundReq
bl DeleteThisEntity
b _0804A982
.align 2, 0
_0804A85C: .4byte gScreenTransition
_0804A860: .4byte 0x80100000
_0804A864:
adds r4, r5, #0
adds r4, #0x3a
ldrb r1, [r4]
movs r0, #2
ands r0, r1
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
mov r8, r0
cmp r0, #0
bne _0804A934
adds r0, r5, #0
bl sub_08049CF4
ldr r1, _0804A8E8 @ =gSave
ldr r0, [r1, #0x50]
adds r0, #1
str r0, [r1, #0x50]
ldrb r0, [r4]
movs r7, #0
movs r1, #2
orrs r0, r1
strb r0, [r4]
movs r0, #0xff
strb r0, [r5, #0xe]
adds r0, r5, #0
movs r1, #3
bl sub_0805E3A0
ldrb r1, [r5, #9]
movs r0, #1
movs r2, #0
bl CreateObject
adds r4, r0, #0
cmp r4, #0
beq _0804A8CA
adds r0, #0x6c
mov r2, r8
strb r2, [r0]
adds r0, #1
mov r1, sb
strb r1, [r0]
adds r0, #1
mov r2, sl
strb r2, [r0]
str r5, [r4, #0x50]
str r5, [r4, #0x54]
adds r0, r5, #0
adds r1, r4, #0
bl CopyPosition
_0804A8CA:
ldrb r1, [r6]
movs r0, #8
ands r0, r1
cmp r0, #0
beq _0804A8EC
adds r0, r4, #0
adds r0, #0x6c
ldrb r1, [r0]
movs r2, #8
orrs r1, r2
strb r1, [r0]
adds r0, r5, #0
bl DeleteEntity
b _0804A982
.align 2, 0
_0804A8E8: .4byte gSave
_0804A8EC:
adds r0, r5, #0
adds r0, #0x41
ldrb r1, [r0]
movs r0, #0x7f
ands r0, r1
cmp r0, #0x13
bne _0804A934
ldrb r0, [r5, #0x1c]
movs r1, #0xf
ands r1, r0
cmp r1, #1
beq _0804A91A
cmp r1, #2
bne _0804A92A
cmp r4, #0
beq _0804A92A
adds r1, r4, #0
adds r1, #0x6c
ldrb r0, [r1]
movs r2, #2
orrs r0, r2
strb r0, [r1]
b _0804A92A
_0804A91A:
cmp r4, #0
beq _0804A92A
adds r0, r4, #0
adds r0, #0x6c
ldrb r1, [r0]
movs r2, #4
orrs r1, r2
strb r1, [r0]
_0804A92A:
movs r0, #0
str r0, [r4, #0x50]
bl DeleteThisEntity
b _0804A982
_0804A934:
ldrb r0, [r5, #0xe]
cmp r0, #0
bne _0804A940
bl DeleteThisEntity
b _0804A982
_0804A940:
subs r1, r0, #1
strb r1, [r5, #0xe]
lsls r0, r1, #0x18
cmp r0, #0
bne _0804A95E
ldrb r1, [r5, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
strb r0, [r5, #0x18]
adds r0, r5, #0
movs r1, #0
bl sub_0805E3A0
b _0804A982
_0804A95E:
lsls r0, r1, #0x18
lsrs r0, r0, #0x18
cmp r0, #8
bhi _0804A982
ldrb r1, [r5, #0x18]
lsls r0, r1, #0x1e
cmp r0, #0
beq _0804A976
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
b _0804A980
_0804A976:
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
movs r1, #1
orrs r0, r1
_0804A980:
strb r0, [r5, #0x18]
_0804A982:
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
thumb_func_start CreateProjectileWithParent
CreateProjectileWithParent: @ 0x0804A98C
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r0, r1, #0
adds r5, r2, #0
bl CreateProjectile
adds r4, r0, #0
cmp r4, #0
beq _0804A9A8
strb r5, [r4, #0xa]
adds r0, r6, #0
adds r1, r4, #0
bl CopyPosition
_0804A9A8:
adds r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_start SetChildOffset
SetChildOffset: @ 0x0804A9AC
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r6, r1, #0
adds r7, r2, #0
mov ip, r3
ldr r4, [r5, #0x68]
cmp r4, #0
beq _0804A9FA
ldrb r2, [r5, #0x19]
lsrs r2, r2, #6
lsls r2, r2, #6
ldrb r3, [r4, #0x19]
movs r1, #0x3f
adds r0, r1, #0
ands r0, r3
orrs r0, r2
strb r0, [r4, #0x19]
ldrb r0, [r5, #0x1b]
lsrs r0, r0, #6
lsls r0, r0, #6
ldrb r2, [r4, #0x1b]
ands r1, r2
orrs r1, r0
strb r1, [r4, #0x1b]
ldrh r0, [r5, #0x2e]
adds r0, r0, r6
strh r0, [r4, #0x2e]
ldrh r0, [r5, #0x32]
adds r0, r0, r7
strh r0, [r4, #0x32]
ldrh r0, [r5, #0x36]
add r0, ip
strh r0, [r4, #0x36]
adds r0, r5, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r4, #0
adds r0, #0x38
strb r1, [r0]
_0804A9FA:
pop {r4, r5, r6, r7, pc}
thumb_func_start sub_0804A9FC
sub_0804A9FC: @ 0x0804A9FC
push {r4, lr}
adds r4, r0, #0
ldr r0, [r4, #0x68]
cmp r0, #0
bne _0804AA16
adds r0, r4, #0
movs r2, #0
bl CreateFx
cmp r0, #0
beq _0804AA16
str r0, [r4, #0x68]
b _0804AA18
_0804AA16:
movs r0, #0
_0804AA18:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0804AA1C
sub_0804AA1C: @ 0x0804AA1C
push {lr}
adds r2, r0, #0
ldr r1, [r2, #0x68]
cmp r1, #0
beq _0804AA2C
movs r0, #0
str r0, [r1, #0x50]
str r0, [r2, #0x68]
_0804AA2C:
pop {pc}
.align 2, 0
+7 -7
View File
@@ -35,13 +35,13 @@ _0806EC4C:
pop {pc}
.align 2, 0
thumb_func_start sub_0806EC50
sub_0806EC50: @ 0x0806EC50
thumb_func_start GetNPCDefinition
GetNPCDefinition: @ 0x0806EC50
push {lr}
adds r3, r0, #0
ldrb r0, [r3, #9]
lsls r0, r0, #3
ldr r1, _0806EC74 @ =gUnk_08114AE4
ldr r1, _0806EC74 @ =gNPCDefinitions
adds r2, r0, r1
ldrb r1, [r2]
movs r0, #3
@@ -56,10 +56,10 @@ _0806EC6E:
adds r0, r2, #0
pop {pc}
.align 2, 0
_0806EC74: .4byte gUnk_08114AE4
_0806EC74: .4byte gNPCDefinitions
thumb_func_start sub_0806EC78
sub_0806EC78: @ 0x0806EC78
thumb_func_start NPCInit
NPCInit: @ 0x0806EC78
push {r4, r5, lr}
adds r4, r0, #0
ldrb r1, [r4, #0x10]
@@ -68,7 +68,7 @@ sub_0806EC78: @ 0x0806EC78
cmp r0, #0
bne _0806ED4A
adds r0, r4, #0
bl sub_0806EC50
bl GetNPCDefinition
adds r5, r0, #0
ldrb r1, [r5]
movs r0, #3
+1 -1
View File
@@ -1263,7 +1263,7 @@ _080A4550:
cmp r0, #7
bne _080A456A
adds r0, r4, #0
bl sub_0806EC78
bl NPCInit
ldrb r0, [r4, #9]
strb r0, [r4, #0xf]
movs r0, #0x56
-233
View File
@@ -195,236 +195,3 @@ _080A7D52:
bl MessageFromTarget
_080A7D56:
pop {pc}
thumb_func_start sub_080A7D58
sub_080A7D58: @ 0x080A7D58
push {lr}
adds r3, r0, #0
ldrb r0, [r3, #9]
lsls r0, r0, #4
ldr r1, _080A7D78 @ =gUnk_0813210C
adds r2, r0, r1
ldrh r1, [r2]
ldr r0, _080A7D7C @ =0x0000FFFF
cmp r1, r0
bne _080A7D74
ldrb r0, [r3, #0xa]
lsls r0, r0, #4
ldr r1, [r2, #4]
adds r2, r1, r0
_080A7D74:
adds r0, r2, #0
pop {pc}
.align 2, 0
_080A7D78: .4byte gUnk_0813210C
_080A7D7C: .4byte 0x0000FFFF
thumb_func_start sub_080A7D80
sub_080A7D80: @ 0x080A7D80
push {r4, r5, lr}
adds r4, r0, #0
ldrb r1, [r4, #0x10]
movs r0, #1
ands r0, r1
cmp r0, #0
bne _080A7E4A
adds r0, r4, #0
bl sub_080A7D58
adds r5, r0, #0
adds r0, r4, #0
adds r1, r5, #0
bl sub_080A7E50
cmp r0, #0
bne _080A7DA6
movs r0, #0
b _080A7E4C
_080A7DA6:
ldrb r1, [r4, #0x10]
movs r0, #1
adds r2, r1, #0
orrs r2, r0
strb r2, [r4, #0x10]
ldrb r1, [r5, #0xa]
movs r0, #8
ands r0, r1
cmp r0, #0
beq _080A7DC0
movs r0, #0x80
orrs r2, r0
strb r2, [r4, #0x10]
_080A7DC0:
ldrh r0, [r5, #8]
lsls r0, r0, #0x14
lsrs r0, r0, #0x14
strh r0, [r4, #0x12]
ldrb r2, [r4, #0x18]
lsls r0, r2, #0x1e
cmp r0, #0
bne _080A7DE0
ldrb r1, [r5, #0xa]
lsls r1, r1, #0x1a
lsrs r1, r1, #0x1e
movs r0, #4
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x18]
_080A7DE0:
ldrb r1, [r5, #0xa]
lsls r1, r1, #0x1d
adds r3, r4, #0
adds r3, #0x29
lsrs r1, r1, #0x1a
ldrb r2, [r3]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r3]
ldrb r1, [r5, #0xa]
lsrs r1, r1, #6
lsls r1, r1, #4
ldrb r2, [r4, #0x18]
movs r0, #0x31
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x18]
movs r1, #0x24
ldrsh r0, [r4, r1]
cmp r0, #0
bne _080A7E14
ldrh r0, [r5, #0xc]
strh r0, [r4, #0x24]
_080A7E14:
ldrb r0, [r5, #9]
lsrs r0, r0, #4
lsls r0, r0, #4
movs r1, #7
orrs r0, r1
adds r1, r4, #0
adds r1, #0x3c
strb r0, [r1]
ldrb r0, [r5, #0xf]
subs r1, #1
strb r0, [r1]
ldrb r0, [r5, #0xe]
adds r1, #4
strb r0, [r1]
ldrb r1, [r5, #0xb]
adds r0, r4, #0
adds r0, #0x40
strb r1, [r0]
adds r1, r4, #0
adds r1, #0x45
movs r0, #0xff
strb r0, [r1]
ldr r0, [r5, #4]
str r0, [r4, #0x48]
adds r0, r4, #0
bl UpdateSpriteForCollisionLayer
_080A7E4A:
movs r0, #1
_080A7E4C:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_080A7E50
sub_080A7E50: @ 0x080A7E50
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
ldrh r2, [r5]
lsls r1, r2, #0x10
cmp r1, #0
beq _080A7EA2
movs r0, #0x80
lsls r0, r0, #8
ands r0, r2
cmp r0, #0
beq _080A7E78
ldr r0, _080A7E74 @ =0x000003FF
ands r0, r2
adds r1, r4, #0
adds r1, #0x60
strh r0, [r1]
b _080A7EA2
.align 2, 0
_080A7E74: .4byte 0x000003FF
_080A7E78:
movs r0, #0x80
lsls r0, r0, #7
ands r0, r2
cmp r0, #0
beq _080A7E92
lsrs r1, r1, #0x14
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
adds r0, r4, #0
movs r2, #0
bl sub_080AE008
b _080A7E9A
_080A7E92:
ldrh r1, [r5]
adds r0, r4, #0
bl LoadFixedGFX
_080A7E9A:
cmp r0, #0
bne _080A7EA2
movs r0, #0
b _080A7EAC
_080A7EA2:
ldrh r1, [r5, #2]
adds r0, r4, #0
bl sub_0801D040
movs r0, #1
_080A7EAC:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start sub_080A7EB0
sub_080A7EB0: @ 0x080A7EB0
push {lr}
adds r3, r0, #0
movs r1, #0x2e
ldrsh r0, [r3, r1]
ldr r2, _080A7ED8 @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
ldrh r1, [r2, #0x1e]
cmp r0, r1
bhi _080A7ED2
movs r1, #0x32
ldrsh r0, [r3, r1]
ldrh r1, [r2, #8]
subs r0, r0, r1
ldrh r2, [r2, #0x20]
cmp r0, r2
bls _080A7EDC
_080A7ED2:
movs r0, #1
b _080A7EDE
.align 2, 0
_080A7ED8: .4byte gRoomControls
_080A7EDC:
movs r0, #0
_080A7EDE:
pop {pc}
thumb_func_start CreateProjectile
CreateProjectile: @ 0x080A7EE0
push {r4, r5, lr}
adds r5, r0, #0
bl GetEmptyEntity
adds r4, r0, #0
cmp r4, #0
beq _080A7EFC
movs r0, #4
strb r0, [r4, #8]
strb r5, [r4, #9]
adds r0, r4, #0
movs r1, #5
bl AppendEntityToList
_080A7EFC:
adds r0, r4, #0
pop {r4, r5, pc}
+4 -4
View File
@@ -173,7 +173,7 @@ _08044244: .4byte 0x000001EB
.endif
_08044248:
str r2, [r4, #0x48]
ldr r0, _0804427C @ =gUnk_080FD188
ldr r0, _0804427C @ =gHitbox_4
ldr r1, [r0, #4]
ldr r0, [r0]
str r0, [r2]
@@ -197,13 +197,13 @@ _08044248:
strh r0, [r1]
b _08044292
.align 2, 0
_0804427C: .4byte gUnk_080FD188
_0804427C: .4byte gHitbox_4
_08044280: .4byte 0x0000FFFF
_08044284:
movs r0, #0
strb r0, [r4, #0x1e]
strh r0, [r4, #0x24]
ldr r0, _0804429C @ =gUnk_080FD168
ldr r0, _0804429C @ =gHitbox_1
str r0, [r4, #0x48]
movs r0, #1
strb r0, [r4, #0x1c]
@@ -215,7 +215,7 @@ _08044292:
_0804429A:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0804429C: .4byte gUnk_080FD168
_0804429C: .4byte gHitbox_1
thumb_func_start sub_080442A0
sub_080442A0: @ 0x080442A0
+2 -2
View File
@@ -52,7 +52,7 @@ sub_080886A4: @ 0x080886A4
subs r1, #5
movs r0, #2
strb r0, [r1]
ldr r0, _08088700 @ =gUnk_080FD168
ldr r0, _08088700 @ =gHitbox_1
str r0, [r4, #0x48]
adds r0, r4, #0
adds r0, #0x84
@@ -67,7 +67,7 @@ sub_080886A4: @ 0x080886A4
bl InitializeAnimation
b _08088716
.align 2, 0
_08088700: .4byte gUnk_080FD168
_08088700: .4byte gHitbox_1
_08088704:
strb r5, [r4, #0xc]
ldrb r0, [r4, #0x10]
+2 -2
View File
@@ -52,7 +52,7 @@ sub_080A01E0: @ 0x080A01E0
movs r1, #0x40
orrs r0, r1
strb r0, [r4, #0x19]
ldr r0, _080A027C @ =gUnk_080FD1A0
ldr r0, _080A027C @ =gHitbox_6
str r0, [r4, #0x48]
ldr r0, _080A0280 @ =0x0000FF40
strh r0, [r4, #0x36]
@@ -104,7 +104,7 @@ _080A0246:
_080A027A:
pop {r4, pc}
.align 2, 0
_080A027C: .4byte gUnk_080FD1A0
_080A027C: .4byte gHitbox_6
_080A0280: .4byte 0x0000FF40
_080A0284: .4byte gScreen
_080A0288: .4byte 0x0000FDFF
+2 -2
View File
@@ -81,13 +81,13 @@ _0808188E:
.align 2, 0
_08081894: .4byte gUnk_080FD328
_08081898:
ldr r0, _080818A0 @ =gUnk_080FD198
ldr r0, _080818A0 @ =gHitbox_5
_0808189A:
str r0, [r4, #0x48]
_0808189C:
pop {r4, pc}
.align 2, 0
_080818A0: .4byte gUnk_080FD198
_080818A0: .4byte gHitbox_5
thumb_func_start sub_080818A4
sub_080818A4: @ 0x080818A4
+2 -2
View File
@@ -3,7 +3,7 @@
mov ip, r0
ldrb r0, [r0, #9]
lsls r0, r0, #3
ldr r1, _08017410 @ =gUnk_08126DA8
ldr r1, _08017410 @ =gPlayerItemDefinitions
adds r3, r0, r1
ldrb r0, [r3]
cmp r0, #0xff
@@ -55,7 +55,7 @@ _080173CE:
adds r5, r2, #0
b _08017428
.align 2, 0
_08017410: .4byte gUnk_08126DA8
_08017410: .4byte gPlayerItemDefinitions
_08017414: .4byte gUnk_08126ED8
_08017418: .4byte gPlayerEntity
_0801741C:
+1 -1
View File
@@ -23,7 +23,7 @@ _08017550:
cmp r0, #0
bne _08017566
adds r0, r4, #0
bl sub_0806EC78
bl NPCInit
_08017566:
adds r0, r4, #0
bl sub_0805E3B0
@@ -26,7 +26,7 @@ _080AB180:
movs r1, #3
orrs r0, r1
strb r0, [r2]
ldr r0, _080AB1C8 @ =gUnk_080FD460
ldr r0, _080AB1C8 @ =gHitbox_22
str r0, [r4, #0x48]
_080AB1AA:
ldr r5, [r6, #0x50]
@@ -44,7 +44,7 @@ _080AB1AA:
orrs r0, r1
b _080AB1D2
.align 2, 0
_080AB1C8: .4byte gUnk_080FD460
_080AB1C8: .4byte gHitbox_22
_080AB1CC:
ldrb r1, [r4, #0x10]
movs r0, #0x7f
@@ -86,7 +86,7 @@ _080A98B0:
ands r0, r1
orrs r0, r2
strb r0, [r4, #0x1b]
ldr r0, _080A98FC @ =gUnk_080FD150
ldr r0, _080A98FC @ =gHitbox_0
str r0, [r4, #0x48]
adds r0, r4, #0
movs r1, #0
@@ -94,5 +94,5 @@ _080A98B0:
_080A98F8:
pop {r4, r5, pc}
.align 2, 0
_080A98FC: .4byte gUnk_080FD150
_080A98FC: .4byte gHitbox_0
.syntax divided
+2 -2
View File
@@ -79,7 +79,7 @@ _0808BB4C:
subs r1, #5
movs r0, #4
strb r0, [r1]
ldr r0, _0808BBD8 @ =gUnk_080FD150
ldr r0, _0808BBD8 @ =gHitbox_0
str r0, [r4, #0x48]
movs r0, #2
strb r0, [r4, #0x1e]
@@ -103,7 +103,7 @@ _0808BB4C:
_0808BBD4:
pop {r4, pc}
.align 2, 0
_0808BBD8: .4byte gUnk_080FD150
_0808BBD8: .4byte gHitbox_0
_0808BBDC: .4byte gPlayerEntity
thumb_func_start sub_0808BBE0
+2 -2
View File
@@ -21,13 +21,13 @@ Object69: @ 0x08094A0C
bne _08094A34
movs r0, #1
strb r0, [r2, #0xc]
ldr r0, _08094A30 @ =gUnk_080FD170
ldr r0, _08094A30 @ =gHitbox_2
str r0, [r2, #0x48]
adds r0, r2, #0
bl sub_0807DD50
b _08094A42
.align 2, 0
_08094A30: .4byte gUnk_080FD170
_08094A30: .4byte gHitbox_2
_08094A34:
adds r0, r2, #0
movs r1, #0
+2 -2
View File
@@ -50,11 +50,11 @@ _0809F934:
subs r1, #5
movs r0, #2
strb r0, [r1]
ldr r0, _0809F960 @ =gUnk_080FD150
ldr r0, _0809F960 @ =gHitbox_0
str r0, [r4, #0x48]
pop {r4, pc}
.align 2, 0
_0809F960: .4byte gUnk_080FD150
_0809F960: .4byte gHitbox_0
thumb_func_start sub_0809F964
sub_0809F964: @ 0x0809F964
+2 -2
View File
@@ -50,7 +50,7 @@ sub_0808434C: @ 0x0808434C
subs r1, #5
movs r0, #2
strb r0, [r1]
ldr r0, _080843E0 @ =gUnk_080FD188
ldr r0, _080843E0 @ =gHitbox_4
str r0, [r5, #0x48]
ldr r0, _080843E4 @ =0x00004050
movs r2, #0x2e
@@ -94,7 +94,7 @@ _080843C8:
bl InitializeAnimation
b _080843F4
.align 2, 0
_080843E0: .4byte gUnk_080FD188
_080843E0: .4byte gHitbox_4
_080843E4: .4byte 0x00004050
_080843E8: .4byte gRoomControls
_080843EC:
+238
View File
@@ -0,0 +1,238 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start GetProjectileDefinition
GetProjectileDefinition: @ 0x080A7D58
push {lr}
adds r3, r0, #0
ldrb r0, [r3, #9]
lsls r0, r0, #4
ldr r1, _080A7D78 @ =gProjectileDefinitions
adds r2, r0, r1
ldrh r1, [r2]
ldr r0, _080A7D7C @ =0x0000FFFF
cmp r1, r0
bne _080A7D74
ldrb r0, [r3, #0xa]
lsls r0, r0, #4
ldr r1, [r2, #4]
adds r2, r1, r0
_080A7D74:
adds r0, r2, #0
pop {pc}
.align 2, 0
_080A7D78: .4byte gProjectileDefinitions
_080A7D7C: .4byte 0x0000FFFF
thumb_func_start ProjectileInit
ProjectileInit: @ 0x080A7D80
push {r4, r5, lr}
adds r4, r0, #0
ldrb r1, [r4, #0x10]
movs r0, #1
ands r0, r1
cmp r0, #0
bne _080A7E4A
adds r0, r4, #0
bl GetProjectileDefinition
adds r5, r0, #0
adds r0, r4, #0
adds r1, r5, #0
bl LoadProjectileSprite
cmp r0, #0
bne _080A7DA6
movs r0, #0
b _080A7E4C
_080A7DA6:
ldrb r1, [r4, #0x10]
movs r0, #1
adds r2, r1, #0
orrs r2, r0
strb r2, [r4, #0x10]
ldrb r1, [r5, #0xa]
movs r0, #8
ands r0, r1
cmp r0, #0
beq _080A7DC0
movs r0, #0x80
orrs r2, r0
strb r2, [r4, #0x10]
_080A7DC0:
ldrh r0, [r5, #8]
lsls r0, r0, #0x14
lsrs r0, r0, #0x14
strh r0, [r4, #0x12]
ldrb r2, [r4, #0x18]
lsls r0, r2, #0x1e
cmp r0, #0
bne _080A7DE0
ldrb r1, [r5, #0xa]
lsls r1, r1, #0x1a
lsrs r1, r1, #0x1e
movs r0, #4
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x18]
_080A7DE0:
ldrb r1, [r5, #0xa]
lsls r1, r1, #0x1d
adds r3, r4, #0
adds r3, #0x29
lsrs r1, r1, #0x1a
ldrb r2, [r3]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r3]
ldrb r1, [r5, #0xa]
lsrs r1, r1, #6
lsls r1, r1, #4
ldrb r2, [r4, #0x18]
movs r0, #0x31
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x18]
movs r1, #0x24
ldrsh r0, [r4, r1]
cmp r0, #0
bne _080A7E14
ldrh r0, [r5, #0xc]
strh r0, [r4, #0x24]
_080A7E14:
ldrb r0, [r5, #9]
lsrs r0, r0, #4
lsls r0, r0, #4
movs r1, #7
orrs r0, r1
adds r1, r4, #0
adds r1, #0x3c
strb r0, [r1]
ldrb r0, [r5, #0xf]
subs r1, #1
strb r0, [r1]
ldrb r0, [r5, #0xe]
adds r1, #4
strb r0, [r1]
ldrb r1, [r5, #0xb]
adds r0, r4, #0
adds r0, #0x40
strb r1, [r0]
adds r1, r4, #0
adds r1, #0x45
movs r0, #0xff
strb r0, [r1]
ldr r0, [r5, #4]
str r0, [r4, #0x48]
adds r0, r4, #0
bl UpdateSpriteForCollisionLayer
_080A7E4A:
movs r0, #1
_080A7E4C:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start LoadProjectileSprite
LoadProjectileSprite: @ 0x080A7E50
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r1, #0
ldrh r2, [r5]
lsls r1, r2, #0x10
cmp r1, #0
beq _080A7EA2
movs r0, #0x80
lsls r0, r0, #8
ands r0, r2
cmp r0, #0
beq _080A7E78
ldr r0, _080A7E74 @ =0x000003FF
ands r0, r2
adds r1, r4, #0
adds r1, #0x60
strh r0, [r1]
b _080A7EA2
.align 2, 0
_080A7E74: .4byte 0x000003FF
_080A7E78:
movs r0, #0x80
lsls r0, r0, #7
ands r0, r2
cmp r0, #0
beq _080A7E92
lsrs r1, r1, #0x14
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
adds r0, r4, #0
movs r2, #0
bl sub_080AE008
b _080A7E9A
_080A7E92:
ldrh r1, [r5]
adds r0, r4, #0
bl LoadFixedGFX
_080A7E9A:
cmp r0, #0
bne _080A7EA2
movs r0, #0
b _080A7EAC
_080A7EA2:
ldrh r1, [r5, #2]
adds r0, r4, #0
bl sub_0801D040
movs r0, #1
_080A7EAC:
pop {r4, r5, pc}
.align 2, 0
thumb_func_start IsProjectileOffScreen
IsProjectileOffScreen: @ 0x080A7EB0
push {lr}
adds r3, r0, #0
movs r1, #0x2e
ldrsh r0, [r3, r1]
ldr r2, _080A7ED8 @ =gRoomControls
ldrh r1, [r2, #6]
subs r0, r0, r1
ldrh r1, [r2, #0x1e]
cmp r0, r1
bhi _080A7ED2
movs r1, #0x32
ldrsh r0, [r3, r1]
ldrh r1, [r2, #8]
subs r0, r0, r1
ldrh r2, [r2, #0x20]
cmp r0, r2
bls _080A7EDC
_080A7ED2:
movs r0, #1
b _080A7EDE
.align 2, 0
_080A7ED8: .4byte gRoomControls
_080A7EDC:
movs r0, #0
_080A7EDE:
pop {pc}
thumb_func_start CreateProjectile
CreateProjectile: @ 0x080A7EE0
push {r4, r5, lr}
adds r5, r0, #0
bl GetEmptyEntity
adds r4, r0, #0
cmp r4, #0
beq _080A7EFC
movs r0, #4
strb r0, [r4, #8]
strb r5, [r4, #9]
adds r0, r4, #0
movs r1, #5
bl AppendEntityToList
_080A7EFC:
adds r0, r4, #0
pop {r4, r5, pc}
@@ -13,7 +13,7 @@ ProjectileUpdate: @ 0x08016AE4
ldrb r2, [r0, #0xc]
cmp r2, #0
bne _08016AFC
bl sub_080A7D80
bl ProjectileInit
cmp r0, #0
bne _08016B0A
bl DeleteThisEntity
+5 -5
View File
@@ -6,17 +6,17 @@
.text
thumb_func_start sub_080A2838
sub_080A2838: @ 0x080A2838
thumb_func_start ObjectInit
ObjectInit: @ 0x080A2838
push {r4, lr}
adds r4, r0, #0
ldrb r2, [r4, #9]
lsls r2, r2, #3
ldr r0, _080A2858 @ =gUnk_08126798
ldr r0, _080A2858 @ =gObjectDefinitions
adds r2, r2, r0
ldrb r1, [r4, #0xa]
adds r0, r4, #0
bl sub_080A285C
bl LoadObjectSprite
cmp r0, #2
bne _080A2856
adds r0, r4, #0
@@ -24,4 +24,4 @@ sub_080A2838: @ 0x080A2838
_080A2856:
pop {r4, pc}
.align 2, 0
_080A2858: .4byte gUnk_08126798
_080A2858: .4byte gObjectDefinitions
+2 -2
View File
@@ -6,8 +6,8 @@
.text
thumb_func_start sub_080A285C
sub_080A285C: @ 0x080A285C
thumb_func_start LoadObjectSprite
LoadObjectSprite: @ 0x080A285C
push {r4, r5, lr}
adds r4, r0, #0
adds r5, r2, #0
+2 -2
View File
@@ -40,7 +40,7 @@ sub_080A0F44: @ 0x080A0F44
movs r1, #7
orrs r0, r1
strb r0, [r2]
ldr r0, _080A0FA8 @ =gUnk_080FD460
ldr r0, _080A0FA8 @ =gHitbox_22
str r0, [r5, #0x48]
adds r0, r5, #0
movs r1, #6
@@ -71,7 +71,7 @@ sub_080A0F44: @ 0x080A0F44
_080A0FA4:
pop {r4, r5, r6, pc}
.align 2, 0
_080A0FA8: .4byte gUnk_080FD460
_080A0FA8: .4byte gHitbox_22
_080A0FAC: .4byte gPlayerEntity
thumb_func_start sub_080A0FB0
+43 -5334
View File
File diff suppressed because it is too large Load Diff
+28 -28
View File
@@ -4,41 +4,41 @@
.section .rodata
.align 2
gSpriteAnimations_Enemy5F_0:: @ 080D1DA0
.include "animations/gSpriteAnimations_Enemy5F_0.s"
gSpriteAnimations_WrathEye_0:: @ 080D1DA0
.include "animations/gSpriteAnimations_WrathEye_0.s"
gSpriteAnimations_Enemy5F_1:: @ 080D1DC8
.include "animations/gSpriteAnimations_Enemy5F_1.s"
gSpriteAnimations_WrathEye_1:: @ 080D1DC8
.include "animations/gSpriteAnimations_WrathEye_1.s"
gSpriteAnimations_Enemy5F_2:: @ 080D1DCC
.include "animations/gSpriteAnimations_Enemy5F_2.s"
gSpriteAnimations_WrathEye_2:: @ 080D1DCC
.include "animations/gSpriteAnimations_WrathEye_2.s"
gSpriteAnimations_Enemy5F_4:: @ 080D1DD0
.include "animations/gSpriteAnimations_Enemy5F_4.s"
gSpriteAnimations_WrathEye_4:: @ 080D1DD0
.include "animations/gSpriteAnimations_WrathEye_4.s"
gSpriteAnimations_Enemy5F_3:: @ 080D1DDC
.include "animations/gSpriteAnimations_Enemy5F_3.s"
gSpriteAnimations_WrathEye_3:: @ 080D1DDC
.include "animations/gSpriteAnimations_WrathEye_3.s"
gSpriteAnimations_Enemy5F_5:: @ 080D1DE8
.include "animations/gSpriteAnimations_Enemy5F_5.s"
gSpriteAnimations_WrathEye_5:: @ 080D1DE8
.include "animations/gSpriteAnimations_WrathEye_5.s"
gSpriteAnimations_Enemy5F_6:: @ 080D1E05
.include "animations/gSpriteAnimations_Enemy5F_6.s"
gSpriteAnimations_WrathEye_6:: @ 080D1E05
.include "animations/gSpriteAnimations_WrathEye_6.s"
gSpriteAnimations_Enemy5F_7:: @ 080D1E21
.include "animations/gSpriteAnimations_Enemy5F_7.s"
gSpriteAnimations_WrathEye_7:: @ 080D1E21
.include "animations/gSpriteAnimations_WrathEye_7.s"
gSpriteAnimations_Enemy5F_8:: @ 080D1E32
.include "animations/gSpriteAnimations_Enemy5F_8.s"
gSpriteAnimations_WrathEye_8:: @ 080D1E32
.include "animations/gSpriteAnimations_WrathEye_8.s"
gSpriteAnimations_Enemy5F:: @ 080D1E44
.4byte gSpriteAnimations_Enemy5F_0
.4byte gSpriteAnimations_Enemy5F_1
.4byte gSpriteAnimations_Enemy5F_2
.4byte gSpriteAnimations_Enemy5F_3
.4byte gSpriteAnimations_Enemy5F_4
.4byte gSpriteAnimations_Enemy5F_5
.4byte gSpriteAnimations_Enemy5F_6
.4byte gSpriteAnimations_Enemy5F_7
.4byte gSpriteAnimations_Enemy5F_8
gSpriteAnimations_WrathEye:: @ 080D1E44
.4byte gSpriteAnimations_WrathEye_0
.4byte gSpriteAnimations_WrathEye_1
.4byte gSpriteAnimations_WrathEye_2
.4byte gSpriteAnimations_WrathEye_3
.4byte gSpriteAnimations_WrathEye_4
.4byte gSpriteAnimations_WrathEye_5
.4byte gSpriteAnimations_WrathEye_6
.4byte gSpriteAnimations_WrathEye_7
.4byte gSpriteAnimations_WrathEye_8
.4byte 00000000
-778
View File
@@ -1,778 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnk_080D2C58:: @ 080D2C58
.incbin "code_08049D30/gUnk_080D2C58.bin"
.4byte gUnk_080D34D8
.incbin "code_08049D30/gUnk_080D2C58_1.bin"
.4byte gUnk_080D32B8
.incbin "code_08049D30/gUnk_080D2C58_2.bin"
.4byte gUnk_080D32E8
.incbin "code_08049D30/gUnk_080D2C58_3.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_4.bin"
.4byte gUnk_080FD198
.incbin "code_08049D30/gUnk_080D2C58_5.bin"
.4byte gUnk_080D3B48
.incbin "code_08049D30/gUnk_080D2C58_6.bin"
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_7_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_8_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080D3AC8
.incbin "code_08049D30/gUnk_080D2C58_9.bin"
.4byte gUnk_080FD1CC
.incbin "code_08049D30/gUnk_080D2C58_10.bin"
.4byte gUnk_080D3308
.incbin "code_08049D30/gUnk_080D2C58_11.bin"
.4byte gUnk_080FD468
.incbin "code_08049D30/gUnk_080D2C58_12.bin"
.4byte gUnk_080FD468
.incbin "code_08049D30/gUnk_080D2C58_13.bin"
.4byte gUnk_080FD528
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_14_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_15_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080D3388
.incbin "code_08049D30/gUnk_080D2C58_16.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_17.bin"
.4byte gUnk_080D33C8
.incbin "code_08049D30/gUnk_080D2C58_18.bin"
.4byte gUnk_080D3458
.incbin "code_08049D30/gUnk_080D2C58_19.bin"
.4byte gUnk_080D3488
.incbin "code_08049D30/gUnk_080D2C58_20.bin"
.4byte gUnk_080D34B8
.incbin "code_08049D30/gUnk_080D2C58_21.bin"
.4byte gUnk_080D3508
.incbin "code_08049D30/gUnk_080D2C58_22.bin"
.4byte gUnk_080FD250
.incbin "code_08049D30/gUnk_080D2C58_23.bin"
.4byte gUnk_080D3BA8
.incbin "code_08049D30/gUnk_080D2C58_24.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_25.bin"
.4byte gUnk_080FD268
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_26_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_27_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080D35D8
.incbin "code_08049D30/gUnk_080D2C58_28.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_29.bin"
.4byte gUnk_080FD2B0
.incbin "code_08049D30/gUnk_080D2C58_30.bin"
.4byte gUnk_080D3598
.incbin "code_08049D30/gUnk_080D2C58_31.bin"
.4byte gUnk_080FD318
.incbin "code_08049D30/gUnk_080D2C58_32.bin"
.4byte gUnk_080FD2C0
.incbin "code_08049D30/gUnk_080D2C58_33.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_34.bin"
.4byte gUnk_080FD2C0
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_35_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_36_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD2C8
.incbin "code_08049D30/gUnk_080D2C58_37.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_38.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_39.bin"
.4byte gUnk_080FD2B8
.incbin "code_08049D30/gUnk_080D2C58_40.bin"
.4byte gUnk_080D3648
.incbin "code_08049D30/gUnk_080D2C58_41.bin"
.4byte gUnk_080D3AE8
.incbin "code_08049D30/gUnk_080D2C58_42.bin"
.4byte gUnk_080D36C8
.incbin "code_08049D30/gUnk_080D2C58_43.bin"
.4byte gUnk_080D36E8
.incbin "code_08049D30/gUnk_080D2C58_44.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_45.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_46.bin"
.4byte gUnk_080FD2F8
.incbin "code_08049D30/gUnk_080D2C58_47.bin"
.4byte gUnk_080FD300
.incbin "code_08049D30/gUnk_080D2C58_48.bin"
.4byte gUnk_080FD480
.incbin "code_08049D30/gUnk_080D2C58_49.bin"
.4byte gUnk_080D3718
.incbin "code_08049D30/gUnk_080D2C58_50.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_51.bin"
.4byte gUnk_080FD2C0
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_52_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_53_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080D3B88
.incbin "code_08049D30/gUnk_080D2C58_54.bin"
.4byte gUnk_080FD410
.incbin "code_08049D30/gUnk_080D2C58_55.bin"
.4byte gUnk_080D3748
.incbin "code_08049D30/gUnk_080D2C58_56.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_57.bin"
.4byte gUnk_080D3768
.incbin "code_08049D30/gUnk_080D2C58_58.bin"
.4byte gUnk_080FD568
.incbin "code_08049D30/gUnk_080D2C58_59.bin"
.4byte gUnk_080D3788
.incbin "code_08049D30/gUnk_080D2C58_60.bin"
.4byte gUnk_080D37F8
.incbin "code_08049D30/gUnk_080D2C58_61.bin"
.4byte gUnk_080D37D8
.incbin "code_08049D30/gUnk_080D2C58_62.bin"
.4byte gUnk_080D3828
.incbin "code_08049D30/gUnk_080D2C58_63.bin"
.4byte gUnk_080FD338
.incbin "code_08049D30/gUnk_080D2C58_64.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_65.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_66.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_67.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_68.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_69.bin"
.4byte gUnk_080FD170
.incbin "code_08049D30/gUnk_080D2C58_70.bin"
.4byte gUnk_080D38A8
.incbin "code_08049D30/gUnk_080D2C58_71.bin"
.4byte gUnk_080D3918
.incbin "code_08049D30/gUnk_080D2C58_72.bin"
.4byte gUnk_080FD338
.incbin "code_08049D30/gUnk_080D2C58_73.bin"
.4byte gUnk_080D38D8
.incbin "code_08049D30/gUnk_080D2C58_74.bin"
.4byte gUnk_080FD410
.incbin "code_08049D30/gUnk_080D2C58_75.bin"
.4byte gUnk_080D3BC8
.incbin "code_08049D30/gUnk_080D2C58_76.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_77.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_78.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_79.bin"
.4byte gUnk_080D3938
.incbin "code_08049D30/gUnk_080D2C58_80.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_81.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_82.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_83.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_84.bin"
.4byte gUnk_080D3978
.incbin "code_08049D30/gUnk_080D2C58_85.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_86.bin"
.4byte gUnk_080D39D8
.incbin "code_08049D30/gUnk_080D2C58_87.bin"
.4byte gUnk_080D3A18
.incbin "code_08049D30/gUnk_080D2C58_88.bin"
.4byte gUnk_080FD188
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_89_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_90_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD1A0
.incbin "code_08049D30/gUnk_080D2C58_91.bin"
.4byte gUnk_080D34D8
.incbin "code_08049D30/gUnk_080D2C58_92.bin"
.4byte gUnk_080D3A68
.incbin "code_08049D30/gUnk_080D2C58_93.bin"
.4byte gUnk_080D3A98
.incbin "code_08049D30/gUnk_080D2C58_94.bin"
.4byte gUnk_080FD498
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_95_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_96_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4A4
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_97_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_98_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080D3B28
.incbin "code_08049D30/gUnk_080D2C58_99.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_100.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_101.bin"
.4byte gUnk_080FD54C
.incbin "code_08049D30/gUnk_080D2C58_102.bin"
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_103_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_104_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD448
.incbin "code_08049D30/gUnk_080D2C58_105.bin"
.4byte gUnk_080FD448
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_106_EU.bin"
.4byte gUnk_080FD460
.incbin "code_08049D30/gUnk_080D2C58_107_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_108_USA-JP-DEMO_USA-DEMO_JP.bin"
.4byte gUnk_080FD458
.incbin "code_08049D30/gUnk_080D2C58_109_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_110_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_111_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D2C58_112_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D2C58_113_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD54C
.incbin "code_08049D30/gUnk_080D2C58_114.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D2C58_115.bin"
gUnk_080D32B8:: @ 080D32B8
.incbin "code_08049D30/gUnk_080D32B8.bin"
.4byte gUnk_080FD468
.incbin "code_08049D30/gUnk_080D32B8_1.bin"
.4byte gUnk_080FD468
.incbin "code_08049D30/gUnk_080D32B8_2.bin"
.4byte gUnk_080FD468
.incbin "code_08049D30/gUnk_080D32B8_3.bin"
gUnk_080D32E8:: @ 080D32E8
.incbin "code_08049D30/gUnk_080D32E8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D32E8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D32E8_2.bin"
gUnk_080D3308:: @ 080D3308
.incbin "code_08049D30/gUnk_080D3308.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3308_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3308_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3308_3.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3308_4.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3308_5.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3308_6.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3308_7.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3308_8.bin"
gUnk_080D3388:: @ 080D3388
.incbin "code_08049D30/gUnk_080D3388.bin"
.4byte gUnk_080FD1DC
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3388_1_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3388_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD1E4
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3388_3_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3388_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD1E4
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3388_5_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3388_6_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD1EC
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3388_7_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3388_8_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_080D33C8:: @ 080D33C8
.incbin "code_08049D30/gUnk_080D33C8.bin"
.4byte gUnk_080FD1FC
.incbin "code_08049D30/gUnk_080D33C8_1.bin"
.4byte gUnk_080FD204
.incbin "code_08049D30/gUnk_080D33C8_2.bin"
.4byte gUnk_080FD20C
.incbin "code_08049D30/gUnk_080D33C8_3.bin"
.4byte gUnk_080FD20C
.incbin "code_08049D30/gUnk_080D33C8_4.bin"
.4byte gUnk_080FD20C
.incbin "code_08049D30/gUnk_080D33C8_5.bin"
.4byte gUnk_080FD20C
.incbin "code_08049D30/gUnk_080D33C8_6.bin"
.4byte gUnk_080FD20C
.incbin "code_08049D30/gUnk_080D33C8_7.bin"
.4byte gUnk_080FD20C
.incbin "code_08049D30/gUnk_080D33C8_8.bin"
.4byte gUnk_080FD214
.incbin "code_08049D30/gUnk_080D33C8_9.bin"
gUnk_080D3458:: @ 080D3458
.incbin "code_08049D30/gUnk_080D3458.bin"
.4byte gUnk_080FD21C
.incbin "code_08049D30/gUnk_080D3458_1.bin"
.4byte gUnk_080FD21C
.incbin "code_08049D30/gUnk_080D3458_2.bin"
.4byte gUnk_080FD21C
.incbin "code_08049D30/gUnk_080D3458_3.bin"
gUnk_080D3488:: @ 080D3488
.incbin "code_08049D30/gUnk_080D3488.bin"
.4byte gUnk_080FD22C
.incbin "code_08049D30/gUnk_080D3488_1.bin"
.4byte gUnk_080FD22C
.incbin "code_08049D30/gUnk_080D3488_2.bin"
.4byte gUnk_080FD22C
.incbin "code_08049D30/gUnk_080D3488_3.bin"
gUnk_080D34B8:: @ 080D34B8
.incbin "code_08049D30/gUnk_080D34B8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D34B8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D34B8_2.bin"
gUnk_080D34D8:: @ 080D34D8
.incbin "code_08049D30/gUnk_080D34D8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D34D8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D34D8_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D34D8_3.bin"
gUnk_080D3508:: @ 080D3508
.incbin "code_08049D30/gUnk_080D3508.bin"
.4byte gUnk_080FD238
.incbin "code_08049D30/gUnk_080D3508_1.bin"
.4byte gUnk_080FD240
.incbin "code_08049D30/gUnk_080D3508_2.bin"
.4byte gUnk_080FD248
.incbin "code_08049D30/gUnk_080D3508_3.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3508_4.bin"
.4byte gUnk_080FD238
.incbin "code_08049D30/gUnk_080D3508_5.bin"
.4byte gUnk_080FD240
.incbin "code_08049D30/gUnk_080D3508_6.bin"
.4byte gUnk_080FD248
.incbin "code_08049D30/gUnk_080D3508_7.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3508_8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3508_9.bin"
gUnk_080D3598:: @ 080D3598
.incbin "code_08049D30/gUnk_080D3598.bin"
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3598_1_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3598_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3598_3_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3598_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3598_5.bin"
.4byte gUnk_080FD21C
.incbin "code_08049D30/gUnk_080D3598_6.bin"
gUnk_080D35D8:: @ 080D35D8
.incbin "code_08049D30/gUnk_080D35D8.bin"
.4byte gUnk_080FD290
.incbin "code_08049D30/gUnk_080D35D8_1.bin"
.4byte gUnk_080FD298
.incbin "code_08049D30/gUnk_080D35D8_2.bin"
.4byte gUnk_080FD298
.incbin "code_08049D30/gUnk_080D35D8_3.bin"
.4byte gUnk_080FD298
.incbin "code_08049D30/gUnk_080D35D8_4.bin"
.4byte gUnk_080FD2A0
.incbin "code_08049D30/gUnk_080D35D8_5.bin"
.4byte gUnk_080FD2A0
.incbin "code_08049D30/gUnk_080D35D8_6.bin"
.4byte gUnk_080FD2A0
.incbin "code_08049D30/gUnk_080D35D8_7.bin"
gUnk_080D3648:: @ 080D3648
.incbin "code_08049D30/gUnk_080D3648.bin"
.4byte gUnk_080FD2D8
.incbin "code_08049D30/gUnk_080D3648_1.bin"
.4byte gUnk_080FD2E0
.incbin "code_08049D30/gUnk_080D3648_2.bin"
.4byte gUnk_080FD2D0
.incbin "code_08049D30/gUnk_080D3648_3.bin"
.4byte gUnk_080FD2D0
.incbin "code_08049D30/gUnk_080D3648_4.bin"
.4byte gUnk_080FD2D0
.incbin "code_08049D30/gUnk_080D3648_5.bin"
.4byte gUnk_080FD2D0
.incbin "code_08049D30/gUnk_080D3648_6.bin"
.4byte gUnk_080FD2D0
.incbin "code_08049D30/gUnk_080D3648_7.bin"
.4byte gUnk_080FD2D0
.incbin "code_08049D30/gUnk_080D3648_8.bin"
gUnk_080D36C8:: @ 080D36C8
.incbin "code_08049D30/gUnk_080D36C8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D36C8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D36C8_2.bin"
gUnk_080D36E8:: @ 080D36E8
.incbin "code_08049D30/gUnk_080D36E8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D36E8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D36E8_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D36E8_3.bin"
gUnk_080D3718:: @ 080D3718
.incbin "code_08049D30/gUnk_080D3718.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3718_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3718_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3718_3.bin"
gUnk_080D3748:: @ 080D3748
.incbin "code_08049D30/gUnk_080D3748.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3748_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3748_2.bin"
gUnk_080D3768:: @ 080D3768
.incbin "code_08049D30/gUnk_080D3768.bin"
.4byte gUnk_080FD168
.incbin "code_08049D30/gUnk_080D3768_1.bin"
.4byte gUnk_080FD168
.incbin "code_08049D30/gUnk_080D3768_2.bin"
gUnk_080D3788:: @ 080D3788
.incbin "code_08049D30/gUnk_080D3788.bin"
.4byte gUnk_080FD354
.incbin "code_08049D30/gUnk_080D3788_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3788_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3788_3.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3788_4.bin"
.4byte gUnk_080FD38C
.incbin "code_08049D30/gUnk_080D3788_5.bin"
gUnk_080D37D8:: @ 080D37D8
.incbin "code_08049D30/gUnk_080D37D8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D37D8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D37D8_2.bin"
gUnk_080D37F8:: @ 080D37F8
.incbin "code_08049D30/gUnk_080D37F8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D37F8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D37F8_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D37F8_3.bin"
gUnk_080D3828:: @ 080D3828
.incbin "code_08049D30/gUnk_080D3828.bin"
.4byte gUnk_080FD3CC
.incbin "code_08049D30/gUnk_080D3828_1.bin"
.4byte gUnk_080FD3DC
.incbin "code_08049D30/gUnk_080D3828_2.bin"
.4byte gUnk_080FD3DC
.incbin "code_08049D30/gUnk_080D3828_3.bin"
.4byte gUnk_080FD3DC
.incbin "code_08049D30/gUnk_080D3828_4.bin"
.4byte gUnk_080FD3DC
.incbin "code_08049D30/gUnk_080D3828_5.bin"
.4byte gUnk_080FD3E4
.incbin "code_08049D30/gUnk_080D3828_6.bin"
.4byte gUnk_080FD3EC
.incbin "code_08049D30/gUnk_080D3828_7.bin"
.4byte gUnk_080FD3EC
.incbin "code_08049D30/gUnk_080D3828_8.bin"
gUnk_080D38A8:: @ 080D38A8
.incbin "code_08049D30/gUnk_080D38A8.bin"
.4byte gUnk_080FD580
.incbin "code_08049D30/gUnk_080D38A8_1.bin"
.4byte gUnk_080FD580
.incbin "code_08049D30/gUnk_080D38A8_2.bin"
.4byte gUnk_080FD580
.incbin "code_08049D30/gUnk_080D38A8_3.bin"
gUnk_080D38D8:: @ 080D38D8
.incbin "code_08049D30/gUnk_080D38D8.bin"
.4byte gUnk_080FD35C
.incbin "code_08049D30/gUnk_080D38D8_1.bin"
.4byte gUnk_080FD36C
.incbin "code_08049D30/gUnk_080D38D8_2.bin"
.4byte gUnk_080FD37C
.incbin "code_08049D30/gUnk_080D38D8_3.bin"
.4byte gUnk_080FD384
.incbin "code_08049D30/gUnk_080D38D8_4.bin"
gUnk_080D3918:: @ 080D3918
.incbin "code_08049D30/gUnk_080D3918.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3918_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3918_2.bin"
gUnk_080D3938:: @ 080D3938
.incbin "code_08049D30/gUnk_080D3938.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3938_1.bin"
.4byte gUnk_080FD588
.incbin "code_08049D30/gUnk_080D3938_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3938_3.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3938_4.bin"
gUnk_080D3978:: @ 080D3978
.incbin "code_08049D30/gUnk_080D3978.bin"
.4byte gUnk_080FD530
.incbin "code_08049D30/gUnk_080D3978_1.bin"
.4byte gUnk_080FD1C4
.incbin "code_08049D30/gUnk_080D3978_2.bin"
.4byte gUnk_080FD1C4
.incbin "code_08049D30/gUnk_080D3978_3.bin"
.4byte gUnk_080FD1C4
.incbin "code_08049D30/gUnk_080D3978_4.bin"
.4byte gUnk_080FD1C4
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3978_5_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3978_6_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD1C4
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3978_7_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3978_8_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_080D39D8:: @ 080D39D8
.incbin "code_08049D30/gUnk_080D39D8.bin"
.4byte gUnk_080FD544
.incbin "code_08049D30/gUnk_080D39D8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D39D8_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D39D8_3.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D39D8_4.bin"
gUnk_080D3A18:: @ 080D3A18
.incbin "code_08049D30/gUnk_080D3A18.bin"
.4byte gUnk_080FD538
.incbin "code_08049D30/gUnk_080D3A18_1.bin"
.4byte gUnk_080FD538
.incbin "code_08049D30/gUnk_080D3A18_2.bin"
.4byte gUnk_080FD538
.incbin "code_08049D30/gUnk_080D3A18_3.bin"
.4byte gUnk_080FD538
.incbin "code_08049D30/gUnk_080D3A18_4.bin"
.4byte gUnk_080FD538
.incbin "code_08049D30/gUnk_080D3A18_5.bin"
gUnk_080D3A68:: @ 080D3A68
.incbin "code_08049D30/gUnk_080D3A68.bin"
.4byte gUnk_080FD488
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3A68_1_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3A68_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD488
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3A68_3_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3A68_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD488
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3A68_5_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3A68_6_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_080D3A98:: @ 080D3A98
.incbin "code_08049D30/gUnk_080D3A98.bin"
.4byte gUnk_080FD490
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3A98_1_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3A98_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD490
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3A98_3_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3A98_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD490
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3A98_5_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3A98_6_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_080D3AC8:: @ 080D3AC8
.incbin "code_08049D30/gUnk_080D3AC8.bin"
.4byte gUnk_080FD1A0
.incbin "code_08049D30/gUnk_080D3AC8_1.bin"
.4byte gUnk_080FD1A0
.incbin "code_08049D30/gUnk_080D3AC8_2.bin"
gUnk_080D3AE8:: @ 080D3AE8
.incbin "code_08049D30/gUnk_080D3AE8.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3AE8_1.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3AE8_2.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3AE8_3.bin"
.4byte gUnk_080FD150
.incbin "code_08049D30/gUnk_080D3AE8_4.bin"
gUnk_080D3B28:: @ 080D3B28
.incbin "code_08049D30/gUnk_080D3B28.bin"
.4byte gUnk_080FD168
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3B28_1_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3B28_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD168
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3B28_3_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3B28_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_080D3B48:: @ 080D3B48
.incbin "code_08049D30/gUnk_080D3B48.bin"
.4byte gUnk_080FD1B4
.incbin "code_08049D30/gUnk_080D3B48_1.bin"
.4byte gUnk_080FD1B4
.incbin "code_08049D30/gUnk_080D3B48_2.bin"
.4byte gUnk_080FD1B4
.incbin "code_08049D30/gUnk_080D3B48_3.bin"
.4byte gUnk_080FD1B4
.incbin "code_08049D30/gUnk_080D3B48_4.bin"
gUnk_080D3B88:: @ 080D3B88
.incbin "code_08049D30/gUnk_080D3B88.bin"
.4byte gUnk_080FD330
.incbin "code_08049D30/gUnk_080D3B88_1.bin"
.4byte gUnk_080FD330
.incbin "code_08049D30/gUnk_080D3B88_2.bin"
gUnk_080D3BA8:: @ 080D3BA8
.incbin "code_08049D30/gUnk_080D3BA8.bin"
.4byte gUnk_080FD258
.incbin "code_08049D30/gUnk_080D3BA8_1.bin"
.4byte gUnk_080FD258
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3BA8_2_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3BA8_3_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_080D3BC8:: @ 080D3BC8
.incbin "code_08049D30/gUnk_080D3BC8.bin"
.4byte gUnk_080FD258
.incbin "code_08049D30/gUnk_080D3BC8_1.bin"
.4byte gUnk_080FD258
.ifdef EU
@ TODO only small differences
.incbin "code_08049D30/gUnk_080D3BC8_2_EU.bin"
.else
.incbin "code_08049D30/gUnk_080D3BC8_3_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_080D3BE8:: @ 080D3BE8
.4byte sub_08049E18
.4byte sub_08049E4C
.4byte sub_08049E80
.4byte sub_08049EB0
+3
View File
@@ -6,3 +6,6 @@
gUnk_081146B8:: @ 081146B8
.incbin "npc58/gUnk_081146B8.bin"
gUnk_081146D0:: @ 081146D0
.incbin "data_081146D0/gUnk_081146D0.bin"
+66 -66
View File
@@ -391,38 +391,38 @@ gUnk_080FD138:: @ 080FD138
.4byte sub_080536F0
.4byte sub_08053C04
gUnk_080FD150:: @ 080FD150
.incbin "data_080FC8A4/gUnk_080FD150.bin"
gHitbox_0:: @ 080FD150
.incbin "data_080FC8A4/gHitbox_0.bin"
gUnk_080FD158:: @ 080FD158
.incbin "data_080FC8A4/gUnk_080FD158.bin"
gHitbox_30:: @ 080FD158
.incbin "data_080FC8A4/gHitbox_30.bin"
gUnk_080FD160:: @ 080FD160
.incbin "data_080FC8A4/gUnk_080FD160.bin"
gHitbox_31:: @ 080FD160
.incbin "data_080FC8A4/gHitbox_31.bin"
gUnk_080FD168:: @ 080FD168
.incbin "data_080FC8A4/gUnk_080FD168.bin"
gHitbox_1:: @ 080FD168
.incbin "data_080FC8A4/gHitbox_1.bin"
gUnk_080FD170:: @ 080FD170
.incbin "data_080FC8A4/gUnk_080FD170.bin"
gHitbox_2:: @ 080FD170
.incbin "data_080FC8A4/gHitbox_2.bin"
gUnk_080FD178:: @ 080FD178
.incbin "data_080FC8A4/gUnk_080FD178.bin"
gUnk_080FD180:: @ 080FD180
.incbin "data_080FC8A4/gUnk_080FD180.bin"
gHitbox_3:: @ 080FD180
.incbin "data_080FC8A4/gHitbox_3.bin"
gUnk_080FD188:: @ 080FD188
.incbin "data_080FC8A4/gUnk_080FD188.bin"
gHitbox_4:: @ 080FD188
.incbin "data_080FC8A4/gHitbox_4.bin"
gUnk_080FD190:: @ 080FD190
.incbin "data_080FC8A4/gUnk_080FD190.bin"
gUnk_080FD198:: @ 080FD198
.incbin "data_080FC8A4/gUnk_080FD198.bin"
gHitbox_5:: @ 080FD198
.incbin "data_080FC8A4/gHitbox_5.bin"
gUnk_080FD1A0:: @ 080FD1A0
.incbin "data_080FC8A4/gUnk_080FD1A0.bin"
gHitbox_6:: @ 080FD1A0
.incbin "data_080FC8A4/gHitbox_6.bin"
gUnk_080FD1A8:: @ 080FD1A8
.incbin "data_080FC8A4/gUnk_080FD1A8.bin"
@@ -430,11 +430,11 @@ gUnk_080FD1A8:: @ 080FD1A8
gUnk_080FD1B4:: @ 080FD1B4
.incbin "data_080FC8A4/gUnk_080FD1B4.bin"
gUnk_080FD1C4:: @ 080FD1C4
.incbin "data_080FC8A4/gUnk_080FD1C4.bin"
gHitbox_7:: @ 080FD1C4
.incbin "data_080FC8A4/gHitbox_7.bin"
gUnk_080FD1CC:: @ 080FD1CC
.incbin "data_080FC8A4/gUnk_080FD1CC.bin"
gHitbox_8:: @ 080FD1CC
.incbin "data_080FC8A4/gHitbox_8.bin"
gUnk_080FD1D4:: @ 080FD1D4
.incbin "data_080FC8A4/gUnk_080FD1D4.bin"
@@ -481,8 +481,8 @@ gUnk_080FD240:: @ 080FD240
gUnk_080FD248:: @ 080FD248
.incbin "data_080FC8A4/gUnk_080FD248.bin"
gUnk_080FD250:: @ 080FD250
.incbin "data_080FC8A4/gUnk_080FD250.bin"
gHitbox_9:: @ 080FD250
.incbin "data_080FC8A4/gHitbox_9.bin"
gUnk_080FD258:: @ 080FD258
.incbin "data_080FC8A4/gUnk_080FD258.bin"
@@ -490,8 +490,8 @@ gUnk_080FD258:: @ 080FD258
gUnk_080FD260:: @ 080FD260
.incbin "data_080FC8A4/gUnk_080FD260.bin"
gUnk_080FD268:: @ 080FD268
.incbin "data_080FC8A4/gUnk_080FD268.bin"
gHitbox_10:: @ 080FD268
.incbin "data_080FC8A4/gHitbox_10.bin"
gUnk_080FD270:: @ 080FD270
.incbin "data_080FC8A4/gUnk_080FD270.bin"
@@ -517,17 +517,17 @@ gUnk_080FD2A0:: @ 080FD2A0
gUnk_080FD2A8:: @ 080FD2A8
.incbin "data_080FC8A4/gUnk_080FD2A8.bin"
gUnk_080FD2B0:: @ 080FD2B0
.incbin "data_080FC8A4/gUnk_080FD2B0.bin"
gHitbox_11:: @ 080FD2B0
.incbin "data_080FC8A4/gHitbox_11.bin"
gUnk_080FD2B8:: @ 080FD2B8
.incbin "data_080FC8A4/gUnk_080FD2B8.bin"
gHitbox_12:: @ 080FD2B8
.incbin "data_080FC8A4/gHitbox_12.bin"
gUnk_080FD2C0:: @ 080FD2C0
.incbin "data_080FC8A4/gUnk_080FD2C0.bin"
gHitbox_13:: @ 080FD2C0
.incbin "data_080FC8A4/gHitbox_13.bin"
gUnk_080FD2C8:: @ 080FD2C8
.incbin "data_080FC8A4/gUnk_080FD2C8.bin"
gHitbox_14:: @ 080FD2C8
.incbin "data_080FC8A4/gHitbox_14.bin"
gUnk_080FD2D0:: @ 080FD2D0
.incbin "data_080FC8A4/gUnk_080FD2D0.bin"
@@ -544,11 +544,11 @@ gUnk_080FD2E8:: @ 080FD2E8
gUnk_080FD2F0:: @ 080FD2F0
.incbin "data_080FC8A4/gUnk_080FD2F0.bin"
gUnk_080FD2F8:: @ 080FD2F8
.incbin "data_080FC8A4/gUnk_080FD2F8.bin"
gHitbox_15:: @ 080FD2F8
.incbin "data_080FC8A4/gHitbox_15.bin"
gUnk_080FD300:: @ 080FD300
.incbin "data_080FC8A4/gUnk_080FD300.bin"
gHitbox_16:: @ 080FD300
.incbin "data_080FC8A4/gHitbox_16.bin"
gUnk_080FD308:: @ 080FD308
.incbin "data_080FC8A4/gUnk_080FD308.bin"
@@ -556,8 +556,8 @@ gUnk_080FD308:: @ 080FD308
gUnk_080FD310:: @ 080FD310
.incbin "data_080FC8A4/gUnk_080FD310.bin"
gUnk_080FD318:: @ 080FD318
.incbin "data_080FC8A4/gUnk_080FD318.bin"
gHitbox_17:: @ 080FD318
.incbin "data_080FC8A4/gHitbox_17.bin"
gUnk_080FD320:: @ 080FD320
.incbin "data_080FC8A4/gUnk_080FD320.bin"
@@ -568,8 +568,8 @@ gUnk_080FD328:: @ 080FD328
gUnk_080FD330:: @ 080FD330
.incbin "data_080FC8A4/gUnk_080FD330.bin"
gUnk_080FD338:: @ 080FD338
.incbin "data_080FC8A4/gUnk_080FD338.bin"
gHitbox_18:: @ 080FD338
.incbin "data_080FC8A4/gHitbox_18.bin"
gUnk_080FD340:: @ 080FD340
.incbin "data_080FC8A4/gUnk_080FD340.bin"
@@ -643,8 +643,8 @@ gUnk_080FD3FC:: @ 080FD3FC
gUnk_080FD408:: @ 080FD408
.incbin "data_080FC8A4/gUnk_080FD408.bin"
gUnk_080FD410:: @ 080FD410
.incbin "data_080FC8A4/gUnk_080FD410.bin"
gHitbox_19:: @ 080FD410
.incbin "data_080FC8A4/gHitbox_19.bin"
gUnk_080FD41C:: @ 080FD41C
.incbin "data_080FC8A4/gUnk_080FD41C.bin"
@@ -661,26 +661,26 @@ gUnk_080FD434:: @ 080FD434
gUnk_080FD43C:: @ 080FD43C
.incbin "data_080FC8A4/gUnk_080FD43C.bin"
gUnk_080FD448:: @ 080FD448
.incbin "data_080FC8A4/gUnk_080FD448.bin"
gHitbox_20:: @ 080FD448
.incbin "data_080FC8A4/gHitbox_20.bin"
gUnk_080FD450:: @ 080FD450
.incbin "data_080FC8A4/gUnk_080FD450.bin"
gUnk_080FD458:: @ 080FD458
.incbin "data_080FC8A4/gUnk_080FD458.bin"
gHitbox_21:: @ 080FD458
.incbin "data_080FC8A4/gHitbox_21.bin"
gUnk_080FD460:: @ 080FD460
.incbin "data_080FC8A4/gUnk_080FD460.bin"
gHitbox_22:: @ 080FD460
.incbin "data_080FC8A4/gHitbox_22.bin"
gUnk_080FD468:: @ 080FD468
.incbin "data_080FC8A4/gUnk_080FD468.bin"
gHitbox_23:: @ 080FD468
.incbin "data_080FC8A4/gHitbox_23.bin"
gUnk_080FD470:: @ 080FD470
.incbin "data_080FC8A4/gUnk_080FD470.bin"
gHitbox_32:: @ 080FD470
.incbin "data_080FC8A4/gHitbox_32.bin"
gUnk_080FD480:: @ 080FD480
.incbin "data_080FC8A4/gUnk_080FD480.bin"
gHitbox_24:: @ 080FD480
.incbin "data_080FC8A4/gHitbox_24.bin"
gUnk_080FD488:: @ 080FD488
.incbin "data_080FC8A4/gUnk_080FD488.bin"
@@ -688,11 +688,11 @@ gUnk_080FD488:: @ 080FD488
gUnk_080FD490:: @ 080FD490
.incbin "data_080FC8A4/gUnk_080FD490.bin"
gUnk_080FD498:: @ 080FD498
.incbin "data_080FC8A4/gUnk_080FD498.bin"
gHitbox_25:: @ 080FD498
.incbin "data_080FC8A4/gHitbox_25.bin"
gUnk_080FD4A4:: @ 080FD4A4
.incbin "data_080FC8A4/gUnk_080FD4A4.bin"
gHitbox_26:: @ 080FD4A4
.incbin "data_080FC8A4/gHitbox_26.bin"
gUnk_080FD4B8:: @ 080FD4B8
.incbin "data_080FC8A4/gUnk_080FD4B8.bin"
@@ -736,8 +736,8 @@ gUnk_080FD518:: @ 080FD518
gUnk_080FD520:: @ 080FD520
.incbin "data_080FC8A4/gUnk_080FD520.bin"
gUnk_080FD528:: @ 080FD528
.incbin "data_080FC8A4/gUnk_080FD528.bin"
gHitbox_27:: @ 080FD528
.incbin "data_080FC8A4/gHitbox_27.bin"
gUnk_080FD530:: @ 080FD530
.incbin "data_080FC8A4/gUnk_080FD530.bin"
@@ -748,8 +748,8 @@ gUnk_080FD538:: @ 080FD538
gUnk_080FD544:: @ 080FD544
.incbin "data_080FC8A4/gUnk_080FD544.bin"
gUnk_080FD54C:: @ 080FD54C
.incbin "data_080FC8A4/gUnk_080FD54C.bin"
gHitbox_28:: @ 080FD54C
.incbin "data_080FC8A4/gHitbox_28.bin"
gUnk_080FD558:: @ 080FD558
.incbin "data_080FC8A4/gUnk_080FD558.bin"
@@ -757,8 +757,8 @@ gUnk_080FD558:: @ 080FD558
gUnk_080FD560:: @ 080FD560
.incbin "data_080FC8A4/gUnk_080FD560.bin"
gUnk_080FD568:: @ 080FD568
.incbin "data_080FC8A4/gUnk_080FD568.bin"
gHitbox_29:: @ 080FD568
.incbin "data_080FC8A4/gHitbox_29.bin"
gUnk_080FD570:: @ 080FD570
.incbin "data_080FC8A4/gUnk_080FD570.bin"
+5 -160
View File
@@ -4,169 +4,14 @@
.section .rodata
.align 2
gUnk_081146D0:: @ 081146D0
.incbin "data_081146D0/gUnk_081146D0.bin"
gUnk_081146E4:: @ 081146E4
.incbin "data_081146D0/gUnk_081146E4.bin"
gUnk_081146F4:: @ 081146F4
.incbin "data_081146D0/gUnk_081146F4.bin"
gUnk_0811479C:: @ 0811479C
.incbin "data_081146D0/gUnk_0811479C.bin"
gUnk_081147E4:: @ 081147E4
.incbin "data_081146D0/gUnk_081147E4.bin"
gUnk_08114804:: @ 08114804
.ifdef EU
@ TODO only small differences
.incbin "data_081146D0/gUnk_08114804_EU.bin"
.else
.incbin "data_081146D0/gUnk_08114804_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08114814:: @ 08114814
.incbin "data_081146D0/gUnk_08114814.bin"
gUnk_08114824:: @ 08114824
.incbin "data_081146D0/gUnk_08114824.bin"
gUnk_08114864:: @ 08114864
.incbin "data_081146D0/gUnk_08114864.bin"
gUnk_08114874:: @ 08114874
.incbin "data_081146D0/gUnk_08114874.bin"
gUnk_081148A4:: @ 081148A4
.incbin "data_081146D0/gUnk_081148A4.bin"
gUnk_081148C4:: @ 081148C4
.incbin "data_081146D0/gUnk_081148C4.bin"
gUnk_081148E4:: @ 081148E4
.incbin "data_081146D0/gUnk_081148E4.bin"
gUnk_08114914:: @ 08114914
.incbin "data_081146D0/gUnk_08114914.bin"
gUnk_08114944:: @ 08114944
.incbin "data_081146D0/gUnk_08114944.bin"
gUnk_08114974:: @ 08114974
.incbin "data_081146D0/gUnk_08114974.bin"
gUnk_08114984:: @ 08114984
.incbin "data_081146D0/gUnk_08114984.bin"
gUnk_08114994:: @ 08114994
.incbin "data_081146D0/gUnk_08114994.bin"
gUnk_081149A4:: @ 081149A4
.incbin "data_081146D0/gUnk_081149A4.bin"
gUnk_081149B4:: @ 081149B4
.incbin "data_081146D0/gUnk_081149B4.bin"
gUnk_081149C4:: @ 081149C4
.incbin "data_081146D0/gUnk_081149C4.bin"
gUnk_081149F4:: @ 081149F4
.incbin "data_081146D0/gUnk_081149F4.bin"
gUnk_08114A14:: @ 08114A14
.incbin "data_081146D0/gUnk_08114A14.bin"
gUnk_08114A6C:: @ 08114A6C
.incbin "data_081146D0/gUnk_08114A6C.bin"
gUnk_08114A8C:: @ 08114A8C
.ifdef EU
@ TODO only small differences
.incbin "data_081146D0/gUnk_08114A8C_EU.bin"
.else
.incbin "data_081146D0/gUnk_08114A8C_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08114ABC:: @ 08114ABC
.ifdef EU
@ TODO only small differences
.incbin "data_081146D0/gUnk_08114ABC_EU.bin"
.else
.incbin "data_081146D0/gUnk_08114ABC_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08114AE4:: @ 08114AE4
.incbin "data_081146D0/gUnk_08114AE4.bin"
.4byte gUnk_081146E4
.incbin "data_081146D0/gUnk_08114AE4_1.bin"
.4byte gUnk_081148A4
.incbin "data_081146D0/gUnk_08114AE4_2.bin"
.4byte gUnk_081146F4
.incbin "data_081146D0/gUnk_08114AE4_3.bin"
.4byte gUnk_0811479C
.incbin "data_081146D0/gUnk_08114AE4_4.bin"
.4byte gUnk_081147E4
.incbin "data_081146D0/gUnk_08114AE4_5.bin"
.4byte gUnk_08114874
.incbin "data_081146D0/gUnk_08114AE4_6.bin"
.4byte gUnk_08114804
.incbin "data_081146D0/gUnk_08114AE4_7.bin"
.4byte gUnk_08114814
.incbin "data_081146D0/gUnk_08114AE4_8.bin"
.4byte gUnk_081148E4
.incbin "data_081146D0/gUnk_08114AE4_9.bin"
.4byte gUnk_08114824
.incbin "data_081146D0/gUnk_08114AE4_10.bin"
.4byte gUnk_08114864
.incbin "data_081146D0/gUnk_08114AE4_11.bin"
.4byte gUnk_081148C4
.incbin "data_081146D0/gUnk_08114AE4_12.bin"
.4byte gUnk_08114914
.incbin "data_081146D0/gUnk_08114AE4_13.bin"
.4byte gUnk_08114944
.incbin "data_081146D0/gUnk_08114AE4_14.bin"
.4byte gUnk_08114A8C
.incbin "data_081146D0/gUnk_08114AE4_15.bin"
.4byte gUnk_08114974
.incbin "data_081146D0/gUnk_08114AE4_16.bin"
.4byte gUnk_08114984
.incbin "data_081146D0/gUnk_08114AE4_17.bin"
.4byte gUnk_08114994
.incbin "data_081146D0/gUnk_08114AE4_18.bin"
.4byte gUnk_081149A4
.incbin "data_081146D0/gUnk_08114AE4_19.bin"
.4byte gUnk_081149B4
.incbin "data_081146D0/gUnk_08114AE4_20.bin"
.4byte gUnk_081149C4
.incbin "data_081146D0/gUnk_08114AE4_21.bin"
.4byte gUnk_081149F4
.incbin "data_081146D0/gUnk_08114AE4_22.bin"
.4byte gUnk_08114A14
.incbin "data_081146D0/gUnk_08114AE4_23.bin"
.4byte gUnk_08114A6C
.ifdef EU
@ TODO only small differences
.incbin "data_081146D0/gUnk_08114AE4_24_EU.bin"
.else
.incbin "data_081146D0/gUnk_08114AE4_25_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08114ABC
.ifdef EU
@ TODO only small differences
.incbin "data_081146D0/gUnk_08114AE4_26_EU.bin"
.else
.incbin "data_081146D0/gUnk_08114AE4_27_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08114EE4:: @ 08114EE4
.4byte 00000000
.4byte gUnk_080FD170
.4byte gUnk_080FD158
.4byte gUnk_080FD170
.4byte gUnk_080FD180
.4byte gUnk_080FD160
.4byte gHitbox_2
.4byte gHitbox_30
.4byte gHitbox_2
.4byte gHitbox_3
.4byte gHitbox_31
gUnk_08114EFC:: @ 08114EFC
.4byte sub_0806EF88
-750
View File
@@ -4,756 +4,6 @@
.section .rodata
.align 2
gUnk_08125104:: @ 08125104
.4byte 00000000
.4byte gUnk_080FD150
.4byte gUnk_080FD158
.4byte gUnk_080FD170
.4byte gUnk_080FD180
gUnk_08125118:: @ 08125118
.incbin "data_08125104/gUnk_08125118.bin"
gUnk_081253D8:: @ 081253D8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081253D8_EU.bin"
.else
.incbin "data_08125104/gUnk_081253D8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081253F8:: @ 081253F8
.incbin "data_08125104/gUnk_081253F8.bin"
gUnk_08125420:: @ 08125420
.incbin "data_08125104/gUnk_08125420.bin"
gUnk_08125438:: @ 08125438
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125438_EU.bin"
.else
.incbin "data_08125104/gUnk_08125438_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125498:: @ 08125498
.incbin "data_08125104/gUnk_08125498.bin"
gUnk_081254E8:: @ 081254E8
.incbin "data_08125104/gUnk_081254E8.bin"
gUnk_08125540:: @ 08125540
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125540_EU.bin"
.else
.incbin "data_08125104/gUnk_08125540_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125658:: @ 08125658
.incbin "data_08125104/gUnk_08125658.bin"
gUnk_08125668:: @ 08125668
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125668_EU.bin"
.else
.incbin "data_08125104/gUnk_08125668_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125698:: @ 08125698
.incbin "data_08125104/gUnk_08125698.bin"
gUnk_081256A8:: @ 081256A8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081256A8_EU.bin"
.else
.incbin "data_08125104/gUnk_081256A8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081256D0:: @ 081256D0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081256D0_EU.bin"
.else
.incbin "data_08125104/gUnk_081256D0_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125900:: @ 08125900
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125900_EU.bin"
.else
.incbin "data_08125104/gUnk_08125900_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125918:: @ 08125918
.incbin "data_08125104/gUnk_08125918.bin"
gUnk_08125928:: @ 08125928
.incbin "data_08125104/gUnk_08125928.bin"
gUnk_08125940:: @ 08125940
.incbin "data_08125104/gUnk_08125940.bin"
gUnk_08125960:: @ 08125960
.incbin "data_08125104/gUnk_08125960.bin"
gUnk_081259A8:: @ 081259A8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081259A8_EU.bin"
.else
.incbin "data_08125104/gUnk_081259A8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081259A8_2_EU.bin"
.else
.incbin "data_08125104/gUnk_081259A8_3_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125B00:: @ 08125B00
.incbin "data_08125104/gUnk_08125B00.bin"
gUnk_08125B20:: @ 08125B20
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125B20_EU.bin"
.else
.incbin "data_08125104/gUnk_08125B20_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125B50:: @ 08125B50
.incbin "data_08125104/gUnk_08125B50.bin"
gUnk_08125B70:: @ 08125B70
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125B70_EU.bin"
.else
.incbin "data_08125104/gUnk_08125B70_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125C18:: @ 08125C18
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125C18_EU.bin"
.else
.incbin "data_08125104/gUnk_08125C18_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125C48:: @ 08125C48
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125C48_EU.bin"
.else
.incbin "data_08125104/gUnk_08125C48_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125C90:: @ 08125C90
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125C90_EU.bin"
.else
.incbin "data_08125104/gUnk_08125C90_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125CD8:: @ 08125CD8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125CD8_EU.bin"
.else
.incbin "data_08125104/gUnk_08125CD8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125D68:: @ 08125D68
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125D68_EU.bin"
.else
.incbin "data_08125104/gUnk_08125D68_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125DB0:: @ 08125DB0
.incbin "data_08125104/gUnk_08125DB0.bin"
gUnk_08125EB8:: @ 08125EB8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125EB8_EU.bin"
.else
.incbin "data_08125104/gUnk_08125EB8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125ED0:: @ 08125ED0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125ED0_EU.bin"
.else
.incbin "data_08125104/gUnk_08125ED0_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125EF0:: @ 08125EF0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125EF0_EU.bin"
.else
.incbin "data_08125104/gUnk_08125EF0_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125F10:: @ 08125F10
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125F10_EU.bin"
.else
.incbin "data_08125104/gUnk_08125F10_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125F20:: @ 08125F20
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125F20_EU.bin"
.else
.incbin "data_08125104/gUnk_08125F20_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125F38:: @ 08125F38
.incbin "data_08125104/gUnk_08125F38.bin"
gUnk_08125F48:: @ 08125F48
.incbin "data_08125104/gUnk_08125F48.bin"
gUnk_08125F78:: @ 08125F78
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125F78_EU.bin"
.else
.incbin "data_08125104/gUnk_08125F78_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125F90:: @ 08125F90
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08125F90_EU.bin"
.else
.incbin "data_08125104/gUnk_08125F90_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08125FA0:: @ 08125FA0
.incbin "data_08125104/gUnk_08125FA0.bin"
gUnk_08125FC0:: @ 08125FC0
.incbin "data_08125104/gUnk_08125FC0.bin"
gUnk_08125FE8:: @ 08125FE8
.incbin "data_08125104/gUnk_08125FE8.bin"
gUnk_08126038:: @ 08126038
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126038_EU.bin"
.else
.incbin "data_08125104/gUnk_08126038_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126050:: @ 08126050
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126050_EU.bin"
.else
.incbin "data_08125104/gUnk_08126050_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126068:: @ 08126068
.incbin "data_08125104/gUnk_08126068.bin"
gUnk_081260A8:: @ 081260A8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081260A8_EU.bin"
.else
.incbin "data_08125104/gUnk_081260A8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081260B8:: @ 081260B8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081260B8_EU.bin"
.else
.incbin "data_08125104/gUnk_081260B8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126110:: @ 08126110
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126110_EU.bin"
.else
.incbin "data_08125104/gUnk_08126110_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126150:: @ 08126150
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126150_EU.bin"
.else
.incbin "data_08125104/gUnk_08126150_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126180:: @ 08126180
.incbin "data_08125104/gUnk_08126180.bin"
gUnk_081261B0:: @ 081261B0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081261B0_EU.bin"
.else
.incbin "data_08125104/gUnk_081261B0_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081261C8:: @ 081261C8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081261C8_EU.bin"
.else
.incbin "data_08125104/gUnk_081261C8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081261E8:: @ 081261E8
.incbin "data_08125104/gUnk_081261E8.bin"
gUnk_081261F8:: @ 081261F8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081261F8_EU.bin"
.else
.incbin "data_08125104/gUnk_081261F8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081261F8_2_EU.bin"
.else
.incbin "data_08125104/gUnk_081261F8_3_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126278:: @ 08126278
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126278_EU.bin"
.else
.incbin "data_08125104/gUnk_08126278_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126298:: @ 08126298
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126298_EU.bin"
.else
.incbin "data_08125104/gUnk_08126298_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081262B8:: @ 081262B8
.incbin "data_08125104/gUnk_081262B8.bin"
gUnk_081262D0:: @ 081262D0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081262D0_EU.bin"
.else
.incbin "data_08125104/gUnk_081262D0_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081262E8:: @ 081262E8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081262E8_EU.bin"
.else
.incbin "data_08125104/gUnk_081262E8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126330:: @ 08126330
.incbin "data_08125104/gUnk_08126330.bin"
gUnk_08126350:: @ 08126350
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126350_EU.bin"
.else
.incbin "data_08125104/gUnk_08126350_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126360:: @ 08126360
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126360_EU.bin"
.else
.incbin "data_08125104/gUnk_08126360_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126380:: @ 08126380
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126380_EU.bin"
.else
.incbin "data_08125104/gUnk_08126380_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081263A8:: @ 081263A8
.incbin "data_08125104/gUnk_081263A8.bin"
gUnk_081263B8:: @ 081263B8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081263B8_EU.bin"
.else
.incbin "data_08125104/gUnk_081263B8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081263C8:: @ 081263C8
.incbin "data_08125104/gUnk_081263C8.bin"
gUnk_081263D8:: @ 081263D8
.ifndef EU
.incbin "data_08125104/gUnk_081263D8_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081263E8:: @ 081263E8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081263E8_EU.bin"
.else
.incbin "data_08125104/gUnk_081263E8_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081263E8_2_EU.bin"
.else
.incbin "data_08125104/gUnk_081263E8_3_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081263E8_4_EU.bin"
.else
.incbin "data_08125104/gUnk_081263E8_5_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_081263E8_6_EU.bin"
.else
.incbin "data_08125104/gUnk_081263E8_7_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_08126798:: @ 08126798
.incbin "data_08125104/gUnk_08126798.bin"
.4byte gUnk_081263E8
.incbin "data_08125104/gUnk_08126798_1.bin"
.4byte gUnk_081263E8
.incbin "data_08125104/gUnk_08126798_2.bin"
.4byte gUnk_081253D8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_3_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081263E8
.incbin "data_08125104/gUnk_08126798_5.bin"
.4byte gUnk_08125118
.incbin "data_08125104/gUnk_08126798_6.bin"
.4byte gUnk_08125B50
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_7_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_8_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081262E8
.incbin "data_08125104/gUnk_08126798_9.bin"
.4byte gUnk_08125DB0
.incbin "data_08125104/gUnk_08126798_10.bin"
.4byte gUnk_08125438
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_11_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_12_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081261C8
.incbin "data_08125104/gUnk_08126798_13.bin"
.4byte gUnk_08125420
.incbin "data_08125104/gUnk_08126798_14.bin"
.4byte gUnk_081253F8
.incbin "data_08125104/gUnk_08126798_15.bin"
.4byte gUnk_08125668
.incbin "data_08125104/gUnk_08126798_16.bin"
.4byte gUnk_081261F8
.incbin "data_08125104/gUnk_08126798_17.bin"
.4byte gUnk_08125498
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_18_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_19_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08126180
.incbin "data_08125104/gUnk_08126798_20.bin"
.4byte gUnk_08125F78
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_21_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_22_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125C48
.incbin "data_08125104/gUnk_08126798_23.bin"
.4byte gUnk_08125D68
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_24_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_25_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081263E8
.incbin "data_08125104/gUnk_08126798_26.bin"
.4byte gUnk_081263A8
.incbin "data_08125104/gUnk_08126798_27.bin"
.4byte gUnk_08125F20
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_28_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_29_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081254E8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_30_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_31_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081256A8
.incbin "data_08125104/gUnk_08126798_32.bin"
.4byte gUnk_081256D0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_33_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_34_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125540
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_35_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_36_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081261E8
.incbin "data_08125104/gUnk_08126798_37.bin"
.4byte gUnk_08125658
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_38_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_39_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125698
.incbin "data_08125104/gUnk_08126798_40.bin"
.4byte gUnk_08125900
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_41_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_42_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125F90
.incbin "data_08125104/gUnk_08126798_43.bin"
.4byte gUnk_08125B20
.incbin "data_08125104/gUnk_08126798_44.bin"
.4byte gUnk_08126350
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_45_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_46_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125918
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_47_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_48_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125928
.incbin "data_08125104/gUnk_08126798_49.bin"
.4byte gUnk_081261B0
.incbin "data_08125104/gUnk_08126798_50.bin"
.4byte gUnk_08125940
.incbin "data_08125104/gUnk_08126798_51.bin"
.4byte gUnk_08125960
.incbin "data_08125104/gUnk_08126798_52.bin"
.4byte gUnk_081259A8
.incbin "data_08125104/gUnk_08126798_53.bin"
.4byte gUnk_08125B00
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_54_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_55_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125C18
.incbin "data_08125104/gUnk_08126798_56.bin"
.4byte gUnk_08125B70
.incbin "data_08125104/gUnk_08126798_57.bin"
.4byte gUnk_08125EB8
.incbin "data_08125104/gUnk_08126798_58.bin"
.4byte gUnk_08125ED0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_59_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_60_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125C90
.incbin "data_08125104/gUnk_08126798_61.bin"
.4byte gUnk_08125CD8
.incbin "data_08125104/gUnk_08126798_62.bin"
.4byte gUnk_08125EF0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_63_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_64_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125F10
.ifdef EU
.incbin "data_08125104/gUnk_08126798_65_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_66_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125F38
.incbin "data_08125104/gUnk_08126798_67.bin"
.4byte gUnk_08125F48
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_68_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_69_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08125FA0 @ 0x81262F4
.incbin "data_08125104/gUnk_08126798_70.bin"
.4byte gUnk_08125FC0
.incbin "data_08125104/gUnk_08126798_71.bin"
.4byte gUnk_08125FE8
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_72_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_73_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08126038
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_74_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_75_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08126050
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_76_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_77_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08126068
.incbin "data_08125104/gUnk_08126798_78.bin"
.4byte gUnk_081260A8
.incbin "data_08125104/gUnk_08126798_79.bin"
.4byte gUnk_081260B8
.incbin "data_08125104/gUnk_08126798_80.bin"
.4byte gUnk_08126110
.incbin "data_08125104/gUnk_08126798_81.bin"
.4byte gUnk_08126150
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_82_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_83_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08126278
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_84_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_85_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08126298
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_86_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_87_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081263E8
.ifdef EU
.incbin "data_08125104/gUnk_08126798_88_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_89_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081262B8
.incbin "data_08125104/gUnk_08126798_90.bin"
.4byte gUnk_081262D0
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_91_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_92_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081263E8
.incbin "data_08125104/gUnk_08126798_93.bin"
.4byte gUnk_08126330
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_94_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_95_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081263C8
.incbin "data_08125104/gUnk_08126798_96.bin"
.4byte gUnk_08126360
.ifdef EU
.incbin "data_08125104/gUnk_08126798_97_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_98_USA-JP-DEMO_USA-DEMO_JP.bin"
.4byte gUnk_081263D8
.incbin "data_08125104/gUnk_08126798_99_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_08126380
.ifdef EU
@ TODO only small differences
.incbin "data_08125104/gUnk_08126798_100_EU.bin"
.else
.incbin "data_08125104/gUnk_08126798_101_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_081263B8
.incbin "data_08125104/gUnk_08126798_102.bin"
gUnk_08126DA8:: @ 08126DA8
.incbin "data_08125104/gUnk_08126DA8.bin"
gUnk_08126E68:: @ 08126E68
.incbin "data_08125104/gUnk_08126E68.bin"
gUnk_08126E98:: @ 08126E98
.incbin "data_08125104/gUnk_08126E98.bin"
gUnk_08126EC8:: @ 08126EC8
.incbin "data_08125104/gUnk_08126EC8.bin"
gUnk_08126ED8:: @ 08126ED8
.4byte gUnk_08126E68
.4byte gUnk_08126E98
.4byte gUnk_08126EC8
gUnk_08126EE4:: @ 08126EE4
.incbin "data_08125104/gUnk_08126EE4.bin"
-388
View File
@@ -8,391 +8,3 @@
@ TODO check whether this is the same save as one of the DEMO_USA ones
.incbin "data_081320FC/_DEMO_JP.bin"
.endif
gUnk_0813210C:: @ 0813210C
.incbin "data_081320FC/gUnk_0813210C.bin"
.4byte gUnk_0813235C
.incbin "data_081320FC/gUnk_0813210C_1.bin"
.4byte gUnk_080FD1C4
.incbin "data_081320FC/gUnk_0813210C_2.bin"
.4byte gUnk_080FD1C4
.incbin "data_081320FC/gUnk_0813210C_3.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813210C_4.bin"
.4byte gUnk_080FD1C4
.incbin "data_081320FC/gUnk_0813210C_5.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813210C_6.bin"
.4byte gUnk_081323AC
.incbin "data_081320FC/gUnk_0813210C_7.bin"
.4byte gUnk_081323DC
.incbin "data_081320FC/gUnk_0813210C_8.bin"
.4byte gUnk_0813240C
.incbin "data_081320FC/gUnk_0813210C_9.bin"
.4byte gUnk_0813242C
.incbin "data_081320FC/gUnk_0813210C_10.bin"
.4byte gUnk_0813244C
.incbin "data_081320FC/gUnk_0813210C_11.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813210C_12.bin"
.ifdef JP
.4byte gUnk_080FD150
.else
.ifdef EU
.4byte gUnk_080FD150
.else
.4byte gUnk_080FD180
.endif
.endif
.incbin "data_081320FC/gUnk_0813210C_13.bin"
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813210C_14_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813210C_15_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_0813248C
.incbin "data_081320FC/gUnk_0813210C_16.bin"
.4byte gUnk_081324AC
.incbin "data_081320FC/gUnk_0813210C_17.bin"
.4byte gUnk_081324EC
.incbin "data_081320FC/gUnk_0813210C_18.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813210C_19.bin"
.4byte gUnk_080FD168
.incbin "data_081320FC/gUnk_0813210C_20.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813210C_21.bin"
.4byte gUnk_0813250C
.incbin "data_081320FC/gUnk_0813210C_22.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813210C_23.bin"
.4byte gUnk_080FD448
.incbin "data_081320FC/gUnk_0813210C_24.bin"
.4byte gUnk_080FD448
.incbin "data_081320FC/gUnk_0813210C_25.bin"
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813210C_26_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813210C_27_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD168
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813210C_28_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813210C_29_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813210C_30.bin"
.4byte gUnk_0813252C
.incbin "data_081320FC/gUnk_0813210C_31.bin"
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813210C_32_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813210C_33_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_0813256C
.incbin "data_081320FC/gUnk_0813210C_34.bin"
.4byte gUnk_081325BC
.incbin "data_081320FC/gUnk_0813210C_35.bin"
.4byte gUnk_0813269C
.incbin "data_081320FC/gUnk_0813210C_36.bin"
.4byte gUnk_080FD448
.incbin "data_081320FC/gUnk_0813210C_37.bin"
.4byte gUnk_080FD448
.incbin "data_081320FC/gUnk_0813210C_38.bin"
.4byte gUnk_081326CC
.incbin "data_081320FC/gUnk_0813210C_39.bin"
.4byte gUnk_080FD460
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813210C_40_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813210C_41_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD460
.incbin "data_081320FC/gUnk_0813210C_42.bin"
gUnk_0813235C:: @ 0813235C
.incbin "data_081320FC/gUnk_0813235C.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813235C_1.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813235C_2.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813235C_3.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813235C_4.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813235C_5.bin"
gUnk_081323AC:: @ 081323AC
.incbin "data_081320FC/gUnk_081323AC.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081323AC_1.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081323AC_2.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081323AC_3.bin"
gUnk_081323DC:: @ 081323DC
.incbin "data_081320FC/gUnk_081323DC.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081323DC_1.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081323DC_2.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081323DC_3.bin"
gUnk_0813240C:: @ 0813240C
.incbin "data_081320FC/gUnk_0813240C.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813240C_1.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813240C_2.bin"
gUnk_0813242C:: @ 0813242C
.incbin "data_081320FC/gUnk_0813242C.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813242C_1.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813242C_2.bin"
gUnk_0813244C:: @ 0813244C
.incbin "data_081320FC/gUnk_0813244C.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813244C_1.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813244C_2.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813244C_3.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813244C_4.bin"
gUnk_0813248C:: @ 0813248C
.incbin "data_081320FC/gUnk_0813248C.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813248C_1.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813248C_2.bin"
gUnk_081324AC:: @ 081324AC
.incbin "data_081320FC/gUnk_081324AC.bin"
.4byte gUnk_080FD3F4
.incbin "data_081320FC/gUnk_081324AC_1.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081324AC_2.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081324AC_3.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_081324AC_4.bin"
gUnk_081324EC:: @ 081324EC
.incbin "data_081320FC/gUnk_081324EC.bin"
.4byte gUnk_080FD3FC
.incbin "data_081320FC/gUnk_081324EC_1.bin"
.4byte gUnk_080FD3FC
.incbin "data_081320FC/gUnk_081324EC_2.bin"
gUnk_0813250C:: @ 0813250C
.incbin "data_081320FC/gUnk_0813250C.bin"
.4byte gUnk_080FD170
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813250C_1_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813250C_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD43C
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813250C_3_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813250C_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_0813252C:: @ 0813252C
.incbin "data_081320FC/gUnk_0813252C.bin"
.4byte gUnk_080FD168
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813252C_1_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813252C_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD168
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813252C_3_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813252C_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD168
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813252C_5_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813252C_6_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD168
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813252C_7_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813252C_8_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_0813256C:: @ 0813256C
.incbin "data_081320FC/gUnk_0813256C.bin"
.4byte gUnk_080FD558
.incbin "data_081320FC/gUnk_0813256C_1.bin"
.4byte gUnk_080FD560
.incbin "data_081320FC/gUnk_0813256C_2.bin"
.4byte gUnk_080FD560
.incbin "data_081320FC/gUnk_0813256C_3.bin"
.4byte gUnk_080FD560
.incbin "data_081320FC/gUnk_0813256C_4.bin"
.4byte gUnk_080FD560
.incbin "data_081320FC/gUnk_0813256C_5.bin"
gUnk_081325BC:: @ 081325BC
.incbin "data_081320FC/gUnk_081325BC.bin"
.4byte gUnk_080FD4B8
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_1_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4C0
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_3_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4C8
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_5_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_6_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4D0
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_7_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_8_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4D8
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_9_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_10_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4E0
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_11_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_12_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4E8
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_13_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_14_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4F0
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_15_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_16_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD4F8
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_17_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_18_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD500
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_19_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_20_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD508
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_21_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_22_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD510
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_23_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_24_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD518
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_25_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_26_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD520
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081325BC_27_EU.bin"
.else
.incbin "data_081320FC/gUnk_081325BC_28_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_0813269C:: @ 0813269C
.incbin "data_081320FC/gUnk_0813269C.bin"
.4byte gUnk_080FD150
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_0813269C_1_EU.bin"
.else
.incbin "data_081320FC/gUnk_0813269C_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813269C_3.bin"
.4byte gUnk_080FD150
.incbin "data_081320FC/gUnk_0813269C_4.bin"
gUnk_081326CC:: @ 081326CC
.incbin "data_081320FC/gUnk_081326CC.bin"
.4byte gUnk_080FD168
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081326CC_1_EU.bin"
.else
.incbin "data_081320FC/gUnk_081326CC_2_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
.4byte gUnk_080FD448
.ifdef EU
@ TODO only small differences
.incbin "data_081320FC/gUnk_081326CC_3_EU.bin"
.else
.incbin "data_081320FC/gUnk_081326CC_4_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_081326EC:: @ 081326EC
.incbin "data_081320FC/gUnk_081326EC.bin"
+3 -1
View File
@@ -779,6 +779,7 @@ gSpritePtrs:: @ 080029B4
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte 00000000
@@ -798,6 +799,7 @@ gSpritePtrs:: @ 080029B4
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte 00000000
@@ -1418,7 +1420,7 @@ gSpritePtrs:: @ 080029B4
.4byte 00000000
.4byte 00000000
.4byte gSpriteAnimations_Enemy5F
.4byte gSpriteAnimations_WrathEye
.4byte 00000000
.4byte 00000000
.4byte 00000000
+404
View File
@@ -0,0 +1,404 @@
#ifndef SPRITEDATA_H
#define SPRITEDATA_H
// Definition for enemies and projectiles
typedef struct EnemyDefinition {
u16 gfx;
u16 paletteIndex;
union {
const Hitbox* hitbox;
const struct EnemyDefinition* definition;
} ptr;
u16 spriteIndex;
struct {
u8 spritePriority : 3;
u8 unknown : 1;
u8 draw : 2;
u8 shadow : 2;
} PACKED spriteFlags;
u8 health;
s16 speed;
u8 damageType;
u8 flags2;
} EnemyDefinition;
typedef struct ProjectileDefinition {
u16 gfx;
u16 paletteIndex;
union {
const Hitbox* hitbox;
const struct ProjectileDefinition* definition;
} ptr;
u16 spriteIndex : 12;
u16 field0x3c : 4;
struct {
u8 spritePriority : 3;
u8 unknown : 1;
u8 draw : 2;
u8 shadow : 2;
} PACKED spriteFlags;
u8 field0x40;
s16 speed;
u8 damageType;
u8 flags2;
} ProjectileDefinition;
// Sprite data definition for objects and npcs
typedef struct SpriteDataB {
u8 type;
u8 unk;
u16 bitfield;
union {
struct {
u16 paletteIndex;
u16 spriteIndex;
} sprite;
const struct SpriteDataB* spriteData;
} data;
} SpriteDataB;
// Sprite data definition for player items
typedef struct SpriteDataC {
u8 bitfield;
u8 index;
u16 unk;
u8 unk2;
u8 spriteIndex;
u16 gfxLoadBitfield;
} SpriteDataC;
typedef enum {
SPRITE_0,
SPRITE_1,
SPRITE_2,
SPRITE_3,
SPRITE_4,
SPRITE_5,
SPRITE_6,
SPRITE_7,
SPRITE_8,
SPRITE_9,
SPRITE_OBJECT4,
SPRITE_OBJECT6,
SPRITE_12,
SPRITE_13,
SPRITE_14,
SPRITE_15,
SPRITE_16,
SPRITE_17,
SPRITE_18,
SPRITE_19,
SPRITE_20,
SPRITE_21,
SPRITE_22,
SPRITE_ITEMGUSTJAR,
SPRITE_GENTARI,
SPRITE_FESTARI,
SPRITE_MELARI,
SPRITE_MOUNTAINMINISH,
SPRITE_28,
SPRITE_TOWNMINISH,
SPRITE_LIBRARI,
SPRITE_FORESTMINISH,
SPRITE_VAATI,
SPRITE_OBJECT6A_9,
SPRITE_OBJECT6A_0,
SPRITE_OBJECT6A_1,
SPRITE_OBJECT6A_2,
SPRITE_MINISHEZLO,
SPRITE_OBJECT6A_3,
SPRITE_DIN,
SPRITE_NAYRU,
SPRITE_FARORE,
SPRITE_NPC5,
SPRITE_GUARDWITHSPEAR,
SPRITE_KINGDALTUS,
SPRITE_MINISTERPOTHO,
SPRITE_NPC26,
SPRITE_MAID,
SPRITE_TINGLESIBLINGS,
SPRITE_BEEDLE,
SPRITE_BROCCO,
SPRITE_PINA,
SPRITE_POSTMAN,
SPRITE_MALON,
SPRITE_EPONA,
SPRITE_MILKCART,
SPRITE_SMITH,
SPRITE_TOWNSPERSON,
SPRITE_58,
SPRITE_KID,
SPRITE_MAILBOX,
SPRITE_SITTINGPERSON,
SPRITE_MUTOH,
SPRITE_CARPENTER,
SPRITE_GORMAN,
SPRITE_CAT,
SPRITE_CAT_1,
SPRITE_DOG,
SPRITE_DOG_1,
SPRITE_DOG_2,
SPRITE_SYRUP,
SPRITE_PERCY,
SPRITE_FARMERS_0,
SPRITE_FARMERS_1,
SPRITE_DAMPE,
SPRITE_KINGGUSTAF,
SPRITE_GINA,
SPRITE_SIMON,
SPRITE_MAMA,
SPRITE_TEACHERS,
SPRITE_TEACHERS_1,
SPRITE_WINDTRIBESPEOPLE_0,
SPRITE_WINDTRIBESPEOPLE_1,
SPRITE_WINDTRIBESPEOPLE_2,
SPRITE_WINDTRIBESPEOPLE_3,
SPRITE_WINDTRIBESPEOPLE_4,
SPRITE_WINDTRIBESPEOPLE_5,
SPRITE_MAYORHAGEN,
SPRITE_GHOSTBROTHERS,
SPRITE_HURDYGURDYMAN,
SPRITE_COW,
SPRITE_GORONMERCHANT,
SPRITE_GORONMERCHANT_1,
SPRITE_GORON,
SPRITE_CASTORWILDSSTATUE,
SPRITE_NPC4F,
SPRITE_OBJECT6A_4,
SPRITE_97,
SPRITE_DARKNUT_0,
SPRITE_DARKNUT_1,
SPRITE_CHUCHUBOSS_0,
SPRITE_DEATHFX_0,
SPRITE_MADDERPILLAR_0,
SPRITE_GLEEROK_0,
SPRITE_KEATON,
SPRITE_MAZAALHAND,
SPRITE_SCISSORSBEETLE,
SPRITE_MANDIBLESPROJECTILE,
SPRITE_STALFOS,
SPRITE_GIBDO,
SPRITE_LAKITU,
SPRITE_LAKITUCLOUDPROJECTILE,
SPRITE_VAATIREBORNENEMY_0,
SPRITE_VAATIREBORNENEMY_1,
SPRITE_VAATIREBORNENEMY_2,
SPRITE_VAATIREBORNENEMY_3,
SPRITE_VAATIBALL,
SPRITE_VAATITRANSFIGURED_0,
SPRITE_VAATITRANSFIGURED_1,
SPRITE_VAATITRANSFIGURED_2,
SPRITE_VAATITRANSFIGURED_3,
SPRITE_VAATIARM,
SPRITE_VAATIWRATH,
SPRITE_VAATIREBORN,
SPRITE_MOBLINLADY_1,
SPRITE_BALLCHAINSOLDIER,
SPRITE_GYORGMALE,
SPRITE_JARPORTAL,
SPRITE_BEANSTALK_0,
SPRITE_MINECART,
SPRITE_LAVAPLATFORM_1,
SPRITE_WHIRLWIND,
SPRITE_BIGVORTEX,
SPRITE_MACROBOOK,
SPRITE_GENTARICURTAINS,
SPRITE_SPIDERWEB,
SPRITE_OBJECT79,
SPRITE_OCTOROKBOSS_0,
SPRITE_BELL,
SPRITE_TALON,
SPRITE_STURGEON,
SPRITE_LIBRARIANS_0,
SPRITE_LIBRARIANS_1,
SPRITE_STAMP,
SPRITE_MARCY,
SPRITE_STOCKWELL,
SPRITE_WHEATON,
SPRITE_PITA,
SPRITE_CUCCOAGGR,
SPRITE_BLADEBROTHERS_0,
SPRITE_BLADEBROTHERS_1,
SPRITE_REM,
SPRITE_CARLOV_0,
SPRITE_CARLOV_1,
SPRITE_DRLEFT,
SPRITE_155,
SPRITE_ANJU,
SPRITE_EMMA,
SPRITE_GREGAL,
SPRITE_159,
SPRITE_CASTORWILDSSTATUE_1,
SPRITE_CHUCHU,
SPRITE_SPECIALFX,
SPRITE_SPECIALFX_1,
SPRITE_OBJECT64,
SPRITE_BEETLE,
SPRITE_166,
SPRITE_POT,
SPRITE_DEATHFX_1,
SPRITE_PEAHAT,
SPRITE_RAILTRACK,
SPRITE_ROLLOBITE,
SPRITE_OBJECTD,
SPRITE_OBJECT2A,
SPRITE_OCTOROK,
SPRITE_OBJECT43,
SPRITE_ROCKPROJECTILE,
SPRITE_KEESE,
SPRITE_DOORMIMIC,
SPRITE_DOORMIMIC_1,
SPRITE_ROCKCHUCHU,
SPRITE_SPINYCHUCHU,
SPRITE_OBJECT24,
SPRITE_OBJECT1E,
SPRITE_CHESTSPAWNER,
SPRITE_BIGBARREL,
SPRITE_PUSHABLESTATUE,
SPRITE_MOLDWORM,
SPRITE_SLUGGULA,
SPRITE_SLUGGULA_1,
SPRITE_SLUGGULA_2,
SPRITE_PESTO,
SPRITE_PUFFSTOOL,
SPRITE_PUSHABLEROCK,
SPRITE_BEANSTALK_1,
SPRITE_OBJECTB3,
SPRITE_PULLABLEMUSHROOM,
SPRITE_BOLLARD,
SPRITE_WARPPOINT,
SPRITE_OBJECT29,
SPRITE_CHUCHUBOSS_1,
SPRITE_CHUCHUBOSS_2,
SPRITE_OBJECT9,
SPRITE_BOSSDOOR,
SPRITE_OBJECT45,
SPRITE_LIKELIKE,
SPRITE_SPEARMOBLIN,
SPRITE_BOWMOBLIN,
SPRITE_BUSINESSSCRUB,
SPRITE_RUPEELIKE,
SPRITE_MINISHSIZEDENTRANCE,
SPRITE_PULLABLELEVER,
SPRITE_THOUGHTBUBBLE,
SPRITE_MADDERPILLAR_1,
SPRITE_LAVAPLATFORM,
SPRITE_WATERDROP,
SPRITE_WALLMASTER,
SPRITE_DIRTBALLPROJECTILE,
SPRITE_CRENALBEANSPROUT,
SPRITE_BOMBPEAHAT,
SPRITE_SPARK,
SPRITE_CHASER,
SPRITE_SPIKEDBEETLE,
SPRITE_HELMASAUR,
SPRITE_FALLINGBOULDER,
SPRITE_BOBOMB,
SPRITE_GLEEROK_1,
SPRITE_GREATFAIRY,
SPRITE_TEKTITE,
SPRITE_WIZZROBEWIND,
SPRITE_WIZZROBEFIRE,
SPRITE_WIZZROBEICE,
SPRITE_WINDPROJECTILE,
SPRITE_FIREPROJECTILE,
SPRITE_ICEPROJECTILE,
SPRITE_ARMOS,
SPRITE_LEEVER,
SPRITE_ROPE,
SPRITE_EYEGORE,
SPRITE_PESTO_1,
SPRITE_ACROBANDITS,
SPRITE_CROW,
SPRITE_MULLDOZER,
SPRITE_PUSHABLELEVER,
SPRITE_BIGPUSHABLELEVER,
SPRITE_BOMBAROSSA,
SPRITE_WISP,
SPRITE_SPINYBEETLE,
SPRITE_MAZAALHEAD,
SPRITE_MAZAALBRACELET,
SPRITE_MAZAALENERGYBEAM,
SPRITE_MAZAALENERGYBEAM_1,
SPRITE_MAZAALMACRO,
SPRITE_EYESWITCH,
SPRITE_OCTOROKBOSS_1,
SPRITE_PICOBLOOM,
SPRITE_OBJECT35,
SPRITE_BIGICEBLOCK,
SPRITE_BIGICEBLOCK_1,
SPRITE_SMALLICEBLOCK,
SPRITE_OBJECT86,
SPRITE_EVILSPIRIT,
SPRITE_CLOUDPIRANHA,
SPRITE_FLYINGSKULL,
SPRITE_BONEPROJECTILE,
SPRITE_BAKEROVEN,
SPRITE_OBJECT93_0,
SPRITE_LAKITULIGHTNING,
SPRITE_OBJECT6A_5,
SPRITE_BIRD_1,
SPRITE_BIRD,
SPRITE_TORCHTRAPPROJECTILE_0,
SPRITE_TORCHTRAPPROJECTILE_1,
SPRITE_OBJECT98,
SPRITE_OBJECT93_1,
SPRITE_FIGURINEDEVICE,
SPRITE_PULLABLELEVER_1,
SPRITE_VAATIPROJECTILE,
SPRITE_OBJECT44,
SPRITE_GHINI,
SPRITE_VAATIARM_1,
SPRITE_VAATIWRATH_1,
SPRITE_OBJECTAF,
SPRITE_WRATHEYE,
SPRITE_V3HANDPROJECTILE,
SPRITE_VAATIWRATH_2,
SPRITE_VAATIEYESMACRO,
SPRITE_OBJECTB4,
#if !defined(EU)
SPRITE_OBJECTB4_1,
#endif
SPRITE_FAN,
SPRITE_OBJECTA0,
SPRITE_CANNONBALLPROJECTILE,
SPRITE_V1EYELASER,
SPRITE_V1DARKMAGICPROJECTILE,
SPRITE_SLIME,
SPRITE_CURTAIN,
SPRITE_OBJECT9B,
SPRITE_ENEMY5A,
SPRITE_VAATITRANSFIGURED_4,
SPRITE_VAATITRANSFIGURED_5,
SPRITE_OBJECTA6,
SPRITE_FIREBALLGUY,
SPRITE_SPIKEDROLLERS,
SPRITE_OBJECT6A_6,
SPRITE_MOBLINLADY,
SPRITE_OBJECTAB,
SPRITE_GYORGMALEENERGYPROJECTILE,
SPRITE_CLOTHESRACK,
SPRITE_OBJECT6A_7,
SPRITE_JAILBARS,
SPRITE_OBJECTB2,
SPRITE_ENEMY62,
SPRITE_GYORGFEMALEEYE,
SPRITE_GYORGCHILD,
SPRITE_SMALLTOWNMINISH,
SPRITE_GYORGFEMALEMOUTH,
SPRITE_V2PROJECTILE,
SPRITE_OBJECT6A_8,
SPRITE_PINWHEEL,
SPRITE_SPEARMOBLIN_1,
SPRITE_BOWMOBLIN_1,
SPRITE_ARROWPROJECTILE,
SPRITE_322,
SPRITE_323,
SPRITE_324,
SPRITE_FILESCREENOBJECTS,
SPRITE_OBJECTA2,
SPRITE_OBJECT6A_10,
SPRITE_VAATI_1,
} Sprites;
#endif
+3 -3
View File
@@ -29,7 +29,7 @@ extern void LoadRoomTileEntities(); // tba
extern Entity* CreateDeathFx(Entity*, u32, u32);
extern void UpdateAnimationVariableFrames(Entity*, u32);
extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32);
extern u32 LoadFixedGFX(Entity*, u32);
extern bool32 LoadFixedGFX(Entity*, u32);
extern Entity* CreateItemEntity(u32, u32, u32);
extern u32 ProcessMovement(Entity*);
extern void MenuFadeIn(u32, u32);
@@ -193,7 +193,7 @@ extern void sub_0800417E(Entity*, u32);
extern void sub_080784C8();
extern u32 sub_0808288C(Entity*, u32, u32, u32);
extern void sub_0806FDA0(Entity*);
extern void sub_080AE008(Entity*, u32, u32);
extern bool32 sub_080AE008(Entity*, u8, u32);
extern u32 sub_08016A30(Entity*);
extern void sub_08077728();
extern void sub_0807AEE4();
@@ -302,5 +302,5 @@ extern void sub_0801855C(void);
extern u32 sub_0807CAEC(u32);
extern void sub_0807CAC8(u32);
extern void sub_0805E4E0(Entity*, u32);
extern void sub_0801D040(Entity*, u32);
#endif
+91
View File
@@ -0,0 +1,91 @@
#ifndef HITBOX_H
#define HITBOX_H
extern const Hitbox gHitbox_0;
extern const Hitbox gHitbox_1;
extern const Hitbox gHitbox_2;
extern const Hitbox gHitbox_3;
extern const Hitbox gHitbox_4;
extern const Hitbox gHitbox_5;
extern const Hitbox gHitbox_6;
extern const Hitbox gHitbox_7;
extern const Hitbox gHitbox_8;
extern const Hitbox gHitbox_9;
extern const Hitbox gHitbox_10;
extern const Hitbox gHitbox_11;
extern const Hitbox gHitbox_12;
extern const Hitbox gHitbox_13;
extern const Hitbox gHitbox_14;
extern const Hitbox gHitbox_15;
extern const Hitbox gHitbox_16;
extern const Hitbox gHitbox_17;
extern const Hitbox gHitbox_18;
extern const Hitbox gHitbox_19;
extern const Hitbox gHitbox_20;
extern const Hitbox gHitbox_21;
extern const Hitbox gHitbox_22;
extern const Hitbox gHitbox_23;
extern const Hitbox gHitbox_24;
extern const Hitbox gHitbox_25;
extern const Hitbox gHitbox_26;
extern const Hitbox gHitbox_27;
extern const Hitbox gHitbox_28;
extern const Hitbox gHitbox_29;
extern const Hitbox gHitbox_30;
extern const Hitbox gUnk_080FD1B4;
extern const Hitbox gUnk_080FD330;
extern const Hitbox gUnk_080FD258;
extern const Hitbox gUnk_080FD490;
extern const Hitbox gUnk_080FD488;
extern const Hitbox gUnk_080FD538;
extern const Hitbox gUnk_080FD530;
extern const Hitbox gUnk_080FD544;
extern const Hitbox gUnk_080FD588;
extern const Hitbox gUnk_080FD37C;
extern const Hitbox gUnk_080FD1DC;
extern const Hitbox gUnk_080FD1E4;
extern const Hitbox gUnk_080FD1FC;
extern const Hitbox gUnk_080FD204;
extern const Hitbox gUnk_080FD20C;
extern const Hitbox gUnk_080FD214;
extern const Hitbox gUnk_080FD21C;
extern const Hitbox gUnk_080FD22C;
extern const Hitbox gUnk_080FD238;
extern const Hitbox gUnk_080FD240;
extern const Hitbox gUnk_080FD248;
extern const Hitbox gUnk_080FD1EC;
extern const Hitbox gUnk_080FD290;
extern const Hitbox gUnk_080FD298;
extern const Hitbox gUnk_080FD2A0;
extern const Hitbox gUnk_080FD2D8;
extern const Hitbox gUnk_080FD2E0;
extern const Hitbox gUnk_080FD2D0;
extern const Hitbox gUnk_080FD354;
extern const Hitbox gUnk_080FD38C;
extern const Hitbox gUnk_080FD3CC;
extern const Hitbox gUnk_080FD3DC;
extern const Hitbox gUnk_080FD3E4;
extern const Hitbox gUnk_080FD3EC;
extern const Hitbox gUnk_080FD580;
extern const Hitbox gUnk_080FD35C;
extern const Hitbox gUnk_080FD36C;
extern const Hitbox gUnk_080FD384;
extern const Hitbox gUnk_080FD558;
extern const Hitbox gUnk_080FD4E8;
extern const Hitbox gUnk_080FD4F0;
extern const Hitbox gUnk_080FD4F8;
extern const Hitbox gUnk_080FD500;
extern const Hitbox gUnk_080FD508;
extern const Hitbox gUnk_080FD510;
extern const Hitbox gUnk_080FD518;
extern const Hitbox gUnk_080FD520;
extern const Hitbox gUnk_080FD560;
extern const Hitbox gUnk_080FD4B8;
extern const Hitbox gUnk_080FD4C0;
extern const Hitbox gUnk_080FD4C8;
extern const Hitbox gUnk_080FD4D0;
extern const Hitbox gUnk_080FD4D8;
extern const Hitbox gUnk_080FD4E0;
extern const Hitbox gUnk_080FD3F4;
extern const Hitbox gUnk_080FD3FC;
extern const Hitbox gUnk_080FD43C;
#endif
+383
View File
@@ -0,0 +1,383 @@
#ifndef SPRITEDATA_H
#define SPRITEDATA_H
// Sprite data definition for enemies and projectiles
typedef struct EnemyDefinition {
u16 bitfield;
u16 paletteIndex;
union {
const Hitbox* hitbox;
const struct EnemyDefinition* spriteData;
} ptr;
u16 spriteIndex;
struct {
u8 spritePriority : 3;
u8 unknown : 1;
u8 draw : 2;
u8 shadow : 2;
} PACKED spriteFlags;
u8 health;
s16 speed;
u8 damageType;
u8 flags2;
} EnemyDefinition;
// Sprite data definition for objects and npcs
typedef struct SpriteDataB {
u8 type;
u8 unk;
u16 bitfield;
union {
struct {
u16 paletteIndex;
u16 spriteIndex;
} sprite;
const struct SpriteDataB* spriteData;
} data;
} SpriteDataB;
// Sprite data definition for player items
typedef struct SpriteDataC {
u8 bitfield;
u8 index;
u16 unk;
u8 unk2;
u8 spriteIndex;
u16 gfxLoadBitfield;
} SpriteDataC;
typedef enum {
SPRITE_0,
SPRITE_1,
SPRITE_2,
SPRITE_3,
SPRITE_4,
SPRITE_5,
SPRITE_6,
SPRITE_7,
SPRITE_8,
SPRITE_9,
SPRITE_OBJECT4,
SPRITE_OBJECT6,
SPRITE_12,
SPRITE_13,
SPRITE_14,
SPRITE_15,
SPRITE_16,
SPRITE_17,
SPRITE_18,
SPRITE_19,
SPRITE_20,
SPRITE_21,
SPRITE_22,
SPRITE_ITEMGUSTJAR,
SPRITE_GENTARI,
SPRITE_FESTARI,
SPRITE_MELARI,
SPRITE_MOUNTAINMINISH,
SPRITE_28,
SPRITE_TOWNMINISH,
SPRITE_LIBRARI,
SPRITE_FORESTMINISH,
SPRITE_VAATI,
SPRITE_OBJECT6A_9,
SPRITE_OBJECT6A_0,
SPRITE_OBJECT6A_1,
SPRITE_OBJECT6A_2,
SPRITE_MINISHEZLO,
SPRITE_OBJECT6A_3,
SPRITE_DIN,
SPRITE_NAYRU,
SPRITE_FARORE,
SPRITE_NPC5,
SPRITE_GUARDWITHSPEAR,
SPRITE_KINGDALTUS,
SPRITE_MINISTERPOTHO,
SPRITE_NPC26,
SPRITE_MAID,
SPRITE_TINGLESIBLINGS,
SPRITE_BEEDLE,
SPRITE_BROCCO,
SPRITE_PINA,
SPRITE_POSTMAN,
SPRITE_MALON,
SPRITE_EPONA,
SPRITE_MILKCART,
SPRITE_SMITH,
SPRITE_TOWNSPERSON,
SPRITE_58,
SPRITE_KID,
SPRITE_MAILBOX,
SPRITE_SITTINGPERSON,
SPRITE_MUTOH,
SPRITE_CARPENTER,
SPRITE_GORMAN,
SPRITE_CAT,
SPRITE_CAT_1,
SPRITE_DOG,
SPRITE_DOG_1,
SPRITE_DOG_2,
SPRITE_SYRUP,
SPRITE_PERCY,
SPRITE_FARMERS_0,
SPRITE_FARMERS_1,
SPRITE_DAMPE,
SPRITE_KINGGUSTAF,
SPRITE_GINA,
SPRITE_SIMON,
SPRITE_MAMA,
SPRITE_TEACHERS,
SPRITE_TEACHERS_1,
SPRITE_WINDTRIBESPEOPLE_0,
SPRITE_WINDTRIBESPEOPLE_1,
SPRITE_WINDTRIBESPEOPLE_2,
SPRITE_WINDTRIBESPEOPLE_3,
SPRITE_WINDTRIBESPEOPLE_4,
SPRITE_WINDTRIBESPEOPLE_5,
SPRITE_MAYORHAGEN,
SPRITE_GHOSTBROTHERS,
SPRITE_HURDYGURDYMAN,
SPRITE_COW,
SPRITE_GORONMERCHANT,
SPRITE_GORONMERCHANT_1,
SPRITE_GORON,
SPRITE_CASTORWILDSSTATUE,
SPRITE_NPC4F,
SPRITE_OBJECT6A_4,
SPRITE_97,
SPRITE_DARKNUT_0,
SPRITE_DARKNUT_1,
SPRITE_CHUCHUBOSS_0,
SPRITE_DEATHFX_0,
SPRITE_MADDERPILLAR_0,
SPRITE_GLEEROK_0,
SPRITE_KEATON,
SPRITE_MAZAALHAND,
SPRITE_SCISSORSBEETLE,
SPRITE_MANDIBLESPROJECTILE,
SPRITE_STALFOS,
SPRITE_GIBDO,
SPRITE_LAKITU,
SPRITE_LAKITUCLOUDPROJECTILE,
SPRITE_VAATIREBORNENEMY_0,
SPRITE_VAATIREBORNENEMY_1,
SPRITE_VAATIREBORNENEMY_2,
SPRITE_VAATIREBORNENEMY_3,
SPRITE_VAATIBALL,
SPRITE_VAATITRANSFIGURED_0,
SPRITE_VAATITRANSFIGURED_1,
SPRITE_VAATITRANSFIGURED_2,
SPRITE_VAATITRANSFIGURED_3,
SPRITE_VAATIARM,
SPRITE_VAATIWRATH,
SPRITE_VAATIREBORN,
SPRITE_MOBLINLADY_1,
SPRITE_BALLCHAINSOLDIER,
SPRITE_GYORGMALE,
SPRITE_JARPORTAL,
SPRITE_BEANSTALK_0,
SPRITE_MINECART,
SPRITE_LAVAPLATFORM_1,
SPRITE_WHIRLWIND,
SPRITE_BIGVORTEX,
SPRITE_MACROBOOK,
SPRITE_GENTARICURTAINS,
SPRITE_SPIDERWEB,
SPRITE_OBJECT79,
SPRITE_OCTOROKBOSS_0,
SPRITE_BELL,
SPRITE_TALON,
SPRITE_STURGEON,
SPRITE_LIBRARIANS_0,
SPRITE_LIBRARIANS_1,
SPRITE_STAMP,
SPRITE_MARCY,
SPRITE_STOCKWELL,
SPRITE_WHEATON,
SPRITE_PITA,
SPRITE_CUCCOAGGR,
SPRITE_BLADEBROTHERS_0,
SPRITE_BLADEBROTHERS_1,
SPRITE_REM,
SPRITE_CARLOV_0,
SPRITE_CARLOV_1,
SPRITE_DRLEFT,
SPRITE_155,
SPRITE_ANJU,
SPRITE_EMMA,
SPRITE_GREGAL,
SPRITE_159,
SPRITE_CASTORWILDSSTATUE_1,
SPRITE_CHUCHU,
SPRITE_SPECIALFX,
SPRITE_SPECIALFX_1,
SPRITE_OBJECT64,
SPRITE_BEETLE,
SPRITE_166,
SPRITE_POT,
SPRITE_DEATHFX_1,
SPRITE_PEAHAT,
SPRITE_RAILTRACK,
SPRITE_ROLLOBITE,
SPRITE_OBJECTD,
SPRITE_OBJECT2A,
SPRITE_OCTOROK,
SPRITE_OBJECT43,
SPRITE_ROCKPROJECTILE,
SPRITE_KEESE,
SPRITE_DOORMIMIC,
SPRITE_DOORMIMIC_1,
SPRITE_ROCKCHUCHU,
SPRITE_SPINYCHUCHU,
SPRITE_OBJECT24,
SPRITE_OBJECT1E,
SPRITE_CHESTSPAWNER,
SPRITE_BIGBARREL,
SPRITE_PUSHABLESTATUE,
SPRITE_MOLDWORM,
SPRITE_SLUGGULA,
SPRITE_SLUGGULA_1,
SPRITE_SLUGGULA_2,
SPRITE_PESTO,
SPRITE_PUFFSTOOL,
SPRITE_PUSHABLEROCK,
SPRITE_BEANSTALK_1,
SPRITE_OBJECTB3,
SPRITE_PULLABLEMUSHROOM,
SPRITE_BOLLARD,
SPRITE_WARPPOINT,
SPRITE_OBJECT29,
SPRITE_CHUCHUBOSS_1,
SPRITE_CHUCHUBOSS_2,
SPRITE_OBJECT9,
SPRITE_BOSSDOOR,
SPRITE_OBJECT45,
SPRITE_LIKELIKE,
SPRITE_SPEARMOBLIN,
SPRITE_BOWMOBLIN,
SPRITE_BUSINESSSCRUB,
SPRITE_RUPEELIKE,
SPRITE_MINISHSIZEDENTRANCE,
SPRITE_PULLABLELEVER,
SPRITE_THOUGHTBUBBLE,
SPRITE_MADDERPILLAR_1,
SPRITE_LAVAPLATFORM,
SPRITE_WATERDROP,
SPRITE_WALLMASTER,
SPRITE_DIRTBALLPROJECTILE,
SPRITE_CRENALBEANSPROUT,
SPRITE_BOMBPEAHAT,
SPRITE_SPARK,
SPRITE_CHASER,
SPRITE_SPIKEDBEETLE,
SPRITE_HELMASAUR,
SPRITE_FALLINGBOULDER,
SPRITE_BOBOMB,
SPRITE_GLEEROK_1,
SPRITE_GREATFAIRY,
SPRITE_TEKTITE,
SPRITE_WIZZROBEWIND,
SPRITE_WIZZROBEFIRE,
SPRITE_WIZZROBEICE,
SPRITE_WINDPROJECTILE,
SPRITE_FIREPROJECTILE,
SPRITE_ICEPROJECTILE,
SPRITE_ARMOS,
SPRITE_LEEVER,
SPRITE_ROPE,
SPRITE_EYEGORE,
SPRITE_PESTO_1,
SPRITE_ACROBANDITS,
SPRITE_CROW,
SPRITE_MULLDOZER,
SPRITE_PUSHABLELEVER,
SPRITE_BIGPUSHABLELEVER,
SPRITE_BOMBAROSSA,
SPRITE_WISP,
SPRITE_SPINYBEETLE,
SPRITE_MAZAALHEAD,
SPRITE_MAZAALBRACELET,
SPRITE_MAZAALENERGYBEAM,
SPRITE_MAZAALENERGYBEAM_1,
SPRITE_MAZAALMACRO,
SPRITE_EYESWITCH,
SPRITE_OCTOROKBOSS_1,
SPRITE_PICOBLOOM,
SPRITE_OBJECT35,
SPRITE_BIGICEBLOCK,
SPRITE_BIGICEBLOCK_1,
SPRITE_SMALLICEBLOCK,
SPRITE_OBJECT86,
SPRITE_EVILSPIRIT,
SPRITE_CLOUDPIRANHA,
SPRITE_FLYINGSKULL,
SPRITE_BONEPROJECTILE,
SPRITE_BAKEROVEN,
SPRITE_OBJECT93_0,
SPRITE_LAKITULIGHTNING,
SPRITE_OBJECT6A_5,
SPRITE_BIRD_1,
SPRITE_BIRD,
SPRITE_TORCHTRAPPROJECTILE_0,
SPRITE_TORCHTRAPPROJECTILE_1,
SPRITE_OBJECT98,
SPRITE_OBJECT93_1,
SPRITE_FIGURINEDEVICE,
SPRITE_PULLABLELEVER_1,
SPRITE_VAATIPROJECTILE,
SPRITE_OBJECT44,
SPRITE_GHINI,
SPRITE_VAATIARM_1,
SPRITE_VAATIWRATH_1,
SPRITE_OBJECTAF,
SPRITE_WRATHEYE,
SPRITE_V3HANDPROJECTILE,
SPRITE_VAATIWRATH_2,
SPRITE_VAATIEYESMACRO,
SPRITE_OBJECTB4,
#if !defined(EU)
SPRITE_OBJECTB4_1,
#endif
SPRITE_FAN,
SPRITE_OBJECTA0,
SPRITE_CANNONBALLPROJECTILE,
SPRITE_V1EYELASER,
SPRITE_V1DARKMAGICPROJECTILE,
SPRITE_SLIME,
SPRITE_CURTAIN,
SPRITE_OBJECT9B,
SPRITE_ENEMY5A,
SPRITE_VAATITRANSFIGURED_4,
SPRITE_VAATITRANSFIGURED_5,
SPRITE_OBJECTA6,
SPRITE_FIREBALLGUY,
SPRITE_SPIKEDROLLERS,
SPRITE_OBJECT6A_6,
SPRITE_MOBLINLADY,
SPRITE_OBJECTAB,
SPRITE_GYORGMALEENERGYPROJECTILE,
SPRITE_CLOTHESRACK,
SPRITE_OBJECT6A_7,
SPRITE_JAILBARS,
SPRITE_OBJECTB2,
SPRITE_ENEMY62,
SPRITE_GYORGFEMALEEYE,
SPRITE_GYORGCHILD,
SPRITE_SMALLTOWNMINISH,
SPRITE_GYORGFEMALEMOUTH,
SPRITE_V2PROJECTILE,
SPRITE_OBJECT6A_8,
SPRITE_PINWHEEL,
SPRITE_SPEARMOBLIN_1,
SPRITE_BOWMOBLIN_1,
SPRITE_ARROWPROJECTILE,
SPRITE_322,
SPRITE_323,
SPRITE_324,
SPRITE_FILESCREENOBJECTS,
SPRITE_OBJECTA2,
SPRITE_OBJECT6A_10,
SPRITE_VAATI_1,
} Sprites;
#endif
+11 -3
View File
@@ -329,7 +329,7 @@ SECTIONS {
/* scripts */
data/scripts.o(.text);
asm/code_08016984.o(.text);
asm/sub_08016AE4.o(.text);
asm/projectileUpdate.o(.text);
/* C source compiled with interworking */
@@ -473,6 +473,8 @@ SECTIONS {
/* END enemies */
src/code_08049CD4.o(.text);
asm/code_08049D30.o(.text);
src/enemyInit.o(.text);
asm/code_0804A720.o(.text);
asm/sub_0804AA30.o(.text);
src/createEnemy.o(.text);
src/code_0804AA84.o(.text);
@@ -927,6 +929,7 @@ SECTIONS {
asm/code_080A5574.o(.text);
src/playerItem/playerItemSword.o(.text);
asm/code_080A7C00.o(.text);
src/projectileInit.o(.text);
src/projectile/darkNutSwordSlash.o(.text);
src/projectile/rockProjectile.o(.text);
src/projectile/boneProjectile.o(.text);
@@ -1180,7 +1183,6 @@ SECTIONS {
data/const/enemy/enemy64.o(.rodata);
data/const/enemy/treeItem.o(.rodata);
data/const/enemy/enemy66.o(.rodata);
data/const/code_08049D30.o(.rodata);
src/enemy.o(.rodata);
data/data_080D3D94.o(.rodata);
data/map/entity_headers.o(.rodata);
@@ -1387,6 +1389,7 @@ SECTIONS {
data/const/npc/cuccoChick.o(.rodata);
data/const/npc/phonograph.o(.rodata);
data/const/npc/npc58.o(.rodata);
src/spriteDataNpc.o(.rodata);
data/data_081146D0.o(.rodata);
data/gfx/sprite_frames.o(.rodata);
data/const/playerItem/playerItem12.o(.rodata);
@@ -1651,11 +1654,13 @@ SECTIONS {
data/const/object/pinwheel.o(.rodata);
data/animations/object/pinwheel.o(.rodata);
data/const/object/objectC1.o(.rodata);
src/spriteDataObject.o(.rodata);
src/spriteDataPlayerItem.o(.rodata);
data/data_08125104.o(.rodata);
data/const/playerItem/playerItemShield.o(.rodata);
data/const/playerItem/playerItem15.o(.rodata);
#ifdef DEMO_USA
data/const/demoScreen.o(.rodata);
data/const/demoScreen.o(.rodata);
#endif
data/data_08127280.o(.rodata);
data/gfx/figurines.o(.rodata);
@@ -1725,7 +1730,10 @@ SECTIONS {
src/flagDebug.o(.rodata);
data/const/playerItem/playerItem13.o(.rodata);
src/intro.o(.rodata);
#ifdef DEMO_JP
data/data_081320FC.o(.rodata);
#endif
src/projectile.o(.rodata);
data/const/playerItem/playerItemGustJar.o(.rodata);
data/gfx/fixed_type_gfx.o(.rodata);
data/data_08132B30.o(.rodata);
+6 -6
View File
@@ -46,9 +46,9 @@ extern void sub_0807B0C8(void);
extern void sub_0807A8D8(Entity*);
extern void sub_08077FEC(u32);
extern void ItemInit(Entity*);
extern void sub_080A2838(Entity*);
extern void ObjectInit(Entity*);
extern u32 ReadBit(void*, u32);
extern void sub_0806EC78(Entity*);
extern void NPCInit(Entity*);
typedef struct {
u8 unk0;
@@ -59,7 +59,7 @@ typedef struct {
u8 unk5;
u16 unk6;
} ItemFrame;
extern ItemFrame gUnk_08126DA8[];
extern ItemFrame gPlayerItemDefinitions[];
extern ItemFrame* gUnk_08126ED8[3];
typedef struct {
@@ -301,7 +301,7 @@ void ItemUpdate(Entity* this) {
NONMATCH("asm/non_matching/arm_proxy/ItemInit.inc", void ItemInit(Entity* this)) {
ItemFrame* entry;
entry = &gUnk_08126DA8[this->id];
entry = &gPlayerItemDefinitions[this->id];
if (entry->unk0 == 0xff) {
u32 temp = entry->unk2;
ItemFrame* temp2 = gUnk_08126ED8[entry->unk1];
@@ -334,7 +334,7 @@ void ObjectUpdate(Entity* this) {
int iVar1;
if (((this->flags & 1) == 0) && (this->action == 0))
sub_080A2838(this);
ObjectInit(this);
if (this->iframes != 0)
this->iframes++;
if (!sub_0805E3B0(this)) {
@@ -354,7 +354,7 @@ NONMATCH("asm/non_matching/arm_proxy/NPCUpdate.inc", void NPCUpdate(Entity* this
if ((this->currentHealth & 0x7f) && !ReadBit(&gUnk_020342F8, this->currentHealth - 1))
DeleteThisEntity();
if ((this->action == 0) && ((this->flags & 1) == 0))
sub_0806EC78(this);
NPCInit(this);
if (!sub_0805E3B0(this))
gNPCFunctions[this->id][0](this);
if (this->next != NULL) {
+429
View File
@@ -1,6 +1,435 @@
#include "global.h"
#include "entity.h"
#include "enemy.h"
#include "definitions.h"
#include "hitbox.h"
const EnemyDefinition gEnemyDefinitions[];
const EnemyDefinition gEnemyDefinition_1[];
const EnemyDefinition gEnemyDefinition_2[];
const EnemyDefinition gEnemyDefinition_9[];
const EnemyDefinition gEnemyDefinition_D[];
const EnemyDefinition gEnemyDefinition_D[];
const EnemyDefinition gEnemyDefinition_F[];
const EnemyDefinition gEnemyDefinition_10[];
const EnemyDefinition gEnemyDefinition_11[];
const EnemyDefinition gEnemyDefinition_12[];
const EnemyDefinition gEnemyDefinition_0[];
const EnemyDefinition gEnemyDefinition_13[];
const EnemyDefinition gEnemyDefinition_1B[];
const EnemyDefinition gEnemyDefinition_1B[];
const EnemyDefinition gEnemyDefinition_18[];
const EnemyDefinition gEnemyDefinition_24[];
const EnemyDefinition gEnemyDefinition_26[];
const EnemyDefinition gEnemyDefinition_27[];
const EnemyDefinition gEnemyDefinition_2D[];
const EnemyDefinition gEnemyDefinition_32[];
const EnemyDefinition gEnemyDefinition_34[];
const EnemyDefinition gEnemyDefinition_36[];
const EnemyDefinition gEnemyDefinition_38[];
const EnemyDefinition gEnemyDefinition_37[];
const EnemyDefinition gEnemyDefinition_39[];
const EnemyDefinition gEnemyDefinition_41[];
const EnemyDefinition gEnemyDefinition_44[];
const EnemyDefinition gEnemyDefinition_42[];
const EnemyDefinition gEnemyDefinition_4A[];
const EnemyDefinition gEnemyDefinition_4F[];
const EnemyDefinition gEnemyDefinition_51[];
const EnemyDefinition gEnemyDefinition_52[];
const EnemyDefinition gEnemyDefinition_56[];
const EnemyDefinition gEnemyDefinition_57[];
const EnemyDefinition gEnemyDefinition_7[];
const EnemyDefinition gEnemyDefinition_25[];
const EnemyDefinition gEnemyDefinition_5A[];
const EnemyDefinition gEnemyDefinition_5[];
const EnemyDefinition gEnemyDefinition_30[];
const EnemyDefinition gEnemyDefinition_15[];
const EnemyDefinition gEnemyDefinition_46[];
#define MULTI_FORM(definition_ptr) \
{ 0xffff, 0, { .definition = definition_ptr }, 0, { 0, 0, 0, 0 }, 0, 0, 0, 0 }
const EnemyDefinition gEnemyDefinitions[] = {
MULTI_FORM(gEnemyDefinition_0),
MULTI_FORM(gEnemyDefinition_1),
MULTI_FORM(gEnemyDefinition_2),
{ 5, 32, { &gHitbox_0 }, SPRITE_PEAHAT, { 1, 1, 1, 1 }, 4, 128, 112, 15 },
{ 8, 42, { &gHitbox_5 }, SPRITE_ROLLOBITE, { 1, 1, 1, 1 }, 255, 256, 34, 143 },
MULTI_FORM(gEnemyDefinition_5),
#ifdef EU
{ 259, 5, { &gHitbox_0 }, 344, { 0, 1, 1, 1 }, 255, 0, 64, 139 }, // TODO sprite index too high
#else
{ 259, 5, { &gHitbox_0 }, 345, { 0, 1, 1, 1 }, 255, 0, 64, 139 }, // TODO sprite index too high
#endif
MULTI_FORM(gEnemyDefinition_7),
{ 7, 112, { &gHitbox_8 }, SPRITE_KEESE, { 0, 1, 1, 0 }, 2, 256, 32, 15 },
MULTI_FORM(gEnemyDefinition_9),
{ 16, 30, { &gHitbox_23 }, SPRITE_ROCKCHUCHU, { 1, 1, 1, 0 }, 4, 64, 148, 139 },
{ 17, 35, { &gHitbox_23 }, SPRITE_SPINYCHUCHU, { 1, 1, 1, 0 }, 4, 32, 92, 139 },
#ifdef EU
{ 463, 0, { &gHitbox_27 }, 494, { 1, 1, 1, 0 }, 255, 256, 4, 1 }, // TODO sprite index too high
#else
{ 463, 0, { &gHitbox_27 }, 495, { 1, 1, 1, 0 }, 255, 256, 4, 1 }, // TODO sprite index too high
#endif
MULTI_FORM(gEnemyDefinition_D),
{ 0, 0, { &gHitbox_0 }, SPRITE_0, { 0, 0, 0, 1 }, 255, 256, 0, 139 },
MULTI_FORM(gEnemyDefinition_F),
MULTI_FORM(gEnemyDefinition_10),
MULTI_FORM(gEnemyDefinition_11),
MULTI_FORM(gEnemyDefinition_12),
MULTI_FORM(gEnemyDefinition_13),
{ 69, 111, { &gHitbox_9 }, SPRITE_LIKELIKE, { 1, 1, 1, 1 }, 20, 64, 140, 139 },
MULTI_FORM(gEnemyDefinition_15),
{ 114, 110, { &gHitbox_0 }, SPRITE_BUSINESSSCRUB, { 0, 0, 1, 1 }, 255, 0, 1, 139 },
{ 115, 4, { &gHitbox_10 }, SPRITE_323, { 0, 0, 0, 1 }, 16, 96, 142, 139 },
MULTI_FORM(gEnemyDefinition_18),
{ 134, 1, { &gHitbox_0 }, SPRITE_WATERDROP, { 0, 1, 1, 1 }, 255, 256, 122, 1 },
{ 135, 0, { &gHitbox_11 }, SPRITE_WALLMASTER, { 0, 0, 0, 1 }, 10, 256, 116, 139 },
MULTI_FORM(gEnemyDefinition_1B),
{ 141, 0, { &gHitbox_17 }, SPRITE_SPARK, { 0, 1, 1, 1 }, 255, 256, 72, 139 },
{ 143, 112, { &gHitbox_13 }, SPRITE_CHASER, { 0, 1, 1, 1 }, 255, 256, 89, 139 },
{ 144, 113, { &gHitbox_0 }, SPRITE_SPIKEDBEETLE, { 1, 1, 1, 1 }, 4, 96, 99, 139 },
#ifdef EU
{ 145, 1, { &gHitbox_13 }, 482, { 0, 1, 1, 1 }, 255, 256, 102, 139 }, // TODO sprite index too high
#else
{ 145, 1, { &gHitbox_13 }, 483, { 0, 1, 1, 1 }, 255, 256, 102, 139 }, // TODO sprite index too high
#endif
{ 146, 112, { &gHitbox_14 }, SPRITE_HELMASAUR, { 1, 1, 1, 1 }, 4, 256, 111, 15 },
{ 168, 0, { &gHitbox_0 }, SPRITE_FALLINGBOULDER, { 3, 0, 0, 2 }, 255, 256, 147, 139 },
{ 169, 112, { &gHitbox_0 }, SPRITE_BOBOMB, { 1, 1, 1, 0 }, 255, 128, 128, 15 },
{ 135, 1, { &gHitbox_12 }, SPRITE_WALLMASTER, { 3, 1, 1, 1 }, 10, 96, 116, 139 },
MULTI_FORM(gEnemyDefinition_24),
MULTI_FORM(gEnemyDefinition_25),
MULTI_FORM(gEnemyDefinition_26),
MULTI_FORM(gEnemyDefinition_27),
{ 216, 0, { &gHitbox_0 }, SPRITE_WIZZROBEFIRE, { 0, 0, 0, 1 }, 8, 192, 12, 139 },
{ 217, 113, { &gHitbox_0 }, SPRITE_WIZZROBEICE, { 0, 0, 0, 1 }, 8, 192, 6, 139 },
{ 222, 170, { &gHitbox_15 }, SPRITE_ARMOS, { 1, 1, 1, 1 }, 10, 160, 1, 1 },
{ 225, 178, { &gHitbox_16 }, SPRITE_EYEGORE, { 1, 1, 1, 2 }, 3, 256, 5, 139 },
{ 224, 111, { &gHitbox_24 }, SPRITE_ROPE, { 1, 1, 1, 1 }, 4, 128, 25, 139 },
MULTI_FORM(gEnemyDefinition_2D),
{ 228, 179, { &gHitbox_0 }, SPRITE_ACROBANDITS, { 0, 0, 0, 1 }, 1, 128, 25, 139 },
#ifdef EU
{ 145, 2, { &gHitbox_13 }, 482, { 0, 1, 1, 1 }, 255, 256, 102, 139 }, // TODO sprite index too high
#else
{ 145, 2, { &gHitbox_13 }, 483, { 0, 1, 1, 1 }, 255, 256, 102, 139 }, // TODO sprite index too high
#endif
MULTI_FORM(gEnemyDefinition_30),
{ 236, 1, { &gHitbox_19 }, SPRITE_CROW, { 1, 0, 1, 1 }, 2, 320, 41, 15 },
MULTI_FORM(gEnemyDefinition_32),
{ 253, 112, { &gHitbox_0 }, SPRITE_BOMBAROSSA, { 1, 1, 1, 1 }, 255, 256, 1, 139 },
MULTI_FORM(gEnemyDefinition_34),
{ 255, 112, { &gHitbox_29 }, SPRITE_SPINYBEETLE, { 0, 0, 0, 1 }, 4, 352, 25, 139 },
MULTI_FORM(gEnemyDefinition_36),
MULTI_FORM(gEnemyDefinition_37),
MULTI_FORM(gEnemyDefinition_38),
MULTI_FORM(gEnemyDefinition_39),
{ 33008, 1, { &gHitbox_18 }, SPRITE_POT, { 0, 1, 1, 0 }, 255, 640, 110, 132 },
{ 16416, 1, { &gHitbox_0 }, SPRITE_GIBDO, { 1, 1, 1, 1 }, 20, 96, 38, 139 },
{ 1, 378, { &gHitbox_0 }, SPRITE_OCTOROK, { 3, 1, 1, 1 }, 64, 96, 144, 139 },
{ 199, 378, { &gHitbox_0 }, SPRITE_TEKTITE, { 1, 1, 1, 1 }, 64, 576, 144, 139 },
{ 224, 378, { &gHitbox_0 }, SPRITE_ROPE, { 1, 1, 1, 1 }, 64, 128, 144, 139 },
{ 353, 112, { &gHitbox_0 }, SPRITE_CLOUDPIRANHA, { 0, 0, 1, 1 }, 4, 256, 90, 139 },
{ 16400, 288, { &gHitbox_2 }, SPRITE_SCISSORSBEETLE, { 1, 0, 0, 1 }, 20, 128, 2, 139 },
MULTI_FORM(gEnemyDefinition_41),
MULTI_FORM(gEnemyDefinition_42),
{ 366, 0, { &gHitbox_18 }, SPRITE_FLYINGSKULL, { 0, 1, 1, 0 }, 255, 640, 110, 132 },
MULTI_FORM(gEnemyDefinition_44),
{ 236, 0, { &gHitbox_19 }, SPRITE_CROW, { 1, 0, 1, 1 }, 4, 320, 87, 15 },
MULTI_FORM(gEnemyDefinition_46),
{ 16400, 299, { &gHitbox_0 }, SPRITE_LAKITU, { 0, 1, 0, 1 }, 6, 128, 67, 143 },
{ 16400, 0, { &gHitbox_0 }, SPRITE_LAKITUCLOUDPROJECTILE, { 1, 1, 1, 2 }, 255, 0, 166, 143 },
{ 0, 0, { &gHitbox_0 }, SPRITE_0, { 0, 0, 0, 1 }, 255, 256, 0, 139 },
MULTI_FORM(gEnemyDefinition_4A),
{ 393, 308, { &gHitbox_0 }, SPRITE_VAATIPROJECTILE, { 1, 1, 1, 1 }, 255, 256, 14, 139 },
{ 16400, 112, { &gHitbox_0 }, SPRITE_BALLCHAINSOLDIER, { 1, 0, 0, 1 }, 16, 128, 163, 139 },
{ 16400, 112, { &gHitbox_0 }, SPRITE_BALLCHAINSOLDIER, { 1, 0, 0, 1 }, 16, 128, 163, 139 },
{ 406, 314, { &gHitbox_0 }, SPRITE_GHINI, { 1, 1, 1, 1 }, 9, 256, 36, 143 },
MULTI_FORM(gEnemyDefinition_4F),
{ 406, 314, { &gHitbox_0 }, SPRITE_GHINI, { 1, 0, 0, 1 }, 9, 256, 36, 143 },
MULTI_FORM(gEnemyDefinition_51),
MULTI_FORM(gEnemyDefinition_52),
#ifdef EU
{ 423, 0, { &gHitbox_4 }, 490, { 0, 1, 1, 1 }, 255, 256, 110, 4 }, // TODO sprite index too high
#else
{ 423, 0, { &gHitbox_4 }, 491, { 0, 1, 1, 1 }, 255, 256, 110, 4 }, // TODO sprite index too high
#endif
{ 16400, 313, { &gHitbox_6 }, SPRITE_VAATIBALL, { 0, 0, 0, 0 }, 255, 1280, 43, 139 },
MULTI_FORM(gEnemyDefinition_0),
MULTI_FORM(gEnemyDefinition_56),
MULTI_FORM(gEnemyDefinition_57),
{ 444, 0, { &gHitbox_25 }, SPRITE_FIREBALLGUY, { 1, 1, 1, 1 }, 4, 64, 25, 139 },
{ 444, 0, { &gHitbox_26 }, SPRITE_FIREBALLGUY, { 1, 1, 1, 0 }, 1, 64, 25, 139 },
MULTI_FORM(gEnemyDefinition_5A),
{ 114, 110, { &gHitbox_0 }, SPRITE_BUSINESSSCRUB, { 0, 0, 1, 1 }, 255, 0, 1, 139 },
{ 0, 0, { &gHitbox_0 }, SPRITE_0, { 0, 0, 0, 1 }, 24, 256, 0, 139 },
{ 16448, 338, { &gHitbox_28 }, SPRITE_GYORGMALE, { 0, 0, 1, 1 }, 12, 256, 27, 139 },
{ 485, 352, { &gHitbox_0 }, SPRITE_CURTAIN, { 0, 1, 1, 1 }, 255, 256, 154, 139 },
{ 418, 320, { &gHitbox_20 }, SPRITE_WRATHEYE, { 1, 0, 1, 0 }, 255, 256, 57, 139 },
{ 498, 0, { &gHitbox_20 }, SPRITE_GYORGCHILD, { 0, 0, 1, 1 }, 3, 256, 32, 15 },
#ifdef EU
{ 499, 377, { &gHitbox_22 }, SPRITE_GYORGFEMALEEYE, { 0, 0, 1, 1 }, 255, 256, 30, 139 },
#else
{ 499, 377, { &gHitbox_21 }, SPRITE_GYORGFEMALEEYE, { 0, 0, 1, 1 }, 255, 256, 30, 139 },
#endif
{ 500, 376, { &gHitbox_0 }, SPRITE_ENEMY62, { 0, 0, 1, 1 }, 255, 256, 30, 139 },
{ 504, 372, { &gHitbox_0 }, SPRITE_GYORGFEMALEMOUTH, { 0, 0, 1, 1 }, 255, 256, 136, 139 },
{ 16448, 338, { &gHitbox_28 }, SPRITE_GYORGMALE, { 0, 0, 1, 1 }, 36, 256, 0, 139 },
{ 0, 0, { &gHitbox_0 }, SPRITE_0, { 0, 0, 0, 1 }, 255, 256, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_1[] = {
{ 3, 28, &gHitbox_23, SPRITE_CHUCHU, { 1, 0, 0, 0 }, 4, 32, 92, 15 },
{ 3, 30, &gHitbox_23, SPRITE_CHUCHU, { 1, 0, 0, 0 }, 4, 32, 92, 15 },
{ 3, 31, &gHitbox_23, SPRITE_CHUCHU, { 1, 0, 0, 0 }, 4, 32, 92, 15 },
};
const EnemyDefinition gEnemyDefinition_2[] = {
{ 2, 175, &gHitbox_0, SPRITE_LEEVER, { 3, 0, 0, 1 }, 6, 128, 25, 139 },
{ 2, 176, &gHitbox_0, SPRITE_LEEVER, { 3, 0, 0, 1 }, 8, 128, 25, 139 },
};
const EnemyDefinition gEnemyDefinition_9[] = {
{ 14, 0, &gHitbox_0, SPRITE_DOORMIMIC, { 0, 1, 1, 1 }, 255, 0, 103, 139 },
{ 15, 0, &gHitbox_0, SPRITE_DOORMIMIC_1, { 0, 1, 1, 1 }, 255, 0, 103, 139 },
{ 14, 0, &gHitbox_0, SPRITE_DOORMIMIC, { 0, 1, 1, 1 }, 255, 0, 103, 139 },
{ 15, 0, &gHitbox_0, SPRITE_DOORMIMIC_1, { 0, 1, 1, 1 }, 255, 0, 103, 139 },
{ 516, 1, &gHitbox_0, SPRITE_DOORMIMIC, { 0, 1, 1, 1 }, 255, 0, 103, 139 },
{ 517, 1, &gHitbox_0, SPRITE_DOORMIMIC_1, { 0, 1, 1, 1 }, 255, 0, 103, 139 },
{ 516, 1, &gHitbox_0, SPRITE_DOORMIMIC, { 0, 1, 1, 1 }, 255, 0, 103, 139 },
{ 517, 1, &gHitbox_0, SPRITE_DOORMIMIC_1, { 0, 1, 1, 1 }, 255, 0, 103, 139 },
};
#ifdef EU
const EnemyDefinition gEnemyDefinition_D[] = {
{ 26, 42, &gUnk_080FD1DC, 483, { 0, 0, 1, 1 }, 10, 384, 93, 139 },
{ 26, 42, &gUnk_080FD1E4, 483, { 0, 1, 1, 1 }, 255, 0, 94, 3 },
{ 26, 42, &gUnk_080FD1E4, 483, { 0, 1, 1, 1 }, 255, 0, 94, 3 },
{ 26, 42, &gUnk_080FD1EC, 483, { 0, 0, 1, 0 }, 255, 0, 0, 0 },
}; // TODO sprite index too high
#else
const EnemyDefinition gEnemyDefinition_D[] = {
{ 26, 42, &gUnk_080FD1DC, 484, { 0, 0, 1, 1 }, 10, 384, 93, 139 },
{ 26, 42, &gUnk_080FD1E4, 484, { 0, 1, 1, 1 }, 255, 0, 94, 3 },
{ 26, 42, &gUnk_080FD1E4, 484, { 0, 1, 1, 1 }, 255, 0, 94, 3 },
{ 26, 42, &gUnk_080FD1EC, 484, { 0, 0, 1, 0 }, 255, 0, 0, 0 },
}; // TODO sprite index too high
#endif
const EnemyDefinition gEnemyDefinition_F[] = {
{ 31, 34, &gUnk_080FD1FC, SPRITE_MOLDWORM, { 0, 0, 0, 1 }, 20, 128, 133, 139 },
{ 31, 34, &gUnk_080FD204, SPRITE_MOLDWORM, { 0, 0, 0, 0 }, 255, 0, 134, 139 },
{ 31, 34, &gUnk_080FD20C, SPRITE_MOLDWORM, { 0, 0, 0, 0 }, 255, 0, 134, 139 },
{ 31, 34, &gUnk_080FD20C, SPRITE_MOLDWORM, { 0, 0, 0, 0 }, 255, 0, 134, 139 },
{ 31, 34, &gUnk_080FD20C, SPRITE_MOLDWORM, { 0, 0, 0, 0 }, 255, 0, 134, 139 },
{ 31, 34, &gUnk_080FD20C, SPRITE_MOLDWORM, { 0, 0, 0, 0 }, 255, 0, 134, 139 },
{ 31, 34, &gUnk_080FD20C, SPRITE_MOLDWORM, { 0, 0, 0, 0 }, 255, 0, 134, 139 },
{ 31, 34, &gUnk_080FD20C, SPRITE_MOLDWORM, { 0, 0, 0, 0 }, 255, 0, 134, 139 },
{ 31, 34, &gUnk_080FD214, SPRITE_MOLDWORM, { 0, 0, 0, 0 }, 255, 0, 134, 139 },
};
const EnemyDefinition gEnemyDefinition_10[] = {
{ 33, 36, &gUnk_080FD21C, SPRITE_SLUGGULA_1, { 3, 1, 0, 1 }, 1, 0, 105, 139 },
{ 32, 36, &gUnk_080FD21C, SPRITE_SLUGGULA, { 0, 1, 1, 1 }, 3, 32, 105, 139 },
{ 32, 0, &gUnk_080FD21C, SPRITE_SLUGGULA_2, { 0, 0, 1, 0 }, 3, 0, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_11[] = {
{ 34, 38, &gUnk_080FD22C, SPRITE_PESTO, { 3, 1, 1, 1 }, 4, 64, 119, 15 },
{ 34, 39, &gUnk_080FD22C, SPRITE_PESTO, { 3, 1, 1, 1 }, 4, 64, 119, 15 },
{ 34, 37, &gUnk_080FD22C, SPRITE_PESTO, { 3, 1, 1, 1 }, 4, 64, 119, 15 },
};
const EnemyDefinition gEnemyDefinition_12[] = {
{ 35, 40, &gHitbox_0, SPRITE_PUFFSTOOL, { 1, 1, 1, 0 }, 1, 64, 130, 15 },
{ 35, 40, &gHitbox_0, SPRITE_PUFFSTOOL, { 1, 1, 1, 0 }, 1, 64, 130, 15 },
};
const EnemyDefinition gEnemyDefinition_0[] = {
{ 1, 0, &gHitbox_0, SPRITE_OCTOROK, { 3, 1, 1, 1 }, 2, 96, 25, 15 },
{ 1, 1, &gHitbox_0, SPRITE_OCTOROK, { 3, 1, 1, 1 }, 3, 96, 25, 15 },
{ 1, 0, &gHitbox_0, SPRITE_OCTOROK, { 3, 1, 1, 1 }, 2, 96, 25, 15 },
};
const EnemyDefinition gEnemyDefinition_13[] = {
{ 62, 43, &gUnk_080FD238, SPRITE_CHUCHUBOSS_1, { 0, 1, 0, 3 }, 255, 80, 125, 15 },
{ 16480, 43, &gUnk_080FD240, SPRITE_CHUCHUBOSS_0, { 0, 0, 0, 0 }, 255, 0, 123, 15 },
{ 62, 43, &gUnk_080FD248, SPRITE_CHUCHUBOSS_1, { 0, 0, 0, 0 }, 255, 0, 122, 0 },
{ 62, 43, &gHitbox_0, SPRITE_CHUCHUBOSS_1, { 0, 0, 0, 0 }, 255, 0, 122, 0 },
{ 62, 44, &gUnk_080FD238, SPRITE_CHUCHUBOSS_1, { 0, 1, 0, 3 }, 255, 80, 125, 15 },
{ 16480, 44, &gUnk_080FD240, SPRITE_CHUCHUBOSS_0, { 0, 0, 0, 0 }, 255, 0, 123, 15 },
{ 62, 44, &gUnk_080FD248, SPRITE_CHUCHUBOSS_1, { 0, 0, 0, 0 }, 255, 0, 122, 0 },
{ 62, 44, &gHitbox_0, SPRITE_CHUCHUBOSS_1, { 0, 0, 0, 0 }, 255, 0, 122, 0 },
{ 62, 44, &gHitbox_0, SPRITE_CHUCHUBOSS_1, { 0, 0, 0, 0 }, 255, 0, 124, 139 },
};
#ifdef EU
const EnemyDefinition gEnemyDefinition_1B[] = {
{ 140, 125, &gHitbox_0, SPRITE_BOMBPEAHAT, { 0, 1, 0, 1 }, 4, 192, 127, 15 },
{ 140, 125, &gHitbox_0, SPRITE_BOMBPEAHAT, { 0, 1, 0, 1 }, 4, 192, 127, 15 },
{ 140, 1, &gHitbox_0, SPRITE_BOMBPEAHAT, { 0, 0, 0, 1 }, 1, 0, 169, 139 },
{ 169, 112, &gUnk_080FD21C, SPRITE_BOBOMB, { 0, 1, 0, 1 }, 255, 128, 128, 15 },
};
#else
const EnemyDefinition gEnemyDefinition_1B[] = {
{ 140, 125, &gHitbox_0, SPRITE_BOMBPEAHAT, { 1, 1, 0, 1 }, 4, 192, 127, 15 },
{ 140, 125, &gHitbox_0, SPRITE_BOMBPEAHAT, { 1, 1, 0, 1 }, 4, 192, 127, 15 },
{ 140, 1, &gHitbox_0, SPRITE_BOMBPEAHAT, { 0, 0, 0, 1 }, 1, 0, 169, 139 },
{ 169, 112, &gUnk_080FD21C, SPRITE_BOBOMB, { 0, 1, 0, 1 }, 255, 128, 128, 15 },
};
#endif
const EnemyDefinition gEnemyDefinition_18[] = {
{ 16400, 119, &gUnk_080FD290, SPRITE_MADDERPILLAR_0, { 0, 0, 1, 1 }, 255, 224, 106, 139 },
{ 123, 119, &gUnk_080FD298, SPRITE_MADDERPILLAR_1, { 0, 1, 1, 1 }, 255, 224, 106, 139 },
{ 123, 119, &gUnk_080FD298, SPRITE_MADDERPILLAR_1, { 0, 1, 1, 1 }, 255, 224, 106, 139 },
{ 123, 119, &gUnk_080FD298, SPRITE_MADDERPILLAR_1, { 0, 1, 1, 1 }, 255, 224, 106, 139 },
{ 123, 119, &gUnk_080FD2A0, SPRITE_MADDERPILLAR_1, { 0, 1, 1, 1 }, 255, 224, 106, 139 },
{ 123, 119, &gUnk_080FD2A0, SPRITE_MADDERPILLAR_1, { 0, 1, 1, 1 }, 255, 224, 106, 139 },
{ 123, 119, &gUnk_080FD2A0, SPRITE_MADDERPILLAR_1, { 0, 1, 1, 1 }, 32, 224, 106, 139 },
};
const EnemyDefinition gEnemyDefinition_24[] = {
{ 173, 201, &gUnk_080FD2D8, SPRITE_GLEEROK_1, { 0, 1, 0, 1 }, 255, 256, 63, 139 },
{ 173, 201, &gUnk_080FD2E0, SPRITE_GLEEROK_1, { 0, 0, 0, 1 }, 255, 256, 1, 139 },
{ 16416, 201, &gUnk_080FD2D0, SPRITE_GLEEROK_0, { 0, 0, 0, 1 }, 255, 256, 0, 139 },
{ 173, 204, &gUnk_080FD2D0, SPRITE_GLEEROK_1, { 0, 1, 1, 1 }, 255, 256, 122, 139 },
{ 16416, 203, &gUnk_080FD2D0, SPRITE_GLEEROK_0, { 0, 0, 1, 1 }, 255, 256, 0, 139 },
{ 16416, 204, &gUnk_080FD2D0, SPRITE_GLEEROK_0, { 0, 0, 1, 1 }, 255, 256, 0, 139 },
{ 173, 204, &gUnk_080FD2D0, SPRITE_GLEEROK_1, { 0, 0, 1, 1 }, 255, 256, 0, 139 },
{ 173, 204, &gUnk_080FD2D0, SPRITE_GLEEROK_1, { 0, 0, 0, 1 }, 255, 256, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_26[] = {
{ 199, 112, &gHitbox_0, SPRITE_TEKTITE, { 1, 1, 1, 1 }, 3, 256, 25, 139 },
{ 199, 113, &gHitbox_0, SPRITE_TEKTITE, { 1, 1, 1, 1 }, 6, 320, 25, 139 },
};
const EnemyDefinition gEnemyDefinition_27[] = {
{ 215, 111, &gHitbox_0, SPRITE_WIZZROBEWIND, { 0, 0, 0, 1 }, 8, 192, 12, 139 },
{ 215, 112, &gHitbox_0, SPRITE_WIZZROBEWIND, { 0, 0, 0, 1 }, 8, 192, 12, 139 },
{ 215, 113, &gHitbox_0, SPRITE_WIZZROBEWIND, { 0, 0, 0, 1 }, 8, 192, 12, 139 },
};
const EnemyDefinition gEnemyDefinition_2D[] = {
{ 227, 38, &gHitbox_0, SPRITE_PESTO_1, { 3, 1, 1, 0 }, 1, 64, 132, 15 },
{ 227, 39, &gHitbox_0, SPRITE_PESTO_1, { 3, 1, 1, 0 }, 1, 64, 132, 15 },
{ 227, 37, &gHitbox_0, SPRITE_PESTO_1, { 3, 1, 1, 0 }, 1, 64, 132, 15 },
};
const EnemyDefinition gEnemyDefinition_32[] = {
{ 237, 200, &gHitbox_0, SPRITE_MULLDOZER, { 1, 1, 1, 1 }, 6, 96, 156, 139 },
{ 237, 199, &gHitbox_0, SPRITE_MULLDOZER, { 1, 1, 1, 1 }, 8, 96, 155, 139 },
};
const EnemyDefinition gEnemyDefinition_34[] = {
{ 254, 0, &gHitbox_1, SPRITE_WISP, { 1, 1, 1, 1 }, 255, 128, 9, 15 },
{ 254, 1, &gHitbox_1, SPRITE_WISP, { 1, 1, 1, 1 }, 255, 384, 9, 15 },
};
const EnemyDefinition gEnemyDefinition_36[] = {
{ 256, 229, &gUnk_080FD354, SPRITE_MAZAALHEAD, { 0, 1, 0, 1 }, 255, 256, 18, 138 },
{ 256, 230, &gHitbox_0, SPRITE_MAZAALHEAD, { 0, 1, 1, 1 }, 255, 256, 0, 138 },
{ 256, 219, &gHitbox_0, SPRITE_MAZAALHEAD, { 0, 1, 1, 1 }, 255, 256, 0, 139 },
{ 256, 220, &gHitbox_0, SPRITE_MAZAALHEAD, { 0, 1, 1, 1 }, 255, 256, 0, 139 },
{ 256, 218, &gUnk_080FD38C, SPRITE_MAZAALHEAD, { 0, 1, 1, 1 }, 255, 256, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_38[] = {
{ 16432, 0, &gHitbox_0, SPRITE_MAZAALHAND, { 0, 1, 0, 1 }, 255, 256, 19, 139 },
{ 16432, 0, &gHitbox_0, SPRITE_MAZAALHAND, { 0, 1, 0, 1 }, 255, 256, 19, 139 },
};
const EnemyDefinition gEnemyDefinition_37[] = {
{ 257, 309, &gHitbox_0, SPRITE_MAZAALMACRO, { 0, 1, 1, 1 }, 255, 256, 15, 138 },
{ 257, 309, &gHitbox_0, SPRITE_MAZAALMACRO, { 0, 0, 1, 1 }, 255, 256, 15, 139 },
{ 257, 309, &gHitbox_0, SPRITE_MAZAALMACRO, { 0, 0, 1, 1 }, 255, 256, 15, 139 },
};
const EnemyDefinition gEnemyDefinition_39[] = {
{ 264, 239, &gUnk_080FD3CC, SPRITE_OCTOROKBOSS_1, { 0, 1, 1, 1 }, 3, 0, 95, 139 },
{ 266, 239, &gUnk_080FD3DC, SPRITE_OCTOROKBOSS_1, { 0, 1, 1, 0 }, 3, 0, 96, 139 },
{ 266, 239, &gUnk_080FD3DC, SPRITE_OCTOROKBOSS_1, { 0, 1, 1, 0 }, 3, 0, 96, 139 },
{ 266, 239, &gUnk_080FD3DC, SPRITE_OCTOROKBOSS_1, { 0, 1, 1, 0 }, 3, 0, 96, 139 },
{ 266, 239, &gUnk_080FD3DC, SPRITE_OCTOROKBOSS_1, { 0, 1, 1, 0 }, 3, 0, 96, 139 },
{ 267, 239, &gUnk_080FD3E4, SPRITE_OCTOROKBOSS_1, { 0, 1, 1, 0 }, 3, 0, 124, 139 },
{ 16400, 244, &gUnk_080FD3EC, SPRITE_OCTOROKBOSS_0, { 0, 1, 1, 0 }, 3, 0, 1, 138 },
{ 269, 239, &gUnk_080FD3EC, SPRITE_OCTOROKBOSS_1, { 0, 0, 1, 0 }, 3, 0, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_41[] = {
{ 67, 0, &gUnk_080FD580, SPRITE_CUCCOAGGR, { 1, 1, 1, 0 }, 255, 128, 25, 138 },
{ 462, 4, &gUnk_080FD580, SPRITE_CUCCOAGGR, { 1, 1, 1, 0 }, 255, 128, 25, 138 },
{ 67, 0, &gUnk_080FD580, SPRITE_CUCCOAGGR, { 1, 1, 1, 0 }, 255, 640, 167, 1 },
};
const EnemyDefinition gEnemyDefinition_44[] = {
{ 256, 218, &gUnk_080FD35C, SPRITE_MAZAALBRACELET, { 0, 0, 0, 1 }, 255, 256, 23, 139 },
{ 256, 218, &gUnk_080FD36C, SPRITE_MAZAALBRACELET, { 0, 0, 0, 1 }, 255, 256, 23, 139 },
{ 256, 219, &gUnk_080FD37C, SPRITE_MAZAALBRACELET, { 0, 1, 0, 1 }, 255, 256, 0, 139 },
{ 256, 220, &gUnk_080FD384, SPRITE_MAZAALBRACELET, { 0, 1, 0, 1 }, 255, 256, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_42[] = {
{ 16416, 1, &gHitbox_0, SPRITE_STALFOS, { 1, 1, 1, 1 }, 4, 224, 68, 143 },
{ 16416, 0, &gHitbox_0, SPRITE_STALFOS, { 1, 1, 1, 1 }, 4, 224, 68, 143 },
};
const EnemyDefinition gEnemyDefinition_4A[] = {
{ 16416, 312, &gHitbox_0, SPRITE_VAATIREBORNENEMY_0, { 1, 0, 0, 1 }, 64, 160, 138, 139 },
{ 16400, 312, &gUnk_080FD588, SPRITE_VAATIREBORNENEMY_1, { 0, 1, 1, 0 }, 255, 640, 47, 139 },
{ 16400, 312, &gHitbox_0, SPRITE_VAATIREBORNENEMY_2, { 0, 0, 1, 0 }, 255, 640, 0, 139 },
{ 16400, 312, &gHitbox_0, SPRITE_VAATIREBORNENEMY_3, { 0, 0, 1, 0 }, 255, 640, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_4F[] = {
{ 16416, 319, &gUnk_080FD530, SPRITE_VAATITRANSFIGURED_0, { 1, 1, 0, 2 }, 255, 256, 53, 139 },
{ 16480, 319, &gHitbox_7, SPRITE_VAATITRANSFIGURED_1, { 0, 0, 1, 0 }, 255, 640, 0, 139 },
{ 16400, 319, &gHitbox_7, SPRITE_VAATITRANSFIGURED_2, { 0, 0, 1, 0 }, 255, 640, 0, 139 },
{ 16400, 319, &gHitbox_7, SPRITE_VAATITRANSFIGURED_3, { 0, 0, 1, 0 }, 255, 640, 0, 139 },
{ 409, 0, &gHitbox_7, SPRITE_VAATITRANSFIGURED_4, { 0, 0, 1, 0 }, 255, 640, 0, 139 },
{ 410, 316, &gHitbox_7, SPRITE_VAATITRANSFIGURED_5, { 0, 0, 1, 0 }, 255, 640, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_51[] = {
{ 16448, 320, &gUnk_080FD544, SPRITE_VAATIWRATH, { 1, 1, 0, 2 }, 255, 256, 57, 139 },
{ 420, 320, &gHitbox_0, SPRITE_VAATIWRATH_1, { 0, 0, 1, 2 }, 255, 256, 1, 139 },
{ 420, 320, &gHitbox_0, SPRITE_VAATIWRATH_1, { 0, 0, 1, 1 }, 255, 256, 0, 139 },
{ 417, 320, &gHitbox_0, SPRITE_VAATIWRATH_2, { 0, 0, 1, 1 }, 255, 256, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_52[] = {
{ 16400, 320, &gUnk_080FD538, SPRITE_VAATIARM, { 1, 0, 1, 1 }, 255, 256, 57, 139 },
{ 419, 320, &gUnk_080FD538, SPRITE_VAATIARM_1, { 0, 0, 1, 1 }, 255, 256, 57, 139 },
{ 419, 320, &gUnk_080FD538, SPRITE_VAATIARM_1, { 1, 0, 1, 1 }, 255, 256, 57, 139 },
{ 419, 320, &gUnk_080FD538, SPRITE_VAATIARM_1, { 1, 0, 1, 1 }, 255, 256, 57, 139 },
{ 419, 320, &gUnk_080FD538, SPRITE_VAATIARM_1, { 1, 0, 1, 1 }, 255, 256, 57, 139 },
};
const EnemyDefinition gEnemyDefinition_56[] = {
{ 422, 113, &gUnk_080FD488, SPRITE_SLIME, { 3, 1, 1, 1 }, 2, 64, 25, 139 },
{ 422, 111, &gUnk_080FD488, SPRITE_SLIME, { 3, 1, 1, 1 }, 4, 64, 25, 139 },
{ 422, 112, &gUnk_080FD488, SPRITE_SLIME, { 3, 1, 1, 1 }, 4, 64, 25, 139 },
};
const EnemyDefinition gEnemyDefinition_57[] = {
{ 422, 113, &gUnk_080FD490, SPRITE_SLIME, { 3, 1, 1, 0 }, 1, 128, 25, 139 },
{ 422, 111, &gUnk_080FD490, SPRITE_SLIME, { 3, 1, 1, 0 }, 1, 128, 25, 139 },
{ 422, 112, &gUnk_080FD490, SPRITE_SLIME, { 3, 1, 1, 0 }, 1, 128, 25, 139 },
};
const EnemyDefinition gEnemyDefinition_7[] = {
{ 11, 0, &gHitbox_6, SPRITE_BEETLE, { 3, 0, 0, 0 }, 1, 256, 75, 15 },
{ 478, 0, &gHitbox_6, SPRITE_BEETLE, { 3, 0, 0, 0 }, 1, 128, 75, 15 },
};
const EnemyDefinition gEnemyDefinition_25[] = {
{ 421, 320, &gHitbox_0, SPRITE_VAATIEYESMACRO, { 1, 1, 1, 1 }, 32, 256, 25, 139 },
{ 421, 320, &gHitbox_0, SPRITE_VAATIEYESMACRO, { 0, 1, 1, 1 }, 255, 256, 25, 139 },
{ 421, 320, &gHitbox_0, SPRITE_VAATIEYESMACRO, { 0, 0, 1, 1 }, 255, 256, 0, 139 },
{ 421, 320, &gHitbox_0, SPRITE_VAATIEYESMACRO, { 0, 0, 1, 1 }, 255, 256, 0, 139 },
};
const EnemyDefinition gEnemyDefinition_5A[] = {
{ 408, 315, &gHitbox_1, SPRITE_ENEMY5A, { 0, 0, 1, 0 }, 255, 1280, 0, 139 },
{ 408, 319, &gHitbox_1, SPRITE_ENEMY5A, { 0, 0, 1, 0 }, 255, 1280, 51, 139 },
};
const EnemyDefinition gEnemyDefinition_5[] = {
{ 16416, 33, &gUnk_080FD1B4, SPRITE_DARKNUT_0, { 1, 1, 1, 2 }, 12, 96, 86, 139 },
{ 16416, 373, &gUnk_080FD1B4, SPRITE_DARKNUT_0, { 1, 1, 1, 2 }, 12, 96, 86, 139 },
{ 16416, 374, &gUnk_080FD1B4, SPRITE_DARKNUT_0, { 1, 1, 1, 2 }, 20, 96, 86, 139 },
{ 16416, 375, &gUnk_080FD1B4, SPRITE_DARKNUT_0, { 1, 1, 1, 2 }, 26, 96, 86, 139 },
};
const EnemyDefinition gEnemyDefinition_30[] = {
{ 16400, 198, &gUnk_080FD330, SPRITE_KEATON, { 1, 1, 1, 1 }, 4, 256, 33, 139 },
{ 16400, 383, &gUnk_080FD330, SPRITE_KEATON, { 1, 1, 1, 1 }, 4, 256, 33, 139 },
};
const EnemyDefinition gEnemyDefinition_15[] = {
{ 71, 111, &gUnk_080FD258, SPRITE_SPEARMOBLIN, { 1, 1, 1, 2 }, 8, 256, 138, 139 },
{ 71, 384, &gUnk_080FD258, SPRITE_SPEARMOBLIN_1, { 1, 1, 1, 2 }, 8, 256, 138, 139 },
};
const EnemyDefinition gEnemyDefinition_46[] = {
{ 72, 111, &gUnk_080FD258, SPRITE_BOWMOBLIN, { 1, 1, 1, 2 }, 8, 256, 138, 139 },
{ 72, 384, &gUnk_080FD258, SPRITE_BOWMOBLIN_1, { 1, 1, 1, 2 }, 8, 256, 138, 139 },
};
extern void sub_08049E18();
extern void sub_08049E4C();
extern void sub_08049E80();
extern void sub_08049EB0();
void (*const gUnk_080D3BE8[])() = {
sub_08049E18,
sub_08049E4C,
sub_08049E80,
sub_08049EB0,
}; // TODO correct signature
// clang-format off
void (*const gEnemyFunctions[])(Entity* ent) = {
+5 -5
View File
@@ -17,8 +17,8 @@ extern void (*const gUnk_080CBA40[])(Entity*);
extern const u8 gUnk_080CBA60[];
extern Hitbox gUnk_080FD468;
extern Hitbox gUnk_080FD470;
extern Hitbox gHitbox_23;
extern Hitbox gHitbox_32;
extern Entity* gUnk_020000B0;
@@ -40,7 +40,7 @@ void sub_0802244C(Entity* this) {
this->action = 2;
this->field_0xf = 0x3c;
this->damageType = 0x5c;
this->hitbox = &gUnk_080FD468;
this->hitbox = &gHitbox_23;
InitializeAnimation(this, 0);
break;
case 8:
@@ -189,9 +189,9 @@ void sub_08022780(Entity* this) {
void sub_080227AC(Entity* this) {
GetNextFrame(this);
if (this->frames.all & 1) {
this->hitbox = &gUnk_080FD470;
this->hitbox = &gHitbox_32;
} else {
this->hitbox = &gUnk_080FD468;
this->hitbox = &gHitbox_23;
}
if (this->frames.all & 2) {
+87
View File
@@ -0,0 +1,87 @@
#include "entity.h"
#include "definitions.h"
#include "functions.h"
extern EnemyDefinition gEnemyDefinitions[];
const EnemyDefinition* GetEnemyDefinition(Entity* entity);
bool32 LoadEnemySprite(Entity* entity, const EnemyDefinition* definition);
extern const u16 gUnk_080D3E74[];
const EnemyDefinition* GetEnemyDefinition(Entity* entity) {
const EnemyDefinition* definition = &gEnemyDefinitions[entity->id];
if (definition->gfx == 0xffff) {
definition = &definition->ptr.definition[entity->type];
}
return definition;
}
bool32 EnemyInit(Entity* this) {
if ((this->flags & 1) == 0) {
const EnemyDefinition* definition = GetEnemyDefinition(this);
if (LoadEnemySprite(this, definition) == FALSE) {
return FALSE;
}
this->flags |= 1;
if (definition->spriteFlags.unknown != 0) {
this->flags |= 0x80;
}
this->spriteIndex = definition->spriteIndex;
if (this->spriteSettings.b.draw == 0) {
this->spriteSettings.b.draw = definition->spriteFlags.draw;
}
this->spritePriority.b1 = definition->spriteFlags.spritePriority;
this->spriteSettings.b.shadow = definition->spriteFlags.shadow;
if (this->speed == 0) {
this->speed = definition->speed;
}
this->flags2 = definition->flags2;
this->damageType = definition->damageType;
this->hitbox = (Hitbox*)definition->ptr.hitbox;
this->currentHealth = definition->health;
if (this->field_0x40 == 0) {
this->field_0x40 = 0x41;
}
UpdateSpriteForCollisionLayer(this);
if ((this->field_0x6c.HALF.HI & 0x20) != 0) {
u32 uVar4 = gUnk_080D3E74[this->id >> 3] >> ((this->id & 7) << 1) & 3;
if (uVar4 != 0) {
Entity* object = CreateObject(0xa9, uVar4 - 1, 0);
if (object != NULL) {
object->actionDelay = this->flags;
object->field_0xf = this->spriteSettings.b.draw;
object->spritePriority.b0 = 3;
object->parent = this;
CopyPosition(this, object);
this->flags &= 0x7f;
this->spriteSettings.b.draw = 0;
this->field_0x6c.HALF.HI |= 0x10;
}
}
}
}
return TRUE;
}
bool32 LoadEnemySprite(Entity* entity, const EnemyDefinition* definition) {
bool32 result;
if (definition->gfx != 0) {
if ((definition->gfx & 0x8000) != 0) {
// Common gfx: Reuse sprite that is already in vram? (bitfield 0x8000)
entity->spriteVramOffset = definition->gfx & 0x3ff;
} else {
if ((definition->gfx & 0x4000) != 0) {
// Swap gfx (bitfield 0x4000)
result = sub_080AE008(entity, definition->gfx >> 4, 0);
} else {
// Fixed gfx
result = LoadFixedGFX(entity, definition->gfx);
}
if (result == FALSE) {
return FALSE;
}
}
}
sub_0801D040(entity, definition->paletteIndex);
return TRUE;
}
+2 -2
View File
@@ -30,7 +30,7 @@ extern u32 gUnk_0200B650;
void sub_0806D110(void);
void sub_0806D164(Entity* this);
extern Hitbox gUnk_080FD180;
extern Hitbox gHitbox_3;
Entity* sub_0806D00C(Entity* this);
void sub_0806D4C0(Entity*, u32);
@@ -238,7 +238,7 @@ void sub_0806D3C0(Entity* this) {
DeleteThisEntity();
}
this->action = 1;
this->hitbox = &gUnk_080FD180;
this->hitbox = &gHitbox_3;
sub_0805E3A0(this, 2);
sub_0807DD64(this);
} else {
+2 -2
View File
@@ -8,7 +8,7 @@
#include "flags.h"
#include "object.h"
extern Hitbox gUnk_080FD170;
extern Hitbox gHitbox_2;
typedef struct {
u32 unk_00;
s8 unk_04;
@@ -35,7 +35,7 @@ void NPC4E(Entity* this) {
if (this->action == 0) {
this->action = 1;
this->spriteSettings.b.draw = 4;
this->hitbox = &gUnk_080FD170;
this->hitbox = &gHitbox_2;
sub_0807DD50(this);
} else {
sub_0807DD94(this, 0);
+2 -2
View File
@@ -25,7 +25,7 @@ typedef struct {
u16 unk_8; // u16
} UnkHeap;
extern Hitbox gUnk_080FD150;
extern Hitbox gHitbox_0;
void sub_08060E70(Entity*, u32);
@@ -140,7 +140,7 @@ void sub_08060AE0(Entity* this) {
this->field_0x40 = 0x48;
this->damageType = 0x49;
this->flags2 = 3;
this->hitbox = &gUnk_080FD150;
this->hitbox = &gHitbox_0;
this->field_0x17 &= 0xfe;
this->field_0x6c.HALF.LO = 0xff;
sub_08060E70(this, this->animationState);
+2 -2
View File
@@ -13,7 +13,7 @@ extern void (*const gUnk_081142BC[])(Entity*);
extern void sub_08078828(Entity*);
extern Hitbox gUnk_080FD150;
extern Hitbox gHitbox_0;
void PicolyteBottle(Entity* this) {
gUnk_081142BC[this->action](this);
@@ -42,7 +42,7 @@ void sub_0806DF00(Entity* this) {
sub_0806E014(this);
sub_0807DD50(this);
} else {
this->hitbox = &gUnk_080FD150;
this->hitbox = &gHitbox_0;
this->collisionLayer = 1;
sub_0806E0DC(this);
}
+3 -3
View File
@@ -13,7 +13,7 @@ extern void (*const gUnk_081243B4[])(Entity*);
extern void (*const gUnk_081243BC[])(Entity*);
extern void (*const gUnk_081243C4[])(Entity*);
extern Hitbox gUnk_080FD150;
extern Hitbox gHitbox_0;
void LightableSwitch(Entity* this) {
gUnk_081243B4[this->type](this);
@@ -32,7 +32,7 @@ void sub_0809EA34(Entity* this) {
this->field_0x40 = 0x48;
this->damageType = 0x28;
this->flags2 = 10;
this->hitbox = &gUnk_080FD150;
this->hitbox = &gHitbox_0;
sub_0809EAD8(this);
UpdateSpriteForCollisionLayer(this);
sub_0809EABC(this);
@@ -104,7 +104,7 @@ void sub_0809EB80(Entity* this) {
this->field_0x40 = 0x48;
this->damageType = 0x28;
this->flags2 = 10;
this->hitbox = &gUnk_080FD150;
this->hitbox = &gHitbox_0;
sub_0809EAD8(this);
UpdateSpriteForCollisionLayer(this);
if (CheckFlags(this->cutsceneBeh.HWORD) != 0) {
+2 -2
View File
@@ -33,7 +33,7 @@ void LockedDoor(Entity* this) {
gUnk_0811F65C[this->action](this);
}
extern Hitbox gUnk_080FD170;
extern Hitbox gHitbox_2;
extern u32 sub_080001DA(u32, u32);
extern void sub_08078850(Entity*, u32, u32, u32);
@@ -97,7 +97,7 @@ void sub_08083338(Entity* this) {
this->field_0x70.HALF.LO = this->x.HALF.HI;
this->field_0x70.HALF.HI = this->y.HALF.HI;
this->field_0x7c.BYTES.byte2 = this->type & 3;
this->hitbox = &gUnk_080FD170;
this->hitbox = &gHitbox_2;
this->spritePriority.b0 = 5;
this->frames.all = this->type & 0xF;
this->field_0x76.HWORD = TILE(this->x.HALF.HI, this->y.HALF.HI);
+2 -2
View File
@@ -13,7 +13,7 @@ extern u32 sub_080001DA(u32, u32);
extern void (*const gUnk_0812493C[])(Entity*);
extern Hitbox gUnk_080FD180;
extern Hitbox gHitbox_3;
void MetalDoor(Entity* this) {
gUnk_0812493C[this->action](this);
@@ -28,7 +28,7 @@ void sub_080A0684(Entity* this) {
this->spriteSettings.b.draw = 0;
this->frameIndex = 0;
this->spriteSettings.b.flipY = 1;
this->hitbox = &gUnk_080FD180;
this->hitbox = &gHitbox_3;
this->spritePriority.b0 = 5;
this->field_0x70.HALF.LO = this->x.HALF.HI;
this->field_0x70.HALF.HI = this->y.HALF.HI;
+2 -2
View File
@@ -5,7 +5,7 @@
#include "object.h"
#include "functions.h"
extern Hitbox gUnk_080FD168;
extern Hitbox gHitbox_1;
void Object9E(Entity* this) {
Entity* ent;
@@ -24,7 +24,7 @@ void Object9E(Entity* this) {
this->field_0x40 = 0x48;
this->damageType = 0x7a;
this->flags2 = 1;
this->hitbox = &gUnk_080FD168;
this->hitbox = &gHitbox_1;
tilePos = COORD_TO_TILE(this);
SetTile(0x4066, tilePos - 1, *layer);
SetTile(0x4065, tilePos, *layer);
+2 -2
View File
@@ -5,7 +5,7 @@
#include "createObject.h"
#include "functions.h"
extern Hitbox gUnk_080FD170;
extern Hitbox gHitbox_2;
extern u8 gUnk_02000070;
@@ -14,7 +14,7 @@ void ObjectA(Entity* this) {
if (this->action == 0) {
this->action = 1;
this->hitbox = &gUnk_080FD170;
this->hitbox = &gHitbox_2;
if (this->collisionLayer == 1) {
uVar2 = 0x26;
} else {
+2 -2
View File
@@ -15,7 +15,7 @@ extern void (*const gUnk_0811F090[])(Entity*);
extern void (*const gUnk_0811F0A8[])(Entity*);
extern void (*const gUnk_0811F0C4[])(Entity*);
extern Hitbox gUnk_080FD338; // TODO: should be const
extern Hitbox gHitbox_18; // TODO: should be const
extern Hitbox gUnk_080FD340; // TODO: should be const
extern u32 sub_080001DA(u32, u32);
@@ -33,7 +33,7 @@ void sub_0808222C(Entity* this) {
}
this->action = 1;
this->hitbox = &gUnk_080FD338;
this->hitbox = &gHitbox_18;
this->speed = 0x80;
this->y.HALF.HI += 3;
this->field_0x16 = 0;
+2 -2
View File
@@ -6,7 +6,7 @@
#include "audio.h"
#include "functions.h"
extern Hitbox gUnk_080FD168;
extern Hitbox gHitbox_1;
void WarpPoint(Entity*);
void sub_0808B474(Entity*);
@@ -40,7 +40,7 @@ void sub_0808B474(Entity* this) {
tmp = gUnk_08121380[this->type];
this->palette.b.b0 = tmp;
this->spritePriority.b0 = 6;
this->hitbox = &gUnk_080FD168;
this->hitbox = &gHitbox_1;
this->scriptedScene = 3;
InitializeAnimation(this, 0);
if (CheckFlags(this->field_0x86.HWORD)) {
+179
View File
@@ -0,0 +1,179 @@
#include "entity.h"
#include "definitions.h"
#include "hitbox.h"
#define MULTI_FORM(definition_ptr) \
{ 0xffff, 0, { .definition = definition_ptr }, 0, 0, 0 }
const ProjectileDefinition gProjectileDefinition_0[];
const ProjectileDefinition gProjectileDefinition_6[];
const ProjectileDefinition gProjectileDefinition_7[];
const ProjectileDefinition gProjectileDefinition_8[];
const ProjectileDefinition gProjectileDefinition_9[];
const ProjectileDefinition gProjectileDefinition_A[];
const ProjectileDefinition gProjectileDefinition_E[];
const ProjectileDefinition gProjectileDefinition_F[];
const ProjectileDefinition gProjectileDefinition_10[];
const ProjectileDefinition gProjectileDefinition_14[];
const ProjectileDefinition gProjectileDefinition_14[];
const ProjectileDefinition gProjectileDefinition_1B[];
const ProjectileDefinition gProjectileDefinition_1D[];
const ProjectileDefinition gProjectileDefinition_1E[];
const ProjectileDefinition gProjectileDefinition_1F[];
const ProjectileDefinition gProjectileDefinition_22[];
const ProjectileDefinition gProjectileDefinition_22[];
const ProjectileDefinition gProjectileDefinitions[] = {
MULTI_FORM(gProjectileDefinition_0),
{ 1, 1, { &gHitbox_7 }, 176, 2, { 3, 1, 1, 0 }, 66, 640, 26, 11 }, // TODO sprite index too high
{ 366, 0, { &gHitbox_7 }, SPRITE_BONEPROJECTILE, 0, { 1, 1, 1, 0 }, 66, 640, 26, 11 },
{ 0, 0, { &gHitbox_0 }, 0, 2, { 0, 1, 0, 1 }, 4, 0, 139, 11 }, // TODO sprite index too high
{ 114, 110, { &gHitbox_7 }, SPRITE_BUSINESSSCRUB, 0, { 3, 1, 1, 0 }, 66, 768, 26, 11 },
{ 0, 0, { &gHitbox_0 }, 0, 2, { 0, 1, 0, 1 }, 64, 0, 1, 1 }, // TODO sprite index too high
MULTI_FORM(gProjectileDefinition_6),
MULTI_FORM(gProjectileDefinition_7),
MULTI_FORM(gProjectileDefinition_8),
MULTI_FORM(gProjectileDefinition_9),
MULTI_FORM(gProjectileDefinition_A),
{ 0, 0, { &gHitbox_0 }, 0, 2, { 0, 1, 1, 1 }, 4, 0, 161, 11 }, // TODO sprite index too high
#if defined(JP) || defined(EU)
{ 32827, 1, { &gHitbox_0 }, SPRITE_SPECIALFX, 0, { 0, 1, 1, 1 }, 65, 0, 74, 3 },
#else
{ 32827, 1, { &gHitbox_3 }, SPRITE_SPECIALFX, 0, { 0, 1, 1, 1 }, 65, 0, 74, 3 },
#endif
{ 518, 1, { &gHitbox_0 }, SPRITE_ARROWPROJECTILE, 0, { 0, 1, 1, 1 }, 66, 768, 26, 11 },
MULTI_FORM(gProjectileDefinition_E),
MULTI_FORM(gProjectileDefinition_F),
MULTI_FORM(gProjectileDefinition_10),
{ 16400, 0, { &gHitbox_0 }, SPRITE_LAKITUCLOUDPROJECTILE, 0, { 1, 0, 1, 2 }, 65, 0, 67, 4 },
{ 382, 1, { &gHitbox_1 }, SPRITE_LAKITULIGHTNING, 0, { 1, 1, 1, 0 }, 66, 128, 164, 11 },
{ 16400, 288, { &gHitbox_0 }, 107, 2, { 0, 1, 1, 1 }, 4, 384, 3, 11 }, // TODO sprite index too high
MULTI_FORM(gProjectileDefinition_14),
{ 16400, 1, { &gHitbox_0 }, SPRITE_SPIDERWEB, 0, { 0, 1, 1, 1 }, 65, 640, 159, 143 },
{ 0, 0, { &gHitbox_20 }, SPRITE_TORCHTRAPPROJECTILE_0, 0, { 0, 1, 1, 1 }, 66, 640, 146, 11 },
{ 399, 0, { &gHitbox_20 }, SPRITE_TORCHTRAPPROJECTILE_1, 0, { 0, 1, 1, 1 }, 65, 640, 10, 11 },
{ 405, 0, { &gHitbox_0 }, SPRITE_V1DARKMAGICPROJECTILE, 0, { 3, 1, 1, 1 }, 66, 256, 46, 15 },
#ifdef EU
{ 401, 112, { &gHitbox_1 }, 488, 0, { 1, 1, 1, 1 }, 65, 640, 162, 11 }, // TODO sprite index too high
#else
{ 401, 112, { &gHitbox_1 }, 489, 0, { 1, 1, 1, 1 }, 65, 640, 162, 11 }, // TODO sprite index too high
#endif
{ 175, 0, { &gHitbox_0 }, SPRITE_GLEEROK_1, 0, { 3, 1, 1, 0 }, 66, 512, 45, 11 },
MULTI_FORM(gProjectileDefinition_1B),
{ 404, 0, { &gHitbox_0 }, SPRITE_V1EYELASER, 0, { 0, 1, 1, 0 }, 66, 512, 42, 11 },
MULTI_FORM(gProjectileDefinition_1D),
MULTI_FORM(gProjectileDefinition_1E),
MULTI_FORM(gProjectileDefinition_1F),
{ 415, 4, { &gHitbox_20 }, SPRITE_V3HANDPROJECTILE, 0, { 1, 1, 1, 1 }, 66, 704, 60, 11 },
{ 415, 320, { &gHitbox_20 }, SPRITE_V3HANDPROJECTILE, 0, { 1, 1, 1, 1 }, 66, 512, 164, 11 },
MULTI_FORM(gProjectileDefinition_22),
{ 493, 0, { &gHitbox_22 }, SPRITE_GYORGMALEENERGYPROJECTILE, 0, { 0, 1, 1, 1 }, 66, 256, 31, 11 },
{ 418, 1, { &gHitbox_22 }, SPRITE_WRATHEYE, 0, { 1, 1, 1, 1 }, 66, 512, 55, 11 },
};
const ProjectileDefinition gProjectileDefinition_0[] = {
{ 0, 0, { &gHitbox_0 }, 0, 2, { 0, 1, 0, 1 }, 4, 0, 76, 11 },
{ 0, 0, { &gHitbox_0 }, 0, 2, { 0, 1, 0, 1 }, 65, 0, 83, 11 },
{ 0, 0, { &gHitbox_0 }, 0, 2, { 0, 1, 0, 1 }, 4, 0, 76, 11 },
{ 16400, 1, { &gHitbox_0 }, 99, 2, { 0, 1, 1, 1 }, 4, 0, 84, 11 },
{ 0, 0, { &gHitbox_0 }, 0, 2, { 0, 1, 0, 1 }, 4, 0, 76, 11 },
}; // TODO sprite index too high
const ProjectileDefinition gProjectileDefinition_6[] = {
{ 34, 1, { &gHitbox_0 }, SPRITE_DIRTBALLPROJECTILE, 0, { 0, 1, 1, 1 }, 66, 0, 120, 11 },
{ 0, 0, { &gHitbox_0 }, SPRITE_0, 0, { 0, 1, 0, 1 }, 66, 0, 120, 11 },
{ 33008, 1, { &gHitbox_0 }, SPRITE_POT, 0, { 0, 1, 1, 1 }, 66, 0, 120, 11 },
};
const ProjectileDefinition gProjectileDefinition_7[] = {
{ 218, 0, { &gHitbox_0 }, SPRITE_WINDPROJECTILE, 0, { 0, 0, 0, 1 }, 66, 0, 0, 11 },
{ 218, 0, { &gHitbox_0 }, SPRITE_WINDPROJECTILE, 0, { 0, 1, 1, 1 }, 66, 640, 13, 11 },
{ 218, 1, { &gHitbox_0 }, SPRITE_WINDPROJECTILE, 0, { 0, 1, 1, 1 }, 66, 640, 13, 11 },
};
const ProjectileDefinition gProjectileDefinition_8[] = {
{ 219, 0, { &gHitbox_0 }, SPRITE_FIREPROJECTILE, 0, { 0, 0, 0, 1 }, 66, 0, 0, 11 },
{ 219, 0, { &gHitbox_0 }, SPRITE_FIREPROJECTILE, 0, { 0, 1, 1, 1 }, 66, 640, 10, 11 },
};
const ProjectileDefinition gProjectileDefinition_9[] = {
{ 220, 113, { &gHitbox_0 }, SPRITE_ICEPROJECTILE, 0, { 0, 0, 0, 1 }, 66, 0, 0, 11 },
{ 220, 1, { &gHitbox_0 }, SPRITE_ICEPROJECTILE, 0, { 0, 1, 1, 1 }, 66, 640, 11, 11 },
};
const ProjectileDefinition gProjectileDefinition_A[] = {
{ 175, 0, { &gHitbox_0 }, SPRITE_GLEEROK_1, 0, { 3, 1, 1, 1 }, 66, 512, 62, 11 },
{ 175, 0, { &gHitbox_0 }, 226, 0, { 3, 1, 1, 0 }, 66, 512, 62, 11 },
{ 175, 0, { &gHitbox_0 }, 226, 0, { 0, 1, 1, 0 }, 66, 384, 62, 11 },
{ 32992, 1, { &gHitbox_0 }, SPRITE_POT, 0, { 3, 1, 1, 1 }, 66, 384, 157, 11 },
};
const ProjectileDefinition gProjectileDefinition_E[] = {
{ 294, 1, { &gHitbox_0 }, SPRITE_MAZAALENERGYBEAM, 0, { 1, 1, 1, 1 }, 66, 2048, 16, 11 },
{ 295, 0, { &gHitbox_0 }, SPRITE_MAZAALENERGYBEAM_1, 0, { 1, 1, 1, 1 }, 66, 2048, 17, 11 },
};
const ProjectileDefinition gProjectileDefinition_F[] = {
{ 16400, 245, { &gUnk_080FD3F4 }, SPRITE_OCTOROKBOSS_0, 0, { 0, 1, 1, 1 }, 66, 512, 98, 11 },
{ 271, 245, { &gHitbox_0 }, SPRITE_OCTOROKBOSS_1, 0, { 0, 1, 1, 1 }, 66, 512, 122, 11 },
{ 272, 245, { &gHitbox_0 }, SPRITE_OCTOROKBOSS_1, 0, { 0, 1, 1, 1 }, 66, 512, 11, 11 },
{ 32992, 1, { &gHitbox_0 }, SPRITE_POT, 0, { 3, 1, 1, 1 }, 66, 384, 157, 11 },
};
const ProjectileDefinition gProjectileDefinition_10[] = {
{ 33008, 1, { &gUnk_080FD3FC }, 167, 1, { 0, 0, 1, 0 }, 65, 640, 110, 4 },
{ 366, 0, { &gUnk_080FD3FC }, SPRITE_FLYINGSKULL, 0, { 0, 0, 1, 0 }, 65, 640, 110, 4 },
}; // TODO sprite index too high
#ifdef EU
const ProjectileDefinition gProjectileDefinition_14[] = {
{ 387, 20, { &gHitbox_2 }, 486, 0, { 0, 1, 1, 1 }, 65, 640, 110, 12 },
{ 387, 20, { &gUnk_080FD43C }, 486, 4, { 0, 1, 1, 1 }, 65, 640, 88, 5 },
}; // TODO sprite index too high
#else
const ProjectileDefinition gProjectileDefinition_14[] = {
{ 387, 20, { &gHitbox_2 }, 487, 0, { 0, 1, 1, 1 }, 65, 640, 110, 12 },
{ 387, 20, { &gUnk_080FD43C }, 487, 4, { 0, 1, 1, 1 }, 65, 640, 88, 5 },
}; // TODO sprite index too high
#endif
const ProjectileDefinition gProjectileDefinition_1B[] = {
{ 431, 0, { &gHitbox_1 }, SPRITE_CANNONBALLPROJECTILE, 0, { 1, 1, 1, 0 }, 65, 512, 158, 11 },
{ 432, 0, { &gHitbox_1 }, SPRITE_CANNONBALLPROJECTILE, 0, { 1, 1, 1, 0 }, 65, 512, 158, 11 },
{ 431, 0, { &gHitbox_1 }, SPRITE_CANNONBALLPROJECTILE, 0, { 1, 1, 1, 0 }, 65, 512, 158, 11 },
{ 432, 0, { &gHitbox_1 }, SPRITE_CANNONBALLPROJECTILE, 0, { 1, 1, 1, 0 }, 65, 512, 158, 11 },
};
const ProjectileDefinition gProjectileDefinition_1D[] = {
{ 399, 0, { &gUnk_080FD558 }, SPRITE_TORCHTRAPPROJECTILE_1, 0, { 0, 1, 1, 1 }, 65, 640, 115, 11 },
{ 399, 0, { &gUnk_080FD560 }, SPRITE_TORCHTRAPPROJECTILE_1, 0, { 0, 1, 1, 1 }, 65, 640, 115, 11 },
{ 399, 0, { &gUnk_080FD560 }, SPRITE_TORCHTRAPPROJECTILE_1, 0, { 0, 1, 1, 1 }, 65, 640, 115, 11 },
{ 399, 0, { &gUnk_080FD560 }, SPRITE_TORCHTRAPPROJECTILE_1, 0, { 0, 1, 1, 1 }, 65, 640, 115, 11 },
{ 399, 0, { &gUnk_080FD560 }, SPRITE_TORCHTRAPPROJECTILE_1, 0, { 0, 1, 1, 1 }, 65, 640, 115, 11 },
};
const ProjectileDefinition gProjectileDefinition_1E[] = {
{ 453, 0, { &gUnk_080FD4B8 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD4C0 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD4C8 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD4D0 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD4D8 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD4E0 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD4E8 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD4F0 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD4F8 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD500 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD508 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD510 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD518 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
{ 453, 0, { &gUnk_080FD520 }, SPRITE_SPIKEDROLLERS, 0, { 0, 1, 1, 1 }, 65, 256, 102, 11 },
};
const ProjectileDefinition gProjectileDefinition_1F[] = {
{ 411, 317, { &gHitbox_0 }, SPRITE_V2PROJECTILE, 0, { 3, 1, 1, 1 }, 66, 384, 157, 11 },
{ 32992, 5, { &gHitbox_0 }, SPRITE_POT, 0, { 3, 1, 1, 1 }, 66, 384, 157, 11 },
{ 382, 1, { &gHitbox_0 }, SPRITE_LAKITULIGHTNING, 0, { 1, 1, 1, 0 }, 66, 288, 52, 15 },
};
#ifdef EU
const ProjectileDefinition gProjectileDefinition_22[] = {
{ 492, 372, { &gHitbox_1 }, 497, 0, { 0, 0, 1, 1 }, 65, 640, 29, 11 },
{ 491, 338, { &gHitbox_20 }, 496, 0, { 0, 1, 1, 1 }, 65, 640, 29, 11 },
}; // TODO sprite index too high
#else
const ProjectileDefinition gProjectileDefinition_22[] = {
{ 492, 372, { &gHitbox_1 }, 498, 0, { 0, 0, 1, 1 }, 65, 640, 29, 11 },
{ 491, 338, { &gHitbox_20 }, 497, 0, { 0, 1, 1, 1 }, 65, 640, 29, 11 },
}; // TODO sprite index too high
#endif
// TODO
const u8 gUnk_081326EC[] = {
32, 5, 0, 3, 100, 6, 0, 3, 168, 7, 0, 3, 236, 8, 0, 3, 48, 10, 0, 3,
};
+2 -2
View File
@@ -3,7 +3,7 @@
#include "functions.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void sub_08016AD2(Entity*);
extern void (*const BoneProjectile_Functions[])(Entity*);
@@ -38,7 +38,7 @@ void BoneProjectile_Action1(Entity* this) {
GetNextFrame(this);
sub_080AF090(this);
if (this->collisions == 0) {
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteEntity(this);
} else {
sub_08016AD2(this);
+3 -3
View File
@@ -5,7 +5,7 @@
#include "flags.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void sub_08016AD2(Entity*);
extern u32 sub_080177A0(Entity*, Entity*);
@@ -57,7 +57,7 @@ void DekuSeedProjectile_Action1(Entity* this) {
GetNextFrame(this);
if (sub_080AF090(this) != 0) {
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
sub_08016AD2(this);
@@ -90,7 +90,7 @@ void DekuSeedProjectile_Action1(Entity* this) {
void DekuSeedProjectile_Action2(Entity* this) {
GetNextFrame(this);
if (sub_080AF090(this) != 0) {
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
if (--this->actionDelay == 0) {
+2 -2
View File
@@ -5,7 +5,7 @@
#include "audio.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void sub_08016AD2(Entity*);
extern void (*const FireProjectile_Actions[])(Entity*);
@@ -54,7 +54,7 @@ void FireProjectile_Action1(Entity* this) {
void FireProjectile_Action2(Entity* this) {
GetNextFrame(this);
if (sub_080AF090(this) != 0) {
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteEntity(this);
} else {
sub_08016AD2(this);
+2 -2
View File
@@ -5,7 +5,7 @@
#include "audio.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void (*const GyorgMaleEnergyProjectile_Functions[])(Entity*);
extern void (*const GyorgMaleEnergyProjectile_Actions[])(Entity*);
@@ -52,7 +52,7 @@ void GyorgMaleEnergyProjectile_Action1(Entity* this) {
void GyorgMaleEnergyProjectile_Action2(Entity* this) {
sub_080AF090(this);
GetNextFrame(this);
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
if (--this->actionDelay == 0) {
+6 -6
View File
@@ -5,9 +5,9 @@
#include "functions.h"
extern u8 gEntCount;
extern Hitbox gUnk_080FD458;
extern Hitbox gUnk_080FD168;
extern Hitbox gUnk_080FD448;
extern Hitbox gHitbox_21;
extern Hitbox gHitbox_1;
extern Hitbox gHitbox_20;
extern void (*const gUnk_0812A994[])(Entity*);
extern void (*const GyorgTail_Actions[])(Entity*);
@@ -95,7 +95,7 @@ void sub_080AC510(Entity* this) {
this->spriteSettings.b.draw = 1;
this->collisionLayer = 2;
if (*(u16*)&this->type == 0x300) {
this->hitbox = &gUnk_080FD458;
this->hitbox = &gHitbox_21;
}
}
}
@@ -112,9 +112,9 @@ void sub_080AC560(Entity* this) {
this->action = 1;
this->collisionLayer = 2;
if (this->type == 0) {
this->hitbox = &gUnk_080FD168;
this->hitbox = &gHitbox_1;
} else {
this->hitbox = &gUnk_080FD448;
this->hitbox = &gHitbox_20;
}
this->frameIndex = 0xff;
this->spriteSettings.b.draw = 1;
+2 -2
View File
@@ -5,7 +5,7 @@
#include "audio.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void sub_08016AD2(Entity*);
extern void (*const IceProjectile_Actions[])(Entity*);
@@ -56,7 +56,7 @@ void IceProjectile_Action1(Entity* this) {
void IceProjectile_Action2(Entity* this) {
GetNextFrame(this);
if (sub_080AF090(this) != 0) {
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteEntity(this);
} else {
sub_08016AD2(this);
+2 -2
View File
@@ -3,7 +3,7 @@
#include "effects.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void (*const LakituLightning_Functions[])(Entity*);
extern void (*const LakituLightning_Actions[])(Entity*);
@@ -39,7 +39,7 @@ void LakituLightning_Action1(Entity* this) {
CreateFx(this, FX_BLUE_EFC, 0);
DeleteThisEntity();
}
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
}
+2 -2
View File
@@ -10,7 +10,7 @@ extern Entity* sub_08049DF4(u32);
extern u32 sub_08049F1C(Entity*, Entity*, u32);
extern s32 sub_080AF090(Entity*);
extern u32 sub_0806F824(Entity*, Entity*, u32, u32);
extern Hitbox gUnk_080FD150;
extern Hitbox gHitbox_0;
extern void (*const MandiblesProjectile_Functions[])(Entity*);
extern void (*const MandiblesProjectile_Actions[])(Entity*);
@@ -148,7 +148,7 @@ void MandiblesProjectile_Action3(Entity* this) {
uVar1 = entity->animationState;
this->direction = uVar1 << 2;
this->animationState = uVar1 << 0x1a >> 0x1a;
this->hitbox = &gUnk_080FD150;
this->hitbox = &gHitbox_0;
if (CheckIsDungeon() != 0) {
this->spriteOrientation.flipY = 1;
}
+2 -2
View File
@@ -3,7 +3,7 @@
#include "functions.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void sub_08016AD2(Entity*);
extern void (*const RockProjectile_Functions[])(Entity*);
@@ -38,7 +38,7 @@ void RockProjectile_Init(Entity* this) {
void RockProjectile_Action1(Entity* this) {
GetNextFrame(this);
if (sub_080AF090(this) != 0) {
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteEntity(this);
} else {
sub_08016AD2(this);
+2 -2
View File
@@ -3,7 +3,7 @@
#include "functions.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void (*const TorchTrapProjectile_Functions[])(Entity*);
extern void (*const TorchTrapProjectile_Actions[])(Entity*);
@@ -45,7 +45,7 @@ void TorchTrapProjectile_Action2(Entity* this) {
if (this->collisions != 0) {
DeleteThisEntity();
}
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
}
+2 -2
View File
@@ -6,7 +6,7 @@
#include "functions.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void (*const V3ElectricProjectile_Functions[])(Entity*);
extern void (*const V3ElectricProjectile_Actions[])(Entity*);
@@ -67,7 +67,7 @@ void V3ElectricProjectile_Action2(Entity* this) {
DeleteThisEntity();
}
GetNextFrame(this);
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
if (this->actionDelay < 0x1e) {
+2 -2
View File
@@ -4,7 +4,7 @@
#include "audio.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void (*const V3HandProjectile_Functions[])(Entity*);
@@ -27,7 +27,7 @@ void V3HandProjectile_OnTick(Entity* this) {
DeleteThisEntity();
}
GetNextFrame(this);
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
}
+3 -3
View File
@@ -5,7 +5,7 @@
#include "effects.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void (*const V3TennisBallProjectile_Functions[])(Entity*);
extern void (*const V3TennisBallProjectile_Actions[])(Entity*);
@@ -34,7 +34,7 @@ void V3TennisBallProjectile_Init(Entity* this) {
void V3TennisBallProjectile_Action1(Entity* this) {
sub_080AF090(this);
GetNextFrame(this);
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
}
@@ -46,7 +46,7 @@ void V3TennisBallProjectile_Action2(Entity* this) {
}
GetNextFrame(this);
sub_080ACB90(this);
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteThisEntity();
}
}
+2 -2
View File
@@ -4,7 +4,7 @@
#include "audio.h"
extern s32 sub_080AF090(Entity*);
extern s32 sub_080A7EB0(Entity*);
extern s32 IsProjectileOffScreen(Entity*);
extern void sub_08016AD2(Entity*);
extern void (*const WindProjectile_Actions[])(Entity*);
@@ -60,7 +60,7 @@ void WindProjectile_Action1(Entity* this) {
void WindProjectile_Action2(Entity* this) {
GetNextFrame(this);
if (sub_080AF090(this) != 0) {
if (sub_080A7EB0(this) != 0) {
if (IsProjectileOffScreen(this) != 0) {
DeleteEntity(this);
} else {
sub_08016AD2(this);
+85
View File
@@ -0,0 +1,85 @@
#include "entity.h"
#include "definitions.h"
#include "functions.h"
extern const ProjectileDefinition gProjectileDefinitions[];
const ProjectileDefinition* GetProjectileDefinition(Entity*);
bool32 LoadProjectileSprite(Entity*, const ProjectileDefinition*);
const ProjectileDefinition* GetProjectileDefinition(Entity* this) {
const ProjectileDefinition* definition = &gProjectileDefinitions[this->id];
if (definition->gfx == 0xffff) {
definition = &definition->ptr.definition[this->type];
}
return definition;
}
bool32 ProjectileInit(Entity* this) {
if ((this->flags & 1) == 0) {
const ProjectileDefinition* definition = GetProjectileDefinition(this);
if (LoadProjectileSprite(this, definition) == FALSE) {
return FALSE;
}
this->flags |= 1;
if (definition->spriteFlags.unknown != 0) {
this->flags |= 0x80;
}
this->spriteIndex = definition->spriteIndex;
if (this->spriteSettings.b.draw == 0) {
this->spriteSettings.b.draw = definition->spriteFlags.draw;
}
this->spritePriority.b1 = definition->spriteFlags.spritePriority;
this->spriteSettings.b.shadow = definition->spriteFlags.shadow;
if (this->speed == 0) {
this->speed = definition->speed;
}
this->field_0x3c = (definition->field0x3c << 4) | 7;
this->flags2 = definition->flags2;
this->damageType = definition->damageType;
this->field_0x40 = definition->field0x40;
this->currentHealth = 0xff;
this->hitbox = (Hitbox*)definition->ptr.hitbox;
UpdateSpriteForCollisionLayer(this);
}
return TRUE;
}
bool32 LoadProjectileSprite(Entity* this, const ProjectileDefinition* definition) {
bool32 result;
if (definition->gfx != 0) {
if ((definition->gfx & 0x8000) != 0) {
this->spriteVramOffset = definition->gfx & 0x3ff;
} else {
if ((definition->gfx & 0x4000) != 0) {
result = sub_080AE008(this, definition->gfx >> 4, 0);
} else {
result = LoadFixedGFX(this, definition->gfx);
}
if (result == FALSE) {
return FALSE;
}
}
}
sub_0801D040(this, definition->paletteIndex);
return TRUE;
}
bool32 IsProjectileOffScreen(Entity* this) {
if (((u32)this->x.HALF.HI - gRoomControls.roomOriginX > gRoomControls.width) ||
((u32)this->y.HALF.HI - gRoomControls.roomOriginY > gRoomControls.height)) {
return TRUE;
} else {
return FALSE;
}
}
Entity* CreateProjectile(u32 id) {
Entity* entity = GetEmptyEntity();
if (entity != NULL) {
entity->kind = 4;
entity->id = id;
AppendEntityToList(entity, 5);
}
return entity;
}
+185
View File
@@ -0,0 +1,185 @@
#include "entity.h"
#include "definitions.h"
// clang-format off
// TODO deduplicate using sprite indices enum
const SpriteDataB gNPCDefinition_3[] = { { 1, 1, 1025, { 48, 1055 } }, { 1, 0, 1025, { 48, 1055 } }, };
const SpriteDataB gNPCDefinition_6[] = { { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1026, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, { 1, 1, 1025, { 4158, 9273 } }, };
const SpriteDataB gNPCDefinition_7[] = { { 1, 1, 1025, { 58, 9275 } }, { 1, 1, 1025, { 58, 9275 } }, { 1, 1, 1025, { 58, 9275 } }, { 1, 1, 1026, { 58, 9275 } }, { 1, 1, 1025, { 58, 9275 } }, { 1, 1, 1025, { 58, 9275 } }, { 1, 1, 1026, { 58, 9275 } }, { 1, 1, 1025, { 58, 9275 } }, { 1, 1, 1025, { 58, 9275 } }, };
const SpriteDataB gNPCDefinition_1B[] = { { 1, 1, 1025, { 4167, 1072 } }, { 1, 1, 1025, { 4170, 1072 } }, { 1, 1, 1025, { 4169, 1072 } }, { 1, 1, 1025, { 4168, 1072 } }, };
#ifdef EU
const SpriteDataB gNPCDefinition_27[] = { { 1, 1, 1025, { 4176, 1351 } }, { 1, 1, 1026, { 4379, 1056 } }, };
#else
const SpriteDataB gNPCDefinition_27[] = { { 1, 1, 1025, { 4176, 1352 } }, { 1, 1, 1026, { 4379, 1056 } }, };
#endif
const SpriteDataB gNPCDefinition_2B[] = { { 1, 1, 200, { 4101, 8352 } }, { 1, 1, 1028, { 4101, 8286 } }, };
const SpriteDataB gNPCDefinition_30[] = { { 1, 1, 231, { 4279, 9365 } }, { 1, 1, 232, { 4280, 9366 } }, { 1, 1, 232, { 4281, 9366 } }, { 1, 1, 232, { 4282, 9366 } }, { 1, 1, 232, { 4283, 9366 } }, { 1, 1, 232, { 4284, 9366 } }, { 1, 1, 232, { 4285, 9366 } }, { 1, 1, 232, { 4286, 9366 } }, };
const SpriteDataB gNPCDefinition_33[] = { { 1, 3, 1026, { 8384, 9307 } }, { 1, 3, 1026, { 8384, 9308 } }, };
const SpriteDataB gNPCDefinition_21[] = { { 1, 1, 1025, { 4175, 1112 } }, { 1, 1, 1025, { 4174, 1112 } }, { 1, 1, 38, { 0, 3245 } }, { 1, 1, 1025, { 4167, 1072 } }, { 1, 1, 1025, { 4175, 88 } }, { 1, 1, 1025, { 4174, 88 } }, };
const SpriteDataB gNPCDefinition_5[] = { { 1, 0, 1025, { 4150, 9258 } }, { 1, 0, 0, { 4150, 42 } }, { 1, 1, 0, { 4096, 42 } }, { 1, 0, 1025, { 4150, 9258 } }, };
const SpriteDataB gNPCDefinition_35[] = { { 1, 1, 1025, { 4178, 9283 } }, { 1, 1, 1025, { 4160, 9285 } }, { 1, 1, 1025, { 4100, 9284 } }, { 1, 1, 1025, { 4179, 9285 } }, };
const SpriteDataB gNPCDefinition_2C[] = { { 1, 1, 1025, { 4097, 1089 } }, { 1, 1, 1025, { 4158, 1089 } }, { 1, 1, 1025, { 4097, 1090 } }, { 1, 1, 1025, { 4100, 1090 } }, { 1, 1, 1025, { 4180, 1090 } }, { 1, 1, 1025, { 4097, 1089 } }, };
const SpriteDataB gNPCDefinition_37[] = { { 1, 1, 261, { 4329, 8343 } }, { 1, 0, 261, { 4329, 8343 } }, { 1, 0, 160, { 4096, 8343 } }, { 1, 0, 161, { 4097, 8343 } }, { 1, 0, 455, { 4097, 8343 } }, { 1, 0, 2048, { 4100, 8343 } }, };
const SpriteDataB gNPCDefinition_38[] = { { 1, 1, 1025, { 4330, 9245 } }, { 1, 1, 1025, { 4330, 9245 } }, { 1, 1, 1025, { 4331, 9245 } }, { 1, 1, 1025, { 4332, 9245 } }, { 1, 1, 1025, { 4333, 9245 } }, { 1, 1, 1025, { 4334, 9245 } }, };
const SpriteDataB gNPCDefinition_3D[] = { { 1, 5, 57, { 60, 8333 } }, { 1, 5, 58, { 61, 8334 } }, };
const SpriteDataB gNPCDefinition_3E[] = { { 1, 1, 1026, { 4343, 9288 } }, { 1, 1, 1026, { 4344, 9289 } }, };
const SpriteDataB gNPCDefinition_3F[] = { { 1, 5, 288, { 249, 8344 } }, { 1, 5, 289, { 250, 8345 } }, };
const SpriteDataB gNPCDefinition_41[] = { { 1, 1, 290, { 4348, 8346 } }, { 1, 0, 291, { 252, 8347 } }, };
const SpriteDataB gNPCDefinition_48[] = { { 1, 1, 1025, { 4355, 9295 } }, { 1, 1, 1026, { 4096, 9296 } }, };
const SpriteDataB gNPCDefinition_49[] = { { 1, 1, 1025, { 4356, 9297 } }, { 1, 1, 1025, { 4356, 9298 } }, { 1, 1, 1025, { 4356, 9299 } }, { 1, 1, 1025, { 4356, 9300 } }, { 1, 1, 1025, { 4356, 9301 } }, { 1, 1, 1025, { 4356, 9302 } }, };
const SpriteDataB gNPCDefinition_4A[] = { { 1, 4, 297, { 4361, 8350 } }, { 1, 0, 297, { 4369, 8350 } }, { 1, 0, 297, { 4097, 8350 } }, { 1, 1, 297, { 4368, 9374 } }, };
const SpriteDataB gNPCDefinition_4C[] = { { 0, 0, 0, { 0, 0 } }, { 1, 0, 398, { 282, 8351 } }, { 1, 0, 398, { 282, 8351 } }, { 1, 0, 398, { 0, 8351 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 398, { 282, 8351 } }, { 1, 0, 398, { 282, 8351 } }, { 1, 0, 398, { 282, 8351 } }, { 1, 0, 398, { 282, 8351 } }, { 1, 0, 398, { 282, 8351 } }, { 1, 0, 398, { 282, 8351 } }, };
const SpriteDataB gNPCDefinition_4F[] = { { 1, 0, 1025, { 0, 8287 } }, { 1, 0, 1025, { 0, 8287 } }, { 1, 0, 1025, { 1, 8287 } }, { 1, 0, 1025, { 2, 8287 } }, };
#ifdef EU
const SpriteDataB gNPCDefinition_3B[] = { { 1, 0, 1026, { 312, 8304 } }, { 1, 0, 1025, { 312, 8306 } }, { 1, 0, 1025, { 312, 8307 } }, { 1, 0, 1026, { 312, 8315 } }, { 1, 0, 460, { 319, 8495 } }, { 1, 0, 1026, { 319, 8316 } }, };
const SpriteDataB gNPCDefinition_52[] = { { 1, 0, 496, { 234, 8505 } }, { 1, 0, 496, { 236, 8505 } }, { 1, 0, 496, { 237, 8505 } }, { 1, 0, 496, { 238, 8505 } }, { 1, 0, 496, { 235, 8505 } }, };
#else
const SpriteDataB gNPCDefinition_3B[] = { { 1, 0, 1026, { 312, 8304 } }, { 1, 0, 1025, { 312, 8306 } }, { 1, 0, 1025, { 312, 8307 } }, { 1, 0, 1026, { 312, 8315 } }, { 1, 0, 460, { 319, 8496 } }, { 1, 0, 1026, { 319, 8316 } }, };
const SpriteDataB gNPCDefinition_52[] = { { 1, 0, 496, { 234, 8506 } }, { 1, 0, 496, { 236, 8506 } }, { 1, 0, 496, { 237, 8506 } }, { 1, 0, 496, { 238, 8506 } }, { 1, 0, 496, { 235, 8506 } }, };
#endif
#define MULTI_FORM(spriteData_ptr) { 2, 0, 0, {.spriteData=spriteData_ptr} }
const SpriteDataB gNPCDefinitions[] = {
{ 0, 0, 0, { 0, 0 } },
{ 1, 1, 1025, { 49, 1048 } },
{ 1, 1, 1025, { 50, 1049 } },
MULTI_FORM(gNPCDefinition_3),
{ 1, 1, 1025, { 4096, 9268 } },
MULTI_FORM(gNPCDefinition_5),
MULTI_FORM(gNPCDefinition_6),
MULTI_FORM(gNPCDefinition_7),
{ 1, 1, 1026, { 4096, 9259 } },
{ 0, 0, 0, { 0, 0 } },
{ 1, 5, 59, { 65, 143 } },
{ 1, 1, 1026, { 4096, 9263 } },
{ 1, 5, 60, { 66, 144 } },
{ 1, 5, 61, { 57, 8338 } },
{ 1, 1, 64, { 56, 8339 } },
{ 1, 1, 1026, { 4380, 9253 } },
{ 1, 1, 1025, { 4096, 9276 } },
{ 1, 3, 1025, { 4158, 9265 } },
{ 1, 1, 1025, { 4159, 9266 } },
{ 1, 1, 1025, { 4159, 8253 } },
{ 1, 1, 1025, { 4158, 9267 } },
{ 1, 1, 1026, { 4151, 9259 } },
{ 1, 1, 1025, { 4166, 9263 } },
{ 1, 1, 1025, { 4163, 9255 } },
{ 1, 1, 1025, { 4164, 9256 } },
{ 1, 1, 1025, { 4165, 9257 } },
{ 1, 1, 56, { 4155, 1164 } },
MULTI_FORM(gNPCDefinition_1B),
{ 1, 5, 66, { 53, 145 } },
{ 1, 1, 68, { 4171, 9355 } },
{ 1, 1, 1025, { 4172, 9269 } },
{ 1, 1, 1025, { 4097, 9270 } },
{ 1, 1, 1025, { 8193, 1079 } },
MULTI_FORM(gNPCDefinition_21),
{ 1, 1, 1026, { 4173, 9272 } },
{ 1, 1, 1025, { 48, 1055 } },
{ 1, 1, 1025, { 55, 1068 } },
{ 1, 1, 1025, { 55, 1069 } },
{ 1, 1, 1025, { 55, 1070 } },
MULTI_FORM(gNPCDefinition_27),
{ 1, 1, 1025, { 4150, 1066 } },
{ 1, 1, 1025, { 4177, 9278 } },
{ 1, 1, 1026, { 4177, 9279 } },
MULTI_FORM(gNPCDefinition_2B),
MULTI_FORM(gNPCDefinition_2C),
{ 1, 1, 1026, { 4276, 9243 } },
{ 1, 0, 1025, { 4150, 9258 } },
{ 1, 3, 1026, { 4277, 9242 } },
MULTI_FORM(gNPCDefinition_30),
{ 1, 3, 1025, { 191, 8282 } },
{ 1, 3, 1025, { 8384, 9309 } },
MULTI_FORM(gNPCDefinition_33),
{ 1, 3, 1025, { 4289, 9280 } },
MULTI_FORM(gNPCDefinition_35),
{ 1, 3, 1026, { 4096, 8262 } },
MULTI_FORM(gNPCDefinition_37),
MULTI_FORM(gNPCDefinition_38),
{ 1, 1, 1026, { 4377, 9246 } },
{ 1, 1, 1025, { 4342, 9287 } },
MULTI_FORM(gNPCDefinition_3B),
{ 1, 1, 72, { 4207, 9423 } },
MULTI_FORM(gNPCDefinition_3D),
MULTI_FORM(gNPCDefinition_3E),
MULTI_FORM(gNPCDefinition_3F),
{ 1, 3, 1025, { 4347, 9290 } },
MULTI_FORM(gNPCDefinition_41),
{ 1, 0, 1025, { 4349, 8267 } },
{ 1, 1, 1025, { 4350, 9292 } },
{ 1, 1, 1025, { 4351, 9293 } },
{ 1, 1, 292, { 4352, 9372 } },
{ 1, 1, 1025, { 4353, 9294 } },
{ 1, 5, 293, { 258, 8349 } },
MULTI_FORM(gNPCDefinition_48),
MULTI_FORM(gNPCDefinition_49),
MULTI_FORM(gNPCDefinition_4A),
{ 1, 1, 1025, { 4158, 9303 } },
MULTI_FORM(gNPCDefinition_4C),
{ 1, 1, 1025, { 4118, 9227 } },
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gNPCDefinition_4F),
#ifdef EU
{ 1, 0, 464, { 4096, 8498 } },
#else
{ 1, 0, 464, { 4096, 8499 } },
#endif
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gNPCDefinition_52),
{ 1, 1, 1026, { 4451, 9305 } },
{ 1, 1, 67, { 4096, 9364 } },
#ifdef EU
{ 1, 1, 463, { 0, 9710 } },
#else
{ 1, 1, 463, { 0, 9711 } },
#endif
{ 0, 0, 0, { 0, 0 } },
#ifdef EU
{ 1, 3, 348, { 88, 8585 } },
#else
{ 1, 3, 348, { 88, 8586 } },
#endif
{ 1, 0, 1025, { 4096, 8289 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
};
// clang-format on
+514
View File
@@ -0,0 +1,514 @@
#include "entity.h"
#include "hitbox.h"
#include "definitions.h"
// TODO
const Hitbox* const gUnk_08125104[] = { NULL, &gHitbox_0, &gHitbox_30, &gHitbox_2, &gHitbox_3 };
// clang-format off
const SpriteDataB gObjectDefinition_F[] = { { 1, 0, 2107, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2144, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2202, { 3, SPRITE_SPECIALFX } }, { 1, 0, 2276, { 2, SPRITE_SPECIALFX } }, { 1, 0, 2129, { 5, SPRITE_SPECIALFX } }, { 1, 0, 2284, { 1, SPRITE_SPECIALFX } }, { 1, 0, 2144, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2108, { 4, SPRITE_SPECIALFX } }, { 1, 0, 0, { 5, SPRITE_SPECIALFX } }, { 1, 0, 0, { 5, SPRITE_SPECIALFX } }, { 1, 0, 0, { 5, SPRITE_SPECIALFX } }, { 1, 0, 2120, { 1, SPRITE_SPECIALFX } }, { 1, 0, 2126, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2133, { 1, SPRITE_SPECIALFX } }, { 1, 0, 18, { 5, SPRITE_SPECIALFX } }, { 1, 0, 2129, { 1, SPRITE_SPECIALFX } }, { 1, 0, 2141, { 1, SPRITE_SPECIALFX } }, { 1, 0, 2137, { 3, SPRITE_SPECIALFX } }, { 1, 0, 2048, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2276, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2108, { 4, SPRITE_SPECIALFX } }, { 1, 0, 2129, { 1, SPRITE_SPECIALFX } }, { 1, 0, 176, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2276, { 2, SPRITE_SPECIALFX } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 2048, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2112, { 0, SPRITE_SPECIALFX } }, { 1, 0, 4, { 0, SPRITE_SPECIALFX } }, { 1, 0, 2080, { 4, SPRITE_SPECIALFX } }, { 1, 0, 2080, { 4, SPRITE_SPECIALFX } }, { 1, 0, 2080, { 4, SPRITE_SPECIALFX } }, { 1, 0, 28, { 1, SPRITE_SPECIALFX } }, { 1, 0, 2068, { 1, SPRITE_SPECIALFX } }, { 1, 0, 30, { 1, SPRITE_SPECIALFX } }, { 1, 0, 2202, { 4, SPRITE_SPECIALFX } }, { 1, 0, 2202, { 4, SPRITE_SPECIALFX } }, { 1, 0, 2202, { 4, SPRITE_SPECIALFX } }, { 1, 0, 243, { 1, 163 } }, { 1, 0, 2108, { 4, SPRITE_SPECIALFX } }, { 1, 0, 2144, { 0, 163 } }, { 1, 0, 2202, { 3, SPRITE_SPECIALFX } }, { 1, 0, 113, { 71, 163 } }, { 1, 0, 113, { 71, 163 } }, { 1, 0, 2120, { 2, SPRITE_SPECIALFX } }, { 1, 0, 2141, { 1, 163 } }, { 1, 0, 0, { 5, 163 } }, { 1, 0, 2202, { 3, SPRITE_SPECIALFX } }, { 1, 0, 2137, { 3, SPRITE_SPECIALFX } }, { 1, 0, 2105, { 171, 163 } }, { 1, 0, 2253, { 3, 163 } }, { 1, 0, 2144, { 0, 163 } }, { 1, 0, 2144, { 0, 163 } }, { 1, 0, 2144, { 0, 163 } }, { 1, 0, 2144, { 3, 8354 } }, { 1, 0, 2126, { 0, 8355 } }, { 1, 0, 2276, { 2, SPRITE_SPECIALFX } }, { 1, 0, 2276, { 2, SPRITE_SPECIALFX } }, { 1, 0, 2276, { 2, SPRITE_SPECIALFX } }, { 1, 0, 2077, { 3, 163 } }, { 1, 0, 0, { 5, 163 } }, { 1, 0, 366, { 0, 163 } }, { 1, 0, 379, { 4, 8355 } }, { 1, 0, 2276, { 2, SPRITE_SPECIALFX } }, { 1, 0, 2276, { 2, SPRITE_SPECIALFX } }, { 1, 0, 2276, { 2, SPRITE_SPECIALFX } }, { 1, 0, 28, { 4, SPRITE_SPECIALFX } }, { 1, 0, 372, { 0, 8355 } }, { 1, 0, 2144, { 3, 8354 } }, { 1, 0, 446, { 184, 8355 } }, { 1, 0, 2133, { 3, SPRITE_SPECIALFX } }, { 1, 0, 452, { 0, 8355 } }, { 1, 0, 452, { 0, 8355 } }, { 1, 0, 452, { 0, 8355 } }, { 1, 0, 457, { 285, 8355 } }, { 1, 0, 458, { 285, 8355 } }, { 1, 0, 459, { 3, 8355 } }, { 1, 0, 2077, { 4, 163 } }, { 1, 0, 2108, { 4, SPRITE_SPECIALFX } }, { 1, 0, 0, { 1, 8355 } }, { 1, 0, 0, { 4, 8355 } }, { 1, 0, 2108, { 4, 8355 } }, { 1, 0, 0, { 0, 8355 } }, { 1, 0, 2126, { 382, SPRITE_SPECIALFX } }, { 1, 0, 2202, { 319, 8354 } }, { 1, 0, 2202, { 3, 8354 } }, { 1, 0, 2202, { 3, SPRITE_SPECIALFX } }, { 1, 0, 2265, { 0, SPRITE_SPECIALFX_1+0x2000 } }, { 1, 0, 2265, { 1, SPRITE_SPECIALFX_1+0x2000 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_7[] = { { 1, 0, 12, { 5, 8659 } }, { 1, 0, 263, { 5, 8660 } }, { 1, 0, 262, { 5, 8661 } }, { 1, 0, 38, { 5, 8662 } }, }; // TODO sprite index too high
#else
const SpriteDataB gObjectDefinition_7[] = { { 1, 0, 12, { 5, 8660 } }, { 1, 0, 263, { 5, 8661 } }, { 1, 0, 262, { 5, 8662 } }, { 1, 0, 38, { 5, 8663 } }, }; // TODO sprite index too high
#endif
const SpriteDataB gObjectDefinition_25[] = { { 1, 0, 23, { 29, SPRITE_BIGBARREL } }, { 1, 0, 23, { 29, SPRITE_BIGBARREL } }, { 1, 0, 24, { 29, SPRITE_BIGBARREL } }, { 0, 0, 0, { 0, SPRITE_0 } }, { 0, 0, 0, { 0, SPRITE_0 } }, };
const SpriteDataB gObjectDefinition_24[] = { { 1, 0, 22, { 0, SPRITE_OBJECT24 } }, { 1, 0, 39, { 0, SPRITE_OBJECT24 } }, { 1, 0, 40, { 0, SPRITE_OBJECT24 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_1C[] = { { 1, 0, 43, { 0, 8538 } }, { 1, 0, 43, { 0, 8538 } }, { 1, 0, 43, { 0, 8538 } }, { 1, 0, 44, { 0, 8538 } }, { 1, 0, 44, { 0, 8538 } }, { 1, 0, 45, { 0, 8538 } }, { 1, 0, 46, { 0, 8538 } }, { 1, 0, 47, { 0, 8538 } }, { 1, 0, 48, { 0, 8538 } }, { 1, 0, 49, { 0, 8538 } }, { 1, 0, 50, { 0, 8538 } }, { 1, 0, 51, { 0, 8538 } }, }; // TODO sprite index too high
#else
const SpriteDataB gObjectDefinition_1C[] = { { 1, 0, 43, { 0, 8539 } }, { 1, 0, 43, { 0, 8539 } }, { 1, 0, 43, { 0, 8539 } }, { 1, 0, 44, { 0, 8539 } }, { 1, 0, 44, { 0, 8539 } }, { 1, 0, 45, { 0, 8539 } }, { 1, 0, 46, { 0, 8539 } }, { 1, 0, 47, { 0, 8539 } }, { 1, 0, 48, { 0, 8539 } }, { 1, 0, 49, { 0, 8539 } }, { 1, 0, 50, { 0, 8539 } }, { 1, 0, 51, { 0, 8539 } }, }; // TODO sprite index too high
#endif
const SpriteDataB gObjectDefinition_2C[] = { { 1, 0, 0, { 109, SPRITE_BEANSTALK_0 } }, { 1, 0, 0, { 109, SPRITE_BEANSTALK_1 } }, { 1, 0, 0, { 109, SPRITE_BEANSTALK_1 } }, { 1, 0, 0, { 109, SPRITE_BEANSTALK_1 } }, { 1, 0, 0, { 109, SPRITE_BEANSTALK_1 } }, { 1, 0, 0, { 109, SPRITE_BEANSTALK_1 } }, { 1, 0, 0, { 109, SPRITE_BEANSTALK_1 } }, { 1, 0, 36, { 109, SPRITE_BEANSTALK_1 } }, { 1, 0, 36, { 109, SPRITE_BEANSTALK_1 } }, { 1, 0, 122, { 118, SPRITE_BEANSTALK_1 } }, };
const SpriteDataB gObjectDefinition_49[] = { { 1, 0, 62, { 43, 8392 } }, { 1, 0, 62, { 21, 8392 } }, { 1, 0, 62, { 21, 8392 } }, { 1, 0, 62, { 43, 200 } }, { 1, 0, 62, { 44, 8392 } }, { 1, 0, 63, { 45, 8393 } }, { 1, 0, 63, { 45, 8393 } }, { 1, 0, 63, { 45, 8393 } }, { 1, 0, 63, { 45, 8393 } }, { 1, 0, 62, { 43, 8392 } }, { 1, 0, 62, { 4, 8393 } }, }; // TODO sprite index too high
#ifdef EU
const SpriteDataB gObjectDefinition_4F[] = { { 1, 0, 98, { 10, 8599 } }, { 1, 0, 99, { 10, 8599 } }, { 1, 0, 103, { 10, 8599 } }, { 1, 0, 104, { 10, 8599 } }, { 1, 0, 105, { 10, 8599 } }, { 1, 0, 106, { 10, 8599 } }, { 1, 0, 108, { 10, 8599 } }, { 1, 0, 108, { 10, 8599 } }, { 1, 0, 109, { 10, 8599 } }, { 1, 0, 110, { 10, 8599 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 142, { 14, 8650 } }, { 1, 0, 100, { 10, 8599 } }, { 1, 0, 111, { 10, 8600 } }, { 1, 0, 101, { 10, 8599 } }, { 1, 0, 102, { 10, 8599 } }, { 1, 0, 132, { 120, 8534 } }, { 1, 0, 112, { 10, 8599 } }, { 1, 0, 283, { 10, 8599 } }, { 1, 0, 284, { 10, 8599 } }, { 1, 0, 285, { 10, 8601 } }, { 1, 0, 287, { 10, 8599 } }, { 1, 0, 305, { 10, 8602 } }, { 1, 0, 308, { 14, 8650 } }, { 1, 0, 309, { 18, 8650 } }, { 1, 0, 310, { 10, 8603 } }, { 1, 0, 323, { 10, 8599 } }, { 1, 0, 324, { 10, 8599 } }, { 1, 0, 107, { 10, 8604 } }, { 1, 0, 286, { 10, 8604 } }, { 1, 0, 412, { 10, 8599 } }, { 1, 0, 450, { 15, 8650 } }, { 1, 0, 488, { 354, 8687 } }, }; // TODO sprite index too high
#else
const SpriteDataB gObjectDefinition_4F[] = { { 1, 0, 98, { 10, 8600 } }, { 1, 0, 99, { 10, 8600 } }, { 1, 0, 103, { 10, 8600 } }, { 1, 0, 104, { 10, 8600 } }, { 1, 0, 105, { 10, 8600 } }, { 1, 0, 106, { 10, 8600 } }, { 1, 0, 108, { 10, 8600 } }, { 1, 0, 108, { 10, 8600 } }, { 1, 0, 109, { 10, 8600 } }, { 1, 0, 110, { 10, 8600 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 142, { 14, 8651 } }, { 1, 0, 100, { 10, 8600 } }, { 1, 0, 111, { 10, 8601 } }, { 1, 0, 101, { 10, 8600 } }, { 1, 0, 102, { 10, 8600 } }, { 1, 0, 132, { 120, 8535 } }, { 1, 0, 112, { 10, 8600 } }, { 1, 0, 283, { 10, 8600 } }, { 1, 0, 284, { 10, 8600 } }, { 1, 0, 285, { 10, 8602 } }, { 1, 0, 287, { 10, 8600 } }, { 1, 0, 305, { 10, 8603 } }, { 1, 0, 308, { 14, 8651 } }, { 1, 0, 309, { 18, 8651 } }, { 1, 0, 310, { 10, 8604 } }, { 1, 0, 323, { 10, 8600 } }, { 1, 0, 324, { 10, 8600 } }, { 1, 0, 107, { 10, 8605 } }, { 1, 0, 286, { 10, 8605 } }, { 1, 0, 412, { 10, 8600 } }, { 1, 0, 450, { 15, 8651 } }, { 1, 0, 488, { 354, 8688 } }, }; // TODO sprite index too high
#endif
const SpriteDataB gObjectDefinition_56[] = { { 1, 0, 119, { 0, SPRITE_THOUGHTBUBBLE } }, { 1, 0, 119, { 0, SPRITE_THOUGHTBUBBLE } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_26[] = { { 1, 0, 27, { 116, 457 } }, { 1, 0, 27, { 116, 457 } }, { 1, 0, 27, { 116, 457 } }, { 1, 0, 27, { 117, 457 } }, { 1, 0, 27, { 117, 457 } }, { 1, 0, 27, { 117, 457 } }, }; // TODO sprite index too high
#else
const SpriteDataB gObjectDefinition_26[] = { { 1, 0, 27, { 116, 458 } }, { 1, 0, 27, { 116, 458 } }, { 1, 0, 27, { 116, 458 } }, { 1, 0, 27, { 117, 458 } }, { 1, 0, 27, { 117, 458 } }, { 1, 0, 27, { 117, 458 } }, }; // TODO sprite index too high
#endif
const SpriteDataB gObjectDefinition_59[] = { { 1, 0, 1025, { 0, SPRITE_LAVAPLATFORM_1 } }, { 1, 0, 124, { 0, SPRITE_LAVAPLATFORM } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_4C[] = { { 1, 1, 90, { 87, 8543 } }, { 1, 1, 91, { 87, 8544 } }, { 1, 1, 126, { 87, 8552 } }, { 1, 1, 97, { 86, 8550 } }, { 1, 1, 280, { 101, 8552 } }, }; // TODO sprite index too high
const SpriteDataB gObjectDefinition_4D[] = { { 1, 0, 92, { 87, 8545 } }, { 1, 0, 91, { 87, 8544 } }, { 1, 0, 94, { 86, 8547 } }, { 1, 0, 97, { 86, 8550 } }, { 1, 0, 131, { 1, 8557 } }, { 1, 0, 147, { 1, 8558 } }, { 1, 0, 148, { 1, 8559 } }, { 1, 0, 149, { 90, 8560 } }, { 1, 0, 150, { 0, 8561 } }, { 1, 0, 151, { 91, 8562 } }, { 1, 0, 152, { 86, 8563 } }, { 1, 0, 163, { 4097, 9591 } }, { 1, 0, 164, { 94, 8568 } }, { 1, 0, 165, { 94, 8569 } }, { 1, 0, 166, { 92, 8570 } }, { 1, 0, 167, { 93, 8571 } }, { 1, 0, 150, { 1, 8561 } }, { 1, 0, 153, { 86, 8564 } }, { 1, 0, 154, { 1, 8565 } }, { 1, 0, 155, { 88, 8566 } }, { 1, 0, 170, { 2, 8540 } }, { 1, 0, 171, { 2, 8541 } }, { 1, 0, 172, { 2, 8542 } }, { 1, 0, 156, { 86, 8572 } }, { 1, 0, 194, { 48, 8535 } }, { 1, 0, 157, { 87, 8573 } }, { 1, 0, 374, { 105, 8592 } }, { 1, 0, 159, { 86, 8574 } }, { 1, 0, 160, { 0, 8575 } }, { 1, 0, 161, { 1, 8576 } }, { 1, 0, 162, { 99, 8577 } }, { 1, 0, 242, { 211, 8632 } }, { 1, 0, 278, { 102, 8578 } }, { 1, 0, 279, { 102, 8579 } }, { 1, 0, 280, { 101, 8552 } }, { 1, 0, 281, { 101, 8543 } }, { 1, 0, 282, { 100, 8550 } }, { 1, 0, 296, { 87, 8580 } }, { 1, 0, 325, { 292, 8605 } }, { 1, 0, 327, { 294, 8606 } }, { 1, 0, 328, { 291, 8607 } }, { 1, 0, 329, { 294, 8608 } }, { 1, 0, 330, { 294, 8609 } }, { 1, 0, 331, { 291, 8610 } }, { 1, 0, 332, { 294, 8611 } }, { 1, 0, 333, { 292, 8612 } }, { 1, 0, 334, { 292, 8613 } }, { 1, 0, 335, { 294, 8614 } }, { 1, 0, 336, { 292, 8615 } }, { 1, 0, 337, { 294, 8616 } }, { 1, 0, 338, { 292, 8617 } }, { 1, 0, 339, { 292, 8618 } }, { 1, 0, 340, { 292, 8619 } }, { 1, 0, 341, { 290, 8620 } }, { 1, 0, 342, { 293, 8621 } }, { 1, 0, 343, { 292, 8622 } }, { 1, 0, 345, { 103, 8584 } }, { 1, 0, 348, { 88, 8585 } }, { 1, 0, 368, { 104, 8591 } }, { 1, 0, 378, { 86, 8594 } }, { 1, 0, 380, { 86, 8595 } }, { 1, 0, 381, { 108, 8596 } }, { 1, 0, 151, { 91, 8562 } }, { 1, 0, 426, { 322, 8625 } }, { 1, 0, 427, { 321, 8626 } }, { 1, 0, 428, { 321, 8627 } }, { 1, 0, 429, { 322, 8628 } }, { 1, 0, 430, { 0, 8629 } }, { 1, 0, 489, { 294, 8623 } }, { 1, 0, 490, { 291, 8624 } }, }; // TODO sprite index too high
const SpriteDataB gObjectDefinition_5A[] = { { 1, 0, 95, { 86, 8548 } }, { 1, 0, 96, { 86, 8549 } }, { 1, 0, 367, { 0, 8590 } }, }; // TODO sprite index too high
#else
const SpriteDataB gObjectDefinition_4C[] = { { 1, 1, 90, { 87, 8544 } }, { 1, 1, 91, { 87, 8545 } }, { 1, 1, 126, { 87, 8553 } }, { 1, 1, 97, { 86, 8551 } }, { 1, 1, 280, { 101, 8553 } }, }; // TODO sprite index too high
const SpriteDataB gObjectDefinition_4D[] = { { 1, 0, 92, { 87, 8546 } }, { 1, 0, 91, { 87, 8545 } }, { 1, 0, 94, { 86, 8548 } }, { 1, 0, 97, { 86, 8551 } }, { 1, 0, 131, { 1, 8558 } }, { 1, 0, 147, { 1, 8559 } }, { 1, 0, 148, { 1, 8560 } }, { 1, 0, 149, { 90, 8561 } }, { 1, 0, 150, { 0, 8562 } }, { 1, 0, 151, { 91, 8563 } }, { 1, 0, 152, { 86, 8564 } }, { 1, 0, 163, { 4097, 9592 } }, { 1, 0, 164, { 94, 8569 } }, { 1, 0, 165, { 94, 8570 } }, { 1, 0, 166, { 92, 8571 } }, { 1, 0, 167, { 93, 8572 } }, { 1, 0, 150, { 1, 8562 } }, { 1, 0, 153, { 86, 8565 } }, { 1, 0, 154, { 1, 8566 } }, { 1, 0, 155, { 88, 8567 } }, { 1, 0, 170, { 2, 8541 } }, { 1, 0, 171, { 2, 8542 } }, { 1, 0, 172, { 2, 8543 } }, { 1, 0, 156, { 86, 8573 } }, { 1, 0, 194, { 48, 8536 } }, { 1, 0, 157, { 87, 8574 } }, { 1, 0, 374, { 105, 8593 } }, { 1, 0, 159, { 86, 8575 } }, { 1, 0, 160, { 0, 8576 } }, { 1, 0, 161, { 1, 8577 } }, { 1, 0, 162, { 99, 8578 } }, { 1, 0, 242, { 211, 8633 } }, { 1, 0, 278, { 102, 8579 } }, { 1, 0, 279, { 102, 8580 } }, { 1, 0, 280, { 101, 8553 } }, { 1, 0, 281, { 101, 8544 } }, { 1, 0, 282, { 100, 8551 } }, { 1, 0, 296, { 87, 8581 } }, { 1, 0, 325, { 292, 8606 } }, { 1, 0, 327, { 294, 8607 } }, { 1, 0, 328, { 291, 8608 } }, { 1, 0, 329, { 294, 8609 } }, { 1, 0, 330, { 294, 8610 } }, { 1, 0, 331, { 291, 8611 } }, { 1, 0, 332, { 294, 8612 } }, { 1, 0, 333, { 292, 8613 } }, { 1, 0, 334, { 292, 8614 } }, { 1, 0, 335, { 294, 8615 } }, { 1, 0, 336, { 292, 8616 } }, { 1, 0, 337, { 294, 8617 } }, { 1, 0, 338, { 292, 8618 } }, { 1, 0, 339, { 292, 8619 } }, { 1, 0, 340, { 292, 8620 } }, { 1, 0, 341, { 290, 8621 } }, { 1, 0, 342, { 293, 8622 } }, { 1, 0, 343, { 292, 8623 } }, { 1, 0, 345, { 103, 8585 } }, { 1, 0, 348, { 88, 8586 } }, { 1, 0, 368, { 104, 8592 } }, { 1, 0, 378, { 86, 8595 } }, { 1, 0, 380, { 86, 8596 } }, { 1, 0, 381, { 108, 8597 } }, { 1, 0, 151, { 91, 8563 } }, { 1, 0, 426, { 322, 8626 } }, { 1, 0, 427, { 321, 8627 } }, { 1, 0, 428, { 321, 8628 } }, { 1, 0, 429, { 322, 8629 } }, { 1, 0, 430, { 0, 8630 } }, { 1, 0, 489, { 294, 8624 } }, { 1, 0, 490, { 291, 8625 } }, }; // TODO sprite index too high
const SpriteDataB gObjectDefinition_5A[] = { { 1, 0, 95, { 86, 8549 } }, { 1, 0, 96, { 86, 8550 } }, { 1, 0, 367, { 0, 8591 } }, }; // TODO sprite index too high
#endif
const SpriteDataB gObjectDefinition_61[] = { { 1, 0, 1025, { 18, SPRITE_13 } }, { 1, 0, 1025, { 18, SPRITE_13 } }, };
const SpriteDataB gObjectDefinition_64[] = { { 1, 0, 133, { 1, SPRITE_OBJECT64 } }, { 1, 0, 133, { 1, SPRITE_OBJECT64 } }, { 1, 0, 133, { 1, SPRITE_OBJECT64 } }, };
const SpriteDataB gObjectDefinition_67[] = { { 1, 0, 173, { 203, 8418 } }, { 1, 0, 174, { 208, 8418 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 1025, { 0, 8295 } }, }; // TODO sprite index too high
const SpriteDataB gObjectDefinition_68[] = { { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_6A[] = { { 1, 0, 25, { 1, 8376 } }, { 1, 0, 1025, { 4096, 11297 } }, { 1, 0, 405, { 0, 8484 } }, { 1, 0, 1025, { 4096, 8513 } }, { 1, 0, 510, { 4096, 8508 } }, { 1, 0, 465, { 4097, 8499 } }, { 1, 3, 252, { 1, 481 } }, { 1, 4, 522, { 22, 9539 } }, { 1, 0, 1025, { 2, 8226 } }, { 1, 0, 1025, { 2, 8227 } }, { 1, 0, 195, { 8339, 3256 } }, { 1, 0, 1026, { 2, 8226 } }, { 1, 0, 382, { 1, 9483 } }, { 1, 0, 405, { 313, 9508 } }, { 1, 0, 369, { 0, 268 } }, { 1, 0, 369, { 2, 8460 } }, { 1, 0, 369, { 2, 8460 } }, { 1, 0, 1026, { 339, 8288 } }, { 1, 0, 2082, { 4, 322 } }, { 1, 0, 1, { 4096, 11438 } }, { 1, 0, 1, { 4097, 11440 } }, { 1, 0, 1025, { 4096, 8513 } }, { 1, 0, 1025, { 286, 8230 } }, { 1, 0, 442, { 300, 498 } }, { 1, 0, 1025, { 0, 8513 } }, { 1, 0, 1025, { 2, 8359 } }, { 1, 0, 114, { 110, 8400 } }, { 1, 0, 1025, { 4379, 8224 } }, { 1, 0, 1025, { 4382, 8230 } }, { 1, 0, 456, { 4382, 8494 } }, { 1, 0, 459, { 4099, 8355 } }, { 1, 0, 1025, { 4096, 8206 } }, { 1, 0, 199, { 4208, 11492 } }, { 1, 0, 199, { 4209, 11492 } }, { 1, 0, 1025, { 4118, 1060 } }, { 1, 0, 457, { 285, 8355 } }, { 1, 0, 458, { 285, 8355 } }, { 1, 0, 459, { 4099, 8355 } }, { 1, 0, 506, { 1, 8646 } }, { 1, 0, 508, { 380, 8647 } }, { 1, 0, 509, { 381, 8648 } }, { 1, 0, 1025, { 0, 9537 } }, { 1, 0, 1025, { 0, 9537 } }, }; // TODO sprite index too high
#else
const SpriteDataB gObjectDefinition_6A[] = { { 1, 0, 25, { 1, 8376 } }, { 1, 0, 1025, { 4096, 11297 } }, { 1, 0, 405, { 0, 8485 } }, { 1, 0, 1025, { 4096, 8514 } }, { 1, 0, 510, { 4096, 8509 } }, { 1, 0, 465, { 4097, 8500 } }, { 1, 3, 252, { 1, 482 } }, { 1, 4, 523, { 22, 9540 } }, { 1, 0, 1025, { 2, 8226 } }, { 1, 0, 1025, { 2, 8227 } }, { 1, 0, 195, { 8339, 3256 } }, { 1, 0, 1026, { 2, 8226 } }, { 1, 0, 382, { 1, 9483 } }, { 1, 0, 405, { 313, 9509 } }, { 1, 0, 369, { 0, 268 } }, { 1, 0, 369, { 2, 8460 } }, { 1, 0, 369, { 2, 8460 } }, { 1, 0, 1026, { 339, 8288 } }, { 1, 0, 2082, { 4, 323 } }, { 1, 0, 1, { 4096, 11438 } }, { 1, 0, 1, { 4097, 11440 } }, { 1, 0, 1025, { 4096, 8514 } }, { 1, 0, 1025, { 286, 8230 } }, { 1, 0, 442, { 300, 499 } }, { 1, 0, 1025, { 0, 8514 } }, { 1, 0, 1025, { 2, 8359 } }, { 1, 0, 114, { 110, 8400 } }, { 1, 0, 1025, { 4379, 8224 } }, { 1, 0, 1025, { 4382, 8230 } }, { 1, 0, 456, { 4382, 8495 } }, { 1, 0, 459, { 4099, 8355 } }, { 1, 0, 1025, { 4096, 8206 } }, { 1, 0, 199, { 4208, 11492 } }, { 1, 0, 199, { 4209, 11492 } }, { 1, 0, 1025, { 4118, 1060 } }, { 1, 0, 457, { 285, 8355 } }, { 1, 0, 458, { 285, 8355 } }, { 1, 0, 459, { 4099, 8355 } }, { 1, 0, 506, { 1, 8647 } }, { 1, 0, 508, { 380, 8648 } }, { 1, 0, 509, { 381, 8649 } }, { 1, 0, 1025, { 0, 9538 } }, { 1, 0, 1025, { 0, 9538 } }, }; // TODO sprite index too high
#endif
// TODO deduplicate using sprite indices enum
const SpriteDataB gObjectDefinition_6B[] = { { 1, 0, 138, { 2, 8410 } }, { 1, 0, 139, { 131, 8410 } }, { 1, 0, 138, { 1, 8410 } }, { 1, 0, 139, { 131, 8410 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_5D[] = { { 1, 0, 127, { 85, 361 } }, { 1, 0, 128, { 1, 362 } }, { 1, 0, 245, { 213, 443 } }, { 1, 0, 181, { 134, 439 } }, { 1, 0, 479, { 348, 362 } }, { 1, 0, 480, { 349, 362 } }, };
#else
const SpriteDataB gObjectDefinition_5D[] = { { 1, 0, 127, { 85, 362 } }, { 1, 0, 128, { 1, 363 } }, { 1, 0, 245, { 213, 444 } }, { 1, 0, 181, { 134, 440 } }, { 1, 0, 479, { 348, 363 } }, { 1, 0, 480, { 349, 363 } }, };
#endif
const SpriteDataB gObjectDefinition_11[] = { { 1, 0, 2280, { 2, 8359 } }, { 1, 0, 2272, { 5, 8359 } }, { 1, 0, 2290, { 5, 8359 } }, { 1, 0, 2048, { 5, 8358 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_6F[] = { { 1, 0, 179, { 133, 8630 } }, { 1, 0, 182, { 135, 8630 } }, { 1, 0, 183, { 136, 8630 } }, { 1, 0, 184, { 137, 8630 } }, { 1, 0, 185, { 138, 8630 } }, { 1, 0, 186, { 139, 8630 } }, { 1, 0, 186, { 139, 8630 } }, { 1, 0, 187, { 140, 8630 } }, { 1, 0, 188, { 141, 8630 } }, { 1, 0, 189, { 142, 8630 } }, { 1, 0, 190, { 143, 8630 } }, { 1, 0, 244, { 212, 8630 } }, { 1, 0, 191, { 144, 8630 } }, { 1, 0, 192, { 145, 8630 } }, { 1, 0, 193, { 146, 8630 } }, { 1, 0, 298, { 274, 8630 } }, { 1, 0, 299, { 275, 8630 } }, { 1, 0, 300, { 276, 8630 } }, { 1, 0, 301, { 277, 8630 } }, { 1, 0, 302, { 278, 8630 } }, { 1, 0, 303, { 279, 8630 } }, };
const SpriteDataB gObjectDefinition_6D[] = { { 1, 0, 178, { 5, 459 } }, { 1, 0, 178, { 0, 459 } }, { 1, 0, 178, { 12, 459 } }, { 1, 0, 178, { 12, 459 } }, { 1, 0, 178, { 0, 459 } }, { 1, 0, 178, { 0, 459 } }, };
const SpriteDataB gObjectDefinition_3B[] = { { 1, 0, 209, { 159, 334 } }, { 1, 0, 209, { 158, 334 } }, { 1, 0, 209, { 158, 334 } }, { 1, 0, 209, { 158, 334 } }, { 1, 0, 209, { 158, 334 } }, { 1, 0, 209, { 160, 334 } }, { 1, 0, 209, { 160, 334 } }, { 1, 0, 209, { 160, 334 } }, { 1, 0, 209, { 160, 334 } }, };
const SpriteDataB gObjectDefinition_75[] = { { 1, 0, 212, { 162, 335 } }, { 1, 0, 212, { 161, 335 } }, { 1, 0, 212, { 161, 335 } }, { 1, 0, 212, { 161, 335 } }, { 1, 0, 212, { 161, 335 } }, { 1, 0, 212, { 163, 335 } }, { 1, 0, 212, { 163, 335 } }, { 1, 0, 212, { 163, 335 } }, { 1, 0, 212, { 163, 335 } }, };
const SpriteDataB gObjectDefinition_76[] = { { 1, 0, 210, { 165, 336 } }, { 1, 0, 210, { 164, 336 } }, { 1, 0, 210, { 164, 336 } }, { 1, 0, 210, { 164, 336 } }, { 1, 0, 210, { 164, 336 } }, { 1, 0, 210, { 166, 336 } }, { 1, 0, 210, { 166, 336 } }, { 1, 0, 210, { 166, 336 } }, { 1, 0, 210, { 166, 336 } }, { 1, 0, 211, { 168, 336 } }, { 1, 0, 211, { 167, 336 } }, { 1, 0, 211, { 167, 336 } }, { 1, 0, 211, { 167, 336 } }, { 1, 0, 211, { 167, 336 } }, { 1, 0, 211, { 169, 336 } }, { 1, 0, 211, { 169, 336 } }, { 1, 0, 211, { 169, 336 } }, { 1, 0, 211, { 169, 336 } }, };
const SpriteDataB gObjectDefinition_3E[] = { { 1, 0, 20, { 51, 8520 } }, { 1, 0, 392, { 301, 8679 } }, { 1, 0, 392, { 301, 8679 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 394, { 1, 8643 } }, { 1, 0, 394, { 1, 8643 } }, { 1, 0, 447, { 329, 8691 } }, { 1, 0, 447, { 329, 8691 } }, { 1, 0, 448, { 332, 8692 } }, };
#else
const SpriteDataB gObjectDefinition_6F[] = { { 1, 0, 179, { 133, 8631 } }, { 1, 0, 182, { 135, 8631 } }, { 1, 0, 183, { 136, 8631 } }, { 1, 0, 184, { 137, 8631 } }, { 1, 0, 185, { 138, 8631 } }, { 1, 0, 186, { 139, 8631 } }, { 1, 0, 186, { 139, 8631 } }, { 1, 0, 187, { 140, 8631 } }, { 1, 0, 188, { 141, 8631 } }, { 1, 0, 189, { 142, 8631 } }, { 1, 0, 190, { 143, 8631 } }, { 1, 0, 244, { 212, 8631 } }, { 1, 0, 191, { 144, 8631 } }, { 1, 0, 192, { 145, 8631 } }, { 1, 0, 193, { 146, 8631 } }, { 1, 0, 298, { 274, 8631 } }, { 1, 0, 299, { 275, 8631 } }, { 1, 0, 300, { 276, 8631 } }, { 1, 0, 301, { 277, 8631 } }, { 1, 0, 302, { 278, 8631 } }, { 1, 0, 303, { 279, 8631 } }, };
const SpriteDataB gObjectDefinition_6D[] = { { 1, 0, 178, { 5, 460 } }, { 1, 0, 178, { 0, 460 } }, { 1, 0, 178, { 12, 460 } }, { 1, 0, 178, { 12, 460 } }, { 1, 0, 178, { 0, 460 } }, { 1, 0, 178, { 0, 460 } }, };
const SpriteDataB gObjectDefinition_3B[] = { { 1, 0, 209, { 159, 335 } }, { 1, 0, 209, { 158, 335 } }, { 1, 0, 209, { 158, 335 } }, { 1, 0, 209, { 158, 335 } }, { 1, 0, 209, { 158, 335 } }, { 1, 0, 209, { 160, 335 } }, { 1, 0, 209, { 160, 335 } }, { 1, 0, 209, { 160, 335 } }, { 1, 0, 209, { 160, 335 } }, };
const SpriteDataB gObjectDefinition_75[] = { { 1, 0, 212, { 162, 336 } }, { 1, 0, 212, { 161, 336 } }, { 1, 0, 212, { 161, 336 } }, { 1, 0, 212, { 161, 336 } }, { 1, 0, 212, { 161, 336 } }, { 1, 0, 212, { 163, 336 } }, { 1, 0, 212, { 163, 336 } }, { 1, 0, 212, { 163, 336 } }, { 1, 0, 212, { 163, 336 } }, };
const SpriteDataB gObjectDefinition_76[] = { { 1, 0, 210, { 165, 337 } }, { 1, 0, 210, { 164, 337 } }, { 1, 0, 210, { 164, 337 } }, { 1, 0, 210, { 164, 337 } }, { 1, 0, 210, { 164, 337 } }, { 1, 0, 210, { 166, 337 } }, { 1, 0, 210, { 166, 337 } }, { 1, 0, 210, { 166, 337 } }, { 1, 0, 210, { 166, 337 } }, { 1, 0, 211, { 168, 337 } }, { 1, 0, 211, { 167, 337 } }, { 1, 0, 211, { 167, 337 } }, { 1, 0, 211, { 167, 337 } }, { 1, 0, 211, { 167, 337 } }, { 1, 0, 211, { 169, 337 } }, { 1, 0, 211, { 169, 337 } }, { 1, 0, 211, { 169, 337 } }, { 1, 0, 211, { 169, 337 } }, };
const SpriteDataB gObjectDefinition_3E[] = { { 1, 0, 20, { 51, 8521 } }, { 1, 0, 392, { 301, 8680 } }, { 1, 0, 392, { 301, 8680 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 394, { 1, 8644 } }, { 1, 0, 394, { 1, 8644 } }, { 1, 0, 447, { 329, 8692 } }, { 1, 0, 447, { 329, 8692 } }, { 1, 0, 448, { 332, 8693 } }, };
#endif
const SpriteDataB gObjectDefinition_1B[] = { { 1, 0, 196, { 148, 227 } }, { 1, 0, 196, { 148, 227 } }, { 1, 0, 196, { 149, 227 } }, { 1, 0, 196, { 148, 227 } }, { 1, 0, 196, { 148, 227 } }, { 1, 0, 196, { 149, 227 } }, { 1, 0, 196, { 149, 227 } }, { 1, 0, 196, { 148, 227 } }, { 1, 0, 196, { 149, 227 } }, { 1, 0, 196, { 0, 227 } }, { 1, 0, 196, { 148, 227 } }, { 1, 0, 197, { 150, 227 } }, { 1, 0, 197, { 150, 227 } }, { 1, 0, 197, { 151, 227 } }, { 1, 0, 197, { 150, 227 } }, { 1, 0, 197, { 150, 227 } }, { 1, 0, 197, { 151, 227 } }, { 1, 0, 197, { 151, 227 } }, { 1, 0, 197, { 150, 227 } }, { 1, 0, 197, { 151, 227 } }, { 1, 0, 197, { 0, 227 } }, { 1, 0, 197, { 150, 227 } }, { 1, 0, 198, { 152, 227 } }, { 1, 0, 198, { 152, 227 } }, { 1, 0, 198, { 153, 227 } }, { 1, 0, 198, { 152, 227 } }, { 1, 0, 198, { 152, 227 } }, { 1, 0, 198, { 153, 227 } }, { 1, 0, 198, { 153, 227 } }, { 1, 0, 198, { 152, 227 } }, { 1, 0, 198, { 153, 227 } }, { 1, 0, 198, { 0, 227 } }, { 1, 0, 198, { 152, 227 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_71[] = { { 1, 0, 204, { 12, 8524 } }, { 1, 0, 204, { 12, 8524 } }, { 1, 0, 203, { 5, 8524 } }, };
const SpriteDataB gObjectDefinition_72[] = { { 1, 0, 205, { 155, 8652 } }, { 1, 0, 205, { 156, 8652 } }, { 1, 0, 205, { 157, 8652 } }, { 1, 0, 445, { 328, 8669 } }, };
const SpriteDataB gObjectDefinition_78[] = { { 1, 0, 226, { 11, 8530 } }, { 1, 0, 229, { 14, 8532 } }, { 1, 0, 230, { 182, 8531 } }, { 1, 0, 235, { 197, 8533 } }, };
const SpriteDataB gObjectDefinition_7C[] = { { 1, 0, 240, { 209, 8633 } }, { 1, 0, 241, { 210, 8634 } }, };
const SpriteDataB gObjectDefinition_46[] = { { 1, 0, 246, { 214, 444 } }, { 1, 0, 247, { 215, 444 } }, { 1, 0, 248, { 216, 444 } }, };
#else
const SpriteDataB gObjectDefinition_71[] = { { 1, 0, 204, { 12, 8525 } }, { 1, 0, 204, { 12, 8525 } }, { 1, 0, 203, { 5, 8525 } }, };
const SpriteDataB gObjectDefinition_72[] = { { 1, 0, 205, { 155, 8653 } }, { 1, 0, 205, { 156, 8653 } }, { 1, 0, 205, { 157, 8653 } }, { 1, 0, 445, { 328, 8670 } }, };
const SpriteDataB gObjectDefinition_78[] = { { 1, 0, 226, { 11, 8531 } }, { 1, 0, 229, { 14, 8533 } }, { 1, 0, 230, { 182, 8532 } }, { 1, 0, 235, { 197, 8534 } }, };
const SpriteDataB gObjectDefinition_7C[] = { { 1, 0, 240, { 209, 8634 } }, { 1, 0, 241, { 210, 8635 } }, };
const SpriteDataB gObjectDefinition_46[] = { { 1, 0, 246, { 214, 445 } }, { 1, 0, 247, { 215, 445 } }, { 1, 0, 248, { 216, 445 } }, };
#endif
const SpriteDataB gObjectDefinition_7D[] = { { 1, 1, 2280, { 2, 8359 } }, { 1, 1, 2272, { 5, 8359 } }, };
const SpriteDataB gObjectDefinition_7F[] = { { 1, 1, 304, { 280, 8447 } }, { 1, 1, 304, { 280, 8447 } }, { 1, 1, 304, { 2, 8447 } }, { 1, 1, 304, { 0, 8447 } }, { 1, 1, 304, { 1, 8447 } }, { 1, 1, 304, { 4, 8447 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_35[] = { { 1, 1, 311, { 0, 8448 } }, { 1, 1, 312, { 0, 8583 } }, { 1, 0, 497, { 0, 8694 } }, };
const SpriteDataB gObjectDefinition_5C[] = { { 1, 0, 129, { 0, 8555 } }, { 1, 0, 129, { 1, 8555 } }, };
#else
const SpriteDataB gObjectDefinition_35[] = { { 1, 1, 311, { 0, 8448 } }, { 1, 1, 312, { 0, 8584 } }, { 1, 0, 497, { 0, 8695 } }, };
const SpriteDataB gObjectDefinition_5C[] = { { 1, 0, 129, { 0, 8556 } }, { 1, 0, 129, { 1, 8556 } }, };
#endif
const SpriteDataB gObjectDefinition_84[] = { { 1, 0, 314, { 1, 8451 } }, { 1, 0, 316, { 1, 8451 } }, { 1, 0, 317, { 1, 8451 } }, { 1, 0, 318, { 1, 8451 } }, };
const SpriteDataB gObjectDefinition_85[] = { { 1, 0, 313, { 1, 8449 } }, { 1, 0, 320, { 1, 8449 } }, { 1, 0, 319, { 1, 8449 } }, { 1, 0, 321, { 1, 8449 } }, { 1, 0, 322, { 1, 8450 } }, };
const SpriteDataB gObjectDefinition_87[] = { { 1, 0, 2086, { 0, 8365 } }, { 1, 0, 2086, { 0, 8365 } }, { 1, 0, 272, { 3, 8446 } }, { 1, 0, 273, { 245, 8446 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 274, { 240, 8446 } }, { 1, 0, 272, { 3, 8446 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, { 1, 0, 0, { 0, 0 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_8A[] = { { 1, 0, 350, { 106, 8587 } }, { 1, 0, 351, { 104, 8588 } }, { 1, 0, 352, { 104, 8589 } }, };
const SpriteDataB gObjectDefinition_8C[] = { { 1, 1, 1025, { 4096, 9537 } }, { 1, 1, 1025, { 4096, 9537 } }, { 1, 1, 1025, { 4096, 9537 } }, };
#else
const SpriteDataB gObjectDefinition_8A[] = { { 1, 0, 350, { 106, 8588 } }, { 1, 0, 351, { 104, 8589 } }, { 1, 0, 352, { 104, 8590 } }, };
const SpriteDataB gObjectDefinition_8C[] = { { 1, 1, 1025, { 4096, 9538 } }, { 1, 1, 1025, { 4096, 9538 } }, { 1, 1, 1025, { 4096, 9538 } }, };
#endif
const SpriteDataB gObjectDefinition_91[] = { { 1, 1, 276, { 4336, 8446 } }, { 1, 1, 266, { 4336, 8446 } }, { 1, 1, 266, { 4336, 8446 } }, { 1, 1, 266, { 4336, 8446 } }, { 1, 1, 266, { 4336, 8446 } }, { 1, 1, 267, { 4336, 8446 } }, { 1, 1, 276, { 4336, 8446 } }, { 1, 0, 0, { 4096, 0 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_92[] = { { 1, 0, 158, { 106, 8593 } }, { 1, 0, 375, { 1, 265 } }, };
const SpriteDataB gObjectDefinition_95[] = { { 1, 1, 370, { 4097, 9485 } }, { 1, 1, 1025, { 0, 11585 } }, { 1, 1, 1025, { 0, 11585 } }, { 1, 1, 371, { 4096, 8462 } }, { 1, 1, 371, { 4097, 8462 } }, { 1, 1, 371, { 4098, 8462 } }, { 1, 1, 371, { 4099, 8462 } }, { 1, 1, 371, { 4100, 8462 } }, { 1, 1, 370, { 4097, 9485 } }, { 1, 1, 370, { 4097, 9485 } }, { 1, 0, 1025, { 4118, 9218 } }, };
const SpriteDataB gObjectDefinition_96[] = { { 1, 1, 1025, { 4096, 9537 } }, { 1, 1, 521, { 0, 9539 } }, { 1, 1, 1025, { 4096, 9537 } }, { 1, 1, 1025, { 4096, 9537 } }, { 1, 1, 1025, { 4096, 9537 } }, { 1, 1, 1025, { 4096, 9537 } }, { 1, 1, 1025, { 4096, 9537 } }, { 1, 1, 2082, { 0, 9538 } }, };
const SpriteDataB gObjectDefinition_97[] = { { 1, 0, 236, { 0, 9457 } }, { 1, 0, 1025, { 0, 9537 } }, { 1, 0, 236, { 0, 9457 } }, { 1, 0, 236, { 0, 9457 } }, { 1, 0, 236, { 0, 9457 } }, { 1, 0, 1025, { 0, 9537 } }, };
#else
const SpriteDataB gObjectDefinition_92[] = { { 1, 0, 158, { 106, 8594 } }, { 1, 0, 375, { 1, 265 } }, };
const SpriteDataB gObjectDefinition_95[] = { { 1, 1, 370, { 4097, 9485 } }, { 1, 1, 1025, { 0, 11586 } }, { 1, 1, 1025, { 0, 11586 } }, { 1, 1, 371, { 4096, 8462 } }, { 1, 1, 371, { 4097, 8462 } }, { 1, 1, 371, { 4098, 8462 } }, { 1, 1, 371, { 4099, 8462 } }, { 1, 1, 371, { 4100, 8462 } }, { 1, 1, 370, { 4097, 9485 } }, { 1, 1, 370, { 4097, 9485 } }, { 1, 0, 1025, { 4118, 9218 } }, };
const SpriteDataB gObjectDefinition_96[] = { { 1, 1, 1025, { 4096, 9538 } }, { 1, 1, 522, { 0, 9540 } }, { 1, 1, 1025, { 4096, 9538 } }, { 1, 1, 1025, { 4096, 9538 } }, { 1, 1, 1025, { 4096, 9538 } }, { 1, 1, 1025, { 4096, 9538 } }, { 1, 1, 1025, { 4096, 9538 } }, { 1, 1, 2082, { 0, 9539 } }, };
const SpriteDataB gObjectDefinition_97[] = { { 1, 0, 236, { 0, 9457 } }, { 1, 0, 1025, { 0, 9538 } }, { 1, 0, 236, { 0, 9457 } }, { 1, 0, 236, { 0, 9457 } }, { 1, 0, 236, { 0, 9457 } }, { 1, 0, 1025, { 0, 9538 } }, };
#endif
const SpriteDataB gObjectDefinition_33[] = { { 1, 0, 54, { 1, 8389 } }, { 1, 0, 383, { 1, 8389 } }, { 1, 0, 384, { 1, 8389 } }, { 1, 0, 385, { 1, 8389 } }, { 1, 0, 386, { 1, 8389 } }, { 1, 0, 414, { 1, 8389 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_65[] = { { 1, 0, 249, { 217, 8637 } }, { 1, 0, 250, { 217, 8637 } }, { 1, 0, 251, { 217, 8637 } }, };
const SpriteDataB gObjectDefinition_22[] = { { 1, 4, 381, { 108, 8596 } }, { 1, 0, 390, { 107, 8597 } }, { 1, 0, 390, { 1, 8467 } }, { 1, 0, 0, { 0, 0 } }, };
#else
const SpriteDataB gObjectDefinition_65[] = { { 1, 0, 249, { 217, 8638 } }, { 1, 0, 250, { 217, 8638 } }, { 1, 0, 251, { 217, 8638 } }, };
const SpriteDataB gObjectDefinition_22[] = { { 1, 4, 381, { 108, 8597 } }, { 1, 0, 390, { 107, 8598 } }, { 1, 0, 390, { 1, 8467 } }, { 1, 0, 0, { 0, 0 } }, };
#endif
const SpriteDataB gObjectDefinition_54[] = { { 1, 0, 118, { 1, 211 } }, { 1, 0, 391, { 1, 276 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_28[] = { { 1, 0, 355, { 296, 8656 } }, { 1, 0, 355, { 296, 8656 } }, { 1, 0, 355, { 296, 8656 } }, { 1, 0, 355, { 296, 8656 } }, { 1, 0, 355, { 296, 8656 } }, { 1, 0, 356, { 298, 8657 } }, { 1, 0, 357, { 297, 8657 } }, { 1, 0, 358, { 297, 8657 } }, { 1, 0, 359, { 297, 8657 } }, { 1, 0, 360, { 297, 8657 } }, { 1, 0, 361, { 297, 8657 } }, { 1, 0, 362, { 297, 8657 } }, { 1, 0, 363, { 297, 8657 } }, { 1, 0, 364, { 297, 8657 } }, { 1, 0, 365, { 298, 8657 } }, { 1, 0, 354, { 15, 8654 } }, };
const SpriteDataB gObjectDefinition_A0[] = { { 1, 0, 433, { 0, 8481 } }, { 1, 0, 434, { 0, 8481 } }, { 1, 0, 433, { 0, 8481 } }, { 1, 0, 434, { 0, 8481 } }, };
const SpriteDataB gObjectDefinition_A4[] = { { 1, 0, 438, { 324, 8638 } }, { 1, 0, 439, { 325, 8639 } }, { 1, 0, 440, { 326, 8640 } }, { 1, 0, 441, { 327, 8641 } }, };
#else
const SpriteDataB gObjectDefinition_28[] = { { 1, 0, 355, { 296, 8657 } }, { 1, 0, 355, { 296, 8657 } }, { 1, 0, 355, { 296, 8657 } }, { 1, 0, 355, { 296, 8657 } }, { 1, 0, 355, { 296, 8657 } }, { 1, 0, 356, { 298, 8658 } }, { 1, 0, 357, { 297, 8658 } }, { 1, 0, 358, { 297, 8658 } }, { 1, 0, 359, { 297, 8658 } }, { 1, 0, 360, { 297, 8658 } }, { 1, 0, 361, { 297, 8658 } }, { 1, 0, 362, { 297, 8658 } }, { 1, 0, 363, { 297, 8658 } }, { 1, 0, 364, { 297, 8658 } }, { 1, 0, 365, { 298, 8658 } }, { 1, 0, 354, { 15, 8655 } }, };
const SpriteDataB gObjectDefinition_A0[] = { { 1, 0, 433, { 0, 8482 } }, { 1, 0, 434, { 0, 8482 } }, { 1, 0, 433, { 0, 8482 } }, { 1, 0, 434, { 0, 8482 } }, };
const SpriteDataB gObjectDefinition_A4[] = { { 1, 0, 438, { 324, 8639 } }, { 1, 0, 439, { 325, 8640 } }, { 1, 0, 440, { 326, 8641 } }, { 1, 0, 441, { 327, 8642 } }, };
#endif
const SpriteDataB gObjectDefinition_A9[] = { { 1, 0, 2202, { 3, 8354 } }, { 1, 0, 133, { 1, 8356 } }, { 1, 0, 2144, { 3, 8354 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_AA[] = { { 1, 0, 395, { 17, 8644 } }, { 1, 0, 396, { 17, 8644 } }, { 1, 0, 397, { 17, 8644 } }, };
const SpriteDataB gObjectDefinition_19[] = { { 1, 0, 41, { 47, 345 } }, { 1, 0, 466, { 340, 8537 } }, { 1, 0, 467, { 341, 8537 } }, { 1, 0, 468, { 342, 8537 } }, { 1, 0, 469, { 343, 8537 } }, { 1, 0, 470, { 344, 8537 } }, { 1, 0, 471, { 345, 8537 } }, { 1, 0, 472, { 346, 8537 } }, { 1, 0, 473, { 347, 8537 } }, };
#else
const SpriteDataB gObjectDefinition_AA[] = { { 1, 0, 395, { 17, 8645 } }, { 1, 0, 396, { 17, 8645 } }, { 1, 0, 397, { 17, 8645 } }, };
const SpriteDataB gObjectDefinition_19[] = { { 1, 0, 41, { 47, 346 } }, { 1, 0, 466, { 340, 8538 } }, { 1, 0, 467, { 341, 8538 } }, { 1, 0, 468, { 342, 8538 } }, { 1, 0, 469, { 343, 8538 } }, { 1, 0, 470, { 344, 8538 } }, { 1, 0, 471, { 345, 8538 } }, { 1, 0, 472, { 346, 8538 } }, { 1, 0, 473, { 347, 8538 } }, };
#endif
const SpriteDataB gObjectDefinition_AD[] = { { 1, 0, 474, { 385, 8192 } }, { 1, 0, 475, { 0, 8192 } }, { 1, 0, 476, { 1, 8192 } }, { 1, 0, 477, { 2, 8192 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_5F[] = { { 1, 0, 130, { 88, 8556 } }, { 1, 4, 483, { 351, 8671 } }, };
const SpriteDataB gObjectDefinition_B4[] = { { 1, 0, 495, { 358, 510 } }, { 1, 0, 495, { 357, 510 } }, { 1, 0, 495, { 358, 510 } }, { 1, 0, 495, { 356, 510 } }, };
const SpriteDataB gObjectDefinition_BD[] = { { 1, 0, 511, { 359, 510 } }, { 1, 0, 512, { 360, 510 } }, { 1, 0, 513, { 359, 510 } }, { 1, 0, 513, { 360, 510 } }, { 1, 0, 514, { 361, 510 } }, };
#else
const SpriteDataB gObjectDefinition_5F[] = { { 1, 0, 130, { 88, 8557 } }, { 1, 4, 483, { 351, 8672 } }, };
const SpriteDataB gObjectDefinition_B4[] = { { 1, 0, 495, { 358, 511 } }, { 1, 0, 495, { 357, 511 } }, { 1, 0, 495, { 358, 511 } }, { 1, 0, 495, { 356, 511 } }, };
const SpriteDataB gObjectDefinition_BD[] = { { 1, 0, 511, { 359, 511 } }, { 1, 0, 512, { 360, 511 } }, { 1, 0, 513, { 359, 511 } }, { 1, 0, 513, { 360, 511 } }, { 1, 0, 514, { 361, 511 } }, };
#endif
const SpriteDataB gObjectDefinition_45[] = { { 1, 0, 2048, { 4, 8396 } }, { 1, 0, 2105, { 4, 8396 } }, };
#ifdef EU
const SpriteDataB gObjectDefinition_C0[] = { { 1, 0, 2246, { 0, 8514 } }, { 1, 0, 520, { 1, 8515 } }, };
#else
const SpriteDataB gObjectDefinition_C0[] = { { 1, 0, 2246, { 0, 8515 } }, { 1, 0, 521, { 1, 8516 } }, };
#endif
const SpriteDataB gObjectDefinition_B3[] = { { 1, 0, 494, { 0, 8387 } }, { 1, 0, 2720, { 0, 8387 } }, };
#ifndef EU
const SpriteDataB gObjectDefinition_B6[] = { { 1, 0, 502, { 363, 8479 } }, { 1, 0, 519, { 363, 8480 } }, };
#endif
#ifdef EU
const SpriteDataB gObjectDefinition_0[] = { { 1, 0, 0, { 0, 322 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 4, 8513 } }, { 1, 0, 1025, { 4, 8513 } }, { 1, 0, 1025, { 0, 9537 } }, { 1, 0, 1025, { 385, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 520, { 4, 8515 } }, { 1, 0, 1025, { 184, 9537 } }, { 1, 0, 1025, { 185, 9537 } }, { 1, 0, 1025, { 184, 9537 } }, { 1, 0, 1025, { 184, 9537 } }, { 1, 0, 1025, { 187, 9537 } }, { 1, 0, 1025, { 183, 9537 } }, { 1, 0, 1025, { 184, 9537 } }, { 1, 0, 1025, { 186, 9537 } }, { 1, 0, 520, { 4, 9539 } }, { 1, 0, 520, { 0, 9539 } }, { 1, 0, 520, { 4, 9539 } }, { 1, 0, 520, { 1, 9539 } }, { 1, 0, 2057, { 2, 9538 } }, { 1, 0, 2057, { 1, 9538 } }, { 1, 0, 2057, { 0, 9538 } }, { 1, 0, 519, { 2, 9539 } }, { 1, 0, 519, { 1, 9539 } }, { 1, 0, 519, { 0, 9539 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 522, { 22, 9539 } }, { 1, 0, 2082, { 0, 322 } }, { 1, 0, 2246, { 0, 11586 } }, { 1, 0, 2246, { 0, 11586 } }, { 1, 0, 2055, { 0, 11586 } }, { 1, 0, 2073, { 4, 11586 } }, { 1, 0, 1025, { 0, 8513 } }, { 1, 0, 1025, { 4096, 9537 } }, { 1, 0, 521, { 0, 9539 } }, { 1, 0, 1025, { 0, 321 } }, { 1, 0, 1025, { 0, 321 } }, { 1, 0, 1025, { 0, 321 } }, { 1, 0, 1025, { 2, 321 } }, { 1, 0, 524, { 88, 323 } }, { 1, 0, 524, { 88, 323 } }, { 1, 0, 524, { 88, 323 } }, { 1, 0, 524, { 88, 323 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 1025, { 0, 1345 } }, { 1, 0, 523, { 1, 9539 } }, { 1, 0, 523, { 1, 9539 } }, { 1, 0, 523, { 1, 9539 } }, { 1, 0, 1025, { 183, 9537 } }, { 1, 0, 1025, { 190, 9537 } }, { 1, 0, 1025, { 188, 9537 } }, };
#else
const SpriteDataB gObjectDefinition_0[] = { { 1, 0, 0, { 0, 323 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 0, 0, 0, { 0, 0 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 4, 8514 } }, { 1, 0, 1025, { 4, 8514 } }, { 1, 0, 1025, { 0, 9538 } }, { 1, 0, 1025, { 385, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 521, { 4, 8516 } }, { 1, 0, 1025, { 184, 9538 } }, { 1, 0, 1025, { 185, 9538 } }, { 1, 0, 1025, { 184, 9538 } }, { 1, 0, 1025, { 184, 9538 } }, { 1, 0, 1025, { 187, 9538 } }, { 1, 0, 1025, { 183, 9538 } }, { 1, 0, 1025, { 184, 9538 } }, { 1, 0, 1025, { 186, 9538 } }, { 1, 0, 521, { 4, 9540 } }, { 1, 0, 521, { 0, 9540 } }, { 1, 0, 521, { 4, 9540 } }, { 1, 0, 521, { 1, 9540 } }, { 1, 0, 2057, { 2, 9539 } }, { 1, 0, 2057, { 1, 9539 } }, { 1, 0, 2057, { 0, 9539 } }, { 1, 0, 520, { 2, 9540 } }, { 1, 0, 520, { 1, 9540 } }, { 1, 0, 520, { 0, 9540 } }, { 0, 0, 0, { 0, 0 } }, { 1, 0, 523, { 22, 9540 } }, { 1, 0, 2082, { 0, 323 } }, { 1, 0, 2246, { 0, 11587 } }, { 1, 0, 2246, { 0, 11587 } }, { 1, 0, 2055, { 0, 11587 } }, { 1, 0, 2073, { 4, 11587 } }, { 1, 0, 1025, { 0, 8514 } }, { 1, 0, 1025, { 4096, 9538 } }, { 1, 0, 522, { 0, 9540 } }, { 1, 0, 1025, { 0, 322 } }, { 1, 0, 1025, { 0, 322 } }, { 1, 0, 1025, { 0, 322 } }, { 1, 0, 1025, { 2, 322 } }, { 1, 0, 525, { 88, 324 } }, { 1, 0, 525, { 88, 324 } }, { 1, 0, 525, { 88, 324 } }, { 1, 0, 525, { 88, 324 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 1025, { 0, 1346 } }, { 1, 0, 524, { 1, 9540 } }, { 1, 0, 524, { 1, 9540 } }, { 1, 0, 524, { 1, 9540 } }, { 1, 0, 1025, { 183, 9538 } }, { 1, 0, 1025, { 190, 9538 } }, { 1, 0, 1025, { 188, 9538 } }, };
#endif
#define MULTI_FORM(spriteData_ptr) { 2, 0, 0, {.spriteData=spriteData_ptr} }
const SpriteDataB gObjectDefinitions[] = {
MULTI_FORM(gObjectDefinition_0),
{ 1, 0, 2144, { 0, 8360 } },
MULTI_FORM(gObjectDefinition_0),
{ 1, 0, 0, { 0, 0 } },
{ 1, 0, 0, { 0, 10 } },
{ 1, 0, 2288, { 1, 8359 } },
{ 1, 0, 0, { 0, 8203 } },
MULTI_FORM(gObjectDefinition_7),
#ifdef EU
{ 1, 0, 0, { 10, 476 } },
#else
{ 1, 0, 0, { 10, 477 } },
#endif
{ 1, 0, 0, { 1, 202 } },
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_0),
{ 1, 0, 25, { 1, 184 } },
{ 1, 0, 9, { 3, 172 } },
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_F),
{ 1, 0, 2149, { 171, 8359 } },
MULTI_FORM(gObjectDefinition_11),
#ifdef EU
{ 1, 0, 346, { 14, 8655 } },
#else
{ 1, 0, 346, { 14, 8656 } },
#endif
{ 1, 0, 121, { 0, 170 } },
{ 1, 0, 13, { 2, 8359 } },
{ 0, 0, 0, { 0, 0 } },
#ifdef EU
{ 1, 0, 260, { 1, 466 } },
#else
{ 1, 0, 260, { 1, 467 } },
#endif
{ 1, 0, 2137, { 3, 8354 } },
{ 1, 1, 347, { 1, 8453 } },
MULTI_FORM(gObjectDefinition_19),
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_1B),
MULTI_FORM(gObjectDefinition_1C),
#ifdef EU
{ 1, 0, 42, { 47, 347 } },
#else
{ 1, 0, 42, { 47, 348 } },
#endif
{ 1, 0, 2129, { 0, 8375 } },
{ 1, 1, 0, { 4096, 9383 } },
{ 1, 0, 2144, { 0, 8354 } },
{ 1, 0, 2048, { 4, 8358 } },
MULTI_FORM(gObjectDefinition_22),
{ 1, 0, 258, { 0, 8445 } },
MULTI_FORM(gObjectDefinition_24),
MULTI_FORM(gObjectDefinition_25),
MULTI_FORM(gObjectDefinition_26),
{ 1, 0, 0, { 5, 8378 } },
MULTI_FORM(gObjectDefinition_28),
{ 1, 0, 435, { 1, 8391 } },
{ 1, 0, 2086, { 0, 173 } },
{ 1, 0, 13, { 46, 8359 } },
MULTI_FORM(gObjectDefinition_2C),
{ 1, 0, 2202, { 3, 162 } },
{ 1, 1, 37, { 5, 193 } },
{ 1, 0, 0, { 0, 0 } },
#ifdef EU
{ 1, 0, 2082, { 0, 322 } },
{ 1, 0, 402, { 310, 8665 } },
#else
{ 1, 0, 2082, { 0, 323 } },
{ 1, 0, 402, { 310, 8666 } },
#endif
{ 1, 0, 53, { 1, 8388 } },
MULTI_FORM(gObjectDefinition_33),
{ 1, 0, 55, { 1, 198 } },
MULTI_FORM(gObjectDefinition_35),
#ifdef EU
{ 1, 0, 27, { 0, 457 } },
#else
{ 1, 0, 27, { 0, 458 } },
#endif
{ 0, 0, 0, { 0, 0 } },
{ 1, 4, 1025, { 1, 8319 } },
{ 1, 0, 65, { 4, 203 } },
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_3B),
{ 1, 0, 1026, { 22, 1 } },
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_3E),
#ifdef EU
{ 1, 0, 6, { 52, 337 } },
#else
{ 1, 0, 6, { 52, 338 } },
#endif
MULTI_FORM(gObjectDefinition_0),
{ 1, 0, 177, { 4096, 9383 } },
{ 1, 0, 2086, { 0, 173 } },
{ 1, 0, 0, { 0, 162 } },
{ 1, 0, 400, { 0, 8470 } },
MULTI_FORM(gObjectDefinition_45),
MULTI_FORM(gObjectDefinition_46),
#ifdef EU
{ 1, 0, 1025, { 4096, 9537 } },
{ 1, 0, 2048, { 0, 8516 } },
#else
{ 1, 0, 1025, { 4096, 9538 } },
{ 1, 0, 2048, { 0, 8517 } },
#endif
MULTI_FORM(gObjectDefinition_49),
#ifdef EU
{ 1, 0, 70, { 13, 329 } },
#else
{ 1, 0, 70, { 13, 330 } },
#endif
{ 1, 0, 3, { 28, 161 } },
MULTI_FORM(gObjectDefinition_4C),
MULTI_FORM(gObjectDefinition_4D),
#ifdef EU
{ 1, 0, 93, { 1, 8546 } },
#else
{ 1, 0, 93, { 1, 8547 } },
#endif
MULTI_FORM(gObjectDefinition_4F),
{ 1, 0, 116, { 154, 210 } },
#ifdef EU
{ 1, 0, 117, { 114, 8672 } },
#else
{ 1, 0, 117, { 114, 8673 } },
#endif
{ 1, 1, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_54),
{ 1, 0, 1025, { 115, 8321 } },
MULTI_FORM(gObjectDefinition_56),
#ifdef EU
{ 1, 0, 120, { 5, 330 } },
#else
{ 1, 0, 120, { 5, 331 } },
#endif
{ 1, 0, 1026, { 132, 8326 } },
MULTI_FORM(gObjectDefinition_59),
MULTI_FORM(gObjectDefinition_5A),
#ifdef EU
{ 1, 0, 125, { 86, 359 } },
#else
{ 1, 0, 125, { 86, 360 } },
#endif
MULTI_FORM(gObjectDefinition_5C),
MULTI_FORM(gObjectDefinition_5D),
{ 1, 0, 486, { 3, 9347 } },
MULTI_FORM(gObjectDefinition_5F),
#ifdef EU
{ 1, 1, 454, { 0, 8598 } },
#else
{ 1, 1, 454, { 0, 8599 } },
#endif
MULTI_FORM(gObjectDefinition_61),
#ifdef EU
{ 1, 0, 132, { 121, 8534 } },
#else
{ 1, 0, 132, { 121, 8535 } },
#endif
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_64),
MULTI_FORM(gObjectDefinition_65),
{ 1, 0, 134, { 5, 215 } },
MULTI_FORM(gObjectDefinition_67),
MULTI_FORM(gObjectDefinition_68),
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_6A),
MULTI_FORM(gObjectDefinition_6B),
#ifdef EU
{ 1, 0, 0, { 10, 476 } },
#else
{ 1, 0, 0, { 10, 477 } },
#endif
MULTI_FORM(gObjectDefinition_6D),
{ 0, 0, 0, { 0, 0 } },
MULTI_FORM(gObjectDefinition_6F),
{ 1, 0, 2181, { 0, 167 } },
MULTI_FORM(gObjectDefinition_71),
MULTI_FORM(gObjectDefinition_72),
#ifdef EU
{ 1, 0, 213, { 2, 485 } },
{ 1, 0, 221, { 4, 461 } },
#else
{ 1, 0, 213, { 2, 486 } },
{ 1, 0, 221, { 4, 462 } },
#endif
MULTI_FORM(gObjectDefinition_75),
MULTI_FORM(gObjectDefinition_76),
{ 1, 0, 1025, { 47, 138 } },
MULTI_FORM(gObjectDefinition_78),
{ 1, 0, 0, { 1, 8328 } },
#ifdef EU
{ 1, 0, 234, { 1, 450 } },
#else
{ 1, 0, 234, { 1, 451 } },
#endif
{ 1, 0, 238, { 1, 8435 } },
MULTI_FORM(gObjectDefinition_7C),
MULTI_FORM(gObjectDefinition_7D),
{ 1, 1, 256, { 5, 248 } },
MULTI_FORM(gObjectDefinition_7F),
#ifdef EU
{ 1, 1, 306, { 86, 8581 } },
{ 1, 1, 307, { 86, 8582 } },
#else
{ 1, 1, 306, { 86, 8582 } },
{ 1, 1, 307, { 86, 8583 } },
#endif
{ 1, 0, 1028, { 287, 132 } },
{ 1, 0, 239, { 1, 8436 } },
MULTI_FORM(gObjectDefinition_84),
MULTI_FORM(gObjectDefinition_85),
{ 1, 0, 315, { 289, 8452 } },
MULTI_FORM(gObjectDefinition_87),
{ 1, 0, 1028, { 295, 8325 } },
#ifdef EU
{ 1, 0, 344, { 218, 8676 } },
#else
{ 1, 0, 344, { 218, 8677 } },
#endif
MULTI_FORM(gObjectDefinition_8A),
#ifdef EU
{ 1, 0, 349, { 87, 8586 } },
#else
{ 1, 0, 349, { 87, 8587 } },
#endif
MULTI_FORM(gObjectDefinition_8C),
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
#ifdef EU
{ 1, 0, 373, { 1, 8663 } },
{ 1, 0, 376, { 1, 9688 } },
#else
{ 1, 0, 373, { 1, 8664 } },
{ 1, 0, 376, { 1, 9689 } },
#endif
MULTI_FORM(gObjectDefinition_91),
MULTI_FORM(gObjectDefinition_92),
{ 1, 0, 377, { 0, 8458 } },
{ 1, 0, 389, { 5, 8466 } },
MULTI_FORM(gObjectDefinition_95),
MULTI_FORM(gObjectDefinition_96),
MULTI_FORM(gObjectDefinition_97),
{ 0, 0, 0, { 0, 0 } },
{ 1, 0, 2251, { 1, 8465 } },
#ifdef EU
{ 1, 0, 403, { 311, 8681 } },
{ 1, 0, 407, { 319, 8487 } },
{ 1, 0, 413, { 10, 8523 } },
{ 1, 0, 19, { 6, 8666 } },
{ 1, 0, 424, { 4, 8683 } },
{ 1, 0, 425, { 0, 8480 } },
#else
{ 1, 0, 403, { 311, 8682 } },
{ 1, 0, 407, { 319, 8488 } },
{ 1, 0, 413, { 10, 8524 } },
{ 1, 0, 19, { 6, 8667 } },
{ 1, 0, 424, { 4, 8684 } },
{ 1, 0, 425, { 0, 8481 } },
#endif
MULTI_FORM(gObjectDefinition_A0),
#ifdef EU
{ 1, 0, 436, { 323, 8667 } },
{ 1, 0, 2560, { 0, 9541 } },
{ 1, 0, 437, { 20, 8685 } },
#else
{ 1, 0, 436, { 323, 8668 } },
{ 1, 0, 2560, { 0, 9542 } },
{ 1, 0, 437, { 20, 8686 } },
#endif
MULTI_FORM(gObjectDefinition_A4),
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
#ifdef EU
{ 1, 0, 443, { 2, 8491 } },
#else
{ 1, 0, 443, { 2, 8492 } },
#endif
MULTI_FORM(gObjectDefinition_0),
MULTI_FORM(gObjectDefinition_A9),
MULTI_FORM(gObjectDefinition_AA),
#ifdef EU
{ 1, 0, 461, { 1, 8496 } },
#else
{ 1, 0, 461, { 1, 8497 } },
#endif
MULTI_FORM(gObjectDefinition_0),
MULTI_FORM(gObjectDefinition_AD),
#ifdef EU
{ 1, 0, 12, { 5, 8670 } },
#else
{ 1, 0, 12, { 5, 8671 } },
#endif
{ 1, 0, 416, { 320, 8474 } },
#ifdef EU
{ 1, 0, 481, { 4, 501 } },
{ 1, 0, 482, { 350, 8500 } },
{ 1, 0, 484, { 3, 8501 } },
#else
{ 1, 0, 481, { 4, 502 } },
{ 1, 0, 482, { 350, 8501 } },
{ 1, 0, 484, { 3, 8502 } },
#endif
MULTI_FORM(gObjectDefinition_B3),
MULTI_FORM(gObjectDefinition_B4),
{ 0, 0, 0, { 0, 0 } },
#ifdef EU
{ 1, 0, 502, { 320, 8479 } },
#else
MULTI_FORM(gObjectDefinition_B6),
#endif
{ 0, 0, 0, { 0, 0 } },
#ifdef EU
{ 1, 0, 503, { 1, 8684 } },
#else
{ 1, 0, 503, { 1, 8685 } },
#endif
{ 0, 0, 0, { 0, 0 } },
{ 0, 0, 0, { 0, 0 } },
#ifdef EU
{ 1, 4, 505, { 4, 8645 } },
#else
{ 1, 4, 505, { 4, 8646 } },
#endif
{ 1, 0, 507, { 0, 0 } },
MULTI_FORM(gObjectDefinition_BD),
#ifdef EU
{ 1, 0, 515, { 5, 9533 } },
#else
{ 1, 0, 515, { 5, 9534 } },
#endif
{ 1, 0, 2303, { 0, 8192 } },
MULTI_FORM(gObjectDefinition_C0),
{ 1, 0, 1025, { 4118, 9218 } },
};
// clang-format on
+39
View File
@@ -0,0 +1,39 @@
#include "entity.h"
#include "definitions.h"
// clang-format off
#define MULTI_FORM(index, unk) { 0xff, index, unk, 0, 0, 0 }
const SpriteDataC gPlayerItemDefinitions[] = {
{ 0, 0, 16384, 1, SPRITE_0, 0 }, // DeleteEntity
MULTI_FORM(0, 1), // PlayerItemSword
{ 1, 12, 5644, 169, SPRITE_166, 192 }, // PlayerItemBomb
{ 0, 3, 5130, 118, SPRITE_22, 0 }, // PlayerItem3
{ 1, 3, 5391, 171, SPRITE_21, 203 }, // PlayerItemBow
MULTI_FORM(2, 13), // PlayerItemShield
{ 0, 0, 1792, 1, SPRITE_18, 0 }, // PlayerItemLantern
MULTI_FORM(0, 1), // PlayerItemNulled
{ 1, 0, 16384, 1, SPRITE_ITEMGUSTJAR, 0 }, // PlayerItemGustJar
{ 4, 0, 16384, 1, SPRITE_20, 0 }, // PlayerItemPacciCane
{ 0, 0, 16384, 1, SPRITE_0, 0 }, // DeleteEntity
{ 0, 0, 16384, 1, SPRITE_0, 0 }, // DeleteEntity
MULTI_FORM(1, 1), // PlayerItemC
MULTI_FORM(0, 1), // PlayerItemCellOverwriteSet
{ 0, 0, 7936, 1, SPRITE_19, 0 }, // PlayerItemSwordSpin
{ 0, 4, 8204, 152, SPRITE_166, 0x8000 }, // PlayerItemSwordBeam
{ 0, 0, 4864, 109, SPRITE_0, 0 }, // PlayerItem10
{ 3, 0, 7183, 150, SPRITE_166, 0 }, // PlayerItem11
{ 4, 0, 7424, 1, SPRITE_166, 57 }, // PlayerItem12
{ 0, 3, 5900, 1, SPRITE_POT, 0 }, // PlayerItem13
{ 1, 4, 8460, 152, SPRITE_OBJECT43, 0x8000 }, // PlayerItem14
{ 1, 4, 8204, 152, SPRITE_166, 0x8000 }, // PlayerItem15
{ 1, 4, 1036, 151, SPRITE_14, 0 }, // PlayerItemSwordBeam
{ 1, 4, 1036, 151, SPRITE_14, 0 } // PlayerItemNulled2
};
const SpriteDataC gPlayerItemDefinition_0[] = { { 1, 4, 1036, 151, SPRITE_14, 0 }, { 2, 4, 1292, 151, SPRITE_15, 0 }, { 0, 4, 1292, 151, SPRITE_15, 0 }, { 1, 4, 1292, 151, SPRITE_15, 0 }, { 4, 4, 1292, 151, SPRITE_15, 0 }, { 4, 4, 1548, 151, SPRITE_16, 0 }, };
const SpriteDataC gPlayerItemDefinition_1[] = { { 1, 4, 4108, 151, SPRITE_14, 0 }, { 2, 4, 4364, 151, SPRITE_15, 0 }, { 0, 4, 4364, 151, SPRITE_15, 0 }, { 1, 4, 4364, 151, SPRITE_15, 0 }, { 4, 4, 4364, 151, SPRITE_15, 0 }, { 4, 4, 4620, 151, SPRITE_16, 0 }, };
const SpriteDataC gPlayerItemDefinition_2[] = { { 1, 0, 524, 153, SPRITE_17, 0 }, { 1, 0, 780, 153, SPRITE_17, 0 }, };
const SpriteDataC* const gUnk_08126ED8[] = {gPlayerItemDefinition_0, gPlayerItemDefinition_1, gPlayerItemDefinition_2, };
// clang-format on