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);
215 void func_8001AB00(void);
216 void func_8001AB74(s32, s16*, s32);
218 void func_8001ABEC(struct struct_801642D8*);
220 
221 void func_8001BE78(void);
222 
223 void func_8001C05C(void);
224 void func_8001C14C(void);
225 void func_8001C3C4(s32);
226 void func_8001C42C(void);
227 
228 /* This is where I'd put my static data, if I had any */
229 // 0 or 1, only 1 when when in extra (mirror) mode
230 extern s16 D_8016347A;
231 
232 // Suspected to be the "width" of each waypoint. See data_0DD0A0_1.s
233 extern f32 D_800DCA4C[];
234 
235 // See bss_80005FD0.s
236 extern Collision D_80162E70;
237 extern s16 D_80162EB0;
238 extern s16 D_80162FCC;
239 extern f32 D_80162FA0[];
240 extern f32 gCourseCompletionPercentByRank[8]; // D_80162FD8
241 
242 extern s16 D_80164378[];
243 extern s32 D_801643E0[];
244 extern struct unexpiredActors gUnexpiredActorsList[];
245 extern s32 D_801643E0[];
246 extern s32 D_80164408[];
247 extern s32 D_8016448C;
248 extern f32 D_80164498[];
249 extern f32 gCourseCompletionPercentByPlayerId[8]; // D_801644D0
250 extern f32 D_801645F8[];
251 extern s32 D_80164608[];
252 extern f32 D_80164618[];
253 extern f32 D_80164638[];
254 extern f32 D_80164648[];
255 extern f32 D_80164658[];
256 extern s16 D_80164670[];
257 extern s16 D_80164672;
258 extern s16 D_80164674;
259 extern s16 D_80164676;
260 extern s16 D_80164678[]; // Size 4? Is the three below this fake?
261 extern s16 D_8016467A;
262 extern s16 D_8016467C;
263 extern s16 D_8016467E;
264 extern s16 D_80164680[];
265 extern s16 D_80164682;
266 extern f32 D_80164688[];
267 extern s16 D_801646C0[];
268 extern s16 D_801646CC;
269 extern s16 D_801630FC;
270 extern s16 D_801631C8;
271 extern u16 D_801631E0[8];
272 extern s32 D_80163238;
273 extern s16 D_801632B8[];
274 extern s16 D_801632D0[];
275 extern u16 D_801632E8[];
276 extern s32 D_8016337C;
277 extern u16 D_80163410[]; // One per player?
278 extern s16 D_80163478;
279 extern s32 D_80163488;
280 extern s16 D_8016348C;
281 extern s16 D_801634D8[8];
282 extern s32 D_8016359C;
283 extern u16 D_801637BC[2];
284 extern u16 D_801637BE;
285 extern s32 D_80163DD8[];
286 extern u16 D_80163E2A;
287 
288 extern Gfx D_0D0076F8[];
289 
290 extern s32 D_800DDB20;
291 
292 #endif
void func_80012190(void)
Definition: code_80005FD0.c:5122
void func_8001C14C(void)
void func_8000EEDC(void)
Definition: code_80005FD0.c:3820
s32 D_80164608[]
void func_800149D0(void)
Definition: code_80005FD0.c:6133
D_801642D8_entry D_801642D8[]
void func_80009000(s32)
Definition: code_80005FD0.c:1345
void func_80008F38(s32)
Definition: code_80005FD0.c:1335
s16 func_8000D6D0(Vec3f, s16 *, f32, f32, s16, s16)
s16 D_80164670[]
void func_800097E0(void)
Definition: code_80005FD0.c:1587
s32 D_8016448C
void func_80017720(s32, f32, s32, s16)
Definition: code_80005FD0.c:7185
Collision D_80162E70
Definition: code_80005FD0.c:33
void func_8001ABEC(struct struct_801642D8 *)
Definition: code_80005FD0.c:8498
s16 D_80164680[]
s16 func_8000D2B4(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:3038
void func_800148C4(s32, Player *)
Definition: code_80005FD0.c:6113
void func_80013F7C(s32, Player *, VehicleStuff *, f32, f32, s32, u32)
s16 D_80162FCC
void func_80015544(s32, f32, s32, s32)
Definition: code_80005FD0.c:6430
void func_8000F2BC(TrackWaypoint *, size_t)
Definition: code_80005FD0.c:3928
s16 func_8000CC88(f32, f32, f32, Player *, s32, s32 *)
Definition: code_80005FD0.c:2863
void func_8000F2DC(void)
Definition: code_80005FD0.c:3946
s32 func_8001A310(s32, s32)
Definition: code_80005FD0.c:8216
void func_8001A0A4(u16 *, Camera *, Player *, s8, s32)
void func_8000F0E0(void)
Definition: code_80005FD0.c:3875
void func_8001A124(s32, s32)
Definition: code_80005FD0.c:8165
f32 D_80164658[]
void func_8001C3C4(s32)
Definition: code_80005FD0.c:9117
s32 D_8016359C
f32 func_800145A8(s16, f32, s16)
Definition: code_80005FD0.c:6028
void func_80014BB4(s32)
Definition: code_80005FD0.c:6171
void func_80014CC0(s32, Player *)
Definition: code_80005FD0.c:6194
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:6167
void func_8001C05C(void)
Definition: code_80005FD0.c:9014
void func_80017F10(s32, f32, s32, s16)
Definition: code_80005FD0.c:7366
void func_80010DBC(s32)
Definition: code_80005FD0.c:4474
void func_800162CC(s32, f32, s32, s16)
Definition: code_80005FD0.c:6707
void func_8001490C(s32)
Definition: code_80005FD0.c:6117
void func_8000EE58(s32)
Definition: code_80005FD0.c:3807
u16 D_801637BE
void func_800147E0(void)
Definition: code_80005FD0.c:6096
void func_8001487C(void)
Definition: code_80005FD0.c:6106
s16 func_8000D940(Vec3f, s16 *, f32, f32, s16)
void func_80013054(void)
Definition: code_80005FD0.c:5477
s16 D_8016467A
s32 func_8001168C(void *, void *, s32)
f32 D_80164688[]
void func_8001A348(s32, f32, s32)
Definition: code_80005FD0.c:8223
f32 func_80009258(s32, f32, f32)
void func_8000EF20(void)
Definition: code_80005FD0.c:3831
void func_8000BA14(u16, f32, f32, s16)
Definition: code_80005FD0.c:2532
void func_8001530C(void)
Definition: code_80005FD0.c:6365
f32 D_80164618[]
void func_8001A518(s32, s32, s32)
Definition: code_80005FD0.c:8260
s32 func_8000EE10(s32)
Definition: code_80005FD0.c:3799
s16 func_8000C884(f32, f32, f32, s16, s32, u16)
Definition: code_80005FD0.c:2750
void func_8001A0DC(u16 *, Camera *, Player *, s8, s32)
Definition: code_80005FD0.c:8160
void func_80014A60(s32)
Definition: code_80005FD0.c:6144
s32 func_8000EDC8(s32)
Definition: code_80005FD0.c:3791
f32 D_80164648[]
s16 D_80164672
s16 func_8000DBAC(Vec3f, s16 *, f32)
void set_places(void)
Definition: code_80005FD0.c:523
struct unexpiredActors gUnexpiredActorsList[]
void func_800074D4(void)
void func_8001968C(void)
Definition: code_80005FD0.c:7874
void func_800090F0(s32, Player *)
Definition: code_80005FD0.c:1382
s32 D_80163238
void func_800132F4(void)
Definition: code_80005FD0.c:5533
void func_80012780(TrainCarStuff *, s16 *, u16)
Definition: code_80005FD0.c:5253
void func_800133C4(void)
void func_8001A588(u16 *, Camera *, Player *, s8, s32)
s16 D_801632D0[]
u16 D_80163410[]
void func_8000F628(void)
Definition: code_80005FD0.c:4088
f32 func_8000B874(f32, f32, u16, s32)
Definition: code_80005FD0.c:2496
void func_80019FB4(s32)
f32 D_800DCA4C[]
s32 func_80006018(f32, f32, f32, f32, f32, f32, f32, f32)
Definition: code_80005FD0.c:389
u16 D_801631E0[8]
s16 D_80164682
s32 func_8000ED80(s32)
Definition: code_80005FD0.c:3783
s16 func_8000C0BC(f32, f32, f32, u16, s32 *)
Definition: code_80005FD0.c:2654
void func_80019118(s32, f32, s32, s16)
Definition: code_80005FD0.c:7788
s32 func_8000ED14(s32, s16)
Definition: code_80005FD0.c:3762
s16 func_8000D24C(f32, f32, f32, s32 *)
Definition: code_80005FD0.c:3030
s32 D_800DDB20
void func_800100F0(s32)
Definition: code_80005FD0.c:4255
f32 gCourseCompletionPercentByRank[8]
void func_80011AB8(s32)
Definition: code_80005FD0.c:4880
s16 D_801631C8
s16 D_8016347A
s16 D_8016467C
s16 func_80005FD0(Vec3f, Vec3f)
Definition: code_80005FD0.c:377
void func_80011AE4(s32)
Definition: code_80005FD0.c:4886
void func_8001BE78(void)
Definition: code_80005FD0.c:8962
void func_80015A9C(s32, f32, s32, s16)
Definition: code_80005FD0.c:6522
f32 func_80010F40(f32, f32, f32, s32)
void func_80016C3C(s32, f32, s32)
f32 gCourseCompletionPercentByPlayerId[8]
f32 func_8000D3B8(s32)
Definition: code_80005FD0.c:3059
s16 D_80163478
f32 func_80013C74(s16, s16)
Definition: code_80005FD0.c:5768
s32 process_path_data(TrackWaypoint *, TrackWaypoint *)
Definition: code_80005FD0.c:4705
void func_80019E58(void)
Definition: code_80005FD0.c:8079
void func_8000F124(void)
Definition: code_80005FD0.c:3888
s32 func_8000B7E4(s32, u16)
void func_8000B95C(s32, u16, s32)
Definition: code_80005FD0.c:2522
s16 func_80010CB0(s32, s32)
Definition: code_80005FD0.c:4455
f32 func_80010FA0(f32, f32, f32, s32)
void func_8001AAAC(s16, s16, s16)
s16 D_801632B8[]
void func_800070F4(void)
Definition: code_80005FD0.c:612
void func_80019D2C(Camera *, Player *, s32)
s32 D_801643E0[]
Definition: code_80005FD0.h:245
void func_80009B60(s32)
void func_80012220(VehicleStuff *)
Definition: code_80005FD0.c:5137
s16 D_801646C0[]
void func_80019B50(s32, u16)
Definition: code_80005FD0.c:7981
s16 D_801634D8[8]
s32 D_80163DD8[]
s32 func_8000B820(s32)
Definition: code_80005FD0.c:2488
void func_80019DE4(void)
Definition: code_80005FD0.c:8059
void func_80019ED0(void)
Definition: code_80005FD0.c:8090
void func_80014B24(void)
Definition: code_80005FD0.c:6160
u16 D_80163E2A
void func_800107C4(s32)
Definition: code_80005FD0.c:4400
void func_80008DC0(s32)
Definition: code_80005FD0.c:1301
void func_80014D30(s32, s32)
Definition: code_80005FD0.c:6202
void func_80014C78(void)
Definition: code_80005FD0.c:6187
void func_80018718(s32, f32, s32, s16)
Definition: code_80005FD0.c:7550
void func_80012AC0(void)
Definition: code_80005FD0.c:5354
s16 func_8000C9DC(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:2791
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:6461
void func_80019760(Camera *, s32, s32, s32)
Definition: code_80005FD0.c:7893
void func_800146B8(s32, s32, VehicleStuff *)
f32 D_801645F8[]
Test D_801634F8[]
void func_80014A18(s32, Player *)
Definition: code_80005FD0.c:6140
void func_80011E38(s32)
Definition: code_80005FD0.c:5034
u16 D_801632E8[]
void func_8000CBA4(f32, f32, f32, s16 *)
void func_80010E6C(s32 pathIndex)
Definition: code_80005FD0.c:4485
void func_80013D20(VehicleStuff *)
Definition: code_80005FD0.c:5801
f32 func_80014EE4(f32, s32)
Definition: code_80005FD0.c:6257
s32 D_8016337C
void func_800151A4(Camera *, s32)
Definition: code_80005FD0.c:6334
s32 func_800061DC(Vec3f, f32, s32)
Definition: code_80005FD0.c:428
s32 D_80164408[]
void func_80012A48(TrainCarStuff *, s16)
Definition: code_80005FD0.c:5338
void func_8001A450(s32, s32, s32)
Definition: code_80005FD0.c:8244
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:8233
void func_80019C50(s32)
Definition: code_80005FD0.c:8014
s32 func_80008E58(s32, s32)
Definition: code_80005FD0.c:1311
s16 func_8000BD94(f32, f32, f32, s32)
Definition: code_80005FD0.c:2621
s16 D_80164676
void func_8001C42C(void)
Definition: code_80005FD0.c:9129
s16 D_801630FC
void func_80014934(void)
Definition: code_80005FD0.c:6121
s16 func_8000D33C(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:3049
void set_bomb_kart_spawn_positions(void)
Definition: code_80005FD0.c:3364
void func_80013854(Player *)
Definition: code_80005FD0.c:5693
void func_800127E0(void)
Definition: code_80005FD0.c:5273
void func_80012DC0(s32, Player *)
Definition: code_80005FD0.c:5423
s32 func_80007BF8(u16, u16, u16, u16, u16)
Definition: code_80005FD0.c:745
s16 D_8016467E
void func_8000DF8C(s32)
void func_80011A5C(void)
Definition: code_80005FD0.c:4873
void func_800120C8(void)
Definition: code_80005FD0.c:5104
s16 D_80164378[]
void func_80006114(Vec3f, Vec3f, s16)
Definition: code_80005FD0.c:407
Gfx D_0D0076F8[]
Definition: common_textures.inc.c:1290
void func_8001AB74(s32, s16 *, s32)
Definition: code_80005FD0.c:8461
void func_800131DC(s32)
Definition: code_80005FD0.c:5511
f32 D_80162FA0[]
void func_80019890(s32, s32)
Definition: code_80005FD0.c:7916
s16 D_80162EB0
Definition: code_80005FD0.c:34
void func_8001933C(Camera *, s32, s32, s32)
Definition: code_80005FD0.c:7817
s32 D_80163488
void func_80010218(s32)
Definition: code_80005FD0.c:4298
void func_80014A88(void)
Definition: code_80005FD0.c:6148
void func_8001969C(s32, f32, s32, s16)
Definition: code_80005FD0.c:7878
void func_800139E4(f32, f32, s32, s32, VehicleStuff *, TrackWaypoint *)
Definition: code_80005FD0.c:5725
void func_80014BDC(void)
Definition: code_80005FD0.c:6175
void func_80014D08(s32)
Definition: code_80005FD0.c:6198
s16 D_801646CC
void func_8001AB00(void)
Definition: code_80005FD0.c:8449
void func_8000CBF8(f32, f32, f32, s16 *, s32)
void init_course_vehicles(void)
Definition: code_80005FD0.c:5159
f32 func_80010480(s32, u16)
Definition: code_80005FD0.c:4348
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