diff --git a/Client/core/CCore.cpp b/Client/core/CCore.cpp index 887e3283f6b..b472894302e 100644 --- a/Client/core/CCore.cpp +++ b/Client/core/CCore.cpp @@ -513,7 +513,7 @@ void CCore::EnableChatInput(char* szCommand, DWORD dwColor) { if (m_pLocalGUI) { - if (m_pGame->GetSystemState() == 9 /* GS_PLAYING_GAME */ && m_pModManager->IsLoaded() && !IsOfflineMod() && !m_pGame->IsAtMenu() && + if (m_pGame->GetSystemState() == SystemState::GS_PLAYING_GAME && m_pModManager->IsLoaded() && !IsOfflineMod() && !m_pGame->IsAtMenu() && !m_pLocalGUI->GetMainMenu()->IsVisible() && !m_pLocalGUI->GetConsole()->IsVisible() && !m_pLocalGUI->IsChatBoxInputEnabled()) { CChat* pChat = m_pLocalGUI->GetChat(); @@ -1232,7 +1232,7 @@ void CCore::DoPostFramePulse() } // This is the first frame in the menu? - if (m_pGame->GetSystemState() == 7) // GS_FRONTEND + if (m_pGame->GetSystemState() == SystemState::GS_FRONTEND) { if (m_menuFrame < 255) ++m_menuFrame; diff --git a/Client/core/CGUI.cpp b/Client/core/CGUI.cpp index 12575a48554..75aff3a597d 100644 --- a/Client/core/CGUI.cpp +++ b/Client/core/CGUI.cpp @@ -281,17 +281,17 @@ void CLocalGUI::Draw() { // Get the game interface CGame* pGame = CCore::GetSingleton().GetGame(); - eSystemState SystemState = pGame->GetSystemState(); + SystemState systemState = pGame->GetSystemState(); CGUI* pGUI = CCore::GetSingleton().GetGUI(); // Update mainmenu stuff m_pMainMenu->Update(); // If we're ingame, make sure the chatbox is drawn - bool bChatVisible = (SystemState == 9 /* GS_INGAME */ && m_pMainMenu->GetIsIngame() && m_bChatboxVisible && !CCore::GetSingleton().IsOfflineMod()); + bool bChatVisible = (systemState == SystemState::GS_PLAYING_GAME && m_pMainMenu->GetIsIngame() && m_bChatboxVisible && !CCore::GetSingleton().IsOfflineMod()); if (m_pChat->IsVisible() != bChatVisible) m_pChat->SetVisible(bChatVisible, !bChatVisible); - bool bDebugVisible = (SystemState == 9 /* GS_INGAME */ && m_pMainMenu->GetIsIngame() && m_pDebugViewVisible && !CCore::GetSingleton().IsOfflineMod()); + bool bDebugVisible = (systemState == SystemState::GS_PLAYING_GAME && m_pMainMenu->GetIsIngame() && m_pDebugViewVisible && !CCore::GetSingleton().IsOfflineMod()); if (m_pDebugView->IsVisible() != bDebugVisible) m_pDebugView->SetVisible(bDebugVisible, true); @@ -305,7 +305,7 @@ void CLocalGUI::Draw() // If we're not at the loadingscreen static bool bDelayedFrame = false; - if (SystemState != 8 || !bDelayedFrame /* GS_INIT_PLAYING_GAME */) + if (systemState != SystemState::GS_INIT_PLAYING_GAME || !bDelayedFrame) { // If we have a GUI manager, draw the GUI if (pGUI) @@ -314,7 +314,7 @@ void CLocalGUI::Draw() } // If the system state was 8, make sure we don't do another delayed frame - if (SystemState == 8) + if (systemState == SystemState::GS_INIT_PLAYING_GAME) { bDelayedFrame = true; } diff --git a/Client/core/CKeyBinds.cpp b/Client/core/CKeyBinds.cpp index 0a1eee4a1ef..6d451574cb5 100644 --- a/Client/core/CKeyBinds.cpp +++ b/Client/core/CKeyBinds.cpp @@ -1872,15 +1872,15 @@ bool CKeyBinds::ControlLeftAndRight(CControllerState& cs) void CKeyBinds::DoPostFramePulse() { - eSystemState SystemState = CCore::GetSingleton().GetGame()->GetSystemState(); + SystemState systemState = CCore::GetSingleton().GetGame()->GetSystemState(); - if (m_bWaitingToLoadDefaults && (SystemState == 7 || SystemState == 9)) // Are GTA controls actually initialized? + if (m_bWaitingToLoadDefaults && (systemState == SystemState::GS_FRONTEND || systemState == SystemState::GS_PLAYING_GAME)) // Are GTA controls actually initialized? { LoadDefaultBinds(); m_bWaitingToLoadDefaults = false; } - if (SystemState != 9 /* GS_PLAYING_GAME */) + if (systemState != SystemState::GS_PLAYING_GAME) return; bool bInVehicle = false, bHasDetonator = false, bIsDead = false, bAimingWeapon = false, bEnteringVehicle = false; @@ -2151,10 +2151,10 @@ bool CKeyBinds::LoadFromXML(CXMLNode* pMainNode) else bLoadDefaults = true; - eSystemState SystemState = CCore::GetSingleton().GetGame()->GetSystemState(); + SystemState systemState = CCore::GetSingleton().GetGame()->GetSystemState(); if (bLoadDefaults) { - if (SystemState == 7 || SystemState == 9) // Are GTA controls actually initialized? + if (systemState == SystemState::GS_FRONTEND || systemState == SystemState::GS_PLAYING_GAME) // Are GTA controls actually initialized? LoadDefaultBinds(); else m_bWaitingToLoadDefaults = true; diff --git a/Client/core/CMainMenu.cpp b/Client/core/CMainMenu.cpp index efb09b50f05..7848da2162a 100644 --- a/Client/core/CMainMenu.cpp +++ b/Client/core/CMainMenu.cpp @@ -447,7 +447,7 @@ void CMainMenu::Update() // Get the game interface and the system state CGame* pGame = CCore::GetSingleton().GetGame(); - eSystemState SystemState = pGame->GetSystemState(); + SystemState systemState = pGame->GetSystemState(); m_Credits.Update(); m_Settings.Update(); @@ -650,7 +650,7 @@ void CMainMenu::Update() } // Force the mainmenu on if we're at GTA's mainmenu or not ingame - if ((SystemState == 7 || SystemState == 9) && !m_bIsIngame) + if ((systemState == SystemState::GS_FRONTEND || systemState == SystemState::GS_PLAYING_GAME) && !m_bIsIngame) { if (!m_bStarted) { @@ -671,11 +671,11 @@ void CMainMenu::Update() } // If we're visible - if (m_bIsVisible && SystemState != 8) + if (m_bIsVisible && systemState != SystemState::GS_INIT_PLAYING_GAME) { // If we're at the game's mainmenu, or ingame when m_bIsIngame is true show the background - if (SystemState == 7 || // GS_FRONTEND - SystemState == 9 && !m_bIsIngame) // GS_PLAYING_GAME + if (systemState == SystemState::GS_FRONTEND || + systemState == SystemState::GS_PLAYING_GAME && !m_bIsIngame) { if (m_ucFade == FADE_INVISIBLE) Show(false); diff --git a/Client/core/CMessageLoopHook.cpp b/Client/core/CMessageLoopHook.cpp index b9499aef374..a05e59fa59d 100644 --- a/Client/core/CMessageLoopHook.cpp +++ b/Client/core/CMessageLoopHook.cpp @@ -321,8 +321,8 @@ LRESULT CALLBACK CMessageLoopHook::ProcessMessage(HWND hwnd, UINT uMsg, WPARAM w // If CTRL and Tab are pressed, Trigger a skip if ((uMsg == WM_KEYDOWN && wParam == VK_TAB)) { - eSystemState systemState = g_pCore->GetGame()->GetSystemState(); - if (systemState == 7 || systemState == 8 || systemState == 9) + SystemState systemState = g_pCore->GetGame()->GetSystemState(); + if (systemState == SystemState::GS_FRONTEND || systemState == SystemState::GS_INIT_PLAYING_GAME || systemState == SystemState::GS_PLAYING_GAME) { short sCtrlState = GetKeyState(VK_CONTROL); short sShiftState = GetKeyState(VK_SHIFT); @@ -344,8 +344,8 @@ LRESULT CALLBACK CMessageLoopHook::ProcessMessage(HWND hwnd, UINT uMsg, WPARAM w } if ((uMsg == WM_KEYDOWN && (wParam >= VK_1 && wParam <= VK_9))) { - eSystemState systemState = g_pCore->GetGame()->GetSystemState(); - if (systemState == 7 || systemState == 8 || systemState == 9) + SystemState systemState = g_pCore->GetGame()->GetSystemState(); + if (systemState == SystemState::GS_FRONTEND || systemState == SystemState::GS_INIT_PLAYING_GAME || systemState == SystemState::GS_PLAYING_GAME) { short sCtrlState = GetKeyState(VK_CONTROL); if (sCtrlState & 0x8000) @@ -368,9 +368,9 @@ LRESULT CALLBACK CMessageLoopHook::ProcessMessage(HWND hwnd, UINT uMsg, WPARAM w // If F8 is pressed, we show/hide the console if ((uMsg == WM_KEYDOWN && wParam == VK_F8) || (uMsg == WM_CHAR && wParam == '`')) { - eSystemState systemState = g_pCore->GetGame()->GetSystemState(); - if (CLocalGUI::GetSingleton().IsConsoleVisible() || systemState == 7 || systemState == 8 || - systemState == 9) /* GS_FRONTEND, GS_INIT_PLAYING_GAME, GS_PLAYING_GAME */ + SystemState systemState = g_pCore->GetGame()->GetSystemState(); + if (CLocalGUI::GetSingleton().IsConsoleVisible() || systemState == SystemState::GS_FRONTEND || systemState == SystemState::GS_INIT_PLAYING_GAME || + systemState == SystemState::GS_PLAYING_GAME) { CLocalGUI::GetSingleton().SetConsoleVisible(!CLocalGUI::GetSingleton().IsConsoleVisible()); } diff --git a/Client/core/CMouseControl.cpp b/Client/core/CMouseControl.cpp index 549ae5ee91d..2e772c185cb 100644 --- a/Client/core/CMouseControl.cpp +++ b/Client/core/CMouseControl.cpp @@ -59,7 +59,7 @@ bool CMouseControl::ProcessMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam) if (uMsg != WM_MOUSEMOVE) return false; - if (g_pCore->GetGame()->GetSystemState() != 9) + if (g_pCore->GetGame()->GetSystemState() != SystemState::GS_PLAYING_GAME) return false; // HACK: Grab our local player, and check his vehicle diff --git a/Client/game_sa/C3DMarkersSA.cpp b/Client/game_sa/C3DMarkersSA.cpp index 8e5b556ba48..94c67988e26 100644 --- a/Client/game_sa/C3DMarkersSA.cpp +++ b/Client/game_sa/C3DMarkersSA.cpp @@ -28,7 +28,7 @@ C3DMarkersSA::~C3DMarkersSA() } } -C3DMarker* C3DMarkersSA::CreateMarker(DWORD Identifier, e3DMarkerType dwType, CVector* vecPosition, float fSize, float fPulseFraction, BYTE r, BYTE g, BYTE b, +C3DMarker* C3DMarkersSA::CreateMarker(DWORD Identifier, T3DMarkerType dwType, CVector* vecPosition, float fSize, float fPulseFraction, BYTE r, BYTE g, BYTE b, BYTE a) { /* @@ -37,8 +37,8 @@ C3DMarker* C3DMarkersSA::CreateMarker(DWORD Identifier, e3DMarkerType dwType, CV unsigned short nPeriod, float fPulseFrac, short nRotRate, float normalX = 0.0f, float normalY = 0.0f, float normalZ = 0.0f, bool zCheck = FALSE); */ - WORD wType = dwType; - dwType = (e3DMarkerType)wType; + WORD wType = (WORD)dwType; + dwType = (T3DMarkerType)wType; bool bZCheck = true; DWORD dwFunc = FUNC_PlaceMarker; diff --git a/Client/game_sa/C3DMarkersSA.h b/Client/game_sa/C3DMarkersSA.h index 7d61230cfa9..13f8dd21dde 100644 --- a/Client/game_sa/C3DMarkersSA.h +++ b/Client/game_sa/C3DMarkersSA.h @@ -28,7 +28,7 @@ class C3DMarkersSA : public C3DMarkers C3DMarkersSA(); ~C3DMarkersSA(); - C3DMarker* CreateMarker(DWORD Identifier, e3DMarkerType dwType, CVector* vecPosition, float fSize, float fPulseFraction, BYTE r, BYTE g, BYTE b, BYTE a); + C3DMarker* CreateMarker(DWORD Identifier, T3DMarkerType dwType, CVector* vecPosition, float fSize, float fPulseFraction, BYTE r, BYTE g, BYTE b, BYTE a); C3DMarker* FindFreeMarker(); C3DMarker* FindMarker(DWORD Identifier); void ReinitMarkers(); diff --git a/Client/game_sa/CCoronasSA.cpp b/Client/game_sa/CCoronasSA.cpp index 93d60725035..e1907f6a912 100644 --- a/Client/game_sa/CCoronasSA.cpp +++ b/Client/game_sa/CCoronasSA.cpp @@ -44,7 +44,7 @@ CRegisteredCorona* CCoronasSA::CreateCorona(DWORD Identifier, CVector* position) if (corona) { - RwTexture* texture = GetTexture((eCoronaType)CORONATYPE_SHINYSTAR); + RwTexture* texture = GetTexture(CoronaType::CORONATYPE_SHINYSTAR); if (texture) { corona->Init(Identifier); @@ -81,10 +81,10 @@ CRegisteredCorona* CCoronasSA::FindCorona(DWORD Identifier) return (CRegisteredCorona*)NULL; } -RwTexture* CCoronasSA::GetTexture(eCoronaType type) +RwTexture* CCoronasSA::GetTexture(CoronaType type) { - if (type < MAX_CORONA_TEXTURES) - return (RwTexture*)(*(DWORD*)(ARRAY_CORONA_TEXTURES + type * sizeof(DWORD))); + if ((DWORD)type < MAX_CORONA_TEXTURES) + return (RwTexture*)(*(DWORD*)(ARRAY_CORONA_TEXTURES + static_cast(type) * sizeof(DWORD))); else return NULL; } diff --git a/Client/game_sa/CCoronasSA.h b/Client/game_sa/CCoronasSA.h index 475b34393c9..e0e3297d1b4 100644 --- a/Client/game_sa/CCoronasSA.h +++ b/Client/game_sa/CCoronasSA.h @@ -39,7 +39,7 @@ class CCoronasSA : public CCoronas CRegisteredCorona* CreateCorona(DWORD Identifier, CVector* position); CRegisteredCorona* FindFreeCorona(); CRegisteredCorona* FindCorona(DWORD Identifier); - RwTexture* GetTexture(eCoronaType type); + RwTexture* GetTexture(CoronaType type); void DisableSunAndMoon(bool bDisabled); diff --git a/Client/game_sa/CDoorSA.h b/Client/game_sa/CDoorSA.h index 48247427eba..7286227d91e 100644 --- a/Client/game_sa/CDoorSA.h +++ b/Client/game_sa/CDoorSA.h @@ -49,5 +49,5 @@ class CDoorSA : public CDoor bool IsClosed(); bool IsFullyOpen(); void Open(float fOpenRatio); - eDoorState GetDoorState() { return (eDoorState)GetInterface()->m_nDoorState; }; + DoorState GetDoorState() { return (DoorState)GetInterface()->m_nDoorState; }; }; diff --git a/Client/game_sa/CFxSA.cpp b/Client/game_sa/CFxSA.cpp index 1c6f8182ee4..30107e4fa3a 100644 --- a/Client/game_sa/CFxSA.cpp +++ b/Client/game_sa/CFxSA.cpp @@ -240,7 +240,7 @@ void CFxSA::TriggerFootSplash(CVector& vecPosition) } } -void CFxSA::AddParticle(eFxParticleSystems eFxParticle, const CVector& vecPosition, const CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife) +void CFxSA::AddParticle(FxParticleSystems eFxParticle, const CVector& vecPosition, const CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife) { // Init our own FxPrtMult struct FxPrtMult_c fxPrt{{fR,fG,fB,fA}, fSize, 0, fLife}; @@ -250,55 +250,55 @@ void CFxSA::AddParticle(eFxParticleSystems eFxParticle, const CVector& vecPositi switch (eFxParticle) { - case eFxParticleSystems::PRT_BLOOD: + case FxParticleSystems::PRT_BLOOD: fxParticleSystem = m_pInterface->m_fxSysBlood; break; - case eFxParticleSystems::PRT_BOATSPLASH: + case FxParticleSystems::PRT_BOATSPLASH: fxParticleSystem = m_pInterface->m_fxSysBoatSplash; break; - case eFxParticleSystems::PRT_BUBBLE: + case FxParticleSystems::PRT_BUBBLE: fxParticleSystem = m_pInterface->m_fxSysBubble; break; - case eFxParticleSystems::PRT_DEBRIS: + case FxParticleSystems::PRT_DEBRIS: fxParticleSystem = m_pInterface->m_fxSysDebris; break; - case eFxParticleSystems::PRT_GUNSHELL: + case FxParticleSystems::PRT_GUNSHELL: fxParticleSystem = m_pInterface->m_fxSysGunshell; break; - case eFxParticleSystems::PRT_SAND: + case FxParticleSystems::PRT_SAND: fxParticleSystem = m_pInterface->m_fxSysSand; break; - case eFxParticleSystems::PRT_SAND2: + case FxParticleSystems::PRT_SAND2: fxParticleSystem = m_pInterface->m_fxSysSand2; break; - case eFxParticleSystems::PRT_SMOKE: + case FxParticleSystems::PRT_SMOKE: fxParticleSystem = m_pInterface->m_fxSysSmoke; break; - case eFxParticleSystems::PRT_SMOKEHUGE: + case FxParticleSystems::PRT_SMOKEHUGE: fxParticleSystem = m_pInterface->m_fxSysSmokeHuge; break; - case eFxParticleSystems::PRT_SMOKE2: + case FxParticleSystems::PRT_SMOKE2: fxParticleSystem = m_pInterface->m_fxSysSmoke2; break; - case eFxParticleSystems::PRT_SPARK: + case FxParticleSystems::PRT_SPARK: fxParticleSystem = m_pInterface->m_fxSysSpark; break; - case eFxParticleSystems::PRT_SPARK2: + case FxParticleSystems::PRT_SPARK2: fxParticleSystem = m_pInterface->m_fxSysSpark2; break; - case eFxParticleSystems::PRT_SPLASH: + case FxParticleSystems::PRT_SPLASH: fxParticleSystem = m_pInterface->m_fxSysSplash; break; - case eFxParticleSystems::PRT_WAKE: + case FxParticleSystems::PRT_WAKE: fxParticleSystem = m_pInterface->m_fxSysWake; break; - case eFxParticleSystems::PRT_WATERSPLASH: + case FxParticleSystems::PRT_WATERSPLASH: fxParticleSystem = m_pInterface->m_fxSysWaterSplash; break; - case eFxParticleSystems::PRT_WHEELDIRT: + case FxParticleSystems::PRT_WHEELDIRT: fxParticleSystem = m_pInterface->m_fxSysWheelDirt; break; - case eFxParticleSystems::PRT_GLASS: + case FxParticleSystems::PRT_GLASS: fxParticleSystem = m_pInterface->m_fxSysGlass; break; default: diff --git a/Client/game_sa/CFxSA.h b/Client/game_sa/CFxSA.h index c772af0ca9e..efb7d0403f8 100644 --- a/Client/game_sa/CFxSA.h +++ b/Client/game_sa/CFxSA.h @@ -76,7 +76,7 @@ class CFxSA : public CFx void TriggerWaterSplash(CVector& vecPosition); void TriggerBulletSplash(CVector& vecPosition); void TriggerFootSplash(CVector& vecPosition); - void AddParticle(eFxParticleSystems eFxParticle, const CVector& vecPosition, const CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife); + void AddParticle(FxParticleSystems eFxParticle, const CVector& vecPosition, const CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife); private: CFxSAInterface* m_pInterface; diff --git a/Client/game_sa/CGameSA.cpp b/Client/game_sa/CGameSA.cpp index 6874500f71a..9b995f25b67 100644 --- a/Client/game_sa/CGameSA.cpp +++ b/Client/game_sa/CGameSA.cpp @@ -374,7 +374,7 @@ CModelInfo* CGameSA::GetModelInfo(DWORD dwModelID, bool bCanBeInvalid) */ void CGameSA::StartGame() { - SetSystemState(GS_INIT_PLAYING_GAME); + SetSystemState(SystemState::GS_INIT_PLAYING_GAME); MemPutFast(0xB7CB49, 0); // CTimer::m_UserPause MemPutFast(0xBA67A4, 0); // FrontEndMenuManager + 0x5C } @@ -383,14 +383,14 @@ void CGameSA::StartGame() * Sets the part of the game loading process the game is in. * @param dwState DWORD containing a valid state 0 - 9 */ -void CGameSA::SetSystemState(eSystemState State) +void CGameSA::SetSystemState(SystemState State) { - MemPutFast(0xC8D4C0, State); // gGameState + MemPutFast(0xC8D4C0, (DWORD)State); // gGameState } -eSystemState CGameSA::GetSystemState() +SystemState CGameSA::GetSystemState() { - return *(eSystemState*)0xC8D4C0; // gGameState + return *(SystemState*)0xC8D4C0; // gGameState } /** @@ -440,7 +440,7 @@ void CGameSA::SetGameSpeed(float fSpeed) void CGameSA::Reset() { // Things to do if the game was loaded - if (GetSystemState() == GS_PLAYING_GAME) + if (GetSystemState() == SystemState::GS_PLAYING_GAME) { // Extinguish all fires m_pFireManager->ExtinguishAllFires(); diff --git a/Client/game_sa/CGameSA.h b/Client/game_sa/CGameSA.h index c366dddd8f8..e4317eb7f05 100644 --- a/Client/game_sa/CGameSA.h +++ b/Client/game_sa/CGameSA.h @@ -201,8 +201,8 @@ class CGameSA : public CGame bool IsAtMenu() { return *(unsigned long*)0xBA677B != 0; } // FrontEndMenuManager + 0x33 void StartGame(); - void SetSystemState(eSystemState State); - eSystemState GetSystemState(); + void SetSystemState(SystemState State); + SystemState GetSystemState(); void Pause(bool bPaused); void Initialize(); diff --git a/Client/game_sa/CHandlingEntrySA.h b/Client/game_sa/CHandlingEntrySA.h index 82ae00473f5..2f515b1a04e 100644 --- a/Client/game_sa/CHandlingEntrySA.h +++ b/Client/game_sa/CHandlingEntrySA.h @@ -142,7 +142,7 @@ class CHandlingEntrySA : public CHandlingEntry eLightType GetTailLight() const noexcept { return static_cast(m_Handling.ucTailLight); } unsigned char GetAnimGroup() const noexcept { return m_Handling.ucAnimGroup; } - eHandlingTypes GetVehicleID() const noexcept { return static_cast(m_Handling.iVehicleID); } + HandlingType GetVehicleID() const noexcept { return static_cast(m_Handling.iVehicleID); } // Set functions void SetMass(float fMass) noexcept { m_Handling.fMass = fMass; } diff --git a/Client/game_sa/CHandlingManagerSA.cpp b/Client/game_sa/CHandlingManagerSA.cpp index 98660656231..8883e361e26 100644 --- a/Client/game_sa/CHandlingManagerSA.cpp +++ b/Client/game_sa/CHandlingManagerSA.cpp @@ -15,6 +15,10 @@ #include #include +#include "enums/VehicleType.h" +#include "enums/HandlingType.h" +#include "enums/HandlingProperty.h" + extern CCoreInterface* g_pCore; extern CGameSA* pGame; @@ -27,8 +31,8 @@ extern CGameSA* pGame; #define DUMP_HANDLING_DATA 0 // Original handling data unaffected by handling.cfg changes -static tHandlingDataSA m_OriginalHandlingData[HT_MAX]; -static std::unique_ptr m_OriginalEntries[HT_MAX]; +static tHandlingDataSA m_OriginalHandlingData[static_cast(HandlingType::HT_MAX)]; +static std::unique_ptr m_OriginalEntries[static_cast(HandlingType::HT_MAX)]; static tFlyingHandlingDataSA m_OriginalFlyingHandlingData[24]; static std::unique_ptr m_OriginalFlyingEntries[24]; @@ -39,7 +43,7 @@ static std::unique_ptr m_OriginalBoatEntries[12]; static tBikeHandlingDataSA m_OriginalBikeHandlingData[14]; static std::unique_ptr m_OriginalBikeEntries[14]; -static std::map m_HandlingNames; +static std::map m_HandlingNames; // TODO We need install a hook in 0x6F52D0 to make some stuff work corrently @@ -126,7 +130,7 @@ CHandlingManagerSA::CHandlingManagerSA() InitializeDefaultHandlings(); // Create a handling entry for every original handling data. - for (std::size_t i = 0; i < HT_MAX; i++) + for (std::size_t i = 0; i < static_cast(HandlingType::HT_MAX); i++) { m_OriginalEntries[i] = std::make_unique(&m_OriginalHandlingData[i]); } @@ -150,49 +154,49 @@ CHandlingManagerSA::CHandlingManagerSA() HookInstall(Func_Calculate, (DWORD)Hook_Calculate, 11); #endif - m_HandlingNames["mass"] = HANDLING_MASS; // works (mass > 0) - m_HandlingNames["turnMass"] = HANDLING_TURNMASS; // works - m_HandlingNames["dragCoeff"] = HANDLING_DRAGCOEFF; // works - m_HandlingNames["centerOfMass"] = HANDLING_CENTEROFMASS; // works - m_HandlingNames["percentSubmerged"] = HANDLING_PERCENTSUBMERGED; // works - m_HandlingNames["tractionMultiplier"] = HANDLING_TRACTIONMULTIPLIER; // works - m_HandlingNames["driveType"] = HANDLING_DRIVETYPE; // works - m_HandlingNames["engineType"] = HANDLING_ENGINETYPE; // works - m_HandlingNames["numberOfGears"] = HANDLING_NUMOFGEARS; // works - m_HandlingNames["engineAcceleration"] = HANDLING_ENGINEACCELERATION; // works - m_HandlingNames["engineInertia"] = HANDLING_ENGINEINERTIA; // works - m_HandlingNames["maxVelocity"] = HANDLING_MAXVELOCITY; // works - m_HandlingNames["brakeDeceleration"] = HANDLING_BRAKEDECELERATION; // works - m_HandlingNames["brakeBias"] = HANDLING_BRAKEBIAS; // works - m_HandlingNames["ABS"] = HANDLING_ABS; // has no effect in vanilla gta either - m_HandlingNames["steeringLock"] = HANDLING_STEERINGLOCK; // works - m_HandlingNames["tractionLoss"] = HANDLING_TRACTIONLOSS; // works - m_HandlingNames["tractionBias"] = HANDLING_TRACTIONBIAS; // works - m_HandlingNames["suspensionForceLevel"] = HANDLING_SUSPENSION_FORCELEVEL; // works - m_HandlingNames["suspensionDamping"] = HANDLING_SUSPENSION_DAMPING; // works - m_HandlingNames["suspensionHighSpeedDamping"] = HANDLING_SUSPENSION_HIGHSPEEDDAMPING; // works - m_HandlingNames["suspensionUpperLimit"] = HANDLING_SUSPENSION_UPPER_LIMIT; // works - m_HandlingNames["suspensionLowerLimit"] = HANDLING_SUSPENSION_LOWER_LIMIT; // works - m_HandlingNames["suspensionFrontRearBias"] = HANDLING_SUSPENSION_FRONTREARBIAS; // works - m_HandlingNames["suspensionAntiDiveMultiplier"] = HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER; // works - m_HandlingNames["collisionDamageMultiplier"] = HANDLING_COLLISIONDAMAGEMULTIPLIER; // works - m_HandlingNames["seatOffsetDistance"] = HANDLING_SEATOFFSETDISTANCE; // works - m_HandlingNames["monetary"] = HANDLING_MONETARY; // useless as it only influences SP stats (value of damaged property) - m_HandlingNames["handlingFlags"] = HANDLING_HANDLINGFLAGS; // works - m_HandlingNames["modelFlags"] = HANDLING_MODELFLAGS; // works - m_HandlingNames["headLight"] = HANDLING_HEADLIGHT; // doesn't work - m_HandlingNames["tailLight"] = HANDLING_TAILLIGHT; // doesn't seem to work* - m_HandlingNames["animGroup"] = HANDLING_ANIMGROUP; // works model based + m_HandlingNames["mass"] = HandlingProperty::HANDLING_MASS; // works (mass > 0) + m_HandlingNames["turnMass"] = HandlingProperty::HANDLING_TURNMASS; // works + m_HandlingNames["dragCoeff"] = HandlingProperty::HANDLING_DRAGCOEFF; // works + m_HandlingNames["centerOfMass"] = HandlingProperty::HANDLING_CENTEROFMASS; // works + m_HandlingNames["percentSubmerged"] = HandlingProperty::HANDLING_PERCENTSUBMERGED; // works + m_HandlingNames["tractionMultiplier"] = HandlingProperty::HANDLING_TRACTIONMULTIPLIER; // works + m_HandlingNames["driveType"] = HandlingProperty::HANDLING_DRIVETYPE; // works + m_HandlingNames["engineType"] = HandlingProperty::HANDLING_ENGINETYPE; // works + m_HandlingNames["numberOfGears"] = HandlingProperty::HANDLING_NUMOFGEARS; // works + m_HandlingNames["engineAcceleration"] = HandlingProperty::HANDLING_ENGINEACCELERATION; // works + m_HandlingNames["engineInertia"] = HandlingProperty::HANDLING_ENGINEINERTIA; // works + m_HandlingNames["maxVelocity"] = HandlingProperty::HANDLING_MAXVELOCITY; // works + m_HandlingNames["brakeDeceleration"] = HandlingProperty::HANDLING_BRAKEDECELERATION; // works + m_HandlingNames["brakeBias"] = HandlingProperty::HANDLING_BRAKEBIAS; // works + m_HandlingNames["ABS"] = HandlingProperty::HANDLING_ABS; // has no effect in vanilla gta either + m_HandlingNames["steeringLock"] = HandlingProperty::HANDLING_STEERINGLOCK; // works + m_HandlingNames["tractionLoss"] = HandlingProperty::HANDLING_TRACTIONLOSS; // works + m_HandlingNames["tractionBias"] = HandlingProperty::HANDLING_TRACTIONBIAS; // works + m_HandlingNames["suspensionForceLevel"] = HandlingProperty::HANDLING_SUSPENSION_FORCELEVEL; // works + m_HandlingNames["suspensionDamping"] = HandlingProperty::HANDLING_SUSPENSION_DAMPING; // works + m_HandlingNames["suspensionHighSpeedDamping"] = HandlingProperty::HANDLING_SUSPENSION_HIGHSPEEDDAMPING; // works + m_HandlingNames["suspensionUpperLimit"] = HandlingProperty::HANDLING_SUSPENSION_UPPER_LIMIT; // works + m_HandlingNames["suspensionLowerLimit"] = HandlingProperty::HANDLING_SUSPENSION_LOWER_LIMIT; // works + m_HandlingNames["suspensionFrontRearBias"] = HandlingProperty::HANDLING_SUSPENSION_FRONTREARBIAS; // works + m_HandlingNames["suspensionAntiDiveMultiplier"] = HandlingProperty::HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER; // works + m_HandlingNames["collisionDamageMultiplier"] = HandlingProperty::HANDLING_COLLISIONDAMAGEMULTIPLIER; // works + m_HandlingNames["seatOffsetDistance"] = HandlingProperty::HANDLING_SEATOFFSETDISTANCE; // works + m_HandlingNames["monetary"] = HandlingProperty::HANDLING_MONETARY; // useless as it only influences SP stats (value of damaged property) + m_HandlingNames["handlingFlags"] = HandlingProperty::HANDLING_HANDLINGFLAGS; // works + m_HandlingNames["modelFlags"] = HandlingProperty::HANDLING_MODELFLAGS; // works + m_HandlingNames["headLight"] = HandlingProperty::HANDLING_HEADLIGHT; // doesn't work + m_HandlingNames["tailLight"] = HandlingProperty::HANDLING_TAILLIGHT; // doesn't seem to work* + m_HandlingNames["animGroup"] = HandlingProperty::HANDLING_ANIMGROUP; // works model based } CHandlingManagerSA::~CHandlingManagerSA() { } -eHandlingProperty CHandlingManagerSA::GetPropertyEnumFromName(const std::string& name) const noexcept +HandlingProperty CHandlingManagerSA::GetPropertyEnumFromName(const std::string& name) const noexcept { const auto it = m_HandlingNames.find(name); - return it != m_HandlingNames.end() ? it->second : HANDLING_MAX; + return it != m_HandlingNames.end() ? it->second : HandlingProperty::HANDLING_MAX; } std::unique_ptr CHandlingManagerSA::CreateHandlingData() const noexcept @@ -222,9 +226,9 @@ const CHandlingEntry* CHandlingManagerSA::GetOriginalHandlingData(std::uint32_t return nullptr; // Get our Handling ID, the default value will be HT_LANDSTAL - const eHandlingTypes eHandling = GetHandlingID(model); + const HandlingType eHandling = GetHandlingID(model); // Return it - return m_OriginalEntries[eHandling].get(); + return m_OriginalEntries[(std::size_t)eHandling].get(); } const CFlyingHandlingEntry* CHandlingManagerSA::GetOriginalFlyingHandlingData(std::uint32_t model) const noexcept @@ -234,12 +238,12 @@ const CFlyingHandlingEntry* CHandlingManagerSA::GetOriginalFlyingHandlingData(st return nullptr; // Get our Handling ID, the default value will be HT_LANDSTAL - const eHandlingTypes eHandling = GetHandlingID(model); + const HandlingType eHandling = GetHandlingID(model); // Original GTA:SA behavior - if (eHandling < HT_SEAPLANE || eHandling > HT_RCRAIDER) + if (eHandling < HandlingType::HT_SEAPLANE || eHandling > HandlingType::HT_RCRAIDER) return m_OriginalFlyingEntries[0].get(); else - return m_OriginalFlyingEntries[eHandling - HT_SEAPLANE].get(); + return m_OriginalFlyingEntries[static_cast(eHandling) - static_cast(HandlingType::HT_SEAPLANE)].get(); } const CBoatHandlingEntry* CHandlingManagerSA::GetOriginalBoatHandlingData(std::uint32_t model) const noexcept @@ -249,12 +253,12 @@ const CBoatHandlingEntry* CHandlingManagerSA::GetOriginalBoatHandlingData(std::u return nullptr; // Get our Handling ID, the default value will be HT_LANDSTAL - const eHandlingTypes eHandling = GetHandlingID(model); + const HandlingType eHandling = GetHandlingID(model); // Original GTA:SA behavior - if (eHandling < HT_PREDATOR || eHandling > HT_SEAPLANE) + if (eHandling < HandlingType::HT_PREDATOR || eHandling > HandlingType::HT_SEAPLANE) return m_OriginalBoatEntries[0].get(); else - return m_OriginalBoatEntries[eHandling - HT_PREDATOR].get(); + return m_OriginalBoatEntries[static_cast(eHandling) - static_cast(HandlingType::HT_PREDATOR)].get(); } const CBikeHandlingEntry* CHandlingManagerSA::GetOriginalBikeHandlingData(std::uint32_t model) const noexcept @@ -264,446 +268,446 @@ const CBikeHandlingEntry* CHandlingManagerSA::GetOriginalBikeHandlingData(std::u return nullptr; // Get our Handling ID, the default value will be HT_LANDSTAL - const eHandlingTypes eHandling = GetHandlingID(model); - if (eHandling >= HT_BIKE && eHandling <= HT_FREEWAY) - return m_OriginalBikeEntries[eHandling - HT_BIKE].get(); - else if (eHandling == HT_FAGGIO) + const HandlingType eHandling = GetHandlingID(model); + if (eHandling >= HandlingType::HT_BIKE && eHandling <= HandlingType::HT_FREEWAY) + return m_OriginalBikeEntries[static_cast(eHandling) - static_cast(HandlingType::HT_BIKE)].get(); + else if (eHandling == HandlingType::HT_FAGGIO) return m_OriginalBikeEntries[13].get(); else return nullptr; } // Return the handling manager id -eHandlingTypes CHandlingManagerSA::GetHandlingID(std::uint32_t model) noexcept +HandlingType CHandlingManagerSA::GetHandlingID(std::uint32_t model) noexcept { - switch (model) + switch (static_cast(model)) { - case VT_LANDSTAL: - return HT_LANDSTAL; - case VT_BRAVURA: - return HT_BRAVURA; - case VT_BUFFALO: - return HT_BUFFALO; - case VT_LINERUN: - return HT_LINERUN; - case VT_PEREN: - return HT_PEREN; - case VT_SENTINEL: - return HT_SENTINEL; - case VT_DUMPER: - return HT_DUMPER; - case VT_FIRETRUK: - return HT_FIRETRUK; - case VT_TRASH: - return HT_TRASH; - case VT_STRETCH: - return HT_STRETCH; - case VT_MANANA: - return HT_MANANA; - case VT_INFERNUS: - return HT_INFERNUS; - case VT_VOODOO: - return HT_VOODOO; - case VT_PONY: - return HT_PONY; - case VT_MULE: - return HT_MULE; - case VT_CHEETAH: - return HT_CHEETAH; - case VT_AMBULAN: - return HT_AMBULAN; - case VT_LEVIATHN: - return HT_LEVIATHN; - case VT_MOONBEAM: - return HT_MOONBEAM; - case VT_ESPERANT: - return HT_ESPERANT; - case VT_TAXI: - return HT_TAXI; - case VT_WASHING: - return HT_WASHING; - case VT_BOBCAT: - return HT_BOBCAT; - case VT_MRWHOOP: - return HT_MRWHOOP; - case VT_BFINJECT: - return HT_BFINJECT; - case VT_HUNTER: - return HT_HUNTER; - case VT_PREMIER: - return HT_PREMIER; - case VT_ENFORCER: - return HT_ENFORCER; - case VT_SECURICA: - return HT_SECURICA; - case VT_BANSHEE: - return HT_BANSHEE; - case VT_PREDATOR: - return HT_PREDATOR; - case VT_BUS: - return HT_BUS; - case VT_RHINO: - return HT_RHINO; - case VT_BARRACKS: - return HT_BARRACKS; - case VT_HOTKNIFE: - return HT_HOTKNIFE; - case VT_ARTICT1: - return HT_ARTICT1; - case VT_PREVION: - return HT_PREVION; - case VT_COACH: - return HT_COACH; - case VT_CABBIE: - return HT_CABBIE; - case VT_STALLION: - return HT_STALLION; - case VT_RUMPO: - return HT_RUMPO; - case VT_RCBANDIT: - return HT_RCBANDIT; - case VT_ROMERO: - return HT_ROMERO; - case VT_PACKER: - return HT_PACKER; - case VT_MONSTER: - return HT_MONSTER; - case VT_ADMIRAL: - return HT_ADMIRAL; - case VT_SQUALO: - return HT_SQUALO; - case VT_SEASPAR: - return HT_SEASPAR; - case VT_PIZZABOY: - return HT_PIZZABOY; - case VT_TRAM: - return HT_TRAM; - case VT_ARTICT2: - return HT_ARTICT2; - case VT_TURISMO: - return HT_TURISMO; - case VT_SPEEDER: - return HT_SPEEDER; - case VT_REEFER: - return HT_REEFER; - case VT_TROPIC: - return HT_TROPIC; - case VT_FLATBED: - return HT_FLATBED; - case VT_YANKEE: - return HT_YANKEE; - case VT_CADDY: - return HT_GOLFCART; - case VT_SOLAIR: - return HT_SOLAIR; - case VT_TOPFUN: - return HT_TOPFUN; - case VT_SKIMMER: - return HT_SEAPLANE; - case VT_PCJ600: - return HT_BIKE; - case VT_FAGGIO: - return HT_FAGGIO; - case VT_FREEWAY: - return HT_FREEWAY; - case VT_RCBARON: - return HT_RCBARON; - case VT_RCRAIDER: - return HT_RCRAIDER; - case VT_GLENDALE: - return HT_GLENDALE; - case VT_OCEANIC: - return HT_OCEANIC; - case VT_SANCHEZ: - return HT_DIRTBIKE; - case VT_SPARROW: - return HT_SPARROW; - case VT_PATRIOT: - return HT_PATRIOT; - case VT_QUAD: - return HT_QUADBIKE; - case VT_COASTG: - return HT_COASTGRD; - case VT_DINGHY: - return HT_DINGHY; - case VT_HERMES: - return HT_HERMES; - case VT_SABRE: - return HT_SABRE; - case VT_RUSTLER: - return HT_RUSTLER; - case VT_ZR350: - return HT_ZR350; - case VT_WALTON: - return HT_WALTON; - case VT_REGINA: - return HT_REGINA; - case VT_COMET: - return HT_COMET; - case VT_BMX: - return HT_BMX; - case VT_BURRITO: - return HT_BURRITO; - case VT_CAMPER: - return HT_CAMPER; - case VT_MARQUIS: - return HT_MARQUIS; - case VT_BAGGAGE: - return HT_BAGGAGE; - case VT_DOZER: - return HT_DOZER; - case VT_MAVERICK: - return HT_MAVERICK; - case VT_VCNMAV: - return HT_COASTMAV; - case VT_RANCHER: - return HT_RANCHER; - case VT_FBIRANCH: - return HT_FBIRANCH; - case VT_VIRGO: - return HT_VIRGO; - case VT_GREENWOO: - return HT_GREENWOO; - case VT_JETMAX: - return HT_CUPBOAT; - case VT_HOTRING: - return HT_HOTRING; - case VT_SANDKING: - return HT_SANDKING; - case VT_BLISTAC: - return HT_BLISTAC; - case VT_POLMAV: - return HT_POLMAV; - case VT_BOXVILLE: - return HT_BOXVILLE; - case VT_BENSON: - return HT_BENSON; - case VT_MESA: - return HT_MESA; - case VT_RCGOBLIN: - return HT_RCGOBLIN; - case VT_HOTRINA: - return HT_HOTRINA; - case VT_HOTRINB: - return HT_HOTRINB; - case VT_BLOODRA: - return HT_BLOODRA; - case VT_RNCHLURE: - return HT_RNCHLURE; - case VT_SUPERGT: - return HT_SUPERGT; - case VT_ELEGANT: - return HT_ELEGANT; - case VT_JOURNEY: - return HT_JOURNEY; - case VT_BIKE: - return HT_CHOPPERB; - case VT_MTBIKE: - return HT_MTB; - case VT_BEAGLE: - return HT_BEAGLE; - case VT_CROPDUST: - return HT_CROPDUST; - case VT_STUNT: - return HT_STUNT; - case VT_PETRO: - return HT_PETROL; - case VT_RDTRAIN: - return HT_RDTRAIN; - case VT_NEBULA: - return HT_NEBULA; - case VT_MAJESTIC: - return HT_MAJESTIC; - case VT_BUCCANEE: - return HT_BUCCANEE; - case VT_SHAMAL: - return HT_SHAMAL; - case VT_HYDRA: - return HT_HYDRA; - case VT_FCR900: - return HT_FCR900; - case VT_NRG500: - return HT_NRG500; - case VT_COPBIKE: - return HT_HPV1000; - case VT_CEMENT: - return HT_CEMENT; - case VT_TOWTRUCK: - return HT_TOWTRUCK; - case VT_FORTUNE: - return HT_FORTUNE; - case VT_CADRONA: - return HT_CADRONA; - case VT_FBITRUCK: - return HT_FBITRUCK; - case VT_WILLARD: - return HT_WILLARD; - case VT_FORKLIFT: - return HT_FORKLIFT; - case VT_TRACTOR: - return HT_TRACTOR; - case VT_COMBINE: - return HT_COMBINE; - case VT_FELTZER: - return HT_FELTZER; - case VT_REMINGTN: - return HT_REMINGTN; - case VT_SLAMVAN: - return HT_SLAMVAN; - case VT_BLADE: - return HT_BLADE; - case VT_FREIGHT: - return HT_FREIGHT; - case VT_STREAK: - return HT_STREAK; - case VT_VORTEX: - return HT_VORTEX; - case VT_VINCENT: - return HT_VINCENT; - case VT_BULLET: - return HT_BULLET; - case VT_CLOVER: - return HT_CLOVER; - case VT_SADLER: - return HT_SADLER; - case VT_FIRELA: - return HT_FIRELA; - case VT_HUSTLER: - return HT_HUSTLER; - case VT_INTRUDER: - return HT_INTRUDER; - case VT_PRIMO: - return HT_PRIMO; - case VT_CARGOBOB: - return HT_CARGOBOB; - case VT_TAMPA: - return HT_TAMPA; - case VT_SUNRISE: - return HT_SUNRISE; - case VT_MERIT: - return HT_MERIT; - case VT_UTILITY: - return HT_UTILITY; - case VT_NEVADA: - return HT_NEVADA; - case VT_YOSEMITE: - return HT_YOSEMITE; - case VT_WINDSOR: - return HT_WINDSOR; - case VT_MONSTERA: - return HT_MTRUCK_A; - case VT_MONSTERB: - return HT_MTRUCK_B; - case VT_URANUS: - return HT_URANUS; - case VT_JESTER: - return HT_JESTER; - case VT_SULTAN: - return HT_SULTAN; - case VT_STRATUM: - return HT_STRATUM; - case VT_ELEGY: - return HT_ELEGY; - case VT_RAINDANC: - return HT_RAINDANC; - case VT_RCTIGER: - return HT_RCTIGER; - case VT_FLASH: - return HT_FLASH; - case VT_TAHOMA: - return HT_TAHOMA; - case VT_SAVANNA: - return HT_SAVANNA; - case VT_BANDITO: - return HT_BANDITO; - case VT_FREIFLAT: - return HT_FREIFLAT; - case VT_STREAKC: - return HT_CSTREAK; - case VT_KART: - return HT_KART; - case VT_MOWER: - return HT_MOWER; - case VT_DUNERIDE: - return HT_DUNE; - case VT_SWEEPER: - return HT_SWEEPER; - case VT_BROADWAY: - return HT_BROADWAY; - case VT_TORNADO: - return HT_TORNADO; - case VT_AT400: - return HT_AT400; - case VT_DFT30: - return HT_DFT30; - case VT_HUNTLEY: - return HT_HUNTLEY; - case VT_STAFFORD: - return HT_STAFFORD; - case VT_BF400: - return HT_BF400; - case VT_NEWSVAN: - return HT_NEWSVAN; - case VT_TUG: - return HT_TUG; - case VT_PETROTR: - return HT_PETROTR; - case VT_EMPEROR: - return HT_EMPEROR; - case VT_WAYFARER: - return HT_WAYFARER; - case VT_EUROS: - return HT_EUROS; - case VT_HOTDOG: - return HT_HOTDOG; - case VT_CLUB: - return HT_CLUB; - case VT_FREIBOX: - return HT_FREIBOX; - case VT_ARTICT3: - return HT_ARTICT3; - case VT_ANDROM: - return HT_ANDROM; - case VT_DODO: - return HT_DODO; - case VT_RCCAM: - return HT_RCCAM; - case VT_LAUNCH: - return HT_LAUNCH; - case VT_COPCARLA: - return HT_POLICE_LA; - case VT_COPCARSF: - return HT_POLICE_SF; - case VT_COPCARVG: - return HT_POLICE_VG; - case VT_COPCARRU: - return HT_POLRANGER; - case VT_PICADOR: - return HT_PICADOR; - case VT_SWATVAN: - return HT_SWATVAN; - case VT_ALPHA: - return HT_ALPHA; - case VT_PHOENIX: - return HT_PHOENIX; - case VT_GLENSHIT: - return HT_GLENSHIT; - case VT_SADLSHIT: - return HT_SADLSHIT; - case VT_BAGBOXA: - return HT_BAGBOXA; - case VT_BAGBOXB: - return HT_BAGBOXB; - case VT_TUGSTAIR: - return HT_STAIRS; - case VT_BOXBURG: - return HT_BOXBURG; - case VT_FARMTR1: - return HT_FARM_TR1; - case VT_UTILTR1: - return HT_UTIL_TR1; + case VehicleType::VT_LANDSTAL: + return HandlingType::HT_LANDSTAL; + case VehicleType::VT_BRAVURA: + return HandlingType::HT_BRAVURA; + case VehicleType::VT_BUFFALO: + return HandlingType::HT_BUFFALO; + case VehicleType::VT_LINERUN: + return HandlingType::HT_LINERUN; + case VehicleType::VT_PEREN: + return HandlingType::HT_PEREN; + case VehicleType::VT_SENTINEL: + return HandlingType::HT_SENTINEL; + case VehicleType::VT_DUMPER: + return HandlingType::HT_DUMPER; + case VehicleType::VT_FIRETRUK: + return HandlingType::HT_FIRETRUK; + case VehicleType::VT_TRASH: + return HandlingType::HT_TRASH; + case VehicleType::VT_STRETCH: + return HandlingType::HT_STRETCH; + case VehicleType::VT_MANANA: + return HandlingType::HT_MANANA; + case VehicleType::VT_INFERNUS: + return HandlingType::HT_INFERNUS; + case VehicleType::VT_VOODOO: + return HandlingType::HT_VOODOO; + case VehicleType::VT_PONY: + return HandlingType::HT_PONY; + case VehicleType::VT_MULE: + return HandlingType::HT_MULE; + case VehicleType::VT_CHEETAH: + return HandlingType::HT_CHEETAH; + case VehicleType::VT_AMBULAN: + return HandlingType::HT_AMBULAN; + case VehicleType::VT_LEVIATHN: + return HandlingType::HT_LEVIATHN; + case VehicleType::VT_MOONBEAM: + return HandlingType::HT_MOONBEAM; + case VehicleType::VT_ESPERANT: + return HandlingType::HT_ESPERANT; + case VehicleType::VT_TAXI: + return HandlingType::HT_TAXI; + case VehicleType::VT_WASHING: + return HandlingType::HT_WASHING; + case VehicleType::VT_BOBCAT: + return HandlingType::HT_BOBCAT; + case VehicleType::VT_MRWHOOP: + return HandlingType::HT_MRWHOOP; + case VehicleType::VT_BFINJECT: + return HandlingType::HT_BFINJECT; + case VehicleType::VT_HUNTER: + return HandlingType::HT_HUNTER; + case VehicleType::VT_PREMIER: + return HandlingType::HT_PREMIER; + case VehicleType::VT_ENFORCER: + return HandlingType::HT_ENFORCER; + case VehicleType::VT_SECURICA: + return HandlingType::HT_SECURICA; + case VehicleType::VT_BANSHEE: + return HandlingType::HT_BANSHEE; + case VehicleType::VT_PREDATOR: + return HandlingType::HT_PREDATOR; + case VehicleType::VT_BUS: + return HandlingType::HT_BUS; + case VehicleType::VT_RHINO: + return HandlingType::HT_RHINO; + case VehicleType::VT_BARRACKS: + return HandlingType::HT_BARRACKS; + case VehicleType::VT_HOTKNIFE: + return HandlingType::HT_HOTKNIFE; + case VehicleType::VT_ARTICT1: + return HandlingType::HT_ARTICT1; + case VehicleType::VT_PREVION: + return HandlingType::HT_PREVION; + case VehicleType::VT_COACH: + return HandlingType::HT_COACH; + case VehicleType::VT_CABBIE: + return HandlingType::HT_CABBIE; + case VehicleType::VT_STALLION: + return HandlingType::HT_STALLION; + case VehicleType::VT_RUMPO: + return HandlingType::HT_RUMPO; + case VehicleType::VT_RCBANDIT: + return HandlingType::HT_RCBANDIT; + case VehicleType::VT_ROMERO: + return HandlingType::HT_ROMERO; + case VehicleType::VT_PACKER: + return HandlingType::HT_PACKER; + case VehicleType::VT_MONSTER: + return HandlingType::HT_MONSTER; + case VehicleType::VT_ADMIRAL: + return HandlingType::HT_ADMIRAL; + case VehicleType::VT_SQUALO: + return HandlingType::HT_SQUALO; + case VehicleType::VT_SEASPAR: + return HandlingType::HT_SEASPAR; + case VehicleType::VT_PIZZABOY: + return HandlingType::HT_PIZZABOY; + case VehicleType::VT_TRAM: + return HandlingType::HT_TRAM; + case VehicleType::VT_ARTICT2: + return HandlingType::HT_ARTICT2; + case VehicleType::VT_TURISMO: + return HandlingType::HT_TURISMO; + case VehicleType::VT_SPEEDER: + return HandlingType::HT_SPEEDER; + case VehicleType::VT_REEFER: + return HandlingType::HT_REEFER; + case VehicleType::VT_TROPIC: + return HandlingType::HT_TROPIC; + case VehicleType::VT_FLATBED: + return HandlingType::HT_FLATBED; + case VehicleType::VT_YANKEE: + return HandlingType::HT_YANKEE; + case VehicleType::VT_CADDY: + return HandlingType::HT_GOLFCART; + case VehicleType::VT_SOLAIR: + return HandlingType::HT_SOLAIR; + case VehicleType::VT_TOPFUN: + return HandlingType::HT_TOPFUN; + case VehicleType::VT_SKIMMER: + return HandlingType::HT_SEAPLANE; + case VehicleType::VT_PCJ600: + return HandlingType::HT_BIKE; + case VehicleType::VT_FAGGIO: + return HandlingType::HT_FAGGIO; + case VehicleType::VT_FREEWAY: + return HandlingType::HT_FREEWAY; + case VehicleType::VT_RCBARON: + return HandlingType::HT_RCBARON; + case VehicleType::VT_RCRAIDER: + return HandlingType::HT_RCRAIDER; + case VehicleType::VT_GLENDALE: + return HandlingType::HT_GLENDALE; + case VehicleType::VT_OCEANIC: + return HandlingType::HT_OCEANIC; + case VehicleType::VT_SANCHEZ: + return HandlingType::HT_DIRTBIKE; + case VehicleType::VT_SPARROW: + return HandlingType::HT_SPARROW; + case VehicleType::VT_PATRIOT: + return HandlingType::HT_PATRIOT; + case VehicleType::VT_QUAD: + return HandlingType::HT_QUADBIKE; + case VehicleType::VT_COASTG: + return HandlingType::HT_COASTGRD; + case VehicleType::VT_DINGHY: + return HandlingType::HT_DINGHY; + case VehicleType::VT_HERMES: + return HandlingType::HT_HERMES; + case VehicleType::VT_SABRE: + return HandlingType::HT_SABRE; + case VehicleType::VT_RUSTLER: + return HandlingType::HT_RUSTLER; + case VehicleType::VT_ZR350: + return HandlingType::HT_ZR350; + case VehicleType::VT_WALTON: + return HandlingType::HT_WALTON; + case VehicleType::VT_REGINA: + return HandlingType::HT_REGINA; + case VehicleType::VT_COMET: + return HandlingType::HT_COMET; + case VehicleType::VT_BMX: + return HandlingType::HT_BMX; + case VehicleType::VT_BURRITO: + return HandlingType::HT_BURRITO; + case VehicleType::VT_CAMPER: + return HandlingType::HT_CAMPER; + case VehicleType::VT_MARQUIS: + return HandlingType::HT_MARQUIS; + case VehicleType::VT_BAGGAGE: + return HandlingType::HT_BAGGAGE; + case VehicleType::VT_DOZER: + return HandlingType::HT_DOZER; + case VehicleType::VT_MAVERICK: + return HandlingType::HT_MAVERICK; + case VehicleType::VT_VCNMAV: + return HandlingType::HT_COASTMAV; + case VehicleType::VT_RANCHER: + return HandlingType::HT_RANCHER; + case VehicleType::VT_FBIRANCH: + return HandlingType::HT_FBIRANCH; + case VehicleType::VT_VIRGO: + return HandlingType::HT_VIRGO; + case VehicleType::VT_GREENWOO: + return HandlingType::HT_GREENWOO; + case VehicleType::VT_JETMAX: + return HandlingType::HT_CUPBOAT; + case VehicleType::VT_HOTRING: + return HandlingType::HT_HOTRING; + case VehicleType::VT_SANDKING: + return HandlingType::HT_SANDKING; + case VehicleType::VT_BLISTAC: + return HandlingType::HT_BLISTAC; + case VehicleType::VT_POLMAV: + return HandlingType::HT_POLMAV; + case VehicleType::VT_BOXVILLE: + return HandlingType::HT_BOXVILLE; + case VehicleType::VT_BENSON: + return HandlingType::HT_BENSON; + case VehicleType::VT_MESA: + return HandlingType::HT_MESA; + case VehicleType::VT_RCGOBLIN: + return HandlingType::HT_RCGOBLIN; + case VehicleType::VT_HOTRINA: + return HandlingType::HT_HOTRINA; + case VehicleType::VT_HOTRINB: + return HandlingType::HT_HOTRINB; + case VehicleType::VT_BLOODRA: + return HandlingType::HT_BLOODRA; + case VehicleType::VT_RNCHLURE: + return HandlingType::HT_RNCHLURE; + case VehicleType::VT_SUPERGT: + return HandlingType::HT_SUPERGT; + case VehicleType::VT_ELEGANT: + return HandlingType::HT_ELEGANT; + case VehicleType::VT_JOURNEY: + return HandlingType::HT_JOURNEY; + case VehicleType::VT_BIKE: + return HandlingType::HT_CHOPPERB; + case VehicleType::VT_MTBIKE: + return HandlingType::HT_MTB; + case VehicleType::VT_BEAGLE: + return HandlingType::HT_BEAGLE; + case VehicleType::VT_CROPDUST: + return HandlingType::HT_CROPDUST; + case VehicleType::VT_STUNT: + return HandlingType::HT_STUNT; + case VehicleType::VT_PETRO: + return HandlingType::HT_PETROL; + case VehicleType::VT_RDTRAIN: + return HandlingType::HT_RDTRAIN; + case VehicleType::VT_NEBULA: + return HandlingType::HT_NEBULA; + case VehicleType::VT_MAJESTIC: + return HandlingType::HT_MAJESTIC; + case VehicleType::VT_BUCCANEE: + return HandlingType::HT_BUCCANEE; + case VehicleType::VT_SHAMAL: + return HandlingType::HT_SHAMAL; + case VehicleType::VT_HYDRA: + return HandlingType::HT_HYDRA; + case VehicleType::VT_FCR900: + return HandlingType::HT_FCR900; + case VehicleType::VT_NRG500: + return HandlingType::HT_NRG500; + case VehicleType::VT_COPBIKE: + return HandlingType::HT_HPV1000; + case VehicleType::VT_CEMENT: + return HandlingType::HT_CEMENT; + case VehicleType::VT_TOWTRUCK: + return HandlingType::HT_TOWTRUCK; + case VehicleType::VT_FORTUNE: + return HandlingType::HT_FORTUNE; + case VehicleType::VT_CADRONA: + return HandlingType::HT_CADRONA; + case VehicleType::VT_FBITRUCK: + return HandlingType::HT_FBITRUCK; + case VehicleType::VT_WILLARD: + return HandlingType::HT_WILLARD; + case VehicleType::VT_FORKLIFT: + return HandlingType::HT_FORKLIFT; + case VehicleType::VT_TRACTOR: + return HandlingType::HT_TRACTOR; + case VehicleType::VT_COMBINE: + return HandlingType::HT_COMBINE; + case VehicleType::VT_FELTZER: + return HandlingType::HT_FELTZER; + case VehicleType::VT_REMINGTN: + return HandlingType::HT_REMINGTN; + case VehicleType::VT_SLAMVAN: + return HandlingType::HT_SLAMVAN; + case VehicleType::VT_BLADE: + return HandlingType::HT_BLADE; + case VehicleType::VT_FREIGHT: + return HandlingType::HT_FREIGHT; + case VehicleType::VT_STREAK: + return HandlingType::HT_STREAK; + case VehicleType::VT_VORTEX: + return HandlingType::HT_VORTEX; + case VehicleType::VT_VINCENT: + return HandlingType::HT_VINCENT; + case VehicleType::VT_BULLET: + return HandlingType::HT_BULLET; + case VehicleType::VT_CLOVER: + return HandlingType::HT_CLOVER; + case VehicleType::VT_SADLER: + return HandlingType::HT_SADLER; + case VehicleType::VT_FIRELA: + return HandlingType::HT_FIRELA; + case VehicleType::VT_HUSTLER: + return HandlingType::HT_HUSTLER; + case VehicleType::VT_INTRUDER: + return HandlingType::HT_INTRUDER; + case VehicleType::VT_PRIMO: + return HandlingType::HT_PRIMO; + case VehicleType::VT_CARGOBOB: + return HandlingType::HT_CARGOBOB; + case VehicleType::VT_TAMPA: + return HandlingType::HT_TAMPA; + case VehicleType::VT_SUNRISE: + return HandlingType::HT_SUNRISE; + case VehicleType::VT_MERIT: + return HandlingType::HT_MERIT; + case VehicleType::VT_UTILITY: + return HandlingType::HT_UTILITY; + case VehicleType::VT_NEVADA: + return HandlingType::HT_NEVADA; + case VehicleType::VT_YOSEMITE: + return HandlingType::HT_YOSEMITE; + case VehicleType::VT_WINDSOR: + return HandlingType::HT_WINDSOR; + case VehicleType::VT_MONSTERA: + return HandlingType::HT_MTRUCK_A; + case VehicleType::VT_MONSTERB: + return HandlingType::HT_MTRUCK_B; + case VehicleType::VT_URANUS: + return HandlingType::HT_URANUS; + case VehicleType::VT_JESTER: + return HandlingType::HT_JESTER; + case VehicleType::VT_SULTAN: + return HandlingType::HT_SULTAN; + case VehicleType::VT_STRATUM: + return HandlingType::HT_STRATUM; + case VehicleType::VT_ELEGY: + return HandlingType::HT_ELEGY; + case VehicleType::VT_RAINDANC: + return HandlingType::HT_RAINDANC; + case VehicleType::VT_RCTIGER: + return HandlingType::HT_RCTIGER; + case VehicleType::VT_FLASH: + return HandlingType::HT_FLASH; + case VehicleType::VT_TAHOMA: + return HandlingType::HT_TAHOMA; + case VehicleType::VT_SAVANNA: + return HandlingType::HT_SAVANNA; + case VehicleType::VT_BANDITO: + return HandlingType::HT_BANDITO; + case VehicleType::VT_FREIFLAT: + return HandlingType::HT_FREIFLAT; + case VehicleType::VT_STREAKC: + return HandlingType::HT_CSTREAK; + case VehicleType::VT_KART: + return HandlingType::HT_KART; + case VehicleType::VT_MOWER: + return HandlingType::HT_MOWER; + case VehicleType::VT_DUNERIDE: + return HandlingType::HT_DUNE; + case VehicleType::VT_SWEEPER: + return HandlingType::HT_SWEEPER; + case VehicleType::VT_BROADWAY: + return HandlingType::HT_BROADWAY; + case VehicleType::VT_TORNADO: + return HandlingType::HT_TORNADO; + case VehicleType::VT_AT400: + return HandlingType::HT_AT400; + case VehicleType::VT_DFT30: + return HandlingType::HT_DFT30; + case VehicleType::VT_HUNTLEY: + return HandlingType::HT_HUNTLEY; + case VehicleType::VT_STAFFORD: + return HandlingType::HT_STAFFORD; + case VehicleType::VT_BF400: + return HandlingType::HT_BF400; + case VehicleType::VT_NEWSVAN: + return HandlingType::HT_NEWSVAN; + case VehicleType::VT_TUG: + return HandlingType::HT_TUG; + case VehicleType::VT_PETROTR: + return HandlingType::HT_PETROTR; + case VehicleType::VT_EMPEROR: + return HandlingType::HT_EMPEROR; + case VehicleType::VT_WAYFARER: + return HandlingType::HT_WAYFARER; + case VehicleType::VT_EUROS: + return HandlingType::HT_EUROS; + case VehicleType::VT_HOTDOG: + return HandlingType::HT_HOTDOG; + case VehicleType::VT_CLUB: + return HandlingType::HT_CLUB; + case VehicleType::VT_FREIBOX: + return HandlingType::HT_FREIBOX; + case VehicleType::VT_ARTICT3: + return HandlingType::HT_ARTICT3; + case VehicleType::VT_ANDROM: + return HandlingType::HT_ANDROM; + case VehicleType::VT_DODO: + return HandlingType::HT_DODO; + case VehicleType::VT_RCCAM: + return HandlingType::HT_RCCAM; + case VehicleType::VT_LAUNCH: + return HandlingType::HT_LAUNCH; + case VehicleType::VT_COPCARLA: + return HandlingType::HT_POLICE_LA; + case VehicleType::VT_COPCARSF: + return HandlingType::HT_POLICE_SF; + case VehicleType::VT_COPCARVG: + return HandlingType::HT_POLICE_VG; + case VehicleType::VT_COPCARRU: + return HandlingType::HT_POLRANGER; + case VehicleType::VT_PICADOR: + return HandlingType::HT_PICADOR; + case VehicleType::VT_SWATVAN: + return HandlingType::HT_SWATVAN; + case VehicleType::VT_ALPHA: + return HandlingType::HT_ALPHA; + case VehicleType::VT_PHOENIX: + return HandlingType::HT_PHOENIX; + case VehicleType::VT_GLENSHIT: + return HandlingType::HT_GLENSHIT; + case VehicleType::VT_SADLSHIT: + return HandlingType::HT_SADLSHIT; + case VehicleType::VT_BAGBOXA: + return HandlingType::HT_BAGBOXA; + case VehicleType::VT_BAGBOXB: + return HandlingType::HT_BAGBOXB; + case VehicleType::VT_TUGSTAIR: + return HandlingType::HT_STAIRS; + case VehicleType::VT_BOXBURG: + return HandlingType::HT_BOXBURG; + case VehicleType::VT_FARMTR1: + return HandlingType::HT_FARM_TR1; + case VehicleType::VT_UTILTR1: + return HandlingType::HT_UTIL_TR1; } - return HT_LANDSTAL; + return HandlingType::HT_LANDSTAL; } void CHandlingManagerSA::InitializeDefaultHandlings() noexcept @@ -9137,11 +9141,11 @@ void CHandlingManagerSA::CheckSuspensionChanges(const CHandlingEntry* const entr return; // Get handling type - const eHandlingTypes handlingType = entry->GetVehicleID(); - if (handlingType >= HT_MAX) + const HandlingType handlingType = static_cast(entry->GetVehicleID()); + if (handlingType >= HandlingType::HT_MAX) return; - const auto& entries = m_OriginalEntries[handlingType]; + const auto& entries = m_OriginalEntries[(std::size_t)handlingType]; if (!entries) return; diff --git a/Client/game_sa/CHandlingManagerSA.h b/Client/game_sa/CHandlingManagerSA.h index f40df598a6a..3b6f8df9f36 100644 --- a/Client/game_sa/CHandlingManagerSA.h +++ b/Client/game_sa/CHandlingManagerSA.h @@ -33,11 +33,11 @@ class CHandlingManagerSA : public CHandlingManager const CBoatHandlingEntry* GetOriginalBoatHandlingData(std::uint32_t model) const noexcept; const CBikeHandlingEntry* GetOriginalBikeHandlingData(std::uint32_t model) const noexcept; - eHandlingProperty GetPropertyEnumFromName(const std::string& name) const noexcept; + HandlingProperty GetPropertyEnumFromName(const std::string& name) const noexcept; void CheckSuspensionChanges(const CHandlingEntry* const entry) const noexcept; - static eHandlingTypes GetHandlingID(std::uint32_t model) noexcept; + static HandlingType GetHandlingID(std::uint32_t model) noexcept; private: void InitializeDefaultHandlings() noexcept; diff --git a/Client/game_sa/CHudSA.cpp b/Client/game_sa/CHudSA.cpp index 9b8f37276a6..e379ea3dc0b 100644 --- a/Client/game_sa/CHudSA.cpp +++ b/Client/game_sa/CHudSA.cpp @@ -327,7 +327,7 @@ bool CHudSA::IsCrosshairVisible() CTaskSimpleUseGun* taskUseGun = playerPed->GetPedIntelligence()->GetTaskUseGun(); if ((!taskUseGun || !taskUseGun->GetSkipAim()) && (cameraViewMode == MODE_AIMWEAPON || cameraViewMode == MODE_AIMWEAPON_FROMCAR || cameraViewMode == MODE_AIMWEAPON_ATTACHED)) { - if (playerPed->GetPedState() != PED_ENTER_CAR && playerPed->GetPedState() != PED_CARJACK) + if (playerPed->GetPedState() != PedState::PED_ENTER_CAR && playerPed->GetPedState() != PedState::PED_CARJACK) { if ((weaponType >= WEAPONTYPE_PISTOL && weaponType <= WEAPONTYPE_M4) || weaponType == WEAPONTYPE_TEC9 || weaponType == WEAPONTYPE_COUNTRYRIFLE || weaponType == WEAPONTYPE_MINIGUN || weaponType == WEAPONTYPE_FLAMETHROWER) simpleAiming = cameraViewMode != MODE_AIMWEAPON || camera->GetTransitionState() == 0; diff --git a/Client/game_sa/CMarkerSA.cpp b/Client/game_sa/CMarkerSA.cpp index 2606174730e..f8e45d12910 100644 --- a/Client/game_sa/CMarkerSA.cpp +++ b/Client/game_sa/CMarkerSA.cpp @@ -12,11 +12,12 @@ #include "StdInc.h" #include #include "CMarkerSA.h" +#include void CMarkerSA::Init() { internalInterface->position = CVector(0, 0, 0); - internalInterface->BlipType = (BYTE)MARKER_TYPE_COORDS; + internalInterface->BlipType = (BYTE)MarkerType::MARKER_TYPE_COORDS; internalInterface->bBlipRemain = false; // internalInterface->nColour = MARKER_COLOR_BLUE; // internalInterface->bBright = TRUE; @@ -27,8 +28,8 @@ void CMarkerSA::Init() internalInterface->PoolIndex = 0; internalInterface->nBlipScale = 2; internalInterface->bBlipFade = false; - internalInterface->nBlipDisplayFlag = MARKER_DISPLAY_BLIPONLY; - internalInterface->nBlipSprite = RADAR_SPRITE_NONE; + internalInterface->nBlipDisplayFlag = (BYTE)MarkerDisplay::MARKER_DISPLAY_BLIPONLY; + internalInterface->nBlipSprite = (BYTE)RadarSprite::RADAR_SPRITE_NONE; #define COORD_BLIP_APPEARANCE_NORMAL 0 internalInterface->nCoordBlipAppearance = COORD_BLIP_APPEARANCE_NORMAL; internalInterface->pEntryExit = nullptr; @@ -38,20 +39,20 @@ void CMarkerSA::Init() * Set the sprite used for this marker * @param wSprite a valid eMarkerSprite value. MARKER_SPRITE_NONE for the default sprite. */ -void CMarkerSA::SetSprite(eMarkerSprite Sprite = (eMarkerSprite)MARKER_SPRITE_NONE) +void CMarkerSA::SetSprite(MarkerSprite Sprite = MarkerSprite::MARKER_SPRITE_NONE) { - if (Sprite >= MARKER_SPRITE_NONE && Sprite <= MARKER_SPRITE_SPRAY) + if (Sprite >= MarkerSprite::MARKER_SPRITE_NONE && Sprite <= MarkerSprite::MARKER_SPRITE_SPRAY) { - internalInterface->nBlipSprite = Sprite; + internalInterface->nBlipSprite = (BYTE)Sprite; } } /** * Sets how the marker is displayed in-game */ -void CMarkerSA::SetDisplay(eMarkerDisplay wDisplay) +void CMarkerSA::SetDisplay(MarkerDisplay wDisplay) { - internalInterface->nBlipDisplayFlag = wDisplay; + internalInterface->nBlipDisplayFlag = (BYTE)wDisplay; } /** @@ -68,19 +69,19 @@ void CMarkerSA::SetScale(WORD wScale = MARKER_SCALE_NORMAL) * Sets the color of the marker when MARKER_SPRITE_NONE is used * @param color eMarkerColor containing a valid colour id */ -void CMarkerSA::SetColor(eMarkerColor color) +void CMarkerSA::SetColor(MarkerColor color) { - if (color >= MARKER_COLOR_PLUM && color <= MARKER_COLOR_DARK_TURQUOISE) + if (color >= MarkerColor::MARKER_COLOR_PLUM && color <= MarkerColor::MARKER_COLOR_DARK_TURQUOISE) { - if (color >= MARKER_COLOR_RED && color <= MARKER_COLOR_DARK_TURQUOISE) + if (color >= MarkerColor::MARKER_COLOR_RED && color <= MarkerColor::MARKER_COLOR_DARK_TURQUOISE) { internalInterface->bBright = 1; - internalInterface->nColour = color - MARKER_COLOR_RED; + internalInterface->nColour = static_cast(color) - static_cast(MarkerColor::MARKER_COLOR_RED); } else { internalInterface->bBright = 0; - internalInterface->nColour = color; + internalInterface->nColour = static_cast(color); } } } @@ -100,15 +101,15 @@ void CMarkerSA::SetColor(const SharedUtil::SColor color) */ void CMarkerSA::Remove() { - internalInterface->BlipType = MARKER_TYPE_UNUSED; - internalInterface->nBlipDisplayFlag = MARKER_DISPLAY_NEITHER; - internalInterface->nBlipSprite = MARKER_SPRITE_NONE; + internalInterface->BlipType = (BYTE)MarkerType::MARKER_TYPE_UNUSED; + internalInterface->nBlipDisplayFlag = (BYTE)MarkerDisplay::MARKER_DISPLAY_NEITHER; + internalInterface->nBlipSprite = (BYTE)MarkerSprite::MARKER_SPRITE_NONE; internalInterface->bTrackingBlip = false; } bool CMarkerSA::IsActive() { - return internalInterface->BlipType != MARKER_TYPE_UNUSED; + return internalInterface->BlipType != (BYTE)MarkerType::MARKER_TYPE_UNUSED; } void CMarkerSA::SetPosition(CVector* vecPosition) diff --git a/Client/game_sa/CMarkerSA.h b/Client/game_sa/CMarkerSA.h index 6be3efb6bb2..75e26637520 100644 --- a/Client/game_sa/CMarkerSA.h +++ b/Client/game_sa/CMarkerSA.h @@ -52,10 +52,10 @@ class CMarkerSA : public CMarker void Init(); - void SetSprite(eMarkerSprite Sprite); - void SetDisplay(eMarkerDisplay wDisplay); + void SetSprite(MarkerSprite Sprite); + void SetDisplay(MarkerDisplay wDisplay); void SetScale(WORD wScale); - void SetColor(eMarkerColor color); + void SetColor(MarkerColor color); void SetColor(const SharedUtil::SColor color); void Remove(); bool IsActive(); diff --git a/Client/game_sa/CModelInfoSA.cpp b/Client/game_sa/CModelInfoSA.cpp index 63b74b325c0..8b7dd500717 100644 --- a/Client/game_sa/CModelInfoSA.cpp +++ b/Client/game_sa/CModelInfoSA.cpp @@ -30,7 +30,7 @@ std::map CModelInfo std::map CModelInfoSA::ms_ModelDefaultLodDistanceMap; std::map CModelInfoSA::ms_ModelDefaultFlagsMap; std::map CModelInfoSA::ms_ModelDefaultAlphaTransparencyMap; -std::unordered_map> CModelInfoSA::ms_ModelDefaultDummiesPosition; +std::unordered_map> CModelInfoSA::ms_ModelDefaultDummiesPosition; std::map CModelInfoSA::ms_ModelDefaultModelTimeInfo; std::unordered_map CModelInfoSA::ms_OriginalObjectPropertiesGroups; std::unordered_map> CModelInfoSA::ms_VehicleModelDefaultWheelSizes; @@ -1293,15 +1293,15 @@ void* CModelInfoSA::SetVehicleSuspensionData(void* pSuspensionLines) CVector CModelInfoSA::GetVehicleExhaustFumesPosition() { - return GetVehicleDummyPosition(eVehicleDummies::EXHAUST); + return GetVehicleDummyPosition(VehicleDummies::EXHAUST); } void CModelInfoSA::SetVehicleExhaustFumesPosition(const CVector& vecPosition) { - return SetVehicleDummyPosition(eVehicleDummies::EXHAUST, vecPosition); + return SetVehicleDummyPosition(VehicleDummies::EXHAUST, vecPosition); } -bool CModelInfoSA::GetVehicleDummyPositions(std::array& positions) const +bool CModelInfoSA::GetVehicleDummyPositions(std::array(VehicleDummies::VEHICLE_DUMMY_COUNT)>& positions) const { if (!IsVehicle()) return false; @@ -1311,7 +1311,7 @@ bool CModelInfoSA::GetVehicleDummyPositions(std::array(GetInterface()); - CVector vec = modelInfo->pVisualInfo->vecDummies[eDummy]; + CVector vec = modelInfo->pVisualInfo->vecDummies[(std::size_t)eDummy]; RemoveRef(); return vec; } -CVector CModelInfoSA::GetVehicleDummyPosition(eVehicleDummies eDummy) +CVector CModelInfoSA::GetVehicleDummyPosition(VehicleDummies eDummy) { if (!IsVehicle()) return CVector(); @@ -1348,10 +1348,10 @@ CVector CModelInfoSA::GetVehicleDummyPosition(eVehicleDummies eDummy) Request(BLOCKING, "GetVehicleDummyPosition"); auto pVehicleModel = reinterpret_cast(m_pInterface); - return pVehicleModel->pVisualInfo->vecDummies[eDummy]; + return pVehicleModel->pVisualInfo->vecDummies[(std::size_t)eDummy]; } -void CModelInfoSA::SetVehicleDummyPosition(eVehicleDummies eDummy, const CVector& vecPosition) +void CModelInfoSA::SetVehicleDummyPosition(VehicleDummies eDummy, const CVector& vecPosition) { if (!IsVehicle()) return; @@ -1364,7 +1364,7 @@ void CModelInfoSA::SetVehicleDummyPosition(eVehicleDummies eDummy, const CVector auto iter = ms_ModelDefaultDummiesPosition.find(m_dwModelID); if (iter == ms_ModelDefaultDummiesPosition.end()) { - ms_ModelDefaultDummiesPosition.insert({m_dwModelID, std::map()}); + ms_ModelDefaultDummiesPosition.insert({m_dwModelID, std::map()}); // Increment this model references count, so we don't unload it before we have a chance to reset the positions m_pInterface->usNumberOfRefs++; } @@ -1372,11 +1372,11 @@ void CModelInfoSA::SetVehicleDummyPosition(eVehicleDummies eDummy, const CVector auto pVehicleModel = reinterpret_cast(m_pInterface); if (ms_ModelDefaultDummiesPosition[m_dwModelID].find(eDummy) == ms_ModelDefaultDummiesPosition[m_dwModelID].end()) { - ms_ModelDefaultDummiesPosition[m_dwModelID][eDummy] = pVehicleModel->pVisualInfo->vecDummies[eDummy]; + ms_ModelDefaultDummiesPosition[m_dwModelID][eDummy] = pVehicleModel->pVisualInfo->vecDummies[(std::size_t)eDummy]; } // Set dummy position - pVehicleModel->pVisualInfo->vecDummies[eDummy] = vecPosition; + pVehicleModel->pVisualInfo->vecDummies[static_cast(eDummy)] = vecPosition; } void CModelInfoSA::ResetVehicleDummies(bool bRemoveFromDummiesMap) @@ -1392,7 +1392,7 @@ void CModelInfoSA::ResetVehicleDummies(bool bRemoveFromDummiesMap) for (const auto& dummy : ms_ModelDefaultDummiesPosition[m_dwModelID]) { if (pVehicleModel->pVisualInfo != nullptr) - pVehicleModel->pVisualInfo->vecDummies[dummy.first] = dummy.second; + pVehicleModel->pVisualInfo->vecDummies[static_cast(dummy.first)] = dummy.second; } // Decrement reference counter, since we reverted all position changes, the model can be safely unloaded pVehicleModel->usNumberOfRefs--; @@ -1414,7 +1414,7 @@ void CModelInfoSA::ResetAllVehicleDummies() ms_ModelDefaultDummiesPosition.clear(); } -float CModelInfoSA::GetVehicleWheelSize(eResizableVehicleWheelGroup eWheelGroup) +float CModelInfoSA::GetVehicleWheelSize(ResizableVehicleWheelGroup eWheelGroup) { if (!IsVehicle()) return 0.0f; @@ -1422,16 +1422,16 @@ float CModelInfoSA::GetVehicleWheelSize(eResizableVehicleWheelGroup eWheelGroup) auto pVehicleModel = reinterpret_cast(GetInterface()); switch (eWheelGroup) { - case eResizableVehicleWheelGroup::FRONT_AXLE: + case ResizableVehicleWheelGroup::FRONT_AXLE: return pVehicleModel->fWheelSizeFront; - case eResizableVehicleWheelGroup::REAR_AXLE: + case ResizableVehicleWheelGroup::REAR_AXLE: return pVehicleModel->fWheelSizeRear; } return 0.0f; } -void CModelInfoSA::SetVehicleWheelSize(eResizableVehicleWheelGroup eWheelGroup, float fWheelSize) +void CModelInfoSA::SetVehicleWheelSize(ResizableVehicleWheelGroup eWheelGroup, float fWheelSize) { if (!IsVehicle()) return; @@ -1444,13 +1444,13 @@ void CModelInfoSA::SetVehicleWheelSize(eResizableVehicleWheelGroup eWheelGroup, switch (eWheelGroup) { - case eResizableVehicleWheelGroup::FRONT_AXLE: + case ResizableVehicleWheelGroup::FRONT_AXLE: pVehicleModel->fWheelSizeFront = fWheelSize; break; - case eResizableVehicleWheelGroup::REAR_AXLE: + case ResizableVehicleWheelGroup::REAR_AXLE: pVehicleModel->fWheelSizeRear = fWheelSize; break; - case eResizableVehicleWheelGroup::ALL_WHEELS: + case ResizableVehicleWheelGroup::ALL_WHEELS: pVehicleModel->fWheelSizeFront = fWheelSize; pVehicleModel->fWheelSizeRear = fWheelSize; break; diff --git a/Client/game_sa/CModelInfoSA.h b/Client/game_sa/CModelInfoSA.h index e704bbd2555..d083209a2a1 100644 --- a/Client/game_sa/CModelInfoSA.h +++ b/Client/game_sa/CModelInfoSA.h @@ -349,7 +349,7 @@ class CModelInfoSA : public CModelInfo static std::map ms_ModelDefaultLodDistanceMap; static std::map ms_ModelDefaultFlagsMap; static std::map ms_ModelDefaultAlphaTransparencyMap; - static std::unordered_map> ms_ModelDefaultDummiesPosition; + static std::unordered_map> ms_ModelDefaultDummiesPosition; static std::map ms_ModelDefaultModelTimeInfo; static std::unordered_map ms_OriginalObjectPropertiesGroups; static std::unordered_map> ms_VehicleModelDefaultWheelSizes; @@ -435,14 +435,14 @@ class CModelInfoSA : public CModelInfo void* SetVehicleSuspensionData(void* pSuspensionLines); CVector GetVehicleExhaustFumesPosition() override; void SetVehicleExhaustFumesPosition(const CVector& vecPosition) override; - CVector GetVehicleDummyDefaultPosition(eVehicleDummies eDummy) override; - CVector GetVehicleDummyPosition(eVehicleDummies eDummy) override; - bool GetVehicleDummyPositions(std::array& positions) const override; - void SetVehicleDummyPosition(eVehicleDummies eDummy, const CVector& vecPosition) override; + CVector GetVehicleDummyDefaultPosition(VehicleDummies eDummy) override; + CVector GetVehicleDummyPosition(VehicleDummies eDummy) override; + bool GetVehicleDummyPositions(std::array(VehicleDummies::VEHICLE_DUMMY_COUNT)>& positions) const override; + void SetVehicleDummyPosition(VehicleDummies eDummy, const CVector& vecPosition) override; void ResetVehicleDummies(bool bRemoveFromDummiesMap); static void ResetAllVehicleDummies(); - float GetVehicleWheelSize(eResizableVehicleWheelGroup eWheelGroup) override; - void SetVehicleWheelSize(eResizableVehicleWheelGroup eWheelGroup, float fWheelSize) override; + float GetVehicleWheelSize(ResizableVehicleWheelGroup eWheelGroup) override; + void SetVehicleWheelSize(ResizableVehicleWheelGroup eWheelGroup, float fWheelSize) override; void ResetVehicleWheelSizes(std::pair* defaultSizes = nullptr) override; static void ResetAllVehiclesWheelSizes(); diff --git a/Client/game_sa/CObjectGroupPhysicalPropertiesSA.cpp b/Client/game_sa/CObjectGroupPhysicalPropertiesSA.cpp index 9951db81e9b..dfca73fd1e4 100644 --- a/Client/game_sa/CObjectGroupPhysicalPropertiesSA.cpp +++ b/Client/game_sa/CObjectGroupPhysicalPropertiesSA.cpp @@ -193,32 +193,32 @@ float CObjectGroupPhysicalPropertiesSA::GetCollisionDamageMultiplier() const return m_pInterface->fColDamageMultiplier; } -void CObjectGroupPhysicalPropertiesSA::SetCollisionDamageEffect(eObjectGroup::DamageEffect eDamageEffect) +void CObjectGroupPhysicalPropertiesSA::SetCollisionDamageEffect(ObjectGroupPhysicalProperties::DamageEffect eDamageEffect) { - if (static_cast(m_pInterface->eColDamageEffect) == eDamageEffect) + if (static_cast(m_pInterface->eColDamageEffect) == eDamageEffect) return; ChangeSafeguard(); - m_pInterface->eColDamageEffect = eDamageEffect; + m_pInterface->eColDamageEffect = (uchar)eDamageEffect; } -eObjectGroup::DamageEffect CObjectGroupPhysicalPropertiesSA::GetCollisionDamageEffect() const +ObjectGroupPhysicalProperties::DamageEffect CObjectGroupPhysicalPropertiesSA::GetCollisionDamageEffect() const { - return static_cast(m_pInterface->eColDamageEffect); + return static_cast(m_pInterface->eColDamageEffect); } -void CObjectGroupPhysicalPropertiesSA::SetCollisionSpecialResponseCase(eObjectGroup::CollisionResponse eResponseCase) +void CObjectGroupPhysicalPropertiesSA::SetCollisionSpecialResponseCase(ObjectGroupPhysicalProperties::CollisionResponse eResponseCase) { - if (static_cast(m_pInterface->eSpecialColResponse) == eResponseCase) + if (static_cast(m_pInterface->eSpecialColResponse) == eResponseCase) return; ChangeSafeguard(); - m_pInterface->eSpecialColResponse = eResponseCase; + m_pInterface->eSpecialColResponse = (uchar)eResponseCase; } -eObjectGroup::CollisionResponse CObjectGroupPhysicalPropertiesSA::GetCollisionSpecialResponseCase() const +ObjectGroupPhysicalProperties::CollisionResponse CObjectGroupPhysicalPropertiesSA::GetCollisionSpecialResponseCase() const { - return static_cast(m_pInterface->eSpecialColResponse); + return static_cast(m_pInterface->eSpecialColResponse); } void CObjectGroupPhysicalPropertiesSA::SetCameraAvoidObject(bool bAvoid) @@ -249,18 +249,18 @@ bool CObjectGroupPhysicalPropertiesSA::GetCausesExplosion() const return m_pInterface->bCausesExplosion; } -void CObjectGroupPhysicalPropertiesSA::SetFxType(eObjectGroup::FxType eFxType) +void CObjectGroupPhysicalPropertiesSA::SetFxType(ObjectGroupPhysicalProperties::FxType eFxType) { - if (static_cast(m_pInterface->eFxType) == eFxType) + if (static_cast(m_pInterface->eFxType) == eFxType) return; ChangeSafeguard(); - m_pInterface->eFxType = eFxType; + m_pInterface->eFxType = (uchar)eFxType; } -eObjectGroup::FxType CObjectGroupPhysicalPropertiesSA::GetFxType() const +ObjectGroupPhysicalProperties::FxType CObjectGroupPhysicalPropertiesSA::GetFxType() const { - return static_cast(m_pInterface->eFxType); + return static_cast(m_pInterface->eFxType); } void CObjectGroupPhysicalPropertiesSA::SetFxOffset(CVector vecOffset) @@ -344,18 +344,18 @@ float CObjectGroupPhysicalPropertiesSA::GetBreakVelocityRandomness() const return m_pInterface->fBreakVelocityRand; } -void CObjectGroupPhysicalPropertiesSA::SetBreakMode(eObjectGroup::BreakMode eBreakMode) +void CObjectGroupPhysicalPropertiesSA::SetBreakMode(ObjectGroupPhysicalProperties::BreakMode eBreakMode) { - if (static_cast(m_pInterface->eBreakMode) == eBreakMode) + if (static_cast(m_pInterface->eBreakMode) == eBreakMode) return; ChangeSafeguard(); - m_pInterface->eBreakMode = eBreakMode; + m_pInterface->eBreakMode = (DWORD)eBreakMode; } -eObjectGroup::BreakMode CObjectGroupPhysicalPropertiesSA::GetBreakMode() const +ObjectGroupPhysicalProperties::BreakMode CObjectGroupPhysicalPropertiesSA::GetBreakMode() const { - return static_cast(m_pInterface->eBreakMode); + return static_cast(m_pInterface->eBreakMode); } void CObjectGroupPhysicalPropertiesSA::SetSparksOnImpact(bool bSparks) diff --git a/Client/game_sa/CObjectGroupPhysicalPropertiesSA.h b/Client/game_sa/CObjectGroupPhysicalPropertiesSA.h index 4ca05a1033f..1ff405b9e74 100644 --- a/Client/game_sa/CObjectGroupPhysicalPropertiesSA.h +++ b/Client/game_sa/CObjectGroupPhysicalPropertiesSA.h @@ -75,16 +75,16 @@ class CObjectGroupPhysicalPropertiesSA : public CObjectGroupPhysicalProperties float GetUprootLimit() const; void SetCollisionDamageMultiplier(float fColMult); float GetCollisionDamageMultiplier() const; - void SetCollisionDamageEffect(eObjectGroup::DamageEffect ucDamageEffect); - eObjectGroup::DamageEffect GetCollisionDamageEffect() const; - void SetCollisionSpecialResponseCase(eObjectGroup::CollisionResponse ucResponseCase); - eObjectGroup::CollisionResponse GetCollisionSpecialResponseCase() const; + void SetCollisionDamageEffect(ObjectGroupPhysicalProperties::DamageEffect ucDamageEffect); + ObjectGroupPhysicalProperties::DamageEffect GetCollisionDamageEffect() const; + void SetCollisionSpecialResponseCase(ObjectGroupPhysicalProperties::CollisionResponse ucResponseCase); + ObjectGroupPhysicalProperties::CollisionResponse GetCollisionSpecialResponseCase() const; void SetCameraAvoidObject(bool bAvoid); bool GetCameraAvoidObject() const; void SetCausesExplosion(bool bExplodes); bool GetCausesExplosion() const; - void SetFxType(eObjectGroup::FxType eFxType); - eObjectGroup::FxType GetFxType() const; + void SetFxType(ObjectGroupPhysicalProperties::FxType eFxType); + ObjectGroupPhysicalProperties::FxType GetFxType() const; void SetFxOffset(CVector vecOffset); CVector GetFxOffset() const; bool SetFxParticleSystem(CFxSystemBPSAInterface* pBlueprint); @@ -95,8 +95,8 @@ class CObjectGroupPhysicalPropertiesSA : public CObjectGroupPhysicalProperties CVector GetBreakVelocity() const; void SetBreakVelocityRandomness(float fRand); float GetBreakVelocityRandomness() const; - void SetBreakMode(eObjectGroup::BreakMode eBreakMode); - eObjectGroup::BreakMode GetBreakMode() const; + void SetBreakMode(ObjectGroupPhysicalProperties::BreakMode eBreakMode); + ObjectGroupPhysicalProperties::BreakMode GetBreakMode() const; void SetSparksOnImpact(bool bSparks); bool GetSparksOnImpact() const; }; diff --git a/Client/game_sa/CPedSA.h b/Client/game_sa/CPedSA.h index ef92e058c16..7dbd4b0de7a 100644 --- a/Client/game_sa/CPedSA.h +++ b/Client/game_sa/CPedSA.h @@ -470,7 +470,7 @@ class CPedSA : public virtual CPed, public virtual CPhysicalSA std::unique_ptr GetPedIK() override { return std::make_unique(GetPedIKInterface()); } CEntitySAInterface* GetTargetedObject() const override { return GetPedInterface()->pTargetedObject; } - ePedState GetPedState() const override { return static_cast(GetPedInterface()->pedState); } + PedState GetPedState() const override { return static_cast(GetPedInterface()->pedState); } void GetAttachedSatchels(std::vector &satchelsList) const override; diff --git a/Client/game_sa/CPickupSA.cpp b/Client/game_sa/CPickupSA.cpp index 3a9701d2763..4256f22a489 100644 --- a/Client/game_sa/CPickupSA.cpp +++ b/Client/game_sa/CPickupSA.cpp @@ -41,14 +41,14 @@ CVector* CPickupSA::GetPosition(CVector* vecPosition) return vecPosition; } -ePickupType CPickupSA::GetType() +PickupType CPickupSA::GetType() { - return (ePickupType)GetInterface()->Type; + return (PickupType)GetInterface()->Type; } -void CPickupSA::SetType(ePickupType type) +void CPickupSA::SetType(PickupType type) { - GetInterface()->Type = type; + GetInterface()->Type = (BYTE)type; } float CPickupSA::GetCurrentValue() @@ -86,12 +86,12 @@ void CPickupSA::SetModel(WORD wModelIndex) GetInterface()->MI = wModelIndex; } -ePickupState CPickupSA::GetState() +PickupState CPickupSA::GetState() { - return (ePickupState)GetInterface()->State; + return (PickupState)GetInterface()->State; } -void CPickupSA::SetState(ePickupState bState) +void CPickupSA::SetState(PickupState bState) { GetInterface()->State = (BYTE)bState; } diff --git a/Client/game_sa/CPickupSA.h b/Client/game_sa/CPickupSA.h index e0538592791..807988b5f08 100644 --- a/Client/game_sa/CPickupSA.h +++ b/Client/game_sa/CPickupSA.h @@ -53,8 +53,8 @@ class CPickupSA : public CPickup void SetPosition(CVector* vecPosition); CVector* GetPosition(CVector* vecPosition); - ePickupType GetType(); - void SetType(ePickupType type); + PickupType GetType(); + void SetType(PickupType type); float GetCurrentValue(); void SetCurrentValue(float fCurrentValue); void SetRegenerationTime(DWORD dwTime); @@ -62,8 +62,8 @@ class CPickupSA : public CPickup WORD GetMoneyPerDay(); WORD GetModel(); void SetModel(WORD wModelIndex); // do not export - ePickupState GetState(); - void SetState(ePickupState bState); + PickupState GetState(); + void SetState(PickupState bState); BYTE GetAmmo(); void SetAmmo(BYTE bAmmo); long GetMonetaryValue(); diff --git a/Client/game_sa/CPickupsSA.cpp b/Client/game_sa/CPickupsSA.cpp index 9ad0737cf23..71bcee5a96f 100644 --- a/Client/game_sa/CPickupsSA.cpp +++ b/Client/game_sa/CPickupsSA.cpp @@ -36,7 +36,7 @@ CPickup* CPickupsSA::GetPickup(DWORD ID) return (CPickup*)Pickups[ID]; } -CPickup* CPickupsSA::CreatePickup(CVector* position, DWORD ModelIndex, ePickupType Type, DWORD dwMonetaryValue, DWORD dwMoneyPerDay, BYTE bPingOutOfPlayer) +CPickup* CPickupsSA::CreatePickup(CVector* position, DWORD ModelIndex, PickupType Type, DWORD dwMonetaryValue, DWORD dwMoneyPerDay, BYTE bPingOutOfPlayer) { DWORD FreeSlot = 0; bool bFoundFreeSlot = false; @@ -56,7 +56,7 @@ CPickup* CPickupsSA::CreatePickup(CVector* position, DWORD ModelIndex, ePickupTy if (!bFoundFreeSlot) { FreeSlot = 0; - while (FreeSlot < MAX_PICKUPS && Pickups[FreeSlot]->GetInterface()->Type != PICKUP_NONE) + while (FreeSlot < MAX_PICKUPS && Pickups[FreeSlot]->GetInterface()->Type != (BYTE)PickupType::PICKUP_NONE) { FreeSlot++; } @@ -68,7 +68,7 @@ CPickup* CPickupsSA::CreatePickup(CVector* position, DWORD ModelIndex, ePickupTy { // Simply use first money pickup. FreeSlot = 0; - while (FreeSlot < MAX_PICKUPS && Pickups[FreeSlot]->GetInterface()->Type != PICKUP_MONEY) + while (FreeSlot < MAX_PICKUPS && Pickups[FreeSlot]->GetInterface()->Type != (BYTE)PickupType::PICKUP_MONEY) { FreeSlot++; } @@ -76,8 +76,8 @@ CPickup* CPickupsSA::CreatePickup(CVector* position, DWORD ModelIndex, ePickupTy if (FreeSlot >= MAX_PICKUPS) { // In that case use the first PICKUP_ONCE_TIMEOUT FreeSlot = 0; - while (FreeSlot < MAX_PICKUPS && Pickups[FreeSlot]->GetInterface()->Type != PICKUP_ONCE_TIMEOUT && - Pickups[FreeSlot]->GetInterface()->Type != PICKUP_ONCE_TIMEOUT_SLOW) + while (FreeSlot < MAX_PICKUPS && Pickups[FreeSlot]->GetInterface()->Type != (BYTE)PickupType::PICKUP_ONCE_TIMEOUT && + Pickups[FreeSlot]->GetInterface()->Type != (BYTE)PickupType::PICKUP_ONCE_TIMEOUT_SLOW) { FreeSlot++; } @@ -101,33 +101,33 @@ CPickup* CPickupsSA::CreatePickup(CVector* position, DWORD ModelIndex, ePickupTy // Generate an object in the world for us. // Set the values for this pickup pickup->SetType(Type); - pickup->SetState(PUSTATE_ON); + pickup->SetState(PickupState::PUSTATE_ON); pickup->SetMonetaryValue(dwMonetaryValue); pickup->SetMoneyPerDay((WORD)dwMoneyPerDay); pickup->SetCurrentValue(0.0f); pickup->SetRegenerationTime(pGame->GetSystemTime()); pickup->SetAmmo(bPingOutOfPlayer); - if (Type == PICKUP_ONCE_TIMEOUT) + if (Type == PickupType::PICKUP_ONCE_TIMEOUT) { pickup->SetRegenerationTime(pGame->GetSystemTime() + 20000); } - if (Type == PICKUP_ONCE_TIMEOUT_SLOW) + if (Type == PickupType::PICKUP_ONCE_TIMEOUT_SLOW) { pickup->SetRegenerationTime(pGame->GetSystemTime() + 120000); } - if (Type == PICKUP_MONEY) + if (Type == PickupType::PICKUP_MONEY) { pickup->SetRegenerationTime(pGame->GetSystemTime() + 30000); // Money stays for 30 secs } - if (Type == PICKUP_MINE_INACTIVE || Type == PICKUP_MINE_ARMED) + if (Type == PickupType::PICKUP_MINE_INACTIVE || Type == PickupType::PICKUP_MINE_ARMED) { - pickup->SetType(PICKUP_MINE_INACTIVE); + pickup->SetType(PickupType::PICKUP_MINE_INACTIVE); pickup->SetRegenerationTime(pGame->GetSystemTime() + 1500); // Mines get activated after 2 secs } - if (Type == PICKUP_NAUTICAL_MINE_INACTIVE || Type == PICKUP_NAUTICAL_MINE_ARMED) + if (Type == PickupType::PICKUP_NAUTICAL_MINE_INACTIVE || Type == PickupType::PICKUP_NAUTICAL_MINE_ARMED) { - pickup->SetType(PICKUP_NAUTICAL_MINE_INACTIVE); + pickup->SetType(PickupType::PICKUP_NAUTICAL_MINE_INACTIVE); pickup->GetInterface()->RegenerationTime = pGame->GetSystemTime() + 1500; // Mines get activated after 2 secs } pickup->SetModel((WORD)ModelIndex); diff --git a/Client/game_sa/CPickupsSA.h b/Client/game_sa/CPickupsSA.h index 2bf6358f950..5c5b82a4462 100644 --- a/Client/game_sa/CPickupsSA.h +++ b/Client/game_sa/CPickupsSA.h @@ -31,6 +31,6 @@ class CPickupsSA : public CPickups ~CPickupsSA(); CPickup* GetPickup(DWORD ID); - CPickup* CreatePickup(CVector* position, DWORD ModelIndex, ePickupType Type, DWORD dwMonetaryValue, DWORD dwMoneyPerDay, BYTE bPingOutOfPlayer); + CPickup* CreatePickup(CVector* position, DWORD ModelIndex, PickupType Type, DWORD dwMonetaryValue, DWORD dwMoneyPerDay, BYTE bPingOutOfPlayer); void DisablePickupProcessing(bool bDisabled); }; diff --git a/Client/game_sa/CPoolsSA.cpp b/Client/game_sa/CPoolsSA.cpp index 45d23817293..b0ce14b2969 100644 --- a/Client/game_sa/CPoolsSA.cpp +++ b/Client/game_sa/CPoolsSA.cpp @@ -25,6 +25,8 @@ #include "CTrainSA.h" #include "CWorldSA.h" +#include "enums/VehicleClass.h" + extern CGameSA* pGame; CPoolsSA::CPoolsSA() diff --git a/Client/game_sa/CRegisteredCoronaSA.cpp b/Client/game_sa/CRegisteredCoronaSA.cpp index 3ea314b64f9..de80f549a88 100644 --- a/Client/game_sa/CRegisteredCoronaSA.cpp +++ b/Client/game_sa/CRegisteredCoronaSA.cpp @@ -75,7 +75,7 @@ void CRegisteredCoronaSA::SetTexture(RwTexture* texture) internalInterface->pTex = texture; } -void CRegisteredCoronaSA::SetTexture(eCoronaType texture) +void CRegisteredCoronaSA::SetTexture(CoronaType texture) { CCoronasSA* coronas = ((CCoronasSA*)pGame->GetCoronas()); RwTexture* tex = coronas->GetTexture(texture); diff --git a/Client/game_sa/CRegisteredCoronaSA.h b/Client/game_sa/CRegisteredCoronaSA.h index 4c47f848d0b..2c9ac27705e 100644 --- a/Client/game_sa/CRegisteredCoronaSA.h +++ b/Client/game_sa/CRegisteredCoronaSA.h @@ -67,7 +67,7 @@ class CRegisteredCoronaSA : public CRegisteredCorona void SetPullTowardsCamera(float fPullTowardsCamera); void SetColor(BYTE Red, BYTE Green, BYTE Blue, BYTE Alpha); void SetTexture(RwTexture* texture); - void SetTexture(eCoronaType texture); + void SetTexture(CoronaType texture); BYTE GetFlareType(); void SetFlareType(BYTE fFlareType); void SetReflectionType(BYTE reflectionType); diff --git a/Client/game_sa/CVehicleAudioSettingsEntrySA.h b/Client/game_sa/CVehicleAudioSettingsEntrySA.h index 9d69058646a..319e1614617 100644 --- a/Client/game_sa/CVehicleAudioSettingsEntrySA.h +++ b/Client/game_sa/CVehicleAudioSettingsEntrySA.h @@ -12,12 +12,12 @@ #pragma once #include "game/CVehicleAudioSettingsEntry.h" -#include +#include "enums/VehicleSoundType.h" // SA interface struct tVehicleAudioSettings { - eVehicleSoundType m_eVehicleSoundType; + VehicleSoundType m_eVehicleSoundType; int16 m_nEngineOnSoundBankId; int16 m_nEngineOffSoundBankId; int8 m_nBassSetting; // 0 or 1 or 2 @@ -46,7 +46,7 @@ class CVehicleAudioSettingsEntrySA final : public CVehicleAudioSettingsEntry void Assign(const tVehicleAudioSettings& settings) noexcept { m_Settings = settings; } void Assign(const CVehicleAudioSettingsEntry& settings) noexcept { m_Settings = static_cast(settings).GetInterface(); }; - eVehicleSoundType GetSoundType() const noexcept override { return m_Settings.m_eVehicleSoundType; }; + VehicleSoundType GetSoundType() const noexcept override { return m_Settings.m_eVehicleSoundType; }; short GetEngineOnSoundBankID() const noexcept override { return m_Settings.m_nEngineOnSoundBankId; }; short GetEngineOffSoundBankID() const noexcept override { return m_Settings.m_nEngineOffSoundBankId; }; char GetBassSetting() const noexcept override { return m_Settings.m_nBassSetting; }; @@ -61,7 +61,7 @@ class CVehicleAudioSettingsEntrySA final : public CVehicleAudioSettingsEntry char GetVehicleTypeForAudio() const noexcept override { return m_Settings.m_nVehTypeForAudio; }; float GetHornVolumeDelta() const noexcept override { return m_Settings.m_fHornVolumeDelta; }; - void SetSoundType(eVehicleSoundType value) noexcept override { m_Settings.m_eVehicleSoundType = value; }; + void SetSoundType(VehicleSoundType value) noexcept override { m_Settings.m_eVehicleSoundType = value; }; void SetEngineOnSoundBankID(short value) noexcept override { m_Settings.m_nEngineOnSoundBankId = value; }; void SetEngineOffSoundBankID(short value) noexcept override { m_Settings.m_nEngineOffSoundBankId = value; }; void SetBassSetting(char value) noexcept override { m_Settings.m_nBassSetting = value; }; diff --git a/Client/game_sa/CVehicleSA.cpp b/Client/game_sa/CVehicleSA.cpp index b43292b69f7..761ae58535a 100644 --- a/Client/game_sa/CVehicleSA.cpp +++ b/Client/game_sa/CVehicleSA.cpp @@ -189,7 +189,7 @@ void CVehicleSA::Init() { for (size_t i = 0; i < m_dummyPositions.size(); ++i) { - m_dummyPositions[i] = modelInfo->GetVehicleDummyPosition((eVehicleDummies)i); + m_dummyPositions[i] = modelInfo->GetVehicleDummyPosition((VehicleDummies)i); } } @@ -2261,27 +2261,27 @@ void CVehicleSA::UpdateLandingGearPosition() } } -bool CVehicleSA::GetDummyPosition(eVehicleDummies dummy, CVector& position) const +bool CVehicleSA::GetDummyPosition(VehicleDummies dummy, CVector& position) const { - if (dummy >= 0 && dummy < VEHICLE_DUMMY_COUNT) + if (dummy >= VehicleDummies::LIGHT_FRONT_MAIN && dummy < VehicleDummies::VEHICLE_DUMMY_COUNT) { - position = m_dummyPositions[dummy]; + position = m_dummyPositions[(std::size_t)dummy]; return true; } return false; } -bool CVehicleSA::SetDummyPosition(eVehicleDummies dummy, const CVector& position) +bool CVehicleSA::SetDummyPosition(VehicleDummies dummy, const CVector& position) { - if (dummy < 0 || dummy >= VEHICLE_DUMMY_COUNT) + if (dummy < VehicleDummies::LIGHT_FRONT_MAIN || dummy >= VehicleDummies::VEHICLE_DUMMY_COUNT) return false; auto vehicle = reinterpret_cast(m_pInterface); - m_dummyPositions[dummy] = position; + m_dummyPositions[static_cast(dummy)] = position; - if (dummy == ENGINE) + if (dummy == VehicleDummies::ENGINE) { if (vehicle->m_overheatParticle != nullptr) CFxSystemSA::SetPosition(vehicle->m_overheatParticle, position); @@ -2303,14 +2303,14 @@ bool CVehicleSA::SetDummyPosition(eVehicleDummies dummy, const CVector& position // // NOTE(botder): Move the code to CAutomobileSA::SetDummyPosition, when we start using CAutomobileSA // -void CVehicleSA::SetAutomobileDummyPosition(CAutomobileSAInterface* automobile, eVehicleDummies dummy, const CVector& position) +void CVehicleSA::SetAutomobileDummyPosition(CAutomobileSAInterface* automobile, VehicleDummies dummy, const CVector& position) { - if (dummy == EXHAUST) + if (dummy == VehicleDummies::EXHAUST) { if (automobile->pNitroParticle[0] != nullptr) CFxSystemSA::SetPosition(automobile->pNitroParticle[0], position); } - else if (dummy == EXHAUST_SECONDARY) + else if (dummy == VehicleDummies::EXHAUST_SECONDARY) { if (automobile->pNitroParticle[1] != nullptr) CFxSystemSA::SetPosition(automobile->pNitroParticle[1], position); diff --git a/Client/game_sa/CVehicleSA.h b/Client/game_sa/CVehicleSA.h index cb6f5b1ec78..ceaba79e499 100644 --- a/Client/game_sa/CVehicleSA.h +++ b/Client/game_sa/CVehicleSA.h @@ -23,6 +23,8 @@ #include "CColPointSA.h" #include "CAEVehicleAudioEntitySA.h" +#include "enums/VehicleClass.h" + class CFxSystemSAInterface; class CTrainSAInterface; class CColModelSAInterface; @@ -441,7 +443,7 @@ class CVehicleSA : public virtual CVehicle, public virtual CPhysicalSA bool m_doorsUndamageable{false}; bool m_rotorState{true}; - std::array m_dummyPositions; + std::array(VehicleDummies::VEHICLE_DUMMY_COUNT)> m_dummyPositions; public: CVehicleSA() = default; @@ -704,8 +706,8 @@ class CVehicleSA : public virtual CVehicle, public virtual CPhysicalSA CAEVehicleAudioEntitySA* GetVehicleAudioEntity() { return m_pVehicleAudioEntity; }; - bool GetDummyPosition(eVehicleDummies dummy, CVector& position) const override; - bool SetDummyPosition(eVehicleDummies dummy, const CVector& position) override; + bool GetDummyPosition(VehicleDummies dummy, CVector& position) const override; + bool SetDummyPosition(VehicleDummies dummy, const CVector& position) override; CVector* GetDummyPositions() { return m_dummyPositions.data(); } const CVector* GetDummyPositions() const override { return m_dummyPositions.data(); } @@ -718,7 +720,7 @@ class CVehicleSA : public virtual CVehicle, public virtual CPhysicalSA static bool GetVehiclesSunGlareEnabled(); private: - static void SetAutomobileDummyPosition(CAutomobileSAInterface* automobile, eVehicleDummies dummy, const CVector& position); + static void SetAutomobileDummyPosition(CAutomobileSAInterface* automobile, VehicleDummies dummy, const CVector& position); void RecalculateSuspensionLines(); void CopyGlobalSuspensionLinesToPrivate(); diff --git a/Client/game_sa/CWantedSA.h b/Client/game_sa/CWantedSA.h index 30ebfec2934..b89376faeed 100644 --- a/Client/game_sa/CWantedSA.h +++ b/Client/game_sa/CWantedSA.h @@ -60,8 +60,8 @@ class CWantedSAInterface DWORD current_chase_time_counter; bool m_bTimeCounting; - eWantedLevelSA m_WantedLevel; - eWantedLevelSA m_WantedLevelBeforeParole; + std::uint32_t m_WantedLevel; + std::uint32_t m_WantedLevelBeforeParole; CCrimeBeingQd CrimesBeingQd[MAX_CRIMES_QD]; diff --git a/Client/mods/deathmatch/logic/CClient3DMarker.cpp b/Client/mods/deathmatch/logic/CClient3DMarker.cpp index 03a862c4b92..e30d98e9c72 100644 --- a/Client/mods/deathmatch/logic/CClient3DMarker.cpp +++ b/Client/mods/deathmatch/logic/CClient3DMarker.cpp @@ -22,7 +22,7 @@ CClient3DMarker::CClient3DMarker(CClientMarker* pThis) m_bVisible = true; m_Color = SColorRGBA(255, 0, 0, 128); m_fSize = 4.0f; - m_dwType = MARKER3D_CYLINDER2; + m_dwType = static_cast(T3DMarkerType::MARKER3D_CYLINDER2); m_pMarker = NULL; m_ulIdentifier = (DWORD)this; } @@ -33,12 +33,12 @@ CClient3DMarker::~CClient3DMarker() unsigned long CClient3DMarker::Get3DMarkerType() { - switch (m_dwType) + switch (static_cast(m_dwType)) { - case MARKER3D_CYLINDER2: + case T3DMarkerType::MARKER3D_CYLINDER2: return CClient3DMarker::TYPE_CYLINDER; - case MARKER3D_ARROW: + case T3DMarkerType::MARKER3D_ARROW: return CClient3DMarker::TYPE_ARROW; default: @@ -51,15 +51,15 @@ void CClient3DMarker::Set3DMarkerType(unsigned long ulType) switch (ulType) { case CClient3DMarker::TYPE_CYLINDER: - m_dwType = MARKER3D_CYLINDER2; + m_dwType = static_cast(T3DMarkerType::MARKER3D_CYLINDER2); break; case CClient3DMarker::TYPE_ARROW: - m_dwType = MARKER3D_ARROW; + m_dwType = static_cast(T3DMarkerType::MARKER3D_ARROW); break; default: - m_dwType = MARKER3D_CYLINDER2; + m_dwType = static_cast(T3DMarkerType::MARKER3D_CYLINDER2); break; } } @@ -87,7 +87,7 @@ void CClient3DMarker::DoPulse() if (m_bMarkerStreamedIn && m_bVisible && m_pThis->GetInterior() == g_pGame->GetWorld()->GetCurrentArea()) { SColor color = GetColor(); - m_pMarker = g_pGame->Get3DMarkers()->CreateMarker(m_ulIdentifier, static_cast(m_dwType), &m_Matrix.vPos, m_fSize, 0.2f, color.R, color.G, + m_pMarker = g_pGame->Get3DMarkers()->CreateMarker(m_ulIdentifier, static_cast(m_dwType), &m_Matrix.vPos, m_fSize, 0.2f, color.R, color.G, color.B, color.A); if (m_pMarker) { @@ -107,6 +107,6 @@ void CClient3DMarker::SetColor(const SColor& color) noexcept { m_Color = color; - if (!m_ignoreAlphaLimits && m_dwType == MARKER3D_ARROW) + if (!m_ignoreAlphaLimits && m_dwType == static_cast(T3DMarkerType::MARKER3D_ARROW)) m_Color.A = 255; } diff --git a/Client/mods/deathmatch/logic/CClientCamera.cpp b/Client/mods/deathmatch/logic/CClientCamera.cpp index 663d52828e3..d0403f643a1 100644 --- a/Client/mods/deathmatch/logic/CClientCamera.cpp +++ b/Client/mods/deathmatch/logic/CClientCamera.cpp @@ -41,7 +41,7 @@ CClientCamera::CClientCamera(CClientManager* pManager) : ClassInit(this), CClien CClientCamera::~CClientCamera() { // We need to be ingame - if (g_pGame->GetSystemState() == 9) + if (g_pGame->GetSystemState() == SystemState::GS_PLAYING_GAME) { // Restore the camera to the local player SetFocusToLocalPlayerImpl(); @@ -643,4 +643,4 @@ void CClientCamera::ShakeCamera(float radius, float x, float y, float z) noexcep void CClientCamera::ResetShakeCamera() noexcept { m_pCamera->ResetShakeCamera(); -} \ No newline at end of file +} diff --git a/Client/mods/deathmatch/logic/CClientGame.cpp b/Client/mods/deathmatch/logic/CClientGame.cpp index de8b0f242ca..c795b3c9746 100644 --- a/Client/mods/deathmatch/logic/CClientGame.cpp +++ b/Client/mods/deathmatch/logic/CClientGame.cpp @@ -3455,7 +3455,7 @@ void CClientGame::Event_OnIngame() // This is to prevent the 'white arrows in checkpoints' bug (#274) CVector pos(0, 0, 0); - g_pGame->Get3DMarkers()->CreateMarker(87654, (e3DMarkerType)5, &pos, 1, 0.2f, 0, 0, 0, 0); + g_pGame->Get3DMarkers()->CreateMarker(87654, T3DMarkerType::MARKER3D_CONE, &pos, 1, 0.2f, 0, 0, 0, 0); // Stop us getting 4 stars if we visit the SF or LV // g_pGame->GetPlayerInfo()->GetWanted()->SetMaximumWantedLevel ( 0 ); diff --git a/Client/mods/deathmatch/logic/CClientManager.h b/Client/mods/deathmatch/logic/CClientManager.h index 0e9f0c77026..12aee3816cf 100644 --- a/Client/mods/deathmatch/logic/CClientManager.h +++ b/Client/mods/deathmatch/logic/CClientManager.h @@ -99,7 +99,7 @@ class CClientManager CClientIMGManager* GetIMGManager() { return m_pImgManager; } CClientBuildingManager* GetBuildingManager() const noexcept { return m_pBuildingManager; } - bool IsGameLoaded() { return g_pGame->GetSystemState() == 9 && !m_bGameUnloadedFlag && g_pCore->GetNetwork()->GetServerBitStreamVersion(); } + bool IsGameLoaded() { return g_pGame->GetSystemState() == SystemState::GS_PLAYING_GAME && !m_bGameUnloadedFlag && g_pCore->GetNetwork()->GetServerBitStreamVersion(); } bool IsBeingDeleted() { return m_bBeingDeleted; } void SetGameUnloadedFlag() { m_bGameUnloadedFlag = true; } diff --git a/Client/mods/deathmatch/logic/CClientPed.cpp b/Client/mods/deathmatch/logic/CClientPed.cpp index 666bc9d94d1..59ce2f4cde7 100644 --- a/Client/mods/deathmatch/logic/CClientPed.cpp +++ b/Client/mods/deathmatch/logic/CClientPed.cpp @@ -31,6 +31,7 @@ #include #include #include +#include "enums/VehicleType.h" using std::list; using std::vector; @@ -1182,7 +1183,7 @@ CClientVehicle* CClientPed::GetClosestEnterableVehicle(bool bGetPositionFromClos continue; // Should we take the position from the closest door instead of center of vehicle - if (bGetPositionFromClosestDoor && pTempVehicle->GetModel() != VT_RCBARON) + if (bGetPositionFromClosestDoor && static_cast(pTempVehicle->GetModel()) != VehicleType::VT_RCBARON) { // Get the closest front-door CVector vecFrontPos; @@ -3357,6 +3358,7 @@ void CClientPed::SetTargetRotation(unsigned long ulDelay, std::optional r // Temporary #include "../mods/deathmatch/logic/CClientGame.h" +#include extern CClientGame* g_pClientGame; void CClientPed::Interpolate() @@ -4463,9 +4465,9 @@ void CClientPed::_GetIntoVehicle(CClientVehicle* pVehicle, unsigned int uiSeat, CTask* pTask = 0; if (m_pTaskManager) pTask = m_pTaskManager->GetTask(TASK_PRIORITY_EVENT_RESPONSE_NONTEMP); - unsigned short usVehicleModel = pVehicle->GetModel(); + auto usVehicleModel = static_cast(pVehicle->GetModel()); if (((pTask && pTask->GetTaskType() == TASK_COMPLEX_IN_WATER) || pVehicle->IsOnWater()) && - (usVehicleModel == VT_SKIMMER || usVehicleModel == VT_SEASPAR || usVehicleModel == VT_LEVIATHN || usVehicleModel == VT_VORTEX)) + (usVehicleModel == VehicleType::VT_SKIMMER || usVehicleModel == VehicleType::VT_SEASPAR || usVehicleModel == VehicleType::VT_LEVIATHN || usVehicleModel == VehicleType::VT_VORTEX)) { CVector vecDoorPos; unsigned int uiDoor; @@ -6545,9 +6547,9 @@ bool CClientPed::EnterVehicle(CClientVehicle* pVehicle, bool bPassenger) } // Stop if the ped is swimming and the vehicle model cannot be entered from water (fixes #1990) - unsigned short vehicleModel = pVehicle->GetModel(); + auto vehicleModel = static_cast(pVehicle->GetModel()); - if (IsInWater() && !(vehicleModel == VT_SKIMMER || vehicleModel == VT_SEASPAR || vehicleModel == VT_LEVIATHN || vehicleModel == VT_VORTEX)) + if (IsInWater() && !(vehicleModel == VehicleType::VT_SKIMMER || vehicleModel == VehicleType::VT_SEASPAR || vehicleModel == VehicleType::VT_LEVIATHN || vehicleModel == VehicleType::VT_VORTEX)) { return false; } diff --git a/Client/mods/deathmatch/logic/CClientPickup.cpp b/Client/mods/deathmatch/logic/CClientPickup.cpp index 581f78a6fc4..dd9e9525ca5 100644 --- a/Client/mods/deathmatch/logic/CClientPickup.cpp +++ b/Client/mods/deathmatch/logic/CClientPickup.cpp @@ -140,7 +140,7 @@ void CClientPickup::Create() if (!m_pPickup && m_bVisible) { // Create the pickup - m_pPickup = g_pGame->GetPickups()->CreatePickup(&m_vecPosition, m_usModel, PICKUP_ONCE); + m_pPickup = g_pGame->GetPickups()->CreatePickup(&m_vecPosition, m_usModel, PickupType::PICKUP_ONCE); m_pObject = NULL; if (m_pPickup) { diff --git a/Client/mods/deathmatch/logic/CClientRadarMarker.cpp b/Client/mods/deathmatch/logic/CClientRadarMarker.cpp index 6651e8887f4..9c8cd509163 100644 --- a/Client/mods/deathmatch/logic/CClientRadarMarker.cpp +++ b/Client/mods/deathmatch/logic/CClientRadarMarker.cpp @@ -152,7 +152,7 @@ void CClientRadarMarker::SetSprite(unsigned long ulSprite) if (m_pMarker) { - m_pMarker->SetSprite(static_cast(ulSprite)); + m_pMarker->SetSprite(static_cast(ulSprite)); } } @@ -226,7 +226,7 @@ void CClientRadarMarker::CreateMarker() m_pMarker->SetPosition(&m_vecPosition); m_pMarker->SetScale(m_usScale); m_pMarker->SetColor(color); - m_pMarker->SetSprite(static_cast(m_ulSprite)); + m_pMarker->SetSprite(static_cast(m_ulSprite)); } } } diff --git a/Client/mods/deathmatch/logic/CClientVehicle.cpp b/Client/mods/deathmatch/logic/CClientVehicle.cpp index 1aab6442188..0cc88572ab3 100644 --- a/Client/mods/deathmatch/logic/CClientVehicle.cpp +++ b/Client/mods/deathmatch/logic/CClientVehicle.cpp @@ -20,6 +20,7 @@ #include #include #include +#include using std::list; @@ -1315,7 +1316,7 @@ unsigned short CClientVehicle::GetAdjustablePropertyValue() { usPropertyValue = m_pVehicle->GetAdjustablePropertyValue(); // If it's a Hydra invert it with 5000 (as 0 is "forward"), so we can maintain a standard of 0 being "normal" - if (m_usModel == VT_HYDRA) + if (static_cast(m_usModel) == VehicleType::VT_HYDRA) usPropertyValue = 5000 - usPropertyValue; } else @@ -1329,7 +1330,7 @@ unsigned short CClientVehicle::GetAdjustablePropertyValue() void CClientVehicle::SetAdjustablePropertyValue(unsigned short usValue) { - if (m_usModel == VT_HYDRA) + if (static_cast(m_usModel) == VehicleType::VT_HYDRA) usValue = 5000 - usValue; _SetAdjustablePropertyValue(usValue); @@ -1357,8 +1358,10 @@ void CClientVehicle::_SetAdjustablePropertyValue(unsigned short usValue) bool CClientVehicle::HasMovingCollision() { - return (m_usModel == VT_FORKLIFT || m_usModel == VT_FIRELA || m_usModel == VT_ANDROM || m_usModel == VT_DUMPER || m_usModel == VT_DOZER || - m_usModel == VT_PACKER); + auto model = static_cast(m_usModel); + + return (model == VehicleType::VT_FORKLIFT || model == VehicleType::VT_FIRELA || model == VehicleType::VT_ANDROM || model == VehicleType::VT_DUMPER || + model == VehicleType::VT_DOZER || model == VehicleType::VT_PACKER); } unsigned char CClientVehicle::GetDoorStatus(unsigned char ucDoor) @@ -2461,8 +2464,10 @@ void CClientVehicle::StreamOut() bool CClientVehicle::DoCheckHasLandingGear() { - return (m_usModel == VT_ANDROM || m_usModel == VT_AT400 || m_usModel == VT_NEVADA || m_usModel == VT_RUSTLER || m_usModel == VT_SHAMAL || - m_usModel == VT_HYDRA || m_usModel == VT_STUNT); + auto model = static_cast(m_usModel); + + return (model == VehicleType::VT_ANDROM || model == VehicleType::VT_AT400 || model == VehicleType::VT_NEVADA || model == VehicleType::VT_RUSTLER || model == VehicleType::VT_SHAMAL || model == VehicleType::VT_HYDRA || + model == VehicleType::VT_STUNT); } void CClientVehicle::Create() @@ -2903,13 +2908,13 @@ void CClientVehicle::Create() if (m_copyDummyPositions) { const CVector* positions = m_pVehicle->GetDummyPositions(); - std::copy(positions, positions + VEHICLE_DUMMY_COUNT, m_dummyPositions.begin()); + std::copy(positions, positions + static_cast(VehicleDummies::VEHICLE_DUMMY_COUNT), m_dummyPositions.begin()); } else { - for (size_t i = 0; i < VEHICLE_DUMMY_COUNT; ++i) + for (size_t i = 0; i < static_cast(VehicleDummies::VEHICLE_DUMMY_COUNT); ++i) { - m_pVehicle->SetDummyPosition(static_cast(i), m_dummyPositions[i]); + m_pVehicle->SetDummyPosition(static_cast(i), m_dummyPositions[i]); } } @@ -3309,7 +3314,7 @@ bool CClientVehicle::IsTowableBy(CClientVehicle* towingVehicle) bool CClientVehicle::SetWinchType(eWinchType winchType) { - if (GetModel() == VT_LEVIATHN) // Leviathan + if (static_cast(GetModel()) == VehicleType::VT_LEVIATHN) // Leviathan { if (m_pVehicle) { @@ -3604,25 +3609,25 @@ void CClientVehicle::Interpolate() void CClientVehicle::GetInitialDoorStates(SFixedArray& ucOutDoorStates) { - switch (m_usModel) - { - case VT_BAGGAGE: - case VT_BANDITO: - case VT_BFINJECT: - case VT_CADDY: - case VT_DOZER: - case VT_FORKLIFT: - case VT_KART: - case VT_MOWER: - case VT_QUAD: - case VT_RCBANDIT: - case VT_RCCAM: - case VT_RCGOBLIN: - case VT_RCRAIDER: - case VT_RCTIGER: - case VT_TRACTOR: - case VT_VORTEX: - case VT_BLOODRA: + switch (static_cast(m_usModel)) + { + case VehicleType::VT_BAGGAGE: + case VehicleType::VT_BANDITO: + case VehicleType::VT_BFINJECT: + case VehicleType::VT_CADDY: + case VehicleType::VT_DOZER: + case VehicleType::VT_FORKLIFT: + case VehicleType::VT_KART: + case VehicleType::VT_MOWER: + case VehicleType::VT_QUAD: + case VehicleType::VT_RCBANDIT: + case VehicleType::VT_RCCAM: + case VehicleType::VT_RCGOBLIN: + case VehicleType::VT_RCRAIDER: + case VehicleType::VT_RCTIGER: + case VehicleType::VT_TRACTOR: + case VehicleType::VT_VORTEX: + case VehicleType::VT_BLOODRA: memset(&ucOutDoorStates[0], DT_DOOR_MISSING, MAX_DOORS); // Keep the bonet and boot intact @@ -3924,15 +3929,15 @@ bool CClientVehicle::HasRadio() bool CClientVehicle::HasPoliceRadio() { - switch (m_usModel) + switch (static_cast(m_usModel)) { - case VT_COPCARLA: - case VT_COPCARSF: - case VT_COPCARVG: - case VT_COPCARRU: - case VT_POLMAV: - case VT_COPBIKE: - case VT_SWATVAN: + case VehicleType::VT_COPCARLA: + case VehicleType::VT_COPCARSF: + case VehicleType::VT_COPCARVG: + case VehicleType::VT_COPCARRU: + case VehicleType::VT_POLMAV: + case VehicleType::VT_COPBIKE: + case VehicleType::VT_SWATVAN: return true; break; default: @@ -4942,22 +4947,22 @@ CVehicleAudioSettingsEntry& CClientVehicle::GetOrCreateAudioSettings() } -bool CClientVehicle::GetDummyPosition(eVehicleDummies dummy, CVector& position) const +bool CClientVehicle::GetDummyPosition(VehicleDummies dummy, CVector& position) const { - if (dummy >= 0 && dummy < VEHICLE_DUMMY_COUNT) + if (dummy >= VehicleDummies::LIGHT_FRONT_MAIN && dummy < VehicleDummies::VEHICLE_DUMMY_COUNT) { - position = m_dummyPositions[dummy]; + position = m_dummyPositions[(std::size_t)dummy]; return true; } return false; } -bool CClientVehicle::SetDummyPosition(eVehicleDummies dummy, const CVector& position) +bool CClientVehicle::SetDummyPosition(VehicleDummies dummy, const CVector& position) { - if (dummy >= 0 && dummy < VEHICLE_DUMMY_COUNT) + if (dummy >= VehicleDummies::LIGHT_FRONT_MAIN && dummy < VehicleDummies::VEHICLE_DUMMY_COUNT) { - m_dummyPositions[dummy] = position; + m_dummyPositions[(std::size_t)dummy] = position; m_copyDummyPositions = false; return m_pVehicle ? m_pVehicle->SetDummyPosition(dummy, position) : true; @@ -4970,14 +4975,14 @@ bool CClientVehicle::ResetDummyPositions() { if (m_pVehicle) { - std::array positions; + std::array(VehicleDummies::VEHICLE_DUMMY_COUNT)> positions; if (!m_pModelInfo->GetVehicleDummyPositions(positions)) return false; for (size_t i = 0; i < positions.size(); ++i) { - SetDummyPosition(static_cast(i), positions[i]); + SetDummyPosition(static_cast(i), positions[i]); } return true; @@ -5082,7 +5087,7 @@ void CClientVehicle::ResetWheelScale() // The calculation of the default wheel scale is based on original GTA code at functions // 0x6E3290 (CVehicle::AddVehicleUpgrade) and 0x6DF930 (CVehicle::RemoveVehicleUpgrade) if (m_pUpgrades->GetSlotState(12) != 0) - m_fWheelScale = m_pModelInfo->GetVehicleWheelSize(eResizableVehicleWheelGroup::FRONT_AXLE); + m_fWheelScale = m_pModelInfo->GetVehicleWheelSize(ResizableVehicleWheelGroup::FRONT_AXLE); else m_fWheelScale = 1.0f; diff --git a/Client/mods/deathmatch/logic/CClientVehicle.h b/Client/mods/deathmatch/logic/CClientVehicle.h index de78ed24ee4..7a826513bc3 100644 --- a/Client/mods/deathmatch/logic/CClientVehicle.h +++ b/Client/mods/deathmatch/logic/CClientVehicle.h @@ -547,8 +547,8 @@ class CClientVehicle : public CClientStreamElement void ApplyAudioSettings(); void ResetAudioSettings(); - bool GetDummyPosition(eVehicleDummies dummy, CVector& position) const; - bool SetDummyPosition(eVehicleDummies dummy, const CVector& position); + bool GetDummyPosition(VehicleDummies dummy, CVector& position) const; + bool SetDummyPosition(VehicleDummies dummy, const CVector& position); bool ResetDummyPositions(); bool SpawnFlyingComponent(const eCarNodes& nodeID, const eCarComponentCollisionTypes& collisionType, std::int32_t removalTime); @@ -756,6 +756,6 @@ class CClientVehicle : public CClientStreamElement std::map m_ComponentData; bool m_bAsyncLoadingDisabled; - std::array m_dummyPositions; + std::array(VehicleDummies::VEHICLE_DUMMY_COUNT)> m_dummyPositions; bool m_copyDummyPositions = true; }; diff --git a/Client/mods/deathmatch/logic/CClientVehicleManager.cpp b/Client/mods/deathmatch/logic/CClientVehicleManager.cpp index 67abb03f5e3..3a9494def90 100644 --- a/Client/mods/deathmatch/logic/CClientVehicleManager.cpp +++ b/Client/mods/deathmatch/logic/CClientVehicleManager.cpp @@ -10,6 +10,7 @@ #include "StdInc.h" #include +#include using std::list; using std::vector; @@ -685,23 +686,23 @@ bool CClientVehicleManager::HasDoors(unsigned long ulModel) if (HasDamageModel(ulModel) == true) { - switch (ulModel) + switch (static_cast(ulModel)) { - case VT_BFINJECT: - case VT_RCBANDIT: - case VT_CADDY: - case VT_RCRAIDER: - case VT_BAGGAGE: - case VT_DOZER: - case VT_FORKLIFT: - case VT_TRACTOR: - case VT_RCTIGER: - case VT_BANDITO: - case VT_KART: - case VT_MOWER: - case VT_RCCAM: - case VT_RCGOBLIN: - case VT_BLOODRA: + case VehicleType::VT_BFINJECT: + case VehicleType::VT_RCBANDIT: + case VehicleType::VT_CADDY: + case VehicleType::VT_RCRAIDER: + case VehicleType::VT_BAGGAGE: + case VehicleType::VT_DOZER: + case VehicleType::VT_FORKLIFT: + case VehicleType::VT_TRACTOR: + case VehicleType::VT_RCTIGER: + case VehicleType::VT_BANDITO: + case VehicleType::VT_KART: + case VehicleType::VT_MOWER: + case VehicleType::VT_RCCAM: + case VehicleType::VT_RCGOBLIN: + case VehicleType::VT_BLOODRA: break; default: bHasDoors = true; diff --git a/Client/mods/deathmatch/logic/CNetAPI.cpp b/Client/mods/deathmatch/logic/CNetAPI.cpp index 09d406a2ff1..c547b810bb6 100644 --- a/Client/mods/deathmatch/logic/CNetAPI.cpp +++ b/Client/mods/deathmatch/logic/CNetAPI.cpp @@ -14,6 +14,7 @@ #include #include #include +#include extern CClientGame* g_pClientGame; CTickRateSettings g_TickRateSettings; @@ -683,7 +684,7 @@ void CNetAPI::ReadKeysync(CClientPlayer* pPlayer, NetBitStreamInterface& BitStre } // Jax: temp fix for rhino firing, CPlayerInfo::m_LastTimeBigGunFired needs to be context-switched - if (pVehicle->GetModel() == VT_RHINO) + if (static_cast(pVehicle->GetModel()) == VehicleType::VT_RHINO) { ControllerState.ButtonCircle = 0; } @@ -1270,7 +1271,7 @@ void CNetAPI::ReadVehiclePuresync(CClientPlayer* pPlayer, CClientVehicle* pVehic ReadFullKeysync(ControllerState, BitStream); // Jax: temp fix for rhino firing, CPlayerInfo::m_LastTimeBigGunFired needs to be context-switched - if (pVehicle->GetModel() == VT_RHINO) + if (static_cast(pVehicle->GetModel()) == VehicleType::VT_RHINO) { ControllerState.ButtonCircle = 0; } diff --git a/Client/mods/deathmatch/logic/CPacketHandler.cpp b/Client/mods/deathmatch/logic/CPacketHandler.cpp index ad5d7cfb4e4..1b7eb6a9005 100644 --- a/Client/mods/deathmatch/logic/CPacketHandler.cpp +++ b/Client/mods/deathmatch/logic/CPacketHandler.cpp @@ -306,7 +306,7 @@ void CPacketHandler::Packet_ServerConnected(NetBitStreamInterface& bitStream) g_pClientGame->m_Status = CClientGame::STATUS_JOINING; // If the game isn't started, start it - if (g_pGame->GetSystemState() == 7) + if (g_pGame->GetSystemState() == SystemState::GS_FRONTEND) { g_pGame->StartGame(); } diff --git a/Client/mods/deathmatch/logic/CStaticFunctionDefinitions.cpp b/Client/mods/deathmatch/logic/CStaticFunctionDefinitions.cpp index 38a9a7721cf..857aa910477 100644 --- a/Client/mods/deathmatch/logic/CStaticFunctionDefinitions.cpp +++ b/Client/mods/deathmatch/logic/CStaticFunctionDefinitions.cpp @@ -29,6 +29,8 @@ #include #include #include +#include +#include using std::list; @@ -3099,22 +3101,22 @@ bool CStaticFunctionDefinitions::SetVehicleDoorState(CClientEntity& Entity, unsi if (ucDoor < MAX_DOORS) { - switch (Vehicle.GetModel()) - { - case VT_BFINJECT: - case VT_RCBANDIT: - case VT_CADDY: - case VT_RCRAIDER: - case VT_BAGGAGE: - case VT_DOZER: - case VT_FORKLIFT: - case VT_TRACTOR: - case VT_RCTIGER: - case VT_BANDITO: - case VT_KART: - case VT_MOWER: - case VT_RCCAM: - case VT_RCGOBLIN: + switch (static_cast(Vehicle.GetModel())) + { + case VehicleType::VT_BFINJECT: + case VehicleType::VT_RCBANDIT: + case VehicleType::VT_CADDY: + case VehicleType::VT_RCRAIDER: + case VehicleType::VT_BAGGAGE: + case VehicleType::VT_DOZER: + case VehicleType::VT_FORKLIFT: + case VehicleType::VT_TRACTOR: + case VehicleType::VT_RCTIGER: + case VehicleType::VT_BANDITO: + case VehicleType::VT_KART: + case VehicleType::VT_MOWER: + case VehicleType::VT_RCCAM: + case VehicleType::VT_RCGOBLIN: return false; break; default: @@ -3660,7 +3662,7 @@ bool CStaticFunctionDefinitions::IsVehicleWindowOpen(CClientVehicle& Vehicle, uc return Vehicle.IsWindowOpen(ucWindow); } -bool CStaticFunctionDefinitions::SetVehicleModelDummyPosition(unsigned short usModel, eVehicleDummies eDummies, CVector& vecPosition) +bool CStaticFunctionDefinitions::SetVehicleModelDummyPosition(unsigned short usModel, VehicleDummies eDummies, CVector& vecPosition) { if (CClientVehicleManager::IsValidModel(usModel)) { @@ -3674,7 +3676,7 @@ bool CStaticFunctionDefinitions::SetVehicleModelDummyPosition(unsigned short usM return false; } -bool CStaticFunctionDefinitions::GetVehicleModelDummyPosition(unsigned short usModel, eVehicleDummies eDummies, CVector& vecPosition) +bool CStaticFunctionDefinitions::GetVehicleModelDummyPosition(unsigned short usModel, VehicleDummies eDummies, CVector& vecPosition) { if (CClientVehicleManager::IsValidModel(usModel)) { @@ -3688,7 +3690,7 @@ bool CStaticFunctionDefinitions::GetVehicleModelDummyPosition(unsigned short usM return false; } -bool CStaticFunctionDefinitions::GetVehicleModelDummyDefaultPosition(unsigned short usModel, eVehicleDummies eDummy, CVector& vecPosition) +bool CStaticFunctionDefinitions::GetVehicleModelDummyDefaultPosition(unsigned short usModel, VehicleDummies eDummy, CVector& vecPosition) { CModelInfo* modelInfo = g_pGame->GetModelInfo(usModel); @@ -7585,11 +7587,11 @@ bool CStaticFunctionDefinitions::FireWeapon(CClientWeapon* pWeapon) return false; } -bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, short& sData) +bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, short& sData) { if (pWeapon) { - if (eProperty == WEAPON_DAMAGE) + if (eProperty == WeaponProperty::WEAPON_DAMAGE) { sData = pWeapon->GetWeaponStat()->GetDamagePerHit(); return true; @@ -7598,11 +7600,11 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, eWeap return false; } -bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, CVector& vecData) +bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, CVector& vecData) { if (pWeapon) { - if (eProperty == WEAPON_FIRE_ROTATION) + if (eProperty == WeaponProperty::WEAPON_FIRE_ROTATION) { vecData = pWeapon->GetFireRotationNoTarget(); ConvertRadiansToDegrees(vecData); @@ -7612,21 +7614,21 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, eWeap return false; } -bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, float& fData) +bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, float& fData) { if (pWeapon) { - if (eProperty == WEAPON_ACCURACY) + if (eProperty == WeaponProperty::WEAPON_ACCURACY) { fData = pWeapon->GetWeaponStat()->GetAccuracy(); return true; } - if (eProperty == WEAPON_TARGET_RANGE) + if (eProperty == WeaponProperty::WEAPON_TARGET_RANGE) { fData = pWeapon->GetWeaponStat()->GetTargetRange(); return true; } - if (eProperty == WEAPON_WEAPON_RANGE) + if (eProperty == WeaponProperty::WEAPON_WEAPON_RANGE) { fData = pWeapon->GetWeaponStat()->GetWeaponRange(); return true; @@ -7635,11 +7637,11 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(CClientWeapon* pWeapon, eWeap return false; } -bool CStaticFunctionDefinitions::SetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, short sData) +bool CStaticFunctionDefinitions::SetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, short sData) { if (pWeapon) { - if (eProperty == WEAPON_DAMAGE) + if (eProperty == WeaponProperty::WEAPON_DAMAGE) { pWeapon->GetWeaponStat()->SetDamagePerHit(sData); return true; @@ -7648,11 +7650,11 @@ bool CStaticFunctionDefinitions::SetWeaponProperty(CClientWeapon* pWeapon, eWeap return false; } -bool CStaticFunctionDefinitions::SetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, const CVector& vecData) +bool CStaticFunctionDefinitions::SetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, const CVector& vecData) { if (pWeapon) { - if (eProperty == WEAPON_FIRE_ROTATION) + if (eProperty == WeaponProperty::WEAPON_FIRE_ROTATION) { CVector vecRotationRadians = vecData; ConvertDegreesToRadians(vecRotationRadians); @@ -7663,21 +7665,21 @@ bool CStaticFunctionDefinitions::SetWeaponProperty(CClientWeapon* pWeapon, eWeap return false; } -bool CStaticFunctionDefinitions::SetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, float fData) +bool CStaticFunctionDefinitions::SetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, float fData) { if (pWeapon) { - if (eProperty == WEAPON_ACCURACY) + if (eProperty == WeaponProperty::WEAPON_ACCURACY) { pWeapon->GetWeaponStat()->SetAccuracy(fData); return true; } - if (eProperty == WEAPON_TARGET_RANGE) + if (eProperty == WeaponProperty::WEAPON_TARGET_RANGE) { pWeapon->GetWeaponStat()->SetTargetRange(fData); return true; } - if (eProperty == WEAPON_WEAPON_RANGE) + if (eProperty == WeaponProperty::WEAPON_WEAPON_RANGE) { pWeapon->GetWeaponStat()->SetWeaponRange(fData); return true; @@ -7944,7 +7946,7 @@ bool CStaticFunctionDefinitions::FxAddFootSplash(CVector& vecPosition) return true; } -bool CStaticFunctionDefinitions::FxCreateParticle(eFxParticleSystems eFxParticle, CVector& vecPosition, CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife) +bool CStaticFunctionDefinitions::FxCreateParticle(FxParticleSystems eFxParticle, CVector& vecPosition, CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife) { g_pGame->GetFx()->AddParticle(eFxParticle, vecPosition, vecDirection, fR, fG, fB, fA, bRandomizeColors, iCount, fBrightness, fSize, bRandomizeSizes, fLife); return true; @@ -8452,13 +8454,13 @@ SString CStaticFunctionDefinitions::GetVersionSortable() } /* Handling functions */ -bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, unsigned int uiValue) +bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, unsigned int uiValue) { if (pEntry) { switch (eProperty) { - case HANDLING_PERCENTSUBMERGED: + case HandlingProperty::HANDLING_PERCENTSUBMERGED: { if (uiValue > 0 && uiValue <= 200) { @@ -8470,7 +8472,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl /*case HANDLING_MONETARY: pEntry->SetMonetary ( uiValue ); break;*/ - case HANDLING_HANDLINGFLAGS: + case HandlingProperty::HANDLING_HANDLINGFLAGS: { // Disable NOS and Hydraulic installed properties. if (uiValue & 0x00080000) @@ -8481,7 +8483,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl pEntry->SetHandlingFlags(uiValue); return true; } - case HANDLING_MODELFLAGS: + case HandlingProperty::HANDLING_MODELFLAGS: { pEntry->SetModelFlags(uiValue); return true; @@ -8495,13 +8497,13 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl return false; } -bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, unsigned char ucValue) +bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, unsigned char ucValue) { if (pEntry) { switch (eProperty) { - case HANDLING_NUMOFGEARS: + case HandlingProperty::HANDLING_NUMOFGEARS: { if (ucValue > 0 && ucValue <= 5) { @@ -8510,7 +8512,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_ANIMGROUP: + case HandlingProperty::HANDLING_ANIMGROUP: { if (ucValue >= 0 && ucValue <= 29) { @@ -8531,13 +8533,13 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl return false; } -bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, float fValue) +bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, float fValue) { if (pEntry) { switch (eProperty) { - case HANDLING_MASS: + case HandlingProperty::HANDLING_MASS: { if (fValue > 0 && fValue <= 100000) { @@ -8546,7 +8548,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_TURNMASS: + case HandlingProperty::HANDLING_TURNMASS: { if (fValue > 0 && fValue <= 10000000) { @@ -8555,7 +8557,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_DRAGCOEFF: + case HandlingProperty::HANDLING_DRAGCOEFF: { if (fValue >= -200 && fValue <= 200) { @@ -8564,7 +8566,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_TRACTIONMULTIPLIER: + case HandlingProperty::HANDLING_TRACTIONMULTIPLIER: { if (fValue >= -100000 && fValue <= 100000) { @@ -8573,7 +8575,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_ENGINEACCELERATION: + case HandlingProperty::HANDLING_ENGINEACCELERATION: { if (fValue >= 0 && fValue <= 100000) { @@ -8582,7 +8584,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_ENGINEINERTIA: + case HandlingProperty::HANDLING_ENGINEINERTIA: { if (fValue >= -1000 && fValue <= 1000 && fValue != 0.0) { @@ -8591,7 +8593,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_MAXVELOCITY: + case HandlingProperty::HANDLING_MAXVELOCITY: { if (fValue >= 0.0 && fValue <= 200000) { @@ -8600,7 +8602,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_BRAKEDECELERATION: + case HandlingProperty::HANDLING_BRAKEDECELERATION: { if (fValue >= 0.0 && fValue <= 100000) { @@ -8609,7 +8611,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_BRAKEBIAS: + case HandlingProperty::HANDLING_BRAKEBIAS: { if (fValue >= 0.0 && fValue <= 1.0) { @@ -8618,7 +8620,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_STEERINGLOCK: + case HandlingProperty::HANDLING_STEERINGLOCK: { if (fValue >= 0.0 && fValue <= 360) { @@ -8627,7 +8629,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_TRACTIONLOSS: + case HandlingProperty::HANDLING_TRACTIONLOSS: { if (fValue >= 0.0 && fValue <= 100) { @@ -8636,7 +8638,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_TRACTIONBIAS: + case HandlingProperty::HANDLING_TRACTIONBIAS: { if (fValue >= 0.0 && fValue <= 1.0) { @@ -8645,7 +8647,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_SUSPENSION_FORCELEVEL: + case HandlingProperty::HANDLING_SUSPENSION_FORCELEVEL: { if (fValue > 0.0 && fValue <= 100) { @@ -8654,7 +8656,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_SUSPENSION_DAMPING: + case HandlingProperty::HANDLING_SUSPENSION_DAMPING: { if (fValue > 0.0 && fValue <= 100) { @@ -8663,7 +8665,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_SUSPENSION_HIGHSPEEDDAMPING: + case HandlingProperty::HANDLING_SUSPENSION_HIGHSPEEDDAMPING: { if (fValue >= 0.0 && fValue <= 600) { @@ -8672,7 +8674,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_SUSPENSION_UPPER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_UPPER_LIMIT: { if (fValue >= -50 && fValue <= 50 && fValue > pEntry->GetSuspensionLowerLimit() + 0.01) { @@ -8684,7 +8686,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_SUSPENSION_LOWER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_LOWER_LIMIT: { if (fValue >= -50 && fValue <= 50 && fValue < pEntry->GetSuspensionUpperLimit() - 0.01) { @@ -8696,7 +8698,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_SUSPENSION_FRONTREARBIAS: + case HandlingProperty::HANDLING_SUSPENSION_FRONTREARBIAS: { if (fValue >= 0.0 && fValue <= 3.0) { @@ -8705,7 +8707,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: + case HandlingProperty::HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: { if (fValue >= 0.0 && fValue <= 30) { @@ -8714,7 +8716,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_COLLISIONDAMAGEMULTIPLIER: + case HandlingProperty::HANDLING_COLLISIONDAMAGEMULTIPLIER: { if (fValue >= 0.0 && fValue <= 100) { @@ -8723,7 +8725,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_SEATOFFSETDISTANCE: + case HandlingProperty::HANDLING_SEATOFFSETDISTANCE: { if (fValue >= -20 && fValue <= 20) { @@ -8732,7 +8734,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl } break; } - case HANDLING_ABS: + case HandlingProperty::HANDLING_ABS: { pEntry->SetABS((fValue > 0.0f) ? true : false); return true; @@ -8746,11 +8748,11 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl return false; } -bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, CVector vecValue) +bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, CVector vecValue) { if (pEntry) { - if (eProperty == HANDLING_CENTEROFMASS) + if (eProperty == HandlingProperty::HANDLING_CENTEROFMASS) { if (vecValue.fX >= -10.0 && vecValue.fX <= 10.0 && vecValue.fY >= -10.0 && vecValue.fY <= 10.0 && vecValue.fZ >= -10.0 && vecValue.fZ <= 10.0) { @@ -8763,13 +8765,13 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl return false; } -bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, std::string strValue) +bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, std::string strValue) { if (pEntry) { switch (eProperty) { - case HANDLING_DRIVETYPE: + case HandlingProperty::HANDLING_DRIVETYPE: { if (strValue == "fwd") { @@ -8790,7 +8792,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl return false; break; } - case HANDLING_ENGINETYPE: + case HandlingProperty::HANDLING_ENGINETYPE: { if (strValue == "petrol") { @@ -8879,7 +8881,7 @@ bool CStaticFunctionDefinitions::SetEntryHandling(CHandlingEntry* pEntry, eHandl return false; } -bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, unsigned char ucValue) +bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, unsigned char ucValue) { assert(pVehicle); @@ -8896,7 +8898,7 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, unsigned int uiValue) +bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, unsigned int uiValue) { assert(pVehicle); @@ -8913,7 +8915,7 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, float fValue) +bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, float fValue) { assert(pVehicle); @@ -8930,7 +8932,7 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, std::string strValue) +bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, std::string strValue) { assert(pVehicle); @@ -8947,7 +8949,7 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, CVector vecValue) +bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, CVector vecValue) { assert(pVehicle); @@ -9020,7 +9022,7 @@ bool CStaticFunctionDefinitions::ResetVehicleHandling(CClientVehicle* pVehicle) return true; } -bool CStaticFunctionDefinitions::ResetVehicleHandlingProperty(CClientVehicle* pVehicle, eHandlingProperty eProperty) +bool CStaticFunctionDefinitions::ResetVehicleHandlingProperty(CClientVehicle* pVehicle, HandlingProperty eProperty) { assert(pVehicle); @@ -9072,22 +9074,22 @@ bool CStaticFunctionDefinitions::ResetVehicleHandlingProperty(CClientVehicle* pV return false; } -eHandlingProperty CStaticFunctionDefinitions::GetVehicleHandlingEnum(std::string strProperty) +HandlingProperty CStaticFunctionDefinitions::GetVehicleHandlingEnum(std::string strProperty) { - eHandlingProperty eProperty = g_pGame->GetHandlingManager()->GetPropertyEnumFromName(strProperty); - if (eProperty) + HandlingProperty eProperty = g_pGame->GetHandlingManager()->GetPropertyEnumFromName(strProperty); + if (eProperty > HandlingProperty::HANDLING_NONE) { return eProperty; } - return HANDLING_MAX; + return HandlingProperty::HANDLING_MAX; } -bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, CVector& vecValue) +bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, CVector& vecValue) { assert(pVehicle); CHandlingEntry* pEntry = pVehicle->GetHandlingData(); - if (eProperty == HANDLING_CENTEROFMASS) + if (eProperty == HandlingProperty::HANDLING_CENTEROFMASS) { vecValue = pEntry->GetCenterOfMass(); return true; @@ -9095,7 +9097,7 @@ bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, float& fValue) +bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, float& fValue) { assert(pVehicle); @@ -9108,7 +9110,7 @@ bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, std::string& strValue) +bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, std::string& strValue) { assert(pVehicle); @@ -9121,7 +9123,7 @@ bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, unsigned int& uiValue) +bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, unsigned int& uiValue) { assert(pVehicle); @@ -9133,7 +9135,7 @@ bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, unsigned char& ucValue) +bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, unsigned char& ucValue) { assert(pVehicle); @@ -9145,76 +9147,76 @@ bool CStaticFunctionDefinitions::GetVehicleHandling(CClientVehicle* pVehicle, eH return false; } -bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, float& fValue) +bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, float& fValue) { if (pEntry) { switch (eProperty) { - case HANDLING_MASS: + case HandlingProperty::HANDLING_MASS: fValue = pEntry->GetMass(); break; - case HANDLING_TURNMASS: + case HandlingProperty::HANDLING_TURNMASS: fValue = pEntry->GetTurnMass(); break; - case HANDLING_DRAGCOEFF: + case HandlingProperty::HANDLING_DRAGCOEFF: fValue = pEntry->GetDragCoeff(); break; - case HANDLING_TRACTIONMULTIPLIER: + case HandlingProperty::HANDLING_TRACTIONMULTIPLIER: fValue = pEntry->GetTractionMultiplier(); break; - case HANDLING_ENGINEACCELERATION: + case HandlingProperty::HANDLING_ENGINEACCELERATION: fValue = pEntry->GetEngineAcceleration(); break; - case HANDLING_ENGINEINERTIA: + case HandlingProperty::HANDLING_ENGINEINERTIA: fValue = pEntry->GetEngineInertia(); break; - case HANDLING_MAXVELOCITY: + case HandlingProperty::HANDLING_MAXVELOCITY: fValue = pEntry->GetMaxVelocity(); break; - case HANDLING_BRAKEDECELERATION: + case HandlingProperty::HANDLING_BRAKEDECELERATION: fValue = pEntry->GetBrakeDeceleration(); break; - case HANDLING_BRAKEBIAS: + case HandlingProperty::HANDLING_BRAKEBIAS: fValue = pEntry->GetBrakeBias(); break; - case HANDLING_STEERINGLOCK: + case HandlingProperty::HANDLING_STEERINGLOCK: fValue = pEntry->GetSteeringLock(); break; - case HANDLING_TRACTIONLOSS: + case HandlingProperty::HANDLING_TRACTIONLOSS: fValue = pEntry->GetTractionLoss(); break; - case HANDLING_TRACTIONBIAS: + case HandlingProperty::HANDLING_TRACTIONBIAS: fValue = pEntry->GetTractionBias(); break; - case HANDLING_SUSPENSION_FORCELEVEL: + case HandlingProperty::HANDLING_SUSPENSION_FORCELEVEL: fValue = pEntry->GetSuspensionForceLevel(); break; - case HANDLING_SUSPENSION_DAMPING: + case HandlingProperty::HANDLING_SUSPENSION_DAMPING: fValue = pEntry->GetSuspensionDamping(); break; - case HANDLING_SUSPENSION_HIGHSPEEDDAMPING: + case HandlingProperty::HANDLING_SUSPENSION_HIGHSPEEDDAMPING: fValue = pEntry->GetSuspensionHighSpeedDamping(); break; - case HANDLING_SUSPENSION_UPPER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_UPPER_LIMIT: fValue = pEntry->GetSuspensionUpperLimit(); break; - case HANDLING_SUSPENSION_LOWER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_LOWER_LIMIT: fValue = pEntry->GetSuspensionLowerLimit(); break; - case HANDLING_SUSPENSION_FRONTREARBIAS: + case HandlingProperty::HANDLING_SUSPENSION_FRONTREARBIAS: fValue = pEntry->GetSuspensionFrontRearBias(); break; - case HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: + case HandlingProperty::HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: fValue = pEntry->GetSuspensionAntiDiveMultiplier(); break; - case HANDLING_COLLISIONDAMAGEMULTIPLIER: + case HandlingProperty::HANDLING_COLLISIONDAMAGEMULTIPLIER: fValue = pEntry->GetCollisionDamageMultiplier(); break; - case HANDLING_SEATOFFSETDISTANCE: + case HandlingProperty::HANDLING_SEATOFFSETDISTANCE: fValue = pEntry->GetSeatOffsetDistance(); break; - case HANDLING_ABS: // bool + case HandlingProperty::HANDLING_ABS: // bool fValue = (float)(pEntry->GetABS() ? 1 : 0); break; default: @@ -9224,22 +9226,22 @@ bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandl return true; } -bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, unsigned int& uiValue) +bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, unsigned int& uiValue) { if (pEntry) { switch (eProperty) { - case HANDLING_PERCENTSUBMERGED: // unsigned int + case HandlingProperty::HANDLING_PERCENTSUBMERGED: // unsigned int uiValue = pEntry->GetPercentSubmerged(); break; - case HANDLING_MONETARY: + case HandlingProperty::HANDLING_MONETARY: uiValue = pEntry->GetMonetary(); break; - case HANDLING_HANDLINGFLAGS: + case HandlingProperty::HANDLING_HANDLINGFLAGS: uiValue = pEntry->GetHandlingFlags(); break; - case HANDLING_MODELFLAGS: + case HandlingProperty::HANDLING_MODELFLAGS: uiValue = pEntry->GetModelFlags(); break; default: @@ -9249,16 +9251,16 @@ bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandl return true; } -bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, unsigned char& ucValue) +bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, unsigned char& ucValue) { if (pEntry) { switch (eProperty) { - case HANDLING_NUMOFGEARS: + case HandlingProperty::HANDLING_NUMOFGEARS: ucValue = pEntry->GetNumberOfGears(); break; - case HANDLING_ANIMGROUP: + case HandlingProperty::HANDLING_ANIMGROUP: ucValue = pEntry->GetAnimGroup(); break; default: @@ -9268,13 +9270,13 @@ bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandl return true; } -bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, CVector& vecValue) +bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, CVector& vecValue) { if (pEntry) { switch (eProperty) { - case HANDLING_CENTEROFMASS: + case HandlingProperty::HANDLING_CENTEROFMASS: { vecValue = pEntry->GetCenterOfMass(); break; @@ -9287,13 +9289,13 @@ bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandl return true; } -bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, std::string& strValue) +bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, std::string& strValue) { if (pEntry) { switch (eProperty) { - case HANDLING_DRIVETYPE: + case HandlingProperty::HANDLING_DRIVETYPE: { CHandlingEntry::eDriveType eDriveType = pEntry->GetCarDriveType(); if (eDriveType == CHandlingEntry::FWD) @@ -9306,7 +9308,7 @@ bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandl return false; break; } - case HANDLING_ENGINETYPE: + case HandlingProperty::HANDLING_ENGINETYPE: { CHandlingEntry::eEngineType eEngineType = pEntry->GetCarEngineType(); if (eEngineType == CHandlingEntry::PETROL) @@ -9319,7 +9321,7 @@ bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandl return false; break; } - case HANDLING_HEADLIGHT: + case HandlingProperty::HANDLING_HEADLIGHT: { CHandlingEntry::eLightType eHeadType = pEntry->GetHeadLight(); if (eHeadType == CHandlingEntry::SMALL) @@ -9334,7 +9336,7 @@ bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandl return false; break; } - case HANDLING_TAILLIGHT: + case HandlingProperty::HANDLING_TAILLIGHT: { CHandlingEntry::eLightType eTailType = pEntry->GetTailLight(); if (eTailType == CHandlingEntry::SMALL) @@ -9359,9 +9361,9 @@ bool CStaticFunctionDefinitions::GetEntryHandling(CHandlingEntry* pEntry, eHandl return true; } -bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float& fData) +bool CStaticFunctionDefinitions::GetWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float& fData) { - if (eProperty == WEAPON_INVALID_PROPERTY) + if (eProperty == WeaponProperty::WEAPON_INVALID_PROPERTY) return false; CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetWeaponStats(eWeapon, eSkillLevel); @@ -9369,87 +9371,87 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eW { switch (eProperty) { - case WEAPON_WEAPON_RANGE: + case WeaponProperty::WEAPON_WEAPON_RANGE: { fData = pWeaponInfo->GetWeaponRange(); break; } - case WEAPON_TARGET_RANGE: + case WeaponProperty::WEAPON_TARGET_RANGE: { fData = pWeaponInfo->GetTargetRange(); break; } - case WEAPON_ACCURACY: + case WeaponProperty::WEAPON_ACCURACY: { fData = pWeaponInfo->GetAccuracy(); break; } - case WEAPON_DAMAGE: + case WeaponProperty::WEAPON_DAMAGE: { fData = pWeaponInfo->GetDamagePerHit(); break; } - case WEAPON_LIFE_SPAN: + case WeaponProperty::WEAPON_LIFE_SPAN: { fData = pWeaponInfo->GetLifeSpan(); break; } - case WEAPON_FIRING_SPEED: + case WeaponProperty::WEAPON_FIRING_SPEED: { fData = pWeaponInfo->GetFiringSpeed(); break; } - case WEAPON_MOVE_SPEED: + case WeaponProperty::WEAPON_MOVE_SPEED: { fData = pWeaponInfo->GetMoveSpeed(); break; } - case WEAPON_SPREAD: + case WeaponProperty::WEAPON_SPREAD: { fData = pWeaponInfo->GetSpread(); break; } - case WEAPON_REQ_SKILL_LEVEL: + case WeaponProperty::WEAPON_REQ_SKILL_LEVEL: { fData = pWeaponInfo->GetRequiredStatLevel(); break; } - case WEAPON_ANIM_LOOP_START: + case WeaponProperty::WEAPON_ANIM_LOOP_START: { fData = pWeaponInfo->GetWeaponAnimLoopStart(); break; } - case WEAPON_ANIM_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM_LOOP_STOP: { fData = pWeaponInfo->GetWeaponAnimLoopStop(); break; } - case WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: { fData = pWeaponInfo->GetWeaponAnimLoopFireTime(); break; } - case WEAPON_ANIM2_LOOP_START: + case WeaponProperty::WEAPON_ANIM2_LOOP_START: { fData = pWeaponInfo->GetWeaponAnim2LoopStart(); break; } - case WEAPON_ANIM2_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM2_LOOP_STOP: { fData = pWeaponInfo->GetWeaponAnim2LoopStop(); break; } - case WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: { fData = pWeaponInfo->GetWeaponAnim2LoopFireTime(); break; } - case WEAPON_ANIM_BREAKOUT_TIME: + case WeaponProperty::WEAPON_ANIM_BREAKOUT_TIME: { fData = pWeaponInfo->GetWeaponAnimBreakoutTime(); break; } - case WEAPON_RADIUS: + case WeaponProperty::WEAPON_RADIUS: { fData = pWeaponInfo->GetWeaponRadius(); break; @@ -9464,9 +9466,9 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eW return true; } -bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, int& sData) +bool CStaticFunctionDefinitions::GetWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, int& sData) { - if (eProperty == WEAPON_INVALID_PROPERTY) + if (eProperty == WeaponProperty::WEAPON_INVALID_PROPERTY) return false; CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetWeaponStats(eWeapon, eSkillLevel); @@ -9474,62 +9476,62 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eW { switch (eProperty) { - case WEAPON_DAMAGE: + case WeaponProperty::WEAPON_DAMAGE: { sData = pWeaponInfo->GetDamagePerHit(); break; } - case WEAPON_MAX_CLIP_AMMO: + case WeaponProperty::WEAPON_MAX_CLIP_AMMO: { sData = pWeaponInfo->GetMaximumClipAmmo(); break; } - case WEAPON_ANIM_GROUP: + case WeaponProperty::WEAPON_ANIM_GROUP: { sData = (short)pWeaponInfo->GetAnimGroup(); break; } - case WEAPON_FLAGS: + case WeaponProperty::WEAPON_FLAGS: { sData = pWeaponInfo->GetFlags(); break; } - case WEAPON_FIRETYPE: + case WeaponProperty::WEAPON_FIRETYPE: { sData = pWeaponInfo->GetFireType(); break; } - case WEAPON_MODEL: + case WeaponProperty::WEAPON_MODEL: { sData = pWeaponInfo->GetModel(); break; } - case WEAPON_MODEL2: + case WeaponProperty::WEAPON_MODEL2: { sData = pWeaponInfo->GetModel2(); break; } - case WEAPON_SLOT: + case WeaponProperty::WEAPON_SLOT: { sData = pWeaponInfo->GetSlot(); break; } - case WEAPON_AIM_OFFSET: + case WeaponProperty::WEAPON_AIM_OFFSET: { sData = pWeaponInfo->GetAimOffsetIndex(); break; } - case WEAPON_SKILL_LEVEL: + case WeaponProperty::WEAPON_SKILL_LEVEL: { sData = pWeaponInfo->GetSkill(); break; } - case WEAPON_DEFAULT_COMBO: + case WeaponProperty::WEAPON_DEFAULT_COMBO: { sData = pWeaponInfo->GetDefaultCombo(); break; } - case WEAPON_COMBOS_AVAILABLE: + case WeaponProperty::WEAPON_COMBOS_AVAILABLE: { sData = pWeaponInfo->GetCombosAvailable(); break; @@ -9545,9 +9547,9 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eW return true; } -bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, CVector& vecData) +bool CStaticFunctionDefinitions::GetWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, CVector& vecData) { - if (eProperty == WEAPON_INVALID_PROPERTY) + if (eProperty == WeaponProperty::WEAPON_INVALID_PROPERTY) return false; CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetWeaponStats(eWeapon, eSkillLevel); @@ -9555,7 +9557,7 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eW { switch (eProperty) { - case WEAPON_FIRE_OFFSET: + case WeaponProperty::WEAPON_FIRE_OFFSET: { vecData = *pWeaponInfo->GetFireOffset(); break; @@ -9570,7 +9572,7 @@ bool CStaticFunctionDefinitions::GetWeaponProperty(eWeaponProperty eProperty, eW return true; } -bool CStaticFunctionDefinitions::GetWeaponPropertyFlag(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, bool& bEnable) +bool CStaticFunctionDefinitions::GetWeaponPropertyFlag(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, bool& bEnable) { CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetWeaponStats(eWeapon, eSkillLevel); if (!pWeaponInfo) @@ -9586,9 +9588,9 @@ bool CStaticFunctionDefinitions::GetWeaponPropertyFlag(eWeaponProperty eProperty return true; } -bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float& fData) +bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float& fData) { - if (eProperty == WEAPON_INVALID_PROPERTY) + if (eProperty == WeaponProperty::WEAPON_INVALID_PROPERTY) return false; CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetOriginalWeaponStats(eWeapon, eSkillLevel); @@ -9596,88 +9598,88 @@ bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProp { switch (eProperty) { - case WEAPON_WEAPON_RANGE: + case WeaponProperty::WEAPON_WEAPON_RANGE: { fData = pWeaponInfo->GetWeaponRange(); break; } - case WEAPON_TARGET_RANGE: + case WeaponProperty::WEAPON_TARGET_RANGE: { fData = pWeaponInfo->GetTargetRange(); break; } - case WEAPON_ACCURACY: + case WeaponProperty::WEAPON_ACCURACY: { fData = pWeaponInfo->GetAccuracy(); break; } - case WEAPON_DAMAGE: + case WeaponProperty::WEAPON_DAMAGE: { fData = pWeaponInfo->GetDamagePerHit(); break; } - case WEAPON_LIFE_SPAN: + case WeaponProperty::WEAPON_LIFE_SPAN: { fData = pWeaponInfo->GetLifeSpan(); break; } - case WEAPON_FIRING_SPEED: + case WeaponProperty::WEAPON_FIRING_SPEED: { fData = pWeaponInfo->GetFiringSpeed(); break; } - case WEAPON_MOVE_SPEED: + case WeaponProperty::WEAPON_MOVE_SPEED: { fData = pWeaponInfo->GetMoveSpeed(); break; } - case WEAPON_SPREAD: + case WeaponProperty::WEAPON_SPREAD: { fData = pWeaponInfo->GetSpread(); break; } - case WEAPON_REQ_SKILL_LEVEL: + case WeaponProperty::WEAPON_REQ_SKILL_LEVEL: { fData = pWeaponInfo->GetRequiredStatLevel(); break; } - case WEAPON_ANIM_LOOP_START: + case WeaponProperty::WEAPON_ANIM_LOOP_START: { fData = pWeaponInfo->GetWeaponAnimLoopStart(); break; } - case WEAPON_ANIM_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM_LOOP_STOP: { fData = pWeaponInfo->GetWeaponAnimLoopStop(); break; } - case WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: { fData = pWeaponInfo->GetWeaponAnimLoopFireTime(); break; } - case WEAPON_ANIM2_LOOP_START: + case WeaponProperty::WEAPON_ANIM2_LOOP_START: { fData = pWeaponInfo->GetWeaponAnim2LoopStart(); break; } - case WEAPON_ANIM2_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM2_LOOP_STOP: { fData = pWeaponInfo->GetWeaponAnim2LoopStop(); break; } - case WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: { fData = pWeaponInfo->GetWeaponAnim2LoopFireTime(); break; } - case WEAPON_ANIM_BREAKOUT_TIME: + case WeaponProperty::WEAPON_ANIM_BREAKOUT_TIME: { fData = pWeaponInfo->GetWeaponAnimBreakoutTime(); break; } - case WEAPON_RADIUS: + case WeaponProperty::WEAPON_RADIUS: { fData = pWeaponInfo->GetWeaponRadius(); break; @@ -9692,9 +9694,9 @@ bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProp return true; } -bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, int& sData) +bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, int& sData) { - if (eProperty == WEAPON_INVALID_PROPERTY) + if (eProperty == WeaponProperty::WEAPON_INVALID_PROPERTY) return false; CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetOriginalWeaponStats(eWeapon, eSkillLevel); @@ -9702,62 +9704,62 @@ bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProp { switch (eProperty) { - case WEAPON_DAMAGE: + case WeaponProperty::WEAPON_DAMAGE: { sData = pWeaponInfo->GetDamagePerHit(); break; } - case WEAPON_MAX_CLIP_AMMO: + case WeaponProperty::WEAPON_MAX_CLIP_AMMO: { sData = pWeaponInfo->GetMaximumClipAmmo(); break; } - case WEAPON_ANIM_GROUP: + case WeaponProperty::WEAPON_ANIM_GROUP: { sData = (short)pWeaponInfo->GetAnimGroup(); break; } - case WEAPON_FLAGS: + case WeaponProperty::WEAPON_FLAGS: { sData = pWeaponInfo->GetFlags(); break; } - case WEAPON_FIRETYPE: + case WeaponProperty::WEAPON_FIRETYPE: { sData = pWeaponInfo->GetFireType(); break; } - case WEAPON_MODEL: + case WeaponProperty::WEAPON_MODEL: { sData = pWeaponInfo->GetModel(); break; } - case WEAPON_MODEL2: + case WeaponProperty::WEAPON_MODEL2: { sData = pWeaponInfo->GetModel2(); break; } - case WEAPON_SLOT: + case WeaponProperty::WEAPON_SLOT: { sData = pWeaponInfo->GetSlot(); break; } - case WEAPON_AIM_OFFSET: + case WeaponProperty::WEAPON_AIM_OFFSET: { sData = pWeaponInfo->GetAimOffsetIndex(); break; } - case WEAPON_SKILL_LEVEL: + case WeaponProperty::WEAPON_SKILL_LEVEL: { sData = pWeaponInfo->GetSkill(); break; } - case WEAPON_DEFAULT_COMBO: + case WeaponProperty::WEAPON_DEFAULT_COMBO: { sData = pWeaponInfo->GetDefaultCombo(); break; } - case WEAPON_COMBOS_AVAILABLE: + case WeaponProperty::WEAPON_COMBOS_AVAILABLE: { sData = pWeaponInfo->GetCombosAvailable(); break; @@ -9773,9 +9775,9 @@ bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProp return true; } -bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, CVector& vecData) +bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, CVector& vecData) { - if (eProperty == WEAPON_INVALID_PROPERTY) + if (eProperty == WeaponProperty::WEAPON_INVALID_PROPERTY) return false; CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetOriginalWeaponStats(eWeapon, eSkillLevel); @@ -9783,7 +9785,7 @@ bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProp { switch (eProperty) { - case WEAPON_FIRE_OFFSET: + case WeaponProperty::WEAPON_FIRE_OFFSET: { vecData = *pWeaponInfo->GetFireOffset(); break; @@ -9798,7 +9800,7 @@ bool CStaticFunctionDefinitions::GetOriginalWeaponProperty(eWeaponProperty eProp return true; } -bool CStaticFunctionDefinitions::GetOriginalWeaponPropertyFlag(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, bool& bEnable) +bool CStaticFunctionDefinitions::GetOriginalWeaponPropertyFlag(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, bool& bEnable) { CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetOriginalWeaponStats(eWeapon, eSkillLevel); if (!pWeaponInfo) diff --git a/Client/mods/deathmatch/logic/CStaticFunctionDefinitions.h b/Client/mods/deathmatch/logic/CStaticFunctionDefinitions.h index b173a2a611e..ba779ad2ba0 100644 --- a/Client/mods/deathmatch/logic/CStaticFunctionDefinitions.h +++ b/Client/mods/deathmatch/logic/CStaticFunctionDefinitions.h @@ -16,6 +16,10 @@ class CStaticFunctionDefinitions; #include #include +#include "enums/HandlingProperty.h" +#include "enums/WeaponProperty.h" +#include "enums/ObjectProperty.h" + class CStaticFunctionDefinitions { public: @@ -151,14 +155,14 @@ class CStaticFunctionDefinitions static bool GetPedWeaponMuzzlePosition(CClientPed& Ped, CVector& vecPosition); static bool IsPedOnFire(CClientPed& Ped, bool& bOnFire); static bool IsPedInVehicle(CClientPed& Ped, bool& bInVehicle); - static bool GetWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float& fData); - static bool GetWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, int& sData); - static bool GetWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, CVector& vecData); - static bool GetWeaponPropertyFlag(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, bool& bEnable); - static bool GetOriginalWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float& fData); - static bool GetOriginalWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, int& sData); - static bool GetOriginalWeaponProperty(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, CVector& vecData); - static bool GetOriginalWeaponPropertyFlag(eWeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, bool& bEnable); + static bool GetWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float& fData); + static bool GetWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, int& sData); + static bool GetWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, CVector& vecData); + static bool GetWeaponPropertyFlag(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, bool& bEnable); + static bool GetOriginalWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, float& fData); + static bool GetOriginalWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, int& sData); + static bool GetOriginalWeaponProperty(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, CVector& vecData); + static bool GetOriginalWeaponPropertyFlag(WeaponProperty eProperty, eWeaponType eWeapon, eWeaponSkill eSkillLevel, bool& bEnable); static bool GetPedOxygenLevel(CClientPed& Ped, float& fOxygen); static bool SetPedWeaponSlot(CClientEntity& Entity, int iSlot); @@ -223,9 +227,9 @@ class CStaticFunctionDefinitions static bool IsVehicleWindowOpen(CClientVehicle& Vehicle, uchar ucWindow); static bool SetVehicleModelExhaustFumesPosition(unsigned short usModel, CVector& vecPosition); static bool GetVehicleModelExhaustFumesPosition(unsigned short usModel, CVector& vecPosition); - static bool SetVehicleModelDummyPosition(unsigned short usModel, eVehicleDummies eDummy, CVector& vecPosition); - static bool GetVehicleModelDummyPosition(unsigned short usModel, eVehicleDummies eDummy, CVector& vecPosition); - static bool GetVehicleModelDummyDefaultPosition(unsigned short usModel, eVehicleDummies eDummy, CVector& vecPosition); + static bool SetVehicleModelDummyPosition(unsigned short usModel, VehicleDummies eDummy, CVector& vecPosition); + static bool GetVehicleModelDummyPosition(unsigned short usModel, VehicleDummies eDummy, CVector& vecPosition); + static bool GetVehicleModelDummyDefaultPosition(unsigned short usModel, VehicleDummies eDummy, CVector& vecPosition); // Vehicle set functions static bool FixVehicle(CClientEntity& Entity); @@ -686,12 +690,12 @@ class CStaticFunctionDefinitions static bool GetWeaponIDFromName(const char* szName, unsigned char& ucID); static CClientWeapon* CreateWeapon(CResource& Resource, eWeaponType weaponType, CVector vecPosition); static bool FireWeapon(CClientWeapon* pWeapon); - static bool SetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, short sData); - static bool GetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, short& sData); - static bool GetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, float& fData); - static bool SetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, float fData); - static bool SetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, const CVector& vecData); - static bool GetWeaponProperty(CClientWeapon* pWeapon, eWeaponProperty eProperty, CVector& vecData); + static bool SetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, short sData); + static bool GetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, short& sData); + static bool GetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, float& fData); + static bool SetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, float fData); + static bool SetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, const CVector& vecData); + static bool GetWeaponProperty(CClientWeapon* pWeapon, WeaponProperty eProperty, CVector& vecData); static bool SetWeaponState(CClientWeapon* pWeapon, eWeaponState weaponState); static bool SetWeaponTarget(CClientWeapon* pWeapon, CClientEntity* pTarget, int boneTarget); static bool SetWeaponTarget(CClientWeapon* pWeapon, CVector vecTarget); @@ -732,7 +736,7 @@ class CStaticFunctionDefinitions static bool FxAddWaterSplash(CVector& vecPosition); static bool FxAddBulletSplash(CVector& vecPosition); static bool FxAddFootSplash(CVector& vecPosition); - static bool FxCreateParticle(eFxParticleSystems eFxParticle, CVector& vecPosition, CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife); + static bool FxCreateParticle(FxParticleSystems eFxParticle, CVector& vecPosition, CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife); static CClientEffect* CreateEffect(CResource& Resource, const SString& strFxName, const CVector& vecPosition, bool bSoundEnable); // Sound funcs @@ -786,29 +790,29 @@ class CStaticFunctionDefinitions static bool GetSoundPan(CClientPlayer& Player, float& fPan); // Handling funcs - static eHandlingProperty GetVehicleHandlingEnum(std::string strProperty); - static bool GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, float& fValue); - static bool GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, CVector& vecValue); - static bool GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, std::string& strValue); - static bool GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, unsigned int& uiValue); - static bool GetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, unsigned char& ucValue); - static bool GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, float& fValue); - static bool GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, CVector& vecValue); - static bool GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, std::string& strValue); - static bool GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, unsigned int& uiValue); - static bool GetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, unsigned char& ucValue); + static HandlingProperty GetVehicleHandlingEnum(std::string strProperty); + static bool GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, float& fValue); + static bool GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, CVector& vecValue); + static bool GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, std::string& strValue); + static bool GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, unsigned int& uiValue); + static bool GetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, unsigned char& ucValue); + static bool GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, float& fValue); + static bool GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, CVector& vecValue); + static bool GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, std::string& strValue); + static bool GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, unsigned int& uiValue); + static bool GetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, unsigned char& ucValue); static bool ResetVehicleHandling(CClientVehicle* pVehicle); - static bool ResetVehicleHandlingProperty(CClientVehicle* pVehicle, eHandlingProperty eProperty); - static bool SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, float fValue); - static bool SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, CVector vecValue); - static bool SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, std::string strValue); - static bool SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, unsigned int uiValue); - static bool SetVehicleHandling(CClientVehicle* pVehicle, eHandlingProperty eProperty, unsigned char ucValue); - static bool SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, float fValue); - static bool SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, CVector vecValue); - static bool SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, std::string strValue); - static bool SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, unsigned int uiValue); - static bool SetEntryHandling(CHandlingEntry* pEntry, eHandlingProperty eProperty, unsigned char ucValue); + static bool ResetVehicleHandlingProperty(CClientVehicle* pVehicle, HandlingProperty eProperty); + static bool SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, float fValue); + static bool SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, CVector vecValue); + static bool SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, std::string strValue); + static bool SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, unsigned int uiValue); + static bool SetVehicleHandling(CClientVehicle* pVehicle, HandlingProperty eProperty, unsigned char ucValue); + static bool SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, float fValue); + static bool SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, CVector vecValue); + static bool SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, std::string strValue); + static bool SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, unsigned int uiValue); + static bool SetEntryHandling(CHandlingEntry* pEntry, HandlingProperty eProperty, unsigned char ucValue); // Version funcs static unsigned long GetVersion(); diff --git a/Client/mods/deathmatch/logic/lua/CLuaFunctionParseHelpers.cpp b/Client/mods/deathmatch/logic/lua/CLuaFunctionParseHelpers.cpp index b75c835f7c0..1a538347626 100644 --- a/Client/mods/deathmatch/logic/lua/CLuaFunctionParseHelpers.cpp +++ b/Client/mods/deathmatch/logic/lua/CLuaFunctionParseHelpers.cpp @@ -242,69 +242,69 @@ ADD_ENUM(WEAPONTYPE_INFRARED, "infrared") ADD_ENUM(WEAPONTYPE_PARACHUTE, "parachute") IMPLEMENT_ENUM_END("weapon-type") -IMPLEMENT_ENUM_BEGIN(eWeaponProperty) -ADD_ENUM(WEAPON_WEAPON_RANGE, "weapon_range") -ADD_ENUM(WEAPON_TARGET_RANGE, "target_range") -ADD_ENUM(WEAPON_ACCURACY, "accuracy") -ADD_ENUM(WEAPON_DAMAGE, "damage") -ADD_ENUM(WEAPON_LIFE_SPAN, "life_span") // Disabled for release -ADD_ENUM(WEAPON_FIRING_SPEED, "firing_speed") // Disabled for release -ADD_ENUM(WEAPON_SPREAD, "spread") // Disabled for release -ADD_ENUM(WEAPON_MAX_CLIP_AMMO, "maximum_clip_ammo") -ADD_ENUM(WEAPON_MOVE_SPEED, "move_speed") -ADD_ENUM(WEAPON_FLAGS, "flags") -ADD_ENUM(WEAPON_ANIM_GROUP, "anim_group") // Disabled for release - -ADD_ENUM(WEAPON_ANIM_LOOP_START, "anim_loop_start") -ADD_ENUM(WEAPON_ANIM_LOOP_STOP, "anim_loop_stop") -ADD_ENUM(WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME, "anim_loop_bullet_fire") - -ADD_ENUM(WEAPON_ANIM2_LOOP_START, "anim2_loop_start") -ADD_ENUM(WEAPON_ANIM2_LOOP_STOP, "anim2_loop_stop") -ADD_ENUM(WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME, "anim2_loop_bullet_fire") - -ADD_ENUM(WEAPON_ANIM_BREAKOUT_TIME, "anim_breakout_time") +IMPLEMENT_ENUM_CLASS_BEGIN(WeaponProperty) +ADD_ENUM(WeaponProperty::WEAPON_WEAPON_RANGE, "weapon_range") +ADD_ENUM(WeaponProperty::WEAPON_TARGET_RANGE, "target_range") +ADD_ENUM(WeaponProperty::WEAPON_ACCURACY, "accuracy") +ADD_ENUM(WeaponProperty::WEAPON_DAMAGE, "damage") +ADD_ENUM(WeaponProperty::WEAPON_LIFE_SPAN, "life_span") // Disabled for release +ADD_ENUM(WeaponProperty::WEAPON_FIRING_SPEED, "firing_speed") // Disabled for release +ADD_ENUM(WeaponProperty::WEAPON_SPREAD, "spread") // Disabled for release +ADD_ENUM(WeaponProperty::WEAPON_MAX_CLIP_AMMO, "maximum_clip_ammo") +ADD_ENUM(WeaponProperty::WEAPON_MOVE_SPEED, "move_speed") +ADD_ENUM(WeaponProperty::WEAPON_FLAGS, "flags") +ADD_ENUM(WeaponProperty::WEAPON_ANIM_GROUP, "anim_group") // Disabled for release + +ADD_ENUM(WeaponProperty::WEAPON_ANIM_LOOP_START, "anim_loop_start") +ADD_ENUM(WeaponProperty::WEAPON_ANIM_LOOP_STOP, "anim_loop_stop") +ADD_ENUM(WeaponProperty::WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME, "anim_loop_bullet_fire") + +ADD_ENUM(WeaponProperty::WEAPON_ANIM2_LOOP_START, "anim2_loop_start") +ADD_ENUM(WeaponProperty::WEAPON_ANIM2_LOOP_STOP, "anim2_loop_stop") +ADD_ENUM(WeaponProperty::WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME, "anim2_loop_bullet_fire") + +ADD_ENUM(WeaponProperty::WEAPON_ANIM_BREAKOUT_TIME, "anim_breakout_time") // Set is Disabled >= FIRETYPE - Move above WEAPON_TYPE_SET_DISABLED to re-enable and move it above here to make it less confusing. -ADD_ENUM(WEAPON_FIRETYPE, "fire_type") +ADD_ENUM(WeaponProperty::WEAPON_FIRETYPE, "fire_type") -ADD_ENUM(WEAPON_MODEL, "model") -ADD_ENUM(WEAPON_MODEL2, "model2") +ADD_ENUM(WeaponProperty::WEAPON_MODEL, "model") +ADD_ENUM(WeaponProperty::WEAPON_MODEL2, "model2") -ADD_ENUM(WEAPON_SLOT, "weapon_slot") +ADD_ENUM(WeaponProperty::WEAPON_SLOT, "weapon_slot") -ADD_ENUM(WEAPON_FIRE_OFFSET, "fire_offset") +ADD_ENUM(WeaponProperty::WEAPON_FIRE_OFFSET, "fire_offset") -ADD_ENUM(WEAPON_SKILL_LEVEL, "skill_level") -ADD_ENUM(WEAPON_REQ_SKILL_LEVEL, "required_skill_level") +ADD_ENUM(WeaponProperty::WEAPON_SKILL_LEVEL, "skill_level") +ADD_ENUM(WeaponProperty::WEAPON_REQ_SKILL_LEVEL, "required_skill_level") -ADD_ENUM(WEAPON_RADIUS, "radius") +ADD_ENUM(WeaponProperty::WEAPON_RADIUS, "radius") -ADD_ENUM(WEAPON_AIM_OFFSET, "aim_offset") +ADD_ENUM(WeaponProperty::WEAPON_AIM_OFFSET, "aim_offset") -ADD_ENUM(WEAPON_DEFAULT_COMBO, "default_combo") -ADD_ENUM(WEAPON_COMBOS_AVAILABLE, "combos_available") +ADD_ENUM(WeaponProperty::WEAPON_DEFAULT_COMBO, "default_combo") +ADD_ENUM(WeaponProperty::WEAPON_COMBOS_AVAILABLE, "combos_available") -ADD_ENUM(WEAPON_FLAG_AIM_NO_AUTO, "flag_aim_no_auto") -ADD_ENUM(WEAPON_FLAG_AIM_ARM, "flag_aim_arm") -ADD_ENUM(WEAPON_FLAG_AIM_1ST_PERSON, "flag_aim_1st_person") -ADD_ENUM(WEAPON_FLAG_AIM_FREE, "flag_aim_free") -ADD_ENUM(WEAPON_FLAG_MOVE_AND_AIM, "flag_move_and_aim") -ADD_ENUM(WEAPON_FLAG_MOVE_AND_SHOOT, "flag_move_and_shoot") -ADD_ENUM(WEAPON_FLAG_TYPE_THROW, "flag_type_throw") -ADD_ENUM(WEAPON_FLAG_TYPE_HEAVY, "flag_type_heavy") -ADD_ENUM(WEAPON_FLAG_TYPE_CONSTANT, "flag_type_constant") -ADD_ENUM(WEAPON_FLAG_TYPE_DUAL, "flag_type_dual") -ADD_ENUM(WEAPON_FLAG_ANIM_RELOAD, "flag_anim_reload") -ADD_ENUM(WEAPON_FLAG_ANIM_CROUCH, "flag_anim_crouch") -ADD_ENUM(WEAPON_FLAG_ANIM_RELOAD_LOOP, "flag_anim_reload_loop") -ADD_ENUM(WEAPON_FLAG_ANIM_RELOAD_LONG, "flag_anim_reload_long") -ADD_ENUM(WEAPON_FLAG_SHOT_SLOWS, "flag_shot_slows") -ADD_ENUM(WEAPON_FLAG_SHOT_RAND_SPEED, "flag_shot_rand_speed") -ADD_ENUM(WEAPON_FLAG_SHOT_ANIM_ABRUPT, "flag_shot_anim_abrupt") -ADD_ENUM(WEAPON_FLAG_SHOT_EXPANDS, "flag_shot_expands") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_AIM_NO_AUTO, "flag_aim_no_auto") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_AIM_ARM, "flag_aim_arm") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_AIM_1ST_PERSON, "flag_aim_1st_person") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_AIM_FREE, "flag_aim_free") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_MOVE_AND_AIM, "flag_move_and_aim") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_MOVE_AND_SHOOT, "flag_move_and_shoot") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_TYPE_THROW, "flag_type_throw") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_TYPE_HEAVY, "flag_type_heavy") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_TYPE_CONSTANT, "flag_type_constant") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_TYPE_DUAL, "flag_type_dual") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_ANIM_RELOAD, "flag_anim_reload") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_ANIM_CROUCH, "flag_anim_crouch") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LOOP, "flag_anim_reload_loop") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LONG, "flag_anim_reload_long") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_SHOT_SLOWS, "flag_shot_slows") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_SHOT_RAND_SPEED, "flag_shot_rand_speed") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_SHOT_ANIM_ABRUPT, "flag_shot_anim_abrupt") +ADD_ENUM(WeaponProperty::WEAPON_FLAG_SHOT_EXPANDS, "flag_shot_expands") -ADD_ENUM(WEAPON_FIRE_ROTATION, "fire_rotation") +ADD_ENUM(WeaponProperty::WEAPON_FIRE_ROTATION, "fire_rotation") IMPLEMENT_ENUM_END("weapon-property") IMPLEMENT_ENUM_BEGIN(eWeaponSkill) @@ -382,94 +382,94 @@ ADD_ENUM(WEAPONFLAGS_SHOOT_IF_OUT_OF_RANGE, "shoot_if_out_of_range") ADD_ENUM(WEAPONFLAGS_SHOOT_IF_TARGET_BOCKED, "shoot_if_blocked") IMPLEMENT_ENUM_END("weapon-flags") -IMPLEMENT_ENUM_BEGIN(eVehicleComponent) -ADD_ENUM(VEHICLE_COMPONENT_SPECIAL_1, "special_1") -ADD_ENUM(VEHICLE_COMPONENT_SPECIAL_2, "special_2") -ADD_ENUM(VEHICLE_COMPONENT_SPECIAL_3, "special_3") -ADD_ENUM(VEHICLE_COMPONENT_SPECIAL_4, "special_4") -ADD_ENUM(VEHICLE_COMPONENT_SPECIAL_5, "special_5") -ADD_ENUM(VEHICLE_COMPONENT_BONET, "bonnet") -ADD_ENUM(VEHICLE_COMPONENT_BOOT, "boot") -ADD_ENUM(VEHICLE_COMPONENT_BUMPER_1, "bumper_1") -ADD_ENUM(VEHICLE_COMPONENT_BUMPER_2, "bumper_2") -ADD_ENUM(VEHICLE_COMPONENT_CHASIS, "chassis") -ADD_ENUM(VEHICLE_COMPONENT_DOOR_1, "door_1") -ADD_ENUM(VEHICLE_COMPONENT_DOOR_2, "door_2") -ADD_ENUM(VEHICLE_COMPONENT_DOOR_3, "door_3") -ADD_ENUM(VEHICLE_COMPONENT_DOOR_4, "door_4") -ADD_ENUM(VEHICLE_COMPONENT_EXHAUST, "exhaust") -ADD_ENUM(VEHICLE_COMPONENT_WINGLF, "wing_lf") -ADD_ENUM(VEHICLE_COMPONENT_WINGRF, "wing_rf") -ADD_ENUM(VEHICLE_COMPONENT_EXTRA_1, "extra_1") -ADD_ENUM(VEHICLE_COMPONENT_EXTRA_2, "extra_2") -IMPLEMENT_ENUM_END("vehicle-component") - -IMPLEMENT_ENUM_BEGIN(eObjectProperty) -ADD_ENUM(OBJECT_PROPERTY_ALL, "all") -ADD_ENUM(OBJECT_PROPERTY_MASS, "mass") -ADD_ENUM(OBJECT_PROPERTY_TURNMASS, "turn_mass") -ADD_ENUM(OBJECT_PROPERTY_AIRRESISTANCE, "air_resistance") -ADD_ENUM(OBJECT_PROPERTY_ELASTICITY, "elasticity") -ADD_ENUM(OBJECT_PROPERTY_CENTEROFMASS, "center_of_mass") -ADD_ENUM(OBJECT_PROPERTY_BUOYANCY, "buoyancy") -IMPLEMENT_ENUM_END("object-property") - -IMPLEMENT_ENUM_BEGIN(eObjectGroup::Modifiable) -ADD_ENUM(eObjectGroup::Modifiable::MASS, "mass") -ADD_ENUM(eObjectGroup::Modifiable::TURNMASS, "turn_mass") -ADD_ENUM(eObjectGroup::Modifiable::AIRRESISTANCE, "air_resistance") -ADD_ENUM(eObjectGroup::Modifiable::ELASTICITY, "elasticity") -ADD_ENUM(eObjectGroup::Modifiable::BUOYANCY, "buoyancy") -ADD_ENUM(eObjectGroup::Modifiable::UPROOTLIMIT, "uproot_limit") -ADD_ENUM(eObjectGroup::Modifiable::COLDAMAGEMULTIPLIER, "col_damage_multiplier") -ADD_ENUM(eObjectGroup::Modifiable::COLDAMAGEEFFECT, "col_damage_effect") -ADD_ENUM(eObjectGroup::Modifiable::SPECIALCOLRESPONSE, "special_col_response") -ADD_ENUM(eObjectGroup::Modifiable::CAMERAAVOID, "avoid_camera") -ADD_ENUM(eObjectGroup::Modifiable::EXPLOSION, "cause_explosion") -ADD_ENUM(eObjectGroup::Modifiable::FXTYPE, "fx_type") -ADD_ENUM(eObjectGroup::Modifiable::FXOFFSET, "fx_offset") -ADD_ENUM(eObjectGroup::Modifiable::FXSYSTEM, "fx_system") -ADD_ENUM(eObjectGroup::Modifiable::SMASHMULTIPLIER, "smash_multiplier") -ADD_ENUM(eObjectGroup::Modifiable::BREAKVELOCITY, "break_velocity") -ADD_ENUM(eObjectGroup::Modifiable::BREAKVELOCITYRAND, "break_velocity_randomness") -ADD_ENUM(eObjectGroup::Modifiable::BREAKMODE, "break_mode") -ADD_ENUM(eObjectGroup::Modifiable::SPARKSONIMPACT, "sparks_on_impact") -IMPLEMENT_ENUM_END("objectgroup-modifiable") - -IMPLEMENT_ENUM_BEGIN(eObjectGroup::DamageEffect) -ADD_ENUM(eObjectGroup::DamageEffect::NO_EFFECT, "none") -ADD_ENUM(eObjectGroup::DamageEffect::CHANGE_MODEL, "change_model") -ADD_ENUM(eObjectGroup::DamageEffect::SMASH_COMPLETELY, "smash") -ADD_ENUM(eObjectGroup::DamageEffect::CHANGE_THEN_SMASH, "change_smash") -ADD_ENUM(eObjectGroup::DamageEffect::BREAKABLE, "breakable") -ADD_ENUM(eObjectGroup::DamageEffect::BREAKABLE_REMOVED, "breakable_remove") -IMPLEMENT_ENUM_END("objectgroup-damageeffect") - -IMPLEMENT_ENUM_BEGIN(eObjectGroup::CollisionResponse) -ADD_ENUM(eObjectGroup::CollisionResponse::NO_RESPONSE, "none") -ADD_ENUM(eObjectGroup::CollisionResponse::LAMPPOST, "lamppost") -ADD_ENUM(eObjectGroup::CollisionResponse::SMALLBOX, "small_box") -ADD_ENUM(eObjectGroup::CollisionResponse::BIGBOX, "big_box") -ADD_ENUM(eObjectGroup::CollisionResponse::FENCEPART, "fence_part") -ADD_ENUM(eObjectGroup::CollisionResponse::GRENADE, "grenade") -ADD_ENUM(eObjectGroup::CollisionResponse::SWINGDOOR, "swingdoor") -ADD_ENUM(eObjectGroup::CollisionResponse::LOCKDOOR, "lockdoor") -ADD_ENUM(eObjectGroup::CollisionResponse::HANGING, "hanging") -ADD_ENUM(eObjectGroup::CollisionResponse::POOLBALL, "poolball") -IMPLEMENT_ENUM_END("objectgroup-collisionresponse") - -IMPLEMENT_ENUM_BEGIN(eObjectGroup::FxType) -ADD_ENUM(eObjectGroup::FxType::NO_FX, "none") -ADD_ENUM(eObjectGroup::FxType::PLAY_ON_HIT, "play_on_hit") -ADD_ENUM(eObjectGroup::FxType::PLAY_ON_DESTROYED, "play_on_destroyed") -ADD_ENUM(eObjectGroup::FxType::PLAY_ON_HIT_DESTROYED, "play_on_hitdestroyed") -IMPLEMENT_ENUM_END("objectgroup-fxtype") - -IMPLEMENT_ENUM_BEGIN(eObjectGroup::BreakMode) -ADD_ENUM(eObjectGroup::BreakMode::NOT_BY_GUN, "not_by_gun") -ADD_ENUM(eObjectGroup::BreakMode::BY_GUN, "by_gun") -ADD_ENUM(eObjectGroup::BreakMode::SMASHABLE, "smashable") -IMPLEMENT_ENUM_END("objectgroup-breakmode") +IMPLEMENT_ENUM_CLASS_BEGIN(VehicleComponent) +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_SPECIAL_1, "special_1") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_SPECIAL_2, "special_2") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_SPECIAL_3, "special_3") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_SPECIAL_4, "special_4") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_SPECIAL_5, "special_5") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_BONET, "bonnet") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_BOOT, "boot") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_BUMPER_1, "bumper_1") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_BUMPER_2, "bumper_2") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_CHASIS, "chassis") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_DOOR_1, "door_1") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_DOOR_2, "door_2") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_DOOR_3, "door_3") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_DOOR_4, "door_4") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_EXHAUST, "exhaust") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_WINGLF, "wing_lf") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_WINGRF, "wing_rf") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_EXTRA_1, "extra_1") +ADD_ENUM(VehicleComponent::VEHICLE_COMPONENT_EXTRA_2, "extra_2") +IMPLEMENT_ENUM_CLASS_END("vehicle-component") + +IMPLEMENT_ENUM_CLASS_BEGIN(ObjectProperty) +ADD_ENUM(ObjectProperty::OBJECT_PROPERTY_ALL, "all") +ADD_ENUM(ObjectProperty::OBJECT_PROPERTY_MASS, "mass") +ADD_ENUM(ObjectProperty::OBJECT_PROPERTY_TURNMASS, "turn_mass") +ADD_ENUM(ObjectProperty::OBJECT_PROPERTY_AIRRESISTANCE, "air_resistance") +ADD_ENUM(ObjectProperty::OBJECT_PROPERTY_ELASTICITY, "elasticity") +ADD_ENUM(ObjectProperty::OBJECT_PROPERTY_CENTEROFMASS, "center_of_mass") +ADD_ENUM(ObjectProperty::OBJECT_PROPERTY_BUOYANCY, "buoyancy") +IMPLEMENT_ENUM_CLASS_END("object-property") + +IMPLEMENT_ENUM_CLASS_BEGIN(ObjectGroupPhysicalProperties::Modifiable) +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::MASS, "mass") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::TURNMASS, "turn_mass") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::AIRRESISTANCE, "air_resistance") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::ELASTICITY, "elasticity") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::BUOYANCY, "buoyancy") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::UPROOTLIMIT, "uproot_limit") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::COLDAMAGEMULTIPLIER, "col_damage_multiplier") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::COLDAMAGEEFFECT, "col_damage_effect") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::SPECIALCOLRESPONSE, "special_col_response") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::CAMERAAVOID, "avoid_camera") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::EXPLOSION, "cause_explosion") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::FXTYPE, "fx_type") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::FXOFFSET, "fx_offset") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::FXSYSTEM, "fx_system") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::SMASHMULTIPLIER, "smash_multiplier") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITY, "break_velocity") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITYRAND, "break_velocity_randomness") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::BREAKMODE, "break_mode") +ADD_ENUM(ObjectGroupPhysicalProperties::Modifiable::SPARKSONIMPACT, "sparks_on_impact") +IMPLEMENT_ENUM_CLASS_END("objectgroup-modifiable") + +IMPLEMENT_ENUM_CLASS_BEGIN(ObjectGroupPhysicalProperties::DamageEffect) +ADD_ENUM(ObjectGroupPhysicalProperties::DamageEffect::NO_EFFECT, "none") +ADD_ENUM(ObjectGroupPhysicalProperties::DamageEffect::CHANGE_MODEL, "change_model") +ADD_ENUM(ObjectGroupPhysicalProperties::DamageEffect::SMASH_COMPLETELY, "smash") +ADD_ENUM(ObjectGroupPhysicalProperties::DamageEffect::CHANGE_THEN_SMASH, "change_smash") +ADD_ENUM(ObjectGroupPhysicalProperties::DamageEffect::BREAKABLE, "breakable") +ADD_ENUM(ObjectGroupPhysicalProperties::DamageEffect::BREAKABLE_REMOVED, "breakable_remove") +IMPLEMENT_ENUM_CLASS_END("objectgroup-damageeffect") + +IMPLEMENT_ENUM_CLASS_BEGIN(ObjectGroupPhysicalProperties::CollisionResponse) +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::NO_RESPONSE, "none") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::LAMPPOST, "lamppost") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::SMALLBOX, "small_box") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::BIGBOX, "big_box") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::FENCEPART, "fence_part") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::GRENADE, "grenade") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::SWINGDOOR, "swingdoor") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::LOCKDOOR, "lockdoor") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::HANGING, "hanging") +ADD_ENUM(ObjectGroupPhysicalProperties::CollisionResponse::POOLBALL, "poolball") +IMPLEMENT_ENUM_CLASS_END("objectgroup-collisionresponse") + +IMPLEMENT_ENUM_CLASS_BEGIN(ObjectGroupPhysicalProperties::FxType) +ADD_ENUM(ObjectGroupPhysicalProperties::FxType::NO_FX, "none") +ADD_ENUM(ObjectGroupPhysicalProperties::FxType::PLAY_ON_HIT, "play_on_hit") +ADD_ENUM(ObjectGroupPhysicalProperties::FxType::PLAY_ON_DESTROYED, "play_on_destroyed") +ADD_ENUM(ObjectGroupPhysicalProperties::FxType::PLAY_ON_HIT_DESTROYED, "play_on_hitdestroyed") +IMPLEMENT_ENUM_CLASS_END("objectgroup-fxtype") + +IMPLEMENT_ENUM_CLASS_BEGIN(ObjectGroupPhysicalProperties::BreakMode) +ADD_ENUM(ObjectGroupPhysicalProperties::BreakMode::NOT_BY_GUN, "not_by_gun") +ADD_ENUM(ObjectGroupPhysicalProperties::BreakMode::BY_GUN, "by_gun") +ADD_ENUM(ObjectGroupPhysicalProperties::BreakMode::SMASHABLE, "smashable") +IMPLEMENT_ENUM_CLASS_END("objectgroup-breakmode") IMPLEMENT_ENUM_BEGIN(eFontType) ADD_ENUM(FONT_DEFAULT, "default") @@ -599,22 +599,22 @@ ADD_ENUM(D3DPT_TRIANGLESTRIP, "trianglestrip") ADD_ENUM(D3DPT_TRIANGLEFAN, "trianglefan") IMPLEMENT_ENUM_END("primitive-type") -IMPLEMENT_ENUM_BEGIN(eVehicleDummies) -ADD_ENUM(LIGHT_FRONT_MAIN, "light_front_main") -ADD_ENUM(LIGHT_REAR_MAIN, "light_rear_main") -ADD_ENUM(LIGHT_FRONT_SECONDARY, "light_front_second") -ADD_ENUM(LIGHT_REAR_SECONDARY, "light_rear_second") -ADD_ENUM(SEAT_FRONT, "seat_front") -ADD_ENUM(SEAT_REAR, "seat_rear") -ADD_ENUM(EXHAUST, "exhaust") -ADD_ENUM(ENGINE, "engine") -ADD_ENUM(GAS_CAP, "gas_cap") -ADD_ENUM(TRAILER_ATTACH, "trailer_attach") -ADD_ENUM(HAND_REST, "hand_rest") -ADD_ENUM(EXHAUST_SECONDARY, "exhaust_second") -ADD_ENUM(WING_AIRTRAIL, "wing_airtrail") -ADD_ENUM(VEH_GUN, "veh_gun") -IMPLEMENT_ENUM_END("vehicle-dummy") +IMPLEMENT_ENUM_CLASS_BEGIN(VehicleDummies) +ADD_ENUM(VehicleDummies::LIGHT_FRONT_MAIN, "light_front_main") +ADD_ENUM(VehicleDummies::LIGHT_REAR_MAIN, "light_rear_main") +ADD_ENUM(VehicleDummies::LIGHT_FRONT_SECONDARY, "light_front_second") +ADD_ENUM(VehicleDummies::LIGHT_REAR_SECONDARY, "light_rear_second") +ADD_ENUM(VehicleDummies::SEAT_FRONT, "seat_front") +ADD_ENUM(VehicleDummies::SEAT_REAR, "seat_rear") +ADD_ENUM(VehicleDummies::EXHAUST, "exhaust") +ADD_ENUM(VehicleDummies::ENGINE, "engine") +ADD_ENUM(VehicleDummies::GAS_CAP, "gas_cap") +ADD_ENUM(VehicleDummies::TRAILER_ATTACH, "trailer_attach") +ADD_ENUM(VehicleDummies::HAND_REST, "hand_rest") +ADD_ENUM(VehicleDummies::EXHAUST_SECONDARY, "exhaust_second") +ADD_ENUM(VehicleDummies::WING_AIRTRAIL, "wing_airtrail") +ADD_ENUM(VehicleDummies::VEH_GUN, "veh_gun") +IMPLEMENT_ENUM_CLASS_END("vehicle-dummy") IMPLEMENT_ENUM_CLASS_BEGIN(eGrainMultiplierType) ADD_ENUM(eGrainMultiplierType::MASTER, "master") @@ -625,10 +625,10 @@ ADD_ENUM(eGrainMultiplierType::OVERLAY, "overlay") ADD_ENUM(eGrainMultiplierType::ALL, "all") IMPLEMENT_ENUM_CLASS_END("grain-multiplier-type") -IMPLEMENT_ENUM_CLASS_BEGIN(eResizableVehicleWheelGroup) -ADD_ENUM(eResizableVehicleWheelGroup::FRONT_AXLE, "front_axle") -ADD_ENUM(eResizableVehicleWheelGroup::REAR_AXLE, "rear_axle") -ADD_ENUM(eResizableVehicleWheelGroup::ALL_WHEELS, "all_wheels") +IMPLEMENT_ENUM_CLASS_BEGIN(ResizableVehicleWheelGroup) +ADD_ENUM(ResizableVehicleWheelGroup::FRONT_AXLE, "front_axle") +ADD_ENUM(ResizableVehicleWheelGroup::REAR_AXLE, "rear_axle") +ADD_ENUM(ResizableVehicleWheelGroup::ALL_WHEELS, "all_wheels") IMPLEMENT_ENUM_CLASS_END("resizable-vehicle-wheel-group") IMPLEMENT_ENUM_BEGIN(eSurfaceProperties) @@ -714,17 +714,17 @@ ADD_ENUM(eClientModelType::CLUMP, "clump") IMPLEMENT_ENUM_CLASS_END("client-model-type") // Sound effects -IMPLEMENT_ENUM_BEGIN(eSoundEffectType) -ADD_ENUM(static_cast(BASS_FX_DX8_CHORUS), "chorus") -ADD_ENUM(static_cast(BASS_FX_DX8_COMPRESSOR), "compressor") -ADD_ENUM(static_cast(BASS_FX_DX8_DISTORTION), "distortion") -ADD_ENUM(static_cast(BASS_FX_DX8_ECHO), "echo") -ADD_ENUM(static_cast(BASS_FX_DX8_FLANGER), "flanger") -ADD_ENUM(static_cast(BASS_FX_DX8_GARGLE), "gargle") -ADD_ENUM(static_cast(BASS_FX_DX8_I3DL2REVERB), "i3dl2reverb") -ADD_ENUM(static_cast(BASS_FX_DX8_PARAMEQ), "parameq") -ADD_ENUM(static_cast(BASS_FX_DX8_REVERB), "reverb") -IMPLEMENT_ENUM_END("soundeffect-type") +IMPLEMENT_ENUM_CLASS_BEGIN(SoundEffectType) +ADD_ENUM(SoundEffectType::FX_DX8_CHORUS, "chorus") +ADD_ENUM(SoundEffectType::FX_DX8_COMPRESSOR, "compressor") +ADD_ENUM(SoundEffectType::FX_DX8_DISTORTION, "distortion") +ADD_ENUM(SoundEffectType::FX_DX8_ECHO, "echo") +ADD_ENUM(SoundEffectType::FX_DX8_FLANGER, "flanger") +ADD_ENUM(SoundEffectType::FX_DX8_GARGLE, "gargle") +ADD_ENUM(SoundEffectType::FX_DX8_I3DL2REVERB, "i3dl2reverb") +ADD_ENUM(SoundEffectType::FX_DX8_PARAMEQ, "parameq") +ADD_ENUM(SoundEffectType::FX_DX8_REVERB, "reverb") +IMPLEMENT_ENUM_CLASS_END("soundeffect-type") IMPLEMENT_ENUM_CLASS_BEGIN(eSoundEffectParams::Chorus) ADD_ENUM(eSoundEffectParams::Chorus::WET_DRY_MIX, "wetDryMix") @@ -886,47 +886,47 @@ ADD_ENUM(ePools::ENV_MAP_ATOMIC_POOL, "env-map-atomic") ADD_ENUM(ePools::SPEC_MAP_MATERIAL_POOL, "spec-map-material") IMPLEMENT_ENUM_END("gta-pool") -IMPLEMENT_ENUM_CLASS_BEGIN(eFxParticleSystems) -ADD_ENUM(eFxParticleSystems::PRT_BLOOD, "blood") -ADD_ENUM(eFxParticleSystems::PRT_BOATSPLASH, "boat_splash") -ADD_ENUM(eFxParticleSystems::PRT_BUBBLE, "bubble") -ADD_ENUM(eFxParticleSystems::PRT_DEBRIS, "car_debris") -ADD_ENUM(eFxParticleSystems::PRT_SMOKE, "collision_smoke") -ADD_ENUM(eFxParticleSystems::PRT_GUNSHELL, "gunshell") -ADD_ENUM(eFxParticleSystems::PRT_SAND, "sand") -ADD_ENUM(eFxParticleSystems::PRT_SAND2, "sand2") -ADD_ENUM(eFxParticleSystems::PRT_SMOKEHUGE, "huge_smoke") -ADD_ENUM(eFxParticleSystems::PRT_SMOKE2, "smoke") -ADD_ENUM(eFxParticleSystems::PRT_SPARK, "spark") -ADD_ENUM(eFxParticleSystems::PRT_SPARK2, "spark2") -ADD_ENUM(eFxParticleSystems::PRT_SPLASH, "splash") -ADD_ENUM(eFxParticleSystems::PRT_WAKE, "wake") -ADD_ENUM(eFxParticleSystems::PRT_WATERSPLASH, "water_splash") -ADD_ENUM(eFxParticleSystems::PRT_WHEELDIRT, "wheel_dirt") -ADD_ENUM(eFxParticleSystems::PRT_GLASS, "glass") +IMPLEMENT_ENUM_CLASS_BEGIN(FxParticleSystems) +ADD_ENUM(FxParticleSystems::PRT_BLOOD, "blood") +ADD_ENUM(FxParticleSystems::PRT_BOATSPLASH, "boat_splash") +ADD_ENUM(FxParticleSystems::PRT_BUBBLE, "bubble") +ADD_ENUM(FxParticleSystems::PRT_DEBRIS, "car_debris") +ADD_ENUM(FxParticleSystems::PRT_SMOKE, "collision_smoke") +ADD_ENUM(FxParticleSystems::PRT_GUNSHELL, "gunshell") +ADD_ENUM(FxParticleSystems::PRT_SAND, "sand") +ADD_ENUM(FxParticleSystems::PRT_SAND2, "sand2") +ADD_ENUM(FxParticleSystems::PRT_SMOKEHUGE, "huge_smoke") +ADD_ENUM(FxParticleSystems::PRT_SMOKE2, "smoke") +ADD_ENUM(FxParticleSystems::PRT_SPARK, "spark") +ADD_ENUM(FxParticleSystems::PRT_SPARK2, "spark2") +ADD_ENUM(FxParticleSystems::PRT_SPLASH, "splash") +ADD_ENUM(FxParticleSystems::PRT_WAKE, "wake") +ADD_ENUM(FxParticleSystems::PRT_WATERSPLASH, "water_splash") +ADD_ENUM(FxParticleSystems::PRT_WHEELDIRT, "wheel_dirt") +ADD_ENUM(FxParticleSystems::PRT_GLASS, "glass") IMPLEMENT_ENUM_CLASS_END("particle-system") -IMPLEMENT_ENUM_BEGIN(eWorldProperty) -ADD_ENUM(AMBIENT_COLOR, "AmbientColor") -ADD_ENUM(AMBIENT_OBJ_COLOR, "AmbientObjColor") -ADD_ENUM(DIRECTIONAL_COLOR, "DirectionalColor") -ADD_ENUM(SPRITE_SIZE, "SpriteSize") -ADD_ENUM(SPRITE_BRIGHTNESS, "SpriteBrightness") -ADD_ENUM(POLE_SHADOW_STRENGTH, "PoleShadowStrength") -ADD_ENUM(SHADOW_STRENGTH, "ShadowStrength") -ADD_ENUM(SHADOWS_OFFSET, "ShadowsOffset") -ADD_ENUM(LIGHTS_ON_GROUND, "LightsOnGround") -ADD_ENUM(LOW_CLOUDS_COLOR, "LowCloudsColor") -ADD_ENUM(BOTTOM_CLOUDS_COLOR, "BottomCloudsColor") -ADD_ENUM(CLOUDS_ALPHA1, "CloudsAlpha") -ADD_ENUM(ILLUMINATION, "Illumination") -ADD_ENUM(WEATHER_WET_ROADS, "WetRoads") -ADD_ENUM(WEATHER_FOGGYNESS, "Foggyness") -ADD_ENUM(WEATHER_FOG, "Fog") -ADD_ENUM(WEATHER_RAIN_FOG, "RainFog") -ADD_ENUM(WEATHER_WATER_FOG, "WaterFog") -ADD_ENUM(WEATHER_SANDSTORM, "Sandstorm") -ADD_ENUM(WEATHER_RAINBOW, "Rainbow") +IMPLEMENT_ENUM_CLASS_BEGIN(WorldProperty) +ADD_ENUM(WorldProperty::AMBIENT_COLOR, "AmbientColor") +ADD_ENUM(WorldProperty::AMBIENT_OBJ_COLOR, "AmbientObjColor") +ADD_ENUM(WorldProperty::DIRECTIONAL_COLOR, "DirectionalColor") +ADD_ENUM(WorldProperty::SPRITE_SIZE, "SpriteSize") +ADD_ENUM(WorldProperty::SPRITE_BRIGHTNESS, "SpriteBrightness") +ADD_ENUM(WorldProperty::POLE_SHADOW_STRENGTH, "PoleShadowStrength") +ADD_ENUM(WorldProperty::SHADOW_STRENGTH, "ShadowStrength") +ADD_ENUM(WorldProperty::SHADOWS_OFFSET, "ShadowsOffset") +ADD_ENUM(WorldProperty::LIGHTS_ON_GROUND, "LightsOnGround") +ADD_ENUM(WorldProperty::LOW_CLOUDS_COLOR, "LowCloudsColor") +ADD_ENUM(WorldProperty::BOTTOM_CLOUDS_COLOR, "BottomCloudsColor") +ADD_ENUM(WorldProperty::CLOUDS_ALPHA1, "CloudsAlpha") +ADD_ENUM(WorldProperty::ILLUMINATION, "Illumination") +ADD_ENUM(WorldProperty::WEATHER_WET_ROADS, "WetRoads") +ADD_ENUM(WorldProperty::WEATHER_FOGGYNESS, "Foggyness") +ADD_ENUM(WorldProperty::WEATHER_FOG, "Fog") +ADD_ENUM(WorldProperty::WEATHER_RAIN_FOG, "RainFog") +ADD_ENUM(WorldProperty::WEATHER_WATER_FOG, "WaterFog") +ADD_ENUM(WorldProperty::WEATHER_SANDSTORM, "Sandstorm") +ADD_ENUM(WorldProperty::WEATHER_RAINBOW, "Rainbow") IMPLEMENT_ENUM_END("world-property") IMPLEMENT_ENUM_CLASS_BEGIN(eModelLoadState) @@ -960,21 +960,21 @@ ADD_ENUM(ENTITY_TYPE_NOTINPOOLS, "unknown") IMPLEMENT_ENUM_END("entity-type") -IMPLEMENT_ENUM_CLASS_BEGIN(eVehicleAudioSettingProperty) -ADD_ENUM(eVehicleAudioSettingProperty::DOOR_SOUND, "door-sound") -ADD_ENUM(eVehicleAudioSettingProperty::ENGINE_OFF_SOUND_BANK_ID, "engine-off-soundbank-id") -ADD_ENUM(eVehicleAudioSettingProperty::ENGINE_ON_SOUND_BANK_ID, "engine-on-soundbank-id") -ADD_ENUM(eVehicleAudioSettingProperty::HORN_HIGH, "horn-high") -ADD_ENUM(eVehicleAudioSettingProperty::HORN_TON, "horn-ton") -ADD_ENUM(eVehicleAudioSettingProperty::HORN_VOLUME_DELTA, "horn-volume-delta") -ADD_ENUM(eVehicleAudioSettingProperty::RADIO_NUM, "radio-num") -ADD_ENUM(eVehicleAudioSettingProperty::RADIO_TYPE, "radio-type") -ADD_ENUM(eVehicleAudioSettingProperty::SOUND_TYPE, "sound-type") -ADD_ENUM(eVehicleAudioSettingProperty::BASS_SETTING, "bass-setting") -ADD_ENUM(eVehicleAudioSettingProperty::BASS_EQ, "bass-eq") -ADD_ENUM(eVehicleAudioSettingProperty::FIELD_C, "field-c") -ADD_ENUM(eVehicleAudioSettingProperty::ENGINE_UPGRADE, "engine-upgrade") -ADD_ENUM(eVehicleAudioSettingProperty::VEHICLE_TYPE_FOR_AUDIO, "vehicle-type-for-audio") +IMPLEMENT_ENUM_CLASS_BEGIN(VehicleAudioSettingProperty) +ADD_ENUM(VehicleAudioSettingProperty::DOOR_SOUND, "door-sound") +ADD_ENUM(VehicleAudioSettingProperty::ENGINE_OFF_SOUND_BANK_ID, "engine-off-soundbank-id") +ADD_ENUM(VehicleAudioSettingProperty::ENGINE_ON_SOUND_BANK_ID, "engine-on-soundbank-id") +ADD_ENUM(VehicleAudioSettingProperty::HORN_HIGH, "horn-high") +ADD_ENUM(VehicleAudioSettingProperty::HORN_TON, "horn-ton") +ADD_ENUM(VehicleAudioSettingProperty::HORN_VOLUME_DELTA, "horn-volume-delta") +ADD_ENUM(VehicleAudioSettingProperty::RADIO_NUM, "radio-num") +ADD_ENUM(VehicleAudioSettingProperty::RADIO_TYPE, "radio-type") +ADD_ENUM(VehicleAudioSettingProperty::SOUND_TYPE, "sound-type") +ADD_ENUM(VehicleAudioSettingProperty::BASS_SETTING, "bass-setting") +ADD_ENUM(VehicleAudioSettingProperty::BASS_EQ, "bass-eq") +ADD_ENUM(VehicleAudioSettingProperty::FIELD_C, "field-c") +ADD_ENUM(VehicleAudioSettingProperty::ENGINE_UPGRADE, "engine-upgrade") +ADD_ENUM(VehicleAudioSettingProperty::VEHICLE_TYPE_FOR_AUDIO, "vehicle-type-for-audio") IMPLEMENT_ENUM_CLASS_END("vehicle-audio-setting") @@ -1357,23 +1357,23 @@ void ReadPregFlags(CScriptArgReader& argStream, pcrecpp::RE_Options& pOptions) // // Return true if weapon property is a flag type // -bool IsWeaponPropertyFlag(eWeaponProperty weaponProperty) +bool IsWeaponPropertyFlag(WeaponProperty weaponProperty) { - return (weaponProperty >= WEAPON_FLAG_FIRST && weaponProperty <= WEAPON_FLAG_LAST); + return (weaponProperty >= WeaponProperty::WEAPON_FLAG_FIRST && weaponProperty <= WeaponProperty::WEAPON_FLAG_LAST); } // // Get bit pattern for a weapon property flag enum // -uint GetWeaponPropertyFlagBit(eWeaponProperty weaponProperty) +uint GetWeaponPropertyFlagBit(WeaponProperty weaponProperty) { if (!IsWeaponPropertyFlag(weaponProperty)) return 0; // Check 20 bits from first to last - dassert(WEAPON_FLAG_LAST + 1 - WEAPON_FLAG_FIRST == 20); + //dassert(WEAPON_FLAG_LAST + 1 - WEAPON_FLAG_FIRST == 20); - uint uiFlagIndex = (weaponProperty - WEAPON_FLAG_FIRST); + uint uiFlagIndex = ((std::size_t)weaponProperty - (std::size_t)WeaponProperty::WEAPON_FLAG_FIRST); uint uiFlagBit = 1 << uiFlagIndex; return uiFlagBit; } diff --git a/Client/mods/deathmatch/logic/lua/CLuaFunctionParseHelpers.h b/Client/mods/deathmatch/logic/lua/CLuaFunctionParseHelpers.h index f7e111d2d53..da35c0d1cc2 100644 --- a/Client/mods/deathmatch/logic/lua/CLuaFunctionParseHelpers.h +++ b/Client/mods/deathmatch/logic/lua/CLuaFunctionParseHelpers.h @@ -16,6 +16,16 @@ #include #include +#include "enums/VehicleComponent.h" +#include "enums/WeaponProperty.h" +#include "enums/FxParticleSystems.h" +#include "enums/WorldProperty.h" +#include "enums/ObjectProperty.h" +#include "enums/VehicleAudioSettingProperty.h" +#include "enums/SoundEffectParams.h" +#include "enums/SoundEffectType.h" +#include "enums/ObjectGroupPhysicalProperties.h" + enum eLuaType { }; @@ -32,7 +42,7 @@ DECLARE_ENUM(eAmbientSoundType) DECLARE_ENUM(eCGUIType); DECLARE_ENUM(eDxTestMode) DECLARE_ENUM(eWeaponType) -DECLARE_ENUM(eWeaponProperty) +DECLARE_ENUM_CLASS(WeaponProperty) DECLARE_ENUM(eWeaponSkill) DECLARE_ENUM(ERenderFormat); DECLARE_ENUM(ETextureType); @@ -42,13 +52,13 @@ DECLARE_ENUM(EBlendModeType) DECLARE_ENUM(EEntityTypeMask); DECLARE_ENUM(eWeaponState); DECLARE_ENUM(eWeaponFlags); -DECLARE_ENUM(eVehicleComponent); -DECLARE_ENUM(eObjectProperty); -DECLARE_ENUM(eObjectGroup::Modifiable); -DECLARE_ENUM(eObjectGroup::DamageEffect); -DECLARE_ENUM(eObjectGroup::CollisionResponse); -DECLARE_ENUM(eObjectGroup::FxType); -DECLARE_ENUM(eObjectGroup::BreakMode); +DECLARE_ENUM_CLASS(VehicleComponent); +DECLARE_ENUM_CLASS(ObjectProperty); +DECLARE_ENUM_CLASS(ObjectGroupPhysicalProperties::Modifiable); +DECLARE_ENUM_CLASS(ObjectGroupPhysicalProperties::DamageEffect); +DECLARE_ENUM_CLASS(ObjectGroupPhysicalProperties::CollisionResponse); +DECLARE_ENUM_CLASS(ObjectGroupPhysicalProperties::FxType); +DECLARE_ENUM_CLASS(ObjectGroupPhysicalProperties::BreakMode); DECLARE_ENUM(eFontType); DECLARE_ENUM(eFontQuality); DECLARE_ENUM(eAudioLookupIndex); @@ -60,9 +70,9 @@ DECLARE_ENUM(eTrayIconType) DECLARE_ENUM(eCursorType) DECLARE_ENUM(eWheelPosition) DECLARE_ENUM(D3DPRIMITIVETYPE); -DECLARE_ENUM(eVehicleDummies); +DECLARE_ENUM_CLASS(VehicleDummies); DECLARE_ENUM_CLASS(eGrainMultiplierType); -DECLARE_ENUM_CLASS(eResizableVehicleWheelGroup); +DECLARE_ENUM_CLASS(ResizableVehicleWheelGroup); DECLARE_ENUM(eSurfaceProperties); DECLARE_ENUM(eSurfaceAudio); DECLARE_ENUM(eSurfaceBulletEffect); @@ -70,7 +80,7 @@ DECLARE_ENUM(eSurfaceWheelEffect); DECLARE_ENUM(eSurfaceSkidMarkType); DECLARE_ENUM(eSurfaceAdhesionGroup); DECLARE_ENUM_CLASS(eClientModelType); -DECLARE_ENUM(eSoundEffectType); +DECLARE_ENUM_CLASS(SoundEffectType); DECLARE_ENUM_CLASS(eSoundEffectParams::Chorus); DECLARE_ENUM_CLASS(eSoundEffectParams::Compressor); DECLARE_ENUM_CLASS(eSoundEffectParams::Distortion); @@ -83,14 +93,14 @@ DECLARE_ENUM_CLASS(eSoundEffectParams::Reverb); DECLARE_ENUM_CLASS(eModelIdeFlag); DECLARE_ENUM_CLASS(_D3DFORMAT); DECLARE_ENUM_CLASS(eRenderStage); -DECLARE_ENUM_CLASS(eFxParticleSystems); +DECLARE_ENUM_CLASS(FxParticleSystems); DECLARE_ENUM(ePools); -DECLARE_ENUM(eWorldProperty); +DECLARE_ENUM_CLASS(WorldProperty); DECLARE_ENUM_CLASS(eModelLoadState); DECLARE_ENUM_CLASS(PreloadAreaOption); DECLARE_ENUM_CLASS(taskType); DECLARE_ENUM(eEntityType); -DECLARE_ENUM_CLASS(eVehicleAudioSettingProperty); +DECLARE_ENUM_CLASS(VehicleAudioSettingProperty); class CRemoteCall; @@ -439,7 +449,7 @@ inline SString GetClassTypeName(D3DPRIMITIVETYPE*) { return "primitive-type"; } -inline SString GetClassTypeName(eVehicleDummies*) +inline SString GetClassTypeName(VehicleDummies*) { return "vehicle-dummy"; } @@ -467,7 +477,7 @@ inline SString GetClassTypeName(eSurfaceAdhesionGroup*) { return "surface-adhesion-group"; } -inline SString GetClassTypeName(eSoundEffectType*) +inline SString GetClassTypeName(SoundEffectType*) { return "soundeffect-type"; } @@ -507,7 +517,7 @@ inline SString GetClassTypeName(eSoundEffectParams::Reverb*) { return "soundeffect-params-reverb"; } -inline SString GetClassTypeName(eWorldProperty*) +inline SString GetClassTypeName(WorldProperty*) { return "world-property"; } @@ -517,7 +527,7 @@ inline SString GetClassTypeName(CClientVectorGraphic*) return "svg"; } -inline SString GetClassByTypeName(eVehicleAudioSettingProperty) +inline SString GetClassByTypeName(VehicleAudioSettingProperty) { return "vehicle-audio-setting"; } @@ -612,5 +622,5 @@ void CheckCanAccessOtherResourceFile(CScriptArgReader& argStream, CResource* pTh // // Other misc helpers // -bool IsWeaponPropertyFlag(eWeaponProperty weaponProperty); -uint GetWeaponPropertyFlagBit(eWeaponProperty weaponProperty); +bool IsWeaponPropertyFlag(WeaponProperty weaponProperty); +uint GetWeaponPropertyFlagBit(WeaponProperty weaponProperty); diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaAudioDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaAudioDefs.cpp index 070a3464cac..d796377ccd7 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaAudioDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaAudioDefs.cpp @@ -1397,7 +1397,7 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) { // bool setSoundEffectParameter ( sound sound, string effectName, string effectParameter, var effectParameterValue ) CClientSound* pSound = nullptr; - eSoundEffectType eEffectType; + SoundEffectType eEffectType; CScriptArgReader argStream(luaVM); argStream.ReadUserData(pSound); @@ -1408,7 +1408,7 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return luaL_error(luaVM, argStream.GetFullErrorMessage()); } - if (!pSound->IsFxEffectEnabled(eEffectType)) + if (!pSound->IsFxEffectEnabled((uint)eEffectType)) { return luaL_error(luaVM, "Effect's parameters can't be set unless it's enabled"); } @@ -1416,7 +1416,7 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) // Call `SetFxEffectParameters` and log errors if any const auto SetParamWithErrorLog = [&](auto effectParam, auto& params) { // Try setting parameter - if (pSound->SetFxEffectParameters(eEffectType, ¶ms)) + if (pSound->SetFxEffectParameters((uint)eEffectType, ¶ms)) { lua::Push(luaVM, true); return 1; @@ -1441,10 +1441,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) using namespace eSoundEffectParams; switch (eEffectType) { - case BASS_FX_DX8_CHORUS: + case SoundEffectType::FX_DX8_CHORUS: { BASS_DX8_CHORUS params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); Chorus eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1492,10 +1492,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return SetParamWithErrorLog(eEffectParameter, params); } - case BASS_FX_DX8_COMPRESSOR: + case SoundEffectType::FX_DX8_COMPRESSOR: { BASS_DX8_COMPRESSOR params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); Compressor eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1538,10 +1538,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return SetParamWithErrorLog(eEffectParameter, params); } - case BASS_FX_DX8_DISTORTION: + case SoundEffectType::FX_DX8_DISTORTION: { BASS_DX8_DISTORTION params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); Distortion eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1579,10 +1579,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return SetParamWithErrorLog(eEffectParameter, params); } - case BASS_FX_DX8_ECHO: + case SoundEffectType::FX_DX8_ECHO: { BASS_DX8_ECHO params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); Echo eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1622,10 +1622,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return SetParamWithErrorLog(eEffectParameter, params); } - case BASS_FX_DX8_FLANGER: + case SoundEffectType::FX_DX8_FLANGER: { BASS_DX8_FLANGER params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); Flanger eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1673,10 +1673,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return SetParamWithErrorLog(eEffectParameter, params); } - case BASS_FX_DX8_GARGLE: + case SoundEffectType::FX_DX8_GARGLE: { BASS_DX8_GARGLE params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); Gargle eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1699,10 +1699,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return SetParamWithErrorLog(eEffectParameter, params); } - case BASS_FX_DX8_I3DL2REVERB: + case SoundEffectType::FX_DX8_I3DL2REVERB: { BASS_DX8_I3DL2REVERB params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); I3DL2Reverb eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1775,10 +1775,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return SetParamWithErrorLog(eEffectParameter, params); } - case BASS_FX_DX8_PARAMEQ: + case SoundEffectType::FX_DX8_PARAMEQ: { BASS_DX8_PARAMEQ params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); ParamEq eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1806,10 +1806,10 @@ int CLuaAudioDefs::SetSoundEffectParameter(lua_State* luaVM) return SetParamWithErrorLog(eEffectParameter, params); } - case BASS_FX_DX8_REVERB: + case SoundEffectType::FX_DX8_REVERB: { BASS_DX8_REVERB params; - pSound->GetFxEffectParameters(eEffectType, ¶ms); + pSound->GetFxEffectParameters((uint)eEffectType, ¶ms); Reverb eEffectParameter; argStream.ReadEnumString(eEffectParameter); @@ -1852,7 +1852,7 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) { // table getSoundEffectParameters ( sound sound, string effectName ) CClientSound* pSound = nullptr; - eSoundEffectType eEffectType; + SoundEffectType eEffectType; CScriptArgReader argStream(luaVM); argStream.ReadUserData(pSound); @@ -1861,15 +1861,15 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) if (argStream.HasErrors()) return luaL_error(luaVM, argStream.GetFullErrorMessage()); - if (pSound->IsFxEffectEnabled(eEffectType)) + if (pSound->IsFxEffectEnabled((uint)eEffectType)) { using namespace eSoundEffectParams; switch (eEffectType) { - case BASS_FX_DX8_CHORUS: + case SoundEffectType::FX_DX8_CHORUS: { BASS_DX8_CHORUS fxChorusParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxChorusParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxChorusParams)) { lua_createtable(luaVM, 0, 7); @@ -1897,10 +1897,10 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) } break; } - case BASS_FX_DX8_COMPRESSOR: + case SoundEffectType::FX_DX8_COMPRESSOR: { BASS_DX8_COMPRESSOR fxCompressorParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxCompressorParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxCompressorParams)) { lua_createtable(luaVM, 0, 6); @@ -1925,10 +1925,10 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) } break; } - case BASS_FX_DX8_DISTORTION: + case SoundEffectType::FX_DX8_DISTORTION: { BASS_DX8_DISTORTION fxDistortionParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxDistortionParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxDistortionParams)) { lua_createtable(luaVM, 0, 5); @@ -1950,10 +1950,10 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) } break; } - case BASS_FX_DX8_ECHO: + case SoundEffectType::FX_DX8_ECHO: { BASS_DX8_ECHO fxEchoParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxEchoParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxEchoParams)) { lua_createtable(luaVM, 0, 5); @@ -1975,10 +1975,10 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) } break; } - case BASS_FX_DX8_FLANGER: + case SoundEffectType::FX_DX8_FLANGER: { BASS_DX8_FLANGER fxFlangerParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxFlangerParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxFlangerParams)) { lua_createtable(luaVM, 0, 7); @@ -2006,10 +2006,10 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) } break; } - case BASS_FX_DX8_GARGLE: + case SoundEffectType::FX_DX8_GARGLE: { BASS_DX8_GARGLE fxGargleParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxGargleParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxGargleParams)) { lua_createtable(luaVM, 0, 2); @@ -2022,10 +2022,10 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) } break; } - case BASS_FX_DX8_I3DL2REVERB: + case SoundEffectType::FX_DX8_I3DL2REVERB: { BASS_DX8_I3DL2REVERB fxI3DL2ReverbParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxI3DL2ReverbParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxI3DL2ReverbParams)) { lua_createtable(luaVM, 0, 12); @@ -2068,10 +2068,10 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) } break; } - case BASS_FX_DX8_PARAMEQ: + case SoundEffectType::FX_DX8_PARAMEQ: { BASS_DX8_PARAMEQ fxParameqParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxParameqParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxParameqParams)) { lua_createtable(luaVM, 0, 3); @@ -2087,10 +2087,10 @@ int CLuaAudioDefs::GetSoundEffectParameters(lua_State* luaVM) } break; } - case BASS_FX_DX8_REVERB: + case SoundEffectType::FX_DX8_REVERB: { BASS_DX8_REVERB fxReverbParams; - if (pSound->GetFxEffectParameters(eEffectType, &fxReverbParams)) + if (pSound->GetFxEffectParameters((uint)eEffectType, &fxReverbParams)) { lua_createtable(luaVM, 0, 4); diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaEffectDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaEffectDefs.cpp index 90c5ff23af2..2112aaf4394 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaEffectDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaEffectDefs.cpp @@ -643,7 +643,7 @@ int CLuaEffectDefs::SetEffectDensity(lua_State* luaVM) return 1; } -bool CLuaEffectDefs::FxCreateParticle(eFxParticleSystems eParticleSystem, CVector vecPosition, CVector vecDirection, float fR, float fG, float fB, float fA, std::optional bRandomizeColors, std::optional iCount, std::optional fBrightness, std::optional fSize, std::optional bRandomizeSizes, std::optional fLife) +bool CLuaEffectDefs::FxCreateParticle(FxParticleSystems eParticleSystem, CVector vecPosition, CVector vecDirection, float fR, float fG, float fB, float fA, std::optional bRandomizeColors, std::optional iCount, std::optional fBrightness, std::optional fSize, std::optional bRandomizeSizes, std::optional fLife) { return CStaticFunctionDefinitions::FxCreateParticle(eParticleSystem, vecPosition, vecDirection, fR/255, fG/255, fB/255, fA/255, bRandomizeColors.value_or(false), iCount.value_or(1), fBrightness.value_or(1.0f), fSize.value_or(0.3f), bRandomizeSizes.value_or(false), fLife.value_or(1.0f)); } diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaEffectDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaEffectDefs.h index cc63a1efc93..d45107069cb 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaEffectDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaEffectDefs.h @@ -38,5 +38,5 @@ class CLuaEffectDefs : public CLuaDefs LUA_DECLARE(SetEffectDensity); LUA_DECLARE(GetEffectDensity); - static bool FxCreateParticle(eFxParticleSystems eParticleSystem, CVector vecPosition, CVector vecDirection, float fR, float fG, float fB, float fA, std::optional bRandomizeColors, std::optional iCount, std::optional fBrightness, std::optional fSize, std::optional bRandomizeSizes, std::optional fLife); + static bool FxCreateParticle(FxParticleSystems eParticleSystem, CVector vecPosition, CVector vecDirection, float fR, float fG, float fB, float fA, std::optional bRandomizeColors, std::optional iCount, std::optional fBrightness, std::optional fSize, std::optional bRandomizeSizes, std::optional fLife); }; diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaEngineDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaEngineDefs.cpp index 6f08c74ee16..3de38bbf76a 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaEngineDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaEngineDefs.cpp @@ -16,6 +16,7 @@ #include #include #include "CLuaEngineDefs.h" +#include //! Set the CModelCacheManager limits //! By passing `nil`/no value the original values are restored @@ -921,7 +922,7 @@ int CLuaEngineDefs::EngineRequestModel(lua_State* luaVM) usParentID = 994; // lhouse_barrier2 break; case eClientModelType::VEHICLE: - usParentID = VT_LANDSTAL; + usParentID = static_cast(VehicleType::VT_LANDSTAL); break; default: break; @@ -2058,32 +2059,32 @@ int CLuaEngineDefs::EngineRestoreModelPhysicalPropertiesGroup(lua_State* luaVM) return luaL_error(luaVM, argStream.GetFullErrorMessage()); } -std::unordered_map> g_GroupPropertiesSettersFloat{ - {eObjectGroup::Modifiable::MASS, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetMass(fValue); }}, - {eObjectGroup::Modifiable::TURNMASS, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetTurnMass(fValue); }}, - {eObjectGroup::Modifiable::AIRRESISTANCE, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetAirResistance(fValue); }}, - {eObjectGroup::Modifiable::ELASTICITY, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetElasticity(fValue); }}, - {eObjectGroup::Modifiable::BUOYANCY, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetBuoyancy(fValue); }}, - {eObjectGroup::Modifiable::UPROOTLIMIT, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetUprootLimit(fValue); }}, - {eObjectGroup::Modifiable::COLDAMAGEMULTIPLIER, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetCollisionDamageMultiplier(fValue); }}, - {eObjectGroup::Modifiable::SMASHMULTIPLIER, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetSmashMultiplier(fValue); }}, - {eObjectGroup::Modifiable::BREAKVELOCITYRAND, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetBreakVelocityRandomness(fValue); }}, +std::unordered_map> g_GroupPropertiesSettersFloat{ + {ObjectGroupPhysicalProperties::Modifiable::MASS, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetMass(fValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::TURNMASS, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetTurnMass(fValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::AIRRESISTANCE, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetAirResistance(fValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::ELASTICITY, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetElasticity(fValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::BUOYANCY, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetBuoyancy(fValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::UPROOTLIMIT, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetUprootLimit(fValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::COLDAMAGEMULTIPLIER, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetCollisionDamageMultiplier(fValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::SMASHMULTIPLIER, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetSmashMultiplier(fValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITYRAND, [](CObjectGroupPhysicalProperties* pGroup, float fValue) { pGroup->SetBreakVelocityRandomness(fValue); }}, }; -std::unordered_map> g_GroupPropertiesSettersBool{ - {eObjectGroup::Modifiable::CAMERAAVOID, [](CObjectGroupPhysicalProperties* pGroup, bool bValue) { pGroup->SetCameraAvoidObject(bValue); }}, - {eObjectGroup::Modifiable::EXPLOSION, [](CObjectGroupPhysicalProperties* pGroup, bool bValue) { pGroup->SetCausesExplosion(bValue); }}, - {eObjectGroup::Modifiable::SPARKSONIMPACT, [](CObjectGroupPhysicalProperties* pGroup, bool bValue) { pGroup->SetSparksOnImpact(bValue); }}, +std::unordered_map> g_GroupPropertiesSettersBool{ + {ObjectGroupPhysicalProperties::Modifiable::CAMERAAVOID, [](CObjectGroupPhysicalProperties* pGroup, bool bValue) { pGroup->SetCameraAvoidObject(bValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::EXPLOSION, [](CObjectGroupPhysicalProperties* pGroup, bool bValue) { pGroup->SetCausesExplosion(bValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::SPARKSONIMPACT, [](CObjectGroupPhysicalProperties* pGroup, bool bValue) { pGroup->SetSparksOnImpact(bValue); }}, }; -std::unordered_map> g_GroupPropertiesSettersVector{ - {eObjectGroup::Modifiable::FXOFFSET, [](CObjectGroupPhysicalProperties* pGroup, CVector vecValue) { pGroup->SetFxOffset(vecValue); }}, - {eObjectGroup::Modifiable::BREAKVELOCITY, [](CObjectGroupPhysicalProperties* pGroup, CVector vecValue) { pGroup->SetBreakVelocity(vecValue); }}, +std::unordered_map> g_GroupPropertiesSettersVector{ + {ObjectGroupPhysicalProperties::Modifiable::FXOFFSET, [](CObjectGroupPhysicalProperties* pGroup, CVector vecValue) { pGroup->SetFxOffset(vecValue); }}, + {ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITY, [](CObjectGroupPhysicalProperties* pGroup, CVector vecValue) { pGroup->SetBreakVelocity(vecValue); }}, }; int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) { // bool engineSetObjectGroupPhysicalProperty ( int groupID, string property, ...) int iGivenGroup; - eObjectGroup::Modifiable eProperty; + ObjectGroupPhysicalProperties::Modifiable eProperty; CScriptArgReader argStream(luaVM); argStream.ReadNumber(iGivenGroup); @@ -2107,15 +2108,15 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) switch (eProperty) { - case eObjectGroup::Modifiable::MASS: - case eObjectGroup::Modifiable::TURNMASS: - case eObjectGroup::Modifiable::AIRRESISTANCE: - case eObjectGroup::Modifiable::ELASTICITY: - case eObjectGroup::Modifiable::BUOYANCY: - case eObjectGroup::Modifiable::UPROOTLIMIT: - case eObjectGroup::Modifiable::COLDAMAGEMULTIPLIER: - case eObjectGroup::Modifiable::SMASHMULTIPLIER: - case eObjectGroup::Modifiable::BREAKVELOCITYRAND: + case ObjectGroupPhysicalProperties::Modifiable::MASS: + case ObjectGroupPhysicalProperties::Modifiable::TURNMASS: + case ObjectGroupPhysicalProperties::Modifiable::AIRRESISTANCE: + case ObjectGroupPhysicalProperties::Modifiable::ELASTICITY: + case ObjectGroupPhysicalProperties::Modifiable::BUOYANCY: + case ObjectGroupPhysicalProperties::Modifiable::UPROOTLIMIT: + case ObjectGroupPhysicalProperties::Modifiable::COLDAMAGEMULTIPLIER: + case ObjectGroupPhysicalProperties::Modifiable::SMASHMULTIPLIER: + case ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITYRAND: { float fValue; argStream.ReadNumber(fValue); @@ -2126,9 +2127,9 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) lua_pushboolean(luaVM, true); return 1; } - case eObjectGroup::Modifiable::CAMERAAVOID: - case eObjectGroup::Modifiable::EXPLOSION: - case eObjectGroup::Modifiable::SPARKSONIMPACT: + case ObjectGroupPhysicalProperties::Modifiable::CAMERAAVOID: + case ObjectGroupPhysicalProperties::Modifiable::EXPLOSION: + case ObjectGroupPhysicalProperties::Modifiable::SPARKSONIMPACT: { bool bValue; argStream.ReadBool(bValue); @@ -2139,8 +2140,8 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) lua_pushboolean(luaVM, true); return 1; } - case eObjectGroup::Modifiable::FXOFFSET: - case eObjectGroup::Modifiable::BREAKVELOCITY: + case ObjectGroupPhysicalProperties::Modifiable::FXOFFSET: + case ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITY: { CVector vecValue; argStream.ReadVector3D(vecValue); @@ -2151,9 +2152,9 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) lua_pushboolean(luaVM, true); return 1; } - case eObjectGroup::Modifiable::COLDAMAGEEFFECT: + case ObjectGroupPhysicalProperties::Modifiable::COLDAMAGEEFFECT: { - eObjectGroup::DamageEffect eDamEffect; + ObjectGroupPhysicalProperties::DamageEffect eDamEffect; argStream.ReadEnumString(eDamEffect); if (argStream.HasErrors()) break; @@ -2162,9 +2163,9 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) lua_pushboolean(luaVM, true); return 1; } - case eObjectGroup::Modifiable::SPECIALCOLRESPONSE: + case ObjectGroupPhysicalProperties::Modifiable::SPECIALCOLRESPONSE: { - eObjectGroup::CollisionResponse eColRepsonse; + ObjectGroupPhysicalProperties::CollisionResponse eColRepsonse; argStream.ReadEnumString(eColRepsonse); if (argStream.HasErrors()) break; @@ -2173,9 +2174,9 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) lua_pushboolean(luaVM, true); return 1; } - case eObjectGroup::Modifiable::FXTYPE: + case ObjectGroupPhysicalProperties::Modifiable::FXTYPE: { - eObjectGroup::FxType eFxType; + ObjectGroupPhysicalProperties::FxType eFxType; argStream.ReadEnumString(eFxType); if (argStream.HasErrors()) break; @@ -2184,9 +2185,9 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) lua_pushboolean(luaVM, true); return 1; } - case eObjectGroup::Modifiable::BREAKMODE: + case ObjectGroupPhysicalProperties::Modifiable::BREAKMODE: { - eObjectGroup::BreakMode eBreakMode; + ObjectGroupPhysicalProperties::BreakMode eBreakMode; argStream.ReadEnumString(eBreakMode); if (argStream.HasErrors()) break; @@ -2195,7 +2196,7 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) lua_pushboolean(luaVM, true); return 1; } - case eObjectGroup::Modifiable::FXSYSTEM: + case ObjectGroupPhysicalProperties::Modifiable::FXSYSTEM: { if (argStream.NextIsBool()) { @@ -2242,31 +2243,31 @@ int CLuaEngineDefs::EngineSetObjectGroupPhysicalProperty(lua_State* luaVM) return luaL_error(luaVM, argStream.GetFullErrorMessage()); } -std::unordered_map> g_GroupPropertiesGettersFloat{ - {eObjectGroup::Modifiable::MASS, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetMass(); }}, - {eObjectGroup::Modifiable::TURNMASS, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetTurnMass(); }}, - {eObjectGroup::Modifiable::AIRRESISTANCE, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetAirResistance(); }}, - {eObjectGroup::Modifiable::ELASTICITY, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetElasticity(); }}, - {eObjectGroup::Modifiable::BUOYANCY, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetBuoyancy(); }}, - {eObjectGroup::Modifiable::UPROOTLIMIT, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetUprootLimit(); }}, - {eObjectGroup::Modifiable::COLDAMAGEMULTIPLIER, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetCollisionDamageMultiplier(); }}, - {eObjectGroup::Modifiable::SMASHMULTIPLIER, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetSmashMultiplier(); }}, - {eObjectGroup::Modifiable::BREAKVELOCITYRAND, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetBreakVelocityRandomness(); }}, +std::unordered_map> g_GroupPropertiesGettersFloat{ + {ObjectGroupPhysicalProperties::Modifiable::MASS, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetMass(); }}, + {ObjectGroupPhysicalProperties::Modifiable::TURNMASS, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetTurnMass(); }}, + {ObjectGroupPhysicalProperties::Modifiable::AIRRESISTANCE, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetAirResistance(); }}, + {ObjectGroupPhysicalProperties::Modifiable::ELASTICITY, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetElasticity(); }}, + {ObjectGroupPhysicalProperties::Modifiable::BUOYANCY, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetBuoyancy(); }}, + {ObjectGroupPhysicalProperties::Modifiable::UPROOTLIMIT, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetUprootLimit(); }}, + {ObjectGroupPhysicalProperties::Modifiable::COLDAMAGEMULTIPLIER, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetCollisionDamageMultiplier(); }}, + {ObjectGroupPhysicalProperties::Modifiable::SMASHMULTIPLIER, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetSmashMultiplier(); }}, + {ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITYRAND, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetBreakVelocityRandomness(); }}, }; -std::unordered_map> g_GroupPropertiesGettersBool{ - {eObjectGroup::Modifiable::CAMERAAVOID, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetCameraAvoidObject(); }}, - {eObjectGroup::Modifiable::EXPLOSION, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetCausesExplosion(); }}, - {eObjectGroup::Modifiable::SPARKSONIMPACT, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetSparksOnImpact(); }}, +std::unordered_map> g_GroupPropertiesGettersBool{ + {ObjectGroupPhysicalProperties::Modifiable::CAMERAAVOID, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetCameraAvoidObject(); }}, + {ObjectGroupPhysicalProperties::Modifiable::EXPLOSION, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetCausesExplosion(); }}, + {ObjectGroupPhysicalProperties::Modifiable::SPARKSONIMPACT, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetSparksOnImpact(); }}, }; -std::unordered_map> g_GroupPropertiesGettersVector{ - {eObjectGroup::Modifiable::FXOFFSET, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetFxOffset(); }}, - {eObjectGroup::Modifiable::BREAKVELOCITY, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetBreakVelocity(); }}, +std::unordered_map> g_GroupPropertiesGettersVector{ + {ObjectGroupPhysicalProperties::Modifiable::FXOFFSET, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetFxOffset(); }}, + {ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITY, [](CObjectGroupPhysicalProperties* pGroup) { return pGroup->GetBreakVelocity(); }}, }; int CLuaEngineDefs::EngineGetObjectGroupPhysicalProperty(lua_State* luaVM) { // bool engineGetObjectGroupPhysicalProperty ( int groupID, string property ) int iGivenGroup; - eObjectGroup::Modifiable eProperty; + ObjectGroupPhysicalProperties::Modifiable eProperty; CScriptArgReader argStream(luaVM); argStream.ReadNumber(iGivenGroup); @@ -2290,72 +2291,72 @@ int CLuaEngineDefs::EngineGetObjectGroupPhysicalProperty(lua_State* luaVM) switch (eProperty) { - case eObjectGroup::Modifiable::MASS: - case eObjectGroup::Modifiable::TURNMASS: - case eObjectGroup::Modifiable::AIRRESISTANCE: - case eObjectGroup::Modifiable::ELASTICITY: - case eObjectGroup::Modifiable::BUOYANCY: - case eObjectGroup::Modifiable::UPROOTLIMIT: - case eObjectGroup::Modifiable::COLDAMAGEMULTIPLIER: - case eObjectGroup::Modifiable::SMASHMULTIPLIER: - case eObjectGroup::Modifiable::BREAKVELOCITYRAND: + case ObjectGroupPhysicalProperties::Modifiable::MASS: + case ObjectGroupPhysicalProperties::Modifiable::TURNMASS: + case ObjectGroupPhysicalProperties::Modifiable::AIRRESISTANCE: + case ObjectGroupPhysicalProperties::Modifiable::ELASTICITY: + case ObjectGroupPhysicalProperties::Modifiable::BUOYANCY: + case ObjectGroupPhysicalProperties::Modifiable::UPROOTLIMIT: + case ObjectGroupPhysicalProperties::Modifiable::COLDAMAGEMULTIPLIER: + case ObjectGroupPhysicalProperties::Modifiable::SMASHMULTIPLIER: + case ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITYRAND: { float fValue = g_GroupPropertiesGettersFloat[eProperty](pGroup); lua_pushnumber(luaVM, fValue); return 1; } - case eObjectGroup::Modifiable::CAMERAAVOID: - case eObjectGroup::Modifiable::EXPLOSION: - case eObjectGroup::Modifiable::SPARKSONIMPACT: + case ObjectGroupPhysicalProperties::Modifiable::CAMERAAVOID: + case ObjectGroupPhysicalProperties::Modifiable::EXPLOSION: + case ObjectGroupPhysicalProperties::Modifiable::SPARKSONIMPACT: { bool bValue = g_GroupPropertiesGettersBool[eProperty](pGroup); lua_pushboolean(luaVM, bValue); return 1; } - case eObjectGroup::Modifiable::FXOFFSET: - case eObjectGroup::Modifiable::BREAKVELOCITY: + case ObjectGroupPhysicalProperties::Modifiable::FXOFFSET: + case ObjectGroupPhysicalProperties::Modifiable::BREAKVELOCITY: { CVector vecValue = g_GroupPropertiesGettersVector[eProperty](pGroup); lua_pushvector(luaVM, vecValue); return 1; } - case eObjectGroup::Modifiable::COLDAMAGEEFFECT: + case ObjectGroupPhysicalProperties::Modifiable::COLDAMAGEEFFECT: { - eObjectGroup::DamageEffect eDamEffect = pGroup->GetCollisionDamageEffect(); + ObjectGroupPhysicalProperties::DamageEffect eDamEffect = pGroup->GetCollisionDamageEffect(); if (!EnumValueValid(eDamEffect)) break; lua_pushstring(luaVM, EnumToString(eDamEffect)); return 1; } - case eObjectGroup::Modifiable::SPECIALCOLRESPONSE: + case ObjectGroupPhysicalProperties::Modifiable::SPECIALCOLRESPONSE: { - eObjectGroup::CollisionResponse eColRepsonse = pGroup->GetCollisionSpecialResponseCase(); + ObjectGroupPhysicalProperties::CollisionResponse eColRepsonse = pGroup->GetCollisionSpecialResponseCase(); if (!EnumValueValid(eColRepsonse)) break; lua_pushstring(luaVM, EnumToString(eColRepsonse)); return 1; } - case eObjectGroup::Modifiable::FXTYPE: + case ObjectGroupPhysicalProperties::Modifiable::FXTYPE: { - eObjectGroup::FxType eFxType = pGroup->GetFxType(); + ObjectGroupPhysicalProperties::FxType eFxType = pGroup->GetFxType(); if (!EnumValueValid(eFxType)) break; lua_pushstring(luaVM, EnumToString(eFxType)); return 1; } - case eObjectGroup::Modifiable::BREAKMODE: + case ObjectGroupPhysicalProperties::Modifiable::BREAKMODE: { - eObjectGroup::BreakMode eBreakMode = pGroup->GetBreakMode(); + ObjectGroupPhysicalProperties::BreakMode eBreakMode = pGroup->GetBreakMode(); if (!EnumValueValid(eBreakMode)) break; lua_pushstring(luaVM, EnumToString(eBreakMode)); return 1; } - case eObjectGroup::Modifiable::FXSYSTEM: + case ObjectGroupPhysicalProperties::Modifiable::FXSYSTEM: { argStream.SetCustomError("Fx system name isn't possible to be extracted."); break; diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaObjectDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaObjectDefs.cpp index 47a1d7a4b28..35e05386335 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaObjectDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaObjectDefs.cpp @@ -253,43 +253,43 @@ int CLuaObjectDefs::GetObjectProperty(lua_State* luaVM) { // float, float, float getObjectProperty ( object theObject, string property ) CClientObject* pObject; - eObjectProperty eProp; + ObjectProperty eProp; CScriptArgReader argStream(luaVM); argStream.ReadUserData(pObject); - argStream.ReadEnumString(eProp, eObjectProperty::OBJECT_PROPERTY_MAX); + argStream.ReadEnumString(eProp, ObjectProperty::OBJECT_PROPERTY_MAX); if (!argStream.HasErrors()) { switch (eProp) { - case OBJECT_PROPERTY_ALL: + case ObjectProperty::OBJECT_PROPERTY_ALL: { lua_newtable(luaVM); lua_pushnumber(luaVM, pObject->GetMass()); - lua_setfield(luaVM, -2, EnumToString(eObjectProperty::OBJECT_PROPERTY_MASS)); + lua_setfield(luaVM, -2, EnumToString(ObjectProperty::OBJECT_PROPERTY_MASS)); lua_pushnumber(luaVM, pObject->GetTurnMass()); - lua_setfield(luaVM, -2, EnumToString(eObjectProperty::OBJECT_PROPERTY_TURNMASS)); + lua_setfield(luaVM, -2, EnumToString(ObjectProperty::OBJECT_PROPERTY_TURNMASS)); lua_pushnumber(luaVM, pObject->GetAirResistance()); - lua_setfield(luaVM, -2, EnumToString(eObjectProperty::OBJECT_PROPERTY_AIRRESISTANCE)); + lua_setfield(luaVM, -2, EnumToString(ObjectProperty::OBJECT_PROPERTY_AIRRESISTANCE)); lua_pushnumber(luaVM, pObject->GetElasticity()); - lua_setfield(luaVM, -2, EnumToString(eObjectProperty::OBJECT_PROPERTY_ELASTICITY)); + lua_setfield(luaVM, -2, EnumToString(ObjectProperty::OBJECT_PROPERTY_ELASTICITY)); CVector vecCenter; pObject->GetCenterOfMass(vecCenter); lua_pushvector(luaVM, vecCenter); - lua_setfield(luaVM, -2, EnumToString(eObjectProperty::OBJECT_PROPERTY_CENTEROFMASS)); + lua_setfield(luaVM, -2, EnumToString(ObjectProperty::OBJECT_PROPERTY_CENTEROFMASS)); lua_pushnumber(luaVM, pObject->GetBuoyancyConstant()); - lua_setfield(luaVM, -2, EnumToString(eObjectProperty::OBJECT_PROPERTY_BUOYANCY)); + lua_setfield(luaVM, -2, EnumToString(ObjectProperty::OBJECT_PROPERTY_BUOYANCY)); return 1; break; } - case OBJECT_PROPERTY_MASS: + case ObjectProperty::OBJECT_PROPERTY_MASS: { float fMass; if (CStaticFunctionDefinitions::GetObjectMass(*pObject, fMass)) @@ -299,7 +299,7 @@ int CLuaObjectDefs::GetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_TURNMASS: + case ObjectProperty::OBJECT_PROPERTY_TURNMASS: { float fTurnMass; if (CStaticFunctionDefinitions::GetObjectTurnMass(*pObject, fTurnMass)) @@ -309,7 +309,7 @@ int CLuaObjectDefs::GetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_AIRRESISTANCE: + case ObjectProperty::OBJECT_PROPERTY_AIRRESISTANCE: { float fAirResistance; if (CStaticFunctionDefinitions::GetObjectAirResistance(*pObject, fAirResistance)) @@ -319,7 +319,7 @@ int CLuaObjectDefs::GetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_ELASTICITY: + case ObjectProperty::OBJECT_PROPERTY_ELASTICITY: { float fElasticity; if (CStaticFunctionDefinitions::GetObjectElasticity(*pObject, fElasticity)) @@ -329,7 +329,7 @@ int CLuaObjectDefs::GetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_CENTEROFMASS: + case ObjectProperty::OBJECT_PROPERTY_CENTEROFMASS: { CVector vecCenterOfMass; if (CStaticFunctionDefinitions::GetObjectCenterOfMass(*pObject, vecCenterOfMass)) @@ -341,7 +341,7 @@ int CLuaObjectDefs::GetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_BUOYANCY: + case ObjectProperty::OBJECT_PROPERTY_BUOYANCY: { float fBuoyancyConstant; if (CStaticFunctionDefinitions::GetObjectBuoyancyConstant(*pObject, fBuoyancyConstant)) @@ -611,13 +611,13 @@ int CLuaObjectDefs::SetObjectProperty(lua_State* luaVM) { // bool setObjectProperty ( object theObject, string property, ... ) CClientEntity* pEntity; - eObjectProperty eProp; + ObjectProperty eProp; CScriptArgReader argStream(luaVM); argStream.ReadUserData(pEntity); argStream.ReadEnumString(eProp); - if (!argStream.HasErrors() && eProp == OBJECT_PROPERTY_ALL) + if (!argStream.HasErrors() && eProp == ObjectProperty::OBJECT_PROPERTY_ALL) { argStream.SetTypeError(GetEnumTypeName(eProp), 2); } @@ -626,7 +626,7 @@ int CLuaObjectDefs::SetObjectProperty(lua_State* luaVM) { switch (eProp) { - case OBJECT_PROPERTY_MASS: + case ObjectProperty::OBJECT_PROPERTY_MASS: { float fMass; argStream.ReadNumber(fMass); @@ -637,7 +637,7 @@ int CLuaObjectDefs::SetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_TURNMASS: + case ObjectProperty::OBJECT_PROPERTY_TURNMASS: { float fTurnMass; argStream.ReadNumber(fTurnMass); @@ -648,7 +648,7 @@ int CLuaObjectDefs::SetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_AIRRESISTANCE: + case ObjectProperty::OBJECT_PROPERTY_AIRRESISTANCE: { float fAirResistance; argStream.ReadNumber(fAirResistance); @@ -659,7 +659,7 @@ int CLuaObjectDefs::SetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_ELASTICITY: + case ObjectProperty::OBJECT_PROPERTY_ELASTICITY: { float fElasticity; argStream.ReadNumber(fElasticity); @@ -670,7 +670,7 @@ int CLuaObjectDefs::SetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_CENTEROFMASS: + case ObjectProperty::OBJECT_PROPERTY_CENTEROFMASS: { CVector vecCenterOfMass; if (argStream.NextIsVector3D()) @@ -690,7 +690,7 @@ int CLuaObjectDefs::SetObjectProperty(lua_State* luaVM) } break; } - case OBJECT_PROPERTY_BUOYANCY: + case ObjectProperty::OBJECT_PROPERTY_BUOYANCY: { float fBuoyancyConstant; argStream.ReadNumber(fBuoyancyConstant); diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp index b6c3b12fad0..80bbccfa219 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp @@ -16,6 +16,8 @@ #include "lua/CLuaFunctionParser.h" #include +#include "enums/HandlingProperty.h" + void CLuaVehicleDefs::LoadFunctions() { constexpr static const std::pair functions[]{ @@ -2521,8 +2523,8 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM) SString strProperty; argStream.ReadString(strProperty); - eHandlingProperty eProperty = g_pGame->GetHandlingManager()->GetPropertyEnumFromName(strProperty); - if (eProperty) + HandlingProperty eProperty = g_pGame->GetHandlingManager()->GetPropertyEnumFromName(strProperty); + if (eProperty > HandlingProperty::HANDLING_NONE) { if (argStream.NextIsNil()) { @@ -2536,27 +2538,27 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM) { switch (eProperty) { - case HANDLING_MASS: - case HANDLING_TURNMASS: - case HANDLING_DRAGCOEFF: - case HANDLING_TRACTIONMULTIPLIER: - case HANDLING_ENGINEACCELERATION: - case HANDLING_ENGINEINERTIA: - case HANDLING_MAXVELOCITY: - case HANDLING_BRAKEDECELERATION: - case HANDLING_BRAKEBIAS: - case HANDLING_STEERINGLOCK: - case HANDLING_TRACTIONLOSS: - case HANDLING_TRACTIONBIAS: - case HANDLING_SUSPENSION_FORCELEVEL: - case HANDLING_SUSPENSION_DAMPING: - case HANDLING_SUSPENSION_HIGHSPEEDDAMPING: - case HANDLING_SUSPENSION_UPPER_LIMIT: - case HANDLING_SUSPENSION_LOWER_LIMIT: - case HANDLING_SUSPENSION_FRONTREARBIAS: - case HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: - case HANDLING_COLLISIONDAMAGEMULTIPLIER: - case HANDLING_SEATOFFSETDISTANCE: + case HandlingProperty::HANDLING_MASS: + case HandlingProperty::HANDLING_TURNMASS: + case HandlingProperty::HANDLING_DRAGCOEFF: + case HandlingProperty::HANDLING_TRACTIONMULTIPLIER: + case HandlingProperty::HANDLING_ENGINEACCELERATION: + case HandlingProperty::HANDLING_ENGINEINERTIA: + case HandlingProperty::HANDLING_MAXVELOCITY: + case HandlingProperty::HANDLING_BRAKEDECELERATION: + case HandlingProperty::HANDLING_BRAKEBIAS: + case HandlingProperty::HANDLING_STEERINGLOCK: + case HandlingProperty::HANDLING_TRACTIONLOSS: + case HandlingProperty::HANDLING_TRACTIONBIAS: + case HandlingProperty::HANDLING_SUSPENSION_FORCELEVEL: + case HandlingProperty::HANDLING_SUSPENSION_DAMPING: + case HandlingProperty::HANDLING_SUSPENSION_HIGHSPEEDDAMPING: + case HandlingProperty::HANDLING_SUSPENSION_UPPER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_LOWER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_FRONTREARBIAS: + case HandlingProperty::HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: + case HandlingProperty::HANDLING_COLLISIONDAMAGEMULTIPLIER: + case HandlingProperty::HANDLING_SEATOFFSETDISTANCE: { float fValue; argStream.ReadNumber(fValue); @@ -2567,10 +2569,10 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM) } break; } - case HANDLING_PERCENTSUBMERGED: // unsigned int - // case HANDLING_MONETARY: - case HANDLING_HANDLINGFLAGS: - case HANDLING_MODELFLAGS: + case HandlingProperty::HANDLING_PERCENTSUBMERGED: // unsigned int + // case HANDLING_MONETARY: + case HandlingProperty::HANDLING_HANDLINGFLAGS: + case HandlingProperty::HANDLING_MODELFLAGS: { unsigned int uiValue; argStream.ReadNumber(uiValue); @@ -2581,8 +2583,8 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM) } break; } - case HANDLING_NUMOFGEARS: - case HANDLING_ANIMGROUP: + case HandlingProperty::HANDLING_NUMOFGEARS: + case HandlingProperty::HANDLING_ANIMGROUP: { unsigned char ucValue; argStream.ReadNumber(ucValue); @@ -2593,7 +2595,7 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM) } break; } - case HANDLING_CENTEROFMASS: + case HandlingProperty::HANDLING_CENTEROFMASS: { if (argStream.NextIsTable()) { @@ -2623,8 +2625,8 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM) argStream.SetTypeError("table"); break; } - case HANDLING_DRIVETYPE: - case HANDLING_ENGINETYPE: + case HandlingProperty::HANDLING_DRIVETYPE: + case HandlingProperty::HANDLING_ENGINETYPE: // case HANDLING_HEADLIGHT: // case HANDLING_TAILLIGHT: { @@ -2637,7 +2639,7 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM) } break; } - case HANDLING_ABS: + case HandlingProperty::HANDLING_ABS: { bool bValue; argStream.ReadBool(bValue); @@ -2648,7 +2650,7 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM) } break; } - case HANDLING_MAX: + case HandlingProperty::HANDLING_MAX: { argStream.SetCustomError("Invalid property"); break; @@ -2690,8 +2692,8 @@ int CLuaVehicleDefs::GetVehicleHandling(lua_State* luaVM) argStream.ReadString(strProperty); bool bResult = true; - eHandlingProperty eProperty = g_pGame->GetHandlingManager()->GetPropertyEnumFromName(strProperty); - if (eProperty != HANDLING_MAX) + HandlingProperty eProperty = g_pGame->GetHandlingManager()->GetPropertyEnumFromName(strProperty); + if (eProperty != HandlingProperty::HANDLING_MAX) { float fValue = 0.0f; CVector vecValue = CVector(0.0f, 0.0f, 0.0f); @@ -3976,7 +3978,7 @@ int CLuaVehicleDefs::SetVehicleModelDummyPosition(lua_State* luaVM) { // bool setVehicleModelDummyPosition ( int modelID, vehicle-dummy dummy, float x, float y, float z ) unsigned short usModel; - eVehicleDummies eDummy; + VehicleDummies eDummy; CVector vecPosition; CScriptArgReader argStream(luaVM); @@ -4003,7 +4005,7 @@ int CLuaVehicleDefs::GetVehicleModelDummyPosition(lua_State* luaVM) { // float, float, float getVehicleModelDummyPosition ( int modelID, vehicle-dummy dummy ) unsigned short usModel; - eVehicleDummies eDummy; + VehicleDummies eDummy; CScriptArgReader argStream(luaVM); argStream.ReadNumber(usModel); @@ -4032,7 +4034,7 @@ int CLuaVehicleDefs::OOP_GetVehicleModelDummyPosition(lua_State* luaVM) { // float, float, float getVehicleModelDummyPosition ( int modelID, vehicle-dummy dummy ) unsigned short usModel; - eVehicleDummies eDummy; + VehicleDummies eDummy; CScriptArgReader argStream(luaVM); argStream.ReadNumber(usModel); @@ -4160,7 +4162,7 @@ bool CLuaVehicleDefs::SetVehicleWheelScale(CClientVehicle* const pVehicle, const } std::variant> CLuaVehicleDefs::GetVehicleModelWheelSize( - const unsigned short usModel, const std::optional eWheelGroup) + const unsigned short usModel, const std::optional eWheelGroup) { CModelInfo* pModelInfo = nullptr; if (CClientVehicleManager::IsValidModel(usModel)) @@ -4169,19 +4171,19 @@ std::variant> CLuaVehicleDefs::Get if (!pModelInfo) throw std::invalid_argument("Invalid model ID"); - eResizableVehicleWheelGroup eActualWheelGroup = eWheelGroup.value_or(eResizableVehicleWheelGroup::ALL_WHEELS); - if (eActualWheelGroup == eResizableVehicleWheelGroup::ALL_WHEELS) + ResizableVehicleWheelGroup eActualWheelGroup = eWheelGroup.value_or(ResizableVehicleWheelGroup::ALL_WHEELS); + if (eActualWheelGroup == ResizableVehicleWheelGroup::ALL_WHEELS) { // Return a table like { ["front_axle"] = 0.7, ["rear_axle"] = 0.8 } return std::unordered_map{ - {"front_axle", pModelInfo->GetVehicleWheelSize(eResizableVehicleWheelGroup::FRONT_AXLE)}, - {"rear_axle", pModelInfo->GetVehicleWheelSize(eResizableVehicleWheelGroup::REAR_AXLE)}, + {"front_axle", pModelInfo->GetVehicleWheelSize(ResizableVehicleWheelGroup::FRONT_AXLE)}, + {"rear_axle", pModelInfo->GetVehicleWheelSize(ResizableVehicleWheelGroup::REAR_AXLE)}, }; } return pModelInfo->GetVehicleWheelSize(eActualWheelGroup); } -bool CLuaVehicleDefs::SetVehicleModelWheelSize(const unsigned short usModel, const eResizableVehicleWheelGroup eWheelGroup, const float fWheelSize) +bool CLuaVehicleDefs::SetVehicleModelWheelSize(const unsigned short usModel, const ResizableVehicleWheelGroup eWheelGroup, const float fWheelSize) { CModelInfo* pModelInfo = nullptr; @@ -4213,7 +4215,7 @@ int CLuaVehicleDefs::GetVehicleWheelFrictionState(CClientVehicle* pVehicle, unsi } std::variant> CLuaVehicleDefs::GetVehicleModelDummyDefaultPosition(unsigned short vehicleModel, - eVehicleDummies dummy) + VehicleDummies dummy) { CVector position; @@ -4223,7 +4225,7 @@ std::variant> CLuaVehicleDefs::GetVeh return std::tuple(position.fX, position.fY, position.fZ); } -std::variant CLuaVehicleDefs::OOP_GetVehicleModelDummyDefaultPosition(unsigned short vehicleModel, eVehicleDummies dummy) +std::variant CLuaVehicleDefs::OOP_GetVehicleModelDummyDefaultPosition(unsigned short vehicleModel, VehicleDummies dummy) { CVector position; @@ -4233,12 +4235,12 @@ std::variant CLuaVehicleDefs::OOP_GetVehicleModelDummyDefaultPosi return position; } -bool CLuaVehicleDefs::SetVehicleDummyPosition(CClientVehicle* vehicle, eVehicleDummies dummy, CVector position) +bool CLuaVehicleDefs::SetVehicleDummyPosition(CClientVehicle* vehicle, VehicleDummies dummy, CVector position) { return vehicle->SetDummyPosition(dummy, position); } -std::variant> CLuaVehicleDefs::GetVehicleDummyPosition(CClientVehicle* vehicle, eVehicleDummies dummy) +std::variant> CLuaVehicleDefs::GetVehicleDummyPosition(CClientVehicle* vehicle, VehicleDummies dummy) { CVector position; @@ -4248,7 +4250,7 @@ std::variant> CLuaVehicleDefs::GetVeh return std::tuple(position.fX, position.fY, position.fZ); } -std::variant CLuaVehicleDefs::OOP_GetVehicleDummyPosition(CClientVehicle* vehicle, eVehicleDummies dummy) +std::variant CLuaVehicleDefs::OOP_GetVehicleDummyPosition(CClientVehicle* vehicle, VehicleDummies dummy) { CVector position; @@ -4426,7 +4428,7 @@ bool CLuaVehicleDefs::GetVehicleRotorState(CClientVehicle* vehicle) noexcept return vehicle->GetVehicleRotorState(); } -bool CLuaVehicleDefs::SetVehicleModelAudioSetting(const uint32_t uiModel, const eVehicleAudioSettingProperty eProperty, float varValue) +bool CLuaVehicleDefs::SetVehicleModelAudioSetting(const uint32_t uiModel, const VehicleAudioSettingProperty eProperty, float varValue) { if (!CClientVehicleManager::IsStandardModel(uiModel)) throw std::invalid_argument("Cannot change audio setting for allocated vechiles"); @@ -4435,10 +4437,10 @@ bool CLuaVehicleDefs::SetVehicleModelAudioSetting(const uint32_t uiModel, const switch (eProperty) { - case eVehicleAudioSettingProperty::DOOR_SOUND: + case VehicleAudioSettingProperty::DOOR_SOUND: pModelSettings.SetDoorSound(varValue); break; - case eVehicleAudioSettingProperty::ENGINE_OFF_SOUND_BANK_ID: + case VehicleAudioSettingProperty::ENGINE_OFF_SOUND_BANK_ID: { // Using SPC_ sound banks other than SPC_EA causes a crash if (varValue > 410) @@ -4447,7 +4449,7 @@ bool CLuaVehicleDefs::SetVehicleModelAudioSetting(const uint32_t uiModel, const pModelSettings.SetEngineOffSoundBankID(varValue); break; } - case eVehicleAudioSettingProperty::ENGINE_ON_SOUND_BANK_ID: + case VehicleAudioSettingProperty::ENGINE_ON_SOUND_BANK_ID: { // Using SPC_ sound banks other than SPC_EA causes a crash if (varValue > 410) @@ -4456,37 +4458,37 @@ bool CLuaVehicleDefs::SetVehicleModelAudioSetting(const uint32_t uiModel, const pModelSettings.SetEngineOnSoundBankID(varValue); break; } - case eVehicleAudioSettingProperty::HORN_HIGH: + case VehicleAudioSettingProperty::HORN_HIGH: pModelSettings.SetHornHign(varValue); break; - case eVehicleAudioSettingProperty::HORN_TON: + case VehicleAudioSettingProperty::HORN_TON: pModelSettings.SetHornTon(varValue); break; - case eVehicleAudioSettingProperty::HORN_VOLUME_DELTA: + case VehicleAudioSettingProperty::HORN_VOLUME_DELTA: pModelSettings.SetHornVolumeDelta(varValue); break; - case eVehicleAudioSettingProperty::RADIO_NUM: + case VehicleAudioSettingProperty::RADIO_NUM: pModelSettings.SetRadioNum(varValue); break; - case eVehicleAudioSettingProperty::RADIO_TYPE: + case VehicleAudioSettingProperty::RADIO_TYPE: pModelSettings.SetRadioType(varValue); break; - case eVehicleAudioSettingProperty::SOUND_TYPE: - pModelSettings.SetSoundType((eVehicleSoundType)(int)(varValue)); + case VehicleAudioSettingProperty::SOUND_TYPE: + pModelSettings.SetSoundType((VehicleSoundType)(int)(varValue)); break; - case eVehicleAudioSettingProperty::BASS_SETTING: + case VehicleAudioSettingProperty::BASS_SETTING: pModelSettings.SetBassSetting(varValue); break; - case eVehicleAudioSettingProperty::BASS_EQ: + case VehicleAudioSettingProperty::BASS_EQ: pModelSettings.SetBassEq(varValue); break; - case eVehicleAudioSettingProperty::FIELD_C: + case VehicleAudioSettingProperty::FIELD_C: pModelSettings.SetFieldC(varValue); break; - case eVehicleAudioSettingProperty::ENGINE_UPGRADE: + case VehicleAudioSettingProperty::ENGINE_UPGRADE: pModelSettings.SetEngineUpgrade(varValue); break; - case eVehicleAudioSettingProperty::VEHICLE_TYPE_FOR_AUDIO: + case VehicleAudioSettingProperty::VEHICLE_TYPE_FOR_AUDIO: pModelSettings.SetVehicleTypeForAudio(varValue); break; default: @@ -4504,16 +4506,16 @@ bool CLuaVehicleDefs::ResetVehicleModelAudioSettings(const uint32_t uiModel) g_pGame->GetVehicleAudioSettingsManager()->ResetModelSettings(uiModel); } -bool CLuaVehicleDefs::SetVehicleAudioSetting(CClientVehicle* pVehicle, const eVehicleAudioSettingProperty eProperty, float varValue) +bool CLuaVehicleDefs::SetVehicleAudioSetting(CClientVehicle* pVehicle, const VehicleAudioSettingProperty eProperty, float varValue) { CVehicleAudioSettingsEntry& pModelSettings = pVehicle->GetOrCreateAudioSettings(); switch (eProperty) { - case eVehicleAudioSettingProperty::DOOR_SOUND: + case VehicleAudioSettingProperty::DOOR_SOUND: pModelSettings.SetDoorSound(varValue); break; - case eVehicleAudioSettingProperty::ENGINE_OFF_SOUND_BANK_ID: + case VehicleAudioSettingProperty::ENGINE_OFF_SOUND_BANK_ID: { // Using SPC_ sound banks other than SPC_EA causes a crash if (varValue > 410) @@ -4522,7 +4524,7 @@ bool CLuaVehicleDefs::SetVehicleAudioSetting(CClientVehicle* pVehicle, const eVe pModelSettings.SetEngineOffSoundBankID(varValue); break; } - case eVehicleAudioSettingProperty::ENGINE_ON_SOUND_BANK_ID: + case VehicleAudioSettingProperty::ENGINE_ON_SOUND_BANK_ID: { // Using SPC_ sound banks other than SPC_EA causes a crash if (varValue > 410) @@ -4531,37 +4533,37 @@ bool CLuaVehicleDefs::SetVehicleAudioSetting(CClientVehicle* pVehicle, const eVe pModelSettings.SetEngineOnSoundBankID(varValue); break; } - case eVehicleAudioSettingProperty::HORN_HIGH: + case VehicleAudioSettingProperty::HORN_HIGH: pModelSettings.SetHornHign(varValue); break; - case eVehicleAudioSettingProperty::HORN_TON: + case VehicleAudioSettingProperty::HORN_TON: pModelSettings.SetHornTon(varValue); break; - case eVehicleAudioSettingProperty::HORN_VOLUME_DELTA: + case VehicleAudioSettingProperty::HORN_VOLUME_DELTA: pModelSettings.SetHornVolumeDelta(varValue); break; - case eVehicleAudioSettingProperty::RADIO_NUM: + case VehicleAudioSettingProperty::RADIO_NUM: pModelSettings.SetRadioNum(varValue); break; - case eVehicleAudioSettingProperty::RADIO_TYPE: + case VehicleAudioSettingProperty::RADIO_TYPE: pModelSettings.SetRadioType(varValue); break; - case eVehicleAudioSettingProperty::SOUND_TYPE: - pModelSettings.SetSoundType((eVehicleSoundType)(int)(varValue)); + case VehicleAudioSettingProperty::SOUND_TYPE: + pModelSettings.SetSoundType((VehicleSoundType)(int)(varValue)); break; - case eVehicleAudioSettingProperty::BASS_SETTING: + case VehicleAudioSettingProperty::BASS_SETTING: pModelSettings.SetBassSetting(varValue); break; - case eVehicleAudioSettingProperty::BASS_EQ: + case VehicleAudioSettingProperty::BASS_EQ: pModelSettings.SetBassEq(varValue); break; - case eVehicleAudioSettingProperty::FIELD_C: + case VehicleAudioSettingProperty::FIELD_C: pModelSettings.SetFieldC(varValue); break; - case eVehicleAudioSettingProperty::ENGINE_UPGRADE: + case VehicleAudioSettingProperty::ENGINE_UPGRADE: pModelSettings.SetEngineUpgrade(varValue); break; - case eVehicleAudioSettingProperty::VEHICLE_TYPE_FOR_AUDIO: + case VehicleAudioSettingProperty::VEHICLE_TYPE_FOR_AUDIO: pModelSettings.SetVehicleTypeForAudio(varValue); break; default: diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.h index 346ebd57395..d2139619184 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.h @@ -13,6 +13,8 @@ #include "CLuaDefs.h" #include +#include "enums/VehicleAudioSettingProperty.h" + class CLuaVehicleDefs : public CLuaDefs { public: @@ -144,12 +146,12 @@ class CLuaVehicleDefs : public CLuaDefs LUA_DECLARE(SetVehicleModelDummyPosition); LUA_DECLARE_OOP(GetVehicleModelDummyPosition) - static std::variant> GetVehicleModelDummyDefaultPosition(unsigned short vehicleModel, eVehicleDummies dummy); - static std::variant OOP_GetVehicleModelDummyDefaultPosition(unsigned short vehicleModel, eVehicleDummies dummy); + static std::variant> GetVehicleModelDummyDefaultPosition(unsigned short vehicleModel, VehicleDummies dummy); + static std::variant OOP_GetVehicleModelDummyDefaultPosition(unsigned short vehicleModel, VehicleDummies dummy); - static bool SetVehicleDummyPosition(CClientVehicle* vehicle, eVehicleDummies dummy, CVector position); - static std::variant> GetVehicleDummyPosition(CClientVehicle* vehicle, eVehicleDummies dummy); - static std::variant OOP_GetVehicleDummyPosition(CClientVehicle* vehicle, eVehicleDummies dummy); + static bool SetVehicleDummyPosition(CClientVehicle* vehicle, VehicleDummies dummy, CVector position); + static std::variant> GetVehicleDummyPosition(CClientVehicle* vehicle, VehicleDummies dummy); + static std::variant OOP_GetVehicleDummyPosition(CClientVehicle* vehicle, VehicleDummies dummy); static bool ResetVehicleDummyPositions(CClientVehicle* vehicle); static std::variant, 4>> GetVehicleEntryPoints(CClientVehicle* vehicle); @@ -162,8 +164,8 @@ class CLuaVehicleDefs : public CLuaDefs static float GetVehicleWheelScale(CClientVehicle* const pVehicle); static bool SetVehicleWheelScale(CClientVehicle* const pVehicle, const float fWheelScale); static std::variant> GetVehicleModelWheelSize(const unsigned short usModel, - const std::optional eWheelGroup); - static bool SetVehicleModelWheelSize(const unsigned short usModel, const eResizableVehicleWheelGroup eWheelGroup, const float fWheelSize); + const std::optional eWheelGroup); + static bool SetVehicleModelWheelSize(const unsigned short usModel, const ResizableVehicleWheelGroup eWheelGroup, const float fWheelSize); static int GetVehicleWheelFrictionState(CClientVehicle* pVehicle, unsigned char wheel); static bool SetVehicleRotorState(CClientVehicle* const vehicle, bool state, std::optional stopRotor) noexcept; @@ -172,9 +174,9 @@ class CLuaVehicleDefs : public CLuaDefs static bool AddVehicleSirens(CClientVehicle* vehicle, std::uint8_t sirenType, std::uint8_t sirenCount, std::optional enable360, std::optional enableLOSCheck, std::optional enableRandomiser, std::optional enableSilent) noexcept; static bool RemoveVehicleSirens(CClientVehicle* vehicle) noexcept; - static bool SetVehicleModelAudioSetting(const uint32_t uiModel, const eVehicleAudioSettingProperty eProperty, float varValue); + static bool SetVehicleModelAudioSetting(const uint32_t uiModel, const VehicleAudioSettingProperty eProperty, float varValue); static bool ResetVehicleModelAudioSettings(const uint32_t uiModel); - static bool SetVehicleAudioSetting(CClientVehicle* pVehicle, const eVehicleAudioSettingProperty eProperty, float varValue); + static bool SetVehicleAudioSetting(CClientVehicle* pVehicle, const VehicleAudioSettingProperty eProperty, float varValue); static bool ResetVehicleAudioSettings(CClientVehicle* pVehicle); static std::unordered_map GetVehicleModelAudioSettings(uint32_t uiModel); static std::unordered_map GetVehicleAudioSettings(CClientVehicle* pVehicle); diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaWeaponDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaWeaponDefs.cpp index 486bc1b5048..39cb8eff19c 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaWeaponDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaWeaponDefs.cpp @@ -209,14 +209,14 @@ int CLuaWeaponDefs::FireWeapon(lua_State* luaVM) int CLuaWeaponDefs::SetWeaponProperty(lua_State* luaVM) { CClientWeapon* pWeapon; - eWeaponProperty weaponProperty; + WeaponProperty weaponProperty; CScriptArgReader argStream(luaVM); argStream.ReadUserData(pWeapon); argStream.ReadEnumString(weaponProperty); if (!argStream.HasErrors()) { - if (weaponProperty == WEAPON_DAMAGE) + if (weaponProperty == WeaponProperty::WEAPON_DAMAGE) { short sData = 0; argStream.ReadNumber(sData); @@ -229,7 +229,7 @@ int CLuaWeaponDefs::SetWeaponProperty(lua_State* luaVM) } } } - else if (weaponProperty == WEAPON_FIRE_ROTATION) + else if (weaponProperty == WeaponProperty::WEAPON_FIRE_ROTATION) { CVector vecRotation; argStream.ReadVector3D(vecRotation); @@ -694,7 +694,7 @@ int CLuaWeaponDefs::SetWeaponClipAmmo(lua_State* luaVM) return 1; } -std::variant> CLuaWeaponDefs::GetWeaponProperty(lua_State* luaVM, std::variant weapon, std::variant weaponSkill, eWeaponProperty property) +std::variant> CLuaWeaponDefs::GetWeaponProperty(lua_State* luaVM, std::variant weapon, std::variant weaponSkill, WeaponProperty property) { eWeaponSkill skill = WEAPONSKILL_POOR; if (std::holds_alternative(weaponSkill)) @@ -715,20 +715,20 @@ std::variant> CLuaWeaponDef switch (property) { - case eWeaponProperty::WEAPON_DAMAGE: + case WeaponProperty::WEAPON_DAMAGE: return weaponStats->GetDamagePerHit(); - case eWeaponProperty::WEAPON_FIRE_ROTATION: + case WeaponProperty::WEAPON_FIRE_ROTATION: { CVector fireRotation = weaponPtr->GetFireRotationNoTarget(); ConvertRadiansToDegrees(fireRotation); return CLuaMultiReturn(fireRotation.fX, fireRotation.fY, fireRotation.fZ); } - case eWeaponProperty::WEAPON_ACCURACY: + case WeaponProperty::WEAPON_ACCURACY: return weaponStats->GetAccuracy(); - case eWeaponProperty::WEAPON_TARGET_RANGE: + case WeaponProperty::WEAPON_TARGET_RANGE: return weaponStats->GetTargetRange(); - case eWeaponProperty::WEAPON_WEAPON_RANGE: + case WeaponProperty::WEAPON_WEAPON_RANGE: return weaponStats->GetWeaponRange(); default: return false; @@ -750,85 +750,85 @@ std::variant> CLuaWeaponDef switch (property) { - case eWeaponProperty::WEAPON_WEAPON_RANGE: + case WeaponProperty::WEAPON_WEAPON_RANGE: return weaponStats->GetWeaponRange(); - case eWeaponProperty::WEAPON_TARGET_RANGE: + case WeaponProperty::WEAPON_TARGET_RANGE: return weaponStats->GetTargetRange(); - case eWeaponProperty::WEAPON_ACCURACY: + case WeaponProperty::WEAPON_ACCURACY: return weaponStats->GetAccuracy(); - case eWeaponProperty::WEAPON_FIRING_SPEED: + case WeaponProperty::WEAPON_FIRING_SPEED: return weaponStats->GetFiringSpeed(); - case eWeaponProperty::WEAPON_LIFE_SPAN: + case WeaponProperty::WEAPON_LIFE_SPAN: return weaponStats->GetLifeSpan(); - case eWeaponProperty::WEAPON_SPREAD: + case WeaponProperty::WEAPON_SPREAD: return weaponStats->GetSpread(); - case eWeaponProperty::WEAPON_MOVE_SPEED: + case WeaponProperty::WEAPON_MOVE_SPEED: return weaponStats->GetMoveSpeed(); - case eWeaponProperty::WEAPON_REQ_SKILL_LEVEL: + case WeaponProperty::WEAPON_REQ_SKILL_LEVEL: return weaponStats->GetRequiredStatLevel(); - case eWeaponProperty::WEAPON_ANIM_LOOP_START: + case WeaponProperty::WEAPON_ANIM_LOOP_START: return weaponStats->GetWeaponAnimLoopStart(); - case eWeaponProperty::WEAPON_ANIM_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM_LOOP_STOP: return weaponStats->GetWeaponAnimLoopStop(); - case eWeaponProperty::WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: return weaponStats->GetWeaponAnimLoopFireTime(); - case eWeaponProperty::WEAPON_ANIM2_LOOP_START: + case WeaponProperty::WEAPON_ANIM2_LOOP_START: return weaponStats->GetWeaponAnim2LoopStart(); - case eWeaponProperty::WEAPON_ANIM2_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM2_LOOP_STOP: return weaponStats->GetWeaponAnim2LoopStop(); - case eWeaponProperty::WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: return weaponStats->GetWeaponAnim2LoopFireTime(); - case eWeaponProperty::WEAPON_ANIM_BREAKOUT_TIME: + case WeaponProperty::WEAPON_ANIM_BREAKOUT_TIME: return weaponStats->GetWeaponAnimBreakoutTime(); - case eWeaponProperty::WEAPON_RADIUS: + case WeaponProperty::WEAPON_RADIUS: return weaponStats->GetRadius(); - case eWeaponProperty::WEAPON_DAMAGE: + case WeaponProperty::WEAPON_DAMAGE: return weaponStats->GetDamagePerHit(); - case eWeaponProperty::WEAPON_MAX_CLIP_AMMO: + case WeaponProperty::WEAPON_MAX_CLIP_AMMO: return weaponStats->GetMaximumClipAmmo(); - case eWeaponProperty::WEAPON_FLAGS: + case WeaponProperty::WEAPON_FLAGS: return weaponStats->GetFlags(); - case eWeaponProperty::WEAPON_ANIM_GROUP: + case WeaponProperty::WEAPON_ANIM_GROUP: return static_cast(weaponStats->GetAnimGroup()); - case eWeaponProperty::WEAPON_FIRETYPE: + case WeaponProperty::WEAPON_FIRETYPE: return weaponStats->GetFireType(); - case eWeaponProperty::WEAPON_MODEL: + case WeaponProperty::WEAPON_MODEL: return weaponStats->GetModel(); - case eWeaponProperty::WEAPON_MODEL2: + case WeaponProperty::WEAPON_MODEL2: return weaponStats->GetModel2(); - case eWeaponProperty::WEAPON_SLOT: + case WeaponProperty::WEAPON_SLOT: return weaponStats->GetSlot(); - case eWeaponProperty::WEAPON_AIM_OFFSET: + case WeaponProperty::WEAPON_AIM_OFFSET: return weaponStats->GetAimOffsetIndex(); - case eWeaponProperty::WEAPON_SKILL_LEVEL: + case WeaponProperty::WEAPON_SKILL_LEVEL: return weaponStats->GetSkill(); - case eWeaponProperty::WEAPON_DEFAULT_COMBO: + case WeaponProperty::WEAPON_DEFAULT_COMBO: return weaponStats->GetDefaultCombo(); - case eWeaponProperty::WEAPON_COMBOS_AVAILABLE: + case WeaponProperty::WEAPON_COMBOS_AVAILABLE: return weaponStats->GetCombosAvailable(); - case eWeaponProperty::WEAPON_FIRE_OFFSET: + case WeaponProperty::WEAPON_FIRE_OFFSET: { CVector* fireOffset = weaponStats->GetFireOffset(); return CLuaMultiReturn(fireOffset->fX, fireOffset->fY, fireOffset->fZ); } - case eWeaponProperty::WEAPON_FLAG_AIM_NO_AUTO: - case eWeaponProperty::WEAPON_FLAG_AIM_ARM: - case eWeaponProperty::WEAPON_FLAG_AIM_1ST_PERSON: - case eWeaponProperty::WEAPON_FLAG_AIM_FREE: - case eWeaponProperty::WEAPON_FLAG_MOVE_AND_AIM: - case eWeaponProperty::WEAPON_FLAG_MOVE_AND_SHOOT: - case eWeaponProperty::WEAPON_FLAG_TYPE_THROW: - case eWeaponProperty::WEAPON_FLAG_TYPE_HEAVY: - case eWeaponProperty::WEAPON_FLAG_TYPE_CONSTANT: - case eWeaponProperty::WEAPON_FLAG_TYPE_DUAL: - case eWeaponProperty::WEAPON_FLAG_ANIM_RELOAD: - case eWeaponProperty::WEAPON_FLAG_ANIM_CROUCH: - case eWeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LOOP: - case eWeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LONG: - case eWeaponProperty::WEAPON_FLAG_SHOT_SLOWS: - case eWeaponProperty::WEAPON_FLAG_SHOT_RAND_SPEED: - case eWeaponProperty::WEAPON_FLAG_SHOT_ANIM_ABRUPT: - case eWeaponProperty::WEAPON_FLAG_SHOT_EXPANDS: + case WeaponProperty::WEAPON_FLAG_AIM_NO_AUTO: + case WeaponProperty::WEAPON_FLAG_AIM_ARM: + case WeaponProperty::WEAPON_FLAG_AIM_1ST_PERSON: + case WeaponProperty::WEAPON_FLAG_AIM_FREE: + case WeaponProperty::WEAPON_FLAG_MOVE_AND_AIM: + case WeaponProperty::WEAPON_FLAG_MOVE_AND_SHOOT: + case WeaponProperty::WEAPON_FLAG_TYPE_THROW: + case WeaponProperty::WEAPON_FLAG_TYPE_HEAVY: + case WeaponProperty::WEAPON_FLAG_TYPE_CONSTANT: + case WeaponProperty::WEAPON_FLAG_TYPE_DUAL: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD: + case WeaponProperty::WEAPON_FLAG_ANIM_CROUCH: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LOOP: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LONG: + case WeaponProperty::WEAPON_FLAG_SHOT_SLOWS: + case WeaponProperty::WEAPON_FLAG_SHOT_RAND_SPEED: + case WeaponProperty::WEAPON_FLAG_SHOT_ANIM_ABRUPT: + case WeaponProperty::WEAPON_FLAG_SHOT_EXPANDS: { MinClientReqCheck(luaVM, MIN_CLIENT_REQ_WEAPON_PROPERTY_FLAG, "flag name is being used"); return weaponStats->IsFlagSet(GetWeaponPropertyFlagBit(property)); @@ -840,7 +840,7 @@ std::variant> CLuaWeaponDef return false; } -std::variant> CLuaWeaponDefs::GetOriginalWeaponProperty(lua_State* luaVM, std::variant weapon, std::variant weaponSkill, eWeaponProperty property) +std::variant> CLuaWeaponDefs::GetOriginalWeaponProperty(lua_State* luaVM, std::variant weapon, std::variant weaponSkill, WeaponProperty property) { eWeaponType weaponType = eWeaponType::WEAPONTYPE_INVALID; if (std::holds_alternative(weapon)) @@ -866,85 +866,85 @@ std::variant> CLuaWeaponD switch (property) { - case eWeaponProperty::WEAPON_WEAPON_RANGE: + case WeaponProperty::WEAPON_WEAPON_RANGE: return weaponStats->GetWeaponRange(); - case eWeaponProperty::WEAPON_TARGET_RANGE: + case WeaponProperty::WEAPON_TARGET_RANGE: return weaponStats->GetTargetRange(); - case eWeaponProperty::WEAPON_ACCURACY: + case WeaponProperty::WEAPON_ACCURACY: return weaponStats->GetAccuracy(); - case eWeaponProperty::WEAPON_FIRING_SPEED: + case WeaponProperty::WEAPON_FIRING_SPEED: return weaponStats->GetFiringSpeed(); - case eWeaponProperty::WEAPON_LIFE_SPAN: + case WeaponProperty::WEAPON_LIFE_SPAN: return weaponStats->GetLifeSpan(); - case eWeaponProperty::WEAPON_SPREAD: + case WeaponProperty::WEAPON_SPREAD: return weaponStats->GetSpread(); - case eWeaponProperty::WEAPON_MOVE_SPEED: + case WeaponProperty::WEAPON_MOVE_SPEED: return weaponStats->GetMoveSpeed(); - case eWeaponProperty::WEAPON_REQ_SKILL_LEVEL: + case WeaponProperty::WEAPON_REQ_SKILL_LEVEL: return weaponStats->GetRequiredStatLevel(); - case eWeaponProperty::WEAPON_ANIM_LOOP_START: + case WeaponProperty::WEAPON_ANIM_LOOP_START: return weaponStats->GetWeaponAnimLoopStart(); - case eWeaponProperty::WEAPON_ANIM_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM_LOOP_STOP: return weaponStats->GetWeaponAnimLoopStop(); - case eWeaponProperty::WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: return weaponStats->GetWeaponAnimLoopFireTime(); - case eWeaponProperty::WEAPON_ANIM2_LOOP_START: + case WeaponProperty::WEAPON_ANIM2_LOOP_START: return weaponStats->GetWeaponAnim2LoopStart(); - case eWeaponProperty::WEAPON_ANIM2_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM2_LOOP_STOP: return weaponStats->GetWeaponAnim2LoopStop(); - case eWeaponProperty::WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: return weaponStats->GetWeaponAnim2LoopFireTime(); - case eWeaponProperty::WEAPON_ANIM_BREAKOUT_TIME: + case WeaponProperty::WEAPON_ANIM_BREAKOUT_TIME: return weaponStats->GetWeaponAnimBreakoutTime(); - case eWeaponProperty::WEAPON_RADIUS: + case WeaponProperty::WEAPON_RADIUS: return weaponStats->GetRadius(); - case eWeaponProperty::WEAPON_DAMAGE: + case WeaponProperty::WEAPON_DAMAGE: return weaponStats->GetDamagePerHit(); - case eWeaponProperty::WEAPON_MAX_CLIP_AMMO: + case WeaponProperty::WEAPON_MAX_CLIP_AMMO: return weaponStats->GetMaximumClipAmmo(); - case eWeaponProperty::WEAPON_FLAGS: + case WeaponProperty::WEAPON_FLAGS: return weaponStats->GetFlags(); - case eWeaponProperty::WEAPON_ANIM_GROUP: + case WeaponProperty::WEAPON_ANIM_GROUP: return static_cast(weaponStats->GetAnimGroup()); - case eWeaponProperty::WEAPON_FIRETYPE: + case WeaponProperty::WEAPON_FIRETYPE: return weaponStats->GetFireType(); - case eWeaponProperty::WEAPON_MODEL: + case WeaponProperty::WEAPON_MODEL: return weaponStats->GetModel(); - case eWeaponProperty::WEAPON_MODEL2: + case WeaponProperty::WEAPON_MODEL2: return weaponStats->GetModel2(); - case eWeaponProperty::WEAPON_SLOT: + case WeaponProperty::WEAPON_SLOT: return weaponStats->GetSlot(); - case eWeaponProperty::WEAPON_AIM_OFFSET: + case WeaponProperty::WEAPON_AIM_OFFSET: return weaponStats->GetAimOffsetIndex(); - case eWeaponProperty::WEAPON_SKILL_LEVEL: + case WeaponProperty::WEAPON_SKILL_LEVEL: return weaponStats->GetSkill(); - case eWeaponProperty::WEAPON_DEFAULT_COMBO: + case WeaponProperty::WEAPON_DEFAULT_COMBO: return weaponStats->GetDefaultCombo(); - case eWeaponProperty::WEAPON_COMBOS_AVAILABLE: + case WeaponProperty::WEAPON_COMBOS_AVAILABLE: return weaponStats->GetCombosAvailable(); - case eWeaponProperty::WEAPON_FIRE_OFFSET: + case WeaponProperty::WEAPON_FIRE_OFFSET: { CVector* fireOffset = weaponStats->GetFireOffset(); return CLuaMultiReturn(fireOffset->fX, fireOffset->fY, fireOffset->fZ); } - case eWeaponProperty::WEAPON_FLAG_AIM_NO_AUTO: - case eWeaponProperty::WEAPON_FLAG_AIM_ARM: - case eWeaponProperty::WEAPON_FLAG_AIM_1ST_PERSON: - case eWeaponProperty::WEAPON_FLAG_AIM_FREE: - case eWeaponProperty::WEAPON_FLAG_MOVE_AND_AIM: - case eWeaponProperty::WEAPON_FLAG_MOVE_AND_SHOOT: - case eWeaponProperty::WEAPON_FLAG_TYPE_THROW: - case eWeaponProperty::WEAPON_FLAG_TYPE_HEAVY: - case eWeaponProperty::WEAPON_FLAG_TYPE_CONSTANT: - case eWeaponProperty::WEAPON_FLAG_TYPE_DUAL: - case eWeaponProperty::WEAPON_FLAG_ANIM_RELOAD: - case eWeaponProperty::WEAPON_FLAG_ANIM_CROUCH: - case eWeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LOOP: - case eWeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LONG: - case eWeaponProperty::WEAPON_FLAG_SHOT_SLOWS: - case eWeaponProperty::WEAPON_FLAG_SHOT_RAND_SPEED: - case eWeaponProperty::WEAPON_FLAG_SHOT_ANIM_ABRUPT: - case eWeaponProperty::WEAPON_FLAG_SHOT_EXPANDS: + case WeaponProperty::WEAPON_FLAG_AIM_NO_AUTO: + case WeaponProperty::WEAPON_FLAG_AIM_ARM: + case WeaponProperty::WEAPON_FLAG_AIM_1ST_PERSON: + case WeaponProperty::WEAPON_FLAG_AIM_FREE: + case WeaponProperty::WEAPON_FLAG_MOVE_AND_AIM: + case WeaponProperty::WEAPON_FLAG_MOVE_AND_SHOOT: + case WeaponProperty::WEAPON_FLAG_TYPE_THROW: + case WeaponProperty::WEAPON_FLAG_TYPE_HEAVY: + case WeaponProperty::WEAPON_FLAG_TYPE_CONSTANT: + case WeaponProperty::WEAPON_FLAG_TYPE_DUAL: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD: + case WeaponProperty::WEAPON_FLAG_ANIM_CROUCH: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LOOP: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LONG: + case WeaponProperty::WEAPON_FLAG_SHOT_SLOWS: + case WeaponProperty::WEAPON_FLAG_SHOT_RAND_SPEED: + case WeaponProperty::WEAPON_FLAG_SHOT_ANIM_ABRUPT: + case WeaponProperty::WEAPON_FLAG_SHOT_EXPANDS: { MinClientReqCheck(luaVM, MIN_CLIENT_REQ_WEAPON_PROPERTY_FLAG, "flag name is being used"); return weaponStats->IsFlagSet(GetWeaponPropertyFlagBit(property)); diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaWeaponDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaWeaponDefs.h index afd10e60ac8..d61b1a88bbf 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaWeaponDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaWeaponDefs.h @@ -25,8 +25,8 @@ class CLuaWeaponDefs : public CLuaDefs LUA_DECLARE(CreateWeapon); LUA_DECLARE(FireWeapon); LUA_DECLARE(SetWeaponProperty); - static std::variant> GetWeaponProperty(lua_State* luaVM, std::variant weapon, std::variant weaponSkill, eWeaponProperty property); - static std::variant> GetOriginalWeaponProperty(lua_State* luaVM, std::variant weapon, std::variant weaponSkill, eWeaponProperty property); + static std::variant> GetWeaponProperty(lua_State* luaVM, std::variant weapon, std::variant weaponSkill, WeaponProperty property); + static std::variant> GetOriginalWeaponProperty(lua_State* luaVM, std::variant weapon, std::variant weaponSkill, WeaponProperty property); LUA_DECLARE(SetWeaponState); LUA_DECLARE(GetWeaponState); LUA_DECLARE(SetWeaponTarget); diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.cpp b/Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.cpp index 53fa92fbeef..8240385f1dc 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.cpp +++ b/Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.cpp @@ -2096,172 +2096,172 @@ bool CLuaWorldDefs::ResetCoronaReflectionsEnabled() return true; } -std::variant> CLuaWorldDefs::GetWorldProperty(eWorldProperty property) +std::variant> CLuaWorldDefs::GetWorldProperty(WorldProperty property) { switch (property) { - case eWorldProperty::AMBIENT_COLOR: + case WorldProperty::AMBIENT_COLOR: { float red, green, blue; g_pMultiplayer->GetAmbientColor(red, green, blue); return std::make_tuple((int16)(red * 255), (int16)(green * 255), (int16)(blue * 255)); } - case eWorldProperty::AMBIENT_OBJ_COLOR: + case WorldProperty::AMBIENT_OBJ_COLOR: { float red, green, blue; g_pMultiplayer->GetAmbientObjectColor(red, green, blue); return std::make_tuple((int16)(red * 255), (int16)(green * 255), (int16)(blue * 255)); } - case eWorldProperty::DIRECTIONAL_COLOR: + case WorldProperty::DIRECTIONAL_COLOR: { float red, green, blue; g_pMultiplayer->GetDirectionalColor(red, green, blue); return std::make_tuple((int16)(red * 255), (int16)(green * 255), (int16)(blue * 255)); } - case eWorldProperty::SPRITE_SIZE: + case WorldProperty::SPRITE_SIZE: return g_pMultiplayer->GetSpriteSize(); - case eWorldProperty::SPRITE_BRIGHTNESS: + case WorldProperty::SPRITE_BRIGHTNESS: return g_pMultiplayer->GetSpriteBrightness(); - case eWorldProperty::POLE_SHADOW_STRENGTH: + case WorldProperty::POLE_SHADOW_STRENGTH: return (float)g_pMultiplayer->GetPoleShadowStrength(); - case eWorldProperty::SHADOW_STRENGTH: + case WorldProperty::SHADOW_STRENGTH: return (float)g_pMultiplayer->GetShadowStrength(); - case eWorldProperty::SHADOWS_OFFSET: + case WorldProperty::SHADOWS_OFFSET: return g_pMultiplayer->GetShadowsOffset(); - case eWorldProperty::LIGHTS_ON_GROUND: + case WorldProperty::LIGHTS_ON_GROUND: return g_pMultiplayer->GetLightsOnGroundBrightness(); - case eWorldProperty::LOW_CLOUDS_COLOR: + case WorldProperty::LOW_CLOUDS_COLOR: { int16 red, green, blue; g_pMultiplayer->GetLowCloudsColor(red, green, blue); return std::make_tuple(red, green, blue); } - case eWorldProperty::BOTTOM_CLOUDS_COLOR: + case WorldProperty::BOTTOM_CLOUDS_COLOR: { int16 red, green, blue; g_pMultiplayer->GetBottomCloudsColor(red, green, blue); return std::make_tuple(red, green, blue); } - case eWorldProperty::CLOUDS_ALPHA1: + case WorldProperty::CLOUDS_ALPHA1: return g_pMultiplayer->GetCloudsAlpha1(); - case eWorldProperty::ILLUMINATION: + case WorldProperty::ILLUMINATION: return g_pMultiplayer->GetIllumination(); - case eWorldProperty::WEATHER_WET_ROADS: + case WorldProperty::WEATHER_WET_ROADS: return g_pGame->GetWeather()->GetWetRoads(); - case eWorldProperty::WEATHER_FOGGYNESS: + case WorldProperty::WEATHER_FOGGYNESS: return g_pGame->GetWeather()->GetFoggyness(); - case eWorldProperty::WEATHER_FOG: + case WorldProperty::WEATHER_FOG: return g_pGame->GetWeather()->GetFog(); - case eWorldProperty::WEATHER_RAIN_FOG: + case WorldProperty::WEATHER_RAIN_FOG: return g_pGame->GetWeather()->GetRainFog(); - case eWorldProperty::WEATHER_WATER_FOG: + case WorldProperty::WEATHER_WATER_FOG: return g_pGame->GetWeather()->GetWaterFog(); - case eWorldProperty::WEATHER_SANDSTORM: + case WorldProperty::WEATHER_SANDSTORM: return g_pGame->GetWeather()->GetSandstorm(); - case eWorldProperty::WEATHER_RAINBOW: + case WorldProperty::WEATHER_RAINBOW: return g_pGame->GetWeather()->GetRainbow(); } return false; } -bool CLuaWorldDefs::SetWorldProperty(eWorldProperty property, float arg1, std::optional arg2, std::optional arg3) +bool CLuaWorldDefs::SetWorldProperty(WorldProperty property, float arg1, std::optional arg2, std::optional arg3) { if (arg2.has_value() && arg3.has_value()) { switch (property) { - case eWorldProperty::AMBIENT_COLOR: + case WorldProperty::AMBIENT_COLOR: return g_pMultiplayer->SetAmbientColor(arg1 / 255, arg2.value() / 255, arg3.value() / 255); - case eWorldProperty::AMBIENT_OBJ_COLOR: + case WorldProperty::AMBIENT_OBJ_COLOR: return g_pMultiplayer->SetAmbientObjectColor(arg1 / 255, arg2.value() / 255, arg3.value() / 255); - case eWorldProperty::DIRECTIONAL_COLOR: + case WorldProperty::DIRECTIONAL_COLOR: return g_pMultiplayer->SetDirectionalColor(arg1 / 255, arg2.value() / 255, arg3.value() / 255); - case eWorldProperty::LOW_CLOUDS_COLOR: + case WorldProperty::LOW_CLOUDS_COLOR: return g_pMultiplayer->SetLowCloudsColor((int16)arg1, (int16)arg2.value(), (int16)arg3.value()); - case eWorldProperty::BOTTOM_CLOUDS_COLOR: + case WorldProperty::BOTTOM_CLOUDS_COLOR: return g_pMultiplayer->SetBottomCloudsColor((int16)arg1, (int16)arg2.value(), (int16)arg3.value()); } return false; } switch (property) { - case eWorldProperty::SPRITE_SIZE: + case WorldProperty::SPRITE_SIZE: return g_pMultiplayer->SetSpriteSize(arg1); - case eWorldProperty::SPRITE_BRIGHTNESS: + case WorldProperty::SPRITE_BRIGHTNESS: return g_pMultiplayer->SetSpriteBrightness(arg1); - case eWorldProperty::POLE_SHADOW_STRENGTH: + case WorldProperty::POLE_SHADOW_STRENGTH: return g_pMultiplayer->SetPoleShadowStrength(arg1); - case eWorldProperty::SHADOW_STRENGTH: + case WorldProperty::SHADOW_STRENGTH: return g_pMultiplayer->SetShadowStrength(arg1); - case eWorldProperty::SHADOWS_OFFSET: + case WorldProperty::SHADOWS_OFFSET: return g_pMultiplayer->SetShadowsOffset(arg1); - case eWorldProperty::LIGHTS_ON_GROUND: + case WorldProperty::LIGHTS_ON_GROUND: return g_pMultiplayer->SetLightsOnGroundBrightness(arg1); - case eWorldProperty::CLOUDS_ALPHA1: + case WorldProperty::CLOUDS_ALPHA1: return g_pMultiplayer->SetCloudsAlpha1(arg1); - case eWorldProperty::ILLUMINATION: + case WorldProperty::ILLUMINATION: return g_pMultiplayer->SetIllumination(arg1); - case eWorldProperty::WEATHER_WET_ROADS: + case WorldProperty::WEATHER_WET_ROADS: return g_pGame->GetWeather()->SetWetRoads(arg1); - case eWorldProperty::WEATHER_FOGGYNESS: + case WorldProperty::WEATHER_FOGGYNESS: return g_pGame->GetWeather()->SetFoggyness(arg1); - case eWorldProperty::WEATHER_FOG: + case WorldProperty::WEATHER_FOG: return g_pGame->GetWeather()->SetFog(arg1); - case eWorldProperty::WEATHER_RAIN_FOG: + case WorldProperty::WEATHER_RAIN_FOG: return g_pGame->GetWeather()->SetRainFog(arg1); - case eWorldProperty::WEATHER_WATER_FOG: + case WorldProperty::WEATHER_WATER_FOG: return g_pGame->GetWeather()->SetWaterFog(arg1); - case eWorldProperty::WEATHER_SANDSTORM: + case WorldProperty::WEATHER_SANDSTORM: return g_pGame->GetWeather()->SetSandstorm(arg1); - case eWorldProperty::WEATHER_RAINBOW: + case WorldProperty::WEATHER_RAINBOW: return g_pGame->GetWeather()->SetRainbow(arg1); } return false; } -bool CLuaWorldDefs::ResetWorldProperty(eWorldProperty property) +bool CLuaWorldDefs::ResetWorldProperty(WorldProperty property) { switch (property) { - case eWorldProperty::AMBIENT_COLOR: + case WorldProperty::AMBIENT_COLOR: return g_pMultiplayer->ResetAmbientColor(); - case eWorldProperty::AMBIENT_OBJ_COLOR: + case WorldProperty::AMBIENT_OBJ_COLOR: return g_pMultiplayer->ResetAmbientObjectColor(); - case eWorldProperty::DIRECTIONAL_COLOR: + case WorldProperty::DIRECTIONAL_COLOR: return g_pMultiplayer->ResetDirectionalColor(); - case eWorldProperty::SPRITE_SIZE: + case WorldProperty::SPRITE_SIZE: return g_pMultiplayer->ResetSpriteSize(); - case eWorldProperty::SPRITE_BRIGHTNESS: + case WorldProperty::SPRITE_BRIGHTNESS: return g_pMultiplayer->ResetSpriteBrightness(); - case eWorldProperty::POLE_SHADOW_STRENGTH: + case WorldProperty::POLE_SHADOW_STRENGTH: return g_pMultiplayer->ResetPoleShadowStrength(); - case eWorldProperty::SHADOW_STRENGTH: + case WorldProperty::SHADOW_STRENGTH: return g_pMultiplayer->ResetShadowStrength(); - case eWorldProperty::SHADOWS_OFFSET: + case WorldProperty::SHADOWS_OFFSET: return g_pMultiplayer->ResetShadowsOffset(); - case eWorldProperty::LIGHTS_ON_GROUND: + case WorldProperty::LIGHTS_ON_GROUND: return g_pMultiplayer->ResetLightsOnGroundBrightness(); - case eWorldProperty::LOW_CLOUDS_COLOR: + case WorldProperty::LOW_CLOUDS_COLOR: return g_pMultiplayer->ResetLowCloudsColor(); - case eWorldProperty::BOTTOM_CLOUDS_COLOR: + case WorldProperty::BOTTOM_CLOUDS_COLOR: return g_pMultiplayer->ResetBottomCloudsColor(); - case eWorldProperty::CLOUDS_ALPHA1: + case WorldProperty::CLOUDS_ALPHA1: return g_pMultiplayer->ResetCloudsAlpha1(); - case eWorldProperty::ILLUMINATION: + case WorldProperty::ILLUMINATION: return g_pMultiplayer->ResetIllumination(); - case eWorldProperty::WEATHER_WET_ROADS: + case WorldProperty::WEATHER_WET_ROADS: return g_pGame->GetWeather()->ResetWetRoads(); - case eWorldProperty::WEATHER_FOGGYNESS: + case WorldProperty::WEATHER_FOGGYNESS: return g_pGame->GetWeather()->ResetFoggyness(); - case eWorldProperty::WEATHER_FOG: + case WorldProperty::WEATHER_FOG: return g_pGame->GetWeather()->ResetFog(); - case eWorldProperty::WEATHER_RAIN_FOG: + case WorldProperty::WEATHER_RAIN_FOG: return g_pGame->GetWeather()->ResetRainFog(); - case eWorldProperty::WEATHER_WATER_FOG: + case WorldProperty::WEATHER_WATER_FOG: return g_pGame->GetWeather()->ResetWaterFog(); - case eWorldProperty::WEATHER_SANDSTORM: + case WorldProperty::WEATHER_SANDSTORM: return g_pGame->GetWeather()->ResetSandstorm(); - case eWorldProperty::WEATHER_RAINBOW: + case WorldProperty::WEATHER_RAINBOW: return g_pGame->GetWeather()->ResetRainbow(); } return false; diff --git a/Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.h b/Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.h index 137b3e776a0..5668ca6dd48 100644 --- a/Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.h +++ b/Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.h @@ -127,9 +127,9 @@ class CLuaWorldDefs : public CLuaDefs static uchar GetCoronaReflectionsEnabled(); static bool ResetCoronaReflectionsEnabled(); - static std::variant> GetWorldProperty(eWorldProperty property); - static bool SetWorldProperty(eWorldProperty property, float arg1, std::optional arg2, std::optional arg3); - static bool ResetWorldProperty(eWorldProperty property); + static std::variant> GetWorldProperty(WorldProperty property); + static bool SetWorldProperty(WorldProperty property, float arg1, std::optional arg2, std::optional arg3); + static bool ResetWorldProperty(WorldProperty property); static bool SetTimeFrozen(bool value) noexcept; static bool IsTimeFrozen() noexcept; diff --git a/Client/mods/deathmatch/logic/rpc/CHandlingRPCs.cpp b/Client/mods/deathmatch/logic/rpc/CHandlingRPCs.cpp index ab24f90a4d7..138048e9db3 100644 --- a/Client/mods/deathmatch/logic/rpc/CHandlingRPCs.cpp +++ b/Client/mods/deathmatch/logic/rpc/CHandlingRPCs.cpp @@ -106,24 +106,24 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr }; // Depending on what property - switch (ucProperty) + switch (static_cast(ucProperty)) { - case HANDLING_MASS: + case HandlingProperty::HANDLING_MASS: bitStream.Read(fFloat); pHandlingEntry->SetMass(fFloat); break; - case HANDLING_TURNMASS: + case HandlingProperty::HANDLING_TURNMASS: bitStream.Read(fFloat); pHandlingEntry->SetTurnMass(fFloat); break; - case HANDLING_DRAGCOEFF: + case HandlingProperty::HANDLING_DRAGCOEFF: bitStream.Read(fFloat); pHandlingEntry->SetDragCoeff(fFloat); break; - case HANDLING_CENTEROFMASS: + case HandlingProperty::HANDLING_CENTEROFMASS: { CVector vecVector; bitStream.Read(vecVector.fX); @@ -133,17 +133,17 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_PERCENTSUBMERGED: + case HandlingProperty::HANDLING_PERCENTSUBMERGED: bitStream.Read(uiInt); pHandlingEntry->SetPercentSubmerged(uiInt); break; - case HANDLING_TRACTIONMULTIPLIER: + case HandlingProperty::HANDLING_TRACTIONMULTIPLIER: bitStream.Read(fFloat); pHandlingEntry->SetTractionMultiplier(fFloat); break; - case HANDLING_DRIVETYPE: + case HandlingProperty::HANDLING_DRIVETYPE: { bitStream.Read(ucChar); if (ucChar != CHandlingEntry::FOURWHEEL && ucChar != CHandlingEntry::RWD && ucChar != CHandlingEntry::FWD) @@ -155,7 +155,7 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_ENGINETYPE: + case HandlingProperty::HANDLING_ENGINETYPE: { bitStream.Read(ucChar); if (ucChar != CHandlingEntry::DIESEL && ucChar != CHandlingEntry::ELECTRIC && ucChar != CHandlingEntry::PETROL) @@ -167,57 +167,57 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_NUMOFGEARS: + case HandlingProperty::HANDLING_NUMOFGEARS: bitStream.Read(ucChar); pHandlingEntry->SetNumberOfGears(ucChar); break; - case HANDLING_ENGINEACCELERATION: + case HandlingProperty::HANDLING_ENGINEACCELERATION: bitStream.Read(fFloat); pHandlingEntry->SetEngineAcceleration(fFloat); break; - case HANDLING_ENGINEINERTIA: + case HandlingProperty::HANDLING_ENGINEINERTIA: bitStream.Read(fFloat); pHandlingEntry->SetEngineInertia(fFloat); break; - case HANDLING_MAXVELOCITY: + case HandlingProperty::HANDLING_MAXVELOCITY: bitStream.Read(fFloat); pHandlingEntry->SetMaxVelocity(fFloat); break; - case HANDLING_BRAKEDECELERATION: + case HandlingProperty::HANDLING_BRAKEDECELERATION: bitStream.Read(fFloat); pHandlingEntry->SetBrakeDeceleration(fFloat); break; - case HANDLING_BRAKEBIAS: + case HandlingProperty::HANDLING_BRAKEBIAS: bitStream.Read(fFloat); pHandlingEntry->SetBrakeBias(fFloat); break; - case HANDLING_ABS: + case HandlingProperty::HANDLING_ABS: bitStream.Read(ucChar); pHandlingEntry->SetABS(ucChar != 0); break; - case HANDLING_STEERINGLOCK: + case HandlingProperty::HANDLING_STEERINGLOCK: bitStream.Read(fFloat); pHandlingEntry->SetSteeringLock(fFloat); break; - case HANDLING_TRACTIONLOSS: + case HandlingProperty::HANDLING_TRACTIONLOSS: bitStream.Read(fFloat); pHandlingEntry->SetTractionLoss(fFloat); break; - case HANDLING_TRACTIONBIAS: + case HandlingProperty::HANDLING_TRACTIONBIAS: bitStream.Read(fFloat); pHandlingEntry->SetTractionBias(fFloat); break; - case HANDLING_SUSPENSION_FORCELEVEL: + case HandlingProperty::HANDLING_SUSPENSION_FORCELEVEL: { bitStream.Read(fFloat); if (bReadSuspension) @@ -227,7 +227,7 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_SUSPENSION_DAMPING: + case HandlingProperty::HANDLING_SUSPENSION_DAMPING: { bitStream.Read(fFloat); if (bReadSuspension) @@ -237,7 +237,7 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_SUSPENSION_HIGHSPEEDDAMPING: + case HandlingProperty::HANDLING_SUSPENSION_HIGHSPEEDDAMPING: { bitStream.Read(fFloat); if (bReadSuspension) @@ -247,7 +247,7 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_SUSPENSION_UPPER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_UPPER_LIMIT: { bitStream.Read(fFloat); if (bReadSuspension) @@ -263,7 +263,7 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_SUSPENSION_LOWER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_LOWER_LIMIT: { bitStream.Read(fFloat); if (bReadSuspension) @@ -279,7 +279,7 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_SUSPENSION_FRONTREARBIAS: + case HandlingProperty::HANDLING_SUSPENSION_FRONTREARBIAS: { bitStream.Read(fFloat); if (bReadSuspension) @@ -289,7 +289,7 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: + case HandlingProperty::HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: { bitStream.Read(fFloat); if (bReadSuspension) @@ -299,12 +299,12 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr break; } - case HANDLING_COLLISIONDAMAGEMULTIPLIER: + case HandlingProperty::HANDLING_COLLISIONDAMAGEMULTIPLIER: bitStream.Read(fFloat); pHandlingEntry->SetCollisionDamageMultiplier(fFloat); break; - case HANDLING_SEATOFFSETDISTANCE: + case HandlingProperty::HANDLING_SEATOFFSETDISTANCE: bitStream.Read(fFloat); pHandlingEntry->SetSeatOffsetDistance(fFloat); break; @@ -314,12 +314,12 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr pHandlingEntry->SetMonetary ( uiInt ); break;*/ - case HANDLING_HANDLINGFLAGS: + case HandlingProperty::HANDLING_HANDLINGFLAGS: bitStream.Read(uiInt); pHandlingEntry->SetHandlingFlags(uiInt); break; - case HANDLING_MODELFLAGS: + case HandlingProperty::HANDLING_MODELFLAGS: bitStream.Read(uiInt); pHandlingEntry->SetModelFlags(uiInt); break; @@ -340,7 +340,7 @@ void CHandlingRPCs::SetVehicleHandlingProperty(CClientEntity* pSource, NetBitStr pHandlingEntry->SetTailLight ( static_cast < CHandlingEntry::eLightType > ( ucChar ) ); break;*/ - case HANDLING_ANIMGROUP: + case HandlingProperty::HANDLING_ANIMGROUP: bitStream.Read(ucChar); // pHandlingEntry->SetAnimGroup ( ucChar ); break; @@ -364,7 +364,9 @@ void CHandlingRPCs::RestoreVehicleHandlingProperty(CClientEntity* pSource, NetBi CClientVehicle& Vehicle = static_cast(*pSource); CHandlingEntry* pHandlingEntry = Vehicle.GetHandlingData(); const CHandlingEntry* pOriginalEntry = Vehicle.GetOriginalHandlingData(); - if (ucProperty >= HANDLING_SUSPENSION_FORCELEVEL && ucProperty <= HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER && + HandlingProperty property = static_cast(ucProperty); + + if (property >= HandlingProperty::HANDLING_SUSPENSION_FORCELEVEL && property <= HandlingProperty::HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER && (Vehicle.GetModelInfo()->IsCar() || Vehicle.GetModelInfo()->IsMonsterTruck())) { return; @@ -372,133 +374,133 @@ void CHandlingRPCs::RestoreVehicleHandlingProperty(CClientEntity* pSource, NetBi if (pOriginalEntry) { // Depending on what property - switch (ucProperty) + switch (property) { - case HANDLING_MASS: + case HandlingProperty::HANDLING_MASS: pHandlingEntry->SetMass(pOriginalEntry->GetMass()); break; - case HANDLING_TURNMASS: + case HandlingProperty::HANDLING_TURNMASS: pHandlingEntry->SetTurnMass(pOriginalEntry->GetTurnMass()); break; - case HANDLING_DRAGCOEFF: + case HandlingProperty::HANDLING_DRAGCOEFF: pHandlingEntry->SetDragCoeff(pOriginalEntry->GetDragCoeff()); break; - case HANDLING_CENTEROFMASS: + case HandlingProperty::HANDLING_CENTEROFMASS: pHandlingEntry->SetCenterOfMass(pOriginalEntry->GetCenterOfMass()); break; - case HANDLING_PERCENTSUBMERGED: + case HandlingProperty::HANDLING_PERCENTSUBMERGED: pHandlingEntry->SetPercentSubmerged(pOriginalEntry->GetPercentSubmerged()); break; - case HANDLING_TRACTIONMULTIPLIER: + case HandlingProperty::HANDLING_TRACTIONMULTIPLIER: pHandlingEntry->SetTractionMultiplier(pOriginalEntry->GetTractionMultiplier()); break; - case HANDLING_DRIVETYPE: + case HandlingProperty::HANDLING_DRIVETYPE: pHandlingEntry->SetCarDriveType(pOriginalEntry->GetCarDriveType()); break; - case HANDLING_ENGINETYPE: + case HandlingProperty::HANDLING_ENGINETYPE: pHandlingEntry->SetCarEngineType(pOriginalEntry->GetCarEngineType()); break; - case HANDLING_NUMOFGEARS: + case HandlingProperty::HANDLING_NUMOFGEARS: pHandlingEntry->SetNumberOfGears(pOriginalEntry->GetNumberOfGears()); break; - case HANDLING_ENGINEACCELERATION: + case HandlingProperty::HANDLING_ENGINEACCELERATION: pHandlingEntry->SetEngineAcceleration(pOriginalEntry->GetEngineAcceleration()); break; - case HANDLING_ENGINEINERTIA: + case HandlingProperty::HANDLING_ENGINEINERTIA: pHandlingEntry->SetEngineInertia(pOriginalEntry->GetEngineInertia()); break; - case HANDLING_MAXVELOCITY: + case HandlingProperty::HANDLING_MAXVELOCITY: pHandlingEntry->SetMaxVelocity(pOriginalEntry->GetMaxVelocity()); break; - case HANDLING_BRAKEDECELERATION: + case HandlingProperty::HANDLING_BRAKEDECELERATION: pHandlingEntry->SetBrakeDeceleration(pOriginalEntry->GetBrakeDeceleration()); break; - case HANDLING_BRAKEBIAS: + case HandlingProperty::HANDLING_BRAKEBIAS: pHandlingEntry->SetBrakeBias(pOriginalEntry->GetBrakeBias()); break; - case HANDLING_ABS: + case HandlingProperty::HANDLING_ABS: pHandlingEntry->SetABS(pOriginalEntry->GetABS()); break; - case HANDLING_STEERINGLOCK: + case HandlingProperty::HANDLING_STEERINGLOCK: pHandlingEntry->SetSteeringLock(pOriginalEntry->GetSteeringLock()); break; - case HANDLING_TRACTIONLOSS: + case HandlingProperty::HANDLING_TRACTIONLOSS: pHandlingEntry->SetTractionLoss(pOriginalEntry->GetTractionLoss()); break; - case HANDLING_TRACTIONBIAS: + case HandlingProperty::HANDLING_TRACTIONBIAS: pHandlingEntry->SetTractionBias(pOriginalEntry->GetTractionBias()); break; - case HANDLING_SUSPENSION_FORCELEVEL: + case HandlingProperty::HANDLING_SUSPENSION_FORCELEVEL: pHandlingEntry->SetSuspensionForceLevel(pOriginalEntry->GetSuspensionForceLevel()); break; - case HANDLING_SUSPENSION_DAMPING: + case HandlingProperty::HANDLING_SUSPENSION_DAMPING: pHandlingEntry->SetSuspensionDamping(pOriginalEntry->GetSuspensionDamping()); break; - case HANDLING_SUSPENSION_HIGHSPEEDDAMPING: + case HandlingProperty::HANDLING_SUSPENSION_HIGHSPEEDDAMPING: pHandlingEntry->SetSuspensionHighSpeedDamping(pOriginalEntry->GetSuspensionHighSpeedDamping()); break; - case HANDLING_SUSPENSION_UPPER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_UPPER_LIMIT: pHandlingEntry->SetSuspensionUpperLimit(pOriginalEntry->GetSuspensionUpperLimit()); break; - case HANDLING_SUSPENSION_LOWER_LIMIT: + case HandlingProperty::HANDLING_SUSPENSION_LOWER_LIMIT: pHandlingEntry->SetSuspensionLowerLimit(pOriginalEntry->GetSuspensionLowerLimit()); break; - case HANDLING_SUSPENSION_FRONTREARBIAS: + case HandlingProperty::HANDLING_SUSPENSION_FRONTREARBIAS: pHandlingEntry->SetSuspensionFrontRearBias(pOriginalEntry->GetSuspensionFrontRearBias()); break; - case HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: + case HandlingProperty::HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER: pHandlingEntry->SetSuspensionAntiDiveMultiplier(pOriginalEntry->GetSuspensionAntiDiveMultiplier()); break; - case HANDLING_COLLISIONDAMAGEMULTIPLIER: + case HandlingProperty::HANDLING_COLLISIONDAMAGEMULTIPLIER: pHandlingEntry->SetCollisionDamageMultiplier(pOriginalEntry->GetCollisionDamageMultiplier()); break; - case HANDLING_SEATOFFSETDISTANCE: + case HandlingProperty::HANDLING_SEATOFFSETDISTANCE: pHandlingEntry->SetSeatOffsetDistance(pOriginalEntry->GetSeatOffsetDistance()); break; - case HANDLING_HANDLINGFLAGS: + case HandlingProperty::HANDLING_HANDLINGFLAGS: pHandlingEntry->SetHandlingFlags(pOriginalEntry->GetHandlingFlags()); break; - case HANDLING_MODELFLAGS: + case HandlingProperty::HANDLING_MODELFLAGS: pHandlingEntry->SetModelFlags(pOriginalEntry->GetModelFlags()); break; - case HANDLING_HEADLIGHT: + case HandlingProperty::HANDLING_HEADLIGHT: pHandlingEntry->SetHeadLight(pOriginalEntry->GetHeadLight()); break; - case HANDLING_TAILLIGHT: + case HandlingProperty::HANDLING_TAILLIGHT: pHandlingEntry->SetTailLight(pOriginalEntry->GetTailLight()); break; - case HANDLING_ANIMGROUP: + case HandlingProperty::HANDLING_ANIMGROUP: pHandlingEntry->SetAnimGroup(pOriginalEntry->GetAnimGroup()); break; } diff --git a/Client/mods/deathmatch/logic/rpc/CWorldRPCs.cpp b/Client/mods/deathmatch/logic/rpc/CWorldRPCs.cpp index 65fb048b5e5..79a1952570f 100644 --- a/Client/mods/deathmatch/logic/rpc/CWorldRPCs.cpp +++ b/Client/mods/deathmatch/logic/rpc/CWorldRPCs.cpp @@ -428,101 +428,101 @@ void CWorldRPCs::SetWeaponProperty(NetBitStreamInterface& bitStream) { CWeaponStat* pWeaponInfo = g_pGame->GetWeaponStatManager()->GetWeaponStats(static_cast(ucWeapon), static_cast(ucWeaponSkill)); - switch (ucProperty) + switch (static_cast(ucProperty)) { - case WEAPON_WEAPON_RANGE: + case WeaponProperty::WEAPON_WEAPON_RANGE: { bitStream.Read(fData); pWeaponInfo->SetWeaponRange(fData); break; } - case WEAPON_TARGET_RANGE: + case WeaponProperty::WEAPON_TARGET_RANGE: { bitStream.Read(fData); pWeaponInfo->SetTargetRange(fData); break; } - case WEAPON_ACCURACY: + case WeaponProperty::WEAPON_ACCURACY: { bitStream.Read(fData); pWeaponInfo->SetAccuracy(fData); break; } - case WEAPON_LIFE_SPAN: + case WeaponProperty::WEAPON_LIFE_SPAN: { bitStream.Read(fData); pWeaponInfo->SetLifeSpan(fData); break; } - case WEAPON_FIRING_SPEED: + case WeaponProperty::WEAPON_FIRING_SPEED: { bitStream.Read(fData); pWeaponInfo->SetFiringSpeed(fData); break; } - case WEAPON_MOVE_SPEED: + case WeaponProperty::WEAPON_MOVE_SPEED: { bitStream.Read(fData); pWeaponInfo->SetMoveSpeed(fData); break; } - case WEAPON_ANIM_LOOP_START: + case WeaponProperty::WEAPON_ANIM_LOOP_START: { bitStream.Read(fData); pWeaponInfo->SetWeaponAnimLoopStart(fData); break; } - case WEAPON_ANIM_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM_LOOP_STOP: { bitStream.Read(fData); pWeaponInfo->SetWeaponAnimLoopStop(fData); break; } - case WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME: { bitStream.Read(fData); pWeaponInfo->SetWeaponAnimLoopFireTime(fData); break; } - case WEAPON_ANIM2_LOOP_START: + case WeaponProperty::WEAPON_ANIM2_LOOP_START: { bitStream.Read(fData); pWeaponInfo->SetWeaponAnim2LoopStart(fData); break; } - case WEAPON_ANIM2_LOOP_STOP: + case WeaponProperty::WEAPON_ANIM2_LOOP_STOP: { bitStream.Read(fData); pWeaponInfo->SetWeaponAnim2LoopStop(fData); break; } - case WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: + case WeaponProperty::WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME: { bitStream.Read(fData); pWeaponInfo->SetWeaponAnim2LoopFireTime(fData); break; } - case WEAPON_ANIM_BREAKOUT_TIME: + case WeaponProperty::WEAPON_ANIM_BREAKOUT_TIME: { bitStream.Read(fData); pWeaponInfo->SetWeaponAnimBreakoutTime(fData); break; } - case WEAPON_DAMAGE: + case WeaponProperty::WEAPON_DAMAGE: { bitStream.Read(sData); pWeaponInfo->SetDamagePerHit(sData); break; } - case WEAPON_MAX_CLIP_AMMO: + case WeaponProperty::WEAPON_MAX_CLIP_AMMO: { bitStream.Read(sData); pWeaponInfo->SetMaximumClipAmmo(sData); break; } - case WEAPON_FLAGS: + case WeaponProperty::WEAPON_FLAGS: { int iData = 0; if (bitStream.Version() < 0x57) @@ -536,34 +536,34 @@ void CWorldRPCs::SetWeaponProperty(NetBitStreamInterface& bitStream) pWeaponInfo->ToggleFlagBits(iData); break; } - case WEAPON_ANIM_GROUP: + case WeaponProperty::WEAPON_ANIM_GROUP: { bitStream.Read(sData); pWeaponInfo->SetAnimGroup(sData); break; } - case WEAPON_FLAG_AIM_NO_AUTO: - case WEAPON_FLAG_AIM_ARM: - case WEAPON_FLAG_AIM_1ST_PERSON: - case WEAPON_FLAG_AIM_FREE: - case WEAPON_FLAG_MOVE_AND_AIM: - case WEAPON_FLAG_MOVE_AND_SHOOT: - case WEAPON_FLAG_TYPE_THROW: - case WEAPON_FLAG_TYPE_HEAVY: - case WEAPON_FLAG_TYPE_CONSTANT: - case WEAPON_FLAG_TYPE_DUAL: - case WEAPON_FLAG_ANIM_RELOAD: - case WEAPON_FLAG_ANIM_CROUCH: - case WEAPON_FLAG_ANIM_RELOAD_LOOP: - case WEAPON_FLAG_ANIM_RELOAD_LONG: - case WEAPON_FLAG_SHOT_SLOWS: - case WEAPON_FLAG_SHOT_RAND_SPEED: - case WEAPON_FLAG_SHOT_ANIM_ABRUPT: - case WEAPON_FLAG_SHOT_EXPANDS: + case WeaponProperty::WEAPON_FLAG_AIM_NO_AUTO: + case WeaponProperty::WEAPON_FLAG_AIM_ARM: + case WeaponProperty::WEAPON_FLAG_AIM_1ST_PERSON: + case WeaponProperty::WEAPON_FLAG_AIM_FREE: + case WeaponProperty::WEAPON_FLAG_MOVE_AND_AIM: + case WeaponProperty::WEAPON_FLAG_MOVE_AND_SHOOT: + case WeaponProperty::WEAPON_FLAG_TYPE_THROW: + case WeaponProperty::WEAPON_FLAG_TYPE_HEAVY: + case WeaponProperty::WEAPON_FLAG_TYPE_CONSTANT: + case WeaponProperty::WEAPON_FLAG_TYPE_DUAL: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD: + case WeaponProperty::WEAPON_FLAG_ANIM_CROUCH: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LOOP: + case WeaponProperty::WEAPON_FLAG_ANIM_RELOAD_LONG: + case WeaponProperty::WEAPON_FLAG_SHOT_SLOWS: + case WeaponProperty::WEAPON_FLAG_SHOT_RAND_SPEED: + case WeaponProperty::WEAPON_FLAG_SHOT_ANIM_ABRUPT: + case WeaponProperty::WEAPON_FLAG_SHOT_EXPANDS: { bool bEnable; bitStream.ReadBit(bEnable); - uint uiFlagBit = GetWeaponPropertyFlagBit((eWeaponProperty)ucProperty); + uint uiFlagBit = GetWeaponPropertyFlagBit((WeaponProperty)ucProperty); if (bEnable) pWeaponInfo->SetFlagBits(uiFlagBit); else diff --git a/Client/multiplayer_sa/CMultiplayerSA_VehicleDummies.cpp b/Client/multiplayer_sa/CMultiplayerSA_VehicleDummies.cpp index 7bb375de33c..316e80d4f9d 100644 --- a/Client/multiplayer_sa/CMultiplayerSA_VehicleDummies.cpp +++ b/Client/multiplayer_sa/CMultiplayerSA_VehicleDummies.cpp @@ -8,6 +8,7 @@ * *****************************************************************************/ #include "StdInc.h" +#include static const uint32_t CModelInfo__ms_modelInfoPtrs = 0xA9B0C8; @@ -54,8 +55,8 @@ static void __cdecl ApplyExhaustParticlesPosition(CVehicleSAInterface* vehicleIn if (vehicleDummiesPositionArray != nullptr) { - *mainPosition = vehicleDummiesPositionArray[EXHAUST]; - *secondaryPosition = vehicleDummiesPositionArray[EXHAUST_SECONDARY]; + *mainPosition = vehicleDummiesPositionArray[static_cast(VehicleDummies::EXHAUST)]; + *secondaryPosition = vehicleDummiesPositionArray[static_cast(VehicleDummies::EXHAUST_SECONDARY)]; // NOTE(botder): Certain bike models (NRG-500, BF-400, FCR-900) actually use the secondary exhaust position // and we can't abuse it for these models to position double exhausts here. @@ -63,15 +64,15 @@ static void __cdecl ApplyExhaustParticlesPosition(CVehicleSAInterface* vehicleIn bool applyNegativeMainPosition = false; int16_t extras = vehicleInterface->m_upgrades[0]; - if (vehicleInterface->m_nModelIndex == VT_NRG500) + if (static_cast(vehicleInterface->m_nModelIndex) == VehicleType::VT_NRG500) { applyNegativeMainPosition = extras != 0 && extras != 1; } - else if (vehicleInterface->m_nModelIndex == VT_BF400) + else if (static_cast(vehicleInterface->m_nModelIndex) == VehicleType::VT_BF400) { applyNegativeMainPosition = extras != 2; } - else if (vehicleInterface->m_nModelIndex == VT_FCR900) + else if (static_cast(vehicleInterface->m_nModelIndex) == VehicleType::VT_FCR900) { applyNegativeMainPosition = extras != 1; } @@ -307,11 +308,11 @@ static void __cdecl ApplySecondaryExhaustNitroPosition(CVehicleSAInterface* vehi if (vehicleDummiesPositionArray != nullptr) { - *secondaryExhaustPosition = vehicleDummiesPositionArray[EXHAUST_SECONDARY]; + *secondaryExhaustPosition = vehicleDummiesPositionArray[(std::size_t)VehicleDummies::EXHAUST_SECONDARY]; if (secondaryExhaustPosition->fX == 0.0 && secondaryExhaustPosition->fY == 0.0 && secondaryExhaustPosition->fZ == 0.0) { - *secondaryExhaustPosition = vehicleDummiesPositionArray[EXHAUST]; + *secondaryExhaustPosition = vehicleDummiesPositionArray[(std::size_t)VehicleDummies::EXHAUST]; secondaryExhaustPosition->fX *= -1.0f; } } diff --git a/Client/sdk/game/C3DMarkers.h b/Client/sdk/game/C3DMarkers.h index 07d0b70f8d8..387dd10a6c0 100644 --- a/Client/sdk/game/C3DMarkers.h +++ b/Client/sdk/game/C3DMarkers.h @@ -10,8 +10,7 @@ *****************************************************************************/ #pragma once - -#include "Common.h" +#include "enums/T3DMarkerType.h" class C3DMarker; class CVector; @@ -19,7 +18,7 @@ class CVector; class C3DMarkers { public: - virtual C3DMarker* CreateMarker(DWORD Identifier, e3DMarkerType dwType, CVector* vecPosition, float fSize, float fPulseFraction, BYTE r, BYTE g, BYTE b, + virtual C3DMarker* CreateMarker(DWORD Identifier, T3DMarkerType dwType, CVector* vecPosition, float fSize, float fPulseFraction, BYTE r, BYTE g, BYTE b, BYTE a) = 0; virtual C3DMarker* FindFreeMarker() = 0; virtual void ReinitMarkers() = 0; diff --git a/Client/sdk/game/CCoronas.h b/Client/sdk/game/CCoronas.h index 6c97cadb5ee..f87ef55bf6f 100644 --- a/Client/sdk/game/CCoronas.h +++ b/Client/sdk/game/CCoronas.h @@ -10,6 +10,7 @@ *****************************************************************************/ #pragma once +#include "enums/CoronaType.h" class CRegisteredCorona; class CVector; diff --git a/Client/sdk/game/CDoor.h b/Client/sdk/game/CDoor.h index 3136af25107..56e7b29dbcf 100644 --- a/Client/sdk/game/CDoor.h +++ b/Client/sdk/game/CDoor.h @@ -10,8 +10,7 @@ *****************************************************************************/ #pragma once - -#include "Common.h" +#include "enums/DoorState.h" class CDoor { @@ -20,5 +19,5 @@ class CDoor virtual bool IsClosed() = 0; virtual bool IsFullyOpen() = 0; virtual void Open(float fRatio) = 0; - virtual eDoorState GetDoorState() = 0; + virtual DoorState GetDoorState() = 0; }; diff --git a/Client/sdk/game/CFx.h b/Client/sdk/game/CFx.h index dc933fe1f5a..d575f28b835 100644 --- a/Client/sdk/game/CFx.h +++ b/Client/sdk/game/CFx.h @@ -10,8 +10,7 @@ *****************************************************************************/ #pragma once - -#include "Common.h" +#include "enums/FxParticleSystems.h" class CEntity; class CVector; @@ -36,5 +35,5 @@ class CFx virtual void TriggerWaterSplash(CVector& vecPosition) = 0; virtual void TriggerBulletSplash(CVector& vecPosition) = 0; virtual void TriggerFootSplash(CVector& vecPosition) = 0; - virtual void AddParticle(eFxParticleSystems eFxParticle, const CVector& vecPosition, const CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife) = 0; + virtual void AddParticle(FxParticleSystems eFxParticle, const CVector& vecPosition, const CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife) = 0; }; diff --git a/Client/sdk/game/CGame.h b/Client/sdk/game/CGame.h index 6ff324df86d..a12cb95f6d9 100644 --- a/Client/sdk/game/CGame.h +++ b/Client/sdk/game/CGame.h @@ -16,6 +16,7 @@ #include #include "Common.h" #include "CWeaponInfo.h" +#include "enums/SystemState.h" class C3DMarkers; class CAEAudioHardware; @@ -162,8 +163,8 @@ class __declspec(novtable) CGame virtual int GetSystemFrameCounter() const = 0; virtual bool IsAtMenu() = 0; virtual void StartGame() = 0; - virtual void SetSystemState(eSystemState State) = 0; - virtual eSystemState GetSystemState() = 0; + virtual void SetSystemState(SystemState State) = 0; + virtual SystemState GetSystemState() = 0; virtual void Pause(bool bPaused) = 0; virtual void SetTimeScale(float fTimeScale) = 0; virtual float GetFPS() = 0; diff --git a/Client/sdk/game/CHandlingEntry.h b/Client/sdk/game/CHandlingEntry.h index 90038f6d077..f40eeb433aa 100644 --- a/Client/sdk/game/CHandlingEntry.h +++ b/Client/sdk/game/CHandlingEntry.h @@ -10,6 +10,7 @@ *****************************************************************************/ #pragma once +#include "enums/HandlingType.h" class CVector; @@ -137,7 +138,7 @@ class CHandlingEntry virtual eLightType GetTailLight() const noexcept = 0; virtual unsigned char GetAnimGroup() const noexcept = 0; - virtual eHandlingTypes GetVehicleID() const noexcept = 0; + virtual HandlingType GetVehicleID() const noexcept = 0; // Set functions virtual void SetMass(float fMass) noexcept = 0; diff --git a/Client/sdk/game/CHandlingManager.h b/Client/sdk/game/CHandlingManager.h index 2191655137e..f018be84bb0 100644 --- a/Client/sdk/game/CHandlingManager.h +++ b/Client/sdk/game/CHandlingManager.h @@ -14,6 +14,9 @@ #include #include "Common.h" +#include "enums/HandlingType.h" +#include "enums/HandlingProperty.h" + class CBikeHandlingEntry; class CBoatHandlingEntry; class CFlyingHandlingEntry; @@ -32,7 +35,7 @@ class CHandlingManager virtual const CBoatHandlingEntry* GetOriginalBoatHandlingData(std::uint32_t model) const noexcept = 0; virtual const CBikeHandlingEntry* GetOriginalBikeHandlingData(std::uint32_t model) const noexcept = 0; - virtual eHandlingProperty GetPropertyEnumFromName(const std::string& name) const noexcept = 0; + virtual HandlingProperty GetPropertyEnumFromName(const std::string& name) const noexcept = 0; virtual void CheckSuspensionChanges(const CHandlingEntry* const entry) const noexcept = 0; }; diff --git a/Client/sdk/game/CMarker.h b/Client/sdk/game/CMarker.h index 539b3427a1b..7ab48725655 100644 --- a/Client/sdk/game/CMarker.h +++ b/Client/sdk/game/CMarker.h @@ -11,7 +11,10 @@ #pragma once -#include "Common.h" +#include "enums/MarkerSprite.h" +#include "enums/MarkerDisplay.h" +#include "enums/MarkerType.h" +#include "enums/MarkerColor.h" class CEntity; class CObject; @@ -26,10 +29,10 @@ class CMarker { public: /* Our Functions */ - virtual void SetSprite(eMarkerSprite Sprite) = 0; - virtual void SetDisplay(eMarkerDisplay wDisplay) = 0; + virtual void SetSprite(MarkerSprite Sprite) = 0; + virtual void SetDisplay(MarkerDisplay wDisplay) = 0; virtual void SetScale(WORD wScale) = 0; - virtual void SetColor(eMarkerColor color) = 0; + virtual void SetColor(MarkerColor color) = 0; virtual void SetColor(const SharedUtil::SColor color) = 0; virtual void Remove() = 0; virtual bool IsActive() = 0; diff --git a/Client/sdk/game/CModelInfo.h b/Client/sdk/game/CModelInfo.h index f33e8680732..3c111013f3d 100644 --- a/Client/sdk/game/CModelInfo.h +++ b/Client/sdk/game/CModelInfo.h @@ -13,6 +13,8 @@ #include #include #include "CAnimBlock.h" +#include "enums/VehicleDummies.h" +#include "enums/ResizableVehicleWheelGroup.h" #include "Common.h" constexpr std::uint16_t MODEL_PROPERTIES_GROUP_STATIC = 0xFFFF; @@ -201,13 +203,13 @@ class CModelInfo virtual void* SetVehicleSuspensionData(void* pSuspensionLines) = 0; virtual CVector GetVehicleExhaustFumesPosition() = 0; virtual void SetVehicleExhaustFumesPosition(const CVector& position) = 0; - virtual CVector GetVehicleDummyDefaultPosition(eVehicleDummies eDummy) = 0; - virtual CVector GetVehicleDummyPosition(eVehicleDummies eDummy) = 0; - virtual bool GetVehicleDummyPositions(std::array& positions) const = 0; - virtual void SetVehicleDummyPosition(eVehicleDummies eDummy, const CVector& vecPosition) = 0; + virtual CVector GetVehicleDummyDefaultPosition(VehicleDummies eDummy) = 0; + virtual CVector GetVehicleDummyPosition(VehicleDummies eDummy) = 0; + virtual bool GetVehicleDummyPositions(std::array(VehicleDummies::VEHICLE_DUMMY_COUNT)>& positions) const = 0; + virtual void SetVehicleDummyPosition(VehicleDummies eDummy, const CVector& vecPosition) = 0; virtual void ResetVehicleDummies(bool bRemoveFromDummiesMap) = 0; - virtual float GetVehicleWheelSize(eResizableVehicleWheelGroup eWheelGroup) = 0; - virtual void SetVehicleWheelSize(eResizableVehicleWheelGroup eWheelGroup, float fWheelSize) = 0; + virtual float GetVehicleWheelSize(ResizableVehicleWheelGroup eWheelGroup) = 0; + virtual void SetVehicleWheelSize(ResizableVehicleWheelGroup eWheelGroup, float fWheelSize) = 0; virtual void ResetVehicleWheelSizes(std::pair* defaultSizes = nullptr) = 0; // Init the supported upgrades structure diff --git a/Client/sdk/game/CObjectGroupPhysicalProperties.h b/Client/sdk/game/CObjectGroupPhysicalProperties.h index a8387f46da0..f350f531a07 100644 --- a/Client/sdk/game/CObjectGroupPhysicalProperties.h +++ b/Client/sdk/game/CObjectGroupPhysicalProperties.h @@ -9,6 +9,7 @@ * *****************************************************************************/ #pragma once +#include "enums/ObjectGroupPhysicalProperties.h" class CFxSystemBPSAInterface; class CObjectGroupPhysicalPropertiesSAInterface; @@ -35,16 +36,16 @@ class CObjectGroupPhysicalProperties virtual float GetUprootLimit() const = 0; virtual void SetCollisionDamageMultiplier(float fColMult) = 0; virtual float GetCollisionDamageMultiplier() const = 0; - virtual void SetCollisionDamageEffect(eObjectGroup::DamageEffect eDamageEffect) = 0; - virtual eObjectGroup::DamageEffect GetCollisionDamageEffect() const = 0; - virtual void SetCollisionSpecialResponseCase(eObjectGroup::CollisionResponse eResponseCase) = 0; - virtual eObjectGroup::CollisionResponse GetCollisionSpecialResponseCase() const = 0; + virtual void SetCollisionDamageEffect(ObjectGroupPhysicalProperties::DamageEffect eDamageEffect) = 0; + virtual ObjectGroupPhysicalProperties::DamageEffect GetCollisionDamageEffect() const = 0; + virtual void SetCollisionSpecialResponseCase(ObjectGroupPhysicalProperties::CollisionResponse eResponseCase) = 0; + virtual ObjectGroupPhysicalProperties::CollisionResponse GetCollisionSpecialResponseCase() const = 0; virtual void SetCameraAvoidObject(bool bAvoid) = 0; virtual bool GetCameraAvoidObject() const = 0; virtual void SetCausesExplosion(bool bExplodes) = 0; virtual bool GetCausesExplosion() const = 0; - virtual void SetFxType(eObjectGroup::FxType eFxType) = 0; - virtual eObjectGroup::FxType GetFxType() const = 0; + virtual void SetFxType(ObjectGroupPhysicalProperties::FxType eFxType) = 0; + virtual ObjectGroupPhysicalProperties::FxType GetFxType() const = 0; virtual void SetFxOffset(CVector vecOffset) = 0; virtual CVector GetFxOffset() const = 0; virtual bool SetFxParticleSystem(CFxSystemBPSAInterface* pBlueprint) = 0; @@ -55,8 +56,8 @@ class CObjectGroupPhysicalProperties virtual CVector GetBreakVelocity() const = 0; virtual void SetBreakVelocityRandomness(float fRand) = 0; virtual float GetBreakVelocityRandomness() const = 0; - virtual void SetBreakMode(eObjectGroup::BreakMode eBreakMode) = 0; - virtual eObjectGroup::BreakMode GetBreakMode() const = 0; + virtual void SetBreakMode(ObjectGroupPhysicalProperties::BreakMode eBreakMode) = 0; + virtual ObjectGroupPhysicalProperties::BreakMode GetBreakMode() const = 0; virtual void SetSparksOnImpact(bool bSparks) = 0; virtual bool GetSparksOnImpact() const = 0; }; diff --git a/Client/sdk/game/CPed.h b/Client/sdk/game/CPed.h index 99133873bc9..6ffd9aaf6b7 100644 --- a/Client/sdk/game/CPed.h +++ b/Client/sdk/game/CPed.h @@ -13,6 +13,7 @@ #include "CPhysical.h" #include "CWeaponInfo.h" #include "CPedSound.h" +#include "enums/PedState.h" // To avoid VS intellisense highlight errors #include @@ -299,7 +300,7 @@ class CPed : public virtual CPhysical virtual std::unique_ptr GetPedIK() = 0; virtual CEntitySAInterface* GetTargetedObject() const = 0; - virtual ePedState GetPedState() const = 0; + virtual PedState GetPedState() const = 0; virtual void GetAttachedSatchels(std::vector &satchelsList) const = 0; diff --git a/Client/sdk/game/CPickup.h b/Client/sdk/game/CPickup.h index b21eb31d4a1..f737ae39cf3 100644 --- a/Client/sdk/game/CPickup.h +++ b/Client/sdk/game/CPickup.h @@ -11,7 +11,8 @@ #pragma once -#include "Common.h" +#include "enums/PickupState.h" +#include "enums/PickupType.h" class CObject; class CVector; @@ -23,8 +24,8 @@ class CPickup virtual void SetPosition(CVector* vecPosition) = 0; virtual CVector* GetPosition(CVector* vecPosition) = 0; - virtual ePickupType GetType() = 0; - virtual void SetType(ePickupType type) = 0; + virtual PickupType GetType() = 0; + virtual void SetType(PickupType type) = 0; virtual float GetCurrentValue() = 0; virtual void SetCurrentValue(float fCurrentValue) = 0; virtual void SetRegenerationTime(DWORD dwTime) = 0; @@ -32,8 +33,8 @@ class CPickup virtual WORD GetMoneyPerDay() = 0; virtual WORD GetModel() = 0; virtual void SetModel(WORD wModelIndex) = 0; // do not export - virtual ePickupState GetState() = 0; - virtual void SetState(ePickupState bState) = 0; + virtual PickupState GetState() = 0; + virtual void SetState(PickupState bState) = 0; virtual BYTE GetAmmo() = 0; virtual void SetAmmo(BYTE bAmmo) = 0; virtual long GetMonetaryValue() = 0; @@ -42,4 +43,4 @@ class CPickup virtual void Remove() = 0; virtual void GiveUsAPickUpObject(int ForcedObjectIndex = -1) = 0; virtual void GetRidOfObjects() = 0; -}; \ No newline at end of file +}; diff --git a/Client/sdk/game/CPickups.h b/Client/sdk/game/CPickups.h index ceacc16cda6..6a15f97b914 100644 --- a/Client/sdk/game/CPickups.h +++ b/Client/sdk/game/CPickups.h @@ -11,7 +11,7 @@ #pragma once -#include "Common.h" +#include "enums/PickupType.h" class CPickup; class CVector; @@ -19,7 +19,7 @@ class CVector; class CPickups { public: - virtual CPickup* CreatePickup(CVector* position, DWORD ModelIndex, ePickupType Type = PICKUP_ONCE, DWORD dwMonetaryValue = 0, DWORD dwMoneyPerDay = 0, + virtual CPickup* CreatePickup(CVector* position, DWORD ModelIndex, PickupType Type = PickupType::PICKUP_ONCE, DWORD dwMonetaryValue = 0, DWORD dwMoneyPerDay = 0, BYTE bPingOutOfPlayer = 0) = 0; virtual void DisablePickupProcessing(bool bDisabled) = 0; }; diff --git a/Client/sdk/game/CRegisteredCorona.h b/Client/sdk/game/CRegisteredCorona.h index 33f44c439be..8bee5b9b640 100644 --- a/Client/sdk/game/CRegisteredCorona.h +++ b/Client/sdk/game/CRegisteredCorona.h @@ -11,7 +11,7 @@ #pragma once -#include "Common.h" +#include "enums/CoronaType.h" class CVector; struct RwTexture; @@ -29,7 +29,7 @@ class CRegisteredCorona virtual void SetPullTowardsCamera(float fPullTowardsCamera) = 0; virtual void SetColor(BYTE Red, BYTE Green, BYTE Blue, BYTE Alpha) = 0; virtual void SetTexture(RwTexture* texture) = 0; - virtual void SetTexture(eCoronaType texture) = 0; + virtual void SetTexture(CoronaType texture) = 0; virtual BYTE GetFlareType() = 0; virtual void SetFlareType(BYTE fFlareType) = 0; virtual void SetReflectionType(BYTE reflectionType) = 0; diff --git a/Client/sdk/game/CVehicle.h b/Client/sdk/game/CVehicle.h index 43f0345ae89..ce4b337d541 100644 --- a/Client/sdk/game/CVehicle.h +++ b/Client/sdk/game/CVehicle.h @@ -19,6 +19,9 @@ #include "CWeaponInfo.h" #include "CDamageManager.h" +#include "enums/VehicleDummies.h" +#include "enums/ResizableVehicleWheelGroup.h" + class CAEVehicleAudioEntity; class CColModel; class CDoor; @@ -323,8 +326,8 @@ class CVehicle : public virtual CPhysical virtual void SetWheelScale(float fWheelScale) = 0; virtual CAEVehicleAudioEntity* GetVehicleAudioEntity() = 0; - virtual bool GetDummyPosition(eVehicleDummies dummy, CVector& position) const = 0; - virtual bool SetDummyPosition(eVehicleDummies dummy, const CVector& position) = 0; + virtual bool GetDummyPosition(VehicleDummies dummy, CVector& position) const = 0; + virtual bool SetDummyPosition(VehicleDummies dummy, const CVector& position) = 0; virtual const CVector* GetDummyPositions() const = 0; virtual void ReinitAudio() = 0; diff --git a/Client/sdk/game/CVehicleAudioSettingsEntry.h b/Client/sdk/game/CVehicleAudioSettingsEntry.h index e740667a3e7..f16a3c37217 100644 --- a/Client/sdk/game/CVehicleAudioSettingsEntry.h +++ b/Client/sdk/game/CVehicleAudioSettingsEntry.h @@ -11,7 +11,7 @@ #pragma once -#include "Common.h" +#include "enums/VehicleSoundType.h" class CVehicleAudioSettingsEntry { @@ -20,7 +20,7 @@ class CVehicleAudioSettingsEntry virtual ~CVehicleAudioSettingsEntry(){} // Get - virtual eVehicleSoundType GetSoundType() const noexcept = 0; + virtual VehicleSoundType GetSoundType() const noexcept = 0; virtual short GetEngineOnSoundBankID() const noexcept = 0; virtual short GetEngineOffSoundBankID() const noexcept = 0; virtual char GetBassSetting() const noexcept = 0; @@ -36,7 +36,7 @@ class CVehicleAudioSettingsEntry virtual float GetHornVolumeDelta() const noexcept = 0; // Set - virtual void SetSoundType(eVehicleSoundType value) noexcept = 0; + virtual void SetSoundType(VehicleSoundType value) noexcept = 0; virtual void SetEngineOnSoundBankID(short value) noexcept = 0; virtual void SetEngineOffSoundBankID(short value) noexcept = 0; virtual void SetBassSetting(char value) noexcept = 0; diff --git a/Client/sdk/game/Common.h b/Client/sdk/game/Common.h index 82e6e499b7a..80810a7d24d 100644 --- a/Client/sdk/game/Common.h +++ b/Client/sdk/game/Common.h @@ -10,8 +10,6 @@ *****************************************************************************/ #pragma once - -#include #include // Limits for MTA @@ -63,1615 +61,4 @@ #define WEAPONTYPE_RANDOM_SPEED (0x020000) // #define WEAPONTYPE_FORCE_FINISH_ANIM (0x040000) // force the anim to finish player after aim/fire rather than blending out #define WEAPONTYPE_EXPANDS (0x080000) // - -enum eRadarSprite -{ - RADAR_SPRITE_NONE = 0, - RADAR_SPRITE_BORDER, - RADAR_SPRITE_CENTRE, - RADAR_SPRITE_MAP_HERE, - RADAR_SPRITE_NORTH, - - RADAR_SPRITE_AIRYARD, - RADAR_SPRITE_GUN, - RADAR_SPRITE_BARBERS, - RADAR_SPRITE_BIG_SMOKE, - RADAR_SPRITE_BOATYARD, - RADAR_SPRITE_BURGERSHOT, - RADAR_SPRITE_BULLDOZER, - RADAR_SPRITE_CAT_PINK, - RADAR_SPRITE_CESAR, - RADAR_SPRITE_CHICKEN, - RADAR_SPRITE_CJ, - RADAR_SPRITE_CRASH1, - RADAR_SPRITE_DINER, - RADAR_SPRITE_EMMETGUN, - RADAR_SPRITE_ENEMYATTACK, - RADAR_SPRITE_FIRE, - RADAR_SPRITE_GIRLFRIEND, - RADAR_SPRITE_HOSPITAL, - RADAR_SPRITE_LOCO, - RADAR_SPRITE_MADDOG, - RADAR_SPRITE_MAFIA, - RADAR_SPRITE_MCSTRAP, - RADAR_SPRITE_MOD_GARAGE, - RADAR_SPRITE_OGLOC, - RADAR_SPRITE_PIZZA, - RADAR_SPRITE_POLICE, - RADAR_SPRITE_PROPERTY_GREEN, - RADAR_SPRITE_PROPERTY_RED, - RADAR_SPRITE_RACE, - RADAR_SPRITE_RYDER, - RADAR_SPRITE_SAVEHOUSE, - RADAR_SPRITE_SCHOOL, - RADAR_SPRITE_MYSTERY, - RADAR_SPRITE_SWEET, - RADAR_SPRITE_TATTOO, - RADAR_SPRITE_TRUTH, - RADAR_SPRITE_WAYPOINT, - RADAR_SPRITE_TORENO_RANCH, - RADAR_SPRITE_TRIADS, - RADAR_SPRITE_TRIADS_CASINO, - RADAR_SPRITE_TSHIRT, - RADAR_SPRITE_WOOZIE, - RADAR_SPRITE_ZERO, - RADAR_SPRITE_DATE_DISCO, - RADAR_SPRITE_DATE_DRINK, - RADAR_SPRITE_DATE_FOOD, - RADAR_SPRITE_TRUCK, - RADAR_SPRITE_CASH, - RADAR_SPRITE_FLAG, - RADAR_SPRITE_GYM, - RADAR_SPRITE_IMPOUND, - RADAR_SPRITE_RUNWAY_LIGHT, - RADAR_SPRITE_RUNWAY, - RADAR_SPRITE_GANG_B, - RADAR_SPRITE_GANG_P, - RADAR_SPRITE_GANG_Y, - RADAR_SPRITE_GANG_N, - RADAR_SPRITE_GANG_G, - RADAR_SPRITE_SPRAY -}; - -enum eWantedLevelSA -{ - WANTED_CLEAN = 0, - WANTED_LEVEL1, - WANTED_LEVEL2, - WANTED_LEVEL3, - WANTED_LEVEL4, - WANTED_LEVEL5, - WANTED_LEVEL6 -}; - #define WEAPONTYPE_CHAINGUN WEAPONTYPE_MINIGUN - -enum eDoorState -{ - DOOR_NOTHING, - DOOR_HIT_MAX_END, - DOOR_HIT_MIN_END, - DOOR_POP_OPEN, - DOOR_SLAM_SHUT -}; - -enum eSystemState -{ - GS_START_UP, - GS_INIT_LOGO_MPEG, - GS_LOGO_MPEG, - GS_INIT_INTRO_MPEG, - GS_INTRO_MPEG, - GS_INIT_ONCE, - GS_INIT_FRONTEND, - GS_FRONTEND, - GS_INIT_PLAYING_GAME, - GS_PLAYING_GAME -}; - -/** - * Used to store the state of controls - */ -typedef struct eControlStatesSA -{ - DWORD dwFrontPad; - WORD wKeys1[19]; - DWORD dwFrontPad2; - WORD wKeys2[19]; - WORD wTurnLeftRightAnalog[10]; - BYTE bytePadding1[138]; - BYTE byteCrouchAnalog[5]; - BYTE byteIncrementer; - BYTE bytePadding2[15]; - DWORD dwKeyHeld; -} eControlStatesSA; - -enum class VehicleClass : uint8_t -{ - AUTOMOBILE, - MONSTER_TRUCK, - QUAD, - HELI, - PLANE, - BOAT, - TRAIN, - FAKE_HELI, - FAKE_PLANE, - BIKE, - BMX, - TRAILER, -}; - -enum eVehicleTypes -{ - VT_LANDSTAL = 400, - VT_BRAVURA, - VT_BUFFALO, - VT_LINERUN, - VT_PEREN, - VT_SENTINEL, - VT_DUMPER, - VT_FIRETRUK, - VT_TRASH, - VT_STRETCH, - VT_MANANA, - VT_INFERNUS, - VT_VOODOO, - VT_PONY, - VT_MULE, - VT_CHEETAH, - VT_AMBULAN, - VT_LEVIATHN, - VT_MOONBEAM, - VT_ESPERANT, - VT_TAXI, - VT_WASHING, - VT_BOBCAT, - VT_MRWHOOP, - VT_BFINJECT, - VT_HUNTER, - VT_PREMIER, - VT_ENFORCER, - VT_SECURICA, - VT_BANSHEE, - VT_PREDATOR, - VT_BUS, - VT_RHINO, - VT_BARRACKS, - VT_HOTKNIFE, - VT_ARTICT1, - VT_PREVION, - VT_COACH, - VT_CABBIE, - VT_STALLION, - VT_RUMPO, - VT_RCBANDIT, - VT_ROMERO, - VT_PACKER, - VT_MONSTER, - VT_ADMIRAL, - VT_SQUALO, - VT_SEASPAR, - VT_PIZZABOY, - VT_TRAM, - VT_ARTICT2, - VT_TURISMO, - VT_SPEEDER, - VT_REEFER, - VT_TROPIC, - VT_FLATBED, - VT_YANKEE, - VT_CADDY, - VT_SOLAIR, - VT_TOPFUN, - VT_SKIMMER, - VT_PCJ600, - VT_FAGGIO, - VT_FREEWAY, - VT_RCBARON, - VT_RCRAIDER, - VT_GLENDALE, - VT_OCEANIC, - VT_SANCHEZ, - VT_SPARROW, - VT_PATRIOT, - VT_QUAD, - VT_COASTG, - VT_DINGHY, - VT_HERMES, - VT_SABRE, - VT_RUSTLER, - VT_ZR350, - VT_WALTON, - VT_REGINA, - VT_COMET, - VT_BMX, - VT_BURRITO, - VT_CAMPER, - VT_MARQUIS, - VT_BAGGAGE, - VT_DOZER, - VT_MAVERICK, - VT_VCNMAV, - VT_RANCHER, - VT_FBIRANCH, - VT_VIRGO, - VT_GREENWOO, - VT_JETMAX, - VT_HOTRING, - VT_SANDKING, - VT_BLISTAC, - VT_POLMAV, - VT_BOXVILLE, - VT_BENSON, - VT_MESA, - VT_RCGOBLIN, - VT_HOTRINA, - VT_HOTRINB, - VT_BLOODRA, - VT_RNCHLURE, - VT_SUPERGT, - VT_ELEGANT, - VT_JOURNEY, - VT_BIKE, - VT_MTBIKE, - VT_BEAGLE, - VT_CROPDUST, - VT_STUNT, - VT_PETRO, - VT_RDTRAIN, - VT_NEBULA, - VT_MAJESTIC, - VT_BUCCANEE, - VT_SHAMAL, - VT_HYDRA, - VT_FCR900, - VT_NRG500, - VT_COPBIKE, - VT_CEMENT, - VT_TOWTRUCK, - VT_FORTUNE, - VT_CADRONA, - VT_FBITRUCK, - VT_WILLARD, - VT_FORKLIFT, - VT_TRACTOR, - VT_COMBINE, - VT_FELTZER, - VT_REMINGTN, - VT_SLAMVAN, - VT_BLADE, - VT_FREIGHT, - VT_STREAK, - VT_VORTEX, - VT_VINCENT, - VT_BULLET, - VT_CLOVER, - VT_SADLER, - VT_FIRELA, - VT_HUSTLER, - VT_INTRUDER, - VT_PRIMO, - VT_CARGOBOB, - VT_TAMPA, - VT_SUNRISE, - VT_MERIT, - VT_UTILITY, - VT_NEVADA, - VT_YOSEMITE, - VT_WINDSOR, - VT_MONSTERA, - VT_MONSTERB, - VT_URANUS, - VT_JESTER, - VT_SULTAN, - VT_STRATUM, - VT_ELEGY, - VT_RAINDANC, - VT_RCTIGER, - VT_FLASH, - VT_TAHOMA, - VT_SAVANNA, - VT_BANDITO, - VT_FREIFLAT, - VT_STREAKC, - VT_KART, - VT_MOWER, - VT_DUNERIDE, - VT_SWEEPER, - VT_BROADWAY, - VT_TORNADO, - VT_AT400, - VT_DFT30, - VT_HUNTLEY, - VT_STAFFORD, - VT_BF400, - VT_NEWSVAN, - VT_TUG, - VT_PETROTR, - VT_EMPEROR, - VT_WAYFARER, - VT_EUROS, - VT_HOTDOG, - VT_CLUB, - VT_FREIBOX, - VT_ARTICT3, - VT_ANDROM, - VT_DODO, - VT_RCCAM, - VT_LAUNCH, - VT_COPCARLA, - VT_COPCARSF, - VT_COPCARVG, - VT_COPCARRU, - VT_PICADOR, - VT_SWATVAN, - VT_ALPHA, - VT_PHOENIX, - VT_GLENSHIT, - VT_SADLSHIT, - VT_BAGBOXA, - VT_BAGBOXB, - VT_TUGSTAIR, - VT_BOXBURG, - VT_FARMTR1, - VT_UTILTR1, - VT_MAX -}; - -enum eHandlingTypes -{ - HT_LANDSTAL, - HT_BRAVURA, - HT_BUFFALO, - HT_LINERUN, - HT_PEREN, - HT_SENTINEL, - HT_DUMPER, - HT_FIRETRUK, - HT_TRASH, - HT_STRETCH, - HT_MANANA, - HT_INFERNUS, - HT_VOODOO, - HT_PONY, - HT_MULE, - HT_CHEETAH, - HT_AMBULAN, - HT_MOONBEAM, - HT_ESPERANT, - HT_TAXI, - HT_WASHING, - HT_BOBCAT, - HT_MRWHOOP, - HT_BFINJECT, - HT_PREMIER, - HT_ENFORCER, - HT_SECURICA, - HT_BANSHEE, - HT_BUS, - HT_RHINO, - HT_BARRACKS, - HT_HOTKNIFE, - HT_ARTICT1, - HT_PREVION, - HT_COACH, - HT_CABBIE, - HT_STALLION, - HT_RUMPO, - HT_RCBANDIT, - HT_ROMERO, - HT_PACKER, - HT_MONSTER, - HT_ADMIRAL, - HT_TRAM, - HT_AIRTRAIN, - HT_ARTICT2, - HT_TURISMO, - HT_FLATBED, - HT_YANKEE, - HT_GOLFCART, - HT_SOLAIR, - HT_TOPFUN, - HT_GLENDALE, - HT_OCEANIC, - HT_PATRIOT, - HT_HERMES, - HT_SABRE, - HT_ZR350, - HT_WALTON, - HT_REGINA, - HT_COMET, - HT_BURRITO, - HT_CAMPER, - HT_BAGGAGE, - HT_DOZER, - HT_RANCHER, - HT_FBIRANCH, - HT_VIRGO, - HT_GREENWOO, - HT_HOTRING, - HT_SANDKING, - HT_BLISTAC, - HT_BOXVILLE, - HT_BENSON, - HT_MESA, - HT_BLOODRA, - HT_BLOODRB, - HT_SUPERGT, - HT_ELEGANT, - HT_JOURNEY, - HT_PETROL, - HT_RDTRAIN, - HT_NEBULA, - HT_MAJESTIC, - HT_BUCCANEE, - HT_CEMENT, - HT_TOWTRUCK, - HT_FORTUNE, - HT_CADRONA, - HT_FBITRUCK, - HT_WILLARD, - HT_FORKLIFT, - HT_TRACTOR, - HT_COMBINE, - HT_FELTZER, - HT_REMINGTN, - HT_SLAMVAN, - HT_BLADE, - HT_FREIGHT, - HT_STREAK, - HT_VINCENT, - HT_BULLET, - HT_CLOVER, - HT_SADLER, - HT_RANGER, - HT_HUSTLER, - HT_INTRUDER, - HT_PRIMO, - HT_TAMPA, - HT_SUNRISE, - HT_MERIT, - HT_UTILITY, - HT_YOSEMITE, - HT_WINDSOR, - HT_MTRUCK_A, - HT_MTRUCK_B, - HT_URANUS, - HT_JESTER, - HT_SULTAN, - HT_STRATUM, - HT_ELEGY, - HT_RCTIGER, - HT_FLASH, - HT_TAHOMA, - HT_SAVANNA, - HT_BANDITO, - HT_FREIFLAT, - HT_CSTREAK, - HT_KART, - HT_MOWER, - HT_DUNE, - HT_SWEEPER, - HT_BROADWAY, - HT_TORNADO, - HT_DFT30, - HT_HUNTLEY, - HT_STAFFORD, - HT_NEWSVAN, - HT_TUG, - HT_PETROTR, - HT_EMPEROR, - HT_FLOAT, - HT_EUROS, - HT_HOTDOG, - HT_CLUB, - HT_ARTICT3, - HT_RCCAM, - HT_POLICE_LA, - HT_POLICE_SF, - HT_POLICE_VG, - HT_POLRANGER, - HT_PICADOR, - HT_SWATVAN, - HT_ALPHA, - HT_PHOENIX, - HT_BAGBOXA, - HT_BAGBOXB, - HT_STAIRS, - HT_BOXBURG, - HT_FARM_TR1, - HT_UTIL_TR1, - HT_ROLLER, - HT_BIKE, - HT_PIZZABOY, - HT_DIRTBIKE, - HT_FCR900, - HT_NRG500, - HT_HPV1000, - HT_BF400, - HT_WAYFARER, - HT_QUADBIKE, - HT_BMX, - HT_CHOPPERB, - HT_MTB, - HT_FREEWAY, - HT_PREDATOR, - HT_SPEEDER, - HT_REEFER, - HT_RIO, - HT_SQUALO, - HT_TROPIC, - HT_COASTGRD, - HT_DINGHY, - HT_MARQUIS, - HT_CUPBOAT, - HT_LAUNCH, - HT_SEAPLANE, - HT_VORTEX, - HT_RUSTLER, - HT_BEAGLE, - HT_CROPDUST, - HT_STUNT, - HT_SHAMAL, - HT_HYDRA, - HT_NEVADA, - HT_AT400, - HT_ANDROM, - HT_DODO, - HT_SPARROW, - HT_SEASPAR, - HT_MAVERICK, - HT_COASTMAV, - HT_POLMAV, - HT_HUNTER, - HT_LEVIATHN, - HT_CARGOBOB, - HT_RAINDANC, - HT_RCBARON, - HT_RCGOBLIN, - HT_RCRAIDER, - HT_HOTRINA, - HT_HOTRINB, - HT_SADLSHIT, - HT_GLENSHIT, - HT_FAGGIO, - HT_FIRELA, - HT_RNCHLURE, - HT_FREIBOX, - HT_MAX -}; - -enum VehHandlingFlags -{ - HF_1GEAR_BOOST = 0x00000001, - HF_2GEAR_BOOST = 0x00000002, - HF_NPC_ANTI_ROLL = 0x00000004, - HF_NPC_NEUTRAL_HANDLING = 0x00000008, - - HF_NO_HANDBRAKE = 0x00000010, - HF_STEER_REARWHEELS = 0x00000020, - HF_HANDBRAKE_REARWHEELSTEER = 0x00000040, - HF_ALT_STEERING_OPTION = 0x00000080, - - HF_WHEEL_F_NARROW_X2 = 0x00000100, - HF_WHEEL_F_NARROW = 0x00000200, - HF_WHEEL_F_WIDE = 0x00000400, - HF_WHEEL_F_WIDE_X2 = 0x00000800, - - HF_WHEEL_R_NARROW_X2 = 0x00001000, - HF_WHEEL_R_NARROW = 0x00002000, - HF_WHEEL_R_WIDE = 0x00004000, - HF_WHEEL_R_WIDE_X2 = 0x00008000, - - HF_HYDRAULICS_GEOMETRY = 0x00010000, - HF_HYDRAULICS_INSTALLED = 0x00020000, - HF_HYDRAULICS_NOT_AVAILABLE = 0x00040000, - HF_NOS_INSTALLED = 0x00080000, - - HF_OFFROAD_ABILITIES = 0x00100000, - HF_OFFROAD_ABILITIES_X2 = 0x00200000, - HF_HALOGEN_LIGHTS = 0x00400000, - HF_PROCESS_REARWHEEL_1ST = 0x00800000, - - HF_USE_TOPSPEED_LIMIT = 0x01000000, - HF_LOW_RIDER = 0x02000000, - HF_STREET_RACER = 0x04000000, - - HF_SWINGING_CHASSIS = 0x10000000, - - HF_LAST_AVAILABLE_FLAG = 0x80000000 -}; - -enum VehModelFlags -{ - MF_IS_VAN = 0x00000001, - MF_IS_BUS = 0x00000002, - MF_IS_LOW = 0x00000004, - MF_IS_BIG = 0x00000008, - - MF_REVERSE_BONNET = 0x00000010, - MF_HANGING_BOOT = 0x00000020, - MF_TAILGATE_BOOT = 0x00000040, - MF_NOSWING_BOOT = 0x00000080, - - MF_NO_DOORS = 0x00000100, - MF_TANDEM_SEATING = 0x00000200, - MF_SIT_IN_BOAT = 0x00000400, - MF_CONVERTIBLE = 0x00000800, - - MF_NO_EXHAUST = 0x00001000, - MF_DOUBLE_EXHAUST = 0x00002000, - MF_NO_1STPERSON_LOOKBEHIND = 0x00004000, - MF_FORCE_DOORS_CHECK = 0x00008000, - - MF_AXLE_F_NOTILT = 0x00010000, - MF_AXLE_F_SOLID = 0x00020000, - MF_AXLE_F_MCPHERSON = 0x00040000, - MF_AXLE_F_REVERSETILT = 0x00080000, - - MF_AXLE_R_NOTILT = 0x00100000, - MF_AXLE_R_SOLID = 0x00200000, - MF_AXLE_R_MCPHERSON = 0x00400000, - MF_AXLE_R_REVERSETILT = 0x00800000, - - // these are tempory, will be integrated into vehicle type (probably) - MF_IS_BIKE = 0x01000000, - MF_IS_HELI = 0x02000000, - MF_IS_PLANE = 0x04000000, - MF_IS_BOAT = 0x08000000, - - MF_NO_PANEL_BOUNCING = 0x10000000, - MF_DOUBLE_REAR_WHEELS = 0x20000000, - // this is a tempory flag to ensure ground clearance until the model gets changed - MF_FORCE_GRND_CLEARANCE = 0x40000000, - // MF_SUICIDE_REAR_DOORS = 0x80000000, - - MF_IS_HATCHBACK = 0x80000000 // has window in boot that is pointing upwards (render order thing) -}; - -/** - * Use to refer to types of weather, most in CWeather - */ -enum eWeather -{ - WEATHER_SUNNY = 0, - WEATHER_CLOUDY, - WEATHER_RAINY, - WEATHER_FOGGY, - WEATHER_VERY_SUNNY, - WEATHER_VERY_RAINY, - WEATHER_INSIDE -}; - -enum e3DMarkerType -{ - MARKER3D_ARROW, - MARKER3D_CYLINDER2, - MARKER3D_TUBE, - MARKER3D_ARROW2, - MARKER3D_TORUS, - MARKER3D_CONE, - MARKER3D_CONE_NO_COLLISION, - MARKER3D_NUM -}; - -enum eMarkerSprite -{ - MARKER_SPRITE_NONE = 0, - MARKER_SPRITE_BORDER, - MARKER_SPRITE_CENTRE, - MARKER_SPRITE_MAP_HERE, - MARKER_SPRITE_NORTH, - - MARKER_SPRITE_AIRYARD, - MARKER_SPRITE_GUN, - MARKER_SPRITE_BARBERS, - MARKER_SPRITE_BIG_SMOKE, - MARKER_SPRITE_BOATYARD, - MARKER_SPRITE_BURGERSHOT, - MARKER_SPRITE_BULLDOZER, - MARKER_SPRITE_CAT_PINK, - MARKER_SPRITE_CESAR, - MARKER_SPRITE_CHICKEN, - MARKER_SPRITE_CJ, - MARKER_SPRITE_CRASH1, - MARKER_SPRITE_DINER, - MARKER_SPRITE_EMMETGUN, - MARKER_SPRITE_ENEMYATTACK, - MARKER_SPRITE_FIRE, - MARKER_SPRITE_GIRLFRIEND, - MARKER_SPRITE_HOSPITAL, - MARKER_SPRITE_LOCO, - MARKER_SPRITE_MADDOG, - MARKER_SPRITE_MAFIA, - MARKER_SPRITE_MCSTRAP, - MARKER_SPRITE_MOD_GARAGE, - MARKER_SPRITE_OGLOC, - MARKER_SPRITE_PIZZA, - MARKER_SPRITE_POLICE, - MARKER_SPRITE_PROPERTY_GREEN, - MARKER_SPRITE_PROPERTY_RED, - MARKER_SPRITE_RACE, - MARKER_SPRITE_RYDER, - MARKER_SPRITE_SAVEHOUSE, - MARKER_SPRITE_SCHOOL, - MARKER_SPRITE_MYSTERY, - MARKER_SPRITE_SWEET, - MARKER_SPRITE_TATTOO, - MARKER_SPRITE_TRUTH, - MARKER_SPRITE_WAYPOINT, - MARKER_SPRITE_TORENO_RANCH, - MARKER_SPRITE_TRIADS, - MARKER_SPRITE_TRIADS_CASINO, - MARKER_SPRITE_TSHIRT, - MARKER_SPRITE_WOOZIE, - MARKER_SPRITE_ZERO, - MARKER_SPRITE_DATE_DISCO, - MARKER_SPRITE_DATE_DRINK, - MARKER_SPRITE_DATE_FOOD, - MARKER_SPRITE_TRUCK, - MARKER_SPRITE_CASH, - MARKER_SPRITE_FLAG, - MARKER_SPRITE_GYM, - MARKER_SPRITE_IMPOUND, - MARKER_SPRITE_RUNWAY_LIGHT, - MARKER_SPRITE_RUNWAY, - MARKER_SPRITE_GANG_B, - MARKER_SPRITE_GANG_P, - MARKER_SPRITE_GANG_Y, - MARKER_SPRITE_GANG_N, - MARKER_SPRITE_GANG_G, - MARKER_SPRITE_SPRAY -}; - -/** - * Used to decide how the marker is displayed in-game and on the radar - */ -enum eMarkerDisplay // R*'s eMARKER_DISPLAY -{ - MARKER_DISPLAY_NEITHER = 0, // BLIPDISPLAY_NEITHER - MARKER_DISPLAY_MARKERONLY, // BLIPDISPLAY_MARKERONLY - MARKER_DISPLAY_BLIPONLY, // MARKER_DISPLAY_BLIPONLY - MARKER_DISPLAY_BOTH // BLIPDISPLAY_BOTH -}; - -enum eMarkerType -{ - MARKER_TYPE_UNUSED, - MARKER_TYPE_CAR, - MARKER_TYPE_CHAR, - MARKER_TYPE_OBJECT, - MARKER_TYPE_COORDS, - MARKER_TYPE_CONTACT, - MARKER_TYPE_SEARCHLIGHT, - MARKER_TYPE_PICKUP, - MARKER_TYPE_AIRSTRIP -}; - -enum eMarkerColor -{ - MARKER_COLOR_PLUM = 0, - MARKER_COLOR_PALE_GREEN, - MARKER_COLOR_PALE_BLUE, - MARKER_COLOR_PALE_GREY, - MARKER_COLOR_YELLOW, - MARKER_COLOR_PINK, - MARKER_COLOR_TURQUOISE, - MARKER_COLOR_RED, - MARKER_COLOR_BLUE, - MARKER_COLOR_GREY, - MARKER_COLOR_DARK_PINK, - MARKER_COLOR_DARK_TURQUOISE, -}; - -enum ePickupState -{ - PUSTATE_ON, - PUSTATE_OFF -}; - -enum ePickupType -{ - PICKUP_NONE, - PICKUP_IN_SHOP, - PICKUP_ON_STREET, - PICKUP_ONCE, - PICKUP_ONCE_TIMEOUT, - PICKUP_ONCE_TIMEOUT_SLOW, - PICKUP_COLLECTABLE1, - PICKUP_IN_SHOP_OUT_OF_STOCK, - PICKUP_MONEY, - PICKUP_MINE_INACTIVE, - PICKUP_MINE_ARMED, - PICKUP_NAUTICAL_MINE_INACTIVE, - PICKUP_NAUTICAL_MINE_ARMED, - PICKUP_FLOATINGPACKAGE, - PICKUP_FLOATINGPACKAGE_FLOATING, - PICKUP_ON_STREET_SLOW, - PICKUP_ASSET_REVENUE, - PICKUP_PROPERTY_LOCKED, - PICKUP_PROPERTY_FORSALE, - PICKUP_MONEY_DOESNTDISAPPEAR, - PICKUP_SNAPSHOT, - PICKUP_2P, - PICKUP_ONCE_FOR_MISSION -}; - -enum eDoorsSA -{ - -}; - -enum ePanelsSA -{ - -}; - -typedef int eEventEntity; - -enum eEventType -{ - EVENT_NULL = 0, - EVENT_ASSAULT, - EVENT_RUN_REDLIGHT, - EVENT_ASSAULT_POLICE, - EVENT_GUNSHOT, - EVENT_INJURED_PED, - EVENT_DEAD_PED, - EVENT_FIRE, - EVENT_STEAL_CAR, - EVENT_HIT_AND_RUN, - EVENT_HIT_AND_RUN_COP, - EVENT_SHOOT_PED, - EVENT_SHOOT_COP, - EVENT_EXPLOSION, - EVENT_PED_SET_ON_FIRE, - EVENT_COP_SET_ON_FIRE, - EVENT_CAR_SET_ON_FIRE, - EVENT_ASSAULT_NASTYWEAPON, - EVENT_ASSAULT_NASTYWEAPON_POLICE, - // extra eventy - not strictly 'events' but used to notice interesting stuff - EVENT_ICECREAM, ///// - EVENT_ATM, // // queue for these 3 - EVENT_SHOPSTALL, ///// - EVENT_SHOPWINDOW, - EVENT_LAST_EVENT -}; - -enum eEventEntityType -{ - ENTITY_EVENT_PED = 0, - ENTITY_EVENT_VEHICLE, - ENTITY_EVENT_OBJECT -}; - -enum eCoronaType -{ - CORONATYPE_SHINYSTAR, - CORONATYPE_HEADLIGHT, - CORONATYPE_MOON, - CORONATYPE_REFLECTION, - CORONATYPE_HEADLIGHTLINE, - CORONATYPE_HEX, - CORONATYPE_CIRCLE, - CORONATYPE_RING, - CORONATYPE_STREAK, - CORONATYPE_TORUS, - CORONATYPE_NONE -}; - -enum eCoronaFlareTypeSA -{ - FLARETYPE_NONE, - FLARETYPE_SUN, - FLARETYPE_HEADLIGHTS -}; - -enum eCoronaLosCheckSA // These should not be changed without changing stuff in ProcessLightsForEntity -{ - LOSCHECK_OFF = 0, - LOSCHECK_ON -}; - -enum eCoronaSpecialSA -{ - SPECIALCORONA_NONE, - SPECIALCORONA_SUNCORE, - SPECIALCORONA_SUNCORONA, - SPECIALCORONA_SUNMOON -}; - -enum eCoronaUnkSA -{ - CORREFL_NONE, - CORREFL_SIMPLE -}; - -enum eCoronaTrailSA -{ - TRAIL_OFF, - TRAIL_ON -}; - -enum ePedType -{ - PEDTYPE_PLAYER1 = 0, - PEDTYPE_PLAYER2, // 2nd player in single player game (using 2nd pad) - PEDTYPE_PLAYER_NETWORK, // Player controlled over the network (not by this machine) - PEDTYPE_PLAYER_UNUSED, // Not used at the moment - PEDTYPE_CIVMALE, - PEDTYPE_CIVFEMALE, - PEDTYPE_COP, - PEDTYPE_GANG1, // 8bits - PEDTYPE_GANG2, - PEDTYPE_GANG3, - PEDTYPE_GANG4, - PEDTYPE_GANG5, - PEDTYPE_GANG6, - PEDTYPE_GANG7, - PEDTYPE_GANG8, - PEDTYPE_GANG9, // 16bits - PEDTYPE_GANG10, - PEDTYPE_DEALER, - PEDTYPE_MEDIC, - PEDTYPE_FIRE, - PEDTYPE_CRIMINAL, - PEDTYPE_BUM, - PEDTYPE_PROSTITUTE, - PEDTYPE_SPECIAL, // 24bits - PEDTYPE_MISSION1, - PEDTYPE_MISSION2, - PEDTYPE_MISSION3, - PEDTYPE_MISSION4, - PEDTYPE_MISSION5, - PEDTYPE_MISSION6, - PEDTYPE_MISSION7, - PEDTYPE_MISSION8, // 32bits - // WE'RE USING BIT-FLAGS FOR PED AQUANTANCES - // SO 32 IS THE MAX NUMBER OF PED TYPES WE CAN HAVE!!!! - PEDTYPE_LAST_PEDTYPE -}; - -enum ePedState -{ - PED_NONE = 0, - PED_IDLE, - PED_LOOK_ENTITY, - PED_LOOK_HEADING, - PED_WANDER_RANGE, - PED_WANDER_PATH, - PED_SEEK_POSITION, - PED_SEEK_ENTITY, - PED_FLEE_POSITION, - PED_FLEE_ENTITY, - PED_PURSUE, - PED_FOLLOW_PATH, - PED_SNIPER_MODE, - PED_ROCKETLAUNCHER_MODE, - PED_DUMMY, - PED_PAUSE, - PED_ATTACK, - PED_FIGHT, // new close combat fist fight mode - PED_FACE_PHONE, - PED_MAKE_PHONECALL, - PED_CHAT, - PED_MUG, - PED_AIMGUN, - PED_AI_CONTROL, - PED_SEEK_CAR, // 24 - PED_SEEK_BOAT_POSITION, - PED_FOLLOW_ROUTE, - PED_CPR, - PED_SOLICIT, - PED_BUY_ICE_CREAM, - PED_INVESTIGATE_EVENT, - PED_EVADE_STEP, - PED_ON_FIRE, - PED_SUNBATHE, - PED_FLASH, - PED_JOG, - PED_ANSWER_MOBILE, - PED_HANG_OUT, - PED_STATES_NO_AI, // only put states after here that do not require AI, put other ones before this - PED_ABSEIL_FROM_HELI, - PED_SIT, - PED_JUMP, - PED_FALL, - PED_GETUP, - PED_STAGGER, - PED_EVADE_DIVE, - PED_STATES_CAN_SHOOT, // only put states before here than ped can be shot during - PED_ENTER_TRAIN, - PED_EXIT_TRAIN, - PED_ARREST_PLAYER, - PED_DRIVING, // 50 - PED_PASSENGER, - PED_TAXI_PASSENGER, - PED_OPEN_DOOR, - PED_DIE, - PED_DEAD, - PED_CARJACK, - PED_DRAGGED_FROM_CAR, - PED_ENTER_CAR, - PED_STEAL_CAR, - PED_EXIT_CAR, - PED_HANDS_UP, - PED_ARRESTED, - PED_DEPLOY_STINGER, - - PED_NUM_STATES -}; - -enum eMoveState -{ - PEDMOVE_NONE = 0, - PEDMOVE_STILL, - PEDMOVE_TURN_L, - PEDMOVE_TURN_R, - PEDMOVE_WALK, - // #ifdef GTA_MIAMI - PEDMOVE_JOG, - // #endif - PEDMOVE_RUN, - PEDMOVE_SPRINT -}; -/* -enum eMoveStateVC -{ - PEDMOVE_NONE, - PEDMOVE_STILL, - PEDMOVE_WALK, - PEDMOVE_JOG, - PEDMOVE_RUN, - PEDMOVE_SPRINT, - PEDMOVE_THROWN -};*/ - -enum eObjective -{ - NO_OBJ = 0, // 0 - WAIT_ON_FOOT, - WAIT_ON_FOOT_FOR_COP, - FLEE_ON_FOOT_TILL_SAFE, - GUARD_SPOT, - GUARD_AREA, - WAIT_IN_CAR, - WAIT_IN_CAR_THEN_GET_OUT, - KILL_CHAR_ON_FOOT, - KILL_CHAR_ANY_MEANS, - FLEE_CHAR_ON_FOOT_TILL_SAFE, // 10 - FLEE_CHAR_ON_FOOT_ALWAYS, - GOTO_CHAR_ON_FOOT, - GOTO_CHAR_ON_FOOT_WALKING, - HASSLE_CHAR, - FOLLOW_CHAR_IN_FORMATION, - LEAVE_CAR, - ENTER_CAR_AS_PASSENGER, - ENTER_CAR_AS_DRIVER, - FOLLOW_CAR_IN_CAR, - FIRE_AT_OBJECT_FROM_VEHICLE, // 20 - DESTROY_OBJECT, - DESTROY_CAR, - GOTO_AREA_ANY_MEANS, - GOTO_AREA_ON_FOOT, - RUN_TO_AREA, - GOTO_AREA_IN_CAR, - FOLLOW_CAR_ON_FOOT_WITH_OFFSET, - GUARD_ATTACK, - SET_LEADER, - FOLLOW_ROUTE, // 30 - SOLICIT_VEHICLE, - HAIL_TAXI, - CATCH_TRAIN, - BUY_ICE_CREAM, - STEAL_ANY_CAR, - STEAL_ANY_MISSION_CAR, - MUG_CHAR, - LEAVE_CAR_AND_DIE, - GOTO_SEAT_ON_FOOT, - GOTO_ATM_ON_FOOT, // 40 - FLEE_CAR, - SUN_BATHE, - GOTO_BUS_STOP_ON_FOOT, - GOTO_PIZZA_ON_FOOT, - GOTO_SHELTER_ON_FOOT, - AIM_GUN_AT, - WANDER, - WAIT_ON_FOOT_AT_SHELTER, - SPRINT_TO_AREA, - KILL_CHAR_ON_BOAT, // 50 - SOLICIT_FOOT, - WAIT_ON_FOOT_AT_BUS_STOP, - GOTO_ICE_CREAM_VAN_ON_FOOT, - WAIT_ON_FOOT_AT_ICE_CREAM_VAN // 54 -}; - -enum eWaitState -{ - PEDWAIT_FALSE = 0, // 0 - PEDWAIT_TRAFFIC_LIGHTS, - PEDWAIT_CROSS_ROAD, - PEDWAIT_CROSS_ROAD_LOOK, - PEDWAIT_LOOK_PED, - PEDWAIT_LOOK_SHOP, - PEDWAIT_LOOK_ACCIDENT, - PEDWAIT_FACEOFF_GANG, - PEDWAIT_DOUBLEBACK, - PEDWAIT_HITWALL, - PEDWAIT_TURN180, // 10 - PEDWAIT_SURPRISE, - PEDWAIT_STUCK, - PEDWAIT_LOOK_ABOUT, - PEDWAIT_PLAYANIM_DUCK, - PEDWAIT_PLAYANIM_COWER, - PEDWAIT_PLAYANIM_TAXI, - PEDWAIT_PLAYANIM_HANDSUP, - PEDWAIT_PLAYANIM_HANDSCOWER, - PEDWAIT_PLAYANIM_CHAT, - PEDWAIT_FINISH_FLEE, // 20 - PEDWAIT_SIT_DOWN, - PEDWAIT_SIT_DOWN_RVRS, - PEDWAIT_SIT_UP, - PEDWAIT_SIT_IDLE, - PEDWAIT_USE_ATM, - PEDWAIT_SUN_BATHE_PRE, - PEDWAIT_SUN_BATHE_DOWN, - PEDWAIT_SUN_BATHE_IDLE, - PEDWAIT_RIOT, - PEDWAIT_FAST_FALL, // 30 - PEDWAIT_BOMBER, - PEDWAIT_STRIPPER, - PEDWAIT_GROUND_ATTACK, - PEDWAIT_LANCESITTING, - PEDWAIT_PLAYANIM_HANDSUP_SIMPLE // 35 -}; - -enum eTireState -{ - TIRE_STATE_NORMAL = 0, - TIRE_STATE_BURST -}; - -enum ePedVehicleAction -{ - VEHICLE_ACTION_GETOUT = 16, - VEHICLE_ACTION_GETINASPASSENGER, - VEHICLE_ACTION_GETINASDRIVER -}; - -enum eInVehicleCameraMode -{ - IN_VEHICLE_CAMERA_MODE_CLOSE = 1, - IN_VEHICLE_CAMERA_MODE_MIDDLE, - IN_VEHICLE_CAMERA_MODE_FAR, - IN_VEHICLE_CAMERA_MODE_FIXED, - IN_VEHICLE_CAMERA_MODE_CINEMATIC -}; - -enum -{ - FADING_OUT = 0, - FADING_IN, - NOT_FADING -}; -enum -{ - CLEAR_SCREEN = 0, - IN_MIDDLE_OF_FADING, - DARK_SCREEN -}; -enum -{ - NO_ONE = 0, - SCRIPT_CAM_CONTROL, - OBBE_CAM_CONTROL -}; - -enum eHandlingProperty -{ - HANDLING_MASS = 1, - HANDLING_TURNMASS, - HANDLING_DRAGCOEFF, - HANDLING_CENTEROFMASS, - HANDLING_PERCENTSUBMERGED, - HANDLING_TRACTIONMULTIPLIER, - HANDLING_DRIVETYPE, - HANDLING_ENGINETYPE, - HANDLING_NUMOFGEARS, - HANDLING_ENGINEACCELERATION, - HANDLING_ENGINEINERTIA, - HANDLING_MAXVELOCITY, - HANDLING_BRAKEDECELERATION, - HANDLING_BRAKEBIAS, - HANDLING_ABS, - HANDLING_STEERINGLOCK, - HANDLING_TRACTIONLOSS, - HANDLING_TRACTIONBIAS, - HANDLING_SUSPENSION_FORCELEVEL, - HANDLING_SUSPENSION_DAMPING, - HANDLING_SUSPENSION_HIGHSPEEDDAMPING, - HANDLING_SUSPENSION_UPPER_LIMIT, - HANDLING_SUSPENSION_LOWER_LIMIT, - HANDLING_SUSPENSION_FRONTREARBIAS, - HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER, - HANDLING_COLLISIONDAMAGEMULTIPLIER, - HANDLING_SEATOFFSETDISTANCE, - HANDLING_MONETARY, - HANDLING_HANDLINGFLAGS, - HANDLING_MODELFLAGS, - HANDLING_HEADLIGHT, - HANDLING_TAILLIGHT, - HANDLING_ANIMGROUP, - HANDLING_MAX, -}; -enum eWeaponProperty -{ - WEAPON_INVALID_PROPERTY = 0, - WEAPON_WEAPON_RANGE, - WEAPON_TARGET_RANGE, - WEAPON_ACCURACY, - WEAPON_DAMAGE, - WEAPON_LIFE_SPAN, - WEAPON_FIRING_SPEED, - WEAPON_SPREAD, - WEAPON_MAX_CLIP_AMMO, - WEAPON_MOVE_SPEED, - WEAPON_FLAGS, - WEAPON_ANIM_GROUP, - WEAPON_TYPE_SET_DISABLED, - WEAPON_FIRETYPE, - - WEAPON_MODEL, - WEAPON_MODEL2, - - WEAPON_SLOT, - - WEAPON_FIRE_OFFSET, - - WEAPON_SKILL_LEVEL, - WEAPON_REQ_SKILL_LEVEL, - - WEAPON_ANIM_LOOP_START, - WEAPON_ANIM_LOOP_STOP, - WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME, - - WEAPON_ANIM2_LOOP_START, - WEAPON_ANIM2_LOOP_STOP, - WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME, - - WEAPON_ANIM_BREAKOUT_TIME, - - WEAPON_SPEED, - WEAPON_RADIUS, - - WEAPON_AIM_OFFSET, - - WEAPON_DEFAULT_COMBO, - WEAPON_COMBOS_AVAILABLE, - - WEAPON_FLAG_AIM_NO_AUTO, // 0x000001 - cant auto target to aim (disable automatic up/down adjustment when firing without aiming) - WEAPON_FLAG_FIRST = WEAPON_FLAG_AIM_NO_AUTO, - WEAPON_FLAG_AIM_ARM, // 0x000002 - only needs arm to aim (ie pistol/shotgun/tec9/uzi) - WEAPON_FLAG_AIM_1ST_PERSON, // 0x000004 - uses 1st person aim (ie sniper/rpg-hs - WEAPON_FLAG_AIM_FREE, // 0x000008 - can only use free aiming (ie country sniper/flame thrower/minigun/fire extinguisher) - WEAPON_FLAG_MOVE_AND_AIM, // 0x000010 - can move and aim at same time - WEAPON_FLAG_MOVE_AND_SHOOT, // 0x000020 - can move and fire at same time - WEAPON_FLAG_UNKNOWN_0040, - WEAPON_FLAG_UNKNOWN_0080, - WEAPON_FLAG_TYPE_THROW, // 0x000100 - is a throwing weapon (ie satchel) - WEAPON_FLAG_TYPE_HEAVY, // 0x000200 - heavy weapon - can't jump (ie flame thrower/rpgs/minigun) - WEAPON_FLAG_TYPE_CONSTANT, // 0x000400 - fires every frame within loop (ie paint spray) - WEAPON_FLAG_TYPE_DUAL, // 0x000800 - can use 2x guns at same time (ie pistol/shotgun/tec9/uzi) - WEAPON_FLAG_ANIM_RELOAD, // 0x001000 - weapon has reload anims (ie everything except shotgun/snipers/flame thrower/rpgs/minigun/satchel) - WEAPON_FLAG_ANIM_CROUCH, // 0x002000 - weapon has crouching anims (ie everything except flame thrower/rpgs/minigun/satchel) - WEAPON_FLAG_ANIM_RELOAD_LOOP, // 0x004000 - loop from end of reload to fire loop start - WEAPON_FLAG_ANIM_RELOAD_LONG, // 0x008000 - force a longer reload time! (ie rpgs/snipers) - WEAPON_FLAG_SHOT_SLOWS, // 0x010000 - slows down (ie flame thrower) - WEAPON_FLAG_SHOT_RAND_SPEED, // 0x020000 - random speed (ie flame thrower) - WEAPON_FLAG_SHOT_ANIM_ABRUPT, // 0x040000 - force the anim to finish player after aim/fire rather than blending out (ie rpgs) - WEAPON_FLAG_SHOT_EXPANDS, // 0x080000 - expands - WEAPON_FLAG_LAST = WEAPON_FLAG_SHOT_EXPANDS, - - WEAPON_FIRE_ROTATION, -}; - -enum eVehicleComponent -{ - VEHICLE_COMPONENT_CHASIS, - VEHICLE_COMPONENT_WHEEL_FRONT_RIGHT, - VEHICLE_COMPONENT_WHEEL_FRONT_LEFT, - VEHICLE_COMPONENT_WHEEL_REAR_RIGHT, - VEHICLE_COMPONENT_WHEEL_REAR_LEFT, - VEHICLE_COMPONENT_DOOR_1, - VEHICLE_COMPONENT_DOOR_2, - VEHICLE_COMPONENT_DOOR_3, - VEHICLE_COMPONENT_DOOR_4, - VEHICLE_COMPONENT_BUMPER_1, - VEHICLE_COMPONENT_BUMPER_2, - VEHICLE_COMPONENT_BONET, - VEHICLE_COMPONENT_BOOT, - VEHICLE_COMPONENT_WINDSCREEN, - VEHICLE_COMPONENT_EXHAUST, - VEHICLE_COMPONENT_SPECIAL_1, - VEHICLE_COMPONENT_SPECIAL_2, - VEHICLE_COMPONENT_SPECIAL_3, - VEHICLE_COMPONENT_SPECIAL_4, - VEHICLE_COMPONENT_SPECIAL_5, - VEHICLE_COMPONENT_WINGLF, - VEHICLE_COMPONENT_WINGRF, - VEHICLE_COMPONENT_EXTRA_1, - VEHICLE_COMPONENT_EXTRA_2, - VEHICLE_COMPONENT_MAX, -}; - -enum eVehicleDummies -{ - LIGHT_FRONT_MAIN = 0, - LIGHT_REAR_MAIN, - LIGHT_FRONT_SECONDARY, - LIGHT_REAR_SECONDARY, - SEAT_FRONT, - SEAT_REAR, - EXHAUST, - ENGINE, - GAS_CAP, - TRAILER_ATTACH, - HAND_REST, - EXHAUST_SECONDARY, - WING_AIRTRAIL, - VEH_GUN, - VEHICLE_DUMMY_COUNT, -}; - -enum class eResizableVehicleWheelGroup -{ - FRONT_AXLE = 0, - REAR_AXLE, - ALL_WHEELS = 0xFF, -}; - -enum eObjectProperty -{ - OBJECT_PROPERTY_ALL, - OBJECT_PROPERTY_MASS, - OBJECT_PROPERTY_TURNMASS, - OBJECT_PROPERTY_AIRRESISTANCE, - OBJECT_PROPERTY_ELASTICITY, - OBJECT_PROPERTY_CENTEROFMASS, - OBJECT_PROPERTY_BUOYANCY, - OBJECT_PROPERTY_MAX, -}; - -enum class eVehicleSoundType : char -{ - CAR = 0, - MOTORCYCLE, - BICYCLE, - BOAT, - HELI, - PLANE, - TRAIN = 8, - TRAILLER, - SPECIAL, -}; - -enum class eVehicleAudioSettingProperty -{ - SOUND_TYPE, - ENGINE_ON_SOUND_BANK_ID, - ENGINE_OFF_SOUND_BANK_ID, - BASS_SETTING, - BASS_EQ, - FIELD_C, - HORN_TON, - ENGINE_UPGRADE, - DOOR_SOUND, - RADIO_NUM, - RADIO_TYPE, - VEHICLE_TYPE_FOR_AUDIO, - HORN_VOLUME_DELTA, - HORN_HIGH, -}; - -namespace eObjectGroup -{ - enum Modifiable - { - MASS, - TURNMASS, - AIRRESISTANCE, - ELASTICITY, - BUOYANCY, - UPROOTLIMIT, - COLDAMAGEMULTIPLIER, - COLDAMAGEEFFECT, - SPECIALCOLRESPONSE, - CAMERAAVOID, - EXPLOSION, - FXTYPE, - FXOFFSET, - FXSYSTEM, - SMASHMULTIPLIER, - BREAKVELOCITY, - BREAKVELOCITYRAND, - BREAKMODE, - SPARKSONIMPACT - }; - - enum DamageEffect - { - NO_EFFECT = 0, - CHANGE_MODEL = 1, - SMASH_COMPLETELY = 20, - CHANGE_THEN_SMASH = 21, - BREAKABLE = 200, - BREAKABLE_REMOVED = 202 - }; - - enum CollisionResponse - { - NO_RESPONSE, - LAMPPOST, - SMALLBOX, - BIGBOX, - FENCEPART, - GRENADE, - SWINGDOOR, - LOCKDOOR, - HANGING, - POOLBALL - }; - - enum FxType - { - NO_FX, - PLAY_ON_HIT, - PLAY_ON_DESTROYED, - PLAY_ON_HIT_DESTROYED - }; - - enum BreakMode - { - NOT_BY_GUN, - BY_GUN, - SMASHABLE, - }; -} // namespace eObjectGroup - -enum eSoundEffectType; - -namespace eSoundEffectParams -{ - enum class Chorus - { - WET_DRY_MIX, - DEPTH, - FEEDBACK, - FREQUENCY, - WAVEFORM, - DELAY, - PHASE, - }; - - enum class Compressor - { - GAIN, - ATTACK, - RELEASE, - THRESHOLD, - RATIO, - PREDELAY, - }; - - enum class Distortion - { - GAIN, - EDGE, - POST_EQ_CENTER_FREQUENCY, - POST_EQ_BANDWIDTH, - PRE_LOWPASS_CUTOFF, - }; - - enum class Echo - { - WET_DRY_MIX, - FEEDBACK, - LEFT_DELAY, - RIGHT_DELAY, - PAN_DELAY, - }; - - enum class Flanger - { - WET_DRY_MIX, - DEPTH, - FEEDBACK, - FREQUENCY, - WAVEFORM, - DELAY, - PHASE, - }; - - enum class Gargle - { - RATE_HZ, - WAVE_SHAPE, - }; - - enum class I3DL2Reverb - { - ROOM, - ROOM_HF, - ROOM_ROLLOFF_FACTOR, - DECAY_TIME, - DECAY_HF_RATIO, - REFLECTIONS, - REFLECTIONS_DELAY, - REVERB, - REVERB_DELAY, - DIFFUSION, - DENSITY, - HF_REFERENCE, - }; - - enum class ParamEq - { - CENTER, - BANDWIDTH, - GAIN, - }; - - enum class Reverb - { - IN_GAIN, - REVERB_MIX, - REVERB_TIME, - HIGH_FREQ_RT_RATIO, - }; -} // namespace eSoundEffectParams - -enum class eFxParticleSystems -{ - PRT_BLOOD, - PRT_BOATSPLASH, - PRT_BUBBLE, - PRT_DEBRIS, - PRT_SMOKE, - PRT_GUNSHELL, - PRT_SAND, - PRT_SAND2, - PRT_SMOKEHUGE, - PRT_SMOKE2, - PRT_SPARK, - PRT_SPARK2, - PRT_SPLASH, - PRT_WAKE, - PRT_WATERSPLASH, - PRT_WHEELDIRT, - PRT_GLASS, -}; - -enum eWorldProperty -{ - AMBIENT_COLOR, - AMBIENT_OBJ_COLOR, - DIRECTIONAL_COLOR, - SPRITE_SIZE, - SPRITE_BRIGHTNESS, - POLE_SHADOW_STRENGTH, - SHADOW_STRENGTH, - SHADOWS_OFFSET, - LIGHTS_ON_GROUND, - LOW_CLOUDS_COLOR, - BOTTOM_CLOUDS_COLOR, - CLOUDS_ALPHA1, - ILLUMINATION, - WEATHER_WET_ROADS, - WEATHER_FOGGYNESS, - WEATHER_FOG, - WEATHER_RAIN_FOG, - WEATHER_WATER_FOG, - WEATHER_SANDSTORM, - WEATHER_RAINBOW, -}; diff --git a/Shared/sdk/enums/CoronaType.h b/Shared/sdk/enums/CoronaType.h new file mode 100644 index 00000000000..17acdb40d30 --- /dev/null +++ b/Shared/sdk/enums/CoronaType.h @@ -0,0 +1,27 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/CoronaType.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class CoronaType +{ + CORONATYPE_SHINYSTAR, + CORONATYPE_HEADLIGHT, + CORONATYPE_MOON, + CORONATYPE_REFLECTION, + CORONATYPE_HEADLIGHTLINE, + CORONATYPE_HEX, + CORONATYPE_CIRCLE, + CORONATYPE_RING, + CORONATYPE_STREAK, + CORONATYPE_TORUS, + CORONATYPE_NONE +}; diff --git a/Shared/sdk/enums/DoorState.h b/Shared/sdk/enums/DoorState.h new file mode 100644 index 00000000000..bca5d07cbd4 --- /dev/null +++ b/Shared/sdk/enums/DoorState.h @@ -0,0 +1,22 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/DoorState.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once +#include + +enum class DoorState : std::uint8_t +{ + DOOR_NOTHING, + DOOR_HIT_MAX_END, + DOOR_HIT_MIN_END, + DOOR_POP_OPEN, + DOOR_SLAM_SHUT +}; diff --git a/Shared/sdk/enums/FxParticleSystems.h b/Shared/sdk/enums/FxParticleSystems.h new file mode 100644 index 00000000000..7c4a64fc102 --- /dev/null +++ b/Shared/sdk/enums/FxParticleSystems.h @@ -0,0 +1,33 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/FxParticleSystems.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class FxParticleSystems +{ + PRT_BLOOD, + PRT_BOATSPLASH, + PRT_BUBBLE, + PRT_DEBRIS, + PRT_SMOKE, + PRT_GUNSHELL, + PRT_SAND, + PRT_SAND2, + PRT_SMOKEHUGE, + PRT_SMOKE2, + PRT_SPARK, + PRT_SPARK2, + PRT_SPLASH, + PRT_WAKE, + PRT_WATERSPLASH, + PRT_WHEELDIRT, + PRT_GLASS, +}; diff --git a/Shared/sdk/enums/HandlingProperty.h b/Shared/sdk/enums/HandlingProperty.h new file mode 100644 index 00000000000..47d69f720d4 --- /dev/null +++ b/Shared/sdk/enums/HandlingProperty.h @@ -0,0 +1,52 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/HandlingProperty.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class HandlingProperty +{ + HANDLING_NONE = 0, + + HANDLING_MASS, + HANDLING_TURNMASS, + HANDLING_DRAGCOEFF, + HANDLING_CENTEROFMASS, + HANDLING_PERCENTSUBMERGED, + HANDLING_TRACTIONMULTIPLIER, + HANDLING_DRIVETYPE, + HANDLING_ENGINETYPE, + HANDLING_NUMOFGEARS, + HANDLING_ENGINEACCELERATION, + HANDLING_ENGINEINERTIA, + HANDLING_MAXVELOCITY, + HANDLING_BRAKEDECELERATION, + HANDLING_BRAKEBIAS, + HANDLING_ABS, + HANDLING_STEERINGLOCK, + HANDLING_TRACTIONLOSS, + HANDLING_TRACTIONBIAS, + HANDLING_SUSPENSION_FORCELEVEL, + HANDLING_SUSPENSION_DAMPING, + HANDLING_SUSPENSION_HIGHSPEEDDAMPING, + HANDLING_SUSPENSION_UPPER_LIMIT, + HANDLING_SUSPENSION_LOWER_LIMIT, + HANDLING_SUSPENSION_FRONTREARBIAS, + HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER, + HANDLING_COLLISIONDAMAGEMULTIPLIER, + HANDLING_SEATOFFSETDISTANCE, + HANDLING_MONETARY, + HANDLING_HANDLINGFLAGS, + HANDLING_MODELFLAGS, + HANDLING_HEADLIGHT, + HANDLING_TAILLIGHT, + HANDLING_ANIMGROUP, + HANDLING_MAX, +}; diff --git a/Shared/sdk/enums/HandlingType.h b/Shared/sdk/enums/HandlingType.h new file mode 100644 index 00000000000..63d5b18c2d4 --- /dev/null +++ b/Shared/sdk/enums/HandlingType.h @@ -0,0 +1,235 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/HandlingType.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class HandlingType +{ + HT_LANDSTAL, + HT_BRAVURA, + HT_BUFFALO, + HT_LINERUN, + HT_PEREN, + HT_SENTINEL, + HT_DUMPER, + HT_FIRETRUK, + HT_TRASH, + HT_STRETCH, + HT_MANANA, + HT_INFERNUS, + HT_VOODOO, + HT_PONY, + HT_MULE, + HT_CHEETAH, + HT_AMBULAN, + HT_MOONBEAM, + HT_ESPERANT, + HT_TAXI, + HT_WASHING, + HT_BOBCAT, + HT_MRWHOOP, + HT_BFINJECT, + HT_PREMIER, + HT_ENFORCER, + HT_SECURICA, + HT_BANSHEE, + HT_BUS, + HT_RHINO, + HT_BARRACKS, + HT_HOTKNIFE, + HT_ARTICT1, + HT_PREVION, + HT_COACH, + HT_CABBIE, + HT_STALLION, + HT_RUMPO, + HT_RCBANDIT, + HT_ROMERO, + HT_PACKER, + HT_MONSTER, + HT_ADMIRAL, + HT_TRAM, + HT_AIRTRAIN, + HT_ARTICT2, + HT_TURISMO, + HT_FLATBED, + HT_YANKEE, + HT_GOLFCART, + HT_SOLAIR, + HT_TOPFUN, + HT_GLENDALE, + HT_OCEANIC, + HT_PATRIOT, + HT_HERMES, + HT_SABRE, + HT_ZR350, + HT_WALTON, + HT_REGINA, + HT_COMET, + HT_BURRITO, + HT_CAMPER, + HT_BAGGAGE, + HT_DOZER, + HT_RANCHER, + HT_FBIRANCH, + HT_VIRGO, + HT_GREENWOO, + HT_HOTRING, + HT_SANDKING, + HT_BLISTAC, + HT_BOXVILLE, + HT_BENSON, + HT_MESA, + HT_BLOODRA, + HT_BLOODRB, + HT_SUPERGT, + HT_ELEGANT, + HT_JOURNEY, + HT_PETROL, + HT_RDTRAIN, + HT_NEBULA, + HT_MAJESTIC, + HT_BUCCANEE, + HT_CEMENT, + HT_TOWTRUCK, + HT_FORTUNE, + HT_CADRONA, + HT_FBITRUCK, + HT_WILLARD, + HT_FORKLIFT, + HT_TRACTOR, + HT_COMBINE, + HT_FELTZER, + HT_REMINGTN, + HT_SLAMVAN, + HT_BLADE, + HT_FREIGHT, + HT_STREAK, + HT_VINCENT, + HT_BULLET, + HT_CLOVER, + HT_SADLER, + HT_RANGER, + HT_HUSTLER, + HT_INTRUDER, + HT_PRIMO, + HT_TAMPA, + HT_SUNRISE, + HT_MERIT, + HT_UTILITY, + HT_YOSEMITE, + HT_WINDSOR, + HT_MTRUCK_A, + HT_MTRUCK_B, + HT_URANUS, + HT_JESTER, + HT_SULTAN, + HT_STRATUM, + HT_ELEGY, + HT_RCTIGER, + HT_FLASH, + HT_TAHOMA, + HT_SAVANNA, + HT_BANDITO, + HT_FREIFLAT, + HT_CSTREAK, + HT_KART, + HT_MOWER, + HT_DUNE, + HT_SWEEPER, + HT_BROADWAY, + HT_TORNADO, + HT_DFT30, + HT_HUNTLEY, + HT_STAFFORD, + HT_NEWSVAN, + HT_TUG, + HT_PETROTR, + HT_EMPEROR, + HT_FLOAT, + HT_EUROS, + HT_HOTDOG, + HT_CLUB, + HT_ARTICT3, + HT_RCCAM, + HT_POLICE_LA, + HT_POLICE_SF, + HT_POLICE_VG, + HT_POLRANGER, + HT_PICADOR, + HT_SWATVAN, + HT_ALPHA, + HT_PHOENIX, + HT_BAGBOXA, + HT_BAGBOXB, + HT_STAIRS, + HT_BOXBURG, + HT_FARM_TR1, + HT_UTIL_TR1, + HT_ROLLER, + HT_BIKE, + HT_PIZZABOY, + HT_DIRTBIKE, + HT_FCR900, + HT_NRG500, + HT_HPV1000, + HT_BF400, + HT_WAYFARER, + HT_QUADBIKE, + HT_BMX, + HT_CHOPPERB, + HT_MTB, + HT_FREEWAY, + HT_PREDATOR, + HT_SPEEDER, + HT_REEFER, + HT_RIO, + HT_SQUALO, + HT_TROPIC, + HT_COASTGRD, + HT_DINGHY, + HT_MARQUIS, + HT_CUPBOAT, + HT_LAUNCH, + HT_SEAPLANE, + HT_VORTEX, + HT_RUSTLER, + HT_BEAGLE, + HT_CROPDUST, + HT_STUNT, + HT_SHAMAL, + HT_HYDRA, + HT_NEVADA, + HT_AT400, + HT_ANDROM, + HT_DODO, + HT_SPARROW, + HT_SEASPAR, + HT_MAVERICK, + HT_COASTMAV, + HT_POLMAV, + HT_HUNTER, + HT_LEVIATHN, + HT_CARGOBOB, + HT_RAINDANC, + HT_RCBARON, + HT_RCGOBLIN, + HT_RCRAIDER, + HT_HOTRINA, + HT_HOTRINB, + HT_SADLSHIT, + HT_GLENSHIT, + HT_FAGGIO, + HT_FIRELA, + HT_RNCHLURE, + HT_FREIBOX, + HT_MAX +}; diff --git a/Shared/sdk/enums/MarkerColor.h b/Shared/sdk/enums/MarkerColor.h new file mode 100644 index 00000000000..95e060b890c --- /dev/null +++ b/Shared/sdk/enums/MarkerColor.h @@ -0,0 +1,28 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/MarkerColor.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class MarkerColor +{ + MARKER_COLOR_PLUM = 0, + MARKER_COLOR_PALE_GREEN, + MARKER_COLOR_PALE_BLUE, + MARKER_COLOR_PALE_GREY, + MARKER_COLOR_YELLOW, + MARKER_COLOR_PINK, + MARKER_COLOR_TURQUOISE, + MARKER_COLOR_RED, + MARKER_COLOR_BLUE, + MARKER_COLOR_GREY, + MARKER_COLOR_DARK_PINK, + MARKER_COLOR_DARK_TURQUOISE, +}; diff --git a/Shared/sdk/enums/MarkerDisplay.h b/Shared/sdk/enums/MarkerDisplay.h new file mode 100644 index 00000000000..b41f46344ea --- /dev/null +++ b/Shared/sdk/enums/MarkerDisplay.h @@ -0,0 +1,21 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/MarkerDisplay.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once +#include + +enum class MarkerDisplay : std::uint8_t +{ + MARKER_DISPLAY_NEITHER = 0, // BLIPDISPLAY_NEITHER + MARKER_DISPLAY_MARKERONLY, // BLIPDISPLAY_MARKERONLY + MARKER_DISPLAY_BLIPONLY, // MARKER_DISPLAY_BLIPONLY + MARKER_DISPLAY_BOTH // BLIPDISPLAY_BOTH +}; diff --git a/Shared/sdk/enums/MarkerSprite.h b/Shared/sdk/enums/MarkerSprite.h new file mode 100644 index 00000000000..5b2b4bdb78f --- /dev/null +++ b/Shared/sdk/enums/MarkerSprite.h @@ -0,0 +1,82 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/MarkerSprite.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once +#include + +enum class MarkerSprite : std::uint8_t +{ + MARKER_SPRITE_NONE = 0, + MARKER_SPRITE_BORDER, + MARKER_SPRITE_CENTRE, + MARKER_SPRITE_MAP_HERE, + MARKER_SPRITE_NORTH, + + MARKER_SPRITE_AIRYARD, + MARKER_SPRITE_GUN, + MARKER_SPRITE_BARBERS, + MARKER_SPRITE_BIG_SMOKE, + MARKER_SPRITE_BOATYARD, + MARKER_SPRITE_BURGERSHOT, + MARKER_SPRITE_BULLDOZER, + MARKER_SPRITE_CAT_PINK, + MARKER_SPRITE_CESAR, + MARKER_SPRITE_CHICKEN, + MARKER_SPRITE_CJ, + MARKER_SPRITE_CRASH1, + MARKER_SPRITE_DINER, + MARKER_SPRITE_EMMETGUN, + MARKER_SPRITE_ENEMYATTACK, + MARKER_SPRITE_FIRE, + MARKER_SPRITE_GIRLFRIEND, + MARKER_SPRITE_HOSPITAL, + MARKER_SPRITE_LOCO, + MARKER_SPRITE_MADDOG, + MARKER_SPRITE_MAFIA, + MARKER_SPRITE_MCSTRAP, + MARKER_SPRITE_MOD_GARAGE, + MARKER_SPRITE_OGLOC, + MARKER_SPRITE_PIZZA, + MARKER_SPRITE_POLICE, + MARKER_SPRITE_PROPERTY_GREEN, + MARKER_SPRITE_PROPERTY_RED, + MARKER_SPRITE_RACE, + MARKER_SPRITE_RYDER, + MARKER_SPRITE_SAVEHOUSE, + MARKER_SPRITE_SCHOOL, + MARKER_SPRITE_MYSTERY, + MARKER_SPRITE_SWEET, + MARKER_SPRITE_TATTOO, + MARKER_SPRITE_TRUTH, + MARKER_SPRITE_WAYPOINT, + MARKER_SPRITE_TORENO_RANCH, + MARKER_SPRITE_TRIADS, + MARKER_SPRITE_TRIADS_CASINO, + MARKER_SPRITE_TSHIRT, + MARKER_SPRITE_WOOZIE, + MARKER_SPRITE_ZERO, + MARKER_SPRITE_DATE_DISCO, + MARKER_SPRITE_DATE_DRINK, + MARKER_SPRITE_DATE_FOOD, + MARKER_SPRITE_TRUCK, + MARKER_SPRITE_CASH, + MARKER_SPRITE_FLAG, + MARKER_SPRITE_GYM, + MARKER_SPRITE_IMPOUND, + MARKER_SPRITE_RUNWAY_LIGHT, + MARKER_SPRITE_RUNWAY, + MARKER_SPRITE_GANG_B, + MARKER_SPRITE_GANG_P, + MARKER_SPRITE_GANG_Y, + MARKER_SPRITE_GANG_N, + MARKER_SPRITE_GANG_G, + MARKER_SPRITE_SPRAY +}; diff --git a/Shared/sdk/enums/MarkerType.h b/Shared/sdk/enums/MarkerType.h new file mode 100644 index 00000000000..5d2b4ff913c --- /dev/null +++ b/Shared/sdk/enums/MarkerType.h @@ -0,0 +1,26 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/MarkerType.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once +#include + +enum class MarkerType : std::uint8_t +{ + MARKER_TYPE_UNUSED, + MARKER_TYPE_CAR, + MARKER_TYPE_CHAR, + MARKER_TYPE_OBJECT, + MARKER_TYPE_COORDS, + MARKER_TYPE_CONTACT, + MARKER_TYPE_SEARCHLIGHT, + MARKER_TYPE_PICKUP, + MARKER_TYPE_AIRSTRIP +}; diff --git a/Shared/sdk/enums/ObjectGroupPhysicalProperties.h b/Shared/sdk/enums/ObjectGroupPhysicalProperties.h new file mode 100644 index 00000000000..774fd84b3c4 --- /dev/null +++ b/Shared/sdk/enums/ObjectGroupPhysicalProperties.h @@ -0,0 +1,77 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/ObjectGroupPhysicalProperties.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +namespace ObjectGroupPhysicalProperties +{ + enum class Modifiable + { + MASS, + TURNMASS, + AIRRESISTANCE, + ELASTICITY, + BUOYANCY, + UPROOTLIMIT, + COLDAMAGEMULTIPLIER, + COLDAMAGEEFFECT, + SPECIALCOLRESPONSE, + CAMERAAVOID, + EXPLOSION, + FXTYPE, + FXOFFSET, + FXSYSTEM, + SMASHMULTIPLIER, + BREAKVELOCITY, + BREAKVELOCITYRAND, + BREAKMODE, + SPARKSONIMPACT + }; + + enum class DamageEffect + { + NO_EFFECT = 0, + CHANGE_MODEL = 1, + SMASH_COMPLETELY = 20, + CHANGE_THEN_SMASH = 21, + BREAKABLE = 200, + BREAKABLE_REMOVED = 202 + }; + + enum class CollisionResponse + { + NO_RESPONSE, + LAMPPOST, + SMALLBOX, + BIGBOX, + FENCEPART, + GRENADE, + SWINGDOOR, + LOCKDOOR, + HANGING, + POOLBALL + }; + + enum class FxType + { + NO_FX, + PLAY_ON_HIT, + PLAY_ON_DESTROYED, + PLAY_ON_HIT_DESTROYED + }; + + enum class BreakMode + { + NOT_BY_GUN, + BY_GUN, + SMASHABLE, + }; +} // namespace ObjectGroupPhysicalProperties diff --git a/Shared/sdk/enums/ObjectProperty.h b/Shared/sdk/enums/ObjectProperty.h new file mode 100644 index 00000000000..bebfba57af9 --- /dev/null +++ b/Shared/sdk/enums/ObjectProperty.h @@ -0,0 +1,24 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/ObjectProperty.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class ObjectProperty +{ + OBJECT_PROPERTY_ALL, + OBJECT_PROPERTY_MASS, + OBJECT_PROPERTY_TURNMASS, + OBJECT_PROPERTY_AIRRESISTANCE, + OBJECT_PROPERTY_ELASTICITY, + OBJECT_PROPERTY_CENTEROFMASS, + OBJECT_PROPERTY_BUOYANCY, + OBJECT_PROPERTY_MAX, +}; diff --git a/Shared/sdk/enums/PedState.h b/Shared/sdk/enums/PedState.h new file mode 100644 index 00000000000..25d9c815fca --- /dev/null +++ b/Shared/sdk/enums/PedState.h @@ -0,0 +1,82 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/PedState.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class PedState +{ + PED_NONE = 0, + PED_IDLE, + PED_LOOK_ENTITY, + PED_LOOK_HEADING, + PED_WANDER_RANGE, + PED_WANDER_PATH, + PED_SEEK_POSITION, + PED_SEEK_ENTITY, + PED_FLEE_POSITION, + PED_FLEE_ENTITY, + PED_PURSUE, + PED_FOLLOW_PATH, + PED_SNIPER_MODE, + PED_ROCKETLAUNCHER_MODE, + PED_DUMMY, + PED_PAUSE, + PED_ATTACK, + PED_FIGHT, // new close combat fist fight mode + PED_FACE_PHONE, + PED_MAKE_PHONECALL, + PED_CHAT, + PED_MUG, + PED_AIMGUN, + PED_AI_CONTROL, + PED_SEEK_CAR, // 24 + PED_SEEK_BOAT_POSITION, + PED_FOLLOW_ROUTE, + PED_CPR, + PED_SOLICIT, + PED_BUY_ICE_CREAM, + PED_INVESTIGATE_EVENT, + PED_EVADE_STEP, + PED_ON_FIRE, + PED_SUNBATHE, + PED_FLASH, + PED_JOG, + PED_ANSWER_MOBILE, + PED_HANG_OUT, + PED_STATES_NO_AI, // only put states after here that do not require AI, put other ones before this + PED_ABSEIL_FROM_HELI, + PED_SIT, + PED_JUMP, + PED_FALL, + PED_GETUP, + PED_STAGGER, + PED_EVADE_DIVE, + PED_STATES_CAN_SHOOT, // only put states before here than ped can be shot during + PED_ENTER_TRAIN, + PED_EXIT_TRAIN, + PED_ARREST_PLAYER, + PED_DRIVING, // 50 + PED_PASSENGER, + PED_TAXI_PASSENGER, + PED_OPEN_DOOR, + PED_DIE, + PED_DEAD, + PED_CARJACK, + PED_DRAGGED_FROM_CAR, + PED_ENTER_CAR, + PED_STEAL_CAR, + PED_EXIT_CAR, + PED_HANDS_UP, + PED_ARRESTED, + PED_DEPLOY_STINGER, + + PED_NUM_STATES +}; diff --git a/Shared/sdk/enums/PickupState.h b/Shared/sdk/enums/PickupState.h new file mode 100644 index 00000000000..bc5ee94d03c --- /dev/null +++ b/Shared/sdk/enums/PickupState.h @@ -0,0 +1,18 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/PickupState.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class PickupState +{ + PUSTATE_ON, + PUSTATE_OFF +}; diff --git a/Shared/sdk/enums/PickupType.h b/Shared/sdk/enums/PickupType.h new file mode 100644 index 00000000000..2e6664a904a --- /dev/null +++ b/Shared/sdk/enums/PickupType.h @@ -0,0 +1,39 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/PickupType.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class PickupType +{ + PICKUP_NONE, + PICKUP_IN_SHOP, + PICKUP_ON_STREET, + PICKUP_ONCE, + PICKUP_ONCE_TIMEOUT, + PICKUP_ONCE_TIMEOUT_SLOW, + PICKUP_COLLECTABLE1, + PICKUP_IN_SHOP_OUT_OF_STOCK, + PICKUP_MONEY, + PICKUP_MINE_INACTIVE, + PICKUP_MINE_ARMED, + PICKUP_NAUTICAL_MINE_INACTIVE, + PICKUP_NAUTICAL_MINE_ARMED, + PICKUP_FLOATINGPACKAGE, + PICKUP_FLOATINGPACKAGE_FLOATING, + PICKUP_ON_STREET_SLOW, + PICKUP_ASSET_REVENUE, + PICKUP_PROPERTY_LOCKED, + PICKUP_PROPERTY_FORSALE, + PICKUP_MONEY_DOESNTDISAPPEAR, + PICKUP_SNAPSHOT, + PICKUP_2P, + PICKUP_ONCE_FOR_MISSION +}; diff --git a/Shared/sdk/enums/RadarSprite.h b/Shared/sdk/enums/RadarSprite.h new file mode 100644 index 00000000000..28fb6dda716 --- /dev/null +++ b/Shared/sdk/enums/RadarSprite.h @@ -0,0 +1,81 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/RadarSprite.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class RadarSprite : std::uint8_t +{ + RADAR_SPRITE_NONE = 0, + RADAR_SPRITE_BORDER, + RADAR_SPRITE_CENTRE, + RADAR_SPRITE_MAP_HERE, + RADAR_SPRITE_NORTH, + + RADAR_SPRITE_AIRYARD, + RADAR_SPRITE_GUN, + RADAR_SPRITE_BARBERS, + RADAR_SPRITE_BIG_SMOKE, + RADAR_SPRITE_BOATYARD, + RADAR_SPRITE_BURGERSHOT, + RADAR_SPRITE_BULLDOZER, + RADAR_SPRITE_CAT_PINK, + RADAR_SPRITE_CESAR, + RADAR_SPRITE_CHICKEN, + RADAR_SPRITE_CJ, + RADAR_SPRITE_CRASH1, + RADAR_SPRITE_DINER, + RADAR_SPRITE_EMMETGUN, + RADAR_SPRITE_ENEMYATTACK, + RADAR_SPRITE_FIRE, + RADAR_SPRITE_GIRLFRIEND, + RADAR_SPRITE_HOSPITAL, + RADAR_SPRITE_LOCO, + RADAR_SPRITE_MADDOG, + RADAR_SPRITE_MAFIA, + RADAR_SPRITE_MCSTRAP, + RADAR_SPRITE_MOD_GARAGE, + RADAR_SPRITE_OGLOC, + RADAR_SPRITE_PIZZA, + RADAR_SPRITE_POLICE, + RADAR_SPRITE_PROPERTY_GREEN, + RADAR_SPRITE_PROPERTY_RED, + RADAR_SPRITE_RACE, + RADAR_SPRITE_RYDER, + RADAR_SPRITE_SAVEHOUSE, + RADAR_SPRITE_SCHOOL, + RADAR_SPRITE_MYSTERY, + RADAR_SPRITE_SWEET, + RADAR_SPRITE_TATTOO, + RADAR_SPRITE_TRUTH, + RADAR_SPRITE_WAYPOINT, + RADAR_SPRITE_TORENO_RANCH, + RADAR_SPRITE_TRIADS, + RADAR_SPRITE_TRIADS_CASINO, + RADAR_SPRITE_TSHIRT, + RADAR_SPRITE_WOOZIE, + RADAR_SPRITE_ZERO, + RADAR_SPRITE_DATE_DISCO, + RADAR_SPRITE_DATE_DRINK, + RADAR_SPRITE_DATE_FOOD, + RADAR_SPRITE_TRUCK, + RADAR_SPRITE_CASH, + RADAR_SPRITE_FLAG, + RADAR_SPRITE_GYM, + RADAR_SPRITE_IMPOUND, + RADAR_SPRITE_RUNWAY_LIGHT, + RADAR_SPRITE_RUNWAY, + RADAR_SPRITE_GANG_B, + RADAR_SPRITE_GANG_P, + RADAR_SPRITE_GANG_Y, + RADAR_SPRITE_GANG_N, + RADAR_SPRITE_GANG_G, + RADAR_SPRITE_SPRAY +}; diff --git a/Shared/sdk/enums/ResizableVehicleWheelGroup.h b/Shared/sdk/enums/ResizableVehicleWheelGroup.h new file mode 100644 index 00000000000..b37a6a09359 --- /dev/null +++ b/Shared/sdk/enums/ResizableVehicleWheelGroup.h @@ -0,0 +1,19 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/ResizableVehicleWheelGroup.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class ResizableVehicleWheelGroup +{ + FRONT_AXLE = 0, + REAR_AXLE, + ALL_WHEELS = 0xFF, +}; diff --git a/Shared/sdk/enums/SoundEffectParams.h b/Shared/sdk/enums/SoundEffectParams.h new file mode 100644 index 00000000000..b7b5b93ed4f --- /dev/null +++ b/Shared/sdk/enums/SoundEffectParams.h @@ -0,0 +1,102 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/SoundEffectParams.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +namespace eSoundEffectParams +{ + enum class Chorus + { + WET_DRY_MIX, + DEPTH, + FEEDBACK, + FREQUENCY, + WAVEFORM, + DELAY, + PHASE, + }; + + enum class Compressor + { + GAIN, + ATTACK, + RELEASE, + THRESHOLD, + RATIO, + PREDELAY, + }; + + enum class Distortion + { + GAIN, + EDGE, + POST_EQ_CENTER_FREQUENCY, + POST_EQ_BANDWIDTH, + PRE_LOWPASS_CUTOFF, + }; + + enum class Echo + { + WET_DRY_MIX, + FEEDBACK, + LEFT_DELAY, + RIGHT_DELAY, + PAN_DELAY, + }; + + enum class Flanger + { + WET_DRY_MIX, + DEPTH, + FEEDBACK, + FREQUENCY, + WAVEFORM, + DELAY, + PHASE, + }; + + enum class Gargle + { + RATE_HZ, + WAVE_SHAPE, + }; + + enum class I3DL2Reverb + { + ROOM, + ROOM_HF, + ROOM_ROLLOFF_FACTOR, + DECAY_TIME, + DECAY_HF_RATIO, + REFLECTIONS, + REFLECTIONS_DELAY, + REVERB, + REVERB_DELAY, + DIFFUSION, + DENSITY, + HF_REFERENCE, + }; + + enum class ParamEq + { + CENTER, + BANDWIDTH, + GAIN, + }; + + enum class Reverb + { + IN_GAIN, + REVERB_MIX, + REVERB_TIME, + HIGH_FREQ_RT_RATIO, + }; +} // namespace eSoundEffectParams diff --git a/Shared/sdk/enums/SoundEffectType.h b/Shared/sdk/enums/SoundEffectType.h new file mode 100644 index 00000000000..56c5027da97 --- /dev/null +++ b/Shared/sdk/enums/SoundEffectType.h @@ -0,0 +1,25 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/SoundEffectType.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class SoundEffectType +{ + FX_DX8_CHORUS, + FX_DX8_COMPRESSOR, + FX_DX8_DISTORTION, + FX_DX8_ECHO, + FX_DX8_FLANGER, + FX_DX8_GARGLE, + FX_DX8_I3DL2REVERB, + FX_DX8_PARAMEQ, + FX_DX8_REVERB, +}; diff --git a/Shared/sdk/enums/SystemState.h b/Shared/sdk/enums/SystemState.h new file mode 100644 index 00000000000..32a1b9d529f --- /dev/null +++ b/Shared/sdk/enums/SystemState.h @@ -0,0 +1,26 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/SystemState.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class SystemState +{ + GS_START_UP, + GS_INIT_LOGO_MPEG, + GS_LOGO_MPEG, + GS_INIT_INTRO_MPEG, + GS_INTRO_MPEG, + GS_INIT_ONCE, + GS_INIT_FRONTEND, + GS_FRONTEND, + GS_INIT_PLAYING_GAME, + GS_PLAYING_GAME +}; diff --git a/Shared/sdk/enums/T3DMarkerType.h b/Shared/sdk/enums/T3DMarkerType.h new file mode 100644 index 00000000000..4f122999260 --- /dev/null +++ b/Shared/sdk/enums/T3DMarkerType.h @@ -0,0 +1,24 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/T3DMarkerType.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class T3DMarkerType +{ + MARKER3D_ARROW, + MARKER3D_CYLINDER2, + MARKER3D_TUBE, + MARKER3D_ARROW2, + MARKER3D_TORUS, + MARKER3D_CONE, + MARKER3D_CONE_NO_COLLISION, + MARKER3D_NUM +}; diff --git a/Shared/sdk/enums/VehicleAudioSettingProperty.h b/Shared/sdk/enums/VehicleAudioSettingProperty.h new file mode 100644 index 00000000000..b91c3608369 --- /dev/null +++ b/Shared/sdk/enums/VehicleAudioSettingProperty.h @@ -0,0 +1,30 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/VehicleAudioSettingProperty.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class VehicleAudioSettingProperty +{ + SOUND_TYPE, + ENGINE_ON_SOUND_BANK_ID, + ENGINE_OFF_SOUND_BANK_ID, + BASS_SETTING, + BASS_EQ, + FIELD_C, + HORN_TON, + ENGINE_UPGRADE, + DOOR_SOUND, + RADIO_NUM, + RADIO_TYPE, + VEHICLE_TYPE_FOR_AUDIO, + HORN_VOLUME_DELTA, + HORN_HIGH, +}; diff --git a/Shared/sdk/enums/VehicleClass.h b/Shared/sdk/enums/VehicleClass.h new file mode 100644 index 00000000000..5b4d93e7a0a --- /dev/null +++ b/Shared/sdk/enums/VehicleClass.h @@ -0,0 +1,29 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/VehicleClass.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once +#include + +enum class VehicleClass : std::uint8_t +{ + AUTOMOBILE, + MONSTER_TRUCK, + QUAD, + HELI, + PLANE, + BOAT, + TRAIN, + FAKE_HELI, + FAKE_PLANE, + BIKE, + BMX, + TRAILER, +}; diff --git a/Shared/sdk/enums/VehicleComponent.h b/Shared/sdk/enums/VehicleComponent.h new file mode 100644 index 00000000000..ac048a001f6 --- /dev/null +++ b/Shared/sdk/enums/VehicleComponent.h @@ -0,0 +1,41 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/VehicleComponent.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class VehicleComponent +{ + VEHICLE_COMPONENT_CHASIS, + VEHICLE_COMPONENT_WHEEL_FRONT_RIGHT, + VEHICLE_COMPONENT_WHEEL_FRONT_LEFT, + VEHICLE_COMPONENT_WHEEL_REAR_RIGHT, + VEHICLE_COMPONENT_WHEEL_REAR_LEFT, + VEHICLE_COMPONENT_DOOR_1, + VEHICLE_COMPONENT_DOOR_2, + VEHICLE_COMPONENT_DOOR_3, + VEHICLE_COMPONENT_DOOR_4, + VEHICLE_COMPONENT_BUMPER_1, + VEHICLE_COMPONENT_BUMPER_2, + VEHICLE_COMPONENT_BONET, + VEHICLE_COMPONENT_BOOT, + VEHICLE_COMPONENT_WINDSCREEN, + VEHICLE_COMPONENT_EXHAUST, + VEHICLE_COMPONENT_SPECIAL_1, + VEHICLE_COMPONENT_SPECIAL_2, + VEHICLE_COMPONENT_SPECIAL_3, + VEHICLE_COMPONENT_SPECIAL_4, + VEHICLE_COMPONENT_SPECIAL_5, + VEHICLE_COMPONENT_WINGLF, + VEHICLE_COMPONENT_WINGRF, + VEHICLE_COMPONENT_EXTRA_1, + VEHICLE_COMPONENT_EXTRA_2, + VEHICLE_COMPONENT_MAX, +}; diff --git a/Shared/sdk/enums/VehicleDummies.h b/Shared/sdk/enums/VehicleDummies.h new file mode 100644 index 00000000000..66413388d79 --- /dev/null +++ b/Shared/sdk/enums/VehicleDummies.h @@ -0,0 +1,31 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/VehicleDummies.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class VehicleDummies +{ + LIGHT_FRONT_MAIN = 0, + LIGHT_REAR_MAIN, + LIGHT_FRONT_SECONDARY, + LIGHT_REAR_SECONDARY, + SEAT_FRONT, + SEAT_REAR, + EXHAUST, + ENGINE, + GAS_CAP, + TRAILER_ATTACH, + HAND_REST, + EXHAUST_SECONDARY, + WING_AIRTRAIL, + VEH_GUN, + VEHICLE_DUMMY_COUNT, +}; diff --git a/Shared/sdk/enums/VehicleSoundType.h b/Shared/sdk/enums/VehicleSoundType.h new file mode 100644 index 00000000000..a483f3863f3 --- /dev/null +++ b/Shared/sdk/enums/VehicleSoundType.h @@ -0,0 +1,26 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/VehicleSoundType.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once +#include + +enum class VehicleSoundType : std::uint8_t +{ + CAR = 0, + MOTORCYCLE, + BICYCLE, + BOAT, + HELI, + PLANE, + TRAIN = 8, + TRAILLER, + SPECIAL, +}; diff --git a/Shared/sdk/enums/VehicleType.h b/Shared/sdk/enums/VehicleType.h new file mode 100644 index 00000000000..c1a2c9fd166 --- /dev/null +++ b/Shared/sdk/enums/VehicleType.h @@ -0,0 +1,229 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/VehicleType.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class VehicleType +{ + VT_LANDSTAL = 400, + VT_BRAVURA, + VT_BUFFALO, + VT_LINERUN, + VT_PEREN, + VT_SENTINEL, + VT_DUMPER, + VT_FIRETRUK, + VT_TRASH, + VT_STRETCH, + VT_MANANA, + VT_INFERNUS, + VT_VOODOO, + VT_PONY, + VT_MULE, + VT_CHEETAH, + VT_AMBULAN, + VT_LEVIATHN, + VT_MOONBEAM, + VT_ESPERANT, + VT_TAXI, + VT_WASHING, + VT_BOBCAT, + VT_MRWHOOP, + VT_BFINJECT, + VT_HUNTER, + VT_PREMIER, + VT_ENFORCER, + VT_SECURICA, + VT_BANSHEE, + VT_PREDATOR, + VT_BUS, + VT_RHINO, + VT_BARRACKS, + VT_HOTKNIFE, + VT_ARTICT1, + VT_PREVION, + VT_COACH, + VT_CABBIE, + VT_STALLION, + VT_RUMPO, + VT_RCBANDIT, + VT_ROMERO, + VT_PACKER, + VT_MONSTER, + VT_ADMIRAL, + VT_SQUALO, + VT_SEASPAR, + VT_PIZZABOY, + VT_TRAM, + VT_ARTICT2, + VT_TURISMO, + VT_SPEEDER, + VT_REEFER, + VT_TROPIC, + VT_FLATBED, + VT_YANKEE, + VT_CADDY, + VT_SOLAIR, + VT_TOPFUN, + VT_SKIMMER, + VT_PCJ600, + VT_FAGGIO, + VT_FREEWAY, + VT_RCBARON, + VT_RCRAIDER, + VT_GLENDALE, + VT_OCEANIC, + VT_SANCHEZ, + VT_SPARROW, + VT_PATRIOT, + VT_QUAD, + VT_COASTG, + VT_DINGHY, + VT_HERMES, + VT_SABRE, + VT_RUSTLER, + VT_ZR350, + VT_WALTON, + VT_REGINA, + VT_COMET, + VT_BMX, + VT_BURRITO, + VT_CAMPER, + VT_MARQUIS, + VT_BAGGAGE, + VT_DOZER, + VT_MAVERICK, + VT_VCNMAV, + VT_RANCHER, + VT_FBIRANCH, + VT_VIRGO, + VT_GREENWOO, + VT_JETMAX, + VT_HOTRING, + VT_SANDKING, + VT_BLISTAC, + VT_POLMAV, + VT_BOXVILLE, + VT_BENSON, + VT_MESA, + VT_RCGOBLIN, + VT_HOTRINA, + VT_HOTRINB, + VT_BLOODRA, + VT_RNCHLURE, + VT_SUPERGT, + VT_ELEGANT, + VT_JOURNEY, + VT_BIKE, + VT_MTBIKE, + VT_BEAGLE, + VT_CROPDUST, + VT_STUNT, + VT_PETRO, + VT_RDTRAIN, + VT_NEBULA, + VT_MAJESTIC, + VT_BUCCANEE, + VT_SHAMAL, + VT_HYDRA, + VT_FCR900, + VT_NRG500, + VT_COPBIKE, + VT_CEMENT, + VT_TOWTRUCK, + VT_FORTUNE, + VT_CADRONA, + VT_FBITRUCK, + VT_WILLARD, + VT_FORKLIFT, + VT_TRACTOR, + VT_COMBINE, + VT_FELTZER, + VT_REMINGTN, + VT_SLAMVAN, + VT_BLADE, + VT_FREIGHT, + VT_STREAK, + VT_VORTEX, + VT_VINCENT, + VT_BULLET, + VT_CLOVER, + VT_SADLER, + VT_FIRELA, + VT_HUSTLER, + VT_INTRUDER, + VT_PRIMO, + VT_CARGOBOB, + VT_TAMPA, + VT_SUNRISE, + VT_MERIT, + VT_UTILITY, + VT_NEVADA, + VT_YOSEMITE, + VT_WINDSOR, + VT_MONSTERA, + VT_MONSTERB, + VT_URANUS, + VT_JESTER, + VT_SULTAN, + VT_STRATUM, + VT_ELEGY, + VT_RAINDANC, + VT_RCTIGER, + VT_FLASH, + VT_TAHOMA, + VT_SAVANNA, + VT_BANDITO, + VT_FREIFLAT, + VT_STREAKC, + VT_KART, + VT_MOWER, + VT_DUNERIDE, + VT_SWEEPER, + VT_BROADWAY, + VT_TORNADO, + VT_AT400, + VT_DFT30, + VT_HUNTLEY, + VT_STAFFORD, + VT_BF400, + VT_NEWSVAN, + VT_TUG, + VT_PETROTR, + VT_EMPEROR, + VT_WAYFARER, + VT_EUROS, + VT_HOTDOG, + VT_CLUB, + VT_FREIBOX, + VT_ARTICT3, + VT_ANDROM, + VT_DODO, + VT_RCCAM, + VT_LAUNCH, + VT_COPCARLA, + VT_COPCARSF, + VT_COPCARVG, + VT_COPCARRU, + VT_PICADOR, + VT_SWATVAN, + VT_ALPHA, + VT_PHOENIX, + VT_GLENSHIT, + VT_SADLSHIT, + VT_BAGBOXA, + VT_BAGBOXB, + VT_TUGSTAIR, + VT_BOXBURG, + VT_FARMTR1, + VT_UTILTR1, + VT_MAX +}; diff --git a/Shared/sdk/enums/WeaponProperty.h b/Shared/sdk/enums/WeaponProperty.h new file mode 100644 index 00000000000..79fc9dbee93 --- /dev/null +++ b/Shared/sdk/enums/WeaponProperty.h @@ -0,0 +1,83 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/WeaponProperty.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class WeaponProperty +{ + WEAPON_INVALID_PROPERTY = 0, + WEAPON_WEAPON_RANGE, + WEAPON_TARGET_RANGE, + WEAPON_ACCURACY, + WEAPON_DAMAGE, + WEAPON_LIFE_SPAN, + WEAPON_FIRING_SPEED, + WEAPON_SPREAD, + WEAPON_MAX_CLIP_AMMO, + WEAPON_MOVE_SPEED, + WEAPON_FLAGS, + WEAPON_ANIM_GROUP, + WEAPON_TYPE_SET_DISABLED, + WEAPON_FIRETYPE, + + WEAPON_MODEL, + WEAPON_MODEL2, + + WEAPON_SLOT, + + WEAPON_FIRE_OFFSET, + + WEAPON_SKILL_LEVEL, + WEAPON_REQ_SKILL_LEVEL, + + WEAPON_ANIM_LOOP_START, + WEAPON_ANIM_LOOP_STOP, + WEAPON_ANIM_LOOP_RELEASE_BULLET_TIME, + + WEAPON_ANIM2_LOOP_START, + WEAPON_ANIM2_LOOP_STOP, + WEAPON_ANIM2_LOOP_RELEASE_BULLET_TIME, + + WEAPON_ANIM_BREAKOUT_TIME, + + WEAPON_SPEED, + WEAPON_RADIUS, + + WEAPON_AIM_OFFSET, + + WEAPON_DEFAULT_COMBO, + WEAPON_COMBOS_AVAILABLE, + + WEAPON_FLAG_AIM_NO_AUTO, // 0x000001 - cant auto target to aim (disable automatic up/down adjustment when firing without aiming) + WEAPON_FLAG_FIRST = WEAPON_FLAG_AIM_NO_AUTO, + WEAPON_FLAG_AIM_ARM, // 0x000002 - only needs arm to aim (ie pistol/shotgun/tec9/uzi) + WEAPON_FLAG_AIM_1ST_PERSON, // 0x000004 - uses 1st person aim (ie sniper/rpg-hs + WEAPON_FLAG_AIM_FREE, // 0x000008 - can only use free aiming (ie country sniper/flame thrower/minigun/fire extinguisher) + WEAPON_FLAG_MOVE_AND_AIM, // 0x000010 - can move and aim at same time + WEAPON_FLAG_MOVE_AND_SHOOT, // 0x000020 - can move and fire at same time + WEAPON_FLAG_UNKNOWN_0040, + WEAPON_FLAG_UNKNOWN_0080, + WEAPON_FLAG_TYPE_THROW, // 0x000100 - is a throwing weapon (ie satchel) + WEAPON_FLAG_TYPE_HEAVY, // 0x000200 - heavy weapon - can't jump (ie flame thrower/rpgs/minigun) + WEAPON_FLAG_TYPE_CONSTANT, // 0x000400 - fires every frame within loop (ie paint spray) + WEAPON_FLAG_TYPE_DUAL, // 0x000800 - can use 2x guns at same time (ie pistol/shotgun/tec9/uzi) + WEAPON_FLAG_ANIM_RELOAD, // 0x001000 - weapon has reload anims (ie everything except shotgun/snipers/flame thrower/rpgs/minigun/satchel) + WEAPON_FLAG_ANIM_CROUCH, // 0x002000 - weapon has crouching anims (ie everything except flame thrower/rpgs/minigun/satchel) + WEAPON_FLAG_ANIM_RELOAD_LOOP, // 0x004000 - loop from end of reload to fire loop start + WEAPON_FLAG_ANIM_RELOAD_LONG, // 0x008000 - force a longer reload time! (ie rpgs/snipers) + WEAPON_FLAG_SHOT_SLOWS, // 0x010000 - slows down (ie flame thrower) + WEAPON_FLAG_SHOT_RAND_SPEED, // 0x020000 - random speed (ie flame thrower) + WEAPON_FLAG_SHOT_ANIM_ABRUPT, // 0x040000 - force the anim to finish player after aim/fire rather than blending out (ie rpgs) + WEAPON_FLAG_SHOT_EXPANDS, // 0x080000 - expands + WEAPON_FLAG_LAST = WEAPON_FLAG_SHOT_EXPANDS, + + WEAPON_FIRE_ROTATION, +}; diff --git a/Shared/sdk/enums/Weather.h b/Shared/sdk/enums/Weather.h new file mode 100644 index 00000000000..93e39e6ac4b --- /dev/null +++ b/Shared/sdk/enums/Weather.h @@ -0,0 +1,23 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/Weather.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class Weather +{ + SUNNY = 0, + CLOUDY, + RAINY, + FOGGY, + VERY_SUNNY, + VERY_RAINY, + INSIDE +}; diff --git a/Shared/sdk/enums/WorldProperty.h b/Shared/sdk/enums/WorldProperty.h new file mode 100644 index 00000000000..31d2e28dd00 --- /dev/null +++ b/Shared/sdk/enums/WorldProperty.h @@ -0,0 +1,36 @@ +/***************************************************************************** + * + * PROJECT: Multi Theft Auto + * LICENSE: See LICENSE in the top level directory + * FILE: sdk/WorldProperty.h + * PURPOSE: Header for common definitions + * + * Multi Theft Auto is available from https://www.multitheftauto.com/ + * + *****************************************************************************/ + +#pragma once + +enum class WorldProperty +{ + AMBIENT_COLOR, + AMBIENT_OBJ_COLOR, + DIRECTIONAL_COLOR, + SPRITE_SIZE, + SPRITE_BRIGHTNESS, + POLE_SHADOW_STRENGTH, + SHADOW_STRENGTH, + SHADOWS_OFFSET, + LIGHTS_ON_GROUND, + LOW_CLOUDS_COLOR, + BOTTOM_CLOUDS_COLOR, + CLOUDS_ALPHA1, + ILLUMINATION, + WEATHER_WET_ROADS, + WEATHER_FOGGYNESS, + WEATHER_FOG, + WEATHER_RAIN_FOG, + WEATHER_WATER_FOG, + WEATHER_SANDSTORM, + WEATHER_RAINBOW, +};