perfect_dark/src/include/data.h

537 lines
19 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 u32 var8005f670;
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 void *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 var80062a8c *var80062a8c;
extern s32 var80062a90;
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 var80069910;
extern u32 var80069914;
extern u32 var80069918;
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 modeltype g_ModelTypeDropship;
extern struct modeltype g_ModelTypeSkShuttle;
extern struct modeltype g_ModelTypeLift;
extern struct modeltype g_ModelTypeCctv;
extern struct modeltype g_ModelTypeTerminal;
extern struct modeltype g_ModelTypeCiHub;
extern struct modeltype g_ModelType19;
extern struct modeltype g_ModelTypeAutogun;
extern struct modeltype g_ModelType11;
extern struct modeltype g_ModelType13;
extern struct modeltype g_ModelType18;
extern struct modeltype g_ModelType12;
extern struct modeltype g_ModelTypeWindowedDoor;
extern struct modeltype g_ModelType17;
extern struct modeltype g_ModelType0C;
extern struct modeltype g_ModelTypeLogo;
extern struct modeltype g_ModelTypePdLogo;
extern struct modeltype g_ModelTypeHoverbike;
extern struct modeltype g_ModelTypeJumpship;
extern struct modeltype g_ModelTypeChopper;
extern struct modeltype g_ModelTypeRope;
extern struct modeltype g_ModelTypeBanner;
extern struct modeltype g_ModelTypeMaianUfo;
extern struct modeltype g_ModelTypeCableCar;
extern struct modeltype g_ModelTypeSubmarine;
extern struct modeltype g_ModelTypeTarget;
extern struct modeltype g_ModelTypeRareLogo;
extern struct modeltype g_ModelTypeWireFence;
extern struct modeltype g_ModelTypeBB;
extern struct modelstate g_ModelStates[441];
extern u8 propexplosiontypes[];
extern struct modeltype g_ModelTypeBasic;
extern struct modeltype g_ModelTypeChrGun;
extern struct modeltype g_ModelType0B;
extern struct modelfiledata g_PlayerModelFileData;
extern struct modeltype g_ModelType0A;
extern struct modeltype g_ModelType20;
extern struct modeltype g_ModelTypeClassicGun;
extern struct modeltype g_ModelTypeCasing;
extern struct modeltype g_ModelType06;
extern struct modeltype g_ModelTypeUzi;
extern struct modeltype g_ModelTypeJoypad;
extern struct modeltype g_ModelType21;
extern struct modeltype g_ModelTypeLaptopGun;
extern struct modeltype g_ModelTypeK7Avenger;
extern struct modeltype g_ModelTypeFalcon2;
extern struct modeltype g_ModelTypeKnife;
extern struct modeltype g_ModelTypeCmp150;
extern struct modeltype g_ModelTypeDragon;
extern struct modeltype g_ModelTypeSuperDragon;
extern struct modeltype g_ModelTypeRocket;
extern struct modeltype g_ModelType4A;
extern struct modeltype g_ModelTypeShotgun;
extern struct modeltype g_ModelTypeFarsight;
extern struct modeltype g_ModelType4D;
extern struct modeltype g_ModelTypeReaper;
extern struct modeltype g_ModelTypeMauler;
extern struct modeltype g_ModelTypeDevastator;
extern struct modeltype g_ModelTypePistol;
extern struct modeltype g_ModelTypeAr34;
extern struct modeltype g_ModelTypeMagnum;
extern struct modeltype g_ModelTypeSlayerRocket;
extern struct modeltype g_ModelTypeCyclone;
extern struct modeltype g_ModelTypeSniperRifle;
extern struct modeltype g_ModelTypeTranquilizer;
extern struct modeltype g_ModelTypeCrossbow;
extern struct modeltype g_ModelTypeTimedProxyMine;
extern struct modeltype g_ModelTypePhoenix;
extern struct modeltype g_ModelTypeCallisto;
extern struct modeltype g_ModelTypeRcp120;
extern struct modeltype g_ModelTypeHudPiece;
extern struct modeltype g_ModelTypeHand;
extern struct modeltype g_ModelTypeLaser;
extern struct modeltype g_ModelTypeGrenade;
extern struct modeltype g_ModelTypeEcmMine;
extern struct modeltype g_ModelTypeUplink;
extern struct modeltype g_ModelTypeRemoteMine;
extern struct modeltype g_ModelTypeChr;
extern struct modeltype g_ModelTypeSkedar;
extern struct modeltype g_ModelTypeDrCaroll;
extern struct modeltype g_ModelType22;
extern struct modeltype g_ModelTypeRobot;
extern struct headorbody g_HeadsAndBodies[];
extern u32 var8007dae4;
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