Mario Kart 64
bomb_kart.h
Go to the documentation of this file.
1 #ifndef BOMB_KART_H
2 #define BOMB_KART_H
3 
4 #include "common_structs.h"
5 
6 #define NUM_BOMB_KARTS_MAX 7
7 #define NUM_BOMB_KARTS_VERSUS 7
8 #define NUM_BOMB_KARTS_BATTLE 4
9 
10 #define BOMB_STATE_INACTIVE 0
11 #define BOMB_STATE_CCW 1
12 #define BOMB_STATE_CW 2
13 #define BOMB_STATE_STATIONARY 3 // Paused?
14 #define BOMB_STATE_EXPLODED 4 // Or maybe exploding?
15 #define BOMB_STATE_UNKNOWN 5
16 
17 typedef struct {
18  /* 0x00 */ u16 waypointIndex;
19  /* 0x02 */ u16 startingState;
20  /* 0x04 */ f32 unk_04; // Used to set the value of unk_3C in BombKart
21  /* 0x08 */ f32 startingXPos;
22  /* 0x0C */ f32 startingZPos;
27  /* 0x10 */ f32 unk_10;
28  /* 0x14 */ f32 unk_14;
29 } BombKartSpawn; // size = 0x18
30 
31 typedef struct {
37  /* 0x00 */ Vec3f bombPos;
38  /* 0x0C */ Vec3f wheel1Pos;
39  /* 0x18 */ Vec3f wheel2Pos;
40  /* 0x24 */ Vec3f wheel3Pos;
41  /* 0x30 */ Vec3f wheel4Pos;
42  /* 0x3C */ f32 unk_3C;
43  /* 0x40 */ u16 someRot; // seems like an angle of some variety, can't figure out its purpose
44  /* 0x42 */ u16 waypointIndex; // probably the waypoint that the bomb circles
45  /* 0x44 */ u16 state;
46  /* 0x46 */ u16 bounceTimer; // timer? state? height?
47  /* 0x48 */ u16 circleTimer; // timer? state? Somehow controls how it circles around
48  /* 0x4A */ u16 unk_4A;
49  /* 0x4C */ s16 unk_4C;
50  /* 0x4E */ // s16 compilerPadding;
51  /* 0x50 */ f32 yPos; // Y position of the center of the circle
52 } BombKart; // size = 0x54
53 
56 
59 
60 // data/data_0DD0A0_1.s
62 
63 #endif
#define NUM_BOMB_KARTS_MAX
Definition: bomb_kart.h:6
Collision D_80164038[NUM_BOMB_KARTS_MAX]
Definition: code_80005FD0.c:147
BombKartSpawn D_800DCC08[NUM_COURSES][NUM_BOMB_KARTS_MAX]
s32 D_80183DD8[NUM_BOMB_KARTS_MAX]
Indexes for the objects associated with the Bomb Karts.
Definition: code_80057C60.c:234
BombKart gBombKarts[NUM_BOMB_KARTS_MAX]
Definition: code_80005FD0.c:146
f32 Vec3f[3]
Definition: common_structs.h:6
@ NUM_COURSES
Definition: common_structs.h:45
Definition: bomb_kart.h:17
u16 waypointIndex
Definition: bomb_kart.h:18
u16 startingState
Definition: bomb_kart.h:19
f32 unk_04
Definition: bomb_kart.h:20
f32 unk_14
Definition: bomb_kart.h:28
f32 startingZPos
Definition: bomb_kart.h:22
f32 startingXPos
Definition: bomb_kart.h:21
f32 unk_10
Definition: bomb_kart.h:27
Definition: bomb_kart.h:31
Vec3f wheel3Pos
Definition: bomb_kart.h:40
u16 circleTimer
Definition: bomb_kart.h:47
Vec3f wheel1Pos
Definition: bomb_kart.h:38
Vec3f wheel2Pos
Definition: bomb_kart.h:39
Vec3f wheel4Pos
Definition: bomb_kart.h:41
u16 waypointIndex
Definition: bomb_kart.h:44
u16 someRot
Definition: bomb_kart.h:43
s16 unk_4C
Definition: bomb_kart.h:49
u16 state
Definition: bomb_kart.h:45
u16 bounceTimer
Definition: bomb_kart.h:46
f32 yPos
Definition: bomb_kart.h:51
f32 unk_3C
Definition: bomb_kart.h:42
Vec3f bombPos
Definition: bomb_kart.h:37
u16 unk_4A
Definition: bomb_kart.h:48
Definition: common_structs.h:110
signed int s32
Definition: ultratypes.h:15
signed short int s16
Definition: ultratypes.h:13
float f32
Definition: ultratypes.h:32
unsigned short int u16
Definition: ultratypes.h:14