mirror of https://github.com/n64decomp/mk64.git
186 lines
5.7 KiB
C
186 lines
5.7 KiB
C
#ifndef _VARIABLES_H_
|
|
#define _VARIABLES_H_
|
|
|
|
#include "global.h"
|
|
#include "defines.h"
|
|
#include "common_structs.h"
|
|
|
|
extern s32 gActiveScreenMode; // D_800DC52C
|
|
|
|
extern s32 gCCSelection; // D_800DC548
|
|
extern s8 gCharacterIdByGPOverallRank[8]; // D_8018D9D0
|
|
extern s8 gCharacterGridSelections[4]; // D_8018EDE4
|
|
extern s8 gCharacterSelections[4]; // D_800E86A8
|
|
extern s8 gControllerPakMenuSelection; // D_8018EDF0
|
|
extern s32 gControllerPakNumPagesFree; // D_8018EB80
|
|
extern s8 gControllerPakSelectedTableRow; // D_800E86C0
|
|
extern f32 gCourseCompletionPercentByPlayerId[8]; // D_801644D0
|
|
extern f32 gCourseCompletionPercentByRank[8]; // D_80162FD8
|
|
extern s8 gCourseRecordsMenuSelection; // D_8018EDF8
|
|
extern f32 gCourseTimer; // D_800DC598
|
|
extern const s16 gCupCourseOrder[NUM_CUPS][NUM_COURSES_PER_CUP]; // D_800F2BB4
|
|
extern s8 gCupCourseSelection; // D_8018EE0B
|
|
extern char *gCupNames[]; // D_800E7500
|
|
extern s8 gCupSelection; // D_8018EE09
|
|
// Maps course IDs (as defined in the COURSES enum) to the cup they belong to
|
|
extern u8 gCupSelectionByCourseId[NUM_COURSES]; // D_800E7664
|
|
extern s16 gCurrentCourseId; // D_800DC5A0
|
|
|
|
extern s8 gDebugMenuSelection; // D_8018EDEF
|
|
extern char *gDebugSoundModeNames[NUM_SOUND_MODES]; // D_800E7700
|
|
extern Gfx *gDisplayListHead; // D_80150298
|
|
|
|
extern u16 gEnableDebugMode; // D_800DC520
|
|
|
|
extern s32 gGlobalTimer; // D_800DC54C
|
|
extern s8 gGPPointsByCharacterId[8]; // D_8018D9C8
|
|
extern s16 gGPCurrentRacePlayerIdByRank[8]; // D_80164360
|
|
|
|
extern s8 gHumanPlayerCount;
|
|
|
|
extern s32 gIsMirrorMode; // D_800DC604
|
|
|
|
extern f32 gKartFrictionTable[];
|
|
extern f32 gKartBoundingBoxTable[];
|
|
extern f32 gKartGravityTable[];
|
|
|
|
extern f32 gLapCompletionPercentByPlayerId[8]; // D_801644A8
|
|
extern s32 gLapCountByPlayerId[8]; // D_80164390
|
|
|
|
extern s32 gMenuTimingCounter; // D_8018EE00
|
|
extern s32 gMenuSelection; // D_800E86A0
|
|
extern s32 gModeSelection; // D_800DC53C
|
|
|
|
// Indicates the ID of the next title screen demo that will be played
|
|
extern u8 gNextDemoId; // D_800E86BC
|
|
|
|
// Maps course IDs (as defined in the COURSES enum) to an index in a given cup's track order
|
|
extern u8 gPerCupIndexByCourseId[NUM_COURSES]; // D_800EFD50
|
|
extern s32 gPlayerCountSelection1;
|
|
extern s32 gPlayerIsThrottleActive[]; // D_801653E0
|
|
extern s32 gPlayerPositions[]; // D_801643B8
|
|
|
|
extern u8 gSaveDataSoundMode; // D_8018ED14
|
|
extern u8 gSaveDataSoundModeBackup; // D_8018ED8C
|
|
//extern u32 gScreenModeSelection; // D_800DC530
|
|
extern u32 gSegmentTable[16]; // D_80150258
|
|
extern OSMesgQueue gSIEventMesgQueue; // D_8014F0B8
|
|
extern u8 gSoundMode; // D_8018EDF2
|
|
extern char *gSoundModeNames[NUM_SOUND_MODES]; // D_800E7710
|
|
|
|
// Indexed by Player ID. Track time in seconds since player has last crossed the finish line
|
|
extern f32 gTimePlayerLastTouchedFinishLine[8]; // D_8015F898
|
|
extern s8 gTimeTrialDataCourseIndex; // D_8018EDF7
|
|
|
|
extern Camera *camera1;
|
|
extern Camera *camera2;
|
|
extern Camera *camera3;
|
|
extern Camera *camera4;
|
|
|
|
extern Player gPlayers[8];
|
|
extern Player* gPlayerOne;
|
|
extern Player* gPlayerTwo;
|
|
extern Player* gPlayerThree;
|
|
extern Player* gPlayerFour;
|
|
extern Player* gPlayerFive;
|
|
extern Player* gPlayerSix;
|
|
extern Player* gPlayerSeven;
|
|
extern Player* gPlayerEight;
|
|
extern Player* gPlayerOneCopy;
|
|
|
|
extern SaveData D_8018EB90;
|
|
|
|
extern struct_8018CA70_entry D_8018CA70[];
|
|
|
|
extern Mtx D_80183D60[];
|
|
|
|
extern struct_D_8018CE10 D_8018CE10[];
|
|
extern struct_D_802874D8 D_802874D8;
|
|
extern struct_D_802DFB80 D_802DFB80[][8];
|
|
extern struct_D_802BFB80 D_802BFB80[][8];
|
|
|
|
extern struct GfxPool *gGfxPool; // D_8014EF40
|
|
|
|
extern mk64_surface_map_ram *D_8015F580; // This is techinally a pointer to an array, but declaring it as such create regalloc issues elsewhere
|
|
extern u16 D_8015F588; // Number of entires in D_8015F580
|
|
|
|
extern Vec3f D_80165070[];
|
|
|
|
extern Vp D_802B8880[];
|
|
|
|
extern Gfx D_0D0077A0[];
|
|
|
|
extern s32 D_800DC50C;
|
|
extern u16 D_800DC51C;
|
|
extern s32 D_800DC540;
|
|
extern u16 D_800DC5FC;
|
|
|
|
extern u16 D_80150112;
|
|
|
|
extern u16 D_8015F890;
|
|
|
|
extern u16 D_80162DD4[];
|
|
extern u16 D_80162DD8;
|
|
extern s32 D_80162DE0;
|
|
extern s32 D_80162DE4;
|
|
extern s32 D_80162DE8;
|
|
|
|
extern f32 D_80164510[];
|
|
extern s16* D_80164550;
|
|
extern s32 D_80164A28;
|
|
extern s16 D_80164AF0;
|
|
|
|
extern s16 D_80165020[];
|
|
extern s16 D_801650D0[4][8];
|
|
|
|
extern s16 D_80165110[4][8];
|
|
extern s16 D_80165150[4][8];
|
|
extern s16 D_80165190[4][8];
|
|
extern s16 D_801651D0[4][8];
|
|
|
|
extern f32 D_80165210[];
|
|
extern f32 D_80165230[];
|
|
extern f32 D_8016524C;
|
|
extern s16 D_80165270[8];
|
|
extern f32 D_80165280[];
|
|
extern f32 D_801652A0[];
|
|
extern s32 D_801652C0[];
|
|
extern s32 D_801652E0[];
|
|
|
|
extern s16 D_80165300[];
|
|
|
|
extern s32 D_80165400[];
|
|
extern s32 D_80165420[];
|
|
extern s32 D_80165440[];
|
|
extern s32 D_80165460[];
|
|
extern s32 D_80165480[];
|
|
extern s32 D_801654A0[];
|
|
extern s32 D_801654C0[];
|
|
extern s32 D_801654E0[];
|
|
|
|
extern s32 D_80165500[];
|
|
extern s32 D_80165520[];
|
|
extern s32 D_80165540[];
|
|
extern s16 D_8016556E;
|
|
extern s16 D_80165570;
|
|
extern s16 D_80165572;
|
|
extern s16 D_80165574;
|
|
extern s16 D_80165576;
|
|
extern s16 D_80165578;
|
|
extern s16 D_8016557A;
|
|
extern s16 D_8016557C;
|
|
extern s16 D_8016557E;
|
|
extern s16 D_80165580;
|
|
extern s16 D_80165582;
|
|
|
|
extern s8 D_801657E8;
|
|
|
|
extern s8 D_801658FE;
|
|
|
|
extern s32 D_8018D120;
|
|
extern s32 D_8018D900[];
|
|
|
|
extern s8 D_8018EDEC;
|
|
|
|
#endif
|