Mario Kart 64
waypoints.h
Go to the documentation of this file.
1 #ifndef WAYPOINTS_H
2 #define WAYPOINTS_H
3 
4 typedef struct {
5  /* 0x00 */ s16 posX;
6  /* 0x02 */ s16 posY;
7  /* 0x04 */ s16 posZ;
8  /* 0x06 */ u16 trackSegment;
9 } TrackWaypoint; // size = 0x08
10 
17 extern TrackWaypoint *D_80164550[];
18 extern TrackWaypoint *D_80164560[];
19 extern TrackWaypoint *D_80164570[];
20 
25 // Waypoint types?
26 extern s16 *D_80164580[];
27 // Based on func_80010DBC this may be angles between waypoints
28 // D_80164590[i] = atan2(waypoint_i, waypoint_i+1)?
29 extern s16 *D_80164590[];
30 // No idea. Adjacency list?
31 extern s16 *D_801645A0[];
32 
38 // Shadows values from gNearestWaypointByPlayerId
39 extern s16 D_80162FCE;
40 // Shadows values from gPathIndexByPlayerId
41 extern s32 D_80163448;
42 // Shadows values from D_80164560
44 // Shadows values from D_80164570
46 // Shadows values from D_80164580
47 extern s16 *D_801631D8;
48 // Shadows values from D_80164590
49 extern s16 *D_801631DC;
50 // Shadowd values from gWaypointCountByPathIndex
51 extern u16 D_80164430;
52 // Shadows values from D_80164550
54 // Shadows values from D_801645A0
55 extern s16 *D_801645E0;
56 
57 
58 extern u16 gNearestWaypointByPlayerId[]; // D_80164438
59 // Total waypoints passed by playerId?
60 extern s32 D_80164450[];
61 extern u16 gPathIndexByPlayerId[]; // D_801645B0
62 extern u16 gWaypointCountByPathIndex[]; // D_801645C8
63 // These values are only used when the camera is in "cinematic" mode
64 extern s16 gNearestWaypointByCameraId[]; // D_80164668
65 
71 // Tracks something on a per-player basis, no idea what though
72 extern f32 D_80163068[];
73 // Track segment by playerId, although it curiously does NOT track values for human players
74 // So, in 2 Player Grand Prix, the first 2 entries are always 0
75 extern u16 D_80163318[];
76 // Seems to be a per-path overcount of the waypoint count
77 extern s32 D_80163368[];
78 // Seemingly the Z position of the 1st waypoint in the 0th path?
79 extern f32 D_8016344C;
80 // These seem to track whether a player has entered or exited the "unknown" zone in yoshi's valley
81 // See func_80009000 and func_800090F0
82 // Is 1 when a player is in the "unknown" zone in yoshi's valley
83 extern s16 D_80163490[];
84 // Is 1 when a player leaves the "unknown" zone in yoshi's valley
85 extern s16 D_801634A8[];
86 // Tracks whether a given player is in the "unknown" zone of yoshi's valley
87 extern s16 D_801644F8[];
88 
89 #endif
Definition: waypoints.h:4
u16 trackSegment
Definition: waypoints.h:8
s16 posZ
Definition: waypoints.h:7
s16 posY
Definition: waypoints.h:6
s16 posX
Definition: waypoints.h:5
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
s16 D_80163490[]
Definition: code_80005FD0.c:127
TrackWaypoint * D_80164550[]
Definition: code_80005FD0.c:171
TrackWaypoint * D_80164560[]
Definition: code_80005FD0.c:172
TrackWaypoint * D_801631D4
Definition: code_80005FD0.c:80
TrackWaypoint * D_80164490
Definition: code_80005FD0.c:164
s16 * D_80164580[]
Definition: code_80005FD0.c:174
s16 D_801644F8[]
Definition: code_80005FD0.c:168
u16 gNearestWaypointByPlayerId[]
Definition: code_80005FD0.c:160
s32 D_80163448
Definition: code_80005FD0.c:116
s16 gNearestWaypointByCameraId[]
Definition: code_80005FD0.c:189
u16 D_80163318[]
Definition: code_80005FD0.c:97
s16 * D_801631DC
Definition: code_80005FD0.c:82
f32 D_8016344C
Definition: code_80005FD0.c:117
s16 * D_801631D8
Definition: code_80005FD0.c:81
s16 * D_801645E0
Definition: code_80005FD0.c:180
TrackWaypoint * D_801631D0
Definition: code_80005FD0.c:79
s16 * D_80164590[]
Definition: code_80005FD0.c:175
u16 gPathIndexByPlayerId[]
Definition: code_80005FD0.c:177
s16 * D_801645A0[]
Definition: code_80005FD0.c:176
TrackWaypoint * D_80164570[]
Definition: code_80005FD0.c:173
s16 D_801634A8[]
Definition: code_80005FD0.c:128
s32 D_80163368[]
Definition: code_80005FD0.c:103
s16 D_80162FCE
Definition: code_80005FD0.c:52
s32 D_80164450[]
Definition: code_80005FD0.c:161
u16 gWaypointCountByPathIndex[]
Definition: code_80005FD0.c:178
f32 D_80163068[]
Definition: code_80005FD0.c:65
u16 D_80164430
Definition: code_80005FD0.c:159