mk64/include/variables.h

178 lines
5.5 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 s8 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 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 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 gGamestate;
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 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