278 lines
8.5 KiB
XML
Executable File
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
|
|
|