blob: a7ea53f640f03b4f289c6dfaa49da1b41f22498f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
#ifndef ENEMY_GYORG_H
#define ENEMY_GYORG_H
#include "enemy.h"
typedef struct {
Entity base;
u8 unk_68[0x8];
u16 childrenSpawnTimer;
u8 unk_72[0x6];
u8 eyesVulnerable; /**< bitset of eyes currently vulnerable */
u8 unk_79;
u16 eyeTimer;
u8 eyesHitFrame; /**< bitset of eyes hit this frame */
u8 eyesHit; /**< bitset buffer of eyes hit */
u8 unk_7e[1];
u8 unk_7f;
u8 unk_80;
u8 unk_81[1];
u8 damageTakenCycle; /**< damage taken this cycle */
u8 unk_83[5];
} GyorgFemaleEntity;
typedef struct {
Entity base;
u8 unk_68[0x20];
} GyorgFemaleEyeEntity;
typedef struct {
Entity base;
u8 filler[0x20];
} GyorgFemaleMouthEntity;
typedef struct {
Entity base;
u8 unk_68[0x8];
u16 unk_70;
u16 unk_72;
u16 unk_74;
u16 unk_76;
u16 unk_78;
u16 unk_7a;
u8 unk_7c;
u8 unk_7d;
u16 unk_7e;
u16 unk_80;
u16 unk_82;
u16 unk_84;
u16 unk_86;
} GyorgMaleEntity;
typedef struct {
Entity base;
u8 unk_68[0xC];
s16 attackOffsetX;
s16 attackOffsetY;
s16 attackSpeed;
u8 attackDirection;
u8 unk_7b;
u8 unk_7c[0xC];
} GyorgChildEntity;
typedef struct {
Entity base;
u8 unk_68[4];
u16 unk_6c;
u16 timer;
u16 unk_70;
u16 unk_72;
u8 unk_74;
u8 unk_75;
u16 unk_76;
u16 unk_78;
u8 unk_7a;
u8 unk_7b;
u16 unk_7c;
u8 unk_7e[0xa];
} GyorgBossObjectEntity;
typedef struct {
GyorgBossObjectEntity* boss;
GyorgFemaleEntity* female;
GyorgMaleEntity* male1;
GyorgMaleEntity* male2;
GyorgFemaleMouthEntity* mouth;
GenericEntity* tail;
void* unk_18[0x8];
Coords reflectFxPos;
u8 unk_3c;
} GyorgHeap;
extern void GyorgBossObject_SpawnChildren(u32 unk0, bool32 fromBlue, u32 animationState);
#endif
|