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 
71 void func_800070F4(void);
72 void func_800074D4(void);
74 
75 void func_80008DC0(s32);
77 void func_80008F38(s32);
78 
79 void func_80009000(s32);
80 void func_800090F0(s32, Player*);
82 void func_800097E0(void);
84 
88 void func_8000B95C(s32, u16, s32);
91 
99 
107 void func_8000DD78(void);
109 
114 void func_8000EE58(s32);
115 void func_8000EEDC(void);
116 void func_8000EF20(void);
117 
118 void func_8000F0E0(void);
119 void func_8000F124(void);
120 void func_8000F2BC(TrackWaypoint*, size_t);
121 void func_8000F2DC(void);
122 
123 void func_80010218(s32);
125 void func_800107C4(s32);
127 void func_80010DBC(s32);
131 
134 s32 func_8001168C(void*, void*, s32);
135 void func_80011A5C(void);
136 void func_80011AB8(s32);
137 void func_80011AE4(s32);
138 
140 void init_course_vehicles(void);
142 void func_80012AC0(void);
143 void func_80012DC0(s32, Player*);
144 
145 void func_80013054(void);
146 void func_800131DC(s32);
147 void func_800133C4(void);
148 void func_80013854(Player*);
153 
156 void func_8001487C(void);
157 void func_800148C4(s32, Player*);
158 void func_8001490C(s32);
159 void func_800149D0(void);
160 void func_80014A18(s32, Player*);
161 void func_80014A60(s32);
162 void func_80014B24(void);
163 void func_80014B6C(s32, Player*);
164 void func_80014BB4(s32);
165 void func_80014C78(void);
166 void func_80014CC0(s32, Player*);
167 void func_80014D08(s32);
168 void func_80014D30(s32, s32);
170 
171 void func_800151A4(Camera*, s32);
172 void func_8001530C(void);
175 void func_80015544(s32, f32, s32, s32);
176 void func_8001577C(Camera*, s32, s32, s32);
177 void func_80015A9C(s32, f32, s32, s16);
178 
179 void func_800162CC(s32, f32, s32, s16);
181 
182 void func_80017720(s32, f32, s32, s16);
183 void func_80017F10(s32, f32, s32, s16);
184 
185 void func_80018718(s32, f32, s32, s16);
186 
187 void func_80019118(s32, f32, s32, s16);
188 void func_8001933C(Camera*, s32, s32, s32);
189 void func_8001968C(void);
190 void func_8001969C(s32, f32, s32, s16);
191 void func_80019760(Camera*, s32, s32, s32);
192 void func_80019890(s32, s32);
193 void func_80019B50(s32, u16);
194 void func_80019C50(s32);
196 void func_80019DE4(void);
197 void func_80019DF4(void);
198 void func_80019E58(void);
199 void func_80019ED0(void);
201 
203 void func_8001A0DC(u16*, Camera*, Player*, s8, s32);
204 void func_8001A124(s32, s32);
206 void func_8001A348(s32, f32, s32);
207 void func_8001A3D8(s32, f32, s32);
208 void func_8001A450(s32, s32, s32);
209 void func_8001A518(s32, s32, s32);
211 void func_8001AB00(void);
212 void func_8001AB74(s32, s16*, s32);
214 void func_8001ABEC(struct struct_801642D8*);
216 
217 void func_8001BE78(void);
218 
219 void func_8001C05C(void);
220 void func_8001C14C(void);
221 void func_8001C3C4(s32);
222 void func_8001C42C(void);
223 
224 /* This is where I'd put my static data, if I had any */
225 // 0 or 1, only 1 when when in extra (mirror) mode
226 extern s16 D_8016347A;
227 
228 // Suspected to be the "width" of each waypoint. See data_0DD0A0_1.s
229 extern f32 D_800DCA4C[];
230 
231 // See bss_80005FD0.s
232 extern Collision D_80162E70;
233 extern s16 D_80162EB0;
234 extern s16 D_80162FCC;
235 extern f32 D_80162FA0[];
236 
237 extern s16 D_80164378[];
238 extern s32 D_801643E0[];
239 extern struct unexpiredActors gUnexpiredActorsList[];
240 extern s32 D_801643E0[];
241 extern s32 D_80164408[];
242 extern s32 D_8016448C;
243 extern f32 D_80164498[];
244 extern f32 D_801645F8[];
245 extern s32 D_80164608[];
246 extern f32 D_80164618[];
247 extern f32 D_80164638[];
248 extern f32 D_80164648[];
249 extern f32 D_80164658[];
250 extern s16 D_80164670[];
251 extern s16 D_80164672;
252 extern s16 D_80164674;
253 extern s16 D_80164676;
254 extern s16 D_80164678[]; // Size 4? Is the three below this fake?
255 extern s16 D_8016467A;
256 extern s16 D_8016467C;
257 extern s16 D_8016467E;
258 extern s16 D_80164680[];
259 extern s16 D_80164682;
260 extern f32 D_80164688[];
261 extern s16 D_801646C0[];
262 extern s16 D_801646CC;
263 extern s16 D_801630FC;
264 extern s16 D_801631C8;
265 extern u16 D_801631E0[8];
266 extern s32 D_80163238;
267 extern s16 D_801632B8[];
268 extern s16 D_801632D0[];
269 extern u16 D_801632E8[];
270 extern s32 D_8016337C;
271 extern u16 D_80163410[]; // One per player?
272 extern s16 D_80163478;
273 extern s32 D_80163488;
274 extern s16 D_8016348C;
275 extern s16 D_801634D8[8];
276 extern s32 D_8016359C;
277 extern u16 D_801637BC[2];
278 extern u16 D_801637BE;
279 extern s32 D_80163DD8[];
280 extern u16 D_80163E2A;
281 
282 extern Gfx D_0D0076F8[];
283 
284 extern s32 D_800DDB20;
285 
286 #endif
void func_80012190(void)
Definition: code_80005FD0.c:5449
void func_8001C14C(void)
void func_8000EEDC(void)
Definition: code_80005FD0.c:3829
s32 D_80164608[]
void func_800149D0(void)
Definition: code_80005FD0.c:6460
D_801642D8_entry D_801642D8[]
void func_80009000(s32)
Definition: code_80005FD0.c:1354
void func_80008F38(s32)
Definition: code_80005FD0.c:1344
s16 func_8000D6D0(Vec3f, s16 *, f32, f32, s16, s16)
s16 D_80164670[]
void func_800097E0(void)
Definition: code_80005FD0.c:1596
s32 D_8016448C
void func_80017720(s32, f32, s32, s16)
Definition: code_80005FD0.c:7512
Collision D_80162E70
Definition: code_80005FD0.c:32
void func_8001ABEC(struct struct_801642D8 *)
Definition: code_80005FD0.c:8825
s16 D_80164680[]
s16 func_8000D2B4(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:3047
void func_800148C4(s32, Player *)
Definition: code_80005FD0.c:6440
void func_80013F7C(s32, Player *, VehicleStuff *, f32, f32, s32, u32)
s16 D_80162FCC
void func_80015544(s32, f32, s32, s32)
Definition: code_80005FD0.c:6757
void func_8000F2BC(TrackWaypoint *, size_t)
Definition: code_80005FD0.c:3993
s16 func_8000CC88(f32, f32, f32, Player *, s32, s32 *)
Definition: code_80005FD0.c:2872
void func_8000F2DC(void)
Definition: code_80005FD0.c:4011
s32 func_8001A310(s32, s32)
Definition: code_80005FD0.c:8543
void func_8001A0A4(u16 *, Camera *, Player *, s8, s32)
void func_8000F0E0(void)
Definition: code_80005FD0.c:3884
void func_8001A124(s32, s32)
Definition: code_80005FD0.c:8492
f32 D_80164658[]
void func_8001C3C4(s32)
Definition: code_80005FD0.c:9444
s32 D_8016359C
f32 func_800145A8(s16, f32, s16)
Definition: code_80005FD0.c:6355
void func_80014BB4(s32)
Definition: code_80005FD0.c:6498
void func_80014CC0(s32, Player *)
Definition: code_80005FD0.c:6521
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:6494
void func_8001C05C(void)
Definition: code_80005FD0.c:9341
void func_80017F10(s32, f32, s32, s16)
Definition: code_80005FD0.c:7693
void func_80010DBC(s32)
Definition: code_80005FD0.c:4786
void func_800162CC(s32, f32, s32, s16)
Definition: code_80005FD0.c:7034
void func_8001490C(s32)
Definition: code_80005FD0.c:6444
void func_8000EE58(s32)
Definition: code_80005FD0.c:3816
u16 D_801637BE
void func_800147E0(void)
Definition: code_80005FD0.c:6423
void func_8001487C(void)
Definition: code_80005FD0.c:6433
s16 func_8000D940(Vec3f, s16 *, f32, f32, s16)
void func_80013054(void)
Definition: code_80005FD0.c:5804
s16 D_8016467A
s32 func_8001168C(void *, void *, s32)
f32 D_80164688[]
void func_8001A348(s32, f32, s32)
Definition: code_80005FD0.c:8550
f32 func_80009258(s32, f32, f32)
void func_8000EF20(void)
Definition: code_80005FD0.c:3840
void func_8000BA14(u16, f32, f32, s16)
Definition: code_80005FD0.c:2541
void func_8001530C(void)
Definition: code_80005FD0.c:6692
f32 D_80164618[]
void func_8001A518(s32, s32, s32)
Definition: code_80005FD0.c:8587
s32 func_8000EE10(s32)
Definition: code_80005FD0.c:3808
s16 func_8000C884(f32, f32, f32, s16, s32, u16)
Definition: code_80005FD0.c:2759
void func_8001A0DC(u16 *, Camera *, Player *, s8, s32)
Definition: code_80005FD0.c:8487
void func_80014A60(s32)
Definition: code_80005FD0.c:6471
s32 func_8000EDC8(s32)
Definition: code_80005FD0.c:3800
f32 D_80164648[]
s16 D_80164672
s16 func_8000DBAC(Vec3f, s16 *, f32)
void set_places(void)
Definition: code_80005FD0.c:532
struct unexpiredActors gUnexpiredActorsList[]
void func_800074D4(void)
void func_8001968C(void)
Definition: code_80005FD0.c:8201
void func_800090F0(s32, Player *)
Definition: code_80005FD0.c:1391
s32 D_80163238
void func_800132F4(void)
Definition: code_80005FD0.c:5860
void func_80012780(TrainCarStuff *, s16 *, u16)
Definition: code_80005FD0.c:5580
void func_800133C4(void)
void func_8001A588(u16 *, Camera *, Player *, s8, s32)
s16 D_801632D0[]
u16 D_80163410[]
f32 func_8000B874(f32, f32, u16, s32)
Definition: code_80005FD0.c:2505
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:3792
s16 func_8000C0BC(f32, f32, f32, u16, s32 *)
Definition: code_80005FD0.c:2663
void func_80019118(s32, f32, s32, s16)
Definition: code_80005FD0.c:8115
s32 func_8000ED14(s32, s16)
Definition: code_80005FD0.c:3771
s16 func_8000D24C(f32, f32, f32, s32 *)
Definition: code_80005FD0.c:3039
s32 D_800DDB20
void func_800100F0(s32)
Definition: code_80005FD0.c:4567
void func_80011AB8(s32)
Definition: code_80005FD0.c:5207
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:5213
void func_8001BE78(void)
Definition: code_80005FD0.c:9289
void func_80015A9C(s32, f32, s32, s16)
Definition: code_80005FD0.c:6849
f32 func_80010F40(f32, f32, f32, s32)
void func_80016C3C(s32, f32, s32)
f32 func_8000D3B8(s32)
Definition: code_80005FD0.c:3068
s16 D_80163478
f32 func_80013C74(s16, s16)
Definition: code_80005FD0.c:6095
s32 process_path_data(TrackWaypoint *, TrackWaypoint *)
Definition: code_80005FD0.c:5032
void func_80019E58(void)
Definition: code_80005FD0.c:8406
void func_8000F124(void)
s32 func_8000B7E4(s32, u16)
void func_8000B95C(s32, u16, s32)
Definition: code_80005FD0.c:2531
s16 func_80010CB0(s32, s32)
Definition: code_80005FD0.c:4767
f32 func_80010FA0(f32, f32, f32, s32)
s16 D_801632B8[]
void func_800070F4(void)
Definition: code_80005FD0.c:621
void func_80019D2C(Camera *, Player *, s32)
s32 D_801643E0[]
Definition: code_80005FD0.h:240
void func_80009B60(s32)
void func_80012220(VehicleStuff *)
Definition: code_80005FD0.c:5464
s16 D_801646C0[]
void func_80019B50(s32, u16)
Definition: code_80005FD0.c:8308
s16 D_801634D8[8]
s32 D_80163DD8[]
s32 func_8000B820(s32)
Definition: code_80005FD0.c:2497
void func_80019DE4(void)
Definition: code_80005FD0.c:8386
void func_80019ED0(void)
Definition: code_80005FD0.c:8417
void func_80014B24(void)
Definition: code_80005FD0.c:6487
u16 D_80163E2A
void func_800107C4(s32)
Definition: code_80005FD0.c:4712
void func_80008DC0(s32)
Definition: code_80005FD0.c:1310
void func_80014D30(s32, s32)
Definition: code_80005FD0.c:6529
void func_80010E6C(s32)
void func_80014C78(void)
Definition: code_80005FD0.c:6514
void func_80018718(s32, f32, s32, s16)
Definition: code_80005FD0.c:7877
void func_80012AC0(void)
Definition: code_80005FD0.c:5681
s16 func_8000C9DC(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:2800
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:6788
void func_80019760(Camera *, s32, s32, s32)
Definition: code_80005FD0.c:8220
void func_800146B8(s32, s32, VehicleStuff *)
f32 D_801645F8[]
Test D_801634F8[]
void func_80014A18(s32, Player *)
Definition: code_80005FD0.c:6467
void func_80011E38(s32)
Definition: code_80005FD0.c:5361
u16 D_801632E8[]
void func_8000CBA4(f32, f32, f32, s16 *)
void func_80013D20(VehicleStuff *)
Definition: code_80005FD0.c:6128
f32 func_80014EE4(f32, s32)
Definition: code_80005FD0.c:6584
s32 D_8016337C
void func_800151A4(Camera *, s32)
Definition: code_80005FD0.c:6661
s32 func_800061DC(Vec3f, f32, s32)
Definition: code_80005FD0.c:428
s32 D_80164408[]
void func_80012A48(TrainCarStuff *, s16)
Definition: code_80005FD0.c:5665
void func_8001A450(s32, s32, s32)
Definition: code_80005FD0.c:8571
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_8001A3D8(s32, f32, s32)
Definition: code_80005FD0.c:8560
void func_80019C50(s32)
Definition: code_80005FD0.c:8341
s32 func_80008E58(s32, s32)
Definition: code_80005FD0.c:1320
s16 func_8000BD94(f32, f32, f32, s32)
Definition: code_80005FD0.c:2630
s16 D_80164676
void func_8001C42C(void)
Definition: code_80005FD0.c:9456
s16 D_801630FC
void func_80014934(void)
Definition: code_80005FD0.c:6448
s16 func_8000D33C(f32, f32, f32, s16, s32)
Definition: code_80005FD0.c:3058
void func_80013854(Player *)
Definition: code_80005FD0.c:6020
void func_800127E0(void)
Definition: code_80005FD0.c:5600
void func_80012DC0(s32, Player *)
Definition: code_80005FD0.c:5750
s32 func_80007BF8(u16, u16, u16, u16, u16)
Definition: code_80005FD0.c:754
s16 D_8016467E
void func_8000DF8C(s32)
void func_80011A5C(void)
Definition: code_80005FD0.c:5200
void func_800120C8(void)
Definition: code_80005FD0.c:5431
s16 D_80164378[]
void func_80006114(Vec3f, Vec3f, s16)
Definition: code_80005FD0.c:407
Gfx D_0D0076F8[]
Definition: common_textures.inc.c:1292
void func_8001AB74(s32, s16 *, s32)
Definition: code_80005FD0.c:8788
void func_800131DC(s32)
Definition: code_80005FD0.c:5838
f32 D_80162FA0[]
void func_80019890(s32, s32)
Definition: code_80005FD0.c:8243
s16 D_80162EB0
Definition: code_80005FD0.c:33
void func_8001933C(Camera *, s32, s32, s32)
Definition: code_80005FD0.c:8144
void func_8000DD78(void)
Definition: code_80005FD0.c:3373
s32 D_80163488
void func_80010218(s32)
Definition: code_80005FD0.c:4610
void func_80014A88(void)
Definition: code_80005FD0.c:6475
void func_8001969C(s32, f32, s32, s16)
Definition: code_80005FD0.c:8205
void func_800139E4(f32, f32, s32, s32, VehicleStuff *, TrackWaypoint *)
Definition: code_80005FD0.c:6052
void func_80014BDC(void)
Definition: code_80005FD0.c:6502
void func_80014D08(s32)
Definition: code_80005FD0.c:6525
s16 D_801646CC
void func_8001AB00(void)
Definition: code_80005FD0.c:8776
void func_8000CBF8(f32, f32, f32, s16 *, s32)
void init_course_vehicles(void)
Definition: code_80005FD0.c:5486
f32 func_80010480(s32, u16)
Definition: code_80005FD0.c:4660
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