mirror of https://github.com/zeldaret/tmc.git
Merge pull request #350 from octorock/enemy64
This commit is contained in:
commit
f4d86a61f8
|
@ -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
|
1461
asm/enemy/enemy64.s
1461
asm/enemy/enemy64.s
File diff suppressed because it is too large
Load Diff
|
@ -28580,399 +28580,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,
|
||||
|
@ -28997,11 +28987,6 @@
|
|||
"size": 17,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "enemy64/gUnk_080D29B8.bin",
|
||||
"start": 862648,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080D3D94/gUnk_080D3D94.bin",
|
||||
"start": 867732,
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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"
|
|
@ -1,44 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
gUnk_080D2974:: @ 080D2974
|
||||
.4byte sub_08049100
|
||||
.4byte sub_080491EC
|
||||
.4byte sub_080492A8
|
||||
.4byte sub_08049574
|
||||
.4byte sub_080496CC
|
||||
|
||||
gUnk_080D2988:: @ 080D2988
|
||||
.4byte sub_0804920C
|
||||
.4byte sub_08049274
|
||||
|
||||
gUnk_080D2990:: @ 080D2990
|
||||
.4byte sub_080492C8
|
||||
.4byte sub_08049358
|
||||
.4byte sub_080493E4
|
||||
.4byte sub_0804945C
|
||||
.4byte sub_080494D0
|
||||
.4byte sub_08049538
|
||||
|
||||
gUnk_080D29A8:: @ 080D29A8
|
||||
.4byte sub_08049594
|
||||
.4byte sub_080495F8
|
||||
.4byte sub_0804965C
|
||||
.4byte sub_0804969C
|
||||
|
||||
gUnk_080D29B8:: @ 080D29B8
|
||||
.incbin "enemy64/gUnk_080D29B8.bin"
|
||||
|
||||
gUnk_080D29C0:: @ 080D29C0
|
||||
.4byte sub_080496EC
|
||||
.4byte sub_0804972C
|
||||
.4byte sub_0804975C
|
||||
.4byte sub_08049788
|
||||
.4byte sub_080497D0
|
||||
.4byte sub_08049804
|
||||
.4byte sub_08049888
|
||||
.4byte sub_080498B4
|
|
@ -1562,7 +1562,7 @@ gSpritePtrs:: @ 080029B4
|
|||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
|
||||
.4byte gSpriteAnimations_Enemy62
|
||||
.4byte gSpriteAnimations_GyorgMaleEye
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
|
|
|
@ -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,9 +230,9 @@ void Curtain(Entity*);
|
|||
void VaatiWrathEye(Entity*);
|
||||
void GyorgChild();
|
||||
void GyorgFemaleEye();
|
||||
void Enemy62(Entity*);
|
||||
void GyorgMaleEye();
|
||||
void GyorgFemaleMouth();
|
||||
void Enemy64(Entity*);
|
||||
void Enemy64();
|
||||
void TreeItem(Entity*);
|
||||
void Enemy66(Entity*);
|
||||
|
||||
|
|
10
linker.ld
10
linker.ld
|
@ -424,9 +424,9 @@ SECTIONS {
|
|||
src/enemy/vaatiWrathEye.o(.text);
|
||||
src/enemy/gyorgChild.o(.text);
|
||||
src/enemy/gyorgFemaleEye.o(.text);
|
||||
asm/enemy/enemy62.o(.text);
|
||||
src/enemy/gyorgMaleEye.o(.text);
|
||||
src/enemy/gyorgFemaleMouth.o(.text);
|
||||
asm/enemy/enemy64.o(.text);
|
||||
src/enemy/enemy64.o(.text);
|
||||
src/enemy/treeItem.o(.text);
|
||||
src/enemy/enemy66.o(.text);
|
||||
/* END enemies */
|
||||
|
@ -1113,11 +1113,11 @@ 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);
|
||||
data/const/enemy/enemy64.o(.rodata);
|
||||
src/enemy/enemy64.o(.rodata);
|
||||
src/enemy/treeItem.o(.rodata);
|
||||
src/enemy/enemy66.o(.rodata);
|
||||
src/enemy.o(.rodata);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -0,0 +1,523 @@
|
|||
/**
|
||||
* @file enemy64.c
|
||||
* @ingroup Enemies
|
||||
*
|
||||
* @brief Enemy64 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[0x6];
|
||||
/*0x6e*/ u8 unk_6e;
|
||||
/*0x6f*/ u8 unk_6f[0x5];
|
||||
/*0x74*/ s16 unk_74;
|
||||
/*0x76*/ u16 unk_76;
|
||||
/*0x78*/ u16 unk_78;
|
||||
/*0x7a*/ u16 unk_7a;
|
||||
/*0x7c*/ u8 unk_7c;
|
||||
/*0x7d*/ u8 unk_7d;
|
||||
/*0x7e*/ u16 unk_7e;
|
||||
/*0x80*/ u16 unk_80;
|
||||
/*0x82*/ u16 unk_82;
|
||||
} Enemy64Entity;
|
||||
|
||||
extern void sub_08047EA4(Entity*, u32); // gyorgMale
|
||||
|
||||
extern void (*const Enemy64_Actions[])(Enemy64Entity*);
|
||||
extern void (*const Enemy64_Action1_SubActions[])(Enemy64Entity*);
|
||||
extern void (*const Enemy64_Action2_SubActions[])(Enemy64Entity*);
|
||||
extern void (*const Enemy64_Action3_SubActions[])(Enemy64Entity*);
|
||||
extern const u8 gUnk_080D29B8[];
|
||||
extern void (*const Enemy64_Action4_SubActions[])(Enemy64Entity*);
|
||||
|
||||
void sub_080499F0(Enemy64Entity*);
|
||||
void sub_08049998(Enemy64Entity*, u32);
|
||||
void Enemy64_Action2_SubAction1(Enemy64Entity*);
|
||||
void sub_08049944(Enemy64Entity*);
|
||||
bool32 sub_08049A8C(Enemy64Entity*);
|
||||
void sub_08049AB0(Enemy64Entity*);
|
||||
void sub_08049B20(Enemy64Entity*);
|
||||
|
||||
void Enemy64(Enemy64Entity* this) {
|
||||
if (super->action != 0) {
|
||||
super->spriteSettings.draw = this->unk_7d;
|
||||
}
|
||||
if (super->health == 0) {
|
||||
super->health = 0xff;
|
||||
super->action = 4;
|
||||
super->subAction = 0;
|
||||
}
|
||||
Enemy64_Actions[super->action](this);
|
||||
sub_0805EC9C(super, 0xaa, 0xaa, this->unk_78);
|
||||
super->animationState = -(this->unk_78 >> 8);
|
||||
sub_080499F0(this);
|
||||
this->unk_7d = super->spriteSettings.draw;
|
||||
if (((super->spriteSettings.draw == 1) && (0x100 < (super->y.HALF.HI - gRoomControls.scroll_y) + 0x30U))) {
|
||||
super->spriteSettings.draw = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Init(Enemy64Entity* this) {
|
||||
Entity* tail;
|
||||
|
||||
if (CheckFlags(0x7c)) {
|
||||
SetTile(0x4081, 10, 2);
|
||||
SetTile(0x4081, 0x4a, 2);
|
||||
SetTile(0x4081, 0x8a, 2);
|
||||
SetTile(0x4081, 0xca, 2);
|
||||
DeleteThisEntity();
|
||||
} else {
|
||||
sub_0807B7D8(0x323, 10, 1);
|
||||
sub_0807B7D8(0x323, 0x4a, 1);
|
||||
sub_0807B7D8(0x323, 0x8a, 1);
|
||||
sub_0807B7D8(0x323, 0xca, 1);
|
||||
}
|
||||
tail = CreateProjectile(GYORG_TAIL);
|
||||
if (tail != NULL) {
|
||||
tail->type = 1;
|
||||
tail->parent = super;
|
||||
super->child = tail;
|
||||
super->action = 1;
|
||||
super->subAction = 0;
|
||||
super->actionDelay = 0x3c;
|
||||
super->direction = 0xc0;
|
||||
super->animationState = 0xc0;
|
||||
super->speed = 0x300;
|
||||
super->spriteRendering.b0 = 3;
|
||||
super->spriteSettings.draw = 1;
|
||||
super->spriteOrientation.flipY = 2;
|
||||
super->spriteRendering.b3 = 2;
|
||||
super->collisionLayer = 2;
|
||||
this->unk_7c = 0;
|
||||
this->unk_78 = 0x4000;
|
||||
this->unk_7a = 0x4000;
|
||||
InitAnimationForceUpdate(super, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action1(Enemy64Entity* this) {
|
||||
Enemy64_Action1_SubActions[super->subAction](this);
|
||||
UpdateAnimationSingleFrame(super);
|
||||
}
|
||||
|
||||
void Enemy64_Action1_SubAction0(Enemy64Entity* this) {
|
||||
if (super->actionDelay != 0) {
|
||||
super->actionDelay--;
|
||||
} else {
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
if ((gRoomControls.origin_x - 0x100) > super->x.HALF.HI) {
|
||||
super->subAction = 1;
|
||||
super->direction = 0x80;
|
||||
super->animationState = 0x80;
|
||||
super->speed = 0xc0;
|
||||
super->x.HALF.HI = gRoomControls.origin_x + 0xa8;
|
||||
super->y.HALF.HI = gRoomControls.origin_y - 0x40;
|
||||
this->unk_78 = 0x8000;
|
||||
this->unk_7a = 0x8000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action1_SubAction1(Enemy64Entity* this) {
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
if ((gRoomControls.origin_y + 0x40) < super->y.HALF.HI) {
|
||||
super->action = 2;
|
||||
super->subAction = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action2(Enemy64Entity* this) {
|
||||
Enemy64_Action2_SubActions[super->subAction](this);
|
||||
UpdateAnimationSingleFrame(super);
|
||||
}
|
||||
|
||||
void Enemy64_Action2_SubAction0(Enemy64Entity* this) {
|
||||
u16 uVar1;
|
||||
u16* puVar2;
|
||||
|
||||
super->subAction = 1;
|
||||
super->speed = 0x120;
|
||||
this->unk_6e = 0;
|
||||
if ((s32)(super->x.HALF.HI - (u32)gRoomControls.origin_x) < 0xa8) {
|
||||
this->unk_80 = 0xd8;
|
||||
this->unk_74 = 0x100;
|
||||
} else {
|
||||
this->unk_80 = 0x78;
|
||||
this->unk_74 = 0xff00;
|
||||
}
|
||||
this->unk_80 += gRoomControls.origin_x;
|
||||
if ((s32)(super->y.HALF.HI - (u32)gRoomControls.origin_y) < 0x80) {
|
||||
this->unk_82 = 0xb0;
|
||||
} else {
|
||||
this->unk_82 = 0x50;
|
||||
this->unk_74 *= -1;
|
||||
}
|
||||
this->unk_82 += gRoomControls.origin_y;
|
||||
Enemy64_Action2_SubAction1(this);
|
||||
}
|
||||
|
||||
void Enemy64_Action2_SubAction1(Enemy64Entity* this) {
|
||||
u32 tmp = sub_080045DA(this->unk_80 - super->x.HALF.HI, this->unk_82 - super->y.HALF.HI);
|
||||
if (4 < (((super->direction - tmp) + 2) & 0xff)) {
|
||||
if (((tmp - super->direction) & 0x80) != 0) {
|
||||
super->direction--;
|
||||
} else {
|
||||
super->direction++;
|
||||
}
|
||||
}
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
if (EntityWithinDistance(super, this->unk_80, this->unk_82, (super->speed >> 0x10) + 0x10)) {
|
||||
super->subAction = 2;
|
||||
super->speed = 0xc0;
|
||||
this->unk_7e = 0x100;
|
||||
this->unk_76 = (u16)super->direction << 8;
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action2_SubAction2(Enemy64Entity* this) {
|
||||
u32 iVar1;
|
||||
u32 uVar2;
|
||||
u32 uVar3;
|
||||
|
||||
iVar1 = this->unk_76 += this->unk_74;
|
||||
uVar2 = iVar1 * 0x10000;
|
||||
super->direction = (u8)(uVar2 >> 0x18);
|
||||
if (((uVar2 >> 0x18 & 0x1f) == 0) &&
|
||||
(uVar3 = CalculateDirectionTo(super->x.HALF.HI, super->y.HALF.HI, gRoomControls.origin_x + 0xa8,
|
||||
gRoomControls.origin_y + 0x80),
|
||||
((((uVar3 + 2) & 0x1c) - (super->direction >> 3)) & 0xf) == 8)) {
|
||||
super->subAction = 4;
|
||||
super->actionDelay = 0x3c;
|
||||
super->field_0xf = 7;
|
||||
}
|
||||
sub_08049944(this);
|
||||
sub_08047EA4(super, ((0x100 - super->direction) & 0xff) << 8);
|
||||
}
|
||||
|
||||
void Enemy64_Action2_SubAction3(Enemy64Entity* this) {
|
||||
s32 iVar1;
|
||||
u32 uVar2;
|
||||
|
||||
iVar1 = this->unk_76 += this->unk_74;
|
||||
uVar2 = iVar1 * 0x10000;
|
||||
super->direction = (uVar2 >> 0x18);
|
||||
if (super->actionDelay == 0) {
|
||||
if ((uVar2 >> 0x18 & 0x1f) == 0) {
|
||||
super->subAction = 4;
|
||||
super->actionDelay = 0x5a;
|
||||
}
|
||||
} else {
|
||||
if (sub_08049A8C(this)) {
|
||||
Entity* projectile = CreateProjectile(GYORG_MALE_ENERGY_PROJECTILE);
|
||||
if (projectile != NULL) {
|
||||
projectile->collisionLayer = 2;
|
||||
projectile->parent = super;
|
||||
UpdateSpriteForCollisionLayer(projectile);
|
||||
}
|
||||
}
|
||||
}
|
||||
sub_08049944(this);
|
||||
sub_08047EA4(super, ((0x100 - super->direction) & 0xff) << 8);
|
||||
}
|
||||
|
||||
void Enemy64_Action2_SubAction4(Enemy64Entity* this) {
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
if (--super->actionDelay == 0) {
|
||||
if (--super->field_0xf == 0) {
|
||||
super->subAction = 5;
|
||||
super->speed += 0x40;
|
||||
} else {
|
||||
super->subAction = 3;
|
||||
super->actionDelay = 0xa;
|
||||
}
|
||||
} else if (super->actionDelay == 0x50) {
|
||||
Entity* enemy = CreateEnemy(GYORG_MALE_EYE, Random() & 3);
|
||||
if (enemy != NULL) {
|
||||
enemy->parent = super;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action2_SubAction5(Enemy64Entity* this) {
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
if (EntityWithinDistance(super, gRoomControls.origin_x + 0xa8, gRoomControls.origin_y + 0x80, 0x70) == FALSE) {
|
||||
super->action = 3;
|
||||
super->subAction = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action3(Enemy64Entity* this) {
|
||||
Enemy64_Action3_SubActions[super->subAction](this);
|
||||
UpdateAnimationSingleFrame(super);
|
||||
}
|
||||
|
||||
void Enemy64_Action3_SubAction0(Enemy64Entity* this) {
|
||||
u32 tmp = sub_080045DA(gRoomControls.origin_x + 0xa8 - super->x.HALF.HI,
|
||||
gRoomControls.origin_y + 0x80 - super->y.HALF.HI);
|
||||
if (tmp != super->direction) {
|
||||
if (((tmp - super->direction) & 0x80) != 0) {
|
||||
super->direction--;
|
||||
} else {
|
||||
super->direction++;
|
||||
}
|
||||
} else {
|
||||
super->subAction = 1;
|
||||
super->speed = 0x180;
|
||||
}
|
||||
sub_08049944(this);
|
||||
sub_08047EA4(super, ((0x100 - super->direction) & 0xff) << 8);
|
||||
}
|
||||
|
||||
void Enemy64_Action3_SubAction1(Enemy64Entity* this) {
|
||||
if (EntityWithinDistance(super, gRoomControls.origin_x + 0xa8, gRoomControls.origin_y + 0x80, 0x28)) {
|
||||
super->subAction = 2;
|
||||
super->actionDelay = 0x2d;
|
||||
this->unk_74 = gUnk_080D29B8[Random() & 7] << 0x18 >> 0x18;
|
||||
this->unk_76 = super->direction << 8;
|
||||
}
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
}
|
||||
|
||||
void Enemy64_Action3_SubAction2(Enemy64Entity* this) {
|
||||
this->unk_76 += this->unk_74;
|
||||
super->direction = this->unk_76 >> 8;
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
if (--super->actionDelay == 0) {
|
||||
super->subAction = 3;
|
||||
super->actionDelay = 0x1e;
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action3_SubAction3(Enemy64Entity* this) {
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
if (--super->actionDelay == 0) {
|
||||
super->action = 2;
|
||||
super->subAction = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action4(Enemy64Entity* this) {
|
||||
Enemy64_Action4_SubActions[super->subAction](this);
|
||||
UpdateAnimationSingleFrame(super);
|
||||
}
|
||||
|
||||
void Enemy64_Action4_SubAction0(Enemy64Entity* this) {
|
||||
SoundReq(SFX_BOSS_DIE);
|
||||
if (sub_08079F8C() && gPlayerEntity.z.HALF.HI == 0) {
|
||||
SetPlayerControl(CONTROL_2);
|
||||
super->subAction = 2;
|
||||
super->actionDelay = 0x1e;
|
||||
} else {
|
||||
super->subAction = 1;
|
||||
}
|
||||
sub_08049944(this);
|
||||
}
|
||||
|
||||
void Enemy64_Action4_SubAction1(Enemy64Entity* this) {
|
||||
if (sub_08079F8C() && gPlayerEntity.z.HALF.HI == 0) {
|
||||
SetPlayerControl(CONTROL_2);
|
||||
super->subAction = 2;
|
||||
super->actionDelay = 1;
|
||||
}
|
||||
sub_08049944(this);
|
||||
}
|
||||
|
||||
void Enemy64_Action4_SubAction2(Enemy64Entity* this) {
|
||||
if (--super->actionDelay == 0) {
|
||||
super->subAction = 3;
|
||||
super->actionDelay = 0xb4;
|
||||
super->speed = 0x100;
|
||||
super->direction -= 0x40;
|
||||
}
|
||||
sub_08049944(this);
|
||||
}
|
||||
|
||||
void Enemy64_Action4_SubAction3(Enemy64Entity* this) {
|
||||
sub_08049AB0(this);
|
||||
if (--super->actionDelay == 0) {
|
||||
super->actionDelay = 0x1e;
|
||||
super->subAction = 4;
|
||||
super->speed = 0x400;
|
||||
super->direction = super->animationState;
|
||||
SoundReq(SFX_BOSS_DIE);
|
||||
} else {
|
||||
super->direction ^= 0x80;
|
||||
sub_08049B20(this);
|
||||
}
|
||||
sub_08049944(this);
|
||||
}
|
||||
|
||||
void Enemy64_Action4_SubAction4(Enemy64Entity* this) {
|
||||
sub_08049AB0(this);
|
||||
sub_08049998(this, ((0x100 - super->direction) & 0xff) << 8);
|
||||
if (--super->actionDelay == 0) {
|
||||
super->subAction = 5;
|
||||
SetFade(5, 0x10);
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action4_SubAction5(Enemy64Entity* this) {
|
||||
Entity* entity;
|
||||
sub_08049944(this);
|
||||
if (gFadeControl.active == 0) {
|
||||
super->subAction = 6;
|
||||
super->spriteSettings.draw = 0;
|
||||
entity = super->child;
|
||||
entity->flags &= 0x7f;
|
||||
entity->spriteSettings.draw = 0;
|
||||
entity = entity->child;
|
||||
entity->flags &= 0x7f;
|
||||
entity->spriteSettings.draw = 0;
|
||||
entity = entity->child;
|
||||
entity->flags &= 0x7f;
|
||||
entity->spriteSettings.draw = 0;
|
||||
entity = &gPlayerEntity;
|
||||
entity->x.HALF.HI = gRoomControls.origin_x + 0xa8;
|
||||
entity->y.HALF.HI = gRoomControls.origin_y + 0x80;
|
||||
entity->animationState = 0;
|
||||
sub_080809D4();
|
||||
SetFade(4, 4);
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action4_SubAction6(Enemy64Entity* this) {
|
||||
if (gFadeControl.active == 0) {
|
||||
super->subAction = 7;
|
||||
super->actionDelay = 0xa0;
|
||||
SoundReq(SFX_SECRET);
|
||||
SetFlag(0x7c);
|
||||
SetPlayerControl(CONTROL_1);
|
||||
}
|
||||
}
|
||||
|
||||
void Enemy64_Action4_SubAction7(Enemy64Entity* this) {
|
||||
if (--super->actionDelay == 0) {
|
||||
DeleteThisEntity();
|
||||
} else if (super->actionDelay == 0x10) {
|
||||
sub_0807B7D8(0x36, 0xca, 1);
|
||||
SetTile(0x4081, 0xca, 2);
|
||||
SoundReq(SFX_HEART_GET);
|
||||
} else if (super->actionDelay == 0x18) {
|
||||
sub_0807B7D8(0x36, 0x8a, 1);
|
||||
SetTile(0x4081, 0x8a, 2);
|
||||
SoundReq(SFX_HEART_GET);
|
||||
} else if (super->actionDelay == 0x20) {
|
||||
sub_0807B7D8(0x36, 0x4a, 1);
|
||||
SetTile(0x4081, 0x4a, 2);
|
||||
SoundReq(SFX_HEART_GET);
|
||||
} else if (super->actionDelay == 0x28) {
|
||||
sub_0807B7D8(0x36, 10, 1);
|
||||
SetTile(0x4081, 10, 2);
|
||||
SoundReq(SFX_HEART_GET);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08049944(Enemy64Entity* this) {
|
||||
this->unk_7c = (this->unk_7c << 1 & 0x7f) | (this->unk_7c & 0x80);
|
||||
if (EntityWithinDistance(super, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x20)) {
|
||||
gPlayerState.field_0x14 = 1;
|
||||
if (gPlayerEntity.z.HALF.HI == 0) {
|
||||
gPlayerState.flags |= 2;
|
||||
this->unk_7c |= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08049998(Enemy64Entity* this, u32 param_2) {
|
||||
s32 tmpX;
|
||||
s32 tmpY;
|
||||
|
||||
sub_08049944(this);
|
||||
sub_08047EA4(super, param_2);
|
||||
tmpX = super->x.HALF.HI;
|
||||
tmpY = super->y.HALF.HI;
|
||||
LinearMoveAngle(super, super->speed, super->direction);
|
||||
if (((this->unk_7c & 1) != 0) && sub_08079F8C()) {
|
||||
gPlayerEntity.x.HALF.HI = (super->x.HALF.HI - tmpX) + gPlayerEntity.x.HALF.HI;
|
||||
gPlayerEntity.y.HALF.HI = (super->y.HALF.HI - tmpY) + gPlayerEntity.y.HALF.HI;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080499F0(Enemy64Entity* this) {
|
||||
u32 tmp;
|
||||
|
||||
if ((((super->action != 0) && (gPlayerEntity.z.HALF.HI == 0)) && (sub_08079F8C())) && ((this->unk_7c & 1) == 0)) {
|
||||
if (EntityWithinDistance(&gPlayerEntity, super->x.HALF.HI, super->y.HALF.HI, 0x24) &&
|
||||
((this->unk_7c & 2) == 0)) {
|
||||
tmp = sub_080045DA((s32)gPlayerEntity.x.HALF.HI - super->x.HALF.HI,
|
||||
(s32)gPlayerEntity.y.HALF.HI - super->y.HALF.HI);
|
||||
gPlayerEntity.x.WORD = super->x.WORD + gSineTable[tmp] * 0x2400;
|
||||
gPlayerEntity.y.WORD = super->y.WORD + gSineTable[tmp + 0x40] * -0x2400;
|
||||
}
|
||||
this->unk_7c = 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool32 sub_08049A8C(Enemy64Entity* this) {
|
||||
if (--super->actionDelay == 0 && (Random() & 0xf) != 0) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08049AB0(Enemy64Entity* this) {
|
||||
u32 rand;
|
||||
|
||||
if ((++super->field_0xf & 0xf) == 0) {
|
||||
Entity* effect = CreateFx(super, FX_GIANT_EXPLOSION3, 0);
|
||||
if (effect != NULL) {
|
||||
rand = Random();
|
||||
effect->x.HALF.HI += ((rand & 0x30) - 0x18);
|
||||
effect->y.HALF.HI += (((rand >> 8) & 0x30) - 0x18);
|
||||
effect->spritePriority.b0 = 3;
|
||||
effect->collisionLayer = 2;
|
||||
UpdateSpriteForCollisionLayer(effect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08049B20(Enemy64Entity* this) {
|
||||
s32 tmpX;
|
||||
s32 tmpY;
|
||||
|
||||
sub_08049944(this);
|
||||
tmpX = super->x.HALF.HI;
|
||||
tmpY = super->y.HALF.HI;
|
||||
LinearMoveAngle(super, super->speed, super->direction);
|
||||
if (((this->unk_7c & 1) != 0) && sub_08079F8C()) {
|
||||
gPlayerEntity.x.HALF.HI = (super->x.HALF.HI - tmpX) + gPlayerEntity.x.HALF.HI;
|
||||
gPlayerEntity.y.HALF.HI = (super->y.HALF.HI - tmpY) + gPlayerEntity.y.HALF.HI;
|
||||
}
|
||||
}
|
||||
|
||||
void (*const Enemy64_Actions[])(Enemy64Entity*) = {
|
||||
Enemy64_Init, Enemy64_Action1, Enemy64_Action2, Enemy64_Action3, Enemy64_Action4,
|
||||
};
|
||||
void (*const Enemy64_Action1_SubActions[])(Enemy64Entity*) = {
|
||||
Enemy64_Action1_SubAction0,
|
||||
Enemy64_Action1_SubAction1,
|
||||
};
|
||||
void (*const Enemy64_Action2_SubActions[])(Enemy64Entity*) = {
|
||||
Enemy64_Action2_SubAction0, Enemy64_Action2_SubAction1, Enemy64_Action2_SubAction2,
|
||||
Enemy64_Action2_SubAction3, Enemy64_Action2_SubAction4, Enemy64_Action2_SubAction5,
|
||||
};
|
||||
void (*const Enemy64_Action3_SubActions[])(Enemy64Entity*) = {
|
||||
Enemy64_Action3_SubAction0,
|
||||
Enemy64_Action3_SubAction1,
|
||||
Enemy64_Action3_SubAction2,
|
||||
Enemy64_Action3_SubAction3,
|
||||
};
|
||||
const u8 gUnk_080D29B8[] = {
|
||||
144, 112, 56, 200, 0, 0, 0, 0,
|
||||
};
|
||||
void (*const Enemy64_Action4_SubActions[])(Enemy64Entity*) = {
|
||||
Enemy64_Action4_SubAction0, Enemy64_Action4_SubAction1, Enemy64_Action4_SubAction2, Enemy64_Action4_SubAction3,
|
||||
Enemy64_Action4_SubAction4, Enemy64_Action4_SubAction5, Enemy64_Action4_SubAction6, Enemy64_Action4_SubAction7,
|
||||
};
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
};
|
Loading…
Reference in New Issue