#ifndef SF64_OBJECT #define SF64_OBJECT #include "libultra/ultra64.h" #include "sf64math.h" #define HITBOX_ROTATED 200000.0f #define HITBOX_SHADOW 300000.0f #define HITBOX_WHOOSH 400000.0f typedef struct { /* 0x0 */ f32 offset; /* 0x4 */ f32 size; } HitboxDim; // size = 0x8 typedef struct { /* 0x00 */ HitboxDim z; /* 0x08 */ HitboxDim y; /* 0x10 */ HitboxDim x; } Hitbox; // size = 0x18 typedef struct { /* 0x00 */ Triangle tri; /* 0x08 */ PlaneI plane; } CollisionPoly; // size = 0x14 typedef struct { /* 0x00 */ Vec3f min; /* 0x0C */ Vec3f max; /* 0x18 */ s32 polyCount; /* 0x1C */ CollisionPoly* polys; /* 0x20 */ Vec3s* mesh; } CollisionHeader; // size = 0x24 typedef struct { /* 0x00 */ Vec3f min; /* 0x0C */ Vec3f max; /* 0x18 */ s32 polyCount; /* 0x1C */ Triangle* polys; /* 0x20 */ Vec3f* mesh; } CollisionHeader2; // size = 0x24 typedef enum { /* 0 */ COL1_0, // OBJ_ACTOR_180 /* 1 */ COL1_1, // OBJ_SCENERY_ME_TUNNEL /* 2 */ COL1_2, /* 3 */ COL1_3, // ACTOR_EVENT_ID /* 4 */ COL1_4, // OBJ_BOSS_FO /* 5 */ COL1_5, // OBJ_SCENERY_149 /* 6 */ COL1_6, // OBJ_SCENERY_150 /* 7 */ COL1_7, // OBJ_BOSS_309 /* 8 */ COL1_8, // OBJ_BOSS_SZ /* 9 */ COL1_9, // OBJ_BOSS_VE2 } CollisonId_1; typedef enum { /* 0 */ COL2_0, // default /* 1 */ COL2_1, // OBJ_SCENERY_4, OBJ_SCENERY_5 /* 2 */ COL2_2, // OBJ_SCENERY_2 /* 3 */ COL2_3, // OBJ_SCENERY_3, OBJ_SCENERY_69 /* 4 */ COL2_4, // OBJ_SCENERY_140 /* 5 */ COL2_5, // PLAYERSHOT_7 ? /* 6 */ COL2_6, // OBJ_SCENERY_141 /* 7 */ COL2_7, // OBJ_SCENERY_47 /* 8 */ COL2_8, // OBJ_SCENERY_70 /* 9 */ COL2_9, // OBJ_SCENERY_72 /* 10 */ COL2_10, // OBJ_SCENERY_71 /* 11 */ COL2_11, // OBJ_SCENERY_73 /* 12 */ COL2_12, // OBJ_SCENERY_67 /* 13 */ COL2_13, // OBJ_SCENERY_74 /* 14 */ COL2_14, // OBJ_SCENERY_117 /* 15 */ COL2_15, // OBJ_SCENERY_124 /* 16 */ COL2_16, // OBJ_SCENERY_126 /* 17 */ COL2_17, // OBJ_SCENERY_143 /* 18 */ COL2_18, // OBJ_SCENERY_120 } CollisionId_2; typedef struct { /* 0x00 */ f32 zPos1; /* 0x04 */ s16 zPos2; /* 0x06 */ s16 xPos; /* 0x08 */ s16 yPos; /* 0x0A */ Vec3s rot; /* 0x10 */ s16 id; } ObjectInit; // size = 0x14 typedef struct { /* 0x00 */ u8 status; /* 0x02 */ u16 type; /* 0x04 */ Vec3f pos; /* 0x10 */ f32 yRot; /* 0x14 */ char pad14[0x14]; } RadarMark; // size = 0x28 typedef struct { /* 0x00 */ u8 mode; /* 0x02 */ u16 timer; /* 0x04 */ Vec3f posAA; /* 0x10 */ Vec3f posBB; /* 0x1C */ f32 xRot; /* 0x20 */ f32 yRot; /* 0x24 */ f32 zScale; /* 0x28 */ f32 xyScale; /* 0x2C */ Color_RGBA32 prim; } TexturedLine; // size = 0x30 typedef struct { /* 0x00 */ u8 hits; /* 0x04 */ Vec3f pos; /* 0x10 */ f32 rise; /* 0x14 */ char pad14[0x4]; /* 0x18 */ u16 timer; } BonusText; // size = 0x1C #define BONUS_TEXT_FREE 0 #define BONUS_TEXT_GREAT 100 #define BONUS_TEXT_1UP 101 typedef enum ObjectStatus { /* 0 */ OBJ_FREE, /* 1 */ OBJ_INIT, /* 2 */ OBJ_ACTIVE, /* 3 */ OBJ_DYING, } ObjectStatus; typedef struct { /* 0x00 */ u8 status; /* 0x02 */ u16 id; /* 0x04 */ Vec3f pos; /* 0x10 */ Vec3f rot; } Object; // size = 0x1C typedef void (*ObjectFunc)(Object*); typedef struct { /* 0x00 */ union { ObjectFunc draw; Gfx* dList; }; /* 0x00 */ u8 drawType; /* 0x08 */ ObjectFunc action; // argument must have object type. /* 0x0C */ f32* hitbox; /* 0x10 */ f32 cullDistance; // z coordinate of something /* 0x14 */ s16 unk_14; // can be -1, 0, 1. governs camera-related behavior in effects (billboarding?) /* 0x16 */ s16 unk_16; // can be 0, 1, 2. affects death behavior? /* 0x18 */ u8 damage; /* 0x19 */ u8 unk_19; // can be 0, 1, 2. Also camera-related? /* 0x1C */ f32 targetOffset; // target lock y offset. 0.0f can't be targeted /* 0x20 */ u8 bonus; // hits when killed. numbers above 1 indicate the hit+ bonus } ObjectInfo; // size = 0x24 typedef struct { /* 0x00 */ Object obj; /* 0x1C */ ObjectInfo info; /* 0x40 */ u8 pathIndex; /* 0x41 */ char unk_41[7]; /* 0x48 */ f32 sfxSource[3]; /* 0x54 */ f32 unk_54; } Scenery360; // size = 0x58 typedef struct { /* 0x00 */ Object obj; /* 0x1C */ ObjectInfo info; /* 0x40 */ s32 index; /* 0x44 */ s32 unk_44; /* 0x48 */ s32 state; /* 0x4C */ s32 timer_4C; /* 0x50 */ s8 dmgType; /* 0x54 */ s32 dmgPart; /* 0x58 */ Vec3f effectVel; /* 0x64 */ Vec3f vel; /* 0x70 */ f32 sfxSource[3]; /* 0x7C */ char pad7C[4]; } Scenery; // size = 0x80 typedef struct { /* 0x00 */ Object obj; /* 0x1C */ ObjectInfo info; /* 0x40 */ s32 index; /* 0x44 */ char pad44[1]; /* 0x45 */ u8 sceneryId; /* 0x46 */ s8 destroy; /* 0x48 */ s32 toLeft; } Sprite; // size = 0x4C typedef struct { /* 0x00 */ Object obj; /* 0x1C */ ObjectInfo info; /* 0x40 */ s32 index; /* 0x44 */ s16 unk_44; /* 0x46 */ u8 state; /* 0x48 */ u16 timer_48; /* 0x4A */ u16 timer_4A; /* 0x4C */ s8 collected; /* 0x4E */ s16 playerNum; /* 0x50 */ f32 unk_50; /* 0x54 */ f32 unk_54; /* 0x58 */ f32 unk_58; /* 0x5C */ f32 sfxSource[3]; /* 0x68 */ f32 width; } Item; // size 0x6C typedef struct { /* 0x00 */ Object obj; /* 0x1C */ ObjectInfo info; /* 0x40 */ s32 index; /* 0x44 */ s16 unk_44; /* 0x46 */ s16 unk_46; /* 0x48 */ s16 unk_48; /* 0x4A */ s16 unk_4A; /* 0x4C */ u8 unk_4C; /* 0x4E */ s16 state; /* 0x50 */ u16 timer_50; /* 0x52 */ char pad52[0x2]; /* 0x54 */ Vec3f vel; /* 0x60 */ Vec3f unk_60; /* 0x6C */ f32 scale1; /* 0x70 */ f32 scale2; /* 0x74 */ Gfx* unk_74; /* 0x78 */ s16 unk_78; /* 0x7A */ s16 unk_7A; /* 0x7C */ char pad7C[4]; /* 0x80 */ f32 sfxSource[3]; } Effect; // size 0x8C typedef struct { /* 0x000 */ Object obj; /* 0x01C */ ObjectInfo info; /* 0x040 */ s32 index; /* 0x044 */ s16 unk_044; /* 0x046 */ s16 unk_046; /* 0x048 */ s16 unk_048; /* 0x04A */ s16 unk_04A; /* 0x04C */ s16 unk_04C; /* 0x04E */ s16 state; /* 0x050 */ s16 timer_050; /* 0x052 */ s16 timer_052; /* 0x054 */ s16 timer_054; /* 0x056 */ s16 timer_056; /* 0x058 */ s16 timer_058; /* 0x05A */ s16 timer_05A; /* 0x05C */ s16 timer_05C; /* 0x05E */ u8 drawShadow; /* 0x060 */ s16 health; /* 0x062 */ s8 dmgType; /* 0x064 */ s16 damage; /* 0x066 */ s16 dmgPart; /* 0x068 */ f32 yOffset; /* 0x06C */ Vec3f vel; /* 0x078 */ Vec3f rot_078; /* 0x084 */ f32 gravity; /* 0x088 */ s16 swork[40]; /* 0x0D8 */ f32 fwork[50]; /* 0x1A0 */ Vec3f vwork[50]; /* 0x3F8 */ f32 scale; /* 0x3FC */ f32 sfxSource[3]; } Boss; // size = 0x408 #define DMG_COLLISION 3 #define DMG_EXPLOSION 2 #define DMG_BEAM 1 #define DMG_NONE 0 #define DMG_BOMB -1 #define DMG_UNK_100 100 typedef struct { /* 0x000 */ Object obj; /* 0x01C */ ObjectInfo info; /* 0x040 */ s32 index; /* 0x044 */ u8 itemDrop; /* 0x046 */ s16 unk_046; /* 0x048 */ s16 unk_048; /* 0x04A */ s16 unk_04A; /* 0x04C */ s16 timer_04C; /* 0x04E */ s16 counter_04E; /* 0x050 */ s32 iwork[25]; /* 0x0B4 */ s16 eventType; /* 0x0B6 */ s16 animFrame; // used for model type in ActorAllRange and ActorCutscene /* 0x0B8 */ s16 state; /* 0x0BA */ char pad0BA[0x2]; /* 0x0BC */ u16 timer_0BC; /* 0x0BE */ u16 timer_0BE; /* 0x0C0 */ u16 timer_0C0; /* 0x0C2 */ u16 timer_0C2; /* 0x0C4 */ u16 timer_0C4; /* 0x0C6 */ u16 timer_0C6; /* 0x0C8 */ u8 unk_0C8; // may have been used for scenery shadowing /* 0x0C9 */ u8 drawShadow; /* 0x0CA */ u8 lockOnTimers[4]; /* 0x0CE */ s16 health; /* 0x0D0 */ s8 dmgType; /* 0x0D2 */ s16 dmgPart; /* 0x0D4 */ s16 dmgSource; /* 0x0D6 */ u16 damage; /* 0x0D8 */ Vec3f hitPos; /* 0x0E4 */ s16 aiType; // Actor index for AllRange, script index for Event /* 0x0E6 */ s16 aiIndex; // Target index for AllRange, program counter for Event /* 0x0E8 */ Vec3f vel; /* 0x0F4 */ Vec3f rot_0F4; /* 0x100 */ f32 sfxSource[3]; /* 0x10C */ f32 gravity; /* 0x110 */ f32 scale; /* 0x114 */ f32 fwork[30]; /* 0x18C */ Vec3f vwork[30]; } Actor; // size = 0x2F4 typedef enum ObjectId { /* -1 */ OBJ_INVALID=-1, /* 0 */ OBJ_SCENERY_0, /* 1 */ OBJ_SCENERY_1, /* 2 */ OBJ_SCENERY_2, /* 3 */ OBJ_SCENERY_3, /* 4 */ OBJ_SCENERY_4, /* 5 */ OBJ_SCENERY_5, /* 6 */ OBJ_SCENERY_6, /* 7 */ OBJ_SCENERY_7, /* 8 */ OBJ_SCENERY_8, /* 9 */ OBJ_SCENERY_9, /* 10 */ OBJ_SCENERY_10, /* 11 */ OBJ_SCENERY_11, /* 12 */ OBJ_SCENERY_12, /* 13 */ OBJ_SCENERY_13, /* 14 */ OBJ_SCENERY_14, /* 15 */ OBJ_SCENERY_15, /* 16 */ OBJ_SCENERY_16, /* 17 */ OBJ_SCENERY_17, /* 18 */ OBJ_SCENERY_18, /* 19 */ OBJ_SCENERY_19, /* 20 */ OBJ_SCENERY_20, /* 21 */ OBJ_SCENERY_21, /* 22 */ OBJ_SCENERY_22, /* 23 */ OBJ_SCENERY_23, /* 24 */ OBJ_SCENERY_24, /* 25 */ OBJ_SCENERY_25, /* 26 */ OBJ_SCENERY_26, /* 27 */ OBJ_SCENERY_27, /* 28 */ OBJ_SCENERY_28, /* 29 */ OBJ_SCENERY_TI_SKULL, /* 30 */ OBJ_SCENERY_TI_RIB_0, /* 31 */ OBJ_SCENERY_TI_RIB_1, /* 32 */ OBJ_SCENERY_TI_RIB_2, /* 33 */ OBJ_SCENERY_TI_RIB_3, /* 34 */ OBJ_SCENERY_TI_RIB_4, /* 35 */ OBJ_SCENERY_TI_RIB_5, /* 36 */ OBJ_SCENERY_TI_RIB_6, /* 37 */ OBJ_SCENERY_TI_RIB_7, /* 38 */ OBJ_SCENERY_TI_RIB_8, /* 39 */ OBJ_SCENERY_ME_TUNNEL, /* 40 */ OBJ_SCENERY_40, /* 41 */ OBJ_SCENERY_41, /* 42 */ OBJ_SCENERY_42, /* 43 */ OBJ_SCENERY_43, /* 44 */ OBJ_SCENERY_44, /* 45 */ OBJ_SCENERY_45, /* 46 */ OBJ_SCENERY_46, /* 47 */ OBJ_SCENERY_47, /* 48 */ OBJ_SCENERY_48, /* 49 */ OBJ_SCENERY_49, /* 50 */ OBJ_SCENERY_50, /* 51 */ OBJ_SCENERY_51, /* 52 */ OBJ_SCENERY_52, /* 53 */ OBJ_SCENERY_53, /* 54 */ OBJ_SCENERY_54, /* 55 */ OBJ_SCENERY_55, /* 56 */ OBJ_SCENERY_56, /* 57 */ OBJ_SCENERY_57, /* 58 */ OBJ_SCENERY_58, /* 59 */ OBJ_SCENERY_59, /* 60 */ OBJ_SCENERY_60, /* 61 */ OBJ_SCENERY_61, /* 62 */ OBJ_SCENERY_62, /* 63 */ OBJ_SCENERY_63, /* 64 */ OBJ_SCENERY_64, /* 65 */ OBJ_SCENERY_65, /* 66 */ OBJ_SCENERY_66, /* 67 */ OBJ_SCENERY_67, /* 68 */ OBJ_SCENERY_68, /* 69 */ OBJ_SCENERY_69, /* 70 */ OBJ_SCENERY_70, /* 71 */ OBJ_SCENERY_71, /* 72 */ OBJ_SCENERY_72, /* 73 */ OBJ_SCENERY_73, /* 74 */ OBJ_SCENERY_74, /* 75 */ OBJ_SCENERY_75, /* 76 */ OBJ_SCENERY_76, /* 77 */ OBJ_SCENERY_77, /* 78 */ OBJ_SCENERY_78, /* 79 */ OBJ_SCENERY_79, /* 80 */ OBJ_SCENERY_80, /* 81 */ OBJ_SCENERY_81, /* 82 */ OBJ_SCENERY_82, /* 83 */ OBJ_SCENERY_83, /* 84 */ OBJ_SCENERY_84, /* 85 */ OBJ_SCENERY_85, /* 86 */ OBJ_SCENERY_86, /* 87 */ OBJ_SCENERY_87, /* 88 */ OBJ_SCENERY_88, /* 89 */ OBJ_SCENERY_89, /* 90 */ OBJ_SCENERY_90, /* 91 */ OBJ_SCENERY_91, /* 92 */ OBJ_SCENERY_92, /* 93 */ OBJ_SCENERY_93, /* 94 */ OBJ_SCENERY_94, /* 95 */ OBJ_SCENERY_95, /* 96 */ OBJ_SCENERY_96, /* 97 */ OBJ_SCENERY_97, /* 98 */ OBJ_SCENERY_98, /* 99 */ OBJ_SCENERY_99, /* 100 */ OBJ_SCENERY_100, /* 101 */ OBJ_SCENERY_101, /* 102 */ OBJ_SCENERY_102, /* 103 */ OBJ_SCENERY_103, /* 104 */ OBJ_SCENERY_104, /* 105 */ OBJ_SCENERY_105, /* 106 */ OBJ_SCENERY_106, /* 107 */ OBJ_SCENERY_107, /* 108 */ OBJ_SCENERY_108, /* 109 */ OBJ_SCENERY_109, /* 110 */ OBJ_SCENERY_110, /* 111 */ OBJ_SCENERY_111, /* 112 */ OBJ_SCENERY_112, /* 113 */ OBJ_SCENERY_113, /* 114 */ OBJ_SCENERY_114, /* 115 */ OBJ_SCENERY_115, /* 116 */ OBJ_SCENERY_116, /* 117 */ OBJ_SCENERY_117, /* 118 */ OBJ_SCENERY_118, /* 119 */ OBJ_SCENERY_119, /* 120 */ OBJ_SCENERY_120, /* 121 */ OBJ_SCENERY_121, /* 122 */ OBJ_SCENERY_122, /* 123 */ OBJ_SCENERY_123, /* 124 */ OBJ_SCENERY_124, /* 125 */ OBJ_SCENERY_125, /* 126 */ OBJ_SCENERY_126, /* 127 */ OBJ_SCENERY_127, /* 128 */ OBJ_SCENERY_128, /* 129 */ OBJ_SCENERY_129, /* 130 */ OBJ_SCENERY_130, /* 131 */ OBJ_SCENERY_131, /* 132 */ OBJ_SCENERY_132, /* 133 */ OBJ_SCENERY_133, /* 134 */ OBJ_SCENERY_134, /* 135 */ OBJ_SCENERY_135, /* 136 */ OBJ_SCENERY_136, /* 137 */ OBJ_SCENERY_137, /* 138 */ OBJ_SCENERY_138, /* 139 */ OBJ_SCENERY_139, /* 140 */ OBJ_SCENERY_140, /* 141 */ OBJ_SCENERY_141, /* 142 */ OBJ_SCENERY_142, /* 143 */ OBJ_SCENERY_143, /* 144 */ OBJ_SCENERY_144, /* 145 */ OBJ_SCENERY_145, /* 146 */ OBJ_SCENERY_146, /* 147 */ OBJ_SCENERY_147, /* 148 */ OBJ_SCENERY_148, /* 149 */ OBJ_SCENERY_149, /* 150 */ OBJ_SCENERY_150, /* 151 */ OBJ_SCENERY_151, /* 152 */ OBJ_SCENERY_152, /* 153 */ OBJ_SCENERY_153, /* 154 */ OBJ_SCENERY_154, /* 155 */ OBJ_SCENERY_155, /* 156 */ OBJ_SCENERY_156, /* 157 */ OBJ_SCENERY_157, /* 158 */ OBJ_SCENERY_158, /* 159 */ OBJ_SCENERY_159, /* 160 */ OBJ_SCENERY_160, /* 161 */ OBJ_SPRITE_CO_POLE, /* 162 */ OBJ_SPRITE_CO_TREE, /* 163 */ OBJ_SPRITE_FO_POLE, /* 164 */ OBJ_SPRITE_FOG_SHADOW, /* 165 */ OBJ_SPRITE_CO_RUIN1, /* 166 */ OBJ_SPRITE_CO_RUIN2, /* 167 */ OBJ_SPRITE_167, /* 168 */ OBJ_SPRITE_168, /* 169 */ OBJ_SPRITE_TI_CACTUS, /* 170 */ OBJ_SPRITE_CO_SMOKE, /* 171 */ OBJ_SPRITE_VE1_BOSS_TRIGGER1, /* 172 */ OBJ_SPRITE_VE1_BOSS_TRIGGER2, /* 173 */ OBJ_SPRITE_VE1_BOSS_TRIGGER3, /* 174 */ OBJ_SPRITE_VE1_BOSS_TRIGGER4, /* 175 */ OBJ_SPRITE_GFOX_TARGET, /* 176 */ OBJ_ACTOR_176, /* 177 */ OBJ_ACTOR_177, /* 178 */ OBJ_ACTOR_178, /* 179 */ OBJ_ACTOR_179, /* 180 */ OBJ_ACTOR_180, /* 181 */ OBJ_ACTOR_181, /* 182 */ OBJ_ACTOR_182, /* 183 */ OBJ_ACTOR_183, /* 184 */ OBJ_ACTOR_184, /* 185 */ OBJ_ACTOR_185, /* 186 */ OBJ_ACTOR_186, /* 187 */ OBJ_ACTOR_187, /* 188 */ OBJ_ACTOR_188, /* 189 */ OBJ_ACTOR_DEBRIS, /* 190 */ OBJ_ACTOR_190, /* 191 */ OBJ_ACTOR_191, /* 192 */ OBJ_ACTOR_192, /* 193 */ OBJ_ACTOR_193, /* 194 */ OBJ_ACTOR_194, /* 195 */ OBJ_ACTOR_CUTSCENE, /* 196 */ OBJ_ACTOR_196, /* 197 */ OBJ_ACTOR_ALLRANGE, /* 198 */ OBJ_ACTOR_TEAM_BOSS, /* 199 */ OBJ_ACTOR_199, /* 200 */ OBJ_ACTOR_EVENT, /* 201 */ OBJ_ACTOR_201, /* 202 */ OBJ_ACTOR_202, /* 203 */ OBJ_ACTOR_SLIPPY_SX, /* 204 */ OBJ_ACTOR_204, /* 205 */ OBJ_ACTOR_205, /* 206 */ OBJ_ACTOR_206, /* 207 */ OBJ_ACTOR_207, /* 208 */ OBJ_ACTOR_208, /* 209 */ OBJ_ACTOR_209, /* 210 */ OBJ_ACTOR_210, /* 211 */ OBJ_ACTOR_211, /* 212 */ OBJ_ACTOR_212, /* 213 */ OBJ_ACTOR_213, /* 214 */ OBJ_ACTOR_214, /* 215 */ OBJ_ACTOR_215, /* 216 */ OBJ_ACTOR_216, /* 217 */ OBJ_ACTOR_217, /* 218 */ OBJ_ACTOR_218, /* 219 */ OBJ_ACTOR_219, /* 220 */ OBJ_ACTOR_220, /* 221 */ OBJ_ACTOR_221, /* 222 */ OBJ_ACTOR_222, /* 223 */ OBJ_ACTOR_223, /* 224 */ OBJ_ACTOR_224, /* 225 */ OBJ_ACTOR_225, /* 226 */ OBJ_ACTOR_226, /* 227 */ OBJ_ACTOR_227, /* 228 */ OBJ_ACTOR_228, /* 229 */ OBJ_ACTOR_229, /* 230 */ OBJ_ACTOR_230, /* 231 */ OBJ_ACTOR_231, /* 232 */ OBJ_ACTOR_232, /* 233 */ OBJ_ACTOR_233, /* 234 */ OBJ_ACTOR_234, /* 235 */ OBJ_ACTOR_235, /* 236 */ OBJ_ACTOR_236, /* 237 */ OBJ_ACTOR_237, /* 238 */ OBJ_ACTOR_238, /* 239 */ OBJ_ACTOR_239, /* 240 */ OBJ_ACTOR_240, /* 241 */ OBJ_ACTOR_241, /* 242 */ OBJ_ACTOR_242, /* 243 */ OBJ_ACTOR_243, /* 244 */ OBJ_ACTOR_244, /* 245 */ OBJ_ACTOR_245, /* 246 */ OBJ_ACTOR_246, /* 247 */ OBJ_ACTOR_247, /* 248 */ OBJ_ACTOR_248, /* 249 */ OBJ_ACTOR_249, /* 250 */ OBJ_ACTOR_250, /* 251 */ OBJ_ACTOR_251, /* 252 */ OBJ_ACTOR_252, /* 253 */ OBJ_ACTOR_253, /* 254 */ OBJ_ACTOR_254, /* 255 */ OBJ_ACTOR_255, /* 256 */ OBJ_ACTOR_256, /* 257 */ OBJ_ACTOR_257, /* 258 */ OBJ_ACTOR_258, /* 259 */ OBJ_ACTOR_259, /* 260 */ OBJ_ACTOR_260, /* 261 */ OBJ_ACTOR_261, /* 262 */ OBJ_ACTOR_262, /* 263 */ OBJ_ACTOR_263, /* 264 */ OBJ_ACTOR_264, /* 265 */ OBJ_ACTOR_265, /* 266 */ OBJ_ACTOR_266, /* 267 */ OBJ_ACTOR_267, /* 268 */ OBJ_ACTOR_268, /* 269 */ OBJ_ACTOR_269, /* 270 */ OBJ_ACTOR_270, /* 271 */ OBJ_ACTOR_271, /* 272 */ OBJ_ACTOR_272, /* 273 */ OBJ_ACTOR_273, /* 274 */ OBJ_ACTOR_274, /* 275 */ OBJ_ACTOR_275, /* 276 */ OBJ_ACTOR_276, /* 277 */ OBJ_ACTOR_277, /* 278 */ OBJ_ACTOR_278, /* 279 */ OBJ_ACTOR_279, /* 280 */ OBJ_ACTOR_280, /* 281 */ OBJ_ACTOR_281, /* 282 */ OBJ_ACTOR_282, /* 283 */ OBJ_ACTOR_283, /* 284 */ OBJ_ACTOR_284, /* 285 */ OBJ_ACTOR_285, /* 286 */ OBJ_ACTOR_286, /* 287 */ OBJ_ACTOR_287, /* 288 */ OBJ_ACTOR_288, /* 289 */ OBJ_ACTOR_289, /* 290 */ OBJ_ACTOR_290, /* 291 */ OBJ_ACTOR_SUPPLIES, /* 292 */ OBJ_BOSS_292, /* 293 */ OBJ_BOSS_293, /* 294 */ OBJ_BOSS_294, /* 295 */ OBJ_BOSS_295, /* 296 */ OBJ_BOSS_296, /* 297 */ OBJ_BOSS_297, /* 298 */ OBJ_BOSS_298, /* 299 */ OBJ_BOSS_299, /* 300 */ OBJ_BOSS_300, /* 301 */ OBJ_BOSS_301, /* 302 */ OBJ_BOSS_A6, /* 303 */ OBJ_BOSS_303, /* 304 */ OBJ_BOSS_304, /* 305 */ OBJ_BOSS_305, /* 306 */ OBJ_BOSS_TI, /* 307 */ OBJ_BOSS_ZO, /* 308 */ OBJ_BOSS_FO, /* 309 */ OBJ_BOSS_309, /* 310 */ OBJ_BOSS_310, /* 311 */ OBJ_BOSS_311, /* 312 */ OBJ_BOSS_VE2, /* 313 */ OBJ_BOSS_SZ, /* 314 */ OBJ_BOSS_SY, /* 315 */ OBJ_BOSS_SO, /* 316 */ OBJ_BOSS_KA, /* 317 */ OBJ_BOSS_KA_BASE, /* 318 */ OBJ_BOSS_AQ, /* 319 */ OBJ_BOSS_VE1, /* 320 */ OBJ_BOSS_320, /* 321 */ OBJ_BOSS_321, /* 322 */ OBJ_ITEM_LASERS, /* 323 */ OBJ_ITEM_CHECKPOINT, /* 324 */ OBJ_ITEM_SILVER_RING, /* 325 */ OBJ_ITEM_SILVER_STAR, /* 326 */ OBJ_ITEM_METEO_WARP, /* 327 */ OBJ_ITEM_BOMB, /* 328 */ OBJ_ITEM_PATH_SPLIT_X, /* 329 */ OBJ_ITEM_PATH_TURN_LEFT, /* 330 */ OBJ_ITEM_PATH_TURN_RIGHT, /* 331 */ OBJ_ITEM_PATH_SPLIT_Y, /* 332 */ OBJ_ITEM_PATH_TURN_UP, /* 333 */ OBJ_ITEM_PATH_TURN_DOWN, /* 334 */ OBJ_ITEM_RING_CHECK, /* 335 */ OBJ_ITEM_1UP, /* 336 */ OBJ_ITEM_GOLD_RING, /* 337 */ OBJ_ITEM_WING_REPAIR, /* 338 */ OBJ_ITEM_TRAINING_RING, /* 339 */ OBJ_EFFECT_FIRE_SMOKE, /* 340 */ OBJ_EFFECT_340, /* 341 */ OBJ_EFFECT_341, /* 342 */ OBJ_EFFECT_342, /* 343 */ OBJ_EFFECT_343, /* 344 */ OBJ_EFFECT_344, /* 345 */ OBJ_EFFECT_345, /* 346 */ OBJ_EFFECT_346, /* 347 */ OBJ_EFFECT_347, /* 348 */ OBJ_EFFECT_348, /* 349 */ OBJ_EFFECT_349, /* 350 */ OBJ_EFFECT_350, /* 351 */ OBJ_EFFECT_351, /* 352 */ OBJ_EFFECT_352, /* 353 */ OBJ_EFFECT_353, /* 354 */ OBJ_EFFECT_354, /* 355 */ OBJ_EFFECT_355, /* 356 */ OBJ_EFFECT_356, /* 357 */ OBJ_EFFECT_357, /* 358 */ OBJ_EFFECT_358, /* 359 */ OBJ_EFFECT_359, /* 360 */ OBJ_EFFECT_360, /* 361 */ OBJ_EFFECT_361, /* 362 */ OBJ_EFFECT_362, /* 363 */ OBJ_EFFECT_363, /* 364 */ OBJ_EFFECT_364, /* 365 */ OBJ_EFFECT_365, /* 366 */ OBJ_EFFECT_366, /* 367 */ OBJ_EFFECT_367, /* 368 */ OBJ_EFFECT_368, /* 369 */ OBJ_EFFECT_369, /* 370 */ OBJ_EFFECT_370, /* 371 */ OBJ_EFFECT_371, /* 372 */ OBJ_EFFECT_372, /* 373 */ OBJ_EFFECT_373, /* 374 */ OBJ_EFFECT_374, /* 375 */ OBJ_EFFECT_375, /* 376 */ OBJ_EFFECT_376, /* 377 */ OBJ_EFFECT_377, /* 378 */ OBJ_EFFECT_378, /* 379 */ OBJ_EFFECT_379, /* 380 */ OBJ_EFFECT_380, /* 381 */ OBJ_EFFECT_381, /* 382 */ OBJ_EFFECT_382, /* 383 */ OBJ_EFFECT_383, /* 384 */ OBJ_EFFECT_384, /* 385 */ OBJ_EFFECT_385, /* 386 */ OBJ_EFFECT_386, /* 387 */ OBJ_EFFECT_387, /* 388 */ OBJ_EFFECT_388, /* 389 */ OBJ_EFFECT_389, /* 390 */ OBJ_EFFECT_390, /* 391 */ OBJ_EFFECT_391, /* 392 */ OBJ_EFFECT_392, /* 393 */ OBJ_EFFECT_393, /* 394 */ OBJ_EFFECT_394, /* 395 */ OBJ_EFFECT_395, /* 396 */ OBJ_EFFECT_396, /* 397 */ OBJ_EFFECT_397, /* 398 */ OBJ_EFFECT_398, /* 399 */ OBJ_EFFECT_399, /* 400 */ OBJ_UNK_400, /* 401 */ OBJ_UNK_401, /* 402 */ OBJ_UNK_402, /* 403 */ OBJ_UNK_403, /* 404 */ OBJ_UNK_404, /* 405 */ OBJ_UNK_405, /* 407 */ OBJ_ID_MAX, } ObjectId; #define OBJ_SCENERY_START OBJ_SCENERY_0 #define OBJ_SPRITE_START OBJ_SPRITE_CO_POLE #define OBJ_ACTOR_START OBJ_ACTOR_176 #define OBJ_BOSS_START OBJ_BOSS_292 #define OBJ_ITEM_START OBJ_ITEM_LASERS #define OBJ_EFFECT_START OBJ_EFFECT_FIRE_SMOKE #define OBJ_ENV_START OBJ_UNK_400 #define OBJ_SCENERY_MAX OBJ_SPRITE_START #define OBJ_SPRITE_MAX OBJ_ACTOR_START #define OBJ_ACTOR_MAX OBJ_BOSS_START #define OBJ_BOSS_MAX OBJ_ITEM_START #define OBJ_ITEM_MAX OBJ_EFFECT_START #define OBJ_EFFECT_MAX OBJ_ENV_START #define ACTOR_EVENT_ID 1000 typedef enum ItemDrop { /* 0 */ DROP_NONE, /* 1 */ DROP_SILVER_RING, /* 2 */ DROP_SILVER_RING_50p, /* 3 */ DROP_SILVER_RING_33p, /* 4 */ DROP_SILVER_RING_25p, /* 5 */ DROP_BOMB, /* 6 */ DROP_BOMB_50p, /* 7 */ DROP_BOMB_33p, /* 8 */ DROP_BOMB_25p, /* 9 */ DROP_LASERS, /* 10 */ DROP_LASERS_50p, /* 11 */ DROP_LASERS_33p, /* 12 */ DROP_LASERS_25p, /* 13 */ DROP_1UP, /* 14 */ DROP_GOLD_RING_1, /* 15 */ DROP_GOLD_RING_2, /* 16 */ DROP_GOLD_RING_3, /* 17 */ DROP_GOLD_RING_4, /* 18 */ DROP_GOLD_RING_GROUP, /* 19 */ DROP_LASERS_GROUP, /* 20 */ DROP_BOMB_GROUP, /* 21 */ DROP_SILVER_RING_GROUP, /* 22 */ DROP_SILVER_RING_10p, /* 23 */ DROP_WING_REPAIR, /* 24 */ DROP_TEAM_MESG, /* 25 */ DROP_SILVER_STAR, /* 26 */ DROP_MAX, } ItemDrop; typedef enum AllRangeAi { /* 0 */ AI360_FOX, /* 1 */ AI360_FALCO, /* 2 */ AI360_SLIPPY, /* 3 */ AI360_PEPPY, /* 4 */ AI360_WOLF, /* 5 */ AI360_LEON, /* 6 */ AI360_PIGMA, /* 7 */ AI360_ANDREW, /* 8 */ AI360_KATT, /* 9 */ AI360_BILL, /* 10 */ AI360_10, /* 100 */ AI360_GREAT_FOX = 100, /* 200 */ AI360_MISSILE = 200, /* 200 */ AI360_EVENT_HANDLER = 1000, } AllRangeAi; Actor* Game_SpawnActor(ObjectId); // template enums for boss work buffers typedef enum { /* 0 */ LN_SWK_0, /* 1 */ LN_SWK_1, /* 2 */ LN_SWK_2, /* 3 */ LN_SWK_3, /* 4 */ LN_SWK_4, /* 5 */ LN_SWK_5, /* 6 */ LN_SWK_6, /* 7 */ LN_SWK_7, /* 8 */ LN_SWK_8, /* 9 */ LN_SWK_9, /* 10 */ LN_SWK_10, /* 11 */ LN_SWK_11, /* 12 */ LN_SWK_12, /* 13 */ LN_SWK_13, /* 14 */ LN_SWK_14, /* 15 */ LN_SWK_15, /* 16 */ LN_SWK_16, /* 17 */ LN_SWK_17, /* 18 */ LN_SWK_18, /* 19 */ LN_SWK_19, /* 20 */ LN_SWK_20, /* 21 */ LN_SWK_21, /* 22 */ LN_SWK_22, /* 23 */ LN_SWK_23, /* 24 */ LN_SWK_24, /* 25 */ LN_SWK_25, /* 26 */ LN_SWK_26, /* 27 */ LN_SWK_27, /* 28 */ LN_SWK_28, /* 29 */ LN_SWK_29, /* 30 */ LN_SWK_30, /* 31 */ LN_SWK_31, /* 32 */ LN_SWK_32, /* 33 */ LN_SWK_33, /* 34 */ LN_SWK_34, /* 35 */ LN_SWK_35, /* 36 */ LN_SWK_36, /* 37 */ LN_SWK_37, /* 38 */ LN_SWK_38, /* 39 */ LN_SWK_39, /* 40 */ LN_SWK_MAX, } BossLNswork; typedef enum { /* 0 */ LN_FWK_0, /* 1 */ LN_FWK_1, /* 2 */ LN_FWK_2, /* 3 */ LN_FWK_3, /* 4 */ LN_FWK_4, /* 5 */ LN_FWK_5, /* 6 */ LN_FWK_6, /* 7 */ LN_FWK_7, /* 8 */ LN_FWK_8, /* 9 */ LN_FWK_9, /* 10 */ LN_FWK_10, /* 11 */ LN_FWK_11, /* 12 */ LN_FWK_12, /* 13 */ LN_FWK_13, /* 14 */ LN_FWK_14, /* 15 */ LN_FWK_15, /* 16 */ LN_FWK_16, /* 17 */ LN_FWK_17, /* 18 */ LN_FWK_18, /* 19 */ LN_FWK_19, /* 20 */ LN_FWK_20, /* 21 */ LN_FWK_21, /* 22 */ LN_FWK_22, /* 23 */ LN_FWK_23, /* 24 */ LN_FWK_24, /* 25 */ LN_FWK_25, /* 26 */ LN_FWK_26, /* 27 */ LN_FWK_27, /* 28 */ LN_FWK_28, /* 29 */ LN_FWK_29, /* 30 */ LN_FWK_30, /* 31 */ LN_FWK_31, /* 32 */ LN_FWK_32, /* 33 */ LN_FWK_33, /* 34 */ LN_FWK_34, /* 35 */ LN_FWK_35, /* 36 */ LN_FWK_36, /* 37 */ LN_FWK_37, /* 38 */ LN_FWK_38, /* 39 */ LN_FWK_39, /* 40 */ LN_FWK_40, /* 41 */ LN_FWK_41, /* 42 */ LN_FWK_42, /* 43 */ LN_FWK_43, /* 44 */ LN_FWK_44, /* 45 */ LN_FWK_45, /* 46 */ LN_FWK_46, /* 47 */ LN_FWK_47, /* 48 */ LN_FWK_48, /* 49 */ LN_FWK_49, /* 50 */ LN_FWK_MAX, } BossLNfwork; typedef enum { /* 0 */ LN_VWK_0, /* 1 */ LN_VWK_1, /* 2 */ LN_VWK_2, /* 3 */ LN_VWK_3, /* 4 */ LN_VWK_4, /* 5 */ LN_VWK_5, /* 6 */ LN_VWK_6, /* 7 */ LN_VWK_7, /* 8 */ LN_VWK_8, /* 9 */ LN_VWK_9, /* 10 */ LN_VWK_10, /* 11 */ LN_VWK_11, /* 12 */ LN_VWK_12, /* 13 */ LN_VWK_13, /* 14 */ LN_VWK_14, /* 15 */ LN_VWK_15, /* 16 */ LN_VWK_16, /* 17 */ LN_VWK_17, /* 18 */ LN_VWK_18, /* 19 */ LN_VWK_19, /* 20 */ LN_VWK_20, /* 21 */ LN_VWK_21, /* 22 */ LN_VWK_22, /* 23 */ LN_VWK_23, /* 24 */ LN_VWK_24, /* 25 */ LN_VWK_25, /* 26 */ LN_VWK_26, /* 27 */ LN_VWK_27, /* 28 */ LN_VWK_28, /* 29 */ LN_VWK_29, /* 30 */ LN_VWK_30, /* 31 */ LN_VWK_31, /* 32 */ LN_VWK_32, /* 33 */ LN_VWK_33, /* 34 */ LN_VWK_34, /* 35 */ LN_VWK_35, /* 36 */ LN_VWK_36, /* 37 */ LN_VWK_37, /* 38 */ LN_VWK_38, /* 39 */ LN_VWK_39, /* 40 */ LN_VWK_40, /* 41 */ LN_VWK_41, /* 42 */ LN_VWK_42, /* 43 */ LN_VWK_43, /* 44 */ LN_VWK_44, /* 45 */ LN_VWK_45, /* 46 */ LN_VWK_46, /* 47 */ LN_VWK_47, /* 48 */ LN_VWK_48, /* 49 */ LN_VWK_49, /* 50 */ LN_VWK_MAX, } BossLNvwork; typedef Scenery Scenery_0; typedef Scenery Scenery_1; typedef Scenery Scenery_2; typedef Scenery Scenery_3; typedef Scenery Scenery_4; typedef Scenery Scenery_5; typedef Scenery Scenery_6; typedef Scenery Scenery_7; typedef Scenery Scenery_8; typedef Scenery Scenery_9; typedef Scenery Scenery_10; typedef Scenery Scenery_11; typedef Scenery Scenery_12; typedef Scenery Scenery_13; typedef Scenery Scenery_14; typedef Scenery Scenery_15; typedef Scenery Scenery_16; typedef Scenery Scenery_17; typedef Scenery Scenery_18; typedef Scenery Scenery_19; typedef Scenery Scenery_20; typedef Scenery Scenery_21; typedef Scenery Scenery_22; typedef Scenery Scenery_23; typedef Scenery Scenery_24; typedef Scenery Scenery_25; typedef Scenery Scenery_26; typedef Scenery Scenery_27; typedef Scenery Scenery_28; typedef Scenery Scenery_29; typedef Scenery Scenery_30; typedef Scenery Scenery_31; typedef Scenery Scenery_32; typedef Scenery Scenery_33; typedef Scenery Scenery_34; typedef Scenery Scenery_35; typedef Scenery Scenery_36; typedef Scenery Scenery_37; typedef Scenery Scenery_38; typedef Scenery MeteoTunnel; typedef Scenery Scenery_40; typedef Scenery Scenery_41; typedef Scenery Scenery_42; typedef Scenery Scenery_43; typedef Scenery Scenery_44; typedef Scenery Scenery_45; typedef Scenery Scenery_46; typedef Scenery Scenery_47; typedef Scenery Scenery_48; typedef Scenery Scenery_49; typedef Scenery Scenery_50; typedef Scenery Scenery_51; typedef Scenery Scenery_52; typedef Scenery Scenery_53; typedef Scenery Scenery_54; typedef Scenery Scenery_55; typedef Scenery Scenery_56; typedef Scenery Scenery_57; typedef Scenery Scenery_58; typedef Scenery Scenery_59; typedef Scenery Scenery_60; typedef Scenery Scenery_61; typedef Scenery Scenery_62; typedef Scenery Scenery_63; typedef Scenery Scenery_64; typedef Scenery Scenery_65; typedef Scenery Scenery_66; typedef Scenery Scenery_67; typedef Scenery Scenery_68; typedef Scenery Scenery_69; typedef Scenery Scenery_70; typedef Scenery Scenery_71; typedef Scenery Scenery_72; typedef Scenery Scenery_73; typedef Scenery Scenery_74; typedef Scenery Scenery_75; typedef Scenery Scenery_76; typedef Scenery Scenery_77; typedef Scenery Scenery_78; typedef Scenery Scenery_79; typedef Scenery Scenery_80; typedef Scenery Scenery_81; typedef Scenery Scenery_82; typedef Scenery Scenery_83; typedef Scenery Scenery_84; typedef Scenery Scenery_85; typedef Scenery Scenery_86; typedef Scenery Scenery_87; typedef Scenery Scenery_88; typedef Scenery Scenery_89; typedef Scenery Scenery_90; typedef Scenery Scenery_91; typedef Scenery Scenery_92; typedef Scenery Scenery_93; typedef Scenery Scenery_94; typedef Scenery Scenery_95; typedef Scenery Scenery_96; typedef Scenery Scenery_97; typedef Scenery Scenery_98; typedef Scenery Scenery_99; typedef Scenery Scenery_100; typedef Scenery Scenery_101; typedef Scenery Scenery_102; typedef Scenery Scenery_103; typedef Scenery Scenery_104; typedef Scenery Scenery_105; typedef Scenery Scenery_106; typedef Scenery Scenery_107; typedef Scenery Scenery_108; typedef Scenery Scenery_109; typedef Scenery Scenery_110; typedef Scenery Scenery_111; typedef Scenery Scenery_112; typedef Scenery Scenery_113; typedef Scenery Scenery_114; typedef Scenery Scenery_115; typedef Scenery Scenery_116; typedef Scenery Scenery_117; typedef Scenery Scenery_118; typedef Scenery Scenery_119; typedef Scenery Scenery_120; typedef Scenery Scenery_121; typedef Scenery Scenery_122; typedef Scenery Scenery_123; typedef Scenery Scenery_124; typedef Scenery Scenery_125; typedef Scenery Scenery_126; typedef Scenery Scenery_127; typedef Scenery Scenery_128; typedef Scenery Scenery_129; typedef Scenery Scenery_130; typedef Scenery Scenery_131; typedef Scenery Scenery_132; typedef Scenery Scenery_133; typedef Scenery Scenery_134; typedef Scenery Scenery_135; typedef Scenery Scenery_136; typedef Scenery Scenery_137; typedef Scenery Scenery_138; typedef Scenery Scenery_139; typedef Scenery Scenery_140; typedef Scenery Scenery_141; typedef Scenery Scenery_142; typedef Scenery Scenery_143; typedef Scenery Scenery_144; typedef Scenery Scenery_145; typedef Scenery Scenery_146; typedef Scenery Scenery_147; typedef Scenery Scenery_148; typedef Scenery Scenery_149; typedef Scenery Scenery_150; typedef Scenery Scenery_151; typedef Scenery Scenery_152; typedef Scenery Scenery_153; typedef Scenery Scenery_154; typedef Scenery Scenery_155; typedef Scenery Scenery_156; typedef Scenery Scenery_157; typedef Scenery Scenery_158; typedef Scenery Scenery_159; typedef Scenery Scenery_160; typedef Sprite CoPole; typedef Sprite CoTree; typedef Sprite FoPole; typedef Sprite FogShadow; typedef Sprite CoRuin1; typedef Sprite CoRuin2; typedef Sprite Sprite167; typedef Sprite Sprite168; typedef Sprite TiCactus; typedef Sprite CoSmoke; typedef Sprite Ve1BossTrigger1; typedef Sprite Ve1BossTrigger2; typedef Sprite Ve1BossTrigger3; typedef Sprite Ve1BossTrigger4; typedef Sprite GfoxTarget; typedef Actor Actor176; typedef Actor Actor177; typedef Actor Actor178; typedef Actor Actor179; typedef Actor Actor180; typedef Actor Actor181; typedef Actor Actor182; typedef Actor Actor183; typedef Actor Actor184; typedef Actor Actor185; typedef Actor Actor186; typedef Actor Actor187; typedef Actor Actor188; typedef Actor ActorDebris; typedef Actor Actor190; typedef Actor Actor191; typedef Actor Actor192; typedef Actor Actor193; typedef Actor Actor194; typedef Actor ActorCutscene; typedef Actor Actor196; typedef Actor ActorAllRange; typedef Actor ActorTeamBoss; typedef Actor Actor199; typedef Actor ActorEvent; typedef Actor Actor201; typedef Actor Actor202; typedef Actor ActorSlippySX; typedef Actor Actor204; typedef Actor Actor205; typedef Actor Actor206; typedef Actor Actor207; typedef Actor Actor208; typedef Actor Actor209; typedef Actor Actor210; typedef Actor Actor211; typedef Actor Actor212; typedef Actor Actor213; typedef Actor Actor214; typedef Actor Actor215; typedef Actor Actor216; typedef Actor Actor217; typedef Actor Actor218; typedef Actor Actor219; typedef Actor Actor220; typedef Actor Actor221; typedef Actor Actor222; typedef Actor Actor223; typedef Actor Actor224; typedef Actor Actor225; typedef Actor Actor226; typedef Actor Actor227; typedef Actor Actor228; typedef Actor Actor229; typedef Actor Actor230; typedef Actor Actor231; typedef Actor Actor232; typedef Actor Actor233; typedef Actor Actor234; typedef Actor Actor235; typedef Actor Actor236; typedef Actor Actor237; typedef Actor Actor238; typedef Actor Actor239; typedef Actor Actor240; typedef Actor Actor241; typedef Actor Actor242; typedef Actor Actor243; typedef Actor Actor244; typedef Actor Actor245; typedef Actor Actor246; typedef Actor Actor247; typedef Actor Actor248; typedef Actor Actor249; typedef Actor Actor250; typedef Actor Actor251; typedef Actor Actor252; typedef Actor Actor253; typedef Actor Actor254; typedef Actor Actor255; typedef Actor Actor256; typedef Actor Actor257; typedef Actor Actor258; typedef Actor Actor259; typedef Actor Actor260; typedef Actor Actor261; typedef Actor Actor262; typedef Actor Actor263; typedef Actor Actor264; typedef Actor Actor265; typedef Actor Actor266; typedef Actor Actor267; typedef Actor Actor268; typedef Actor Actor269; typedef Actor Actor270; typedef Actor Actor271; typedef Actor Actor272; typedef Actor Actor273; typedef Actor Actor274; typedef Actor Actor275; typedef Actor Actor276; typedef Actor Actor277; typedef Actor Actor278; typedef Actor Actor279; typedef Actor Actor280; typedef Actor Actor281; typedef Actor Actor282; typedef Actor Actor283; typedef Actor Actor284; typedef Actor Actor285; typedef Actor Actor286; typedef Actor Actor287; typedef Actor Actor288; typedef Actor Actor289; typedef Actor Actor290; typedef Actor ActorSupplies; typedef Boss Boss292; typedef Boss Boss293; typedef Boss Boss294; typedef Boss Boss295; typedef Boss Boss296; typedef Boss Boss297; typedef Boss Boss298; typedef Boss Boss299; typedef Boss Boss300; typedef Boss Boss301; typedef Boss BossA6; typedef Boss Boss303; typedef Boss Boss304; typedef Boss Boss305; typedef Boss Boss306; typedef Boss BossZO; typedef Boss Boss308; typedef Boss Boss309; typedef Boss Boss310; typedef Boss Boss311; typedef Boss Boss312; typedef Boss Boss313; typedef Boss Boss314; typedef Boss BossSO; typedef Boss Saucerer; typedef Boss Frontlinebase; typedef Boss BossAQ; typedef Boss Boss319; typedef Boss Boss320; typedef Boss Boss321; typedef Item ItemLasers; typedef Item ItemCheckpoint; typedef Item ItemSilverStar; typedef Item ItemSilverRing; typedef Item ItemMeteoWarp; typedef Item ItemBomb; typedef Item ItemPathSplitX; typedef Item ItemPathTurnLeft; typedef Item ItemPathTurnRight; typedef Item ItemPathSplitY; typedef Item ItemPathTurnUp; typedef Item ItemPathTurnDown; typedef Item ItemRingCheck; typedef Item Item1UP; typedef Item ItemGoldRing; typedef Item ItemWingRepair; typedef Item ItemTrainingRing; typedef Effect EffectFireSmoke; typedef Effect Effect340; typedef Effect Effect341; typedef Effect Effect342; typedef Effect Effect343; typedef Effect Effect344; typedef Effect Effect345; typedef Effect Effect346; typedef Effect Effect347; typedef Effect Effect348; typedef Effect Effect349; typedef Effect Effect350; typedef Effect Effect351; typedef Effect Effect352; typedef Effect Effect353; typedef Effect Effect354; typedef Effect Effect355; typedef Effect Effect356; typedef Effect Effect357; typedef Effect Effect358; typedef Effect Effect359; typedef Effect Effect360; typedef Effect Effect361; typedef Effect Effect362; typedef Effect Effect363; typedef Effect Effect364; typedef Effect Effect365; typedef Effect Effect366; typedef Effect Effect367; typedef Effect Effect368; typedef Effect Effect369; typedef Effect Effect370; typedef Effect Effect371; typedef Effect Effect372; typedef Effect Effect373; typedef Effect Effect374; typedef Effect Effect375; typedef Effect Effect376; typedef Effect Effect377; typedef Effect Effect378; typedef Effect Effect379; typedef Effect Effect380; typedef Effect Effect381; typedef Effect Effect382; typedef Effect Effect383; typedef Effect Effect384; typedef Effect Effect385; typedef Effect Effect386; typedef Effect Effect387; typedef Effect Effect388; typedef Effect Effect389; typedef Effect Effect390; typedef Effect Effect391; typedef Effect Effect392; typedef Effect Effect393; typedef Effect Effect394; typedef Effect Effect395; typedef Effect Effect396; typedef Effect Effect397; typedef Effect Effect398; typedef Effect Effect399; #endif