Mario Kart 64
Loading...
Searching...
No Matches
common_structs.h
Go to the documentation of this file.
1#ifndef _COMMON_STRUCTS_H_
2#define _COMMON_STRUCTS_H_
3
4#ifndef TARGET_N64
5#include <libultraship.h>
6#else
7#include <ultra64.h>
8#endif
9
10typedef f32 Vec3f[3];
11typedef f32 Vec4f[4];
12
13typedef s32 Vec3iu[3];
14
15typedef s16 Vec3s[3];
16typedef u16 Vec3su[3];
17typedef s16 Vec4s[4];
18
19typedef f32 Mat3[3][3];
20typedef f32 Mat4[4][4];
21
22// might not be real, used by func_8002C954
23typedef struct {
24 f32 x, y, z;
25} Vec3fs;
26
27// This was added as a silly idea:
28// In the data to use "A, B, Z, R" instead of hex numbers.
29typedef enum { A = 0x80, B = 0x40, Z = 0x20, R = 0x10 } GhostController;
30
31/*** types.h ***/
32
33typedef struct {
34 /* 0x0 */ s16 pathPointStart;
35 /* 0x2 */ s16 pathPointEnd;
36 /* 0x4 */ s32 type;
37} CPUBehaviour; // size = 0x8
38
46
47struct SPTask {
48 /*0x00*/ OSTask task;
49 /*0x40*/ OSMesgQueue* msgqueue;
50 /*0x44*/ OSMesg msg;
51 /*0x48*/ enum SpTaskState state;
52}; // size = 0x4C, align = 0x8
53
55 OSMesgQueue* queue;
56 OSMesg msg;
57};
58
59struct D_80150158 {
60 s16 unk0;
61 s32 unk4;
62 s32 unk8;
63 s32 unkC;
64};
65
66struct Controller {
71 u16 button; // HeldButton
72 u16 buttonPressed; // OnTriggered
73 u16 buttonDepressed; // OffTriggered
75 u16 stickPressed; // OffTriggered
76 u16 stickDepressed; // OnTriggered
77};
78
79// Camera path struct? Or something like that. For GP race won scene?
81 Vec3f unk0; // xyz coordinates?
82 f32 unkC;
83 f32 unk10;
84 f32 unk14; // rotation?
85 s32 unk18;
86 s32 unk1C;
87 f32 unk20;
88 f32 unk24;
89 f32 unk28;
90 f32 unk2C;
91 f32 unk30;
92 f32 unk34;
93 s32 unk38;
94};
95
97 u32 unk0;
98 u32 unk4;
99 u32 unk8;
100 u32 unkC;
101 u32 unk10;
102 u32 unk14;
103 u32 unk18;
104 u32 unk1C;
105 u32 unk20;
106 u16 unk24;
107 u16 unk26;
108};
109
111 f32 unk0;
112 f32 unk4;
113 f32 unk8;
114 f32 unkC;
115};
116// end math util structs
117
128/*** Types.h end ***/
129
130struct Skybox {
131 s16 unk0;
132 s16 unk2;
133 s16 unk4;
134 s16 unk6;
135 s16 unk8;
136 s16 unkA;
137};
138
139typedef struct {
144} StaffGhost;
145// 80160ADC Banana's remaining
146
147typedef struct {
148 /* 0x00 */ u16 unk30;
149 /* 0x02 */ u16 unk32;
150 /* 0x04 */ u16 unk34;
151 /* 0x06 */ u16 meshIndexYX;
152 /* 0x08 */ u16 meshIndexZY;
153 // This may be an index to the tilemap?
154 /* 0x0A */ u16 meshIndexZX;
155 /* 0x0C */ Vec3f surfaceDistance; // Appears to be distance from actor to surface for zx, yx, and zy planes.
156 /* 0x18 */ Vec3f unk48;
157 /* 0x24 */ Vec3f unk54;
159 /* 0x3C */ f32 unk6C;
160} Collision;
161
162typedef struct {
163 /* 0x00 */ Vec3f pos;
164 /* 0x0C */ f32 scale;
165 /* 0x10 */ u16 unk_010;
166 /* 0x12 */ u16 type;
167 /* 0x14 */ f32 surfaceType;
168 /* 0x18 */ f32 unk_018;
169 /* 0x1C */ s16 isAlive;
170 /* 0x1E */ s16 unk_01E;
171 /* 0x20 */ s16 unk_020;
172 /* 0x22 */ s16 unk_022;
173 /* 0x24 */ f32 unk_024;
174 /* 0x28 */ f32 unk_028;
175 /* 0x2C */ s16 unk_02C;
176 /* 0x2E */ s16 unk_02E;
177 /* 0x30 */ s16 unk_030;
178 /* 0x32 */ s16 unk_032;
179 /* 0x34 */ s16 unk_034;
180 /* 0x36 */ s16 unk_036;
181 /* 0x38 */ s16 red;
182 /* 0x3A */ s16 green;
183 /* 0x3C */ s16 blue;
184 /* 0x3E */ s16 alpha;
185 /* 0x40 */ s16 unk_040;
186 /* 0x42 */ s16 unk_042;
187 /* 0x44 */ s16 unk_044;
188 /* 0x46 */ s16 unk_046;
189} UnkPlayerStruct258; // size = 0x48
190
191// This struct is almost identical to the GBI Vtx_t type,
192// except that its missing the "flag" member.
193typedef struct {
194 s16 ob[3]; /* x, y, z */
195 s16 tc[2]; /* texture coord */
196 s8 ca[4]; /* color & alpha */
197} CourseVtx;
198
199/*
200This struct has been copied (with only minor modifications) from
201https://github.com/micro500/mariokart64/wiki/Surface-Map
202on January 23rd, 2022
203The original author is assumed to be RenaKunisaki
204*/
205typedef struct {
206 /* 0x00 */ u16 flags;
207 // Top bytes is a collections of flags, bottom byte is of unknown purpose
208 // bit 7: 1 = only tangible if landed on, not if driven onto?
209 // very weird. game crashes sometimes when playing with this.
210 // bit 6: 1 = Lakitu can drop you here (XXX verify)
211 // bit 4: 1 = out of bounds
212 // bit 3: 1 = player tumbles upon contact (may fall right through)
213 /* 0x02 */ u16 surfaceType;
214
215 // For AABB bounding-box style collision. Box style collision is cheaper than checking each vtx.
216 /* 0x04 */ s16 minX; // Minimum x coordinate
217 s16 minY; // Minimum y coordinate
218 s16 minZ; // Minimum z coordinate
219 s16 maxX; // Maximum x coordinate
220 s16 maxY; // Maximum y coordinate
221 /* 0x0A */ s16 maxZ; // Maximum z coordinate
222 /* 0x10 */ Vtx* vtx1; // pointer to the 3 vertices of this poly
223 Vtx* vtx2;
224 Vtx* vtx3;
225 // Face normal. Should really be Vec3f normal
226 /* 0x1C */ f32 normalX;
227 /* 0x20 */ f32 normalY;
228 /* 0x24 */ f32 normalZ;
229 /* 0x28 */ f32 distance;
230} CollisionTriangle; // size = 0x2C
231
232typedef struct {
233 /* 0x00 */ Vec3f pos;
234 /* 0x0C */ u8 surfaceType; // Surface type that the tyre is touching.
235 /* 0x0D */ u8 surfaceFlags;
236 /* 0x0E */ u16 collisionMeshIndex; // Index into gCollisionMesh
237 // Height of tyre attached to ground. When flying it floats with the kart.
238 /* 0x10 */ f32 baseHeight;
239 // Something lighting related. 1 when in a shaded region, 2 when in a tree's shadow
240 // 3 when getting crushed by a whomp, but curiously only the front left tyre will ever have this value
241 /* 0x14 */ s32 unk_14;
242} KartTyre; // size = 0x18
243
244#define FRONT_LEFT 0
245#define FRONT_RIGHT 1
246#define BACK_LEFT 2
247#define BACK_RIGHT 3
248
250 /* 0xDB4 */ s16 unk0;
251 /* 0xDB6 */ s16 unk2;
252 /* 0xDB8 */ f32 unk4;
253 /* 0xDBC */ f32 unk8;
254 /* 0xDC0 */ f32 unkC;
255 /* 0xDC4 */ f32 unk10;
256 /* 0xDC8 */ f32 unk14;
257 /* 0xDCC */ s16 unk18;
258 /* 0xDCE */ s16 unk1A;
259 /* 0xDD0 */ s16 unk1C;
260 /* 0xDD2 */ s16 unk1E;
261 /* 0xDD4 */ s16 unk20;
262};
263
264typedef struct {
265 /* 0x0000 */ u16 type; // playerType?
266 /* 0x0002 */ u16 unk_002;
267 /* 0x0004 */ s16 currentRank;
268 /* 0x0006 */ u16 unk_006;
269 /* 0x0008 */ s16 lapCount;
270 /* 0x000A */ char unk_00A[0x2];
271 /* 0x000C */ s32 soundEffects; // Bitflag.
272 /* 0x0010 */ s16 currentItemCopy; // Has no effect on what item the players has, It is just a synced copy
273 /* 0x0012 */ s16 unk_012;
274 /* 0x0014 */ Vec3f pos;
275 /* 0x0020 */ Vec3f oldPos;
276 /* 0x002C */ Vec3s rotation;
277 /* 0x0032 */ char unk_032[0x2];
278 /* 0x0034 */ Vec3f velocity;
279 /* 0x0040 */ s16 unk_040;
280 /* 0x0042 */ s16 unk_042;
281 /* 0x0044 */ s16 unk_044;
282 /* 0x0046 */ u16 unk_046;
283 /* 0x0048 */ Vec4s unk_048;
284 /* 0x0050 */ Vec4s unk_050;
285 /* 0x0058 */ f32 unk_058;
286 /* 0x005C */ f32 unk_05C;
287 /* 0x0060 */ f32 unk_060;
288 /* 0x0064 */ Vec3f unk_064;
289 /* 0x0070 */ f32 boundingBoxSize;
290 /* 0x0074 */ f32 unk_074;
291 /* 0x0078 */ s16 unk_078;
292 /* 0x007A */ s16 hopFrameCounter;
293 /* 0x007C */ s32 unk_07C;
294 /* 0x0080 */ f32 boostPower;
295 /* 0x0084 */ f32 unk_084;
296 /* 0x0088 */ f32 unk_088;
297 /* 0x008C */ f32 kartPropulsionStrength;
298 /* 0x0090 */ f32 unk_090;
299 /* 0x0094 */ f32 speed;
300 /* 0x0098 */ f32 unk_098;
301 /* 0x009C */ f32 currentSpeed;
302 /* 0x00A0 */ f32 unk_0A0;
303 /* 0x00A4 */ f32 unk_0A4;
304 /* 0x00A8 */ s16 unk_0A8;
305 /* 0x00AA */ s16 unk_0AA;
306 /* 0x00AC */ s16 unk_0AC;
307 /* 0x00AE */ s16 unk_0AE;
308 /* 0x00B0 */ s16 unk_0B0;
309 /* 0x00B2 */ s16 unk_0B2;
310 /* 0x00B4 */ u16 unk_0B4;
311 /* 0x00B6 */ u16 unk_0B6;
312 /* 0x00B8 */ f32 unk_0B8;
313 /* 0x00BC */ u32 effects;
314 /* 0x00C0 */ s16 unk_0C0;
315 /* 0x00C2 */ s16 unk_0C2;
316 /* 0x00C4 */ s16 slopeAccel;
317 /* 0x00C6 */ s16 alpha;
318 /* 0x00C8 */ s16 unk_0C8;
319 /* 0x00CA */ s16 unk_0CA;
320 /* 0x00CC */ Vec4s unk_0CC;
321 /* 0x00D4 */ Vec4s unk_0D4;
322 /* 0x00DC */ s16 boostTimer;
323 /* 0x00DE */ u16 waterInteractionFlags;
324 /* 0x00E0 */ s16 unk_0E0;
325 /* 0x00E2 */ s16 unk_0E2;
326 /* 0x00E4 */ f32 unk_0E4;
327 /* 0x00E8 */ f32 unk_0E8;
328 /* 0x00EC */ f32 kartHopVelocity;
329 /* 0x00F0 */ f32 kartHopJerk;
330 /* 0x00F4 */ f32 kartHopAcceleration;
331 /* 0x00F8 */ u16 surfaceType;
332 /* 0x00FA */ s16 unk_0FA;
333 /* 0x00FC */ f32 kartFriction;
334 /* 0x0100 */ f32 kartGravity;
335 /* 0x0104 */ f32 unk_104;
336 /* 0x0108 */ f32 hopVerticalOffset;
337 /* 0x010C */ s16 unk_10C;
338 /* 0x010E */ char unk_10E[0x2];
339 /* 0x0110 */ Collision collision;
340 /* 0x0150 */ Mat3 unk_150;
342 /* 0x0198 */ KartTyre tyres[4];
343 /* 0x01F8 */ f32 unk_1F8;
344 /* 0x01FC */ f32 unk_1FC;
345 /* 0x0200 */ u32 unk_200; // May be s32. but less casting required if u32
346 /* 0x0204 */ s16 driftDuration;
347 /* 0x0206 */ s16 unk_206;
348 /* 0x0208 */ f32 unk_208;
349 /* 0x020C */ f32 unk_20C;
350 /* 0x0210 */ f32 unk_210;
351 /* 0x0214 */ f32 topSpeed;
352 /* 0x0218 */ f32 unk_218;
353 /* 0x021C */ f32 unk_21C;
354 /* 0x0220 */ s16 nearestPathPointId; // ??
355 /* 0x0222 */ s16 unk_222;
356 /* 0x0224 */ f32 size;
357 /* 0x0228 */ s16 unk_228;
358 /* 0x022A */ s16 driftState;
359 /* 0x022C */ f32 previousSpeed;
360 /* 0x0230 */ f32 unk_230;
361 /* 0x0234 */ s16 unk_234;
362 /* 0x0236 */ s16 unk_236;
363 /* 0x0238 */ s16 unk_238;
364 /* 0x023A */ s16 unk_23A;
365 /* 0x023C */ f32 unk_23C;
366 /* 0x0240 */ s32 tyreSpeed;
367 /* 0x0244 */ u16 animFrameSelector[4]; // [0] Active texture group
368 /* 0x024C */ u16 animGroupSelector[4]; // Based on screen
369 /* 0x0254 */ u16 characterId;
370 /* 0x0256 */ u16 unk_256;
375 /* 0x0D98 */ s16 unk_D98;
376 /* 0x0D9A */ s16 unk_D9A;
377 /* 0x0D9C */ f32 unk_D9C;
378 /* 0x0DA0 */ f32 unk_DA0;
379 /* 0x0DA4 */ s16 unk_DA4;
380 /* 0x0DA6 */ s16 unk_DA6;
381 /* 0x0DA8 */ f32 unk_DA8;
382 /* 0x0DAC */ f32 unk_DAC;
383 /* 0x0DB0 */ f32 unk_DB0;
384 /* 0x0DB4 */ struct UnkPlayerInner unk_DB4;
385 /* 0x0DB6 */ // s16 unk_DB6;
386 /* 0x0DB8 */ // f32 unk_DB8;
387 /* 0x0DBC */ // f32 unk_DBC;
388 /* 0x0DC0 */ // f32 unk_DC0;
389 /* 0x0DC4 */ // f32 unk_DC4;
390 /* 0x0DC8 */ // f32 unk_DC8;
391 /* 0x0DCC */ // s16 unk_DCC;
392 /* 0x0DCE */ // s16 unk_DCE;
393 /* 0x0DD0 */ // s16 unk_DD0;
394 /* 0x0DD2 */ // s16 unk_DD2;
395 /* 0x0DD4 */ // s16 unk_DD4;
396
397 u32 nControlFlags; // Is racer human, ai, or networked controlled?
398 s32 nCharacter; // Networked character choice
401} Player; // size = 0xDD8
402
415
416typedef struct {
417 // Something related to time trial ghost data?
418 /* 0x00 */ s32 unk_00;
419 /* 0x04 */ u8 ghostDataSaved;
420 /* 0x05 */ s8 courseIndex;
421 /* 0x06 */ u8 characterId;
422 /* 0x07 */ u8 unk_07[0x3C];
423 /* 0x43 */ u8 pad_43[0x7F - 0x43];
424 /* 0x7F */ u8 checksum;
425} struct_8018EE10_entry; // size = 0x80
426
427typedef struct {
428 uint8_t r, g, b;
429} RGB8;
430
431typedef struct {
432 /* 0x00 */ u16 red;
433 /* 0x02 */ u16 green;
434 /* 0x04 */ u16 blue;
435 /* 0x06 */ u16 alpha;
436} RGBA16; // size = 0x08
437
438// Something related to human players
439// Also might be used for the camera during the post race screens
440typedef struct {
441 /* 0x00 */ f32 unknownScaling; // Looks to be some type of scaling, unknown use
442 /* 0x04 */ f32 rankScaling; // Scaling done on the rank text in the bottom left corner of the screen
443 // All time measurements are in centiseconds
444 /* 0x08 */ u32 someTimer; // The someTimers seem to always have the same value, the total time since race start
445 /* 0x0C */ u32 someTimer1;
446 /* 0x10 */ u32 timeLastTouchedFinishLine; // Sum of time of all completed laps
447 // Times at which each lap was completed
448 union {
449 struct {
450 /* 0x14 */ u32 lap1CompletionTime;
451 /* 0x18 */ u32 lap2CompletionTime;
452 /* 0x1C */ u32 lap3CompletionTime;
453 };
455 };
456 // Time each lap took to complete
457 union {
458 struct {
459 /* 0x20 */ u32 lap1Duration;
460 /* 0x24 */ u32 lap2Duration;
461 /* 0x28 */ u32 lap3Duration;
462 };
464 };
465 // Integer parts of the player's X/Y/X coordinates
466 /* 0x2C */ s32 posXInt;
467 /* 0x30 */ s32 posYInt;
468 /* 0x34 */ s32 posZInt;
469 /* 0x38 */ s32 unk_38;
470 // Timer for how long the on screen should blink on lap completion
471 // Blinking occurs as long as this is a non-zero value.
472 // Other on screen effects may override the blinking
473 /* 0x3C */ s16 blinkTimer;
474 /* 0x3E */ s16 speedometerX;
475 /* 0x40 */ s16 speedometerY;
476 /* 0x42 */ s16 itemBoxX;
477 /* 0x44 */ s16 itemBoxY;
478 /* 0x46 */ s16 slideItemBoxX;
479 /* 0x48 */ s16 slideItemBoxY;
480 // These 2 s16's have values, but I have yet to identify any places that read them
481 /* 0x4A */ s16 unk_4A;
482 /* 0x4C */ s16 unk_4C;
483 /* 0x4E */ s16 timerX; // X coordinate of the on screen timer
484 // These 4 X coordinates are "slide" values
485 union {
486 struct {
487 /* 0x50 */ s16 lap1CompletionTimeX; // Pulls double-duty as timerAfterImage1X
488 /* 0x52 */ s16 lap2CompletionTimeX; // Pulls double-duty as timerAfterImage2X
489 /* 0x54 */ s16 lap3CompletionTimeX;
490 };
491 /* 0x50 */ s16 lapCompletionTimeXs[3];
492 };
493 /* 0x56 */ s16 totalTimeX;
494 /* 0x58 */ s16 timerY; // Y coordinate of the on screen timer (used as Y coordinate for lap completion times in
495 // post-race screen)
496 /* 0x5A */ s16 lapX; // X coordinate of the on screen lap counter
497 // 0x5C and 0x5E seem to be relative to lapX
498 /* 0x5C */ s16 lapAfterImage1X;
499 /* 0x5E */ s16 lapAfterImage2X;
500 /* 0x60 */ s16 lapY; // Y coordinate of the on screen lap counter
501 /* 0x62 */ s16 rankX; // X coordinate of the on screen rank indicator
502 /* 0x64 */ s16 rankY; // Y coordinate of the on screen rank indicator
503 /* 0x66 */ s16
504 slideRankX; // Adds with the other rankX, used during post race screen to make the rank "slide" into place
505 /* 0x68 */ s16
506 slideRankY; // Adds with the other rankY, used during post race screen to make the rank "slide" into place
507 /* 0x6A */ s16 stagingPosition; // Position to take during race staging
508 // These s16's occasionally have values, but I have yet to identify any places that read them
509 // They appear to have values when in 3/4 player split screen mode, otherwise they're 0
510 /* 0x6C */ s16 unk_6C;
511 /* 0x6E */ s16 unk_6E;
512 /* 0x70 */ s8 raceCompleteBool; // Indicates if race is over?
513 /* 0x71 */ s8 lapCount; // This increases to 3 when a race is over, while alsoLapCount stays at 2
514 /* 0x72 */ s8 alsoLapCount;
515 // Related to the timer blinking on lap completion
516 // If blinkTimer is counting down:
517 // 0: Show timer
518 // 1: Hide timer
519 // 2: ? Seems to be a transition state, never lasts a long enough for blinkTimer to tick
520 /* 0x73 */ s8 blinkState;
521 /* 0x74 */ s8 unk_74;
522 /* 0x75 */ s8 unk_75;
523 /* 0x76 */ u8 itemOverride; // Something related to item generation. If non-zero, it determines the item you get
524 /* 0x77 */ s8 unk_77;
525 // 0x78 to 0x7F appear to be some type of "state" trackers for the lap and timer text during a race start
526 // When a race starts those texts (and their afterimages) slide in and "bounce" a bit. These states control the
527 // bouncing (somehow)
528 /* 0x78 */ u8 unk_78;
529 /* 0x79 */ u8 unk_79;
530 /* 0x7A */ u8 unk_7A;
531 /* 0x7B */ u8 unk_7B;
532 /* 0x7C */ u8 unk_7C;
533 /* 0x7D */ u8 unk_7D;
534 /* 0x7E */ u8 unk_7E;
535 /* 0x7F */ u8 unk_7F;
536 /* 0x80 */ u8 unk_80;
537 /* 0x81 */ u8 unk_81;
538 /* 0x82 */ s8 unk_82;
539 /* 0x83 */ s8 unk_83;
540} hud_player; // size = 0x84
541
542#define HUD_PLAYERS_SIZE 4
543
544#endif
SpTaskState
Definition common_structs.h:39
@ SPTASK_STATE_INTERRUPTED
Definition common_structs.h:42
@ SPTASK_STATE_FINISHED
Definition common_structs.h:43
@ SPTASK_STATE_RUNNING
Definition common_structs.h:41
@ SPTASK_STATE_FINISHED_DP
Definition common_structs.h:44
@ SPTASK_STATE_NOT_STARTED
Definition common_structs.h:40
s16 Vec4s[4]
Definition common_structs.h:17
f32 Vec3f[3]
Definition common_structs.h:10
GhostController
Definition common_structs.h:29
@ R
Definition common_structs.h:29
@ B
Definition common_structs.h:29
@ A
Definition common_structs.h:29
@ Z
Definition common_structs.h:29
POOL_1_PARTICLE_TYPES
Definition common_structs.h:403
@ NO_PARTICLE
Definition common_structs.h:404
@ POOL_1_PARTICLE_TYPE_6
Definition common_structs.h:410
@ POOL_1_PARTICLE_TYPE_4
Definition common_structs.h:408
@ POOL_1_PARTICLE_TYPE_7
Definition common_structs.h:411
@ POOL_1_PARTICLE_TYPE_9
Definition common_structs.h:413
@ POOL_1_PARTICLE_TYPE_5
Definition common_structs.h:409
@ GRASS_PARTICLE
Definition common_structs.h:407
@ GROUND_PARTICLE
Definition common_structs.h:406
@ POOL_1_PARTICLE_TYPE_8
Definition common_structs.h:412
@ DRIFT_PARTICLE
Definition common_structs.h:405
u16 Vec3su[3]
Definition common_structs.h:16
s16 Vec3s[3]
Definition common_structs.h:15
f32 Vec4f[4]
Definition common_structs.h:11
f32 Mat4[4][4]
Definition common_structs.h:20
s32 Vec3iu[3]
Definition common_structs.h:13
f32 Mat3[3][3]
Definition common_structs.h:19
Definition CPU.h:6
int16_t pathPointStart
Definition CPU.h:7
int32_t type
Definition CPU.h:9
int16_t pathPointEnd
Definition CPU.h:8
Definition common_structs.h:205
Vtx * vtx3
Definition common_structs.h:224
u16 surfaceType
Definition common_structs.h:213
f32 normalY
Definition common_structs.h:227
f32 normalX
Definition common_structs.h:226
Vtx * vtx1
Definition common_structs.h:222
s16 maxY
Definition common_structs.h:220
f32 normalZ
Definition common_structs.h:228
s16 minZ
Definition common_structs.h:218
u16 flags
Definition common_structs.h:206
s16 minY
Definition common_structs.h:217
Vtx * vtx2
Definition common_structs.h:223
f32 distance
Definition common_structs.h:229
s16 minX
Definition common_structs.h:216
s16 maxX
Definition common_structs.h:219
s16 maxZ
Definition common_structs.h:221
Definition common_structs.h:147
u16 unk32
Definition common_structs.h:149
Vec3f surfaceDistance
Definition common_structs.h:155
u16 meshIndexYX
Definition common_structs.h:151
u16 unk30
Definition common_structs.h:148
Vec3f orientationVector
Definition common_structs.h:158
u16 meshIndexZY
Definition common_structs.h:152
Vec3f unk54
Definition common_structs.h:157
f32 unk6C
Definition common_structs.h:159
u16 unk34
Definition common_structs.h:150
u16 meshIndexZX
Definition common_structs.h:154
Vec3f unk48
Definition common_structs.h:156
Definition common_structs.h:66
s16 rawStickY
Definition common_structs.h:68
u16 stickDepressed
Definition common_structs.h:76
s16 rightRawStickY
Definition common_structs.h:70
u16 stickDirection
Definition common_structs.h:74
s16 rawStickX
Definition common_structs.h:67
u16 buttonPressed
Definition common_structs.h:72
s16 rightRawStickX
Definition common_structs.h:69
u16 button
Definition common_structs.h:71
u16 stickPressed
Definition common_structs.h:75
u16 buttonDepressed
Definition common_structs.h:73
Definition common_structs.h:193
s16 tc[2]
Definition common_structs.h:195
s16 ob[3]
Definition common_structs.h:194
s8 ca[4]
Definition common_structs.h:196
Definition common_structs.h:59
s32 unk8
Definition common_structs.h:62
s16 unk0
Definition common_structs.h:60
s32 unk4
Definition common_structs.h:61
s32 unkC
Definition common_structs.h:63
Definition common_structs.h:232
u16 collisionMeshIndex
Definition common_structs.h:236
s32 unk_14
Definition common_structs.h:241
u8 surfaceType
Definition common_structs.h:234
Vec3f pos
Definition common_structs.h:233
u8 surfaceFlags
Definition common_structs.h:235
f32 baseHeight
Definition common_structs.h:238
Definition common_structs.h:264
u32 nControlFlags
Definition common_structs.h:397
f32 unk_104
Definition common_structs.h:335
f32 unk_DA0
Definition common_structs.h:378
s16 unk_042
Definition common_structs.h:280
s16 unk_D9A
Definition common_structs.h:376
s16 lapCount
Definition common_structs.h:269
f32 kartFriction
Definition common_structs.h:333
s16 unk_0C0
Definition common_structs.h:314
KartTyre tyres[4]
Definition common_structs.h:342
f32 kartHopAcceleration
Definition common_structs.h:330
f32 unk_210
Definition common_structs.h:350
f32 unk_098
Definition common_structs.h:300
f32 unk_D9C
Definition common_structs.h:377
f32 kartGravity
Definition common_structs.h:334
f32 size
Definition common_structs.h:356
f32 currentSpeed
Definition common_structs.h:301
s16 unk_238
Definition common_structs.h:363
s16 nearestPathPointId
Definition common_structs.h:354
f32 unk_DAC
Definition common_structs.h:382
f32 speed
Definition common_structs.h:299
char unk_032[0x2]
Definition common_structs.h:277
u16 unk_046
Definition common_structs.h:282
s32 nStartingRank
Definition common_structs.h:399
s32 nCharacter
Definition common_structs.h:398
f32 unk_0A4
Definition common_structs.h:303
Vec3f oldPos
Definition common_structs.h:275
u16 surfaceType
Definition common_structs.h:331
Mat3 orientationMatrix
Definition common_structs.h:341
f32 previousSpeed
Definition common_structs.h:359
u16 unk_002
Definition common_structs.h:266
s16 unk_228
Definition common_structs.h:357
u16 waterInteractionFlags
Definition common_structs.h:323
s16 unk_044
Definition common_structs.h:281
s32 unk_07C
Definition common_structs.h:293
u16 characterId
Definition common_structs.h:369
f32 kartPropulsionStrength
Definition common_structs.h:297
s16 unk_0CA
Definition common_structs.h:319
Vec4s unk_0CC
Definition common_structs.h:320
u16 unk_0B4
Definition common_structs.h:310
UnkPlayerStruct258 particlePool3[10]
Definition common_structs.h:374
s16 unk_0FA
Definition common_structs.h:332
s16 unk_078
Definition common_structs.h:291
u32 effects
Definition common_structs.h:313
f32 unk_23C
Definition common_structs.h:365
f32 unk_05C
Definition common_structs.h:286
f32 unk_DB0
Definition common_structs.h:383
Mat3 unk_150
Definition common_structs.h:340
f32 unk_0E8
Definition common_structs.h:327
s16 alpha
Definition common_structs.h:317
s16 driftDuration
Definition common_structs.h:346
f32 unk_090
Definition common_structs.h:298
Vec3s rotation
Definition common_structs.h:276
Vec4s unk_050
Definition common_structs.h:284
s16 slopeAccel
Definition common_structs.h:316
UnkPlayerStruct258 particlePool2[10]
Definition common_structs.h:373
f32 boostPower
Definition common_structs.h:294
s16 unk_222
Definition common_structs.h:355
u32 nHasAuthority
Definition common_structs.h:400
s32 tyreSpeed
Definition common_structs.h:366
s16 unk_040
Definition common_structs.h:279
s16 unk_D98
Definition common_structs.h:375
f32 unk_20C
Definition common_structs.h:349
f32 unk_230
Definition common_structs.h:360
Collision collision
Definition common_structs.h:339
f32 boundingBoxSize
Definition common_structs.h:289
s16 hopFrameCounter
Definition common_structs.h:292
f32 unk_0A0
Definition common_structs.h:302
u16 type
Definition common_structs.h:265
f32 unk_DA8
Definition common_structs.h:381
u16 animFrameSelector[4]
Definition common_structs.h:367
s16 unk_0AE
Definition common_structs.h:307
f32 kartHopJerk
Definition common_structs.h:329
f32 topSpeed
Definition common_structs.h:351
UnkPlayerStruct258 particlePool1[10]
Definition common_structs.h:372
f32 unk_0E4
Definition common_structs.h:326
s16 unk_0A8
Definition common_structs.h:304
s16 unk_234
Definition common_structs.h:361
Vec3f velocity
Definition common_structs.h:278
f32 kartHopVelocity
Definition common_structs.h:328
Vec4s unk_0D4
Definition common_structs.h:321
s16 unk_DA4
Definition common_structs.h:379
s16 unk_23A
Definition common_structs.h:364
u16 unk_0B6
Definition common_structs.h:311
Vec3f unk_064
Definition common_structs.h:288
f32 hopVerticalOffset
Definition common_structs.h:336
Vec4s unk_048
Definition common_structs.h:283
s16 unk_0C2
Definition common_structs.h:315
u16 unk_256
Definition common_structs.h:370
f32 unk_084
Definition common_structs.h:295
struct UnkPlayerInner unk_DB4
Definition common_structs.h:384
char unk_10E[0x2]
Definition common_structs.h:338
f32 unk_1FC
Definition common_structs.h:344
s16 unk_DA6
Definition common_structs.h:380
s16 boostTimer
Definition common_structs.h:322
s16 currentItemCopy
Definition common_structs.h:272
s16 unk_0E2
Definition common_structs.h:325
u16 unk_006
Definition common_structs.h:268
char unk_00A[0x2]
Definition common_structs.h:270
s16 unk_0B0
Definition common_structs.h:308
s16 unk_0C8
Definition common_structs.h:318
s16 unk_0B2
Definition common_structs.h:309
s16 unk_236
Definition common_structs.h:362
f32 unk_088
Definition common_structs.h:296
s16 unk_206
Definition common_structs.h:347
f32 unk_060
Definition common_structs.h:287
s32 soundEffects
Definition common_structs.h:271
UnkPlayerStruct258 particlePool0[10]
Definition common_structs.h:371
u16 animGroupSelector[4]
Definition common_structs.h:368
s16 driftState
Definition common_structs.h:358
f32 unk_218
Definition common_structs.h:352
f32 unk_208
Definition common_structs.h:348
f32 unk_058
Definition common_structs.h:285
s16 unk_0E0
Definition common_structs.h:324
s16 unk_012
Definition common_structs.h:273
f32 unk_0B8
Definition common_structs.h:312
u32 unk_200
Definition common_structs.h:345
f32 unk_1F8
Definition common_structs.h:343
s16 currentRank
Definition common_structs.h:267
s16 unk_0AC
Definition common_structs.h:306
f32 unk_074
Definition common_structs.h:290
s16 unk_10C
Definition common_structs.h:337
f32 unk_21C
Definition common_structs.h:353
s16 unk_0AA
Definition common_structs.h:305
Vec3f pos
Definition common_structs.h:274
Definition common_structs.h:427
uint8_t g
Definition common_structs.h:428
uint8_t b
Definition common_structs.h:428
uint8_t r
Definition common_structs.h:428
Definition common_structs.h:431
u16 alpha
Definition common_structs.h:435
u16 red
Definition common_structs.h:432
u16 blue
Definition common_structs.h:434
u16 green
Definition common_structs.h:433
Definition common_structs.h:47
enum SpTaskState state
Definition common_structs.h:51
OSMesg msg
Definition common_structs.h:50
OSMesgQueue * msgqueue
Definition common_structs.h:49
OSTask task
Definition common_structs.h:48
Definition common_structs.h:130
s16 unkA
Definition common_structs.h:136
s16 unk0
Definition common_structs.h:131
s16 unk6
Definition common_structs.h:134
s16 unk2
Definition common_structs.h:132
s16 unk8
Definition common_structs.h:135
s16 unk4
Definition common_structs.h:133
Definition common_structs.h:139
s8 stickX
Definition common_structs.h:143
s8 frameDuration
Definition common_structs.h:141
u8 button
Definition common_structs.h:140
s8 stickY
Definition common_structs.h:142
Definition common_structs.h:249
s16 unk1C
Definition common_structs.h:259
f32 unkC
Definition common_structs.h:254
f32 unk10
Definition common_structs.h:255
s16 unk0
Definition common_structs.h:250
s16 unk2
Definition common_structs.h:251
f32 unk4
Definition common_structs.h:252
f32 unk14
Definition common_structs.h:256
s16 unk20
Definition common_structs.h:261
f32 unk8
Definition common_structs.h:253
s16 unk1E
Definition common_structs.h:260
s16 unk1A
Definition common_structs.h:258
s16 unk18
Definition common_structs.h:257
Definition common_structs.h:162
s16 unk_040
Definition common_structs.h:185
f32 surfaceType
Definition common_structs.h:167
s16 unk_036
Definition common_structs.h:180
s16 unk_032
Definition common_structs.h:178
s16 unk_02E
Definition common_structs.h:176
u16 unk_010
Definition common_structs.h:165
Vec3f pos
Definition common_structs.h:163
s16 unk_020
Definition common_structs.h:171
f32 scale
Definition common_structs.h:164
s16 unk_030
Definition common_structs.h:177
s16 unk_034
Definition common_structs.h:179
s16 blue
Definition common_structs.h:183
s16 green
Definition common_structs.h:182
s16 unk_02C
Definition common_structs.h:175
s16 unk_01E
Definition common_structs.h:170
s16 alpha
Definition common_structs.h:184
s16 unk_042
Definition common_structs.h:186
s16 red
Definition common_structs.h:181
f32 unk_024
Definition common_structs.h:173
f32 unk_018
Definition common_structs.h:168
s16 unk_044
Definition common_structs.h:187
s16 unk_046
Definition common_structs.h:188
f32 unk_028
Definition common_structs.h:174
u16 type
Definition common_structs.h:166
s16 unk_022
Definition common_structs.h:172
s16 isAlive
Definition common_structs.h:169
Definition common_structs.h:96
u32 unk14
Definition common_structs.h:102
u32 unk20
Definition common_structs.h:105
u32 unk1C
Definition common_structs.h:104
u32 unk10
Definition common_structs.h:101
u16 unk26
Definition common_structs.h:107
u32 unk8
Definition common_structs.h:99
u32 unk4
Definition common_structs.h:98
u32 unk0
Definition common_structs.h:97
u32 unk18
Definition common_structs.h:103
u32 unkC
Definition common_structs.h:100
u16 unk24
Definition common_structs.h:106
Definition common_structs.h:118
s32 * D_800ED600
Definition common_structs.h:119
s32 * D_800ED638
Definition common_structs.h:126
s32 * D_800ED628
Definition common_structs.h:124
s32 * D_800ED618
Definition common_structs.h:122
s32 * D_800ED620
Definition common_structs.h:123
s32 * D_800ED610
Definition common_structs.h:121
s32 * D_800ED608
Definition common_structs.h:120
s32 * D_800ED630
Definition common_structs.h:125
Definition common_structs.h:80
f32 unk28
Definition common_structs.h:89
f32 unk34
Definition common_structs.h:92
f32 unk14
Definition common_structs.h:84
s32 unk18
Definition common_structs.h:85
f32 unk2C
Definition common_structs.h:90
s32 unk38
Definition common_structs.h:93
f32 unk24
Definition common_structs.h:88
f32 unk30
Definition common_structs.h:91
f32 unk20
Definition common_structs.h:87
f32 unk10
Definition common_structs.h:83
Vec3f unk0
Definition common_structs.h:81
s32 unk1C
Definition common_structs.h:86
f32 unkC
Definition common_structs.h:82
Definition common_structs.h:110
f32 unk8
Definition common_structs.h:113
f32 unk0
Definition common_structs.h:111
f32 unk4
Definition common_structs.h:112
f32 unkC
Definition common_structs.h:114
Definition common_structs.h:54
OSMesg msg
Definition common_structs.h:56
OSMesgQueue * queue
Definition common_structs.h:55
Definition common_structs.h:23
f32 x
Definition common_structs.h:24
f32 z
Definition common_structs.h:24
f32 y
Definition common_structs.h:24
Definition common_structs.h:440
u32 lap2CompletionTime
Definition common_structs.h:451
s8 raceCompleteBool
Definition common_structs.h:512
s16 lapAfterImage1X
Definition common_structs.h:498
s32 posXInt
Definition common_structs.h:466
u32 lapDurations[3]
Definition common_structs.h:463
u8 unk_7A
Definition common_structs.h:530
s16 lap3CompletionTimeX
Definition common_structs.h:489
u32 lap1Duration
Definition common_structs.h:459
u32 lapCompletionTimes[3]
Definition common_structs.h:454
s16 slideRankX
Definition common_structs.h:504
s32 posZInt
Definition common_structs.h:468
s16 slideItemBoxX
Definition common_structs.h:478
s8 alsoLapCount
Definition common_structs.h:514
u8 unk_7D
Definition common_structs.h:533
s8 unk_74
Definition common_structs.h:521
s16 rankX
Definition common_structs.h:501
s8 unk_75
Definition common_structs.h:522
s16 timerX
Definition common_structs.h:483
u32 lap3Duration
Definition common_structs.h:461
s8 blinkState
Definition common_structs.h:520
s16 lap1CompletionTimeX
Definition common_structs.h:487
u8 unk_7B
Definition common_structs.h:531
s16 lapCompletionTimeXs[3]
Definition common_structs.h:491
s16 rankY
Definition common_structs.h:502
u8 unk_81
Definition common_structs.h:537
s32 unk_38
Definition common_structs.h:469
s16 slideRankY
Definition common_structs.h:506
s16 speedometerX
Definition common_structs.h:474
u32 lap1CompletionTime
Definition common_structs.h:450
f32 unknownScaling
Definition common_structs.h:441
u32 lap3CompletionTime
Definition common_structs.h:452
s16 lapAfterImage2X
Definition common_structs.h:499
s16 lapX
Definition common_structs.h:496
s8 unk_77
Definition common_structs.h:524
u8 unk_7C
Definition common_structs.h:532
s16 totalTimeX
Definition common_structs.h:493
s16 lapY
Definition common_structs.h:500
s8 unk_82
Definition common_structs.h:538
u8 unk_7F
Definition common_structs.h:535
s16 slideItemBoxY
Definition common_structs.h:479
s16 timerY
Definition common_structs.h:494
s8 lapCount
Definition common_structs.h:513
u8 unk_80
Definition common_structs.h:536
u8 unk_7E
Definition common_structs.h:534
s16 unk_6C
Definition common_structs.h:510
s16 itemBoxY
Definition common_structs.h:477
s16 unk_6E
Definition common_structs.h:511
u8 itemOverride
Definition common_structs.h:523
s16 unk_4A
Definition common_structs.h:481
s32 posYInt
Definition common_structs.h:467
f32 rankScaling
Definition common_structs.h:442
u8 unk_78
Definition common_structs.h:528
s8 unk_83
Definition common_structs.h:539
s16 speedometerY
Definition common_structs.h:475
u32 someTimer
Definition common_structs.h:444
s16 blinkTimer
Definition common_structs.h:473
u8 unk_79
Definition common_structs.h:529
s16 stagingPosition
Definition common_structs.h:507
u32 timeLastTouchedFinishLine
Definition common_structs.h:446
s16 itemBoxX
Definition common_structs.h:476
s16 unk_4C
Definition common_structs.h:482
u32 someTimer1
Definition common_structs.h:445
u32 lap2Duration
Definition common_structs.h:460
s16 lap2CompletionTimeX
Definition common_structs.h:488
Definition common_structs.h:416
u8 ghostDataSaved
Definition common_structs.h:419
u8 unk_07[0x3C]
Definition common_structs.h:422
u8 checksum
Definition common_structs.h:424
s32 unk_00
Definition common_structs.h:418
u8 pad_43[0x7F - 0x43]
Definition common_structs.h:423
u8 characterId
Definition common_structs.h:421
s8 courseIndex
Definition common_structs.h:420