mirror of
https://github.com/n64decomp/mk64
synced 2026-07-01 10:58:50 -04:00
document waypoint and more
This commit is contained in:
+3
-3
@@ -18,9 +18,9 @@ typedef struct {
|
||||
} TrackSections;
|
||||
|
||||
struct _struct_gCoursePathSizes_0x10 {
|
||||
/* 0x00 */ u16 unk0;
|
||||
/* 0x02 */ u16 unk2;
|
||||
/* 0x04 */ u16 unk4;
|
||||
/* 0x00 */ u16 numWaypoint;
|
||||
/* 0x02 */ u16 numInnerWaypoint;
|
||||
/* 0x04 */ u16 numOuterWaypoint;
|
||||
/* 0x06 */ u16 unk6;
|
||||
/* 0x08 */ u16 unk8;
|
||||
/* 0x0A */ char padA[6];
|
||||
|
||||
@@ -325,6 +325,7 @@ enum DIRECTION { NORTH, EAST, SOUTH, WEST };
|
||||
#define STAR_EFFECT 0x200 // being a star
|
||||
#define BOOST_EFFECT 0x2000 // being boosted by trigger a mushroom
|
||||
#define BOOST_RAMP_ASPHALT_EFFECT 0x100000 // being boosted by a boost pad
|
||||
#define REVERSE_EFFECT 0x400000 // being in reverse of the course
|
||||
#define HIT_BY_ITEM_EFFECT 0x2000000 // being hit by an item
|
||||
#define HIT_EFFECT 0x4000000 // hitting an object
|
||||
#define LIGHTNING_EFFECT 0x40000000 // being hit by lightning
|
||||
|
||||
+13
-13
@@ -12,46 +12,46 @@ typedef struct {
|
||||
|
||||
/**
|
||||
* These are per-path arrays that contain some information relating to waypoints
|
||||
* The arrays in D_80164550 contain X/Y/Z and track segment information
|
||||
* The arrays in D_80164560 and D_80164570 track some other X/Y/Z, but the track segment is always 0 (so,
|
||||
* The arrays in gTrackWaypoints contain X/Y/Z and track segment information
|
||||
* The arrays in gTrackInnerPath and gTrackOuterPath track some other X/Y/Z, but the track segment is always 0 (so,
|
||||
*untracked/unused) Its unclear how these arrays relate to each other
|
||||
**/
|
||||
extern TrackWaypoint* D_80164550[];
|
||||
extern TrackWaypoint* D_80164560[];
|
||||
extern TrackWaypoint* D_80164570[];
|
||||
extern TrackWaypoint* gTrackWaypoints[];
|
||||
extern TrackWaypoint* gTrackInnerPath[];
|
||||
extern TrackWaypoint* gTrackOuterPath[];
|
||||
|
||||
/**
|
||||
* Don't know what exactly these are, but like D_80164550, D_80164560, and D_80164570
|
||||
* Don't know what exactly these are, but like gTrackWaypoints, gTrackInnerPath, and gTrackOuterPath
|
||||
* they track something about the waypoints on a per-path basis
|
||||
**/
|
||||
// Waypoint types?
|
||||
extern s16* D_80164580[];
|
||||
// Based on func_80010DBC this may be angles between waypoints
|
||||
// D_80164590[i] = atan2(waypoint_i, waypoint_i+1)?
|
||||
extern s16* D_80164590[];
|
||||
// gWaypointExpectedRotation[i] = atan2(waypoint_i, waypoint_i+1)?
|
||||
extern s16* gWaypointExpectedRotation[];
|
||||
// No idea. Adjacency list?
|
||||
extern s16* D_801645A0[];
|
||||
|
||||
/**
|
||||
* Certain parts of the waypoint logic will copy some path/player specific data to a temporary variable.
|
||||
* For example: D_80164490 is always a value from D_80164550. Depending on which path
|
||||
* For example: D_80164490 is always a value from gTrackWaypoints. Depending on which path
|
||||
* a given player is on, the specific value may change
|
||||
**/
|
||||
// Shadows values from gNearestWaypointByPlayerId
|
||||
extern s16 sSomeNearestWaypoint;
|
||||
// Shadows values from gPathIndexByPlayerId
|
||||
extern s32 D_80163448;
|
||||
// Shadows values from D_80164560
|
||||
// Shadows values from gTrackInnerPath
|
||||
extern TrackWaypoint* D_801631D0;
|
||||
// Shadows values from D_80164570
|
||||
// Shadows values from gTrackOuterPath
|
||||
extern TrackWaypoint* D_801631D4;
|
||||
// Shadows values from D_80164580
|
||||
extern s16* D_801631D8;
|
||||
// Shadows values from D_80164590
|
||||
// Shadows values from gWaypointExpectedRotation
|
||||
extern s16* D_801631DC;
|
||||
// Shadowd values from gWaypointCountByPathIndex
|
||||
extern u16 D_80164430;
|
||||
// Shadows values from D_80164550
|
||||
// Shadows values from gTrackWaypoints
|
||||
extern TrackWaypoint* D_80164490;
|
||||
// Shadows values from D_801645A0
|
||||
extern s16* D_801645E0;
|
||||
|
||||
Reference in New Issue
Block a user