Decompile Enemy62

This commit is contained in:
octorock 2022-02-05 13:07:26 +01:00
parent e59664435e
commit 192419c7ad
11 changed files with 475 additions and 645 deletions

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -1562,7 +1562,7 @@ gSpritePtrs:: @ 080029B4
.4byte 00000000
.4byte 00000000
.4byte gSpriteAnimations_Enemy62
.4byte gSpriteAnimations_GyorgMaleEye
.4byte 00000000
.4byte 00000000
.4byte 00000000

View File

@ -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*);

View File

@ -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);

View File

@ -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,

View File

@ -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;
}

137
src/enemy/gyorgMaleEye.c Normal file
View File

@ -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,
};