perfect_dark/src/include/data.h

536 lines
18 KiB
C

#ifndef _IN_DATA_H
#define _IN_DATA_H
#include <ultra64.h>
#include "constants.h"
#include "types.h"
#define bool s32
#define ubool u32
extern u8 *g_StackStartAddrs[7];
extern u8 *g_StackEndAddrs[7];
extern u8 *g_StackAllocatedPos;
extern s32 var8005ce74;
extern f32 g_ViXScalesBySlot[2];
extern f32 g_ViYScalesBySlot[2];
extern u32 g_SchedViModesPending[2];
extern s32 g_ViUnblackTimer;
extern s32 g_ViShakeDirection;
extern s32 g_ViShakeIntensity;
extern s32 g_ViShakeTimer;
extern s8 g_Resetting;
extern OSDevMgr __osViDevMgr;
extern u32 var8005cefc;
extern OSDevMgr __osPiDevMgr;
extern OSPiHandle *__osCurrentHandle[2];
extern u32 var8005cf30;
extern OSTime osClockRate;
extern s32 osViClock;
extern u32 __osGlobalIntMask;
extern s32 g_VmNumPages;
extern u8 g_LoadType;
extern s32 g_MainIsEndscreen;
extern s32 var8005dd18;
extern bool g_MainIsDebugMenuOpen;
extern bool g_SndDisabled;
extern u16 g_SfxVolume;
extern s32 g_SoundMode;
extern s32 var8005ddd4;
extern struct audiorussmapping g_AudioRussMappings[];
extern struct audioconfig g_AudioConfigs[];
extern bool var8005eedc;
extern f32 var8005ef10[2];
extern u32 var8005ef20;
extern s32 g_NumGlobalAilists;
extern s32 g_NumLvAilists;
extern u32 var8005ef40;
extern u32 var8005ef5c;
extern u32 var8005ef7c;
extern u32 var8005ef90;
extern bool g_ModelDistanceDisabled;
extern f32 g_ModelDistanceScale;
extern bool var8005efbc;
extern f32 var8005efc0;
extern bool (*var8005efc4)(struct model *model, struct modelnode *node);
extern struct gfxvtx *(*g_ModelVtxAllocatorFunc)(s32 numvertices);
extern void *var8005efcc;
extern u32 var8005efd0;
extern bool var8005efdc;
extern u32 var8005efe0;
extern u32 var8005efec;
extern u32 var8005eff8;
extern u32 var8005f000;
extern s16 g_NumAnimations;
extern struct animsummary *g_Anims;
extern u8 *var8005f010;
extern s16 *var8005f014;
extern s32 var8005f018;
extern s32 var8005f01c;
extern bool g_AnimHostEnabled;
extern u32 var8005f030;
extern u32 var8005f034;
extern u32 var8005f038;
extern u16 *g_RdpOutBufferEnd;
extern u16 *g_RdpOutBufferStart;
extern struct rdptask *g_RdpCurTask;
extern N_ALSndPlayer *g_SndPlayer;
extern u32 var8005f4dc;
extern u32 var8005f548;
extern s16 n_eqpower[];
extern u32 var8005f66c;
extern u8 *var8005f6f8;
extern u8 *var8005f6fc;
extern u32 var8005f704;
extern OSViMode osViModeTable[];
extern u32 var80060890;
extern OSTimer *__osTimerList;
extern u32 __osPiAccessQueueEnabled;
extern OSThread *__osRunQueue;
extern OSThread *__osActiveQueue;
extern OSThread *__osRunningThread;
extern OSThread *__osFaultedThread;
extern u32 __osSiAccessQueueEnabled;
extern u32 __osContInitialized;
extern s32 __osPfsLastChannel;
extern s32 g_PfsPrevChannel;
extern u8 g_PfsPrevBank;
extern u32 var80060990;
extern u32 var800609a0;
extern u32 var800609c4;
extern u32 var800609f0;
extern u32 var800611ec;
extern OSViMode osViModePalLan1;
extern OSViMode osViModeMpalLan1;
extern OSViMode osViModeNtscLan1;
extern char ldigs[];
extern char udigs[];
extern Gfx var80061360[];
extern Gfx var80061380[];
extern Gfx var800613a0[];
extern f32 var80061630;
extern f32 var80061634;
extern bool g_NbombsActive;
extern s32 g_WeatherActive;
extern u32 var80062410;
extern s32 var800624a4;
extern u32 var800624b0;
extern s32 g_TitleMode;
extern s32 g_TitleNextMode;
extern u32 g_TitleDelayedTimer;
extern s32 g_TitleDelayedMode;
extern s32 g_TitleTimer;
extern u32 var800624d4;
extern u32 var800624d8;
extern u32 var800624dc;
extern u32 var800624e0;
extern s32 g_TitleNextStage;
extern u32 var800624e8;
extern u32 var800624ec;
extern u32 var800624f0;
extern u32 var800624f4;
extern u8 g_FileState;
extern u8 var80062944;
extern u8 var80062948;
extern u8 var8006294c;
extern u32 var80062950;
extern bool g_WeatherTickEnabled;
extern struct var80062960 *var80062960;
extern f32 var80062968;
extern bool var8006296c;
extern s32 g_SelectedAnimNum;
extern u32 var80062974;
extern u32 var80062978;
extern u32 var8006297c;
extern s32 g_NextChrnum;
extern struct chrdata *g_ChrSlots;
extern s32 g_NumChrSlots;
extern struct shieldhit *g_ShieldHits;
extern s32 g_ShieldHitActive;
extern s32 g_NumBondBodies;
extern s32 g_NumMaleGuardHeads;
extern s32 g_NumFemaleGuardHeads;
extern s32 g_NumMaleGuardTeamHeads;
extern s32 g_NumFemaleGuardTeamHeads;
extern s32 var80062b14;
extern s32 var80062b18;
extern s32 g_BondBodies[];
extern s32 g_MaleGuardHeads[];
extern s32 g_MaleGuardTeamHeads[];
extern s32 g_FemaleGuardHeads[];
extern s32 g_FemaleGuardTeamHeads[];
extern s32 var80062c80;
extern s32 g_ActiveMaleHeadsIndex;
extern s32 g_ActiveFemaleHeadsIndex;
extern f32 g_EnemyAccuracyScale;
extern f32 g_DamageReceivedScale;
extern f32 g_DamageDealtScale;
extern f32 var80062cac;
extern s32 var80062cbc;
extern struct animtablerow g_DeathAnimsHumanGun[];
extern struct animtablerow g_AnimTableHumanSlumped[];
extern struct animtable *g_AnimTablesByRace[];
extern struct attackanimconfig var800656c0[];
extern struct attackanimgroup *g_StandHeavyAttackAnims[][32];
extern struct attackanimconfig var80065be0[];
extern struct attackanimgroup *g_StandLightAttackAnims[][32];
extern struct attackanimconfig var800663d8[];
extern struct attackanimgroup *g_StandDualAttackAnims[][32];
extern struct attackanimgroup *g_KneelHeavyAttackAnims[][32];
extern struct attackanimgroup *g_KneelLightAttackAnims[][32];
extern struct attackanimgroup *g_KneelDualAttackAnims[][32];
extern struct attackanimconfig g_RollAttackAnims[];
extern struct attackanimconfig g_AttackAnimHeavyWalk;
extern struct attackanimconfig g_AttackAnimHeavyRun;
extern struct attackanimconfig g_AttackAnimLightWalk;
extern struct attackanimconfig g_AttackAnimLightRun;
extern struct attackanimconfig g_AttackAnimDualWalk;
extern struct attackanimconfig g_AttackAnimDualRun;
extern u32 g_StageFlags;
extern struct chrdata *g_BgChrs;
extern s16 *g_BgChrnums;
extern s32 g_NumBgChrs;
extern s16 *g_TeamList;
extern s16 *g_SquadronList;
extern struct var80067e6c *var80067fdc[];
extern s16 var80067ff0[];
extern f32 var80069880;
extern u32 g_TintedGlassEnabled;
extern s32 g_AlarmTimer;
extern struct sndstate *g_AlarmAudioHandle;
extern f32 g_AlarmSpeakerWeight;
extern f32 g_GasReleaseTimer240;
extern bool g_GasReleasing;
extern struct coord g_GasPos;
extern s32 g_GasLastCough60;
extern f32 g_GasSoundTimer240;
extern struct sndstate *g_GasAudioHandle;
extern u32 g_CountdownTimerOff;
extern bool g_CountdownTimerRunning;
extern f32 g_CountdownTimerValue60;
extern u32 g_PlayersDetonatingMines;
extern s32 g_NextWeaponSlot;
extern s32 g_NextHatSlot;
extern struct linkliftdoorobj *g_LiftDoors;
extern struct padlockeddoorobj *g_PadlockedDoors;
extern struct safeitemobj *g_SafeItems;
extern struct linksceneryobj *g_LinkedScenery;
extern struct blockedpathobj *g_BlockedPaths;
extern u32 var80069930;
extern s32 var80069934;
extern f32 g_CameraWaitMultiplier;
extern f32 var8006994c;
extern f32 var80069950;
extern f32 var80069954;
extern f32 var80069958;
extern f32 g_AmmoMultiplier;
extern struct padeffectobj *g_PadEffects;
extern s32 g_LastPadEffectIndex;
extern struct autogunobj *g_ThrownLaptops;
extern struct beam *g_ThrownLaptopBeams;
extern s32 g_MaxThrownLaptops;
extern struct prop *g_Lifts[MAX_LIFTS];
extern u32 g_TvCmdlist00[];
extern u32 var8006aaa0[];
extern u32 var8006aae4[];
extern struct audiochannel *g_AudioChannels;
extern s8 var8006ae18;
extern s8 var8006ae1c;
extern s8 var8006ae20;
extern s8 var8006ae24;
extern s8 var8006ae28;
extern s32 g_ObjectiveLastIndex;
extern bool g_ObjectiveChecksDisabled;
extern u16 var8006ae90[];
extern u16 var8006af0c[];
extern u16 var8006af8c[];
extern struct noisesettings invnoisesettings_00010fd0;
extern struct inventory_class invclass_default;
extern struct weapon *g_Weapons[];
extern u32 var800700ac;
extern s32 g_CasingsActive;
extern u32 var800705a0;
extern u32 var800705a4;
extern bool var800705a8;
extern u32 var800705ac;
extern u32 var800705b0;
extern u32 var800705b4;
extern u32 var800705b8;
extern u32 var800705bc;
extern s32 g_ViRes;
extern bool g_HiResEnabled;
extern s32 var8007072c;
extern u32 var80070738;
extern u32 var8007073c;
extern struct gecreditsdata *g_CurrentGeCreditsData;
extern u32 var80070744;
extern u32 var80070748;
extern u32 var8007074c;
extern bool g_PlayersWithControl[];
extern bool g_PlayerInvincible;
extern s32 g_InCutscene;
extern s16 g_DeathAnimations[];
extern u32 g_NumDeathAnimations;
extern s32 g_ScissorX1;
extern s32 g_ScissorX2;
extern s32 g_ScissorY1;
extern s32 g_ScissorY2;
extern u32 var800711f0;
#if VERSION >= VERSION_NTSC_1_0
extern char *g_StringPointer;
extern char *g_StringPointer2;
#else
extern char g_StringPointer[];
extern char g_StringPointer2[];
#endif
extern s32 g_MpPlayerNum;
extern u32 var800714d8;
extern u16 g_ControlStyleOptions[];
extern struct menudialog g_PreAndPostMissionBriefingMenuDialog;
extern struct stageoverviewentry g_StageNames[NUM_SOLOSTAGES];
extern struct mission missions[];
extern struct menudialog g_SoloMissionControlStyleMenuDialog;
extern struct menudialog g_CiControlStyleMenuDialog;
extern struct menudialog g_CiControlStylePlayer2MenuDialog;
extern struct menudialog g_ChangeAgentMenuDialog;
extern struct menudialog g_2PMissionOptionsHMenuDialog;
extern struct menudialog g_2PMissionOptionsVMenuDialog;
extern struct menudialog g_FrWeaponsAvailableMenuDialog;
extern struct menudialog g_SoloMissionPauseMenuDialog;
extern struct menudialog g_2PMissionPauseHMenuDialog;
extern struct menudialog g_2PMissionPauseVMenuDialog;
extern struct cutscene g_Cutscenes[];
extern struct menudialog g_CiMenuViaPcMenuDialog;
extern struct menudialog g_CiMenuViaPauseMenuDialog;
extern struct menudialog g_CheatsMenuDialog;
extern struct menudialog g_PakChoosePakMenuDialog;
extern struct menudialog g_FilemgrFileSelect4MbMenuDialog;
extern struct menudialog g_MpQuickGo4MbMenuDialog;
extern struct menudialog g_MpConfirmChallenge4MbMenuDialog;
extern struct menudialog g_MainMenu4MbMenuDialog;
extern struct menudialog g_MpEditSimulant4MbMenuDialog;
extern struct menudialog g_AdvancedSetup4MbMenuDialog;
extern struct filelist *g_FileLists[];
extern bool var80075bd0[];
extern struct var80075c00 var80075c00[];
extern s32 var80075d60;
extern s32 var80075d64;
extern s32 var80075d68;
extern s32 var80075d78;
extern u8 unregistered_function1[];
extern u8 unregistered_function2[];
extern u8 unregistered_function3[];
extern struct ailist g_GlobalAilists[];
extern struct skeleton g_SkelDropship;
extern struct skeleton g_SkelSkShuttle;
extern struct skeleton g_SkelLift;
extern struct skeleton g_SkelCctv;
extern struct skeleton g_SkelTerminal;
extern struct skeleton g_SkelCiHub;
extern struct skeleton g_Skel19;
extern struct skeleton g_SkelAutogun;
extern struct skeleton g_Skel11;
extern struct skeleton g_Skel13;
extern struct skeleton g_Skel18;
extern struct skeleton g_Skel12;
extern struct skeleton g_SkelWindowedDoor;
extern struct skeleton g_Skel17;
extern struct skeleton g_Skel0C;
extern struct skeleton g_SkelLogo;
extern struct skeleton g_SkelPdLogo;
extern struct skeleton g_SkelHoverbike;
extern struct skeleton g_SkelJumpship;
extern struct skeleton g_SkelChopper;
extern struct skeleton g_SkelRope;
extern struct skeleton g_SkelBanner;
extern struct skeleton g_SkelMaianUfo;
extern struct skeleton g_SkelCableCar;
extern struct skeleton g_SkelSubmarine;
extern struct skeleton g_SkelTarget;
extern struct skeleton g_SkelRareLogo;
extern struct skeleton g_SkelWireFence;
extern struct skeleton g_SkelBB;
extern struct modelstate g_ModelStates[441];
extern u8 g_PropExplosionTypes[];
extern struct skeleton g_SkelBasic;
extern struct skeleton g_SkelChrGun;
extern struct skeleton g_Skel0B;
extern struct modelfiledata g_PlayerModelFileData;
extern struct skeleton g_Skel0A;
extern struct skeleton g_Skel20;
extern struct skeleton g_SkelClassicGun;
extern struct skeleton g_SkelCasing;
extern struct skeleton g_Skel06;
extern struct skeleton g_SkelUzi;
extern struct skeleton g_SkelJoypad;
extern struct skeleton g_Skel21;
extern struct skeleton g_SkelLaptopGun;
extern struct skeleton g_SkelK7Avenger;
extern struct skeleton g_SkelFalcon2;
extern struct skeleton g_SkelKnife;
extern struct skeleton g_SkelCmp150;
extern struct skeleton g_SkelDragon;
extern struct skeleton g_SkelSuperDragon;
extern struct skeleton g_SkelRocket;
extern struct skeleton g_Skel4A;
extern struct skeleton g_SkelShotgun;
extern struct skeleton g_SkelFarsight;
extern struct skeleton g_Skel4D;
extern struct skeleton g_SkelReaper;
extern struct skeleton g_SkelMauler;
extern struct skeleton g_SkelDevastator;
extern struct skeleton g_SkelPistol;
extern struct skeleton g_SkelAr34;
extern struct skeleton g_SkelMagnum;
extern struct skeleton g_SkelSlayerRocket;
extern struct skeleton g_SkelCyclone;
extern struct skeleton g_SkelSniperRifle;
extern struct skeleton g_SkelTranquilizer;
extern struct skeleton g_SkelCrossbow;
extern struct skeleton g_SkelTimedProxyMine;
extern struct skeleton g_SkelPhoenix;
extern struct skeleton g_SkelCallisto;
extern struct skeleton g_SkelRcp120;
extern struct skeleton g_SkelHudPiece;
extern struct skeleton g_SkelHand;
extern struct skeleton g_SkelLaser;
extern struct skeleton g_SkelGrenade;
extern struct skeleton g_SkelEcmMine;
extern struct skeleton g_SkelUplink;
extern struct skeleton g_SkelRemoteMine;
extern struct skeleton g_SkelChr;
extern struct skeleton g_SkelSkedar;
extern struct skeleton g_SkelDrCaroll;
extern struct skeleton g_Skel22;
extern struct skeleton g_SkelRobot;
extern struct headorbody g_HeadsAndBodies[];
extern struct hatposition var8007dae4[1][6];
extern f32 var8007db80;
extern f32 var8007db84;
extern u32 var8007db88;
extern u32 var8007db94;
extern u32 var8007dba0;
extern u32 var8007dbb8;
extern u32 var8007dbd0;
extern u32 var8007dbe8;
extern u32 var8007dbf4;
extern u32 var8007dc00;
extern struct var8007e3d0 var8007e3d0[];
extern u32 var8007e4a0;
extern u32 var8007e4a4;
extern f32 g_ExplosionDamageReceivedScale;
extern struct sparktype g_SparkTypes[];
extern s32 g_SparksAreActive;
extern struct weatherdata *g_WeatherData;
extern s32 g_NextShardNum;
extern bool g_ShardsActive;
extern s32 g_ScaleX;
extern struct font *g_FontNumeric;
extern struct fontchar *g_CharsNumeric;
extern struct font *g_FontHandelGothicXs;
extern struct fontchar *g_CharsHandelGothicXs;
extern struct font *g_FontHandelGothicSm;
extern struct fontchar *g_CharsHandelGothicSm;
extern struct font *g_FontHandelGothicMd;
extern struct fontchar *g_CharsHandelGothicMd;
extern struct font *g_FontHandelGothicLg;
extern struct fontchar *g_CharsHandelGothicLg;
extern u32 var8007fb9c;
extern s32 g_StageIndex;
extern s16 var8007fc0c;
extern struct var800a4640_00 *var8007fc24;
extern u16 var8007fc3c;
extern s32 g_NumPortalThings;
extern f32 var8007fcb4;
extern struct stagetableentry g_Stages[61];
extern s32 var80082050;
extern u32 g_GfxNumSwaps;
extern s32 g_NumReasonsToEndMpMatch;
extern s32 g_MusicEventQueueLength;
extern bool g_MusicNrgIsActive;
extern s32 var800840e0;
extern s32 var800840e4;
extern s32 g_MusicDeathTimer240;
extern s32 g_MusicAge60;
extern s32 g_MusicLife60;
extern s32 g_MusicSilenceTimer60;
extern bool g_Jpn;
#if VERSION >= VERSION_PAL_FINAL
extern s32 g_LanguageId;
#endif
extern struct surfacetype *g_SurfaceTypes[15];
extern void *var800844f0;
extern f32 var800845d4;
extern u32 var800845dc;
extern struct menudialog g_2PMissionInventoryHMenuDialog;
extern struct menudialog g_2PMissionInventoryVMenuDialog;
extern struct menudialog g_MpEndscreenChallengeCheatedMenuDialog;
extern struct menudialog g_MpEndscreenChallengeFailedMenuDialog;
extern struct menudialog g_MpDropOutMenuDialog;
extern struct mparena g_MpArenas[];
extern struct menudialog g_MpWeaponsMenuDialog;
extern struct menudialog g_MpPlayerOptionsMenuDialog;
extern struct menudialog g_MpControlMenuDialog;
extern struct menudialog g_MpPlayerStatsMenuDialog;
extern struct menudialog g_MpPlayerNameMenuDialog;
extern struct menudialog g_MpLoadSettingsMenuDialog;
extern struct menudialog g_MpLoadPresetMenuDialog;
extern struct menudialog g_MpLoadPlayerMenuDialog;
extern struct menudialog g_MpArenaMenuDialog;
extern struct menudialog g_MpLimitsMenuDialog;
extern struct menudialog g_MpHandicapsMenuDialog;
extern struct menudialog g_MpReadyMenuDialog;
extern struct menudialog g_MpSimulantsMenuDialog;
extern struct menudialog g_MpTeamsMenuDialog;
extern struct menudialog g_MpChallengeListOrDetailsMenuDialog;
extern struct menudialog g_MpChallengeListOrDetailsViaAdvChallengeMenuDialog;
extern struct menudialog g_MpAdvancedSetupMenuDialog;
extern struct menudialog g_MpQuickGoMenuDialog;
extern struct menudialog g_MpQuickTeamGameSetupMenuDialog;
extern struct menudialog g_MpQuickTeamMenuDialog;
extern struct menudialog g_CombatSimulatorMenuDialog;
extern struct menudialog g_MpCombatOptionsMenuDialog;
extern struct menudialog g_MpBriefcaseOptionsMenuDialog;
extern struct menudialog g_MpCaptureOptionsMenuDialog;
extern struct menudialog g_MpHillOptionsMenuDialog;
extern struct menudialog g_MpHackerOptionsMenuDialog;
extern struct menudialog g_MpPopacapOptionsMenuDialog;
extern struct mpscenariooverview g_MpScenarioOverviews[];
extern struct menudialog g_MpScenarioMenuDialog;
extern struct menudialog g_MpQuickTeamScenarioMenuDialog;
extern s32 var80087260;
extern bool g_MpEnableMusicSwitching;
extern struct mpweapon g_MpWeapons[0x27];
extern struct mphead g_MpHeads[75];
extern struct mpsimulanttype g_MpSimulantTypes[];
extern struct mpbody g_MpBodies[NUM_MPBODIES];
extern struct mppreset g_MpPresets[NUM_MPPRESETS];
extern u32 g_TeamColours[];
extern u16 var80087ce4[];
extern u8 g_NumMpSimulantChrs;
extern struct aibotweaponpreference g_AibotWeaponPreferences[];
extern u32 var80087eb4;
extern struct challenge g_MpChallenges[NUM_CHALLENGES];
extern u8 g_FrIsValidWeapon;
extern s32 g_FrWeaponNum;
extern u8 g_ChrBioSlot;
extern u8 g_HangarBioSlot;
extern u8 g_DtSlot;
extern u8 var80088bb4;
extern struct menudialog g_FrWeaponListMenuDialog;
extern struct menudialog g_FrTrainingInfoInGameMenuDialog;
extern struct menudialog g_FrTrainingInfoPreGameMenuDialog;
extern struct menudialog g_FrCompletedMenuDialog;
extern struct menudialog g_FrFailedMenuDialog;
extern struct menudialog g_BioListMenuDialog;
extern struct menudialog g_DtListMenuDialog;
extern struct menudialog g_DtDetailsMenuDialog;
extern struct menudialog g_DtFailedMenuDialog;
extern struct menudialog g_DtCompletedMenuDialog;
extern struct menudialog g_HtListMenuDialog;
extern struct menudialog g_HtDetailsMenuDialog;
extern struct menudialog g_HtFailedMenuDialog;
extern struct menudialog g_HtCompletedMenuDialog;
extern struct menudialog g_HangarListMenuDialog;
#endif