summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2022-02-05 13:07:26 +0100
committeroctorock <79596758+octorock@users.noreply.github.com>2022-02-05 13:07:26 +0100
commit192419c7addfe4f91aefb8fdcfd39a03e5ac87bb (patch)
tree379bac123ccfb4d0eb4d8a9af6e634d86051a190
parente59664435ef5808d6dedebf3d143ef24c6e00802 (diff)
Decompile Enemy62
-rw-r--r--asm/enemy/enemy62.s272
-rw-r--r--assets/assets.json138
-rw-r--r--data/animations/enemy/enemy62.s264
-rw-r--r--data/animations/enemy/gyorgMaleEye.s264
-rw-r--r--data/const/enemy/enemy62.s25
-rw-r--r--data/gfx/sprite_ptrs.s2
-rw-r--r--include/enemy.h4
-rw-r--r--linker.ld6
-rw-r--r--src/enemy.c2
-rw-r--r--src/enemy/gyorgMale.c6
-rw-r--r--src/enemy/gyorgMaleEye.c137
11 files changed, 475 insertions, 645 deletions
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,400 +28713,390 @@
"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,
"size": 17,
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,
+};