From 192419c7addfe4f91aefb8fdcfd39a03e5ac87bb Mon Sep 17 00:00:00 2001 From: octorock <79596758+octorock@users.noreply.github.com> Date: Sat, 5 Feb 2022 13:07:26 +0100 Subject: [PATCH] Decompile Enemy62 --- asm/enemy/enemy62.s | 272 --------------------------- assets/assets.json | 138 +++++++------- data/animations/enemy/enemy62.s | 264 -------------------------- data/animations/enemy/gyorgMaleEye.s | 264 ++++++++++++++++++++++++++ data/const/enemy/enemy62.s | 25 --- data/gfx/sprite_ptrs.s | 2 +- include/enemy.h | 4 +- linker.ld | 6 +- src/enemy.c | 2 +- src/enemy/gyorgMale.c | 6 +- src/enemy/gyorgMaleEye.c | 137 ++++++++++++++ 11 files changed, 475 insertions(+), 645 deletions(-) delete mode 100644 asm/enemy/enemy62.s delete mode 100644 data/animations/enemy/enemy62.s create mode 100644 data/animations/enemy/gyorgMaleEye.s delete mode 100644 data/const/enemy/enemy62.s create mode 100644 src/enemy/gyorgMaleEye.c diff --git a/asm/enemy/enemy62.s b/asm/enemy/enemy62.s deleted file mode 100644 index 17c90185..00000000 --- a/asm/enemy/enemy62.s +++ /dev/null @@ -1,272 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Enemy62 -Enemy62: @ 0x08048D98 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, [r5, #0x50] - ldr r0, [r6, #4] - cmp r0, #0 - bne _08048DA8 - bl DeleteThisEntity -_08048DA8: - ldr r4, _08048E00 @ =gUnk_080D22D8 - adds r0, r5, #0 - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - ldrb r2, [r6, #0x1b] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r6, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r5, #0x19] - ands r1, r2 - orrs r1, r0 - strb r1, [r5, #0x19] - adds r0, r6, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, r5, #0 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - pop {r4, r5, r6, pc} - .align 2, 0 -_08048E00: .4byte gUnk_080D22D8 - - thumb_func_start sub_08048E04 -sub_08048E04: @ 0x08048E04 - push {lr} - ldr r2, _08048E18 @ =gUnk_080D22F0 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08048E18: .4byte gUnk_080D22F0 - - thumb_func_start sub_08048E1C -sub_08048E1C: @ 0x08048E1C - push {r4, r5, lr} - adds r5, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - movs r0, #0xff - subs r0, r0, r1 - cmp r0, #0 - beq _08048E96 - ldr r4, [r5, #0x50] - adds r1, r4, #0 - adds r1, #0x45 - ldrb r2, [r1] - cmp r2, r0 - bls _08048E48 - subs r0, r2, r0 - strb r0, [r1] - ldr r0, _08048E44 @ =0x00000127 - bl SoundReq - b _08048E5C - .align 2, 0 -_08048E44: .4byte 0x00000127 -_08048E48: - movs r0, #0 - strb r0, [r1] - movs r0, #0x94 - lsls r0, r0, #1 - bl SoundReq - movs r0, #0x28 - movs r1, #0 - bl InitScreenShake -_08048E5C: - adds r2, r5, #0 - adds r2, #0x3d - ldrb r1, [r2] - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - ble _08048E8E - adds r0, r4, #0 - adds r0, #0x3d - strb r1, [r0] - ldr r4, [r4, #0x54] - ldrb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3d - strb r0, [r1] - ldr r4, [r4, #0x54] - ldrb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3d - strb r0, [r1] - ldr r4, [r4, #0x54] - ldrb r1, [r2] - adds r0, r4, #0 - adds r0, #0x3d - strb r1, [r0] -_08048E8E: - adds r1, r5, #0 - adds r1, #0x45 - movs r0, #0xff - strb r0, [r1] -_08048E96: - ldr r1, _08048EA0 @ =gUnk_080D22D8 - adds r0, r5, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_08048EA0: .4byte gUnk_080D22D8 - - thumb_func_start sub_08048EA4 -sub_08048EA4: @ 0x08048EA4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, [r4, #0x50] - ldrb r1, [r0, #0x14] - movs r0, #0xe0 - ands r0, r1 - lsrs r0, r0, #3 - ldrb r1, [r4, #0xa] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x78 - strb r0, [r1] - adds r0, r4, #0 - bl sub_08048F50 - adds r0, r4, #0 - bl sub_08048F74 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08048ED0 -sub_08048ED0: @ 0x08048ED0 - push {r4, lr} - adds r4, r0, #0 - bl sub_08048F50 - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048EFC - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - movs r0, #0x2d - strb r0, [r4, #0xe] -_08048EFC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08048F00 -sub_08048F00: @ 0x08048F00 - push {r4, lr} - adds r4, r0, #0 - bl sub_08048F50 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08048F2E - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x58 - ldrb r1, [r0] - adds r1, #4 - adds r0, r4, #0 - bl InitializeAnimation -_08048F2E: - pop {r4, pc} - - thumb_func_start sub_08048F30 -sub_08048F30: @ 0x08048F30 - push {r4, lr} - adds r4, r0, #0 - bl sub_08048F50 - adds r0, r4, #0 - bl GetNextFrame - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08048F4E - bl DeleteThisEntity -_08048F4E: - pop {r4, pc} - - thumb_func_start sub_08048F50 -sub_08048F50: @ 0x08048F50 - push {lr} - adds r1, r0, #0 - adds r0, #0x78 - ldrb r3, [r0] - lsls r3, r3, #1 - ldr r0, _08048F70 @ =gUnk_080D2300 - adds r3, r3, r0 - ldr r0, [r1, #0x50] - movs r2, #0 - ldrsb r2, [r3, r2] - ldrb r3, [r3, #1] - lsls r3, r3, #0x18 - asrs r3, r3, #0x18 - bl sub_0806FA90 - pop {pc} - .align 2, 0 -_08048F70: .4byte gUnk_080D2300 - - thumb_func_start sub_08048F74 -sub_08048F74: @ 0x08048F74 - push {lr} - ldr r2, _08048F88 @ =gUnk_080D2348 - adds r1, r0, #0 - adds r1, #0x78 - ldrb r1, [r1] - adds r1, r1, r2 - ldrb r1, [r1] - bl InitializeAnimation - pop {pc} - .align 2, 0 -_08048F88: .4byte gUnk_080D2348 diff --git a/assets/assets.json b/assets/assets.json index b1e30e55..76f05644 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -28713,399 +28713,389 @@ "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_0.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_0.bin", "start": 861032, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_1.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_1.bin", "start": 861049, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_2.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_2.bin", "start": 861066, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_3.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_3.bin", "start": 861083, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_4.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_4.bin", "start": 861100, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_5.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_5.bin", "start": 861117, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_6.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_6.bin", "start": 861134, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_7.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_7.bin", "start": 861151, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_8.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_8.bin", "start": 861168, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_9.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_9.bin", "start": 861185, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_10.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_10.bin", "start": 861202, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_11.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_11.bin", "start": 861219, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_12.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_12.bin", "start": 861236, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_13.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_13.bin", "start": 861253, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_14.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_14.bin", "start": 861270, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_15.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_15.bin", "start": 861287, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_16.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_16.bin", "start": 861304, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_17.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_17.bin", "start": 861321, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_18.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_18.bin", "start": 861338, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_19.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_19.bin", "start": 861355, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_20.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_20.bin", "start": 861372, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_21.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_21.bin", "start": 861389, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_22.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_22.bin", "start": 861406, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_23.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_23.bin", "start": 861423, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_24.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_24.bin", "start": 861440, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_25.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_25.bin", "start": 861457, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_26.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_26.bin", "start": 861474, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_27.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_27.bin", "start": 861491, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_28.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_28.bin", "start": 861508, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_29.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_29.bin", "start": 861525, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_30.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_30.bin", "start": 861542, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_31.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_31.bin", "start": 861559, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_32.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_32.bin", "start": 861576, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_33.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_33.bin", "start": 861593, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_34.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_34.bin", "start": 861610, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_35.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_35.bin", "start": 861627, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_36.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_36.bin", "start": 861644, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_37.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_37.bin", "start": 861661, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_38.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_38.bin", "start": 861678, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_39.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_39.bin", "start": 861695, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_40.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_40.bin", "start": 861712, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_41.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_41.bin", "start": 861729, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_42.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_42.bin", "start": 861746, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_43.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_43.bin", "start": 861763, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_44.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_44.bin", "start": 861780, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_45.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_45.bin", "start": 861797, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_46.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_46.bin", "start": 861814, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_47.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_47.bin", "start": 861831, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_48.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_48.bin", "start": 861848, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_49.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_49.bin", "start": 861865, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_50.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_50.bin", "start": 861882, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_51.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_51.bin", "start": 861899, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_52.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_52.bin", "start": 861916, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_53.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_53.bin", "start": 861933, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_54.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_54.bin", "start": 861950, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_55.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_55.bin", "start": 861967, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_56.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_56.bin", "start": 861984, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_57.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_57.bin", "start": 862001, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_58.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_58.bin", "start": 862018, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_59.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_59.bin", "start": 862035, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_60.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_60.bin", "start": 862052, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_61.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_61.bin", "start": 862069, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_62.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_62.bin", "start": 862086, "size": 17, "type": "animation" }, { - "path": "animations/gSpriteAnimations_Enemy62_63.bin", + "path": "animations/gSpriteAnimations_GyorgMaleEye_63.bin", "start": 862103, "size": 17, "type": "animation" }, - { - "path": "enemy62/gUnk_080D2300.bin", - "start": 860928, - "size": 72 - }, - { - "path": "enemy62/gUnk_080D2348.bin", - "start": 861000, - "size": 32 - }, { "path": "animations/gSpriteAnimations_GyorgFemaleMouth_0.bin", "start": 862492, diff --git a/data/animations/enemy/enemy62.s b/data/animations/enemy/enemy62.s deleted file mode 100644 index 729d7ac0..00000000 --- a/data/animations/enemy/enemy62.s +++ /dev/null @@ -1,264 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gSpriteAnimations_Enemy62_0:: @ 080D2368 - .include "animations/gSpriteAnimations_Enemy62_0.s" - -gSpriteAnimations_Enemy62_1:: @ 080D2379 - .include "animations/gSpriteAnimations_Enemy62_1.s" - -gSpriteAnimations_Enemy62_2:: @ 080D238A - .include "animations/gSpriteAnimations_Enemy62_2.s" - -gSpriteAnimations_Enemy62_3:: @ 080D239B - .include "animations/gSpriteAnimations_Enemy62_3.s" - -gSpriteAnimations_Enemy62_4:: @ 080D23AC - .include "animations/gSpriteAnimations_Enemy62_4.s" - -gSpriteAnimations_Enemy62_5:: @ 080D23BD - .include "animations/gSpriteAnimations_Enemy62_5.s" - -gSpriteAnimations_Enemy62_6:: @ 080D23CE - .include "animations/gSpriteAnimations_Enemy62_6.s" - -gSpriteAnimations_Enemy62_7:: @ 080D23DF - .include "animations/gSpriteAnimations_Enemy62_7.s" - -gSpriteAnimations_Enemy62_8:: @ 080D23F0 - .include "animations/gSpriteAnimations_Enemy62_8.s" - -gSpriteAnimations_Enemy62_9:: @ 080D2401 - .include "animations/gSpriteAnimations_Enemy62_9.s" - -gSpriteAnimations_Enemy62_10:: @ 080D2412 - .include "animations/gSpriteAnimations_Enemy62_10.s" - -gSpriteAnimations_Enemy62_11:: @ 080D2423 - .include "animations/gSpriteAnimations_Enemy62_11.s" - -gSpriteAnimations_Enemy62_12:: @ 080D2434 - .include "animations/gSpriteAnimations_Enemy62_12.s" - -gSpriteAnimations_Enemy62_13:: @ 080D2445 - .include "animations/gSpriteAnimations_Enemy62_13.s" - -gSpriteAnimations_Enemy62_14:: @ 080D2456 - .include "animations/gSpriteAnimations_Enemy62_14.s" - -gSpriteAnimations_Enemy62_15:: @ 080D2467 - .include "animations/gSpriteAnimations_Enemy62_15.s" - -gSpriteAnimations_Enemy62_16:: @ 080D2478 - .include "animations/gSpriteAnimations_Enemy62_16.s" - -gSpriteAnimations_Enemy62_17:: @ 080D2489 - .include "animations/gSpriteAnimations_Enemy62_17.s" - -gSpriteAnimations_Enemy62_18:: @ 080D249A - .include "animations/gSpriteAnimations_Enemy62_18.s" - -gSpriteAnimations_Enemy62_19:: @ 080D24AB - .include "animations/gSpriteAnimations_Enemy62_19.s" - -gSpriteAnimations_Enemy62_20:: @ 080D24BC - .include "animations/gSpriteAnimations_Enemy62_20.s" - -gSpriteAnimations_Enemy62_21:: @ 080D24CD - .include "animations/gSpriteAnimations_Enemy62_21.s" - -gSpriteAnimations_Enemy62_22:: @ 080D24DE - .include "animations/gSpriteAnimations_Enemy62_22.s" - -gSpriteAnimations_Enemy62_23:: @ 080D24EF - .include "animations/gSpriteAnimations_Enemy62_23.s" - -gSpriteAnimations_Enemy62_24:: @ 080D2500 - .include "animations/gSpriteAnimations_Enemy62_24.s" - -gSpriteAnimations_Enemy62_25:: @ 080D2511 - .include "animations/gSpriteAnimations_Enemy62_25.s" - -gSpriteAnimations_Enemy62_26:: @ 080D2522 - .include "animations/gSpriteAnimations_Enemy62_26.s" - -gSpriteAnimations_Enemy62_27:: @ 080D2533 - .include "animations/gSpriteAnimations_Enemy62_27.s" - -gSpriteAnimations_Enemy62_28:: @ 080D2544 - .include "animations/gSpriteAnimations_Enemy62_28.s" - -gSpriteAnimations_Enemy62_29:: @ 080D2555 - .include "animations/gSpriteAnimations_Enemy62_29.s" - -gSpriteAnimations_Enemy62_30:: @ 080D2566 - .include "animations/gSpriteAnimations_Enemy62_30.s" - -gSpriteAnimations_Enemy62_31:: @ 080D2577 - .include "animations/gSpriteAnimations_Enemy62_31.s" - -gSpriteAnimations_Enemy62_32:: @ 080D2588 - .include "animations/gSpriteAnimations_Enemy62_32.s" - -gSpriteAnimations_Enemy62_33:: @ 080D2599 - .include "animations/gSpriteAnimations_Enemy62_33.s" - -gSpriteAnimations_Enemy62_34:: @ 080D25AA - .include "animations/gSpriteAnimations_Enemy62_34.s" - -gSpriteAnimations_Enemy62_35:: @ 080D25BB - .include "animations/gSpriteAnimations_Enemy62_35.s" - -gSpriteAnimations_Enemy62_36:: @ 080D25CC - .include "animations/gSpriteAnimations_Enemy62_36.s" - -gSpriteAnimations_Enemy62_37:: @ 080D25DD - .include "animations/gSpriteAnimations_Enemy62_37.s" - -gSpriteAnimations_Enemy62_38:: @ 080D25EE - .include "animations/gSpriteAnimations_Enemy62_38.s" - -gSpriteAnimations_Enemy62_39:: @ 080D25FF - .include "animations/gSpriteAnimations_Enemy62_39.s" - -gSpriteAnimations_Enemy62_40:: @ 080D2610 - .include "animations/gSpriteAnimations_Enemy62_40.s" - -gSpriteAnimations_Enemy62_41:: @ 080D2621 - .include "animations/gSpriteAnimations_Enemy62_41.s" - -gSpriteAnimations_Enemy62_42:: @ 080D2632 - .include "animations/gSpriteAnimations_Enemy62_42.s" - -gSpriteAnimations_Enemy62_43:: @ 080D2643 - .include "animations/gSpriteAnimations_Enemy62_43.s" - -gSpriteAnimations_Enemy62_44:: @ 080D2654 - .include "animations/gSpriteAnimations_Enemy62_44.s" - -gSpriteAnimations_Enemy62_45:: @ 080D2665 - .include "animations/gSpriteAnimations_Enemy62_45.s" - -gSpriteAnimations_Enemy62_46:: @ 080D2676 - .include "animations/gSpriteAnimations_Enemy62_46.s" - -gSpriteAnimations_Enemy62_47:: @ 080D2687 - .include "animations/gSpriteAnimations_Enemy62_47.s" - -gSpriteAnimations_Enemy62_48:: @ 080D2698 - .include "animations/gSpriteAnimations_Enemy62_48.s" - -gSpriteAnimations_Enemy62_49:: @ 080D26A9 - .include "animations/gSpriteAnimations_Enemy62_49.s" - -gSpriteAnimations_Enemy62_50:: @ 080D26BA - .include "animations/gSpriteAnimations_Enemy62_50.s" - -gSpriteAnimations_Enemy62_51:: @ 080D26CB - .include "animations/gSpriteAnimations_Enemy62_51.s" - -gSpriteAnimations_Enemy62_52:: @ 080D26DC - .include "animations/gSpriteAnimations_Enemy62_52.s" - -gSpriteAnimations_Enemy62_53:: @ 080D26ED - .include "animations/gSpriteAnimations_Enemy62_53.s" - -gSpriteAnimations_Enemy62_54:: @ 080D26FE - .include "animations/gSpriteAnimations_Enemy62_54.s" - -gSpriteAnimations_Enemy62_55:: @ 080D270F - .include "animations/gSpriteAnimations_Enemy62_55.s" - -gSpriteAnimations_Enemy62_56:: @ 080D2720 - .include "animations/gSpriteAnimations_Enemy62_56.s" - -gSpriteAnimations_Enemy62_57:: @ 080D2731 - .include "animations/gSpriteAnimations_Enemy62_57.s" - -gSpriteAnimations_Enemy62_58:: @ 080D2742 - .include "animations/gSpriteAnimations_Enemy62_58.s" - -gSpriteAnimations_Enemy62_59:: @ 080D2753 - .include "animations/gSpriteAnimations_Enemy62_59.s" - -gSpriteAnimations_Enemy62_60:: @ 080D2764 - .include "animations/gSpriteAnimations_Enemy62_60.s" - -gSpriteAnimations_Enemy62_61:: @ 080D2775 - .include "animations/gSpriteAnimations_Enemy62_61.s" - -gSpriteAnimations_Enemy62_62:: @ 080D2786 - .include "animations/gSpriteAnimations_Enemy62_62.s" - -gSpriteAnimations_Enemy62_63:: @ 080D2797 - .include "animations/gSpriteAnimations_Enemy62_63.s" - -gSpriteAnimations_Enemy62:: @ 080D27A8 - .4byte gSpriteAnimations_Enemy62_0 - .4byte gSpriteAnimations_Enemy62_1 - .4byte gSpriteAnimations_Enemy62_2 - .4byte gSpriteAnimations_Enemy62_3 - .4byte gSpriteAnimations_Enemy62_4 - .4byte gSpriteAnimations_Enemy62_5 - .4byte gSpriteAnimations_Enemy62_6 - .4byte gSpriteAnimations_Enemy62_7 - .4byte gSpriteAnimations_Enemy62_8 - .4byte gSpriteAnimations_Enemy62_9 - .4byte gSpriteAnimations_Enemy62_10 - .4byte gSpriteAnimations_Enemy62_11 - .4byte gSpriteAnimations_Enemy62_12 - .4byte gSpriteAnimations_Enemy62_13 - .4byte gSpriteAnimations_Enemy62_14 - .4byte gSpriteAnimations_Enemy62_15 - .4byte gSpriteAnimations_Enemy62_16 - .4byte gSpriteAnimations_Enemy62_17 - .4byte gSpriteAnimations_Enemy62_18 - .4byte gSpriteAnimations_Enemy62_19 - .4byte gSpriteAnimations_Enemy62_20 - .4byte gSpriteAnimations_Enemy62_21 - .4byte gSpriteAnimations_Enemy62_22 - .4byte gSpriteAnimations_Enemy62_23 - .4byte gSpriteAnimations_Enemy62_24 - .4byte gSpriteAnimations_Enemy62_25 - .4byte gSpriteAnimations_Enemy62_26 - .4byte gSpriteAnimations_Enemy62_27 - .4byte gSpriteAnimations_Enemy62_28 - .4byte gSpriteAnimations_Enemy62_29 - .4byte gSpriteAnimations_Enemy62_30 - .4byte gSpriteAnimations_Enemy62_31 - .4byte gSpriteAnimations_Enemy62_32 - .4byte gSpriteAnimations_Enemy62_33 - .4byte gSpriteAnimations_Enemy62_34 - .4byte gSpriteAnimations_Enemy62_35 - .4byte gSpriteAnimations_Enemy62_36 - .4byte gSpriteAnimations_Enemy62_37 - .4byte gSpriteAnimations_Enemy62_38 - .4byte gSpriteAnimations_Enemy62_39 - .4byte gSpriteAnimations_Enemy62_40 - .4byte gSpriteAnimations_Enemy62_41 - .4byte gSpriteAnimations_Enemy62_42 - .4byte gSpriteAnimations_Enemy62_43 - .4byte gSpriteAnimations_Enemy62_44 - .4byte gSpriteAnimations_Enemy62_45 - .4byte gSpriteAnimations_Enemy62_46 - .4byte gSpriteAnimations_Enemy62_47 - .4byte gSpriteAnimations_Enemy62_48 - .4byte gSpriteAnimations_Enemy62_49 - .4byte gSpriteAnimations_Enemy62_50 - .4byte gSpriteAnimations_Enemy62_51 - .4byte gSpriteAnimations_Enemy62_52 - .4byte gSpriteAnimations_Enemy62_53 - .4byte gSpriteAnimations_Enemy62_54 - .4byte gSpriteAnimations_Enemy62_55 - .4byte gSpriteAnimations_Enemy62_56 - .4byte gSpriteAnimations_Enemy62_57 - .4byte gSpriteAnimations_Enemy62_58 - .4byte gSpriteAnimations_Enemy62_59 - .4byte gSpriteAnimations_Enemy62_60 - .4byte gSpriteAnimations_Enemy62_61 - .4byte gSpriteAnimations_Enemy62_62 - .4byte gSpriteAnimations_Enemy62_63 - .4byte 00000000 diff --git a/data/animations/enemy/gyorgMaleEye.s b/data/animations/enemy/gyorgMaleEye.s new file mode 100644 index 00000000..b344a923 --- /dev/null +++ b/data/animations/enemy/gyorgMaleEye.s @@ -0,0 +1,264 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gSpriteAnimations_GyorgMaleEye_0:: @ 080D2368 + .include "animations/gSpriteAnimations_GyorgMaleEye_0.s" + +gSpriteAnimations_GyorgMaleEye_1:: @ 080D2379 + .include "animations/gSpriteAnimations_GyorgMaleEye_1.s" + +gSpriteAnimations_GyorgMaleEye_2:: @ 080D238A + .include "animations/gSpriteAnimations_GyorgMaleEye_2.s" + +gSpriteAnimations_GyorgMaleEye_3:: @ 080D239B + .include "animations/gSpriteAnimations_GyorgMaleEye_3.s" + +gSpriteAnimations_GyorgMaleEye_4:: @ 080D23AC + .include "animations/gSpriteAnimations_GyorgMaleEye_4.s" + +gSpriteAnimations_GyorgMaleEye_5:: @ 080D23BD + .include "animations/gSpriteAnimations_GyorgMaleEye_5.s" + +gSpriteAnimations_GyorgMaleEye_6:: @ 080D23CE + .include "animations/gSpriteAnimations_GyorgMaleEye_6.s" + +gSpriteAnimations_GyorgMaleEye_7:: @ 080D23DF + .include "animations/gSpriteAnimations_GyorgMaleEye_7.s" + +gSpriteAnimations_GyorgMaleEye_8:: @ 080D23F0 + .include "animations/gSpriteAnimations_GyorgMaleEye_8.s" + +gSpriteAnimations_GyorgMaleEye_9:: @ 080D2401 + .include "animations/gSpriteAnimations_GyorgMaleEye_9.s" + +gSpriteAnimations_GyorgMaleEye_10:: @ 080D2412 + .include "animations/gSpriteAnimations_GyorgMaleEye_10.s" + +gSpriteAnimations_GyorgMaleEye_11:: @ 080D2423 + .include "animations/gSpriteAnimations_GyorgMaleEye_11.s" + +gSpriteAnimations_GyorgMaleEye_12:: @ 080D2434 + .include "animations/gSpriteAnimations_GyorgMaleEye_12.s" + +gSpriteAnimations_GyorgMaleEye_13:: @ 080D2445 + .include "animations/gSpriteAnimations_GyorgMaleEye_13.s" + +gSpriteAnimations_GyorgMaleEye_14:: @ 080D2456 + .include "animations/gSpriteAnimations_GyorgMaleEye_14.s" + +gSpriteAnimations_GyorgMaleEye_15:: @ 080D2467 + .include "animations/gSpriteAnimations_GyorgMaleEye_15.s" + +gSpriteAnimations_GyorgMaleEye_16:: @ 080D2478 + .include "animations/gSpriteAnimations_GyorgMaleEye_16.s" + +gSpriteAnimations_GyorgMaleEye_17:: @ 080D2489 + .include "animations/gSpriteAnimations_GyorgMaleEye_17.s" + +gSpriteAnimations_GyorgMaleEye_18:: @ 080D249A + .include "animations/gSpriteAnimations_GyorgMaleEye_18.s" + +gSpriteAnimations_GyorgMaleEye_19:: @ 080D24AB + .include "animations/gSpriteAnimations_GyorgMaleEye_19.s" + +gSpriteAnimations_GyorgMaleEye_20:: @ 080D24BC + .include "animations/gSpriteAnimations_GyorgMaleEye_20.s" + +gSpriteAnimations_GyorgMaleEye_21:: @ 080D24CD + .include "animations/gSpriteAnimations_GyorgMaleEye_21.s" + +gSpriteAnimations_GyorgMaleEye_22:: @ 080D24DE + .include "animations/gSpriteAnimations_GyorgMaleEye_22.s" + +gSpriteAnimations_GyorgMaleEye_23:: @ 080D24EF + .include "animations/gSpriteAnimations_GyorgMaleEye_23.s" + +gSpriteAnimations_GyorgMaleEye_24:: @ 080D2500 + .include "animations/gSpriteAnimations_GyorgMaleEye_24.s" + +gSpriteAnimations_GyorgMaleEye_25:: @ 080D2511 + .include "animations/gSpriteAnimations_GyorgMaleEye_25.s" + +gSpriteAnimations_GyorgMaleEye_26:: @ 080D2522 + .include "animations/gSpriteAnimations_GyorgMaleEye_26.s" + +gSpriteAnimations_GyorgMaleEye_27:: @ 080D2533 + .include "animations/gSpriteAnimations_GyorgMaleEye_27.s" + +gSpriteAnimations_GyorgMaleEye_28:: @ 080D2544 + .include "animations/gSpriteAnimations_GyorgMaleEye_28.s" + +gSpriteAnimations_GyorgMaleEye_29:: @ 080D2555 + .include "animations/gSpriteAnimations_GyorgMaleEye_29.s" + +gSpriteAnimations_GyorgMaleEye_30:: @ 080D2566 + .include "animations/gSpriteAnimations_GyorgMaleEye_30.s" + +gSpriteAnimations_GyorgMaleEye_31:: @ 080D2577 + .include "animations/gSpriteAnimations_GyorgMaleEye_31.s" + +gSpriteAnimations_GyorgMaleEye_32:: @ 080D2588 + .include "animations/gSpriteAnimations_GyorgMaleEye_32.s" + +gSpriteAnimations_GyorgMaleEye_33:: @ 080D2599 + .include "animations/gSpriteAnimations_GyorgMaleEye_33.s" + +gSpriteAnimations_GyorgMaleEye_34:: @ 080D25AA + .include "animations/gSpriteAnimations_GyorgMaleEye_34.s" + +gSpriteAnimations_GyorgMaleEye_35:: @ 080D25BB + .include "animations/gSpriteAnimations_GyorgMaleEye_35.s" + +gSpriteAnimations_GyorgMaleEye_36:: @ 080D25CC + .include "animations/gSpriteAnimations_GyorgMaleEye_36.s" + +gSpriteAnimations_GyorgMaleEye_37:: @ 080D25DD + .include "animations/gSpriteAnimations_GyorgMaleEye_37.s" + +gSpriteAnimations_GyorgMaleEye_38:: @ 080D25EE + .include "animations/gSpriteAnimations_GyorgMaleEye_38.s" + +gSpriteAnimations_GyorgMaleEye_39:: @ 080D25FF + .include "animations/gSpriteAnimations_GyorgMaleEye_39.s" + +gSpriteAnimations_GyorgMaleEye_40:: @ 080D2610 + .include "animations/gSpriteAnimations_GyorgMaleEye_40.s" + +gSpriteAnimations_GyorgMaleEye_41:: @ 080D2621 + .include "animations/gSpriteAnimations_GyorgMaleEye_41.s" + +gSpriteAnimations_GyorgMaleEye_42:: @ 080D2632 + .include "animations/gSpriteAnimations_GyorgMaleEye_42.s" + +gSpriteAnimations_GyorgMaleEye_43:: @ 080D2643 + .include "animations/gSpriteAnimations_GyorgMaleEye_43.s" + +gSpriteAnimations_GyorgMaleEye_44:: @ 080D2654 + .include "animations/gSpriteAnimations_GyorgMaleEye_44.s" + +gSpriteAnimations_GyorgMaleEye_45:: @ 080D2665 + .include "animations/gSpriteAnimations_GyorgMaleEye_45.s" + +gSpriteAnimations_GyorgMaleEye_46:: @ 080D2676 + .include "animations/gSpriteAnimations_GyorgMaleEye_46.s" + +gSpriteAnimations_GyorgMaleEye_47:: @ 080D2687 + .include "animations/gSpriteAnimations_GyorgMaleEye_47.s" + +gSpriteAnimations_GyorgMaleEye_48:: @ 080D2698 + .include "animations/gSpriteAnimations_GyorgMaleEye_48.s" + +gSpriteAnimations_GyorgMaleEye_49:: @ 080D26A9 + .include "animations/gSpriteAnimations_GyorgMaleEye_49.s" + +gSpriteAnimations_GyorgMaleEye_50:: @ 080D26BA + .include "animations/gSpriteAnimations_GyorgMaleEye_50.s" + +gSpriteAnimations_GyorgMaleEye_51:: @ 080D26CB + .include "animations/gSpriteAnimations_GyorgMaleEye_51.s" + +gSpriteAnimations_GyorgMaleEye_52:: @ 080D26DC + .include "animations/gSpriteAnimations_GyorgMaleEye_52.s" + +gSpriteAnimations_GyorgMaleEye_53:: @ 080D26ED + .include "animations/gSpriteAnimations_GyorgMaleEye_53.s" + +gSpriteAnimations_GyorgMaleEye_54:: @ 080D26FE + .include "animations/gSpriteAnimations_GyorgMaleEye_54.s" + +gSpriteAnimations_GyorgMaleEye_55:: @ 080D270F + .include "animations/gSpriteAnimations_GyorgMaleEye_55.s" + +gSpriteAnimations_GyorgMaleEye_56:: @ 080D2720 + .include "animations/gSpriteAnimations_GyorgMaleEye_56.s" + +gSpriteAnimations_GyorgMaleEye_57:: @ 080D2731 + .include "animations/gSpriteAnimations_GyorgMaleEye_57.s" + +gSpriteAnimations_GyorgMaleEye_58:: @ 080D2742 + .include "animations/gSpriteAnimations_GyorgMaleEye_58.s" + +gSpriteAnimations_GyorgMaleEye_59:: @ 080D2753 + .include "animations/gSpriteAnimations_GyorgMaleEye_59.s" + +gSpriteAnimations_GyorgMaleEye_60:: @ 080D2764 + .include "animations/gSpriteAnimations_GyorgMaleEye_60.s" + +gSpriteAnimations_GyorgMaleEye_61:: @ 080D2775 + .include "animations/gSpriteAnimations_GyorgMaleEye_61.s" + +gSpriteAnimations_GyorgMaleEye_62:: @ 080D2786 + .include "animations/gSpriteAnimations_GyorgMaleEye_62.s" + +gSpriteAnimations_GyorgMaleEye_63:: @ 080D2797 + .include "animations/gSpriteAnimations_GyorgMaleEye_63.s" + +gSpriteAnimations_GyorgMaleEye:: @ 080D27A8 + .4byte gSpriteAnimations_GyorgMaleEye_0 + .4byte gSpriteAnimations_GyorgMaleEye_1 + .4byte gSpriteAnimations_GyorgMaleEye_2 + .4byte gSpriteAnimations_GyorgMaleEye_3 + .4byte gSpriteAnimations_GyorgMaleEye_4 + .4byte gSpriteAnimations_GyorgMaleEye_5 + .4byte gSpriteAnimations_GyorgMaleEye_6 + .4byte gSpriteAnimations_GyorgMaleEye_7 + .4byte gSpriteAnimations_GyorgMaleEye_8 + .4byte gSpriteAnimations_GyorgMaleEye_9 + .4byte gSpriteAnimations_GyorgMaleEye_10 + .4byte gSpriteAnimations_GyorgMaleEye_11 + .4byte gSpriteAnimations_GyorgMaleEye_12 + .4byte gSpriteAnimations_GyorgMaleEye_13 + .4byte gSpriteAnimations_GyorgMaleEye_14 + .4byte gSpriteAnimations_GyorgMaleEye_15 + .4byte gSpriteAnimations_GyorgMaleEye_16 + .4byte gSpriteAnimations_GyorgMaleEye_17 + .4byte gSpriteAnimations_GyorgMaleEye_18 + .4byte gSpriteAnimations_GyorgMaleEye_19 + .4byte gSpriteAnimations_GyorgMaleEye_20 + .4byte gSpriteAnimations_GyorgMaleEye_21 + .4byte gSpriteAnimations_GyorgMaleEye_22 + .4byte gSpriteAnimations_GyorgMaleEye_23 + .4byte gSpriteAnimations_GyorgMaleEye_24 + .4byte gSpriteAnimations_GyorgMaleEye_25 + .4byte gSpriteAnimations_GyorgMaleEye_26 + .4byte gSpriteAnimations_GyorgMaleEye_27 + .4byte gSpriteAnimations_GyorgMaleEye_28 + .4byte gSpriteAnimations_GyorgMaleEye_29 + .4byte gSpriteAnimations_GyorgMaleEye_30 + .4byte gSpriteAnimations_GyorgMaleEye_31 + .4byte gSpriteAnimations_GyorgMaleEye_32 + .4byte gSpriteAnimations_GyorgMaleEye_33 + .4byte gSpriteAnimations_GyorgMaleEye_34 + .4byte gSpriteAnimations_GyorgMaleEye_35 + .4byte gSpriteAnimations_GyorgMaleEye_36 + .4byte gSpriteAnimations_GyorgMaleEye_37 + .4byte gSpriteAnimations_GyorgMaleEye_38 + .4byte gSpriteAnimations_GyorgMaleEye_39 + .4byte gSpriteAnimations_GyorgMaleEye_40 + .4byte gSpriteAnimations_GyorgMaleEye_41 + .4byte gSpriteAnimations_GyorgMaleEye_42 + .4byte gSpriteAnimations_GyorgMaleEye_43 + .4byte gSpriteAnimations_GyorgMaleEye_44 + .4byte gSpriteAnimations_GyorgMaleEye_45 + .4byte gSpriteAnimations_GyorgMaleEye_46 + .4byte gSpriteAnimations_GyorgMaleEye_47 + .4byte gSpriteAnimations_GyorgMaleEye_48 + .4byte gSpriteAnimations_GyorgMaleEye_49 + .4byte gSpriteAnimations_GyorgMaleEye_50 + .4byte gSpriteAnimations_GyorgMaleEye_51 + .4byte gSpriteAnimations_GyorgMaleEye_52 + .4byte gSpriteAnimations_GyorgMaleEye_53 + .4byte gSpriteAnimations_GyorgMaleEye_54 + .4byte gSpriteAnimations_GyorgMaleEye_55 + .4byte gSpriteAnimations_GyorgMaleEye_56 + .4byte gSpriteAnimations_GyorgMaleEye_57 + .4byte gSpriteAnimations_GyorgMaleEye_58 + .4byte gSpriteAnimations_GyorgMaleEye_59 + .4byte gSpriteAnimations_GyorgMaleEye_60 + .4byte gSpriteAnimations_GyorgMaleEye_61 + .4byte gSpriteAnimations_GyorgMaleEye_62 + .4byte gSpriteAnimations_GyorgMaleEye_63 + .4byte 00000000 diff --git a/data/const/enemy/enemy62.s b/data/const/enemy/enemy62.s deleted file mode 100644 index 11fb4874..00000000 --- a/data/const/enemy/enemy62.s +++ /dev/null @@ -1,25 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_080D22D8:: @ 080D22D8 - .4byte sub_08048E04 - .4byte sub_08048E1C - .4byte sub_08001324 - .4byte sub_0804A7D4 - .4byte sub_08001242 - .4byte sub_08048E04 - -gUnk_080D22F0:: @ 080D22F0 - .4byte sub_08048EA4 - .4byte sub_08048ED0 - .4byte sub_08048F00 - .4byte sub_08048F30 - -gUnk_080D2300:: @ 080D2300 - .incbin "enemy62/gUnk_080D2300.bin" - -gUnk_080D2348:: @ 080D2348 - .incbin "enemy62/gUnk_080D2348.bin" diff --git a/data/gfx/sprite_ptrs.s b/data/gfx/sprite_ptrs.s index 8cae8cca..6e9209c7 100644 --- a/data/gfx/sprite_ptrs.s +++ b/data/gfx/sprite_ptrs.s @@ -1562,7 +1562,7 @@ gSpritePtrs:: @ 080029B4 .4byte 00000000 .4byte 00000000 - .4byte gSpriteAnimations_Enemy62 + .4byte gSpriteAnimations_GyorgMaleEye .4byte 00000000 .4byte 00000000 .4byte 00000000 diff --git a/include/enemy.h b/include/enemy.h index 07bd48cc..3f8525bf 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -126,7 +126,7 @@ typedef enum { /*0x5f*/ VAATI_WRATH_EYE, /*0x60*/ GYORG_CHILD, /*0x61*/ GYORG_FEMALE_EYE, - /*0x62*/ ENEMY_62, + /*0x62*/ GYORG_MALE_EYE, /*0x63*/ GYORG_FEMALE_MOUTH, /*0x64*/ ENEMY_64, /*0x65*/ TREE_ITEM, @@ -230,7 +230,7 @@ void Curtain(Entity*); void VaatiWrathEye(Entity*); void GyorgChild(); void GyorgFemaleEye(); -void Enemy62(Entity*); +void GyorgMaleEye(); void GyorgFemaleMouth(); void Enemy64(); void TreeItem(Entity*); diff --git a/linker.ld b/linker.ld index b97afccf..fe2f9561 100644 --- a/linker.ld +++ b/linker.ld @@ -422,7 +422,7 @@ SECTIONS { src/enemy/vaatiWrathEye.o(.text); src/enemy/gyorgChild.o(.text); src/enemy/gyorgFemaleEye.o(.text); - asm/enemy/enemy62.o(.text); /* TODO gyorgMaleEye? */ + src/enemy/gyorgMaleEye.o(.text); src/enemy/gyorgFemaleMouth.o(.text); src/enemy/enemy64.o(.text); src/enemy/treeItem.o(.text); @@ -1111,8 +1111,8 @@ SECTIONS { data/animations/enemy/gyorgChild.o(.rodata); src/enemy/gyorgFemaleEye.o(.rodata); data/animations/enemy/gyorgFemaleEye.o(.rodata); - data/const/enemy/enemy62.o(.rodata); - data/animations/enemy/enemy62.o(.rodata); + src/enemy/gyorgMaleEye.o(.rodata); + data/animations/enemy/gyorgMaleEye.o(.rodata); src/enemy/gyorgFemaleMouth.o(.rodata); data/animations/enemy/gyorgFemaleMouth.o(.rodata); src/enemy/enemy64.o(.rodata); diff --git a/src/enemy.c b/src/enemy.c index faf5d59f..60a0653c 100644 --- a/src/enemy.c +++ b/src/enemy.c @@ -530,7 +530,7 @@ void (*const gEnemyFunctions[])(Entity* ent) = { [VAATI_WRATH_EYE] = VaatiWrathEye, [GYORG_CHILD] = GyorgChild, [GYORG_FEMALE_EYE] = GyorgFemaleEye, - [ENEMY_62] = Enemy62, + [GYORG_MALE_EYE] = GyorgMaleEye, [GYORG_FEMALE_MOUTH] = GyorgFemaleMouth, [ENEMY_64] = Enemy64, [TREE_ITEM] = TreeItem, diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index d50d44ab..667fa934 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -693,7 +693,7 @@ void sub_08047508(GyorgMaleEntity* this) { this->unk_76 = super->direction << 8; } if (--this->unk_7e == 0) { - Entity* tmp = CreateEnemy(ENEMY_62, Random() & 3); + Entity* tmp = CreateEnemy(GYORG_MALE_EYE, Random() & 3); if (tmp) { tmp->parent = super; } @@ -748,7 +748,7 @@ void sub_0804763C(GyorgMaleEntity* this) { this->unk_76 = super->direction << 8; } if (--this->unk_7e == 0) { - Entity* tmp = CreateEnemy(ENEMY_62, Random() & 3); + Entity* tmp = CreateEnemy(GYORG_MALE_EYE, Random() & 3); if (tmp) { tmp->parent = super; } @@ -856,7 +856,7 @@ void sub_08047978(GyorgMaleEntity* this) { if (--this->unk_7e == 0) { Entity* tmp; this->unk_7e = 0xF0; - tmp = CreateEnemy(ENEMY_62, Random() & 3); + tmp = CreateEnemy(GYORG_MALE_EYE, Random() & 3); if (tmp) { tmp->parent = super; } diff --git a/src/enemy/gyorgMaleEye.c b/src/enemy/gyorgMaleEye.c new file mode 100644 index 00000000..6f87fe4c --- /dev/null +++ b/src/enemy/gyorgMaleEye.c @@ -0,0 +1,137 @@ +/** + * @file gyorgMaleEye.c + * @ingroup Enemies + * + * @brief GyorgMaleEye enemy + */ + +#define NENT_DEPRECATED +#include "global.h" +#include "enemy.h" +#include "functions.h" +#include "fade.h" + +typedef struct { + /*0x00*/ Entity base; + /*0x68*/ u8 unk_68[0x10]; + /*0x78*/ u8 unk_78; +} GyorgMaleEyeEntity; + +extern void (*const GyorgMaleEye_Functions[])(GyorgMaleEyeEntity*); +extern void (*const GyorgMaleEye_Actions[])(GyorgMaleEyeEntity*); +extern const u8 gUnk_080D2300[]; +extern const u8 gUnk_080D2348[]; + +void sub_08048F50(GyorgMaleEyeEntity*); +void sub_08048F74(GyorgMaleEyeEntity*); + +void GyorgMaleEye(GyorgMaleEyeEntity* this) { + Entity* parent = super->parent; + if (parent->next == NULL) { + DeleteThisEntity(); + } + GyorgMaleEye_Functions[GetNextFunction(super)](this); + super->spriteOrientation.flipY = parent->spriteOrientation.flipY; + super->spriteRendering.b3 = parent->spriteRendering.b3; + super->spritePriority.b0 = parent->spritePriority.b0 - 1; +} + +void GyorgMaleEye_OnTick(GyorgMaleEyeEntity* this) { + GyorgMaleEye_Actions[super->action](this); +} + +void sub_08048E1C(GyorgMaleEyeEntity* this) { + u32 tmp; + Entity* entity; + + tmp = 0xff - super->health; + if (tmp != 0) { + entity = super->parent; + if (entity->health > tmp) { + entity->health -= tmp; + SoundReq(SFX_BOSS_HIT); + } else { + entity->health = 0; + SoundReq(SFX_BOSS_DIE); + InitScreenShake(0x28, 0); + } + if (super->iframes > 0) { + entity->iframes = super->iframes; + entity = entity->child; + entity->iframes = super->iframes; + entity = entity->child; + entity->iframes = super->iframes; + entity = entity->child; + entity->iframes = super->iframes; + } + super->health = 0xff; + } + sub_0804AA30(super, GyorgMaleEye_Functions); +} + +void GyorgMaleEye_Init(GyorgMaleEyeEntity* this) { + super->action = 1; + this->unk_78 = (((super->parent)->animationState & 0xe0) >> 3) + super->type; + sub_08048F50(this); + sub_08048F74(this); +} + +void GyorgMaleEye_Action1(GyorgMaleEyeEntity* this) { + sub_08048F50(this); + GetNextFrame(super); + if ((super->frame & 0x80) != 0) { + super->action = 2; + super->flags |= 0x80; + super->actionDelay = 0x2d; + } +} + +void GyorgMaleEye_Action2(GyorgMaleEyeEntity* this) { + sub_08048F50(this); + if (--super->actionDelay == 0) { + super->action = 3; + super->flags &= 0x7f; + InitializeAnimation(super, super->animIndex + 4); + } +} + +void GyorgMaleEye_Action3(GyorgMaleEyeEntity* this) { + sub_08048F50(this); + GetNextFrame(super); + if ((super->frame & 0x80) != 0) { + DeleteThisEntity(); + } +} + +void sub_08048F50(GyorgMaleEyeEntity* this) { + const s8* ptr = &gUnk_080D2300[this->unk_78 * 2]; + sub_0806FA90(super->parent, super, ptr[0], ptr[1]); +} + +void sub_08048F74(GyorgMaleEyeEntity* this) { + InitializeAnimation(super, gUnk_080D2348[this->unk_78]); +} + +void (*const GyorgMaleEye_Functions[])(GyorgMaleEyeEntity*) = { + GyorgMaleEye_OnTick, + sub_08048E1C, + (void (*)(GyorgMaleEyeEntity*))sub_08001324, + (void (*)(GyorgMaleEyeEntity*))sub_0804A7D4, + (void (*)(GyorgMaleEyeEntity*))sub_08001242, + GyorgMaleEye_OnTick, +}; +void (*const GyorgMaleEye_Actions[])(GyorgMaleEyeEntity*) = { + GyorgMaleEye_Init, + GyorgMaleEye_Action1, + GyorgMaleEye_Action2, + GyorgMaleEye_Action3, +}; +const u8 gUnk_080D2300[] = { + 240, 240, 17, 240, 17, 16, 240, 16, 0, 232, 24, 0, 0, 24, 232, 0, 16, 240, 16, 17, 240, 17, 240, 240, 24, + 0, 0, 24, 232, 0, 0, 232, 16, 16, 239, 16, 239, 240, 16, 240, 0, 24, 232, 0, 0, 232, 24, 0, 240, 16, + 240, 239, 16, 239, 16, 16, 232, 0, 0, 232, 24, 0, 0, 24, 240, 240, 17, 240, 17, 16, 240, 16, +}; +const u8 gUnk_080D2348[] = { + 0, 1, 2, 3, 8, 9, 10, 11, 16, 17, 18, 19, 24, 25, 26, 27, + 32, 33, 34, 35, 40, 41, 42, 43, 48, 49, 50, 51, 56, 57, 58, 59, +};