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

1388 lines
32 KiB
XML
Executable File

/// Global settings for the website system
//
USING "mp_globals_new_features_TU.sch"
MODEL_NAMES eDLC_BIG_YACHT_MODEL = INT_TO_ENUM(MODEL_NAMES, HASH("apa_mp_apa_yacht"))
MODEL_NAMES eDLC_BIG_TRUCK_MODEL = INT_TO_ENUM(MODEL_NAMES, HASH("gr_mp_gr_truck"))
MODEL_NAMES eDLC_BALLISTIC_EQUIPMENT_MODEL = INT_TO_ENUM(MODEL_NAMES, HASH("gr_mp_gr_BALLISTIC_EQUIPMENT"))
MODEL_NAMES eDLC_BIG_PLANE_MODEL = INT_TO_ENUM(MODEL_NAMES, HASH("gr_mp_go_plane"))
MODEL_NAMES eDLC_HACKER_TRUCK_MODEL = INT_TO_ENUM(MODEL_NAMES, HASH("gr_mp_bb_hackertruck"))
ENUM SPECIAL_BROWSER_START_STATES
SBSS_Default // Normal start
,SBSS_EyeFind // Search page
,SBSS_CashMachineFinance
,SBSS_LifeInvader
,SBSS_LifeInvader_BrucieResponse
,SBSS_Bawsaq
,SBSS_SHOP_RESTORE
,SBSS_Launch_Link
,SBSS_ArenaWar
,SBSS_Casino
ENDENUM
ENUM START_BROWSER_TYPE_ENUM
eAppInternet
,eSecuroServ
,eBikerApp
,eIEApp
ENDENUM
STRUCT LAUNCH_BROWSER_ON_START_FREEMODE_DATA
BOOL bLaunch = FALSE
TEXT_LABEL_63 tlLinkToLaunch
ENDSTRUCT
LAUNCH_BROWSER_ON_START_FREEMODE_DATA g_LaunchBrowserOnStartFreemode
TEXT_LABEL_63 g_BrowserLinkToLaunch //SBSS_Launch_Link tries to load site in this label
BOOL g_bBlockInternetApp = FALSE
BOOL g_bBrowserVisible = FALSE
BOOL g_bSPForceKillInternet = FALSE
BOOL g_bBrowserUserMode = TRUE
BOOL g_bBrowserQuitMessage = FALSE
BOOL g_bSecuroDelayOfficeChairExit = FALSE
BOOL g_bSecuroQuickExitOfficeChair = FALSE
BOOL g_bSVMThumbnailFallback = FALSE
TEXT_LABEL_23 g_txtSVMThumbnails[8]
TEXT_LABEL_23 g_txtWVMThumbnails[8]
BOOL g_bBrowserRequestHangarContrabandRemoval = FALSE
BOOL g_bSmugglerAppBlockDeliverableCheck = FALSE
BOOL g_bIEAppFailedRemoveVehicles = FALSE
//lifeinvader
BOOL g_bLifeInvaderMissionMessageToBruciePosted = FALSE
BOOL g_bLifeInvaderMissionResponseToBruciePosted = FALSE
BOOL g_bLaptopMissionSuppressed = FALSE
//used to display a help message on various stages of the lifeinvader site
ENUM ENUM_LIFEINVADER_HELP_SEQUENCE_STATE
LIFEINVADER_NO_PROGRESS_0,//pre photo upload
LIFEINVADER_PHOTO_UPLOADED_1,//photo uploaded, search for brucie
LIFEINVADER_BRUCIE_FOUND_2,//brucie found, post comment
//in the next mission
LIFEINVADER_RESPONSE_PENDING_3,//on the page with brucies comment, but not posted response
LIFEINVADER_COMPLETE_4//comment response to brucie posted, help chain complete
ENDENUM
ENUM_LIFEINVADER_HELP_SEQUENCE_STATE g_eLifeInvaderMissionPageState = LIFEINVADER_NO_PROGRESS_0
INT g_iLifeInvaderTutorialLastVisitedPage = -1
//end lifeinvader
SPECIAL_BROWSER_START_STATES g_BrowserStartState = SBSS_Default
INT g_iDelayATMDisplay = 0
//BOOL g_bBrowserBAWSAQCrashSequence = FALSE
CONST_INT WEB_BROWSER_PAGE_REFRESH_RATE 120 //ms
// Webpage indices
ENUM WEBSITE_INDEX_ENUM
WWW_NOT_EXIST = 0
,WWW_BANK_COM = 1
,WWW_EYEFIND_INFO = 2
//3 WWW_DDWINGS_COM (removed)
,WWW_BAWSAQ_COM = 4
,WWW_EPSILONPROGRAM_COM = 5
,WWW_LIFEINVADER_COM = 6
,WWW_LCN_D_EXCHANGE_COM = 7
//8 WWW_WINDSOR_D_REALESTATE_COM (removed)
,WWW_LENNYAVERY_D_REALTY_COM = 9
,WWW_LEGENDARYMOTORSPORT_NET = 10
,WWW_ELITASTRAVEL_COM = 11
,WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM = 12
,WWW_DOCKTEASE_COM = 13
,WWW_BLEETER_COM = 14
,WWW_PANDMCYCLES_COM = 15
,WWW_SOUTHERNSANANDREASSUPERAUTOS_COM = 16
,WWW_IWILLSURVIVEITALL_COM = 17
,WWW_DYNASTY8REALESTATE_COM = 18
,WWW_THEREALITYMILL_COM = 19
,WWW_THECHILDRENOFTHEMOUNTAIN_COM = 20
,WWW_MAZE_D_BANK_COM = 21
,WWW_FLEECA_COM = 22
,WWW_THEBANKOFLIBERTY_COM = 23
,WWW_MYDIVINEWITHIN_COM = 24
#IF NOT IS_JAPANESE_BUILD
,WWW_HUSHSMUSH_COM = 25
#ENDIF
,WWW_BENNYSORIGINALMOTORWORKS_COM = 26
,WWW_DYNASTY8EXECUTIVEREALTY_COM = 27
,FORECLOSURES_MAZE_D_BANK_COM = 28
,WWW_ARENAWAR_TV = 29
,WWW_THEDIAMONDCASINOANDRESORT_COM = 30
,WWW_EYEFIND_INFO_S_SEARCH = 997
,WWW_EYEFIND_INFO_S_ERROR = 998
,INVALID_WEBSITE_INDEX = -1
ENDENUM
INT g_iTimeLastBrowserRefresh = -1
BOOL g_bForceBrowserRefresh = FALSE
INT g_iWebPageIndexFeedback = -1 /// use this to grab and register the page index so page specific form so
WEBSITE_INDEX_ENUM g_eWebSiteIndexFeedback = INVALID_WEBSITE_INDEX ///button presses can be handled.
INT g_sLastLastSiteHash = -1//arrgh bad naming
INT g_sLastSiteHash = -1
INT g_iLastSelectedWebIndex = -1
BOOL g_bLastSelectedWebIndexInvalid = TRUE
//This varying offset is because eddie added an extra column for the portfolio screen and effed up all the offsets
INT g_iLastSetFinanceSiteListOffset = 11
//Stock market interaction values
BOOL g_bBuySell = FALSE
BOOL g_bStockListMarketMode = TRUE///TODO Set this to true when markets are picked, false when portfolio is picked
INT g_iStockSelectedPortfolioIndex = -1
INT g_iStockSelectionFocus = -1
INT g_iSharesToBuySell = 0
INT g_iPrevSharesToBuySell = 0 //Used to check if the value has looped around MAXINT
//BOOL g_bShareBuySellButtonInvalidator = FALSE
INT g_iSharesBuySellCap = 0
FLOAT g_fShareTotal = 0.0
FLOAT g_fOriginalProfit = 0.0
FLOAT g_fCurrentProfit = 0.0
BOOL g_bCultSiteVisitedSinceReset = FALSE
BOOL g_bMikeVisitedCultRobePage = FALSE // Being used to track B*1531470
FLOAT g_fWebCursorSensitivity = 10.0
BOOL g_bBAWSAQWebTutorialInProgress = FALSE
ENUM BROWSER_HELP_MESSAGE_TYPE_ENUM
BHMT_STRING,
BHMT_STRING_WITH_NUMBER,
BHMT_STRING_WITH_TWO_NUMBERS,
BHMT_STRING_WITH_STRING,
BHMT_STRING_WITH_TWO_STRINGS,
BHMT_STRING_WITH_NUMBER_AND_STRING,
BHMT_STRING_WITH_PLAYER_NAME,
BHMT_STRING_WITH_COLOURED_PLAYER_NAME,
BHMT_STRING_WITH_TEAM_NAME,
BHMT_STRING_WITH_TEAM_COLOURED_TEAM_NAME,
BHMT_STRING_WITH_USER_CREATED_STRING,
BHMT_STRING_WITH_TWO_USER_CREATED_STRINGS,
BHMT_STRING_AS_USER_CREATED_STRING,
BHMT_STRING_WITH_PLAYER_NAME_AND_STRING,
BHMT_STRING_WITH_TWO_STRINGS_COLOURED,
BHMT_STRING_WITH_COLOURED_NAME_AND_STRING,
BHMT_STRING_WITH_PLAYER_NAME_AND_STRING_COLOURED,
BHMT_STRING_WITH_COLOURED_STRING,
BHMT_STRING_WITH_TWO_PLAYER_NAMES_AND_STRING,
BHMT_STRING_WITH_TWO_PLAYER_NAMES_AND_STRING_COLOURED,
BHMT_STRING_WITH_COLOURED_TEXT_LABEL, //Actually does what WITH_COLOURED_STRING should do
// Leave this at the bottom
BHMT_NONE // No active Objective Text
ENDENUM
STRUCT BROWSER_HELP_MESSAGE_STRUCT
BOOL bShow = FALSE
TEXT_LABEL_15 tl15Tag
BROWSER_HELP_MESSAGE_TYPE_ENUM eTextType
BOOL bForever = FALSE
INT iNumToDisplay1
INT iNumToDisplay2
TEXT_LABEL_15 tl15StringToDisplay
ENDSTRUCT
BROWSER_HELP_MESSAGE_STRUCT g_sBrowserHelpMessage
BOOL g_bDisable_toggle_player_proofs_when_processing_internet_shopping_basket = FALSE
BOOL g_bBrowser_help_bunkmod_seen = FALSE
BOOL g_bOnlineMarket = FALSE
//Sell all results
FLOAT g_fLastStockSellAll_Totval = 0.0
FLOAT g_fLastStockSellAll_Profval = 0.0
INT g_iLastStockSellAll_Totshares = 0
INT g_iLastStockSellAll_Cotot = 0
FLOAT g_fLastStockSellAll_Valover = 0.0
FLOAT g_fLastStockSellAll_Valunder = 0.0
FLOAT g_fLastStockSellAll_NewWealthPerc = 0.0
BOOL g_bLastStaticSiteInvalid = FALSE
//browser handle, now has to be a global for preloading
SCALEFORM_INDEX g_BrosMov = NULL
SCALEFORM_INDEX g_BrosButtons = NULL
SCALEFORM_INDEX g_BrosNagScreen = NULL
BOOL g_bBrowserNagScreenState = FALSE
BOOL g_bBrowserVoucherNagScreenState = FALSE
BOOL g_bBrowserGoToStoreTrigger = FALSE
INT g_iBrowserGoToStoreItemHash = -1
INT g_iBrowserGoToStoreItemPrice = -1
BOOL g_bPropertyRefreshTrigger = FALSE
INT g_iBrowserHealthDelta = 0
VEHICLE_SETUP_STRUCT_MP g_sConfVssMP
INT g_iChildrenOfTheMountainStatus = 0
CONST_INT c_MAX_EMAIL_CONTACTS 70 //(10 contacts is roughly 200 increase in stack size)
STRUCT m_structPlayerListEmail
PLAYER_INDEX plPlayers[NUM_NETWORK_PLAYERS] // Array of PlayerIDs currently active NUM_NETWORK_PLAYERS
INT plNumPlayers // Number of Player details listed
//Old working regime...
//GAMER_INFO plFriends[c_MAX_EMAIL_CONTACTS] // Need to up stack size dramatically. Testing with 25.
//New trial. Don't think we really need to have a separate list of tl23 player names as they only get referenced when adding into scaleform. Primarily we use the handle.
GAMER_HANDLE plFriendsHandle[c_MAX_EMAIL_CONTACTS] // Need to up stack size dramatically. Testing with 25
TEXT_LABEL_23 selectedPlayerName
INT plTotalNumContacts
INT m_selectedPlayerSlot
//TEXT_LABEL_63 M_selectedPlayerClanName
GAMER_HANDLE selectedPlayerHandle
ENDSTRUCT
m_structPlayerListEmail g_sPlayers
BOOL bg_bBypassValidGamerCheck = FALSE
TEXT_LABEL_63 g_sPendingBrowserPage
INT g_iPendingBrowserTimer = -1
INT g_iBrowserNoInputTimer = -1
INT g_iBrowserTimer = 0
#IF IS_DEBUG_BUILD
BOOL g_bForceBawsaqNews = FALSE
BOOL g_bForceVehicleWebsite_sale = FALSE
BOOL g_bForcePropertyWebsite_sale = FALSE
STRUCT DEBUG_CLOTHES_REWARD_STRUCT
BOOL bForceReward = FALSE
TEXT_WIDGET_ID twHashGenerator, twGeneratedLabel
INT iHashkey
BOOL bGenerateHashkey
ENDSTRUCT
DEBUG_CLOTHES_REWARD_STRUCT g_sDebug_Vehicle_Clothes_Reward
#ENDIF
STRUCT YACHT_DATA_STRUCT
INT iMod = -1
INT iFixture = -1
INT iLighting = -1
INT iColour = -1
INT iFlag = -1
TEXT_LABEL_63 tl63Name //= ""
TEXT_LABEL_63 tl63NewName //= ""
INT iYachtNameID
ENDSTRUCT
YACHT_DATA_STRUCT g_sYachtDataStruct
STRUCT OFFICE_DATA_STRUCT
INT iOfficeID = -1
INT iStyle = -1
INT iPersonnel = -1
INT iFont = -1
INT iColour = -1
TEXT_LABEL_63 tl63OldOrgName
TEXT_LABEL_63 tl63NewOrgName
INT iGunLocker = -1
INT iVault = -1
INT iAccommodation = -1
INT iOfficeNameID
INT iGarage1Style = -1
INT iGarage1Lighting = -1
INT iGarage1Number = -1
INT iGarage2Style = -1
INT iGarage2Lighting = -1
INT iGarage2Number = -1
INT iGarage3Style = -1
INT iGarage3Lighting = -1
INT iGarage3Number = -1
INT iModshop = -1
ENDSTRUCT
OFFICE_DATA_STRUCT g_sOfficeDataStruct
STRUCT FIXER_HQ_DATA_STRUCT
INT iAgencyID = -1
INT iArt = -1
INT iWallpaper = -1
INT iTint = -1
INT iVehWorkshop = -1
INT iArmory = -1
INT iPersonalQuarters = -1
ENDSTRUCT
FIXER_HQ_DATA_STRUCT g_sFixerHQDataStruct
#IF FEATURE_DLC_2_2022
STRUCT MULTISTOREY_GARAGE_DATA_STRUCT
INT iGarageID = -1
INT iStyle = -1
INT iTint = -1
ENDSTRUCT
MULTISTOREY_GARAGE_DATA_STRUCT g_sMultistoreyGarageDataStruct
#ENDIF
INT g_iLastPendingGarageTransactionValue = 0
CONST_INT iCONST_DEFAULT_FREE_CLUBHOUSE_EMBLEM 1 //0
STRUCT CLUBHOUSE_DATA_STRUCT
INT iClubhouseID = -1
INT iWall = -1
INT iHanging = -1
INT iFurniture = -1
INT iColourScheme = -1
INT iFont = -1
INT iFontColour = -1
INT iEmblem = -1
INT iHideSinage = -1
TEXT_LABEL_63 tl63OldSignage
TEXT_LABEL_63 tl63NewSignage
INT iGunLocker = -1
INT iGarage = -1
TEXT_LABEL_63 tl63CrewEmblem
INT iClubhouseNameID
ENDSTRUCT
CLUBHOUSE_DATA_STRUCT g_sClubhouseDataStruct
STRUCT BUNKER_DATA_STRUCT
INT iBunkerID = -1
INT iDecor = -1
INT iAccommodation = -1
INT iFiringRange = -1
INT iGunLocker = -1
INT iTransportation = -1
ENDSTRUCT
BUNKER_DATA_STRUCT g_sBunkerDataStruct
STRUCT TRUCK_DATA_STRUCT
INT iCab = -1
INT iSection1 = -1
INT iSection2 = -1
INT iSection3 = -1
INT iColour = -1
ENDSTRUCT
TRUCK_DATA_STRUCT g_sTruckDataStruct
STRUCT HANGAR_DATA_STRUCT
INT iHangarID = -1
INT iStyle = -1 // iColour
INT iLighting = -1
INT iFlooring = -1 // iFloorDecal
INT iFurniture = -1
INT iSleepingQuarters = -1 // iAccommodation
INT iWorkshop = -1 // iModshop
ENDSTRUCT
HANGAR_DATA_STRUCT g_sHangarDataStruct
STRUCT DEFUNCT_BASE_DATA_STRUCT
INT iBaseID = -1
INT iStyle = -1
INT iGraphics = -1
INT iOrbitalWeapon = -1
INT iSecurityRoom = -1
INT iLounge = -1
INT iPersonalQuarters = -1
INT iPrivicyGlass = -1
ENDSTRUCT
DEFUNCT_BASE_DATA_STRUCT g_sDefunctBaseDataStruct
STRUCT PLANE_DATA_STRUCT
INT iAvenger = -1
INT iInterior = -1
INT iGunTurret = -1
INT iVehShop = -1
INT iWeaShop = -1
ENDSTRUCT
PLANE_DATA_STRUCT g_sPlaneDataStruct
STRUCT BUSINESS_HUB_DATA_STRUCT
INT iHubID = -1
INT iStyle = -1
INT iGraphics = -1
INT iOrbitalWeapon = -1
INT iSecurityRoom = -1
INT iLounge = -1
INT iPersonalQuarters = -1
INT iPrivicyGlass = -1
TEXT_LABEL_63 tl63OldSignage
TEXT_LABEL_63 tl63NewSignage
INT iNameID
ENDSTRUCT
BUSINESS_HUB_DATA_STRUCT g_sBusinessHubDataStruct
STRUCT NIGHTCLUB_DATA_STRUCT
INT iNightclubID = -1
INT iStyle = -1
INT iLighting = -1
INT iDancers = -1
INT iDryIce = -1
INT iStorage = -1
INT iGarage = -1
INT iNameID = -1
ENDSTRUCT
NIGHTCLUB_DATA_STRUCT g_sNightclubDataStruct
STRUCT HACKER_TRUCK_DATA_STRUCT
INT iCab = -1
INT iDecal = -1
INT iTint = -1
INT iMissileLauncher = -1
INT iDroneStation = -1
INT iWeaShop = -1
INT iVehShop = -1
ENDSTRUCT
HACKER_TRUCK_DATA_STRUCT g_sHackerTruckDataStruct
#IF FEATURE_HEIST_ISLAND
STRUCT KOSATKA_DATA_STRUCT
INT iOwned = -1
INT iColour = -1
INT iFlag = -1
INT iSonar = -1
INT iMissiles = -1
INT iWeaShop = -1
INT iSeaSparrow2 = -1
INT iAvisa = -1
ENDSTRUCT
KOSATKA_DATA_STRUCT g_sKosatkaDataStruct
#ENDIF
STRUCT ARENA_GARAGE_DATA_STRUCT
INT iArenaID = -1
INT iStyle = -1
INT iGraphics = -1
INT iColour = -1
INT iExpansionFloorB1 = -1
INT iExpansionFloorB2 = -1
INT iBennyMechanic = -1
INT iWeaponMechanic = -1
INT iPersonalQuarters = -1
ENDSTRUCT
ARENA_GARAGE_DATA_STRUCT g_sArenaDataStruct
STRUCT CASINO_APT_DATA_STRUCT
INT iCasinoID = -1
INT iColourOption = -1
INT iStyleOption = -1
INT iLounge = -1
INT iBar = -1
INT iDealer = -1
INT iBedroom = -1
INT iMediaroom = -1
INT iSpa = -1
INT iOffice = -1
INT iGarage = -1
// INT iHelipad = -1
INT iCasinoMembership = -1
TEXT_LABEL_63 tl63Gamertag
TEXT_LABEL_23 tl23MugshotTexture
ENDSTRUCT
CASINO_APT_DATA_STRUCT g_sCasinoDataStruct
BOOL g_bPurchasedCasinoAptInsideCasino = FALSE
#IF FEATURE_CASINO_HEIST
STRUCT ARCADE_DATA_STRUCT
INT iArcadeID = -1
INT iFloor = -1
INT iCeiling = -1
INT iWall = -1
INT iPersonalQuarters = -1
INT iGarage = -1
INT iNeonLights = -1
INT iScreens = -1
ENDSTRUCT
ARCADE_DATA_STRUCT g_sArcadeDataStruct
#ENDIF
//Vehicle shop data
ENUM VEHICLE_SITE_IDENTIFIER
VEHSITE_CARS,
VEHSITE_PLANES,
VEHSITE_ARMY,
VEHSITE_BOATS,
TOTAL_VEHICLE_SITES
ENDENUM
ENUM SITE_BUYABLE_VEHICLE
UNSET_BUYABLE_VEHICLE = -1,
// WWW_LEGENDARYMOTORSPORT_NET
BV_C_ZTYPE = 0,
BV_C_STINGER,
BV_C_JB700,
BV_C_CHEETAH,
BV_C_ENTITYXF,
BV_C_VENEM,
BV_C_MONROE,
BV_C_COGCABRIO,
BV_C_DUMMY_ITEM_DO_NOT_REMOVE, // Fix for 2271888
// BV_C_VELOCE,
// WWW_ELITASTRAVEL_COM
BV_P_DODO,
BV_P_SHAMAL,
BV_P_STUNT,
BV_P_CUBAN,
BV_P_DUSTER,
BV_P_LUXOR,
BV_P_FROGGER,
BV_P_MAVERICK,
// WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM
BV_A_RHINO,
BV_A_TITAN,
BV_A_CARGOBOB,
BV_A_BUZZARD,
BV_A_CRUSADER,
BV_A_BARRACKS,
// WWW_DOCKTEASE_COM
BV_B_MARINA,
BV_B_MARQUIS,
BV_B_JETMAX,
BV_B_SPEEDER,
BV_B_SQUALO,
BV_B_SUNDECK,
BV_B_TROPIC,
BV_B_SEASHARK,
BV_B_SUBMERSIBLE,
BV_B_SUNTRAP,
// WWW_PANDMCYCLES_COM
BV_C_BMX,//3
BV_C_SCORCHER,
BV_C_WHIPPET,
BV_C_ENDUREX,
BV_C_TRICYCLE,
BV_C_CRUISER,//8
// WWW_SOUTHERNSANANDREASSUPERAUTOS_COM
BV_C_SCHWARZER,
BV_C_ZION,
BV_C_GAUNTLET,
BV_C_VIGERO,
BV_C_ISSI2,
BV_C_INFERNUS,
BV_C_SURANO,
BV_C_VACCA,
BV_C_NINEF,
BV_C_COMET2,
BV_C_BANSHEE,
BV_C_FELTZER2,
BV_C_BFINJECTION,
BV_C_SANDKING,
BV_C_FUGITIVE,
BV_C_DILETTANTE,
BV_C_SUPERD,
BV_C_EXEMPLAR,
BV_C_BALLER2,
BV_C_CAVALCADE,
BV_C_ROCOTO,
BV_C_FELON,
BV_C_ORACLE2,
BV_C_BATI,
BV_C_AKUMA,
BV_C_RUFFIAN,
BV_C_VADER,
BV_C_BLAZER,
BV_C_PCJ,
BV_C_SANCHEZ,
BV_C_FAGGIO2,
// Additional MP buyable vehicles
// WWW_LEGENDARYMOTORSPORT_NET
BV_MP_BULLET,
BV_MP_CARBONIZZARE,
BV_MP_COQUETTE,
BV_MP_NINEF2,
BV_MP_RAPIDGT,
BV_MP_RAPIDGT2,
BV_MP_STINGERGT,
BV_MP_VOLTIC,
// WWW_ELITASTRAVEL_COM
BV_MP_ANNIHILATOR,
BV_MP_MAMMATUS,
BV_MP_VELUM,
// WWW_WARSTOCK_D_CACHE_D_AND_D_CARRY_COM
BV_MP_DUMP,
BV_MP_AIRBUS,
BV_MP_BUS,
BV_MP_COACH,
BV_MP_JOURNEY,
BV_MP_MULE,
BV_MP_RENTALBUS,
BV_MP_STRETCH,
// WWW_SOUTHERNSANANDREASSUPERAUTOS_COM
BV_MP_BISON,
BV_MP_DOUBLE,
BV_MP_FELON2,
BV_MP_HEXER,
BV_MP_ZION2,
BV_MP_BATI2,
// Social Club sign-up vehicle
BV_SC_ELEGY2,
// Collector edition MP only vehicle
BV_CE_KHAMELION,
// Collector edition SP/MP vehicles
BV_CE_HOTKNIFE,
BV_CE_CARBONRS,
// Beach Bum pack
BV_DLC_BIFTA,
BV_DLC_KALAHARI,
BV_DLC_PARADISE,
BV_DLC_SPEEDER,
// Beach Bum additional site vehicles for MP
BV_MP_BODHI2,
BV_MP_DUNE,
BV_MP_REBEL,
BV_MP_SADLER,
BV_MP_SANCHEZ2,
BV_MP_SANDKINGSWB,
// Valentines pack
BV_DLC_ROOSEVELT,
// Business pack 1
BV_DLC_ALPHA,
BV_DLC_JESTER,
BV_DLC_TURISMO,
BV_DLC_VESTRA,
// Business pack 2
BV_DLC_MASSACRO,
BV_DLC_ZENTORNO,
BV_DLC_HUNTLEY,
BV_DLC_COQUETTE_TOPLESS,
BV_C_BANSHEE_TOPLESS,
BV_DLC_STINGER_TOPLESS,
BV_DLC_VOLTIC_HARDTOP,
BV_DLC_THRUST,
BV_MP_DOMINATOR,
BV_MP_F620,
BV_MP_FUSILADE,
BV_MP_PENUMBRA,
BV_MP_SENTINEL,
BV_MP_SENTINEL2,
// Business pack additional site vehicles for MP
BV_MP_ASEA,
BV_MP_ASTEROPE,
BV_MP_BOBCATXL,
BV_MP_CAVALCADE2,
BV_MP_GRANGER,
BV_MP_INGOT,
BV_MP_INTRUDER,
BV_MP_MINIVAN,
BV_MP_PREMIER,
BV_MP_RADIUS,
BV_MP_RANCHERXL,
BV_MP_RATLOADER,
BV_MP_STANIER,
BV_MP_STRATUM,
BV_MP_WASHINGTON,
// Hipster pack
BV_DLC_BLADE,
BV_DLC_WARRENER,
BV_DLC_GLENDALE,
BV_DLC_RHAPSODY,
BV_DLC_PANTO,
BV_DLC_DUBSTA3,
BV_DLC_PIGALLE,
// Hipster pack additional site vehicles for MP
BV_MP_PICADOR,
BV_MP_REGINA,
BV_MP_SURFER,
BV_MP_YOUGA,
BV_MP_BLAZER3,
BV_MP_REBEL2,
BV_MP_PRIMO,
BV_MP_BUFFALO,
BV_MP_BUFFALO2,
BV_MP_TAILGATER,
//Independance pack
BV_MP_LIBERATOR,
BV_MP_SOVEREIGN,
// Pilot School pack
BV_DLC_MILJET,
BV_DLC_BESRA,
BV_DLC_SWIFT,
BV_MP_COQUETTE2,
BV_MP_COQUETTE2_TOPLESS,
//LTS pack
BV_DLC_INNOVATION,
BV_DLC_HAKUCHOU,
BV_DLC_FUROREGT,
BV_DLC_KALAHARI_TOPLESS,
//Heist pack
BV_DLC_BOXVILLE4,
BV_DLC_CASCO,
BV_DLC_DINGHY3,
BV_DLC_ENDURO,
BV_DLC_GBURRITO2,
BV_DLC_GUARDIAN,
BV_DLC_HYDRA,
BV_DLC_INSURGENT,
BV_DLC_INSURGENT2,
BV_DLC_KURUMA,
BV_DLC_KURUMA2,
BV_DLC_LECTRO,
BV_DLC_MULE3,
BV_DLC_PBUS,
BV_DLC_SAVAGE,
BV_DLC_TECHNICAL,
BV_DLC_VALKYRIE,
BV_DLC_VELUM2,
//Heist pack additional site vehicles for MP
BV_MP_GRESLEY,
BV_MP_JACKAL,
BV_MP_LANDSTALKER,
BV_MP_MESA3,
BV_MP_NEMESIS,
BV_MP_ORACLE,
BV_MP_RUMPO,
BV_MP_SCHAFTER2,
BV_MP_SEMINOLE,
BV_MP_SURGE,
#IF IS_NEXTGEN_BUILD
//CG-NG pack
BV_NG_DODO,
BV_NG_MARSHALL,
BV_NG_SUBMERSIBLE2,
BV_NG_BLISTA2,
BV_NG_STALION,
BV_NG_DUKES,
BV_NG_DUKES2,
BV_NG_STALION2,
BV_NG_DOMINATOR2,
BV_NG_GAUNTLET2,
BV_NG_BUFFALO3,
#ENDIF
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CAREFUL ADDING NEW VEHICLES BELOW HERE FOR NG
savegame size relies on NUMBER_OF_BUYABLE_VEHICLES_SP being a constant
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
//Christmas2 pack
BV_DLC_SLAMVAN,
BV_DLC_RATLOADER2,
BV_DLC_JESTER2,
BV_DLC_MASSACRO2,
//Luxe pack //BV_LX
BV_LX_FELTZER3,
BV_LX_LUXOR2,
BV_LX_OSIRIS,
BV_LX_SWIFT2,
BV_LX_VIRGO,
BV_LX_WINDSOR,
//Luxe2 pack //BV_L2
BV_L2_BRAWLER,
BV_L2_CHINO,
BV_L2_COQUETTE3,
BV_L2_T20,
BV_L2_TORO,
BV_L2_VINDICATOR,
//BV_S1
BV_S1_BUCCANEER,
BV_S1_FACTION,
BV_S1_MOONBEAM,
BV_S1_PRIMO,
BV_S1_VOODOO2,
//BV_HA
BV_HA_BTYPE2,
BV_HA_LURCHER,
//BV_AP
BV_AP_BALLER3,
BV_AP_BALLER4,
BV_AP_COG55,
BV_AP_COGNOSCENTI,
BV_AP_LIMO2,
BV_AP_MAMBA,
BV_AP_NIGHTSHADE,
BV_AP_SCHAFTER3,
BV_AP_SCHAFTER4,
BV_AP_VERLIERER2,
BV_AP_SUPERVOLITO1,
BV_AP_SUPERVOLITO2,
BV_DLC_BIG_YACHT,
//BV_X3
BV_X3_TAMPA,
//BV_JA
BV_JA_SULTAN,
// BV_DLC_BANSHEE, //BV_C_BANSHEE/BV_C_BANSHEE_TOPLESS??
//BV_V2
BV_V2_ROOSEVELT2,
//BV_S2
// BV_DLC_MINIVAN, //BV_MP_MINIVAN?
BV_S2_SABREGT,
BV_S2_TORNADO,
BV_S2_VIRGO3,
BV_S2_FACTION_DONK,
//BV_EX
BV_EX_VOLATUS,
BV_EX_CARGOBOB2,
BV_EX_RUMPO3,
BV_EX_BRICKADE,
BV_EX_NIMBUS,
BV_EX_TUG,
BV_EX_WINDSOR2,
BV_EX_PROTOTIPO,
BV_EX_FMJ,
BV_EX_BESTIAGTS,
BV_EX_XLS,
BV_EX_SEVEN70,
BV_EX_PFISTER811,
BV_EX_REAPER,
//BV_ST
BV_ST_LE7B,
BV_ST_OMNIS,
BV_ST_TROPOS,
BV_ST_BRIOSO,
BV_ST_TROPHYTRUCK,
BV_ST_TROPHYTRUCK2,
BV_ST_CONTENDER,
BV_ST_CLIFFHANGER,
BV_ST_BF400,
BV_ST_RALLYTRUCK,
BV_ST_TAMPA2,
BV_ST_GARGOYLE,
BV_ST_TYRUS,
BV_ST_LYNX,
BV_ST_SHEAVA,
//BV_BI
BV_BI_BAGGER,
BV_BI_ESSKEY,
BV_BI_NIGHTBLADE,
BV_BI_DEFILER,
BV_BI_AVARUS,
BV_BI_ZOMBIEA,
BV_BI_ZOMBIEB,
BV_BI_CHIMERA,
BV_BI_DAEMON2,
BV_BI_RATBIKE,
BV_BI_SHOTARO,
BV_BI_RAPTOR,
BV_BI_HAKUCHOU2,
BV_BI_VORTEX,
BV_BI_BLAZER4,
BV_BI_SANCTUS,
BV_BI_MANCHEZ,
BV_BI_TORNADO6,
BV_BI_YOUGA2,
BV_BI_WOLFSBANE,
BV_BI_FAGGIO3,
BV_BI_FAGGIO,
//BV_IE
BV_IE_DUNE5,
BV_IE_PHANTOM2,
BV_IE_TECHNICAL2,
BV_IE_BLAZER5,
BV_IE_BOXVILLE5,
BV_IE_WASTELANDER,
BV_IE_RUINER2,
BV_IE_VOLTIC2,
BV_IE_PENETRATOR,
BV_IE_TEMPESTA,
BV_IE_ITALIGTB,
BV_IE_NERO,
BV_IE_DIABLOUS,
BV_IE_FCR,
// BV_IE_ELEGY2, //BV_SC_ELEGY2?
// BV_IE_COMET2, //BV_C_COMET2?
BV_IE_SPECTER,
BV_SR_GP1,
BV_SR_INFERNUS2,
BV_SR_RUSTON,
BV_SR_TURISMO2,
BV_DLC_BIG_TRUCK,
BV_DLC_BALLISTIC_EQUIPMENT,
BV_GR_CHEETAH2,
BV_GR_TORERO,
BV_GR_VAGNER,
BV_GR_XA21,
BV_GR_APC,
BV_GR_DUNE3,
BV_GR_HALFTRACK,
BV_GR_OPPRESSOR,
BV_GR_TAMPA3,
BV_GR_TRAILERSMALL2,
BV_GR_ARDENT,
BV_GR_NIGHTSHARK,
BV_SM_LAZER,
BV_SM_MICROLIGHT,
BV_SM_MOGUL,
BV_SM_ROGUE,
BV_SM_STARLING,
BV_SM_SEABREEZE,
BV_SM_TULA,
BV_SM_PYRO,
BV_SM_MOLOTOK,
BV_SM_NOKOTA,
BV_SM_BOMBUSHKA,
BV_SM_HUNTER,
BV_SM_HAVOK,
BV_SM_HOWARD,
BV_SM_ALPHAZ1,
BV_SM_CYCLONE,
BV_SM_VISIONE,
BV_SM_RETINUE,
BV_SM_RAPIDGT3,
BV_SM_VIGILANTE,
BV_DLC_BIG_PLANE,
BV_GO_DELUXO,
BV_GO_STROMBERG,
BV_GO_RIOT2,
BV_GO_CHERNOBOG,
BV_GO_KHANJALI,
BV_GO_AKULA,
BV_GO_THRUSTER,
BV_GO_BARRAGE,
BV_GO_VOLATOL,
BV_GO_COMET4,
BV_GO_NEON,
BV_GO_STREITER,
BV_GO_SENTINEL3,
BV_GO_YOSEMITE,
BV_GO_SC1,
BV_GO_AUTARCH,
BV_GO_GT500,
BV_GO_HUSTLER,
BV_GO_REVOLTER,
BV_GO_PARIAH,
BV_GO_RAIDEN,
BV_GO_SAVESTRA,
BV_GO_RIATA,
BV_GO_HERMES,
BV_GO_COMET5,
BV_GO_Z190,
BV_GO_VISERIS,
BV_GO_KAMACHO,
BV_AR_GB200,
BV_AR_FAGALOA,
BV_AR_ELLIE,
BV_AR_ISSI3,
BV_AR_MICHELLI,
BV_AR_FLASHGT,
BV_AR_HOTRING,
BV_AR_TEZERACT,
BV_AR_TYRANT,
BV_AR_DOMINATOR3,
BV_AR_TAIPAN,
BV_AR_ENTITY2,
BV_AR_JESTER3,
BV_AR_CHEBUREK,
BV_AR_CARACARA,
BV_AR_SEASPARROW,
BV_DLC_HACKER_TRUCK,
BV_BB_MULE4,
BV_BB_POUNDER2,
BV_BB_SWINGER,
BV_BB_MENACER,
BV_BB_SCRAMJET,
BV_BB_STRIKEFORCE,
BV_BB_OPPRESSOR2,
BV_BB_PATRIOT2,
BV_BB_STAFFORD,
BV_BB_FREECRAWLER,
BV_BB_BLIMP3,
BV_BB_PBUS2,
BV_MP_FUTO,
BV_MP_RUINER,
BV_MP_ROMERO,
BV_MP_PRAIRIE,
BV_MP_BALLER,
BV_MP_SERRANO,
BV_MP_BJXL,
BV_MP_HABANERO,
BV_MP_FQ2,
BV_MP_PATRIOT,
BV_AW_CERBERUS, // Arena ready (apocalypse)
BV_AW_CERBERUS2, // Arena ready (sci fi)
BV_AW_CERBERUS3, // Arena ready (consumer wasteland)
BV_AW_BRUTUS, // Arena ready (apocalypse)
BV_AW_BRUTUS2, // Arena ready (sci fi)
BV_AW_BRUTUS3, // Arena ready (consumer wasteland)
BV_AW_SCARAB, // Arena ready (apocalypse)
BV_AW_SCARAB2, // Arena ready (sci fi)
BV_AW_SCARAB3, // Arena ready (consumer wasteland)
BV_AW_IMPERATOR, // Arena ready (apocalypse)
BV_AW_IMPERATOR2, // Arena ready (sci fi)
BV_AW_IMPERATOR3, // Arena ready (consumer wasteland)
BV_AW_ZR380, // Arena ready (apocalypse)
BV_AW_ZR3802, // Arena ready (sci fi)
BV_AW_ZR3803, // Arena ready (consumer wasteland)
BV_AW_IMPALER, // Upgradeable
BV_AW_VAMOS,
BV_AW_TULIP,
BV_AW_DEVESTE,
BV_AW_SCHLAGEN,
BV_AW_TOROS,
BV_AW_DEVIANT,
BV_AW_CLIQUE,
BV_AW_ITALIGTO,
BV_AW_RCBANDITO,
BV_MP_TAXI,
BV_MP_BULLDOZER,
BV_MP_SPEEDO2,
BV_MP_TRASH2,
BV_MP_BARRACKS2,
BV_MP_MIXER,
BV_MP_DUNE2,
BV_MP_TRACTOR,
BV_MP_BLISTA3,
BV_CA_THRAX,
BV_CA_DRAFTER,
BV_CA_LOCUST,
BV_CA_NOVAK,
BV_CA_ZORRUSSO,
BV_CA_GAUNTLET3,
BV_CA_ISSI7,
BV_CA_ZION3,
BV_CA_NEBULA,
BV_CA_HELLION,
BV_CA_DYNASTY,
BV_CA_RROCKET,
BV_CA_PEYOTE2,
BV_CA_GAUNTLET4,
BV_CA_CARACARA2,
BV_CA_JUGULAR,
BV_CA_S80,
BV_CA_KRIEGER,
BV_CA_EMERUS,
BV_CA_NEO,
BV_CA_PARAGON,
// Casino Heist
BV_CH_FIRETRUK,
BV_CH_BURRITO2,
BV_CH_BOXVILLE,
BV_CH_STOCKADE,
BV_CH_LGUARD,
BV_CH_BLAZER2,
BV_CH_ZHABA,
BV_CH_MINITANK,
BV_CH_JB7002,
BV_CH_STRYDER,
BV_CH_VSTR,
BV_CH_FORMULA,
BV_CH_IMORGON,
BV_CH_FORMULA2,
BV_CH_FURIA,
BV_CH_REBLA,
BV_CH_VAGRANT,
BV_CH_RETINUE2,
BV_CH_YOSEMITE2,
BV_CH_KOMODA,
BV_CH_SULTAN2,
BV_CH_SUGOI,
BV_CH_EVERON,
BV_CH_ASBO,
BV_CH_KANJO,
BV_CH_OUTLAW,
// #IF FEATURE_COPS_N_CROOKS
// BV_CNC_SURFER3,
// BV_CNC_ZOKU,
// BV_CNC_POLBATI,
// BV_CNC_POLBUFFALO,
// BV_CNC_POLGAUNTLET,
// BV_CNC_POLGRANGER,
// BV_CNC_POLICE5,
// BV_CNC_POLICE6,
// BV_CNC_POLICEB2,
// BV_CNC_POLICET2,
// BV_CNC_POLPANTO,
// BV_CNC_POLCARACARA,
// BV_CNC_POLRIATA,
// BV_CNC_POLGREENWOOD,
// #ENDIF
// Summer Pack 2020
BV_SUM_CLUB,
BV_SUM_DUKES3,
BV_SUM_YOSEMITE3,
BV_SUM_PENUMBRA2,
BV_SUM_LANDSTALKER2,
BV_SUM_SEMINOLE2,
BV_SUM_TIGON,
BV_SUM_OPENWHEEL1,
BV_SUM_OPENWHEEL2,
BV_SUM_COQUETTE4,
BV_SUM_MANANA,
BV_SUM_PEYOTE,
// Island Heist 2020
#IF FEATURE_HEIST_ISLAND
BV_IH_KOSATKA,
BV_IH_ITALIRSX,
BV_IH_SLAMTRUCK,
BV_IH_BRIOSO2,
BV_IH_WEEVIL,
BV_IH_ALKONOST,
BV_IH_ANNIHILATOR2,
// BV_IH_AVISA,
BV_IH_DINGHY5,
BV_IH_MANCHEZ2,
BV_IH_PATROLBOAT,
// BV_IH_SEASPARROW2,
BV_IH_SQUADDIE,
BV_IH_TOREADOR,
BV_IH_VERUS,
BV_IH_VETIR,
BV_IH_WINKY,
BV_IH_LONGFIN,
BV_IH_VETO,
BV_IH_VETO2,
#ENDIF
#IF FEATURE_TUNER
BV_TU_CALICO,
BV_TU_COMET6,
BV_TU_CYPHER,
BV_TU_DOMINATOR7,
BV_TU_JESTER4,
BV_TU_REMUS,
BV_TU_VECTRE,
BV_TU_ZR350,
BV_TU_WARRENER2,
BV_TU_RT3000,
BV_TU_FUTO2,
BV_TU_SULTAN3,
BV_TU_TAILGATER2,
BV_TU_DOMINATOR8,
BV_TU_EUROS,
BV_TU_GROWLER,
BV_TU_PREVION,
#ENDIF
#IF FEATURE_GEN9_EXCLUSIVE
BV_G9E_S95,
BV_G9E_ARBITERGT,
BV_G9E_ASTRON2,
BV_G9E_CYCLONE2,
BV_G9E_IGNUS2,
#ENDIF
BV_AGENCY_HELI,
BV_AGENCY_COMET7,
BV_AGENCY_SHINOBI,
BV_AGENCY_REEVER,
BV_AGENCY_BALLER7,
BV_AGENCY_CINQUEMILA,
BV_AGENCY_JUBILEE,
BV_AGENCY_ASTRON,
BV_AGENCY_DEITY,
BV_AGENCY_ZENO,
BV_AGENCY_CHAMPION,
BV_AGENCY_IGNUS,
BV_AGENCY_BUFFALO4,
BV_AGENCY_GRANGER2,
BV_AGENCY_IWAGEN,
BV_AGENCY_PATRIOT3,
#IF FEATURE_DLC_1_2022
BV_SUM2_TENF,
BV_SUM2_SM722,
BV_SUM2_TORERO2,
BV_SUM2_CORSITA,
BV_SUM2_LM87,
BV_SUM2_OMNISEGT,
BV_SUM2_RHINEHART,
BV_SUM2_POSTLUDE,
BV_SUM2_KANJOSJ,
BV_SUM2_VIGERO2,
BV_SUM2_RUINER4,
BV_SUM2_DRAUGUR,
BV_SUM2_GREENWOOD,
BV_SUM2_CONADA,
#ENDIF
TOTAL_BUYABLE_VEHICLES,
//100 should be enough extra spaces for SP save globals hopefully
//based on //depot/gta5/script/NG_Submission_5_0/singleplayer/include/globals/website_globals.sch
NUMBER_OF_BUYABLE_VEHICLES_SP = 312
ENDENUM
CONST_INT TOTAL_BUYABLE_VEHICLES_CONST TOTAL_BUYABLE_VEHICLES
ENUM SITE_BUYABLE_VEHICLE_COLOURS
BCV_NO_COLOUR,
BCV_RED_COLOUR, //USA
BCV_PINK_COLOUR, //AUS
BCV_YELLOW_COLOUR, //BRA
BCV_ORANGE_COLOUR, //SPA
BCV_GREEN_COLOUR, //CAN
BCV_BLUE_COLOUR, //FRA
BCV_BLACK_COLOUR, //GER
BCV_WHITE_COLOUR, //JAP
BCV_COLOUR_1, //SCO //BROWN
BCV_COLOUR_2, //UK //CYAN
BCV_COLOUR_3, //ITA //GREY
BCV_COLOUR_4, //SWI //MINT
BCV_COLOUR_5, //JAM //PINK
BCV_COLOUR_6, //COL //PALE YELLOW
BCV_COLOUR_7, //NOR //BURGUNDY
BCV_COLOUR_8, //SWE //LILAC
BCV_COLOUR_9, //BEL
BCV_COLOUR_10, //MEX
BCV_COLOUR_11, //AUT
BCV_COLOUR_12, //RUS
BCV_COLOUR_13, //ARG
BCV_COLOUR_14, //TUR
BCV_COLOUR_15, //IRE
BCV_COLOUR_16, //WAL
BCV_COLOUR_17, //ENG
BCV_COLOUR_18, //EU
BCV_COLOUR_19, //FIN
BCV_COLOUR_20, //NED
BCV_COLOUR_21, //POR
BCV_COLOUR_22, //KOR
BCV_COLOUR_23, //CHI
BCV_COLOUR_24, //HUN
BCV_COLOUR_25, //NZ
BCV_COLOUR_26, //PUR
BCV_COLOUR_27, //CRO
BCV_COLOUR_28, //ISR
BCV_COLOUR_29, //NIG
BCV_COLOUR_30, //SVK
BCV_COLOUR_31, //CZE
BCV_COLOUR_32, //LIC
BCV_COLOUR_33, //PAL
BCV_COLOUR_34, //SOU
BCV_COLOUR_35, //DEN
BCV_COLOUR_36, //MAL
BCV_COLOUR_37, //POL
BCV_COLOUR_38 //SLO
#IF FEATURE_GEN9_EXCLUSIVE
,BCV_COLOUR_39 // DARKPURPLEPEARL
#ENDIF
ENDENUM
SITE_BUYABLE_VEHICLE_COLOURS g_eLastBuyableVehicleColourSelected = BCV_NO_COLOUR
BOOL g_bLastBuyableVehicleArmourSelected = FALSE
INT g_iClothingForVehBits[(TOTAL_BUYABLE_VEHICLES_CONST/32) +1]
INT g_iClothingForWebBits[1]
INT g_iChipsForVehBits[(TOTAL_BUYABLE_VEHICLES_CONST/32) +1]
INT g_iChipsForPropBits[(TOTAL_BUYABLE_VEHICLES_CONST/32) +1]
//Vehicle purchased state// these need to be saved
STRUCT BuyableVehicleSaved
INT g_bOwnedVehicleStates[NUMBER_OF_BUYABLE_VEHICLES_SP]
SITE_BUYABLE_VEHICLE_COLOURS g_eOwnedVehicleColoursM[NUMBER_OF_BUYABLE_VEHICLES_SP]
SITE_BUYABLE_VEHICLE_COLOURS g_eOwnedVehicleColoursF[NUMBER_OF_BUYABLE_VEHICLES_SP]
SITE_BUYABLE_VEHICLE_COLOURS g_eOwnedVehicleColoursT[NUMBER_OF_BUYABLE_VEHICLES_SP]
ENDSTRUCT
INT g_iEpsilonTutorialStage = -1
ENUM EPSILON_FAIL_PAGE_REASON
EPSILON_SUPPRESSIVE,
EPSILON_OUT_OF_STOCK,
EPSILON_NO_MONEY,
EPSILON_IP_INFRINGE
ENDENUM
EPSILON_FAIL_PAGE_REASON g_eEpsilonFailReason = EPSILON_SUPPRESSIVE
BOOL g_bIEAppVisible = FALSE
BOOL g_bFHQAppOpen = FALSE
BOOL g_bUpdateLeakStrandOnRollover = TRUE
BOOL g_bForceCloseBrowserForOfficeGarageGPS = TRUE
BOOL g_bForceActivitySeatExit = FALSE
BOOL g_bBrowser_MBANKHELP_seen = FALSE // [MBANKHELP] Go to foreclosures.maze-bank.com to purchase a Facility. This property gives you access to The Doomsday Heist planning room as a VIP, CEO or MC President.
#IF FEATURE_CASINO_HEIST
BOOL g_bBrowser_ARCADEHELP_seen = FALSE // [ARCADEHELP] Purchase an Arcade ~BLIP_LAPTOP~ to gain access to The Casino Heist.
#ENDIF
INT g_iPotentialFixForMatchingPropertySellingId = 0 //HASH("FACTORY_INDEX_28_t0_v0")
INT g_iPotentialFixForMatchingPropertySellingId_CESP = 0 //HASH("FACTORY_INDEX_28_t0_v0_CESP")
#IF FEATURE_FIXER
BOOL g_bGlobalAmbientInternetDisabled
#ENDIF
#IF FEATURE_TUNER
ENUM VEHICLE_WEBSITES
VEHICLEWEBSITE_INVALID = -1,
VEHICLEWEBSITE_LEGENDARY_MOTORSPORT,
VEHICLEWEBSITE_SOUTHERN_SAN_ANDREAS_SUPER_AUTOS,
VEHICLEWEBSITE_BENNYS_ORIGINAL_MOTORWORKS,
VEHICLEWEBSITE_ARENA_WAR,
VEHICLEWEBSITE_ELITAS_TRAVEL,
VEHICLEWEBSITE_WARSTOCK_CACHE_AND_CARRY,
VEHICLEWEBSITE_DOCKTEASE,
VEHICLEWEBSITE_PEDAL_AND_METAL_CYCLES,
VEHICLEWEBSITE_MAX
ENDENUM
STRUCT AUTO_SHOP_DATA_STRUCT
INT iAutoShopID = -1
INT iWall = -1
INT iTint = -1
INT iEmblem = -1
INT iCrewName = -1
INT iStaff1 = -1
INT iStaff2 = -1
INT iCarLift = -1
INT iPersonalQuarters = -1
INT iCarClubMembership = -1
ENDSTRUCT
AUTO_SHOP_DATA_STRUCT g_sAutoShopDataStruct
#ENDIF