Mario Kart 64
code_80005FD0.h
Go to the documentation of this file.
1 #ifndef CODE_80005FD0_H
2 #define CODE_80005FD0_H
3 
4 #include "vehicles.h"
5 #include "camera.h"
6 #include "waypoints.h"
7 
9  /* 0x0 */ u16 unk0;
10  /* 0x2 */ s16 ffff;
11  /* 0x4 */ s16 timer; // confirm?
12  /* 0x6 */ s16 laps; // confirm?
13  /* 0x8 */ s32 blank;
14  /* 0xC */ s32 unkC;
15 };
16 
24  // s16 compilerPadding;
27 };
28 
29 typedef struct {
34 } Test;
35 
36 extern Test D_801634F8[];
37 
38 // Something related to CPU item usage
39 typedef struct {
40  /* 0x00 */ s16 unk_00;
41  /* 0x02 */ s16 actorIndex;
42  /* 0x04 */ s16 unk_04;
43  /* 0x06 */ s16 unk_06;
44  /* 0x08 */ s16 unk_08;
45  /* 0x0A */ s16 unk_0A;
46  /* 0x0C */ s16 unk_0C;
47  /* 0x0E */ s16 unk_0E;
48 } D_801642D8_entry; // size = 0x10
49 
51 
52 /* Function Prototypes */
53 void func_80012190(void);
54 void func_8000BA14(u16, f32, f32, s16);
55 void func_80014BDC(void);
56 void func_80014A88(void);
57 void func_80014934(void);
58 void func_800147E0(void);
59 void func_800132F4(void);
61 void func_800100F0(s32);
62 void func_80011E38(s32);
63 void func_800120C8(void);
65 void func_800127E0(void);
69 void set_places(void);
70 void func_80010E6C(s32 pathIndex);
72 void func_800070F4(void);
73 void func_800074D4(void);
75 
76 void func_80008DC0(s32);
78 void func_80008F38(s32);
79 
80 void func_80009000(s32);
81 void func_800090F0(s32, Player*);
83 void func_800097E0(void);
85 
89 void func_8000B95C(s32, u16, s32);
92 
100 
110 
115 void func_8000EE58(s32);
116 void func_8000EEDC(void);
117 void func_8000EF20(void);
118 
119 void func_8000F0E0(void);
120 void func_8000F124(void);
121 void func_8000F2BC(TrackWaypoint*, size_t);
122 void func_8000F2DC(void);
123 void func_8000F628(void);
124 
125 void func_80010218(s32);
127 void func_800107C4(s32);
129 void func_80010DBC(s32);
130 void func_80010E6C(s32);
133 
136 s32 func_8001168C(void*, void*, s32);
137 void func_80011A5C(void);
138 void func_80011AB8(s32);
139 void func_80011AE4(s32);
140 
142 void init_course_vehicles(void);
144 void func_80012AC0(void);
145 void func_80012DC0(s32, Player*);
146 
147 void func_80013054(void);
148 void func_800131DC(s32);
149 void func_800133C4(void);
150 void func_80013854(Player*);
155 
158 void func_8001487C(void);
159 void func_800148C4(s32, Player*);
160 void func_8001490C(s32);
161 void func_800149D0(void);
162 void func_80014A18(s32, Player*);
163 void func_80014A60(s32);
164 void func_80014B24(void);
165 void func_80014B6C(s32, Player*);
166 void func_80014BB4(s32);
167 void func_80014C78(void);
168 void func_80014CC0(s32, Player*);
169 void func_80014D08(s32);
170 void func_80014D30(s32, s32);
173 
174 void func_800151A4(Camera*, s32);
175 void func_8001530C(void);
178 void func_80015544(s32, f32, s32, s32);
179 void func_8001577C(Camera*, s32, s32, s32);
180 void func_80015A9C(s32, f32, s32, s16);
181 
182 void func_800162CC(s32, f32, s32, s16);
184 
185 void func_80017720(s32, f32, s32, s16);
186 void func_80017F10(s32, f32, s32, s16);
187 
188 void func_80018718(s32, f32, s32, s16);
189 
190 void func_80019118(s32, f32, s32, s16);
191 void func_8001933C(Camera*, s32, s32, s32);
192 void func_8001968C(void);
193 void func_8001969C(s32, f32, s32, s16);
194 void func_80019760(Camera*, s32, s32, s32);
195 void func_80019890(s32, s32);
196 void func_80019B50(s32, u16);
197 void func_80019C50(s32);
199 void func_80019DE4(void);
200 void func_80019DF4(void);
201 void func_80019E58(void);
202 void func_80019ED0(void);
204 
206 void func_8001A0DC(u16*, Camera*, Player*, s8, s32);
207 void func_8001A124(s32, s32);
209 void func_8001A348(s32, f32, s32);
210 void func_8001A3D8(s32, f32, s32);
211 void func_8001A450(s32, s32, s32);
212 void func_8001A518(s32, s32, s32);
214 void func_8001AB00(void);
215 void func_8001AB74(s32, s16*, s32);
217 void func_8001ABEC(struct struct_801642D8*);
219 
220 void func_8001BE78(void);
221 
222 void func_8001C05C(void);
223 void func_8001C14C(void);
224 void func_8001C3C4(s32);
225 void func_8001C42C(void);
226 
227 /* This is where I'd put my static data, if I had any */
228 // 0 or 1, only 1 when when in extra (mirror) mode
229 extern s16 D_8016347A;
230 
231 // Suspected to be the "width" of each waypoint. See data_0DD0A0_1.s
232 extern f32 D_800DCA4C[];
233 
234 // See bss_80005FD0.s
235 extern Collision D_80162E70;
236 extern s16 D_80162EB0;
237 extern s16 D_80162FCC;
238 extern f32 D_80162FA0[];
239 extern f32 gCourseCompletionPercentByRank[8]; // D_80162FD8
240 
241 extern s16 D_80164378[];
242 extern s32 D_801643E0[];
243 extern struct unexpiredActors gUnexpiredActorsList[];
244 extern s32 D_801643E0[];
245 extern s32 D_80164408[];
246 extern s32 D_8016448C;
247 extern f32 D_80164498[];
248 extern f32 gCourseCompletionPercentByPlayerId[8]; // D_801644D0
249 extern f32 D_801645F8[];
250 extern s32 D_80164608[];
251 extern f32 D_80164618[];
252 extern f32 D_80164638[];
253 extern f32 D_80164648[];
254 extern f32 D_80164658[];
255 extern s16 D_80164670[];
256 extern s16 D_80164672;
257 extern s16 D_80164674;
258 extern s16 D_80164676;
259 extern s16 D_80164678[]; // Size 4? Is the three below this fake?
260 extern s16 D_8016467A;
261 extern s16 D_8016467C;
262 extern s16 D_8016467E;
263 extern s16 D_80164680[];
264 extern s16 D_80164682;
265 extern f32 D_80164688[];
266 extern s16 D_801646C0[];
267 extern s16 D_801646CC;
268 extern s16 D_801630FC;
269 extern s16 D_801631C8;
270 extern u16 D_801631E0[8];
271 extern s32 D_80163238;
272 extern s16 D_801632B8[];
273 extern s16 D_801632D0[];
274 extern u16 D_801632E8[];
275 extern s32 D_8016337C;
276 extern u16 D_80163410[]; // One per player?
277 extern s16 D_80163478;
278 extern s32 D_80163488;
279 extern s16 D_8016348C;
280 extern s16 D_801634D8[8];
281 extern s32 D_8016359C;
282 extern u16 D_801637BC[2];
283 extern u16 D_801637BE;
284 extern s32 D_80163DD8[];
285 extern u16 D_80163E2A;
286 
287 extern Gfx D_0D0076F8[];
288 
289 extern s32 D_800DDB20;
290 
291 #endif
void func_80012190(void)
Definition: code_80005FD0.c:5424
void func_8001C14C(void)
void func_8000EEDC(void)
Definition: code_80005FD0.c:3819
s32 D_80164608[]
void func_800149D0(void)
Definition: code_80005FD0.c:6435
D_801642D8_entry D_801642D8[]
void func_80009000(s32)
Definition: code_80005FD0.c:1344
void func_80008F38(s32)
Definition: code_80005FD0.c:1334
s16 func_8000D6D0(Vec3f, s16 *, f32, f32, s16, s16)
s16 D_80164670[]
void func_800097E0(void)
Definition: code_80005FD0.c:1586
s32 D_8016448C
void func_80017720(s32, f32, s32, s16)
Definition: code_80005FD0.c:7487
Collision D_80162E70
Definition: code_80005FD0.c:32
void func_8001ABEC(struct struct_801642D8 *)
Definition: code_80005FD0.c:8800
s16 D_80164680[]
s16 func_8000D2B4(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:3037
void func_800148C4(s32, Player *)
Definition: code_80005FD0.c:6415
void func_80013F7C(s32, Player *, VehicleStuff *, f32, f32, s32, u32)
s16 D_80162FCC
void func_80015544(s32, f32, s32, s32)
Definition: code_80005FD0.c:6732
void func_8000F2BC(TrackWaypoint *, size_t)
Definition: code_80005FD0.c:3983
s16 func_8000CC88(f32, f32, f32, Player *, s32, s32 *)
Definition: code_80005FD0.c:2862
void func_8000F2DC(void)
Definition: code_80005FD0.c:4001
s32 func_8001A310(s32, s32)
Definition: code_80005FD0.c:8518
void func_8001A0A4(u16 *, Camera *, Player *, s8, s32)
void func_8000F0E0(void)
Definition: code_80005FD0.c:3874
void func_8001A124(s32, s32)
Definition: code_80005FD0.c:8467
f32 D_80164658[]
void func_8001C3C4(s32)
Definition: code_80005FD0.c:9419
s32 D_8016359C
f32 func_800145A8(s16, f32, s16)
Definition: code_80005FD0.c:6330
void func_80014BB4(s32)
Definition: code_80005FD0.c:6473
void func_80014CC0(s32, Player *)
Definition: code_80005FD0.c:6496
void func_80015314(s32, f32, s32)
s16 func_8000CD24(f32, f32, f32, s16, Player *, s32, s32)
void func_8000BBD8(u16, f32, s16)
void func_80014B6C(s32, Player *)
Definition: code_80005FD0.c:6469
void func_8001C05C(void)
Definition: code_80005FD0.c:9316
void func_80017F10(s32, f32, s32, s16)
Definition: code_80005FD0.c:7668
void func_80010DBC(s32)
Definition: code_80005FD0.c:4776
void func_800162CC(s32, f32, s32, s16)
Definition: code_80005FD0.c:7009
void func_8001490C(s32)
Definition: code_80005FD0.c:6419
void func_8000EE58(s32)
Definition: code_80005FD0.c:3806
u16 D_801637BE
void func_800147E0(void)
Definition: code_80005FD0.c:6398
void func_8001487C(void)
Definition: code_80005FD0.c:6408
s16 func_8000D940(Vec3f, s16 *, f32, f32, s16)
void func_80013054(void)
Definition: code_80005FD0.c:5779
s16 D_8016467A
s32 func_8001168C(void *, void *, s32)
f32 D_80164688[]
void func_8001A348(s32, f32, s32)
Definition: code_80005FD0.c:8525
f32 func_80009258(s32, f32, f32)
void func_8000EF20(void)
Definition: code_80005FD0.c:3830
void func_8000BA14(u16, f32, f32, s16)
Definition: code_80005FD0.c:2531
void func_8001530C(void)
Definition: code_80005FD0.c:6667
f32 D_80164618[]
void func_8001A518(s32, s32, s32)
Definition: code_80005FD0.c:8562
s32 func_8000EE10(s32)
Definition: code_80005FD0.c:3798
s16 func_8000C884(f32, f32, f32, s16, s32, u16)
Definition: code_80005FD0.c:2749
void func_8001A0DC(u16 *, Camera *, Player *, s8, s32)
Definition: code_80005FD0.c:8462
void func_80014A60(s32)
Definition: code_80005FD0.c:6446
s32 func_8000EDC8(s32)
Definition: code_80005FD0.c:3790
f32 D_80164648[]
s16 D_80164672
s16 func_8000DBAC(Vec3f, s16 *, f32)
void set_places(void)
Definition: code_80005FD0.c:522
struct unexpiredActors gUnexpiredActorsList[]
void func_800074D4(void)
void func_8001968C(void)
Definition: code_80005FD0.c:8176
void func_800090F0(s32, Player *)
Definition: code_80005FD0.c:1381
s32 D_80163238
void func_800132F4(void)
Definition: code_80005FD0.c:5835
void func_80012780(TrainCarStuff *, s16 *, u16)
Definition: code_80005FD0.c:5555
void func_800133C4(void)
void func_8001A588(u16 *, Camera *, Player *, s8, s32)
s16 D_801632D0[]
u16 D_80163410[]
void func_8000F628(void)
f32 func_8000B874(f32, f32, u16, s32)
Definition: code_80005FD0.c:2495
void func_80019FB4(s32)
f32 D_800DCA4C[]
s32 func_80006018(f32, f32, f32, f32, f32, f32, f32, f32)
Definition: code_80005FD0.c:388
u16 D_801631E0[8]
s16 D_80164682
s32 func_8000ED80(s32)
Definition: code_80005FD0.c:3782
s16 func_8000C0BC(f32, f32, f32, u16, s32 *)
Definition: code_80005FD0.c:2653
void func_80019118(s32, f32, s32, s16)
Definition: code_80005FD0.c:8090
s32 func_8000ED14(s32, s16)
Definition: code_80005FD0.c:3761
s16 func_8000D24C(f32, f32, f32, s32 *)
Definition: code_80005FD0.c:3029
s32 D_800DDB20
void func_800100F0(s32)
Definition: code_80005FD0.c:4557
f32 gCourseCompletionPercentByRank[8]
void func_80011AB8(s32)
Definition: code_80005FD0.c:5182
s16 D_801631C8
s16 D_8016347A
s16 D_8016467C
s16 func_80005FD0(Vec3f, Vec3f)
Definition: code_80005FD0.c:376
void func_80011AE4(s32)
Definition: code_80005FD0.c:5188
void func_8001BE78(void)
Definition: code_80005FD0.c:9264
void func_80015A9C(s32, f32, s32, s16)
Definition: code_80005FD0.c:6824
f32 func_80010F40(f32, f32, f32, s32)
void func_80016C3C(s32, f32, s32)
f32 gCourseCompletionPercentByPlayerId[8]
f32 func_8000D3B8(s32)
Definition: code_80005FD0.c:3058
s16 D_80163478
f32 func_80013C74(s16, s16)
Definition: code_80005FD0.c:6070
s32 process_path_data(TrackWaypoint *, TrackWaypoint *)
Definition: code_80005FD0.c:5007
void func_80019E58(void)
Definition: code_80005FD0.c:8381
void func_8000F124(void)
s32 func_8000B7E4(s32, u16)
void func_8000B95C(s32, u16, s32)
Definition: code_80005FD0.c:2521
s16 func_80010CB0(s32, s32)
Definition: code_80005FD0.c:4757
f32 func_80010FA0(f32, f32, f32, s32)
s16 D_801632B8[]
void func_800070F4(void)
Definition: code_80005FD0.c:611
void func_80019D2C(Camera *, Player *, s32)
s32 D_801643E0[]
Definition: code_80005FD0.h:244
void func_80009B60(s32)
void func_80012220(VehicleStuff *)
Definition: code_80005FD0.c:5439
s16 D_801646C0[]
void func_80019B50(s32, u16)
Definition: code_80005FD0.c:8283
s16 D_801634D8[8]
s32 D_80163DD8[]
s32 func_8000B820(s32)
Definition: code_80005FD0.c:2487
void func_80019DE4(void)
Definition: code_80005FD0.c:8361
void func_80019ED0(void)
Definition: code_80005FD0.c:8392
void func_80014B24(void)
Definition: code_80005FD0.c:6462
u16 D_80163E2A
void func_800107C4(s32)
Definition: code_80005FD0.c:4702
void func_80008DC0(s32)
Definition: code_80005FD0.c:1300
void func_80014D30(s32, s32)
Definition: code_80005FD0.c:6504
void func_80014C78(void)
Definition: code_80005FD0.c:6489
void func_80018718(s32, f32, s32, s16)
Definition: code_80005FD0.c:7852
void func_80012AC0(void)
Definition: code_80005FD0.c:5656
s16 func_8000C9DC(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:2790
void func_80019DF4(void)
f32 D_80164638[]
f32 D_80164498[]
u16 D_801637BC[2]
s16 D_8016348C
void func_8001577C(Camera *, s32, s32, s32)
Definition: code_80005FD0.c:6763
void func_80019760(Camera *, s32, s32, s32)
Definition: code_80005FD0.c:8195
void func_800146B8(s32, s32, VehicleStuff *)
f32 D_801645F8[]
Test D_801634F8[]
void func_80014A18(s32, Player *)
Definition: code_80005FD0.c:6442
void func_80011E38(s32)
Definition: code_80005FD0.c:5336
u16 D_801632E8[]
void func_8000CBA4(f32, f32, f32, s16 *)
void func_80010E6C(s32 pathIndex)
Definition: code_80005FD0.c:4787
void func_80013D20(VehicleStuff *)
Definition: code_80005FD0.c:6103
f32 func_80014EE4(f32, s32)
Definition: code_80005FD0.c:6559
s32 D_8016337C
void func_800151A4(Camera *, s32)
Definition: code_80005FD0.c:6636
s32 func_800061DC(Vec3f, f32, s32)
Definition: code_80005FD0.c:427
s32 D_80164408[]
void func_80012A48(TrainCarStuff *, s16)
Definition: code_80005FD0.c:5640
void func_8001A450(s32, s32, s32)
Definition: code_80005FD0.c:8546
void func_80015390(Camera *, Player *, s32)
s16 D_80164678[]
void func_8001ABE0(s32, D_801642D8_entry *)
u16 func_80011014(TrackWaypoint *, TrackWaypoint *, s32, s32)
s16 D_80164674
void func_80014DE4(s32)
void func_8001A3D8(s32, f32, s32)
Definition: code_80005FD0.c:8535
void func_80019C50(s32)
Definition: code_80005FD0.c:8316
s32 func_80008E58(s32, s32)
Definition: code_80005FD0.c:1310
s16 func_8000BD94(f32, f32, f32, s32)
Definition: code_80005FD0.c:2620
s16 D_80164676
void func_8001C42C(void)
Definition: code_80005FD0.c:9431
s16 D_801630FC
void func_80014934(void)
Definition: code_80005FD0.c:6423
s16 func_8000D33C(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:3048
void set_bomb_kart_spawn_positions(void)
Definition: code_80005FD0.c:3363
void func_80013854(Player *)
Definition: code_80005FD0.c:5995
void func_800127E0(void)
Definition: code_80005FD0.c:5575
void func_80012DC0(s32, Player *)
Definition: code_80005FD0.c:5725
s32 func_80007BF8(u16, u16, u16, u16, u16)
Definition: code_80005FD0.c:744
s16 D_8016467E
void func_8000DF8C(s32)
void func_80011A5C(void)
Definition: code_80005FD0.c:5175
void func_800120C8(void)
Definition: code_80005FD0.c:5406
s16 D_80164378[]
void func_80006114(Vec3f, Vec3f, s16)
Definition: code_80005FD0.c:406
Gfx D_0D0076F8[]
Definition: common_textures.inc.c:1292
void func_8001AB74(s32, s16 *, s32)
Definition: code_80005FD0.c:8763
void func_800131DC(s32)
Definition: code_80005FD0.c:5813
f32 D_80162FA0[]
void func_80019890(s32, s32)
Definition: code_80005FD0.c:8218
s16 D_80162EB0
Definition: code_80005FD0.c:33
void func_8001933C(Camera *, s32, s32, s32)
Definition: code_80005FD0.c:8119
s32 D_80163488
void func_80010218(s32)
Definition: code_80005FD0.c:4600
void func_80014A88(void)
Definition: code_80005FD0.c:6450
void func_8001969C(s32, f32, s32, s16)
Definition: code_80005FD0.c:8180
void func_800139E4(f32, f32, s32, s32, VehicleStuff *, TrackWaypoint *)
Definition: code_80005FD0.c:6027
void func_80014BDC(void)
Definition: code_80005FD0.c:6477
void func_80014D08(s32)
Definition: code_80005FD0.c:6500
s16 D_801646CC
void func_8001AB00(void)
Definition: code_80005FD0.c:8751
void func_8000CBF8(f32, f32, f32, s16 *, s32)
void init_course_vehicles(void)
Definition: code_80005FD0.c:5461
f32 func_80010480(s32, u16)
Definition: code_80005FD0.c:4650
void func_8001AC10(s32)
f32 Vec3f[3]
Definition: common_structs.h:6
Definition: camera.h:24
Definition: common_structs.h:110
Definition: code_80005FD0.h:39
s16 actorIndex
Definition: code_80005FD0.h:41
s16 unk_0A
Definition: code_80005FD0.h:45
s16 unk_0E
Definition: code_80005FD0.h:47
s16 unk_00
Definition: code_80005FD0.h:40
s16 unk_0C
Definition: code_80005FD0.h:46
s16 unk_08
Definition: code_80005FD0.h:44
s16 unk_06
Definition: code_80005FD0.h:43
s16 unk_04
Definition: code_80005FD0.h:42
Definition: common_structs.h:247
Definition: code_80005FD0.h:29
f32 unkC
Definition: code_80005FD0.h:33
f32 unk4
Definition: code_80005FD0.h:31
f32 unk0
Definition: code_80005FD0.h:30
f32 unk8
Definition: code_80005FD0.h:32
Definition: waypoints.h:4
Definition: vehicles.h:25
Definition: vehicles.h:62
Definition: code_80005FD0.h:8
u16 unk0
Definition: code_80005FD0.h:9
s16 timer
Definition: code_80005FD0.h:11
s16 laps
Definition: code_80005FD0.h:12
s32 blank
Definition: code_80005FD0.h:13
s32 unkC
Definition: code_80005FD0.h:14
s16 ffff
Definition: code_80005FD0.h:10
Definition: code_80005FD0.h:17
u16 actorIndex
Definition: code_80005FD0.h:22
s32 unk18
Definition: code_80005FD0.h:26
u16 unkC
Definition: code_80005FD0.h:21
s32 unk8
Definition: code_80005FD0.h:20
s16 unk10
Definition: code_80005FD0.h:23
u32 unk14
Definition: code_80005FD0.h:25
s32 unk4
Definition: code_80005FD0.h:19
s32 unk0
Definition: code_80005FD0.h:18
signed int s32
Definition: ultratypes.h:15
unsigned int u32
Definition: ultratypes.h:16
signed char s8
Definition: ultratypes.h:11
signed short int s16
Definition: ultratypes.h:13
float f32
Definition: ultratypes.h:32
unsigned short int u16
Definition: ultratypes.h:14