From b1e2175ffb7f4b65dffb5480e08c86135c66c109 Mon Sep 17 00:00:00 2001 From: octorock <79596758+octorock@users.noreply.github.com> Date: Thu, 11 Nov 2021 18:12:33 +0100 Subject: [PATCH] Extract entity definitions --- asm/armos.s | 4 +- asm/bossDoor.s | 4 +- asm/code_08049D30.s | 659 -- asm/code_0804A720.s | 426 ++ asm/code_0806EC20.s | 14 +- asm/code_080A3BD0.s | 2 +- asm/code_080A7C00.s | 233 - asm/dust.s | 8 +- asm/eyeSwitch.s | 4 +- asm/fourElements.s | 4 +- asm/itemForSale.s | 4 +- asm/non_matching/arm_proxy/ItemInit.inc | 4 +- asm/non_matching/arm_proxy/NPCUpdate.inc | 2 +- .../ballAndChain/sub_080AB170.inc | 4 +- .../eu/MandiblesProjectile_Action3.inc | 4 +- asm/object36.s | 4 +- asm/object69.s | 4 +- asm/objectA6.s | 4 +- asm/objectD.s | 4 +- asm/projectileInit.s | 238 + asm/{sub_08016AE4.s => projectileUpdate.s} | 2 +- asm/sub_080A2838.s | 10 +- asm/sub_080A285C.s | 4 +- asm/windTribeTeleporter.s | 4 +- assets/assets.json | 5377 +---------------- data/animations/enemy/vaatiWrathEye.s | 56 +- data/const/code_08049D30.s | 778 --- data/const/npc/npc58.s | 3 + data/data_080FC8A4.s | 132 +- data/data_081146D0.s | 165 +- data/data_08125104.s | 750 --- data/data_081320FC.s | 388 -- data/gfx/sprite_ptrs.s | 4 +- include/definitions.h | 404 ++ include/functions.h | 6 +- include/hitbox.h | 91 + include/spritedata.h | 383 ++ linker.ld | 14 +- src/arm_proxy.c | 12 +- src/enemy.c | 429 ++ src/enemy/spinyChuchu.c | 10 +- src/enemyInit.c | 87 + src/npc/bigGoron.c | 4 +- src/npc/npc4E.c | 4 +- src/npc/npc5.c | 4 +- src/npc/picolyteBottle.c | 4 +- src/object/lightableSwitch.c | 6 +- src/object/lockedDoor.c | 4 +- src/object/metalDoor.c | 4 +- src/object/object9E.c | 4 +- src/object/objectA.c | 4 +- src/object/pot.c | 4 +- src/object/warpPoint.c | 4 +- src/projectile.c | 179 + src/projectile/boneProjectile.c | 4 +- src/projectile/dekuSeedProjectile.c | 6 +- src/projectile/fireProjectile.c | 4 +- src/projectile/gyorgMaleEnergyProjectile.c | 4 +- src/projectile/gyorgTail.c | 12 +- src/projectile/iceProjectile.c | 4 +- src/projectile/lakituLightning.c | 4 +- src/projectile/mandiblesProjectile.c | 4 +- src/projectile/rockProjectile.c | 4 +- src/projectile/torchTrapProjectile.c | 4 +- src/projectile/v3ElectricProjectile.c | 4 +- src/projectile/v3HandProjectile.c | 4 +- src/projectile/v3TennisBallProjectile.c | 6 +- src/projectile/windProjectile.c | 4 +- src/projectileInit.c | 85 + src/spriteDataNpc.c | 185 + src/spriteDataObject.c | 514 ++ src/spriteDataPlayerItem.c | 39 + 72 files changed, 3337 insertions(+), 8518 deletions(-) create mode 100644 asm/code_0804A720.s create mode 100644 asm/projectileInit.s rename asm/{sub_08016AE4.s => projectileUpdate.s} (97%) delete mode 100644 data/const/code_08049D30.s create mode 100644 include/definitions.h create mode 100644 include/hitbox.h create mode 100644 include/spritedata.h create mode 100644 src/enemyInit.c create mode 100644 src/projectile.c create mode 100644 src/projectileInit.c create mode 100644 src/spriteDataNpc.c create mode 100644 src/spriteDataObject.c create mode 100644 src/spriteDataPlayerItem.c diff --git a/asm/armos.s b/asm/armos.s index bd76cf19..330f8177 100644 --- a/asm/armos.s +++ b/asm/armos.s @@ -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 diff --git a/asm/bossDoor.s b/asm/bossDoor.s index 408d22b4..027cf905 100644 --- a/asm/bossDoor.s +++ b/asm/bossDoor.s @@ -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 diff --git a/asm/code_08049D30.s b/asm/code_08049D30.s index 2368553e..95661e64 100644 --- a/asm/code_08049D30.s +++ b/asm/code_08049D30.s @@ -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 diff --git a/asm/code_0804A720.s b/asm/code_0804A720.s new file mode 100644 index 00000000..7d7deb47 --- /dev/null +++ b/asm/code_0804A720.s @@ -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 diff --git a/asm/code_0806EC20.s b/asm/code_0806EC20.s index ff7f71a1..d5b9dca0 100644 --- a/asm/code_0806EC20.s +++ b/asm/code_0806EC20.s @@ -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 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index bc0b67f1..0b49579d 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -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 diff --git a/asm/code_080A7C00.s b/asm/code_080A7C00.s index 91127b4c..5a45ca57 100644 --- a/asm/code_080A7C00.s +++ b/asm/code_080A7C00.s @@ -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} diff --git a/asm/dust.s b/asm/dust.s index 5d384b5f..300a0f74 100644 --- a/asm/dust.s +++ b/asm/dust.s @@ -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 diff --git a/asm/eyeSwitch.s b/asm/eyeSwitch.s index a91ff6eb..d1b48f89 100644 --- a/asm/eyeSwitch.s +++ b/asm/eyeSwitch.s @@ -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] diff --git a/asm/fourElements.s b/asm/fourElements.s index 2c46e6b1..6ed7f1b2 100644 --- a/asm/fourElements.s +++ b/asm/fourElements.s @@ -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 diff --git a/asm/itemForSale.s b/asm/itemForSale.s index 941d9eee..512d589a 100644 --- a/asm/itemForSale.s +++ b/asm/itemForSale.s @@ -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 diff --git a/asm/non_matching/arm_proxy/ItemInit.inc b/asm/non_matching/arm_proxy/ItemInit.inc index efdae83e..2293fc7c 100644 --- a/asm/non_matching/arm_proxy/ItemInit.inc +++ b/asm/non_matching/arm_proxy/ItemInit.inc @@ -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: diff --git a/asm/non_matching/arm_proxy/NPCUpdate.inc b/asm/non_matching/arm_proxy/NPCUpdate.inc index 278daa48..fd8dafd3 100644 --- a/asm/non_matching/arm_proxy/NPCUpdate.inc +++ b/asm/non_matching/arm_proxy/NPCUpdate.inc @@ -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 diff --git a/asm/non_matching/ballAndChain/sub_080AB170.inc b/asm/non_matching/ballAndChain/sub_080AB170.inc index 3021e507..868c59dd 100644 --- a/asm/non_matching/ballAndChain/sub_080AB170.inc +++ b/asm/non_matching/ballAndChain/sub_080AB170.inc @@ -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 diff --git a/asm/non_matching/eu/MandiblesProjectile_Action3.inc b/asm/non_matching/eu/MandiblesProjectile_Action3.inc index bc193574..311878eb 100644 --- a/asm/non_matching/eu/MandiblesProjectile_Action3.inc +++ b/asm/non_matching/eu/MandiblesProjectile_Action3.inc @@ -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 diff --git a/asm/object36.s b/asm/object36.s index e8d71409..e69c9b90 100644 --- a/asm/object36.s +++ b/asm/object36.s @@ -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 diff --git a/asm/object69.s b/asm/object69.s index b98ca686..05a953ba 100644 --- a/asm/object69.s +++ b/asm/object69.s @@ -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 diff --git a/asm/objectA6.s b/asm/objectA6.s index 4df7aec4..6a4dc1f4 100644 --- a/asm/objectA6.s +++ b/asm/objectA6.s @@ -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 diff --git a/asm/objectD.s b/asm/objectD.s index d2296bfa..f257bd93 100644 --- a/asm/objectD.s +++ b/asm/objectD.s @@ -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: diff --git a/asm/projectileInit.s b/asm/projectileInit.s new file mode 100644 index 00000000..c4b4be83 --- /dev/null +++ b/asm/projectileInit.s @@ -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} diff --git a/asm/sub_08016AE4.s b/asm/projectileUpdate.s similarity index 97% rename from asm/sub_08016AE4.s rename to asm/projectileUpdate.s index c5b75bef..074d33b5 100644 --- a/asm/sub_08016AE4.s +++ b/asm/projectileUpdate.s @@ -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 diff --git a/asm/sub_080A2838.s b/asm/sub_080A2838.s index 57383f72..e03c5442 100644 --- a/asm/sub_080A2838.s +++ b/asm/sub_080A2838.s @@ -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 diff --git a/asm/sub_080A285C.s b/asm/sub_080A285C.s index 2cba327e..807766ba 100644 --- a/asm/sub_080A285C.s +++ b/asm/sub_080A285C.s @@ -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 diff --git a/asm/windTribeTeleporter.s b/asm/windTribeTeleporter.s index a3d14369..e1919f76 100644 --- a/asm/windTribeTeleporter.s +++ b/asm/windTribeTeleporter.s @@ -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 diff --git a/assets/assets.json b/assets/assets.json index 062624b8..8280b1b8 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -28805,55 +28805,55 @@ "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_0.bin", + "path": "animations/gSpriteAnimations_WrathEye_0.bin", "start": 859552, "size": 40, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_1.bin", + "path": "animations/gSpriteAnimations_WrathEye_1.bin", "start": 859592, "size": 4, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_2.bin", + "path": "animations/gSpriteAnimations_WrathEye_2.bin", "start": 859596, "size": 4, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_4.bin", + "path": "animations/gSpriteAnimations_WrathEye_4.bin", "start": 859600, "size": 12, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_3.bin", + "path": "animations/gSpriteAnimations_WrathEye_3.bin", "start": 859612, "size": 12, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_5.bin", + "path": "animations/gSpriteAnimations_WrathEye_5.bin", "start": 859624, "size": 29, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_6.bin", + "path": "animations/gSpriteAnimations_WrathEye_6.bin", "start": 859653, "size": 28, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_7.bin", + "path": "animations/gSpriteAnimations_WrathEye_7.bin", "start": 859681, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy5F_8.bin", + "path": "animations/gSpriteAnimations_WrathEye_8.bin", "start": 859698, "size": 18, "type": "animation" @@ -29596,1942 +29596,6 @@ "start": 863000, "size": 320 }, - { - "path": "code_08049D30/gUnk_080D2C58.bin", - "start": 863320, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D2C58_1.bin", - "start": 863328, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_2.bin", - "start": 863344, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_3.bin", - "start": 863360, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_4.bin", - "start": 863376, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_5.bin", - "start": 863392, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_6.bin", - "start": 863408, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_7_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 861164 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_8_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 863424, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_9.bin", - "start": 863440, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_10.bin", - "start": 863456, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_11.bin", - "start": 863472, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_12.bin", - "start": 863488, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_13.bin", - "start": 863504, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_14_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 861260 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_15_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 863520, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_16.bin", - "start": 863536, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_17.bin", - "start": 863552, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_18.bin", - "start": 863568, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_19.bin", - "start": 863584, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_20.bin", - "start": 863600, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_21.bin", - "start": 863616, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_22.bin", - "start": 863632, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_23.bin", - "start": 863648, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_24.bin", - "start": 863664, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_25.bin", - "start": 863680, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_26_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 861436 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_27_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 863696, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_28.bin", - "start": 863712, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_29.bin", - "start": 863728, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_30.bin", - "start": 863744, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_31.bin", - "start": 863760, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_32.bin", - "start": 863776, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_33.bin", - "start": 863792, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_34.bin", - "start": 863808, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_35_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 861564 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_36_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 863824, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_37.bin", - "start": 863840, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_38.bin", - "start": 863856, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_39.bin", - "start": 863872, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_40.bin", - "start": 863888, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_41.bin", - "start": 863904, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_42.bin", - "start": 863920, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_43.bin", - "start": 863936, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_44.bin", - "start": 863952, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_45.bin", - "start": 863968, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_46.bin", - "start": 863984, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_47.bin", - "start": 864000, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_48.bin", - "start": 864016, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_49.bin", - "start": 864032, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_50.bin", - "start": 864048, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_51.bin", - "start": 864064, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_52_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 861820 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_53_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864080, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_54.bin", - "start": 864096, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_55.bin", - "start": 864112, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_56.bin", - "start": 864128, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_57.bin", - "start": 864144, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_58.bin", - "start": 864160, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_59.bin", - "start": 864176, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_60.bin", - "start": 864192, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_61.bin", - "start": 864208, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_62.bin", - "start": 864224, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_63.bin", - "start": 864240, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_64.bin", - "start": 864256, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_65.bin", - "start": 864272, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_66.bin", - "start": 864288, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_67.bin", - "start": 864304, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_68.bin", - "start": 864320, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_69.bin", - "start": 864336, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_70.bin", - "start": 864352, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_71.bin", - "start": 864368, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_72.bin", - "start": 864384, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_73.bin", - "start": 864400, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_74.bin", - "start": 864416, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_75.bin", - "start": 864432, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_76.bin", - "start": 864448, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_77.bin", - "start": 864464, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_78.bin", - "start": 864480, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_79.bin", - "start": 864496, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_80.bin", - "start": 864512, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_81.bin", - "start": 864528, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_82.bin", - "start": 864544, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_83.bin", - "start": 864560, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_84.bin", - "start": 864576, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_85.bin", - "start": 864592, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_86.bin", - "start": 864608, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_87.bin", - "start": 864624, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_88.bin", - "start": 864640, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_89_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862396 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_90_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864656, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_91.bin", - "start": 864672, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_92.bin", - "start": 864688, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_93.bin", - "start": 864704, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_94.bin", - "start": 864720, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_95_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862476 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_96_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864736, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_97_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862492 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_98_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864752, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_99.bin", - "start": 864768, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_100.bin", - "start": 864784, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_101.bin", - "start": 864800, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_102.bin", - "start": 864816, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_103_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862572 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_104_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864832, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_105.bin", - "start": 864848, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_106_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862604 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_107_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862620 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_108_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864864, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_109_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864880, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_110_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862636 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_111_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864896, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_112_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862652 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_113_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 864912, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_114.bin", - "start": 864928, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D2C58_115.bin", - "start": 864944, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D32B8.bin", - "start": 864952, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D32B8_1.bin", - "start": 864960, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D32B8_2.bin", - "start": 864976, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D32B8_3.bin", - "start": 864992, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D32E8.bin", - "start": 865000, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D32E8_1.bin", - "start": 865008, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D32E8_2.bin", - "start": 865024, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3308.bin", - "start": 865032, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3308_1.bin", - "start": 865040, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3308_2.bin", - "start": 865056, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3308_3.bin", - "start": 865072, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3308_4.bin", - "start": 865088, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3308_5.bin", - "start": 865104, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3308_6.bin", - "start": 865120, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3308_7.bin", - "start": 865136, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3308_8.bin", - "start": 865152, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3388.bin", - "start": 865160, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3388_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862908 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3388_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 865168, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3388_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862924 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3388_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 865184, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3388_5_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862940 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3388_6_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 865200, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3388_7_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 862956 - }, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3388_8_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 865216, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D33C8.bin", - "start": 865224, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D33C8_1.bin", - "start": 865232, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D33C8_2.bin", - "start": 865248, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D33C8_3.bin", - "start": 865264, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D33C8_4.bin", - "start": 865280, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D33C8_5.bin", - "start": 865296, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D33C8_6.bin", - "start": 865312, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D33C8_7.bin", - "start": 865328, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D33C8_8.bin", - "start": 865344, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D33C8_9.bin", - "start": 865360, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3458.bin", - "start": 865368, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3458_1.bin", - "start": 865376, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3458_2.bin", - "start": 865392, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3458_3.bin", - "start": 865408, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3488.bin", - "start": 865416, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3488_1.bin", - "start": 865424, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3488_2.bin", - "start": 865440, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3488_3.bin", - "start": 865456, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D34B8.bin", - "start": 865464, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D34B8_1.bin", - "start": 865472, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D34B8_2.bin", - "start": 865488, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D34D8.bin", - "start": 865496, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D34D8_1.bin", - "start": 865504, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D34D8_2.bin", - "start": 865520, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D34D8_3.bin", - "start": 865536, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3508.bin", - "start": 865544, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3508_1.bin", - "start": 865552, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3508_2.bin", - "start": 865568, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3508_3.bin", - "start": 865584, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3508_4.bin", - "start": 865600, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3508_5.bin", - "start": 865616, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3508_6.bin", - "start": 865632, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3508_7.bin", - "start": 865648, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3508_8.bin", - "start": 865664, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3508_9.bin", - "start": 865680, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3598.bin", - "start": 865688, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3598_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 863436 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3598_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 865696, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3598_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 863452 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3598_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 865712, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3598_5.bin", - "start": 865728, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3598_6.bin", - "start": 865744, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D35D8.bin", - "start": 865752, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D35D8_1.bin", - "start": 865760, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D35D8_2.bin", - "start": 865776, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D35D8_3.bin", - "start": 865792, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D35D8_4.bin", - "start": 865808, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D35D8_5.bin", - "start": 865824, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D35D8_6.bin", - "start": 865840, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D35D8_7.bin", - "start": 865856, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3648.bin", - "start": 865864, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3648_1.bin", - "start": 865872, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3648_2.bin", - "start": 865888, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3648_3.bin", - "start": 865904, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3648_4.bin", - "start": 865920, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3648_5.bin", - "start": 865936, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3648_6.bin", - "start": 865952, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3648_7.bin", - "start": 865968, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3648_8.bin", - "start": 865984, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D36C8.bin", - "start": 865992, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D36C8_1.bin", - "start": 866000, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D36C8_2.bin", - "start": 866016, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D36E8.bin", - "start": 866024, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D36E8_1.bin", - "start": 866032, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D36E8_2.bin", - "start": 866048, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D36E8_3.bin", - "start": 866064, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3718.bin", - "start": 866072, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3718_1.bin", - "start": 866080, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3718_2.bin", - "start": 866096, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3718_3.bin", - "start": 866112, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3748.bin", - "start": 866120, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3748_1.bin", - "start": 866128, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3748_2.bin", - "start": 866144, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3768.bin", - "start": 866152, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3768_1.bin", - "start": 866160, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3768_2.bin", - "start": 866176, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3788.bin", - "start": 866184, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3788_1.bin", - "start": 866192, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3788_2.bin", - "start": 866208, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3788_3.bin", - "start": 866224, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3788_4.bin", - "start": 866240, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3788_5.bin", - "start": 866256, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D37D8.bin", - "start": 866264, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D37D8_1.bin", - "start": 866272, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D37D8_2.bin", - "start": 866288, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D37F8.bin", - "start": 866296, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D37F8_1.bin", - "start": 866304, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D37F8_2.bin", - "start": 866320, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D37F8_3.bin", - "start": 866336, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3828.bin", - "start": 866344, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3828_1.bin", - "start": 866352, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3828_2.bin", - "start": 866368, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3828_3.bin", - "start": 866384, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3828_4.bin", - "start": 866400, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3828_5.bin", - "start": 866416, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3828_6.bin", - "start": 866432, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3828_7.bin", - "start": 866448, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3828_8.bin", - "start": 866464, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D38A8.bin", - "start": 866472, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D38A8_1.bin", - "start": 866480, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D38A8_2.bin", - "start": 866496, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D38A8_3.bin", - "start": 866512, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D38D8.bin", - "start": 866520, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D38D8_1.bin", - "start": 866528, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D38D8_2.bin", - "start": 866544, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D38D8_3.bin", - "start": 866560, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D38D8_4.bin", - "start": 866576, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3918.bin", - "start": 866584, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3918_1.bin", - "start": 866592, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3918_2.bin", - "start": 866608, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3938.bin", - "start": 866616, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3938_1.bin", - "start": 866624, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3938_2.bin", - "start": 866640, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3938_3.bin", - "start": 866656, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3938_4.bin", - "start": 866672, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3978.bin", - "start": 866680, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3978_1.bin", - "start": 866688, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3978_2.bin", - "start": 866704, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3978_3.bin", - "start": 866720, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3978_4.bin", - "start": 866736, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3978_5_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864492 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3978_6_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 866752, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3978_7_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864508 - }, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3978_8_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 866768, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D39D8.bin", - "start": 866776, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D39D8_1.bin", - "start": 866784, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D39D8_2.bin", - "start": 866800, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D39D8_3.bin", - "start": 866816, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D39D8_4.bin", - "start": 866832, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3A18.bin", - "start": 866840, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3A18_1.bin", - "start": 866848, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A18_2.bin", - "start": 866864, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A18_3.bin", - "start": 866880, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A18_4.bin", - "start": 866896, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A18_5.bin", - "start": 866912, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3A68.bin", - "start": 866920, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3A68_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864668 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A68_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 866928, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A68_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864684 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A68_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 866944, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A68_5_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864700 - }, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3A68_6_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 866960, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3A98.bin", - "start": 866968, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3A98_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864716 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A98_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 866976, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A98_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864732 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A98_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 866992, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3A98_5_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864748 - }, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3A98_6_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 867008, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3AC8.bin", - "start": 867016, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3AC8_1.bin", - "start": 867024, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3AC8_2.bin", - "start": 867040, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3AE8.bin", - "start": 867048, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3AE8_1.bin", - "start": 867056, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3AE8_2.bin", - "start": 867072, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3AE8_3.bin", - "start": 867088, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3AE8_4.bin", - "start": 867104, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3B28.bin", - "start": 867112, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3B28_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864860 - }, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3B28_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 867120, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3B28_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 864876 - }, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3B28_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 867136, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3B48.bin", - "start": 867144, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3B48_1.bin", - "start": 867152, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3B48_2.bin", - "start": 867168, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3B48_3.bin", - "start": 867184, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3B48_4.bin", - "start": 867200, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3B88.bin", - "start": 867208, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3B88_1.bin", - "start": 867216, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3B88_2.bin", - "start": 867232, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3BA8.bin", - "start": 867240, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3BA8_1.bin", - "start": 867248, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3BA8_2_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 865004 - }, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3BA8_3_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 867264, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3BC8.bin", - "start": 867272, - "size": 4 - }, - { - "path": "code_08049D30/gUnk_080D3BC8_1.bin", - "start": 867280, - "size": 12 - }, - { - "path": "code_08049D30/gUnk_080D3BC8_2_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 865036 - }, - "size": 8 - }, - { - "path": "code_08049D30/gUnk_080D3BC8_3_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 867296, - "size": 8 - }, { "path": "data_080D3D94/gUnk_080D3D94.bin", "start": 867732, @@ -33416,27 +31480,27 @@ "size": 32 }, { - "path": "data_080FC8A4/gUnk_080FD150.bin", + "path": "data_080FC8A4/gHitbox_0.bin", "start": 1036624, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD158.bin", + "path": "data_080FC8A4/gHitbox_30.bin", "start": 1036632, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD160.bin", + "path": "data_080FC8A4/gHitbox_31.bin", "start": 1036640, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD168.bin", + "path": "data_080FC8A4/gHitbox_1.bin", "start": 1036648, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD170.bin", + "path": "data_080FC8A4/gHitbox_2.bin", "start": 1036656, "size": 8 }, @@ -33446,12 +31510,12 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD180.bin", + "path": "data_080FC8A4/gHitbox_3.bin", "start": 1036672, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD188.bin", + "path": "data_080FC8A4/gHitbox_4.bin", "start": 1036680, "size": 8 }, @@ -33461,12 +31525,12 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD198.bin", + "path": "data_080FC8A4/gHitbox_5.bin", "start": 1036696, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD1A0.bin", + "path": "data_080FC8A4/gHitbox_6.bin", "start": 1036704, "size": 8 }, @@ -33481,12 +31545,12 @@ "size": 16 }, { - "path": "data_080FC8A4/gUnk_080FD1C4.bin", + "path": "data_080FC8A4/gHitbox_7.bin", "start": 1036740, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD1CC.bin", + "path": "data_080FC8A4/gHitbox_8.bin", "start": 1036748, "size": 8 }, @@ -33566,7 +31630,7 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD250.bin", + "path": "data_080FC8A4/gHitbox_9.bin", "start": 1036880, "size": 8 }, @@ -33581,7 +31645,7 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD268.bin", + "path": "data_080FC8A4/gHitbox_10.bin", "start": 1036904, "size": 8 }, @@ -33626,22 +31690,22 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD2B0.bin", + "path": "data_080FC8A4/gHitbox_11.bin", "start": 1036976, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD2B8.bin", + "path": "data_080FC8A4/gHitbox_12.bin", "start": 1036984, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD2C0.bin", + "path": "data_080FC8A4/gHitbox_13.bin", "start": 1036992, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD2C8.bin", + "path": "data_080FC8A4/gHitbox_14.bin", "start": 1037000, "size": 8 }, @@ -33671,12 +31735,12 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD2F8.bin", + "path": "data_080FC8A4/gHitbox_15.bin", "start": 1037048, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD300.bin", + "path": "data_080FC8A4/gHitbox_16.bin", "start": 1037056, "size": 8 }, @@ -33691,7 +31755,7 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD318.bin", + "path": "data_080FC8A4/gHitbox_17.bin", "start": 1037080, "size": 8 }, @@ -33711,7 +31775,7 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD338.bin", + "path": "data_080FC8A4/gHitbox_18.bin", "start": 1037112, "size": 8 }, @@ -33836,7 +31900,7 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD410.bin", + "path": "data_080FC8A4/gHitbox_19.bin", "start": 1037328, "size": 12 }, @@ -33866,7 +31930,7 @@ "size": 12 }, { - "path": "data_080FC8A4/gUnk_080FD448.bin", + "path": "data_080FC8A4/gHitbox_20.bin", "start": 1037384, "size": 8 }, @@ -33876,27 +31940,27 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD458.bin", + "path": "data_080FC8A4/gHitbox_21.bin", "start": 1037400, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD460.bin", + "path": "data_080FC8A4/gHitbox_22.bin", "start": 1037408, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD468.bin", + "path": "data_080FC8A4/gHitbox_23.bin", "start": 1037416, "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD470.bin", + "path": "data_080FC8A4/gHitbox_32.bin", "start": 1037424, "size": 16 }, { - "path": "data_080FC8A4/gUnk_080FD480.bin", + "path": "data_080FC8A4/gHitbox_24.bin", "start": 1037440, "size": 8 }, @@ -33911,12 +31975,12 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD498.bin", + "path": "data_080FC8A4/gHitbox_25.bin", "start": 1037464, "size": 12 }, { - "path": "data_080FC8A4/gUnk_080FD4A4.bin", + "path": "data_080FC8A4/gHitbox_26.bin", "start": 1037476, "size": 20 }, @@ -33991,7 +32055,7 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD528.bin", + "path": "data_080FC8A4/gHitbox_27.bin", "start": 1037608, "size": 8 }, @@ -34011,7 +32075,7 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD54C.bin", + "path": "data_080FC8A4/gHitbox_28.bin", "start": 1037644, "size": 12 }, @@ -34026,7 +32090,7 @@ "size": 8 }, { - "path": "data_080FC8A4/gUnk_080FD568.bin", + "path": "data_080FC8A4/gHitbox_29.bin", "start": 1037672, "size": 8 }, @@ -35226,21 +33290,6 @@ "DEMO_JP": -2052 } }, - { - "path": "data_08107BC8/gUnk_08107C0C.bin", - "start": 1080332, - "size": 3 - }, - { - "path": "data_08107BC8/gUnk_08107C0F.bin", - "start": 1080335, - "size": 5 - }, - { - "path": "data_08107BC8/gUnk_08107C14.bin", - "start": 1080340, - "size": 8 - }, { "path": "manager1/gUnk_08107C1C.bin", "start": 1080348, @@ -43541,341 +41590,6 @@ "start": 1132240, "size": 20 }, - { - "path": "data_081146D0/gUnk_081146E4.bin", - "start": 1132260, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_081146F4.bin", - "start": 1132276, - "size": 168 - }, - { - "path": "data_081146D0/gUnk_0811479C.bin", - "start": 1132444, - "size": 72 - }, - { - "path": "data_081146D0/gUnk_081147E4.bin", - "start": 1132516, - "size": 32 - }, - { - "path": "data_081146D0/gUnk_08114804_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1130316 - }, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_08114804_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1132548, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_08114814.bin", - "start": 1132564, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_08114824.bin", - "start": 1132580, - "size": 64 - }, - { - "path": "data_081146D0/gUnk_08114864.bin", - "start": 1132644, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_08114874.bin", - "start": 1132660, - "size": 48 - }, - { - "path": "data_081146D0/gUnk_081148A4.bin", - "start": 1132708, - "size": 32 - }, - { - "path": "data_081146D0/gUnk_081148C4.bin", - "start": 1132740, - "size": 32 - }, - { - "path": "data_081146D0/gUnk_081148E4.bin", - "start": 1132772, - "size": 48 - }, - { - "path": "data_081146D0/gUnk_08114914.bin", - "start": 1132820, - "size": 48 - }, - { - "path": "data_081146D0/gUnk_08114944.bin", - "start": 1132868, - "size": 48 - }, - { - "path": "data_081146D0/gUnk_08114974.bin", - "start": 1132916, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_08114984.bin", - "start": 1132932, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_08114994.bin", - "start": 1132948, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_081149A4.bin", - "start": 1132964, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_081149B4.bin", - "start": 1132980, - "size": 16 - }, - { - "path": "data_081146D0/gUnk_081149C4.bin", - "start": 1132996, - "size": 48 - }, - { - "path": "data_081146D0/gUnk_081149F4.bin", - "start": 1133044, - "size": 32 - }, - { - "path": "data_081146D0/gUnk_08114A14.bin", - "start": 1133076, - "size": 88 - }, - { - "path": "data_081146D0/gUnk_08114A6C.bin", - "start": 1133164, - "size": 32 - }, - { - "path": "data_081146D0/gUnk_08114A8C_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1130964 - }, - "size": 48 - }, - { - "path": "data_081146D0/gUnk_08114A8C_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1133196, - "size": 48 - }, - { - "path": "data_081146D0/gUnk_08114ABC_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1131012 - }, - "size": 40 - }, - { - "path": "data_081146D0/gUnk_08114ABC_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1133244, - "size": 40 - }, - { - "path": "data_081146D0/gUnk_08114AE4.bin", - "start": 1133284, - "size": 28 - }, - { - "path": "data_081146D0/gUnk_08114AE4_1.bin", - "start": 1133316, - "size": 12 - }, - { - "path": "data_081146D0/gUnk_08114AE4_2.bin", - "start": 1133332, - "size": 4 - }, - { - "path": "data_081146D0/gUnk_08114AE4_3.bin", - "start": 1133340, - "size": 4 - }, - { - "path": "data_081146D0/gUnk_08114AE4_4.bin", - "start": 1133348, - "size": 156 - }, - { - "path": "data_081146D0/gUnk_08114AE4_5.bin", - "start": 1133508, - "size": 44 - }, - { - "path": "data_081146D0/gUnk_08114AE4_6.bin", - "start": 1133556, - "size": 44 - }, - { - "path": "data_081146D0/gUnk_08114AE4_7.bin", - "start": 1133604, - "size": 28 - }, - { - "path": "data_081146D0/gUnk_08114AE4_8.bin", - "start": 1133636, - "size": 4 - }, - { - "path": "data_081146D0/gUnk_08114AE4_9.bin", - "start": 1133644, - "size": 28 - }, - { - "path": "data_081146D0/gUnk_08114AE4_10.bin", - "start": 1133676, - "size": 20 - }, - { - "path": "data_081146D0/gUnk_08114AE4_11.bin", - "start": 1133700, - "size": 12 - }, - { - "path": "data_081146D0/gUnk_08114AE4_12.bin", - "start": 1133716, - "size": 12 - }, - { - "path": "data_081146D0/gUnk_08114AE4_13.bin", - "start": 1133732, - "size": 4 - }, - { - "path": "data_081146D0/gUnk_08114AE4_14.bin", - "start": 1133740, - "size": 20 - }, - { - "path": "data_081146D0/gUnk_08114AE4_15.bin", - "start": 1133764, - "size": 12 - }, - { - "path": "data_081146D0/gUnk_08114AE4_16.bin", - "start": 1133780, - "size": 4 - }, - { - "path": "data_081146D0/gUnk_08114AE4_17.bin", - "start": 1133788, - "size": 4 - }, - { - "path": "data_081146D0/gUnk_08114AE4_18.bin", - "start": 1133796, - "size": 12 - }, - { - "path": "data_081146D0/gUnk_08114AE4_19.bin", - "start": 1133812, - "size": 52 - }, - { - "path": "data_081146D0/gUnk_08114AE4_20.bin", - "start": 1133868, - "size": 4 - }, - { - "path": "data_081146D0/gUnk_08114AE4_21.bin", - "start": 1133876, - "size": 4 - }, - { - "path": "data_081146D0/gUnk_08114AE4_22.bin", - "start": 1133884, - "size": 12 - }, - { - "path": "data_081146D0/gUnk_08114AE4_23.bin", - "start": 1133900, - "size": 20 - }, - { - "path": "data_081146D0/gUnk_08114AE4_24_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1131692 - }, - "size": 20 - }, - { - "path": "data_081146D0/gUnk_08114AE4_25_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1133924, - "size": 20 - }, - { - "path": "data_081146D0/gUnk_08114AE4_26_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1131716 - }, - "size": 360 - }, - { - "path": "data_081146D0/gUnk_08114AE4_27_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1133948, - "size": 360 - }, { "path": "data_081146D0/gUnk_08114F30.bin", "start": 1134384, @@ -49467,1968 +47181,11 @@ "start": 1200208, "size": 12 }, - { - "path": "data_08125104/gUnk_08125118.bin", - "start": 1200408, - "size": 704 - }, - { - "path": "data_08125104/gUnk_081253D8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1198880 - }, - "size": 32 - }, - { - "path": "data_08125104/gUnk_081253D8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1201112, - "size": 32 - }, - { - "path": "data_08125104/gUnk_081253F8.bin", - "start": 1201144, - "size": 40 - }, - { - "path": "data_08125104/gUnk_08125420.bin", - "start": 1201184, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125438_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1198976 - }, - "size": 96 - }, - { - "path": "data_08125104/gUnk_08125438_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1201208, - "size": 96 - }, - { - "path": "data_08125104/gUnk_08125498.bin", - "start": 1201304, - "size": 80 - }, - { - "path": "data_08125104/gUnk_081254E8.bin", - "start": 1201384, - "size": 88 - }, - { - "path": "data_08125104/gUnk_08125540_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1199240 - }, - "size": 280 - }, - { - "path": "data_08125104/gUnk_08125540_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1201472, - "size": 280 - }, - { - "path": "data_08125104/gUnk_08125658.bin", - "start": 1201752, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08125668_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1199536 - }, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08125668_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1201768, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08125698.bin", - "start": 1201816, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081256A8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1199600 - }, - "size": 40 - }, - { - "path": "data_08125104/gUnk_081256A8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1201832, - "size": 40 - }, - { - "path": "data_08125104/gUnk_081256D0_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1199640 - }, - "size": 560 - }, - { - "path": "data_08125104/gUnk_081256D0_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1201872, - "size": 560 - }, - { - "path": "data_08125104/gUnk_08125900_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1200200 - }, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125900_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1202432, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125918.bin", - "start": 1202456, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08125928.bin", - "start": 1202472, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125940.bin", - "start": 1202496, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08125960.bin", - "start": 1202528, - "size": 72 - }, - { - "path": "data_08125104/gUnk_081259A8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1200368 - }, - "size": 109 - }, - { - "path": "data_08125104/gUnk_081259A8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1202600, - "size": 109 - }, - { - "path": "data_08125104/gUnk_081259A8_2_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1200477 - }, - "size": 235 - }, - { - "path": "data_08125104/gUnk_081259A8_3_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1202709, - "size": 235 - }, - { - "path": "data_08125104/gUnk_08125B00.bin", - "start": 1202944, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08125B20_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1200744 - }, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08125B20_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1202976, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08125B50.bin", - "start": 1203024, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08125B70_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1200824 - }, - "size": 168 - }, - { - "path": "data_08125104/gUnk_08125B70_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203056, - "size": 168 - }, - { - "path": "data_08125104/gUnk_08125C18_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1200992 - }, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08125C18_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203224, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08125C48_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201040 - }, - "size": 72 - }, - { - "path": "data_08125104/gUnk_08125C48_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203272, - "size": 72 - }, - { - "path": "data_08125104/gUnk_08125C90_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201112 - }, - "size": 72 - }, - { - "path": "data_08125104/gUnk_08125C90_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203344, - "size": 72 - }, - { - "path": "data_08125104/gUnk_08125CD8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201184 - }, - "size": 144 - }, - { - "path": "data_08125104/gUnk_08125CD8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203416, - "size": 144 - }, - { - "path": "data_08125104/gUnk_08125D68_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201328 - }, - "size": 72 - }, - { - "path": "data_08125104/gUnk_08125D68_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203560, - "size": 72 - }, - { - "path": "data_08125104/gUnk_08125DB0.bin", - "start": 1203632, - "size": 264 - }, - { - "path": "data_08125104/gUnk_08125EB8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201664 - }, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125EB8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203896, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125ED0_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201688 - }, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08125ED0_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203920, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08125EF0_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201720 - }, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08125EF0_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203952, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08125F10_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201752 - }, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08125F10_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1203984, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08125F20_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201768 - }, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125F20_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204000, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125F38.bin", - "start": 1204024, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08125F48.bin", - "start": 1204040, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08125F78_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201856 - }, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125F78_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204088, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08125F90_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1201880 - }, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08125F90_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204112, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08125FA0.bin", - "start": 1204128, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08125FC0.bin", - "start": 1204160, - "size": 40 - }, - { - "path": "data_08125104/gUnk_08125FE8.bin", - "start": 1204200, - "size": 80 - }, - { - "path": "data_08125104/gUnk_08126038_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202048 - }, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08126038_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204280, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08126050_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202072 - }, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08126050_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204304, - "size": 24 - }, - { - "path": "data_08125104/gUnk_08126068.bin", - "start": 1204328, - "size": 64 - }, - { - "path": "data_08125104/gUnk_081260A8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202160 - }, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081260A8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204392, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081260B8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202176 - }, - "size": 88 - }, - { - "path": "data_08125104/gUnk_081260B8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204408, - "size": 88 - }, - { - "path": "data_08125104/gUnk_08126110_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202264 - }, - "size": 64 - }, - { - "path": "data_08125104/gUnk_08126110_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204496, - "size": 64 - }, - { - "path": "data_08125104/gUnk_08126150_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202328 - }, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08126150_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204560, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08126180.bin", - "start": 1204608, - "size": 48 - }, - { - "path": "data_08125104/gUnk_081261B0_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202424 - }, - "size": 24 - }, - { - "path": "data_08125104/gUnk_081261B0_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204656, - "size": 24 - }, - { - "path": "data_08125104/gUnk_081261C8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202448 - }, - "size": 32 - }, - { - "path": "data_08125104/gUnk_081261C8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204680, - "size": 32 - }, - { - "path": "data_08125104/gUnk_081261E8.bin", - "start": 1204712, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081261F8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202496 - }, - "size": 27 - }, - { - "path": "data_08125104/gUnk_081261F8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204728, - "size": 27 - }, - { - "path": "data_08125104/gUnk_081261F8_2_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202523 - }, - "size": 101 - }, - { - "path": "data_08125104/gUnk_081261F8_3_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204755, - "size": 101 - }, - { - "path": "data_08125104/gUnk_08126278_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202624 - }, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08126278_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204856, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08126298_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202656 - }, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08126298_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204888, - "size": 32 - }, - { - "path": "data_08125104/gUnk_081262B8.bin", - "start": 1204920, - "size": 24 - }, - { - "path": "data_08125104/gUnk_081262D0_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202712 - }, - "size": 24 - }, - { - "path": "data_08125104/gUnk_081262D0_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204944, - "size": 24 - }, - { - "path": "data_08125104/gUnk_081262E8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202736 - }, - "size": 72 - }, - { - "path": "data_08125104/gUnk_081262E8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1204968, - "size": 72 - }, - { - "path": "data_08125104/gUnk_08126330.bin", - "start": 1205040, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08126350_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202840 - }, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08126350_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205072, - "size": 16 - }, - { - "path": "data_08125104/gUnk_08126360_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202856 - }, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08126360_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205088, - "size": 32 - }, - { - "path": "data_08125104/gUnk_08126380_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202888 - }, - "size": 40 - }, - { - "path": "data_08125104/gUnk_08126380_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205120, - "size": 40 - }, - { - "path": "data_08125104/gUnk_081263A8.bin", - "start": 1205160, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081263B8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202944 - }, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081263B8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205176, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081263C8.bin", - "start": 1205192, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081263D8_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205208, - "size": 16 - }, - { - "path": "data_08125104/gUnk_081263E8_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1202976 - }, - "size": 312 - }, - { - "path": "data_08125104/gUnk_081263E8_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205224, - "size": 312 - }, - { - "path": "data_08125104/gUnk_081263E8_2_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1203288 - }, - "size": 156 - }, - { - "path": "data_08125104/gUnk_081263E8_3_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205536, - "size": 156 - }, - { - "path": "data_08125104/gUnk_081263E8_4_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1203444 - }, - "size": 115 - }, - { - "path": "data_08125104/gUnk_081263E8_5_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205692, - "size": 115 - }, - { - "path": "data_08125104/gUnk_081263E8_6_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1203559 - }, - "size": 361 - }, - { - "path": "data_08125104/gUnk_081263E8_7_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1205807, - "size": 361 - }, { "offsets": { "EU": -2248 } }, - { - "path": "data_08125104/gUnk_08126798.bin", - "start": 1206168, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_1.bin", - "start": 1206176, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_2.bin", - "start": 1206192, - "size": 36 - }, - { - "path": "data_08125104/gUnk_08126798_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1203984 - }, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206232, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_5.bin", - "start": 1206264, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_6.bin", - "start": 1206296, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_7_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204064 - }, - "size": 60 - }, - { - "path": "data_08125104/gUnk_08126798_8_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206312, - "size": 60 - }, - { - "path": "data_08125104/gUnk_08126798_9.bin", - "start": 1206376, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_10.bin", - "start": 1206392, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_11_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204152 - }, - "size": 44 - }, - { - "path": "data_08125104/gUnk_08126798_12_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206400, - "size": 44 - }, - { - "path": "data_08125104/gUnk_08126798_13.bin", - "start": 1206448, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_14.bin", - "start": 1206464, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_15.bin", - "start": 1206472, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_16.bin", - "start": 1206480, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_17.bin", - "start": 1206496, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_18_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204280 - }, - "size": 52 - }, - { - "path": "data_08125104/gUnk_08126798_19_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206528, - "size": 52 - }, - { - "path": "data_08125104/gUnk_08126798_20.bin", - "start": 1206584, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_21_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204352 - }, - "size": 44 - }, - { - "path": "data_08125104/gUnk_08126798_22_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206600, - "size": 44 - }, - { - "path": "data_08125104/gUnk_08126798_23.bin", - "start": 1206648, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_24_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204424 - }, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_25_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206672, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_26.bin", - "start": 1206688, - "size": 36 - }, - { - "path": "data_08125104/gUnk_08126798_27.bin", - "start": 1206728, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_28_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204488 - }, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_29_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206736, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_30_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204512 - }, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_31_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206760, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_32.bin", - "start": 1206784, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_33_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204544 - }, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_34_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206792, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_35_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204560 - }, - "size": 36 - }, - { - "path": "data_08125104/gUnk_08126798_36_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206808, - "size": 36 - }, - { - "path": "data_08125104/gUnk_08126798_37.bin", - "start": 1206848, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_38_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204616 - }, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_39_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206864, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_40.bin", - "start": 1206888, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_41_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204648 - }, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_42_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206896, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_43.bin", - "start": 1206912, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_44.bin", - "start": 1206920, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_45_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204688 - }, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_46_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206936, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_47_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204704 - }, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_48_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1206952, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_49.bin", - "start": 1206976, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_50.bin", - "start": 1206984, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_51.bin", - "start": 1207000, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_52.bin", - "start": 1207008, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_53.bin", - "start": 1207024, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_54_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204784 - }, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_55_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207032, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_56.bin", - "start": 1207048, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_57.bin", - "start": 1207064, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_58.bin", - "start": 1207080, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_59_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204840 - }, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_60_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207088, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_61.bin", - "start": 1207112, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_62.bin", - "start": 1207120, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_63_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204888 - }, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_64_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207136, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_65_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204920 - }, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_66_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207168, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_67.bin", - "start": 1207176, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_68_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1204944 - }, - "size": 36 - }, - { - "path": "data_08125104/gUnk_08126798_69_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207192, - "size": 36 - }, - { - "path": "data_08125104/gUnk_08126798_70.bin", - "start": 1207232, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_71.bin", - "start": 1207240, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_72_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205008 - }, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_73_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207256, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_74_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205032 - }, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_75_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207280, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_76_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205048 - }, - "size": 36 - }, - { - "path": "data_08125104/gUnk_08126798_77_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207296, - "size": 36 - }, - { - "path": "data_08125104/gUnk_08126798_78.bin", - "start": 1207336, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_79.bin", - "start": 1207344, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_80.bin", - "start": 1207368, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_81.bin", - "start": 1207376, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_82_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205136 - }, - "size": 68 - }, - { - "path": "data_08125104/gUnk_08126798_83_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207384, - "size": 68 - }, - { - "path": "data_08125104/gUnk_08126798_84_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205208 - }, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_85_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207456, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_86_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205240 - }, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_87_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207488, - "size": 28 - }, - { - "path": "data_08125104/gUnk_08126798_88_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205272 - }, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_89_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207520, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_90.bin", - "start": 1207528, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_91_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205288 - }, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_92_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207536, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_93.bin", - "start": 1207552, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_94_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205312 - }, - "size": 44 - }, - { - "path": "data_08125104/gUnk_08126798_95_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207560, - "size": 44 - }, - { - "path": "data_08125104/gUnk_08126798_96.bin", - "start": 1207608, - "size": 4 - }, - { - "path": "data_08125104/gUnk_08126798_97_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205368 - }, - "size": 68 - }, - { - "path": "data_08125104/gUnk_08126798_98_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207616, - "size": 12 - }, - { - "path": "data_08125104/gUnk_08126798_99_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207632, - "size": 52 - }, - { - "path": "data_08125104/gUnk_08126798_100_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1205440 - }, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_101_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1207688, - "size": 20 - }, - { - "path": "data_08125104/gUnk_08126798_102.bin", - "start": 1207712, - "size": 8 - }, - { - "path": "data_08125104/gUnk_08126DA8.bin", - "start": 1207720, - "size": 192 - }, - { - "path": "data_08125104/gUnk_08126E68.bin", - "start": 1207912, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08126E98.bin", - "start": 1207960, - "size": 48 - }, - { - "path": "data_08125104/gUnk_08126EC8.bin", - "start": 1208008, - "size": 16 - }, { "path": "data_08125104/gUnk_08126EE4.bin", "start": 1208036, @@ -51907,11 +47664,6 @@ "start": 1215312, "size": 20 }, - { - "path": "data_08127280/gUnk_08128B64.bin", - "start": 1215332, - "size": 144 - }, { "path": "data_08127280/gUnk_08128BF4.bin", "start": 1215476, @@ -52869,41 +48621,6 @@ "size": 31, "type": "animation" }, - { - "path": "data_0812AA88/gUnk_0812AA88.bin", - "start": 1223304, - "size": 9 - }, - { - "path": "data_0812AA88/gUnk_0812AA91.bin", - "start": 1223313, - "size": 9 - }, - { - "path": "data_0812AA88/gUnk_0812AA9A.bin", - "start": 1223322, - "size": 18 - }, - { - "path": "data_0812AA88/gUnk_0812AABC.bin", - "start": 1223356, - "size": 4 - }, - { - "path": "data_0812AA88/gUnk_0812AAC0.bin", - "start": 1223360, - "size": 8 - }, - { - "path": "data_0812AA88/gUnk_0812AAC8.bin", - "start": 1223368, - "size": 8 - }, - { - "path": "data_0812AA88/gUnk_0812AAD0.bin", - "start": 1223376, - "size": 8 - }, { "offsets": { "EU": -2480, @@ -52951,1009 +48668,6 @@ "DEMO_JP": -988 } }, - { - "path": "data_081320FC/gUnk_0813210C.bin", - "start": 1253644, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813210C_1.bin", - "start": 1253652, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_2.bin", - "start": 1253668, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_3.bin", - "start": 1253684, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_4.bin", - "start": 1253700, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_5.bin", - "start": 1253716, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_6.bin", - "start": 1253732, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_7.bin", - "start": 1253748, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_8.bin", - "start": 1253764, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_9.bin", - "start": 1253780, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_10.bin", - "start": 1253796, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_11.bin", - "start": 1253812, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_12.bin", - "start": 1253828, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_13.bin", - "start": 1253844, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_14_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1251380 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_15_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1253860, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_16.bin", - "start": 1253876, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_17.bin", - "start": 1253892, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_18.bin", - "start": 1253908, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_19.bin", - "start": 1253924, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_20.bin", - "start": 1253940, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_21.bin", - "start": 1253956, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_22.bin", - "start": 1253972, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_23.bin", - "start": 1253988, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_24.bin", - "start": 1254004, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_25.bin", - "start": 1254020, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_26_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1251556 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_27_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254036, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_28_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1251572 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_29_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254052, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_30.bin", - "start": 1254068, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_31.bin", - "start": 1254084, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_32_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1251620 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_33_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254100, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_34.bin", - "start": 1254116, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_35.bin", - "start": 1254132, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_36.bin", - "start": 1254148, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_37.bin", - "start": 1254164, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_38.bin", - "start": 1254180, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_39.bin", - "start": 1254196, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_40_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1251732 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_41_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254212, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813210C_42.bin", - "start": 1254228, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813235C.bin", - "start": 1254236, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813235C_1.bin", - "start": 1254244, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813235C_2.bin", - "start": 1254260, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813235C_3.bin", - "start": 1254276, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813235C_4.bin", - "start": 1254292, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813235C_5.bin", - "start": 1254308, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081323AC.bin", - "start": 1254316, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_081323AC_1.bin", - "start": 1254324, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081323AC_2.bin", - "start": 1254340, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081323AC_3.bin", - "start": 1254356, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081323DC.bin", - "start": 1254364, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_081323DC_1.bin", - "start": 1254372, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081323DC_2.bin", - "start": 1254388, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081323DC_3.bin", - "start": 1254404, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813240C.bin", - "start": 1254412, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813240C_1.bin", - "start": 1254420, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813240C_2.bin", - "start": 1254436, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813242C.bin", - "start": 1254444, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813242C_1.bin", - "start": 1254452, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813242C_2.bin", - "start": 1254468, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813244C.bin", - "start": 1254476, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813244C_1.bin", - "start": 1254484, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813244C_2.bin", - "start": 1254500, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813244C_3.bin", - "start": 1254516, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813244C_4.bin", - "start": 1254532, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813248C.bin", - "start": 1254540, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813248C_1.bin", - "start": 1254548, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813248C_2.bin", - "start": 1254564, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081324AC.bin", - "start": 1254572, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_081324AC_1.bin", - "start": 1254580, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081324AC_2.bin", - "start": 1254596, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081324AC_3.bin", - "start": 1254612, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081324AC_4.bin", - "start": 1254628, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081324EC.bin", - "start": 1254636, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_081324EC_1.bin", - "start": 1254644, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081324EC_2.bin", - "start": 1254660, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813250C.bin", - "start": 1254668, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813250C_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252196 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813250C_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254676, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813250C_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252212 - }, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813250C_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254692, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813252C.bin", - "start": 1254700, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813252C_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252228 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813252C_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254708, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813252C_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252244 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813252C_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254724, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813252C_5_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252260 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813252C_6_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254740, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813252C_7_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252276 - }, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813252C_8_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254756, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813256C.bin", - "start": 1254764, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813256C_1.bin", - "start": 1254772, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813256C_2.bin", - "start": 1254788, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813256C_3.bin", - "start": 1254804, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813256C_4.bin", - "start": 1254820, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813256C_5.bin", - "start": 1254836, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081325BC.bin", - "start": 1254844, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_081325BC_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252372 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254852, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252388 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254868, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_5_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252404 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_6_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254884, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_7_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252420 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_8_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254900, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_9_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252436 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_10_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254916, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_11_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252452 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_12_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254932, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_13_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252468 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_14_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254948, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_15_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252484 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_16_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254964, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_17_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252500 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_18_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254980, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_19_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252516 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_20_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1254996, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_21_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252532 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_22_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1255012, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_23_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252548 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_24_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1255028, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_25_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252564 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_26_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1255044, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081325BC_27_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252580 - }, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081325BC_28_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1255060, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_0813269C.bin", - "start": 1255068, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_0813269C_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252596 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813269C_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1255076, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813269C_3.bin", - "start": 1255092, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_0813269C_4.bin", - "start": 1255108, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081326CC.bin", - "start": 1255116, - "size": 4 - }, - { - "path": "data_081320FC/gUnk_081326CC_1_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252644 - }, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081326CC_2_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1255124, - "size": 12 - }, - { - "path": "data_081320FC/gUnk_081326CC_3_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1252660 - }, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081326CC_4_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1255140, - "size": 8 - }, - { - "path": "data_081320FC/gUnk_081326EC.bin", - "start": 1255148, - "size": 20 - }, { "path": "animations/gSpriteAnimations_ItemGustJar_2.bin", "start": 1255220, @@ -57168,16 +51882,11 @@ }, { "offsets": { - "EU": -2800, + "EU": -2096, "DEMO_JP": -872, "JP": -864 } }, - { - "offsets": { - "EU": -2096 - } - }, { "path": "data_08132B30/gUnk_086926A0.bin", "start": 6891168, diff --git a/data/animations/enemy/vaatiWrathEye.s b/data/animations/enemy/vaatiWrathEye.s index e7e49b14..76a9769c 100644 --- a/data/animations/enemy/vaatiWrathEye.s +++ b/data/animations/enemy/vaatiWrathEye.s @@ -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 diff --git a/data/const/code_08049D30.s b/data/const/code_08049D30.s deleted file mode 100644 index 7bfcc233..00000000 --- a/data/const/code_08049D30.s +++ /dev/null @@ -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 diff --git a/data/const/npc/npc58.s b/data/const/npc/npc58.s index 29c4f644..b42b64e7 100644 --- a/data/const/npc/npc58.s +++ b/data/const/npc/npc58.s @@ -6,3 +6,6 @@ gUnk_081146B8:: @ 081146B8 .incbin "npc58/gUnk_081146B8.bin" + +gUnk_081146D0:: @ 081146D0 + .incbin "data_081146D0/gUnk_081146D0.bin" diff --git a/data/data_080FC8A4.s b/data/data_080FC8A4.s index 8658395c..7832a903 100644 --- a/data/data_080FC8A4.s +++ b/data/data_080FC8A4.s @@ -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" diff --git a/data/data_081146D0.s b/data/data_081146D0.s index d4011f6c..340e823a 100644 --- a/data/data_081146D0.s +++ b/data/data_081146D0.s @@ -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 diff --git a/data/data_08125104.s b/data/data_08125104.s index 7cb58f87..bdcd9bb2 100644 --- a/data/data_08125104.s +++ b/data/data_08125104.s @@ -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" diff --git a/data/data_081320FC.s b/data/data_081320FC.s index 92bb9578..7226b9da 100755 --- a/data/data_081320FC.s +++ b/data/data_081320FC.s @@ -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" diff --git a/data/gfx/sprite_ptrs.s b/data/gfx/sprite_ptrs.s index 3da7ea8a..45ed5370 100644 --- a/data/gfx/sprite_ptrs.s +++ b/data/gfx/sprite_ptrs.s @@ -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 diff --git a/include/definitions.h b/include/definitions.h new file mode 100644 index 00000000..df1bc753 --- /dev/null +++ b/include/definitions.h @@ -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 \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index cc9b7d45..50beb060 100644 --- a/include/functions.h +++ b/include/functions.h @@ -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 diff --git a/include/hitbox.h b/include/hitbox.h new file mode 100644 index 00000000..ce9c20e6 --- /dev/null +++ b/include/hitbox.h @@ -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 \ No newline at end of file diff --git a/include/spritedata.h b/include/spritedata.h new file mode 100644 index 00000000..45127db7 --- /dev/null +++ b/include/spritedata.h @@ -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 \ No newline at end of file diff --git a/linker.ld b/linker.ld index 36d6f013..6dde72da 100644 --- a/linker.ld +++ b/linker.ld @@ -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); diff --git a/src/arm_proxy.c b/src/arm_proxy.c index d8efb2a0..57c28136 100644 --- a/src/arm_proxy.c +++ b/src/arm_proxy.c @@ -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) { diff --git a/src/enemy.c b/src/enemy.c index 523d9b61..af4a68de 100644 --- a/src/enemy.c +++ b/src/enemy.c @@ -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) = { diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c index 5f928636..a4a1adbc 100644 --- a/src/enemy/spinyChuchu.c +++ b/src/enemy/spinyChuchu.c @@ -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) { diff --git a/src/enemyInit.c b/src/enemyInit.c new file mode 100644 index 00000000..0052317e --- /dev/null +++ b/src/enemyInit.c @@ -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; +} diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index d5320463..687fec2d 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -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 { diff --git a/src/npc/npc4E.c b/src/npc/npc4E.c index 804c013a..d6f66fa5 100644 --- a/src/npc/npc4E.c +++ b/src/npc/npc4E.c @@ -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); diff --git a/src/npc/npc5.c b/src/npc/npc5.c index f90e709b..3123c79d 100644 --- a/src/npc/npc5.c +++ b/src/npc/npc5.c @@ -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); diff --git a/src/npc/picolyteBottle.c b/src/npc/picolyteBottle.c index f95ef7d3..568725f1 100644 --- a/src/npc/picolyteBottle.c +++ b/src/npc/picolyteBottle.c @@ -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); } diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index cbeafdd7..12525108 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -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) { diff --git a/src/object/lockedDoor.c b/src/object/lockedDoor.c index d82a3e3d..3c5eff19 100644 --- a/src/object/lockedDoor.c +++ b/src/object/lockedDoor.c @@ -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); diff --git a/src/object/metalDoor.c b/src/object/metalDoor.c index a65cf709..89ffbae1 100644 --- a/src/object/metalDoor.c +++ b/src/object/metalDoor.c @@ -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; diff --git a/src/object/object9E.c b/src/object/object9E.c index 771f7e80..98372aa6 100644 --- a/src/object/object9E.c +++ b/src/object/object9E.c @@ -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); diff --git a/src/object/objectA.c b/src/object/objectA.c index 0e63b26f..f5fb63c6 100644 --- a/src/object/objectA.c +++ b/src/object/objectA.c @@ -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 { diff --git a/src/object/pot.c b/src/object/pot.c index 79d0a38f..e2fdde90 100644 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -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; diff --git a/src/object/warpPoint.c b/src/object/warpPoint.c index 69ed1fdc..598a069e 100644 --- a/src/object/warpPoint.c +++ b/src/object/warpPoint.c @@ -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)) { diff --git a/src/projectile.c b/src/projectile.c new file mode 100644 index 00000000..c1891eb7 --- /dev/null +++ b/src/projectile.c @@ -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, +}; diff --git a/src/projectile/boneProjectile.c b/src/projectile/boneProjectile.c index cfa5f3ed..a1a4d4c7 100644 --- a/src/projectile/boneProjectile.c +++ b/src/projectile/boneProjectile.c @@ -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); diff --git a/src/projectile/dekuSeedProjectile.c b/src/projectile/dekuSeedProjectile.c index 40c51e69..3438c057 100644 --- a/src/projectile/dekuSeedProjectile.c +++ b/src/projectile/dekuSeedProjectile.c @@ -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) { diff --git a/src/projectile/fireProjectile.c b/src/projectile/fireProjectile.c index 0e32bede..3ef308bd 100644 --- a/src/projectile/fireProjectile.c +++ b/src/projectile/fireProjectile.c @@ -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); diff --git a/src/projectile/gyorgMaleEnergyProjectile.c b/src/projectile/gyorgMaleEnergyProjectile.c index 56ff4307..f3244122 100644 --- a/src/projectile/gyorgMaleEnergyProjectile.c +++ b/src/projectile/gyorgMaleEnergyProjectile.c @@ -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) { diff --git a/src/projectile/gyorgTail.c b/src/projectile/gyorgTail.c index d75a8123..ce9d6d6c 100644 --- a/src/projectile/gyorgTail.c +++ b/src/projectile/gyorgTail.c @@ -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; diff --git a/src/projectile/iceProjectile.c b/src/projectile/iceProjectile.c index 0cd93e21..da4d7c21 100644 --- a/src/projectile/iceProjectile.c +++ b/src/projectile/iceProjectile.c @@ -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); diff --git a/src/projectile/lakituLightning.c b/src/projectile/lakituLightning.c index 975491c2..1dbcf1fb 100644 --- a/src/projectile/lakituLightning.c +++ b/src/projectile/lakituLightning.c @@ -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(); } } diff --git a/src/projectile/mandiblesProjectile.c b/src/projectile/mandiblesProjectile.c index 1bcfd7cf..54f08371 100644 --- a/src/projectile/mandiblesProjectile.c +++ b/src/projectile/mandiblesProjectile.c @@ -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; } diff --git a/src/projectile/rockProjectile.c b/src/projectile/rockProjectile.c index 72d34a73..04a689c2 100644 --- a/src/projectile/rockProjectile.c +++ b/src/projectile/rockProjectile.c @@ -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); diff --git a/src/projectile/torchTrapProjectile.c b/src/projectile/torchTrapProjectile.c index aa550c6a..6603329c 100644 --- a/src/projectile/torchTrapProjectile.c +++ b/src/projectile/torchTrapProjectile.c @@ -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(); } } diff --git a/src/projectile/v3ElectricProjectile.c b/src/projectile/v3ElectricProjectile.c index 4d18a8ba..a987c6b4 100644 --- a/src/projectile/v3ElectricProjectile.c +++ b/src/projectile/v3ElectricProjectile.c @@ -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) { diff --git a/src/projectile/v3HandProjectile.c b/src/projectile/v3HandProjectile.c index 2c4ff6d2..ad30ce23 100644 --- a/src/projectile/v3HandProjectile.c +++ b/src/projectile/v3HandProjectile.c @@ -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(); } } diff --git a/src/projectile/v3TennisBallProjectile.c b/src/projectile/v3TennisBallProjectile.c index d2c4ef74..e9c1e7f2 100644 --- a/src/projectile/v3TennisBallProjectile.c +++ b/src/projectile/v3TennisBallProjectile.c @@ -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(); } } diff --git a/src/projectile/windProjectile.c b/src/projectile/windProjectile.c index 92308f75..db9ff9b6 100644 --- a/src/projectile/windProjectile.c +++ b/src/projectile/windProjectile.c @@ -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); diff --git a/src/projectileInit.c b/src/projectileInit.c new file mode 100644 index 00000000..8f53618f --- /dev/null +++ b/src/projectileInit.c @@ -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; +} diff --git a/src/spriteDataNpc.c b/src/spriteDataNpc.c new file mode 100644 index 00000000..f32020a9 --- /dev/null +++ b/src/spriteDataNpc.c @@ -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 diff --git a/src/spriteDataObject.c b/src/spriteDataObject.c new file mode 100644 index 00000000..d2efb82f --- /dev/null +++ b/src/spriteDataObject.c @@ -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 diff --git a/src/spriteDataPlayerItem.c b/src/spriteDataPlayerItem.c new file mode 100644 index 00000000..0efa47b5 --- /dev/null +++ b/src/spriteDataPlayerItem.c @@ -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