312 lines
9.4 KiB
XML
Executable File
312 lines
9.4 KiB
XML
Executable File
//////////////////////////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// SCRIPT NAME : vehicle_gen_globals.sch //
|
|
// AUTHOR : Kenneth Ross //
|
|
// DESCRIPTION : Globals used for the vehicle generation. //
|
|
// //
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
USING "website_globals.sch"
|
|
USING "commands_hud.sch"
|
|
USING "shared_global_definitions.sch"
|
|
USING "SceneTool_globals.sch"
|
|
|
|
CONST_INT NUMBER_OF_DYNAMIC_VEHICLE_GENS 23
|
|
|
|
// List of all the vehicle gens handled by script
|
|
CONST_INT NUMBER_OF_VEHICLES_TO_GEN 68 // - CC
|
|
ENUM VEHICLE_GEN_NAME_ENUM
|
|
VEHGEN_MICHAEL_SAVEHOUSE = 0,
|
|
VEHGEN_MICHAEL_SAVEHOUSE_COUNTRY,
|
|
VEHGEN_FRANKLIN_SAVEHOUSE_CAR,
|
|
VEHGEN_FRANKLIN_SAVEHOUSE_BIKE,
|
|
VEHGEN_FRANKLIN_SAVEHOUSE_HILLS_CAR,
|
|
VEHGEN_FRANKLIN_SAVEHOUSE_HILLS_BIKE,
|
|
VEHGEN_TREVOR_SAVEHOUSE_COUNTRY,
|
|
VEHGEN_TREVOR_SAVEHOUSE_CITY,
|
|
VEHGEN_TREVOR_SAVEHOUSE_STRIPCLUB,
|
|
VEHGEN_MOUNTAIN_BIKE_CH,
|
|
VEHGEN_SEASHARK_SM,
|
|
VEHGEN_DUSTER,
|
|
//VEHGEN_IMPOUND_TOW_TRUCK,
|
|
|
|
// Vehicle gens with dynamic data
|
|
VEHGEN_WEB_HANGAR_MICHAEL,
|
|
VEHGEN_WEB_HANGAR_FRANKLIN,
|
|
VEHGEN_WEB_HANGAR_TREVOR,
|
|
VEHGEN_WEB_MARINA_MICHAEL,
|
|
VEHGEN_WEB_MARINA_FRANKLIN,
|
|
VEHGEN_WEB_MARINA_TREVOR,
|
|
VEHGEN_WEB_HELIPAD_MICHAEL,
|
|
VEHGEN_WEB_HELIPAD_FRANKLIN,
|
|
VEHGEN_WEB_HELIPAD_TREVOR_COUNTRY,
|
|
VEHGEN_WEB_CAR_MICHAEL,
|
|
VEHGEN_WEB_CAR_FRANKLIN,
|
|
VEHGEN_WEB_CAR_TREVOR,
|
|
VEHGEN_MISSION_VEH,
|
|
VEHGEN_MISSION_VEH_FBI4_PREP,
|
|
|
|
VEHGEN_MICHAEL_GARAGE_1, // Keep order
|
|
VEHGEN_FRANKLIN_GARAGE_1, //
|
|
VEHGEN_TREVOR_GARAGE_1, //
|
|
VEHGEN_MICHAEL_GARAGE_2, //
|
|
VEHGEN_FRANKLIN_GARAGE_2, //
|
|
VEHGEN_TREVOR_GARAGE_2, //
|
|
VEHGEN_MICHAEL_GARAGE_3, //
|
|
VEHGEN_FRANKLIN_GARAGE_3, //
|
|
VEHGEN_TREVOR_GARAGE_3, //
|
|
|
|
|
|
// One-off mission specific vehicle gens.
|
|
VEHGEN_TREV1_SMASHED_TRAILER,
|
|
VEHGEN_BJXL_CRASH_POST_ARM3,
|
|
VEHGEN_EPSILON6_PLANE,
|
|
VEHGEN_DOCKSP2B_CHINOOK,
|
|
VEHGEN_DOCKSP2B_SUB,
|
|
VEHGEN_FBI4_TRASH,
|
|
VEHGEN_FBI4_TOWING,
|
|
VEHGEN_RURALH_MILITARY_TRUCK,
|
|
VEHGEN_AGENCY_PREP_FIRETRUCK,
|
|
|
|
// RCM: Epsilon 3 - One-off vehicles gets used for ambient car script - keep these in this order
|
|
VEHGEN_EPS3_VACCA,
|
|
VEHGEN_EPS3_SURANO,
|
|
VEHGEN_EPS3_TORNADO2,
|
|
VEHGEN_EPS3_SUPERD,
|
|
VEHGEN_EPS3_DOUBLE,
|
|
VEHGEN_EPS3_DOUBLE_2,
|
|
VEHGEN_EPS3_DOUBLE_3,
|
|
|
|
// RCM: Mrs Philips 2 - Trevor must drive one back to his mom
|
|
VEHGEN_MRSP_PHARMACY1,
|
|
VEHGEN_MRSP_PHARMACY2,
|
|
VEHGEN_MRSP_HOSPITAL1,
|
|
VEHGEN_MRSP_HOSPITAL2,
|
|
VEHGEN_MRSP_HOSPITAL3,
|
|
VEHGEN_MRSP_HOSPITAL4,
|
|
|
|
// Property gens
|
|
VEHGEN_PROPERTY_MARINA_SUB,
|
|
VEHGEN_PROPERTY_MARINA_ZODIAC,
|
|
|
|
// B*1267136
|
|
VEHGEN_AIRPORT_VEHICLE,
|
|
|
|
// Preorder Blimp
|
|
VEHGEN_BLIMP_CASINO,
|
|
VEHGEN_BLIMP_DOCKS,
|
|
|
|
// Completion reward - Save Trevor
|
|
VEHGEN_TREVOR_BLAZER3,
|
|
|
|
// Completion rewards - CG to NG content
|
|
VEHGEN_WILDPHOTO_SUB, // Wildlife Photography sub spawn.
|
|
VEHGEN_RE_DUEL_CITY, // RE Duel car city spawn.
|
|
VEHGEN_RE_DUEL_COUNTRY, // RE Duel car country spawn.
|
|
VEHGEN_RE_SEAPLANE_CITY, // RE Seaplane city spawn.
|
|
VEHGEN_RE_SEAPLANE_COUNTRY, // RE Seaplane country spawn.
|
|
|
|
// Completion
|
|
|
|
// ^^^ Increment the const int above when adding a new name
|
|
VEHGEN_NONE = -1
|
|
ENDENUM
|
|
|
|
// Flags used to set the bits in the saved data properties
|
|
ENUM VEHICLE_GEN_SAVED_FLAG_ENUM
|
|
VEHGEN_S_FLAG_AVAILABLE = 0,
|
|
VEHGEN_S_FLAG_HELP_PROCESSED,
|
|
VEHGEN_S_FLAG_BLIP_PROCESSED,
|
|
VEHGEN_S_FLAG_TXT_PROCESSED,
|
|
VEHGEN_S_FLAG_PLAYER_USED_VEH,
|
|
VEHGEN_S_FLAG_ACQUIRED
|
|
ENDENUM
|
|
|
|
// Flags used to set the bits in the non-saved data properties
|
|
ENUM VEHICLE_GEN_NON_SAVED_FLAG_ENUM
|
|
VEHGEN_NS_FLAG_BLIP = 0,
|
|
VEHGEN_NS_FLAG_BLIP_LONG_RANGE,
|
|
VEHGEN_NS_FLAG_BLIP_ONCE,
|
|
VEHGEN_NS_FLAG_PRINT_HELP_ONCE,
|
|
VEHGEN_NS_FLAG_SEND_TXT_ONCE,
|
|
VEHGEN_NS_FLAG_CAN_SAVE_IN_GARAGE,
|
|
VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK,
|
|
VEHGEN_NS_FLAG_DO_PED_CHECK,
|
|
VEHGEN_NS_FLAG_NON_INTERACTABLE,
|
|
VEHGEN_NS_FLAG_FORCE_COLOURS,
|
|
VEHGEN_NS_FLAG_DYNAMIC_DATA, // Allow for the vehicle setup struct to be set by another script
|
|
VEHGEN_NS_FLAG_DYNAMIC_COORDS, // Allow for the dynamic coords to be used
|
|
VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS, // Ignore nearby vehicle model checks when creating vehicle that was handed over by another script
|
|
VEHGEN_NS_FLAG_ONLY_AVAILABLE_ONCE, // Once player interacts with the vehicle the vehicle gen will be marked as unavailable
|
|
VEHGEN_NS_FLAG_PURCHASABLE, // Player must purchase (acquire) the vehicle gen before it activates
|
|
VEHGEN_NS_FLAG_LINKED_TO_PROPERTY, // Player must purchase the property before this is unlocked
|
|
VEHGEN_NS_FLAG_PROPERTY_CAR,
|
|
VEHGEN_NS_FLAG_PROPERTY_PLANE,
|
|
VEHGEN_NS_FLAG_PROPERTY_MODSHOP,
|
|
VEHGEN_NS_FLAG_PLAYER_VEH_BIKE,
|
|
VEHGEN_NS_FLAG_PLAYER_VEH_CAR,
|
|
VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION,
|
|
VEHGEN_NS_FLAG_ANCHOR_WHEN_CREATED,
|
|
VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS, // Use this to override the cleanup/create distances with longer range variants
|
|
VEHGEN_NS_FLAG_USE_SHORT_RANGE_DIST_CHECKS,
|
|
VEHGEN_NS_FLAG_USE_WORLD_RANGE_DIST_CHECKS, // Use this to force all veh gens to be created (for warping into the players garage)
|
|
VEHGEN_NS_FLAG_LOCK_DOORS, // B*1513943 - Trevor should have to break into the Mrs Philips 2 vehicle gens
|
|
VEHGEN_NS_FLAG_BLOCK_CLEANUP_ON_ENTRY,
|
|
VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED,
|
|
VEHGEN_NS_FLAG_ONLY_SPAWN_IN_GARAGE,
|
|
VEHGEN_NS_FLAG_ANCHOR_WHEN_NO_COLLISION,
|
|
VEHGEN_NS_FLAG_ANCHORED
|
|
ENDENUM
|
|
|
|
// Struct to use when grabbing info about a vehicle gen
|
|
STRUCT VEHICLE_GEN_DATA_STRUCT
|
|
VECTOR coords
|
|
FLOAT heading
|
|
MODEL_NAMES model
|
|
TEXT_LABEL_15 help
|
|
INT flags
|
|
INT colour1
|
|
INT colour2
|
|
enumCharacterList ped
|
|
|
|
BLIP_SPRITE blip
|
|
|
|
INT dynamicSlotIndex
|
|
|
|
VECTOR scenario_block_minXYZ
|
|
VECTOR scenario_block_maxXYZ
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
TEXT_LABEL_63 dbg_name
|
|
#ENDIF
|
|
ENDSTRUCT
|
|
|
|
// Struct to use when grabbing info about a purchasable garage
|
|
STRUCT PURCHASABLE_GARAGE_DATA_STRUCT
|
|
|
|
VECTOR vBuyPos1
|
|
VECTOR vBuyPos2
|
|
FLOAT fBuyWidth
|
|
|
|
VECTOR vMenuPos1
|
|
VECTOR vMenuPos2
|
|
FLOAT fMenuWidth
|
|
|
|
structSceneTool_Pan mPans1
|
|
structSceneTool_Pan mPans2
|
|
|
|
VECTOR vPlayerCoords
|
|
FLOAT fPlayerHeading
|
|
|
|
VECTOR vStorePos1
|
|
VECTOR vStorePos2
|
|
FLOAT fStoreWidth
|
|
|
|
|
|
VECTOR vBlipCoords
|
|
BLIP_SPRITE eBlipSprite
|
|
TEXT_LABEL_15 tl15BlipLabel
|
|
|
|
TEXT_LABEL_15 tl15HelpText
|
|
|
|
INT iCost
|
|
|
|
FLOAT fDoorHeading
|
|
|
|
BOOL bWarpToGarage
|
|
|
|
VECTOR vGarageExitCoords[2]
|
|
FLOAT fGarageExitHeading[2]
|
|
|
|
BOOL bDataSet
|
|
ENDSTRUCT
|
|
|
|
// Struct to contain non saved data
|
|
STRUCT VehicleGenDataNonSaved
|
|
BOOL bLeaveAreaBeforeCreating[NUMBER_OF_VEHICLES_TO_GEN]
|
|
BOOL bCheckPlayerVehicleCleanupTimer[NUMBER_OF_VEHICLES_TO_GEN]
|
|
BOOL bDisabledForMissions // Stops the vehicle gen controller from working when on mission
|
|
VEHICLE_INDEX vehicleID[NUMBER_OF_VEHICLES_TO_GEN]
|
|
|
|
BLIP_INDEX blipID[NUMBER_OF_VEHICLES_TO_GEN]
|
|
BOOL bGarageActive[NUMBER_OF_VEHICLES_TO_GEN]
|
|
BOOL bScenarioBlockSet[NUMBER_OF_VEHICLES_TO_GEN]
|
|
SCENARIO_BLOCKING_INDEX scenarioBlock[NUMBER_OF_VEHICLES_TO_GEN]
|
|
|
|
VEHICLE_INDEX vehicleSelectID[NUMBER_OF_VEHICLES_TO_GEN]
|
|
|
|
BOOL bCheckVehGensLoaded
|
|
INT iCheckVehGensLoadedCounter
|
|
|
|
VEHICLE_GEN_DATA_STRUCT sRuntimeStruct[1]
|
|
|
|
BOOL bInGarage
|
|
VECTOR vGarageEntryCoords
|
|
|
|
VEHICLE_INDEX vehPlayerVehicle
|
|
enumCharacterList ePlayerVehiclePed
|
|
BLIP_INDEX blipPlayerVehicle
|
|
VECTOR vPlayerVehicleCoords
|
|
VECTOR vPlayerVehicleCoordsCached
|
|
BOOL bPlayerVehicleBlipUsingCoords
|
|
BOOL bPlayerVehicleBlipUsingCoordsCached
|
|
|
|
SITE_BUYABLE_VEHICLE eWebVehicles[NUMBER_OF_BUYABLE_VEHICLES_SP]
|
|
ENDSTRUCT
|
|
VehicleGenDataNonSaved g_sVehicleGenNSData
|
|
|
|
STRUCT PURCHASABLE_VEHICLE_DATA_STRUCT
|
|
INT iSiteID[NUMBER_OF_BUYABLE_VEHICLES_SP]
|
|
VEHICLE_GEN_NAME_ENUM eVehGen[NUMBER_OF_BUYABLE_VEHICLES_SP]
|
|
TIMEOFDAY todEmailDate[NUMBER_OF_BUYABLE_VEHICLES_SP]
|
|
ENDSTRUCT
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
/// Struct for the global saved data
|
|
STRUCT VehicleGenDataSaved
|
|
INT iProperties[NUMBER_OF_VEHICLES_TO_GEN] // Set bits: Available[0], HelpProcessed[1], BlipProcessed[2], TxtProcessed[3] etc.
|
|
|
|
// Dynamic vehicle gen data
|
|
VEHICLE_SETUP_STRUCT sDynamicData[NUMBER_OF_DYNAMIC_VEHICLE_GENS]
|
|
VECTOR vDynamicCoords[NUMBER_OF_DYNAMIC_VEHICLE_GENS]
|
|
FLOAT fDynamicHeading[NUMBER_OF_DYNAMIC_VEHICLE_GENS]
|
|
INT iPlayerVehicle[NUMBER_OF_DYNAMIC_VEHICLE_GENS]
|
|
|
|
PURCHASABLE_VEHICLE_DATA_STRUCT sWebVehicles[3]
|
|
|
|
BOOL bGarageIntroRun
|
|
|
|
TIMEOFDAY eMissionVehTimeStamp
|
|
|
|
BOOL bInitialDataSetup
|
|
|
|
// Vehicle setup for Finale Heist Prep vehicles
|
|
VEHICLE_SETUP_STRUCT sHeistPrepVehicles[3]
|
|
|
|
// Vehicle setup for impound vehicles
|
|
VEHICLE_SETUP_STRUCT sImpoundVehicles[3][2]
|
|
|
|
VEHICLE_SETUP_STRUCT sCarForImpound
|
|
BOOL bTrackingImpoundVehicle
|
|
BOOL bImpoundVehicleClearedBySwitch
|
|
enumCharacterList eCurrentTrackedChar
|
|
enumCharacterList eLastCharToUseMissionVehGen
|
|
|
|
INT iImpoundVehicleSlot[3]
|
|
BOOL bImpoundVehicleHelp[3]
|
|
|
|
VEHICLE_SETUP_STRUCT sImpoundSwitchVehicles[3]
|
|
ENDSTRUCT
|
|
|
|
VEHICLE_INDEX g_vCarToTrackForImpound
|
|
VEHICLE_INDEX g_vehHandoverToGen
|
|
VEHICLE_GEN_NAME_ENUM g_eVehGenToRecieveVehicle = VEHGEN_NONE
|
|
BOOL g_bVehHandoverUseVehicleCoords
|
|
VEHICLE_SETUP_STRUCT sTempImpoundVehData
|
|
enumCharacterList eTempImpoundChar
|
|
|
|
INT g_iLastMissionVehgenOwnerHash = 0
|
|
|
|
BOOL g_bForceCleaupVehgenForRecordingPlayback = FALSE
|