Files
gtav-src/script/dev_ng/singleplayer/include/globals/selector_globals.sch
T
2025-09-29 00:52:08 +02:00

278 lines
8.5 KiB
XML
Executable File

//////////////////////////////////////////////////////////////////////////////////////////
// //
// SCRIPT NAME : selector_globals.sch //
// AUTHOR : Kenneth Ross //
// DESCRIPTION : Globals used for the hotswap. //
// //
//////////////////////////////////////////////////////////////////////////////////////////
USING "commands_graphics.sch"
USING "Net_Script_Timers.sch"
CONST_INT USE_REPLAY_RECORDING_TRIGGERS 1
CONST_INT NUM_SELECTOR_INTERP_CAMS 8
CONST_INT SELECTOR_UI_QUICK_SWITCH_TIME_msec 300
CONST_INT SELECTOR_UI_AMBIENT_MP_TIME_msec 300
CONST_INT SELECTOR_UI_AMBIENT_SP_TIME_msec 200
CONST_INT SELECTOR_UI_FADE_TIME_msec 1500
CONST_FLOAT SELECTOR_UI_FADE_TIME_sec 1.5
CONST_FLOAT SELECTOR_CAM_DEFAULT_FOV 50.0
bool turn_on_sniper_hud_for_exile_2 = false
// Enums used to define the peds
ENUM SELECTOR_SLOTS_ENUM
SELECTOR_PED_MICHAEL = 0,
SELECTOR_PED_FRANKLIN,
SELECTOR_PED_TREVOR,
SELECTOR_PED_MULTIPLAYER,
NUMBER_OF_SELECTOR_PEDS
ENDENUM
// Enums used to define the ui icons
ENUM SELECTOR_ICON_ENUM
SELECTOR_ICON_DEFAULT = 0,
SELECTOR_ICON_CHOP,
SELECTOR_ICON_PRO_MICHAEL_MASKED, // Only works when Prologue strand is active
SELECTOR_ICON_PRO_MICHAEL_UNMASKED, // Only works when Prologue strand is active
SELECTOR_ICON_PRO_TREVOR_MASKED, // Only works when Prologue strand is active
SELECTOR_ICON_PRO_TREVOR_UNMASKED // Only works when Prologue strand is active
ENDENUM
// Enums used to define the ui activity icon
ENUM SELECTOR_ACTIVITY_ENUM
SELECTOR_ACTIVITY_DEFAULT = 0,
SELECTOR_ACTIVITY_BIKE = 1,
SELECTOR_ACTIVITY_PLANE = 2,
SELECTOR_ACTIVITY_SNIPER = 3,
SELECTOR_ACTIVITY_HELI = 4,
SELECTOR_ACTIVITY_BOAT = 5,
SELECTOR_ACTIVITY_CAR = 6,
SELECTOR_ACTIVITY_STANDING = 7,
SELECTOR_ACTIVITY_GUN = 8,
// These ones are no longer used...
SELECTOR_ACTIVITY_ATTACHED_TO_HELI,
SELECTOR_ACTIVITY_MICHAEL_UPSIDE_DOWN,
SELECTOR_ACTIVITY_TORTURE,
SELECTOR_ACTIVITY_THERMAL_VISION
ENDENUM
// Enums used to define ped state
ENUM SELECTOR_STATE_ENUM
SELECTOR_STATE_DEFAULT = 0,
SELECTOR_STATE_UNAVAILABLE,
SELECTOR_STATE_AVAILABLE,
SELECTOR_STATE_CURRENT
ENDENUM
// Types of camera used in hot-swap
ENUM SELECTOR_CAM_INTERP_TYPE
SELECTOR_CAM_DEFAULT = 0,
SELECTOR_CAM_STRAIGHT_INTERP,
SELECTOR_CAM_SHORT_SPLINE,
SELECTOR_CAM_LONG_SPLINE
ENDENUM
ENUM SELECTOR_UI_STATE_ENUM
SELECTOR_UI_HIDDEN = 0,
SELECTOR_UI_HIDDEN_TO_FULL,
SELECTOR_UI_HINT,
SELECTOR_UI_HINT_TO_FULL,
SELECTOR_UI_FULL,
SELECTOR_UI_AUTOSWITCH_HINT
ENDENUM
ENUM TAKE_CONTROL_OF_PED_FLAGS
TCF_NONE = 0,
TCF_CLEAR_TASK_INTERRUPT_CHECKS = 1 // Clear the PCF_WaitingForPlayerControlInterrupt conflig flag to ensure the players task remain
//TCF_ = 2,
//TCF_ = 4,
//TCF_ = 8,
//TCF_ = 16
ENDENUM
// The camera struct used for hot-swap
STRUCT SELECTOR_CAM_STRUCT
CAMERA_INDEX camInterpIDs[NUM_SELECTOR_INTERP_CAMS]
CAMERA_INDEX camID // The camera used in the hot-swap
CAMERA_INDEX camTo // The destination camera if we chose not to use a ped
CAMERA_INDEX camSky // The camera we use when interping to and from the sky
PED_INDEX pedTo // The ped that the player is swapping to
PED_INDEX pedFrom // Run cam spline sets this to the player id
SELECTOR_CAM_INTERP_TYPE camType // The type of camera used in the hot-swap
BOOL bSplineCreated // Control check to see if we need to generate a camera for hotswap
BOOL bSplineActive // Control check to see if the camera used in the hot-swap has been activated
BOOL bSplineComplete // Control check that tells us when the hot-swap camera has finished interpolating
BOOL bOKToSwitchPed // Control check that enabled the calling script to know when to switch the peds
BOOL bPedSwitched // Control check that the calling script can use
BOOL bRun // Control check that the calling script can use
BOOL bIsPhoneDisabled // Lets us know if we should set the phone to away when were done
BOOL bTakenContolOfTransition // #1323307
BOOL bSetShadowSampleBox3x3 // #2006772
INT iInterpCams // Amount of additional cams we are using
INT iActivateTimer // The timer that gets set when the hot-swap camera becomes active
TIME_DATATYPE iActivateTimerNetwork // Added by Neilf - required for new network times
INT iSplineDuration // The overall duration of the camera spline
FLOAT fMaxHeight // The max height that the camera reaches during the spline
// SCRIPT_TIMER iMPActivateTimer // The timer that gets set when the hot-swap camera becomes active
STREAMVOL_ID SteamingVolume
SCRIPT_TIMER iStreamingTimer
INTERIOR_INSTANCE_INDEX aStreamedInterior
BOOL DoneLoadingScene
#IF IS_DEBUG_BUILD
CAMERA_INDEX camCodeTransition
BOOL bUsingCodeCam
#ENDIF
ENDSTRUCT
SELECTOR_CAM_STRUCT g_SkyCamData
// The main struct that calling script will use to define the peds used in hot-swap
STRUCT SELECTOR_PED_STRUCT
PED_INDEX pedID[NUMBER_OF_SELECTOR_PEDS] // All the peds used in hot-swap
SELECTOR_SLOTS_ENUM ePreviousSelectorPed // The hot-swap ped that the player was previously in control of
SELECTOR_SLOTS_ENUM eCurrentSelectorPed // The hot-swap ped that the player is currently in control of
SELECTOR_SLOTS_ENUM eNewSelectorPed // The hot-swap ped that the player wants to be in control o
BOOL bDisplayHint[NUMBER_OF_SELECTOR_PEDS] // If we should display the player select hint
BOOL bDisplayDamage[NUMBER_OF_SELECTOR_PEDS] // If we should display the player damaged hint
BOOL bBlockSelectorPed[NUMBER_OF_SELECTOR_PEDS] // If we should block the ped from being selection
BOOL bAmbient // If the struct is part of the ambient or mission hotswap
SELECTOR_ICON_ENUM eIcons[NUMBER_OF_SELECTOR_PEDS]
SELECTOR_ACTIVITY_ENUM eActivity[NUMBER_OF_SELECTOR_PEDS]
SELECTOR_STATE_ENUM eFakeState[NUMBER_OF_SELECTOR_PEDS]
BOOL bInitialised
SELECTOR_SLOTS_ENUM eAutoSelectOption1
SELECTOR_SLOTS_ENUM eAutoSelectOption2
SELECTOR_SLOTS_ENUM eAutoSelectOption3
BOOL bUseCustomAutoSelectOption
ENDSTRUCT
SELECTOR_PED_STRUCT g_sTempSelectorData // For use with SET_CURRENT_SELECTOR_PED() so memory not added to script.
BOOL g_bSelectorCamActive = FALSE
INT g_iPlayerFlowHintActive = 0
// Scaleform UI
STRUCT SELECTOR_UI_STRUCT
// Scaleform movie state
BOOL bLoaded
BOOL bSetup
BOOL bFakeStateUpdated
BOOL bForceUpdate
BOOL bOnScreen
BOOL bDisabled
BOOL bDisabledThisFrame
BOOL bForceLoadThisFrame
BOOL bDisableMapOverrideThisFrame
BOOL bHiddenThisFrame
BOOL bAllowSelectionWhenHidden
BOOL bSelection
BOOL bMissionUpdate
BOOL bManualSelection
BOOL bFirstSelectionMade
BOOL bResetSelection
BOOL bBlockQuickSwitchToDamagedPed
BOOL bDisableForEndOfMission
INT iEndOfMissionTimer
// Scaleform data
INT iState[4]
INT iEnum[4]
INT iCurrent[4]
INT iMissions[4]
INT iCalls[4]
INT iTxts[4]
BOOL bHinted[4]
BOOL bDamaged[4]
BOOL bFlashDamage[4]
INT iHintEnum[4]
INT iSelectedSlot
BOOL bCharAvailable
INT iHealth[4]
INT iArmour[4]
VECTOR vCoords[4]
INT iSpecial[4]
INT iSpecialMax[4]
SELECTOR_UI_STATE_ENUM eUIStateCurrent
// Audio data
INT iSFX_Display, iSFX_Display_ScriptHash
INT iSFX_HeadDown, iSFX_HeadDown_ScriptHash
INT iSFX_Sky, iSFX_Sky_ScriptHash
BOOL bSFX_BlockAudioCalls
// Visuals
BOOL bFX_Fade
BOOL bFX_SkipFadeOut
INT iDisplayTimer
TIME_DATATYPE tdDisplayTimer
BOOL bTimeScaleReduced
TEXT_LABEL_15 tlStoredCountdown
#IF IS_DEBUG_BUILD
BOOL debug_bUseTransitionCamera
FLOAT debug_fSwitchPedAfterPhase
BOOL debug_bDisplay
PED_INDEX debug_pedID[4]
BLIP_INDEX debug_blipID[4]
BOOL debug_bBlipFlashing[4]
BOOL debug_bBlockState[4]
BOOL debug_bHintState[4]
BOOL debug_bDamageState[4]
INT debug_iState[4]
TEXT_LABEL_63 tlDisableScript
TEXT_LABEL_63 tlHideScript
#ENDIF
BOOL bCheckPlayerControl
BOOL bCheckActivationButton
BOOL bAllowWhenDead
BOOL bDisplay
BOOL bHideUiForSwitch
BOOL bShowAutoSwitch
INT iAutoSwitchSlot
INT iAutoSwitchEnum
INT iAutoSwitchTimer
BOOL bMustReleaseSelectorUIButton
BOOL bMustReleaseCancelButton
BOOL bMustReleaseAcceptButton
BOOL bMustReleaseSquareButton
#IF USE_REPLAY_RECORDING_TRIGGERS
#IF IS_DEBUG_BUILD
TEXT_LABEL_63 tlDisableReplayFeedScript
#ENDIF
BOOL bReplayFeedDisabledThisFrame
BOOL bFeedAddedForRecording
#ENDIF
ENDSTRUCT
SELECTOR_UI_STRUCT g_sSelectorUI