SpaghettiKart
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
86
87#define ACTOR_LIST_SIZE CM_GetActorSize()
88#define GET_ACTOR(index) CM_GetActor(index)
89
90// Actor flags
91#define ACTOR_IS_NOT_EXPIRED 0xF // The actor possesses some kind of collision and can be removed
92
93// Actor shell->state (green, red and blue)
95 HELD_SHELL, // Single shell that has not been dropped. (probably holding Z).
96 RELEASED_SHELL, // This is the short window where single shells aren't being held or launched.
97 MOVING_SHELL, // Moving towards its target after being shot.
98 RED_SHELL_LOCK_ON, // Red shell is targeting.
99 TRIPLE_GREEN_SHELL, // Loses triple shell state when shot.
100 GREEN_SHELL_HIT_A_RACER, // A racer has been hit by a green shell.
101 TRIPLE_RED_SHELL, // Loses triple shell state when shot.
102 DESTROYED_SHELL, // Collision with the shell.
103 BLUE_SHELL_LOCK_ON, // A blue shell has found a target and is hastily approaching it.
104 BLUE_SHELL_TARGET_ELIMINATED // Mission completed, well done boss.
105};
106
107#define THROW_SHELL_BACKWARDS -45 // Analogue stick Y value
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 union {
170 struct {
171 /* 0x08 */ void* crossingTrigger; // Crossing Trigger Class
172 };
173 struct { // original field in actors
174 /* 0x08 */ f32 unk_08;
175 /* 0x0C */ f32 boundingBoxSize;
176 };
177 };
178 /* 0x10 */ Vec3s rot;
179 /* 0x16 */ s16 unk_16;
180 /* 0x18 */ Vec3f pos;
181 /* 0x24 */ Vec3f velocity;
182 /* 0x30 */ Collision unk30;
183 const char* model;
184}; // size = 0x70
185
186// crossingTrigger might ruin struct size when compiled on 32 bit
187static_assert(sizeof(struct RailroadCrossing) == sizeof(struct Actor), "RailroadCrossing struct size does not match base struct size");
188
190 /* 0x00 */ s16 type;
191 /* 0x02 */ s16 flags;
192 /* 0x04 */ s16 respawnTimer;
193 /* 0x06 */ s16 unk_06;
194 /* 0x08 */ f32 unk_08;
195 /* 0x0C */ f32 boundingBoxSize;
196 /* 0x10 */ Vec3s rot;
197 /* 0x16 */ s16 unk_16;
198 /* 0x18 */ Vec3f pos;
199 /* 0x24 */ Vec3f velocity;
200 /* 0x30 */ Collision unk30;
201 const char* model;
202}; // size = 0x70
203
204struct ActorSpawnData {
205 /* 0x00 */ Vec3s pos;
206 union {
207 /* 0x06 */ u16 someId; // Usually populated, but not necessarily used by all actors types
208 /* 0x06 */ s16 signedSomeId;
209 };
210};
211
212// Required for evaluate_collision_player_palm_trees due to diff size.
213// members unverified. data located at d_course_dks_jungle_parkway_tree_spawn
222struct UnkActorSpawnData {
223 /* 0x00 */ Vec3s pos;
224 // Techinically only the bottom byte of someId is the "id". The top byte is used for flags.
225 /* 0x06 */ s16 someId;
226 // Stores the tree's original Y position.
227 /* 0x08 */ s16 unk8;
228};
229
231 /* 0x00 */ s16 type;
232 /* 0x02 */ s16 flags;
233 /* 0x04 */ s16 unk_04;
234 /* 0x06 */ s16 unk_06;
235 /* 0x08 */ f32 pathRadius;
236 /* 0x0C */ f32 boundingBoxSize;
237 /* 0x10 */ s16 pathRot;
238 /* 0x12 */ s16 eggRot;
239 /* 0x14 */ s16 unk_14;
240 /* 0x16 */ s16 unk_16;
241 /* 0x18 */ Vec3f pos;
242 // Note, pathCenter[1] should be understood to be the Y velocity of the egg
243 // pathCenter[0] and pathCenter[2] are the X,Z coordinates of the center of the path
244 /* 0x24 */ Vec3f pathCenter;
245 /* 0x30 */ Collision unk30;
246 const char* model;
247}; // size = 0x70
248
250 /* 0x00 */ s16 type;
251 /* 0x02 */ s16 flags;
252 /* 0x04 */ s16
253 targetPlayer; // Id of the player this actor tracks. Each player has their own kiwano actor just for them
254 /* 0x06 */ s16 state;
255 /* 0x08 */ f32 bonkTimer; // bonkState? Not sure what this is tracking, but its some form of count down that starts
256 // after the fruit hits you
257 /* 0x0C */ f32 boundingBoxSize;
258 /* 0x10 */ s16 animState;
259 /* 0x12 */ s16 animTimer;
260 /* 0x14 */ s16 unk_14;
261 /* 0x16 */ s16 unk_16;
262 /* 0x18 */ Vec3f pos;
263 /* 0x24 */ Vec3f velocity;
264 /* 0x30 */ Collision unk30;
265 const char* model;
266}; // size = 0x70
267
269 /* 0x00 */ s16 type;
270 /* 0x02 */ s16 flags;
271 /* 0x04 */ s16 unk_04;
272 /* 0x06 */ s16 wheelRot;
273 /* 0x08 */ f32 unk_08;
274 /* 0x0C */ f32 unk_0C;
275 /* 0x10 */ Vec3s boatRot;
276 /* 0x16 */ s16 unk_16;
277 /* 0x18 */ Vec3f pos;
278 /* 0x24 */ Vec3f velocity;
279 /* 0x30 */ Collision unk30;
280 const char* model;
281}; // size = 0x70
282
284 /* 0x00 */ s16 type;
285 /* 0x02 */ s16 flags;
286 /* 0x04 */ Vec4s visibilityStates; // A per-camera visibilty state tracker
287 /* 0x0C */ f32 boundingBoxSize;
288 /* 0x10 */ Vec4s unk10;
289 /* 0x18 */ Vec3f pos;
290 /* 0x24 */ Vec4s timers; // A per-camera timer. Might be more appropriate to call this state
291 /* 0x2C */ f32 unk_02C;
292 /* 0x30 */ Collision unk30;
293 const char* model;
294}; // size = 0x70
295
296struct PalmTree {
297 /* 0x00 */ s16 type;
298 /* 0x02 */ s16 flags;
299 /* 0x04 */ s16 variant; // four different types of palm trees
300 /* 0x06 */ s16 state;
301 /* 0x08 */ f32 unk_08;
302 /* 0x0C */ f32 boundingBoxSize;
303 /* 0x10 */ Vec3s rot;
304 /* 0x16 */ s16 unk_16;
305 /* 0x18 */ Vec3f pos;
306 /* 0x24 */ Vec3f velocity;
307 /* 0x30 */ Collision unk30;
308 const char* model;
309}; // size = 0x70
310
311typedef struct {
312 /* 0x00 */ s16 type;
313 /* 0x02 */ s16 flags;
314 /* 0x04 */ s16 shellsAvailable;
315 /* 0x06 */ s16 state;
316 /* 0x08 */ f32 firePressed; // Set to 1.0 when Z is pressed. Triggers if value higher than 0.0, acts like a boolean
317 /* 0x0C */ f32 unk_0C;
318 /* 0x10 */ s16 rotVelocity;
319 /* 0x12 */ s16 rotAngle;
320 /* 0x14 */ s16 playerId; // Id of the player that "owns" the shells
321 /* 0x16 */ s16 unk_16;
322 /* 0x18 */ Vec3f unk_18;
323 /* 0x24 */ Vec3f shellIndices; // Indices in gActorList for the shells "owned" by this parent
324 /* 0x30 */ Collision unk30;
325 const char* model;
326} TripleShellParent; // size = 0x70
327
329 /* 0x00 */ s16 type;
330 /* 0x02 */ s16 flags;
331 // Index in gActorList for the parent actor of this shell
332 // Seems to pull double duty as a timer
333 union {
334 /* 0x04 */ s16 parentIndex;
335 /* 0x04 */ s16 someTimer;
336 // Red Shells only (maybe blue shells?)
337 /* 0x04 */ s16 targetPlayer; // Player the shell is after
338 };
339 /* 0x06 */ s16 state;
340 /* 0x08 */ f32 shellId; // 0, 1, or 2. Indicates which shell in the triplet this one is
341 /* 0x0C */ f32 boundingBoxSize;
342 /* 0x10 */ s16 rotVelocity; // Change in rotAngle on a per-update basis
343 union {
344 /* 0x12 */ s16 rotAngle; // Angle of rotation around player (or parent?), not the rotation of the shell itself
345 /* 0x12 */ u16 pathIndex; // Index in the set of points that make up the "path" the red/blue shell follows (may
346 // be GP mode exclusive)
347 };
348 /* 0x14 */ s16 playerId; // Id of the player that "owns" the shell
349 /* 0x16 */ s16 unk_16;
350 /* 0x18 */ Vec3f pos;
351 /* 0x24 */ Vec3f velocity; // All 0 until the shell is fired
352 /* 0x30 */ Collision unk30;
353 const char* model;
354}; // size = 0x70
355
356struct ItemBox {
357 /* 0x00 */ s16 type;
358 /* 0x02 */ s16 flags;
359 /* 0x04 */ s16 someTimer;
360 /* 0x06 */ s16 state;
361 /* 0x08 */ f32 resetDistance; // Value added to the Y position when box is touched. Expected to be negative
362 // Distance at which a player can activate the item box
363 // Named "bounding box" to match the name used for the "size" of a kart
364 /* 0x0C */ f32 boundingBoxSize;
365 /* 0x10 */ Vec3s rot;
366 /* 0x16 */ s16 unk_16;
367 /* 0x18 */ Vec3f pos;
368 /* 0x24 */ f32 origY; // Original Y position. Basically the Y position the box will reset to after being touched
369 /* 0x28 */ f32 unk_028;
370 /* 0x2C */ f32 unk_02C;
371 /* 0x30 */ Collision unk30;
372 const char* model;
373}; // size = 0x70
374
376 /* 0x00 */ s16 type;
377 /* 0x02 */ s16 flags;
378 /* 0x04 */ s16 someTimer;
379 /* 0x06 */ s16 state;
380 /* 0x08 */ f32 sizeScaling; // Controls the size of the box
381 /* 0x0C */ f32 boundingBoxSize;
382 /* 0x10 */ Vec3s rot;
383 /* 0x16 */ s16 unk_16;
384 /* 0x18 */ Vec3f pos;
385 /* 0x24 */ f32 playerId;
386 /* 0x28 */ f32 targetY;
387 /* 0x2C */ f32 unk_02C;
388 /* 0x30 */ Collision unk30;
389 const char* model;
390}; // size = 0x70
391
393 /* 0x00 */ s16 type;
394 /* 0x02 */ s16 flags;
395 /* 0x04 */ s16 unk_04;
396 /* 0x06 */ s16 state;
397 /* 0x08 */ f32 unk_08;
398 /* 0x0C */ f32 unk_0C;
399 /* 0x10 */ s16 playerId; // Player that own the bananas
400 /* 0x12 */ s16 bananaIndices[5]; // Indices in gActorList for the bananas owned by this parent
401 /* 0x1C */ s16 bananasAvailable;
402 /* 0x1E */ s16 unk_1E;
403 /* 0x20 */ f32 unk_20[4];
404 /* 0x30 */ Collision unk30;
405 const char* model;
406}; // size = 0x70
407
409 /* 0x00 */ s16 type;
410 /* 0x02 */ s16 flags;
411 /* 0x04 */ s16 unk_04;
412 /* 0x06 */ s16 state;
413 /* 0x08 */ s16 parentIndex;
414 /* 0x0A */ s16 bananaId; // ? Appears to indiciate which banana of the bunch this one is
415 /* 0x0C */ f32 boundingBoxSize;
416 union {
417 /* 0x10 */ Vec3s rot;
418 struct {
419 /* 0x10 */ s16 playerId; // Id of the player that owns this banana
420 /* 0x12 */ s16 elderIndex; // Index in gActorList of the next-oldest banana in the bunch
421 /* 0x14 */ s16 youngerIndex; // Index in gActorList of the next-youngest banana in the bunch
422 };
423 };
424 /* 0x16 */ s16 unk_16;
425 /* 0x18 */ Vec3f pos;
426 /* 0x24 */ Vec3f velocity;
427 /* 0x30 */ Collision unk30;
428 const char* model;
429}; // size = 0x70
430
431// #pragma GCC diagnostic pop
432
433#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_TREE_PEACH_CASTLE
Definition actor_types.h:67
@ 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_TRAIN_TENDER
Definition actor_types.h:55
@ ACTOR_TANKER_TRUCK
Definition actor_types.h:80
@ ACTOR_TREE_LUIGI_RACEWAY
Definition actor_types.h:65
@ 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_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 gActorList[100]
ShellState
Definition actor_types.h:94
@ DESTROYED_SHELL
Definition actor_types.h:102
@ MOVING_SHELL
Definition actor_types.h:97
@ HELD_SHELL
Definition actor_types.h:95
@ TRIPLE_RED_SHELL
Definition actor_types.h:101
@ BLUE_SHELL_TARGET_ELIMINATED
Definition actor_types.h:104
@ RELEASED_SHELL
Definition actor_types.h:96
@ GREEN_SHELL_HIT_A_RACER
Definition actor_types.h:100
@ TRIPLE_GREEN_SHELL
Definition actor_types.h:99
@ BLUE_SHELL_LOCK_ON
Definition actor_types.h:103
@ RED_SHELL_LOCK_ON
Definition actor_types.h:98
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
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:408
Vec3f velocity
Definition actor_types.h:426
Vec3s rot
Definition actor_types.h:417
Collision unk30
Definition actor_types.h:427
f32 boundingBoxSize
Definition actor_types.h:415
s16 unk_16
Definition actor_types.h:424
s16 playerId
Definition actor_types.h:419
s16 elderIndex
Definition actor_types.h:420
s16 type
Definition actor_types.h:409
Vec3f pos
Definition actor_types.h:425
s16 bananaId
Definition actor_types.h:414
s16 unk_04
Definition actor_types.h:411
s16 flags
Definition actor_types.h:410
const char * model
Definition actor_types.h:428
s16 youngerIndex
Definition actor_types.h:421
s16 parentIndex
Definition actor_types.h:413
s16 state
Definition actor_types.h:412
Definition actor_types.h:392
s16 playerId
Definition actor_types.h:399
s16 bananasAvailable
Definition actor_types.h:401
s16 state
Definition actor_types.h:396
s16 unk_04
Definition actor_types.h:395
f32 unk_08
Definition actor_types.h:397
s16 unk_1E
Definition actor_types.h:402
s16 flags
Definition actor_types.h:394
s16 bananaIndices[5]
Definition actor_types.h:400
f32 unk_0C
Definition actor_types.h:398
f32 unk_20[4]
Definition actor_types.h:403
Collision unk30
Definition actor_types.h:404
const char * model
Definition actor_types.h:405
s16 type
Definition actor_types.h:393
Definition common_structs.h:147
Definition actor_types.h:375
Vec3s rot
Definition actor_types.h:382
const char * model
Definition actor_types.h:389
s16 someTimer
Definition actor_types.h:378
f32 targetY
Definition actor_types.h:386
s16 flags
Definition actor_types.h:377
f32 boundingBoxSize
Definition actor_types.h:381
f32 sizeScaling
Definition actor_types.h:380
Collision unk30
Definition actor_types.h:388
f32 playerId
Definition actor_types.h:385
s16 state
Definition actor_types.h:379
s16 unk_16
Definition actor_types.h:383
s16 type
Definition actor_types.h:376
Vec3f pos
Definition actor_types.h:384
f32 unk_02C
Definition actor_types.h:387
Definition actor_types.h:189
Collision unk30
Definition actor_types.h:200
s16 respawnTimer
Definition actor_types.h:192
f32 unk_08
Definition actor_types.h:194
Vec3s rot
Definition actor_types.h:196
s16 unk_06
Definition actor_types.h:193
Vec3f pos
Definition actor_types.h:198
f32 boundingBoxSize
Definition actor_types.h:195
s16 unk_16
Definition actor_types.h:197
Vec3f velocity
Definition actor_types.h:199
s16 type
Definition actor_types.h:190
s16 flags
Definition actor_types.h:191
const char * model
Definition actor_types.h:201
Definition actor_types.h:356
s16 someTimer
Definition actor_types.h:359
s16 flags
Definition actor_types.h:358
f32 unk_028
Definition actor_types.h:369
f32 origY
Definition actor_types.h:368
f32 boundingBoxSize
Definition actor_types.h:364
s16 type
Definition actor_types.h:357
Vec3f pos
Definition actor_types.h:367
s16 state
Definition actor_types.h:360
f32 resetDistance
Definition actor_types.h:361
const char * model
Definition actor_types.h:372
Vec3s rot
Definition actor_types.h:365
f32 unk_02C
Definition actor_types.h:370
Collision unk30
Definition actor_types.h:371
s16 unk_16
Definition actor_types.h:366
Definition actor_types.h:249
f32 boundingBoxSize
Definition actor_types.h:257
Collision unk30
Definition actor_types.h:264
f32 bonkTimer
Definition actor_types.h:255
Vec3f velocity
Definition actor_types.h:263
s16 animState
Definition actor_types.h:258
s16 animTimer
Definition actor_types.h:259
s16 type
Definition actor_types.h:250
s16 unk_16
Definition actor_types.h:261
s16 unk_14
Definition actor_types.h:260
s16 flags
Definition actor_types.h:251
s16 targetPlayer
Definition actor_types.h:253
Vec3f pos
Definition actor_types.h:262
s16 state
Definition actor_types.h:254
const char * model
Definition actor_types.h:265
Definition actor_types.h:268
Vec3f pos
Definition actor_types.h:277
Vec3s boatRot
Definition actor_types.h:275
s16 unk_04
Definition actor_types.h:271
Vec3f velocity
Definition actor_types.h:278
f32 unk_0C
Definition actor_types.h:274
s16 wheelRot
Definition actor_types.h:272
s16 unk_16
Definition actor_types.h:276
f32 unk_08
Definition actor_types.h:273
s16 flags
Definition actor_types.h:270
s16 type
Definition actor_types.h:269
const char * model
Definition actor_types.h:280
Collision unk30
Definition actor_types.h:279
Definition actor_types.h:296
Vec3s rot
Definition actor_types.h:303
s16 state
Definition actor_types.h:300
s16 type
Definition actor_types.h:297
s16 unk_16
Definition actor_types.h:304
f32 unk_08
Definition actor_types.h:301
s16 variant
Definition actor_types.h:299
s16 flags
Definition actor_types.h:298
Vec3f velocity
Definition actor_types.h:306
Vec3f pos
Definition actor_types.h:305
const char * model
Definition actor_types.h:308
f32 boundingBoxSize
Definition actor_types.h:302
Collision unk30
Definition actor_types.h:307
Definition actor_types.h:283
Vec4s visibilityStates
Definition actor_types.h:286
s16 type
Definition actor_types.h:284
Collision unk30
Definition actor_types.h:292
Vec4s timers
Definition actor_types.h:290
f32 unk_02C
Definition actor_types.h:291
Vec4s unk10
Definition actor_types.h:288
const char * model
Definition actor_types.h:293
s16 flags
Definition actor_types.h:285
Vec3f pos
Definition actor_types.h:289
f32 boundingBoxSize
Definition actor_types.h:287
Definition actor_types.h:164
Vec3f velocity
Definition actor_types.h:181
s16 unk_16
Definition actor_types.h:179
s16 type
Definition actor_types.h:165
s16 flags
Definition actor_types.h:166
void * crossingTrigger
Definition actor_types.h:171
s16 crossingId
Definition actor_types.h:168
f32 unk_08
Definition actor_types.h:174
f32 boundingBoxSize
Definition actor_types.h:175
Vec3s rot
Definition actor_types.h:178
Collision unk30
Definition actor_types.h:182
Vec3f pos
Definition actor_types.h:180
s16 someTimer
Definition actor_types.h:167
const char * model
Definition actor_types.h:183
Definition actor_types.h:328
s16 rotAngle
Definition actor_types.h:344
s16 rotVelocity
Definition actor_types.h:342
s16 unk_16
Definition actor_types.h:349
s16 flags
Definition actor_types.h:330
f32 boundingBoxSize
Definition actor_types.h:341
s16 state
Definition actor_types.h:339
f32 shellId
Definition actor_types.h:340
s16 type
Definition actor_types.h:329
s16 playerId
Definition actor_types.h:348
Vec3f velocity
Definition actor_types.h:351
const char * model
Definition actor_types.h:353
s16 parentIndex
Definition actor_types.h:334
Vec3f pos
Definition actor_types.h:350
Collision unk30
Definition actor_types.h:352
s16 targetPlayer
Definition actor_types.h:337
s16 someTimer
Definition actor_types.h:335
u16 pathIndex
Definition actor_types.h:345
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:311
Collision unk30
Definition actor_types.h:324
s16 playerId
Definition actor_types.h:320
s16 state
Definition actor_types.h:315
s16 shellsAvailable
Definition actor_types.h:314
s16 rotVelocity
Definition actor_types.h:318
Vec3f unk_18
Definition actor_types.h:322
s16 type
Definition actor_types.h:312
s16 rotAngle
Definition actor_types.h:319
s16 unk_16
Definition actor_types.h:321
f32 firePressed
Definition actor_types.h:316
s16 flags
Definition actor_types.h:313
f32 unk_0C
Definition actor_types.h:317
const char * model
Definition actor_types.h:325
Vec3f shellIndices
Definition actor_types.h:323
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:230
s16 unk_14
Definition actor_types.h:239
Collision unk30
Definition actor_types.h:245
s16 eggRot
Definition actor_types.h:238
const char * model
Definition actor_types.h:246
s16 type
Definition actor_types.h:231
s16 flags
Definition actor_types.h:232
Vec3f pos
Definition actor_types.h:241
f32 pathRadius
Definition actor_types.h:235
s16 unk_16
Definition actor_types.h:240
s16 unk_06
Definition actor_types.h:234
s16 unk_04
Definition actor_types.h:233
f32 boundingBoxSize
Definition actor_types.h:236
Vec3f pathCenter
Definition actor_types.h:244
s16 pathRot
Definition actor_types.h:237