Mario Kart 64
Loading...
Searching...
No Matches
waypoints.h
Go to the documentation of this file.
1#ifndef WAYPOINTS_H
2#define WAYPOINTS_H
3
4#include <common_structs.h>
5
6typedef struct {
7 /* 0x00 */ s16 posX;
8 /* 0x02 */ s16 posY;
9 /* 0x04 */ s16 posZ;
10 /* 0x06 */ u16 trackSectionId;
11} TrackWaypoint; // size = 0x08
12
22
27// Waypoint types?
28extern s16* D_80164580[];
29// Based on func_80010DBC this may be angles between waypoints
30// D_80164590[i] = atan2(waypoint_i, waypoint_i+1)?
31extern s16* D_80164590[];
32// No idea. Adjacency list?
33extern s16* D_801645A0[];
34
40// Shadows values from gNearestWaypointByPlayerId
42// Shadows values from gPathIndexByPlayerId
43extern s32 D_80163448;
44// Shadows values from D_80164560
46// Shadows values from D_80164570
48// Shadows values from D_80164580
49extern s16* D_801631D8;
50// Shadows values from D_80164590
51extern s16* D_801631DC;
52// Shadowd values from gWaypointCountByPathIndex
53extern u16 D_80164430;
54// Shadows values from D_80164550
56// Shadows values from D_801645A0
57extern s16* D_801645E0;
58
59extern u16 gNearestWaypointByPlayerId[]; // D_80164438
60// Total waypoints passed by playerId?
61extern s32 D_80164450[];
62extern u16 gPathIndexByPlayerId[]; // D_801645B0
63extern u16 gWaypointCountByPathIndex[]; // D_801645C8
64// These values are only used when the camera is in "cinematic" mode
65extern s16 gNearestWaypointByCameraId[]; // D_80164668
66
72// Tracks something on a per-player basis, no idea what though
73extern f32 D_80163068[];
74// Track segment by playerId, although it curiously does NOT track values for human players
75// So, in 2 Player Grand Prix, the first 2 entries are always 0
76extern u16 D_80163318[];
77// Seems to be a per-path overcount of the waypoint count
78extern s32 D_80163368[];
79// Seemingly the Z position of the 1st waypoint in the 0th path?
80extern f32 D_8016344C;
81// These seem to track whether a player has entered or exited the "unknown" zone in yoshi's valley
82// See func_80009000 and func_800090F0
83// Is 1 when a player is in the "unknown" zone in yoshi's valley
84extern s16 D_80163490[];
85// Is 1 when a player leaves the "unknown" zone in yoshi's valley
86extern s16 D_801634A8[];
87// Tracks whether a given player is in the "unknown" zone of yoshi's valley
88extern s16 D_801644F8[];
89
90#endif
Definition waypoints.h:6
u16 trackSectionId
Definition waypoints.h:10
s16 posZ
Definition waypoints.h:9
s16 posY
Definition waypoints.h:8
s16 posX
Definition waypoints.h:7
signed int s32
Definition ultratypes.h:15
signed short int s16
Definition ultratypes.h:13
float f32
Definition ultratypes.h:34
unsigned short int u16
Definition ultratypes.h:14
s16 D_80163490[]
Definition code_80005FD0.c:129
TrackWaypoint * D_80164550[]
Definition code_80005FD0.c:173
TrackWaypoint * D_80164560[]
Definition code_80005FD0.c:174
TrackWaypoint * D_801631D4
Definition code_80005FD0.c:82
TrackWaypoint * D_80164490
Definition code_80005FD0.c:166
s16 * D_80164580[]
Definition code_80005FD0.c:176
s16 sSomeNearestWaypoint
Definition code_80005FD0.c:54
s16 D_801644F8[]
Definition code_80005FD0.c:170
u16 gNearestWaypointByPlayerId[]
Definition code_80005FD0.c:162
s32 D_80163448
Definition code_80005FD0.c:118
s16 gNearestWaypointByCameraId[]
Definition code_80005FD0.c:191
u16 D_80163318[]
Definition code_80005FD0.c:99
s16 * D_801631DC
Definition code_80005FD0.c:84
f32 D_8016344C
Definition code_80005FD0.c:119
s16 * D_801631D8
Definition code_80005FD0.c:83
s16 * D_801645E0
Definition code_80005FD0.c:182
TrackWaypoint * D_801631D0
Definition code_80005FD0.c:81
s16 * D_80164590[]
Definition code_80005FD0.c:177
u16 gPathIndexByPlayerId[]
Definition code_80005FD0.c:179
s16 * D_801645A0[]
Definition code_80005FD0.c:178
TrackWaypoint * D_80164570[]
Definition code_80005FD0.c:175
s16 D_801634A8[]
Definition code_80005FD0.c:130
s32 D_80163368[]
Definition code_80005FD0.c:105
s32 D_80164450[]
Definition code_80005FD0.c:163
u16 gWaypointCountByPathIndex[]
Definition code_80005FD0.c:180
f32 D_80163068[]
Definition code_80005FD0.c:67
u16 D_80164430
Definition code_80005FD0.c:161