1820 lines
70 KiB
Scheme
Executable File
1820 lines
70 KiB
Scheme
Executable File
//////////////////////////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// SCRIPT NAME : vehicle_gen_private.sch //
|
|
// AUTHOR : Kenneth Ross //
|
|
// DESCRIPTION : Header file that contains all the data for each vehicle //
|
|
// that can be generated via script. //
|
|
// //
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
USING "player_ped_public.sch"
|
|
|
|
/// PURPOSE: Returns TRUE if the specified flag is set
|
|
FUNC BOOL GET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHICLE_GEN_NAME_ENUM eName, VEHICLE_GEN_SAVED_FLAG_ENUM eFlag)
|
|
|
|
IF eName = VEHGEN_NONE
|
|
RETURN FALSE
|
|
ENDIF
|
|
#if USE_CLF_DLC
|
|
RETURN IS_BIT_SET(g_savedGlobalsClifford.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
#endif
|
|
#if USE_NRM_DLC
|
|
RETURN IS_BIT_SET(g_savedGlobalsnorman.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
#endif
|
|
|
|
#if not USE_CLF_DLC
|
|
#if not USE_NRM_DLC
|
|
RETURN IS_BIT_SET(g_savedGlobals.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
#endif
|
|
#endif
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Sets the state for the specified flag
|
|
PROC SET_VEHICLE_GEN_SAVED_FLAG_STATE(VEHICLE_GEN_NAME_ENUM eName, VEHICLE_GEN_SAVED_FLAG_ENUM eFlag, BOOL bState)
|
|
|
|
IF eName = VEHGEN_NONE
|
|
EXIT
|
|
ENDIF
|
|
|
|
#if USE_CLF_DLC
|
|
IF bState
|
|
SET_BIT(g_savedGlobalsClifford.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
ELSE
|
|
CLEAR_BIT(g_savedGlobalsClifford.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
ENDIF
|
|
#endif
|
|
#if USE_NRM_DLC
|
|
IF bState
|
|
SET_BIT(g_savedGlobalsnorman.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
ELSE
|
|
CLEAR_BIT(g_savedGlobalsnorman.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
ENDIF
|
|
#endif
|
|
|
|
#if not USE_CLF_DLC
|
|
#if not USE_NRM_DLC
|
|
IF bState
|
|
SET_BIT(g_savedGlobals.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
ELSE
|
|
CLEAR_BIT(g_savedGlobals.sVehicleGenData.iProperties[eName], ENUM_TO_INT(eFlag))
|
|
ENDIF
|
|
#endif
|
|
#endif
|
|
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Fills the struct with all the vehicle gen data
|
|
FUNC BOOL GET_VEHICLE_GEN_DATA(VEHICLE_GEN_DATA_STRUCT &sData, VEHICLE_GEN_NAME_ENUM eName)
|
|
|
|
BOOL bDataFound
|
|
|
|
INT iOffset
|
|
|
|
sData.coords = <<0,0,0>>
|
|
sData.heading = 0.0
|
|
sData.model = DUMMY_MODEL_FOR_SCRIPT
|
|
sData.help = ""
|
|
sData.flags = 0
|
|
sData.colour1 = 0
|
|
sData.colour2 = 0
|
|
sData.ped = NO_CHARACTER
|
|
sData.blip = RADAR_TRACE_INVALID
|
|
sData.dynamicSlotIndex = 0
|
|
sData.scenario_block_minXYZ = <<0,0,0>>
|
|
sData.scenario_block_maxXYZ = <<0,0,0>>
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = ""
|
|
#ENDIF
|
|
|
|
// Note: Use the VEHICLE_GEN_NON_SAVED_FLAG_ENUM enums when setting the
|
|
// bits in the sData.flags
|
|
|
|
SWITCH eName
|
|
CASE VEHGEN_MICHAEL_SAVEHOUSE
|
|
sData.coords = << -831.8538, 172.1154, 69.9058 >>
|
|
sData.heading = 157.5705
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_MICHAEL, VEHICLE_TYPE_CAR)
|
|
sData.ped = CHAR_MICHAEL
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MICHAEL_SAVEHOUSE"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MICHAEL_SAVEHOUSE_COUNTRY
|
|
sData.coords = <<1970.9434, 3801.6838, 31.1396>>
|
|
sData.heading = 301.3964
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_MICHAEL, VEHICLE_TYPE_CAR)
|
|
sData.ped = CHAR_MICHAEL
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MICHAEL_SAVEHOUSE_COUNTRY"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_FRANKLIN_SAVEHOUSE_CAR
|
|
sData.coords = <<-22.6297, -1439.1368, 29.6549>>
|
|
sData.heading = 180.0808
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_FRANKLIN, VEHICLE_TYPE_CAR)
|
|
sData.ped = CHAR_FRANKLIN
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_FRANKLIN_SAVEHOUSE_CAR"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_FRANKLIN_SAVEHOUSE_BIKE
|
|
sData.coords = <<-22.5229, -1434.6986, 29.6552>>
|
|
sData.heading = 141.6114
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_FRANKLIN, VEHICLE_TYPE_BIKE)
|
|
sData.ped = CHAR_FRANKLIN
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_BIKE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_FRANKLIN_SAVEHOUSE_BIKE"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_FRANKLIN_SAVEHOUSE_HILLS_CAR
|
|
sData.coords = <<10.9281, 545.6690, 174.7951>>
|
|
sData.heading = 61.3920
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_FRANKLIN, VEHICLE_TYPE_CAR)
|
|
sData.ped = CHAR_FRANKLIN
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_F_SAVEHOUSE_HILLS_CAR"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_FRANKLIN_SAVEHOUSE_HILLS_BIKE
|
|
sData.coords = <<6.1093, 544.9742, 174.2835>>
|
|
sData.heading = 92.1548
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_FRANKLIN, VEHICLE_TYPE_BIKE)
|
|
sData.ped = CHAR_FRANKLIN
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_BIKE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_F_SAVEHOUSE_HILLS_BIKE"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_TREVOR_SAVEHOUSE_COUNTRY
|
|
sData.coords = << 1981.4163, 3808.1313, 31.1384 >>
|
|
sData.heading = 117.2557
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_TREVOR, VEHICLE_TYPE_CAR)
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_TREVOR_SAVEHOUSE_COUNTRY"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_TREVOR_SAVEHOUSE_CITY
|
|
sData.coords = << -1158.4875, -1529.3673, 3.8995 >>
|
|
sData.heading = 35.7505
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_TREVOR, VEHICLE_TYPE_CAR)
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_TREVOR_SAVEHOUSE_CITY"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_TREVOR_SAVEHOUSE_STRIPCLUB
|
|
sData.coords = <<148.2868, -1270.5695, 28.2252>>
|
|
sData.heading = 208.4685
|
|
sData.model = GET_PLAYER_VEH_MODEL(CHAR_TREVOR, VEHICLE_TYPE_CAR)
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_TREVOR_SAVEHOUSE_STRIPCLUB"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MOUNTAIN_BIKE_CH
|
|
sData.coords = << 1459.5085, -1380.4500, 78.3259 >>
|
|
sData.heading = 99.6211
|
|
sData.model = SCORCHER
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MOUNTAIN_BIKE_CH"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_SEASHARK_SM
|
|
sData.coords = << -1518.9470, -1387.8655, -0.5134 >>
|
|
sData.heading = 98.3867
|
|
sData.model = SEASHARK
|
|
bDataFound = TRUE
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_SEASHARK_SM"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_DUSTER
|
|
sData.coords = << 353.0926, 3577.5925, 32.3510 >>
|
|
sData.heading = 16.6205
|
|
sData.model = DUSTER
|
|
bDataFound = TRUE
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_DUSTER"
|
|
#ENDIF
|
|
BREAK
|
|
/*
|
|
CASE VEHGEN_IMPOUND_TOW_TRUCK
|
|
sData.coords = << 419.1216, -1630.1923, 29.2580 >>
|
|
sData.heading = 140.37
|
|
sData.model = TOWTRUCK
|
|
sData.ped = CHAR_FRANKLIN
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_IMPOUND_TOW_TRUCK"
|
|
#ENDIF
|
|
BREAK
|
|
*/
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// HANGARS
|
|
///
|
|
CASE VEHGEN_WEB_HANGAR_MICHAEL
|
|
sData.dynamicSlotIndex = 0
|
|
#IF USE_TU_CHANGES
|
|
sData.coords = <<-1652.0043, -3142.3484, 12.9921>>
|
|
sData.heading = 329.1082
|
|
#ENDIF
|
|
#IF NOT USE_TU_CHANGES
|
|
sData.coords = <<-1636.7456, -3152.9697, 12.9928>>
|
|
sData.heading = 329.5191
|
|
#ENDIF
|
|
//sData.help = "Hangar_Mike"
|
|
sData.ped = CHAR_MICHAEL
|
|
sData.blip = RADAR_TRACE_HANGAR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_HANGAR_MICHAEL"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_WEB_HANGAR_FRANKLIN
|
|
sData.dynamicSlotIndex = 1
|
|
#IF USE_TU_CHANGES
|
|
sData.coords = <<-1271.6487, -3380.6853, 12.9451>>
|
|
sData.heading = 329.5137
|
|
#ENDIF
|
|
#IF NOT USE_TU_CHANGES
|
|
sData.coords = <<-1255.2875, -3395.9893, 12.9453>>
|
|
#ENDIF
|
|
//sData.help = "Hangar_Frank"
|
|
sData.ped = CHAR_FRANKLIN
|
|
sData.blip = RADAR_TRACE_HANGAR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_HANGAR_FRANKLIN"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_WEB_HANGAR_TREVOR
|
|
sData.dynamicSlotIndex = 2
|
|
sData.coords = <<1735.5863, 3294.5305, 40.1651>>
|
|
sData.heading = 194.9525
|
|
//sData.help = "Hangar_Trevor"
|
|
sData.ped = CHAR_TREVOR
|
|
sData.blip = RADAR_TRACE_HANGAR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_HANGAR_TREVOR"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// MARINAS
|
|
///
|
|
CASE VEHGEN_WEB_MARINA_MICHAEL
|
|
sData.dynamicSlotIndex = 3
|
|
sData.coords = <<-846.27, -1363.19, 0.22>>
|
|
sData.heading = 108.78
|
|
//sData.help = "Marina_01_VB"
|
|
sData.ped = CHAR_MICHAEL
|
|
sData.blip = RADAR_TRACE_DOCK
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_CREATED))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_MARINA_MICHAEL"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_WEB_MARINA_FRANKLIN
|
|
sData.dynamicSlotIndex = 4
|
|
sData.coords = <<-849.47, -1354.99, 0.24>>
|
|
sData.heading = 109.84
|
|
//sData.help = "Marina_02_VB"
|
|
sData.ped = CHAR_FRANKLIN
|
|
sData.blip = RADAR_TRACE_DOCK
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_CREATED))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_MARINA_FRANKLIN"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_WEB_MARINA_TREVOR
|
|
sData.dynamicSlotIndex = 5
|
|
sData.coords = <<-852.47, -1346.20, 0.21>>
|
|
sData.heading = 108.76
|
|
//sData.help = "Marina_03_VB"
|
|
sData.ped = CHAR_TREVOR
|
|
sData.blip = RADAR_TRACE_DOCK
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_CREATED))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_MARINA_TREVOR"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// HELIPADS
|
|
///
|
|
CASE VEHGEN_WEB_HELIPAD_MICHAEL
|
|
sData.dynamicSlotIndex = 6
|
|
sData.coords = <<-745.8570, -1433.9036, 4.0005>>
|
|
//sData.help = "Helipad_01_VB"
|
|
sData.ped = CHAR_MICHAEL
|
|
sData.blip = RADAR_TRACE_HELIPAD
|
|
sData.scenario_block_minXYZ = <<-756.2952, -1441.6093, 2.9184>>
|
|
sData.scenario_block_maxXYZ = <<-738.0606, -1423.0676, 8.2835>>
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_HELIPAD_MICHAEL"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_WEB_HELIPAD_FRANKLIN
|
|
sData.dynamicSlotIndex = 7
|
|
sData.coords = <<-761.8486, -1453.8293, 4.0005>>
|
|
//sData.help = "Helipad_02_VB"
|
|
sData.ped = CHAR_FRANKLIN
|
|
sData.blip = RADAR_TRACE_HELIPAD
|
|
sData.scenario_block_minXYZ = <<-772.8158, -1459.9572, 3.2894>>
|
|
sData.scenario_block_maxXYZ = <<-754.3353, -1440.8361, 8.3334>>
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_HELIPAD_FRANKLIN"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_WEB_HELIPAD_TREVOR_COUNTRY
|
|
sData.dynamicSlotIndex = 8
|
|
sData.coords = <<1769.3, 3244.0, 41.1>>
|
|
//sData.help = "Helipad_04_VB"
|
|
sData.ped = CHAR_TREVOR
|
|
sData.blip = RADAR_TRACE_HELIPAD
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_HELIPAD_TREVOR_COUNTRY"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// CAR GARAGE
|
|
///
|
|
CASE VEHGEN_WEB_CAR_MICHAEL
|
|
sData.dynamicSlotIndex = 9
|
|
sData.coords = <<192.7897, -1020.5385, -99.98>>
|
|
sData.heading = 180.0
|
|
sData.model = DUMMY_MODEL_FOR_SCRIPT
|
|
sData.ped = CHAR_MICHAEL
|
|
sData.blip = RADAR_TRACE_GARAGE
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_SHORT_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_SPAWN_IN_GARAGE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_CAR_MICHAEL"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_WEB_CAR_FRANKLIN
|
|
sData.dynamicSlotIndex = 10
|
|
sData.coords = <<192.7897, -1020.5385, -99.98>>
|
|
sData.heading = 180.0
|
|
sData.model = DUMMY_MODEL_FOR_SCRIPT
|
|
sData.ped = CHAR_FRANKLIN
|
|
sData.blip = RADAR_TRACE_GARAGE
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_SHORT_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_SPAWN_IN_GARAGE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_CAR_FRANKLIN"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_WEB_CAR_TREVOR
|
|
sData.dynamicSlotIndex = 11
|
|
sData.coords = <<192.7897, -1020.5385, -99.98>>
|
|
sData.heading = 180.0
|
|
sData.model = DUMMY_MODEL_FOR_SCRIPT
|
|
sData.ped = CHAR_TREVOR
|
|
sData.blip = RADAR_TRACE_GARAGE
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PURCHASABLE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_SHORT_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_WANTED))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_SPAWN_IN_GARAGE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WEB_CAR_TREVOR"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
CASE VEHGEN_MICHAEL_GARAGE_1
|
|
CASE VEHGEN_FRANKLIN_GARAGE_1
|
|
CASE VEHGEN_TREVOR_GARAGE_1
|
|
iOffset = (ENUM_TO_INT(eName) - ENUM_TO_INT(VEHGEN_MICHAEL_GARAGE_1))
|
|
sData.dynamicSlotIndex = 12 + iOffset
|
|
sData.coords = <<196.2794, -1020.4791, -99.98>>
|
|
sData.heading = 180.0
|
|
sData.model = DUMMY_MODEL_FOR_SCRIPT
|
|
sData.ped = INT_TO_ENUM(enumCharacterList, ENUM_TO_INT(CHAR_MICHAEL)+iOffset)
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLOCK_CLEANUP_ON_ENTRY))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_SHORT_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_SPAWN_IN_GARAGE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_GARAGE_1"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MICHAEL_GARAGE_2
|
|
CASE VEHGEN_FRANKLIN_GARAGE_2
|
|
CASE VEHGEN_TREVOR_GARAGE_2
|
|
iOffset = (ENUM_TO_INT(eName) - ENUM_TO_INT(VEHGEN_MICHAEL_GARAGE_2))
|
|
sData.dynamicSlotIndex = 15 + iOffset
|
|
sData.coords = <<199.8872, -1020.0480, -99.98>>
|
|
sData.heading = 180.0
|
|
sData.model = DUMMY_MODEL_FOR_SCRIPT
|
|
sData.ped = INT_TO_ENUM(enumCharacterList, ENUM_TO_INT(CHAR_MICHAEL)+iOffset)
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLOCK_CLEANUP_ON_ENTRY))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_SHORT_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_SPAWN_IN_GARAGE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_GARAGE_2"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MICHAEL_GARAGE_3
|
|
CASE VEHGEN_FRANKLIN_GARAGE_3
|
|
CASE VEHGEN_TREVOR_GARAGE_3
|
|
iOffset = (ENUM_TO_INT(eName) - ENUM_TO_INT(VEHGEN_MICHAEL_GARAGE_3))
|
|
sData.dynamicSlotIndex = 18 + iOffset
|
|
sData.coords = <<203.6006, -1019.7762, -99.98>>
|
|
sData.heading = 180.0
|
|
sData.model = DUMMY_MODEL_FOR_SCRIPT
|
|
sData.ped = INT_TO_ENUM(enumCharacterList, ENUM_TO_INT(CHAR_MICHAEL)+iOffset)
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_PED_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLOCK_CLEANUP_ON_ENTRY))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_SHORT_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_SPAWN_IN_GARAGE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_GARAGE_3"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
CASE VEHGEN_MISSION_VEH
|
|
sData.dynamicSlotIndex = 21
|
|
sData.coords = << 0.0, 0.0, 0.0 >>
|
|
sData.heading = 0.0
|
|
sData.model = DUMMY_MODEL_FOR_SCRIPT
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_COORDS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_AVAILABLE_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MISSION_VEH"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MISSION_VEH_FBI4_PREP
|
|
sData.dynamicSlotIndex = 22
|
|
sData.coords = <<723.2515, -632.0496, 27.1484>>
|
|
sData.heading = 12.9316
|
|
sData.model = TAILGATER
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_COORDS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_AVAILABLE_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_IGNORE_HANDOVER_MODEL_CHECKS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MISSION_VEH_FBI4_PREP"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_TREV1_SMASHED_TRAILER
|
|
sData.coords = <<-51.23, 3111.9, 24.95>>
|
|
sData.heading = 46.78
|
|
sData.model = PROPTRAILER
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_NON_INTERACTABLE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_TREV1_SMASHED_TRAILER"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_BJXL_CRASH_POST_ARM3
|
|
sData.coords = << -55.7984, -1096.5856, 25.4223 >>
|
|
sData.heading = 308.0596
|
|
sData.model = BJXL
|
|
sData.colour1 = 126
|
|
sData.colour2 = 126
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_FORCE_COLOURS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_AVAILABLE_ONCE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_BJXL_CRASH_POST_ARM3"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_EPSILON6_PLANE
|
|
sData.coords = <<-2892.93,3192.37,11.66>>
|
|
sData.heading = -132.35
|
|
sData.model = VELUM
|
|
sData.colour1 = 157
|
|
sData.colour2 = 157
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_FORCE_COLOURS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_AVAILABLE_ONCE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_EPSILON6_PLANE"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_DOCKSP2B_CHINOOK
|
|
#IF USE_TU_CHANGES
|
|
sData.coords = <<1744.3083, 3270.6731, 40.2076>>
|
|
sData.heading = 125
|
|
#ENDIF
|
|
#IF NOT USE_TU_CHANGES
|
|
sData.coords = <<1692.4996, 3270.3042, 39.9374>>
|
|
sData.heading = 289.8685
|
|
#ENDIF
|
|
sData.model = CARGOBOB3
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_NON_INTERACTABLE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_DOCKSP2B_CHINOOK"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_DOCKSP2B_SUB
|
|
sData.coords = <<1751.43970, 3322.64307, 42.1855>>
|
|
sData.heading = 268.1340
|
|
sData.model = SUBMERSIBLE
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_DOCKSP2B_SUB"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_FBI4_TOWING
|
|
sData.coords = <<1377.1045, -2076.2000, 52.0000>>
|
|
sData.heading = 37.5000
|
|
sData.model = TOWTRUCK
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_NON_INTERACTABLE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_FBI4_TOWING"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_FBI4_TRASH
|
|
sData.coords = <<1380.4200, -2072.7695, 51.7607>>
|
|
sData.heading = 37.5000
|
|
sData.model = TRASH
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_NON_INTERACTABLE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_FBI4_TRASH"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_RURALH_MILITARY_TRUCK
|
|
sData.coords = <<1359.3892, 3618.4407, 33.8907>>
|
|
sData.heading = 108.2337
|
|
sData.model = BARRACKS
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_NON_INTERACTABLE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_RURALH_MILITARY_TRUCK"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_AGENCY_PREP_FIRETRUCK
|
|
sData.coords = <<693.1154, -1018.1551, 21.6387>>
|
|
sData.heading = 177.6454
|
|
sData.model = FIRETRUK
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_NON_INTERACTABLE))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_AGENCY_PREP_FIRETRUCK"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_EPS3_VACCA
|
|
sData.coords = <<-73.6963, 495.1240, 143.5226>>
|
|
sData.heading = 155.5994
|
|
sData.model = VACCA
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_EPS3_VACCA"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_EPS3_SURANO
|
|
sData.coords = <<-67.6314, 891.8266, 234.5348>>
|
|
sData.heading = 294.9930
|
|
sData.model = SURANO
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_EPS3_SURANO"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_EPS3_TORNADO2
|
|
sData.coords = <<533.9048, -169.2469, 53.7005>>
|
|
sData.heading = 1.2998
|
|
sData.model = TORNADO2
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_EPS3_TORNADO2"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_EPS3_SUPERD
|
|
sData.coords = <<-726.8914, -408.6952, 34.0416>>
|
|
sData.heading = 267.7392
|
|
sData.model = SUPERD
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_EPS3_SUPERD"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_EPS3_DOUBLE
|
|
sData.coords = <<-1321.5186, 261.3993, 61.5709>>
|
|
sData.heading = 350.7697
|
|
sData.model = DOUBLE
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_EPS3_DOUBLE"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_EPS3_DOUBLE_2
|
|
sData.coords = <<-1267.9991, 451.6463, 93.7071>>
|
|
sData.heading = 48.9311
|
|
sData.model = DOUBLE
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_EPS3_DOUBLE_2"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_EPS3_DOUBLE_3
|
|
sData.coords = <<-1062.0762, -226.7637, 37.1570>>
|
|
sData.heading = 234.2767
|
|
sData.model = DOUBLE
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_EPS3_DOUBLE_3"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MRSP_PHARMACY1
|
|
sData.coords = <<68.169144,-1558.958130,29.469042>>
|
|
sData.heading = 49.905754
|
|
sData.model = RUMPO2
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_LOCK_DOORS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MRSP_PHARMACY1"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MRSP_PHARMACY2
|
|
sData.coords = <<589.439880,2736.707764,42.033165>>
|
|
sData.heading = -175.710495
|
|
sData.model = RUMPO2
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_LOCK_DOORS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MRSP_PHARMACY2"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MRSP_HOSPITAL1
|
|
sData.coords = <<-488.773956,-344.572052,34.363564>>
|
|
sData.heading = 82.404198
|
|
sData.model = RUMPO2
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_LOCK_DOORS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MRSP_HOSPITAL1"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MRSP_HOSPITAL2
|
|
sData.coords = <<288.880829,-585.472839,43.154282>>
|
|
sData.heading = -20.807068
|
|
sData.model = RUMPO2
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_LOCK_DOORS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MRSP_HOSPITAL2"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MRSP_HOSPITAL3
|
|
sData.coords = <<304.829376,-1383.674194,31.677443>>
|
|
sData.heading = -41.116028
|
|
sData.model = RUMPO2
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_LOCK_DOORS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MRSP_HOSPITAL3"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_MRSP_HOSPITAL4
|
|
sData.coords = <<1126.194336,-1481.485962,34.701603>>
|
|
sData.heading = -91.433693
|
|
sData.model = RUMPO2
|
|
sData.ped = CHAR_TREVOR
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_LOCK_DOORS))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_MRSP_HOSPITAL4"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_PROPERTY_MARINA_SUB
|
|
sData.coords = <<-1598.36, 5252.84, 0>>
|
|
sData.heading = 28.14
|
|
sData.model = SUBMERSIBLE
|
|
sData.blip = RADAR_TRACE_SUB
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_NO_COLLISION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_PROPERTY_MARINA_SUB"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_PROPERTY_MARINA_ZODIAC
|
|
sData.coords = <<-1602.62, 5260.37, 0.86>>
|
|
sData.heading = 25.32
|
|
sData.model = DINGHY
|
|
sData.blip = RADAR_TRACE_DINGHY
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_CREATED))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_PROPERTY_MARINA_ZODIAC"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_AIRPORT_VEHICLE
|
|
sData.coords = <<2116.5710, 4763.2793, 40.1596>>
|
|
sData.heading = 198.7230
|
|
sData.model = BFINJECTION
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_AIRPORT_VEHICLE"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_BLIMP_CASINO
|
|
sData.coords = << 1133.21, 120.20, 80.9 >>
|
|
sData.heading = 134.40
|
|
IF IS_LAST_GEN_PLAYER()
|
|
sData.model = INT_TO_ENUM(MODEL_NAMES, HASH("BLIMP2"))
|
|
ELSE
|
|
sData.model = BLIMP
|
|
ENDIF
|
|
sData.blip = RADAR_TRACE_BLIMP
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_AVAILABLE_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP_LONG_RANGE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_BLIMP_CASINO"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_BLIMP_DOCKS
|
|
sData.coords = << -806.31, -2679.65, 13.9 >>
|
|
sData.heading = 150.54
|
|
IF IS_LAST_GEN_PLAYER()
|
|
sData.model = INT_TO_ENUM(MODEL_NAMES, HASH("BLIMP2"))
|
|
ELSE
|
|
sData.model = BLIMP
|
|
ENDIF
|
|
sData.blip = RADAR_TRACE_BLIMP
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ONLY_AVAILABLE_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP_LONG_RANGE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_BLIMP_DOCKS"
|
|
#ENDIF
|
|
BREAK
|
|
CASE VEHGEN_TREVOR_BLAZER3
|
|
sData.coords = <<1985.85, 3828.96, 31.98>>
|
|
sData.heading = -16.58
|
|
sData.model = BLAZER3
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_TREVOR_BLAZER3"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
// Wildlife Photography sub spawn.
|
|
CASE VEHGEN_WILDPHOTO_SUB
|
|
sData.coords = <<3870.75, 4464.67, 0.0>>
|
|
sData.heading = 0.0
|
|
sData.model = SUBMERSIBLE2
|
|
sData.blip = RADAR_TRACE_SUB
|
|
//SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP_ONCE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP))
|
|
//SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_BLIP_LONG_RANGE))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_HIDE_BLIP_ON_MISSION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_NO_COLLISION))
|
|
//SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_CREATED)) //VEHGEN_NS_FLAG_ANCHORED
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_WILDPHOTO_SUB"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
// RE Duel car city spawn.
|
|
CASE VEHGEN_RE_DUEL_CITY
|
|
sData.coords = <<1257.7295, -2564.4741, 41.7170>>
|
|
sData.heading = 284.5561
|
|
sData.model = INT_TO_ENUM(MODEL_NAMES, HASH("DUKES2"))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_RE_DUEL_CITY"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
// RE Duel car country spawn.
|
|
CASE VEHGEN_RE_DUEL_COUNTRY
|
|
sData.coords = <<643.2823, 3014.1521, 42.2733>>
|
|
sData.heading = 128.0554
|
|
sData.model = INT_TO_ENUM(MODEL_NAMES, HASH("DUKES2"))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_RE_DUEL_COUNTRY"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
// RE Seaplane city spawn.
|
|
CASE VEHGEN_RE_SEAPLANE_CITY
|
|
sData.coords = <<38.9368, 850.8677, 196.3000>>
|
|
sData.heading = 311.6813
|
|
sData.model = INT_TO_ENUM(MODEL_NAMES, HASH("DODO"))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_NO_COLLISION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
//SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_CREATED)) //VEHGEN_NS_FLAG_ANCHORED
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_RE_SEAPLANE_CITY"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
// RE Seaplane country spawn.
|
|
CASE VEHGEN_RE_SEAPLANE_COUNTRY
|
|
sData.coords = <<1333.8752, 4262.2256, 30.7800>>
|
|
sData.heading = 262.5293
|
|
sData.model = INT_TO_ENUM(MODEL_NAMES, HASH("DODO"))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_NO_COLLISION))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_USE_LONG_RANGE_DIST_CHECKS))
|
|
SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DO_NEARBY_MODEL_CHECK))
|
|
//SET_BIT(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_ANCHOR_WHEN_CREATED)) //VEHGEN_NS_FLAG_ANCHORED
|
|
bDataFound = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
sData.dbg_name = "VEHGEN_RE_SEAPLANE_COUNTRY"
|
|
#ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
// Update model name if using dynamic data
|
|
IF IS_BIT_SET(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_DYNAMIC_DATA))
|
|
#if USE_CLF_DLC
|
|
sData.model = g_savedGlobalsClifford.sVehicleGenData.sDynamicData[sData.dynamicSlotIndex].eModel
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobalsClifford.sVehicleGenData.vDynamicCoords[sData.dynamicSlotIndex], <<0,0,0>>)
|
|
sData.coords = g_savedGlobalsClifford.sVehicleGenData.vDynamicCoords[sData.dynamicSlotIndex]
|
|
ENDIF
|
|
IF g_savedGlobalsClifford.sVehicleGenData.fDynamicHeading[sData.dynamicSlotIndex] != -1.0
|
|
sData.heading = g_savedGlobalsClifford.sVehicleGenData.fDynamicHeading[sData.dynamicSlotIndex]
|
|
ENDIF
|
|
#endif
|
|
#if USE_NRM_DLC
|
|
sData.model = g_savedGlobalsnorman.sVehicleGenData.sDynamicData[sData.dynamicSlotIndex].eModel
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobalsnorman.sVehicleGenData.vDynamicCoords[sData.dynamicSlotIndex], <<0,0,0>>)
|
|
sData.coords = g_savedGlobalsnorman.sVehicleGenData.vDynamicCoords[sData.dynamicSlotIndex]
|
|
ENDIF
|
|
IF g_savedGlobalsnorman.sVehicleGenData.fDynamicHeading[sData.dynamicSlotIndex] != -1.0
|
|
sData.heading = g_savedGlobalsnorman.sVehicleGenData.fDynamicHeading[sData.dynamicSlotIndex]
|
|
ENDIF
|
|
#endif
|
|
|
|
#if not USE_CLF_DLC
|
|
#if not USE_NRM_DLC
|
|
sData.model = g_savedGlobals.sVehicleGenData.sDynamicData[sData.dynamicSlotIndex].eModel
|
|
|
|
#IF USE_TU_CHANGES
|
|
// Fix for bug # 1876673 - Override coords for miljet
|
|
// Fix for bug # 1876654 - Override coords for besra
|
|
// Fix for bug # 1924889 - Michael and Trevor clip through parked Western Besra during final cutscene of Exile 2
|
|
// Fix for bug # 2059214 - Titan explodes instantly when spawned from Trevors hanger
|
|
// Fix for bug # 2322104 - Luxor Deluxe doesn't fit inside Trevor's Sandy Shores Hangar. The vehicle's back wing hits the ceiling and can spawn with the front wheel in the air.
|
|
IF eName = VEHGEN_WEB_HANGAR_TREVOR
|
|
IF sData.model = MILJET
|
|
OR sData.model = BESRA
|
|
OR sData.model = LUXOR
|
|
OR sData.model = SHAMAL
|
|
OR sData.model = TITAN
|
|
OR sData.model = LUXOR2
|
|
sData.coords = <<1678.8, 3229.6, 41.8>>
|
|
sData.heading = 106.0906
|
|
ENDIF
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobals.sVehicleGenData.vDynamicCoords[sData.dynamicSlotIndex], <<0,0,0>>)
|
|
sData.coords = g_savedGlobals.sVehicleGenData.vDynamicCoords[sData.dynamicSlotIndex]
|
|
ENDIF
|
|
IF g_savedGlobals.sVehicleGenData.fDynamicHeading[sData.dynamicSlotIndex] != -1.0
|
|
sData.heading = g_savedGlobals.sVehicleGenData.fDynamicHeading[sData.dynamicSlotIndex]
|
|
ENDIF
|
|
#endif
|
|
#endif
|
|
ENDIF
|
|
|
|
#if USE_CLF_DLC
|
|
// Update coords if we have override.
|
|
IF IS_BIT_SET(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_BIKE))
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobalsClifford.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_BIKE][sData.ped], <<0,0,0>>)
|
|
sData.coords = g_savedGlobalsClifford.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_BIKE][sData.ped]
|
|
sData.heading = g_savedGlobalsClifford.sPlayerData.sInfo.fPlayerVehicleHeading[SAVED_VEHICLE_SLOT_BIKE][sData.ped]
|
|
ENDIF
|
|
ELIF IS_BIT_SET(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobalsClifford.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_CAR][sData.ped], <<0,0,0>>)
|
|
sData.coords = g_savedGlobalsClifford.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_CAR][sData.ped]
|
|
sData.heading = g_savedGlobalsClifford.sPlayerData.sInfo.fPlayerVehicleHeading[SAVED_VEHICLE_SLOT_CAR][sData.ped]
|
|
ENDIF
|
|
ENDIF
|
|
#endif
|
|
#if USE_NRM_DLC
|
|
// Update coords if we have override.
|
|
IF IS_BIT_SET(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_BIKE))
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobalsnorman.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_BIKE][sData.ped], <<0,0,0>>)
|
|
sData.coords = g_savedGlobalsnorman.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_BIKE][sData.ped]
|
|
sData.heading = g_savedGlobalsnorman.sPlayerData.sInfo.fPlayerVehicleHeading[SAVED_VEHICLE_SLOT_BIKE][sData.ped]
|
|
ENDIF
|
|
ELIF IS_BIT_SET(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobalsnorman.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_CAR][sData.ped], <<0,0,0>>)
|
|
sData.coords = g_savedGlobalsnorman.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_CAR][sData.ped]
|
|
sData.heading = g_savedGlobalsnorman.sPlayerData.sInfo.fPlayerVehicleHeading[SAVED_VEHICLE_SLOT_CAR][sData.ped]
|
|
ENDIF
|
|
ENDIF
|
|
#endif
|
|
|
|
#if not USE_CLF_DLC
|
|
#if not USE_NRM_DLC
|
|
// Update coords if we have override.
|
|
IF IS_BIT_SET(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_BIKE))
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobals.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_BIKE][sData.ped], <<0,0,0>>)
|
|
sData.coords = g_savedGlobals.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_BIKE][sData.ped]
|
|
sData.heading = g_savedGlobals.sPlayerData.sInfo.fPlayerVehicleHeading[SAVED_VEHICLE_SLOT_BIKE][sData.ped]
|
|
ENDIF
|
|
ELIF IS_BIT_SET(sData.flags, ENUM_TO_INT(VEHGEN_NS_FLAG_PLAYER_VEH_CAR))
|
|
IF NOT ARE_VECTORS_EQUAL(g_savedGlobals.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_CAR][sData.ped], <<0,0,0>>)
|
|
sData.coords = g_savedGlobals.sPlayerData.sInfo.vPlayerVehicleCoords[SAVED_VEHICLE_SLOT_CAR][sData.ped]
|
|
sData.heading = g_savedGlobals.sPlayerData.sInfo.fPlayerVehicleHeading[SAVED_VEHICLE_SLOT_CAR][sData.ped]
|
|
ENDIF
|
|
ENDIF
|
|
#endif
|
|
#endif
|
|
|
|
RETURN bDataFound
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Fills the struct with all the vehicle gen data
|
|
FUNC BOOL GET_PURCHASABLE_GARAGE_DATA(PURCHASABLE_GARAGE_DATA_STRUCT &sData, VEHICLE_GEN_NAME_ENUM eName)
|
|
|
|
// Note: The VEHICLE_GEN_NAME_ENUM param must have the save garage flag set
|
|
sData.bDataSet = FALSE
|
|
sData.bWarpToGarage = FALSE
|
|
sData.tl15BlipLabel = ""
|
|
|
|
SWITCH eName
|
|
/////////////////////////////////////////////////////////////////
|
|
/// HANGARS
|
|
///
|
|
CASE VEHGEN_WEB_HANGAR_MICHAEL
|
|
sData.vBuyPos1 = <<-952.882324,-2795.896484,12.132326>>
|
|
sData.vBuyPos2 = <<-966.730835,-2787.974854,16.132324>>
|
|
sData.fBuyWidth = 17.562500
|
|
|
|
sData.vPlayerCoords = <<-966.1285, -2794.7891, 12.9648>>
|
|
sData.fPlayerHeading = 146.6324
|
|
|
|
sData.mPans1.mStart.vPos = <<-1652.4537, -3059.1494, 24.9320>>
|
|
sData.mPans1.mStart.vRot = <<-2.5815, 0.0000, -176.2374>>
|
|
sData.mPans1.fFov = 38.2303
|
|
|
|
sData.mPans1.mEnd.vPos = <<-1651.5469, -3060.4783, 23.8077>>
|
|
sData.mPans1.mEnd.vRot = <<-2.5815, 0.0000, -176.2374>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<-1650.4305, -3177.2292, 16.9898>>
|
|
sData.mPans2.mStart.vRot = <<-4.9147, -0.0000, -11.6415>>
|
|
sData.mPans2.fFov = 38.2303
|
|
|
|
sData.mPans2.mEnd.vPos = <<-1647.4950, -3173.7278, 16.6439>>
|
|
sData.mPans2.mEnd.vRot = <<-4.9147, -0.0000, -11.6415>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vMenuPos1 = <<-1625.910522,-3167.555664,11.114552>>
|
|
sData.vMenuPos2 = <<-1688.580078,-3130.740723,20.135382>>
|
|
sData.fMenuWidth = 60.187500
|
|
|
|
sData.vStorePos1 = <<-1625.910522,-3167.555664,11.114552>>
|
|
sData.vStorePos2 = <<-1688.580078,-3130.740723,20.135382>>
|
|
sData.fStoreWidth = 60.187500
|
|
|
|
sData.vBlipCoords = <<-966.0840, -2793.6130, 12.9648>>
|
|
sData.eBlipSprite = RADAR_TRACE_HANGAR_FOR_SALE
|
|
sData.tl15BlipLabel = "HANGAR_NAME"
|
|
|
|
sData.iCost = 1378600
|
|
sData.tl15HelpText = "HANGAR"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
CASE VEHGEN_WEB_HANGAR_FRANKLIN
|
|
sData.vBuyPos1 = <<-952.882324,-2795.896484,12.132326>>
|
|
sData.vBuyPos2 = <<-966.730835,-2787.974854,16.132324>>
|
|
sData.fBuyWidth = 17.562500
|
|
|
|
sData.vPlayerCoords = <<-966.1285, -2794.7891, 12.9648>>
|
|
sData.fPlayerHeading = 146.6324
|
|
|
|
sData.mPans1.mStart.vPos = <<-1184.2, -3345, 17.5>>
|
|
sData.mPans1.mStart.vRot = <<3.5, 0, 109>>
|
|
sData.mPans1.fFov = 30.3
|
|
|
|
sData.mPans1.mEnd.vPos = <<-1184.3, -3345, 16.6>>
|
|
sData.mPans1.mEnd.vRot = <<3.5, 0, 109>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<-1272.6, -3414.7, 15.6>>
|
|
sData.mPans2.mStart.vRot = <<-2.1, 0, -9.9>>
|
|
sData.mPans2.fFov = 37.8
|
|
|
|
sData.mPans2.mEnd.vPos = <<-1274, -3414.4, 15.6>>
|
|
sData.mPans2.mEnd.vRot = <<-2.1, 0, -9.9>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vMenuPos1 = <<-1247.687744,-3408.546387,20.504175>>
|
|
sData.vMenuPos2 = <<-1309.774048,-3372.294434,11.368781>>
|
|
sData.fMenuWidth = 66.187500
|
|
|
|
sData.vStorePos1 = <<-1247.687744,-3408.546387,20.504175>>
|
|
sData.vStorePos2 = <<-1309.774048,-3372.294434,11.368781>>
|
|
sData.fStoreWidth = 66.187500
|
|
|
|
sData.vBlipCoords = <<-966.0840, -2793.6130, 12.9648>>
|
|
sData.eBlipSprite = RADAR_TRACE_HANGAR_FOR_SALE
|
|
sData.tl15BlipLabel = "HANGAR_NAME"
|
|
|
|
sData.iCost = 1378600
|
|
sData.tl15HelpText = "HANGAR"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
CASE VEHGEN_WEB_HANGAR_TREVOR
|
|
sData.vBuyPos1 = <<1727.301758,3291.453125,39.619114>>
|
|
sData.vBuyPos2 = <<1744.107666,3296.214600,44.171993>>
|
|
sData.fBuyWidth = 4.687500
|
|
|
|
sData.vPlayerCoords = <<1737.5295, 3289.2388, 40.1448>>
|
|
sData.fPlayerHeading = 14.8763
|
|
|
|
sData.mPans1.mStart.vPos = <<1739.7485, 3280.4453, 45.8124>>
|
|
sData.mPans1.mStart.vRot = <<-12.3854, -0.0000, 14.8379>>
|
|
sData.mPans1.fFov = 50.0
|
|
|
|
sData.mPans1.mEnd.vPos = <<1739.7485, 3280.4453, 45.8124>>
|
|
sData.mPans1.mEnd.vRot = <<-12.3854, -0.0000, 14.8379>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<1739.7485, 3280.4453, 45.8124>>
|
|
sData.mPans2.mStart.vRot = <<-12.3854, -0.0000, 14.8379>>
|
|
sData.mPans2.fFov = 50.0
|
|
|
|
sData.mPans2.mEnd.vPos = <<1739.7485, 3280.4453, 45.8124>>
|
|
sData.mPans2.mEnd.vRot = <<-12.3854, -0.0000, 14.8379>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vMenuPos1 = <<1718.055542,3305.018799,45.709221>>
|
|
sData.vMenuPos2 = <<1745.705933,3313.101074,39.757996>>
|
|
sData.fMenuWidth = 28.125000
|
|
|
|
sData.vStorePos1 = <<1718.055542,3305.018799,45.709221>>
|
|
sData.vStorePos2 = <<1745.705933,3313.101074,39.757996>>
|
|
sData.fStoreWidth = 28.125000
|
|
|
|
sData.vBlipCoords = <<1735.5863, 3294.5305, 40.1651>>
|
|
sData.eBlipSprite = RADAR_TRACE_HANGAR_FOR_SALE
|
|
sData.tl15BlipLabel = "HANGAR_NAME2"
|
|
|
|
sData.iCost = 1378600
|
|
sData.tl15HelpText = "HANGAR"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
/// HELIPADS
|
|
///
|
|
CASE VEHGEN_WEB_HELIPAD_MICHAEL
|
|
sData.vBuyPos1 = <<-709.094971,-1414.229492,3.188014>>
|
|
sData.vBuyPos2 = <<-712.122986,-1411.654541,6.938014>>
|
|
sData.fBuyWidth = 3.250000
|
|
|
|
sData.vMenuPos1 = <<-739.153076,-1439.509277,3.188024>>
|
|
sData.vMenuPos2 = <<-753.779175,-1426.755615,7.188024>>
|
|
sData.fMenuWidth = 17.562500
|
|
|
|
sData.vPlayerCoords = <<-700.9434, -1418.1694, 4.0005>>
|
|
sData.fPlayerHeading = 142.6382
|
|
|
|
sData.mPans1.mStart.vPos = <<-738, -1440, 6.3>>
|
|
sData.mPans1.mStart.vRot = <<-2.5, 0, 48.3>>
|
|
sData.mPans1.fFov = 45
|
|
|
|
sData.mPans1.mEnd.vPos = <<-738, -1440, 6>>
|
|
sData.mPans1.mEnd.vRot = <<-2.5, 0, 48.3>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<-749.3, -1425.7, 5.9>>
|
|
sData.mPans2.mStart.vRot = <<-9.9, 0.2, -152.8>>
|
|
sData.mPans2.fFov = 40
|
|
|
|
sData.mPans2.mEnd.vPos = <<-749.9, -1426, 5.9>>
|
|
sData.mPans2.mEnd.vRot = <<-9.9, 0.2, -152.8>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vStorePos1 = <<-738.779053,-1439.377197,9.125515>>
|
|
sData.vStorePos2 = <<-755.911072,-1425.005859,1.688014>>
|
|
sData.fStoreWidth = 18.062500
|
|
|
|
sData.vBlipCoords = <<-708.48, -1414.66, 4.00>>
|
|
sData.eBlipSprite = RADAR_TRACE_HELIPAD_FOR_SALE
|
|
sData.tl15BlipLabel = "HELIPAD_NAME"
|
|
|
|
sData.iCost = 419850
|
|
sData.tl15HelpText = "HELIPAD"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
CASE VEHGEN_WEB_HELIPAD_FRANKLIN
|
|
sData.vBuyPos1 = <<-709.094971,-1414.229492,3.188014>>
|
|
sData.vBuyPos2 = <<-712.122986,-1411.654541,6.938014>>
|
|
sData.fBuyWidth = 3.250000
|
|
|
|
sData.vMenuPos1 = <<-755.681152,-1459.233521,3.188023>>
|
|
sData.vMenuPos2 = <<-770.767090,-1446.866577,7.188024>>
|
|
sData.fMenuWidth = 17.562500
|
|
|
|
sData.vPlayerCoords = <<-700.9434, -1418.1694, 4.0005>>
|
|
sData.fPlayerHeading = 142.6382
|
|
|
|
sData.mPans1.mStart.vPos = <<-754.6, -1460.5, 6.4>>
|
|
sData.mPans1.mStart.vRot = <<-4.8, 0, 48.5>>
|
|
sData.mPans1.fFov = 45
|
|
|
|
sData.mPans1.mEnd.vPos = <<-754.6, -1460.6, 6.1>>
|
|
sData.mPans1.mEnd.vRot = <<-2.2, 0, 48.5>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<-771.8, -1452.6, 5.7>>
|
|
sData.mPans2.mStart.vRot = <<-4.1, 0, -98.6>>
|
|
sData.mPans2.fFov = 40.0
|
|
|
|
sData.mPans2.mEnd.vPos = <<-771.8, -1452.1, 5.7>>
|
|
sData.mPans2.mEnd.vRot = <<-4.1, 0, -98.6>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vStorePos1 = <<-755.571533,-1459.453003,9.125514>>
|
|
sData.vStorePos2 = <<-771.420410,-1446.234741,1.688017>>
|
|
sData.fStoreWidth = 18.062500
|
|
|
|
sData.vBlipCoords = <<-708.48, -1414.66, 4.00>>
|
|
sData.eBlipSprite = RADAR_TRACE_HELIPAD_FOR_SALE
|
|
sData.tl15BlipLabel = "HELIPAD_NAME"
|
|
|
|
sData.iCost = 419850
|
|
sData.tl15HelpText = "HELIPAD"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
CASE VEHGEN_WEB_HELIPAD_TREVOR_COUNTRY
|
|
sData.vBuyPos1 = <<1763.424438,3238.282227,40.320221>>
|
|
sData.vBuyPos2 = <<1786.588745,3239.015869,47.185337>>
|
|
sData.fBuyWidth = 17.750000
|
|
|
|
sData.vMenuPos1 = <<1763.424438,3238.282227,40.320221>>
|
|
sData.vMenuPos2 = <<1786.588745,3239.015869,47.185337>>
|
|
sData.fMenuWidth = 17.750000
|
|
|
|
sData.vPlayerCoords = <<1761.1222, 3250.1250, 40.7330>>
|
|
sData.fPlayerHeading = 236.5858
|
|
|
|
sData.mPans1.mStart.vPos = <<1779.2452, 3222.4773, 48.5795>>
|
|
sData.mPans1.mStart.vRot = <<-31.2473, 0.0000, 7.2108>>
|
|
sData.mPans1.fFov = 40
|
|
|
|
sData.mPans1.mEnd.vPos = <<1779.2452, 3222.4773, 48.5795>>
|
|
sData.mPans1.mEnd.vRot = <<-31.2473, 0.0000, 7.2108>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<1779.2452, 3222.4773, 48.5795>>
|
|
sData.mPans2.mStart.vRot = <<-31.2473, 0.0000, 7.2108>>
|
|
sData.mPans2.fFov = 40
|
|
|
|
sData.mPans2.mEnd.vPos = <<1779.2452, 3222.4773, 48.5795>>
|
|
sData.mPans2.mEnd.vRot = <<-31.2473, 0.0000, 7.2108>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vStorePos1 = <<1802.326782,3245.164551,46.955437>>
|
|
sData.vStorePos2 = <<1755.039673,3237.170410,38.693703>>
|
|
sData.fStoreWidth = 28.125000
|
|
|
|
sData.vBlipCoords = <<1769.3, 3244.0, 41.1>>
|
|
sData.eBlipSprite = RADAR_TRACE_HELIPAD_FOR_SALE
|
|
sData.tl15BlipLabel = "HELIPAD_NAME2"
|
|
|
|
sData.iCost = 0
|
|
sData.tl15HelpText = "HELIPAD"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
/// MARINAS
|
|
///
|
|
CASE VEHGEN_WEB_MARINA_MICHAEL
|
|
sData.vBuyPos1 = <<-826.575867,-1368.474976,3.750513>>
|
|
sData.vBuyPos2 = <<-827.867981,-1364.866943,6.750514>>
|
|
sData.fBuyWidth = 3.312500
|
|
|
|
sData.vMenuPos1 = <<-845.221558,-1356.039917,-0.212093>>
|
|
sData.vMenuPos2 = <<-841.645142,-1365.776733,3.787907>>
|
|
sData.fMenuWidth = 17.562500
|
|
|
|
sData.vPlayerCoords = <<-835.8600, -1358.3470, 0.6102>>
|
|
sData.fPlayerHeading = 112.3787
|
|
|
|
sData.mPans1.mStart.vPos = <<-859.6, -1374.0, 4.3>>
|
|
sData.mPans1.mStart.vRot = <<-3, 0.0, -48.3>>
|
|
sData.mPans1.fFov = 32.9
|
|
|
|
sData.mPans1.mEnd.vPos = <<-859.7, -1374.0, 3.0>>
|
|
sData.mPans1.mEnd.vRot = <<-3, 0.0, -48.3>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<-837.2, -1350.3, 2.4>>
|
|
sData.mPans2.mStart.vRot = <<-7, 0, 156.1>>
|
|
sData.mPans2.fFov = 47.5
|
|
|
|
sData.mPans2.mEnd.vPos = <<-837.4, -1350.8, 2.3>>
|
|
sData.mPans2.mEnd.vRot = <<-7, 0, 156.1>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vStorePos1 = <<-860.069275,-1314.887085,-3.331177>>
|
|
sData.vStorePos2 = <<-826.646057,-1410.446777,4.787533>>
|
|
sData.fStoreWidth = 19.625000
|
|
|
|
sData.vBlipCoords = <<-827.9120, -1366.7362, 4.0005>>
|
|
sData.eBlipSprite = RADAR_TRACE_DOCK_FOR_SALE
|
|
sData.tl15BlipLabel = "MARINA_NAME"
|
|
|
|
sData.iCost = 75000
|
|
sData.tl15HelpText = "MARINA"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
CASE VEHGEN_WEB_MARINA_FRANKLIN
|
|
sData.vBuyPos1 = <<-826.575867,-1368.474976,3.750513>>
|
|
sData.vBuyPos2 = <<-827.867981,-1364.866943,6.750514>>
|
|
sData.fBuyWidth = 3.312500
|
|
|
|
sData.vMenuPos1 = <<-848.817749,-1347.785767,-0.212093>>
|
|
sData.vMenuPos2 = <<-845.248230,-1357.935791,3.787908>>
|
|
sData.fMenuWidth = 17.562500
|
|
|
|
sData.vPlayerCoords = <<-839.2461, -1349.5249, 0.6102>>
|
|
sData.fPlayerHeading = 110.6762
|
|
|
|
sData.mPans1.mStart.vPos = <<-866.1, -1365.6, 4.3>>
|
|
sData.mPans1.mStart.vRot = <<-3.6, 0.0, -54.6>>
|
|
sData.mPans1.fFov = 30.0
|
|
|
|
sData.mPans1.mEnd.vPos = <<-866.1, -1365.6, 3.0>>
|
|
sData.mPans1.mEnd.vRot = <<-3.6, 0.0, -54.6>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<-838.7, -1343.3, 2.9>>
|
|
sData.mPans2.mStart.vRot = <<-7.5, 0, 142.6>>
|
|
sData.mPans2.fFov = 47.5
|
|
|
|
sData.mPans2.mEnd.vPos = <<-838.8, -1343.2, 2.9>>
|
|
sData.mPans2.mEnd.vRot = <<-7.5, 0, 142.6>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vStorePos1 = <<-860.069275,-1314.887085,-3.331177>>
|
|
sData.vStorePos2 = <<-826.646057,-1410.446777,4.787533>>
|
|
sData.fStoreWidth = 19.625000
|
|
|
|
sData.vBlipCoords = <<-827.9120, -1366.7362, 4.0005>>
|
|
sData.eBlipSprite = RADAR_TRACE_DOCK_FOR_SALE
|
|
sData.tl15BlipLabel = "MARINA_NAME"
|
|
|
|
sData.iCost = 75000
|
|
sData.tl15HelpText = "MARINA"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
CASE VEHGEN_WEB_MARINA_TREVOR
|
|
sData.vBuyPos1 = <<-826.575867,-1368.474976,3.750513>>
|
|
sData.vBuyPos2 = <<-827.867981,-1364.866943,6.750514>>
|
|
sData.fBuyWidth = 3.312500
|
|
|
|
sData.vMenuPos1 = <<-851.698669,-1339.127808,-0.212129>>
|
|
sData.vMenuPos2 = <<-848.127991,-1349.168091,3.787905>>
|
|
sData.fMenuWidth = 17.562500
|
|
|
|
sData.vPlayerCoords = <<-842.0763, -1341.4015, 0.6102>>
|
|
sData.fPlayerHeading = 109.8916
|
|
|
|
sData.mPans1.mStart.vPos = <<-866.3, -1357.9, 4.3>>
|
|
sData.mPans1.mStart.vRot = <<-4.4, 0.0, -46.6>>
|
|
sData.mPans1.fFov = 31.2
|
|
|
|
sData.mPans1.mEnd.vPos = <<-866.3, -1357.9, 3.0>>
|
|
sData.mPans1.mEnd.vRot = <<-4.4, 0.0, -46.6>>
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7500/1000
|
|
|
|
sData.mPans2.mStart.vPos = <<-841.6, -1336.3, 2.5>>
|
|
sData.mPans2.mStart.vRot = <<-3.6, 0, 137.7>>
|
|
sData.mPans2.fFov = 47.5
|
|
|
|
sData.mPans2.mEnd.vPos = <<-841.8, -1336.1, 2.5>>
|
|
sData.mPans2.mEnd.vRot = <<-3.6, 0, 137.7>>
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans1.fDuration = 11500/1000
|
|
|
|
sData.vStorePos1 = <<-860.069275,-1314.887085,-3.331177>>
|
|
sData.vStorePos2 = <<-826.646057,-1410.446777,4.787533>>
|
|
sData.fStoreWidth = 19.625000
|
|
|
|
sData.vBlipCoords = <<-827.9120, -1366.7362, 4.0005>>
|
|
sData.eBlipSprite = RADAR_TRACE_DOCK_FOR_SALE
|
|
sData.tl15BlipLabel = "MARINA_NAME"
|
|
|
|
sData.iCost = 75000
|
|
sData.tl15HelpText = "MARINA"
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
/// CAR
|
|
///
|
|
CASE VEHGEN_WEB_CAR_MICHAEL
|
|
sData.vBuyPos1 = <<-63.381466,84.059402,70.521385>>
|
|
sData.vBuyPos2 = <<-66.177742,77.959129,74.053719>>
|
|
sData.fBuyWidth = 5.937500
|
|
|
|
sData.vPlayerCoords = <<-65.2041, 81.0524, 70.5666>>
|
|
sData.fPlayerHeading = 243.8699
|
|
|
|
sData.vMenuPos1 = <<189.707352,-1017.569031,-104.999962>>
|
|
sData.vMenuPos2 = <<207.832504,-1017.774292,-96.635757>>
|
|
sData.fMenuWidth = 23.000000
|
|
|
|
sData.mPans1.mStart.vPos = <<191.0,-1026.9,-98.3>>
|
|
sData.mPans1.mStart.vRot = <<-2.4,0.0,-77.0>>
|
|
sData.mPans1.mEnd.vPos = <<190.0,-1026.9,-98.3>>
|
|
sData.mPans1.mEnd.vRot = <<-4.3,0.0,-57.6>>
|
|
sData.mPans1.fFov = 37.0
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7.500
|
|
|
|
sData.mPans2.mStart.vPos = <<207.3,-1013.0,-98.2>>
|
|
sData.mPans2.mStart.vRot = <<-2.4,-0.0,112.3>>
|
|
sData.mPans2.mEnd.vPos = <<207.3,-1013.0,-98.2>>
|
|
sData.mPans2.mEnd.vRot = <<-2.4,-0.0,141.0>>
|
|
sData.mPans2.fFov = 37.0
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans2.fDuration = 11.500
|
|
|
|
sData.vStorePos1 = <<221.997864,-981.663452,-100.187424>>
|
|
sData.vStorePos2 = <<234.201019,-981.758240,-97.624924>>
|
|
sData.fStoreWidth = 6.250000
|
|
|
|
sData.vBlipCoords = <<-62.62, 80.03, 70.62>>
|
|
sData.eBlipSprite = RADAR_TRACE_GARAGE_FOR_SALE
|
|
sData.tl15BlipLabel = "GARAGE_NAME1"
|
|
|
|
sData.iCost = 30000
|
|
sData.tl15HelpText = "CAR_GAR"
|
|
|
|
sData.fDoorHeading = 243.8699
|
|
|
|
sData.bWarpToGarage = TRUE
|
|
|
|
sData.vGarageExitCoords[0] = <<-67.9068, 82.2664, 70.5153>>
|
|
sData.fGarageExitHeading[0] = 66.2020
|
|
|
|
sData.vGarageExitCoords[1] = <<-65.1234, 81.2517, 70.5644>>
|
|
sData.fGarageExitHeading[1] = 71.6237
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
CASE VEHGEN_WEB_CAR_FRANKLIN
|
|
sData.vBuyPos1 = <<-72.411659,-1824.142090,25.817038>>
|
|
sData.vBuyPos2 = <<-68.702538,-1819.642090,29.379538>>
|
|
sData.fBuyWidth = 5.937500
|
|
|
|
sData.vPlayerCoords = <<-70.1992, -1823.2252, 25.9420>>
|
|
sData.fPlayerHeading = 46.1535
|
|
|
|
sData.vMenuPos1 = <<189.707352,-1017.569031,-104.999962>>
|
|
sData.vMenuPos2 = <<207.832504,-1017.774292,-96.635757>>
|
|
sData.fMenuWidth = 23.000000
|
|
|
|
sData.mPans1.mStart.vPos = <<191.0,-1026.9,-98.3>>
|
|
sData.mPans1.mStart.vRot = <<-2.4,0.0,-77.0>>
|
|
sData.mPans1.mEnd.vPos = <<190.0,-1026.9,-98.3>>
|
|
sData.mPans1.mEnd.vRot = <<-4.3,0.0,-57.6>>
|
|
sData.mPans1.fFov = 37.0
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7.500
|
|
|
|
sData.mPans2.mStart.vPos = <<207.3,-1013.0,-98.2>>
|
|
sData.mPans2.mStart.vRot = <<-2.4,-0.0,112.3>>
|
|
sData.mPans2.mEnd.vPos = <<207.3,-1013.0,-98.2>>
|
|
sData.mPans2.mEnd.vRot = <<-2.4,-0.0,141.0>>
|
|
sData.mPans2.fFov = 37.0
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans2.fDuration = 11.500
|
|
|
|
sData.vStorePos1 = <<221.997864,-981.663452,-100.187424>>
|
|
sData.vStorePos2 = <<234.201019,-981.758240,-97.624924>>
|
|
sData.fStoreWidth = 6.250000
|
|
|
|
sData.vBlipCoords = <<-71.29, -1821.68, 25.94>>
|
|
sData.eBlipSprite = RADAR_TRACE_GARAGE_FOR_SALE
|
|
sData.tl15BlipLabel = "GARAGE_NAME2"
|
|
|
|
sData.iCost = 30000
|
|
sData.tl15HelpText = "CAR_GAR"
|
|
|
|
sData.fDoorHeading = 53.0985
|
|
|
|
sData.bWarpToGarage = TRUE
|
|
|
|
sData.vGarageExitCoords[0] = <<-64.2268, -1832.5975, 25.8666>>
|
|
sData.fGarageExitHeading[0] = 274.6339
|
|
|
|
sData.vGarageExitCoords[1] = <<-68.5531, -1824.3774, 25.9424>>
|
|
sData.fGarageExitHeading[1] = 215.8295
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
CASE VEHGEN_WEB_CAR_TREVOR
|
|
sData.vBuyPos1 = <<-220.779358,-1159.279785,21.903023>>
|
|
sData.vBuyPos2 = <<-220.727295,-1165.265259,25.450535>>
|
|
sData.fBuyWidth = 5.937500
|
|
|
|
sData.vPlayerCoords = <<-220.7592, -1162.2775, 22.0242>>
|
|
sData.fPlayerHeading = 271.2097
|
|
|
|
sData.vMenuPos1 = <<189.707352,-1017.569031,-104.999962>>
|
|
sData.vMenuPos2 = <<207.832504,-1017.774292,-96.635757>>
|
|
sData.fMenuWidth = 23.000000
|
|
|
|
sData.mPans1.mStart.vPos = <<191.0,-1026.9,-98.3>>
|
|
sData.mPans1.mStart.vRot = <<-2.4,0.0,-77.0>>
|
|
sData.mPans1.mEnd.vPos = <<190.0,-1026.9,-98.3>>
|
|
sData.mPans1.mEnd.vRot = <<-4.3,0.0,-57.6>>
|
|
sData.mPans1.fFov = 37.0
|
|
sData.mPans1.fShake = 0.2
|
|
sData.mPans1.fDuration = 7.500
|
|
|
|
sData.mPans2.mStart.vPos = <<207.3,-1013.0,-98.2>>
|
|
sData.mPans2.mStart.vRot = <<-2.4,-0.0,112.3>>
|
|
sData.mPans2.mEnd.vPos = <<207.3,-1013.0,-98.2>>
|
|
sData.mPans2.mEnd.vRot = <<-2.4,-0.0,141.0>>
|
|
sData.mPans2.fFov = 37.0
|
|
sData.mPans2.fShake = 0.2
|
|
sData.mPans2.fDuration = 11.500
|
|
|
|
sData.vStorePos1 = <<221.997864,-981.663452,-100.187424>>
|
|
sData.vStorePos2 = <<234.201019,-981.758240,-97.624924>>
|
|
sData.fStoreWidth = 6.250000
|
|
|
|
sData.vBlipCoords = <<-218.35, -1162.18, 22.02>>
|
|
sData.eBlipSprite = RADAR_TRACE_GARAGE_FOR_SALE
|
|
sData.tl15BlipLabel = "GARAGE_NAME3"
|
|
|
|
sData.iCost = 30000
|
|
sData.tl15HelpText = "CAR_GAR"
|
|
|
|
sData.fDoorHeading = 271.2097
|
|
|
|
sData.bWarpToGarage = TRUE
|
|
|
|
sData.vGarageExitCoords[0] = <<-222.1935, -1162.1134, 22.0204>>
|
|
sData.fGarageExitHeading[0] = 358.5703
|
|
|
|
sData.vGarageExitCoords[1] = <<-220.8189, -1162.3016, 22.0242>>
|
|
sData.fGarageExitHeading[1] = 70.2711
|
|
|
|
sData.bDataSet = TRUE
|
|
BREAK
|
|
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN sData.bDataSet
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Sets the availability of the specified vehicle gen
|
|
PROC SET_VEHICLE_GEN_AVAILABLE(VEHICLE_GEN_NAME_ENUM eName, BOOL bAvailable)
|
|
IF eName = VEHGEN_NONE
|
|
EXIT
|
|
ENDIF
|
|
|
|
IF bAvailable
|
|
IF NOT GET_VEHICLE_GEN_SAVED_FLAG_STATE(eName, VEHGEN_S_FLAG_AVAILABLE)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT IS_REPEAT_PLAY_ACTIVE()
|
|
GET_VEHICLE_GEN_DATA(g_sVehicleGenNSData.sRuntimeStruct[0], eName)
|
|
PRINTLN("SET_VEHICLE_GEN_AVAILABLE(", g_sVehicleGenNSData.sRuntimeStruct[0].dbg_name, ", TRUE) called by ", GET_THIS_SCRIPT_NAME())
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
SET_VEHICLE_GEN_SAVED_FLAG_STATE(eName, VEHGEN_S_FLAG_HELP_PROCESSED, FALSE)
|
|
SET_VEHICLE_GEN_SAVED_FLAG_STATE(eName, VEHGEN_S_FLAG_BLIP_PROCESSED, FALSE)
|
|
SET_VEHICLE_GEN_SAVED_FLAG_STATE(eName, VEHGEN_S_FLAG_TXT_PROCESSED, FALSE)
|
|
SET_VEHICLE_GEN_SAVED_FLAG_STATE(eName, VEHGEN_S_FLAG_PLAYER_USED_VEH, FALSE)
|
|
SET_VEHICLE_GEN_SAVED_FLAG_STATE(eName, VEHGEN_S_FLAG_AVAILABLE, TRUE)
|
|
|
|
// If a vehicle gen is activated when the player is near, it will be created instantly.
|
|
// To prevent this pop we need to wait for the player to leave the area.
|
|
// If there are any special cases where this behaviour is unsuitable then
|
|
// CLEAR_MUST_LEAVE_AREA_VEHICLE_GEN_FLAG(eVehicleGen) should be used.
|
|
g_sVehicleGenNSData.bLeaveAreaBeforeCreating[eName] = TRUE
|
|
ENDIF
|
|
ELSE
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT IS_REPEAT_PLAY_ACTIVE()
|
|
GET_VEHICLE_GEN_DATA(g_sVehicleGenNSData.sRuntimeStruct[0], eName)
|
|
PRINTLN("SET_VEHICLE_GEN_AVAILABLE(", g_sVehicleGenNSData.sRuntimeStruct[0].dbg_name, ", FALSE) called by ", GET_THIS_SCRIPT_NAME())
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
SET_VEHICLE_GEN_SAVED_FLAG_STATE(eName, VEHGEN_S_FLAG_AVAILABLE, FALSE)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Gets the position of a given vehicle gen
|
|
FUNC VECTOR GET_VEHICLE_GEN_COORDS(VEHICLE_GEN_NAME_ENUM eVehicleGen)
|
|
IF eVehicleGen = VEHGEN_NONE
|
|
RETURN <<0, 0, 0>>
|
|
ENDIF
|
|
|
|
IF NOT GET_VEHICLE_GEN_DATA(g_sVehicleGenNSData.sRuntimeStruct[0], eVehicleGen)
|
|
RETURN <<0, 0, 0>>
|
|
ENDIF
|
|
|
|
RETURN g_sVehicleGenNSData.sRuntimeStruct[0].coords
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Gets the heading of a given vehicle gen
|
|
FUNC FLOAT GET_VEHICLE_GEN_HEADING(VEHICLE_GEN_NAME_ENUM eVehicleGen)
|
|
IF eVehicleGen = VEHGEN_NONE
|
|
RETURN 0.0
|
|
ENDIF
|
|
|
|
IF NOT GET_VEHICLE_GEN_DATA(g_sVehicleGenNSData.sRuntimeStruct[0], eVehicleGen)
|
|
RETURN 0.0
|
|
ENDIF
|
|
|
|
RETURN g_sVehicleGenNSData.sRuntimeStruct[0].heading
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Gets the saved vehicle setup data for the vehicle gen
|
|
FUNC BOOL GET_VEHICLE_GEN_VEHICLE_SETUP_SAVED_DATA(VEHICLE_SETUP_STRUCT &sVehicleSetupData, VEHICLE_GEN_NAME_ENUM eVehicleGen)
|
|
|
|
IF eVehicleGen = VEHGEN_NONE
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF NOT GET_VEHICLE_GEN_DATA(g_sVehicleGenNSData.sRuntimeStruct[0], eVehicleGen)
|
|
RETURN FALSE
|
|
ELSE
|
|
#if USE_CLF_DLC
|
|
CLONE_VEHICLE_SETUP_STRUCT(g_savedGlobalsClifford.sVehicleGenData.sDynamicData[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex], sVehicleSetupData)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "<clf>GET_VEHICLE_GEN_VEHICLE_SETUP_SAVED_DATA() - Getting this data for this - ", GET_THIS_SCRIPT_NAME())
|
|
CPRINTLN(DEBUG_MISSION, "...vehicle gen = ", g_sVehicleGenNSData.sRuntimeStruct[0].dbg_name)
|
|
CPRINTLN(DEBUG_MISSION, "...vehicle model = ", GET_MODEL_NAME_FOR_DEBUG(g_savedGlobalsClifford.sVehicleGenData.sDynamicData[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex].eModel))
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic slot = ", g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex)
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic coords = ", g_savedGlobalsClifford.sVehicleGenData.vDynamicCoords[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex])
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic heading = ", g_savedGlobalsClifford.sVehicleGenData.fDynamicHeading[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex])
|
|
CPRINTLN(DEBUG_MISSION, "...Set by script = ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
CPRINTLN(DEBUG_MISSION, "<clf>Cloned vehicle gen date for ", g_sVehicleGenNSData.sRuntimeStruct[0].dbg_name, " called by - ", GET_THIS_SCRIPT_NAME())
|
|
#endif
|
|
|
|
#if USE_NRM_DLC
|
|
CLONE_VEHICLE_SETUP_STRUCT(g_savedGlobalsnorman.sVehicleGenData.sDynamicData[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex], sVehicleSetupData)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "<clf>GET_VEHICLE_GEN_VEHICLE_SETUP_SAVED_DATA() - Getting this data for this - ", GET_THIS_SCRIPT_NAME())
|
|
CPRINTLN(DEBUG_MISSION, "...vehicle gen = ", g_sVehicleGenNSData.sRuntimeStruct[0].dbg_name)
|
|
CPRINTLN(DEBUG_MISSION, "...vehicle model = ", GET_MODEL_NAME_FOR_DEBUG(g_savedGlobalsnorman.sVehicleGenData.sDynamicData[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex].eModel))
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic slot = ", g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex)
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic coords = ", g_savedGlobalsnorman.sVehicleGenData.vDynamicCoords[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex])
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic heading = ", g_savedGlobalsnorman.sVehicleGenData.fDynamicHeading[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex])
|
|
CPRINTLN(DEBUG_MISSION, "...Set by script = ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
CPRINTLN(DEBUG_MISSION, "<clf>Cloned vehicle gen date for ", g_sVehicleGenNSData.sRuntimeStruct[0].dbg_name, " called by - ", GET_THIS_SCRIPT_NAME())
|
|
#endif
|
|
|
|
#if not USE_CLF_DLC
|
|
#if not USE_NRM_DLC
|
|
CLONE_VEHICLE_SETUP_STRUCT(g_savedGlobals.sVehicleGenData.sDynamicData[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex], sVehicleSetupData)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_MISSION, "GET_VEHICLE_GEN_VEHICLE_SETUP_SAVED_DATA() - Getting this data for this - ", GET_THIS_SCRIPT_NAME())
|
|
CPRINTLN(DEBUG_MISSION, "...vehicle gen = ", g_sVehicleGenNSData.sRuntimeStruct[0].dbg_name)
|
|
if g_savedGlobals.sVehicleGenData.sDynamicData[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex].eModel != DUMMY_MODEL_FOR_SCRIPT
|
|
CPRINTLN(DEBUG_MISSION, "...vehicle model = ", GET_MODEL_NAME_FOR_DEBUG(g_savedGlobals.sVehicleGenData.sDynamicData[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex].eModel))
|
|
else
|
|
CPRINTLN(DEBUG_MISSION, "...vehicle model = DUMMY_MODEL_FOR_SCRIPT ")
|
|
endif
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic slot = ", g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex)
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic coords = ", g_savedGlobals.sVehicleGenData.vDynamicCoords[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex])
|
|
CPRINTLN(DEBUG_MISSION, "...dynamic heading = ", g_savedGlobals.sVehicleGenData.fDynamicHeading[g_sVehicleGenNSData.sRuntimeStruct[0].dynamicSlotIndex])
|
|
CPRINTLN(DEBUG_MISSION, "...Set by script = ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
CPRINTLN(DEBUG_MISSION, "Cloned vehicle gen date for ", g_sVehicleGenNSData.sRuntimeStruct[0].dbg_name, " called by - ", GET_THIS_SCRIPT_NAME())
|
|
#endif
|
|
#endif
|
|
ENDIF
|
|
|
|
RETURN TRUE
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Gets the height to anchor a vehicle gen
|
|
FUNC FLOAT GET_ANCHOR_HEIGHT_FOR_VEHICLE_GEN(VEHICLE_GEN_NAME_ENUM eName)
|
|
SWITCH eName
|
|
CASE VEHGEN_PROPERTY_MARINA_SUB
|
|
RETURN -0.7
|
|
BREAK
|
|
CASE VEHGEN_WILDPHOTO_SUB
|
|
RETURN -0.8
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN 0.0
|
|
ENDFUNC
|
|
|