Mario Kart 64
Loading...
Searching...
No Matches
actor_types.h
Go to the documentation of this file.
1#ifndef ACTOR_TYPES_H
2#define ACTOR_TYPES_H
3
4#include <libultraship.h>
5#include <macros.h>
6#include <common_structs.h>
7#include <assert.h>
8
9// #pragma GCC diagnostic push
10// #pragma GCC diagnostic ignored "-Wmicrosoft-extension"
11// #pragma GCC diagnostic ignored "-Wmissing-member-name-in-structure-/-union"
12
86size_t CM_GetActorSize(void);
87#define ACTOR_LIST_SIZE CM_GetActorSize()
88
89struct Actor* CM_GetActor(size_t);
90#define GET_ACTOR(index) CM_GetActor(index)
91
92// Actor flags
93#define ACTOR_IS_NOT_EXPIRED 0xF // The actor possesses some kind of collision and can be removed
94
95// Actor shell->state (green, red and blue)
97 HELD_SHELL, // Single shell that has not been dropped. (probably holding Z).
98 RELEASED_SHELL, // This is the short window where single shells aren't being held or launched.
99 MOVING_SHELL, // Moving towards its target after being shot.
100 RED_SHELL_LOCK_ON, // Red shell is targeting.
101 TRIPLE_GREEN_SHELL, // Loses triple shell state when shot.
102 GREEN_SHELL_HIT_A_RACER, // A racer has been hit by a green shell.
103 TRIPLE_RED_SHELL, // Loses triple shell state when shot.
104 DESTROYED_SHELL, // Collision with the shell.
105 BLUE_SHELL_LOCK_ON, // A blue shell has found a target and is hastily approaching it.
106 BLUE_SHELL_TARGET_ELIMINATED // Mission completed, well done boss.
107};
108
109// Actor banana->state
111 HELD_BANANA, // Single banana that has not been dropped.
112 DROPPED_BANANA, // A banana in the state of being dropped on the ground (it only last for a few frames).
113 FIRST_BANANA_BUNCH_BANANA, // The first banana of the banana bunch
114 BANANA_BUNCH_BANANA, // Every banana of the banana bunch except the first one.
115 BANANA_ON_GROUND, // A banana sitting on the ground.
116 DESTROYED_BANANA // Collision with the banana.
117};
118
119// Actor fakeItemBox->state
120#define HELD_FAKE_ITEM_BOX 0 // Item box is being held be Z.
121#define FAKE_ITEM_BOX_ON_GROUND 1 // Item box is on the ground.
122#define DESTROYED_FAKE_ITEM_BOX 2 // Collision with fake item box.
123
124struct Actor {
125 /* 0x00 */ s16 type;
126 /* 0x02 */ s16 flags;
127 /* 0x04 */ s16 unk_04;
128 /* 0x06 */ s16 state;
129 /* 0x08 */ f32 unk_08;
130 /* 0x0C */ f32 boundingBoxSize;
131 /* 0x10 */ Vec3s rot;
132 /* 0x16 */ s16 unk_16;
133 /* 0x18 */ Vec3f pos;
134 /* 0x24 */ Vec3f velocity;
135 /* 0x30 */ Collision unk30;
136 const char* model;
137}; // size = 0x70
138
139// Duplicate declare for simplicity when externing actors & packed files.
140extern struct Actor gActorList[100]; // D_8015F9B8
141
142/*
143Specialized actor types
144*/
145
146/*
147Used by the locomotive, tender, and passenger car
148*/
149struct TrainCar {
150 /* 0x00 */ s16 type;
151 /* 0x02 */ s16 flags;
152 /* 0x04 */ s16 unk_04;
153 /* 0x06 */ s16 wheelRot;
154 /* 0x08 */ f32 unk_08;
155 /* 0x0C */ f32 unk_0C;
156 /* 0x10 */ Vec3s rot;
157 /* 0x10 */ s16 unk_16;
158 /* 0x18 */ Vec3f pos;
159 /* 0x24 */ Vec3f velocity;
160 /* 0x30 */ Collision unk30;
161 const char* model;
162}; // size = 0x70
163
165 /* 0x00 */ s16 type;
166 /* 0x02 */ s16 flags;
167 /* 0x04 */ s16 someTimer;
168 /* 0x06 */ s16 crossingId; // unused now
169 /* 0x08 */ void* crossingTrigger; // Crossing Trigger Class
170 /* 0x10 */ Vec3s rot;
171 /* 0x16 */ s16 unk_16;
172 /* 0x18 */ Vec3f pos;
173 /* 0x24 */ Vec3f velocity;
174 /* 0x30 */ Collision unk30;
175 const char* model;
176}; // size = 0x70
177
178// crossingTrigger might ruin struct size when compiled on 32 bit
179static_assert(sizeof(struct RailroadCrossing) == sizeof(struct Actor), "RailroadCrossing struct size does not match base struct size");
180
182 /* 0x00 */ s16 type;
183 /* 0x02 */ s16 flags;
184 /* 0x04 */ s16 respawnTimer;
185 /* 0x06 */ s16 unk_06;
186 /* 0x08 */ f32 unk_08;
187 /* 0x0C */ f32 boundingBoxSize;
188 /* 0x10 */ Vec3s rot;
189 /* 0x16 */ s16 unk_16;
190 /* 0x18 */ Vec3f pos;
191 /* 0x24 */ Vec3f velocity;
192 /* 0x30 */ Collision unk30;
193 const char* model;
194}; // size = 0x70
195
196struct ActorSpawnData {
197 /* 0x00 */ Vec3s pos;
198 union {
199 /* 0x06 */ u16 someId; // Usually populated, but not necessarily used by all actors types
200 /* 0x06 */ s16 signedSomeId;
201 };
202};
203
204// Required for evaluate_collision_player_palm_trees due to diff size.
205// members unverified. data located at d_course_dks_jungle_parkway_tree_spawn
214struct UnkActorSpawnData {
215 /* 0x00 */ Vec3s pos;
216 // Techinically only the bottom byte of someId is the "id". The top byte is used for flags.
217 /* 0x06 */ s16 someId;
218 // Stores the tree's original Y position.
219 /* 0x08 */ s16 unk8;
220};
221
223 /* 0x00 */ s16 type;
224 /* 0x02 */ s16 flags;
225 /* 0x04 */ s16 unk_04;
226 /* 0x06 */ s16 unk_06;
227 /* 0x08 */ f32 pathRadius;
228 /* 0x0C */ f32 boundingBoxSize;
229 /* 0x10 */ s16 pathRot;
230 /* 0x12 */ s16 eggRot;
231 /* 0x14 */ s16 unk_14;
232 /* 0x16 */ s16 unk_16;
233 /* 0x18 */ Vec3f pos;
234 // Note, pathCenter[1] should be understood to be the Y velocity of the egg
235 // pathCenter[0] and pathCenter[2] are the X,Z coordinates of the center of the path
236 /* 0x24 */ Vec3f pathCenter;
237 /* 0x30 */ Collision unk30;
238 const char* model;
239}; // size = 0x70
240
242 /* 0x00 */ s16 type;
243 /* 0x02 */ s16 flags;
244 /* 0x04 */ s16
245 targetPlayer; // Id of the player this actor tracks. Each player has their own kiwano actor just for them
246 /* 0x06 */ s16 state;
247 /* 0x08 */ f32 bonkTimer; // bonkState? Not sure what this is tracking, but its some form of count down that starts
248 // after the fruit hits you
249 /* 0x0C */ f32 boundingBoxSize;
250 /* 0x10 */ s16 animState;
251 /* 0x12 */ s16 animTimer;
252 /* 0x14 */ s16 unk_14;
253 /* 0x16 */ s16 unk_16;
254 /* 0x18 */ Vec3f pos;
255 /* 0x24 */ Vec3f velocity;
256 /* 0x30 */ Collision unk30;
257 const char* model;
258}; // size = 0x70
259
261 /* 0x00 */ s16 type;
262 /* 0x02 */ s16 flags;
263 /* 0x04 */ s16 unk_04;
264 /* 0x06 */ s16 wheelRot;
265 /* 0x08 */ f32 unk_08;
266 /* 0x0C */ f32 unk_0C;
267 /* 0x10 */ Vec3s boatRot;
268 /* 0x16 */ s16 unk_16;
269 /* 0x18 */ Vec3f pos;
270 /* 0x24 */ Vec3f velocity;
271 /* 0x30 */ Collision unk30;
272 const char* model;
273}; // size = 0x70
274
276 /* 0x00 */ s16 type;
277 /* 0x02 */ s16 flags;
278 /* 0x04 */ Vec4s visibilityStates; // A per-camera visibilty state tracker
279 /* 0x0C */ f32 boundingBoxSize;
280 /* 0x10 */ Vec4s unk10;
281 /* 0x18 */ Vec3f pos;
282 /* 0x24 */ Vec4s timers; // A per-camera timer. Might be more appropriate to call this state
283 /* 0x2C */ f32 unk_02C;
284 /* 0x30 */ Collision unk30;
285 const char* model;
286}; // size = 0x70
287
288struct PalmTree {
289 /* 0x00 */ s16 type;
290 /* 0x02 */ s16 flags;
291 /* 0x04 */ s16 variant; // four different types of palm trees
292 /* 0x06 */ s16 state;
293 /* 0x08 */ f32 unk_08;
294 /* 0x0C */ f32 boundingBoxSize;
295 /* 0x10 */ Vec3s rot;
296 /* 0x16 */ s16 unk_16;
297 /* 0x18 */ Vec3f pos;
298 /* 0x24 */ Vec3f velocity;
299 /* 0x30 */ Collision unk30;
300 const char* model;
301}; // size = 0x70
302
303typedef struct {
304 /* 0x00 */ s16 type;
305 /* 0x02 */ s16 flags;
306 /* 0x04 */ s16 shellsAvailable;
307 /* 0x06 */ s16 state;
308 /* 0x08 */ f32 unk_08;
309 /* 0x0C */ f32 unk_0C;
310 /* 0x10 */ s16 rotVelocity;
311 /* 0x12 */ s16 rotAngle;
312 /* 0x14 */ s16 playerId; // Id of the player that "owns" the shells
313 /* 0x16 */ s16 unk_16;
314 /* 0x18 */ Vec3f unk_18;
315 /* 0x24 */ Vec3f shellIndices; // Indices in gActorList for the shells "owned" by this parent
316 /* 0x30 */ Collision unk30;
317 const char* model;
318} TripleShellParent; // size = 0x70
319
321 /* 0x00 */ s16 type;
322 /* 0x02 */ s16 flags;
323 // Index in gActorList for the parent actor of this shell
324 // Seems to pull double duty as a timer
325 union {
326 /* 0x04 */ s16 parentIndex;
327 /* 0x04 */ s16 someTimer;
328 // Red Shells only (maybe blue shells?)
329 /* 0x04 */ s16 targetPlayer; // Player the shell is after
330 };
331 /* 0x06 */ s16 state;
332 /* 0x08 */ f32 shellId; // 0, 1, or 2. Indicates which shell in the triplet this one is
333 /* 0x0C */ f32 boundingBoxSize;
334 /* 0x10 */ s16 rotVelocity; // Change in rotAngle on a per-update basis
335 union {
336 /* 0x12 */ s16 rotAngle; // Angle of rotation around player (or parent?), not the rotation of the shell itself
337 /* 0x12 */ u16 pathIndex; // Index in the set of points that make up the "path" the red/blue shell follows (may
338 // be GP mode exclusive)
339 };
340 /* 0x14 */ s16 playerId; // Id of the player that "owns" the shell
341 /* 0x16 */ s16 unk_16;
342 /* 0x18 */ Vec3f pos;
343 /* 0x24 */ Vec3f velocity; // All 0 until the shell is fired
344 /* 0x30 */ Collision unk30;
345 const char* model;
346}; // size = 0x70
347
348struct ItemBox {
349 /* 0x00 */ s16 type;
350 /* 0x02 */ s16 flags;
351 /* 0x04 */ s16 someTimer;
352 /* 0x06 */ s16 state;
353 /* 0x08 */ f32 resetDistance; // Value added to the Y position when box is touched. Expected to be negative
354 // Distance at which a player can activate the item box
355 // Named "bounding box" to match the name used for the "size" of a kart
356 /* 0x0C */ f32 boundingBoxSize;
357 /* 0x10 */ Vec3s rot;
358 /* 0x16 */ s16 unk_16;
359 /* 0x18 */ Vec3f pos;
360 /* 0x24 */ f32 origY; // Original Y position. Basically the Y position the box will reset to after being touched
361 /* 0x28 */ f32 unk_028;
362 /* 0x2C */ f32 unk_02C;
363 /* 0x30 */ Collision unk30;
364 const char* model;
365}; // size = 0x70
366
368 /* 0x00 */ s16 type;
369 /* 0x02 */ s16 flags;
370 /* 0x04 */ s16 someTimer;
371 /* 0x06 */ s16 state;
372 /* 0x08 */ f32 sizeScaling; // Controls the size of the box
373 /* 0x0C */ f32 boundingBoxSize;
374 /* 0x10 */ Vec3s rot;
375 /* 0x16 */ s16 unk_16;
376 /* 0x18 */ Vec3f pos;
377 /* 0x24 */ f32 playerId;
378 /* 0x28 */ f32 targetY;
379 /* 0x2C */ f32 unk_02C;
380 /* 0x30 */ Collision unk30;
381 const char* model;
382}; // size = 0x70
383
385 /* 0x00 */ s16 type;
386 /* 0x02 */ s16 flags;
387 /* 0x04 */ s16 unk_04;
388 /* 0x06 */ s16 state;
389 /* 0x08 */ f32 unk_08;
390 /* 0x0C */ f32 unk_0C;
391 /* 0x10 */ s16 playerId; // Player that own the bananas
392 /* 0x12 */ s16 bananaIndices[5]; // Indices in gActorList for the bananas owned by this parent
393 /* 0x1C */ s16 bananasAvailable;
394 /* 0x1E */ s16 unk_1E;
395 /* 0x20 */ f32 unk_20[4];
396 /* 0x30 */ Collision unk30;
397 const char* model;
398}; // size = 0x70
399
401 /* 0x00 */ s16 type;
402 /* 0x02 */ s16 flags;
403 /* 0x04 */ s16 unk_04;
404 /* 0x06 */ s16 state;
405 /* 0x08 */ s16 parentIndex;
406 /* 0x0A */ s16 bananaId; // ? Appears to indiciate which banana of the bunch this one is
407 /* 0x0C */ f32 boundingBoxSize;
408 union {
409 /* 0x10 */ Vec3s rot;
410 struct {
411 /* 0x10 */ s16 playerId; // Id of the player that owns this banana
412 /* 0x12 */ s16 elderIndex; // Index in gActorList of the next-oldest banana in the bunch
413 /* 0x14 */ s16 youngerIndex; // Index in gActorList of the next-youngest banana in the bunch
414 };
415 };
416 /* 0x16 */ s16 unk_16;
417 /* 0x18 */ Vec3f pos;
418 /* 0x24 */ Vec3f velocity;
419 /* 0x30 */ Collision unk30;
420 const char* model;
421}; // size = 0x70
422
423// #pragma GCC diagnostic pop
424
425#endif // ACTOR_TYPES_H
ActorType
Definition actor_types.h:39
@ ACTOR_UNKNOWN_0x14
Definition actor_types.h:59
@ ACTOR_BANANA_BUNCH
Definition actor_types.h:53
@ ACTOR_PADDLE_BOAT
Definition actor_types.h:77
@ ACTOR_BLUE_SPINY_SHELL
Definition actor_types.h:81
@ ACTOR_RED_SHELL
Definition actor_types.h:47
@ ACTOR_WARIO_SIGN
Definition actor_types.h:74
@ ACTOR_CACTUS2_KALAMARI_DESERT
Definition actor_types.h:70
@ ACTOR_BUSH_BOWSERS_CASTLE
Definition actor_types.h:72
@ ACTOR_MARIO_SIGN
Definition actor_types.h:62
@ ACTOR_TRIPLE_RED_SHELL
Definition actor_types.h:61
@ ACTOR_CACTUS3_KALAMARI_DESERT
Definition actor_types.h:71
@ ACTOR_UNKNOWN_0x1B
Definition actor_types.h:66
@ ACTOR_UNKNOWN_0x23
Definition actor_types.h:75
@ ACTOR_COW
Definition actor_types.h:57
@ ACTOR_RAILROAD_CROSSING
Definition actor_types.h:78
@ ACTOR_PIRANHA_PLANT
Definition actor_types.h:49
@ ACTOR_CACTUS1_KALAMARI_DESERT
Definition actor_types.h:69
@ ACTOR_UNKNOWN_0x01
Definition actor_types.h:40
@ ACTOR_SCHOOL_BUS
Definition actor_types.h:79
@ ACTOR_PALM_TREE
Definition actor_types.h:64
@ ACTOR_TREE_ROYAL_RACEWAY
Definition actor_types.h:43
@ ACTOR_FALLING_ROCK
Definition actor_types.h:44
@ ACTOR_UNKNOWN_0x0B
Definition actor_types.h:50
@ ACTOR_GREEN_SHELL
Definition actor_types.h:46
@ ACTOR_KIWANO_FRUIT
Definition actor_types.h:84
@ ACTOR_YOSHI_EGG
Definition actor_types.h:48
@ ACTOR_TRAIN_ENGINE
Definition actor_types.h:54
@ ACTOR_UNKNOWN_0x21
Definition actor_types.h:73
@ ACTOR_FAKE_ITEM_BOX
Definition actor_types.h:52
@ ACTOR_TREE_MOO_MOO_FARM
Definition actor_types.h:58
@ ACTOR_UNKNOWN_0x1A
Definition actor_types.h:65
@ ACTOR_TRAIN_TENDER
Definition actor_types.h:55
@ ACTOR_TANKER_TRUCK
Definition actor_types.h:80
@ ACTOR_TRIPLE_GREEN_SHELL
Definition actor_types.h:60
@ ACTOR_TREE_YOSHI_VALLEY
Definition actor_types.h:42
@ ACTOR_TRAIN_PASSENGER_CAR
Definition actor_types.h:56
@ ACTOR_BANANA
Definition actor_types.h:45
@ ACTOR_CAR
Definition actor_types.h:83
@ ACTOR_UNKNOWN_0x18
Definition actor_types.h:63
@ ACTOR_HOT_AIR_BALLOON_ITEM_BOX
Definition actor_types.h:82
@ ACTOR_TREE_BOWSERS_CASTLE
Definition actor_types.h:67
@ ACTOR_TREE_FRAPPE_SNOWLAND
Definition actor_types.h:68
@ ACTOR_BOX_TRUCK
Definition actor_types.h:76
@ ACTOR_TREE_MARIO_RACEWAY
Definition actor_types.h:41
@ ACTOR_ITEM_BOX
Definition actor_types.h:51
struct Actor * CM_GetActor(size_t)
Definition Game.cpp:618
ShellState
Definition actor_types.h:96
@ DESTROYED_SHELL
Definition actor_types.h:104
@ MOVING_SHELL
Definition actor_types.h:99
@ HELD_SHELL
Definition actor_types.h:97
@ TRIPLE_RED_SHELL
Definition actor_types.h:103
@ BLUE_SHELL_TARGET_ELIMINATED
Definition actor_types.h:106
@ RELEASED_SHELL
Definition actor_types.h:98
@ GREEN_SHELL_HIT_A_RACER
Definition actor_types.h:102
@ TRIPLE_GREEN_SHELL
Definition actor_types.h:101
@ BLUE_SHELL_LOCK_ON
Definition actor_types.h:105
@ RED_SHELL_LOCK_ON
Definition actor_types.h:100
BananaState
Definition actor_types.h:110
@ BANANA_ON_GROUND
Definition actor_types.h:115
@ DROPPED_BANANA
Definition actor_types.h:112
@ DESTROYED_BANANA
Definition actor_types.h:116
@ HELD_BANANA
Definition actor_types.h:111
@ BANANA_BUNCH_BANANA
Definition actor_types.h:114
@ FIRST_BANANA_BUNCH_BANANA
Definition actor_types.h:113
size_t CM_GetActorSize(void)
Definition Game.cpp:702
struct Actor gActorList[100]
Definition code_800029B0.c:154
s16 Vec4s[4]
Definition common_structs.h:17
f32 Vec3f[3]
Definition common_structs.h:10
s16 Vec3s[3]
Definition common_structs.h:15
@ s16
Definition GenericArray.h:55
Definition SpawnData.h:8
s16 signedSomeId
Definition SpawnData.h:12
Vec3s pos
Definition SpawnData.h:9
u16 someId
Definition SpawnData.h:11
Definition actor_types.h:124
s16 type
Definition actor_types.h:125
s16 unk_16
Definition actor_types.h:132
s16 state
Definition actor_types.h:128
Vec3s rot
Definition actor_types.h:131
Vec3f velocity
Definition actor_types.h:134
const char * model
Definition actor_types.h:136
Collision unk30
Definition actor_types.h:135
f32 unk_08
Definition actor_types.h:129
s16 unk_04
Definition actor_types.h:127
s16 flags
Definition actor_types.h:126
Vec3f pos
Definition actor_types.h:133
f32 boundingBoxSize
Definition actor_types.h:130
Definition actor_types.h:400
Vec3f velocity
Definition actor_types.h:418
Vec3s rot
Definition actor_types.h:409
Collision unk30
Definition actor_types.h:419
f32 boundingBoxSize
Definition actor_types.h:407
s16 unk_16
Definition actor_types.h:416
s16 playerId
Definition actor_types.h:411
s16 elderIndex
Definition actor_types.h:412
s16 type
Definition actor_types.h:401
Vec3f pos
Definition actor_types.h:417
s16 bananaId
Definition actor_types.h:406
s16 unk_04
Definition actor_types.h:403
s16 flags
Definition actor_types.h:402
const char * model
Definition actor_types.h:420
s16 youngerIndex
Definition actor_types.h:413
s16 parentIndex
Definition actor_types.h:405
s16 state
Definition actor_types.h:404
Definition actor_types.h:384
s16 playerId
Definition actor_types.h:391
s16 bananasAvailable
Definition actor_types.h:393
s16 state
Definition actor_types.h:388
s16 unk_04
Definition actor_types.h:387
f32 unk_08
Definition actor_types.h:389
s16 unk_1E
Definition actor_types.h:394
s16 flags
Definition actor_types.h:386
s16 bananaIndices[5]
Definition actor_types.h:392
f32 unk_0C
Definition actor_types.h:390
f32 unk_20[4]
Definition actor_types.h:395
Collision unk30
Definition actor_types.h:396
const char * model
Definition actor_types.h:397
s16 type
Definition actor_types.h:385
Definition common_structs.h:147
Definition actor_types.h:367
Vec3s rot
Definition actor_types.h:374
const char * model
Definition actor_types.h:381
s16 someTimer
Definition actor_types.h:370
f32 targetY
Definition actor_types.h:378
s16 flags
Definition actor_types.h:369
f32 boundingBoxSize
Definition actor_types.h:373
f32 sizeScaling
Definition actor_types.h:372
Collision unk30
Definition actor_types.h:380
f32 playerId
Definition actor_types.h:377
s16 state
Definition actor_types.h:371
s16 unk_16
Definition actor_types.h:375
s16 type
Definition actor_types.h:368
Vec3f pos
Definition actor_types.h:376
f32 unk_02C
Definition actor_types.h:379
Definition actor_types.h:181
Collision unk30
Definition actor_types.h:192
s16 respawnTimer
Definition actor_types.h:184
f32 unk_08
Definition actor_types.h:186
Vec3s rot
Definition actor_types.h:188
s16 unk_06
Definition actor_types.h:185
Vec3f pos
Definition actor_types.h:190
f32 boundingBoxSize
Definition actor_types.h:187
s16 unk_16
Definition actor_types.h:189
Vec3f velocity
Definition actor_types.h:191
s16 type
Definition actor_types.h:182
s16 flags
Definition actor_types.h:183
const char * model
Definition actor_types.h:193
Definition actor_types.h:348
s16 someTimer
Definition actor_types.h:351
s16 flags
Definition actor_types.h:350
f32 unk_028
Definition actor_types.h:361
f32 origY
Definition actor_types.h:360
f32 boundingBoxSize
Definition actor_types.h:356
s16 type
Definition actor_types.h:349
Vec3f pos
Definition actor_types.h:359
s16 state
Definition actor_types.h:352
f32 resetDistance
Definition actor_types.h:353
const char * model
Definition actor_types.h:364
Vec3s rot
Definition actor_types.h:357
f32 unk_02C
Definition actor_types.h:362
Collision unk30
Definition actor_types.h:363
s16 unk_16
Definition actor_types.h:358
Definition actor_types.h:241
f32 boundingBoxSize
Definition actor_types.h:249
Collision unk30
Definition actor_types.h:256
f32 bonkTimer
Definition actor_types.h:247
Vec3f velocity
Definition actor_types.h:255
s16 animState
Definition actor_types.h:250
s16 animTimer
Definition actor_types.h:251
s16 type
Definition actor_types.h:242
s16 unk_16
Definition actor_types.h:253
s16 unk_14
Definition actor_types.h:252
s16 flags
Definition actor_types.h:243
s16 targetPlayer
Definition actor_types.h:245
Vec3f pos
Definition actor_types.h:254
s16 state
Definition actor_types.h:246
const char * model
Definition actor_types.h:257
Definition actor_types.h:260
Vec3f pos
Definition actor_types.h:269
Vec3s boatRot
Definition actor_types.h:267
s16 unk_04
Definition actor_types.h:263
Vec3f velocity
Definition actor_types.h:270
f32 unk_0C
Definition actor_types.h:266
s16 wheelRot
Definition actor_types.h:264
s16 unk_16
Definition actor_types.h:268
f32 unk_08
Definition actor_types.h:265
s16 flags
Definition actor_types.h:262
s16 type
Definition actor_types.h:261
const char * model
Definition actor_types.h:272
Collision unk30
Definition actor_types.h:271
Definition actor_types.h:288
Vec3s rot
Definition actor_types.h:295
s16 state
Definition actor_types.h:292
s16 type
Definition actor_types.h:289
s16 unk_16
Definition actor_types.h:296
f32 unk_08
Definition actor_types.h:293
s16 variant
Definition actor_types.h:291
s16 flags
Definition actor_types.h:290
Vec3f velocity
Definition actor_types.h:298
Vec3f pos
Definition actor_types.h:297
const char * model
Definition actor_types.h:300
f32 boundingBoxSize
Definition actor_types.h:294
Collision unk30
Definition actor_types.h:299
Definition actor_types.h:275
Vec4s visibilityStates
Definition actor_types.h:278
s16 type
Definition actor_types.h:276
Collision unk30
Definition actor_types.h:284
Vec4s timers
Definition actor_types.h:282
f32 unk_02C
Definition actor_types.h:283
Vec4s unk10
Definition actor_types.h:280
const char * model
Definition actor_types.h:285
s16 flags
Definition actor_types.h:277
Vec3f pos
Definition actor_types.h:281
f32 boundingBoxSize
Definition actor_types.h:279
Definition actor_types.h:164
Vec3f velocity
Definition actor_types.h:173
s16 unk_16
Definition actor_types.h:171
s16 type
Definition actor_types.h:165
s16 flags
Definition actor_types.h:166
void * crossingTrigger
Definition actor_types.h:169
s16 crossingId
Definition actor_types.h:168
Vec3s rot
Definition actor_types.h:170
Collision unk30
Definition actor_types.h:174
Vec3f pos
Definition actor_types.h:172
s16 someTimer
Definition actor_types.h:167
const char * model
Definition actor_types.h:175
Definition actor_types.h:320
s16 rotAngle
Definition actor_types.h:336
s16 rotVelocity
Definition actor_types.h:334
s16 unk_16
Definition actor_types.h:341
s16 flags
Definition actor_types.h:322
f32 boundingBoxSize
Definition actor_types.h:333
s16 state
Definition actor_types.h:331
f32 shellId
Definition actor_types.h:332
s16 type
Definition actor_types.h:321
s16 playerId
Definition actor_types.h:340
Vec3f velocity
Definition actor_types.h:343
const char * model
Definition actor_types.h:345
s16 parentIndex
Definition actor_types.h:326
Vec3f pos
Definition actor_types.h:342
Collision unk30
Definition actor_types.h:344
s16 targetPlayer
Definition actor_types.h:329
s16 someTimer
Definition actor_types.h:327
u16 pathIndex
Definition actor_types.h:337
Definition actor_types.h:149
s16 flags
Definition actor_types.h:151
s16 unk_04
Definition actor_types.h:152
s16 unk_16
Definition actor_types.h:157
s16 wheelRot
Definition actor_types.h:153
f32 unk_0C
Definition actor_types.h:155
f32 unk_08
Definition actor_types.h:154
Vec3f pos
Definition actor_types.h:158
Vec3f velocity
Definition actor_types.h:159
s16 type
Definition actor_types.h:150
const char * model
Definition actor_types.h:161
Vec3s rot
Definition actor_types.h:156
Collision unk30
Definition actor_types.h:160
Definition actor_types.h:303
Collision unk30
Definition actor_types.h:316
s16 playerId
Definition actor_types.h:312
s16 state
Definition actor_types.h:307
s16 shellsAvailable
Definition actor_types.h:306
s16 rotVelocity
Definition actor_types.h:310
Vec3f unk_18
Definition actor_types.h:314
s16 type
Definition actor_types.h:304
s16 rotAngle
Definition actor_types.h:311
s16 unk_16
Definition actor_types.h:313
s16 flags
Definition actor_types.h:305
f32 unk_0C
Definition actor_types.h:309
const char * model
Definition actor_types.h:317
Vec3f shellIndices
Definition actor_types.h:315
f32 unk_08
Definition actor_types.h:308
Definition UnkSpawnData.h:8
Vec3s pos
Definition UnkSpawnData.h:9
s16 someId
Definition UnkSpawnData.h:11
s16 unk8
Definition UnkSpawnData.h:13
Definition actor_types.h:222
s16 unk_14
Definition actor_types.h:231
Collision unk30
Definition actor_types.h:237
s16 eggRot
Definition actor_types.h:230
const char * model
Definition actor_types.h:238
s16 type
Definition actor_types.h:223
s16 flags
Definition actor_types.h:224
Vec3f pos
Definition actor_types.h:233
f32 pathRadius
Definition actor_types.h:227
s16 unk_16
Definition actor_types.h:232
s16 unk_06
Definition actor_types.h:226
s16 unk_04
Definition actor_types.h:225
f32 boundingBoxSize
Definition actor_types.h:228
Vec3f pathCenter
Definition actor_types.h:236
s16 pathRot
Definition actor_types.h:229