diff --git a/HPCS2.sln b/HPCS2.sln new file mode 100644 index 0000000..4143814 --- /dev/null +++ b/HPCS2.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32106.194 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HPCS2", "HPCS2\HPCS2.vcxproj", "{9A02F163-AEBD-431B-8E0E-53C246BC27A8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9A02F163-AEBD-431B-8E0E-53C246BC27A8}.Debug|x64.ActiveCfg = Debug|x64 + {9A02F163-AEBD-431B-8E0E-53C246BC27A8}.Debug|x64.Build.0 = Debug|x64 + {9A02F163-AEBD-431B-8E0E-53C246BC27A8}.Debug|x86.ActiveCfg = Debug|Win32 + {9A02F163-AEBD-431B-8E0E-53C246BC27A8}.Debug|x86.Build.0 = Debug|Win32 + {9A02F163-AEBD-431B-8E0E-53C246BC27A8}.Release|x64.ActiveCfg = Release|x64 + {9A02F163-AEBD-431B-8E0E-53C246BC27A8}.Release|x64.Build.0 = Release|x64 + {9A02F163-AEBD-431B-8E0E-53C246BC27A8}.Release|x86.ActiveCfg = Release|Win32 + {9A02F163-AEBD-431B-8E0E-53C246BC27A8}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BC3F94B4-62FD-46DF-891E-E98FB39ADFF2} + EndGlobalSection +EndGlobal diff --git a/HPCS2/HPCS2.vcxproj b/HPCS2/HPCS2.vcxproj new file mode 100644 index 0000000..0bae54c --- /dev/null +++ b/HPCS2/HPCS2.vcxproj @@ -0,0 +1,173 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {9a02f163-aebd-431b-8e0e-53c246bc27a8} + HPCS2 + 10.0 + + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp20 + + + Console + true + true + true + RequireAdministrator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/HPCS2/HPCS2.vcxproj.filters b/HPCS2/HPCS2.vcxproj.filters new file mode 100644 index 0000000..1dea11f --- /dev/null +++ b/HPCS2/HPCS2.vcxproj.filters @@ -0,0 +1,90 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 資源檔 + + + 來源檔案 + + + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 標頭檔 + + + 來源檔案 + + + 來源檔案 + + + 來源檔案 + + + \ No newline at end of file diff --git a/HPCS2/HPCS2.vcxproj.user b/HPCS2/HPCS2.vcxproj.user new file mode 100644 index 0000000..0f14913 --- /dev/null +++ b/HPCS2/HPCS2.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/HPCS2/Source.cpp b/HPCS2/Source.cpp new file mode 100644 index 0000000..170aea6 --- /dev/null +++ b/HPCS2/Source.cpp @@ -0,0 +1,1610 @@ +#include "offset/offsets.hpp" +#include "offset/client.dll.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "memory.hpp" +#include "api/ini.h" +int render_distance = -1; +bool show_extra = true; +bool ShowViewAngle = false; +bool ShowAimBotFov = true; +int flag_render_distance = 70; +int ShowBoneDistance = 1000; +int TextSize = 15; +int BoomSize = 100; +#define BonesColor RGB(200, 200, 200) +float FOV = 15;//2 +bool DrawESP = true; +bool brecoilControl = true; +bool AimBot = true; +bool AimBotHot = true; +bool AimTeam = false; +bool bTriggerbot = false; +bool bBunnyHop = false; +bool OnlyAttackVisible = true; +bool DrawESPLine = true; +bool MenuDrawBorder = false; +int TriggerDelay_ms = 90; +float AimSmoothing = 2; +int AimBones = 5; + +HANDLE cs2_process_handle; +ProcessModule cs2_module_client; +ProcessModule base_engine; + +std::shared_ptr process; +struct C_UTL_VECTOR +{ + DWORD_PTR count = 0; + DWORD_PTR data = 0; +}; +namespace render +{ + void DrawBorderBox(HDC hdc, int x, int y, int w, int h, COLORREF borderColor) + { + HBRUSH hBorderBrush = CreateSolidBrush(borderColor); + HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc, hBorderBrush); + + RECT rect = { x, y, x + w, y + h }; + FrameRect(hdc, &rect, hBorderBrush); + + SelectObject(hdc, hOldBrush); // Restore the original brush + DeleteObject(hBorderBrush); // Delete the temporary brush + } + + void DrawCircle(HDC hdc, int centerX, int centerY, int radius, COLORREF color) { + HPEN hPen = CreatePen(PS_DASH, 2, color); // ʹúɫΪ1أʵʽĻ + SelectObject(hdc, hPen); + Ellipse(hdc, centerX - radius, centerY - radius, centerX + radius, centerY + radius); + DeleteObject(hPen); + } + + void DrawFilledBox(HDC hdc, int x, int y, int width, int height, COLORREF color) + { + HBRUSH hBrush = CreateSolidBrush(color); + RECT rect = { x, y, x + width, y + height }; + FillRect(hdc, &rect, hBrush); + DeleteObject(hBrush); + } + + void SetTextSize(HDC hdc, int textSize) + { + LOGFONT lf; + HFONT hFont, hOldFont; + + // Initialize the LOGFONT structure + ZeroMemory(&lf, sizeof(LOGFONT)); + lf.lfHeight = -textSize; // Set the desired text height (negative for height) + lf.lfWeight = FW_NORMAL; // Set the font weight (e.g., FW_NORMAL for normal) + lf.lfQuality = ANTIALIASED_QUALITY; // Enable anti-aliasing + + // Create a new font based on the LOGFONT structure + hFont = CreateFontIndirect(&lf); + + // Select the new font into the device context and save the old font + hOldFont = (HFONT)SelectObject(hdc, hFont); + + // Clean up the old font (when done using it) + DeleteObject(hOldFont); + } + + void RenderLine(HDC hdc, float p1x, float p1y, float p2x, float p2y, COLORREF borderColor) + { + HPEN hPen = CreatePen(PS_DASH, 2, borderColor); // ʹúɫΪ1أʵʽĻ + SelectObject(hdc, hPen); + MoveToEx(hdc, (int)p1x, (int)p1y, (LPPOINT)NULL); + LineTo(hdc, (int)p2x, (int)p2y); + DeleteObject(hPen); + } + + void RenderText(HDC hdc, int x, int y, const char* text, COLORREF textColor, int textSize) + { + SetTextSize(hdc, textSize); + SetTextColor(hdc, textColor); + + int len = MultiByteToWideChar(CP_UTF8, 0, text, -1, NULL, 0); + wchar_t* wide_text = new wchar_t[len]; + MultiByteToWideChar(CP_UTF8, 0, text, -1, wide_text, len); + + TextOutW(hdc, x, y, wide_text, len - 1); + + delete[] wide_text; + } +} +namespace g { + inline HDC hdcBuffer = NULL; + inline HBITMAP hbmBuffer = NULL; + + RECT gameBounds; +} +enum bones : int { + head = 6, + neck = 5, + chest = 4, + shoulderRight = 8, + shoulderLeft = 13, + elbowRight = 9, + elbowLeft = 14, + handRight = 11, + handLeft = 16, + crotch = 0, + kneeRight = 23, + kneeLeft = 26, + ankleRight = 24, + ankleLeft = 27, +}; + +inline namespace boneGroups { + inline std::vector mid = { bones::head,bones::neck,bones::chest,bones::crotch }; + inline std::vector leftArm = { bones::neck,bones::shoulderLeft,bones::elbowLeft,bones::handLeft }; + inline std::vector righttArm = { bones::neck,bones::shoulderRight,bones::elbowRight,bones::handRight }; + inline std::vector leftLeg = { bones::crotch,bones::kneeLeft,bones::ankleLeft }; + inline std::vector rightLeg = { bones::crotch,bones::kneeRight,bones::ankleRight }; + inline std::map mid_Name = { {bones::head,"head"}, {bones::neck,"neck"}, {bones::chest,"chest"}, {bones::crotch,"crotch"} }; + + inline std::vector> allGroups = { mid,leftArm,righttArm,leftLeg,rightLeg }; +} +void loop(); + +void FunctionT(); +void USETLOOP() +{ + while (true) + FunctionT(); +} +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_CREATE: + { + g::hdcBuffer = CreateCompatibleDC(NULL); + g::hbmBuffer = CreateCompatibleBitmap(GetDC(hWnd), g::gameBounds.right, g::gameBounds.bottom); + SelectObject(g::hdcBuffer, g::hbmBuffer); + + SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED); + + SetLayeredWindowAttributes(hWnd, RGB(255, 255, 255), 0, LWA_COLORKEY); + + //std::cout << "[overlay] Window created successfully" << std::endl; + Beep(500, 100); + break; + } + case WM_ERASEBKGND: // We handle this message to avoid flickering + return TRUE; + case WM_PAINT: + { + PAINTSTRUCT ps; + HDC hdc = BeginPaint(hWnd, &ps); + + //DOUBLE BUFFERING + FillRect(g::hdcBuffer, &ps.rcPaint, (HBRUSH)GetStockObject(WHITE_BRUSH)); + + if (GetForegroundWindow() == process->hwnd_) { + //render::RenderText(g::hdcBuffer, 10, 10, "cs2 | ESP", RGB(75, 175, 175), 15); + loop(); + } + + BitBlt(hdc, 0, 0, g::gameBounds.right, g::gameBounds.bottom, g::hdcBuffer, 0, 0, SRCCOPY); + + EndPaint(hWnd, &ps); + InvalidateRect(hWnd, NULL, TRUE); + break; + } + case WM_DESTROY: + DeleteDC(g::hdcBuffer); + DeleteObject(g::hbmBuffer); + + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} + +struct view_matrix_t { + float* operator[ ](int index) { + return matrix[index]; + } + + float matrix[4][4]; +}; + +struct Vector3 +{ + // constructor + constexpr Vector3( + const float x = 0.f, + const float y = 0.f, + const float z = 0.f) noexcept : + x(x), y(y), z(z) { } + + // operator overloads + constexpr const Vector3& operator-(const Vector3& other) const noexcept + { + return Vector3{ x - other.x, y - other.y, z - other.z }; + } + + constexpr const Vector3& operator+(const Vector3& other) const noexcept + { + return Vector3{ x + other.x, y + other.y, z + other.z }; + } + + constexpr const Vector3& operator/(const float factor) const noexcept + { + return Vector3{ x / factor, y / factor, z / factor }; + } + + constexpr const Vector3& operator*(const float factor) const noexcept + { + return Vector3{ x * factor, y * factor, z * factor }; + } + + constexpr const bool operator>(const Vector3& other) const noexcept { + return x > other.x && y > other.y && z > other.z; + } + + constexpr const bool operator>=(const Vector3& other) const noexcept { + return x >= other.x && y >= other.y && z >= other.z; + } + + constexpr const bool operator<(const Vector3& other) const noexcept { + return x < other.x&& y < other.y&& z < other.z; + } + + constexpr const bool operator<=(const Vector3& other) const noexcept { + return x <= other.x && y <= other.y && z <= other.z; + } + + constexpr const Vector3& ToAngle() const noexcept + { + return Vector3{ + std::atan2(-z, std::hypot(x, y)) * (180.0f / std::numbers::pi_v), + std::atan2(y, x) * (180.0f / std::numbers::pi_v), + 0.0f + }; + } + + void Print()const + { + std::cout << "\n x : " << x << " y :" << y << "z :" << z; + return; + } + + constexpr const bool IsZero() const noexcept + { + return x == 0.f && y == 0.f && z == 0.f; + } + + float length() const { + return std::sqrt(x * x + y * y + z * z); + } + + float length2d() const { + return std::sqrt(x * x + y * y); + } + + Vector3 limit(float limit) + { + Vector3 T; + if (x > limit)//|| In.x < -limit) + { + T.x = limit; + } + else + { + if (x < 0 - limit) + { + T.x = -limit; + } + else + { + T.x = x; + } + } + + if (y > limit)//|| In.y < -limit) + { + T.y = limit; + } + else + { + if (y < -limit) + { + T.y = 0 - limit; + } + else + { + T.y = y; + } + } + + T.z = z; + return T; + } + + Vector3 world_to_screen(view_matrix_t matrix) const { + float _x = matrix[0][0] * x + matrix[0][1] * y + matrix[0][2] * z + matrix[0][3]; + float _y = matrix[1][0] * x + matrix[1][1] * y + matrix[1][2] * z + matrix[1][3]; + float w = matrix[3][0] * x + matrix[3][1] * y + matrix[3][2] * z + matrix[3][3]; + + float inv_w = 1.f / w; + _x *= inv_w; + _y *= inv_w; + + float x = g::gameBounds.right * .5f; + float y = g::gameBounds.bottom * .5f; + + x += 0.5f * _x * g::gameBounds.right + 0.5f; + y -= 0.5f * _y * g::gameBounds.bottom + 0.5f; + + return { x, y, w }; + } + + float calculate_distance(const Vector3& point) const { + float dx = point.x - x; + float dy = point.y - y; + float dz = point.z - z; + + return std::sqrt(dx * dx + dy * dy + dz * dz); + } + + // struct data + float x, y, z; +}; + +inline constexpr Vector3 CalculateAngle( + const Vector3& localPosition, + const Vector3& enemyPosition, + const Vector3& viewAngles) noexcept +{ + return ((enemyPosition - localPosition).ToAngle() - viewAngles); +}; + +inline Vector3 clampAngles(Vector3 angles) { + if (angles.x > 89.0f && angles.x <= 180.0f) { + angles.x = 89.0f; + } + + if (angles.x > 180.0f) { + angles.x -= 360.0f; + } + + if (angles.x < -89.0f) { + angles.x = -89.0f; + } + + if (angles.y > 180.0f) { + angles.y -= 360.0f; + } + + if (angles.y < -180.0f) { + angles.y += 360.0f; + } + angles.z = 0; + + return angles; +}; + +inline Vector3 normalizeAngles(Vector3 angle) { + while (angle.x > 180.f) + angle.x -= 360.0f; + + while (angle.x < -180.0f) + angle.x += 360.0f; + + while (angle.y > 180.0f) + angle.y -= 360.0f; + + while (angle.y < -180.0f) + angle.y += 360.0f; + + return angle; +}; + +inline Vector3 calculateBestAngle(Vector3 angle, float& configFov) { + Vector3 newAngle = 0; + + float fov = std::hypot(angle.x, angle.y); + + if (fov <= configFov) { + configFov = fov; + newAngle = angle; + } + return newAngle; +} + +uintptr_t TraceAddress(uintptr_t BaseAddress, std::vector Offsets) +{ + uintptr_t Address = 0; + + if (Offsets.size() == 0) + return BaseAddress; + Address = process->read(BaseAddress); + if (!Address) + return 0; + + for (int i = 0; i < Offsets.size() - 1; i++) + { + Address = process->read(Address + Offsets[i]); + if (!Address) + return 0; + } + return Address == 0 ? 0 : Address + Offsets[Offsets.size() - 1]; +} + +int localTeam; + +void Triggerbot() +{ + uintptr_t player = process->read(cs2_module_client.base + client_dll::dwLocalPlayerPawn); + unsigned long iIDEntIndex = process->read(player + C_CSPlayerPawnBase::m_iIDEntIndex); + //std::cout << "\n " << iIDEntIndex; + if (iIDEntIndex == -1) + return; + + const uintptr_t ListEntry = TraceAddress(cs2_module_client.base + client_dll::dwEntityList, { 0x8 * (iIDEntIndex >> 9) + 0x10,0x0 }); + if (ListEntry == 0) + return; + + uintptr_t PawnAddress = process->read(ListEntry + 0x78 * (iIDEntIndex & 0x1FF)); + if (!PawnAddress) + return; + + bool AllowShoot = false; + + //std::cout << "\n " << process->read(PawnAddress + C_BaseEntity::m_iHealth); + + if (!AimTeam) + AllowShoot = process->read(PawnAddress + C_BaseEntity::m_iTeamNum) != localTeam && process->read(PawnAddress + C_BaseEntity::m_iHealth) > 0; + else + AllowShoot = process->read(PawnAddress + C_BaseEntity::m_iHealth) > 0; + + if (!AllowShoot) + return; + + static std::chrono::time_point LastTimePoint = std::chrono::steady_clock::now(); + auto CurTimePoint = std::chrono::steady_clock::now(); + if (CurTimePoint - LastTimePoint >= std::chrono::milliseconds(TriggerDelay_ms/*ms TriggerDelay*/)) + { + const bool isAlreadyShooting = GetAsyncKeyState(VK_LBUTTON) < 0; + if (!isAlreadyShooting) + { + mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); + mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); + } + + LastTimePoint = CurTimePoint; + } + + //mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); + //mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); + return; +} + +void Bunnyhop(uintptr_t player) +{ + const bool hasFlagInAir = process->read(player + C_BaseEntity::m_fFlags) & (1 << 0); + if (GetAsyncKeyState(VK_SPACE) && hasFlagInAir) + { + process->write(cs2_module_client.base + client_dll::dwForceJump, 65537); + } + else if (GetAsyncKeyState(VK_SPACE) && !hasFlagInAir) + { + process->write(cs2_module_client.base + client_dll::dwForceJump, 256); + process->write(cs2_module_client.base + client_dll::dwForceJump, 65537); + process->write(cs2_module_client.base + client_dll::dwForceJump, 256); + } + else + { + process->write(cs2_module_client.base + client_dll::dwForceJump, 256); + } +} + +Vector3 aimBot(C_UTL_VECTOR aimPunchCache, int getShotsFired, Vector3& cameraPos, float& fov, bool isHot, Vector3 baseViewAngles, uintptr_t boneArray) { + Vector3 aimPos; + Vector3 newAngle; + + aimPos = process->read(boneArray + AimBones/*head*/ * 32); + //aimPos.Print(); + const Vector3 angle = CalculateAngle(cameraPos, aimPos, baseViewAngles); + + newAngle = calculateBestAngle(angle, fov/*fov*/); + + if (newAngle.IsZero()) { + return 0; + } + + if (isHot) { + if (GetAsyncKeyState(VK_SHIFT) & 0x8000) { + if (brecoilControl) + { + Vector3 aimPunchAngle = process->read(aimPunchCache.data + (aimPunchCache.count - 1) * sizeof(Vector3)); + + if (getShotsFired > 1) { + newAngle.x = newAngle.x - aimPunchAngle.x * 2.f; + newAngle.y = newAngle.y - aimPunchAngle.y * 2.f; + } + } + + newAngle = clampAngles(newAngle); + //if (AimSmoothing != 0) + // newAngle = newAngle.limit(AimSmoothing); + + if (AimSmoothing != 0) + newAngle = newAngle / AimSmoothing; + + if (!newAngle.IsZero()) + return newAngle + baseViewAngles;//baseViewAngles; + //Triggerbot(); + } + } + else { + if (getShotsFired > 1) { + Vector3 aimPunchAngle = process->read(aimPunchCache.data + (aimPunchCache.count - 1) * sizeof(Vector3)); + newAngle.x = newAngle.x - aimPunchAngle.x * 2.f; + newAngle.y = newAngle.y - aimPunchAngle.y * 2.f; + //newAngle = clampAngles(newAngle); + + //newAngle.x = newAngle.x / AimSmoothing;//smoothing + //newAngle.y = newAngle.y / AimSmoothing;//smoothing + + if (AimSmoothing != 0) + newAngle = newAngle.limit(AimSmoothing); + + return newAngle + baseViewAngles; + } + } + return 0; +} + +void recoilControl(Vector3& ViewAngle, C_UTL_VECTOR aimPunchCache, int getShotsFired, DWORD_PTR baseViewAnglesAddy) { + static Vector3 oldPunch; + if (getShotsFired > 1) { + Vector3 aimPunchAngle = process->read(aimPunchCache.data + (aimPunchCache.count - 1) * sizeof(Vector3)); + Vector3 recoilVector = { + ViewAngle.x + oldPunch.x - aimPunchAngle.x * 2.f, + ViewAngle.y + oldPunch.y - aimPunchAngle.y * 2.f + }; + recoilVector = clampAngles(recoilVector); + + oldPunch = aimPunchAngle * 2.f; + process->write(baseViewAnglesAddy, recoilVector); + } + else + oldPunch = 0; +} + +int main(int argc, char* argv[]) +{ + SetConsoleTitleW(L"cs2-HalfPeople-esp"); + + process = std::make_shared(); + + while (!process->AttachProcessHj("cs2.exe")) + std::this_thread::sleep_for(std::chrono::seconds(1)); + + do { + cs2_module_client = process->GetModule("client.dll"); + base_engine = process->GetModule("engine2.dll"); + if (cs2_module_client.base == 0 || base_engine.base == 0) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + std::cout << " Failed to find module client.dll/engine2.dll, waiting for the game to load it..." << std::endl; + } + } while (cs2_module_client.base == 0 || base_engine.base == 0); + + const uintptr_t buildNumber = process->read(base_engine.base + engine2_dll::dwBuildNumber); + std::cout << "\n build number : " << buildNumber; + + std::cout << " Make sure your game is in \"Full Screen Windowed\"" << std::endl; + while (GetForegroundWindow() != process->hwnd_) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + process->UpdateHWND(); + ShowWindow(process->hwnd_, TRUE); + } + std::cout << "Creating window overlay" << std::endl; + + WNDCLASSEXA wc = { 0 }; + wc.cbSize = sizeof(WNDCLASSEXA); + wc.lpfnWndProc = WndProc; + wc.style = CS_HREDRAW | CS_VREDRAW; + wc.hbrBackground = WHITE_BRUSH; + wc.hInstance = reinterpret_cast(GetWindowLongA(process->hwnd_, (-6))); // GWL_HINSTANCE)); + wc.lpszMenuName = " "; + wc.lpszClassName = " "; + + RegisterClassExA(&wc); + + GetClientRect(process->hwnd_, &g::gameBounds); + + // Create the window + HINSTANCE hInstance = NULL; + HWND hWnd = CreateWindowExA(WS_EX_TRANSPARENT | WS_EX_TOPMOST | WS_EX_LAYERED | WS_EX_TOOLWINDOW, " ", "cs2-HalfPeople-esp", WS_POPUP, + g::gameBounds.left, g::gameBounds.top, g::gameBounds.right - g::gameBounds.left, g::gameBounds.bottom + g::gameBounds.left, NULL, NULL, hInstance, NULL); // NULL, NULL); + + if (hWnd == NULL) + return 0; + + SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); + ShowWindow(hWnd, TRUE); + //SetActiveWindow(hack::process->hwnd_); + std::thread T(USETLOOP); + // Message loop + MSG msg; + while (GetMessage(&msg, NULL, 0, 0)) + { + //std::thread T(FunctionT); + if (GetAsyncKeyState(VK_END) & 0x8000) break; + + TranslateMessage(&msg); + DispatchMessage(&msg); + + //T.join(); + //std::this_thread::sleep_for(std::chrono::milliseconds(1)); + } + + DeleteDC(g::hdcBuffer); + DeleteObject(g::hbmBuffer); + + DestroyWindow(hWnd); + + process->Close(); + + system("pause"); + + return 0; +} +uintptr_t entity_list; +uintptr_t localpCSPlayerPawn; +uintptr_t localPlayerController; + +//Vector3 TEST_CAMEPOS, TEST_CAMEANGLE, TEST_VIEWANGLE; + +#define MenuOffset 100 +#define MenuItemSelectColor RGB(100,200,200) +#define MenuItemColor RGB(200,200,200) +#define MenuItemMaxIndex 22 +#define MenuTitleColor RGB(195,125,255) +int ApplayItem = false; +bool isDrawMenu = false; + +void MenuTitle(int& MenuTitleIndexOffset, int index, const char* Text) +{ + render::RenderText(g::hdcBuffer, 0, MenuOffset + 5 + MenuTitleIndexOffset + TextSize * index, Text, MenuTitleColor, TextSize + 5); + MenuTitleIndexOffset += (TextSize + 15); +} +bool MenuItem(int Offset, int& SelectIndex, int& index, const char* text) +{ + bool R = SelectIndex == index; + render::RenderText(g::hdcBuffer, 0, MenuOffset + 5 + Offset + TextSize * index, text, (R ? MenuItemSelectColor : MenuItemColor), TextSize); + index++; + return R && ApplayItem > 0; +} + +void DrawMenu() +{ + int MenuTitleIndexOffset = 0; + static int MenuSelectIndex = 0; + int index = 0; + static int MenuHight = 0; + if (GetKeyState(VK_UP) & 0x8000) + { + if (MenuSelectIndex - 1 < 0) + MenuSelectIndex = MenuItemMaxIndex; + MenuSelectIndex--; + Beep(500, 90); + } + + if (GetKeyState(VK_DOWN) & 0x8000) + { + if (MenuSelectIndex + 1 > MenuItemMaxIndex) + MenuSelectIndex = 0; + MenuSelectIndex++; + Beep(500, 90); + } + ApplayItem = 0; + if (GetKeyState(VK_RIGHT) & 0x8000) + { + ApplayItem = 1; + + Beep(600, 90); + } + + if (GetKeyState(VK_LEFT) & 0x8000) + { + ApplayItem = 2; + + Beep(600, 90); + } + + render::DrawFilledBox(g::hdcBuffer, 0, MenuOffset, TextSize * 15, MenuHight, RGB(0, 0, 0)); + + SetBkColor(g::hdcBuffer, RGB(0, 0, 0)); + + MenuTitle(MenuTitleIndexOffset, index, "F1 - Hide Menu"); + MenuTitle(MenuTitleIndexOffset, index, "-----Function-----"); + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("RecoilControl -> ").append((brecoilControl ? "true" : "false")).c_str())) + { + brecoilControl = !brecoilControl; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("AimBot -> ").append((AimBot ? "true" : "false")).c_str())) + { + AimBot = !AimBot; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("Triggerbot -> ").append((bTriggerbot ? "true" : "false")).c_str())) + { + bTriggerbot = !bTriggerbot; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("BunnyHop -> ").append((bBunnyHop ? "true" : "false")).c_str())) + { + bBunnyHop = !bBunnyHop; + } + + MenuTitle(MenuTitleIndexOffset, index, "-------ESP-------"); + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("Draw ESP -> ").append((DrawESP ? "true" : "false")).c_str())) + { + DrawESP = !DrawESP; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("Draw ESP Line -> ").append((DrawESPLine ? "true" : "false")).c_str())) + { + DrawESPLine = !DrawESPLine; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("ShowViewAngle -> ").append((ShowViewAngle ? "true" : "false")).c_str())) + { + ShowViewAngle = !ShowViewAngle; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("show_extra -> ").append((show_extra ? "true" : "false")).c_str())) + { + show_extra = !show_extra; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("TextSize -> ").append(std::to_string(TextSize)).c_str())) + { + MenuHight = 0; + if (ApplayItem == 1) + { + TextSize++; + } + else + if (TextSize - 1 > 0) + TextSize--; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("ShowBoneDistance -> ").append(std::to_string(ShowBoneDistance)).c_str())) + { + if (ApplayItem == 1) + { + ShowBoneDistance += 10; + } + else + if (ShowBoneDistance - 10 > 0) + ShowBoneDistance -= 10; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("flag_render_distance -> ").append(std::to_string(flag_render_distance)).c_str())) + { + if (ApplayItem == 1) + { + flag_render_distance += 10; + } + else + if (flag_render_distance - 10 > 0) + flag_render_distance -= 10; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("render_distance -> ").append(std::to_string(render_distance)).c_str())) + { + if (ApplayItem == 1) + { + render_distance += 10; + } + else + if (render_distance - 10 > -1) + render_distance -= 10; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("Draw Boom MaxSize -> ").append(std::to_string(BoomSize)).c_str())) + { + if (ApplayItem == 1) + { + BoomSize += 10; + } + else + if (BoomSize - 10 > -1) + BoomSize -= 10; + + render::DrawFilledBox( + g::hdcBuffer, + 25, + 25, + BoomSize, + BoomSize * 1.4, + RGB(175, 75, 75) + ); + } + + MenuTitle(MenuTitleIndexOffset, index, "-----AimBot-----"); + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("AimTeam -> ").append((AimTeam ? "true" : "false")).c_str())) + { + AimTeam = !AimTeam; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("AimBotHot -> ").append((AimBotHot ? "true" : "false")).c_str())) + { + AimBotHot = !AimBotHot; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("OnlyAttackVisible -> ").append((OnlyAttackVisible ? "true" : "false")).c_str())) + { + OnlyAttackVisible = !OnlyAttackVisible; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("AimBot FOV -> ").append(std::to_string(FOV)).c_str())) + { + if (ApplayItem == 1) + { + FOV++; + } + else + if (FOV - 1 > 0) + FOV -= 1; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("AimBot Smoothing -> ").append(std::to_string(AimSmoothing)).c_str())) + { + if (ApplayItem == 1) + { + AimSmoothing += 0.5; + } + else + if (AimSmoothing - 0.5 > 1) + AimSmoothing -= 0.5; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("AimBot AimBone -> ").append(boneGroups::mid_Name.find(AimBones)->second).c_str())) + { + if (ApplayItem == 1) + { + for (size_t i = 0; i < boneGroups::mid.size(); i++) + { + if (boneGroups::mid[i] == AimBones) + { + if (i + 1 < boneGroups::mid.size()) + { + AimBones = boneGroups::mid.at(i + 1); + } + else + AimBones = boneGroups::mid.front(); + + i = boneGroups::mid.size(); + } + } + } + else + if (AimSmoothing - 1 > -1) + for (size_t i = 0; i < boneGroups::mid.size(); i++) + { + if (boneGroups::mid[i] == AimBones) + { + if (i - 1 > 0) + { + AimBones = boneGroups::mid.at(i - 1); + } + else + AimBones = boneGroups::mid.back(); + + i = boneGroups::mid.size(); + } + } + } + + MenuTitle(MenuTitleIndexOffset, index, "-----Misc-----"); + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("Menu Draw Border -> ").append((MenuDrawBorder ? "true" : "false")).c_str())) + { + MenuDrawBorder = !MenuDrawBorder; + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, std::string("TriggerDelay -> ").append(std::to_string(TriggerDelay_ms)).append(" ms").c_str())) + { + if (ApplayItem == 1) + { + TriggerDelay_ms++; + } + else + if (TriggerDelay_ms - 1 > 0) + TriggerDelay_ms -= 1; + } // << + + MenuTitle(MenuTitleIndexOffset, index, "-----File-----"); + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, "Save Setting")) + { + // first, create a file instance + mINI::INIFile file("Configuration.ini"); + mINI::INIStructure ini; + file.read(ini); + ini["Function"]["brecoilControl"] = std::to_string(brecoilControl); + ini["Function"]["AimBot"] = std::to_string(AimBot); + ini["Function"]["DrawESP"] = std::to_string(DrawESP); + ini["Function"]["bTriggerbot"] = std::to_string(bTriggerbot); + ini["Function"]["bBunnyHop"] = std::to_string(bBunnyHop); + + ini["AimBot"]["AimBotHot"] = std::to_string(AimBotHot); + ini["AimBot"]["AimTeam"] = std::to_string(AimTeam); + ini["AimBot"]["AimBone"] = std::to_string(AimBones); + ini["AimBot"]["FOV"] = std::to_string(FOV); + ini["AimBot"]["Smoothing"] = std::to_string((int)AimSmoothing); + ini["AimBot"]["OnlyAttackVisible"] = std::to_string(OnlyAttackVisible); + + ini["TriggerBot"]["TriggerDelay"] = std::to_string(TriggerDelay_ms); + ini["Menu"]["MenuDrawBorder"] = std::to_string(MenuDrawBorder); + + ini["ESP"]["show_extra"] = std::to_string(show_extra); + ini["ESP"]["ShowViewAngle"] = std::to_string(ShowViewAngle); + ini["ESP"]["TextSize"] = std::to_string(TextSize); + ini["ESP"]["ShowBoneDistance"] = std::to_string(ShowBoneDistance); + ini["ESP"]["flag_render_distance"] = std::to_string(flag_render_distance); + ini["ESP"]["render_distance"] = std::to_string(render_distance); + ini["ESP"]["BoomSize"] = std::to_string(BoomSize); + ini["ESP"]["DrawESPLine"] = std::to_string(DrawESPLine); + std::cout << "\n Save :" << file.write(ini); + } + + if (MenuItem(MenuTitleIndexOffset, MenuSelectIndex, index, "Load Setting")) + { + mINI::INIFile file("Configuration.ini"); + mINI::INIStructure ini; + std::cout << "\n Load :" << file.read(ini); + brecoilControl = atoi(ini["Function"]["brecoilControl"].c_str()); + AimBot = atoi(ini["Function"]["AimBot"].c_str()); + DrawESP = atoi(ini["Function"]["DrawESP"].c_str()); + bTriggerbot = atoi(ini["Function"]["bTriggerbot"].c_str()); + bBunnyHop = atoi(ini["Function"]["bBunnyHop"].c_str()); + + AimTeam = atoi(ini["AimBot"]["AimTeam"].c_str()); + AimBotHot = atoi(ini["AimBot"]["AimBotHot"].c_str()); + FOV = atof(ini["AimBot"]["FOV"].c_str()); + AimSmoothing = atoi(ini["AimBot"]["Smoothing"].c_str()); + AimBones = atoi(ini["AimBot"]["AimBone"].c_str()); + OnlyAttackVisible = atoi(ini["AimBot"]["OnlyAttackVisible"].c_str()); + + TriggerDelay_ms = atoi(ini["TriggerBot"]["TriggerDelay"].c_str()); + + MenuDrawBorder = atoi(ini["Menu"]["MenuDrawBorder"].c_str()); + + show_extra = atoi(ini["ESP"]["show_extra"].c_str()); + TextSize = atoi(ini["ESP"]["TextSize"].c_str()); + ShowViewAngle = atoi(ini["ESP"]["ShowViewAngle"].c_str()); + ShowBoneDistance = atoi(ini["ESP"]["ShowBoneDistance"].c_str()); + flag_render_distance = atoi(ini["ESP"]["flag_render_distance"].c_str()); + render_distance = atoi(ini["ESP"]["render_distance"].c_str()); + BoomSize = atoi(ini["ESP"]["BoomSize"].c_str()); + DrawESPLine = atoi(ini["ESP"]["DrawESPLine"].c_str()); + } + + if (MenuHight == 0) + MenuHight = MenuTitleIndexOffset + (index + 1) * TextSize; + + SetBkColor(g::hdcBuffer, RGB(255, 255, 255)); +} + +void DrawAimBotFOV(float Fov) +{ + float Radius = tan(FOV / 180.f * std::numbers::pi_v / 2.f) / tan(Fov / 180.f * std::numbers::pi_v / 2.f) * g::gameBounds.right; + render::DrawCircle(g::hdcBuffer, g::gameBounds.right / 2, g::gameBounds.bottom / 2, Radius, RGB(134, 133, 218)); + + float Length; + float radian; + Vector3 LineEndPoint[2]; + Vector3 Pos;// = Gui.Window.Size / 2; + Pos.x = g::gameBounds.right / 2; + Pos.y = g::gameBounds.bottom / 2; + + radian = (Fov / 2) * std::numbers::pi_v / 180; + + LineEndPoint[0].y = Pos.y - 60/*FovLineSize */; + LineEndPoint[1].y = LineEndPoint[0].y; + + Length = 60/*FovLineSize */ * tan(radian); + + LineEndPoint[0].x = Pos.x - Length; + LineEndPoint[1].x = Pos.x + Length; + + //Gui.Line(Pos, LineEndPoint[0], Color, 1.5); + //Gui.Line(Pos, LineEndPoint[1], Color, 1.5); + + render::RenderLine(g::hdcBuffer, Pos.x, Pos.y, LineEndPoint[0].x, LineEndPoint[0].y, RGB(134, 133, 218)); + render::RenderLine(g::hdcBuffer, Pos.x, Pos.y, LineEndPoint[1].x, LineEndPoint[1].y, RGB(134, 133, 218)); +} + +void loop() +{ + static int indirectUpdate = 0; + uintptr_t localPlayer; + if (GetKeyState(VK_F1) & 0x8000) + { + Sleep(100); + isDrawMenu = !isDrawMenu; + } + if (isDrawMenu) + DrawMenu(); + else + render::RenderText(g::hdcBuffer, 0, MenuOffset, "F1 - Show Menu", RGB(200, 200, 200), TextSize); + + //render::RenderText(g::hdcBuffer, 0, MenuOffset + 500, std::string("TEST_CAMEPOS : ").append(std::to_string(TEST_CAMEPOS.x)).append(",").append(std::to_string(TEST_CAMEPOS.y)).append(",").append(std::to_string(TEST_CAMEPOS.z)).c_str(), RGB(200, 0, 0), TextSize); + //render::RenderText(g::hdcBuffer, 0, MenuOffset + 500 + TextSize, std::string("TEST_CAMEANGLE : ").append(std::to_string(TEST_CAMEANGLE.x)).append(",").append(std::to_string(TEST_CAMEANGLE.y)).append(",").append(std::to_string(TEST_CAMEANGLE.z)).c_str(), RGB(200, 0, 0), TextSize); + //render::RenderText(g::hdcBuffer, 0, MenuOffset + 500 + TextSize * 2, std::string("TEST_VIEWANGLE : ").append(std::to_string(TEST_VIEWANGLE.x)).append(",").append(std::to_string(TEST_VIEWANGLE.y)).append(",").append(std::to_string(TEST_VIEWANGLE.z)).c_str(), RGB(200, 0, 0), TextSize); + //localPlayerController = process->read(cs2_module_client.base + client_dll::dwLocalPlayerController); + + static float PlayerFov; + if (indirectUpdate == 0) + { + indirectUpdate++; + entity_list = process->read(cs2_module_client.base + client_dll::dwEntityList); + + //localPlayer = process->read(localPlayerController + CCSPlayerController::m_hPlayerPawn); + localPlayer = process->read(cs2_module_client.base + client_dll::dwLocalPlayerPawn); + if (!localPlayer) + return; + + localTeam = process->read(localPlayer + C_BaseEntity::m_iTeamNum); + + if (ShowAimBotFov) + { + const DWORD64 CameraServices = process->read(localPlayer + C_BasePlayerPawn::m_pCameraServices); + if (CameraServices) + PlayerFov = process->read(CameraServices + CCSPlayerBase_CameraServices::m_iFOVStart); + } + } + else if (indirectUpdate > 10) + { + indirectUpdate = 0; + } + else + { + indirectUpdate++; + } + + if (ShowAimBotFov) + DrawAimBotFOV(PlayerFov); + + if (!DrawESP) + return; + const view_matrix_t view_matrix = process->read(cs2_module_client.base + client_dll::dwViewMatrix); + + int playerIndex = 0; + uintptr_t list_entry; + + static uintptr_t localCGameSceneNode; + static bool c4IsPlanted; + if (indirectUpdate == 0) + { + localCGameSceneNode = process->read(localPlayer + C_BaseEntity::m_pGameSceneNode); + c4IsPlanted = process->read(cs2_module_client.base + client_dll::dwPlantedC4 - 0x8); + } + + const Vector3 localOrigin = process->read(localCGameSceneNode + CGameSceneNode::m_vecOrigin); + + render::RenderText(g::hdcBuffer, 50, 50, "HalfPeople CSGO 2 GameHack Test", RGB(200, 200, 200), 30); + if (c4IsPlanted) + { + const uintptr_t planted_c4 = process->read(process->read(cs2_module_client.base + client_dll::dwPlantedC4)); + + const uintptr_t c4Node = process->read(planted_c4 + C_BaseEntity::m_pGameSceneNode); + + const Vector3 c4Origin = process->read(c4Node + CGameSceneNode::m_vecAbsOrigin); + + const Vector3 c4ScreenPos = c4Origin.world_to_screen(view_matrix); + + if (c4ScreenPos.z >= 0.01f) { + float c4Distance = localOrigin.calculate_distance(c4Origin); + float c4RoundedDistance = std::round(c4Distance / 500.f); + + float height = BoomSize - c4RoundedDistance; + float width = height * 1.4f; + + if (DrawESPLine) + render::RenderLine(g::hdcBuffer, 0, 0, c4ScreenPos.x, c4ScreenPos.y, RGB(175, 75, 75)); + + render::DrawFilledBox( + g::hdcBuffer, + c4ScreenPos.x - (width / 2), + c4ScreenPos.y - (height / 2), + width, + height, + RGB(175, 75, 75) + ); + + render::RenderText( + g::hdcBuffer, + c4ScreenPos.x + (width / 2 + 5), + c4ScreenPos.y, + "C4", + RGB(75, 75, 175), + TextSize + ); + } + } + while (true) + { + playerIndex++; + list_entry = process->read(entity_list + (8 * (playerIndex & 0x7FFF) >> 9) + 16); + if (!list_entry) + break; + + const uintptr_t player = process->read(list_entry + 120 * (playerIndex & 0x1FF)); + if (!player) + continue; + + const int playerTeam = process->read(player + C_BaseEntity::m_iTeamNum); + + const std::uint32_t playerPawn = process->read(player + CCSPlayerController::m_hPlayerPawn); + + const uintptr_t list_entry2 = process->read(entity_list + 0x8 * ((playerPawn & 0x7FFF) >> 9) + 16); + if (!list_entry2) + continue; + + const uintptr_t pCSPlayerPawn = process->read(list_entry2 + 120 * (playerPawn & 0x1FF)); + + const int playerArmor = process->read(pCSPlayerPawn + C_CSPlayerPawnBase::m_ArmorValue); + const int playerHealth = process->read(pCSPlayerPawn + C_BaseEntity::m_iHealth); + if (playerHealth <= 0 || playerHealth > 100) + continue; + + if (pCSPlayerPawn == localPlayer) + continue; + + std::string playerName = "Invalid Name"; + const DWORD64 playerNameAddress = process->read(player + CCSPlayerController::m_sSanitizedPlayerName); + if (playerNameAddress) { + char buf[256]; + process->read_raw(playerNameAddress, buf, sizeof(buf)); + playerName = std::string(buf); + } + + const uintptr_t CGameSceneNode = process->read(pCSPlayerPawn + C_BaseEntity::m_pGameSceneNode); + const Vector3 origin = process->read(CGameSceneNode + CGameSceneNode::m_vecOrigin); + const Vector3 head = { origin.x, origin.y, origin.z + 75.f }; + + if (render_distance != -1 && (localOrigin - origin).length2d() > render_distance) + continue; + + const Vector3 screenPos = origin.world_to_screen(view_matrix); + if (screenPos.z < 0) + continue; + const Vector3 screenHead = head.world_to_screen(view_matrix); + + if (screenPos.z >= 0.01f) { + const float height = screenPos.y - screenHead.y; + const float width = height / 2.4f; + const float head_height = (screenPos.y - screenHead.y) / 8; + const float head_width = (height / 2.4f) / 4; + + float distance = localOrigin.calculate_distance(origin); + int roundedDistance = std::round(distance / 10.f); + + render::DrawBorderBox( + g::hdcBuffer, + screenHead.x - width / 2, + screenHead.y, + width, + height, + (localTeam == playerTeam ? RGB(75, 175, 75) : RGB(175, 75, 75)) + ); + if (DrawESPLine) + render::RenderLine(g::hdcBuffer, screenHead.x, screenHead.y + height, g::gameBounds.right / 2, g::gameBounds.bottom * 0.8, (localTeam == playerTeam ? RGB(75, 175, 75) : RGB(175, 75, 75))); + + render::DrawBorderBox( + g::hdcBuffer, + screenHead.x - (width / 2 + 10), + screenHead.y + (height * (100 - playerArmor) / 100), + 2, + height - (height * (100 - playerArmor) / 100), + RGB(0, 185, 255) + ); + + render::DrawBorderBox( + g::hdcBuffer, + screenHead.x - (width / 2 + 5), + screenHead.y + (height * (100 - playerHealth) / 100), + 2, + height - (height * (100 - playerHealth) / 100), + RGB( + (255 - playerHealth), + (55 + playerHealth * 2), + 75 + ) + ); + + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y, + playerName.c_str(), + RGB(75, 75, 175), + TextSize + ); + + /** + * I know is not the best way but a simple way to not saturate the screen with a ton of information + */ + if (roundedDistance > flag_render_distance) + continue; + + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + TextSize, + (std::to_string(playerHealth) + "hp").c_str(), + RGB( + (255 - playerHealth), + (55 + playerHealth * 2), + 75 + ), + TextSize + ); + + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + TextSize * 2, + (std::to_string(playerArmor) + "armor").c_str(), + RGB( + (255 - playerArmor), + (55 + playerArmor * 2), + 75 + ), + TextSize + ); + + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + TextSize * 8, + (std::to_string((int)distance) + "cm").c_str(), + RGB( + (255 - playerArmor), + (55 + playerArmor * 2), + 75 + ), + TextSize + ); + + if (show_extra) + { + /* + * Reading values for extra flags is now seperated from the other reads + * This removes unnecessary memory reads, improving performance when not showing extra flags + */ + const bool isDefusing = process->read(pCSPlayerPawn + C_CSPlayerPawnBase::m_bIsDefusing); + const uintptr_t playerMoneyServices = process->read(player + CCSPlayerController::m_pInGameMoneyServices); + const int32_t money = process->read(playerMoneyServices + CCSPlayerController_InGameMoneyServices::m_iAccount); + const float flashAlpha = process->read(pCSPlayerPawn + C_CSPlayerPawnBase::m_flFlashOverlayAlpha); + + const auto clippingWeapon = process->read(pCSPlayerPawn + C_CSPlayerPawnBase::m_pClippingWeapon); + const auto weaponData = process->read(clippingWeapon + 0x360); + const auto weaponNameAddress = process->read(weaponData + CCSWeaponBaseVData::m_szName); + std::string weaponName = "Invalid Weapon Name"; + + if (!weaponNameAddress) { + weaponName = "Invalid Weapon Name"; + } + else { + char buf[32]; + process->read_raw(weaponNameAddress, buf, sizeof(buf)); + weaponName = std::string(buf); + if (weaponName.compare(0, 7, "weapon_") == 0) + weaponName = weaponName.substr(7, weaponName.length()); // Remove weapon_ prefix + } + + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + TextSize * 3, + weaponName.c_str(), + RGB(75, 75, 175), + TextSize + ); + + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + TextSize * 4, + (std::to_string(roundedDistance) + "m away").c_str(), + RGB(75, 75, 175), + TextSize + ); + + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + TextSize * 5, + ("$" + std::to_string(money)).c_str(), + RGB(0, 125, 0), + TextSize + ); + + if (flashAlpha > 100) + { + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + TextSize * 6, + "Player is flashed", + RGB(75, 75, 175), + TextSize + ); + } + + if (isDefusing) + { + const std::string defuText = "Player is defusing"; + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + 60, + defuText.c_str(), + RGB(75, 75, 175), + TextSize + ); + } + } + + if (distance > ShowBoneDistance) + { + continue; + } + + // const uintptr_t CGameSceneNode = process->read( pCSPlayerPawn + C_BaseEntity::m_pGameSceneNode); + const uintptr_t boneArray = process->read(CGameSceneNode + CSkeletonInstance::m_modelState + CGameSceneNode::m_vecOrigin); + + Vector3 head_ = process->read(boneArray + 6 * 32); + Vector3 cou = process->read(boneArray + 5 * 32); + Vector3 shoulderR = process->read(boneArray + 8 * 32); + Vector3 shoulderL = process->read(boneArray + 13 * 32); + Vector3 brasR = process->read(boneArray + 9 * 32); + Vector3 brasL = process->read(boneArray + 14 * 32); + Vector3 handR = process->read(boneArray + 11 * 32); + Vector3 handL = process->read(boneArray + 16 * 32); + Vector3 cock = process->read(boneArray + 0 * 32); + Vector3 kneesR = process->read(boneArray + 23 * 32); + Vector3 kneesL = process->read(boneArray + 26 * 32); + Vector3 feetR = process->read(boneArray + 24 * 32); + Vector3 feetL = process->read(boneArray + 27 * 32); + + Vector3 Ahead; + Vector3 Acou; + Vector3 AshoulderR; + Vector3 AshoulderL; + Vector3 AbrasR; + Vector3 AbrasL; + Vector3 AhandR; + Vector3 AhandL; + Vector3 Acock; + Vector3 AkneesR; + Vector3 AkneesL; + Vector3 AfeetR; + Vector3 AfeetL; + + Ahead = head_.world_to_screen(view_matrix); + if (Ahead.z < 0) + continue; + + if (ShowViewAngle) + { + Vector3 EyeAngle = process->read(player + C_CSPlayerPawnBase::m_angEyeAngles); + //Vec2 StartPoint, EndPoint; + Vector3 Temp; + + //StartPoint = head_; + + float LineLength = cos(EyeAngle.x * std::numbers::pi_v / 180) * 25/*Length*/; + + Temp.x = head_.x + cos(EyeAngle.y * std::numbers::pi_v / 180) * LineLength; + Temp.y = head_.y + sin(EyeAngle.y * std::numbers::pi_v / 180) * LineLength; + Temp.z = head_.z - sin(EyeAngle.x * std::numbers::pi_v / 180) * 25/*Length*/; + + Temp = Temp.world_to_screen(view_matrix); + if (Temp.z > 0) + render::RenderLine(g::hdcBuffer, Ahead.x, Ahead.y, Temp.x, Temp.y, RGB(0, 255, 0)); + } + + Acou = cou.world_to_screen(view_matrix); + if (Acou.z < 0) + continue; + AshoulderR = shoulderR.world_to_screen(view_matrix); + if (AshoulderR.z < 0) + continue; + AshoulderL = shoulderL.world_to_screen(view_matrix); + if (AshoulderL.z < 0) + continue; + AbrasR = brasR.world_to_screen(view_matrix); + if (AbrasR.z < 0) + continue; + AbrasL = brasL.world_to_screen(view_matrix); + if (AbrasL.z < 0) + continue; + AhandL = handL.world_to_screen(view_matrix); + if (AhandL.z < 0) + continue; + AhandR = handR.world_to_screen(view_matrix); + if (AhandR.z < 0) + continue; + Acock = cock.world_to_screen(view_matrix); + if (Acock.z < 0) + continue; + AkneesR = kneesR.world_to_screen(view_matrix); + if (AkneesR.z < 0) + continue; + AkneesL = kneesL.world_to_screen(view_matrix); + if (AkneesL.z < 0) + continue; + AfeetR = feetR.world_to_screen(view_matrix); + if (AfeetR.z < 0) + continue; + AfeetL = feetL.world_to_screen(view_matrix); + if (AfeetL.z < 0) + continue; + + render::RenderLine(g::hdcBuffer, Ahead.x, Ahead.y, Acou.x, Acou.y, BonesColor); + render::RenderLine(g::hdcBuffer, Acou.x, Acou.y, AshoulderR.x, AshoulderR.y, BonesColor); + render::RenderLine(g::hdcBuffer, Acou.x, Acou.y, AshoulderL.x, AshoulderL.y, BonesColor); + render::RenderLine(g::hdcBuffer, AbrasL.x, AbrasL.y, AshoulderL.x, AshoulderL.y, BonesColor); + render::RenderLine(g::hdcBuffer, AbrasR.x, AbrasR.y, AshoulderR.x, AshoulderR.y, BonesColor); + render::RenderLine(g::hdcBuffer, AbrasR.x, AbrasR.y, AhandR.x, AhandR.y, BonesColor); + render::RenderLine(g::hdcBuffer, AbrasL.x, AbrasL.y, AhandL.x, AhandL.y, BonesColor); + render::RenderLine(g::hdcBuffer, Acou.x, Acou.y, Acock.x, Acock.y, BonesColor); + render::RenderLine(g::hdcBuffer, AkneesR.x, AkneesR.y, Acock.x, Acock.y, BonesColor); + render::RenderLine(g::hdcBuffer, AkneesL.x, AkneesL.y, Acock.x, Acock.y, BonesColor); + render::RenderLine(g::hdcBuffer, AkneesL.x, AkneesL.y, AfeetL.x, AfeetL.y, BonesColor); + render::RenderLine(g::hdcBuffer, AkneesR.x, AkneesR.y, AfeetR.x, AfeetR.y, BonesColor); + + // Vector3 previous, current; + // + // + // for (std::vector currentGroup : boneGroups::allGroups) { + // previous = { 0,0,0 }; + // + // for (int currentBone : currentGroup) { + // current = process->read(boneArray + currentBone * 32); + // + // if (previous.IsZero()) { + // previous = current; + // continue; + // } + // + // Vector3 currentScreenPos = current.world_to_screen(view_matrix); + // Vector3 previousScreenPos = previous.world_to_screen(view_matrix); + // + // + // render::RenderLine(g::hdcBuffer, previousScreenPos.x, previousScreenPos.y, currentScreenPos.x, currentScreenPos.y, BonesColor); + // + // previous = current; + // } + // } + } + } +} + +void FunctionT() +{ + if (bTriggerbot) + Triggerbot(); + + static int indirectUpdate = 0; + static uintptr_t localPlayer; + if (!(brecoilControl || AimBot || entity_list || localPlayer)) + return; + + int playerIndex = -1; + uintptr_t list_entry; + static uintptr_t baseViewAnglesAddy; + if (indirectUpdate == 0) + { + indirectUpdate++; + localPlayer = process->read(cs2_module_client.base + client_dll::dwLocalPlayerPawn); + baseViewAnglesAddy = cs2_module_client.base + client_dll::dwViewAngles; + } + else if (indirectUpdate > 20) + indirectUpdate = 0; + else + indirectUpdate++; + + if (bBunnyHop) + Bunnyhop(localPlayer); + + Vector3 cameraPos = process->read(localPlayer + C_CSPlayerPawnBase::m_vecLastClipCameraPos); + + Vector3 baseViewAngles = process->read(cs2_module_client.base + client_dll::dwViewAngles); + + C_UTL_VECTOR aimPunchCache = process->read(localPlayer + C_CSPlayerPawn::m_aimPunchCache); + + int shotsFired = process->read(localPlayer + C_CSPlayerPawnBase::m_iShotsFired); + + float fov = FOV; + + Vector3 AimTarget; + while (true) + { + playerIndex++; + + list_entry = process->read(entity_list + (8 * (playerIndex & 0x7FFF) >> 9) + 16); + if (!list_entry) + break; + + const uintptr_t player = process->read(list_entry + 120 * (playerIndex & 0x1FF)); + if (!player) + continue; + + const int playerTeam = process->read(player + C_BaseEntity::m_iTeamNum); + if ((!AimTeam) && playerTeam == localTeam) + { + continue; + } + + const std::uint32_t playerPawn = process->read(player + CCSPlayerController::m_hPlayerPawn); + + const uintptr_t list_entry2 = process->read(entity_list + 0x8 * ((playerPawn & 0x7FFF) >> 9) + 16); + if (!list_entry2) + continue; + + const uintptr_t pCSPlayerPawn = process->read(list_entry2 + 120 * (playerPawn & 0x1FF)); + if ((!pCSPlayerPawn) || pCSPlayerPawn == localPlayer) + continue; + + if (process->read(player + C_BaseEntity::m_lifeState)) + continue; + + const uintptr_t CGameSceneNode = process->read(pCSPlayerPawn + C_BaseEntity::m_pGameSceneNode); + if (process->read(CGameSceneNode + CGameSceneNode::m_bDormant)) + return; + + const int playerHealth = process->read(pCSPlayerPawn + C_BaseEntity::m_iHealth); + if (playerHealth <= 0 || playerHealth > 100) + continue; + + if (OnlyAttackVisible) + { + const int EntitySpottedState = process->read(pCSPlayerPawn + C_CSPlayerPawnBase::m_entitySpottedState + EntitySpottedState_t::m_bSpottedByMask); + if (!(EntitySpottedState & (1 << localPlayer))) + continue; + } + + const uintptr_t boneArray = process->read(CGameSceneNode + CSkeletonInstance::m_modelState + CGameSceneNode::m_vecOrigin); + + if (AimBot) + { + Vector3 AimTargteBuffer = aimBot(aimPunchCache, shotsFired, cameraPos, fov, AimBotHot, baseViewAngles, boneArray); + + if (!AimTargteBuffer.IsZero()) + { + AimTarget = AimTargteBuffer; + } + } + } + if (brecoilControl && AimTarget.IsZero()) + { + recoilControl(baseViewAngles, aimPunchCache, shotsFired, baseViewAnglesAddy); + } + else if (!AimTarget.IsZero()) + process->write(baseViewAnglesAddy, AimTarget); +} \ No newline at end of file diff --git a/HPCS2/api/ini.h b/HPCS2/api/ini.h new file mode 100644 index 0000000..b5f327b --- /dev/null +++ b/HPCS2/api/ini.h @@ -0,0 +1,789 @@ +/* + * The MIT License (MIT) + * Copyright (c) 2018 Danijel Durakovic + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/////////////////////////////////////////////////////////////////////////////// +// +// /mINI/ v0.9.14 +// An INI file reader and writer for the modern age. +// +/////////////////////////////////////////////////////////////////////////////// +// +// A tiny utility library for manipulating INI files with a straightforward +// API and a minimal footprint. It conforms to the (somewhat) standard INI +// format - sections and keys are case insensitive and all leading and +// trailing whitespace is ignored. Comments are lines that begin with a +// semicolon. Trailing comments are allowed on section lines. +// +// Files are read on demand, upon which data is kept in memory and the file +// is closed. This utility supports lazy writing, which only writes changes +// and updates to a file and preserves custom formatting and comments. A lazy +// write invoked by a write() call will read the output file, find what +// changes have been made and update the file accordingly. If you only need to +// generate files, use generate() instead. Section and key order is preserved +// on read, write and insert. +// +/////////////////////////////////////////////////////////////////////////////// +// +// /* BASIC USAGE EXAMPLE: */ +// +// /* read from file */ +// mINI::INIFile file("myfile.ini"); +// mINI::INIStructure ini; +// file.read(ini); +// +// /* read value; gets a reference to actual value in the structure. +// if key or section don't exist, a new empty value will be created */ +// std::string& value = ini["section"]["key"]; +// +// /* read value safely; gets a copy of value in the structure. +// does not alter the structure */ +// std::string value = ini.get("section").get("key"); +// +// /* set or update values */ +// ini["section"]["key"] = "value"; +// +// /* set multiple values */ +// ini["section2"].set({ +// {"key1", "value1"}, +// {"key2", "value2"} +// }); +// +// /* write updates back to file, preserving comments and formatting */ +// file.write(ini); +// +// /* or generate a file (overwrites the original) */ +// file.generate(ini); +// +/////////////////////////////////////////////////////////////////////////////// +// +// Long live the INI file!!! +// +/////////////////////////////////////////////////////////////////////////////// + +#ifndef MINI_INI_H_ +#define MINI_INI_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace mINI +{ + namespace INIStringUtil + { + const char* const whitespaceDelimiters = " \t\n\r\f\v"; + inline void trim(std::string& str) + { + str.erase(str.find_last_not_of(whitespaceDelimiters) + 1); + str.erase(0, str.find_first_not_of(whitespaceDelimiters)); + } +#ifndef MINI_CASE_SENSITIVE + inline void toLower(std::string& str) + { + std::transform(str.begin(), str.end(), str.begin(), [](const char c) { + return static_cast(std::tolower(c)); + }); + } +#endif + inline void replace(std::string& str, std::string const& a, std::string const& b) + { + if (!a.empty()) + { + std::size_t pos = 0; + while ((pos = str.find(a, pos)) != std::string::npos) + { + str.replace(pos, a.size(), b); + pos += b.size(); + } + } + } +#ifdef _WIN32 + const char* const endl = "\r\n"; +#else + const char* const endl = "\n"; +#endif + } + + template + class INIMap + { + private: + using T_DataIndexMap = std::unordered_map; + using T_DataItem = std::pair; + using T_DataContainer = std::vector; + using T_MultiArgs = typename std::vector>; + + T_DataIndexMap dataIndexMap; + T_DataContainer data; + + inline std::size_t setEmpty(std::string& key) + { + std::size_t index = data.size(); + dataIndexMap[key] = index; + data.emplace_back(key, T()); + return index; + } + + public: + using const_iterator = typename T_DataContainer::const_iterator; + + INIMap() { } + + INIMap(INIMap const& other) + { + std::size_t data_size = other.data.size(); + for (std::size_t i = 0; i < data_size; ++i) + { + auto const& key = other.data[i].first; + auto const& obj = other.data[i].second; + data.emplace_back(key, obj); + } + dataIndexMap = T_DataIndexMap(other.dataIndexMap); + } + + T& operator[](std::string key) + { + INIStringUtil::trim(key); +#ifndef MINI_CASE_SENSITIVE + INIStringUtil::toLower(key); +#endif + auto it = dataIndexMap.find(key); + bool hasIt = (it != dataIndexMap.end()); + std::size_t index = (hasIt) ? it->second : setEmpty(key); + return data[index].second; + } + T get(std::string key) const + { + INIStringUtil::trim(key); +#ifndef MINI_CASE_SENSITIVE + INIStringUtil::toLower(key); +#endif + auto it = dataIndexMap.find(key); + if (it == dataIndexMap.end()) + { + return T(); + } + return T(data[it->second].second); + } + bool has(std::string key) const + { + INIStringUtil::trim(key); +#ifndef MINI_CASE_SENSITIVE + INIStringUtil::toLower(key); +#endif + return (dataIndexMap.count(key) == 1); + } + void set(std::string key, T obj) + { + INIStringUtil::trim(key); +#ifndef MINI_CASE_SENSITIVE + INIStringUtil::toLower(key); +#endif + auto it = dataIndexMap.find(key); + if (it != dataIndexMap.end()) + { + data[it->second].second = obj; + } + else + { + dataIndexMap[key] = data.size(); + data.emplace_back(key, obj); + } + } + void set(T_MultiArgs const& multiArgs) + { + for (auto const& it : multiArgs) + { + auto const& key = it.first; + auto const& obj = it.second; + set(key, obj); + } + } + bool remove(std::string key) + { + INIStringUtil::trim(key); +#ifndef MINI_CASE_SENSITIVE + INIStringUtil::toLower(key); +#endif + auto it = dataIndexMap.find(key); + if (it != dataIndexMap.end()) + { + std::size_t index = it->second; + data.erase(data.begin() + index); + dataIndexMap.erase(it); + for (auto& it2 : dataIndexMap) + { + auto& vi = it2.second; + if (vi > index) + { + vi--; + } + } + return true; + } + return false; + } + void clear() + { + data.clear(); + dataIndexMap.clear(); + } + std::size_t size() const + { + return data.size(); + } + const_iterator begin() const { return data.begin(); } + const_iterator end() const { return data.end(); } + }; + + using INIStructure = INIMap>; + + namespace INIParser + { + using T_ParseValues = std::pair; + + enum class PDataType : char + { + PDATA_NONE, + PDATA_COMMENT, + PDATA_SECTION, + PDATA_KEYVALUE, + PDATA_UNKNOWN + }; + + inline PDataType parseLine(std::string line, T_ParseValues& parseData) + { + parseData.first.clear(); + parseData.second.clear(); + INIStringUtil::trim(line); + if (line.empty()) + { + return PDataType::PDATA_NONE; + } + char firstCharacter = line[0]; + if (firstCharacter == ';') + { + return PDataType::PDATA_COMMENT; + } + if (firstCharacter == '[') + { + auto commentAt = line.find_first_of(';'); + if (commentAt != std::string::npos) + { + line = line.substr(0, commentAt); + } + auto closingBracketAt = line.find_last_of(']'); + if (closingBracketAt != std::string::npos) + { + auto section = line.substr(1, closingBracketAt - 1); + INIStringUtil::trim(section); + parseData.first = section; + return PDataType::PDATA_SECTION; + } + } + auto lineNorm = line; + INIStringUtil::replace(lineNorm, "\\=", " "); + auto equalsAt = lineNorm.find_first_of('='); + if (equalsAt != std::string::npos) + { + auto key = line.substr(0, equalsAt); + INIStringUtil::trim(key); + INIStringUtil::replace(key, "\\=", "="); + auto value = line.substr(equalsAt + 1); + INIStringUtil::trim(value); + parseData.first = key; + parseData.second = value; + return PDataType::PDATA_KEYVALUE; + } + return PDataType::PDATA_UNKNOWN; + } + } + + class INIReader + { + public: + using T_LineData = std::vector; + using T_LineDataPtr = std::shared_ptr; + + bool isBOM = false; + + private: + std::ifstream fileReadStream; + T_LineDataPtr lineData; + + T_LineData readFile() + { + fileReadStream.seekg(0, std::ios::end); + const std::size_t fileSize = static_cast(fileReadStream.tellg()); + fileReadStream.seekg(0, std::ios::beg); + if (fileSize >= 3) { + const char header[3] = { + static_cast(fileReadStream.get()), + static_cast(fileReadStream.get()), + static_cast(fileReadStream.get()) + }; + isBOM = ( + header[0] == static_cast(0xEF) && + header[1] == static_cast(0xBB) && + header[2] == static_cast(0xBF) + ); + } + else { + isBOM = false; + } + std::string fileContents; + fileContents.resize(fileSize); + fileReadStream.seekg(isBOM ? 3 : 0, std::ios::beg); + fileReadStream.read(&fileContents[0], fileSize); + fileReadStream.close(); + T_LineData output; + if (fileSize == 0) + { + return output; + } + std::string buffer; + buffer.reserve(50); + for (std::size_t i = 0; i < fileSize; ++i) + { + char& c = fileContents[i]; + if (c == '\n') + { + output.emplace_back(buffer); + buffer.clear(); + continue; + } + if (c != '\0' && c != '\r') + { + buffer += c; + } + } + output.emplace_back(buffer); + return output; + } + + public: + INIReader(std::string const& filename, bool keepLineData = false) + { + fileReadStream.open(filename, std::ios::in | std::ios::binary); + if (keepLineData) + { + lineData = std::make_shared(); + } + } + ~INIReader() { } + + bool operator>>(INIStructure& data) + { + if (!fileReadStream.is_open()) + { + return false; + } + T_LineData fileLines = readFile(); + std::string section; + bool inSection = false; + INIParser::T_ParseValues parseData; + for (auto const& line : fileLines) + { + auto parseResult = INIParser::parseLine(line, parseData); + if (parseResult == INIParser::PDataType::PDATA_SECTION) + { + inSection = true; + data[section = parseData.first]; + } + else if (inSection && parseResult == INIParser::PDataType::PDATA_KEYVALUE) + { + auto const& key = parseData.first; + auto const& value = parseData.second; + data[section][key] = value; + } + if (lineData && parseResult != INIParser::PDataType::PDATA_UNKNOWN) + { + if (parseResult == INIParser::PDataType::PDATA_KEYVALUE && !inSection) + { + continue; + } + lineData->emplace_back(line); + } + } + return true; + } + T_LineDataPtr getLines() + { + return lineData; + } + }; + + class INIGenerator + { + private: + std::ofstream fileWriteStream; + + public: + bool prettyPrint = false; + + INIGenerator(std::string const& filename) + { + fileWriteStream.open(filename, std::ios::out | std::ios::binary); + } + ~INIGenerator() { } + + bool operator<<(INIStructure const& data) + { + if (!fileWriteStream.is_open()) + { + return false; + } + if (!data.size()) + { + return true; + } + auto it = data.begin(); + for (;;) + { + auto const& section = it->first; + auto const& collection = it->second; + fileWriteStream + << "[" + << section + << "]"; + if (collection.size()) + { + fileWriteStream << INIStringUtil::endl; + auto it2 = collection.begin(); + for (;;) + { + auto key = it2->first; + INIStringUtil::replace(key, "=", "\\="); + auto value = it2->second; + INIStringUtil::trim(value); + fileWriteStream + << key + << ((prettyPrint) ? " = " : "=") + << value; + if (++it2 == collection.end()) + { + break; + } + fileWriteStream << INIStringUtil::endl; + } + } + if (++it == data.end()) + { + break; + } + fileWriteStream << INIStringUtil::endl; + if (prettyPrint) + { + fileWriteStream << INIStringUtil::endl; + } + } + return true; + } + }; + + class INIWriter + { + private: + using T_LineData = std::vector; + using T_LineDataPtr = std::shared_ptr; + + std::string filename; + + T_LineData getLazyOutput(T_LineDataPtr const& lineData, INIStructure& data, INIStructure& original) + { + T_LineData output; + INIParser::T_ParseValues parseData; + std::string sectionCurrent; + bool parsingSection = false; + bool continueToNextSection = false; + bool discardNextEmpty = false; + bool writeNewKeys = false; + std::size_t lastKeyLine = 0; + for (auto line = lineData->begin(); line != lineData->end(); ++line) + { + if (!writeNewKeys) + { + auto parseResult = INIParser::parseLine(*line, parseData); + if (parseResult == INIParser::PDataType::PDATA_SECTION) + { + if (parsingSection) + { + writeNewKeys = true; + parsingSection = false; + --line; + continue; + } + sectionCurrent = parseData.first; + if (data.has(sectionCurrent)) + { + parsingSection = true; + continueToNextSection = false; + discardNextEmpty = false; + output.emplace_back(*line); + lastKeyLine = output.size(); + } + else + { + continueToNextSection = true; + discardNextEmpty = true; + continue; + } + } + else if (parseResult == INIParser::PDataType::PDATA_KEYVALUE) + { + if (continueToNextSection) + { + continue; + } + if (data.has(sectionCurrent)) + { + auto& collection = data[sectionCurrent]; + auto const& key = parseData.first; + auto const& value = parseData.second; + if (collection.has(key)) + { + auto outputValue = collection[key]; + if (value == outputValue) + { + output.emplace_back(*line); + } + else + { + INIStringUtil::trim(outputValue); + auto lineNorm = *line; + INIStringUtil::replace(lineNorm, "\\=", " "); + auto equalsAt = lineNorm.find_first_of('='); + auto valueAt = lineNorm.find_first_not_of( + INIStringUtil::whitespaceDelimiters, + equalsAt + 1 + ); + std::string outputLine = line->substr(0, valueAt); + if (prettyPrint && equalsAt + 1 == valueAt) + { + outputLine += " "; + } + outputLine += outputValue; + output.emplace_back(outputLine); + } + lastKeyLine = output.size(); + } + } + } + else + { + if (discardNextEmpty && line->empty()) + { + discardNextEmpty = false; + } + else if (parseResult != INIParser::PDataType::PDATA_UNKNOWN) + { + output.emplace_back(*line); + } + } + } + if (writeNewKeys || std::next(line) == lineData->end()) + { + T_LineData linesToAdd; + if (data.has(sectionCurrent) && original.has(sectionCurrent)) + { + auto const& collection = data[sectionCurrent]; + auto const& collectionOriginal = original[sectionCurrent]; + for (auto const& it : collection) + { + auto key = it.first; + if (collectionOriginal.has(key)) + { + continue; + } + auto value = it.second; + INIStringUtil::replace(key, "=", "\\="); + INIStringUtil::trim(value); + linesToAdd.emplace_back( + key + ((prettyPrint) ? " = " : "=") + value + ); + } + } + if (!linesToAdd.empty()) + { + output.insert( + output.begin() + lastKeyLine, + linesToAdd.begin(), + linesToAdd.end() + ); + } + if (writeNewKeys) + { + writeNewKeys = false; + --line; + } + } + } + for (auto const& it : data) + { + auto const& section = it.first; + if (original.has(section)) + { + continue; + } + if (prettyPrint && output.size() > 0 && !output.back().empty()) + { + output.emplace_back(); + } + output.emplace_back("[" + section + "]"); + auto const& collection = it.second; + for (auto const& it2 : collection) + { + auto key = it2.first; + auto value = it2.second; + INIStringUtil::replace(key, "=", "\\="); + INIStringUtil::trim(value); + output.emplace_back( + key + ((prettyPrint) ? " = " : "=") + value + ); + } + } + return output; + } + + public: + bool prettyPrint = false; + + INIWriter(std::string const& filename) + : filename(filename) + { + } + ~INIWriter() { } + + bool operator<<(INIStructure& data) + { + struct stat buf; + bool fileExists = (stat(filename.c_str(), &buf) == 0); + if (!fileExists) + { + INIGenerator generator(filename); + generator.prettyPrint = prettyPrint; + return generator << data; + } + INIStructure originalData; + T_LineDataPtr lineData; + bool readSuccess = false; + bool fileIsBOM = false; + { + INIReader reader(filename, true); + if ((readSuccess = reader >> originalData)) + { + lineData = reader.getLines(); + fileIsBOM = reader.isBOM; + } + } + if (!readSuccess) + { + return false; + } + T_LineData output = getLazyOutput(lineData, data, originalData); + std::ofstream fileWriteStream(filename, std::ios::out | std::ios::binary); + if (fileWriteStream.is_open()) + { + if (fileIsBOM) { + const char utf8_BOM[3] = { + static_cast(0xEF), + static_cast(0xBB), + static_cast(0xBF) + }; + fileWriteStream.write(utf8_BOM, 3); + } + if (output.size()) + { + auto line = output.begin(); + for (;;) + { + fileWriteStream << *line; + if (++line == output.end()) + { + break; + } + fileWriteStream << INIStringUtil::endl; + } + } + return true; + } + return false; + } + }; + + class INIFile + { + private: + std::string filename; + + public: + INIFile(std::string const& filename) + : filename(filename) + { } + + ~INIFile() { } + + bool read(INIStructure& data) const + { + if (data.size()) + { + data.clear(); + } + if (filename.empty()) + { + return false; + } + INIReader reader(filename); + return reader >> data; + } + bool generate(INIStructure const& data, bool pretty = false) const + { + if (filename.empty()) + { + return false; + } + INIGenerator generator(filename); + generator.prettyPrint = pretty; + return generator << data; + } + bool write(INIStructure& data, bool pretty = false) const + { + if (filename.empty()) + { + return false; + } + INIWriter writer(filename); + writer.prettyPrint = pretty; + return writer << data; + } + }; +} + +#endif // MINI_INI_H_ diff --git a/HPCS2/handle_hijack.hpp b/HPCS2/handle_hijack.hpp new file mode 100644 index 0000000..620fd9a --- /dev/null +++ b/HPCS2/handle_hijack.hpp @@ -0,0 +1,287 @@ + +/* + Credits to: https://github.com/Apxaey/Handle-Hijacking-Anti-Cheat-Bypass for the source and public sharing! + + Its a little bit messy as i tried to make it asap. All comments below this are from the original creator! +*/ + +/* + This is a stand alone bypass made by Apxaey. Feel free to use this in your cheats but credit me for the bypass as i put alot of time into this. + If you have some brain cells you will be able to incorporate this into your cheats and remain undetected by user-mode anticheats. + Obviously standard cheat 'recommendations' still apply: + 1.) Use self-written or not signatured code + 2.) Dont write impossible values + 3.) If your going internal use a manual map injector + + If you follow the guidelines above and use this bypass you will be safe from usermode anticheats like VAC. + Obviously you can build and adapt upon my code to suit your needs. + If I was to make a cheat for myself i would put this bypass into something i call an 'external internal' cheat. + Whereby you make a cheat and inject into a legitimate program like discord and add a check to the this bypass to only hijack a handle from the process you inject into, giving the appearence that nothing is out of the ordinary + However you can implement this bypass into any form of cheat, its your decision. + If you need want some more info i recommend you watch my YT video on this bypass. + Anyways if you want to see more of my stuff feel free to join my discord server discord.gg/********. Here's my YT as well https://www.youtube.com/channel/UCPN6OOLxn1OaBP5jPThIiog. +*/ + +#include +#include +#include +#include + +// macros we use.Some can be found in wintrnl.h +#define SeDebugPriv 20 +#define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0) +#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004) +#define NtCurrentProcess ( (HANDLE)(LONG_PTR) -1 ) +#define ProcessHandleType 0x7 +#define SystemHandleInformation 16 + +/* +STRUCTURES NEEDED FOR NTOPENPROCESS: +*/ +typedef struct _UNICODE_STRING { + USHORT Length; + USHORT MaximumLength; + PWCH Buffer; +} UNICODE_STRING, * PUNICODE_STRING; + +typedef struct _OBJECT_ATTRIBUTES { + ULONG Length; + HANDLE RootDirectory; + PUNICODE_STRING ObjectName; + ULONG Attributes; + PVOID SecurityDescriptor; + PVOID SecurityQualityOfService; +} OBJECT_ATTRIBUTES, * POBJECT_ATTRIBUTES; + +typedef struct _CLIENT_ID +{ + PVOID UniqueProcess; + PVOID UniqueThread; +} CLIENT_ID, * PCLIENT_ID; + +/* +STRUCTURES NEEDED FOR HANDLE INFORMATION: +*/ + +typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO +{ + ULONG ProcessId; + BYTE ObjectTypeNumber; + BYTE Flags; + USHORT Handle; + PVOID Object; + ACCESS_MASK GrantedAccess; +} SYSTEM_HANDLE, * PSYSTEM_HANDLE; //i shortened it to SYSTEM_HANDLE for the sake of typing + +typedef struct _SYSTEM_HANDLE_INFORMATION +{ + ULONG HandleCount; + SYSTEM_HANDLE Handles[1]; +} SYSTEM_HANDLE_INFORMATION, * PSYSTEM_HANDLE_INFORMATION; + +/* +FUNCTION PROTOTYPES: +*/ +typedef NTSTATUS(NTAPI* _NtDuplicateObject)( + HANDLE SourceProcessHandle, + HANDLE SourceHandle, + HANDLE TargetProcessHandle, + PHANDLE TargetHandle, + ACCESS_MASK DesiredAccess, + ULONG Attributes, + ULONG Options + ); + +typedef NTSTATUS(NTAPI* _RtlAdjustPrivilege)( + ULONG Privilege, + BOOLEAN Enable, + BOOLEAN CurrentThread, + PBOOLEAN Enabled + ); + +typedef NTSYSAPI NTSTATUS(NTAPI* _NtOpenProcess)( + PHANDLE ProcessHandle, + ACCESS_MASK DesiredAccess, + POBJECT_ATTRIBUTES ObjectAttributes, + PCLIENT_ID ClientId + ); + +typedef NTSTATUS(NTAPI* _NtQuerySystemInformation)( + ULONG SystemInformationClass, //your supposed to supply the whole class but microsoft kept the enum mostly empty so I just passed 16 instead for handle info. Thats why you get a warning in your code btw + PVOID SystemInformation, + ULONG SystemInformationLength, + PULONG ReturnLength + ); + +SYSTEM_HANDLE_INFORMATION* hInfo; //holds the handle information + +//the handles we will need to use later on + +namespace hj { + HANDLE procHandle = NULL; + HANDLE hProcess = NULL; + HANDLE HijackedHandle = NULL; + + // simple function i made that will just initialize our Object_Attributes structure as NtOpenProcess will fail otherwise + OBJECT_ATTRIBUTES InitObjectAttributes(PUNICODE_STRING name, ULONG attributes, HANDLE hRoot, PSECURITY_DESCRIPTOR security) + { + OBJECT_ATTRIBUTES object; + + object.Length = sizeof(OBJECT_ATTRIBUTES); + object.ObjectName = name; + object.Attributes = attributes; + object.RootDirectory = hRoot; + object.SecurityDescriptor = security; + + return object; + } + + bool IsHandleValid(HANDLE handle) // i made this to simply check if a handle is valid rather than repeating the if statments + { + if (handle && handle != INVALID_HANDLE_VALUE) + { + return true; + } + else + { + return false; + } + } + + HANDLE HijackExistingHandle(DWORD dwTargetProcessId) + { + HMODULE Ntdll = GetModuleHandleA("ntdll"); // get the base address of ntdll.dll + + //get the address of RtlAdjustPrivilege in ntdll.dll so we can grant our process the highest permission possible + _RtlAdjustPrivilege RtlAdjustPrivilege = (_RtlAdjustPrivilege)GetProcAddress(Ntdll, "RtlAdjustPrivilege"); + + boolean OldPriv; //store the old privileges + + // Give our program SeDeugPrivileges whcih allows us to get a handle to every process, even the highest privileged SYSTEM level processes. + RtlAdjustPrivilege(SeDebugPriv, TRUE, FALSE, &OldPriv); + + //get the address of NtQuerySystemInformation in ntdll.dll so we can find all the open handles on our system + _NtQuerySystemInformation NtQuerySystemInformation = (_NtQuerySystemInformation)GetProcAddress(Ntdll, "NtQuerySystemInformation"); + + //get the address of NtDuplicateObject in ntdll.dll so we can duplicate an existing handle into our cheat, basically performing the hijacking + _NtDuplicateObject NtDuplicateObject = (_NtDuplicateObject)GetProcAddress(Ntdll, "NtDuplicateObject"); + + //get the address of NtOpenProcess in ntdll.dll so wecan create a Duplicate handle + _NtOpenProcess NtOpenProcess = (_NtOpenProcess)GetProcAddress(Ntdll, "NtOpenProcess"); + + + //initialize the Object Attributes structure, you can just set each member to NULL rather than create a function like i did + OBJECT_ATTRIBUTES Obj_Attribute = InitObjectAttributes(NULL, NULL, NULL, NULL); + + //clientID is a PDWORD or DWORD* of the process id to create a handle to + CLIENT_ID clientID = { 0 }; + + + //the size variable is the amount of bytes allocated to store all the open handles + DWORD size = sizeof(SYSTEM_HANDLE_INFORMATION); + + //we allocate the memory to store all the handles on the heap rather than the stack becuase of the large amount of data + hInfo = (SYSTEM_HANDLE_INFORMATION*) new byte[size]; + + //zero the memory handle info + ZeroMemory(hInfo, size); + + //we use this for checking if the Native functions succeed + NTSTATUS NtRet = NULL; + + do + { + // delete the previously allocated memory on the heap because it wasn't large enough to store all the handles + delete[] hInfo; + + //increase the amount of memory allocated by 50% + size *= 1.5; + try + { + //set and allocate the larger size on the heap + hInfo = (PSYSTEM_HANDLE_INFORMATION) new byte[size]; + } + catch (std::bad_alloc) //catch a bad heap allocation. + { + procHandle ? CloseHandle(procHandle) : 0; + } + Sleep(1); //sleep for the cpu + + //we continue this loop until all the handles have been stored + } while ((NtRet = NtQuerySystemInformation(SystemHandleInformation, hInfo, size, NULL)) == STATUS_INFO_LENGTH_MISMATCH); + + //check if we got all the open handles on our system + if (!NT_SUCCESS(NtRet)) + { + procHandle ? CloseHandle(procHandle) : 0; + } + + + //loop through each handle on our system, and filter out handles that are invalid or cant be hijacked + for (unsigned int i = 0; i < hInfo->HandleCount; ++i) + { + //a variable to store the number of handles OUR cheat has open. + static DWORD NumOfOpenHandles; + + //get the amount of outgoing handles OUR cheat has open + GetProcessHandleCount(GetCurrentProcess(), &NumOfOpenHandles); + + //you can do a higher number if this is triggering false positives. Its just to make sure we dont fuck up and create thousands of handles + if (NumOfOpenHandles > 50) + { + procHandle ? CloseHandle(procHandle) : 0; + } + + //check if the current handle is valid, otherwise increment i and check the next handle + if (!IsHandleValid((HANDLE)hInfo->Handles[i].Handle)) + { + continue; + } + + //check the handle type is 0x7 meaning a process handle so we dont hijack a file handle for example + if (hInfo->Handles[i].ObjectTypeNumber != ProcessHandleType) + { + continue; + } + + + //set clientID to a pointer to the process with the handle to out target + clientID.UniqueProcess = (DWORD*)hInfo->Handles[i].ProcessId; + + //if procHandle is open, close it + procHandle ? CloseHandle(procHandle) : 0; + + //create a a handle with duplicate only permissions to the process with a handle to our target. NOT OUR TARGET. + NtRet = NtOpenProcess(&procHandle, PROCESS_DUP_HANDLE, &Obj_Attribute, &clientID); + if (!IsHandleValid(procHandle) || !NT_SUCCESS(NtRet)) //check is the funcions succeeded and check the handle is valid + { + continue; + } + + + //we duplicate the handle another process has to our target into our cheat with whatever permissions we want. I did all access. + NtRet = NtDuplicateObject(procHandle, (HANDLE)hInfo->Handles[i].Handle, NtCurrentProcess, &HijackedHandle, PROCESS_ALL_ACCESS, 0, 0); + if (!IsHandleValid(HijackedHandle) || !NT_SUCCESS(NtRet))//check is the funcions succeeded and check the handle is valid + { + + continue; + } + + //get the process id of the handle we duplicated and check its to our target + if (GetProcessId(HijackedHandle) != dwTargetProcessId) { + CloseHandle(HijackedHandle); + continue; + } + + + + hProcess = HijackedHandle; + + break; + } + + procHandle ? CloseHandle(procHandle) : 0; + + return hProcess; + } +} \ No newline at end of file diff --git a/HPCS2/memory.cpp b/HPCS2/memory.cpp new file mode 100644 index 0000000..7565142 --- /dev/null +++ b/HPCS2/memory.cpp @@ -0,0 +1,255 @@ +#include "memory.hpp" +#include +#include "handle_hijack.hpp" + +uint32_t pProcess::FindProcessIdByProcessName(const char* ProcessName) +{ + std::wstring wideProcessName; + int wideCharLength = MultiByteToWideChar(CP_UTF8, 0, ProcessName, -1, nullptr, 0); + if (wideCharLength > 0) + { + wideProcessName.resize(wideCharLength); + MultiByteToWideChar(CP_UTF8, 0, ProcessName, -1, &wideProcessName[0], wideCharLength); + } + + HANDLE hPID = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); + PROCESSENTRY32W process_entry_{ }; + process_entry_.dwSize = sizeof(PROCESSENTRY32W); + + DWORD pid = 0; + if (Process32FirstW(hPID, &process_entry_)) + { + do + { + if (!wcscmp(process_entry_.szExeFile, wideProcessName.c_str())) + { + pid = process_entry_.th32ProcessID; + break; + } + } while (Process32NextW(hPID, &process_entry_)); + } + CloseHandle(hPID); + return pid; +} + +uint32_t pProcess::FindProcessIdByWindowName(const char* WindowName) +{ + DWORD process_id = 0; + HWND windowHandle = FindWindowA(nullptr, WindowName); + if (windowHandle) + GetWindowThreadProcessId(windowHandle, &process_id); + return process_id; +} + +HWND pProcess::GetWindowHandleFromProcessId(DWORD ProcessId) { + HWND hwnd = NULL; + do { + hwnd = FindWindowEx(NULL, hwnd, NULL, NULL); + DWORD pid = 0; + GetWindowThreadProcessId(hwnd, &pid); + if (pid == ProcessId) { + TCHAR windowTitle[MAX_PATH]; + GetWindowText(hwnd, windowTitle, MAX_PATH); + if (IsWindowVisible(hwnd) && windowTitle[0] != '\0') { + return hwnd; + } + } + } while (hwnd != NULL); + return NULL; // No main window found for the given process ID +} + +bool pProcess::AttachProcess(const char* ProcessName) +{ + this->pid_ = this->FindProcessIdByProcessName(ProcessName); + + if (pid_) + { + HMODULE modules[0xFF]; + MODULEINFO module_info; + DWORD _; + + handle_ = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid_); + + EnumProcessModulesEx(this->handle_, modules, sizeof(modules), &_, LIST_MODULES_64BIT); + base_client_.base = (uintptr_t)modules[0]; + + GetModuleInformation(this->handle_, modules[0], &module_info, sizeof(module_info)); + base_client_.size = module_info.SizeOfImage; + + hwnd_ = this->GetWindowHandleFromProcessId(pid_); + + return true; + } + + return false; +} + +bool pProcess::AttachProcessHj(const char* ProcessName) +{ + this->pid_ = this->FindProcessIdByProcessName(ProcessName); + + if (pid_) + { + HMODULE modules[0xFF]; + MODULEINFO module_info; + DWORD _; + + + // Using Apxaey's handle hijack function to safely open a handle + handle_ = hj::HijackExistingHandle(pid_); + + if (!hj::IsHandleValid(handle_)) + { + std::cout << "[cheat] Handle Hijack failed, falling back to OpenProcess method." << std::endl; + return pProcess::AttachProcess(ProcessName); // Handle hijacking failed, so we fall back to the normal OpenProcess method + } + + EnumProcessModulesEx(this->handle_, modules, sizeof(modules), &_, LIST_MODULES_64BIT); + base_client_.base = (uintptr_t)modules[0]; + + GetModuleInformation(this->handle_, modules[0], &module_info, sizeof(module_info)); + base_client_.size = module_info.SizeOfImage; + + hwnd_ = this->GetWindowHandleFromProcessId(pid_); + + return true; + } + + return false; +} + + +bool pProcess::AttachWindow(const char* WindowName) +{ + this->pid_ = this->FindProcessIdByWindowName(WindowName); + + if (pid_) + { + HMODULE modules[0xFF]; + MODULEINFO module_info; + DWORD _; + + handle_ = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid_); + + EnumProcessModulesEx(this->handle_, modules, sizeof(modules), &_, LIST_MODULES_64BIT); + base_client_.base = (uintptr_t)modules[0]; + + GetModuleInformation(this->handle_, modules[0], &module_info, sizeof(module_info)); + base_client_.size = module_info.SizeOfImage; + + hwnd_ = this->GetWindowHandleFromProcessId(pid_); + + return true; + } + return false; +} + +bool pProcess::UpdateHWND() +{ + hwnd_ = this->GetWindowHandleFromProcessId(pid_); + return hwnd_ == nullptr; +} + +ProcessModule pProcess::GetModule(const char* lModule) +{ + std::wstring wideModule; + int wideCharLength = MultiByteToWideChar(CP_UTF8, 0, lModule, -1, nullptr, 0); + if (wideCharLength > 0) + { + wideModule.resize(wideCharLength); + MultiByteToWideChar(CP_UTF8, 0, lModule, -1, &wideModule[0], wideCharLength); + } + + HANDLE handle_module = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid_); + MODULEENTRY32W module_entry_{}; + module_entry_.dwSize = sizeof(MODULEENTRY32W); + + do + { + if (!wcscmp(module_entry_.szModule, wideModule.c_str())) + { + CloseHandle(handle_module); + return { (DWORD_PTR)module_entry_.modBaseAddr, module_entry_.dwSize }; + } + } while (Module32NextW(handle_module, &module_entry_)); + + CloseHandle(handle_module); + return { 0, 0 }; +} + +LPVOID pProcess::Allocate(size_t size_in_bytes) +{ + return VirtualAllocEx(this->handle_, NULL, size_in_bytes, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); +} + +uintptr_t pProcess::FindSignature(std::vector signature) +{ + std::unique_ptr data; + data = std::make_unique(this->base_client_.size); + + if (!ReadProcessMemory(this->handle_, (void*)(this->base_client_.base), data.get(), this->base_client_.size, NULL)) { + return 0x0; + } + + for (uintptr_t i = 0; i < this->base_client_.size; i++) + { + for (uintptr_t j = 0; j < signature.size(); j++) + { + if (signature.at(j) == 0x00) + continue; + + if (*reinterpret_cast(reinterpret_cast(&data[i + j])) == signature.at(j)) + { + if (j == signature.size() - 1) + return this->base_client_.base + i; + continue; + } + break; + } + } + return 0x0; +} + +uintptr_t pProcess::FindSignature(ProcessModule target_module, std::vector signature) +{ + std::unique_ptr data; + data = std::make_unique(0xFFFFFFF); + + if (!ReadProcessMemory(this->handle_, (void*)(target_module.base), data.get(), 0xFFFFFFF, NULL)) { + return NULL; + } + + for (uintptr_t i = 0; i < 0xFFFFFFF; i++) + { + for (uintptr_t j = 0; j < signature.size(); j++) + { + if (signature.at(j) == 0x00) + continue; + + if (*reinterpret_cast(reinterpret_cast(&data[i + j])) == signature.at(j)) + { + if (j == signature.size() - 1) + return this->base_client_.base + i; + continue; + } + break; + } + } + return 0x0; +} + +uintptr_t pProcess::FindCodeCave(uint32_t length_in_bytes) +{ + std::vector cave_pattern = {}; + + for (uint32_t i = 0; i < length_in_bytes; i++) { + cave_pattern.push_back(0x00); + } + + return FindSignature(cave_pattern); +} + +void pProcess::Close() +{ + CloseHandle(handle_); +} \ No newline at end of file diff --git a/HPCS2/memory.hpp b/HPCS2/memory.hpp new file mode 100644 index 0000000..be13d0e --- /dev/null +++ b/HPCS2/memory.hpp @@ -0,0 +1,124 @@ +#ifndef _PPROCESS_HPP_ +#define _PPROCESS_HPP_ + +#include +#include +#include +#include +#include +#include +#include + +typedef NTSTATUS(WINAPI* pNtReadVirtualMemory)(HANDLE ProcessHandle, PVOID BaseAddress, PVOID Buffer, ULONG NumberOfBytesToRead, PULONG NumberOfBytesRead); +typedef NTSTATUS(WINAPI* pNtWriteVirtualMemory)(HANDLE ProcessHandle, PVOID BaseAddress, PVOID Buffer, ULONG NumberOfBytesToWrite, PULONG NumberOfBytesWritten); + +class pMemory { + +public: + pMemory() { + pfnNtReadVirtualMemory = (pNtReadVirtualMemory)GetProcAddress(GetModuleHandleA("ntdll.dll"), "NtReadVirtualMemory"); + pfnNtWriteVirtualMemory = (pNtWriteVirtualMemory)GetProcAddress(GetModuleHandleA("ntdll.dll"), "NtWriteVirtualMemory"); + } + + pNtReadVirtualMemory pfnNtReadVirtualMemory; + pNtWriteVirtualMemory pfnNtWriteVirtualMemory; +}; + +struct ProcessModule +{ + uintptr_t base, size; +}; + +class pProcess +{ +public: + DWORD pid_; // process id + HANDLE handle_; // handle to process + HWND hwnd_; // window handle + ProcessModule base_client_; + +public: + bool AttachProcess(const char* process_name); + bool AttachProcessHj(const char* process_name); + bool AttachWindow(const char* window_name); + bool UpdateHWND(); + void Close(); + +public: + ProcessModule GetModule(const char* module_name); + LPVOID Allocate(size_t size_in_bytes); + uintptr_t FindCodeCave(uint32_t length_in_bytes); + uintptr_t FindSignature(std::vector signature); + uintptr_t FindSignature(ProcessModule target_module, std::vector signature); + + template + uintptr_t ReadOffsetFromSignature(std::vector signature, uint8_t offset) // offset example: "FF 05 ->22628B01<-" offset is 2 + { + uintptr_t pattern_address = this->FindSignature(signature); + if (!pattern_address) + return 0x0; + + T offset_value = this->read(pattern_address + offset); + return pattern_address + offset_value + offset + sizeof(T); + } + + bool read_raw(uintptr_t address, void* buffer, size_t size) + { + SIZE_T bytesRead; + pMemory cMemory; + + if (cMemory.pfnNtReadVirtualMemory(this->handle_, (PVOID)(address), buffer, static_cast(size), (PULONG)&bytesRead)) + { + return bytesRead == size; + } + return false; + } + + template + void write(uintptr_t address, T value) + { + pMemory cMemory; + cMemory.pfnNtWriteVirtualMemory(handle_, (void*)address, &value, sizeof(T), 0); + } + + template + T read(uintptr_t address) + { + T buffer{}; + pMemory cMemory; + + cMemory.pfnNtReadVirtualMemory(handle_, (void*)address, &buffer, sizeof(T), 0); + return buffer; + } + + void write_bytes(uintptr_t addr, std::vector patch) + { + pMemory cMemory; + cMemory.pfnNtWriteVirtualMemory(handle_, (void*)addr, &patch[0], patch.size(), 0); + } + + uintptr_t read_multi_address(uintptr_t ptr, std::vector offsets) + { + uintptr_t buffer = ptr; + for (int i = 0; i < offsets.size(); i++) + buffer = this->read(buffer + offsets[i]); + + return buffer; + } + + template + T read_multi(uintptr_t base, std::vector offsets) { + uintptr_t buffer = base; + for (int i = 0; i < offsets.size() - 1; i++) + { + buffer = this->read(buffer + offsets[i]); + } + return this->read(buffer + offsets.back()); + } + +private: + uint32_t FindProcessIdByProcessName(const char* process_name); + uint32_t FindProcessIdByWindowName(const char* window_name); + HWND GetWindowHandleFromProcessId(DWORD ProcessId); +}; +#endif \ No newline at end of file diff --git a/HPCS2/offset/animationsystem.dll.hpp b/HPCS2/offset/animationsystem.dll.hpp new file mode 100644 index 0000000..e636e09 --- /dev/null +++ b/HPCS2/offset/animationsystem.dll.hpp @@ -0,0 +1,2579 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace AimMatrixOpFixedSettings_t { + constexpr std::ptrdiff_t m_attachment = 0x0; // CAnimAttachment + constexpr std::ptrdiff_t m_damping = 0x80; // CAnimInputDamping + constexpr std::ptrdiff_t m_poseCacheHandles = 0x90; // CPoseHandle[10] + constexpr std::ptrdiff_t m_eBlendMode = 0xB8; // AimMatrixBlendMode + constexpr std::ptrdiff_t m_fAngleIncrement = 0xBC; // float + constexpr std::ptrdiff_t m_nSequenceMaxFrame = 0xC0; // int32_t + constexpr std::ptrdiff_t m_nBoneMaskIndex = 0xC4; // int32_t + constexpr std::ptrdiff_t m_bTargetIsPosition = 0xC8; // bool +} + +namespace AnimComponentID { + constexpr std::ptrdiff_t m_id = 0x0; // uint32_t +} + +namespace AnimNodeID { + constexpr std::ptrdiff_t m_id = 0x0; // uint32_t +} + +namespace AnimNodeOutputID { + constexpr std::ptrdiff_t m_id = 0x0; // uint32_t +} + +namespace AnimParamID { + constexpr std::ptrdiff_t m_id = 0x0; // uint32_t +} + +namespace AnimScriptHandle { + constexpr std::ptrdiff_t m_id = 0x0; // uint32_t +} + +namespace AnimStateID { + constexpr std::ptrdiff_t m_id = 0x0; // uint32_t +} + +namespace AnimTagID { + constexpr std::ptrdiff_t m_id = 0x0; // uint32_t +} + +namespace AnimationDecodeDebugDumpElement_t { + constexpr std::ptrdiff_t m_nEntityIndex = 0x0; // int32_t + constexpr std::ptrdiff_t m_modelName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_poseParams = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_decodeOps = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_internalOps = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_decodedAnims = 0x58; // CUtlVector +} + +namespace AnimationDecodeDebugDump_t { + constexpr std::ptrdiff_t m_processingType = 0x0; // AnimationProcessingType_t + constexpr std::ptrdiff_t m_elems = 0x8; // CUtlVector +} + +namespace AnimationSnapshotBase_t { + constexpr std::ptrdiff_t m_flRealTime = 0x0; // float + constexpr std::ptrdiff_t m_rootToWorld = 0x10; // matrix3x4a_t + constexpr std::ptrdiff_t m_bBonesInWorldSpace = 0x40; // bool + constexpr std::ptrdiff_t m_boneSetupMask = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_boneTransforms = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_flexControllers = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_SnapshotType = 0x90; // AnimationSnapshotType_t + constexpr std::ptrdiff_t m_bHasDecodeDump = 0x94; // bool + constexpr std::ptrdiff_t m_DecodeDump = 0x98; // AnimationDecodeDebugDumpElement_t +} + +namespace AnimationSnapshot_t { // AnimationSnapshotBase_t + constexpr std::ptrdiff_t m_nEntIndex = 0x110; // int32_t + constexpr std::ptrdiff_t m_modelName = 0x118; // CUtlString +} + +namespace AttachmentHandle_t { + constexpr std::ptrdiff_t m_Value = 0x0; // uint8_t +} + +namespace BlendItem_t { + constexpr std::ptrdiff_t m_tags = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_pChild = 0x18; // CAnimUpdateNodeRef + constexpr std::ptrdiff_t m_hSequence = 0x28; // HSequence + constexpr std::ptrdiff_t m_vPos = 0x2C; // Vector2D + constexpr std::ptrdiff_t m_flDuration = 0x34; // float + constexpr std::ptrdiff_t m_bUseCustomDuration = 0x38; // bool +} + +namespace BoneDemoCaptureSettings_t { + constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_flChainLength = 0x8; // float +} + +namespace CActionComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_actions = 0x30; // CUtlVector> +} + +namespace CAddUpdateNode { // CBinaryUpdateNode + constexpr std::ptrdiff_t m_footMotionTiming = 0x8C; // BinaryNodeChildOption + constexpr std::ptrdiff_t m_bApplyToFootMotion = 0x90; // bool + constexpr std::ptrdiff_t m_bApplyChannelsSeparately = 0x91; // bool + constexpr std::ptrdiff_t m_bUseModelSpace = 0x92; // bool +} + +namespace CAimConstraint { // CBaseConstraint + constexpr std::ptrdiff_t m_qAimOffset = 0x70; // Quaternion + constexpr std::ptrdiff_t m_nUpType = 0x80; // uint32_t +} + +namespace CAimMatrixUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_opFixedSettings = 0x70; // AimMatrixOpFixedSettings_t + constexpr std::ptrdiff_t m_target = 0x148; // AnimVectorSource + constexpr std::ptrdiff_t m_paramIndex = 0x14C; // CAnimParamHandle + constexpr std::ptrdiff_t m_hSequence = 0x150; // HSequence + constexpr std::ptrdiff_t m_bResetChild = 0x154; // bool + constexpr std::ptrdiff_t m_bLockWhenWaning = 0x155; // bool +} + +namespace CAnimActionUpdater { +} + +namespace CAnimActivity { + constexpr std::ptrdiff_t m_name = 0x0; // CBufferString + constexpr std::ptrdiff_t m_nActivity = 0x10; // int32_t + constexpr std::ptrdiff_t m_nFlags = 0x14; // int32_t + constexpr std::ptrdiff_t m_nWeight = 0x18; // int32_t +} + +namespace CAnimAttachment { + constexpr std::ptrdiff_t m_influenceRotations = 0x0; // Quaternion[3] + constexpr std::ptrdiff_t m_influenceOffsets = 0x30; // VectorAligned[3] + constexpr std::ptrdiff_t m_influenceIndices = 0x60; // int32_t[3] + constexpr std::ptrdiff_t m_influenceWeights = 0x6C; // float[3] + constexpr std::ptrdiff_t m_numInfluences = 0x78; // uint8_t +} + +namespace CAnimBone { + constexpr std::ptrdiff_t m_name = 0x0; // CBufferString + constexpr std::ptrdiff_t m_parent = 0x10; // int32_t + constexpr std::ptrdiff_t m_pos = 0x14; // Vector + constexpr std::ptrdiff_t m_quat = 0x20; // QuaternionStorage + constexpr std::ptrdiff_t m_scale = 0x30; // float + constexpr std::ptrdiff_t m_qAlignment = 0x34; // QuaternionStorage + constexpr std::ptrdiff_t m_flags = 0x44; // int32_t +} + +namespace CAnimBoneDifference { + constexpr std::ptrdiff_t m_name = 0x0; // CBufferString + constexpr std::ptrdiff_t m_parent = 0x10; // CBufferString + constexpr std::ptrdiff_t m_posError = 0x20; // Vector + constexpr std::ptrdiff_t m_bHasRotation = 0x2C; // bool + constexpr std::ptrdiff_t m_bHasMovement = 0x2D; // bool +} + +namespace CAnimComponentUpdater { + constexpr std::ptrdiff_t m_name = 0x18; // CUtlString + constexpr std::ptrdiff_t m_id = 0x20; // AnimComponentID + constexpr std::ptrdiff_t m_networkMode = 0x24; // AnimNodeNetworkMode + constexpr std::ptrdiff_t m_bStartEnabled = 0x28; // bool +} + +namespace CAnimCycle { // CCycleBase +} + +namespace CAnimData { + constexpr std::ptrdiff_t m_name = 0x10; // CBufferString + constexpr std::ptrdiff_t m_animArray = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_decoderArray = 0x38; // CUtlVector + constexpr std::ptrdiff_t m_nMaxUniqueFrameIndex = 0x50; // int32_t + constexpr std::ptrdiff_t m_segmentArray = 0x58; // CUtlVector +} + +namespace CAnimDataChannelDesc { + constexpr std::ptrdiff_t m_szChannelClass = 0x0; // CBufferString + constexpr std::ptrdiff_t m_szVariableName = 0x10; // CBufferString + constexpr std::ptrdiff_t m_nFlags = 0x20; // int32_t + constexpr std::ptrdiff_t m_nType = 0x24; // int32_t + constexpr std::ptrdiff_t m_szGrouping = 0x28; // CBufferString + constexpr std::ptrdiff_t m_szDescription = 0x38; // CBufferString + constexpr std::ptrdiff_t m_szElementNameArray = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_nElementIndexArray = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_nElementMaskArray = 0x78; // CUtlVector +} + +namespace CAnimDecoder { + constexpr std::ptrdiff_t m_szName = 0x0; // CBufferString + constexpr std::ptrdiff_t m_nVersion = 0x10; // int32_t + constexpr std::ptrdiff_t m_nType = 0x14; // int32_t +} + +namespace CAnimDemoCaptureSettings { + constexpr std::ptrdiff_t m_rangeBoneChainLength = 0x0; // Vector2D + constexpr std::ptrdiff_t m_rangeMaxSplineErrorRotation = 0x8; // Vector2D + constexpr std::ptrdiff_t m_flMaxSplineErrorTranslation = 0x10; // float + constexpr std::ptrdiff_t m_flMaxSplineErrorScale = 0x14; // float + constexpr std::ptrdiff_t m_flIkRotation_MaxSplineError = 0x18; // float + constexpr std::ptrdiff_t m_flIkTranslation_MaxSplineError = 0x1C; // float + constexpr std::ptrdiff_t m_flMaxQuantizationErrorRotation = 0x20; // float + constexpr std::ptrdiff_t m_flMaxQuantizationErrorTranslation = 0x24; // float + constexpr std::ptrdiff_t m_flMaxQuantizationErrorScale = 0x28; // float + constexpr std::ptrdiff_t m_flIkRotation_MaxQuantizationError = 0x2C; // float + constexpr std::ptrdiff_t m_flIkTranslation_MaxQuantizationError = 0x30; // float + constexpr std::ptrdiff_t m_baseSequence = 0x38; // CUtlString + constexpr std::ptrdiff_t m_nBaseSequenceFrame = 0x40; // int32_t + constexpr std::ptrdiff_t m_boneSelectionMode = 0x44; // EDemoBoneSelectionMode + constexpr std::ptrdiff_t m_bones = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_ikChains = 0x60; // CUtlVector +} + +namespace CAnimDesc { + constexpr std::ptrdiff_t m_name = 0x0; // CBufferString + constexpr std::ptrdiff_t m_flags = 0x10; // CAnimDesc_Flag + constexpr std::ptrdiff_t fps = 0x18; // float + constexpr std::ptrdiff_t m_Data = 0x20; // CAnimEncodedFrames + constexpr std::ptrdiff_t m_movementArray = 0xF8; // CUtlVector + constexpr std::ptrdiff_t m_eventArray = 0x110; // CUtlVector + constexpr std::ptrdiff_t m_activityArray = 0x128; // CUtlVector + constexpr std::ptrdiff_t m_hierarchyArray = 0x140; // CUtlVector + constexpr std::ptrdiff_t framestalltime = 0x158; // float + constexpr std::ptrdiff_t m_vecRootMin = 0x15C; // Vector + constexpr std::ptrdiff_t m_vecRootMax = 0x168; // Vector + constexpr std::ptrdiff_t m_vecBoneWorldMin = 0x178; // CUtlVector + constexpr std::ptrdiff_t m_vecBoneWorldMax = 0x190; // CUtlVector + constexpr std::ptrdiff_t m_sequenceParams = 0x1A8; // CAnimSequenceParams +} + +namespace CAnimDesc_Flag { + constexpr std::ptrdiff_t m_bLooping = 0x0; // bool + constexpr std::ptrdiff_t m_bAllZeros = 0x1; // bool + constexpr std::ptrdiff_t m_bHidden = 0x2; // bool + constexpr std::ptrdiff_t m_bDelta = 0x3; // bool + constexpr std::ptrdiff_t m_bLegacyWorldspace = 0x4; // bool + constexpr std::ptrdiff_t m_bModelDoc = 0x5; // bool + constexpr std::ptrdiff_t m_bImplicitSeqIgnoreDelta = 0x6; // bool + constexpr std::ptrdiff_t m_bAnimGraphAdditive = 0x7; // bool +} + +namespace CAnimEncodeDifference { + constexpr std::ptrdiff_t m_boneArray = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_morphArray = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_userArray = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_bHasRotationBitArray = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_bHasMovementBitArray = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_bHasMorphBitArray = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_bHasUserBitArray = 0x90; // CUtlVector +} + +namespace CAnimEncodedFrames { + constexpr std::ptrdiff_t m_fileName = 0x0; // CBufferString + constexpr std::ptrdiff_t m_nFrames = 0x10; // int32_t + constexpr std::ptrdiff_t m_nFramesPerBlock = 0x14; // int32_t + constexpr std::ptrdiff_t m_frameblockArray = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_usageDifferences = 0x30; // CAnimEncodeDifference +} + +namespace CAnimEnum { + constexpr std::ptrdiff_t m_value = 0x0; // uint8_t +} + +namespace CAnimEventDefinition { + constexpr std::ptrdiff_t m_nFrame = 0x8; // int32_t + constexpr std::ptrdiff_t m_flCycle = 0xC; // float + constexpr std::ptrdiff_t m_EventData = 0x10; // KeyValues3 + constexpr std::ptrdiff_t m_sLegacyOptions = 0x20; // CBufferString + constexpr std::ptrdiff_t m_sEventName = 0x30; // CGlobalSymbol +} + +namespace CAnimFoot { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_vBallOffset = 0x8; // Vector + constexpr std::ptrdiff_t m_vHeelOffset = 0x14; // Vector + constexpr std::ptrdiff_t m_ankleBoneIndex = 0x20; // int32_t + constexpr std::ptrdiff_t m_toeBoneIndex = 0x24; // int32_t +} + +namespace CAnimFrameBlockAnim { + constexpr std::ptrdiff_t m_nStartFrame = 0x0; // int32_t + constexpr std::ptrdiff_t m_nEndFrame = 0x4; // int32_t + constexpr std::ptrdiff_t m_segmentIndexArray = 0x8; // CUtlVector +} + +namespace CAnimFrameSegment { + constexpr std::ptrdiff_t m_nUniqueFrameIndex = 0x0; // int32_t + constexpr std::ptrdiff_t m_nLocalElementMasks = 0x4; // uint32_t + constexpr std::ptrdiff_t m_nLocalChannel = 0x8; // int32_t + constexpr std::ptrdiff_t m_container = 0x10; // CUtlBinaryBlock +} + +namespace CAnimGraphDebugReplay { + constexpr std::ptrdiff_t m_animGraphFileName = 0x40; // CUtlString + constexpr std::ptrdiff_t m_frameList = 0x48; // CUtlVector> + constexpr std::ptrdiff_t m_startIndex = 0x60; // int32_t + constexpr std::ptrdiff_t m_writeIndex = 0x64; // int32_t + constexpr std::ptrdiff_t m_frameCount = 0x68; // int32_t +} + +namespace CAnimGraphModelBinding { + constexpr std::ptrdiff_t m_modelName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_pSharedData = 0x10; // CSmartPtr +} + +namespace CAnimGraphNetworkSettings { // CAnimGraphSettingsGroup + constexpr std::ptrdiff_t m_bNetworkingEnabled = 0x20; // bool +} + +namespace CAnimGraphSettingsGroup { +} + +namespace CAnimGraphSettingsManager { + constexpr std::ptrdiff_t m_settingsGroups = 0x18; // CUtlVector> +} + +namespace CAnimInputDamping { + constexpr std::ptrdiff_t m_speedFunction = 0x8; // DampingSpeedFunction + constexpr std::ptrdiff_t m_fSpeedScale = 0xC; // float +} + +namespace CAnimKeyData { + constexpr std::ptrdiff_t m_name = 0x0; // CBufferString + constexpr std::ptrdiff_t m_boneArray = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_userArray = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_morphArray = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_nChannelElements = 0x58; // int32_t + constexpr std::ptrdiff_t m_dataChannelArray = 0x60; // CUtlVector +} + +namespace CAnimLocalHierarchy { + constexpr std::ptrdiff_t m_sBone = 0x0; // CBufferString + constexpr std::ptrdiff_t m_sNewParent = 0x10; // CBufferString + constexpr std::ptrdiff_t m_nStartFrame = 0x20; // int32_t + constexpr std::ptrdiff_t m_nPeakFrame = 0x24; // int32_t + constexpr std::ptrdiff_t m_nTailFrame = 0x28; // int32_t + constexpr std::ptrdiff_t m_nEndFrame = 0x2C; // int32_t +} + +namespace CAnimMorphDifference { + constexpr std::ptrdiff_t m_name = 0x0; // CBufferString +} + +namespace CAnimMotorUpdaterBase { + constexpr std::ptrdiff_t m_name = 0x10; // CUtlString + constexpr std::ptrdiff_t m_bDefault = 0x18; // bool +} + +namespace CAnimMovement { + constexpr std::ptrdiff_t endframe = 0x0; // int32_t + constexpr std::ptrdiff_t motionflags = 0x4; // int32_t + constexpr std::ptrdiff_t v0 = 0x8; // float + constexpr std::ptrdiff_t v1 = 0xC; // float + constexpr std::ptrdiff_t angle = 0x10; // float + constexpr std::ptrdiff_t vector = 0x14; // Vector + constexpr std::ptrdiff_t position = 0x20; // Vector +} + +namespace CAnimNodePath { + constexpr std::ptrdiff_t m_path = 0x0; // AnimNodeID[11] + constexpr std::ptrdiff_t m_nCount = 0x2C; // int32_t +} + +namespace CAnimParamHandle { + constexpr std::ptrdiff_t m_type = 0x0; // AnimParamType_t + constexpr std::ptrdiff_t m_index = 0x1; // uint8_t +} + +namespace CAnimParamHandleMap { + constexpr std::ptrdiff_t m_list = 0x0; // CUtlHashtable +} + +namespace CAnimParameterBase { + constexpr std::ptrdiff_t m_name = 0x18; // CGlobalSymbol + constexpr std::ptrdiff_t m_group = 0x20; // CUtlString + constexpr std::ptrdiff_t m_id = 0x28; // AnimParamID + constexpr std::ptrdiff_t m_componentName = 0x40; // CUtlString + constexpr std::ptrdiff_t m_bNetworkingRequested = 0x4C; // bool + constexpr std::ptrdiff_t m_bIsReferenced = 0x4D; // bool +} + +namespace CAnimParameterManagerUpdater { + constexpr std::ptrdiff_t m_parameters = 0x18; // CUtlVector> + constexpr std::ptrdiff_t m_idToIndexMap = 0x30; // CUtlHashtable + constexpr std::ptrdiff_t m_nameToIndexMap = 0x50; // CUtlHashtable + constexpr std::ptrdiff_t m_indexToHandle = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_autoResetParams = 0x88; // CUtlVector> + constexpr std::ptrdiff_t m_autoResetMap = 0xA0; // CUtlHashtable +} + +namespace CAnimReplayFrame { + constexpr std::ptrdiff_t m_inputDataBlocks = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_instanceData = 0x28; // CUtlBinaryBlock + constexpr std::ptrdiff_t m_startingLocalToWorldTransform = 0x40; // CTransform + constexpr std::ptrdiff_t m_localToWorldTransform = 0x60; // CTransform + constexpr std::ptrdiff_t m_timeStamp = 0x80; // float +} + +namespace CAnimScriptComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_hScript = 0x30; // AnimScriptHandle +} + +namespace CAnimScriptManager { + constexpr std::ptrdiff_t m_scriptInfo = 0x10; // CUtlVector +} + +namespace CAnimSequenceParams { + constexpr std::ptrdiff_t m_flFadeInTime = 0x0; // float + constexpr std::ptrdiff_t m_flFadeOutTime = 0x4; // float +} + +namespace CAnimSkeleton { + constexpr std::ptrdiff_t m_localSpaceTransforms = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_modelSpaceTransforms = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_boneNames = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_children = 0x58; // CUtlVector> + constexpr std::ptrdiff_t m_parents = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_feet = 0x88; // CUtlVector + constexpr std::ptrdiff_t m_morphNames = 0xA0; // CUtlVector + constexpr std::ptrdiff_t m_lodBoneCounts = 0xB8; // CUtlVector +} + +namespace CAnimStateMachineUpdater { + constexpr std::ptrdiff_t m_states = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_transitions = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_startStateIndex = 0x50; // int32_t +} + +namespace CAnimTagBase { + constexpr std::ptrdiff_t m_name = 0x18; // CGlobalSymbol + constexpr std::ptrdiff_t m_group = 0x20; // CGlobalSymbol + constexpr std::ptrdiff_t m_tagID = 0x28; // AnimTagID + constexpr std::ptrdiff_t m_bIsReferenced = 0x2C; // bool +} + +namespace CAnimTagManagerUpdater { + constexpr std::ptrdiff_t m_tags = 0x18; // CUtlVector> +} + +namespace CAnimUpdateNodeBase { + constexpr std::ptrdiff_t m_nodePath = 0x18; // CAnimNodePath + constexpr std::ptrdiff_t m_networkMode = 0x48; // AnimNodeNetworkMode + constexpr std::ptrdiff_t m_name = 0x50; // CUtlString +} + +namespace CAnimUpdateNodeRef { + constexpr std::ptrdiff_t m_nodeIndex = 0x8; // int32_t +} + +namespace CAnimUpdateSharedData { + constexpr std::ptrdiff_t m_nodes = 0x10; // CUtlVector> + constexpr std::ptrdiff_t m_nodeIndexMap = 0x28; // CUtlHashtable + constexpr std::ptrdiff_t m_components = 0x48; // CUtlVector> + constexpr std::ptrdiff_t m_pParamListUpdater = 0x60; // CSmartPtr + constexpr std::ptrdiff_t m_pTagManagerUpdater = 0x68; // CSmartPtr + constexpr std::ptrdiff_t m_scriptManager = 0x70; // CSmartPtr + constexpr std::ptrdiff_t m_settings = 0x78; // CAnimGraphSettingsManager + constexpr std::ptrdiff_t m_pStaticPoseCache = 0xA8; // CSmartPtr + constexpr std::ptrdiff_t m_pSkeleton = 0xB0; // CSmartPtr + constexpr std::ptrdiff_t m_rootNodePath = 0xB8; // CAnimNodePath +} + +namespace CAnimUser { + constexpr std::ptrdiff_t m_name = 0x0; // CBufferString + constexpr std::ptrdiff_t m_nType = 0x10; // int32_t +} + +namespace CAnimUserDifference { + constexpr std::ptrdiff_t m_name = 0x0; // CBufferString + constexpr std::ptrdiff_t m_nType = 0x10; // int32_t +} + +namespace CAnimationGraphVisualizerAxis { // CAnimationGraphVisualizerPrimitiveBase + constexpr std::ptrdiff_t m_xWsTransform = 0x40; // CTransform + constexpr std::ptrdiff_t m_flAxisSize = 0x60; // float +} + +namespace CAnimationGraphVisualizerLine { // CAnimationGraphVisualizerPrimitiveBase + constexpr std::ptrdiff_t m_vWsPositionStart = 0x40; // VectorAligned + constexpr std::ptrdiff_t m_vWsPositionEnd = 0x50; // VectorAligned + constexpr std::ptrdiff_t m_Color = 0x60; // Color +} + +namespace CAnimationGraphVisualizerPie { // CAnimationGraphVisualizerPrimitiveBase + constexpr std::ptrdiff_t m_vWsCenter = 0x40; // VectorAligned + constexpr std::ptrdiff_t m_vWsStart = 0x50; // VectorAligned + constexpr std::ptrdiff_t m_vWsEnd = 0x60; // VectorAligned + constexpr std::ptrdiff_t m_Color = 0x70; // Color +} + +namespace CAnimationGraphVisualizerPrimitiveBase { + constexpr std::ptrdiff_t m_Type = 0x8; // CAnimationGraphVisualizerPrimitiveType + constexpr std::ptrdiff_t m_OwningAnimNodePaths = 0xC; // AnimNodeID[11] + constexpr std::ptrdiff_t m_nOwningAnimNodePathCount = 0x38; // int32_t +} + +namespace CAnimationGraphVisualizerSphere { // CAnimationGraphVisualizerPrimitiveBase + constexpr std::ptrdiff_t m_vWsPosition = 0x40; // VectorAligned + constexpr std::ptrdiff_t m_flRadius = 0x50; // float + constexpr std::ptrdiff_t m_Color = 0x54; // Color +} + +namespace CAnimationGraphVisualizerText { // CAnimationGraphVisualizerPrimitiveBase + constexpr std::ptrdiff_t m_vWsPosition = 0x40; // VectorAligned + constexpr std::ptrdiff_t m_Color = 0x50; // Color + constexpr std::ptrdiff_t m_Text = 0x58; // CUtlString +} + +namespace CAnimationGroup { + constexpr std::ptrdiff_t m_nFlags = 0x10; // uint32_t + constexpr std::ptrdiff_t m_name = 0x18; // CBufferString + constexpr std::ptrdiff_t m_localHAnimArray_Handle = 0x60; // CUtlVector> + constexpr std::ptrdiff_t m_includedGroupArray_Handle = 0x78; // CUtlVector> + constexpr std::ptrdiff_t m_directHSeqGroup_Handle = 0x90; // CStrongHandle + constexpr std::ptrdiff_t m_decodeKey = 0x98; // CAnimKeyData + constexpr std::ptrdiff_t m_szScripts = 0x110; // CUtlVector +} + +namespace CAttachment { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_influenceNames = 0x8; // CUtlString[3] + constexpr std::ptrdiff_t m_vInfluenceRotations = 0x20; // Quaternion[3] + constexpr std::ptrdiff_t m_vInfluenceOffsets = 0x50; // Vector[3] + constexpr std::ptrdiff_t m_influenceWeights = 0x74; // float[3] + constexpr std::ptrdiff_t m_bInfluenceRootTransform = 0x80; // bool[3] + constexpr std::ptrdiff_t m_nInfluences = 0x83; // uint8_t + constexpr std::ptrdiff_t m_bIgnoreRotation = 0x84; // bool +} + +namespace CAudioAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_clipName = 0x38; // CUtlString + constexpr std::ptrdiff_t m_attachmentName = 0x40; // CUtlString + constexpr std::ptrdiff_t m_flVolume = 0x48; // float + constexpr std::ptrdiff_t m_bStopWhenTagEnds = 0x4C; // bool + constexpr std::ptrdiff_t m_bStopWhenGraphEnds = 0x4D; // bool + constexpr std::ptrdiff_t m_bPlayOnServer = 0x4E; // bool + constexpr std::ptrdiff_t m_bPlayOnClient = 0x4F; // bool +} + +namespace CBaseConstraint { // CBoneConstraintBase + constexpr std::ptrdiff_t m_name = 0x28; // CUtlString + constexpr std::ptrdiff_t m_vUpVector = 0x30; // Vector + constexpr std::ptrdiff_t m_slaves = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_targets = 0x58; // CUtlVector +} + +namespace CBinaryUpdateNode { // CAnimUpdateNodeBase + constexpr std::ptrdiff_t m_pChild1 = 0x58; // CAnimUpdateNodeRef + constexpr std::ptrdiff_t m_pChild2 = 0x68; // CAnimUpdateNodeRef + constexpr std::ptrdiff_t m_timingBehavior = 0x78; // BinaryNodeTiming + constexpr std::ptrdiff_t m_flTimingBlend = 0x7C; // float + constexpr std::ptrdiff_t m_bResetChild1 = 0x80; // bool + constexpr std::ptrdiff_t m_bResetChild2 = 0x81; // bool +} + +namespace CBindPoseUpdateNode { // CLeafUpdateNode +} + +namespace CBlend2DUpdateNode { // CAnimUpdateNodeBase + constexpr std::ptrdiff_t m_items = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_tags = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_paramSpans = 0x90; // CParamSpanUpdater + constexpr std::ptrdiff_t m_nodeItemIndices = 0xA8; // CUtlVector + constexpr std::ptrdiff_t m_damping = 0xC0; // CAnimInputDamping + constexpr std::ptrdiff_t m_blendSourceX = 0xD0; // AnimValueSource + constexpr std::ptrdiff_t m_paramX = 0xD4; // CAnimParamHandle + constexpr std::ptrdiff_t m_blendSourceY = 0xD8; // AnimValueSource + constexpr std::ptrdiff_t m_paramY = 0xDC; // CAnimParamHandle + constexpr std::ptrdiff_t m_eBlendMode = 0xE0; // Blend2DMode + constexpr std::ptrdiff_t m_playbackSpeed = 0xE4; // float + constexpr std::ptrdiff_t m_bLoop = 0xE8; // bool + constexpr std::ptrdiff_t m_bLockBlendOnReset = 0xE9; // bool + constexpr std::ptrdiff_t m_bLockWhenWaning = 0xEA; // bool + constexpr std::ptrdiff_t m_bAnimEventsAndTagsOnMostWeightedOnly = 0xEB; // bool +} + +namespace CBlendCurve { + constexpr std::ptrdiff_t m_flControlPoint1 = 0x0; // float + constexpr std::ptrdiff_t m_flControlPoint2 = 0x4; // float +} + +namespace CBlendUpdateNode { // CAnimUpdateNodeBase + constexpr std::ptrdiff_t m_children = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_sortedOrder = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_targetValues = 0x90; // CUtlVector + constexpr std::ptrdiff_t m_blendValueSource = 0xAC; // AnimValueSource + constexpr std::ptrdiff_t m_paramIndex = 0xB0; // CAnimParamHandle + constexpr std::ptrdiff_t m_damping = 0xB8; // CAnimInputDamping + constexpr std::ptrdiff_t m_blendKeyType = 0xC8; // BlendKeyType + constexpr std::ptrdiff_t m_bLockBlendOnReset = 0xCC; // bool + constexpr std::ptrdiff_t m_bSyncCycles = 0xCD; // bool + constexpr std::ptrdiff_t m_bLoop = 0xCE; // bool + constexpr std::ptrdiff_t m_bLockWhenWaning = 0xCF; // bool +} + +namespace CBlockSelectionMetricEvaluator { // CMotionMetricEvaluator +} + +namespace CBodyGroupAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_nPriority = 0x38; // int32_t + constexpr std::ptrdiff_t m_bodyGroupSettings = 0x40; // CUtlVector +} + +namespace CBodyGroupSetting { + constexpr std::ptrdiff_t m_BodyGroupName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nBodyGroupOption = 0x8; // int32_t +} + +namespace CBoneConstraintBase { +} + +namespace CBoneConstraintDotToMorph { // CBoneConstraintBase + constexpr std::ptrdiff_t m_sBoneName = 0x28; // CUtlString + constexpr std::ptrdiff_t m_sTargetBoneName = 0x30; // CUtlString + constexpr std::ptrdiff_t m_sMorphChannelName = 0x38; // CUtlString + constexpr std::ptrdiff_t m_flRemap = 0x40; // float[4] +} + +namespace CBoneConstraintPoseSpaceBone { // CBaseConstraint + constexpr std::ptrdiff_t m_inputList = 0x70; // CUtlVector +} + +namespace CBoneConstraintPoseSpaceBone_Input_t { + constexpr std::ptrdiff_t m_inputValue = 0x0; // Vector + constexpr std::ptrdiff_t m_outputTransformList = 0x10; // CUtlVector +} + +namespace CBoneConstraintPoseSpaceMorph { // CBoneConstraintBase + constexpr std::ptrdiff_t m_sBoneName = 0x28; // CUtlString + constexpr std::ptrdiff_t m_sAttachmentName = 0x30; // CUtlString + constexpr std::ptrdiff_t m_outputMorph = 0x38; // CUtlVector + constexpr std::ptrdiff_t m_inputList = 0x50; // CUtlVector + constexpr std::ptrdiff_t m_bClamp = 0x68; // bool +} + +namespace CBoneConstraintPoseSpaceMorph_Input_t { + constexpr std::ptrdiff_t m_inputValue = 0x0; // Vector + constexpr std::ptrdiff_t m_outputWeightList = 0x10; // CUtlVector +} + +namespace CBoneMaskUpdateNode { // CBinaryUpdateNode + constexpr std::ptrdiff_t m_nWeightListIndex = 0x8C; // int32_t + constexpr std::ptrdiff_t m_flRootMotionBlend = 0x90; // float + constexpr std::ptrdiff_t m_blendSpace = 0x94; // BoneMaskBlendSpace + constexpr std::ptrdiff_t m_footMotionTiming = 0x98; // BinaryNodeChildOption + constexpr std::ptrdiff_t m_bUseBlendScale = 0x9C; // bool + constexpr std::ptrdiff_t m_blendValueSource = 0xA0; // AnimValueSource + constexpr std::ptrdiff_t m_hBlendParameter = 0xA4; // CAnimParamHandle +} + +namespace CBonePositionMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_nBoneIndex = 0x50; // int32_t +} + +namespace CBoneVelocityMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_nBoneIndex = 0x50; // int32_t +} + +namespace CBoolAnimParameter { // CConcreteAnimParameter + constexpr std::ptrdiff_t m_bDefaultValue = 0x60; // bool +} + +namespace CCPPScriptComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_scriptsToRun = 0x30; // CUtlVector +} + +namespace CCachedPose { + constexpr std::ptrdiff_t m_transforms = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_morphWeights = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_hSequence = 0x38; // HSequence + constexpr std::ptrdiff_t m_flCycle = 0x3C; // float +} + +namespace CChoiceUpdateNode { // CAnimUpdateNodeBase + constexpr std::ptrdiff_t m_children = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_weights = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_blendTimes = 0x88; // CUtlVector + constexpr std::ptrdiff_t m_choiceMethod = 0xA0; // ChoiceMethod + constexpr std::ptrdiff_t m_choiceChangeMethod = 0xA4; // ChoiceChangeMethod + constexpr std::ptrdiff_t m_blendMethod = 0xA8; // ChoiceBlendMethod + constexpr std::ptrdiff_t m_blendTime = 0xAC; // float + constexpr std::ptrdiff_t m_bCrossFade = 0xB0; // bool + constexpr std::ptrdiff_t m_bResetChosen = 0xB1; // bool + constexpr std::ptrdiff_t m_bDontResetSameSelection = 0xB2; // bool +} + +namespace CChoreoUpdateNode { // CUnaryUpdateNode +} + +namespace CClothSettingsAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_flStiffness = 0x38; // float + constexpr std::ptrdiff_t m_flEaseIn = 0x3C; // float + constexpr std::ptrdiff_t m_flEaseOut = 0x40; // float + constexpr std::ptrdiff_t m_nVertexSet = 0x48; // CUtlString +} + +namespace CCompressorGroup { + constexpr std::ptrdiff_t m_nTotalElementCount = 0x0; // int32_t + constexpr std::ptrdiff_t m_szChannelClass = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_szVariableName = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_nType = 0x38; // CUtlVector + constexpr std::ptrdiff_t m_nFlags = 0x50; // CUtlVector + constexpr std::ptrdiff_t m_szGrouping = 0x68; // CUtlVector + constexpr std::ptrdiff_t m_nCompressorIndex = 0x80; // CUtlVector + constexpr std::ptrdiff_t m_szElementNames = 0x98; // CUtlVector> + constexpr std::ptrdiff_t m_nElementUniqueID = 0xB0; // CUtlVector> + constexpr std::ptrdiff_t m_nElementMask = 0xC8; // CUtlVector + constexpr std::ptrdiff_t m_vectorCompressor = 0xF8; // CUtlVector*> + constexpr std::ptrdiff_t m_quaternionCompressor = 0x110; // CUtlVector*> + constexpr std::ptrdiff_t m_intCompressor = 0x128; // CUtlVector*> + constexpr std::ptrdiff_t m_boolCompressor = 0x140; // CUtlVector*> + constexpr std::ptrdiff_t m_colorCompressor = 0x158; // CUtlVector*> + constexpr std::ptrdiff_t m_vector2DCompressor = 0x170; // CUtlVector*> + constexpr std::ptrdiff_t m_vector4DCompressor = 0x188; // CUtlVector*> +} + +namespace CConcreteAnimParameter { // CAnimParameterBase + constexpr std::ptrdiff_t m_previewButton = 0x50; // AnimParamButton_t + constexpr std::ptrdiff_t m_eNetworkSetting = 0x54; // AnimParamNetworkSetting + constexpr std::ptrdiff_t m_bUseMostRecentValue = 0x58; // bool + constexpr std::ptrdiff_t m_bAutoReset = 0x59; // bool + constexpr std::ptrdiff_t m_bGameWritable = 0x5A; // bool + constexpr std::ptrdiff_t m_bGraphWritable = 0x5B; // bool +} + +namespace CConstraintSlave { + constexpr std::ptrdiff_t m_qBaseOrientation = 0x0; // Quaternion + constexpr std::ptrdiff_t m_vBasePosition = 0x10; // Vector + constexpr std::ptrdiff_t m_nBoneHash = 0x1C; // uint32_t + constexpr std::ptrdiff_t m_flWeight = 0x20; // float + constexpr std::ptrdiff_t m_sName = 0x28; // CUtlString +} + +namespace CConstraintTarget { + constexpr std::ptrdiff_t m_qOffset = 0x20; // Quaternion + constexpr std::ptrdiff_t m_vOffset = 0x30; // Vector + constexpr std::ptrdiff_t m_nBoneHash = 0x3C; // uint32_t + constexpr std::ptrdiff_t m_sName = 0x40; // CUtlString + constexpr std::ptrdiff_t m_flWeight = 0x48; // float + constexpr std::ptrdiff_t m_bIsAttachment = 0x59; // bool +} + +namespace CCurrentRotationVelocityMetricEvaluator { // CMotionMetricEvaluator +} + +namespace CCurrentVelocityMetricEvaluator { // CMotionMetricEvaluator +} + +namespace CCycleBase { + constexpr std::ptrdiff_t m_flCycle = 0x0; // float +} + +namespace CCycleControlClipUpdateNode { // CLeafUpdateNode + constexpr std::ptrdiff_t m_tags = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_hSequence = 0x7C; // HSequence + constexpr std::ptrdiff_t m_duration = 0x80; // float + constexpr std::ptrdiff_t m_valueSource = 0x84; // AnimValueSource + constexpr std::ptrdiff_t m_paramIndex = 0x88; // CAnimParamHandle +} + +namespace CCycleControlUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_valueSource = 0x68; // AnimValueSource + constexpr std::ptrdiff_t m_paramIndex = 0x6C; // CAnimParamHandle +} + +namespace CDampedPathAnimMotorUpdater { // CPathAnimMotorUpdaterBase + constexpr std::ptrdiff_t m_flAnticipationTime = 0x2C; // float + constexpr std::ptrdiff_t m_flMinSpeedScale = 0x30; // float + constexpr std::ptrdiff_t m_hAnticipationPosParam = 0x34; // CAnimParamHandle + constexpr std::ptrdiff_t m_hAnticipationHeadingParam = 0x36; // CAnimParamHandle + constexpr std::ptrdiff_t m_flSpringConstant = 0x38; // float + constexpr std::ptrdiff_t m_flMinSpringTension = 0x3C; // float + constexpr std::ptrdiff_t m_flMaxSpringTension = 0x40; // float +} + +namespace CDampedValueComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_items = 0x30; // CUtlVector +} + +namespace CDampedValueUpdateItem { + constexpr std::ptrdiff_t m_damping = 0x0; // CAnimInputDamping + constexpr std::ptrdiff_t m_hParamIn = 0x18; // CAnimParamHandle + constexpr std::ptrdiff_t m_hParamOut = 0x1A; // CAnimParamHandle +} + +namespace CDemoSettingsComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_settings = 0x30; // CAnimDemoCaptureSettings +} + +namespace CDirectPlaybackTagData { + constexpr std::ptrdiff_t m_sequenceName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_tags = 0x8; // CUtlVector +} + +namespace CDirectPlaybackUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_bFinishEarly = 0x6C; // bool + constexpr std::ptrdiff_t m_bResetOnFinish = 0x6D; // bool + constexpr std::ptrdiff_t m_allTags = 0x70; // CUtlVector +} + +namespace CDirectionalBlendUpdateNode { // CLeafUpdateNode + constexpr std::ptrdiff_t m_hSequences = 0x5C; // HSequence[8] + constexpr std::ptrdiff_t m_damping = 0x80; // CAnimInputDamping + constexpr std::ptrdiff_t m_blendValueSource = 0x90; // AnimValueSource + constexpr std::ptrdiff_t m_paramIndex = 0x94; // CAnimParamHandle + constexpr std::ptrdiff_t m_playbackSpeed = 0x98; // float + constexpr std::ptrdiff_t m_duration = 0x9C; // float + constexpr std::ptrdiff_t m_bLoop = 0xA0; // bool + constexpr std::ptrdiff_t m_bLockBlendOnReset = 0xA1; // bool +} + +namespace CDistanceRemainingMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_flMaxDistance = 0x50; // float + constexpr std::ptrdiff_t m_flMinDistance = 0x54; // float + constexpr std::ptrdiff_t m_flStartGoalFilterDistance = 0x58; // float + constexpr std::ptrdiff_t m_flMaxGoalOvershootScale = 0x5C; // float + constexpr std::ptrdiff_t m_bFilterFixedMinDistance = 0x60; // bool + constexpr std::ptrdiff_t m_bFilterGoalDistance = 0x61; // bool + constexpr std::ptrdiff_t m_bFilterGoalOvershoot = 0x62; // bool +} + +namespace CDrawCullingData { + constexpr std::ptrdiff_t m_vConeApex = 0x0; // Vector + constexpr std::ptrdiff_t m_ConeAxis = 0xC; // int8_t[3] + constexpr std::ptrdiff_t m_ConeCutoff = 0xF; // int8_t +} + +namespace CEditableMotionGraph { // CMotionGraph +} + +namespace CEmitTagActionUpdater { // CAnimActionUpdater + constexpr std::ptrdiff_t m_nTagIndex = 0x18; // int32_t + constexpr std::ptrdiff_t m_bIsZeroDuration = 0x1C; // bool +} + +namespace CEnumAnimParameter { // CConcreteAnimParameter + constexpr std::ptrdiff_t m_defaultValue = 0x68; // uint8_t + constexpr std::ptrdiff_t m_enumOptions = 0x70; // CUtlVector +} + +namespace CExpressionActionUpdater { // CAnimActionUpdater + constexpr std::ptrdiff_t m_hParam = 0x18; // CAnimParamHandle + constexpr std::ptrdiff_t m_eParamType = 0x1A; // AnimParamType_t + constexpr std::ptrdiff_t m_hScript = 0x1C; // AnimScriptHandle +} + +namespace CFingerBone { + constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_hingeAxis = 0x8; // Vector + constexpr std::ptrdiff_t m_vCapsulePos1 = 0x14; // Vector + constexpr std::ptrdiff_t m_vCapsulePos2 = 0x20; // Vector + constexpr std::ptrdiff_t m_flMinAngle = 0x2C; // float + constexpr std::ptrdiff_t m_flMaxAngle = 0x30; // float + constexpr std::ptrdiff_t m_flRadius = 0x34; // float +} + +namespace CFingerChain { + constexpr std::ptrdiff_t m_targets = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_bones = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_name = 0x30; // CUtlString + constexpr std::ptrdiff_t m_tipParentBoneName = 0x38; // CUtlString + constexpr std::ptrdiff_t m_vTipOffset = 0x40; // Vector + constexpr std::ptrdiff_t m_metacarpalBoneName = 0x50; // CUtlString + constexpr std::ptrdiff_t m_vSplayHingeAxis = 0x58; // Vector + constexpr std::ptrdiff_t m_flSplayMinAngle = 0x64; // float + constexpr std::ptrdiff_t m_flSplayMaxAngle = 0x68; // float + constexpr std::ptrdiff_t m_flFingerScaleRatio = 0x6C; // float +} + +namespace CFingerSource { + constexpr std::ptrdiff_t m_nFingerIndex = 0x0; // AnimVRFinger_t + constexpr std::ptrdiff_t m_flFingerWeight = 0x4; // float +} + +namespace CFlexController { + constexpr std::ptrdiff_t m_szName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_szType = 0x8; // CUtlString + constexpr std::ptrdiff_t min = 0x10; // float + constexpr std::ptrdiff_t max = 0x14; // float +} + +namespace CFlexDesc { + constexpr std::ptrdiff_t m_szFacs = 0x0; // CUtlString +} + +namespace CFlexOp { + constexpr std::ptrdiff_t m_OpCode = 0x0; // FlexOpCode_t + constexpr std::ptrdiff_t m_Data = 0x4; // int32_t +} + +namespace CFlexRule { + constexpr std::ptrdiff_t m_nFlex = 0x0; // int32_t + constexpr std::ptrdiff_t m_FlexOps = 0x8; // CUtlVector +} + +namespace CFloatAnimParameter { // CConcreteAnimParameter + constexpr std::ptrdiff_t m_fDefaultValue = 0x60; // float + constexpr std::ptrdiff_t m_fMinValue = 0x64; // float + constexpr std::ptrdiff_t m_fMaxValue = 0x68; // float + constexpr std::ptrdiff_t m_bInterpolate = 0x6C; // bool +} + +namespace CFollowAttachmentUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_opFixedData = 0x70; // FollowAttachmentSettings_t +} + +namespace CFollowPathUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_flBlendOutTime = 0x6C; // float + constexpr std::ptrdiff_t m_bBlockNonPathMovement = 0x70; // bool + constexpr std::ptrdiff_t m_bStopFeetAtGoal = 0x71; // bool + constexpr std::ptrdiff_t m_bScaleSpeed = 0x72; // bool + constexpr std::ptrdiff_t m_flScale = 0x74; // float + constexpr std::ptrdiff_t m_flMinAngle = 0x78; // float + constexpr std::ptrdiff_t m_flMaxAngle = 0x7C; // float + constexpr std::ptrdiff_t m_flSpeedScaleBlending = 0x80; // float + constexpr std::ptrdiff_t m_turnDamping = 0x88; // CAnimInputDamping + constexpr std::ptrdiff_t m_facingTarget = 0x98; // AnimValueSource + constexpr std::ptrdiff_t m_hParam = 0x9C; // CAnimParamHandle + constexpr std::ptrdiff_t m_flTurnToFaceOffset = 0xA0; // float + constexpr std::ptrdiff_t m_bTurnToFace = 0xA4; // bool +} + +namespace CFootAdjustmentUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_clips = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_hBasePoseCacheHandle = 0x88; // CPoseHandle + constexpr std::ptrdiff_t m_facingTarget = 0x8C; // CAnimParamHandle + constexpr std::ptrdiff_t m_flTurnTimeMin = 0x90; // float + constexpr std::ptrdiff_t m_flTurnTimeMax = 0x94; // float + constexpr std::ptrdiff_t m_flStepHeightMax = 0x98; // float + constexpr std::ptrdiff_t m_flStepHeightMaxAngle = 0x9C; // float + constexpr std::ptrdiff_t m_bResetChild = 0xA0; // bool + constexpr std::ptrdiff_t m_bAnimationDriven = 0xA1; // bool +} + +namespace CFootCycle { // CCycleBase +} + +namespace CFootCycleDefinition { + constexpr std::ptrdiff_t m_vStancePositionMS = 0x0; // Vector + constexpr std::ptrdiff_t m_vMidpointPositionMS = 0xC; // Vector + constexpr std::ptrdiff_t m_flStanceDirectionMS = 0x18; // float + constexpr std::ptrdiff_t m_vToStrideStartPos = 0x1C; // Vector + constexpr std::ptrdiff_t m_stanceCycle = 0x28; // CAnimCycle + constexpr std::ptrdiff_t m_footLiftCycle = 0x2C; // CFootCycle + constexpr std::ptrdiff_t m_footOffCycle = 0x30; // CFootCycle + constexpr std::ptrdiff_t m_footStrikeCycle = 0x34; // CFootCycle + constexpr std::ptrdiff_t m_footLandCycle = 0x38; // CFootCycle +} + +namespace CFootCycleMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_footIndices = 0x50; // CUtlVector +} + +namespace CFootDefinition { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_ankleBoneName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_toeBoneName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_vBallOffset = 0x18; // Vector + constexpr std::ptrdiff_t m_vHeelOffset = 0x24; // Vector + constexpr std::ptrdiff_t m_flFootLength = 0x30; // float + constexpr std::ptrdiff_t m_flBindPoseDirectionMS = 0x34; // float + constexpr std::ptrdiff_t m_flTraceHeight = 0x38; // float + constexpr std::ptrdiff_t m_flTraceRadius = 0x3C; // float +} + +namespace CFootFallAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_foot = 0x38; // FootFallTagFoot_t +} + +namespace CFootLockUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_opFixedSettings = 0x68; // FootLockPoseOpFixedSettings + constexpr std::ptrdiff_t m_footSettings = 0xD0; // CUtlVector + constexpr std::ptrdiff_t m_hipShiftDamping = 0xE8; // CAnimInputDamping + constexpr std::ptrdiff_t m_rootHeightDamping = 0xF8; // CAnimInputDamping + constexpr std::ptrdiff_t m_flStrideCurveScale = 0x108; // float + constexpr std::ptrdiff_t m_flStrideCurveLimitScale = 0x10C; // float + constexpr std::ptrdiff_t m_flStepHeightIncreaseScale = 0x110; // float + constexpr std::ptrdiff_t m_flStepHeightDecreaseScale = 0x114; // float + constexpr std::ptrdiff_t m_flHipShiftScale = 0x118; // float + constexpr std::ptrdiff_t m_flBlendTime = 0x11C; // float + constexpr std::ptrdiff_t m_flMaxRootHeightOffset = 0x120; // float + constexpr std::ptrdiff_t m_flMinRootHeightOffset = 0x124; // float + constexpr std::ptrdiff_t m_flTiltPlanePitchSpringStrength = 0x128; // float + constexpr std::ptrdiff_t m_flTiltPlaneRollSpringStrength = 0x12C; // float + constexpr std::ptrdiff_t m_bApplyFootRotationLimits = 0x130; // bool + constexpr std::ptrdiff_t m_bApplyHipShift = 0x131; // bool + constexpr std::ptrdiff_t m_bModulateStepHeight = 0x132; // bool + constexpr std::ptrdiff_t m_bResetChild = 0x133; // bool + constexpr std::ptrdiff_t m_bEnableVerticalCurvedPaths = 0x134; // bool + constexpr std::ptrdiff_t m_bEnableRootHeightDamping = 0x135; // bool +} + +namespace CFootMotion { + constexpr std::ptrdiff_t m_strides = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_name = 0x18; // CUtlString + constexpr std::ptrdiff_t m_bAdditive = 0x20; // bool +} + +namespace CFootPinningUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_poseOpFixedData = 0x70; // FootPinningPoseOpFixedData_t + constexpr std::ptrdiff_t m_eTimingSource = 0xA0; // FootPinningTimingSource + constexpr std::ptrdiff_t m_params = 0xA8; // CUtlVector + constexpr std::ptrdiff_t m_bResetChild = 0xC0; // bool +} + +namespace CFootPositionMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_footIndices = 0x50; // CUtlVector + constexpr std::ptrdiff_t m_bIgnoreSlope = 0x68; // bool +} + +namespace CFootStepTriggerUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_triggers = 0x68; // CUtlVector + constexpr std::ptrdiff_t m_flTolerance = 0x84; // float +} + +namespace CFootStride { + constexpr std::ptrdiff_t m_definition = 0x0; // CFootCycleDefinition + constexpr std::ptrdiff_t m_trajectories = 0x40; // CFootTrajectories +} + +namespace CFootTrajectories { + constexpr std::ptrdiff_t m_trajectories = 0x0; // CUtlVector +} + +namespace CFootTrajectory { + constexpr std::ptrdiff_t m_vOffset = 0x0; // Vector + constexpr std::ptrdiff_t m_flRotationOffset = 0xC; // float + constexpr std::ptrdiff_t m_flProgression = 0x10; // float +} + +namespace CFootstepLandedAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_FootstepType = 0x38; // FootstepLandedFootSoundType_t + constexpr std::ptrdiff_t m_OverrideSoundName = 0x40; // CUtlString + constexpr std::ptrdiff_t m_DebugAnimSourceString = 0x48; // CUtlString + constexpr std::ptrdiff_t m_BoneName = 0x50; // CUtlString +} + +namespace CFutureFacingMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_flDistance = 0x50; // float + constexpr std::ptrdiff_t m_flTime = 0x54; // float +} + +namespace CFutureVelocityMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_flDistance = 0x50; // float + constexpr std::ptrdiff_t m_flStoppingDistance = 0x54; // float + constexpr std::ptrdiff_t m_flTargetSpeed = 0x58; // float + constexpr std::ptrdiff_t m_eMode = 0x5C; // VelocityMetricMode +} + +namespace CHitBox { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_sSurfaceProperty = 0x8; // CUtlString + constexpr std::ptrdiff_t m_sBoneName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_vMinBounds = 0x18; // Vector + constexpr std::ptrdiff_t m_vMaxBounds = 0x24; // Vector + constexpr std::ptrdiff_t m_flShapeRadius = 0x30; // float + constexpr std::ptrdiff_t m_nBoneNameHash = 0x34; // uint32_t + constexpr std::ptrdiff_t m_nGroupId = 0x38; // int32_t + constexpr std::ptrdiff_t m_nShapeType = 0x3C; // uint8_t + constexpr std::ptrdiff_t m_bTranslationOnly = 0x3D; // bool + constexpr std::ptrdiff_t m_CRC = 0x40; // uint32_t + constexpr std::ptrdiff_t m_cRenderColor = 0x44; // Color + constexpr std::ptrdiff_t m_nHitBoxIndex = 0x48; // uint16_t +} + +namespace CHitBoxSet { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nNameHash = 0x8; // uint32_t + constexpr std::ptrdiff_t m_HitBoxes = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_SourceFilename = 0x28; // CUtlString +} + +namespace CHitBoxSetList { + constexpr std::ptrdiff_t m_HitBoxSets = 0x0; // CUtlVector +} + +namespace CHitReactUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_opFixedSettings = 0x68; // HitReactFixedSettings_t + constexpr std::ptrdiff_t m_triggerParam = 0xB4; // CAnimParamHandle + constexpr std::ptrdiff_t m_hitBoneParam = 0xB6; // CAnimParamHandle + constexpr std::ptrdiff_t m_hitOffsetParam = 0xB8; // CAnimParamHandle + constexpr std::ptrdiff_t m_hitDirectionParam = 0xBA; // CAnimParamHandle + constexpr std::ptrdiff_t m_hitStrengthParam = 0xBC; // CAnimParamHandle + constexpr std::ptrdiff_t m_flMinDelayBetweenHits = 0xC0; // float + constexpr std::ptrdiff_t m_bResetChild = 0xC4; // bool +} + +namespace CInputStreamUpdateNode { // CLeafUpdateNode +} + +namespace CIntAnimParameter { // CConcreteAnimParameter + constexpr std::ptrdiff_t m_defaultValue = 0x60; // int32_t + constexpr std::ptrdiff_t m_minValue = 0x64; // int32_t + constexpr std::ptrdiff_t m_maxValue = 0x68; // int32_t +} + +namespace CJiggleBoneUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_opFixedData = 0x68; // JiggleBoneSettingsList_t +} + +namespace CJumpHelperUpdateNode { // CSequenceUpdateNode + constexpr std::ptrdiff_t m_hTargetParam = 0xA8; // CAnimParamHandle + constexpr std::ptrdiff_t m_flOriginalJumpMovement = 0xAC; // Vector + constexpr std::ptrdiff_t m_flOriginalJumpDuration = 0xB8; // float + constexpr std::ptrdiff_t m_flJumpStartCycle = 0xBC; // float + constexpr std::ptrdiff_t m_flJumpEndCycle = 0xC0; // float + constexpr std::ptrdiff_t m_eCorrectionMethod = 0xC4; // JumpCorrectionMethod + constexpr std::ptrdiff_t m_bTranslationAxis = 0xC8; // bool[3] + constexpr std::ptrdiff_t m_bScaleSpeed = 0xCB; // bool +} + +namespace CLODComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_nServerLOD = 0x30; // int32_t +} + +namespace CLeafUpdateNode { // CAnimUpdateNodeBase +} + +namespace CLeanMatrixUpdateNode { // CLeafUpdateNode + constexpr std::ptrdiff_t m_frameCorners = 0x5C; // int32_t[3][3] + constexpr std::ptrdiff_t m_poses = 0x80; // CPoseHandle[9] + constexpr std::ptrdiff_t m_damping = 0xA8; // CAnimInputDamping + constexpr std::ptrdiff_t m_blendSource = 0xB8; // AnimVectorSource + constexpr std::ptrdiff_t m_paramIndex = 0xBC; // CAnimParamHandle + constexpr std::ptrdiff_t m_verticalAxis = 0xC0; // Vector + constexpr std::ptrdiff_t m_horizontalAxis = 0xCC; // Vector + constexpr std::ptrdiff_t m_hSequence = 0xD8; // HSequence + constexpr std::ptrdiff_t m_flMaxValue = 0xDC; // float + constexpr std::ptrdiff_t m_nSequenceMaxFrame = 0xE0; // int32_t +} + +namespace CLookAtUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_opFixedSettings = 0x70; // LookAtOpFixedSettings_t + constexpr std::ptrdiff_t m_target = 0x138; // AnimVectorSource + constexpr std::ptrdiff_t m_paramIndex = 0x13C; // CAnimParamHandle + constexpr std::ptrdiff_t m_weightParamIndex = 0x13E; // CAnimParamHandle + constexpr std::ptrdiff_t m_bResetChild = 0x140; // bool + constexpr std::ptrdiff_t m_bLockWhenWaning = 0x141; // bool +} + +namespace CLookComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_hLookHeading = 0x34; // CAnimParamHandle + constexpr std::ptrdiff_t m_hLookHeadingVelocity = 0x36; // CAnimParamHandle + constexpr std::ptrdiff_t m_hLookPitch = 0x38; // CAnimParamHandle + constexpr std::ptrdiff_t m_hLookDistance = 0x3A; // CAnimParamHandle + constexpr std::ptrdiff_t m_hLookDirection = 0x3C; // CAnimParamHandle + constexpr std::ptrdiff_t m_hLookTarget = 0x3E; // CAnimParamHandle + constexpr std::ptrdiff_t m_hLookTargetWorldSpace = 0x40; // CAnimParamHandle + constexpr std::ptrdiff_t m_bNetworkLookTarget = 0x42; // bool +} + +namespace CMaterialAttributeAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_AttributeName = 0x38; // CUtlString + constexpr std::ptrdiff_t m_AttributeType = 0x40; // MatterialAttributeTagType_t + constexpr std::ptrdiff_t m_flValue = 0x44; // float + constexpr std::ptrdiff_t m_Color = 0x48; // Color +} + +namespace CMaterialDrawDescriptor { + constexpr std::ptrdiff_t m_nPrimitiveType = 0x0; // RenderPrimitiveType_t + constexpr std::ptrdiff_t m_nBaseVertex = 0x4; // int32_t + constexpr std::ptrdiff_t m_nVertexCount = 0x8; // int32_t + constexpr std::ptrdiff_t m_nStartIndex = 0xC; // int32_t + constexpr std::ptrdiff_t m_nIndexCount = 0x10; // int32_t + constexpr std::ptrdiff_t m_flUvDensity = 0x14; // float + constexpr std::ptrdiff_t m_vTintColor = 0x18; // Vector + constexpr std::ptrdiff_t m_flAlpha = 0x24; // float + constexpr std::ptrdiff_t m_nFirstMeshlet = 0x2C; // uint32_t + constexpr std::ptrdiff_t m_nNumMeshlets = 0x30; // uint16_t + constexpr std::ptrdiff_t m_indexBuffer = 0xB8; // CRenderBufferBinding + constexpr std::ptrdiff_t m_material = 0xE0; // CStrongHandle +} + +namespace CMeshletDescriptor { + constexpr std::ptrdiff_t m_PackedAABB = 0x0; // PackedAABB_t + constexpr std::ptrdiff_t m_CullingData = 0x8; // CDrawCullingData +} + +namespace CModelConfig { + constexpr std::ptrdiff_t m_ConfigName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_Elements = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_bTopLevel = 0x20; // bool +} + +namespace CModelConfigElement { + constexpr std::ptrdiff_t m_ElementName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_NestedElements = 0x10; // CUtlVector +} + +namespace CModelConfigElement_AttachedModel { // CModelConfigElement + constexpr std::ptrdiff_t m_InstanceName = 0x48; // CUtlString + constexpr std::ptrdiff_t m_EntityClass = 0x50; // CUtlString + constexpr std::ptrdiff_t m_hModel = 0x58; // CStrongHandle + constexpr std::ptrdiff_t m_vOffset = 0x60; // Vector + constexpr std::ptrdiff_t m_aAngOffset = 0x6C; // QAngle + constexpr std::ptrdiff_t m_AttachmentName = 0x78; // CUtlString + constexpr std::ptrdiff_t m_LocalAttachmentOffsetName = 0x80; // CUtlString + constexpr std::ptrdiff_t m_AttachmentType = 0x88; // ModelConfigAttachmentType_t + constexpr std::ptrdiff_t m_bBoneMergeFlex = 0x8C; // bool + constexpr std::ptrdiff_t m_bUserSpecifiedColor = 0x8D; // bool + constexpr std::ptrdiff_t m_bUserSpecifiedMaterialGroup = 0x8E; // bool + constexpr std::ptrdiff_t m_bAcceptParentMaterialDrivenDecals = 0x8F; // bool + constexpr std::ptrdiff_t m_BodygroupOnOtherModels = 0x90; // CUtlString + constexpr std::ptrdiff_t m_MaterialGroupOnOtherModels = 0x98; // CUtlString +} + +namespace CModelConfigElement_Command { // CModelConfigElement + constexpr std::ptrdiff_t m_Command = 0x48; // CUtlString + constexpr std::ptrdiff_t m_Args = 0x50; // KeyValues3 +} + +namespace CModelConfigElement_RandomColor { // CModelConfigElement + constexpr std::ptrdiff_t m_Gradient = 0x48; // CColorGradient +} + +namespace CModelConfigElement_RandomPick { // CModelConfigElement + constexpr std::ptrdiff_t m_Choices = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_ChoiceWeights = 0x60; // CUtlVector +} + +namespace CModelConfigElement_SetBodygroup { // CModelConfigElement + constexpr std::ptrdiff_t m_GroupName = 0x48; // CUtlString + constexpr std::ptrdiff_t m_nChoice = 0x50; // int32_t +} + +namespace CModelConfigElement_SetBodygroupOnAttachedModels { // CModelConfigElement + constexpr std::ptrdiff_t m_GroupName = 0x48; // CUtlString + constexpr std::ptrdiff_t m_nChoice = 0x50; // int32_t +} + +namespace CModelConfigElement_SetMaterialGroup { // CModelConfigElement + constexpr std::ptrdiff_t m_MaterialGroupName = 0x48; // CUtlString +} + +namespace CModelConfigElement_SetMaterialGroupOnAttachedModels { // CModelConfigElement + constexpr std::ptrdiff_t m_MaterialGroupName = 0x48; // CUtlString +} + +namespace CModelConfigElement_SetRenderColor { // CModelConfigElement + constexpr std::ptrdiff_t m_Color = 0x48; // Color +} + +namespace CModelConfigElement_UserPick { // CModelConfigElement + constexpr std::ptrdiff_t m_Choices = 0x48; // CUtlVector +} + +namespace CModelConfigList { + constexpr std::ptrdiff_t m_bHideMaterialGroupInTools = 0x0; // bool + constexpr std::ptrdiff_t m_bHideRenderColorInTools = 0x1; // bool + constexpr std::ptrdiff_t m_Configs = 0x8; // CUtlVector +} + +namespace CMoodVData { + constexpr std::ptrdiff_t m_sModelName = 0x0; // CResourceNameTyped> + constexpr std::ptrdiff_t m_nMoodType = 0xE0; // MoodType_t + constexpr std::ptrdiff_t m_animationLayers = 0xE8; // CUtlVector +} + +namespace CMorphBundleData { + constexpr std::ptrdiff_t m_flULeftSrc = 0x0; // float + constexpr std::ptrdiff_t m_flVTopSrc = 0x4; // float + constexpr std::ptrdiff_t m_offsets = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_ranges = 0x20; // CUtlVector +} + +namespace CMorphConstraint { // CBaseConstraint + constexpr std::ptrdiff_t m_sTargetMorph = 0x70; // CUtlString + constexpr std::ptrdiff_t m_nSlaveChannel = 0x78; // int32_t + constexpr std::ptrdiff_t m_flMin = 0x7C; // float + constexpr std::ptrdiff_t m_flMax = 0x80; // float +} + +namespace CMorphData { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_morphRectDatas = 0x8; // CUtlVector +} + +namespace CMorphRectData { + constexpr std::ptrdiff_t m_nXLeftDst = 0x0; // int16_t + constexpr std::ptrdiff_t m_nYTopDst = 0x2; // int16_t + constexpr std::ptrdiff_t m_flUWidthSrc = 0x4; // float + constexpr std::ptrdiff_t m_flVHeightSrc = 0x8; // float + constexpr std::ptrdiff_t m_bundleDatas = 0x10; // CUtlVector +} + +namespace CMorphSetData { + constexpr std::ptrdiff_t m_nWidth = 0x10; // int32_t + constexpr std::ptrdiff_t m_nHeight = 0x14; // int32_t + constexpr std::ptrdiff_t m_bundleTypes = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_morphDatas = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_pTextureAtlas = 0x48; // CStrongHandle + constexpr std::ptrdiff_t m_FlexDesc = 0x50; // CUtlVector + constexpr std::ptrdiff_t m_FlexControllers = 0x68; // CUtlVector + constexpr std::ptrdiff_t m_FlexRules = 0x80; // CUtlVector +} + +namespace CMotionDataSet { + constexpr std::ptrdiff_t m_groups = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_nDimensionCount = 0x18; // int32_t +} + +namespace CMotionGraph { + constexpr std::ptrdiff_t m_paramSpans = 0x10; // CParamSpanUpdater + constexpr std::ptrdiff_t m_tags = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_pRootNode = 0x40; // CSmartPtr + constexpr std::ptrdiff_t m_nParameterCount = 0x48; // int32_t + constexpr std::ptrdiff_t m_nConfigStartIndex = 0x4C; // int32_t + constexpr std::ptrdiff_t m_nConfigCount = 0x50; // int32_t + constexpr std::ptrdiff_t m_bLoop = 0x54; // bool +} + +namespace CMotionGraphConfig { + constexpr std::ptrdiff_t m_paramValues = 0x0; // float[4] + constexpr std::ptrdiff_t m_flDuration = 0x10; // float + constexpr std::ptrdiff_t m_nMotionIndex = 0x14; // MotionIndex + constexpr std::ptrdiff_t m_nSampleStart = 0x18; // int32_t + constexpr std::ptrdiff_t m_nSampleCount = 0x1C; // int32_t +} + +namespace CMotionGraphGroup { + constexpr std::ptrdiff_t m_searchDB = 0x0; // CMotionSearchDB + constexpr std::ptrdiff_t m_motionGraphs = 0xB8; // CUtlVector> + constexpr std::ptrdiff_t m_motionGraphConfigs = 0xD0; // CUtlVector + constexpr std::ptrdiff_t m_sampleToConfig = 0xE8; // CUtlVector + constexpr std::ptrdiff_t m_hIsActiveScript = 0x100; // AnimScriptHandle +} + +namespace CMotionGraphUpdateNode { // CLeafUpdateNode + constexpr std::ptrdiff_t m_pMotionGraph = 0x58; // CSmartPtr +} + +namespace CMotionMatchingUpdateNode { // CLeafUpdateNode + constexpr std::ptrdiff_t m_dataSet = 0x58; // CMotionDataSet + constexpr std::ptrdiff_t m_metrics = 0x78; // CUtlVector> + constexpr std::ptrdiff_t m_weights = 0x90; // CUtlVector + constexpr std::ptrdiff_t m_bSearchEveryTick = 0xE0; // bool + constexpr std::ptrdiff_t m_flSearchInterval = 0xE4; // float + constexpr std::ptrdiff_t m_bSearchWhenClipEnds = 0xE8; // bool + constexpr std::ptrdiff_t m_bSearchWhenGoalChanges = 0xE9; // bool + constexpr std::ptrdiff_t m_blendCurve = 0xEC; // CBlendCurve + constexpr std::ptrdiff_t m_flSampleRate = 0xF4; // float + constexpr std::ptrdiff_t m_flBlendTime = 0xF8; // float + constexpr std::ptrdiff_t m_bLockClipWhenWaning = 0xFC; // bool + constexpr std::ptrdiff_t m_flSelectionThreshold = 0x100; // float + constexpr std::ptrdiff_t m_flReselectionTimeWindow = 0x104; // float + constexpr std::ptrdiff_t m_bEnableRotationCorrection = 0x108; // bool + constexpr std::ptrdiff_t m_bGoalAssist = 0x109; // bool + constexpr std::ptrdiff_t m_flGoalAssistDistance = 0x10C; // float + constexpr std::ptrdiff_t m_flGoalAssistTolerance = 0x110; // float + constexpr std::ptrdiff_t m_distanceScale_Damping = 0x118; // CAnimInputDamping + constexpr std::ptrdiff_t m_flDistanceScale_OuterRadius = 0x128; // float + constexpr std::ptrdiff_t m_flDistanceScale_InnerRadius = 0x12C; // float + constexpr std::ptrdiff_t m_flDistanceScale_MaxScale = 0x130; // float + constexpr std::ptrdiff_t m_flDistanceScale_MinScale = 0x134; // float + constexpr std::ptrdiff_t m_bEnableDistanceScaling = 0x138; // bool +} + +namespace CMotionMetricEvaluator { + constexpr std::ptrdiff_t m_means = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_standardDeviations = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_flWeight = 0x48; // float + constexpr std::ptrdiff_t m_nDimensionStartIndex = 0x4C; // int32_t +} + +namespace CMotionNode { + constexpr std::ptrdiff_t m_name = 0x18; // CUtlString + constexpr std::ptrdiff_t m_id = 0x20; // AnimNodeID +} + +namespace CMotionNodeBlend1D { // CMotionNode + constexpr std::ptrdiff_t m_blendItems = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_nParamIndex = 0x40; // int32_t +} + +namespace CMotionNodeSequence { // CMotionNode + constexpr std::ptrdiff_t m_tags = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_hSequence = 0x40; // HSequence + constexpr std::ptrdiff_t m_flPlaybackSpeed = 0x44; // float +} + +namespace CMotionSearchDB { + constexpr std::ptrdiff_t m_rootNode = 0x0; // CMotionSearchNode + constexpr std::ptrdiff_t m_residualQuantizer = 0x80; // CProductQuantizer + constexpr std::ptrdiff_t m_codeIndices = 0xA0; // CUtlVector +} + +namespace CMotionSearchNode { + constexpr std::ptrdiff_t m_children = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_quantizer = 0x18; // CVectorQuantizer + constexpr std::ptrdiff_t m_sampleCodes = 0x38; // CUtlVector> + constexpr std::ptrdiff_t m_sampleIndices = 0x50; // CUtlVector> + constexpr std::ptrdiff_t m_selectableSamples = 0x68; // CUtlVector +} + +namespace CMovementComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_movementModes = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_motors = 0x48; // CUtlVector> + constexpr std::ptrdiff_t m_facingDamping = 0x60; // CAnimInputDamping + constexpr std::ptrdiff_t m_eDefaultFacingMode = 0x70; // FacingMode + constexpr std::ptrdiff_t m_nDefaultMotorIndex = 0x7C; // int32_t + constexpr std::ptrdiff_t m_bMoveVarsDisabled = 0x80; // bool + constexpr std::ptrdiff_t m_bNetworkPath = 0x81; // bool + constexpr std::ptrdiff_t m_bNetworkFacing = 0x82; // bool + constexpr std::ptrdiff_t m_paramHandles = 0x83; // CAnimParamHandle[30] +} + +namespace CMovementMode { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_flSpeed = 0x8; // float +} + +namespace CMoverUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_damping = 0x70; // CAnimInputDamping + constexpr std::ptrdiff_t m_facingTarget = 0x80; // AnimValueSource + constexpr std::ptrdiff_t m_hMoveVecParam = 0x84; // CAnimParamHandle + constexpr std::ptrdiff_t m_hMoveHeadingParam = 0x86; // CAnimParamHandle + constexpr std::ptrdiff_t m_hTurnToFaceParam = 0x88; // CAnimParamHandle + constexpr std::ptrdiff_t m_flTurnToFaceOffset = 0x8C; // float + constexpr std::ptrdiff_t m_flTurnToFaceLimit = 0x90; // float + constexpr std::ptrdiff_t m_bAdditive = 0x94; // bool + constexpr std::ptrdiff_t m_bApplyMovement = 0x95; // bool + constexpr std::ptrdiff_t m_bOrientMovement = 0x96; // bool + constexpr std::ptrdiff_t m_bApplyRotation = 0x97; // bool + constexpr std::ptrdiff_t m_bLimitOnly = 0x98; // bool +} + +namespace COrientConstraint { // CBaseConstraint +} + +namespace CParamSpanUpdater { + constexpr std::ptrdiff_t m_spans = 0x0; // CUtlVector +} + +namespace CParentConstraint { // CBaseConstraint +} + +namespace CParticleAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_hParticleSystem = 0x38; // CStrongHandle + constexpr std::ptrdiff_t m_particleSystemName = 0x40; // CUtlString + constexpr std::ptrdiff_t m_configName = 0x48; // CUtlString + constexpr std::ptrdiff_t m_bDetachFromOwner = 0x50; // bool + constexpr std::ptrdiff_t m_bStopWhenTagEnds = 0x51; // bool + constexpr std::ptrdiff_t m_bTagEndStopIsInstant = 0x52; // bool + constexpr std::ptrdiff_t m_attachmentName = 0x58; // CUtlString + constexpr std::ptrdiff_t m_attachmentType = 0x60; // ParticleAttachment_t + constexpr std::ptrdiff_t m_attachmentCP1Name = 0x68; // CUtlString + constexpr std::ptrdiff_t m_attachmentCP1Type = 0x70; // ParticleAttachment_t +} + +namespace CPathAnimMotorUpdater { // CPathAnimMotorUpdaterBase +} + +namespace CPathAnimMotorUpdaterBase { // CAnimMotorUpdaterBase + constexpr std::ptrdiff_t m_bLockToPath = 0x20; // bool +} + +namespace CPathHelperUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_flStoppingRadius = 0x68; // float + constexpr std::ptrdiff_t m_flStoppingSpeedScale = 0x6C; // float +} + +namespace CPathMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_pathTimeSamples = 0x50; // CUtlVector + constexpr std::ptrdiff_t m_flDistance = 0x68; // float + constexpr std::ptrdiff_t m_bExtrapolateMovement = 0x6C; // bool + constexpr std::ptrdiff_t m_flMinExtrapolationSpeed = 0x70; // float +} + +namespace CPhysSurfaceProperties { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nameHash = 0x8; // uint32_t + constexpr std::ptrdiff_t m_baseNameHash = 0xC; // uint32_t + constexpr std::ptrdiff_t m_bHidden = 0x18; // bool + constexpr std::ptrdiff_t m_description = 0x20; // CUtlString + constexpr std::ptrdiff_t m_physics = 0x28; // CPhysSurfacePropertiesPhysics + constexpr std::ptrdiff_t m_audioSounds = 0x48; // CPhysSurfacePropertiesSoundNames + constexpr std::ptrdiff_t m_audioParams = 0x88; // CPhysSurfacePropertiesAudio +} + +namespace CPhysSurfacePropertiesAudio { + constexpr std::ptrdiff_t m_reflectivity = 0x0; // float + constexpr std::ptrdiff_t m_hardnessFactor = 0x4; // float + constexpr std::ptrdiff_t m_roughnessFactor = 0x8; // float + constexpr std::ptrdiff_t m_roughThreshold = 0xC; // float + constexpr std::ptrdiff_t m_hardThreshold = 0x10; // float + constexpr std::ptrdiff_t m_hardVelocityThreshold = 0x14; // float + constexpr std::ptrdiff_t m_flStaticImpactVolume = 0x18; // float + constexpr std::ptrdiff_t m_flOcclusionFactor = 0x1C; // float +} + +namespace CPhysSurfacePropertiesPhysics { + constexpr std::ptrdiff_t m_friction = 0x0; // float + constexpr std::ptrdiff_t m_elasticity = 0x4; // float + constexpr std::ptrdiff_t m_density = 0x8; // float + constexpr std::ptrdiff_t m_thickness = 0xC; // float + constexpr std::ptrdiff_t m_softContactFrequency = 0x10; // float + constexpr std::ptrdiff_t m_softContactDampingRatio = 0x14; // float + constexpr std::ptrdiff_t m_wheelDrag = 0x18; // float +} + +namespace CPhysSurfacePropertiesSoundNames { + constexpr std::ptrdiff_t m_impactSoft = 0x0; // CUtlString + constexpr std::ptrdiff_t m_impactHard = 0x8; // CUtlString + constexpr std::ptrdiff_t m_scrapeSmooth = 0x10; // CUtlString + constexpr std::ptrdiff_t m_scrapeRough = 0x18; // CUtlString + constexpr std::ptrdiff_t m_bulletImpact = 0x20; // CUtlString + constexpr std::ptrdiff_t m_rolling = 0x28; // CUtlString + constexpr std::ptrdiff_t m_break = 0x30; // CUtlString + constexpr std::ptrdiff_t m_strain = 0x38; // CUtlString +} + +namespace CPlayerInputAnimMotorUpdater { // CAnimMotorUpdaterBase + constexpr std::ptrdiff_t m_sampleTimes = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_flSpringConstant = 0x3C; // float + constexpr std::ptrdiff_t m_flAnticipationDistance = 0x40; // float + constexpr std::ptrdiff_t m_hAnticipationPosParam = 0x44; // CAnimParamHandle + constexpr std::ptrdiff_t m_hAnticipationHeadingParam = 0x46; // CAnimParamHandle + constexpr std::ptrdiff_t m_bUseAcceleration = 0x48; // bool +} + +namespace CPointConstraint { // CBaseConstraint +} + +namespace CPoseHandle { + constexpr std::ptrdiff_t m_nIndex = 0x0; // uint16_t + constexpr std::ptrdiff_t m_eType = 0x2; // PoseType_t +} + +namespace CProductQuantizer { + constexpr std::ptrdiff_t m_subQuantizers = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_nDimensions = 0x18; // int32_t +} + +namespace CQuaternionAnimParameter { // CConcreteAnimParameter + constexpr std::ptrdiff_t m_defaultValue = 0x60; // Quaternion + constexpr std::ptrdiff_t m_bInterpolate = 0x70; // bool +} + +namespace CRagdollAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_nPoseControl = 0x38; // AnimPoseControl + constexpr std::ptrdiff_t m_flFrequency = 0x3C; // float + constexpr std::ptrdiff_t m_flDampingRatio = 0x40; // float + constexpr std::ptrdiff_t m_flDecayDuration = 0x44; // float + constexpr std::ptrdiff_t m_flDecayBias = 0x48; // float + constexpr std::ptrdiff_t m_bDestroy = 0x4C; // bool +} + +namespace CRagdollComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_ragdollNodePaths = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_boneIndices = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_boneNames = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_weightLists = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_flSpringFrequencyMin = 0x90; // float + constexpr std::ptrdiff_t m_flSpringFrequencyMax = 0x94; // float + constexpr std::ptrdiff_t m_flMaxStretch = 0x98; // float +} + +namespace CRagdollUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_nWeightListIndex = 0x68; // int32_t + constexpr std::ptrdiff_t m_poseControlMethod = 0x6C; // RagdollPoseControl +} + +namespace CRenderBufferBinding { + constexpr std::ptrdiff_t m_hBuffer = 0x0; // uint64_t + constexpr std::ptrdiff_t m_nBindOffsetBytes = 0x10; // uint32_t +} + +namespace CRenderMesh { + constexpr std::ptrdiff_t m_sceneObjects = 0x10; // CUtlVectorFixedGrowable + constexpr std::ptrdiff_t m_constraints = 0xA0; // CUtlVector + constexpr std::ptrdiff_t m_skeleton = 0xB8; // CRenderSkeleton +} + +namespace CRenderSkeleton { + constexpr std::ptrdiff_t m_bones = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_boneParents = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_nBoneWeightCount = 0x48; // int32_t +} + +namespace CRootUpdateNode { // CUnaryUpdateNode +} + +namespace CSceneObjectData { + constexpr std::ptrdiff_t m_vMinBounds = 0x0; // Vector + constexpr std::ptrdiff_t m_vMaxBounds = 0xC; // Vector + constexpr std::ptrdiff_t m_drawCalls = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_drawBounds = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_meshlets = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_vTintColor = 0x60; // Vector4D +} + +namespace CSelectorUpdateNode { // CAnimUpdateNodeBase + constexpr std::ptrdiff_t m_children = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_tags = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_blendCurve = 0x8C; // CBlendCurve + constexpr std::ptrdiff_t m_flBlendTime = 0x94; // CAnimValue + constexpr std::ptrdiff_t m_hParameter = 0x9C; // CAnimParamHandle + constexpr std::ptrdiff_t m_eTagBehavior = 0xA0; // SelectorTagBehavior_t + constexpr std::ptrdiff_t m_bResetOnChange = 0xA4; // bool + constexpr std::ptrdiff_t m_bSyncCyclesOnChange = 0xA5; // bool +} + +namespace CSeqAutoLayer { + constexpr std::ptrdiff_t m_nLocalReference = 0x0; // int16_t + constexpr std::ptrdiff_t m_nLocalPose = 0x2; // int16_t + constexpr std::ptrdiff_t m_flags = 0x4; // CSeqAutoLayerFlag + constexpr std::ptrdiff_t m_start = 0xC; // float + constexpr std::ptrdiff_t m_peak = 0x10; // float + constexpr std::ptrdiff_t m_tail = 0x14; // float + constexpr std::ptrdiff_t m_end = 0x18; // float +} + +namespace CSeqAutoLayerFlag { + constexpr std::ptrdiff_t m_bPost = 0x0; // bool + constexpr std::ptrdiff_t m_bSpline = 0x1; // bool + constexpr std::ptrdiff_t m_bXFade = 0x2; // bool + constexpr std::ptrdiff_t m_bNoBlend = 0x3; // bool + constexpr std::ptrdiff_t m_bLocal = 0x4; // bool + constexpr std::ptrdiff_t m_bPose = 0x5; // bool + constexpr std::ptrdiff_t m_bFetchFrame = 0x6; // bool + constexpr std::ptrdiff_t m_bSubtract = 0x7; // bool +} + +namespace CSeqBoneMaskList { + constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString + constexpr std::ptrdiff_t m_nLocalBoneArray = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_flBoneWeightArray = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_flDefaultMorphCtrlWeight = 0x40; // float + constexpr std::ptrdiff_t m_morphCtrlWeightArray = 0x48; // CUtlVector> +} + +namespace CSeqCmdLayer { + constexpr std::ptrdiff_t m_cmd = 0x0; // int16_t + constexpr std::ptrdiff_t m_nLocalReference = 0x2; // int16_t + constexpr std::ptrdiff_t m_nLocalBonemask = 0x4; // int16_t + constexpr std::ptrdiff_t m_nDstResult = 0x6; // int16_t + constexpr std::ptrdiff_t m_nSrcResult = 0x8; // int16_t + constexpr std::ptrdiff_t m_bSpline = 0xA; // bool + constexpr std::ptrdiff_t m_flVar1 = 0xC; // float + constexpr std::ptrdiff_t m_flVar2 = 0x10; // float + constexpr std::ptrdiff_t m_nLineNumber = 0x14; // int16_t +} + +namespace CSeqCmdSeqDesc { + constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString + constexpr std::ptrdiff_t m_flags = 0x10; // CSeqSeqDescFlag + constexpr std::ptrdiff_t m_transition = 0x1C; // CSeqTransition + constexpr std::ptrdiff_t m_nFrameRangeSequence = 0x24; // int16_t + constexpr std::ptrdiff_t m_nFrameCount = 0x26; // int16_t + constexpr std::ptrdiff_t m_flFPS = 0x28; // float + constexpr std::ptrdiff_t m_nSubCycles = 0x2C; // int16_t + constexpr std::ptrdiff_t m_numLocalResults = 0x2E; // int16_t + constexpr std::ptrdiff_t m_cmdLayerArray = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_eventArray = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_activityArray = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_poseSettingArray = 0x78; // CUtlVector +} + +namespace CSeqIKLock { + constexpr std::ptrdiff_t m_flPosWeight = 0x0; // float + constexpr std::ptrdiff_t m_flAngleWeight = 0x4; // float + constexpr std::ptrdiff_t m_nLocalBone = 0x8; // int16_t + constexpr std::ptrdiff_t m_bBonesOrientedAlongPositiveX = 0xA; // bool +} + +namespace CSeqMultiFetch { + constexpr std::ptrdiff_t m_flags = 0x0; // CSeqMultiFetchFlag + constexpr std::ptrdiff_t m_localReferenceArray = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_nGroupSize = 0x20; // int32_t[2] + constexpr std::ptrdiff_t m_nLocalPose = 0x28; // int32_t[2] + constexpr std::ptrdiff_t m_poseKeyArray0 = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_poseKeyArray1 = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_nLocalCyclePoseParameter = 0x60; // int32_t + constexpr std::ptrdiff_t m_bCalculatePoseParameters = 0x64; // bool +} + +namespace CSeqMultiFetchFlag { + constexpr std::ptrdiff_t m_bRealtime = 0x0; // bool + constexpr std::ptrdiff_t m_bCylepose = 0x1; // bool + constexpr std::ptrdiff_t m_b0D = 0x2; // bool + constexpr std::ptrdiff_t m_b1D = 0x3; // bool + constexpr std::ptrdiff_t m_b2D = 0x4; // bool + constexpr std::ptrdiff_t m_b2D_TRI = 0x5; // bool +} + +namespace CSeqPoseParamDesc { + constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString + constexpr std::ptrdiff_t m_flStart = 0x10; // float + constexpr std::ptrdiff_t m_flEnd = 0x14; // float + constexpr std::ptrdiff_t m_flLoop = 0x18; // float + constexpr std::ptrdiff_t m_bLooping = 0x1C; // bool +} + +namespace CSeqPoseSetting { + constexpr std::ptrdiff_t m_sPoseParameter = 0x0; // CBufferString + constexpr std::ptrdiff_t m_sAttachment = 0x10; // CBufferString + constexpr std::ptrdiff_t m_sReferenceSequence = 0x20; // CBufferString + constexpr std::ptrdiff_t m_flValue = 0x30; // float + constexpr std::ptrdiff_t m_bX = 0x34; // bool + constexpr std::ptrdiff_t m_bY = 0x35; // bool + constexpr std::ptrdiff_t m_bZ = 0x36; // bool + constexpr std::ptrdiff_t m_eType = 0x38; // int32_t +} + +namespace CSeqS1SeqDesc { + constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString + constexpr std::ptrdiff_t m_flags = 0x10; // CSeqSeqDescFlag + constexpr std::ptrdiff_t m_fetch = 0x20; // CSeqMultiFetch + constexpr std::ptrdiff_t m_nLocalWeightlist = 0x88; // int32_t + constexpr std::ptrdiff_t m_autoLayerArray = 0x90; // CUtlVector + constexpr std::ptrdiff_t m_IKLockArray = 0xA8; // CUtlVector + constexpr std::ptrdiff_t m_transition = 0xC0; // CSeqTransition + constexpr std::ptrdiff_t m_SequenceKeys = 0xC8; // KeyValues3 + constexpr std::ptrdiff_t m_LegacyKeyValueText = 0xD8; // CBufferString + constexpr std::ptrdiff_t m_activityArray = 0xE8; // CUtlVector + constexpr std::ptrdiff_t m_footMotion = 0x100; // CUtlVector +} + +namespace CSeqScaleSet { + constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString + constexpr std::ptrdiff_t m_bRootOffset = 0x10; // bool + constexpr std::ptrdiff_t m_vRootOffset = 0x14; // Vector + constexpr std::ptrdiff_t m_nLocalBoneArray = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_flBoneScaleArray = 0x38; // CUtlVector +} + +namespace CSeqSeqDescFlag { + constexpr std::ptrdiff_t m_bLooping = 0x0; // bool + constexpr std::ptrdiff_t m_bSnap = 0x1; // bool + constexpr std::ptrdiff_t m_bAutoplay = 0x2; // bool + constexpr std::ptrdiff_t m_bPost = 0x3; // bool + constexpr std::ptrdiff_t m_bHidden = 0x4; // bool + constexpr std::ptrdiff_t m_bMulti = 0x5; // bool + constexpr std::ptrdiff_t m_bLegacyDelta = 0x6; // bool + constexpr std::ptrdiff_t m_bLegacyWorldspace = 0x7; // bool + constexpr std::ptrdiff_t m_bLegacyCyclepose = 0x8; // bool + constexpr std::ptrdiff_t m_bLegacyRealtime = 0x9; // bool + constexpr std::ptrdiff_t m_bModelDoc = 0xA; // bool +} + +namespace CSeqSynthAnimDesc { + constexpr std::ptrdiff_t m_sName = 0x0; // CBufferString + constexpr std::ptrdiff_t m_flags = 0x10; // CSeqSeqDescFlag + constexpr std::ptrdiff_t m_transition = 0x1C; // CSeqTransition + constexpr std::ptrdiff_t m_nLocalBaseReference = 0x24; // int16_t + constexpr std::ptrdiff_t m_nLocalBoneMask = 0x26; // int16_t + constexpr std::ptrdiff_t m_activityArray = 0x28; // CUtlVector +} + +namespace CSeqTransition { + constexpr std::ptrdiff_t m_flFadeInTime = 0x0; // float + constexpr std::ptrdiff_t m_flFadeOutTime = 0x4; // float +} + +namespace CSequenceFinishedAnimTag { // CAnimTagBase + constexpr std::ptrdiff_t m_sequenceName = 0x38; // CUtlString +} + +namespace CSequenceGroupData { + constexpr std::ptrdiff_t m_sName = 0x10; // CBufferString + constexpr std::ptrdiff_t m_nFlags = 0x20; // uint32_t + constexpr std::ptrdiff_t m_localSequenceNameArray = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_localS1SeqDescArray = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_localMultiSeqDescArray = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_localSynthAnimDescArray = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_localCmdSeqDescArray = 0x88; // CUtlVector + constexpr std::ptrdiff_t m_localBoneMaskArray = 0xA0; // CUtlVector + constexpr std::ptrdiff_t m_localScaleSetArray = 0xB8; // CUtlVector + constexpr std::ptrdiff_t m_localBoneNameArray = 0xD0; // CUtlVector + constexpr std::ptrdiff_t m_localNodeName = 0xE8; // CBufferString + constexpr std::ptrdiff_t m_localPoseParamArray = 0xF8; // CUtlVector + constexpr std::ptrdiff_t m_keyValues = 0x110; // KeyValues3 + constexpr std::ptrdiff_t m_localIKAutoplayLockArray = 0x120; // CUtlVector +} + +namespace CSequenceUpdateNode { // CLeafUpdateNode + constexpr std::ptrdiff_t m_paramSpans = 0x60; // CParamSpanUpdater + constexpr std::ptrdiff_t m_tags = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_hSequence = 0x94; // HSequence + constexpr std::ptrdiff_t m_playbackSpeed = 0x98; // float + constexpr std::ptrdiff_t m_duration = 0x9C; // float + constexpr std::ptrdiff_t m_bLoop = 0xA0; // bool +} + +namespace CSetFacingUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_facingMode = 0x68; // FacingMode + constexpr std::ptrdiff_t m_bResetChild = 0x6C; // bool +} + +namespace CSetParameterActionUpdater { // CAnimActionUpdater + constexpr std::ptrdiff_t m_hParam = 0x18; // CAnimParamHandle + constexpr std::ptrdiff_t m_value = 0x1A; // CAnimVariant +} + +namespace CSingleFrameUpdateNode { // CLeafUpdateNode + constexpr std::ptrdiff_t m_actions = 0x58; // CUtlVector> + constexpr std::ptrdiff_t m_hPoseCacheHandle = 0x70; // CPoseHandle + constexpr std::ptrdiff_t m_hSequence = 0x74; // HSequence + constexpr std::ptrdiff_t m_flCycle = 0x78; // float +} + +namespace CSkeletalInputUpdateNode { // CLeafUpdateNode + constexpr std::ptrdiff_t m_fixedOpData = 0x58; // SkeletalInputOpFixedSettings_t +} + +namespace CSlopeComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_flTraceDistance = 0x34; // float + constexpr std::ptrdiff_t m_hSlopeAngle = 0x38; // CAnimParamHandle + constexpr std::ptrdiff_t m_hSlopeAngleFront = 0x3A; // CAnimParamHandle + constexpr std::ptrdiff_t m_hSlopeAngleSide = 0x3C; // CAnimParamHandle + constexpr std::ptrdiff_t m_hSlopeHeading = 0x3E; // CAnimParamHandle + constexpr std::ptrdiff_t m_hSlopeNormal = 0x40; // CAnimParamHandle + constexpr std::ptrdiff_t m_hSlopeNormal_WorldSpace = 0x42; // CAnimParamHandle +} + +namespace CSlowDownOnSlopesUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_flSlowDownStrength = 0x68; // float +} + +namespace CSolveIKChainUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_targetHandles = 0x68; // CUtlVector + constexpr std::ptrdiff_t m_opFixedData = 0x80; // SolveIKChainPoseOpFixedSettings_t +} + +namespace CSolveIKTargetHandle_t { + constexpr std::ptrdiff_t m_positionHandle = 0x0; // CAnimParamHandle + constexpr std::ptrdiff_t m_orientationHandle = 0x2; // CAnimParamHandle +} + +namespace CSpeedScaleUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_paramIndex = 0x68; // CAnimParamHandle +} + +namespace CStanceOverrideUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_footStanceInfo = 0x68; // CUtlVector + constexpr std::ptrdiff_t m_pStanceSourceNode = 0x80; // CAnimUpdateNodeRef + constexpr std::ptrdiff_t m_hParameter = 0x90; // CAnimParamHandle + constexpr std::ptrdiff_t m_eMode = 0x94; // StanceOverrideMode +} + +namespace CStanceScaleUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_hParam = 0x68; // CAnimParamHandle +} + +namespace CStateActionUpdater { + constexpr std::ptrdiff_t m_pAction = 0x0; // CSmartPtr + constexpr std::ptrdiff_t m_eBehavior = 0x8; // StateActionBehavior +} + +namespace CStateMachineComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_stateMachine = 0x30; // CAnimStateMachineUpdater +} + +namespace CStateMachineUpdateNode { // CAnimUpdateNodeBase + constexpr std::ptrdiff_t m_stateMachine = 0x68; // CAnimStateMachineUpdater + constexpr std::ptrdiff_t m_stateData = 0xC0; // CUtlVector + constexpr std::ptrdiff_t m_transitionData = 0xD8; // CUtlVector + constexpr std::ptrdiff_t m_bBlockWaningTags = 0xF4; // bool + constexpr std::ptrdiff_t m_bLockStateWhenWaning = 0xF5; // bool +} + +namespace CStateNodeStateData { + constexpr std::ptrdiff_t m_pChild = 0x0; // CAnimUpdateNodeRef + constexpr std::ptrdiff_t m_bExclusiveRootMotion = 0x0; // bitfield:1 +} + +namespace CStateNodeTransitionData { + constexpr std::ptrdiff_t m_curve = 0x0; // CBlendCurve + constexpr std::ptrdiff_t m_blendDuration = 0x8; // CAnimValue + constexpr std::ptrdiff_t m_resetCycleValue = 0x10; // CAnimValue + constexpr std::ptrdiff_t m_bReset = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_resetCycleOption = 0x0; // bitfield:3 +} + +namespace CStateUpdateData { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_hScript = 0x8; // AnimScriptHandle + constexpr std::ptrdiff_t m_transitionIndices = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_actions = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_stateID = 0x40; // AnimStateID + constexpr std::ptrdiff_t m_bIsStartState = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bIsEndState = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bIsPassthrough = 0x0; // bitfield:1 +} + +namespace CStaticPoseCache { + constexpr std::ptrdiff_t m_poses = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_nBoneCount = 0x28; // int32_t + constexpr std::ptrdiff_t m_nMorphCount = 0x2C; // int32_t +} + +namespace CStaticPoseCacheBuilder { // CStaticPoseCache +} + +namespace CStepsRemainingMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_footIndices = 0x50; // CUtlVector + constexpr std::ptrdiff_t m_flMinStepsRemaining = 0x68; // float +} + +namespace CStopAtGoalUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_flOuterRadius = 0x6C; // float + constexpr std::ptrdiff_t m_flInnerRadius = 0x70; // float + constexpr std::ptrdiff_t m_flMaxScale = 0x74; // float + constexpr std::ptrdiff_t m_flMinScale = 0x78; // float + constexpr std::ptrdiff_t m_damping = 0x80; // CAnimInputDamping +} + +namespace CStringAnimTag { // CAnimTagBase +} + +namespace CSubtractUpdateNode { // CBinaryUpdateNode + constexpr std::ptrdiff_t m_footMotionTiming = 0x8C; // BinaryNodeChildOption + constexpr std::ptrdiff_t m_bApplyToFootMotion = 0x90; // bool + constexpr std::ptrdiff_t m_bApplyChannelsSeparately = 0x91; // bool + constexpr std::ptrdiff_t m_bUseModelSpace = 0x92; // bool +} + +namespace CTaskStatusAnimTag { // CAnimTagBase +} + +namespace CTiltTwistConstraint { // CBaseConstraint + constexpr std::ptrdiff_t m_nTargetAxis = 0x70; // int32_t + constexpr std::ptrdiff_t m_nSlaveAxis = 0x74; // int32_t +} + +namespace CTimeRemainingMetricEvaluator { // CMotionMetricEvaluator + constexpr std::ptrdiff_t m_bMatchByTimeRemaining = 0x50; // bool + constexpr std::ptrdiff_t m_flMaxTimeRemaining = 0x54; // float + constexpr std::ptrdiff_t m_bFilterByTimeRemaining = 0x58; // bool + constexpr std::ptrdiff_t m_flMinTimeRemaining = 0x5C; // float +} + +namespace CToggleComponentActionUpdater { // CAnimActionUpdater + constexpr std::ptrdiff_t m_componentID = 0x18; // AnimComponentID + constexpr std::ptrdiff_t m_bSetEnabled = 0x1C; // bool +} + +namespace CTransitionUpdateData { + constexpr std::ptrdiff_t m_srcStateIndex = 0x0; // uint8_t + constexpr std::ptrdiff_t m_destStateIndex = 0x1; // uint8_t + constexpr std::ptrdiff_t m_bDisabled = 0x0; // bitfield:1 +} + +namespace CTurnHelperUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_facingTarget = 0x6C; // AnimValueSource + constexpr std::ptrdiff_t m_turnStartTimeOffset = 0x70; // float + constexpr std::ptrdiff_t m_turnDuration = 0x74; // float + constexpr std::ptrdiff_t m_bMatchChildDuration = 0x78; // bool + constexpr std::ptrdiff_t m_manualTurnOffset = 0x7C; // float + constexpr std::ptrdiff_t m_bUseManualTurnOffset = 0x80; // bool +} + +namespace CTwistConstraint { // CBaseConstraint + constexpr std::ptrdiff_t m_bInverse = 0x70; // bool + constexpr std::ptrdiff_t m_qParentBindRotation = 0x80; // Quaternion + constexpr std::ptrdiff_t m_qChildBindRotation = 0x90; // Quaternion +} + +namespace CTwoBoneIKUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_opFixedData = 0x70; // TwoBoneIKSettings_t +} + +namespace CUnaryUpdateNode { // CAnimUpdateNodeBase + constexpr std::ptrdiff_t m_pChildNode = 0x58; // CAnimUpdateNodeRef +} + +namespace CVPhysXSurfacePropertiesList { + constexpr std::ptrdiff_t m_surfacePropertiesList = 0x0; // CUtlVector +} + +namespace CVRInputComponentUpdater { // CAnimComponentUpdater + constexpr std::ptrdiff_t m_FingerCurl_Thumb = 0x34; // CAnimParamHandle + constexpr std::ptrdiff_t m_FingerCurl_Index = 0x36; // CAnimParamHandle + constexpr std::ptrdiff_t m_FingerCurl_Middle = 0x38; // CAnimParamHandle + constexpr std::ptrdiff_t m_FingerCurl_Ring = 0x3A; // CAnimParamHandle + constexpr std::ptrdiff_t m_FingerCurl_Pinky = 0x3C; // CAnimParamHandle + constexpr std::ptrdiff_t m_FingerSplay_Thumb_Index = 0x3E; // CAnimParamHandle + constexpr std::ptrdiff_t m_FingerSplay_Index_Middle = 0x40; // CAnimParamHandle + constexpr std::ptrdiff_t m_FingerSplay_Middle_Ring = 0x42; // CAnimParamHandle + constexpr std::ptrdiff_t m_FingerSplay_Ring_Pinky = 0x44; // CAnimParamHandle +} + +namespace CVectorAnimParameter { // CConcreteAnimParameter + constexpr std::ptrdiff_t m_defaultValue = 0x60; // Vector + constexpr std::ptrdiff_t m_bInterpolate = 0x6C; // bool +} + +namespace CVectorQuantizer { + constexpr std::ptrdiff_t m_centroidVectors = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_nCentroids = 0x18; // int32_t + constexpr std::ptrdiff_t m_nDimensions = 0x1C; // int32_t +} + +namespace CVirtualAnimParameter { // CAnimParameterBase + constexpr std::ptrdiff_t m_expressionString = 0x50; // CUtlString + constexpr std::ptrdiff_t m_eParamType = 0x58; // AnimParamType_t +} + +namespace CVrSkeletalInputSettings { + constexpr std::ptrdiff_t m_wristBones = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_fingers = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_name = 0x30; // CUtlString + constexpr std::ptrdiff_t m_outerKnuckle1 = 0x38; // CUtlString + constexpr std::ptrdiff_t m_outerKnuckle2 = 0x40; // CUtlString + constexpr std::ptrdiff_t m_eHand = 0x48; // AnimVRHand_t +} + +namespace CWayPointHelperUpdateNode { // CUnaryUpdateNode + constexpr std::ptrdiff_t m_flStartCycle = 0x6C; // float + constexpr std::ptrdiff_t m_flEndCycle = 0x70; // float + constexpr std::ptrdiff_t m_bOnlyGoals = 0x74; // bool + constexpr std::ptrdiff_t m_bPreventOvershoot = 0x75; // bool + constexpr std::ptrdiff_t m_bPreventUndershoot = 0x76; // bool +} + +namespace CWristBone { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_vForwardLS = 0x8; // Vector + constexpr std::ptrdiff_t m_vUpLS = 0x14; // Vector + constexpr std::ptrdiff_t m_vOffset = 0x20; // Vector +} + +namespace CZeroPoseUpdateNode { // CLeafUpdateNode +} + +namespace ChainToSolveData_t { + constexpr std::ptrdiff_t m_nChainIndex = 0x0; // int32_t + constexpr std::ptrdiff_t m_SolverSettings = 0x4; // IKSolverSettings_t + constexpr std::ptrdiff_t m_TargetSettings = 0x10; // IKTargetSettings_t + constexpr std::ptrdiff_t m_DebugSetting = 0x38; // SolveIKChainAnimNodeDebugSetting + constexpr std::ptrdiff_t m_flDebugNormalizedValue = 0x3C; // float + constexpr std::ptrdiff_t m_vDebugOffset = 0x40; // VectorAligned +} + +namespace ConfigIndex { + constexpr std::ptrdiff_t m_nGroup = 0x0; // uint16_t + constexpr std::ptrdiff_t m_nConfig = 0x2; // uint16_t +} + +namespace FingerBone_t { + constexpr std::ptrdiff_t m_boneIndex = 0x0; // int32_t + constexpr std::ptrdiff_t m_hingeAxis = 0x4; // Vector + constexpr std::ptrdiff_t m_vCapsulePos1 = 0x10; // Vector + constexpr std::ptrdiff_t m_vCapsulePos2 = 0x1C; // Vector + constexpr std::ptrdiff_t m_flMinAngle = 0x28; // float + constexpr std::ptrdiff_t m_flMaxAngle = 0x2C; // float + constexpr std::ptrdiff_t m_flRadius = 0x30; // float +} + +namespace FingerChain_t { + constexpr std::ptrdiff_t m_targets = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_bones = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_vTipOffset = 0x30; // Vector + constexpr std::ptrdiff_t m_vSplayHingeAxis = 0x3C; // Vector + constexpr std::ptrdiff_t m_tipParentBoneIndex = 0x48; // int32_t + constexpr std::ptrdiff_t m_metacarpalBoneIndex = 0x4C; // int32_t + constexpr std::ptrdiff_t m_flSplayMinAngle = 0x50; // float + constexpr std::ptrdiff_t m_flSplayMaxAngle = 0x54; // float + constexpr std::ptrdiff_t m_flFingerScaleRatio = 0x58; // float +} + +namespace FingerSource_t { + constexpr std::ptrdiff_t m_nFingerIndex = 0x0; // AnimVRFinger_t + constexpr std::ptrdiff_t m_flFingerWeight = 0x4; // float +} + +namespace FollowAttachmentSettings_t { + constexpr std::ptrdiff_t m_attachment = 0x0; // CAnimAttachment + constexpr std::ptrdiff_t m_boneIndex = 0x80; // int32_t + constexpr std::ptrdiff_t m_bMatchTranslation = 0x84; // bool + constexpr std::ptrdiff_t m_bMatchRotation = 0x85; // bool +} + +namespace FootFixedData_t { + constexpr std::ptrdiff_t m_vToeOffset = 0x0; // VectorAligned + constexpr std::ptrdiff_t m_vHeelOffset = 0x10; // VectorAligned + constexpr std::ptrdiff_t m_nTargetBoneIndex = 0x20; // int32_t + constexpr std::ptrdiff_t m_nAnkleBoneIndex = 0x24; // int32_t + constexpr std::ptrdiff_t m_nIKAnchorBoneIndex = 0x28; // int32_t + constexpr std::ptrdiff_t m_ikChainIndex = 0x2C; // int32_t + constexpr std::ptrdiff_t m_flMaxIKLength = 0x30; // float + constexpr std::ptrdiff_t m_nFootIndex = 0x34; // int32_t + constexpr std::ptrdiff_t m_nTagIndex = 0x38; // int32_t + constexpr std::ptrdiff_t m_flMaxRotationLeft = 0x3C; // float + constexpr std::ptrdiff_t m_flMaxRotationRight = 0x40; // float +} + +namespace FootFixedSettings { + constexpr std::ptrdiff_t m_traceSettings = 0x0; // TraceSettings_t + constexpr std::ptrdiff_t m_vFootBaseBindPosePositionMS = 0x10; // VectorAligned + constexpr std::ptrdiff_t m_flFootBaseLength = 0x20; // float + constexpr std::ptrdiff_t m_flMaxRotationLeft = 0x24; // float + constexpr std::ptrdiff_t m_flMaxRotationRight = 0x28; // float + constexpr std::ptrdiff_t m_footstepLandedTagIndex = 0x2C; // int32_t + constexpr std::ptrdiff_t m_bEnableTracing = 0x30; // bool + constexpr std::ptrdiff_t m_flTraceAngleBlend = 0x34; // float + constexpr std::ptrdiff_t m_nDisableTagIndex = 0x38; // int32_t + constexpr std::ptrdiff_t m_nFootIndex = 0x3C; // int32_t +} + +namespace FootLockPoseOpFixedSettings { + constexpr std::ptrdiff_t m_footInfo = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_hipDampingSettings = 0x18; // CAnimInputDamping + constexpr std::ptrdiff_t m_nHipBoneIndex = 0x28; // int32_t + constexpr std::ptrdiff_t m_ikSolverType = 0x2C; // IKSolverType + constexpr std::ptrdiff_t m_bApplyTilt = 0x30; // bool + constexpr std::ptrdiff_t m_bApplyHipDrop = 0x31; // bool + constexpr std::ptrdiff_t m_bAlwaysUseFallbackHinge = 0x32; // bool + constexpr std::ptrdiff_t m_bApplyFootRotationLimits = 0x33; // bool + constexpr std::ptrdiff_t m_bApplyLegTwistLimits = 0x34; // bool + constexpr std::ptrdiff_t m_flMaxFootHeight = 0x38; // float + constexpr std::ptrdiff_t m_flExtensionScale = 0x3C; // float + constexpr std::ptrdiff_t m_flMaxLegTwist = 0x40; // float + constexpr std::ptrdiff_t m_bEnableLockBreaking = 0x44; // bool + constexpr std::ptrdiff_t m_flLockBreakTolerance = 0x48; // float + constexpr std::ptrdiff_t m_flLockBlendTime = 0x4C; // float + constexpr std::ptrdiff_t m_bEnableStretching = 0x50; // bool + constexpr std::ptrdiff_t m_flMaxStretchAmount = 0x54; // float + constexpr std::ptrdiff_t m_flStretchExtensionScale = 0x58; // float +} + +namespace FootPinningPoseOpFixedData_t { + constexpr std::ptrdiff_t m_footInfo = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_flBlendTime = 0x18; // float + constexpr std::ptrdiff_t m_flLockBreakDistance = 0x1C; // float + constexpr std::ptrdiff_t m_flMaxLegTwist = 0x20; // float + constexpr std::ptrdiff_t m_nHipBoneIndex = 0x24; // int32_t + constexpr std::ptrdiff_t m_bApplyLegTwistLimits = 0x28; // bool + constexpr std::ptrdiff_t m_bApplyFootRotationLimits = 0x29; // bool +} + +namespace FootStepTrigger { + constexpr std::ptrdiff_t m_tags = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_nFootIndex = 0x18; // int32_t + constexpr std::ptrdiff_t m_triggerPhase = 0x1C; // StepPhase +} + +namespace HSequence { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace HitReactFixedSettings_t { + constexpr std::ptrdiff_t m_nWeightListIndex = 0x0; // int32_t + constexpr std::ptrdiff_t m_nEffectedBoneCount = 0x4; // int32_t + constexpr std::ptrdiff_t m_flMaxImpactForce = 0x8; // float + constexpr std::ptrdiff_t m_flMinImpactForce = 0xC; // float + constexpr std::ptrdiff_t m_flWhipImpactScale = 0x10; // float + constexpr std::ptrdiff_t m_flCounterRotationScale = 0x14; // float + constexpr std::ptrdiff_t m_flDistanceFadeScale = 0x18; // float + constexpr std::ptrdiff_t m_flPropagationScale = 0x1C; // float + constexpr std::ptrdiff_t m_flWhipDelay = 0x20; // float + constexpr std::ptrdiff_t m_flSpringStrength = 0x24; // float + constexpr std::ptrdiff_t m_flWhipSpringStrength = 0x28; // float + constexpr std::ptrdiff_t m_flMaxAngleRadians = 0x2C; // float + constexpr std::ptrdiff_t m_nHipBoneIndex = 0x30; // int32_t + constexpr std::ptrdiff_t m_flHipBoneTranslationScale = 0x34; // float + constexpr std::ptrdiff_t m_flHipDipSpringStrength = 0x38; // float + constexpr std::ptrdiff_t m_flHipDipImpactScale = 0x3C; // float + constexpr std::ptrdiff_t m_flHipDipDelay = 0x40; // float +} + +namespace IKBoneNameAndIndex_t { + constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString +} + +namespace IKDemoCaptureSettings_t { + constexpr std::ptrdiff_t m_parentBoneName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_eMode = 0x8; // IKChannelMode + constexpr std::ptrdiff_t m_ikChainName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_oneBoneStart = 0x18; // CUtlString + constexpr std::ptrdiff_t m_oneBoneEnd = 0x20; // CUtlString +} + +namespace IKSolverSettings_t { + constexpr std::ptrdiff_t m_SolverType = 0x0; // IKSolverType + constexpr std::ptrdiff_t m_nNumIterations = 0x4; // int32_t +} + +namespace IKTargetSettings_t { + constexpr std::ptrdiff_t m_TargetSource = 0x0; // IKTargetSource + constexpr std::ptrdiff_t m_Bone = 0x8; // IKBoneNameAndIndex_t + constexpr std::ptrdiff_t m_AnimgraphParameterNamePosition = 0x18; // AnimParamID + constexpr std::ptrdiff_t m_AnimgraphParameterNameOrientation = 0x1C; // AnimParamID + constexpr std::ptrdiff_t m_TargetCoordSystem = 0x20; // IKTargetCoordinateSystem +} + +namespace JiggleBoneSettingsList_t { + constexpr std::ptrdiff_t m_boneSettings = 0x0; // CUtlVector +} + +namespace JiggleBoneSettings_t { + constexpr std::ptrdiff_t m_nBoneIndex = 0x0; // int32_t + constexpr std::ptrdiff_t m_flSpringStrength = 0x4; // float + constexpr std::ptrdiff_t m_flMaxTimeStep = 0x8; // float + constexpr std::ptrdiff_t m_flDamping = 0xC; // float + constexpr std::ptrdiff_t m_vBoundsMaxLS = 0x10; // Vector + constexpr std::ptrdiff_t m_vBoundsMinLS = 0x1C; // Vector + constexpr std::ptrdiff_t m_eSimSpace = 0x28; // JiggleBoneSimSpace +} + +namespace LookAtBone_t { + constexpr std::ptrdiff_t m_index = 0x0; // int32_t + constexpr std::ptrdiff_t m_weight = 0x4; // float +} + +namespace LookAtOpFixedSettings_t { + constexpr std::ptrdiff_t m_attachment = 0x0; // CAnimAttachment + constexpr std::ptrdiff_t m_damping = 0x80; // CAnimInputDamping + constexpr std::ptrdiff_t m_bones = 0x90; // CUtlVector + constexpr std::ptrdiff_t m_flYawLimit = 0xA8; // float + constexpr std::ptrdiff_t m_flPitchLimit = 0xAC; // float + constexpr std::ptrdiff_t m_flHysteresisInnerAngle = 0xB0; // float + constexpr std::ptrdiff_t m_flHysteresisOuterAngle = 0xB4; // float + constexpr std::ptrdiff_t m_bRotateYawForward = 0xB8; // bool + constexpr std::ptrdiff_t m_bMaintainUpDirection = 0xB9; // bool + constexpr std::ptrdiff_t m_bTargetIsPosition = 0xBA; // bool + constexpr std::ptrdiff_t m_bUseHysteresis = 0xBB; // bool +} + +namespace MaterialGroup_t { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_materials = 0x8; // CUtlVector> +} + +namespace ModelBoneFlexDriverControl_t { + constexpr std::ptrdiff_t m_nBoneComponent = 0x0; // ModelBoneFlexComponent_t + constexpr std::ptrdiff_t m_flexController = 0x8; // CUtlString + constexpr std::ptrdiff_t m_flexControllerToken = 0x10; // uint32_t + constexpr std::ptrdiff_t m_flMin = 0x14; // float + constexpr std::ptrdiff_t m_flMax = 0x18; // float +} + +namespace ModelBoneFlexDriver_t { + constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_boneNameToken = 0x8; // uint32_t + constexpr std::ptrdiff_t m_controls = 0x10; // CUtlVector +} + +namespace ModelSkeletonData_t { + constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_nParent = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_boneSphere = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_nFlag = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_bonePosParent = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_boneRotParent = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_boneScaleParent = 0x90; // CUtlVector +} + +namespace MoodAnimationLayer_t { + constexpr std::ptrdiff_t m_sName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_bActiveListening = 0x8; // bool + constexpr std::ptrdiff_t m_bActiveTalking = 0x9; // bool + constexpr std::ptrdiff_t m_layerAnimations = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_flIntensity = 0x28; // CRangeFloat + constexpr std::ptrdiff_t m_flDurationScale = 0x30; // CRangeFloat + constexpr std::ptrdiff_t m_bScaleWithInts = 0x38; // bool + constexpr std::ptrdiff_t m_flNextStart = 0x3C; // CRangeFloat + constexpr std::ptrdiff_t m_flStartOffset = 0x44; // CRangeFloat + constexpr std::ptrdiff_t m_flEndOffset = 0x4C; // CRangeFloat + constexpr std::ptrdiff_t m_flFadeIn = 0x54; // float + constexpr std::ptrdiff_t m_flFadeOut = 0x58; // float +} + +namespace MoodAnimation_t { + constexpr std::ptrdiff_t m_sName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_flWeight = 0x8; // float +} + +namespace MotionBlendItem { + constexpr std::ptrdiff_t m_pChild = 0x0; // CSmartPtr + constexpr std::ptrdiff_t m_flKeyValue = 0x8; // float +} + +namespace MotionDBIndex { + constexpr std::ptrdiff_t m_nIndex = 0x0; // uint32_t +} + +namespace MotionIndex { + constexpr std::ptrdiff_t m_nGroup = 0x0; // uint16_t + constexpr std::ptrdiff_t m_nMotion = 0x2; // uint16_t +} + +namespace ParamSpanSample_t { + constexpr std::ptrdiff_t m_value = 0x0; // CAnimVariant + constexpr std::ptrdiff_t m_flCycle = 0x14; // float +} + +namespace ParamSpan_t { + constexpr std::ptrdiff_t m_samples = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_hParam = 0x18; // CAnimParamHandle + constexpr std::ptrdiff_t m_eParamType = 0x1A; // AnimParamType_t + constexpr std::ptrdiff_t m_flStartCycle = 0x1C; // float + constexpr std::ptrdiff_t m_flEndCycle = 0x20; // float +} + +namespace PermModelDataAnimatedMaterialAttribute_t { + constexpr std::ptrdiff_t m_AttributeName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nNumChannels = 0x8; // int32_t +} + +namespace PermModelData_t { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_modelInfo = 0x8; // PermModelInfo_t + constexpr std::ptrdiff_t m_ExtParts = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_refMeshes = 0x78; // CUtlVector> + constexpr std::ptrdiff_t m_refMeshGroupMasks = 0x90; // CUtlVector + constexpr std::ptrdiff_t m_refPhysGroupMasks = 0xA8; // CUtlVector + constexpr std::ptrdiff_t m_refLODGroupMasks = 0xC0; // CUtlVector + constexpr std::ptrdiff_t m_lodGroupSwitchDistances = 0xD8; // CUtlVector + constexpr std::ptrdiff_t m_refPhysicsData = 0xF0; // CUtlVector> + constexpr std::ptrdiff_t m_refPhysicsHitboxData = 0x108; // CUtlVector> + constexpr std::ptrdiff_t m_refAnimGroups = 0x120; // CUtlVector> + constexpr std::ptrdiff_t m_refSequenceGroups = 0x138; // CUtlVector> + constexpr std::ptrdiff_t m_meshGroups = 0x150; // CUtlVector + constexpr std::ptrdiff_t m_materialGroups = 0x168; // CUtlVector + constexpr std::ptrdiff_t m_nDefaultMeshGroupMask = 0x180; // uint64_t + constexpr std::ptrdiff_t m_modelSkeleton = 0x188; // ModelSkeletonData_t + constexpr std::ptrdiff_t m_remappingTable = 0x230; // CUtlVector + constexpr std::ptrdiff_t m_remappingTableStarts = 0x248; // CUtlVector + constexpr std::ptrdiff_t m_boneFlexDrivers = 0x260; // CUtlVector + constexpr std::ptrdiff_t m_pModelConfigList = 0x278; // CModelConfigList* + constexpr std::ptrdiff_t m_BodyGroupsHiddenInTools = 0x280; // CUtlVector + constexpr std::ptrdiff_t m_refAnimIncludeModels = 0x298; // CUtlVector> + constexpr std::ptrdiff_t m_AnimatedMaterialAttributes = 0x2B0; // CUtlVector +} + +namespace PermModelExtPart_t { + constexpr std::ptrdiff_t m_Transform = 0x0; // CTransform + constexpr std::ptrdiff_t m_Name = 0x20; // CUtlString + constexpr std::ptrdiff_t m_nParent = 0x28; // int32_t + constexpr std::ptrdiff_t m_refModel = 0x30; // CStrongHandle +} + +namespace PermModelInfo_t { + constexpr std::ptrdiff_t m_nFlags = 0x0; // uint32_t + constexpr std::ptrdiff_t m_vHullMin = 0x4; // Vector + constexpr std::ptrdiff_t m_vHullMax = 0x10; // Vector + constexpr std::ptrdiff_t m_vViewMin = 0x1C; // Vector + constexpr std::ptrdiff_t m_vViewMax = 0x28; // Vector + constexpr std::ptrdiff_t m_flMass = 0x34; // float + constexpr std::ptrdiff_t m_vEyePosition = 0x38; // Vector + constexpr std::ptrdiff_t m_flMaxEyeDeflection = 0x44; // float + constexpr std::ptrdiff_t m_sSurfaceProperty = 0x48; // CUtlString + constexpr std::ptrdiff_t m_keyValueText = 0x50; // CUtlString +} + +namespace PhysSoftbodyDesc_t { + constexpr std::ptrdiff_t m_ParticleBoneHash = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_Particles = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_Springs = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_Capsules = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_InitPose = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_ParticleBoneName = 0x78; // CUtlVector +} + +namespace RenderSkeletonBone_t { + constexpr std::ptrdiff_t m_boneName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_parentName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_invBindPose = 0x10; // matrix3x4_t + constexpr std::ptrdiff_t m_bbox = 0x40; // SkeletonBoneBounds_t + constexpr std::ptrdiff_t m_flSphereRadius = 0x58; // float +} + +namespace SampleCode { + constexpr std::ptrdiff_t m_subCode = 0x0; // uint8_t[8] +} + +namespace ScriptInfo_t { + constexpr std::ptrdiff_t m_code = 0x0; // CUtlString + constexpr std::ptrdiff_t m_paramsModified = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_proxyReadParams = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_proxyWriteParams = 0x38; // CUtlVector + constexpr std::ptrdiff_t m_eScriptType = 0x50; // AnimScriptType +} + +namespace SkeletalInputOpFixedSettings_t { + constexpr std::ptrdiff_t m_wristBones = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_fingers = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_outerKnuckle1 = 0x30; // int32_t + constexpr std::ptrdiff_t m_outerKnuckle2 = 0x34; // int32_t + constexpr std::ptrdiff_t m_eHand = 0x38; // AnimVRHand_t + constexpr std::ptrdiff_t m_eMotionRange = 0x3C; // AnimVRHandMotionRange_t + constexpr std::ptrdiff_t m_eTransformSource = 0x40; // AnimVrBoneTransformSource_t + constexpr std::ptrdiff_t m_bEnableIK = 0x44; // bool + constexpr std::ptrdiff_t m_bEnableCollision = 0x45; // bool +} + +namespace SkeletonBoneBounds_t { + constexpr std::ptrdiff_t m_vecCenter = 0x0; // Vector + constexpr std::ptrdiff_t m_vecSize = 0xC; // Vector +} + +namespace SolveIKChainPoseOpFixedSettings_t { + constexpr std::ptrdiff_t m_ChainsToSolveData = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_bMatchTargetOrientation = 0x18; // bool +} + +namespace StanceInfo_t { + constexpr std::ptrdiff_t m_vPosition = 0x0; // Vector + constexpr std::ptrdiff_t m_flDirection = 0xC; // float +} + +namespace TagSpan_t { + constexpr std::ptrdiff_t m_tagIndex = 0x0; // int32_t + constexpr std::ptrdiff_t m_startCycle = 0x4; // float + constexpr std::ptrdiff_t m_endCycle = 0x8; // float +} + +namespace TraceSettings_t { + constexpr std::ptrdiff_t m_flTraceHeight = 0x0; // float + constexpr std::ptrdiff_t m_flTraceRadius = 0x4; // float +} + +namespace TwoBoneIKSettings_t { + constexpr std::ptrdiff_t m_endEffectorType = 0x0; // IkEndEffectorType + constexpr std::ptrdiff_t m_endEffectorAttachment = 0x10; // CAnimAttachment + constexpr std::ptrdiff_t m_targetType = 0x90; // IkTargetType + constexpr std::ptrdiff_t m_targetAttachment = 0xA0; // CAnimAttachment + constexpr std::ptrdiff_t m_targetBoneIndex = 0x120; // int32_t + constexpr std::ptrdiff_t m_hPositionParam = 0x124; // CAnimParamHandle + constexpr std::ptrdiff_t m_hRotationParam = 0x126; // CAnimParamHandle + constexpr std::ptrdiff_t m_bAlwaysUseFallbackHinge = 0x128; // bool + constexpr std::ptrdiff_t m_vLsFallbackHingeAxis = 0x130; // VectorAligned + constexpr std::ptrdiff_t m_nFixedBoneIndex = 0x140; // int32_t + constexpr std::ptrdiff_t m_nMiddleBoneIndex = 0x144; // int32_t + constexpr std::ptrdiff_t m_nEndBoneIndex = 0x148; // int32_t + constexpr std::ptrdiff_t m_bMatchTargetOrientation = 0x14C; // bool + constexpr std::ptrdiff_t m_bConstrainTwist = 0x14D; // bool + constexpr std::ptrdiff_t m_flMaxTwist = 0x150; // float +} + +namespace VPhysXAggregateData_t { + constexpr std::ptrdiff_t m_nFlags = 0x0; // uint16_t + constexpr std::ptrdiff_t m_nRefCounter = 0x2; // uint16_t + constexpr std::ptrdiff_t m_bonesHash = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_boneNames = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_indexNames = 0x38; // CUtlVector + constexpr std::ptrdiff_t m_indexHash = 0x50; // CUtlVector + constexpr std::ptrdiff_t m_bindPose = 0x68; // CUtlVector + constexpr std::ptrdiff_t m_parts = 0x80; // CUtlVector + constexpr std::ptrdiff_t m_constraints2 = 0x98; // CUtlVector + constexpr std::ptrdiff_t m_joints = 0xB0; // CUtlVector + constexpr std::ptrdiff_t m_pFeModel = 0xC8; // PhysFeModelDesc_t* + constexpr std::ptrdiff_t m_boneParents = 0xD0; // CUtlVector + constexpr std::ptrdiff_t m_surfacePropertyHashes = 0xE8; // CUtlVector + constexpr std::ptrdiff_t m_collisionAttributes = 0x100; // CUtlVector + constexpr std::ptrdiff_t m_debugPartNames = 0x118; // CUtlVector + constexpr std::ptrdiff_t m_embeddedKeyvalues = 0x130; // CUtlString +} + +namespace VPhysXBodyPart_t { + constexpr std::ptrdiff_t m_nFlags = 0x0; // uint32_t + constexpr std::ptrdiff_t m_flMass = 0x4; // float + constexpr std::ptrdiff_t m_rnShape = 0x8; // VPhysics2ShapeDef_t + constexpr std::ptrdiff_t m_nCollisionAttributeIndex = 0x80; // uint16_t + constexpr std::ptrdiff_t m_nReserved = 0x82; // uint16_t + constexpr std::ptrdiff_t m_flInertiaScale = 0x84; // float + constexpr std::ptrdiff_t m_flLinearDamping = 0x88; // float + constexpr std::ptrdiff_t m_flAngularDamping = 0x8C; // float + constexpr std::ptrdiff_t m_bOverrideMassCenter = 0x90; // bool + constexpr std::ptrdiff_t m_vMassCenterOverride = 0x94; // Vector +} + +namespace VPhysXCollisionAttributes_t { + constexpr std::ptrdiff_t m_CollisionGroup = 0x0; // uint32_t + constexpr std::ptrdiff_t m_InteractAs = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_InteractWith = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_InteractExclude = 0x38; // CUtlVector + constexpr std::ptrdiff_t m_CollisionGroupString = 0x50; // CUtlString + constexpr std::ptrdiff_t m_InteractAsStrings = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_InteractWithStrings = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_InteractExcludeStrings = 0x88; // CUtlVector +} + +namespace VPhysXConstraint2_t { + constexpr std::ptrdiff_t m_nFlags = 0x0; // uint32_t + constexpr std::ptrdiff_t m_nParent = 0x4; // uint16_t + constexpr std::ptrdiff_t m_nChild = 0x6; // uint16_t + constexpr std::ptrdiff_t m_params = 0x8; // VPhysXConstraintParams_t +} + +namespace VPhysXConstraintParams_t { + constexpr std::ptrdiff_t m_nType = 0x0; // int8_t + constexpr std::ptrdiff_t m_nTranslateMotion = 0x1; // int8_t + constexpr std::ptrdiff_t m_nRotateMotion = 0x2; // int8_t + constexpr std::ptrdiff_t m_nFlags = 0x3; // int8_t + constexpr std::ptrdiff_t m_anchor = 0x4; // Vector[2] + constexpr std::ptrdiff_t m_axes = 0x1C; // QuaternionStorage[2] + constexpr std::ptrdiff_t m_maxForce = 0x3C; // float + constexpr std::ptrdiff_t m_maxTorque = 0x40; // float + constexpr std::ptrdiff_t m_linearLimitValue = 0x44; // float + constexpr std::ptrdiff_t m_linearLimitRestitution = 0x48; // float + constexpr std::ptrdiff_t m_linearLimitSpring = 0x4C; // float + constexpr std::ptrdiff_t m_linearLimitDamping = 0x50; // float + constexpr std::ptrdiff_t m_twistLowLimitValue = 0x54; // float + constexpr std::ptrdiff_t m_twistLowLimitRestitution = 0x58; // float + constexpr std::ptrdiff_t m_twistLowLimitSpring = 0x5C; // float + constexpr std::ptrdiff_t m_twistLowLimitDamping = 0x60; // float + constexpr std::ptrdiff_t m_twistHighLimitValue = 0x64; // float + constexpr std::ptrdiff_t m_twistHighLimitRestitution = 0x68; // float + constexpr std::ptrdiff_t m_twistHighLimitSpring = 0x6C; // float + constexpr std::ptrdiff_t m_twistHighLimitDamping = 0x70; // float + constexpr std::ptrdiff_t m_swing1LimitValue = 0x74; // float + constexpr std::ptrdiff_t m_swing1LimitRestitution = 0x78; // float + constexpr std::ptrdiff_t m_swing1LimitSpring = 0x7C; // float + constexpr std::ptrdiff_t m_swing1LimitDamping = 0x80; // float + constexpr std::ptrdiff_t m_swing2LimitValue = 0x84; // float + constexpr std::ptrdiff_t m_swing2LimitRestitution = 0x88; // float + constexpr std::ptrdiff_t m_swing2LimitSpring = 0x8C; // float + constexpr std::ptrdiff_t m_swing2LimitDamping = 0x90; // float + constexpr std::ptrdiff_t m_goalPosition = 0x94; // Vector + constexpr std::ptrdiff_t m_goalOrientation = 0xA0; // QuaternionStorage + constexpr std::ptrdiff_t m_goalAngularVelocity = 0xB0; // Vector + constexpr std::ptrdiff_t m_driveSpringX = 0xBC; // float + constexpr std::ptrdiff_t m_driveSpringY = 0xC0; // float + constexpr std::ptrdiff_t m_driveSpringZ = 0xC4; // float + constexpr std::ptrdiff_t m_driveDampingX = 0xC8; // float + constexpr std::ptrdiff_t m_driveDampingY = 0xCC; // float + constexpr std::ptrdiff_t m_driveDampingZ = 0xD0; // float + constexpr std::ptrdiff_t m_driveSpringTwist = 0xD4; // float + constexpr std::ptrdiff_t m_driveSpringSwing = 0xD8; // float + constexpr std::ptrdiff_t m_driveSpringSlerp = 0xDC; // float + constexpr std::ptrdiff_t m_driveDampingTwist = 0xE0; // float + constexpr std::ptrdiff_t m_driveDampingSwing = 0xE4; // float + constexpr std::ptrdiff_t m_driveDampingSlerp = 0xE8; // float + constexpr std::ptrdiff_t m_solverIterationCount = 0xEC; // int32_t + constexpr std::ptrdiff_t m_projectionLinearTolerance = 0xF0; // float + constexpr std::ptrdiff_t m_projectionAngularTolerance = 0xF4; // float +} + +namespace VPhysXJoint_t { + constexpr std::ptrdiff_t m_nType = 0x0; // uint16_t + constexpr std::ptrdiff_t m_nBody1 = 0x2; // uint16_t + constexpr std::ptrdiff_t m_nBody2 = 0x4; // uint16_t + constexpr std::ptrdiff_t m_nFlags = 0x6; // uint16_t + constexpr std::ptrdiff_t m_Frame1 = 0x10; // CTransform + constexpr std::ptrdiff_t m_Frame2 = 0x30; // CTransform + constexpr std::ptrdiff_t m_bEnableCollision = 0x50; // bool + constexpr std::ptrdiff_t m_bEnableLinearLimit = 0x51; // bool + constexpr std::ptrdiff_t m_LinearLimit = 0x54; // VPhysXRange_t + constexpr std::ptrdiff_t m_bEnableLinearMotor = 0x5C; // bool + constexpr std::ptrdiff_t m_vLinearTargetVelocity = 0x60; // Vector + constexpr std::ptrdiff_t m_flMaxForce = 0x6C; // float + constexpr std::ptrdiff_t m_bEnableSwingLimit = 0x70; // bool + constexpr std::ptrdiff_t m_SwingLimit = 0x74; // VPhysXRange_t + constexpr std::ptrdiff_t m_bEnableTwistLimit = 0x7C; // bool + constexpr std::ptrdiff_t m_TwistLimit = 0x80; // VPhysXRange_t + constexpr std::ptrdiff_t m_bEnableAngularMotor = 0x88; // bool + constexpr std::ptrdiff_t m_vAngularTargetVelocity = 0x8C; // Vector + constexpr std::ptrdiff_t m_flMaxTorque = 0x98; // float + constexpr std::ptrdiff_t m_flLinearFrequency = 0x9C; // float + constexpr std::ptrdiff_t m_flLinearDampingRatio = 0xA0; // float + constexpr std::ptrdiff_t m_flAngularFrequency = 0xA4; // float + constexpr std::ptrdiff_t m_flAngularDampingRatio = 0xA8; // float + constexpr std::ptrdiff_t m_flFriction = 0xAC; // float +} + +namespace VPhysXRange_t { + constexpr std::ptrdiff_t m_flMin = 0x0; // float + constexpr std::ptrdiff_t m_flMax = 0x4; // float +} + +namespace VPhysics2ShapeDef_t { + constexpr std::ptrdiff_t m_spheres = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_capsules = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_hulls = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_meshes = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_CollisionAttributeIndices = 0x60; // CUtlVector +} + +namespace WeightList { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_weights = 0x8; // CUtlVector +} + +namespace WristBone_t { + constexpr std::ptrdiff_t m_xOffsetTransformMS = 0x0; // CTransform + constexpr std::ptrdiff_t m_boneIndex = 0x20; // int32_t +} \ No newline at end of file diff --git a/HPCS2/offset/client.dll.hpp b/HPCS2/offset/client.dll.hpp new file mode 100644 index 0000000..ea0f58c --- /dev/null +++ b/HPCS2/offset/client.dll.hpp @@ -0,0 +1,4159 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:22 +0000 + */ + +#pragma once + +#include + +namespace ActiveModelConfig_t { + constexpr std::ptrdiff_t m_Handle = 0x28; // ModelConfigHandle_t + constexpr std::ptrdiff_t m_Name = 0x30; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_AssociatedEntities = 0x38; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_AssociatedEntityNames = 0x50; // C_NetworkUtlVectorBase +} + +namespace CAnimGraphNetworkedVariables { + constexpr std::ptrdiff_t m_PredNetBoolVariables = 0x8; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetByteVariables = 0x20; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetUInt16Variables = 0x38; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetIntVariables = 0x50; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetUInt32Variables = 0x68; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetUInt64Variables = 0x80; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetFloatVariables = 0x98; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetVectorVariables = 0xB0; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetQuaternionVariables = 0xC8; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetBoolVariables = 0xE0; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetByteVariables = 0xF8; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt16Variables = 0x110; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetIntVariables = 0x128; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt32Variables = 0x140; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt64Variables = 0x158; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetFloatVariables = 0x170; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetVectorVariables = 0x188; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetQuaternionVariables = 0x1A0; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_nBoolVariablesCount = 0x1B8; // int32_t + constexpr std::ptrdiff_t m_nOwnerOnlyBoolVariablesCount = 0x1BC; // int32_t + constexpr std::ptrdiff_t m_nRandomSeedOffset = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flLastTeleportTime = 0x1C4; // float +} + +namespace CAttributeList { + constexpr std::ptrdiff_t m_Attributes = 0x8; // C_UtlVectorEmbeddedNetworkVar + constexpr std::ptrdiff_t m_pManager = 0x58; // CAttributeManager* +} + +namespace CAttributeManager { + constexpr std::ptrdiff_t m_Providers = 0x8; // CUtlVector> + constexpr std::ptrdiff_t m_iReapplyProvisionParity = 0x20; // int32_t + constexpr std::ptrdiff_t m_hOuter = 0x24; // CHandle + constexpr std::ptrdiff_t m_bPreventLoopback = 0x28; // bool + constexpr std::ptrdiff_t m_ProviderType = 0x2C; // attributeprovidertypes_t + constexpr std::ptrdiff_t m_CachedResults = 0x30; // CUtlVector +} + +namespace CAttributeManager_cached_attribute_float_t { + constexpr std::ptrdiff_t flIn = 0x0; // float + constexpr std::ptrdiff_t iAttribHook = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t flOut = 0x10; // float +} + +namespace CBaseAnimGraph { // C_BaseModelEntity + constexpr std::ptrdiff_t m_bInitiallyPopulateInterpHistory = 0xCC0; // bool + constexpr std::ptrdiff_t m_bShouldAnimateDuringGameplayPause = 0xCC1; // bool + constexpr std::ptrdiff_t m_bSuppressAnimEventSounds = 0xCC3; // bool + constexpr std::ptrdiff_t m_bAnimGraphUpdateEnabled = 0xCD0; // bool + constexpr std::ptrdiff_t m_flMaxSlopeDistance = 0xCD4; // float + constexpr std::ptrdiff_t m_vLastSlopeCheckPos = 0xCD8; // Vector + constexpr std::ptrdiff_t m_vecForce = 0xCE8; // Vector + constexpr std::ptrdiff_t m_nForceBone = 0xCF4; // int32_t + constexpr std::ptrdiff_t m_pClientsideRagdoll = 0xCF8; // CBaseAnimGraph* + constexpr std::ptrdiff_t m_bBuiltRagdoll = 0xD00; // bool + constexpr std::ptrdiff_t m_pRagdollPose = 0xD18; // PhysicsRagdollPose_t* + constexpr std::ptrdiff_t m_bClientRagdoll = 0xD20; // bool + constexpr std::ptrdiff_t m_bHasAnimatedMaterialAttributes = 0xD30; // bool +} + +namespace CBaseAnimGraphController { // CSkeletonAnimationController + constexpr std::ptrdiff_t m_baseLayer = 0x18; // CNetworkedSequenceOperation + constexpr std::ptrdiff_t m_animGraphNetworkedVars = 0x40; // CAnimGraphNetworkedVariables + constexpr std::ptrdiff_t m_bSequenceFinished = 0x1320; // bool + constexpr std::ptrdiff_t m_flLastEventCycle = 0x1324; // float + constexpr std::ptrdiff_t m_flLastEventAnimTime = 0x1328; // float + constexpr std::ptrdiff_t m_flPlaybackRate = 0x132C; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_flPrevAnimTime = 0x1334; // float + constexpr std::ptrdiff_t m_bClientSideAnimation = 0x1338; // bool + constexpr std::ptrdiff_t m_bNetworkedAnimationInputsChanged = 0x1339; // bool + constexpr std::ptrdiff_t m_nPrevNewSequenceParity = 0x133A; // uint8_t + constexpr std::ptrdiff_t m_nPrevResetEventsParity = 0x133B; // uint8_t + constexpr std::ptrdiff_t m_nNewSequenceParity = 0x133C; // int32_t + constexpr std::ptrdiff_t m_nResetEventsParity = 0x1340; // int32_t + constexpr std::ptrdiff_t m_nAnimLoopMode = 0x1344; // AnimLoopMode_t + constexpr std::ptrdiff_t m_hAnimationUpdate = 0x13E4; // AnimationUpdateListHandle_t + constexpr std::ptrdiff_t m_hLastAnimEventSequence = 0x13E8; // HSequence +} + +namespace CBasePlayerController { // C_BaseEntity + constexpr std::ptrdiff_t m_nFinalPredictedTick = 0x548; // int32_t + constexpr std::ptrdiff_t m_CommandContext = 0x550; // C_CommandContext + constexpr std::ptrdiff_t m_nInButtonsWhichAreToggles = 0x5D0; // uint64_t + constexpr std::ptrdiff_t m_nTickBase = 0x5D8; // uint32_t + constexpr std::ptrdiff_t m_hPawn = 0x5DC; // CHandle + constexpr std::ptrdiff_t m_hPredictedPawn = 0x5E0; // CHandle + constexpr std::ptrdiff_t m_nSplitScreenSlot = 0x5E4; // CSplitScreenSlot + constexpr std::ptrdiff_t m_hSplitOwner = 0x5E8; // CHandle + constexpr std::ptrdiff_t m_hSplitScreenPlayers = 0x5F0; // CUtlVector> + constexpr std::ptrdiff_t m_bIsHLTV = 0x608; // bool + constexpr std::ptrdiff_t m_iConnected = 0x60C; // PlayerConnectedState + constexpr std::ptrdiff_t m_iszPlayerName = 0x610; // char[128] + constexpr std::ptrdiff_t m_steamID = 0x698; // uint64_t + constexpr std::ptrdiff_t m_bIsLocalPlayerController = 0x6A0; // bool + constexpr std::ptrdiff_t m_iDesiredFOV = 0x6A4; // uint32_t +} + +namespace CBasePlayerVData { // CEntitySubclassVDataBase + constexpr std::ptrdiff_t m_sModelName = 0x28; // CResourceNameTyped> + constexpr std::ptrdiff_t m_flHeadDamageMultiplier = 0x108; // CSkillFloat + constexpr std::ptrdiff_t m_flChestDamageMultiplier = 0x118; // CSkillFloat + constexpr std::ptrdiff_t m_flStomachDamageMultiplier = 0x128; // CSkillFloat + constexpr std::ptrdiff_t m_flArmDamageMultiplier = 0x138; // CSkillFloat + constexpr std::ptrdiff_t m_flLegDamageMultiplier = 0x148; // CSkillFloat + constexpr std::ptrdiff_t m_flHoldBreathTime = 0x158; // float + constexpr std::ptrdiff_t m_flDrowningDamageInterval = 0x15C; // float + constexpr std::ptrdiff_t m_nDrowningDamageInitial = 0x160; // int32_t + constexpr std::ptrdiff_t m_nDrowningDamageMax = 0x164; // int32_t + constexpr std::ptrdiff_t m_nWaterSpeed = 0x168; // int32_t + constexpr std::ptrdiff_t m_flUseRange = 0x16C; // float + constexpr std::ptrdiff_t m_flUseAngleTolerance = 0x170; // float + constexpr std::ptrdiff_t m_flCrouchTime = 0x174; // float +} + +namespace CBasePlayerWeaponVData { // CEntitySubclassVDataBase + constexpr std::ptrdiff_t m_szWorldModel = 0x28; // CResourceNameTyped> + constexpr std::ptrdiff_t m_bBuiltRightHanded = 0x108; // bool + constexpr std::ptrdiff_t m_bAllowFlipping = 0x109; // bool + constexpr std::ptrdiff_t m_bIsFullAuto = 0x10A; // bool + constexpr std::ptrdiff_t m_nNumBullets = 0x10C; // int32_t + constexpr std::ptrdiff_t m_sMuzzleAttachment = 0x110; // CUtlString + constexpr std::ptrdiff_t m_szMuzzleFlashParticle = 0x118; // CResourceNameTyped> + constexpr std::ptrdiff_t m_iFlags = 0x1F8; // ItemFlagTypes_t + constexpr std::ptrdiff_t m_nPrimaryAmmoType = 0x1F9; // AmmoIndex_t + constexpr std::ptrdiff_t m_nSecondaryAmmoType = 0x1FA; // AmmoIndex_t + constexpr std::ptrdiff_t m_iMaxClip1 = 0x1FC; // int32_t + constexpr std::ptrdiff_t m_iMaxClip2 = 0x200; // int32_t + constexpr std::ptrdiff_t m_iDefaultClip1 = 0x204; // int32_t + constexpr std::ptrdiff_t m_iDefaultClip2 = 0x208; // int32_t + constexpr std::ptrdiff_t m_iWeight = 0x20C; // int32_t + constexpr std::ptrdiff_t m_bAutoSwitchTo = 0x210; // bool + constexpr std::ptrdiff_t m_bAutoSwitchFrom = 0x211; // bool + constexpr std::ptrdiff_t m_iRumbleEffect = 0x214; // RumbleEffect_t + constexpr std::ptrdiff_t m_aShootSounds = 0x218; // CUtlMap + constexpr std::ptrdiff_t m_iSlot = 0x238; // int32_t + constexpr std::ptrdiff_t m_iPosition = 0x23C; // int32_t +} + +namespace CBaseProp { // CBaseAnimGraph + constexpr std::ptrdiff_t m_bModelOverrodeBlockLOS = 0xE80; // bool + constexpr std::ptrdiff_t m_iShapeType = 0xE84; // int32_t + constexpr std::ptrdiff_t m_bConformToCollisionBounds = 0xE88; // bool + constexpr std::ptrdiff_t m_mPreferredCatchTransform = 0xE8C; // matrix3x4_t +} + +namespace CBodyComponent { // CEntityComponent + constexpr std::ptrdiff_t m_pSceneNode = 0x8; // CGameSceneNode* + constexpr std::ptrdiff_t __m_pChainEntity = 0x20; // CNetworkVarChainer +} + +namespace CBodyComponentBaseAnimGraph { // CBodyComponentSkeletonInstance + constexpr std::ptrdiff_t m_animationController = 0x480; // CBaseAnimGraphController + constexpr std::ptrdiff_t __m_pChainEntity = 0x18C0; // CNetworkVarChainer +} + +namespace CBodyComponentBaseModelEntity { // CBodyComponentSkeletonInstance + constexpr std::ptrdiff_t __m_pChainEntity = 0x480; // CNetworkVarChainer +} + +namespace CBodyComponentPoint { // CBodyComponent + constexpr std::ptrdiff_t m_sceneNode = 0x50; // CGameSceneNode + constexpr std::ptrdiff_t __m_pChainEntity = 0x1A0; // CNetworkVarChainer +} + +namespace CBodyComponentSkeletonInstance { // CBodyComponent + constexpr std::ptrdiff_t m_skeletonInstance = 0x50; // CSkeletonInstance + constexpr std::ptrdiff_t __m_pChainEntity = 0x450; // CNetworkVarChainer +} + +namespace CBombTarget { // C_BaseTrigger + constexpr std::ptrdiff_t m_bBombPlantedHere = 0xCC8; // bool +} + +namespace CBreachCharge { // C_CSWeaponBase +} + +namespace CBreachChargeProjectile { // C_BaseGrenade +} + +namespace CBumpMine { // C_CSWeaponBase +} + +namespace CBumpMineProjectile { // C_BaseGrenade +} + +namespace CBuoyancyHelper { + constexpr std::ptrdiff_t m_flFluidDensity = 0x18; // float +} + +namespace CCSGO_WingmanIntroCharacterPosition { // C_CSGO_TeamIntroCharacterPosition +} + +namespace CCSGO_WingmanIntroCounterTerroristPosition { // CCSGO_WingmanIntroCharacterPosition +} + +namespace CCSGO_WingmanIntroTerroristPosition { // CCSGO_WingmanIntroCharacterPosition +} + +namespace CCSGameModeRules { + constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer +} + +namespace CCSGameModeRules_Deathmatch { // CCSGameModeRules + constexpr std::ptrdiff_t m_bFirstThink = 0x30; // bool + constexpr std::ptrdiff_t m_bFirstThinkAfterConnected = 0x31; // bool + constexpr std::ptrdiff_t m_flDMBonusStartTime = 0x34; // GameTime_t + constexpr std::ptrdiff_t m_flDMBonusTimeLength = 0x38; // float + constexpr std::ptrdiff_t m_nDMBonusWeaponLoadoutSlot = 0x3C; // int16_t +} + +namespace CCSGameModeRules_Noop { // CCSGameModeRules +} + +namespace CCSGameModeRules_Scripted { // CCSGameModeRules +} + +namespace CCSGameModeScript { // CBasePulseGraphInstance +} + +namespace CCSObserver_CameraServices { // CCSPlayerBase_CameraServices +} + +namespace CCSObserver_MovementServices { // CPlayer_MovementServices +} + +namespace CCSObserver_ObserverServices { // CPlayer_ObserverServices + constexpr std::ptrdiff_t m_hLastObserverTarget = 0x58; // CEntityHandle + constexpr std::ptrdiff_t m_vecObserverInterpolateOffset = 0x5C; // Vector + constexpr std::ptrdiff_t m_vecObserverInterpStartPos = 0x68; // Vector + constexpr std::ptrdiff_t m_flObsInterp_PathLength = 0x74; // float + constexpr std::ptrdiff_t m_qObsInterp_OrientationStart = 0x80; // Quaternion + constexpr std::ptrdiff_t m_qObsInterp_OrientationTravelDir = 0x90; // Quaternion + constexpr std::ptrdiff_t m_obsInterpState = 0xA0; // ObserverInterpState_t + constexpr std::ptrdiff_t m_bObserverInterpolationNeedsDeferredSetup = 0xA4; // bool +} + +namespace CCSObserver_UseServices { // CPlayer_UseServices +} + +namespace CCSObserver_ViewModelServices { // CPlayer_ViewModelServices +} + +namespace CCSPlayerBase_CameraServices { // CPlayer_CameraServices + constexpr std::ptrdiff_t m_iFOV = 0x210; // uint32_t + constexpr std::ptrdiff_t m_iFOVStart = 0x214; // uint32_t + constexpr std::ptrdiff_t m_flFOVTime = 0x218; // GameTime_t + constexpr std::ptrdiff_t m_flFOVRate = 0x21C; // float + constexpr std::ptrdiff_t m_hZoomOwner = 0x220; // CHandle + constexpr std::ptrdiff_t m_flLastShotFOV = 0x224; // float +} + +namespace CCSPlayerController { // CBasePlayerController + constexpr std::ptrdiff_t m_pInGameMoneyServices = 0x6D0; // CCSPlayerController_InGameMoneyServices* + constexpr std::ptrdiff_t m_pInventoryServices = 0x6D8; // CCSPlayerController_InventoryServices* + constexpr std::ptrdiff_t m_pActionTrackingServices = 0x6E0; // CCSPlayerController_ActionTrackingServices* + constexpr std::ptrdiff_t m_pDamageServices = 0x6E8; // CCSPlayerController_DamageServices* + constexpr std::ptrdiff_t m_iPing = 0x6F0; // uint32_t + constexpr std::ptrdiff_t m_bHasCommunicationAbuseMute = 0x6F4; // bool + constexpr std::ptrdiff_t m_szCrosshairCodes = 0x6F8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iPendingTeamNum = 0x700; // uint8_t + constexpr std::ptrdiff_t m_flForceTeamTime = 0x704; // GameTime_t + constexpr std::ptrdiff_t m_iCompTeammateColor = 0x708; // int32_t + constexpr std::ptrdiff_t m_bEverPlayedOnTeam = 0x70C; // bool + constexpr std::ptrdiff_t m_flPreviousForceJoinTeamTime = 0x710; // GameTime_t + constexpr std::ptrdiff_t m_szClan = 0x718; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sSanitizedPlayerName = 0x720; // CUtlString + constexpr std::ptrdiff_t m_iCoachingTeam = 0x728; // int32_t + constexpr std::ptrdiff_t m_nPlayerDominated = 0x730; // uint64_t + constexpr std::ptrdiff_t m_nPlayerDominatingMe = 0x738; // uint64_t + constexpr std::ptrdiff_t m_iCompetitiveRanking = 0x740; // int32_t + constexpr std::ptrdiff_t m_iCompetitiveWins = 0x744; // int32_t + constexpr std::ptrdiff_t m_iCompetitiveRankType = 0x748; // int8_t + constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Win = 0x74C; // int32_t + constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Loss = 0x750; // int32_t + constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Tie = 0x754; // int32_t + constexpr std::ptrdiff_t m_nEndMatchNextMapVote = 0x758; // int32_t + constexpr std::ptrdiff_t m_unActiveQuestId = 0x75C; // uint16_t + constexpr std::ptrdiff_t m_nQuestProgressReason = 0x760; // QuestProgress::Reason + constexpr std::ptrdiff_t m_unPlayerTvControlFlags = 0x764; // uint32_t + constexpr std::ptrdiff_t m_iDraftIndex = 0x790; // int32_t + constexpr std::ptrdiff_t m_msQueuedModeDisconnectionTimestamp = 0x794; // uint32_t + constexpr std::ptrdiff_t m_uiAbandonRecordedReason = 0x798; // uint32_t + constexpr std::ptrdiff_t m_bEverFullyConnected = 0x79C; // bool + constexpr std::ptrdiff_t m_bAbandonAllowsSurrender = 0x79D; // bool + constexpr std::ptrdiff_t m_bAbandonOffersInstantSurrender = 0x79E; // bool + constexpr std::ptrdiff_t m_bDisconnection1MinWarningPrinted = 0x79F; // bool + constexpr std::ptrdiff_t m_bScoreReported = 0x7A0; // bool + constexpr std::ptrdiff_t m_nDisconnectionTick = 0x7A4; // int32_t + constexpr std::ptrdiff_t m_bControllingBot = 0x7B0; // bool + constexpr std::ptrdiff_t m_bHasControlledBotThisRound = 0x7B1; // bool + constexpr std::ptrdiff_t m_bHasBeenControlledByPlayerThisRound = 0x7B2; // bool + constexpr std::ptrdiff_t m_nBotsControlledThisRound = 0x7B4; // int32_t + constexpr std::ptrdiff_t m_bCanControlObservedBot = 0x7B8; // bool + constexpr std::ptrdiff_t m_hPlayerPawn = 0x7BC; // CHandle + constexpr std::ptrdiff_t m_hObserverPawn = 0x7C0; // CHandle + constexpr std::ptrdiff_t m_bPawnIsAlive = 0x7C4; // bool + constexpr std::ptrdiff_t m_iPawnHealth = 0x7C8; // uint32_t + constexpr std::ptrdiff_t m_iPawnArmor = 0x7CC; // int32_t + constexpr std::ptrdiff_t m_bPawnHasDefuser = 0x7D0; // bool + constexpr std::ptrdiff_t m_bPawnHasHelmet = 0x7D1; // bool + constexpr std::ptrdiff_t m_nPawnCharacterDefIndex = 0x7D2; // uint16_t + constexpr std::ptrdiff_t m_iPawnLifetimeStart = 0x7D4; // int32_t + constexpr std::ptrdiff_t m_iPawnLifetimeEnd = 0x7D8; // int32_t + constexpr std::ptrdiff_t m_iPawnBotDifficulty = 0x7DC; // int32_t + constexpr std::ptrdiff_t m_hOriginalControllerOfCurrentPawn = 0x7E0; // CHandle + constexpr std::ptrdiff_t m_iScore = 0x7E4; // int32_t + constexpr std::ptrdiff_t m_vecKills = 0x7E8; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_iMVPs = 0x800; // int32_t + constexpr std::ptrdiff_t m_bIsPlayerNameDirty = 0x804; // bool +} + +namespace CCSPlayerController_ActionTrackingServices { // CPlayerControllerComponent + constexpr std::ptrdiff_t m_perRoundStats = 0x40; // C_UtlVectorEmbeddedNetworkVar + constexpr std::ptrdiff_t m_matchStats = 0x90; // CSMatchStats_t + constexpr std::ptrdiff_t m_iNumRoundKills = 0x108; // int32_t + constexpr std::ptrdiff_t m_iNumRoundKillsHeadshots = 0x10C; // int32_t + constexpr std::ptrdiff_t m_unTotalRoundDamageDealt = 0x110; // uint32_t +} + +namespace CCSPlayerController_DamageServices { // CPlayerControllerComponent + constexpr std::ptrdiff_t m_nSendUpdate = 0x40; // int32_t + constexpr std::ptrdiff_t m_DamageList = 0x48; // C_UtlVectorEmbeddedNetworkVar +} + +namespace CCSPlayerController_InGameMoneyServices { // CPlayerControllerComponent + constexpr std::ptrdiff_t m_iAccount = 0x40; // int32_t + constexpr std::ptrdiff_t m_iStartAccount = 0x44; // int32_t + constexpr std::ptrdiff_t m_iTotalCashSpent = 0x48; // int32_t + constexpr std::ptrdiff_t m_iCashSpentThisRound = 0x4C; // int32_t + constexpr std::ptrdiff_t m_nPreviousAccount = 0x50; // int32_t +} + +namespace CCSPlayerController_InventoryServices { // CPlayerControllerComponent + constexpr std::ptrdiff_t m_unMusicID = 0x40; // uint16_t + constexpr std::ptrdiff_t m_rank = 0x44; // MedalRank_t[6] + constexpr std::ptrdiff_t m_nPersonaDataPublicLevel = 0x5C; // int32_t + constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsLeader = 0x60; // int32_t + constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsTeacher = 0x64; // int32_t + constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsFriendly = 0x68; // int32_t + constexpr std::ptrdiff_t m_vecServerAuthoritativeWeaponSlots = 0x70; // C_UtlVectorEmbeddedNetworkVar +} + +namespace CCSPlayer_ActionTrackingServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_hLastWeaponBeforeC4AutoSwitch = 0x40; // CHandle + constexpr std::ptrdiff_t m_bIsRescuing = 0x44; // bool + constexpr std::ptrdiff_t m_weaponPurchasesThisMatch = 0x48; // WeaponPurchaseTracker_t + constexpr std::ptrdiff_t m_weaponPurchasesThisRound = 0xA0; // WeaponPurchaseTracker_t +} + +namespace CCSPlayer_BulletServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_totalHitsOnServer = 0x40; // int32_t +} + +namespace CCSPlayer_BuyServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_vecSellbackPurchaseEntries = 0x40; // C_UtlVectorEmbeddedNetworkVar +} + +namespace CCSPlayer_CameraServices { // CCSPlayerBase_CameraServices + constexpr std::ptrdiff_t m_flDeathCamTilt = 0x228; // float +} + +namespace CCSPlayer_GlowServices { // CPlayerPawnComponent +} + +namespace CCSPlayer_HostageServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_hCarriedHostage = 0x40; // CHandle + constexpr std::ptrdiff_t m_hCarriedHostageProp = 0x44; // CHandle +} + +namespace CCSPlayer_ItemServices { // CPlayer_ItemServices + constexpr std::ptrdiff_t m_bHasDefuser = 0x40; // bool + constexpr std::ptrdiff_t m_bHasHelmet = 0x41; // bool + constexpr std::ptrdiff_t m_bHasHeavyArmor = 0x42; // bool +} + +namespace CCSPlayer_MovementServices { // CPlayer_MovementServices_Humanoid + constexpr std::ptrdiff_t m_flMaxFallVelocity = 0x210; // float + constexpr std::ptrdiff_t m_vecLadderNormal = 0x214; // Vector + constexpr std::ptrdiff_t m_nLadderSurfacePropIndex = 0x220; // int32_t + constexpr std::ptrdiff_t m_flDuckAmount = 0x224; // float + constexpr std::ptrdiff_t m_flDuckSpeed = 0x228; // float + constexpr std::ptrdiff_t m_bDuckOverride = 0x22C; // bool + constexpr std::ptrdiff_t m_bDesiresDuck = 0x22D; // bool + constexpr std::ptrdiff_t m_flDuckOffset = 0x230; // float + constexpr std::ptrdiff_t m_nDuckTimeMsecs = 0x234; // uint32_t + constexpr std::ptrdiff_t m_nDuckJumpTimeMsecs = 0x238; // uint32_t + constexpr std::ptrdiff_t m_nJumpTimeMsecs = 0x23C; // uint32_t + constexpr std::ptrdiff_t m_flLastDuckTime = 0x240; // float + constexpr std::ptrdiff_t m_vecLastPositionAtFullCrouchSpeed = 0x250; // Vector2D + constexpr std::ptrdiff_t m_duckUntilOnGround = 0x258; // bool + constexpr std::ptrdiff_t m_bHasWalkMovedSinceLastJump = 0x259; // bool + constexpr std::ptrdiff_t m_bInStuckTest = 0x25A; // bool + constexpr std::ptrdiff_t m_flStuckCheckTime = 0x268; // float[64][2] + constexpr std::ptrdiff_t m_nTraceCount = 0x468; // int32_t + constexpr std::ptrdiff_t m_StuckLast = 0x46C; // int32_t + constexpr std::ptrdiff_t m_bSpeedCropped = 0x470; // bool + constexpr std::ptrdiff_t m_nOldWaterLevel = 0x474; // int32_t + constexpr std::ptrdiff_t m_flWaterEntryTime = 0x478; // float + constexpr std::ptrdiff_t m_vecForward = 0x47C; // Vector + constexpr std::ptrdiff_t m_vecLeft = 0x488; // Vector + constexpr std::ptrdiff_t m_vecUp = 0x494; // Vector + constexpr std::ptrdiff_t m_vecPreviouslyPredictedOrigin = 0x4A0; // Vector + constexpr std::ptrdiff_t m_bOldJumpPressed = 0x4AC; // bool + constexpr std::ptrdiff_t m_flJumpPressedTime = 0x4B0; // float + constexpr std::ptrdiff_t m_flJumpUntil = 0x4B4; // float + constexpr std::ptrdiff_t m_flJumpVel = 0x4B8; // float + constexpr std::ptrdiff_t m_fStashGrenadeParameterWhen = 0x4BC; // GameTime_t + constexpr std::ptrdiff_t m_nButtonDownMaskPrev = 0x4C0; // uint64_t + constexpr std::ptrdiff_t m_flOffsetTickCompleteTime = 0x4C8; // float + constexpr std::ptrdiff_t m_flOffsetTickStashedSpeed = 0x4CC; // float + constexpr std::ptrdiff_t m_flStamina = 0x4D0; // float + constexpr std::ptrdiff_t m_bUpdatePredictedOriginAfterDataUpdate = 0x4D4; // bool +} + +namespace CCSPlayer_PingServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_hPlayerPing = 0x40; // CHandle +} + +namespace CCSPlayer_UseServices { // CPlayer_UseServices +} + +namespace CCSPlayer_ViewModelServices { // CPlayer_ViewModelServices + constexpr std::ptrdiff_t m_hViewModel = 0x40; // CHandle[3] +} + +namespace CCSPlayer_WaterServices { // CPlayer_WaterServices + constexpr std::ptrdiff_t m_flWaterJumpTime = 0x40; // float + constexpr std::ptrdiff_t m_vecWaterJumpVel = 0x44; // Vector + constexpr std::ptrdiff_t m_flSwimSoundTime = 0x50; // float +} + +namespace CCSPlayer_WeaponServices { // CPlayer_WeaponServices + constexpr std::ptrdiff_t m_flNextAttack = 0xA8; // GameTime_t + constexpr std::ptrdiff_t m_bIsLookingAtWeapon = 0xAC; // bool + constexpr std::ptrdiff_t m_bIsHoldingLookAtWeapon = 0xAD; // bool +} + +namespace CCSWeaponBaseVData { // CBasePlayerWeaponVData + constexpr std::ptrdiff_t m_WeaponType = 0x240; // CSWeaponType + constexpr std::ptrdiff_t m_WeaponCategory = 0x244; // CSWeaponCategory + constexpr std::ptrdiff_t m_szViewModel = 0x248; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szPlayerModel = 0x328; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szWorldDroppedModel = 0x408; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szAimsightLensMaskModel = 0x4E8; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szMagazineModel = 0x5C8; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szHeatEffect = 0x6A8; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szEjectBrassEffect = 0x788; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szMuzzleFlashParticleAlt = 0x868; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szMuzzleFlashThirdPersonParticle = 0x948; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szMuzzleFlashThirdPersonParticleAlt = 0xA28; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szTracerParticle = 0xB08; // CResourceNameTyped> + constexpr std::ptrdiff_t m_GearSlot = 0xBE8; // gear_slot_t + constexpr std::ptrdiff_t m_GearSlotPosition = 0xBEC; // int32_t + constexpr std::ptrdiff_t m_DefaultLoadoutSlot = 0xBF0; // loadout_slot_t + constexpr std::ptrdiff_t m_sWrongTeamMsg = 0xBF8; // CUtlString + constexpr std::ptrdiff_t m_nPrice = 0xC00; // int32_t + constexpr std::ptrdiff_t m_nKillAward = 0xC04; // int32_t + constexpr std::ptrdiff_t m_nPrimaryReserveAmmoMax = 0xC08; // int32_t + constexpr std::ptrdiff_t m_nSecondaryReserveAmmoMax = 0xC0C; // int32_t + constexpr std::ptrdiff_t m_bMeleeWeapon = 0xC10; // bool + constexpr std::ptrdiff_t m_bHasBurstMode = 0xC11; // bool + constexpr std::ptrdiff_t m_bIsRevolver = 0xC12; // bool + constexpr std::ptrdiff_t m_bCannotShootUnderwater = 0xC13; // bool + constexpr std::ptrdiff_t m_szName = 0xC18; // CUtlString + constexpr std::ptrdiff_t m_szAnimExtension = 0xC20; // CUtlString + constexpr std::ptrdiff_t m_eSilencerType = 0xC28; // CSWeaponSilencerType + constexpr std::ptrdiff_t m_nCrosshairMinDistance = 0xC2C; // int32_t + constexpr std::ptrdiff_t m_nCrosshairDeltaDistance = 0xC30; // int32_t + constexpr std::ptrdiff_t m_flCycleTime = 0xC34; // CFiringModeFloat + constexpr std::ptrdiff_t m_flMaxSpeed = 0xC3C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flSpread = 0xC44; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyCrouch = 0xC4C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyStand = 0xC54; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyJump = 0xC5C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyLand = 0xC64; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyLadder = 0xC6C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyFire = 0xC74; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyMove = 0xC7C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flRecoilAngle = 0xC84; // CFiringModeFloat + constexpr std::ptrdiff_t m_flRecoilAngleVariance = 0xC8C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flRecoilMagnitude = 0xC94; // CFiringModeFloat + constexpr std::ptrdiff_t m_flRecoilMagnitudeVariance = 0xC9C; // CFiringModeFloat + constexpr std::ptrdiff_t m_nTracerFrequency = 0xCA4; // CFiringModeInt + constexpr std::ptrdiff_t m_flInaccuracyJumpInitial = 0xCAC; // float + constexpr std::ptrdiff_t m_flInaccuracyJumpApex = 0xCB0; // float + constexpr std::ptrdiff_t m_flInaccuracyReload = 0xCB4; // float + constexpr std::ptrdiff_t m_nRecoilSeed = 0xCB8; // int32_t + constexpr std::ptrdiff_t m_nSpreadSeed = 0xCBC; // int32_t + constexpr std::ptrdiff_t m_flTimeToIdleAfterFire = 0xCC0; // float + constexpr std::ptrdiff_t m_flIdleInterval = 0xCC4; // float + constexpr std::ptrdiff_t m_flAttackMovespeedFactor = 0xCC8; // float + constexpr std::ptrdiff_t m_flHeatPerShot = 0xCCC; // float + constexpr std::ptrdiff_t m_flInaccuracyPitchShift = 0xCD0; // float + constexpr std::ptrdiff_t m_flInaccuracyAltSoundThreshold = 0xCD4; // float + constexpr std::ptrdiff_t m_flBotAudibleRange = 0xCD8; // float + constexpr std::ptrdiff_t m_szUseRadioSubtitle = 0xCE0; // CUtlString + constexpr std::ptrdiff_t m_bUnzoomsAfterShot = 0xCE8; // bool + constexpr std::ptrdiff_t m_bHideViewModelWhenZoomed = 0xCE9; // bool + constexpr std::ptrdiff_t m_nZoomLevels = 0xCEC; // int32_t + constexpr std::ptrdiff_t m_nZoomFOV1 = 0xCF0; // int32_t + constexpr std::ptrdiff_t m_nZoomFOV2 = 0xCF4; // int32_t + constexpr std::ptrdiff_t m_flZoomTime0 = 0xCF8; // float + constexpr std::ptrdiff_t m_flZoomTime1 = 0xCFC; // float + constexpr std::ptrdiff_t m_flZoomTime2 = 0xD00; // float + constexpr std::ptrdiff_t m_flIronSightPullUpSpeed = 0xD04; // float + constexpr std::ptrdiff_t m_flIronSightPutDownSpeed = 0xD08; // float + constexpr std::ptrdiff_t m_flIronSightFOV = 0xD0C; // float + constexpr std::ptrdiff_t m_flIronSightPivotForward = 0xD10; // float + constexpr std::ptrdiff_t m_flIronSightLooseness = 0xD14; // float + constexpr std::ptrdiff_t m_angPivotAngle = 0xD18; // QAngle + constexpr std::ptrdiff_t m_vecIronSightEyePos = 0xD24; // Vector + constexpr std::ptrdiff_t m_nDamage = 0xD30; // int32_t + constexpr std::ptrdiff_t m_flHeadshotMultiplier = 0xD34; // float + constexpr std::ptrdiff_t m_flArmorRatio = 0xD38; // float + constexpr std::ptrdiff_t m_flPenetration = 0xD3C; // float + constexpr std::ptrdiff_t m_flRange = 0xD40; // float + constexpr std::ptrdiff_t m_flRangeModifier = 0xD44; // float + constexpr std::ptrdiff_t m_flFlinchVelocityModifierLarge = 0xD48; // float + constexpr std::ptrdiff_t m_flFlinchVelocityModifierSmall = 0xD4C; // float + constexpr std::ptrdiff_t m_flRecoveryTimeCrouch = 0xD50; // float + constexpr std::ptrdiff_t m_flRecoveryTimeStand = 0xD54; // float + constexpr std::ptrdiff_t m_flRecoveryTimeCrouchFinal = 0xD58; // float + constexpr std::ptrdiff_t m_flRecoveryTimeStandFinal = 0xD5C; // float + constexpr std::ptrdiff_t m_nRecoveryTransitionStartBullet = 0xD60; // int32_t + constexpr std::ptrdiff_t m_nRecoveryTransitionEndBullet = 0xD64; // int32_t + constexpr std::ptrdiff_t m_flThrowVelocity = 0xD68; // float + constexpr std::ptrdiff_t m_vSmokeColor = 0xD6C; // Vector + constexpr std::ptrdiff_t m_szAnimClass = 0xD78; // CUtlString +} + +namespace CClientAlphaProperty { // IClientAlphaProperty + constexpr std::ptrdiff_t m_nRenderFX = 0x10; // uint8_t + constexpr std::ptrdiff_t m_nRenderMode = 0x11; // uint8_t + constexpr std::ptrdiff_t m_bAlphaOverride = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bShadowAlphaOverride = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_nReserved = 0x0; // bitfield:6 + constexpr std::ptrdiff_t m_nAlpha = 0x13; // uint8_t + constexpr std::ptrdiff_t m_nDesyncOffset = 0x14; // uint16_t + constexpr std::ptrdiff_t m_nReserved2 = 0x16; // uint16_t + constexpr std::ptrdiff_t m_nDistFadeStart = 0x18; // uint16_t + constexpr std::ptrdiff_t m_nDistFadeEnd = 0x1A; // uint16_t + constexpr std::ptrdiff_t m_flFadeScale = 0x1C; // float + constexpr std::ptrdiff_t m_flRenderFxStartTime = 0x20; // GameTime_t + constexpr std::ptrdiff_t m_flRenderFxDuration = 0x24; // float +} + +namespace CCollisionProperty { + constexpr std::ptrdiff_t m_collisionAttribute = 0x10; // VPhysicsCollisionAttribute_t + constexpr std::ptrdiff_t m_vecMins = 0x40; // Vector + constexpr std::ptrdiff_t m_vecMaxs = 0x4C; // Vector + constexpr std::ptrdiff_t m_usSolidFlags = 0x5A; // uint8_t + constexpr std::ptrdiff_t m_nSolidType = 0x5B; // SolidType_t + constexpr std::ptrdiff_t m_triggerBloat = 0x5C; // uint8_t + constexpr std::ptrdiff_t m_nSurroundType = 0x5D; // SurroundingBoundsType_t + constexpr std::ptrdiff_t m_CollisionGroup = 0x5E; // uint8_t + constexpr std::ptrdiff_t m_nEnablePhysics = 0x5F; // uint8_t + constexpr std::ptrdiff_t m_flBoundingRadius = 0x60; // float + constexpr std::ptrdiff_t m_vecSpecifiedSurroundingMins = 0x64; // Vector + constexpr std::ptrdiff_t m_vecSpecifiedSurroundingMaxs = 0x70; // Vector + constexpr std::ptrdiff_t m_vecSurroundingMaxs = 0x7C; // Vector + constexpr std::ptrdiff_t m_vecSurroundingMins = 0x88; // Vector + constexpr std::ptrdiff_t m_vCapsuleCenter1 = 0x94; // Vector + constexpr std::ptrdiff_t m_vCapsuleCenter2 = 0xA0; // Vector + constexpr std::ptrdiff_t m_flCapsuleRadius = 0xAC; // float +} + +namespace CComicBook { + constexpr std::ptrdiff_t m_CoverImage = 0x8; // CPanoramaImageName + constexpr std::ptrdiff_t m_XmlFile = 0x18; // CUtlString +} + +namespace CCompositeMaterialEditorDoc { + constexpr std::ptrdiff_t m_nVersion = 0x8; // int32_t + constexpr std::ptrdiff_t m_Points = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_KVthumbnail = 0x28; // KeyValues3 +} + +namespace CDamageRecord { + constexpr std::ptrdiff_t m_PlayerDamager = 0x28; // CHandle + constexpr std::ptrdiff_t m_PlayerRecipient = 0x2C; // CHandle + constexpr std::ptrdiff_t m_hPlayerControllerDamager = 0x30; // CHandle + constexpr std::ptrdiff_t m_hPlayerControllerRecipient = 0x34; // CHandle + constexpr std::ptrdiff_t m_szPlayerDamagerName = 0x38; // CUtlString + constexpr std::ptrdiff_t m_szPlayerRecipientName = 0x40; // CUtlString + constexpr std::ptrdiff_t m_DamagerXuid = 0x48; // uint64_t + constexpr std::ptrdiff_t m_RecipientXuid = 0x50; // uint64_t + constexpr std::ptrdiff_t m_iDamage = 0x58; // int32_t + constexpr std::ptrdiff_t m_iActualHealthRemoved = 0x5C; // int32_t + constexpr std::ptrdiff_t m_iNumHits = 0x60; // int32_t + constexpr std::ptrdiff_t m_iLastBulletUpdate = 0x64; // int32_t + constexpr std::ptrdiff_t m_bIsOtherEnemy = 0x68; // bool + constexpr std::ptrdiff_t m_killType = 0x69; // EKillTypes_t +} + +namespace CDecalInfo { + constexpr std::ptrdiff_t m_flAnimationScale = 0x0; // float + constexpr std::ptrdiff_t m_flAnimationLifeSpan = 0x4; // float + constexpr std::ptrdiff_t m_flPlaceTime = 0x8; // float + constexpr std::ptrdiff_t m_flFadeStartTime = 0xC; // float + constexpr std::ptrdiff_t m_flFadeDuration = 0x10; // float + constexpr std::ptrdiff_t m_nVBSlot = 0x14; // int32_t + constexpr std::ptrdiff_t m_nBoneIndex = 0x18; // int32_t + constexpr std::ptrdiff_t m_pNext = 0x28; // CDecalInfo* + constexpr std::ptrdiff_t m_pPrev = 0x30; // CDecalInfo* + constexpr std::ptrdiff_t m_nDecalMaterialIndex = 0x90; // int32_t +} + +namespace CEconItemAttribute { + constexpr std::ptrdiff_t m_iAttributeDefinitionIndex = 0x30; // uint16_t + constexpr std::ptrdiff_t m_flValue = 0x34; // float + constexpr std::ptrdiff_t m_flInitialValue = 0x38; // float + constexpr std::ptrdiff_t m_nRefundableCurrency = 0x3C; // int32_t + constexpr std::ptrdiff_t m_bSetBonus = 0x40; // bool +} + +namespace CEffectData { + constexpr std::ptrdiff_t m_vOrigin = 0x8; // Vector + constexpr std::ptrdiff_t m_vStart = 0x14; // Vector + constexpr std::ptrdiff_t m_vNormal = 0x20; // Vector + constexpr std::ptrdiff_t m_vAngles = 0x2C; // QAngle + constexpr std::ptrdiff_t m_hEntity = 0x38; // CEntityHandle + constexpr std::ptrdiff_t m_hOtherEntity = 0x3C; // CEntityHandle + constexpr std::ptrdiff_t m_flScale = 0x40; // float + constexpr std::ptrdiff_t m_flMagnitude = 0x44; // float + constexpr std::ptrdiff_t m_flRadius = 0x48; // float + constexpr std::ptrdiff_t m_nSurfaceProp = 0x4C; // CUtlStringToken + constexpr std::ptrdiff_t m_nEffectIndex = 0x50; // CWeakHandle + constexpr std::ptrdiff_t m_nDamageType = 0x58; // uint32_t + constexpr std::ptrdiff_t m_nPenetrate = 0x5C; // uint8_t + constexpr std::ptrdiff_t m_nMaterial = 0x5E; // uint16_t + constexpr std::ptrdiff_t m_nHitBox = 0x60; // uint16_t + constexpr std::ptrdiff_t m_nColor = 0x62; // uint8_t + constexpr std::ptrdiff_t m_fFlags = 0x63; // uint8_t + constexpr std::ptrdiff_t m_nAttachmentIndex = 0x64; // AttachmentHandle_t + constexpr std::ptrdiff_t m_nAttachmentName = 0x68; // CUtlStringToken + constexpr std::ptrdiff_t m_iEffectName = 0x6C; // uint16_t + constexpr std::ptrdiff_t m_nExplosionType = 0x6E; // uint8_t +} + +namespace CEntityComponent { +} + +namespace CEntityIdentity { + constexpr std::ptrdiff_t m_nameStringableIndex = 0x14; // int32_t + constexpr std::ptrdiff_t m_name = 0x18; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_designerName = 0x20; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flags = 0x30; // uint32_t + constexpr std::ptrdiff_t m_worldGroupId = 0x38; // WorldGroupId_t + constexpr std::ptrdiff_t m_fDataObjectTypes = 0x3C; // uint32_t + constexpr std::ptrdiff_t m_PathIndex = 0x40; // ChangeAccessorFieldPathIndex_t + constexpr std::ptrdiff_t m_pPrev = 0x58; // CEntityIdentity* + constexpr std::ptrdiff_t m_pNext = 0x60; // CEntityIdentity* + constexpr std::ptrdiff_t m_pPrevByClass = 0x68; // CEntityIdentity* + constexpr std::ptrdiff_t m_pNextByClass = 0x70; // CEntityIdentity* +} + +namespace CEntityInstance { + constexpr std::ptrdiff_t m_iszPrivateVScripts = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pEntity = 0x10; // CEntityIdentity* + constexpr std::ptrdiff_t m_CScriptComponent = 0x28; // CScriptComponent* +} + +namespace CFireOverlay { // CGlowOverlay + constexpr std::ptrdiff_t m_pOwner = 0xD0; // C_FireSmoke* + constexpr std::ptrdiff_t m_vBaseColors = 0xD8; // Vector[4] + constexpr std::ptrdiff_t m_flScale = 0x108; // float + constexpr std::ptrdiff_t m_nGUID = 0x10C; // int32_t +} + +namespace CFlashlightEffect { + constexpr std::ptrdiff_t m_bIsOn = 0x10; // bool + constexpr std::ptrdiff_t m_bMuzzleFlashEnabled = 0x20; // bool + constexpr std::ptrdiff_t m_flMuzzleFlashBrightness = 0x24; // float + constexpr std::ptrdiff_t m_quatMuzzleFlashOrientation = 0x30; // Quaternion + constexpr std::ptrdiff_t m_vecMuzzleFlashOrigin = 0x40; // Vector + constexpr std::ptrdiff_t m_flFov = 0x4C; // float + constexpr std::ptrdiff_t m_flFarZ = 0x50; // float + constexpr std::ptrdiff_t m_flLinearAtten = 0x54; // float + constexpr std::ptrdiff_t m_bCastsShadows = 0x58; // bool + constexpr std::ptrdiff_t m_flCurrentPullBackDist = 0x5C; // float + constexpr std::ptrdiff_t m_FlashlightTexture = 0x60; // CStrongHandle + constexpr std::ptrdiff_t m_MuzzleFlashTexture = 0x68; // CStrongHandle + constexpr std::ptrdiff_t m_textureName = 0x70; // char[64] +} + +namespace CFuncWater { // C_BaseModelEntity + constexpr std::ptrdiff_t m_BuoyancyHelper = 0xCC0; // CBuoyancyHelper +} + +namespace CGameSceneNode { + constexpr std::ptrdiff_t m_nodeToWorld = 0x10; // CTransform + constexpr std::ptrdiff_t m_pOwner = 0x30; // CEntityInstance* + constexpr std::ptrdiff_t m_pParent = 0x38; // CGameSceneNode* + constexpr std::ptrdiff_t m_pChild = 0x40; // CGameSceneNode* + constexpr std::ptrdiff_t m_pNextSibling = 0x48; // CGameSceneNode* + constexpr std::ptrdiff_t m_hParent = 0x70; // CGameSceneNodeHandle + constexpr std::ptrdiff_t m_vecOrigin = 0x80; // CNetworkOriginCellCoordQuantizedVector + constexpr std::ptrdiff_t m_angRotation = 0xB8; // QAngle + constexpr std::ptrdiff_t m_flScale = 0xC4; // float + constexpr std::ptrdiff_t m_vecAbsOrigin = 0xC8; // Vector + constexpr std::ptrdiff_t m_angAbsRotation = 0xD4; // QAngle + constexpr std::ptrdiff_t m_flAbsScale = 0xE0; // float + constexpr std::ptrdiff_t m_nParentAttachmentOrBone = 0xE4; // int16_t + constexpr std::ptrdiff_t m_bDebugAbsOriginChanges = 0xE6; // bool + constexpr std::ptrdiff_t m_bDormant = 0xE7; // bool + constexpr std::ptrdiff_t m_bForceParentToBeNetworked = 0xE8; // bool + constexpr std::ptrdiff_t m_bDirtyHierarchy = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bDirtyBoneMergeInfo = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNetworkedPositionChanged = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNetworkedAnglesChanged = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNetworkedScaleChanged = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bWillBeCallingPostDataUpdate = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNotifyBoneTransformsChanged = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bBoneMergeFlex = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_nLatchAbsOrigin = 0x0; // bitfield:2 + constexpr std::ptrdiff_t m_bDirtyBoneMergeBoneToRoot = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_nHierarchicalDepth = 0xEB; // uint8_t + constexpr std::ptrdiff_t m_nHierarchyType = 0xEC; // uint8_t + constexpr std::ptrdiff_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount = 0xED; // uint8_t + constexpr std::ptrdiff_t m_name = 0xF0; // CUtlStringToken + constexpr std::ptrdiff_t m_hierarchyAttachName = 0x130; // CUtlStringToken + constexpr std::ptrdiff_t m_flZOffset = 0x134; // float + constexpr std::ptrdiff_t m_vRenderOrigin = 0x138; // Vector +} + +namespace CGameSceneNodeHandle { + constexpr std::ptrdiff_t m_hOwner = 0x8; // CEntityHandle + constexpr std::ptrdiff_t m_name = 0xC; // CUtlStringToken +} + +namespace CGlobalLightBase { + constexpr std::ptrdiff_t m_bSpotLight = 0x10; // bool + constexpr std::ptrdiff_t m_SpotLightOrigin = 0x14; // Vector + constexpr std::ptrdiff_t m_SpotLightAngles = 0x20; // QAngle + constexpr std::ptrdiff_t m_ShadowDirection = 0x2C; // Vector + constexpr std::ptrdiff_t m_AmbientDirection = 0x38; // Vector + constexpr std::ptrdiff_t m_SpecularDirection = 0x44; // Vector + constexpr std::ptrdiff_t m_InspectorSpecularDirection = 0x50; // Vector + constexpr std::ptrdiff_t m_flSpecularPower = 0x5C; // float + constexpr std::ptrdiff_t m_flSpecularIndependence = 0x60; // float + constexpr std::ptrdiff_t m_SpecularColor = 0x64; // Color + constexpr std::ptrdiff_t m_bStartDisabled = 0x68; // bool + constexpr std::ptrdiff_t m_bEnabled = 0x69; // bool + constexpr std::ptrdiff_t m_LightColor = 0x6A; // Color + constexpr std::ptrdiff_t m_AmbientColor1 = 0x6E; // Color + constexpr std::ptrdiff_t m_AmbientColor2 = 0x72; // Color + constexpr std::ptrdiff_t m_AmbientColor3 = 0x76; // Color + constexpr std::ptrdiff_t m_flSunDistance = 0x7C; // float + constexpr std::ptrdiff_t m_flFOV = 0x80; // float + constexpr std::ptrdiff_t m_flNearZ = 0x84; // float + constexpr std::ptrdiff_t m_flFarZ = 0x88; // float + constexpr std::ptrdiff_t m_bEnableShadows = 0x8C; // bool + constexpr std::ptrdiff_t m_bOldEnableShadows = 0x8D; // bool + constexpr std::ptrdiff_t m_bBackgroundClearNotRequired = 0x8E; // bool + constexpr std::ptrdiff_t m_flCloudScale = 0x90; // float + constexpr std::ptrdiff_t m_flCloud1Speed = 0x94; // float + constexpr std::ptrdiff_t m_flCloud1Direction = 0x98; // float + constexpr std::ptrdiff_t m_flCloud2Speed = 0x9C; // float + constexpr std::ptrdiff_t m_flCloud2Direction = 0xA0; // float + constexpr std::ptrdiff_t m_flAmbientScale1 = 0xB0; // float + constexpr std::ptrdiff_t m_flAmbientScale2 = 0xB4; // float + constexpr std::ptrdiff_t m_flGroundScale = 0xB8; // float + constexpr std::ptrdiff_t m_flLightScale = 0xBC; // float + constexpr std::ptrdiff_t m_flFoWDarkness = 0xC0; // float + constexpr std::ptrdiff_t m_bEnableSeparateSkyboxFog = 0xC4; // bool + constexpr std::ptrdiff_t m_vFowColor = 0xC8; // Vector + constexpr std::ptrdiff_t m_ViewOrigin = 0xD4; // Vector + constexpr std::ptrdiff_t m_ViewAngles = 0xE0; // QAngle + constexpr std::ptrdiff_t m_flViewFoV = 0xEC; // float + constexpr std::ptrdiff_t m_WorldPoints = 0xF0; // Vector[8] + constexpr std::ptrdiff_t m_vFogOffsetLayer0 = 0x4A8; // Vector2D + constexpr std::ptrdiff_t m_vFogOffsetLayer1 = 0x4B0; // Vector2D + constexpr std::ptrdiff_t m_hEnvWind = 0x4B8; // CHandle + constexpr std::ptrdiff_t m_hEnvSky = 0x4BC; // CHandle +} + +namespace CGlowOverlay { + constexpr std::ptrdiff_t m_vPos = 0x8; // Vector + constexpr std::ptrdiff_t m_bDirectional = 0x14; // bool + constexpr std::ptrdiff_t m_vDirection = 0x18; // Vector + constexpr std::ptrdiff_t m_bInSky = 0x24; // bool + constexpr std::ptrdiff_t m_skyObstructionScale = 0x28; // float + constexpr std::ptrdiff_t m_Sprites = 0x30; // CGlowSprite[4] + constexpr std::ptrdiff_t m_nSprites = 0xB0; // int32_t + constexpr std::ptrdiff_t m_flProxyRadius = 0xB4; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0xB8; // float + constexpr std::ptrdiff_t m_flGlowObstructionScale = 0xBC; // float + constexpr std::ptrdiff_t m_bCacheGlowObstruction = 0xC0; // bool + constexpr std::ptrdiff_t m_bCacheSkyObstruction = 0xC1; // bool + constexpr std::ptrdiff_t m_bActivated = 0xC2; // int16_t + constexpr std::ptrdiff_t m_ListIndex = 0xC4; // uint16_t + constexpr std::ptrdiff_t m_queryHandle = 0xC8; // int32_t +} + +namespace CGlowProperty { + constexpr std::ptrdiff_t m_fGlowColor = 0x8; // Vector + constexpr std::ptrdiff_t m_iGlowType = 0x30; // int32_t + constexpr std::ptrdiff_t m_iGlowTeam = 0x34; // int32_t + constexpr std::ptrdiff_t m_nGlowRange = 0x38; // int32_t + constexpr std::ptrdiff_t m_nGlowRangeMin = 0x3C; // int32_t + constexpr std::ptrdiff_t m_glowColorOverride = 0x40; // Color + constexpr std::ptrdiff_t m_bFlashing = 0x44; // bool + constexpr std::ptrdiff_t m_flGlowTime = 0x48; // float + constexpr std::ptrdiff_t m_flGlowStartTime = 0x4C; // float + constexpr std::ptrdiff_t m_bEligibleForScreenHighlight = 0x50; // bool + constexpr std::ptrdiff_t m_bGlowing = 0x51; // bool +} + +namespace CGlowSprite { + constexpr std::ptrdiff_t m_vColor = 0x0; // Vector + constexpr std::ptrdiff_t m_flHorzSize = 0xC; // float + constexpr std::ptrdiff_t m_flVertSize = 0x10; // float + constexpr std::ptrdiff_t m_hMaterial = 0x18; // CStrongHandle +} + +namespace CGrenadeTracer { // C_BaseModelEntity + constexpr std::ptrdiff_t m_flTracerDuration = 0xCE0; // float + constexpr std::ptrdiff_t m_nType = 0xCE4; // GrenadeType_t +} + +namespace CHitboxComponent { // CEntityComponent + constexpr std::ptrdiff_t m_bvDisabledHitGroups = 0x24; // uint32_t[1] +} + +namespace CHostageRescueZone { // CHostageRescueZoneShim +} + +namespace CHostageRescueZoneShim { // C_BaseTrigger +} + +namespace CInfoDynamicShadowHint { // C_PointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x540; // bool + constexpr std::ptrdiff_t m_flRange = 0x544; // float + constexpr std::ptrdiff_t m_nImportance = 0x548; // int32_t + constexpr std::ptrdiff_t m_nLightChoice = 0x54C; // int32_t + constexpr std::ptrdiff_t m_hLight = 0x550; // CHandle +} + +namespace CInfoDynamicShadowHintBox { // CInfoDynamicShadowHint + constexpr std::ptrdiff_t m_vBoxMins = 0x558; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x564; // Vector +} + +namespace CInfoOffscreenPanoramaTexture { // C_PointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x540; // bool + constexpr std::ptrdiff_t m_nResolutionX = 0x544; // int32_t + constexpr std::ptrdiff_t m_nResolutionY = 0x548; // int32_t + constexpr std::ptrdiff_t m_szLayoutFileName = 0x550; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_RenderAttrName = 0x558; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_TargetEntities = 0x560; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_nTargetChangeCount = 0x578; // int32_t + constexpr std::ptrdiff_t m_vecCSSClasses = 0x580; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_bCheckCSSClasses = 0x6F8; // bool +} + +namespace CInfoParticleTarget { // C_PointEntity +} + +namespace CInfoTarget { // C_PointEntity +} + +namespace CInfoWorldLayer { // C_BaseEntity + constexpr std::ptrdiff_t m_pOutputOnEntitiesSpawned = 0x540; // CEntityIOOutput + constexpr std::ptrdiff_t m_worldName = 0x568; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_layerName = 0x570; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bWorldLayerVisible = 0x578; // bool + constexpr std::ptrdiff_t m_bEntitiesSpawned = 0x579; // bool + constexpr std::ptrdiff_t m_bCreateAsChildSpawnGroup = 0x57A; // bool + constexpr std::ptrdiff_t m_hLayerSpawnGroup = 0x57C; // uint32_t + constexpr std::ptrdiff_t m_bWorldLayerActuallyVisible = 0x580; // bool +} + +namespace CInterpolatedValue { + constexpr std::ptrdiff_t m_flStartTime = 0x0; // float + constexpr std::ptrdiff_t m_flEndTime = 0x4; // float + constexpr std::ptrdiff_t m_flStartValue = 0x8; // float + constexpr std::ptrdiff_t m_flEndValue = 0xC; // float + constexpr std::ptrdiff_t m_nInterpType = 0x10; // int32_t +} + +namespace CLightComponent { // CEntityComponent + constexpr std::ptrdiff_t __m_pChainEntity = 0x48; // CNetworkVarChainer + constexpr std::ptrdiff_t m_Color = 0x85; // Color + constexpr std::ptrdiff_t m_SecondaryColor = 0x89; // Color + constexpr std::ptrdiff_t m_flBrightness = 0x90; // float + constexpr std::ptrdiff_t m_flBrightnessScale = 0x94; // float + constexpr std::ptrdiff_t m_flBrightnessMult = 0x98; // float + constexpr std::ptrdiff_t m_flRange = 0x9C; // float + constexpr std::ptrdiff_t m_flFalloff = 0xA0; // float + constexpr std::ptrdiff_t m_flAttenuation0 = 0xA4; // float + constexpr std::ptrdiff_t m_flAttenuation1 = 0xA8; // float + constexpr std::ptrdiff_t m_flAttenuation2 = 0xAC; // float + constexpr std::ptrdiff_t m_flTheta = 0xB0; // float + constexpr std::ptrdiff_t m_flPhi = 0xB4; // float + constexpr std::ptrdiff_t m_hLightCookie = 0xB8; // CStrongHandle + constexpr std::ptrdiff_t m_nCascades = 0xC0; // int32_t + constexpr std::ptrdiff_t m_nCastShadows = 0xC4; // int32_t + constexpr std::ptrdiff_t m_nShadowWidth = 0xC8; // int32_t + constexpr std::ptrdiff_t m_nShadowHeight = 0xCC; // int32_t + constexpr std::ptrdiff_t m_bRenderDiffuse = 0xD0; // bool + constexpr std::ptrdiff_t m_nRenderSpecular = 0xD4; // int32_t + constexpr std::ptrdiff_t m_bRenderTransmissive = 0xD8; // bool + constexpr std::ptrdiff_t m_flOrthoLightWidth = 0xDC; // float + constexpr std::ptrdiff_t m_flOrthoLightHeight = 0xE0; // float + constexpr std::ptrdiff_t m_nStyle = 0xE4; // int32_t + constexpr std::ptrdiff_t m_Pattern = 0xE8; // CUtlString + constexpr std::ptrdiff_t m_nCascadeRenderStaticObjects = 0xF0; // int32_t + constexpr std::ptrdiff_t m_flShadowCascadeCrossFade = 0xF4; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistanceFade = 0xF8; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistance0 = 0xFC; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistance1 = 0x100; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistance2 = 0x104; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistance3 = 0x108; // float + constexpr std::ptrdiff_t m_nShadowCascadeResolution0 = 0x10C; // int32_t + constexpr std::ptrdiff_t m_nShadowCascadeResolution1 = 0x110; // int32_t + constexpr std::ptrdiff_t m_nShadowCascadeResolution2 = 0x114; // int32_t + constexpr std::ptrdiff_t m_nShadowCascadeResolution3 = 0x118; // int32_t + constexpr std::ptrdiff_t m_bUsesBakedShadowing = 0x11C; // bool + constexpr std::ptrdiff_t m_nShadowPriority = 0x120; // int32_t + constexpr std::ptrdiff_t m_nBakedShadowIndex = 0x124; // int32_t + constexpr std::ptrdiff_t m_bRenderToCubemaps = 0x128; // bool + constexpr std::ptrdiff_t m_nDirectLight = 0x12C; // int32_t + constexpr std::ptrdiff_t m_nIndirectLight = 0x130; // int32_t + constexpr std::ptrdiff_t m_flFadeMinDist = 0x134; // float + constexpr std::ptrdiff_t m_flFadeMaxDist = 0x138; // float + constexpr std::ptrdiff_t m_flShadowFadeMinDist = 0x13C; // float + constexpr std::ptrdiff_t m_flShadowFadeMaxDist = 0x140; // float + constexpr std::ptrdiff_t m_bEnabled = 0x144; // bool + constexpr std::ptrdiff_t m_bFlicker = 0x145; // bool + constexpr std::ptrdiff_t m_bPrecomputedFieldsValid = 0x146; // bool + constexpr std::ptrdiff_t m_vPrecomputedBoundsMins = 0x148; // Vector + constexpr std::ptrdiff_t m_vPrecomputedBoundsMaxs = 0x154; // Vector + constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin = 0x160; // Vector + constexpr std::ptrdiff_t m_vPrecomputedOBBAngles = 0x16C; // QAngle + constexpr std::ptrdiff_t m_vPrecomputedOBBExtent = 0x178; // Vector + constexpr std::ptrdiff_t m_flPrecomputedMaxRange = 0x184; // float + constexpr std::ptrdiff_t m_nFogLightingMode = 0x188; // int32_t + constexpr std::ptrdiff_t m_flFogContributionStength = 0x18C; // float + constexpr std::ptrdiff_t m_flNearClipPlane = 0x190; // float + constexpr std::ptrdiff_t m_SkyColor = 0x194; // Color + constexpr std::ptrdiff_t m_flSkyIntensity = 0x198; // float + constexpr std::ptrdiff_t m_SkyAmbientBounce = 0x19C; // Color + constexpr std::ptrdiff_t m_bUseSecondaryColor = 0x1A0; // bool + constexpr std::ptrdiff_t m_bMixedShadows = 0x1A1; // bool + constexpr std::ptrdiff_t m_flLightStyleStartTime = 0x1A4; // GameTime_t + constexpr std::ptrdiff_t m_flCapsuleLength = 0x1A8; // float + constexpr std::ptrdiff_t m_flMinRoughness = 0x1AC; // float +} + +namespace CLogicRelay { // CLogicalEntity + constexpr std::ptrdiff_t m_OnTrigger = 0x540; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnSpawn = 0x568; // CEntityIOOutput + constexpr std::ptrdiff_t m_bDisabled = 0x590; // bool + constexpr std::ptrdiff_t m_bWaitForRefire = 0x591; // bool + constexpr std::ptrdiff_t m_bTriggerOnce = 0x592; // bool + constexpr std::ptrdiff_t m_bFastRetrigger = 0x593; // bool + constexpr std::ptrdiff_t m_bPassthoughCaller = 0x594; // bool +} + +namespace CLogicalEntity { // C_BaseEntity +} + +namespace CModelState { + constexpr std::ptrdiff_t m_hModel = 0xA0; // CStrongHandle + constexpr std::ptrdiff_t m_ModelName = 0xA8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bClientClothCreationSuppressed = 0xE8; // bool + constexpr std::ptrdiff_t m_MeshGroupMask = 0x180; // uint64_t + constexpr std::ptrdiff_t m_nIdealMotionType = 0x222; // int8_t + constexpr std::ptrdiff_t m_nForceLOD = 0x223; // int8_t + constexpr std::ptrdiff_t m_nClothUpdateFlags = 0x224; // int8_t +} + +namespace CNetworkedSequenceOperation { + constexpr std::ptrdiff_t m_hSequence = 0x8; // HSequence + constexpr std::ptrdiff_t m_flPrevCycle = 0xC; // float + constexpr std::ptrdiff_t m_flCycle = 0x10; // float + constexpr std::ptrdiff_t m_flWeight = 0x14; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_bSequenceChangeNetworked = 0x1C; // bool + constexpr std::ptrdiff_t m_bDiscontinuity = 0x1D; // bool + constexpr std::ptrdiff_t m_flPrevCycleFromDiscontinuity = 0x20; // float + constexpr std::ptrdiff_t m_flPrevCycleForAnimEventDetection = 0x24; // float +} + +namespace CPlayerSprayDecalRenderHelper { +} + +namespace CPlayer_AutoaimServices { // CPlayerPawnComponent +} + +namespace CPlayer_CameraServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_vecCsViewPunchAngle = 0x40; // QAngle + constexpr std::ptrdiff_t m_nCsViewPunchAngleTick = 0x4C; // GameTick_t + constexpr std::ptrdiff_t m_flCsViewPunchAngleTickRatio = 0x50; // float + constexpr std::ptrdiff_t m_PlayerFog = 0x58; // C_fogplayerparams_t + constexpr std::ptrdiff_t m_hColorCorrectionCtrl = 0x98; // CHandle + constexpr std::ptrdiff_t m_hViewEntity = 0x9C; // CHandle + constexpr std::ptrdiff_t m_hTonemapController = 0xA0; // CHandle + constexpr std::ptrdiff_t m_audio = 0xA8; // audioparams_t + constexpr std::ptrdiff_t m_PostProcessingVolumes = 0x120; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_flOldPlayerZ = 0x138; // float + constexpr std::ptrdiff_t m_flOldPlayerViewOffsetZ = 0x13C; // float + constexpr std::ptrdiff_t m_CurrentFog = 0x140; // fogparams_t + constexpr std::ptrdiff_t m_hOldFogController = 0x1A8; // CHandle + constexpr std::ptrdiff_t m_bOverrideFogColor = 0x1AC; // bool[5] + constexpr std::ptrdiff_t m_OverrideFogColor = 0x1B1; // Color[5] + constexpr std::ptrdiff_t m_bOverrideFogStartEnd = 0x1C5; // bool[5] + constexpr std::ptrdiff_t m_fOverrideFogStart = 0x1CC; // float[5] + constexpr std::ptrdiff_t m_fOverrideFogEnd = 0x1E0; // float[5] + constexpr std::ptrdiff_t m_hActivePostProcessingVolume = 0x1F4; // CHandle + constexpr std::ptrdiff_t m_angDemoViewAngles = 0x1F8; // QAngle +} + +namespace CPlayer_FlashlightServices { // CPlayerPawnComponent +} + +namespace CPlayer_ItemServices { // CPlayerPawnComponent +} + +namespace CPlayer_MovementServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_nImpulse = 0x40; // int32_t + constexpr std::ptrdiff_t m_nButtons = 0x48; // CInButtonState + constexpr std::ptrdiff_t m_nQueuedButtonDownMask = 0x68; // uint64_t + constexpr std::ptrdiff_t m_nQueuedButtonChangeMask = 0x70; // uint64_t + constexpr std::ptrdiff_t m_nButtonDoublePressed = 0x78; // uint64_t + constexpr std::ptrdiff_t m_pButtonPressedCmdNumber = 0x80; // uint32_t[64] + constexpr std::ptrdiff_t m_nLastCommandNumberProcessed = 0x180; // uint32_t + constexpr std::ptrdiff_t m_nToggleButtonDownMask = 0x188; // uint64_t + constexpr std::ptrdiff_t m_flMaxspeed = 0x190; // float + constexpr std::ptrdiff_t m_arrForceSubtickMoveWhen = 0x194; // float[4] + constexpr std::ptrdiff_t m_flForwardMove = 0x1A4; // float + constexpr std::ptrdiff_t m_flLeftMove = 0x1A8; // float + constexpr std::ptrdiff_t m_flUpMove = 0x1AC; // float + constexpr std::ptrdiff_t m_vecLastMovementImpulses = 0x1B0; // Vector + constexpr std::ptrdiff_t m_vecOldViewAngles = 0x1BC; // QAngle +} + +namespace CPlayer_MovementServices_Humanoid { // CPlayer_MovementServices + constexpr std::ptrdiff_t m_flStepSoundTime = 0x1D0; // float + constexpr std::ptrdiff_t m_flFallVelocity = 0x1D4; // float + constexpr std::ptrdiff_t m_bInCrouch = 0x1D8; // bool + constexpr std::ptrdiff_t m_nCrouchState = 0x1DC; // uint32_t + constexpr std::ptrdiff_t m_flCrouchTransitionStartTime = 0x1E0; // GameTime_t + constexpr std::ptrdiff_t m_bDucked = 0x1E4; // bool + constexpr std::ptrdiff_t m_bDucking = 0x1E5; // bool + constexpr std::ptrdiff_t m_bInDuckJump = 0x1E6; // bool + constexpr std::ptrdiff_t m_groundNormal = 0x1E8; // Vector + constexpr std::ptrdiff_t m_flSurfaceFriction = 0x1F4; // float + constexpr std::ptrdiff_t m_surfaceProps = 0x1F8; // CUtlStringToken + constexpr std::ptrdiff_t m_nStepside = 0x208; // int32_t +} + +namespace CPlayer_ObserverServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_iObserverMode = 0x40; // uint8_t + constexpr std::ptrdiff_t m_hObserverTarget = 0x44; // CHandle + constexpr std::ptrdiff_t m_iObserverLastMode = 0x48; // ObserverMode_t + constexpr std::ptrdiff_t m_bForcedObserverMode = 0x4C; // bool + constexpr std::ptrdiff_t m_flObserverChaseDistance = 0x50; // float + constexpr std::ptrdiff_t m_flObserverChaseDistanceCalcTime = 0x54; // GameTime_t +} + +namespace CPlayer_UseServices { // CPlayerPawnComponent +} + +namespace CPlayer_ViewModelServices { // CPlayerPawnComponent +} + +namespace CPlayer_WaterServices { // CPlayerPawnComponent +} + +namespace CPlayer_WeaponServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_bAllowSwitchToNoWeapon = 0x40; // bool + constexpr std::ptrdiff_t m_hMyWeapons = 0x48; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_hActiveWeapon = 0x60; // CHandle + constexpr std::ptrdiff_t m_hLastWeapon = 0x64; // CHandle + constexpr std::ptrdiff_t m_iAmmo = 0x68; // uint16_t[32] +} + +namespace CPointOffScreenIndicatorUi { // C_PointClientUIWorldPanel + constexpr std::ptrdiff_t m_bBeenEnabled = 0xF20; // bool + constexpr std::ptrdiff_t m_bHide = 0xF21; // bool + constexpr std::ptrdiff_t m_flSeenTargetTime = 0xF24; // float + constexpr std::ptrdiff_t m_pTargetPanel = 0xF28; // C_PointClientUIWorldPanel* +} + +namespace CPointTemplate { // CLogicalEntity + constexpr std::ptrdiff_t m_iszWorldName = 0x540; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSource2EntityLumpName = 0x548; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszEntityFilterName = 0x550; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flTimeoutInterval = 0x558; // float + constexpr std::ptrdiff_t m_bAsynchronouslySpawnEntities = 0x55C; // bool + constexpr std::ptrdiff_t m_pOutputOnSpawned = 0x560; // CEntityIOOutput + constexpr std::ptrdiff_t m_clientOnlyEntityBehavior = 0x588; // PointTemplateClientOnlyEntityBehavior_t + constexpr std::ptrdiff_t m_ownerSpawnGroupType = 0x58C; // PointTemplateOwnerSpawnGroupType_t + constexpr std::ptrdiff_t m_createdSpawnGroupHandles = 0x590; // CUtlVector + constexpr std::ptrdiff_t m_SpawnedEntityHandles = 0x5A8; // CUtlVector + constexpr std::ptrdiff_t m_ScriptSpawnCallback = 0x5C0; // HSCRIPT + constexpr std::ptrdiff_t m_ScriptCallbackScope = 0x5C8; // HSCRIPT +} + +namespace CPrecipitationVData { // CEntitySubclassVDataBase + constexpr std::ptrdiff_t m_szParticlePrecipitationEffect = 0x28; // CResourceNameTyped> + constexpr std::ptrdiff_t m_flInnerDistance = 0x108; // float + constexpr std::ptrdiff_t m_nAttachType = 0x10C; // ParticleAttachment_t + constexpr std::ptrdiff_t m_bBatchSameVolumeType = 0x110; // bool + constexpr std::ptrdiff_t m_nRTEnvCP = 0x114; // int32_t + constexpr std::ptrdiff_t m_nRTEnvCPComponent = 0x118; // int32_t + constexpr std::ptrdiff_t m_szModifier = 0x120; // CUtlString +} + +namespace CProjectedTextureBase { + constexpr std::ptrdiff_t m_hTargetEntity = 0xC; // CHandle + constexpr std::ptrdiff_t m_bState = 0x10; // bool + constexpr std::ptrdiff_t m_bAlwaysUpdate = 0x11; // bool + constexpr std::ptrdiff_t m_flLightFOV = 0x14; // float + constexpr std::ptrdiff_t m_bEnableShadows = 0x18; // bool + constexpr std::ptrdiff_t m_bSimpleProjection = 0x19; // bool + constexpr std::ptrdiff_t m_bLightOnlyTarget = 0x1A; // bool + constexpr std::ptrdiff_t m_bLightWorld = 0x1B; // bool + constexpr std::ptrdiff_t m_bCameraSpace = 0x1C; // bool + constexpr std::ptrdiff_t m_flBrightnessScale = 0x20; // float + constexpr std::ptrdiff_t m_LightColor = 0x24; // Color + constexpr std::ptrdiff_t m_flIntensity = 0x28; // float + constexpr std::ptrdiff_t m_flLinearAttenuation = 0x2C; // float + constexpr std::ptrdiff_t m_flQuadraticAttenuation = 0x30; // float + constexpr std::ptrdiff_t m_bVolumetric = 0x34; // bool + constexpr std::ptrdiff_t m_flVolumetricIntensity = 0x38; // float + constexpr std::ptrdiff_t m_flNoiseStrength = 0x3C; // float + constexpr std::ptrdiff_t m_flFlashlightTime = 0x40; // float + constexpr std::ptrdiff_t m_nNumPlanes = 0x44; // uint32_t + constexpr std::ptrdiff_t m_flPlaneOffset = 0x48; // float + constexpr std::ptrdiff_t m_flColorTransitionTime = 0x4C; // float + constexpr std::ptrdiff_t m_flAmbient = 0x50; // float + constexpr std::ptrdiff_t m_SpotlightTextureName = 0x54; // char[512] + constexpr std::ptrdiff_t m_nSpotlightTextureFrame = 0x254; // int32_t + constexpr std::ptrdiff_t m_nShadowQuality = 0x258; // uint32_t + constexpr std::ptrdiff_t m_flNearZ = 0x25C; // float + constexpr std::ptrdiff_t m_flFarZ = 0x260; // float + constexpr std::ptrdiff_t m_flProjectionSize = 0x264; // float + constexpr std::ptrdiff_t m_flRotation = 0x268; // float + constexpr std::ptrdiff_t m_bFlipHorizontal = 0x26C; // bool +} + +namespace CRenderComponent { // CEntityComponent + constexpr std::ptrdiff_t __m_pChainEntity = 0x10; // CNetworkVarChainer + constexpr std::ptrdiff_t m_bIsRenderingWithViewModels = 0x50; // bool + constexpr std::ptrdiff_t m_nSplitscreenFlags = 0x54; // uint32_t + constexpr std::ptrdiff_t m_bEnableRendering = 0x60; // bool + constexpr std::ptrdiff_t m_bInterpolationReadyToDraw = 0xB0; // bool +} + +namespace CSMatchStats_t { // CSPerRoundStats_t + constexpr std::ptrdiff_t m_iEnemy5Ks = 0x68; // int32_t + constexpr std::ptrdiff_t m_iEnemy4Ks = 0x6C; // int32_t + constexpr std::ptrdiff_t m_iEnemy3Ks = 0x70; // int32_t +} + +namespace CSPerRoundStats_t { + constexpr std::ptrdiff_t m_iKills = 0x30; // int32_t + constexpr std::ptrdiff_t m_iDeaths = 0x34; // int32_t + constexpr std::ptrdiff_t m_iAssists = 0x38; // int32_t + constexpr std::ptrdiff_t m_iDamage = 0x3C; // int32_t + constexpr std::ptrdiff_t m_iEquipmentValue = 0x40; // int32_t + constexpr std::ptrdiff_t m_iMoneySaved = 0x44; // int32_t + constexpr std::ptrdiff_t m_iKillReward = 0x48; // int32_t + constexpr std::ptrdiff_t m_iLiveTime = 0x4C; // int32_t + constexpr std::ptrdiff_t m_iHeadShotKills = 0x50; // int32_t + constexpr std::ptrdiff_t m_iObjective = 0x54; // int32_t + constexpr std::ptrdiff_t m_iCashEarned = 0x58; // int32_t + constexpr std::ptrdiff_t m_iUtilityDamage = 0x5C; // int32_t + constexpr std::ptrdiff_t m_iEnemiesFlashed = 0x60; // int32_t +} + +namespace CScriptComponent { // CEntityComponent + constexpr std::ptrdiff_t m_scriptClassName = 0x30; // CUtlSymbolLarge +} + +namespace CServerOnlyModelEntity { // C_BaseModelEntity +} + +namespace CSkeletonInstance { // CGameSceneNode + constexpr std::ptrdiff_t m_modelState = 0x160; // CModelState + constexpr std::ptrdiff_t m_bIsAnimationEnabled = 0x390; // bool + constexpr std::ptrdiff_t m_bUseParentRenderBounds = 0x391; // bool + constexpr std::ptrdiff_t m_bDisableSolidCollisionsForHierarchy = 0x392; // bool + constexpr std::ptrdiff_t m_bDirtyMotionType = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bIsGeneratingLatchedParentSpaceState = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_materialGroup = 0x394; // CUtlStringToken + constexpr std::ptrdiff_t m_nHitboxSet = 0x398; // uint8_t +} + +namespace CSkyboxReference { // C_BaseEntity + constexpr std::ptrdiff_t m_worldGroupId = 0x540; // WorldGroupId_t + constexpr std::ptrdiff_t m_hSkyCamera = 0x544; // CHandle +} + +namespace CTablet { // C_CSWeaponBase +} + +namespace CTimeline { // IntervalTimer + constexpr std::ptrdiff_t m_flValues = 0x10; // float[64] + constexpr std::ptrdiff_t m_nValueCounts = 0x110; // int32_t[64] + constexpr std::ptrdiff_t m_nBucketCount = 0x210; // int32_t + constexpr std::ptrdiff_t m_flInterval = 0x214; // float + constexpr std::ptrdiff_t m_flFinalValue = 0x218; // float + constexpr std::ptrdiff_t m_nCompressionType = 0x21C; // TimelineCompression_t + constexpr std::ptrdiff_t m_bStopped = 0x220; // bool +} + +namespace CTripWireFire { // C_BaseCSGrenade +} + +namespace CTripWireFireProjectile { // C_BaseGrenade +} + +namespace CWaterSplasher { // C_BaseModelEntity +} + +namespace CWeaponZoneRepulsor { // C_CSWeaponBaseGun +} + +namespace C_AK47 { // C_CSWeaponBaseGun +} + +namespace C_AttributeContainer { // CAttributeManager + constexpr std::ptrdiff_t m_Item = 0x50; // C_EconItemView + constexpr std::ptrdiff_t m_iExternalItemProviderRegisteredToken = 0x498; // int32_t + constexpr std::ptrdiff_t m_ullRegisteredAsItemID = 0x4A0; // uint64_t +} + +namespace C_BarnLight { // C_BaseModelEntity + constexpr std::ptrdiff_t m_bEnabled = 0xCC0; // bool + constexpr std::ptrdiff_t m_nColorMode = 0xCC4; // int32_t + constexpr std::ptrdiff_t m_Color = 0xCC8; // Color + constexpr std::ptrdiff_t m_flColorTemperature = 0xCCC; // float + constexpr std::ptrdiff_t m_flBrightness = 0xCD0; // float + constexpr std::ptrdiff_t m_flBrightnessScale = 0xCD4; // float + constexpr std::ptrdiff_t m_nDirectLight = 0xCD8; // int32_t + constexpr std::ptrdiff_t m_nBakedShadowIndex = 0xCDC; // int32_t + constexpr std::ptrdiff_t m_nLuminaireShape = 0xCE0; // int32_t + constexpr std::ptrdiff_t m_flLuminaireSize = 0xCE4; // float + constexpr std::ptrdiff_t m_flLuminaireAnisotropy = 0xCE8; // float + constexpr std::ptrdiff_t m_LightStyleString = 0xCF0; // CUtlString + constexpr std::ptrdiff_t m_flLightStyleStartTime = 0xCF8; // GameTime_t + constexpr std::ptrdiff_t m_QueuedLightStyleStrings = 0xD00; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_LightStyleEvents = 0xD18; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_LightStyleTargets = 0xD30; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_StyleEvent = 0xD48; // CEntityIOOutput[4] + constexpr std::ptrdiff_t m_hLightCookie = 0xDE8; // CStrongHandle + constexpr std::ptrdiff_t m_flShape = 0xDF0; // float + constexpr std::ptrdiff_t m_flSoftX = 0xDF4; // float + constexpr std::ptrdiff_t m_flSoftY = 0xDF8; // float + constexpr std::ptrdiff_t m_flSkirt = 0xDFC; // float + constexpr std::ptrdiff_t m_flSkirtNear = 0xE00; // float + constexpr std::ptrdiff_t m_vSizeParams = 0xE04; // Vector + constexpr std::ptrdiff_t m_flRange = 0xE10; // float + constexpr std::ptrdiff_t m_vShear = 0xE14; // Vector + constexpr std::ptrdiff_t m_nBakeSpecularToCubemaps = 0xE20; // int32_t + constexpr std::ptrdiff_t m_vBakeSpecularToCubemapsSize = 0xE24; // Vector + constexpr std::ptrdiff_t m_nCastShadows = 0xE30; // int32_t + constexpr std::ptrdiff_t m_nShadowMapSize = 0xE34; // int32_t + constexpr std::ptrdiff_t m_nShadowPriority = 0xE38; // int32_t + constexpr std::ptrdiff_t m_bContactShadow = 0xE3C; // bool + constexpr std::ptrdiff_t m_nBounceLight = 0xE40; // int32_t + constexpr std::ptrdiff_t m_flBounceScale = 0xE44; // float + constexpr std::ptrdiff_t m_flMinRoughness = 0xE48; // float + constexpr std::ptrdiff_t m_vAlternateColor = 0xE4C; // Vector + constexpr std::ptrdiff_t m_fAlternateColorBrightness = 0xE58; // float + constexpr std::ptrdiff_t m_nFog = 0xE5C; // int32_t + constexpr std::ptrdiff_t m_flFogStrength = 0xE60; // float + constexpr std::ptrdiff_t m_nFogShadows = 0xE64; // int32_t + constexpr std::ptrdiff_t m_flFogScale = 0xE68; // float + constexpr std::ptrdiff_t m_flFadeSizeStart = 0xE6C; // float + constexpr std::ptrdiff_t m_flFadeSizeEnd = 0xE70; // float + constexpr std::ptrdiff_t m_flShadowFadeSizeStart = 0xE74; // float + constexpr std::ptrdiff_t m_flShadowFadeSizeEnd = 0xE78; // float + constexpr std::ptrdiff_t m_bPrecomputedFieldsValid = 0xE7C; // bool + constexpr std::ptrdiff_t m_vPrecomputedBoundsMins = 0xE80; // Vector + constexpr std::ptrdiff_t m_vPrecomputedBoundsMaxs = 0xE8C; // Vector + constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin = 0xE98; // Vector + constexpr std::ptrdiff_t m_vPrecomputedOBBAngles = 0xEA4; // QAngle + constexpr std::ptrdiff_t m_vPrecomputedOBBExtent = 0xEB0; // Vector +} + +namespace C_BaseButton { // C_BaseToggle + constexpr std::ptrdiff_t m_glowEntity = 0xCC0; // CHandle + constexpr std::ptrdiff_t m_usable = 0xCC4; // bool + constexpr std::ptrdiff_t m_szDisplayText = 0xCC8; // CUtlSymbolLarge +} + +namespace C_BaseCSGrenade { // C_CSWeaponBase + constexpr std::ptrdiff_t m_bClientPredictDelete = 0x1990; // bool + constexpr std::ptrdiff_t m_bRedraw = 0x1991; // bool + constexpr std::ptrdiff_t m_bIsHeldByPlayer = 0x1992; // bool + constexpr std::ptrdiff_t m_bPinPulled = 0x1993; // bool + constexpr std::ptrdiff_t m_bJumpThrow = 0x1994; // bool + constexpr std::ptrdiff_t m_eThrowStatus = 0x1998; // EGrenadeThrowState + constexpr std::ptrdiff_t m_fThrowTime = 0x199C; // GameTime_t + constexpr std::ptrdiff_t m_flThrowStrength = 0x19A0; // float + constexpr std::ptrdiff_t m_flThrowStrengthApproach = 0x19A4; // float + constexpr std::ptrdiff_t m_fDropTime = 0x19A8; // GameTime_t +} + +namespace C_BaseCSGrenadeProjectile { // C_BaseGrenade + constexpr std::ptrdiff_t m_vInitialVelocity = 0x1068; // Vector + constexpr std::ptrdiff_t m_nBounces = 0x1074; // int32_t + constexpr std::ptrdiff_t m_nExplodeEffectIndex = 0x1078; // CStrongHandle + constexpr std::ptrdiff_t m_nExplodeEffectTickBegin = 0x1080; // int32_t + constexpr std::ptrdiff_t m_vecExplodeEffectOrigin = 0x1084; // Vector + constexpr std::ptrdiff_t m_flSpawnTime = 0x1090; // GameTime_t + constexpr std::ptrdiff_t vecLastTrailLinePos = 0x1094; // Vector + constexpr std::ptrdiff_t flNextTrailLineTime = 0x10A0; // GameTime_t + constexpr std::ptrdiff_t m_bExplodeEffectBegan = 0x10A4; // bool + constexpr std::ptrdiff_t m_bCanCreateGrenadeTrail = 0x10A5; // bool + constexpr std::ptrdiff_t m_nSnapshotTrajectoryEffectIndex = 0x10A8; // ParticleIndex_t + constexpr std::ptrdiff_t m_hSnapshotTrajectoryParticleSnapshot = 0x10B0; // CStrongHandle + constexpr std::ptrdiff_t m_arrTrajectoryTrailPoints = 0x10B8; // CUtlVector + constexpr std::ptrdiff_t m_arrTrajectoryTrailPointCreationTimes = 0x10D0; // CUtlVector + constexpr std::ptrdiff_t m_flTrajectoryTrailEffectCreationTime = 0x10E8; // float +} + +namespace C_BaseClientUIEntity { // C_BaseModelEntity + constexpr std::ptrdiff_t m_bEnabled = 0xCC8; // bool + constexpr std::ptrdiff_t m_DialogXMLName = 0xCD0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_PanelClassName = 0xCD8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_PanelID = 0xCE0; // CUtlSymbolLarge +} + +namespace C_BaseCombatCharacter { // C_BaseFlex + constexpr std::ptrdiff_t m_hMyWearables = 0x1018; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_bloodColor = 0x1030; // int32_t + constexpr std::ptrdiff_t m_leftFootAttachment = 0x1034; // AttachmentHandle_t + constexpr std::ptrdiff_t m_rightFootAttachment = 0x1035; // AttachmentHandle_t + constexpr std::ptrdiff_t m_nWaterWakeMode = 0x1038; // C_BaseCombatCharacter::WaterWakeMode_t + constexpr std::ptrdiff_t m_flWaterWorldZ = 0x103C; // float + constexpr std::ptrdiff_t m_flWaterNextTraceTime = 0x1040; // float + constexpr std::ptrdiff_t m_flFieldOfView = 0x1044; // float +} + +namespace C_BaseDoor { // C_BaseToggle + constexpr std::ptrdiff_t m_bIsUsable = 0xCC0; // bool +} + +namespace C_BaseEntity { // CEntityInstance + constexpr std::ptrdiff_t m_CBodyComponent = 0x30; // CBodyComponent* + constexpr std::ptrdiff_t m_NetworkTransmitComponent = 0x38; // CNetworkTransmitComponent + constexpr std::ptrdiff_t m_nLastThinkTick = 0x308; // GameTick_t + constexpr std::ptrdiff_t m_pGameSceneNode = 0x310; // CGameSceneNode* + constexpr std::ptrdiff_t m_pRenderComponent = 0x318; // CRenderComponent* + constexpr std::ptrdiff_t m_pCollision = 0x320; // CCollisionProperty* + constexpr std::ptrdiff_t m_iMaxHealth = 0x328; // int32_t + constexpr std::ptrdiff_t m_iHealth = 0x32C; // int32_t + constexpr std::ptrdiff_t m_lifeState = 0x330; // uint8_t + constexpr std::ptrdiff_t m_bTakesDamage = 0x331; // bool + constexpr std::ptrdiff_t m_nTakeDamageFlags = 0x334; // TakeDamageFlags_t + constexpr std::ptrdiff_t m_ubInterpolationFrame = 0x338; // uint8_t + constexpr std::ptrdiff_t m_hSceneObjectController = 0x33C; // CHandle + constexpr std::ptrdiff_t m_nNoInterpolationTick = 0x340; // int32_t + constexpr std::ptrdiff_t m_nVisibilityNoInterpolationTick = 0x344; // int32_t + constexpr std::ptrdiff_t m_flProxyRandomValue = 0x348; // float + constexpr std::ptrdiff_t m_iEFlags = 0x34C; // int32_t + constexpr std::ptrdiff_t m_nWaterType = 0x350; // uint8_t + constexpr std::ptrdiff_t m_bInterpolateEvenWithNoModel = 0x351; // bool + constexpr std::ptrdiff_t m_bPredictionEligible = 0x352; // bool + constexpr std::ptrdiff_t m_bApplyLayerMatchIDToModel = 0x353; // bool + constexpr std::ptrdiff_t m_tokLayerMatchID = 0x354; // CUtlStringToken + constexpr std::ptrdiff_t m_nSubclassID = 0x358; // CUtlStringToken + constexpr std::ptrdiff_t m_nSimulationTick = 0x368; // int32_t + constexpr std::ptrdiff_t m_iCurrentThinkContext = 0x36C; // int32_t + constexpr std::ptrdiff_t m_aThinkFunctions = 0x370; // CUtlVector + constexpr std::ptrdiff_t m_flAnimTime = 0x388; // float + constexpr std::ptrdiff_t m_flSimulationTime = 0x38C; // float + constexpr std::ptrdiff_t m_nSceneObjectOverrideFlags = 0x390; // uint8_t + constexpr std::ptrdiff_t m_bHasSuccessfullyInterpolated = 0x391; // bool + constexpr std::ptrdiff_t m_bHasAddedVarsToInterpolation = 0x392; // bool + constexpr std::ptrdiff_t m_bRenderEvenWhenNotSuccessfullyInterpolated = 0x393; // bool + constexpr std::ptrdiff_t m_nInterpolationLatchDirtyFlags = 0x394; // int32_t[2] + constexpr std::ptrdiff_t m_ListEntry = 0x39C; // uint16_t[11] + constexpr std::ptrdiff_t m_flCreateTime = 0x3B4; // GameTime_t + constexpr std::ptrdiff_t m_flSpeed = 0x3B8; // float + constexpr std::ptrdiff_t m_EntClientFlags = 0x3BC; // uint16_t + constexpr std::ptrdiff_t m_bClientSideRagdoll = 0x3BE; // bool + constexpr std::ptrdiff_t m_iTeamNum = 0x3BF; // uint8_t + constexpr std::ptrdiff_t m_spawnflags = 0x3C0; // uint32_t + constexpr std::ptrdiff_t m_nNextThinkTick = 0x3C4; // GameTick_t + constexpr std::ptrdiff_t m_fFlags = 0x3C8; // uint32_t + constexpr std::ptrdiff_t m_vecAbsVelocity = 0x3CC; // Vector + constexpr std::ptrdiff_t m_vecVelocity = 0x3D8; // CNetworkVelocityVector + constexpr std::ptrdiff_t m_vecBaseVelocity = 0x408; // Vector + constexpr std::ptrdiff_t m_hEffectEntity = 0x414; // CHandle + constexpr std::ptrdiff_t m_hOwnerEntity = 0x418; // CHandle + constexpr std::ptrdiff_t m_MoveCollide = 0x41C; // MoveCollide_t + constexpr std::ptrdiff_t m_MoveType = 0x41D; // MoveType_t + constexpr std::ptrdiff_t m_flWaterLevel = 0x420; // float + constexpr std::ptrdiff_t m_fEffects = 0x424; // uint32_t + constexpr std::ptrdiff_t m_hGroundEntity = 0x428; // CHandle + constexpr std::ptrdiff_t m_flFriction = 0x42C; // float + constexpr std::ptrdiff_t m_flElasticity = 0x430; // float + constexpr std::ptrdiff_t m_flGravityScale = 0x434; // float + constexpr std::ptrdiff_t m_flTimeScale = 0x438; // float + constexpr std::ptrdiff_t m_bSimulatedEveryTick = 0x43C; // bool + constexpr std::ptrdiff_t m_bAnimatedEveryTick = 0x43D; // bool + constexpr std::ptrdiff_t m_flNavIgnoreUntilTime = 0x440; // GameTime_t + constexpr std::ptrdiff_t m_hThink = 0x444; // uint16_t + constexpr std::ptrdiff_t m_fBBoxVisFlags = 0x450; // uint8_t + constexpr std::ptrdiff_t m_bPredictable = 0x451; // bool + constexpr std::ptrdiff_t m_bRenderWithViewModels = 0x452; // bool + constexpr std::ptrdiff_t m_nSplitUserPlayerPredictionSlot = 0x454; // CSplitScreenSlot + constexpr std::ptrdiff_t m_nFirstPredictableCommand = 0x458; // int32_t + constexpr std::ptrdiff_t m_nLastPredictableCommand = 0x45C; // int32_t + constexpr std::ptrdiff_t m_hOldMoveParent = 0x460; // CHandle + constexpr std::ptrdiff_t m_Particles = 0x468; // CParticleProperty + constexpr std::ptrdiff_t m_vecPredictedScriptFloats = 0x490; // CUtlVector + constexpr std::ptrdiff_t m_vecPredictedScriptFloatIDs = 0x4A8; // CUtlVector + constexpr std::ptrdiff_t m_nNextScriptVarRecordID = 0x4D8; // int32_t + constexpr std::ptrdiff_t m_vecAngVelocity = 0x4E8; // QAngle + constexpr std::ptrdiff_t m_DataChangeEventRef = 0x4F4; // int32_t + constexpr std::ptrdiff_t m_dependencies = 0x4F8; // CUtlVector + constexpr std::ptrdiff_t m_nCreationTick = 0x510; // int32_t + constexpr std::ptrdiff_t m_bAnimTimeChanged = 0x529; // bool + constexpr std::ptrdiff_t m_bSimulationTimeChanged = 0x52A; // bool + constexpr std::ptrdiff_t m_sUniqueHammerID = 0x538; // CUtlString +} + +namespace C_BaseFire { // C_BaseEntity + constexpr std::ptrdiff_t m_flScale = 0x540; // float + constexpr std::ptrdiff_t m_flStartScale = 0x544; // float + constexpr std::ptrdiff_t m_flScaleTime = 0x548; // float + constexpr std::ptrdiff_t m_nFlags = 0x54C; // uint32_t +} + +namespace C_BaseFlex { // CBaseAnimGraph + constexpr std::ptrdiff_t m_flexWeight = 0xE90; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_vLookTargetPosition = 0xEA8; // Vector + constexpr std::ptrdiff_t m_blinktoggle = 0xEC0; // bool + constexpr std::ptrdiff_t m_nLastFlexUpdateFrameCount = 0xF20; // int32_t + constexpr std::ptrdiff_t m_CachedViewTarget = 0xF24; // Vector + constexpr std::ptrdiff_t m_nNextSceneEventId = 0xF30; // uint32_t + constexpr std::ptrdiff_t m_iBlink = 0xF34; // int32_t + constexpr std::ptrdiff_t m_blinktime = 0xF38; // float + constexpr std::ptrdiff_t m_prevblinktoggle = 0xF3C; // bool + constexpr std::ptrdiff_t m_iJawOpen = 0xF40; // int32_t + constexpr std::ptrdiff_t m_flJawOpenAmount = 0xF44; // float + constexpr std::ptrdiff_t m_flBlinkAmount = 0xF48; // float + constexpr std::ptrdiff_t m_iMouthAttachment = 0xF4C; // AttachmentHandle_t + constexpr std::ptrdiff_t m_iEyeAttachment = 0xF4D; // AttachmentHandle_t + constexpr std::ptrdiff_t m_bResetFlexWeightsOnModelChange = 0xF4E; // bool + constexpr std::ptrdiff_t m_nEyeOcclusionRendererBone = 0xF68; // int32_t + constexpr std::ptrdiff_t m_mEyeOcclusionRendererCameraToBoneTransform = 0xF6C; // matrix3x4_t + constexpr std::ptrdiff_t m_vEyeOcclusionRendererHalfExtent = 0xF9C; // Vector + constexpr std::ptrdiff_t m_PhonemeClasses = 0xFB8; // C_BaseFlex::Emphasized_Phoneme[3] +} + +namespace C_BaseFlex_Emphasized_Phoneme { + constexpr std::ptrdiff_t m_sClassName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_flAmount = 0x18; // float + constexpr std::ptrdiff_t m_bRequired = 0x1C; // bool + constexpr std::ptrdiff_t m_bBasechecked = 0x1D; // bool + constexpr std::ptrdiff_t m_bValid = 0x1E; // bool +} + +namespace C_BaseGrenade { // C_BaseFlex + constexpr std::ptrdiff_t m_bHasWarnedAI = 0x1018; // bool + constexpr std::ptrdiff_t m_bIsSmokeGrenade = 0x1019; // bool + constexpr std::ptrdiff_t m_bIsLive = 0x101A; // bool + constexpr std::ptrdiff_t m_DmgRadius = 0x101C; // float + constexpr std::ptrdiff_t m_flDetonateTime = 0x1020; // GameTime_t + constexpr std::ptrdiff_t m_flWarnAITime = 0x1024; // float + constexpr std::ptrdiff_t m_flDamage = 0x1028; // float + constexpr std::ptrdiff_t m_iszBounceSound = 0x1030; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_ExplosionSound = 0x1038; // CUtlString + constexpr std::ptrdiff_t m_hThrower = 0x1044; // CHandle + constexpr std::ptrdiff_t m_flNextAttack = 0x105C; // GameTime_t + constexpr std::ptrdiff_t m_hOriginalThrower = 0x1060; // CHandle +} + +namespace C_BaseModelEntity { // C_BaseEntity + constexpr std::ptrdiff_t m_CRenderComponent = 0xA10; // CRenderComponent* + constexpr std::ptrdiff_t m_CHitboxComponent = 0xA18; // CHitboxComponent + constexpr std::ptrdiff_t m_bInitModelEffects = 0xA60; // bool + constexpr std::ptrdiff_t m_bIsStaticProp = 0xA61; // bool + constexpr std::ptrdiff_t m_nLastAddDecal = 0xA64; // int32_t + constexpr std::ptrdiff_t m_nDecalsAdded = 0xA68; // int32_t + constexpr std::ptrdiff_t m_iOldHealth = 0xA6C; // int32_t + constexpr std::ptrdiff_t m_nRenderMode = 0xA70; // RenderMode_t + constexpr std::ptrdiff_t m_nRenderFX = 0xA71; // RenderFx_t + constexpr std::ptrdiff_t m_bAllowFadeInView = 0xA72; // bool + constexpr std::ptrdiff_t m_clrRender = 0xA73; // Color + constexpr std::ptrdiff_t m_vecRenderAttributes = 0xA78; // C_UtlVectorEmbeddedNetworkVar + constexpr std::ptrdiff_t m_bRenderToCubemaps = 0xAE0; // bool + constexpr std::ptrdiff_t m_Collision = 0xAE8; // CCollisionProperty + constexpr std::ptrdiff_t m_Glow = 0xB98; // CGlowProperty + constexpr std::ptrdiff_t m_flGlowBackfaceMult = 0xBF0; // float + constexpr std::ptrdiff_t m_fadeMinDist = 0xBF4; // float + constexpr std::ptrdiff_t m_fadeMaxDist = 0xBF8; // float + constexpr std::ptrdiff_t m_flFadeScale = 0xBFC; // float + constexpr std::ptrdiff_t m_flShadowStrength = 0xC00; // float + constexpr std::ptrdiff_t m_nObjectCulling = 0xC04; // uint8_t + constexpr std::ptrdiff_t m_nAddDecal = 0xC08; // int32_t + constexpr std::ptrdiff_t m_vDecalPosition = 0xC0C; // Vector + constexpr std::ptrdiff_t m_vDecalForwardAxis = 0xC18; // Vector + constexpr std::ptrdiff_t m_flDecalHealBloodRate = 0xC24; // float + constexpr std::ptrdiff_t m_flDecalHealHeightRate = 0xC28; // float + constexpr std::ptrdiff_t m_ConfigEntitiesToPropagateMaterialDecalsTo = 0xC30; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_vecViewOffset = 0xC48; // CNetworkViewOffsetVector + constexpr std::ptrdiff_t m_pClientAlphaProperty = 0xC78; // CClientAlphaProperty* + constexpr std::ptrdiff_t m_ClientOverrideTint = 0xC80; // Color + constexpr std::ptrdiff_t m_bUseClientOverrideTint = 0xC84; // bool +} + +namespace C_BasePlayerPawn { // C_BaseCombatCharacter + constexpr std::ptrdiff_t m_pWeaponServices = 0x10A8; // CPlayer_WeaponServices* + constexpr std::ptrdiff_t m_pItemServices = 0x10B0; // CPlayer_ItemServices* + constexpr std::ptrdiff_t m_pAutoaimServices = 0x10B8; // CPlayer_AutoaimServices* + constexpr std::ptrdiff_t m_pObserverServices = 0x10C0; // CPlayer_ObserverServices* + constexpr std::ptrdiff_t m_pWaterServices = 0x10C8; // CPlayer_WaterServices* + constexpr std::ptrdiff_t m_pUseServices = 0x10D0; // CPlayer_UseServices* + constexpr std::ptrdiff_t m_pFlashlightServices = 0x10D8; // CPlayer_FlashlightServices* + constexpr std::ptrdiff_t m_pCameraServices = 0x10E0; // CPlayer_CameraServices* + constexpr std::ptrdiff_t m_pMovementServices = 0x10E8; // CPlayer_MovementServices* + constexpr std::ptrdiff_t m_ServerViewAngleChanges = 0x10F8; // C_UtlVectorEmbeddedNetworkVar + constexpr std::ptrdiff_t m_nHighestConsumedServerViewAngleChangeIndex = 0x1148; // uint32_t + constexpr std::ptrdiff_t v_angle = 0x114C; // QAngle + constexpr std::ptrdiff_t v_anglePrevious = 0x1158; // QAngle + constexpr std::ptrdiff_t m_iHideHUD = 0x1164; // uint32_t + constexpr std::ptrdiff_t m_skybox3d = 0x1168; // sky3dparams_t + constexpr std::ptrdiff_t m_flDeathTime = 0x11F8; // GameTime_t + constexpr std::ptrdiff_t m_vecPredictionError = 0x11FC; // Vector + constexpr std::ptrdiff_t m_flPredictionErrorTime = 0x1208; // GameTime_t + constexpr std::ptrdiff_t m_vecLastCameraSetupLocalOrigin = 0x120C; // Vector + constexpr std::ptrdiff_t m_flLastCameraSetupTime = 0x1218; // GameTime_t + constexpr std::ptrdiff_t m_flFOVSensitivityAdjust = 0x121C; // float + constexpr std::ptrdiff_t m_flMouseSensitivity = 0x1220; // float + constexpr std::ptrdiff_t m_vOldOrigin = 0x1224; // Vector + constexpr std::ptrdiff_t m_flOldSimulationTime = 0x1230; // float + constexpr std::ptrdiff_t m_nLastExecutedCommandNumber = 0x1234; // int32_t + constexpr std::ptrdiff_t m_nLastExecutedCommandTick = 0x1238; // int32_t + constexpr std::ptrdiff_t m_hController = 0x123C; // CHandle + constexpr std::ptrdiff_t m_bIsSwappingToPredictableController = 0x1240; // bool +} + +namespace C_BasePlayerWeapon { // C_EconEntity + constexpr std::ptrdiff_t m_nNextPrimaryAttackTick = 0x1560; // GameTick_t + constexpr std::ptrdiff_t m_flNextPrimaryAttackTickRatio = 0x1564; // float + constexpr std::ptrdiff_t m_nNextSecondaryAttackTick = 0x1568; // GameTick_t + constexpr std::ptrdiff_t m_flNextSecondaryAttackTickRatio = 0x156C; // float + constexpr std::ptrdiff_t m_iClip1 = 0x1570; // int32_t + constexpr std::ptrdiff_t m_iClip2 = 0x1574; // int32_t + constexpr std::ptrdiff_t m_pReserveAmmo = 0x1578; // int32_t[2] +} + +namespace C_BasePropDoor { // C_DynamicProp + constexpr std::ptrdiff_t m_eDoorState = 0x10F8; // DoorState_t + constexpr std::ptrdiff_t m_modelChanged = 0x10FC; // bool + constexpr std::ptrdiff_t m_bLocked = 0x10FD; // bool + constexpr std::ptrdiff_t m_closedPosition = 0x1100; // Vector + constexpr std::ptrdiff_t m_closedAngles = 0x110C; // QAngle + constexpr std::ptrdiff_t m_hMaster = 0x1118; // CHandle + constexpr std::ptrdiff_t m_vWhereToSetLightingOrigin = 0x111C; // Vector +} + +namespace C_BaseToggle { // C_BaseModelEntity +} + +namespace C_BaseTrigger { // C_BaseToggle + constexpr std::ptrdiff_t m_bDisabled = 0xCC0; // bool + constexpr std::ptrdiff_t m_bClientSidePredicted = 0xCC1; // bool +} + +namespace C_BaseViewModel { // CBaseAnimGraph + constexpr std::ptrdiff_t m_vecLastFacing = 0xE88; // Vector + constexpr std::ptrdiff_t m_nViewModelIndex = 0xE94; // uint32_t + constexpr std::ptrdiff_t m_nAnimationParity = 0xE98; // uint32_t + constexpr std::ptrdiff_t m_flAnimationStartTime = 0xE9C; // float + constexpr std::ptrdiff_t m_hWeapon = 0xEA0; // CHandle + constexpr std::ptrdiff_t m_sVMName = 0xEA8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sAnimationPrefix = 0xEB0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hWeaponModel = 0xEB8; // CHandle + constexpr std::ptrdiff_t m_iCameraAttachment = 0xEBC; // AttachmentHandle_t + constexpr std::ptrdiff_t m_vecLastCameraAngles = 0xEC0; // QAngle + constexpr std::ptrdiff_t m_previousElapsedDuration = 0xECC; // float + constexpr std::ptrdiff_t m_previousCycle = 0xED0; // float + constexpr std::ptrdiff_t m_nOldAnimationParity = 0xED4; // int32_t + constexpr std::ptrdiff_t m_hOldLayerSequence = 0xED8; // HSequence + constexpr std::ptrdiff_t m_oldLayer = 0xEDC; // int32_t + constexpr std::ptrdiff_t m_oldLayerStartTime = 0xEE0; // float + constexpr std::ptrdiff_t m_hControlPanel = 0xEE4; // CHandle +} + +namespace C_Beam { // C_BaseModelEntity + constexpr std::ptrdiff_t m_flFrameRate = 0xCC0; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0xCC4; // float + constexpr std::ptrdiff_t m_flFireTime = 0xCC8; // GameTime_t + constexpr std::ptrdiff_t m_flDamage = 0xCCC; // float + constexpr std::ptrdiff_t m_nNumBeamEnts = 0xCD0; // uint8_t + constexpr std::ptrdiff_t m_queryHandleHalo = 0xCD4; // int32_t + constexpr std::ptrdiff_t m_hBaseMaterial = 0xCF8; // CStrongHandle + constexpr std::ptrdiff_t m_nHaloIndex = 0xD00; // CStrongHandle + constexpr std::ptrdiff_t m_nBeamType = 0xD08; // BeamType_t + constexpr std::ptrdiff_t m_nBeamFlags = 0xD0C; // uint32_t + constexpr std::ptrdiff_t m_hAttachEntity = 0xD10; // CHandle[10] + constexpr std::ptrdiff_t m_nAttachIndex = 0xD38; // AttachmentHandle_t[10] + constexpr std::ptrdiff_t m_fWidth = 0xD44; // float + constexpr std::ptrdiff_t m_fEndWidth = 0xD48; // float + constexpr std::ptrdiff_t m_fFadeLength = 0xD4C; // float + constexpr std::ptrdiff_t m_fHaloScale = 0xD50; // float + constexpr std::ptrdiff_t m_fAmplitude = 0xD54; // float + constexpr std::ptrdiff_t m_fStartFrame = 0xD58; // float + constexpr std::ptrdiff_t m_fSpeed = 0xD5C; // float + constexpr std::ptrdiff_t m_flFrame = 0xD60; // float + constexpr std::ptrdiff_t m_nClipStyle = 0xD64; // BeamClipStyle_t + constexpr std::ptrdiff_t m_bTurnedOff = 0xD68; // bool + constexpr std::ptrdiff_t m_vecEndPos = 0xD6C; // Vector + constexpr std::ptrdiff_t m_hEndEntity = 0xD78; // CHandle +} + +namespace C_Breakable { // C_BaseModelEntity +} + +namespace C_BreakableProp { // CBaseProp + constexpr std::ptrdiff_t m_OnBreak = 0xEC8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnHealthChanged = 0xEF0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnTakeDamage = 0xF18; // CEntityIOOutput + constexpr std::ptrdiff_t m_impactEnergyScale = 0xF40; // float + constexpr std::ptrdiff_t m_iMinHealthDmg = 0xF44; // int32_t + constexpr std::ptrdiff_t m_flPressureDelay = 0xF48; // float + constexpr std::ptrdiff_t m_hBreaker = 0xF4C; // CHandle + constexpr std::ptrdiff_t m_PerformanceMode = 0xF50; // PerformanceMode_t + constexpr std::ptrdiff_t m_flDmgModBullet = 0xF54; // float + constexpr std::ptrdiff_t m_flDmgModClub = 0xF58; // float + constexpr std::ptrdiff_t m_flDmgModExplosive = 0xF5C; // float + constexpr std::ptrdiff_t m_flDmgModFire = 0xF60; // float + constexpr std::ptrdiff_t m_iszPhysicsDamageTableName = 0xF68; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszBasePropData = 0xF70; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iInteractions = 0xF78; // int32_t + constexpr std::ptrdiff_t m_flPreventDamageBeforeTime = 0xF7C; // GameTime_t + constexpr std::ptrdiff_t m_bHasBreakPiecesOrCommands = 0xF80; // bool + constexpr std::ptrdiff_t m_explodeDamage = 0xF84; // float + constexpr std::ptrdiff_t m_explodeRadius = 0xF88; // float + constexpr std::ptrdiff_t m_explosionDelay = 0xF90; // float + constexpr std::ptrdiff_t m_explosionBuildupSound = 0xF98; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_explosionCustomEffect = 0xFA0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_explosionCustomSound = 0xFA8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_explosionModifier = 0xFB0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hPhysicsAttacker = 0xFB8; // CHandle + constexpr std::ptrdiff_t m_flLastPhysicsInfluenceTime = 0xFBC; // GameTime_t + constexpr std::ptrdiff_t m_flDefaultFadeScale = 0xFC0; // float + constexpr std::ptrdiff_t m_hLastAttacker = 0xFC4; // CHandle + constexpr std::ptrdiff_t m_hFlareEnt = 0xFC8; // CHandle + constexpr std::ptrdiff_t m_noGhostCollision = 0xFCC; // bool +} + +namespace C_BulletHitModel { // CBaseAnimGraph + constexpr std::ptrdiff_t m_matLocal = 0xE80; // matrix3x4_t + constexpr std::ptrdiff_t m_iBoneIndex = 0xEB0; // int32_t + constexpr std::ptrdiff_t m_hPlayerParent = 0xEB4; // CHandle + constexpr std::ptrdiff_t m_bIsHit = 0xEB8; // bool + constexpr std::ptrdiff_t m_flTimeCreated = 0xEBC; // float + constexpr std::ptrdiff_t m_vecStartPos = 0xEC0; // Vector +} + +namespace C_C4 { // C_CSWeaponBase + constexpr std::ptrdiff_t m_szScreenText = 0x1990; // char[32] + constexpr std::ptrdiff_t m_bombdroppedlightParticleIndex = 0x19B0; // ParticleIndex_t + constexpr std::ptrdiff_t m_bStartedArming = 0x19B4; // bool + constexpr std::ptrdiff_t m_fArmedTime = 0x19B8; // GameTime_t + constexpr std::ptrdiff_t m_bBombPlacedAnimation = 0x19BC; // bool + constexpr std::ptrdiff_t m_bIsPlantingViaUse = 0x19BD; // bool + constexpr std::ptrdiff_t m_entitySpottedState = 0x19C0; // EntitySpottedState_t + constexpr std::ptrdiff_t m_nSpotRules = 0x19D8; // int32_t + constexpr std::ptrdiff_t m_bPlayedArmingBeeps = 0x19DC; // bool[7] + constexpr std::ptrdiff_t m_bBombPlanted = 0x19E3; // bool + constexpr std::ptrdiff_t m_bDroppedFromDeath = 0x19E4; // bool +} + +namespace C_CSGOViewModel { // C_PredictedViewModel + constexpr std::ptrdiff_t m_bShouldIgnoreOffsetAndAccuracy = 0xF10; // bool + constexpr std::ptrdiff_t m_nWeaponParity = 0xF14; // uint32_t + constexpr std::ptrdiff_t m_nOldWeaponParity = 0xF18; // uint32_t + constexpr std::ptrdiff_t m_nLastKnownAssociatedWeaponEntIndex = 0xF1C; // CEntityIndex + constexpr std::ptrdiff_t m_bNeedToQueueHighResComposite = 0xF20; // bool + constexpr std::ptrdiff_t m_vLoweredWeaponOffset = 0xF64; // QAngle +} + +namespace C_CSGO_CounterTerroristTeamIntroCamera { // C_CSGO_TeamPreviewCamera +} + +namespace C_CSGO_CounterTerroristWingmanIntroCamera { // C_CSGO_TeamPreviewCamera +} + +namespace C_CSGO_EndOfMatchCamera { // C_CSGO_TeamPreviewCamera +} + +namespace C_CSGO_EndOfMatchCharacterPosition { // C_CSGO_TeamPreviewCharacterPosition +} + +namespace C_CSGO_EndOfMatchLineupEnd { // C_CSGO_EndOfMatchLineupEndpoint +} + +namespace C_CSGO_EndOfMatchLineupEndpoint { // C_BaseEntity +} + +namespace C_CSGO_EndOfMatchLineupStart { // C_CSGO_EndOfMatchLineupEndpoint +} + +namespace C_CSGO_MapPreviewCameraPath { // C_BaseEntity + constexpr std::ptrdiff_t m_flZFar = 0x540; // float + constexpr std::ptrdiff_t m_flZNear = 0x544; // float + constexpr std::ptrdiff_t m_bLoop = 0x548; // bool + constexpr std::ptrdiff_t m_bVerticalFOV = 0x549; // bool + constexpr std::ptrdiff_t m_bConstantSpeed = 0x54A; // bool + constexpr std::ptrdiff_t m_flDuration = 0x54C; // float + constexpr std::ptrdiff_t m_flPathLength = 0x590; // float + constexpr std::ptrdiff_t m_flPathDuration = 0x594; // float +} + +namespace C_CSGO_MapPreviewCameraPathNode { // C_BaseEntity + constexpr std::ptrdiff_t m_szParentPathUniqueID = 0x540; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nPathIndex = 0x548; // int32_t + constexpr std::ptrdiff_t m_vInTangentLocal = 0x54C; // Vector + constexpr std::ptrdiff_t m_vOutTangentLocal = 0x558; // Vector + constexpr std::ptrdiff_t m_flFOV = 0x564; // float + constexpr std::ptrdiff_t m_flSpeed = 0x568; // float + constexpr std::ptrdiff_t m_flEaseIn = 0x56C; // float + constexpr std::ptrdiff_t m_flEaseOut = 0x570; // float + constexpr std::ptrdiff_t m_vInTangentWorld = 0x574; // Vector + constexpr std::ptrdiff_t m_vOutTangentWorld = 0x580; // Vector +} + +namespace C_CSGO_PreviewModel { // C_BaseFlex + constexpr std::ptrdiff_t m_animgraph = 0x1018; // CUtlString + constexpr std::ptrdiff_t m_animgraphCharacterModeString = 0x1020; // CUtlString + constexpr std::ptrdiff_t m_defaultAnim = 0x1028; // CUtlString + constexpr std::ptrdiff_t m_nDefaultAnimLoopMode = 0x1030; // AnimLoopMode_t + constexpr std::ptrdiff_t m_flInitialModelScale = 0x1034; // float +} + +namespace C_CSGO_PreviewModelAlias_csgo_item_previewmodel { // C_CSGO_PreviewModel +} + +namespace C_CSGO_PreviewPlayer { // C_CSPlayerPawn + constexpr std::ptrdiff_t m_animgraph = 0x22E0; // CUtlString + constexpr std::ptrdiff_t m_animgraphCharacterModeString = 0x22E8; // CUtlString + constexpr std::ptrdiff_t m_flInitialModelScale = 0x22F0; // float +} + +namespace C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel { // C_CSGO_PreviewPlayer +} + +namespace C_CSGO_TeamIntroCharacterPosition { // C_CSGO_TeamPreviewCharacterPosition +} + +namespace C_CSGO_TeamIntroCounterTerroristPosition { // C_CSGO_TeamIntroCharacterPosition +} + +namespace C_CSGO_TeamIntroTerroristPosition { // C_CSGO_TeamIntroCharacterPosition +} + +namespace C_CSGO_TeamPreviewCamera { // C_CSGO_MapPreviewCameraPath + constexpr std::ptrdiff_t m_nVariant = 0x5A0; // int32_t + constexpr std::ptrdiff_t m_bDofEnabled = 0x5A4; // bool + constexpr std::ptrdiff_t m_flDofNearBlurry = 0x5A8; // float + constexpr std::ptrdiff_t m_flDofNearCrisp = 0x5AC; // float + constexpr std::ptrdiff_t m_flDofFarCrisp = 0x5B0; // float + constexpr std::ptrdiff_t m_flDofFarBlurry = 0x5B4; // float + constexpr std::ptrdiff_t m_flDofTiltToGround = 0x5B8; // float +} + +namespace C_CSGO_TeamPreviewCharacterPosition { // C_BaseEntity + constexpr std::ptrdiff_t m_nVariant = 0x540; // int32_t + constexpr std::ptrdiff_t m_nRandom = 0x544; // int32_t + constexpr std::ptrdiff_t m_nOrdinal = 0x548; // int32_t + constexpr std::ptrdiff_t m_sWeaponName = 0x550; // CUtlString + constexpr std::ptrdiff_t m_xuid = 0x558; // uint64_t + constexpr std::ptrdiff_t m_agentItem = 0x560; // C_EconItemView + constexpr std::ptrdiff_t m_glovesItem = 0x9A8; // C_EconItemView + constexpr std::ptrdiff_t m_weaponItem = 0xDF0; // C_EconItemView +} + +namespace C_CSGO_TeamPreviewModel { // C_CSGO_PreviewPlayer +} + +namespace C_CSGO_TeamSelectCamera { // C_CSGO_TeamPreviewCamera +} + +namespace C_CSGO_TeamSelectCharacterPosition { // C_CSGO_TeamPreviewCharacterPosition +} + +namespace C_CSGO_TeamSelectCounterTerroristPosition { // C_CSGO_TeamSelectCharacterPosition +} + +namespace C_CSGO_TeamSelectTerroristPosition { // C_CSGO_TeamSelectCharacterPosition +} + +namespace C_CSGO_TerroristTeamIntroCamera { // C_CSGO_TeamPreviewCamera +} + +namespace C_CSGO_TerroristWingmanIntroCamera { // C_CSGO_TeamPreviewCamera +} + +namespace C_CSGameRules { // C_TeamplayRules + constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer + constexpr std::ptrdiff_t m_bFreezePeriod = 0x30; // bool + constexpr std::ptrdiff_t m_bWarmupPeriod = 0x31; // bool + constexpr std::ptrdiff_t m_fWarmupPeriodEnd = 0x34; // GameTime_t + constexpr std::ptrdiff_t m_fWarmupPeriodStart = 0x38; // GameTime_t + constexpr std::ptrdiff_t m_nTotalPausedTicks = 0x3C; // int32_t + constexpr std::ptrdiff_t m_nPauseStartTick = 0x40; // int32_t + constexpr std::ptrdiff_t m_bServerPaused = 0x44; // bool + constexpr std::ptrdiff_t m_bGamePaused = 0x45; // bool + constexpr std::ptrdiff_t m_bTerroristTimeOutActive = 0x46; // bool + constexpr std::ptrdiff_t m_bCTTimeOutActive = 0x47; // bool + constexpr std::ptrdiff_t m_flTerroristTimeOutRemaining = 0x48; // float + constexpr std::ptrdiff_t m_flCTTimeOutRemaining = 0x4C; // float + constexpr std::ptrdiff_t m_nTerroristTimeOuts = 0x50; // int32_t + constexpr std::ptrdiff_t m_nCTTimeOuts = 0x54; // int32_t + constexpr std::ptrdiff_t m_bTechnicalTimeOut = 0x58; // bool + constexpr std::ptrdiff_t m_bMatchWaitingForResume = 0x59; // bool + constexpr std::ptrdiff_t m_iRoundTime = 0x5C; // int32_t + constexpr std::ptrdiff_t m_fMatchStartTime = 0x60; // float + constexpr std::ptrdiff_t m_fRoundStartTime = 0x64; // GameTime_t + constexpr std::ptrdiff_t m_flRestartRoundTime = 0x68; // GameTime_t + constexpr std::ptrdiff_t m_bGameRestart = 0x6C; // bool + constexpr std::ptrdiff_t m_flGameStartTime = 0x70; // float + constexpr std::ptrdiff_t m_timeUntilNextPhaseStarts = 0x74; // float + constexpr std::ptrdiff_t m_gamePhase = 0x78; // int32_t + constexpr std::ptrdiff_t m_totalRoundsPlayed = 0x7C; // int32_t + constexpr std::ptrdiff_t m_nRoundsPlayedThisPhase = 0x80; // int32_t + constexpr std::ptrdiff_t m_nOvertimePlaying = 0x84; // int32_t + constexpr std::ptrdiff_t m_iHostagesRemaining = 0x88; // int32_t + constexpr std::ptrdiff_t m_bAnyHostageReached = 0x8C; // bool + constexpr std::ptrdiff_t m_bMapHasBombTarget = 0x8D; // bool + constexpr std::ptrdiff_t m_bMapHasRescueZone = 0x8E; // bool + constexpr std::ptrdiff_t m_bMapHasBuyZone = 0x8F; // bool + constexpr std::ptrdiff_t m_bIsQueuedMatchmaking = 0x90; // bool + constexpr std::ptrdiff_t m_nQueuedMatchmakingMode = 0x94; // int32_t + constexpr std::ptrdiff_t m_bIsValveDS = 0x98; // bool + constexpr std::ptrdiff_t m_bLogoMap = 0x99; // bool + constexpr std::ptrdiff_t m_bPlayAllStepSoundsOnServer = 0x9A; // bool + constexpr std::ptrdiff_t m_iSpectatorSlotCount = 0x9C; // int32_t + constexpr std::ptrdiff_t m_MatchDevice = 0xA0; // int32_t + constexpr std::ptrdiff_t m_bHasMatchStarted = 0xA4; // bool + constexpr std::ptrdiff_t m_nNextMapInMapgroup = 0xA8; // int32_t + constexpr std::ptrdiff_t m_szTournamentEventName = 0xAC; // char[512] + constexpr std::ptrdiff_t m_szTournamentEventStage = 0x2AC; // char[512] + constexpr std::ptrdiff_t m_szMatchStatTxt = 0x4AC; // char[512] + constexpr std::ptrdiff_t m_szTournamentPredictionsTxt = 0x6AC; // char[512] + constexpr std::ptrdiff_t m_nTournamentPredictionsPct = 0x8AC; // int32_t + constexpr std::ptrdiff_t m_flCMMItemDropRevealStartTime = 0x8B0; // GameTime_t + constexpr std::ptrdiff_t m_flCMMItemDropRevealEndTime = 0x8B4; // GameTime_t + constexpr std::ptrdiff_t m_bIsDroppingItems = 0x8B8; // bool + constexpr std::ptrdiff_t m_bIsQuestEligible = 0x8B9; // bool + constexpr std::ptrdiff_t m_bIsHltvActive = 0x8BA; // bool + constexpr std::ptrdiff_t m_nGuardianModeWaveNumber = 0x8BC; // int32_t + constexpr std::ptrdiff_t m_nGuardianModeSpecialKillsRemaining = 0x8C0; // int32_t + constexpr std::ptrdiff_t m_nGuardianModeSpecialWeaponNeeded = 0x8C4; // int32_t + constexpr std::ptrdiff_t m_nGuardianGrenadesToGiveBots = 0x8C8; // int32_t + constexpr std::ptrdiff_t m_nNumHeaviesToSpawn = 0x8CC; // int32_t + constexpr std::ptrdiff_t m_numGlobalGiftsGiven = 0x8D0; // uint32_t + constexpr std::ptrdiff_t m_numGlobalGifters = 0x8D4; // uint32_t + constexpr std::ptrdiff_t m_numGlobalGiftsPeriodSeconds = 0x8D8; // uint32_t + constexpr std::ptrdiff_t m_arrFeaturedGiftersAccounts = 0x8DC; // uint32_t[4] + constexpr std::ptrdiff_t m_arrFeaturedGiftersGifts = 0x8EC; // uint32_t[4] + constexpr std::ptrdiff_t m_arrProhibitedItemIndices = 0x8FC; // uint16_t[100] + constexpr std::ptrdiff_t m_arrTournamentActiveCasterAccounts = 0x9C4; // uint32_t[4] + constexpr std::ptrdiff_t m_numBestOfMaps = 0x9D4; // int32_t + constexpr std::ptrdiff_t m_nHalloweenMaskListSeed = 0x9D8; // int32_t + constexpr std::ptrdiff_t m_bBombDropped = 0x9DC; // bool + constexpr std::ptrdiff_t m_bBombPlanted = 0x9DD; // bool + constexpr std::ptrdiff_t m_iRoundWinStatus = 0x9E0; // int32_t + constexpr std::ptrdiff_t m_eRoundWinReason = 0x9E4; // int32_t + constexpr std::ptrdiff_t m_bTCantBuy = 0x9E8; // bool + constexpr std::ptrdiff_t m_bCTCantBuy = 0x9E9; // bool + constexpr std::ptrdiff_t m_flGuardianBuyUntilTime = 0x9EC; // GameTime_t + constexpr std::ptrdiff_t m_iMatchStats_RoundResults = 0x9F0; // int32_t[30] + constexpr std::ptrdiff_t m_iMatchStats_PlayersAlive_CT = 0xA68; // int32_t[30] + constexpr std::ptrdiff_t m_iMatchStats_PlayersAlive_T = 0xAE0; // int32_t[30] + constexpr std::ptrdiff_t m_TeamRespawnWaveTimes = 0xB58; // float[32] + constexpr std::ptrdiff_t m_flNextRespawnWave = 0xBD8; // GameTime_t[32] + constexpr std::ptrdiff_t m_nServerQuestID = 0xC58; // int32_t + constexpr std::ptrdiff_t m_vMinimapMins = 0xC5C; // Vector + constexpr std::ptrdiff_t m_vMinimapMaxs = 0xC68; // Vector + constexpr std::ptrdiff_t m_MinimapVerticalSectionHeights = 0xC74; // float[8] + constexpr std::ptrdiff_t m_bDontIncrementCoopWave = 0xC94; // bool + constexpr std::ptrdiff_t m_bSpawnedTerrorHuntHeavy = 0xC95; // bool + constexpr std::ptrdiff_t m_nEndMatchMapGroupVoteTypes = 0xC98; // int32_t[10] + constexpr std::ptrdiff_t m_nEndMatchMapGroupVoteOptions = 0xCC0; // int32_t[10] + constexpr std::ptrdiff_t m_nEndMatchMapVoteWinner = 0xCE8; // int32_t + constexpr std::ptrdiff_t m_iNumConsecutiveCTLoses = 0xCEC; // int32_t + constexpr std::ptrdiff_t m_iNumConsecutiveTerroristLoses = 0xCF0; // int32_t + constexpr std::ptrdiff_t m_bMarkClientStopRecordAtRoundEnd = 0xD10; // bool + constexpr std::ptrdiff_t m_bMatchAbortedDueToPlayerBan = 0xD68; // bool + constexpr std::ptrdiff_t m_bHasTriggeredRoundStartMusic = 0xD69; // bool + constexpr std::ptrdiff_t m_bHasTriggeredCoopSpawnReset = 0xD6A; // bool + constexpr std::ptrdiff_t m_bSwitchingTeamsAtRoundReset = 0xD6B; // bool + constexpr std::ptrdiff_t m_pGameModeRules = 0xD88; // CCSGameModeRules* + constexpr std::ptrdiff_t m_RetakeRules = 0xD90; // C_RetakeGameRules + constexpr std::ptrdiff_t m_nMatchEndCount = 0xEA8; // uint8_t + constexpr std::ptrdiff_t m_nTTeamIntroVariant = 0xEAC; // int32_t + constexpr std::ptrdiff_t m_nCTTeamIntroVariant = 0xEB0; // int32_t + constexpr std::ptrdiff_t m_bTeamIntroPeriod = 0xEB4; // bool + constexpr std::ptrdiff_t m_flLastPerfSampleTime = 0x4EC0; // double +} + +namespace C_CSGameRulesProxy { // C_GameRulesProxy + constexpr std::ptrdiff_t m_pGameRules = 0x540; // C_CSGameRules* +} + +namespace C_CSMinimapBoundary { // C_BaseEntity +} + +namespace C_CSObserverPawn { // C_CSPlayerPawnBase + constexpr std::ptrdiff_t m_hDetectParentChange = 0x16B0; // CEntityHandle +} + +namespace C_CSPlayerPawn { // C_CSPlayerPawnBase + constexpr std::ptrdiff_t m_pBulletServices = 0x16B0; // CCSPlayer_BulletServices* + constexpr std::ptrdiff_t m_pHostageServices = 0x16B8; // CCSPlayer_HostageServices* + constexpr std::ptrdiff_t m_pBuyServices = 0x16C0; // CCSPlayer_BuyServices* + constexpr std::ptrdiff_t m_pGlowServices = 0x16C8; // CCSPlayer_GlowServices* + constexpr std::ptrdiff_t m_pActionTrackingServices = 0x16D0; // CCSPlayer_ActionTrackingServices* + constexpr std::ptrdiff_t m_flHealthShotBoostExpirationTime = 0x16D8; // GameTime_t + constexpr std::ptrdiff_t m_flLastFiredWeaponTime = 0x16DC; // GameTime_t + constexpr std::ptrdiff_t m_bHasFemaleVoice = 0x16E0; // bool + constexpr std::ptrdiff_t m_flLandseconds = 0x16E4; // float + constexpr std::ptrdiff_t m_flOldFallVelocity = 0x16E8; // float + constexpr std::ptrdiff_t m_szLastPlaceName = 0x16EC; // char[18] + constexpr std::ptrdiff_t m_bPrevDefuser = 0x16FE; // bool + constexpr std::ptrdiff_t m_bPrevHelmet = 0x16FF; // bool + constexpr std::ptrdiff_t m_nPrevArmorVal = 0x1700; // int32_t + constexpr std::ptrdiff_t m_nPrevGrenadeAmmoCount = 0x1704; // int32_t + constexpr std::ptrdiff_t m_unPreviousWeaponHash = 0x1708; // uint32_t + constexpr std::ptrdiff_t m_unWeaponHash = 0x170C; // uint32_t + constexpr std::ptrdiff_t m_bInBuyZone = 0x1710; // bool + constexpr std::ptrdiff_t m_bPreviouslyInBuyZone = 0x1711; // bool + constexpr std::ptrdiff_t m_aimPunchAngle = 0x1714; // QAngle + constexpr std::ptrdiff_t m_aimPunchAngleVel = 0x1720; // QAngle + constexpr std::ptrdiff_t m_aimPunchTickBase = 0x172C; // int32_t + constexpr std::ptrdiff_t m_aimPunchTickFraction = 0x1730; // float + constexpr std::ptrdiff_t m_aimPunchCache = 0x1738; // CUtlVector + constexpr std::ptrdiff_t m_bInLanding = 0x1758; // bool + constexpr std::ptrdiff_t m_flLandingTime = 0x175C; // float + constexpr std::ptrdiff_t m_bInHostageRescueZone = 0x1760; // bool + constexpr std::ptrdiff_t m_bInBombZone = 0x1761; // bool + constexpr std::ptrdiff_t m_bIsBuyMenuOpen = 0x1762; // bool + constexpr std::ptrdiff_t m_flTimeOfLastInjury = 0x1764; // GameTime_t + constexpr std::ptrdiff_t m_flNextSprayDecalTime = 0x1768; // GameTime_t + constexpr std::ptrdiff_t m_iRetakesOffering = 0x1880; // int32_t + constexpr std::ptrdiff_t m_iRetakesOfferingCard = 0x1884; // int32_t + constexpr std::ptrdiff_t m_bRetakesHasDefuseKit = 0x1888; // bool + constexpr std::ptrdiff_t m_bRetakesMVPLastRound = 0x1889; // bool + constexpr std::ptrdiff_t m_iRetakesMVPBoostItem = 0x188C; // int32_t + constexpr std::ptrdiff_t m_RetakesMVPBoostExtraUtility = 0x1890; // loadout_slot_t + constexpr std::ptrdiff_t m_bNeedToReApplyGloves = 0x18B0; // bool + constexpr std::ptrdiff_t m_EconGloves = 0x18B8; // C_EconItemView + constexpr std::ptrdiff_t m_bMustSyncRagdollState = 0x1D00; // bool + constexpr std::ptrdiff_t m_nRagdollDamageBone = 0x1D04; // int32_t + constexpr std::ptrdiff_t m_vRagdollDamageForce = 0x1D08; // Vector + constexpr std::ptrdiff_t m_vRagdollDamagePosition = 0x1D14; // Vector + constexpr std::ptrdiff_t m_szRagdollDamageWeaponName = 0x1D20; // char[64] + constexpr std::ptrdiff_t m_bRagdollDamageHeadshot = 0x1D60; // bool + constexpr std::ptrdiff_t m_vRagdollServerOrigin = 0x1D64; // Vector + constexpr std::ptrdiff_t m_bLastHeadBoneTransformIsValid = 0x22A8; // bool + constexpr std::ptrdiff_t m_lastLandTime = 0x22AC; // GameTime_t + constexpr std::ptrdiff_t m_bOnGroundLastTick = 0x22B0; // bool + constexpr std::ptrdiff_t m_qDeathEyeAngles = 0x22CC; // QAngle + constexpr std::ptrdiff_t m_bSkipOneHeadConstraintUpdate = 0x22D8; // bool +} + +namespace C_CSPlayerPawnBase { // C_BasePlayerPawn + constexpr std::ptrdiff_t m_pPingServices = 0x1268; // CCSPlayer_PingServices* + constexpr std::ptrdiff_t m_pViewModelServices = 0x1270; // CPlayer_ViewModelServices* + constexpr std::ptrdiff_t m_fRenderingClipPlane = 0x1278; // float[4] + constexpr std::ptrdiff_t m_nLastClipPlaneSetupFrame = 0x1288; // int32_t + constexpr std::ptrdiff_t m_vecLastClipCameraPos = 0x128C; // Vector + constexpr std::ptrdiff_t m_vecLastClipCameraForward = 0x1298; // Vector + constexpr std::ptrdiff_t m_bClipHitStaticWorld = 0x12A4; // bool + constexpr std::ptrdiff_t m_bCachedPlaneIsValid = 0x12A5; // bool + constexpr std::ptrdiff_t m_pClippingWeapon = 0x12A8; // C_CSWeaponBase* + constexpr std::ptrdiff_t m_previousPlayerState = 0x12B0; // CSPlayerState + constexpr std::ptrdiff_t m_flLastCollisionCeiling = 0x12B4; // float + constexpr std::ptrdiff_t m_flLastCollisionCeilingChangeTime = 0x12B8; // float + constexpr std::ptrdiff_t m_grenadeParameterStashTime = 0x12D8; // GameTime_t + constexpr std::ptrdiff_t m_bGrenadeParametersStashed = 0x12DC; // bool + constexpr std::ptrdiff_t m_angStashedShootAngles = 0x12E0; // QAngle + constexpr std::ptrdiff_t m_vecStashedGrenadeThrowPosition = 0x12EC; // Vector + constexpr std::ptrdiff_t m_vecStashedVelocity = 0x12F8; // Vector + constexpr std::ptrdiff_t m_angShootAngleHistory = 0x1304; // QAngle[2] + constexpr std::ptrdiff_t m_vecThrowPositionHistory = 0x131C; // Vector[2] + constexpr std::ptrdiff_t m_vecVelocityHistory = 0x1334; // Vector[2] + constexpr std::ptrdiff_t m_thirdPersonHeading = 0x1350; // QAngle + constexpr std::ptrdiff_t m_flSlopeDropOffset = 0x1368; // float + constexpr std::ptrdiff_t m_flSlopeDropHeight = 0x1378; // float + constexpr std::ptrdiff_t m_vHeadConstraintOffset = 0x1388; // Vector + constexpr std::ptrdiff_t m_bIsScoped = 0x13A0; // bool + constexpr std::ptrdiff_t m_bIsWalking = 0x13A1; // bool + constexpr std::ptrdiff_t m_bResumeZoom = 0x13A2; // bool + constexpr std::ptrdiff_t m_iPlayerState = 0x13A4; // CSPlayerState + constexpr std::ptrdiff_t m_bIsDefusing = 0x13A8; // bool + constexpr std::ptrdiff_t m_bIsGrabbingHostage = 0x13A9; // bool + constexpr std::ptrdiff_t m_iBlockingUseActionInProgress = 0x13AC; // CSPlayerBlockingUseAction_t + constexpr std::ptrdiff_t m_bIsRescuing = 0x13B0; // bool + constexpr std::ptrdiff_t m_fImmuneToGunGameDamageTime = 0x13B4; // GameTime_t + constexpr std::ptrdiff_t m_fImmuneToGunGameDamageTimeLast = 0x13B8; // GameTime_t + constexpr std::ptrdiff_t m_bGunGameImmunity = 0x13BC; // bool + constexpr std::ptrdiff_t m_bHasMovedSinceSpawn = 0x13BD; // bool + constexpr std::ptrdiff_t m_fMolotovUseTime = 0x13C0; // float + constexpr std::ptrdiff_t m_fMolotovDamageTime = 0x13C4; // float + constexpr std::ptrdiff_t m_nWhichBombZone = 0x13C8; // int32_t + constexpr std::ptrdiff_t m_bInNoDefuseArea = 0x13CC; // bool + constexpr std::ptrdiff_t m_iThrowGrenadeCounter = 0x13D0; // int32_t + constexpr std::ptrdiff_t m_bWaitForNoAttack = 0x13D4; // bool + constexpr std::ptrdiff_t m_flGuardianTooFarDistFrac = 0x13D8; // float + constexpr std::ptrdiff_t m_flDetectedByEnemySensorTime = 0x13DC; // GameTime_t + constexpr std::ptrdiff_t m_flNextGuardianTooFarWarning = 0x13E0; // float + constexpr std::ptrdiff_t m_bSuppressGuardianTooFarWarningAudio = 0x13E4; // bool + constexpr std::ptrdiff_t m_bKilledByTaser = 0x13E5; // bool + constexpr std::ptrdiff_t m_iMoveState = 0x13E8; // int32_t + constexpr std::ptrdiff_t m_bCanMoveDuringFreezePeriod = 0x13EC; // bool + constexpr std::ptrdiff_t m_flLowerBodyYawTarget = 0x13F0; // float + constexpr std::ptrdiff_t m_bStrafing = 0x13F4; // bool + constexpr std::ptrdiff_t m_flLastSpawnTimeIndex = 0x13F8; // GameTime_t + constexpr std::ptrdiff_t m_flEmitSoundTime = 0x13FC; // GameTime_t + constexpr std::ptrdiff_t m_iAddonBits = 0x1400; // int32_t + constexpr std::ptrdiff_t m_iPrimaryAddon = 0x1404; // int32_t + constexpr std::ptrdiff_t m_iSecondaryAddon = 0x1408; // int32_t + constexpr std::ptrdiff_t m_iProgressBarDuration = 0x140C; // int32_t + constexpr std::ptrdiff_t m_flProgressBarStartTime = 0x1410; // float + constexpr std::ptrdiff_t m_iDirection = 0x1414; // int32_t + constexpr std::ptrdiff_t m_iShotsFired = 0x1418; // int32_t + constexpr std::ptrdiff_t m_bNightVisionOn = 0x141C; // bool + constexpr std::ptrdiff_t m_bHasNightVision = 0x141D; // bool + constexpr std::ptrdiff_t m_flVelocityModifier = 0x1420; // float + constexpr std::ptrdiff_t m_flHitHeading = 0x1424; // float + constexpr std::ptrdiff_t m_nHitBodyPart = 0x1428; // int32_t + constexpr std::ptrdiff_t m_iStartAccount = 0x142C; // int32_t + constexpr std::ptrdiff_t m_vecIntroStartEyePosition = 0x1430; // Vector + constexpr std::ptrdiff_t m_vecIntroStartPlayerForward = 0x143C; // Vector + constexpr std::ptrdiff_t m_flClientDeathTime = 0x1448; // GameTime_t + constexpr std::ptrdiff_t m_flNightVisionAlpha = 0x144C; // float + constexpr std::ptrdiff_t m_bScreenTearFrameCaptured = 0x1450; // bool + constexpr std::ptrdiff_t m_flFlashBangTime = 0x1454; // float + constexpr std::ptrdiff_t m_flFlashScreenshotAlpha = 0x1458; // float + constexpr std::ptrdiff_t m_flFlashOverlayAlpha = 0x145C; // float + constexpr std::ptrdiff_t m_bFlashBuildUp = 0x1460; // bool + constexpr std::ptrdiff_t m_bFlashDspHasBeenCleared = 0x1461; // bool + constexpr std::ptrdiff_t m_bFlashScreenshotHasBeenGrabbed = 0x1462; // bool + constexpr std::ptrdiff_t m_flFlashMaxAlpha = 0x1464; // float + constexpr std::ptrdiff_t m_flFlashDuration = 0x1468; // float + constexpr std::ptrdiff_t m_lastStandingPos = 0x146C; // Vector + constexpr std::ptrdiff_t m_vecLastMuzzleFlashPos = 0x1478; // Vector + constexpr std::ptrdiff_t m_angLastMuzzleFlashAngle = 0x1484; // QAngle + constexpr std::ptrdiff_t m_hMuzzleFlashShape = 0x1490; // CHandle + constexpr std::ptrdiff_t m_iHealthBarRenderMaskIndex = 0x1494; // int32_t + constexpr std::ptrdiff_t m_flHealthFadeValue = 0x1498; // float + constexpr std::ptrdiff_t m_flHealthFadeAlpha = 0x149C; // float + constexpr std::ptrdiff_t m_nMyCollisionGroup = 0x14A0; // int32_t + constexpr std::ptrdiff_t m_ignoreLadderJumpTime = 0x14A4; // float + constexpr std::ptrdiff_t m_ladderSurpressionTimer = 0x14A8; // CountdownTimer + constexpr std::ptrdiff_t m_lastLadderNormal = 0x14C0; // Vector + constexpr std::ptrdiff_t m_lastLadderPos = 0x14CC; // Vector + constexpr std::ptrdiff_t m_flDeathCCWeight = 0x14E0; // float + constexpr std::ptrdiff_t m_bOldIsScoped = 0x14E4; // bool + constexpr std::ptrdiff_t m_flPrevRoundEndTime = 0x14E8; // float + constexpr std::ptrdiff_t m_flPrevMatchEndTime = 0x14EC; // float + constexpr std::ptrdiff_t m_unCurrentEquipmentValue = 0x14F0; // uint16_t + constexpr std::ptrdiff_t m_unRoundStartEquipmentValue = 0x14F2; // uint16_t + constexpr std::ptrdiff_t m_unFreezetimeEndEquipmentValue = 0x14F4; // uint16_t + constexpr std::ptrdiff_t m_vecThirdPersonViewPositionOverride = 0x14F8; // Vector + constexpr std::ptrdiff_t m_nHeavyAssaultSuitCooldownRemaining = 0x1504; // int32_t + constexpr std::ptrdiff_t m_ArmorValue = 0x1508; // int32_t + constexpr std::ptrdiff_t m_angEyeAngles = 0x1510; // QAngle + constexpr std::ptrdiff_t m_fNextThinkPushAway = 0x1528; // float + constexpr std::ptrdiff_t m_bShouldAutobuyDMWeapons = 0x152C; // bool + constexpr std::ptrdiff_t m_bShouldAutobuyNow = 0x152D; // bool + constexpr std::ptrdiff_t m_bHud_MiniScoreHidden = 0x152E; // bool + constexpr std::ptrdiff_t m_bHud_RadarHidden = 0x152F; // bool + constexpr std::ptrdiff_t m_nLastKillerIndex = 0x1530; // CEntityIndex + constexpr std::ptrdiff_t m_nLastConcurrentKilled = 0x1534; // int32_t + constexpr std::ptrdiff_t m_nDeathCamMusic = 0x1538; // int32_t + constexpr std::ptrdiff_t m_iIDEntIndex = 0x153C; // CEntityIndex + constexpr std::ptrdiff_t m_delayTargetIDTimer = 0x1540; // CountdownTimer + constexpr std::ptrdiff_t m_iTargetedWeaponEntIndex = 0x1558; // CEntityIndex + constexpr std::ptrdiff_t m_iOldIDEntIndex = 0x155C; // CEntityIndex + constexpr std::ptrdiff_t m_holdTargetIDTimer = 0x1560; // CountdownTimer + constexpr std::ptrdiff_t m_flCurrentMusicStartTime = 0x157C; // float + constexpr std::ptrdiff_t m_flMusicRoundStartTime = 0x1580; // float + constexpr std::ptrdiff_t m_bDeferStartMusicOnWarmup = 0x1584; // bool + constexpr std::ptrdiff_t m_cycleLatch = 0x1588; // int32_t + constexpr std::ptrdiff_t m_serverIntendedCycle = 0x158C; // float + constexpr std::ptrdiff_t m_vecPlayerPatchEconIndices = 0x1590; // uint32_t[5] + constexpr std::ptrdiff_t m_bHideTargetID = 0x15AC; // bool + constexpr std::ptrdiff_t m_nextTaserShakeTime = 0x15B0; // float + constexpr std::ptrdiff_t m_firstTaserShakeTime = 0x15B4; // float + constexpr std::ptrdiff_t m_flLastSmokeOverlayAlpha = 0x15B8; // float + constexpr std::ptrdiff_t m_vLastSmokeOverlayColor = 0x15BC; // Vector + constexpr std::ptrdiff_t m_nPlayerSmokedFx = 0x15C8; // ParticleIndex_t + constexpr std::ptrdiff_t m_flNextMagDropTime = 0x15CC; // float + constexpr std::ptrdiff_t m_nLastMagDropAttachmentIndex = 0x15D0; // int32_t + constexpr std::ptrdiff_t m_vecBulletHitModels = 0x15D8; // CUtlVector + constexpr std::ptrdiff_t m_vecPickupModelSlerpers = 0x15F0; // CUtlVector + constexpr std::ptrdiff_t m_vecLastAliveLocalVelocity = 0x1608; // Vector + constexpr std::ptrdiff_t m_entitySpottedState = 0x1630; // EntitySpottedState_t + constexpr std::ptrdiff_t m_nSurvivalTeamNumber = 0x1648; // int32_t + constexpr std::ptrdiff_t m_bGuardianShouldSprayCustomXMark = 0x164C; // bool + constexpr std::ptrdiff_t m_bHasDeathInfo = 0x164D; // bool + constexpr std::ptrdiff_t m_flDeathInfoTime = 0x1650; // float + constexpr std::ptrdiff_t m_vecDeathInfoOrigin = 0x1654; // Vector + constexpr std::ptrdiff_t m_bKilledByHeadshot = 0x1660; // bool + constexpr std::ptrdiff_t m_hOriginalController = 0x1664; // CHandle +} + +namespace C_CSPlayerResource { // C_BaseEntity + constexpr std::ptrdiff_t m_bHostageAlive = 0x540; // bool[12] + constexpr std::ptrdiff_t m_isHostageFollowingSomeone = 0x54C; // bool[12] + constexpr std::ptrdiff_t m_iHostageEntityIDs = 0x558; // CEntityIndex[12] + constexpr std::ptrdiff_t m_bombsiteCenterA = 0x588; // Vector + constexpr std::ptrdiff_t m_bombsiteCenterB = 0x594; // Vector + constexpr std::ptrdiff_t m_hostageRescueX = 0x5A0; // int32_t[4] + constexpr std::ptrdiff_t m_hostageRescueY = 0x5B0; // int32_t[4] + constexpr std::ptrdiff_t m_hostageRescueZ = 0x5C0; // int32_t[4] + constexpr std::ptrdiff_t m_bEndMatchNextMapAllVoted = 0x5D0; // bool + constexpr std::ptrdiff_t m_foundGoalPositions = 0x5D1; // bool +} + +namespace C_CSTeam { // C_Team + constexpr std::ptrdiff_t m_szTeamMatchStat = 0x5F8; // char[512] + constexpr std::ptrdiff_t m_numMapVictories = 0x7F8; // int32_t + constexpr std::ptrdiff_t m_bSurrendered = 0x7FC; // bool + constexpr std::ptrdiff_t m_scoreFirstHalf = 0x800; // int32_t + constexpr std::ptrdiff_t m_scoreSecondHalf = 0x804; // int32_t + constexpr std::ptrdiff_t m_scoreOvertime = 0x808; // int32_t + constexpr std::ptrdiff_t m_szClanTeamname = 0x80C; // char[129] + constexpr std::ptrdiff_t m_iClanID = 0x890; // uint32_t + constexpr std::ptrdiff_t m_szTeamFlagImage = 0x894; // char[8] + constexpr std::ptrdiff_t m_szTeamLogoImage = 0x89C; // char[8] +} + +namespace C_CSWeaponBase { // C_BasePlayerWeapon + constexpr std::ptrdiff_t m_flFireSequenceStartTime = 0x15D0; // float + constexpr std::ptrdiff_t m_nFireSequenceStartTimeChange = 0x15D4; // int32_t + constexpr std::ptrdiff_t m_nFireSequenceStartTimeAck = 0x15D8; // int32_t + constexpr std::ptrdiff_t m_bPlayerFireEventIsPrimary = 0x15DC; // bool + constexpr std::ptrdiff_t m_seqIdle = 0x15E0; // HSequence + constexpr std::ptrdiff_t m_seqFirePrimary = 0x15E4; // HSequence + constexpr std::ptrdiff_t m_seqFireSecondary = 0x15E8; // HSequence + constexpr std::ptrdiff_t m_thirdPersonFireSequences = 0x15F0; // CUtlVector + constexpr std::ptrdiff_t m_hCurrentThirdPersonSequence = 0x1608; // HSequence + constexpr std::ptrdiff_t m_nSilencerBoneIndex = 0x160C; // int32_t + constexpr std::ptrdiff_t m_thirdPersonSequences = 0x1610; // HSequence[6] + constexpr std::ptrdiff_t m_ClientPreviousWeaponState = 0x1640; // CSWeaponState_t + constexpr std::ptrdiff_t m_iState = 0x1644; // CSWeaponState_t + constexpr std::ptrdiff_t m_flCrosshairDistance = 0x1648; // float + constexpr std::ptrdiff_t m_iAmmoLastCheck = 0x164C; // int32_t + constexpr std::ptrdiff_t m_iAlpha = 0x1650; // int32_t + constexpr std::ptrdiff_t m_iScopeTextureID = 0x1654; // int32_t + constexpr std::ptrdiff_t m_iCrosshairTextureID = 0x1658; // int32_t + constexpr std::ptrdiff_t m_flGunAccuracyPosition = 0x165C; // float + constexpr std::ptrdiff_t m_nViewModelIndex = 0x1660; // uint32_t + constexpr std::ptrdiff_t m_bReloadsWithClips = 0x1664; // bool + constexpr std::ptrdiff_t m_flTimeWeaponIdle = 0x1668; // GameTime_t + constexpr std::ptrdiff_t m_bFireOnEmpty = 0x166C; // bool + constexpr std::ptrdiff_t m_OnPlayerPickup = 0x1670; // CEntityIOOutput + constexpr std::ptrdiff_t m_weaponMode = 0x1698; // CSWeaponMode + constexpr std::ptrdiff_t m_flTurningInaccuracyDelta = 0x169C; // float + constexpr std::ptrdiff_t m_vecTurningInaccuracyEyeDirLast = 0x16A0; // Vector + constexpr std::ptrdiff_t m_flTurningInaccuracy = 0x16AC; // float + constexpr std::ptrdiff_t m_fAccuracyPenalty = 0x16B0; // float + constexpr std::ptrdiff_t m_flLastAccuracyUpdateTime = 0x16B4; // GameTime_t + constexpr std::ptrdiff_t m_fAccuracySmoothedForZoom = 0x16B8; // float + constexpr std::ptrdiff_t m_fScopeZoomEndTime = 0x16BC; // GameTime_t + constexpr std::ptrdiff_t m_iRecoilIndex = 0x16C0; // int32_t + constexpr std::ptrdiff_t m_flRecoilIndex = 0x16C4; // float + constexpr std::ptrdiff_t m_bBurstMode = 0x16C8; // bool + constexpr std::ptrdiff_t m_flPostponeFireReadyTime = 0x16CC; // GameTime_t + constexpr std::ptrdiff_t m_bInReload = 0x16D0; // bool + constexpr std::ptrdiff_t m_bReloadVisuallyComplete = 0x16D1; // bool + constexpr std::ptrdiff_t m_flDroppedAtTime = 0x16D4; // GameTime_t + constexpr std::ptrdiff_t m_bIsHauledBack = 0x16D8; // bool + constexpr std::ptrdiff_t m_bSilencerOn = 0x16D9; // bool + constexpr std::ptrdiff_t m_flTimeSilencerSwitchComplete = 0x16DC; // GameTime_t + constexpr std::ptrdiff_t m_iOriginalTeamNumber = 0x16E0; // int32_t + constexpr std::ptrdiff_t m_flNextAttackRenderTimeOffset = 0x16E4; // float + constexpr std::ptrdiff_t m_bVisualsDataSet = 0x1768; // bool + constexpr std::ptrdiff_t m_bOldFirstPersonSpectatedState = 0x1769; // bool + constexpr std::ptrdiff_t m_hOurPing = 0x176C; // CHandle + constexpr std::ptrdiff_t m_nOurPingIndex = 0x1770; // CEntityIndex + constexpr std::ptrdiff_t m_vecOurPingPos = 0x1774; // Vector + constexpr std::ptrdiff_t m_bGlowForPing = 0x1780; // bool + constexpr std::ptrdiff_t m_bUIWeapon = 0x1781; // bool + constexpr std::ptrdiff_t m_hPrevOwner = 0x1790; // CHandle + constexpr std::ptrdiff_t m_nDropTick = 0x1794; // GameTick_t + constexpr std::ptrdiff_t m_donated = 0x17B4; // bool + constexpr std::ptrdiff_t m_fLastShotTime = 0x17B8; // GameTime_t + constexpr std::ptrdiff_t m_bWasOwnedByCT = 0x17BC; // bool + constexpr std::ptrdiff_t m_bWasOwnedByTerrorist = 0x17BD; // bool + constexpr std::ptrdiff_t m_gunHeat = 0x17C0; // float + constexpr std::ptrdiff_t m_smokeAttachments = 0x17C4; // uint32_t + constexpr std::ptrdiff_t m_lastSmokeTime = 0x17C8; // GameTime_t + constexpr std::ptrdiff_t m_flNextClientFireBulletTime = 0x17CC; // float + constexpr std::ptrdiff_t m_flNextClientFireBulletTime_Repredict = 0x17D0; // float + constexpr std::ptrdiff_t m_IronSightController = 0x1890; // C_IronSightController + constexpr std::ptrdiff_t m_iIronSightMode = 0x1940; // int32_t + constexpr std::ptrdiff_t m_flLastLOSTraceFailureTime = 0x1950; // GameTime_t + constexpr std::ptrdiff_t m_iNumEmptyAttacks = 0x1954; // int32_t +} + +namespace C_CSWeaponBaseGun { // C_CSWeaponBase + constexpr std::ptrdiff_t m_zoomLevel = 0x1990; // int32_t + constexpr std::ptrdiff_t m_iBurstShotsRemaining = 0x1994; // int32_t + constexpr std::ptrdiff_t m_iSilencerBodygroup = 0x1998; // int32_t + constexpr std::ptrdiff_t m_silencedModelIndex = 0x19A8; // int32_t + constexpr std::ptrdiff_t m_inPrecache = 0x19AC; // bool + constexpr std::ptrdiff_t m_bNeedsBoltAction = 0x19AD; // bool +} + +namespace C_Chicken { // C_DynamicProp + constexpr std::ptrdiff_t m_hHolidayHatAddon = 0x10F0; // CHandle + constexpr std::ptrdiff_t m_jumpedThisFrame = 0x10F4; // bool + constexpr std::ptrdiff_t m_leader = 0x10F8; // CHandle + constexpr std::ptrdiff_t m_AttributeManager = 0x1100; // C_AttributeContainer + constexpr std::ptrdiff_t m_OriginalOwnerXuidLow = 0x15A8; // uint32_t + constexpr std::ptrdiff_t m_OriginalOwnerXuidHigh = 0x15AC; // uint32_t + constexpr std::ptrdiff_t m_bAttributesInitialized = 0x15B0; // bool + constexpr std::ptrdiff_t m_hWaterWakeParticles = 0x15B4; // ParticleIndex_t +} + +namespace C_ClientRagdoll { // CBaseAnimGraph + constexpr std::ptrdiff_t m_bFadeOut = 0xE80; // bool + constexpr std::ptrdiff_t m_bImportant = 0xE81; // bool + constexpr std::ptrdiff_t m_flEffectTime = 0xE84; // GameTime_t + constexpr std::ptrdiff_t m_gibDespawnTime = 0xE88; // GameTime_t + constexpr std::ptrdiff_t m_iCurrentFriction = 0xE8C; // int32_t + constexpr std::ptrdiff_t m_iMinFriction = 0xE90; // int32_t + constexpr std::ptrdiff_t m_iMaxFriction = 0xE94; // int32_t + constexpr std::ptrdiff_t m_iFrictionAnimState = 0xE98; // int32_t + constexpr std::ptrdiff_t m_bReleaseRagdoll = 0xE9C; // bool + constexpr std::ptrdiff_t m_iEyeAttachment = 0xE9D; // AttachmentHandle_t + constexpr std::ptrdiff_t m_bFadingOut = 0xE9E; // bool + constexpr std::ptrdiff_t m_flScaleEnd = 0xEA0; // float[10] + constexpr std::ptrdiff_t m_flScaleTimeStart = 0xEC8; // GameTime_t[10] + constexpr std::ptrdiff_t m_flScaleTimeEnd = 0xEF0; // GameTime_t[10] +} + +namespace C_ColorCorrection { // C_BaseEntity + constexpr std::ptrdiff_t m_vecOrigin = 0x540; // Vector + constexpr std::ptrdiff_t m_MinFalloff = 0x54C; // float + constexpr std::ptrdiff_t m_MaxFalloff = 0x550; // float + constexpr std::ptrdiff_t m_flFadeInDuration = 0x554; // float + constexpr std::ptrdiff_t m_flFadeOutDuration = 0x558; // float + constexpr std::ptrdiff_t m_flMaxWeight = 0x55C; // float + constexpr std::ptrdiff_t m_flCurWeight = 0x560; // float + constexpr std::ptrdiff_t m_netlookupFilename = 0x564; // char[512] + constexpr std::ptrdiff_t m_bEnabled = 0x764; // bool + constexpr std::ptrdiff_t m_bMaster = 0x765; // bool + constexpr std::ptrdiff_t m_bClientSide = 0x766; // bool + constexpr std::ptrdiff_t m_bExclusive = 0x767; // bool + constexpr std::ptrdiff_t m_bEnabledOnClient = 0x768; // bool[1] + constexpr std::ptrdiff_t m_flCurWeightOnClient = 0x76C; // float[1] + constexpr std::ptrdiff_t m_bFadingIn = 0x770; // bool[1] + constexpr std::ptrdiff_t m_flFadeStartWeight = 0x774; // float[1] + constexpr std::ptrdiff_t m_flFadeStartTime = 0x778; // float[1] + constexpr std::ptrdiff_t m_flFadeDuration = 0x77C; // float[1] +} + +namespace C_ColorCorrectionVolume { // C_BaseTrigger + constexpr std::ptrdiff_t m_LastEnterWeight = 0xCC8; // float + constexpr std::ptrdiff_t m_LastEnterTime = 0xCCC; // float + constexpr std::ptrdiff_t m_LastExitWeight = 0xCD0; // float + constexpr std::ptrdiff_t m_LastExitTime = 0xCD4; // float + constexpr std::ptrdiff_t m_bEnabled = 0xCD8; // bool + constexpr std::ptrdiff_t m_MaxWeight = 0xCDC; // float + constexpr std::ptrdiff_t m_FadeDuration = 0xCE0; // float + constexpr std::ptrdiff_t m_Weight = 0xCE4; // float + constexpr std::ptrdiff_t m_lookupFilename = 0xCE8; // char[512] +} + +namespace C_CommandContext { + constexpr std::ptrdiff_t needsprocessing = 0x0; // bool + constexpr std::ptrdiff_t command_number = 0x78; // int32_t +} + +namespace C_CsmFovOverride { // C_BaseEntity + constexpr std::ptrdiff_t m_cameraName = 0x540; // CUtlString + constexpr std::ptrdiff_t m_flCsmFovOverrideValue = 0x548; // float +} + +namespace C_DEagle { // C_CSWeaponBaseGun +} + +namespace C_DecoyGrenade { // C_BaseCSGrenade +} + +namespace C_DecoyProjectile { // C_BaseCSGrenadeProjectile + constexpr std::ptrdiff_t m_nDecoyShotTick = 0x10F0; // int32_t + constexpr std::ptrdiff_t m_nClientLastKnownDecoyShotTick = 0x10F4; // int32_t + constexpr std::ptrdiff_t m_flTimeParticleEffectSpawn = 0x1118; // GameTime_t +} + +namespace C_DynamicLight { // C_BaseModelEntity + constexpr std::ptrdiff_t m_Flags = 0xCC0; // uint8_t + constexpr std::ptrdiff_t m_LightStyle = 0xCC1; // uint8_t + constexpr std::ptrdiff_t m_Radius = 0xCC4; // float + constexpr std::ptrdiff_t m_Exponent = 0xCC8; // int32_t + constexpr std::ptrdiff_t m_InnerAngle = 0xCCC; // float + constexpr std::ptrdiff_t m_OuterAngle = 0xCD0; // float + constexpr std::ptrdiff_t m_SpotRadius = 0xCD4; // float +} + +namespace C_DynamicProp { // C_BreakableProp + constexpr std::ptrdiff_t m_bUseHitboxesForRenderBox = 0xFD0; // bool + constexpr std::ptrdiff_t m_bUseAnimGraph = 0xFD1; // bool + constexpr std::ptrdiff_t m_pOutputAnimBegun = 0xFD8; // CEntityIOOutput + constexpr std::ptrdiff_t m_pOutputAnimOver = 0x1000; // CEntityIOOutput + constexpr std::ptrdiff_t m_pOutputAnimLoopCycleOver = 0x1028; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAnimReachedStart = 0x1050; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAnimReachedEnd = 0x1078; // CEntityIOOutput + constexpr std::ptrdiff_t m_iszDefaultAnim = 0x10A0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nDefaultAnimLoopMode = 0x10A8; // AnimLoopMode_t + constexpr std::ptrdiff_t m_bAnimateOnServer = 0x10AC; // bool + constexpr std::ptrdiff_t m_bRandomizeCycle = 0x10AD; // bool + constexpr std::ptrdiff_t m_bStartDisabled = 0x10AE; // bool + constexpr std::ptrdiff_t m_bScriptedMovement = 0x10AF; // bool + constexpr std::ptrdiff_t m_bFiredStartEndOutput = 0x10B0; // bool + constexpr std::ptrdiff_t m_bForceNpcExclude = 0x10B1; // bool + constexpr std::ptrdiff_t m_bCreateNonSolid = 0x10B2; // bool + constexpr std::ptrdiff_t m_bIsOverrideProp = 0x10B3; // bool + constexpr std::ptrdiff_t m_iInitialGlowState = 0x10B4; // int32_t + constexpr std::ptrdiff_t m_nGlowRange = 0x10B8; // int32_t + constexpr std::ptrdiff_t m_nGlowRangeMin = 0x10BC; // int32_t + constexpr std::ptrdiff_t m_glowColor = 0x10C0; // Color + constexpr std::ptrdiff_t m_nGlowTeam = 0x10C4; // int32_t + constexpr std::ptrdiff_t m_iCachedFrameCount = 0x10C8; // int32_t + constexpr std::ptrdiff_t m_vecCachedRenderMins = 0x10CC; // Vector + constexpr std::ptrdiff_t m_vecCachedRenderMaxs = 0x10D8; // Vector +} + +namespace C_DynamicPropAlias_cable_dynamic { // C_DynamicProp +} + +namespace C_DynamicPropAlias_dynamic_prop { // C_DynamicProp +} + +namespace C_DynamicPropAlias_prop_dynamic_override { // C_DynamicProp +} + +namespace C_EconEntity { // C_BaseFlex + constexpr std::ptrdiff_t m_flFlexDelayTime = 0x1028; // float + constexpr std::ptrdiff_t m_flFlexDelayedWeight = 0x1030; // float* + constexpr std::ptrdiff_t m_bAttributesInitialized = 0x1038; // bool + constexpr std::ptrdiff_t m_AttributeManager = 0x1040; // C_AttributeContainer + constexpr std::ptrdiff_t m_OriginalOwnerXuidLow = 0x14E8; // uint32_t + constexpr std::ptrdiff_t m_OriginalOwnerXuidHigh = 0x14EC; // uint32_t + constexpr std::ptrdiff_t m_nFallbackPaintKit = 0x14F0; // int32_t + constexpr std::ptrdiff_t m_nFallbackSeed = 0x14F4; // int32_t + constexpr std::ptrdiff_t m_flFallbackWear = 0x14F8; // float + constexpr std::ptrdiff_t m_nFallbackStatTrak = 0x14FC; // int32_t + constexpr std::ptrdiff_t m_bClientside = 0x1500; // bool + constexpr std::ptrdiff_t m_bParticleSystemsCreated = 0x1501; // bool + constexpr std::ptrdiff_t m_vecAttachedParticles = 0x1508; // CUtlVector + constexpr std::ptrdiff_t m_hViewmodelAttachment = 0x1520; // CHandle + constexpr std::ptrdiff_t m_iOldTeam = 0x1524; // int32_t + constexpr std::ptrdiff_t m_bAttachmentDirty = 0x1528; // bool + constexpr std::ptrdiff_t m_nUnloadedModelIndex = 0x152C; // int32_t + constexpr std::ptrdiff_t m_iNumOwnerValidationRetries = 0x1530; // int32_t + constexpr std::ptrdiff_t m_hOldProvidee = 0x1540; // CHandle + constexpr std::ptrdiff_t m_vecAttachedModels = 0x1548; // CUtlVector +} + +namespace C_EconEntity_AttachedModelData_t { + constexpr std::ptrdiff_t m_iModelDisplayFlags = 0x0; // int32_t +} + +namespace C_EconItemView { // IEconItemInterface + constexpr std::ptrdiff_t m_bInventoryImageRgbaRequested = 0x60; // bool + constexpr std::ptrdiff_t m_bInventoryImageTriedCache = 0x61; // bool + constexpr std::ptrdiff_t m_nInventoryImageRgbaWidth = 0x80; // int32_t + constexpr std::ptrdiff_t m_nInventoryImageRgbaHeight = 0x84; // int32_t + constexpr std::ptrdiff_t m_szCurrentLoadCachedFileName = 0x88; // char[260] + constexpr std::ptrdiff_t m_bRestoreCustomMaterialAfterPrecache = 0x1B8; // bool + constexpr std::ptrdiff_t m_iItemDefinitionIndex = 0x1BA; // uint16_t + constexpr std::ptrdiff_t m_iEntityQuality = 0x1BC; // int32_t + constexpr std::ptrdiff_t m_iEntityLevel = 0x1C0; // uint32_t + constexpr std::ptrdiff_t m_iItemID = 0x1C8; // uint64_t + constexpr std::ptrdiff_t m_iItemIDHigh = 0x1D0; // uint32_t + constexpr std::ptrdiff_t m_iItemIDLow = 0x1D4; // uint32_t + constexpr std::ptrdiff_t m_iAccountID = 0x1D8; // uint32_t + constexpr std::ptrdiff_t m_iInventoryPosition = 0x1DC; // uint32_t + constexpr std::ptrdiff_t m_bInitialized = 0x1E8; // bool + constexpr std::ptrdiff_t m_bIsStoreItem = 0x1E9; // bool + constexpr std::ptrdiff_t m_bIsTradeItem = 0x1EA; // bool + constexpr std::ptrdiff_t m_iEntityQuantity = 0x1EC; // int32_t + constexpr std::ptrdiff_t m_iRarityOverride = 0x1F0; // int32_t + constexpr std::ptrdiff_t m_iQualityOverride = 0x1F4; // int32_t + constexpr std::ptrdiff_t m_unClientFlags = 0x1F8; // uint8_t + constexpr std::ptrdiff_t m_unOverrideStyle = 0x1F9; // uint8_t + constexpr std::ptrdiff_t m_AttributeList = 0x210; // CAttributeList + constexpr std::ptrdiff_t m_NetworkedDynamicAttributes = 0x270; // CAttributeList + constexpr std::ptrdiff_t m_szCustomName = 0x2D0; // char[161] + constexpr std::ptrdiff_t m_szCustomNameOverride = 0x371; // char[161] + constexpr std::ptrdiff_t m_bInitializedTags = 0x440; // bool +} + +namespace C_EconWearable { // C_EconEntity + constexpr std::ptrdiff_t m_nForceSkin = 0x1560; // int32_t + constexpr std::ptrdiff_t m_bAlwaysAllow = 0x1564; // bool +} + +namespace C_EntityDissolve { // C_BaseModelEntity + constexpr std::ptrdiff_t m_flStartTime = 0xCC8; // GameTime_t + constexpr std::ptrdiff_t m_flFadeInStart = 0xCCC; // float + constexpr std::ptrdiff_t m_flFadeInLength = 0xCD0; // float + constexpr std::ptrdiff_t m_flFadeOutModelStart = 0xCD4; // float + constexpr std::ptrdiff_t m_flFadeOutModelLength = 0xCD8; // float + constexpr std::ptrdiff_t m_flFadeOutStart = 0xCDC; // float + constexpr std::ptrdiff_t m_flFadeOutLength = 0xCE0; // float + constexpr std::ptrdiff_t m_flNextSparkTime = 0xCE4; // GameTime_t + constexpr std::ptrdiff_t m_nDissolveType = 0xCE8; // EntityDisolveType_t + constexpr std::ptrdiff_t m_vDissolverOrigin = 0xCEC; // Vector + constexpr std::ptrdiff_t m_nMagnitude = 0xCF8; // uint32_t + constexpr std::ptrdiff_t m_bCoreExplode = 0xCFC; // bool + constexpr std::ptrdiff_t m_bLinkedToServerEnt = 0xCFD; // bool +} + +namespace C_EntityFlame { // C_BaseEntity + constexpr std::ptrdiff_t m_hEntAttached = 0x540; // CHandle + constexpr std::ptrdiff_t m_hOldAttached = 0x568; // CHandle + constexpr std::ptrdiff_t m_bCheapEffect = 0x56C; // bool +} + +namespace C_EnvCombinedLightProbeVolume { // C_BaseEntity + constexpr std::ptrdiff_t m_Color = 0x1598; // Color + constexpr std::ptrdiff_t m_flBrightness = 0x159C; // float + constexpr std::ptrdiff_t m_hCubemapTexture = 0x15A0; // CStrongHandle + constexpr std::ptrdiff_t m_bCustomCubemapTexture = 0x15A8; // bool + constexpr std::ptrdiff_t m_hLightProbeTexture = 0x15B0; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightIndicesTexture = 0x15B8; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightScalarsTexture = 0x15C0; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightShadowsTexture = 0x15C8; // CStrongHandle + constexpr std::ptrdiff_t m_vBoxMins = 0x15D0; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x15DC; // Vector + constexpr std::ptrdiff_t m_bMoveable = 0x15E8; // bool + constexpr std::ptrdiff_t m_nHandshake = 0x15EC; // int32_t + constexpr std::ptrdiff_t m_nEnvCubeMapArrayIndex = 0x15F0; // int32_t + constexpr std::ptrdiff_t m_nPriority = 0x15F4; // int32_t + constexpr std::ptrdiff_t m_bStartDisabled = 0x15F8; // bool + constexpr std::ptrdiff_t m_flEdgeFadeDist = 0x15FC; // float + constexpr std::ptrdiff_t m_vEdgeFadeDists = 0x1600; // Vector + constexpr std::ptrdiff_t m_nLightProbeSizeX = 0x160C; // int32_t + constexpr std::ptrdiff_t m_nLightProbeSizeY = 0x1610; // int32_t + constexpr std::ptrdiff_t m_nLightProbeSizeZ = 0x1614; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasX = 0x1618; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasY = 0x161C; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasZ = 0x1620; // int32_t + constexpr std::ptrdiff_t m_bEnabled = 0x1639; // bool +} + +namespace C_EnvCubemap { // C_BaseEntity + constexpr std::ptrdiff_t m_hCubemapTexture = 0x5C0; // CStrongHandle + constexpr std::ptrdiff_t m_bCustomCubemapTexture = 0x5C8; // bool + constexpr std::ptrdiff_t m_flInfluenceRadius = 0x5CC; // float + constexpr std::ptrdiff_t m_vBoxProjectMins = 0x5D0; // Vector + constexpr std::ptrdiff_t m_vBoxProjectMaxs = 0x5DC; // Vector + constexpr std::ptrdiff_t m_bMoveable = 0x5E8; // bool + constexpr std::ptrdiff_t m_nHandshake = 0x5EC; // int32_t + constexpr std::ptrdiff_t m_nEnvCubeMapArrayIndex = 0x5F0; // int32_t + constexpr std::ptrdiff_t m_nPriority = 0x5F4; // int32_t + constexpr std::ptrdiff_t m_flEdgeFadeDist = 0x5F8; // float + constexpr std::ptrdiff_t m_vEdgeFadeDists = 0x5FC; // Vector + constexpr std::ptrdiff_t m_flDiffuseScale = 0x608; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x60C; // bool + constexpr std::ptrdiff_t m_bDefaultEnvMap = 0x60D; // bool + constexpr std::ptrdiff_t m_bDefaultSpecEnvMap = 0x60E; // bool + constexpr std::ptrdiff_t m_bIndoorCubeMap = 0x60F; // bool + constexpr std::ptrdiff_t m_bCopyDiffuseFromDefaultCubemap = 0x610; // bool + constexpr std::ptrdiff_t m_bEnabled = 0x620; // bool +} + +namespace C_EnvCubemapBox { // C_EnvCubemap +} + +namespace C_EnvCubemapFog { // C_BaseEntity + constexpr std::ptrdiff_t m_flEndDistance = 0x540; // float + constexpr std::ptrdiff_t m_flStartDistance = 0x544; // float + constexpr std::ptrdiff_t m_flFogFalloffExponent = 0x548; // float + constexpr std::ptrdiff_t m_bHeightFogEnabled = 0x54C; // bool + constexpr std::ptrdiff_t m_flFogHeightWidth = 0x550; // float + constexpr std::ptrdiff_t m_flFogHeightEnd = 0x554; // float + constexpr std::ptrdiff_t m_flFogHeightStart = 0x558; // float + constexpr std::ptrdiff_t m_flFogHeightExponent = 0x55C; // float + constexpr std::ptrdiff_t m_flLODBias = 0x560; // float + constexpr std::ptrdiff_t m_bActive = 0x564; // bool + constexpr std::ptrdiff_t m_bStartDisabled = 0x565; // bool + constexpr std::ptrdiff_t m_flFogMaxOpacity = 0x568; // float + constexpr std::ptrdiff_t m_nCubemapSourceType = 0x56C; // int32_t + constexpr std::ptrdiff_t m_hSkyMaterial = 0x570; // CStrongHandle + constexpr std::ptrdiff_t m_iszSkyEntity = 0x578; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hFogCubemapTexture = 0x580; // CStrongHandle + constexpr std::ptrdiff_t m_bHasHeightFogEnd = 0x588; // bool + constexpr std::ptrdiff_t m_bFirstTime = 0x589; // bool +} + +namespace C_EnvDecal { // C_BaseModelEntity + constexpr std::ptrdiff_t m_hDecalMaterial = 0xCC0; // CStrongHandle + constexpr std::ptrdiff_t m_flWidth = 0xCC8; // float + constexpr std::ptrdiff_t m_flHeight = 0xCCC; // float + constexpr std::ptrdiff_t m_flDepth = 0xCD0; // float + constexpr std::ptrdiff_t m_nRenderOrder = 0xCD4; // uint32_t + constexpr std::ptrdiff_t m_bProjectOnWorld = 0xCD8; // bool + constexpr std::ptrdiff_t m_bProjectOnCharacters = 0xCD9; // bool + constexpr std::ptrdiff_t m_bProjectOnWater = 0xCDA; // bool + constexpr std::ptrdiff_t m_flDepthSortBias = 0xCDC; // float +} + +namespace C_EnvDetailController { // C_BaseEntity + constexpr std::ptrdiff_t m_flFadeStartDist = 0x540; // float + constexpr std::ptrdiff_t m_flFadeEndDist = 0x544; // float +} + +namespace C_EnvLightProbeVolume { // C_BaseEntity + constexpr std::ptrdiff_t m_hLightProbeTexture = 0x1518; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightIndicesTexture = 0x1520; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightScalarsTexture = 0x1528; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightShadowsTexture = 0x1530; // CStrongHandle + constexpr std::ptrdiff_t m_vBoxMins = 0x1538; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x1544; // Vector + constexpr std::ptrdiff_t m_bMoveable = 0x1550; // bool + constexpr std::ptrdiff_t m_nHandshake = 0x1554; // int32_t + constexpr std::ptrdiff_t m_nPriority = 0x1558; // int32_t + constexpr std::ptrdiff_t m_bStartDisabled = 0x155C; // bool + constexpr std::ptrdiff_t m_nLightProbeSizeX = 0x1560; // int32_t + constexpr std::ptrdiff_t m_nLightProbeSizeY = 0x1564; // int32_t + constexpr std::ptrdiff_t m_nLightProbeSizeZ = 0x1568; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasX = 0x156C; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasY = 0x1570; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasZ = 0x1574; // int32_t + constexpr std::ptrdiff_t m_bEnabled = 0x1581; // bool +} + +namespace C_EnvParticleGlow { // C_ParticleSystem + constexpr std::ptrdiff_t m_flAlphaScale = 0x1270; // float + constexpr std::ptrdiff_t m_flRadiusScale = 0x1274; // float + constexpr std::ptrdiff_t m_flSelfIllumScale = 0x1278; // float + constexpr std::ptrdiff_t m_ColorTint = 0x127C; // Color + constexpr std::ptrdiff_t m_hTextureOverride = 0x1280; // CStrongHandle +} + +namespace C_EnvProjectedTexture { // C_ModelPointEntity +} + +namespace C_EnvScreenOverlay { // C_PointEntity + constexpr std::ptrdiff_t m_iszOverlayNames = 0x540; // CUtlSymbolLarge[10] + constexpr std::ptrdiff_t m_flOverlayTimes = 0x590; // float[10] + constexpr std::ptrdiff_t m_flStartTime = 0x5B8; // GameTime_t + constexpr std::ptrdiff_t m_iDesiredOverlay = 0x5BC; // int32_t + constexpr std::ptrdiff_t m_bIsActive = 0x5C0; // bool + constexpr std::ptrdiff_t m_bWasActive = 0x5C1; // bool + constexpr std::ptrdiff_t m_iCachedDesiredOverlay = 0x5C4; // int32_t + constexpr std::ptrdiff_t m_iCurrentOverlay = 0x5C8; // int32_t + constexpr std::ptrdiff_t m_flCurrentOverlayTime = 0x5CC; // GameTime_t +} + +namespace C_EnvSky { // C_BaseModelEntity + constexpr std::ptrdiff_t m_hSkyMaterial = 0xCC0; // CStrongHandle + constexpr std::ptrdiff_t m_hSkyMaterialLightingOnly = 0xCC8; // CStrongHandle + constexpr std::ptrdiff_t m_bStartDisabled = 0xCD0; // bool + constexpr std::ptrdiff_t m_vTintColor = 0xCD1; // Color + constexpr std::ptrdiff_t m_vTintColorLightingOnly = 0xCD5; // Color + constexpr std::ptrdiff_t m_flBrightnessScale = 0xCDC; // float + constexpr std::ptrdiff_t m_nFogType = 0xCE0; // int32_t + constexpr std::ptrdiff_t m_flFogMinStart = 0xCE4; // float + constexpr std::ptrdiff_t m_flFogMinEnd = 0xCE8; // float + constexpr std::ptrdiff_t m_flFogMaxStart = 0xCEC; // float + constexpr std::ptrdiff_t m_flFogMaxEnd = 0xCF0; // float + constexpr std::ptrdiff_t m_bEnabled = 0xCF4; // bool +} + +namespace C_EnvVolumetricFogController { // C_BaseEntity + constexpr std::ptrdiff_t m_flScattering = 0x540; // float + constexpr std::ptrdiff_t m_flAnisotropy = 0x544; // float + constexpr std::ptrdiff_t m_flFadeSpeed = 0x548; // float + constexpr std::ptrdiff_t m_flDrawDistance = 0x54C; // float + constexpr std::ptrdiff_t m_flFadeInStart = 0x550; // float + constexpr std::ptrdiff_t m_flFadeInEnd = 0x554; // float + constexpr std::ptrdiff_t m_flIndirectStrength = 0x558; // float + constexpr std::ptrdiff_t m_nIndirectTextureDimX = 0x55C; // int32_t + constexpr std::ptrdiff_t m_nIndirectTextureDimY = 0x560; // int32_t + constexpr std::ptrdiff_t m_nIndirectTextureDimZ = 0x564; // int32_t + constexpr std::ptrdiff_t m_vBoxMins = 0x568; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x574; // Vector + constexpr std::ptrdiff_t m_bActive = 0x580; // bool + constexpr std::ptrdiff_t m_flStartAnisoTime = 0x584; // GameTime_t + constexpr std::ptrdiff_t m_flStartScatterTime = 0x588; // GameTime_t + constexpr std::ptrdiff_t m_flStartDrawDistanceTime = 0x58C; // GameTime_t + constexpr std::ptrdiff_t m_flStartAnisotropy = 0x590; // float + constexpr std::ptrdiff_t m_flStartScattering = 0x594; // float + constexpr std::ptrdiff_t m_flStartDrawDistance = 0x598; // float + constexpr std::ptrdiff_t m_flDefaultAnisotropy = 0x59C; // float + constexpr std::ptrdiff_t m_flDefaultScattering = 0x5A0; // float + constexpr std::ptrdiff_t m_flDefaultDrawDistance = 0x5A4; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x5A8; // bool + constexpr std::ptrdiff_t m_bEnableIndirect = 0x5A9; // bool + constexpr std::ptrdiff_t m_bIsMaster = 0x5AA; // bool + constexpr std::ptrdiff_t m_hFogIndirectTexture = 0x5B0; // CStrongHandle + constexpr std::ptrdiff_t m_nForceRefreshCount = 0x5B8; // int32_t + constexpr std::ptrdiff_t m_bFirstTime = 0x5BC; // bool +} + +namespace C_EnvVolumetricFogVolume { // C_BaseEntity + constexpr std::ptrdiff_t m_bActive = 0x540; // bool + constexpr std::ptrdiff_t m_vBoxMins = 0x544; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x550; // Vector + constexpr std::ptrdiff_t m_bStartDisabled = 0x55C; // bool + constexpr std::ptrdiff_t m_flStrength = 0x560; // float + constexpr std::ptrdiff_t m_nFalloffShape = 0x564; // int32_t + constexpr std::ptrdiff_t m_flFalloffExponent = 0x568; // float +} + +namespace C_EnvWind { // C_BaseEntity + constexpr std::ptrdiff_t m_EnvWindShared = 0x540; // C_EnvWindShared +} + +namespace C_EnvWindClientside { // C_BaseEntity + constexpr std::ptrdiff_t m_EnvWindShared = 0x540; // C_EnvWindShared +} + +namespace C_EnvWindShared { + constexpr std::ptrdiff_t m_flStartTime = 0x8; // GameTime_t + constexpr std::ptrdiff_t m_iWindSeed = 0xC; // uint32_t + constexpr std::ptrdiff_t m_iMinWind = 0x10; // uint16_t + constexpr std::ptrdiff_t m_iMaxWind = 0x12; // uint16_t + constexpr std::ptrdiff_t m_windRadius = 0x14; // int32_t + constexpr std::ptrdiff_t m_iMinGust = 0x18; // uint16_t + constexpr std::ptrdiff_t m_iMaxGust = 0x1A; // uint16_t + constexpr std::ptrdiff_t m_flMinGustDelay = 0x1C; // float + constexpr std::ptrdiff_t m_flMaxGustDelay = 0x20; // float + constexpr std::ptrdiff_t m_flGustDuration = 0x24; // float + constexpr std::ptrdiff_t m_iGustDirChange = 0x28; // uint16_t + constexpr std::ptrdiff_t m_location = 0x2C; // Vector + constexpr std::ptrdiff_t m_iszGustSound = 0x38; // int32_t + constexpr std::ptrdiff_t m_iWindDir = 0x3C; // int32_t + constexpr std::ptrdiff_t m_flWindSpeed = 0x40; // float + constexpr std::ptrdiff_t m_currentWindVector = 0x44; // Vector + constexpr std::ptrdiff_t m_CurrentSwayVector = 0x50; // Vector + constexpr std::ptrdiff_t m_PrevSwayVector = 0x5C; // Vector + constexpr std::ptrdiff_t m_iInitialWindDir = 0x68; // uint16_t + constexpr std::ptrdiff_t m_flInitialWindSpeed = 0x6C; // float + constexpr std::ptrdiff_t m_flVariationTime = 0x70; // GameTime_t + constexpr std::ptrdiff_t m_flSwayTime = 0x74; // GameTime_t + constexpr std::ptrdiff_t m_flSimTime = 0x78; // GameTime_t + constexpr std::ptrdiff_t m_flSwitchTime = 0x7C; // GameTime_t + constexpr std::ptrdiff_t m_flAveWindSpeed = 0x80; // float + constexpr std::ptrdiff_t m_bGusting = 0x84; // bool + constexpr std::ptrdiff_t m_flWindAngleVariation = 0x88; // float + constexpr std::ptrdiff_t m_flWindSpeedVariation = 0x8C; // float + constexpr std::ptrdiff_t m_iEntIndex = 0x90; // CEntityIndex +} + +namespace C_EnvWindShared_WindAveEvent_t { + constexpr std::ptrdiff_t m_flStartWindSpeed = 0x0; // float + constexpr std::ptrdiff_t m_flAveWindSpeed = 0x4; // float +} + +namespace C_EnvWindShared_WindVariationEvent_t { + constexpr std::ptrdiff_t m_flWindAngleVariation = 0x0; // float + constexpr std::ptrdiff_t m_flWindSpeedVariation = 0x4; // float +} + +namespace C_FireCrackerBlast { // C_Inferno +} + +namespace C_FireFromAboveSprite { // C_Sprite +} + +namespace C_FireSmoke { // C_BaseFire + constexpr std::ptrdiff_t m_nFlameModelIndex = 0x550; // int32_t + constexpr std::ptrdiff_t m_nFlameFromAboveModelIndex = 0x554; // int32_t + constexpr std::ptrdiff_t m_flScaleRegister = 0x558; // float + constexpr std::ptrdiff_t m_flScaleStart = 0x55C; // float + constexpr std::ptrdiff_t m_flScaleEnd = 0x560; // float + constexpr std::ptrdiff_t m_flScaleTimeStart = 0x564; // GameTime_t + constexpr std::ptrdiff_t m_flScaleTimeEnd = 0x568; // GameTime_t + constexpr std::ptrdiff_t m_flChildFlameSpread = 0x56C; // float + constexpr std::ptrdiff_t m_flClipPerc = 0x580; // float + constexpr std::ptrdiff_t m_bClipTested = 0x584; // bool + constexpr std::ptrdiff_t m_bFadingOut = 0x585; // bool + constexpr std::ptrdiff_t m_tParticleSpawn = 0x588; // TimedEvent + constexpr std::ptrdiff_t m_pFireOverlay = 0x590; // CFireOverlay* +} + +namespace C_FireSprite { // C_Sprite + constexpr std::ptrdiff_t m_vecMoveDir = 0xDF0; // Vector + constexpr std::ptrdiff_t m_bFadeFromAbove = 0xDFC; // bool +} + +namespace C_Fish { // CBaseAnimGraph + constexpr std::ptrdiff_t m_pos = 0xE80; // Vector + constexpr std::ptrdiff_t m_vel = 0xE8C; // Vector + constexpr std::ptrdiff_t m_angles = 0xE98; // QAngle + constexpr std::ptrdiff_t m_localLifeState = 0xEA4; // int32_t + constexpr std::ptrdiff_t m_deathDepth = 0xEA8; // float + constexpr std::ptrdiff_t m_deathAngle = 0xEAC; // float + constexpr std::ptrdiff_t m_buoyancy = 0xEB0; // float + constexpr std::ptrdiff_t m_wiggleTimer = 0xEB8; // CountdownTimer + constexpr std::ptrdiff_t m_wigglePhase = 0xED0; // float + constexpr std::ptrdiff_t m_wiggleRate = 0xED4; // float + constexpr std::ptrdiff_t m_actualPos = 0xED8; // Vector + constexpr std::ptrdiff_t m_actualAngles = 0xEE4; // QAngle + constexpr std::ptrdiff_t m_poolOrigin = 0xEF0; // Vector + constexpr std::ptrdiff_t m_waterLevel = 0xEFC; // float + constexpr std::ptrdiff_t m_gotUpdate = 0xF00; // bool + constexpr std::ptrdiff_t m_x = 0xF04; // float + constexpr std::ptrdiff_t m_y = 0xF08; // float + constexpr std::ptrdiff_t m_z = 0xF0C; // float + constexpr std::ptrdiff_t m_angle = 0xF10; // float + constexpr std::ptrdiff_t m_errorHistory = 0xF14; // float[20] + constexpr std::ptrdiff_t m_errorHistoryIndex = 0xF64; // int32_t + constexpr std::ptrdiff_t m_errorHistoryCount = 0xF68; // int32_t + constexpr std::ptrdiff_t m_averageError = 0xF6C; // float +} + +namespace C_Fists { // C_CSWeaponBase + constexpr std::ptrdiff_t m_bPlayingUninterruptableAct = 0x1990; // bool + constexpr std::ptrdiff_t m_nUninterruptableActivity = 0x1994; // PlayerAnimEvent_t +} + +namespace C_Flashbang { // C_BaseCSGrenade +} + +namespace C_FlashbangProjectile { // C_BaseCSGrenadeProjectile +} + +namespace C_FogController { // C_BaseEntity + constexpr std::ptrdiff_t m_fog = 0x540; // fogparams_t + constexpr std::ptrdiff_t m_bUseAngles = 0x5A8; // bool + constexpr std::ptrdiff_t m_iChangedVariables = 0x5AC; // int32_t +} + +namespace C_FootstepControl { // C_BaseTrigger + constexpr std::ptrdiff_t m_source = 0xCC8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_destination = 0xCD0; // CUtlSymbolLarge +} + +namespace C_FuncBrush { // C_BaseModelEntity +} + +namespace C_FuncConveyor { // C_BaseModelEntity + constexpr std::ptrdiff_t m_vecMoveDirEntitySpace = 0xCC8; // Vector + constexpr std::ptrdiff_t m_flTargetSpeed = 0xCD4; // float + constexpr std::ptrdiff_t m_nTransitionStartTick = 0xCD8; // GameTick_t + constexpr std::ptrdiff_t m_nTransitionDurationTicks = 0xCDC; // int32_t + constexpr std::ptrdiff_t m_flTransitionStartSpeed = 0xCE0; // float + constexpr std::ptrdiff_t m_hConveyorModels = 0xCE8; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_flCurrentConveyorOffset = 0xD00; // float + constexpr std::ptrdiff_t m_flCurrentConveyorSpeed = 0xD04; // float +} + +namespace C_FuncElectrifiedVolume { // C_FuncBrush + constexpr std::ptrdiff_t m_nAmbientEffect = 0xCC0; // ParticleIndex_t + constexpr std::ptrdiff_t m_EffectName = 0xCC8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bState = 0xCD0; // bool +} + +namespace C_FuncLadder { // C_BaseModelEntity + constexpr std::ptrdiff_t m_vecLadderDir = 0xCC0; // Vector + constexpr std::ptrdiff_t m_Dismounts = 0xCD0; // CUtlVector> + constexpr std::ptrdiff_t m_vecLocalTop = 0xCE8; // Vector + constexpr std::ptrdiff_t m_vecPlayerMountPositionTop = 0xCF4; // Vector + constexpr std::ptrdiff_t m_vecPlayerMountPositionBottom = 0xD00; // Vector + constexpr std::ptrdiff_t m_flAutoRideSpeed = 0xD0C; // float + constexpr std::ptrdiff_t m_bDisabled = 0xD10; // bool + constexpr std::ptrdiff_t m_bFakeLadder = 0xD11; // bool + constexpr std::ptrdiff_t m_bHasSlack = 0xD12; // bool +} + +namespace C_FuncMonitor { // C_FuncBrush + constexpr std::ptrdiff_t m_targetCamera = 0xCC0; // CUtlString + constexpr std::ptrdiff_t m_nResolutionEnum = 0xCC8; // int32_t + constexpr std::ptrdiff_t m_bRenderShadows = 0xCCC; // bool + constexpr std::ptrdiff_t m_bUseUniqueColorTarget = 0xCCD; // bool + constexpr std::ptrdiff_t m_brushModelName = 0xCD0; // CUtlString + constexpr std::ptrdiff_t m_hTargetCamera = 0xCD8; // CHandle + constexpr std::ptrdiff_t m_bEnabled = 0xCDC; // bool + constexpr std::ptrdiff_t m_bDraw3DSkybox = 0xCDD; // bool +} + +namespace C_FuncMoveLinear { // C_BaseToggle +} + +namespace C_FuncRotating { // C_BaseModelEntity +} + +namespace C_FuncTrackTrain { // C_BaseModelEntity + constexpr std::ptrdiff_t m_nLongAxis = 0xCC0; // int32_t + constexpr std::ptrdiff_t m_flRadius = 0xCC4; // float + constexpr std::ptrdiff_t m_flLineLength = 0xCC8; // float +} + +namespace C_GameRules { +} + +namespace C_GameRulesProxy { // C_BaseEntity +} + +namespace C_GlobalLight { // C_BaseEntity + constexpr std::ptrdiff_t m_WindClothForceHandle = 0xA00; // uint16_t +} + +namespace C_GradientFog { // C_BaseEntity + constexpr std::ptrdiff_t m_hGradientFogTexture = 0x540; // CStrongHandle + constexpr std::ptrdiff_t m_flFogStartDistance = 0x548; // float + constexpr std::ptrdiff_t m_flFogEndDistance = 0x54C; // float + constexpr std::ptrdiff_t m_bHeightFogEnabled = 0x550; // bool + constexpr std::ptrdiff_t m_flFogStartHeight = 0x554; // float + constexpr std::ptrdiff_t m_flFogEndHeight = 0x558; // float + constexpr std::ptrdiff_t m_flFarZ = 0x55C; // float + constexpr std::ptrdiff_t m_flFogMaxOpacity = 0x560; // float + constexpr std::ptrdiff_t m_flFogFalloffExponent = 0x564; // float + constexpr std::ptrdiff_t m_flFogVerticalExponent = 0x568; // float + constexpr std::ptrdiff_t m_fogColor = 0x56C; // Color + constexpr std::ptrdiff_t m_flFogStrength = 0x570; // float + constexpr std::ptrdiff_t m_flFadeTime = 0x574; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x578; // bool + constexpr std::ptrdiff_t m_bIsEnabled = 0x579; // bool + constexpr std::ptrdiff_t m_bGradientFogNeedsTextures = 0x57A; // bool +} + +namespace C_HEGrenade { // C_BaseCSGrenade +} + +namespace C_HEGrenadeProjectile { // C_BaseCSGrenadeProjectile +} + +namespace C_HandleTest { // C_BaseEntity + constexpr std::ptrdiff_t m_Handle = 0x540; // CHandle + constexpr std::ptrdiff_t m_bSendHandle = 0x544; // bool +} + +namespace C_Hostage { // C_BaseCombatCharacter + constexpr std::ptrdiff_t m_entitySpottedState = 0x10A8; // EntitySpottedState_t + constexpr std::ptrdiff_t m_leader = 0x10C0; // CHandle + constexpr std::ptrdiff_t m_reuseTimer = 0x10C8; // CountdownTimer + constexpr std::ptrdiff_t m_vel = 0x10E0; // Vector + constexpr std::ptrdiff_t m_isRescued = 0x10EC; // bool + constexpr std::ptrdiff_t m_jumpedThisFrame = 0x10ED; // bool + constexpr std::ptrdiff_t m_nHostageState = 0x10F0; // int32_t + constexpr std::ptrdiff_t m_bHandsHaveBeenCut = 0x10F4; // bool + constexpr std::ptrdiff_t m_hHostageGrabber = 0x10F8; // CHandle + constexpr std::ptrdiff_t m_fLastGrabTime = 0x10FC; // GameTime_t + constexpr std::ptrdiff_t m_vecGrabbedPos = 0x1100; // Vector + constexpr std::ptrdiff_t m_flRescueStartTime = 0x110C; // GameTime_t + constexpr std::ptrdiff_t m_flGrabSuccessTime = 0x1110; // GameTime_t + constexpr std::ptrdiff_t m_flDropStartTime = 0x1114; // GameTime_t + constexpr std::ptrdiff_t m_flDeadOrRescuedTime = 0x1118; // GameTime_t + constexpr std::ptrdiff_t m_blinkTimer = 0x1120; // CountdownTimer + constexpr std::ptrdiff_t m_lookAt = 0x1138; // Vector + constexpr std::ptrdiff_t m_lookAroundTimer = 0x1148; // CountdownTimer + constexpr std::ptrdiff_t m_isInit = 0x1160; // bool + constexpr std::ptrdiff_t m_eyeAttachment = 0x1161; // AttachmentHandle_t + constexpr std::ptrdiff_t m_chestAttachment = 0x1162; // AttachmentHandle_t + constexpr std::ptrdiff_t m_pPredictionOwner = 0x1168; // CBasePlayerController* + constexpr std::ptrdiff_t m_fNewestAlphaThinkTime = 0x1170; // GameTime_t +} + +namespace C_HostageCarriableProp { // CBaseAnimGraph +} + +namespace C_IncendiaryGrenade { // C_MolotovGrenade +} + +namespace C_Inferno { // C_BaseModelEntity + constexpr std::ptrdiff_t m_nfxFireDamageEffect = 0xD00; // ParticleIndex_t + constexpr std::ptrdiff_t m_firePositions = 0xD04; // Vector[64] + constexpr std::ptrdiff_t m_fireParentPositions = 0x1004; // Vector[64] + constexpr std::ptrdiff_t m_bFireIsBurning = 0x1304; // bool[64] + constexpr std::ptrdiff_t m_BurnNormal = 0x1344; // Vector[64] + constexpr std::ptrdiff_t m_fireCount = 0x1644; // int32_t + constexpr std::ptrdiff_t m_nInfernoType = 0x1648; // int32_t + constexpr std::ptrdiff_t m_nFireLifetime = 0x164C; // float + constexpr std::ptrdiff_t m_bInPostEffectTime = 0x1650; // bool + constexpr std::ptrdiff_t m_lastFireCount = 0x1654; // int32_t + constexpr std::ptrdiff_t m_nFireEffectTickBegin = 0x1658; // int32_t + constexpr std::ptrdiff_t m_drawableCount = 0x8260; // int32_t + constexpr std::ptrdiff_t m_blosCheck = 0x8264; // bool + constexpr std::ptrdiff_t m_nlosperiod = 0x8268; // int32_t + constexpr std::ptrdiff_t m_maxFireHalfWidth = 0x826C; // float + constexpr std::ptrdiff_t m_maxFireHeight = 0x8270; // float + constexpr std::ptrdiff_t m_minBounds = 0x8274; // Vector + constexpr std::ptrdiff_t m_maxBounds = 0x8280; // Vector + constexpr std::ptrdiff_t m_flLastGrassBurnThink = 0x828C; // float +} + +namespace C_InfoInstructorHintHostageRescueZone { // C_PointEntity +} + +namespace C_InfoLadderDismount { // C_BaseEntity +} + +namespace C_InfoVisibilityBox { // C_BaseEntity + constexpr std::ptrdiff_t m_nMode = 0x544; // int32_t + constexpr std::ptrdiff_t m_vBoxSize = 0x548; // Vector + constexpr std::ptrdiff_t m_bEnabled = 0x554; // bool +} + +namespace C_IronSightController { + constexpr std::ptrdiff_t m_bIronSightAvailable = 0x10; // bool + constexpr std::ptrdiff_t m_flIronSightAmount = 0x14; // float + constexpr std::ptrdiff_t m_flIronSightAmountGained = 0x18; // float + constexpr std::ptrdiff_t m_flIronSightAmountBiased = 0x1C; // float + constexpr std::ptrdiff_t m_flIronSightAmount_Interpolated = 0x20; // float + constexpr std::ptrdiff_t m_flIronSightAmountGained_Interpolated = 0x24; // float + constexpr std::ptrdiff_t m_flIronSightAmountBiased_Interpolated = 0x28; // float + constexpr std::ptrdiff_t m_flInterpolationLastUpdated = 0x2C; // float + constexpr std::ptrdiff_t m_angDeltaAverage = 0x30; // QAngle[8] + constexpr std::ptrdiff_t m_angViewLast = 0x90; // QAngle + constexpr std::ptrdiff_t m_vecDotCoords = 0x9C; // Vector2D + constexpr std::ptrdiff_t m_flDotBlur = 0xA4; // float + constexpr std::ptrdiff_t m_flSpeedRatio = 0xA8; // float +} + +namespace C_Item { // C_EconEntity + constexpr std::ptrdiff_t m_bShouldGlow = 0x1560; // bool + constexpr std::ptrdiff_t m_pReticleHintTextName = 0x1561; // char[256] +} + +namespace C_ItemDogtags { // C_Item + constexpr std::ptrdiff_t m_OwningPlayer = 0x1668; // CHandle + constexpr std::ptrdiff_t m_KillingPlayer = 0x166C; // CHandle +} + +namespace C_Item_Healthshot { // C_WeaponBaseItem +} + +namespace C_Knife { // C_CSWeaponBase +} + +namespace C_LightDirectionalEntity { // C_LightEntity +} + +namespace C_LightEntity { // C_BaseModelEntity + constexpr std::ptrdiff_t m_CLightComponent = 0xCC0; // CLightComponent* +} + +namespace C_LightEnvironmentEntity { // C_LightDirectionalEntity +} + +namespace C_LightGlow { // C_BaseModelEntity + constexpr std::ptrdiff_t m_nHorizontalSize = 0xCC0; // uint32_t + constexpr std::ptrdiff_t m_nVerticalSize = 0xCC4; // uint32_t + constexpr std::ptrdiff_t m_nMinDist = 0xCC8; // uint32_t + constexpr std::ptrdiff_t m_nMaxDist = 0xCCC; // uint32_t + constexpr std::ptrdiff_t m_nOuterMaxDist = 0xCD0; // uint32_t + constexpr std::ptrdiff_t m_flGlowProxySize = 0xCD4; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0xCD8; // float + constexpr std::ptrdiff_t m_Glow = 0xCE0; // C_LightGlowOverlay +} + +namespace C_LightGlowOverlay { // CGlowOverlay + constexpr std::ptrdiff_t m_vecOrigin = 0xD0; // Vector + constexpr std::ptrdiff_t m_vecDirection = 0xDC; // Vector + constexpr std::ptrdiff_t m_nMinDist = 0xE8; // int32_t + constexpr std::ptrdiff_t m_nMaxDist = 0xEC; // int32_t + constexpr std::ptrdiff_t m_nOuterMaxDist = 0xF0; // int32_t + constexpr std::ptrdiff_t m_bOneSided = 0xF4; // bool + constexpr std::ptrdiff_t m_bModulateByDot = 0xF5; // bool +} + +namespace C_LightOrthoEntity { // C_LightEntity +} + +namespace C_LightSpotEntity { // C_LightEntity +} + +namespace C_LocalTempEntity { // CBaseAnimGraph + constexpr std::ptrdiff_t flags = 0xE98; // int32_t + constexpr std::ptrdiff_t die = 0xE9C; // GameTime_t + constexpr std::ptrdiff_t m_flFrameMax = 0xEA0; // float + constexpr std::ptrdiff_t x = 0xEA4; // float + constexpr std::ptrdiff_t y = 0xEA8; // float + constexpr std::ptrdiff_t fadeSpeed = 0xEAC; // float + constexpr std::ptrdiff_t bounceFactor = 0xEB0; // float + constexpr std::ptrdiff_t hitSound = 0xEB4; // int32_t + constexpr std::ptrdiff_t priority = 0xEB8; // int32_t + constexpr std::ptrdiff_t tentOffset = 0xEBC; // Vector + constexpr std::ptrdiff_t m_vecTempEntAngVelocity = 0xEC8; // QAngle + constexpr std::ptrdiff_t tempent_renderamt = 0xED4; // int32_t + constexpr std::ptrdiff_t m_vecNormal = 0xED8; // Vector + constexpr std::ptrdiff_t m_flSpriteScale = 0xEE4; // float + constexpr std::ptrdiff_t m_nFlickerFrame = 0xEE8; // int32_t + constexpr std::ptrdiff_t m_flFrameRate = 0xEEC; // float + constexpr std::ptrdiff_t m_flFrame = 0xEF0; // float + constexpr std::ptrdiff_t m_pszImpactEffect = 0xEF8; // char* + constexpr std::ptrdiff_t m_pszParticleEffect = 0xF00; // char* + constexpr std::ptrdiff_t m_bParticleCollision = 0xF08; // bool + constexpr std::ptrdiff_t m_iLastCollisionFrame = 0xF0C; // int32_t + constexpr std::ptrdiff_t m_vLastCollisionOrigin = 0xF10; // Vector + constexpr std::ptrdiff_t m_vecTempEntVelocity = 0xF1C; // Vector + constexpr std::ptrdiff_t m_vecPrevAbsOrigin = 0xF28; // Vector + constexpr std::ptrdiff_t m_vecTempEntAcceleration = 0xF34; // Vector +} + +namespace C_MapPreviewParticleSystem { // C_ParticleSystem +} + +namespace C_MapVetoPickController { // C_BaseEntity + constexpr std::ptrdiff_t m_nDraftType = 0x550; // int32_t + constexpr std::ptrdiff_t m_nTeamWinningCoinToss = 0x554; // int32_t + constexpr std::ptrdiff_t m_nTeamWithFirstChoice = 0x558; // int32_t[64] + constexpr std::ptrdiff_t m_nVoteMapIdsList = 0x658; // int32_t[7] + constexpr std::ptrdiff_t m_nAccountIDs = 0x674; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId0 = 0x774; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId1 = 0x874; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId2 = 0x974; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId3 = 0xA74; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId4 = 0xB74; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId5 = 0xC74; // int32_t[64] + constexpr std::ptrdiff_t m_nStartingSide0 = 0xD74; // int32_t[64] + constexpr std::ptrdiff_t m_nCurrentPhase = 0xE74; // int32_t + constexpr std::ptrdiff_t m_nPhaseStartTick = 0xE78; // int32_t + constexpr std::ptrdiff_t m_nPhaseDurationTicks = 0xE7C; // int32_t + constexpr std::ptrdiff_t m_nPostDataUpdateTick = 0xE80; // int32_t + constexpr std::ptrdiff_t m_bDisabledHud = 0xE84; // bool +} + +namespace C_Melee { // C_CSWeaponBase + constexpr std::ptrdiff_t m_flThrowAt = 0x1990; // GameTime_t +} + +namespace C_ModelPointEntity { // C_BaseModelEntity +} + +namespace C_MolotovGrenade { // C_BaseCSGrenade +} + +namespace C_MolotovProjectile { // C_BaseCSGrenadeProjectile + constexpr std::ptrdiff_t m_bIsIncGrenade = 0x10F0; // bool +} + +namespace C_Multimeter { // CBaseAnimGraph + constexpr std::ptrdiff_t m_hTargetC4 = 0xE88; // CHandle +} + +namespace C_MultiplayRules { // C_GameRules +} + +namespace C_NetTestBaseCombatCharacter { // C_BaseCombatCharacter +} + +namespace C_OmniLight { // C_BarnLight + constexpr std::ptrdiff_t m_flInnerAngle = 0xF08; // float + constexpr std::ptrdiff_t m_flOuterAngle = 0xF0C; // float + constexpr std::ptrdiff_t m_bShowLight = 0xF10; // bool +} + +namespace C_ParticleSystem { // C_BaseModelEntity + constexpr std::ptrdiff_t m_szSnapshotFileName = 0xCC0; // char[512] + constexpr std::ptrdiff_t m_bActive = 0xEC0; // bool + constexpr std::ptrdiff_t m_bFrozen = 0xEC1; // bool + constexpr std::ptrdiff_t m_flFreezeTransitionDuration = 0xEC4; // float + constexpr std::ptrdiff_t m_nStopType = 0xEC8; // int32_t + constexpr std::ptrdiff_t m_bAnimateDuringGameplayPause = 0xECC; // bool + constexpr std::ptrdiff_t m_iEffectIndex = 0xED0; // CStrongHandle + constexpr std::ptrdiff_t m_flStartTime = 0xED8; // GameTime_t + constexpr std::ptrdiff_t m_flPreSimTime = 0xEDC; // float + constexpr std::ptrdiff_t m_vServerControlPoints = 0xEE0; // Vector[4] + constexpr std::ptrdiff_t m_iServerControlPointAssignments = 0xF10; // uint8_t[4] + constexpr std::ptrdiff_t m_hControlPointEnts = 0xF14; // CHandle[64] + constexpr std::ptrdiff_t m_bNoSave = 0x1014; // bool + constexpr std::ptrdiff_t m_bNoFreeze = 0x1015; // bool + constexpr std::ptrdiff_t m_bNoRamp = 0x1016; // bool + constexpr std::ptrdiff_t m_bStartActive = 0x1017; // bool + constexpr std::ptrdiff_t m_iszEffectName = 0x1018; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszControlPointNames = 0x1020; // CUtlSymbolLarge[64] + constexpr std::ptrdiff_t m_nDataCP = 0x1220; // int32_t + constexpr std::ptrdiff_t m_vecDataCPValue = 0x1224; // Vector + constexpr std::ptrdiff_t m_nTintCP = 0x1230; // int32_t + constexpr std::ptrdiff_t m_clrTint = 0x1234; // Color + constexpr std::ptrdiff_t m_bOldActive = 0x1258; // bool + constexpr std::ptrdiff_t m_bOldFrozen = 0x1259; // bool +} + +namespace C_PathParticleRope { // C_BaseEntity + constexpr std::ptrdiff_t m_bStartActive = 0x540; // bool + constexpr std::ptrdiff_t m_flMaxSimulationTime = 0x544; // float + constexpr std::ptrdiff_t m_iszEffectName = 0x548; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_PathNodes_Name = 0x550; // CUtlVector + constexpr std::ptrdiff_t m_flParticleSpacing = 0x568; // float + constexpr std::ptrdiff_t m_flSlack = 0x56C; // float + constexpr std::ptrdiff_t m_flRadius = 0x570; // float + constexpr std::ptrdiff_t m_ColorTint = 0x574; // Color + constexpr std::ptrdiff_t m_nEffectState = 0x578; // int32_t + constexpr std::ptrdiff_t m_iEffectIndex = 0x580; // CStrongHandle + constexpr std::ptrdiff_t m_PathNodes_Position = 0x588; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_TangentIn = 0x5A0; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_TangentOut = 0x5B8; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_Color = 0x5D0; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_PinEnabled = 0x5E8; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_RadiusScale = 0x600; // C_NetworkUtlVectorBase +} + +namespace C_PathParticleRopeAlias_path_particle_rope_clientside { // C_PathParticleRope +} + +namespace C_PhysBox { // C_Breakable +} + +namespace C_PhysMagnet { // CBaseAnimGraph + constexpr std::ptrdiff_t m_aAttachedObjectsFromServer = 0xE80; // CUtlVector + constexpr std::ptrdiff_t m_aAttachedObjects = 0xE98; // CUtlVector> +} + +namespace C_PhysPropClientside { // C_BreakableProp + constexpr std::ptrdiff_t m_flTouchDelta = 0xFD0; // GameTime_t + constexpr std::ptrdiff_t m_fDeathTime = 0xFD4; // GameTime_t + constexpr std::ptrdiff_t m_impactEnergyScale = 0xFD8; // float + constexpr std::ptrdiff_t m_inertiaScale = 0xFDC; // float + constexpr std::ptrdiff_t m_flDmgModBullet = 0xFE0; // float + constexpr std::ptrdiff_t m_flDmgModClub = 0xFE4; // float + constexpr std::ptrdiff_t m_flDmgModExplosive = 0xFE8; // float + constexpr std::ptrdiff_t m_flDmgModFire = 0xFEC; // float + constexpr std::ptrdiff_t m_iszPhysicsDamageTableName = 0xFF0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszBasePropData = 0xFF8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iInteractions = 0x1000; // int32_t + constexpr std::ptrdiff_t m_bHasBreakPiecesOrCommands = 0x1004; // bool + constexpr std::ptrdiff_t m_vecDamagePosition = 0x1008; // Vector + constexpr std::ptrdiff_t m_vecDamageDirection = 0x1014; // Vector + constexpr std::ptrdiff_t m_nDamageType = 0x1020; // int32_t +} + +namespace C_PhysicsProp { // C_BreakableProp + constexpr std::ptrdiff_t m_bAwake = 0xFD0; // bool +} + +namespace C_PhysicsPropMultiplayer { // C_PhysicsProp +} + +namespace C_PickUpModelSlerper { // CBaseAnimGraph + constexpr std::ptrdiff_t m_hPlayerParent = 0xE80; // CHandle + constexpr std::ptrdiff_t m_hItem = 0xE84; // CHandle + constexpr std::ptrdiff_t m_flTimePickedUp = 0xE88; // float + constexpr std::ptrdiff_t m_angOriginal = 0xE8C; // QAngle + constexpr std::ptrdiff_t m_vecPosOriginal = 0xE98; // Vector + constexpr std::ptrdiff_t m_angRandom = 0xEA8; // QAngle +} + +namespace C_PlantedC4 { // CBaseAnimGraph + constexpr std::ptrdiff_t m_bBombTicking = 0xE80; // bool + constexpr std::ptrdiff_t m_nBombSite = 0xE84; // int32_t + constexpr std::ptrdiff_t m_nSourceSoundscapeHash = 0xE88; // int32_t + constexpr std::ptrdiff_t m_entitySpottedState = 0xE90; // EntitySpottedState_t + constexpr std::ptrdiff_t m_flNextGlow = 0xEA8; // GameTime_t + constexpr std::ptrdiff_t m_flNextBeep = 0xEAC; // GameTime_t + constexpr std::ptrdiff_t m_flC4Blow = 0xEB0; // GameTime_t + constexpr std::ptrdiff_t m_bCannotBeDefused = 0xEB4; // bool + constexpr std::ptrdiff_t m_bHasExploded = 0xEB5; // bool + constexpr std::ptrdiff_t m_flTimerLength = 0xEB8; // float + constexpr std::ptrdiff_t m_bBeingDefused = 0xEBC; // bool + constexpr std::ptrdiff_t m_bTriggerWarning = 0xEC0; // float + constexpr std::ptrdiff_t m_bExplodeWarning = 0xEC4; // float + constexpr std::ptrdiff_t m_bC4Activated = 0xEC8; // bool + constexpr std::ptrdiff_t m_bTenSecWarning = 0xEC9; // bool + constexpr std::ptrdiff_t m_flDefuseLength = 0xECC; // float + constexpr std::ptrdiff_t m_flDefuseCountDown = 0xED0; // GameTime_t + constexpr std::ptrdiff_t m_bBombDefused = 0xED4; // bool + constexpr std::ptrdiff_t m_hBombDefuser = 0xED8; // CHandle + constexpr std::ptrdiff_t m_hControlPanel = 0xEDC; // CHandle + constexpr std::ptrdiff_t m_hDefuserMultimeter = 0xEE0; // CHandle + constexpr std::ptrdiff_t m_flNextRadarFlashTime = 0xEE4; // GameTime_t + constexpr std::ptrdiff_t m_bRadarFlash = 0xEE8; // bool + constexpr std::ptrdiff_t m_pBombDefuser = 0xEEC; // CHandle + constexpr std::ptrdiff_t m_fLastDefuseTime = 0xEF0; // GameTime_t + constexpr std::ptrdiff_t m_pPredictionOwner = 0xEF8; // CBasePlayerController* +} + +namespace C_PlayerPing { // C_BaseEntity + constexpr std::ptrdiff_t m_hPlayer = 0x570; // CHandle + constexpr std::ptrdiff_t m_hPingedEntity = 0x574; // CHandle + constexpr std::ptrdiff_t m_iType = 0x578; // int32_t + constexpr std::ptrdiff_t m_bUrgent = 0x57C; // bool + constexpr std::ptrdiff_t m_szPlaceName = 0x57D; // char[18] +} + +namespace C_PlayerSprayDecal { // C_ModelPointEntity + constexpr std::ptrdiff_t m_nUniqueID = 0xCC0; // int32_t + constexpr std::ptrdiff_t m_unAccountID = 0xCC4; // uint32_t + constexpr std::ptrdiff_t m_unTraceID = 0xCC8; // uint32_t + constexpr std::ptrdiff_t m_rtGcTime = 0xCCC; // uint32_t + constexpr std::ptrdiff_t m_vecEndPos = 0xCD0; // Vector + constexpr std::ptrdiff_t m_vecStart = 0xCDC; // Vector + constexpr std::ptrdiff_t m_vecLeft = 0xCE8; // Vector + constexpr std::ptrdiff_t m_vecNormal = 0xCF4; // Vector + constexpr std::ptrdiff_t m_nPlayer = 0xD00; // int32_t + constexpr std::ptrdiff_t m_nEntity = 0xD04; // int32_t + constexpr std::ptrdiff_t m_nHitbox = 0xD08; // int32_t + constexpr std::ptrdiff_t m_flCreationTime = 0xD0C; // float + constexpr std::ptrdiff_t m_nTintID = 0xD10; // int32_t + constexpr std::ptrdiff_t m_nVersion = 0xD14; // uint8_t + constexpr std::ptrdiff_t m_ubSignature = 0xD15; // uint8_t[128] + constexpr std::ptrdiff_t m_SprayRenderHelper = 0xDA0; // CPlayerSprayDecalRenderHelper +} + +namespace C_PlayerVisibility { // C_BaseEntity + constexpr std::ptrdiff_t m_flVisibilityStrength = 0x540; // float + constexpr std::ptrdiff_t m_flFogDistanceMultiplier = 0x544; // float + constexpr std::ptrdiff_t m_flFogMaxDensityMultiplier = 0x548; // float + constexpr std::ptrdiff_t m_flFadeTime = 0x54C; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x550; // bool + constexpr std::ptrdiff_t m_bIsEnabled = 0x551; // bool +} + +namespace C_PointCamera { // C_BaseEntity + constexpr std::ptrdiff_t m_FOV = 0x540; // float + constexpr std::ptrdiff_t m_Resolution = 0x544; // float + constexpr std::ptrdiff_t m_bFogEnable = 0x548; // bool + constexpr std::ptrdiff_t m_FogColor = 0x549; // Color + constexpr std::ptrdiff_t m_flFogStart = 0x550; // float + constexpr std::ptrdiff_t m_flFogEnd = 0x554; // float + constexpr std::ptrdiff_t m_flFogMaxDensity = 0x558; // float + constexpr std::ptrdiff_t m_bActive = 0x55C; // bool + constexpr std::ptrdiff_t m_bUseScreenAspectRatio = 0x55D; // bool + constexpr std::ptrdiff_t m_flAspectRatio = 0x560; // float + constexpr std::ptrdiff_t m_bNoSky = 0x564; // bool + constexpr std::ptrdiff_t m_fBrightness = 0x568; // float + constexpr std::ptrdiff_t m_flZFar = 0x56C; // float + constexpr std::ptrdiff_t m_flZNear = 0x570; // float + constexpr std::ptrdiff_t m_bCanHLTVUse = 0x574; // bool + constexpr std::ptrdiff_t m_bDofEnabled = 0x575; // bool + constexpr std::ptrdiff_t m_flDofNearBlurry = 0x578; // float + constexpr std::ptrdiff_t m_flDofNearCrisp = 0x57C; // float + constexpr std::ptrdiff_t m_flDofFarCrisp = 0x580; // float + constexpr std::ptrdiff_t m_flDofFarBlurry = 0x584; // float + constexpr std::ptrdiff_t m_flDofTiltToGround = 0x588; // float + constexpr std::ptrdiff_t m_TargetFOV = 0x58C; // float + constexpr std::ptrdiff_t m_DegreesPerSecond = 0x590; // float + constexpr std::ptrdiff_t m_bIsOn = 0x594; // bool + constexpr std::ptrdiff_t m_pNext = 0x598; // C_PointCamera* +} + +namespace C_PointCameraVFOV { // C_PointCamera + constexpr std::ptrdiff_t m_flVerticalFOV = 0x5A0; // float +} + +namespace C_PointClientUIDialog { // C_BaseClientUIEntity + constexpr std::ptrdiff_t m_hActivator = 0xCF0; // CHandle + constexpr std::ptrdiff_t m_bStartEnabled = 0xCF4; // bool +} + +namespace C_PointClientUIHUD { // C_BaseClientUIEntity + constexpr std::ptrdiff_t m_bCheckCSSClasses = 0xCF8; // bool + constexpr std::ptrdiff_t m_bIgnoreInput = 0xE80; // bool + constexpr std::ptrdiff_t m_flWidth = 0xE84; // float + constexpr std::ptrdiff_t m_flHeight = 0xE88; // float + constexpr std::ptrdiff_t m_flDPI = 0xE8C; // float + constexpr std::ptrdiff_t m_flInteractDistance = 0xE90; // float + constexpr std::ptrdiff_t m_flDepthOffset = 0xE94; // float + constexpr std::ptrdiff_t m_unOwnerContext = 0xE98; // uint32_t + constexpr std::ptrdiff_t m_unHorizontalAlign = 0xE9C; // uint32_t + constexpr std::ptrdiff_t m_unVerticalAlign = 0xEA0; // uint32_t + constexpr std::ptrdiff_t m_unOrientation = 0xEA4; // uint32_t + constexpr std::ptrdiff_t m_bAllowInteractionFromAllSceneWorlds = 0xEA8; // bool + constexpr std::ptrdiff_t m_vecCSSClasses = 0xEB0; // C_NetworkUtlVectorBase +} + +namespace C_PointClientUIWorldPanel { // C_BaseClientUIEntity + constexpr std::ptrdiff_t m_bForceRecreateNextUpdate = 0xCF8; // bool + constexpr std::ptrdiff_t m_bMoveViewToPlayerNextThink = 0xCF9; // bool + constexpr std::ptrdiff_t m_bCheckCSSClasses = 0xCFA; // bool + constexpr std::ptrdiff_t m_anchorDeltaTransform = 0xD00; // CTransform + constexpr std::ptrdiff_t m_pOffScreenIndicator = 0xEA0; // CPointOffScreenIndicatorUi* + constexpr std::ptrdiff_t m_bIgnoreInput = 0xEC8; // bool + constexpr std::ptrdiff_t m_bLit = 0xEC9; // bool + constexpr std::ptrdiff_t m_bFollowPlayerAcrossTeleport = 0xECA; // bool + constexpr std::ptrdiff_t m_flWidth = 0xECC; // float + constexpr std::ptrdiff_t m_flHeight = 0xED0; // float + constexpr std::ptrdiff_t m_flDPI = 0xED4; // float + constexpr std::ptrdiff_t m_flInteractDistance = 0xED8; // float + constexpr std::ptrdiff_t m_flDepthOffset = 0xEDC; // float + constexpr std::ptrdiff_t m_unOwnerContext = 0xEE0; // uint32_t + constexpr std::ptrdiff_t m_unHorizontalAlign = 0xEE4; // uint32_t + constexpr std::ptrdiff_t m_unVerticalAlign = 0xEE8; // uint32_t + constexpr std::ptrdiff_t m_unOrientation = 0xEEC; // uint32_t + constexpr std::ptrdiff_t m_bAllowInteractionFromAllSceneWorlds = 0xEF0; // bool + constexpr std::ptrdiff_t m_vecCSSClasses = 0xEF8; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_bOpaque = 0xF10; // bool + constexpr std::ptrdiff_t m_bNoDepth = 0xF11; // bool + constexpr std::ptrdiff_t m_bRenderBackface = 0xF12; // bool + constexpr std::ptrdiff_t m_bUseOffScreenIndicator = 0xF13; // bool + constexpr std::ptrdiff_t m_bExcludeFromSaveGames = 0xF14; // bool + constexpr std::ptrdiff_t m_bGrabbable = 0xF15; // bool + constexpr std::ptrdiff_t m_bOnlyRenderToTexture = 0xF16; // bool + constexpr std::ptrdiff_t m_bDisableMipGen = 0xF17; // bool + constexpr std::ptrdiff_t m_nExplicitImageLayout = 0xF18; // int32_t +} + +namespace C_PointClientUIWorldTextPanel { // C_PointClientUIWorldPanel + constexpr std::ptrdiff_t m_messageText = 0xF20; // char[512] +} + +namespace C_PointCommentaryNode { // CBaseAnimGraph + constexpr std::ptrdiff_t m_bActive = 0xE88; // bool + constexpr std::ptrdiff_t m_bWasActive = 0xE89; // bool + constexpr std::ptrdiff_t m_flEndTime = 0xE8C; // GameTime_t + constexpr std::ptrdiff_t m_flStartTime = 0xE90; // GameTime_t + constexpr std::ptrdiff_t m_flStartTimeInCommentary = 0xE94; // float + constexpr std::ptrdiff_t m_iszCommentaryFile = 0xE98; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTitle = 0xEA0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSpeakers = 0xEA8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iNodeNumber = 0xEB0; // int32_t + constexpr std::ptrdiff_t m_iNodeNumberMax = 0xEB4; // int32_t + constexpr std::ptrdiff_t m_bListenedTo = 0xEB8; // bool + constexpr std::ptrdiff_t m_hViewPosition = 0xEC8; // CHandle + constexpr std::ptrdiff_t m_bRestartAfterRestore = 0xECC; // bool +} + +namespace C_PointEntity { // C_BaseEntity +} + +namespace C_PointValueRemapper { // C_BaseEntity + constexpr std::ptrdiff_t m_bDisabled = 0x540; // bool + constexpr std::ptrdiff_t m_bDisabledOld = 0x541; // bool + constexpr std::ptrdiff_t m_bUpdateOnClient = 0x542; // bool + constexpr std::ptrdiff_t m_nInputType = 0x544; // ValueRemapperInputType_t + constexpr std::ptrdiff_t m_hRemapLineStart = 0x548; // CHandle + constexpr std::ptrdiff_t m_hRemapLineEnd = 0x54C; // CHandle + constexpr std::ptrdiff_t m_flMaximumChangePerSecond = 0x550; // float + constexpr std::ptrdiff_t m_flDisengageDistance = 0x554; // float + constexpr std::ptrdiff_t m_flEngageDistance = 0x558; // float + constexpr std::ptrdiff_t m_bRequiresUseKey = 0x55C; // bool + constexpr std::ptrdiff_t m_nOutputType = 0x560; // ValueRemapperOutputType_t + constexpr std::ptrdiff_t m_hOutputEntities = 0x568; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_nHapticsType = 0x580; // ValueRemapperHapticsType_t + constexpr std::ptrdiff_t m_nMomentumType = 0x584; // ValueRemapperMomentumType_t + constexpr std::ptrdiff_t m_flMomentumModifier = 0x588; // float + constexpr std::ptrdiff_t m_flSnapValue = 0x58C; // float + constexpr std::ptrdiff_t m_flCurrentMomentum = 0x590; // float + constexpr std::ptrdiff_t m_nRatchetType = 0x594; // ValueRemapperRatchetType_t + constexpr std::ptrdiff_t m_flRatchetOffset = 0x598; // float + constexpr std::ptrdiff_t m_flInputOffset = 0x59C; // float + constexpr std::ptrdiff_t m_bEngaged = 0x5A0; // bool + constexpr std::ptrdiff_t m_bFirstUpdate = 0x5A1; // bool + constexpr std::ptrdiff_t m_flPreviousValue = 0x5A4; // float + constexpr std::ptrdiff_t m_flPreviousUpdateTickTime = 0x5A8; // GameTime_t + constexpr std::ptrdiff_t m_vecPreviousTestPoint = 0x5AC; // Vector +} + +namespace C_PointWorldText { // C_ModelPointEntity + constexpr std::ptrdiff_t m_bForceRecreateNextUpdate = 0xCC8; // bool + constexpr std::ptrdiff_t m_messageText = 0xCD8; // char[512] + constexpr std::ptrdiff_t m_FontName = 0xED8; // char[64] + constexpr std::ptrdiff_t m_bEnabled = 0xF18; // bool + constexpr std::ptrdiff_t m_bFullbright = 0xF19; // bool + constexpr std::ptrdiff_t m_flWorldUnitsPerPx = 0xF1C; // float + constexpr std::ptrdiff_t m_flFontSize = 0xF20; // float + constexpr std::ptrdiff_t m_flDepthOffset = 0xF24; // float + constexpr std::ptrdiff_t m_Color = 0xF28; // Color + constexpr std::ptrdiff_t m_nJustifyHorizontal = 0xF2C; // PointWorldTextJustifyHorizontal_t + constexpr std::ptrdiff_t m_nJustifyVertical = 0xF30; // PointWorldTextJustifyVertical_t + constexpr std::ptrdiff_t m_nReorientMode = 0xF34; // PointWorldTextReorientMode_t +} + +namespace C_PostProcessingVolume { // C_BaseTrigger + constexpr std::ptrdiff_t m_hPostSettings = 0xCD8; // CStrongHandle + constexpr std::ptrdiff_t m_flFadeDuration = 0xCE0; // float + constexpr std::ptrdiff_t m_flMinLogExposure = 0xCE4; // float + constexpr std::ptrdiff_t m_flMaxLogExposure = 0xCE8; // float + constexpr std::ptrdiff_t m_flMinExposure = 0xCEC; // float + constexpr std::ptrdiff_t m_flMaxExposure = 0xCF0; // float + constexpr std::ptrdiff_t m_flExposureCompensation = 0xCF4; // float + constexpr std::ptrdiff_t m_flExposureFadeSpeedUp = 0xCF8; // float + constexpr std::ptrdiff_t m_flExposureFadeSpeedDown = 0xCFC; // float + constexpr std::ptrdiff_t m_flTonemapEVSmoothingRange = 0xD00; // float + constexpr std::ptrdiff_t m_bMaster = 0xD04; // bool + constexpr std::ptrdiff_t m_bExposureControl = 0xD05; // bool + constexpr std::ptrdiff_t m_flRate = 0xD08; // float + constexpr std::ptrdiff_t m_flTonemapPercentTarget = 0xD0C; // float + constexpr std::ptrdiff_t m_flTonemapPercentBrightPixels = 0xD10; // float + constexpr std::ptrdiff_t m_flTonemapMinAvgLum = 0xD14; // float +} + +namespace C_Precipitation { // C_BaseTrigger + constexpr std::ptrdiff_t m_flDensity = 0xCC8; // float + constexpr std::ptrdiff_t m_flParticleInnerDist = 0xCD8; // float + constexpr std::ptrdiff_t m_pParticleDef = 0xCE0; // char* + constexpr std::ptrdiff_t m_tParticlePrecipTraceTimer = 0xD08; // TimedEvent[1] + constexpr std::ptrdiff_t m_bActiveParticlePrecipEmitter = 0xD10; // bool[1] + constexpr std::ptrdiff_t m_bParticlePrecipInitialized = 0xD11; // bool + constexpr std::ptrdiff_t m_bHasSimulatedSinceLastSceneObjectUpdate = 0xD12; // bool + constexpr std::ptrdiff_t m_nAvailableSheetSequencesMaxIndex = 0xD14; // int32_t +} + +namespace C_PrecipitationBlocker { // C_BaseModelEntity +} + +namespace C_PredictedViewModel { // C_BaseViewModel + constexpr std::ptrdiff_t m_LagAnglesHistory = 0xEE8; // QAngle + constexpr std::ptrdiff_t m_vPredictedOffset = 0xF00; // Vector +} + +namespace C_RagdollManager { // C_BaseEntity + constexpr std::ptrdiff_t m_iCurrentMaxRagdollCount = 0x540; // int8_t +} + +namespace C_RagdollProp { // CBaseAnimGraph + constexpr std::ptrdiff_t m_ragPos = 0xE88; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_ragAngles = 0xEA0; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_flBlendWeight = 0xEB8; // float + constexpr std::ptrdiff_t m_hRagdollSource = 0xEBC; // CHandle + constexpr std::ptrdiff_t m_iEyeAttachment = 0xEC0; // AttachmentHandle_t + constexpr std::ptrdiff_t m_flBlendWeightCurrent = 0xEC4; // float + constexpr std::ptrdiff_t m_parentPhysicsBoneIndices = 0xEC8; // CUtlVector + constexpr std::ptrdiff_t m_worldSpaceBoneComputationOrder = 0xEE0; // CUtlVector +} + +namespace C_RagdollPropAttached { // C_RagdollProp + constexpr std::ptrdiff_t m_boneIndexAttached = 0xEF8; // uint32_t + constexpr std::ptrdiff_t m_ragdollAttachedObjectIndex = 0xEFC; // uint32_t + constexpr std::ptrdiff_t m_attachmentPointBoneSpace = 0xF00; // Vector + constexpr std::ptrdiff_t m_attachmentPointRagdollSpace = 0xF0C; // Vector + constexpr std::ptrdiff_t m_vecOffset = 0xF18; // Vector + constexpr std::ptrdiff_t m_parentTime = 0xF24; // float + constexpr std::ptrdiff_t m_bHasParent = 0xF28; // bool +} + +namespace C_RectLight { // C_BarnLight + constexpr std::ptrdiff_t m_bShowLight = 0xF08; // bool +} + +namespace C_RetakeGameRules { + constexpr std::ptrdiff_t m_nMatchSeed = 0xF8; // int32_t + constexpr std::ptrdiff_t m_bBlockersPresent = 0xFC; // bool + constexpr std::ptrdiff_t m_bRoundInProgress = 0xFD; // bool + constexpr std::ptrdiff_t m_iFirstSecondHalfRound = 0x100; // int32_t + constexpr std::ptrdiff_t m_iBombSite = 0x104; // int32_t +} + +namespace C_RopeKeyframe { // C_BaseModelEntity + constexpr std::ptrdiff_t m_LinksTouchingSomething = 0xCC8; // CBitVec<10> + constexpr std::ptrdiff_t m_nLinksTouchingSomething = 0xCCC; // int32_t + constexpr std::ptrdiff_t m_bApplyWind = 0xCD0; // bool + constexpr std::ptrdiff_t m_fPrevLockedPoints = 0xCD4; // int32_t + constexpr std::ptrdiff_t m_iForcePointMoveCounter = 0xCD8; // int32_t + constexpr std::ptrdiff_t m_bPrevEndPointPos = 0xCDC; // bool[2] + constexpr std::ptrdiff_t m_vPrevEndPointPos = 0xCE0; // Vector[2] + constexpr std::ptrdiff_t m_flCurScroll = 0xCF8; // float + constexpr std::ptrdiff_t m_flScrollSpeed = 0xCFC; // float + constexpr std::ptrdiff_t m_RopeFlags = 0xD00; // uint16_t + constexpr std::ptrdiff_t m_iRopeMaterialModelIndex = 0xD08; // CStrongHandle + constexpr std::ptrdiff_t m_LightValues = 0xF80; // Vector[10] + constexpr std::ptrdiff_t m_nSegments = 0xFF8; // uint8_t + constexpr std::ptrdiff_t m_hStartPoint = 0xFFC; // CHandle + constexpr std::ptrdiff_t m_hEndPoint = 0x1000; // CHandle + constexpr std::ptrdiff_t m_iStartAttachment = 0x1004; // AttachmentHandle_t + constexpr std::ptrdiff_t m_iEndAttachment = 0x1005; // AttachmentHandle_t + constexpr std::ptrdiff_t m_Subdiv = 0x1006; // uint8_t + constexpr std::ptrdiff_t m_RopeLength = 0x1008; // int16_t + constexpr std::ptrdiff_t m_Slack = 0x100A; // int16_t + constexpr std::ptrdiff_t m_TextureScale = 0x100C; // float + constexpr std::ptrdiff_t m_fLockedPoints = 0x1010; // uint8_t + constexpr std::ptrdiff_t m_nChangeCount = 0x1011; // uint8_t + constexpr std::ptrdiff_t m_Width = 0x1014; // float + constexpr std::ptrdiff_t m_PhysicsDelegate = 0x1018; // C_RopeKeyframe::CPhysicsDelegate + constexpr std::ptrdiff_t m_hMaterial = 0x1028; // CStrongHandle + constexpr std::ptrdiff_t m_TextureHeight = 0x1030; // int32_t + constexpr std::ptrdiff_t m_vecImpulse = 0x1034; // Vector + constexpr std::ptrdiff_t m_vecPreviousImpulse = 0x1040; // Vector + constexpr std::ptrdiff_t m_flCurrentGustTimer = 0x104C; // float + constexpr std::ptrdiff_t m_flCurrentGustLifetime = 0x1050; // float + constexpr std::ptrdiff_t m_flTimeToNextGust = 0x1054; // float + constexpr std::ptrdiff_t m_vWindDir = 0x1058; // Vector + constexpr std::ptrdiff_t m_vColorMod = 0x1064; // Vector + constexpr std::ptrdiff_t m_vCachedEndPointAttachmentPos = 0x1070; // Vector[2] + constexpr std::ptrdiff_t m_vCachedEndPointAttachmentAngle = 0x1088; // QAngle[2] + constexpr std::ptrdiff_t m_bConstrainBetweenEndpoints = 0x10A0; // bool + constexpr std::ptrdiff_t m_bEndPointAttachmentPositionsDirty = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bEndPointAttachmentAnglesDirty = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNewDataThisFrame = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bPhysicsInitted = 0x0; // bitfield:1 +} + +namespace C_RopeKeyframe_CPhysicsDelegate { + constexpr std::ptrdiff_t m_pKeyframe = 0x8; // C_RopeKeyframe* +} + +namespace C_SceneEntity { // C_PointEntity + constexpr std::ptrdiff_t m_bIsPlayingBack = 0x548; // bool + constexpr std::ptrdiff_t m_bPaused = 0x549; // bool + constexpr std::ptrdiff_t m_bMultiplayer = 0x54A; // bool + constexpr std::ptrdiff_t m_bAutogenerated = 0x54B; // bool + constexpr std::ptrdiff_t m_flForceClientTime = 0x54C; // float + constexpr std::ptrdiff_t m_nSceneStringIndex = 0x550; // uint16_t + constexpr std::ptrdiff_t m_bClientOnly = 0x552; // bool + constexpr std::ptrdiff_t m_hOwner = 0x554; // CHandle + constexpr std::ptrdiff_t m_hActorList = 0x558; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_bWasPlaying = 0x570; // bool + constexpr std::ptrdiff_t m_QueuedEvents = 0x580; // CUtlVector + constexpr std::ptrdiff_t m_flCurrentTime = 0x598; // float +} + +namespace C_SceneEntity_QueuedEvents_t { + constexpr std::ptrdiff_t starttime = 0x0; // float +} + +namespace C_SensorGrenade { // C_BaseCSGrenade +} + +namespace C_SensorGrenadeProjectile { // C_BaseCSGrenadeProjectile +} + +namespace C_ShatterGlassShardPhysics { // C_PhysicsProp + constexpr std::ptrdiff_t m_ShardDesc = 0xFE0; // shard_model_desc_t +} + +namespace C_SingleplayRules { // C_GameRules +} + +namespace C_SkyCamera { // C_BaseEntity + constexpr std::ptrdiff_t m_skyboxData = 0x540; // sky3dparams_t + constexpr std::ptrdiff_t m_skyboxSlotToken = 0x5D0; // CUtlStringToken + constexpr std::ptrdiff_t m_bUseAngles = 0x5D4; // bool + constexpr std::ptrdiff_t m_pNext = 0x5D8; // C_SkyCamera* +} + +namespace C_SmokeGrenade { // C_BaseCSGrenade +} + +namespace C_SmokeGrenadeProjectile { // C_BaseCSGrenadeProjectile + constexpr std::ptrdiff_t m_nSmokeEffectTickBegin = 0x10F8; // int32_t + constexpr std::ptrdiff_t m_bDidSmokeEffect = 0x10FC; // bool + constexpr std::ptrdiff_t m_nRandomSeed = 0x1100; // int32_t + constexpr std::ptrdiff_t m_vSmokeColor = 0x1104; // Vector + constexpr std::ptrdiff_t m_vSmokeDetonationPos = 0x1110; // Vector + constexpr std::ptrdiff_t m_VoxelFrameData = 0x1120; // CUtlVector + constexpr std::ptrdiff_t m_bSmokeVolumeDataReceived = 0x1138; // bool + constexpr std::ptrdiff_t m_bSmokeEffectSpawned = 0x1139; // bool +} + +namespace C_SoundAreaEntityBase { // C_BaseEntity + constexpr std::ptrdiff_t m_bDisabled = 0x540; // bool + constexpr std::ptrdiff_t m_bWasEnabled = 0x548; // bool + constexpr std::ptrdiff_t m_iszSoundAreaType = 0x550; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_vPos = 0x558; // Vector +} + +namespace C_SoundAreaEntityOrientedBox { // C_SoundAreaEntityBase + constexpr std::ptrdiff_t m_vMin = 0x568; // Vector + constexpr std::ptrdiff_t m_vMax = 0x574; // Vector +} + +namespace C_SoundAreaEntitySphere { // C_SoundAreaEntityBase + constexpr std::ptrdiff_t m_flRadius = 0x568; // float +} + +namespace C_SoundOpvarSetAABBEntity { // C_SoundOpvarSetPointEntity +} + +namespace C_SoundOpvarSetOBBEntity { // C_SoundOpvarSetAABBEntity +} + +namespace C_SoundOpvarSetOBBWindEntity { // C_SoundOpvarSetPointBase +} + +namespace C_SoundOpvarSetPathCornerEntity { // C_SoundOpvarSetPointEntity +} + +namespace C_SoundOpvarSetPointBase { // C_BaseEntity + constexpr std::ptrdiff_t m_iszStackName = 0x540; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOperatorName = 0x548; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOpvarName = 0x550; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iOpvarIndex = 0x558; // int32_t + constexpr std::ptrdiff_t m_bUseAutoCompare = 0x55C; // bool +} + +namespace C_SoundOpvarSetPointEntity { // C_SoundOpvarSetPointBase +} + +namespace C_SpotlightEnd { // C_BaseModelEntity + constexpr std::ptrdiff_t m_flLightScale = 0xCC0; // float + constexpr std::ptrdiff_t m_Radius = 0xCC4; // float +} + +namespace C_Sprite { // C_BaseModelEntity + constexpr std::ptrdiff_t m_hSpriteMaterial = 0xCD8; // CStrongHandle + constexpr std::ptrdiff_t m_hAttachedToEntity = 0xCE0; // CHandle + constexpr std::ptrdiff_t m_nAttachment = 0xCE4; // AttachmentHandle_t + constexpr std::ptrdiff_t m_flSpriteFramerate = 0xCE8; // float + constexpr std::ptrdiff_t m_flFrame = 0xCEC; // float + constexpr std::ptrdiff_t m_flDieTime = 0xCF0; // GameTime_t + constexpr std::ptrdiff_t m_nBrightness = 0xD00; // uint32_t + constexpr std::ptrdiff_t m_flBrightnessDuration = 0xD04; // float + constexpr std::ptrdiff_t m_flSpriteScale = 0xD08; // float + constexpr std::ptrdiff_t m_flScaleDuration = 0xD0C; // float + constexpr std::ptrdiff_t m_bWorldSpaceScale = 0xD10; // bool + constexpr std::ptrdiff_t m_flGlowProxySize = 0xD14; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0xD18; // float + constexpr std::ptrdiff_t m_flLastTime = 0xD1C; // GameTime_t + constexpr std::ptrdiff_t m_flMaxFrame = 0xD20; // float + constexpr std::ptrdiff_t m_flStartScale = 0xD24; // float + constexpr std::ptrdiff_t m_flDestScale = 0xD28; // float + constexpr std::ptrdiff_t m_flScaleTimeStart = 0xD2C; // GameTime_t + constexpr std::ptrdiff_t m_nStartBrightness = 0xD30; // int32_t + constexpr std::ptrdiff_t m_nDestBrightness = 0xD34; // int32_t + constexpr std::ptrdiff_t m_flBrightnessTimeStart = 0xD38; // GameTime_t + constexpr std::ptrdiff_t m_hOldSpriteMaterial = 0xD40; // CWeakHandle + constexpr std::ptrdiff_t m_nSpriteWidth = 0xDE8; // int32_t + constexpr std::ptrdiff_t m_nSpriteHeight = 0xDEC; // int32_t +} + +namespace C_SpriteOriented { // C_Sprite +} + +namespace C_Sun { // C_BaseModelEntity + constexpr std::ptrdiff_t m_fxSSSunFlareEffectIndex = 0xCC0; // ParticleIndex_t + constexpr std::ptrdiff_t m_fxSunFlareEffectIndex = 0xCC4; // ParticleIndex_t + constexpr std::ptrdiff_t m_fdistNormalize = 0xCC8; // float + constexpr std::ptrdiff_t m_vSunPos = 0xCCC; // Vector + constexpr std::ptrdiff_t m_vDirection = 0xCD8; // Vector + constexpr std::ptrdiff_t m_iszEffectName = 0xCE8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSSEffectName = 0xCF0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_clrOverlay = 0xCF8; // Color + constexpr std::ptrdiff_t m_bOn = 0xCFC; // bool + constexpr std::ptrdiff_t m_bmaxColor = 0xCFD; // bool + constexpr std::ptrdiff_t m_flSize = 0xD00; // float + constexpr std::ptrdiff_t m_flHazeScale = 0xD04; // float + constexpr std::ptrdiff_t m_flRotation = 0xD08; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0xD0C; // float + constexpr std::ptrdiff_t m_flAlphaHaze = 0xD10; // float + constexpr std::ptrdiff_t m_flAlphaScale = 0xD14; // float + constexpr std::ptrdiff_t m_flAlphaHdr = 0xD18; // float + constexpr std::ptrdiff_t m_flFarZScale = 0xD1C; // float +} + +namespace C_SunGlowOverlay { // CGlowOverlay + constexpr std::ptrdiff_t m_bModulateByDot = 0xD0; // bool +} + +namespace C_Team { // C_BaseEntity + constexpr std::ptrdiff_t m_aPlayerControllers = 0x540; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_aPlayers = 0x558; // C_NetworkUtlVectorBase> + constexpr std::ptrdiff_t m_iScore = 0x570; // int32_t + constexpr std::ptrdiff_t m_szTeamname = 0x574; // char[129] +} + +namespace C_TeamRoundTimer { // C_BaseEntity + constexpr std::ptrdiff_t m_bTimerPaused = 0x540; // bool + constexpr std::ptrdiff_t m_flTimeRemaining = 0x544; // float + constexpr std::ptrdiff_t m_flTimerEndTime = 0x548; // GameTime_t + constexpr std::ptrdiff_t m_bIsDisabled = 0x54C; // bool + constexpr std::ptrdiff_t m_bShowInHUD = 0x54D; // bool + constexpr std::ptrdiff_t m_nTimerLength = 0x550; // int32_t + constexpr std::ptrdiff_t m_nTimerInitialLength = 0x554; // int32_t + constexpr std::ptrdiff_t m_nTimerMaxLength = 0x558; // int32_t + constexpr std::ptrdiff_t m_bAutoCountdown = 0x55C; // bool + constexpr std::ptrdiff_t m_nSetupTimeLength = 0x560; // int32_t + constexpr std::ptrdiff_t m_nState = 0x564; // int32_t + constexpr std::ptrdiff_t m_bStartPaused = 0x568; // bool + constexpr std::ptrdiff_t m_bInCaptureWatchState = 0x569; // bool + constexpr std::ptrdiff_t m_flTotalTime = 0x56C; // float + constexpr std::ptrdiff_t m_bStopWatchTimer = 0x570; // bool + constexpr std::ptrdiff_t m_bFireFinished = 0x571; // bool + constexpr std::ptrdiff_t m_bFire5MinRemain = 0x572; // bool + constexpr std::ptrdiff_t m_bFire4MinRemain = 0x573; // bool + constexpr std::ptrdiff_t m_bFire3MinRemain = 0x574; // bool + constexpr std::ptrdiff_t m_bFire2MinRemain = 0x575; // bool + constexpr std::ptrdiff_t m_bFire1MinRemain = 0x576; // bool + constexpr std::ptrdiff_t m_bFire30SecRemain = 0x577; // bool + constexpr std::ptrdiff_t m_bFire10SecRemain = 0x578; // bool + constexpr std::ptrdiff_t m_bFire5SecRemain = 0x579; // bool + constexpr std::ptrdiff_t m_bFire4SecRemain = 0x57A; // bool + constexpr std::ptrdiff_t m_bFire3SecRemain = 0x57B; // bool + constexpr std::ptrdiff_t m_bFire2SecRemain = 0x57C; // bool + constexpr std::ptrdiff_t m_bFire1SecRemain = 0x57D; // bool + constexpr std::ptrdiff_t m_nOldTimerLength = 0x580; // int32_t + constexpr std::ptrdiff_t m_nOldTimerState = 0x584; // int32_t +} + +namespace C_TeamplayRules { // C_MultiplayRules +} + +namespace C_TextureBasedAnimatable { // C_BaseModelEntity + constexpr std::ptrdiff_t m_bLoop = 0xCC0; // bool + constexpr std::ptrdiff_t m_flFPS = 0xCC4; // float + constexpr std::ptrdiff_t m_hPositionKeys = 0xCC8; // CStrongHandle + constexpr std::ptrdiff_t m_hRotationKeys = 0xCD0; // CStrongHandle + constexpr std::ptrdiff_t m_vAnimationBoundsMin = 0xCD8; // Vector + constexpr std::ptrdiff_t m_vAnimationBoundsMax = 0xCE4; // Vector + constexpr std::ptrdiff_t m_flStartTime = 0xCF0; // float + constexpr std::ptrdiff_t m_flStartFrame = 0xCF4; // float +} + +namespace C_TintController { // C_BaseEntity +} + +namespace C_TonemapController2 { // C_BaseEntity + constexpr std::ptrdiff_t m_flAutoExposureMin = 0x540; // float + constexpr std::ptrdiff_t m_flAutoExposureMax = 0x544; // float + constexpr std::ptrdiff_t m_flTonemapPercentTarget = 0x548; // float + constexpr std::ptrdiff_t m_flTonemapPercentBrightPixels = 0x54C; // float + constexpr std::ptrdiff_t m_flTonemapMinAvgLum = 0x550; // float + constexpr std::ptrdiff_t m_flExposureAdaptationSpeedUp = 0x554; // float + constexpr std::ptrdiff_t m_flExposureAdaptationSpeedDown = 0x558; // float + constexpr std::ptrdiff_t m_flTonemapEVSmoothingRange = 0x55C; // float +} + +namespace C_TonemapController2Alias_env_tonemap_controller2 { // C_TonemapController2 +} + +namespace C_TriggerBuoyancy { // C_BaseTrigger + constexpr std::ptrdiff_t m_BuoyancyHelper = 0xCC8; // CBuoyancyHelper + constexpr std::ptrdiff_t m_flFluidDensity = 0xCE8; // float +} + +namespace C_TriggerLerpObject { // C_BaseTrigger +} + +namespace C_TriggerMultiple { // C_BaseTrigger +} + +namespace C_TriggerVolume { // C_BaseModelEntity +} + +namespace C_ViewmodelAttachmentModel { // CBaseAnimGraph +} + +namespace C_ViewmodelWeapon { // CBaseAnimGraph + constexpr std::ptrdiff_t m_worldModel = 0xE80; // char* +} + +namespace C_VoteController { // C_BaseEntity + constexpr std::ptrdiff_t m_iActiveIssueIndex = 0x550; // int32_t + constexpr std::ptrdiff_t m_iOnlyTeamToVote = 0x554; // int32_t + constexpr std::ptrdiff_t m_nVoteOptionCount = 0x558; // int32_t[5] + constexpr std::ptrdiff_t m_nPotentialVotes = 0x56C; // int32_t + constexpr std::ptrdiff_t m_bVotesDirty = 0x570; // bool + constexpr std::ptrdiff_t m_bTypeDirty = 0x571; // bool + constexpr std::ptrdiff_t m_bIsYesNoVote = 0x572; // bool +} + +namespace C_WaterBullet { // CBaseAnimGraph +} + +namespace C_WeaponAWP { // C_CSWeaponBaseGun +} + +namespace C_WeaponAug { // C_CSWeaponBaseGun +} + +namespace C_WeaponBaseItem { // C_CSWeaponBase + constexpr std::ptrdiff_t m_SequenceCompleteTimer = 0x1990; // CountdownTimer + constexpr std::ptrdiff_t m_bRedraw = 0x19A8; // bool +} + +namespace C_WeaponBizon { // C_CSWeaponBaseGun +} + +namespace C_WeaponCZ75a { // C_CSWeaponBaseGun +} + +namespace C_WeaponElite { // C_CSWeaponBaseGun +} + +namespace C_WeaponFamas { // C_CSWeaponBaseGun +} + +namespace C_WeaponFiveSeven { // C_CSWeaponBaseGun +} + +namespace C_WeaponG3SG1 { // C_CSWeaponBaseGun +} + +namespace C_WeaponGalilAR { // C_CSWeaponBaseGun +} + +namespace C_WeaponGlock { // C_CSWeaponBaseGun +} + +namespace C_WeaponHKP2000 { // C_CSWeaponBaseGun +} + +namespace C_WeaponM249 { // C_CSWeaponBaseGun +} + +namespace C_WeaponM4A1 { // C_CSWeaponBaseGun +} + +namespace C_WeaponM4A1Silencer { // C_CSWeaponBaseGun +} + +namespace C_WeaponMAC10 { // C_CSWeaponBaseGun +} + +namespace C_WeaponMP5SD { // C_CSWeaponBaseGun +} + +namespace C_WeaponMP7 { // C_CSWeaponBaseGun +} + +namespace C_WeaponMP9 { // C_CSWeaponBaseGun +} + +namespace C_WeaponMag7 { // C_CSWeaponBaseGun +} + +namespace C_WeaponNOVA { // C_CSWeaponBase +} + +namespace C_WeaponNegev { // C_CSWeaponBaseGun +} + +namespace C_WeaponP250 { // C_CSWeaponBaseGun +} + +namespace C_WeaponP90 { // C_CSWeaponBaseGun +} + +namespace C_WeaponRevolver { // C_CSWeaponBaseGun +} + +namespace C_WeaponSCAR20 { // C_CSWeaponBaseGun +} + +namespace C_WeaponSG556 { // C_CSWeaponBaseGun +} + +namespace C_WeaponSSG08 { // C_CSWeaponBaseGun +} + +namespace C_WeaponSawedoff { // C_CSWeaponBase +} + +namespace C_WeaponShield { // C_CSWeaponBaseGun + constexpr std::ptrdiff_t m_flDisplayHealth = 0x19B0; // float +} + +namespace C_WeaponTaser { // C_CSWeaponBaseGun + constexpr std::ptrdiff_t m_fFireTime = 0x19B0; // GameTime_t +} + +namespace C_WeaponTec9 { // C_CSWeaponBaseGun +} + +namespace C_WeaponUMP45 { // C_CSWeaponBaseGun +} + +namespace C_WeaponUSPSilencer { // C_CSWeaponBaseGun +} + +namespace C_WeaponXM1014 { // C_CSWeaponBase +} + +namespace C_World { // C_BaseModelEntity +} + +namespace C_WorldModelGloves { // CBaseAnimGraph +} + +namespace C_WorldModelNametag { // CBaseAnimGraph +} + +namespace C_WorldModelStattrak { // CBaseAnimGraph +} + +namespace C_fogplayerparams_t { + constexpr std::ptrdiff_t m_hCtrl = 0x8; // CHandle + constexpr std::ptrdiff_t m_flTransitionTime = 0xC; // float + constexpr std::ptrdiff_t m_OldColor = 0x10; // Color + constexpr std::ptrdiff_t m_flOldStart = 0x14; // float + constexpr std::ptrdiff_t m_flOldEnd = 0x18; // float + constexpr std::ptrdiff_t m_flOldMaxDensity = 0x1C; // float + constexpr std::ptrdiff_t m_flOldHDRColorScale = 0x20; // float + constexpr std::ptrdiff_t m_flOldFarZ = 0x24; // float + constexpr std::ptrdiff_t m_NewColor = 0x28; // Color + constexpr std::ptrdiff_t m_flNewStart = 0x2C; // float + constexpr std::ptrdiff_t m_flNewEnd = 0x30; // float + constexpr std::ptrdiff_t m_flNewMaxDensity = 0x34; // float + constexpr std::ptrdiff_t m_flNewHDRColorScale = 0x38; // float + constexpr std::ptrdiff_t m_flNewFarZ = 0x3C; // float +} + +namespace CompMatMutatorCondition_t { + constexpr std::ptrdiff_t m_nMutatorCondition = 0x0; // CompMatPropertyMutatorConditionType_t + constexpr std::ptrdiff_t m_strMutatorConditionContainerName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_strMutatorConditionContainerVarName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_strMutatorConditionContainerVarValue = 0x18; // CUtlString + constexpr std::ptrdiff_t m_bPassWhenTrue = 0x20; // bool +} + +namespace CompMatPropertyMutator_t { + constexpr std::ptrdiff_t m_bEnabled = 0x0; // bool + constexpr std::ptrdiff_t m_nMutatorCommandType = 0x4; // CompMatPropertyMutatorType_t + constexpr std::ptrdiff_t m_strInitWith_Container = 0x8; // CUtlString + constexpr std::ptrdiff_t m_strCopyProperty_InputContainerSrc = 0x10; // CUtlString + constexpr std::ptrdiff_t m_strCopyProperty_InputContainerProperty = 0x18; // CUtlString + constexpr std::ptrdiff_t m_strCopyProperty_TargetProperty = 0x20; // CUtlString + constexpr std::ptrdiff_t m_strRandomRollInputVars_SeedInputVar = 0x28; // CUtlString + constexpr std::ptrdiff_t m_vecRandomRollInputVars_InputVarsToRoll = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_strCopyMatchingKeys_InputContainerSrc = 0x48; // CUtlString + constexpr std::ptrdiff_t m_strCopyKeysWithSuffix_InputContainerSrc = 0x50; // CUtlString + constexpr std::ptrdiff_t m_strCopyKeysWithSuffix_FindSuffix = 0x58; // CUtlString + constexpr std::ptrdiff_t m_strCopyKeysWithSuffix_ReplaceSuffix = 0x60; // CUtlString + constexpr std::ptrdiff_t m_nSetValue_Value = 0x68; // CompositeMaterialInputLooseVariable_t + constexpr std::ptrdiff_t m_strGenerateTexture_TargetParam = 0x2D8; // CUtlString + constexpr std::ptrdiff_t m_strGenerateTexture_InitialContainer = 0x2E0; // CUtlString + constexpr std::ptrdiff_t m_nResolution = 0x2E8; // int32_t + constexpr std::ptrdiff_t m_bIsScratchTarget = 0x2EC; // bool + constexpr std::ptrdiff_t m_bSplatDebugInfo = 0x2ED; // bool + constexpr std::ptrdiff_t m_bCaptureInRenderDoc = 0x2EE; // bool + constexpr std::ptrdiff_t m_vecTexGenInstructions = 0x2F0; // CUtlVector + constexpr std::ptrdiff_t m_vecConditionalMutators = 0x308; // CUtlVector + constexpr std::ptrdiff_t m_strPopInputQueue_Container = 0x320; // CUtlString + constexpr std::ptrdiff_t m_strDrawText_InputContainerSrc = 0x328; // CUtlString + constexpr std::ptrdiff_t m_strDrawText_InputContainerProperty = 0x330; // CUtlString + constexpr std::ptrdiff_t m_vecDrawText_Position = 0x338; // Vector2D + constexpr std::ptrdiff_t m_colDrawText_Color = 0x340; // Color + constexpr std::ptrdiff_t m_strDrawText_Font = 0x348; // CUtlString + constexpr std::ptrdiff_t m_vecConditions = 0x350; // CUtlVector +} + +namespace CompositeMaterialAssemblyProcedure_t { + constexpr std::ptrdiff_t m_vecCompMatIncludes = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_vecMatchFilters = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_vecCompositeInputContainers = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_vecPropertyMutators = 0x48; // CUtlVector +} + +namespace CompositeMaterialEditorPoint_t { + constexpr std::ptrdiff_t m_ModelName = 0x0; // CResourceName + constexpr std::ptrdiff_t m_nSequenceIndex = 0xE0; // int32_t + constexpr std::ptrdiff_t m_flCycle = 0xE4; // float + constexpr std::ptrdiff_t m_KVModelStateChoices = 0xE8; // KeyValues3 + constexpr std::ptrdiff_t m_bEnableChildModel = 0xF8; // bool + constexpr std::ptrdiff_t m_ChildModelName = 0x100; // CResourceName + constexpr std::ptrdiff_t m_vecCompositeMaterialAssemblyProcedures = 0x1E0; // CUtlVector + constexpr std::ptrdiff_t m_vecCompositeMaterials = 0x1F8; // CUtlVector +} + +namespace CompositeMaterialInputContainer_t { + constexpr std::ptrdiff_t m_bEnabled = 0x0; // bool + constexpr std::ptrdiff_t m_nCompositeMaterialInputContainerSourceType = 0x4; // CompositeMaterialInputContainerSourceType_t + constexpr std::ptrdiff_t m_strSpecificContainerMaterial = 0x8; // CResourceName + constexpr std::ptrdiff_t m_strAttrName = 0xE8; // CUtlString + constexpr std::ptrdiff_t m_strAlias = 0xF0; // CUtlString + constexpr std::ptrdiff_t m_vecLooseVariables = 0xF8; // CUtlVector + constexpr std::ptrdiff_t m_strAttrNameForVar = 0x110; // CUtlString + constexpr std::ptrdiff_t m_bExposeExternally = 0x118; // bool +} + +namespace CompositeMaterialInputLooseVariable_t { + constexpr std::ptrdiff_t m_strName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_bExposeExternally = 0x8; // bool + constexpr std::ptrdiff_t m_strExposedFriendlyName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_strExposedFriendlyGroupName = 0x18; // CUtlString + constexpr std::ptrdiff_t m_bExposedVariableIsFixedRange = 0x20; // bool + constexpr std::ptrdiff_t m_strExposedVisibleWhenTrue = 0x28; // CUtlString + constexpr std::ptrdiff_t m_strExposedHiddenWhenTrue = 0x30; // CUtlString + constexpr std::ptrdiff_t m_nVariableType = 0x38; // CompositeMaterialInputLooseVariableType_t + constexpr std::ptrdiff_t m_bValueBoolean = 0x3C; // bool + constexpr std::ptrdiff_t m_nValueIntX = 0x40; // int32_t + constexpr std::ptrdiff_t m_nValueIntY = 0x44; // int32_t + constexpr std::ptrdiff_t m_nValueIntZ = 0x48; // int32_t + constexpr std::ptrdiff_t m_nValueIntW = 0x4C; // int32_t + constexpr std::ptrdiff_t m_bHasFloatBounds = 0x50; // bool + constexpr std::ptrdiff_t m_flValueFloatX = 0x54; // float + constexpr std::ptrdiff_t m_flValueFloatX_Min = 0x58; // float + constexpr std::ptrdiff_t m_flValueFloatX_Max = 0x5C; // float + constexpr std::ptrdiff_t m_flValueFloatY = 0x60; // float + constexpr std::ptrdiff_t m_flValueFloatY_Min = 0x64; // float + constexpr std::ptrdiff_t m_flValueFloatY_Max = 0x68; // float + constexpr std::ptrdiff_t m_flValueFloatZ = 0x6C; // float + constexpr std::ptrdiff_t m_flValueFloatZ_Min = 0x70; // float + constexpr std::ptrdiff_t m_flValueFloatZ_Max = 0x74; // float + constexpr std::ptrdiff_t m_flValueFloatW = 0x78; // float + constexpr std::ptrdiff_t m_flValueFloatW_Min = 0x7C; // float + constexpr std::ptrdiff_t m_flValueFloatW_Max = 0x80; // float + constexpr std::ptrdiff_t m_cValueColor4 = 0x84; // Color + constexpr std::ptrdiff_t m_nValueSystemVar = 0x88; // CompositeMaterialVarSystemVar_t + constexpr std::ptrdiff_t m_strResourceMaterial = 0x90; // CResourceName + constexpr std::ptrdiff_t m_strTextureContentAssetPath = 0x170; // CUtlString + constexpr std::ptrdiff_t m_strTextureRuntimeResourcePath = 0x178; // CResourceName + constexpr std::ptrdiff_t m_strTextureCompilationVtexTemplate = 0x258; // CUtlString + constexpr std::ptrdiff_t m_nTextureType = 0x260; // CompositeMaterialInputTextureType_t + constexpr std::ptrdiff_t m_strString = 0x268; // CUtlString +} + +namespace CompositeMaterialMatchFilter_t { + constexpr std::ptrdiff_t m_nCompositeMaterialMatchFilterType = 0x0; // CompositeMaterialMatchFilterType_t + constexpr std::ptrdiff_t m_strMatchFilter = 0x8; // CUtlString + constexpr std::ptrdiff_t m_strMatchValue = 0x10; // CUtlString + constexpr std::ptrdiff_t m_bPassWhenTrue = 0x18; // bool +} + +namespace CompositeMaterial_t { + constexpr std::ptrdiff_t m_TargetKVs = 0x8; // KeyValues3 + constexpr std::ptrdiff_t m_PreGenerationKVs = 0x18; // KeyValues3 + constexpr std::ptrdiff_t m_FinalKVs = 0x28; // KeyValues3 + constexpr std::ptrdiff_t m_vecGeneratedTextures = 0x40; // CUtlVector +} + +namespace CountdownTimer { + constexpr std::ptrdiff_t m_duration = 0x8; // float + constexpr std::ptrdiff_t m_timestamp = 0xC; // GameTime_t + constexpr std::ptrdiff_t m_timescale = 0x10; // float + constexpr std::ptrdiff_t m_nWorldGroupId = 0x14; // WorldGroupId_t +} + +namespace EngineCountdownTimer { + constexpr std::ptrdiff_t m_duration = 0x8; // float + constexpr std::ptrdiff_t m_timestamp = 0xC; // float + constexpr std::ptrdiff_t m_timescale = 0x10; // float +} + +namespace EntityRenderAttribute_t { + constexpr std::ptrdiff_t m_ID = 0x30; // CUtlStringToken + constexpr std::ptrdiff_t m_Values = 0x34; // Vector4D +} + +namespace EntitySpottedState_t { + constexpr std::ptrdiff_t m_bSpotted = 0x8; // bool + constexpr std::ptrdiff_t m_bSpottedByMask = 0xC; // uint32_t[2] +} + +namespace GeneratedTextureHandle_t { + constexpr std::ptrdiff_t m_strBitmapName = 0x0; // CUtlString +} + +namespace IClientAlphaProperty { +} + +namespace IntervalTimer { + constexpr std::ptrdiff_t m_timestamp = 0x8; // GameTime_t + constexpr std::ptrdiff_t m_nWorldGroupId = 0xC; // WorldGroupId_t +} + +namespace PhysicsRagdollPose_t { + constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer + constexpr std::ptrdiff_t m_Transforms = 0x30; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_hOwner = 0x48; // CHandle + constexpr std::ptrdiff_t m_bDirty = 0x68; // bool +} + +namespace SellbackPurchaseEntry_t { + constexpr std::ptrdiff_t m_unDefIdx = 0x30; // uint16_t + constexpr std::ptrdiff_t m_nCost = 0x34; // int32_t + constexpr std::ptrdiff_t m_nPrevArmor = 0x38; // int32_t + constexpr std::ptrdiff_t m_bPrevHelmet = 0x3C; // bool + constexpr std::ptrdiff_t m_hItem = 0x40; // CEntityHandle +} + +namespace ServerAuthoritativeWeaponSlot_t { + constexpr std::ptrdiff_t unClass = 0x28; // uint16_t + constexpr std::ptrdiff_t unSlot = 0x2A; // uint16_t + constexpr std::ptrdiff_t unItemDefIdx = 0x2C; // uint16_t +} + +namespace TimedEvent { + constexpr std::ptrdiff_t m_TimeBetweenEvents = 0x0; // float + constexpr std::ptrdiff_t m_fNextEvent = 0x4; // float +} + +namespace VPhysicsCollisionAttribute_t { + constexpr std::ptrdiff_t m_nInteractsAs = 0x8; // uint64_t + constexpr std::ptrdiff_t m_nInteractsWith = 0x10; // uint64_t + constexpr std::ptrdiff_t m_nInteractsExclude = 0x18; // uint64_t + constexpr std::ptrdiff_t m_nEntityId = 0x20; // uint32_t + constexpr std::ptrdiff_t m_nOwnerId = 0x24; // uint32_t + constexpr std::ptrdiff_t m_nHierarchyId = 0x28; // uint16_t + constexpr std::ptrdiff_t m_nCollisionGroup = 0x2A; // uint8_t + constexpr std::ptrdiff_t m_nCollisionFunctionMask = 0x2B; // uint8_t +} + +namespace ViewAngleServerChange_t { + constexpr std::ptrdiff_t nType = 0x30; // FixAngleSet_t + constexpr std::ptrdiff_t qAngle = 0x34; // QAngle + constexpr std::ptrdiff_t nIndex = 0x40; // uint32_t +} + +namespace WeaponPurchaseCount_t { + constexpr std::ptrdiff_t m_nItemDefIndex = 0x30; // uint16_t + constexpr std::ptrdiff_t m_nCount = 0x32; // uint16_t +} + +namespace WeaponPurchaseTracker_t { + constexpr std::ptrdiff_t m_weaponPurchases = 0x8; // C_UtlVectorEmbeddedNetworkVar +} + +namespace audioparams_t { + constexpr std::ptrdiff_t localSound = 0x8; // Vector[8] + constexpr std::ptrdiff_t soundscapeIndex = 0x68; // int32_t + constexpr std::ptrdiff_t localBits = 0x6C; // uint8_t + constexpr std::ptrdiff_t soundscapeEntityListIndex = 0x70; // int32_t + constexpr std::ptrdiff_t soundEventHash = 0x74; // uint32_t +} + +namespace fogparams_t { + constexpr std::ptrdiff_t dirPrimary = 0x8; // Vector + constexpr std::ptrdiff_t colorPrimary = 0x14; // Color + constexpr std::ptrdiff_t colorSecondary = 0x18; // Color + constexpr std::ptrdiff_t colorPrimaryLerpTo = 0x1C; // Color + constexpr std::ptrdiff_t colorSecondaryLerpTo = 0x20; // Color + constexpr std::ptrdiff_t start = 0x24; // float + constexpr std::ptrdiff_t end = 0x28; // float + constexpr std::ptrdiff_t farz = 0x2C; // float + constexpr std::ptrdiff_t maxdensity = 0x30; // float + constexpr std::ptrdiff_t exponent = 0x34; // float + constexpr std::ptrdiff_t HDRColorScale = 0x38; // float + constexpr std::ptrdiff_t skyboxFogFactor = 0x3C; // float + constexpr std::ptrdiff_t skyboxFogFactorLerpTo = 0x40; // float + constexpr std::ptrdiff_t startLerpTo = 0x44; // float + constexpr std::ptrdiff_t endLerpTo = 0x48; // float + constexpr std::ptrdiff_t maxdensityLerpTo = 0x4C; // float + constexpr std::ptrdiff_t lerptime = 0x50; // GameTime_t + constexpr std::ptrdiff_t duration = 0x54; // float + constexpr std::ptrdiff_t blendtobackground = 0x58; // float + constexpr std::ptrdiff_t scattering = 0x5C; // float + constexpr std::ptrdiff_t locallightscale = 0x60; // float + constexpr std::ptrdiff_t enable = 0x64; // bool + constexpr std::ptrdiff_t blend = 0x65; // bool + constexpr std::ptrdiff_t m_bNoReflectionFog = 0x66; // bool + constexpr std::ptrdiff_t m_bPadding = 0x67; // bool +} + +namespace shard_model_desc_t { + constexpr std::ptrdiff_t m_nModelID = 0x8; // int32_t + constexpr std::ptrdiff_t m_hMaterial = 0x10; // CStrongHandle + constexpr std::ptrdiff_t m_solid = 0x18; // ShardSolid_t + constexpr std::ptrdiff_t m_ShatterPanelMode = 0x19; // ShatterPanelMode + constexpr std::ptrdiff_t m_vecPanelSize = 0x1C; // Vector2D + constexpr std::ptrdiff_t m_vecStressPositionA = 0x24; // Vector2D + constexpr std::ptrdiff_t m_vecStressPositionB = 0x2C; // Vector2D + constexpr std::ptrdiff_t m_vecPanelVertices = 0x38; // C_NetworkUtlVectorBase + constexpr std::ptrdiff_t m_flGlassHalfThickness = 0x50; // float + constexpr std::ptrdiff_t m_bHasParent = 0x54; // bool + constexpr std::ptrdiff_t m_bParentFrozen = 0x55; // bool + constexpr std::ptrdiff_t m_SurfacePropStringToken = 0x58; // CUtlStringToken +} + +namespace sky3dparams_t { + constexpr std::ptrdiff_t scale = 0x8; // int16_t + constexpr std::ptrdiff_t origin = 0xC; // Vector + constexpr std::ptrdiff_t bClip3DSkyBoxNearToWorldFar = 0x18; // bool + constexpr std::ptrdiff_t flClip3DSkyBoxNearToWorldFarOffset = 0x1C; // float + constexpr std::ptrdiff_t fog = 0x20; // fogparams_t + constexpr std::ptrdiff_t m_nWorldGroupID = 0x88; // WorldGroupId_t +} \ No newline at end of file diff --git a/HPCS2/offset/engine2.dll.hpp b/HPCS2/offset/engine2.dll.hpp new file mode 100644 index 0000000..ac1982f --- /dev/null +++ b/HPCS2/offset/engine2.dll.hpp @@ -0,0 +1,244 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace CEmptyEntityInstance { +} + +namespace CEntityComponent { +} + +namespace CEntityComponentHelper { + constexpr std::ptrdiff_t m_flags = 0x8; // uint32_t + constexpr std::ptrdiff_t m_pInfo = 0x10; // EntComponentInfo_t* + constexpr std::ptrdiff_t m_nPriority = 0x18; // int32_t + constexpr std::ptrdiff_t m_pNext = 0x20; // CEntityComponentHelper* +} + +namespace CEntityIOOutput { + constexpr std::ptrdiff_t m_Value = 0x18; // CVariantBase +} + +namespace CEntityIdentity { + constexpr std::ptrdiff_t m_nameStringableIndex = 0x14; // int32_t + constexpr std::ptrdiff_t m_name = 0x18; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_designerName = 0x20; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flags = 0x30; // uint32_t + constexpr std::ptrdiff_t m_worldGroupId = 0x38; // WorldGroupId_t + constexpr std::ptrdiff_t m_fDataObjectTypes = 0x3C; // uint32_t + constexpr std::ptrdiff_t m_PathIndex = 0x40; // ChangeAccessorFieldPathIndex_t + constexpr std::ptrdiff_t m_pPrev = 0x58; // CEntityIdentity* + constexpr std::ptrdiff_t m_pNext = 0x60; // CEntityIdentity* + constexpr std::ptrdiff_t m_pPrevByClass = 0x68; // CEntityIdentity* + constexpr std::ptrdiff_t m_pNextByClass = 0x70; // CEntityIdentity* +} + +namespace CEntityInstance { + constexpr std::ptrdiff_t m_iszPrivateVScripts = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pEntity = 0x10; // CEntityIdentity* + constexpr std::ptrdiff_t m_CScriptComponent = 0x28; // CScriptComponent* +} + +namespace CNetworkVarChainer { + constexpr std::ptrdiff_t m_PathIndex = 0x20; // ChangeAccessorFieldPathIndex_t +} + +namespace CScriptComponent { // CEntityComponent + constexpr std::ptrdiff_t m_scriptClassName = 0x30; // CUtlSymbolLarge +} + +namespace CVariantDefaultAllocator { +} + +namespace EngineLoopState_t { + constexpr std::ptrdiff_t m_nPlatWindowWidth = 0x18; // int32_t + constexpr std::ptrdiff_t m_nPlatWindowHeight = 0x1C; // int32_t + constexpr std::ptrdiff_t m_nRenderWidth = 0x20; // int32_t + constexpr std::ptrdiff_t m_nRenderHeight = 0x24; // int32_t +} + +namespace EntComponentInfo_t { + constexpr std::ptrdiff_t m_pName = 0x0; // char* + constexpr std::ptrdiff_t m_pCPPClassname = 0x8; // char* + constexpr std::ptrdiff_t m_pNetworkDataReferencedDescription = 0x10; // char* + constexpr std::ptrdiff_t m_pNetworkDataReferencedPtrPropDescription = 0x18; // char* + constexpr std::ptrdiff_t m_nRuntimeIndex = 0x20; // int32_t + constexpr std::ptrdiff_t m_nFlags = 0x24; // uint32_t + constexpr std::ptrdiff_t m_pBaseClassComponentHelper = 0x60; // CEntityComponentHelper* +} + +namespace EntInput_t { +} + +namespace EntOutput_t { +} + +namespace EventAdvanceTick_t { // EventSimulate_t + constexpr std::ptrdiff_t m_nCurrentTick = 0x30; // int32_t + constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x34; // int32_t + constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x38; // int32_t + constexpr std::ptrdiff_t m_nTotalTicks = 0x3C; // int32_t +} + +namespace EventAppShutdown_t { + constexpr std::ptrdiff_t m_nDummy0 = 0x0; // int32_t +} + +namespace EventClientAdvanceTick_t { // EventAdvanceTick_t +} + +namespace EventClientFrameSimulate_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_flRealTime = 0x28; // float + constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // float +} + +namespace EventClientOutput_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_flRenderTime = 0x28; // float + constexpr std::ptrdiff_t m_flRealTime = 0x2C; // float + constexpr std::ptrdiff_t m_flRenderFrameTimeUnbounded = 0x30; // float + constexpr std::ptrdiff_t m_bRenderOnly = 0x34; // bool +} + +namespace EventClientPauseSimulate_t { // EventSimulate_t +} + +namespace EventClientPollInput_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_flRealTime = 0x28; // float +} + +namespace EventClientPollNetworking_t { + constexpr std::ptrdiff_t m_nTickCount = 0x0; // int32_t +} + +namespace EventClientPostAdvanceTick_t { // EventPostAdvanceTick_t +} + +namespace EventClientPostOutput_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_flRenderTime = 0x28; // double + constexpr std::ptrdiff_t m_flRenderFrameTime = 0x30; // float + constexpr std::ptrdiff_t m_flRenderFrameTimeUnbounded = 0x34; // float + constexpr std::ptrdiff_t m_bRenderOnly = 0x38; // bool +} + +namespace EventClientPostSimulate_t { // EventSimulate_t +} + +namespace EventClientPreOutput_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_flRenderTime = 0x28; // double + constexpr std::ptrdiff_t m_flRenderFrameTime = 0x30; // double + constexpr std::ptrdiff_t m_flRenderFrameTimeUnbounded = 0x38; // double + constexpr std::ptrdiff_t m_flRealTime = 0x40; // float + constexpr std::ptrdiff_t m_bRenderOnly = 0x44; // bool +} + +namespace EventClientPreSimulate_t { // EventSimulate_t +} + +namespace EventClientPredictionPostNetupdate_t { +} + +namespace EventClientProcessGameInput_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_flRealTime = 0x28; // float + constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // float +} + +namespace EventClientProcessInput_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_flRealTime = 0x28; // float +} + +namespace EventClientProcessNetworking_t { +} + +namespace EventClientSceneSystemThreadStateChange_t { + constexpr std::ptrdiff_t m_bThreadsActive = 0x0; // bool +} + +namespace EventClientSendInput_t { + constexpr std::ptrdiff_t m_bFinalClientCommandTick = 0x0; // bool + constexpr std::ptrdiff_t m_nAdditionalClientCommandsToCreate = 0x4; // int32_t +} + +namespace EventClientSimulate_t { // EventSimulate_t +} + +namespace EventFrameBoundary_t { + constexpr std::ptrdiff_t m_flFrameTime = 0x0; // float +} + +namespace EventModInitialized_t { +} + +namespace EventPostAdvanceTick_t { // EventSimulate_t + constexpr std::ptrdiff_t m_nCurrentTick = 0x30; // int32_t + constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x34; // int32_t + constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x38; // int32_t + constexpr std::ptrdiff_t m_nTotalTicks = 0x3C; // int32_t +} + +namespace EventPostDataUpdate_t { + constexpr std::ptrdiff_t m_nCount = 0x0; // int32_t +} + +namespace EventPreDataUpdate_t { + constexpr std::ptrdiff_t m_nCount = 0x0; // int32_t +} + +namespace EventProfileStorageAvailable_t { + constexpr std::ptrdiff_t m_nSplitScreenSlot = 0x0; // CSplitScreenSlot +} + +namespace EventServerAdvanceTick_t { // EventAdvanceTick_t +} + +namespace EventServerPollNetworking_t { // EventSimulate_t +} + +namespace EventServerPostAdvanceTick_t { // EventPostAdvanceTick_t +} + +namespace EventServerPostSimulate_t { // EventSimulate_t +} + +namespace EventServerProcessNetworking_t { // EventSimulate_t +} + +namespace EventServerSimulate_t { // EventSimulate_t +} + +namespace EventSetTime_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_nClientOutputFrames = 0x28; // int32_t + constexpr std::ptrdiff_t m_flRealTime = 0x30; // double + constexpr std::ptrdiff_t m_flRenderTime = 0x38; // double + constexpr std::ptrdiff_t m_flRenderFrameTime = 0x40; // double + constexpr std::ptrdiff_t m_flRenderFrameTimeUnbounded = 0x48; // double + constexpr std::ptrdiff_t m_flRenderFrameTimeUnscaled = 0x50; // double + constexpr std::ptrdiff_t m_flTickRemainder = 0x58; // double +} + +namespace EventSimpleLoopFrameUpdate_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_flRealTime = 0x28; // float + constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // float +} + +namespace EventSimulate_t { + constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t + constexpr std::ptrdiff_t m_bFirstTick = 0x28; // bool + constexpr std::ptrdiff_t m_bLastTick = 0x29; // bool +} + +namespace EventSplitScreenStateChanged_t { +} \ No newline at end of file diff --git a/HPCS2/offset/host.dll.hpp b/HPCS2/offset/host.dll.hpp new file mode 100644 index 0000000..1d73aca --- /dev/null +++ b/HPCS2/offset/host.dll.hpp @@ -0,0 +1,16 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:22 +0000 + */ + +#pragma once + +#include + +namespace CAnimScriptBase { + constexpr std::ptrdiff_t m_bIsValid = 0x8; // bool +} + +namespace EmptyTestScript { // CAnimScriptBase + constexpr std::ptrdiff_t m_hTest = 0x10; // CAnimScriptParam +} \ No newline at end of file diff --git a/HPCS2/offset/interfaces.hpp b/HPCS2/offset/interfaces.hpp new file mode 100644 index 0000000..aaff864 --- /dev/null +++ b/HPCS2/offset/interfaces.hpp @@ -0,0 +1,244 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:23 +0000 + */ + +#pragma once + +#include + +namespace animationsystem_dll { // animationsystem.dll + constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x64670; + constexpr std::ptrdiff_t AnimationSystem_001 = 0x5F1D0; +} + +namespace client_dll { // client.dll + constexpr std::ptrdiff_t LegacyGameUI001 = 0x899820; + constexpr std::ptrdiff_t Source2ClientUI001 = 0x888530; + constexpr std::ptrdiff_t Source2ClientPrediction001 = 0x7A1860; + constexpr std::ptrdiff_t ClientToolsInfo_001 = 0x72DAA0; + constexpr std::ptrdiff_t Source2Client002 = 0x72DAC0; + constexpr std::ptrdiff_t GameClientExports001 = 0x72DAB0; + constexpr std::ptrdiff_t EmptyWorldService001_Client = 0x48DEF0; + constexpr std::ptrdiff_t Source2ClientConfig001 = 0x474F00; +} + +namespace engine2_dll { // engine2.dll + constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1E3370; + constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1D9040; + constexpr std::ptrdiff_t KeyValueCache001 = 0x1D5680; + constexpr std::ptrdiff_t HostStateMgr001 = 0x1D2E80; + constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1CE520; + constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1CE510; + constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1CA200; + constexpr std::ptrdiff_t VProfService_001 = 0x1B7C90; + constexpr std::ptrdiff_t ToolService_001 = 0x1B69E0; + constexpr std::ptrdiff_t StatsService_001 = 0x1B1C60; + constexpr std::ptrdiff_t SplitScreenService_001 = 0x1AEED0; + constexpr std::ptrdiff_t SoundService_001 = 0x1A9A10; + constexpr std::ptrdiff_t ScreenshotService001 = 0x1A58E0; + constexpr std::ptrdiff_t RenderService_001 = 0x1A2C40; + constexpr std::ptrdiff_t NetworkService_001 = 0x1A2750; + constexpr std::ptrdiff_t NetworkServerService_001 = 0x19D7F0; + constexpr std::ptrdiff_t NetworkP2PService_001 = 0x199200; + constexpr std::ptrdiff_t NetworkClientService_001 = 0x192E30; + constexpr std::ptrdiff_t MapListService_001 = 0x18BE00; + constexpr std::ptrdiff_t InputService_001 = 0x179C80; + constexpr std::ptrdiff_t GameUIService_001 = 0x1744A0; + constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x172200; + constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x1721F0; + constexpr std::ptrdiff_t BugService001 = 0x16B220; + constexpr std::ptrdiff_t BenchmarkService001 = 0x1699F0; + constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x116F70; + constexpr std::ptrdiff_t EngineGameUI001 = 0x116300; + constexpr std::ptrdiff_t INETSUPPORT_001 = 0xE6510; + constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0xA14C0; + constexpr std::ptrdiff_t Source2EngineToServer001 = 0x8B300; + constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x84020; + constexpr std::ptrdiff_t Source2EngineToClient001 = 0x5AA60; +} + +namespace filesystem_stdio_dll { // filesystem_stdio.dll + constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x66D30; + constexpr std::ptrdiff_t VFileSystem017 = 0x66D20; +} + +namespace host_dll { // host.dll + constexpr std::ptrdiff_t Source2Host001 = 0x18E10; + constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0x18A90; + constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0x18A80; + constexpr std::ptrdiff_t PredictionDiffManager001 = 0x16E20; + constexpr std::ptrdiff_t HostUtils001 = 0x12550; + constexpr std::ptrdiff_t GameSystem2HostHook = 0x11DA0; + constexpr std::ptrdiff_t GameModelInfo001 = 0x11CC0; + constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0x11710; +} + +namespace imemanager_dll { // imemanager.dll + constexpr std::ptrdiff_t IMEManager001 = 0xC470; +} + +namespace inputsystem_dll { // inputsystem.dll + constexpr std::ptrdiff_t InputSystemVersion001 = 0x28D0; + constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x16F0; +} + +namespace localize_dll { // localize.dll + constexpr std::ptrdiff_t Localize_001 = 0x3830; +} + +namespace matchmaking_dll { // matchmaking.dll + constexpr std::ptrdiff_t GameTypes001 = 0x50270; + constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x101030; +} + +namespace materialsystem2_dll { // materialsystem2.dll + constexpr std::ptrdiff_t MaterialUtils_001 = 0x4DB90; + constexpr std::ptrdiff_t TextLayout_001 = 0x4A2E0; + constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x42A60; + constexpr std::ptrdiff_t FontManager_001 = 0x37900; + constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x25EC0; +} + +namespace meshsystem_dll { // meshsystem.dll + constexpr std::ptrdiff_t MeshSystem001 = 0x7270; +} + +namespace navsystem_dll { // navsystem.dll + constexpr std::ptrdiff_t NavSystem001 = 0x76F0; +} + +namespace networksystem_dll { // networksystem.dll + constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0xD1AD0; + constexpr std::ptrdiff_t NetworkSystemVersion001 = 0xBBF90; + constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x9C030; + constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x7B8A0; +} + +namespace panorama_dll { // panorama.dll + constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x57EE0; +} + +namespace panorama_text_pango_dll { // panorama_text_pango.dll + constexpr std::ptrdiff_t PanoramaTextServices001 = 0x4CBD0; +} + +namespace panoramauiclient_dll { // panoramauiclient.dll + constexpr std::ptrdiff_t PanoramaUIClient001 = 0x12780; +} + +namespace particles_dll { // particles.dll + constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x52D20; +} + +namespace pulse_system_dll { // pulse_system.dll + constexpr std::ptrdiff_t IPulseSystem_001 = 0x5B80; +} + +namespace rendersystemdx11_dll { // rendersystemdx11.dll + constexpr std::ptrdiff_t RenderUtils_001 = 0x52FD0; + constexpr std::ptrdiff_t VRenderDeviceMgrBackdoor001 = 0x4A4F0; + constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x4A4E0; +} + +namespace resourcesystem_dll { // resourcesystem.dll + constexpr std::ptrdiff_t ResourceSystem013 = 0x10650; +} + +namespace scenefilecache_dll { // scenefilecache.dll + constexpr std::ptrdiff_t SceneFileCache002 = 0x68E0; + constexpr std::ptrdiff_t ResponseRulesCache001 = 0x3190; +} + +namespace scenesystem_dll { // scenesystem.dll + constexpr std::ptrdiff_t SceneUtils_001 = 0x13C370; + constexpr std::ptrdiff_t SceneSystem_002 = 0xCA160; + constexpr std::ptrdiff_t RenderingPipelines_001 = 0x8E420; +} + +namespace schemasystem_dll { // schemasystem.dll + constexpr std::ptrdiff_t SchemaSystem_001 = 0xA930; +} + +namespace server_dll { // server.dll + constexpr std::ptrdiff_t NavGameTest001 = 0xA35420; + constexpr std::ptrdiff_t ServerToolsInfo_001 = 0x838790; + constexpr std::ptrdiff_t Source2GameClients001 = 0x8387A0; + constexpr std::ptrdiff_t Source2GameEntities001 = 0x8387B0; + constexpr std::ptrdiff_t Source2Server001 = 0x8387C0; + constexpr std::ptrdiff_t EmptyWorldService001_Server = 0x58D750; + constexpr std::ptrdiff_t Source2ServerConfig001 = 0x56D760; + constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x2CD4C0; + constexpr std::ptrdiff_t customnavsystem001 = 0x24A3F0; + constexpr std::ptrdiff_t Source2GameDirector001 = 0x151EC0; +} + +namespace soundsystem_dll { // soundsystem.dll + constexpr std::ptrdiff_t SoundOpSystem001 = 0x1567E0; + constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0x8BBC0; + constexpr std::ptrdiff_t VMixEditTool001 = 0x71740; + constexpr std::ptrdiff_t SoundSystem001 = 0x46540; +} + +namespace steamaudio_dll { // steamaudio.dll + constexpr std::ptrdiff_t SteamAudio001 = 0x12EE0; +} + +namespace steamclient64_dll { // steamclient64.dll + constexpr std::ptrdiff_t IVALIDATE001 = 0x83A900; + constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x8367B0; + constexpr std::ptrdiff_t SteamClient020 = 0x631440; + constexpr std::ptrdiff_t SteamClient019 = 0x631430; + constexpr std::ptrdiff_t SteamClient018 = 0x631420; + constexpr std::ptrdiff_t SteamClient017 = 0x631410; + constexpr std::ptrdiff_t SteamClient016 = 0x631400; + constexpr std::ptrdiff_t SteamClient015 = 0x6313F0; + constexpr std::ptrdiff_t SteamClient014 = 0x6313E0; + constexpr std::ptrdiff_t SteamClient013 = 0x6313D0; + constexpr std::ptrdiff_t SteamClient012 = 0x6313C0; + constexpr std::ptrdiff_t SteamClient011 = 0x6313B0; + constexpr std::ptrdiff_t SteamClient010 = 0x6313A0; + constexpr std::ptrdiff_t SteamClient009 = 0x631390; + constexpr std::ptrdiff_t SteamClient008 = 0x631380; + constexpr std::ptrdiff_t SteamClient007 = 0x631370; + constexpr std::ptrdiff_t SteamClient006 = 0x631360; + constexpr std::ptrdiff_t p2pvoice002 = 0xD93D0; + constexpr std::ptrdiff_t p2pvoicesingleton002 = 0xD5D70; +} + +namespace tier0_dll { // tier0.dll + constexpr std::ptrdiff_t VStringTokenSystem001 = 0x18C100; + constexpr std::ptrdiff_t TestScriptMgr001 = 0x13F460; + constexpr std::ptrdiff_t VProcessUtils002 = 0x12F5E0; + constexpr std::ptrdiff_t VEngineCvar007 = 0x61920; +} + +namespace v8system_dll { // v8system.dll + constexpr std::ptrdiff_t Source2V8System001 = 0x1670; +} + +namespace valve_avi_dll { // valve_avi.dll + constexpr std::ptrdiff_t VAvi001 = 0x2F90; +} + +namespace valve_wmf_dll { // valve_wmf.dll + constexpr std::ptrdiff_t VMediaFoundation001 = 0x12D0; +} + +namespace vphysics2_dll { // vphysics2.dll + constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0x61120; + constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0x5C740; +} + +namespace vscript_dll { // vscript.dll + constexpr std::ptrdiff_t VScriptManager010 = 0x31DA0; +} + +namespace vstdlib_s64_dll { // vstdlib_s64.dll + constexpr std::ptrdiff_t IVALIDATE001 = 0x24FF0; + constexpr std::ptrdiff_t VEngineCvar002 = 0x5750; +} + +namespace worldrenderer_dll { // worldrenderer.dll + constexpr std::ptrdiff_t WorldRendererMgr001 = 0x21650; +} \ No newline at end of file diff --git a/HPCS2/offset/materialsystem2.dll.hpp b/HPCS2/offset/materialsystem2.dll.hpp new file mode 100644 index 0000000..eb40d36 --- /dev/null +++ b/HPCS2/offset/materialsystem2.dll.hpp @@ -0,0 +1,115 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace MaterialParamBuffer_t { // MaterialParam_t + constexpr std::ptrdiff_t m_value = 0x8; // CUtlBinaryBlock +} + +namespace MaterialParamFloat_t { // MaterialParam_t + constexpr std::ptrdiff_t m_flValue = 0x8; // float +} + +namespace MaterialParamInt_t { // MaterialParam_t + constexpr std::ptrdiff_t m_nValue = 0x8; // int32_t +} + +namespace MaterialParamString_t { // MaterialParam_t + constexpr std::ptrdiff_t m_value = 0x8; // CUtlString +} + +namespace MaterialParamTexture_t { // MaterialParam_t + constexpr std::ptrdiff_t m_pValue = 0x8; // CStrongHandle +} + +namespace MaterialParamVector_t { // MaterialParam_t + constexpr std::ptrdiff_t m_value = 0x8; // Vector4D +} + +namespace MaterialParam_t { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString +} + +namespace MaterialResourceData_t { + constexpr std::ptrdiff_t m_materialName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_shaderName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_intParams = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_floatParams = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_vectorParams = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_textureParams = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_dynamicParams = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_dynamicTextureParams = 0x88; // CUtlVector + constexpr std::ptrdiff_t m_intAttributes = 0xA0; // CUtlVector + constexpr std::ptrdiff_t m_floatAttributes = 0xB8; // CUtlVector + constexpr std::ptrdiff_t m_vectorAttributes = 0xD0; // CUtlVector + constexpr std::ptrdiff_t m_textureAttributes = 0xE8; // CUtlVector + constexpr std::ptrdiff_t m_stringAttributes = 0x100; // CUtlVector + constexpr std::ptrdiff_t m_renderAttributesUsed = 0x118; // CUtlVector +} + +namespace PostProcessingBloomParameters_t { + constexpr std::ptrdiff_t m_blendMode = 0x0; // BloomBlendMode_t + constexpr std::ptrdiff_t m_flBloomStrength = 0x4; // float + constexpr std::ptrdiff_t m_flScreenBloomStrength = 0x8; // float + constexpr std::ptrdiff_t m_flBlurBloomStrength = 0xC; // float + constexpr std::ptrdiff_t m_flBloomThreshold = 0x10; // float + constexpr std::ptrdiff_t m_flBloomThresholdWidth = 0x14; // float + constexpr std::ptrdiff_t m_flSkyboxBloomStrength = 0x18; // float + constexpr std::ptrdiff_t m_flBloomStartValue = 0x1C; // float + constexpr std::ptrdiff_t m_flBlurWeight = 0x20; // float[5] + constexpr std::ptrdiff_t m_vBlurTint = 0x34; // Vector[5] +} + +namespace PostProcessingLocalContrastParameters_t { + constexpr std::ptrdiff_t m_flLocalContrastStrength = 0x0; // float + constexpr std::ptrdiff_t m_flLocalContrastEdgeStrength = 0x4; // float + constexpr std::ptrdiff_t m_flLocalContrastVignetteStart = 0x8; // float + constexpr std::ptrdiff_t m_flLocalContrastVignetteEnd = 0xC; // float + constexpr std::ptrdiff_t m_flLocalContrastVignetteBlur = 0x10; // float +} + +namespace PostProcessingResource_t { + constexpr std::ptrdiff_t m_bHasTonemapParams = 0x0; // bool + constexpr std::ptrdiff_t m_toneMapParams = 0x4; // PostProcessingTonemapParameters_t + constexpr std::ptrdiff_t m_bHasBloomParams = 0x40; // bool + constexpr std::ptrdiff_t m_bloomParams = 0x44; // PostProcessingBloomParameters_t + constexpr std::ptrdiff_t m_bHasVignetteParams = 0xB4; // bool + constexpr std::ptrdiff_t m_vignetteParams = 0xB8; // PostProcessingVignetteParameters_t + constexpr std::ptrdiff_t m_bHasLocalContrastParams = 0xDC; // bool + constexpr std::ptrdiff_t m_localConstrastParams = 0xE0; // PostProcessingLocalContrastParameters_t + constexpr std::ptrdiff_t m_nColorCorrectionVolumeDim = 0xF4; // int32_t + constexpr std::ptrdiff_t m_colorCorrectionVolumeData = 0xF8; // CUtlBinaryBlock + constexpr std::ptrdiff_t m_bHasColorCorrection = 0x110; // bool +} + +namespace PostProcessingTonemapParameters_t { + constexpr std::ptrdiff_t m_flExposureBias = 0x0; // float + constexpr std::ptrdiff_t m_flShoulderStrength = 0x4; // float + constexpr std::ptrdiff_t m_flLinearStrength = 0x8; // float + constexpr std::ptrdiff_t m_flLinearAngle = 0xC; // float + constexpr std::ptrdiff_t m_flToeStrength = 0x10; // float + constexpr std::ptrdiff_t m_flToeNum = 0x14; // float + constexpr std::ptrdiff_t m_flToeDenom = 0x18; // float + constexpr std::ptrdiff_t m_flWhitePoint = 0x1C; // float + constexpr std::ptrdiff_t m_flLuminanceSource = 0x20; // float + constexpr std::ptrdiff_t m_flExposureBiasShadows = 0x24; // float + constexpr std::ptrdiff_t m_flExposureBiasHighlights = 0x28; // float + constexpr std::ptrdiff_t m_flMinShadowLum = 0x2C; // float + constexpr std::ptrdiff_t m_flMaxShadowLum = 0x30; // float + constexpr std::ptrdiff_t m_flMinHighlightLum = 0x34; // float + constexpr std::ptrdiff_t m_flMaxHighlightLum = 0x38; // float +} + +namespace PostProcessingVignetteParameters_t { + constexpr std::ptrdiff_t m_flVignetteStrength = 0x0; // float + constexpr std::ptrdiff_t m_vCenter = 0x4; // Vector2D + constexpr std::ptrdiff_t m_flRadius = 0xC; // float + constexpr std::ptrdiff_t m_flRoundness = 0x10; // float + constexpr std::ptrdiff_t m_flFeather = 0x14; // float + constexpr std::ptrdiff_t m_vColorTint = 0x18; // Vector +} \ No newline at end of file diff --git a/HPCS2/offset/networksystem.dll.hpp b/HPCS2/offset/networksystem.dll.hpp new file mode 100644 index 0000000..25f40df --- /dev/null +++ b/HPCS2/offset/networksystem.dll.hpp @@ -0,0 +1,12 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace ChangeAccessorFieldPathIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int16_t +} \ No newline at end of file diff --git a/HPCS2/offset/offsets.hpp b/HPCS2/offset/offsets.hpp new file mode 100644 index 0000000..a7b8719 --- /dev/null +++ b/HPCS2/offset/offsets.hpp @@ -0,0 +1,49 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:24 +0000 + */ + +#pragma once + +#include + +namespace client_dll { // client.dll + constexpr std::ptrdiff_t dwBaseEntityModel_setModel = 0x581530; + constexpr std::ptrdiff_t dwEntityList = 0x17AB958; + constexpr std::ptrdiff_t dwForceAttack = 0x16B02B0; + constexpr std::ptrdiff_t dwForceAttack2 = 0x16B0340; + constexpr std::ptrdiff_t dwForceBackward = 0x16B0580; + constexpr std::ptrdiff_t dwForceCrouch = 0x16B0850; + constexpr std::ptrdiff_t dwForceForward = 0x16B04F0; + constexpr std::ptrdiff_t dwForceJump = 0x16B07C0; + constexpr std::ptrdiff_t dwForceLeft = 0x16B0610; + constexpr std::ptrdiff_t dwForceRight = 0x16B06A0; + constexpr std::ptrdiff_t dwGameEntitySystem = 0x18D51A8; + constexpr std::ptrdiff_t dwGameEntitySystem_getBaseEntity = 0x604B40; + constexpr std::ptrdiff_t dwGameEntitySystem_getHighestEntityIndex = 0x5F6830; + constexpr std::ptrdiff_t dwGameRules = 0x1807FA8; + constexpr std::ptrdiff_t dwGlobalVars = 0x16AC100; + constexpr std::ptrdiff_t dwGlowManager = 0x1807708; + constexpr std::ptrdiff_t dwInterfaceLinkList = 0x1902EB8; + constexpr std::ptrdiff_t dwLocalPlayerController = 0x17FAC68; + constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x16B7340; + constexpr std::ptrdiff_t dwPlantedC4 = 0x180EB48; + constexpr std::ptrdiff_t dwPrediction = 0x16B7210; + constexpr std::ptrdiff_t dwViewAngles = 0x18690D8; + constexpr std::ptrdiff_t dwViewMatrix = 0x180A0D0; + constexpr std::ptrdiff_t dwViewRender = 0x180A090; +} + +namespace engine2_dll { // engine2.dll + constexpr std::ptrdiff_t dwBuildNumber = 0x488514; + constexpr std::ptrdiff_t dwNetworkGameClient = 0x487AB0; + constexpr std::ptrdiff_t dwNetworkGameClient_getLocalPlayer = 0xF0; + constexpr std::ptrdiff_t dwNetworkGameClient_maxClients = 0x250; + constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x240; + constexpr std::ptrdiff_t dwWindowHeight = 0x5397DC; + constexpr std::ptrdiff_t dwWindowWidth = 0x5397D8; +} + +namespace inputsystem_dll { // inputsystem.dll + constexpr std::ptrdiff_t dwInputSystem = 0x35770; +} \ No newline at end of file diff --git a/HPCS2/offset/particles.dll.hpp b/HPCS2/offset/particles.dll.hpp new file mode 100644 index 0000000..16516c4 --- /dev/null +++ b/HPCS2/offset/particles.dll.hpp @@ -0,0 +1,4037 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace CBaseRendererSource2 { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flRadiusScale = 0x200; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flAlphaScale = 0x358; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flRollScale = 0x4B0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nAlpha2Field = 0x608; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecColorScale = 0x610; // CParticleCollectionRendererVecInput + constexpr std::ptrdiff_t m_nColorBlendType = 0xC68; // ParticleColorBlendType_t + constexpr std::ptrdiff_t m_nShaderType = 0xC6C; // SpriteCardShaderType_t + constexpr std::ptrdiff_t m_strShaderOverride = 0xC70; // CUtlString + constexpr std::ptrdiff_t m_flCenterXOffset = 0xC78; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flCenterYOffset = 0xDD0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flBumpStrength = 0xF28; // float + constexpr std::ptrdiff_t m_nCropTextureOverride = 0xF2C; // ParticleSequenceCropOverride_t + constexpr std::ptrdiff_t m_vecTexturesInput = 0xF30; // CUtlVector + constexpr std::ptrdiff_t m_flAnimationRate = 0xF48; // float + constexpr std::ptrdiff_t m_nAnimationType = 0xF4C; // AnimationType_t + constexpr std::ptrdiff_t m_bAnimateInFPS = 0xF50; // bool + constexpr std::ptrdiff_t m_flSelfIllumAmount = 0xF58; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flDiffuseAmount = 0x10B0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nLightingControlPoint = 0x1208; // int32_t + constexpr std::ptrdiff_t m_nSelfIllumPerParticle = 0x120C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nOutputBlendMode = 0x1210; // ParticleOutputBlendMode_t + constexpr std::ptrdiff_t m_bGammaCorrectVertexColors = 0x1214; // bool + constexpr std::ptrdiff_t m_bSaturateColorPreAlphaBlend = 0x1215; // bool + constexpr std::ptrdiff_t m_flAddSelfAmount = 0x1218; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flDesaturation = 0x1370; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flOverbrightFactor = 0x14C8; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nHSVShiftControlPoint = 0x1620; // int32_t + constexpr std::ptrdiff_t m_nFogType = 0x1624; // ParticleFogType_t + constexpr std::ptrdiff_t m_flFogAmount = 0x1628; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_bTintByFOW = 0x1780; // bool + constexpr std::ptrdiff_t m_bTintByGlobalLight = 0x1781; // bool + constexpr std::ptrdiff_t m_nPerParticleAlphaReference = 0x1784; // SpriteCardPerParticleScale_t + constexpr std::ptrdiff_t m_nPerParticleAlphaRefWindow = 0x1788; // SpriteCardPerParticleScale_t + constexpr std::ptrdiff_t m_nAlphaReferenceType = 0x178C; // ParticleAlphaReferenceType_t + constexpr std::ptrdiff_t m_flAlphaReferenceSoftness = 0x1790; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flSourceAlphaValueToMapToZero = 0x18E8; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flSourceAlphaValueToMapToOne = 0x1A40; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_bRefract = 0x1B98; // bool + constexpr std::ptrdiff_t m_bRefractSolid = 0x1B99; // bool + constexpr std::ptrdiff_t m_flRefractAmount = 0x1BA0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nRefractBlurRadius = 0x1CF8; // int32_t + constexpr std::ptrdiff_t m_nRefractBlurType = 0x1CFC; // BlurFilterType_t + constexpr std::ptrdiff_t m_bOnlyRenderInEffectsBloomPass = 0x1D00; // bool + constexpr std::ptrdiff_t m_bOnlyRenderInEffectsWaterPass = 0x1D01; // bool + constexpr std::ptrdiff_t m_bUseMixedResolutionRendering = 0x1D02; // bool + constexpr std::ptrdiff_t m_bOnlyRenderInEffecsGameOverlay = 0x1D03; // bool + constexpr std::ptrdiff_t m_stencilTestID = 0x1D04; // char[128] + constexpr std::ptrdiff_t m_bStencilTestExclude = 0x1D84; // bool + constexpr std::ptrdiff_t m_stencilWriteID = 0x1D85; // char[128] + constexpr std::ptrdiff_t m_bWriteStencilOnDepthPass = 0x1E05; // bool + constexpr std::ptrdiff_t m_bWriteStencilOnDepthFail = 0x1E06; // bool + constexpr std::ptrdiff_t m_bReverseZBuffering = 0x1E07; // bool + constexpr std::ptrdiff_t m_bDisableZBuffering = 0x1E08; // bool + constexpr std::ptrdiff_t m_nFeatheringMode = 0x1E0C; // ParticleDepthFeatheringMode_t + constexpr std::ptrdiff_t m_flFeatheringMinDist = 0x1E10; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flFeatheringMaxDist = 0x1F68; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flFeatheringFilter = 0x20C0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flDepthBias = 0x2218; // float + constexpr std::ptrdiff_t m_nSortMethod = 0x221C; // ParticleSortingChoiceList_t + constexpr std::ptrdiff_t m_bBlendFramesSeq0 = 0x2220; // bool + constexpr std::ptrdiff_t m_bMaxLuminanceBlendingSequence0 = 0x2221; // bool +} + +namespace CBaseTrailRenderer { // CBaseRendererSource2 + constexpr std::ptrdiff_t m_nOrientationType = 0x2470; // ParticleOrientationChoiceList_t + constexpr std::ptrdiff_t m_nOrientationControlPoint = 0x2474; // int32_t + constexpr std::ptrdiff_t m_flMinSize = 0x2478; // float + constexpr std::ptrdiff_t m_flMaxSize = 0x247C; // float + constexpr std::ptrdiff_t m_flStartFadeSize = 0x2480; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flEndFadeSize = 0x25D8; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_bClampV = 0x2730; // bool +} + +namespace CGeneralRandomRotation { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flDegrees = 0x1C4; // float + constexpr std::ptrdiff_t m_flDegreesMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flDegreesMax = 0x1CC; // float + constexpr std::ptrdiff_t m_flRotationRandExponent = 0x1D0; // float + constexpr std::ptrdiff_t m_bRandomlyFlipDirection = 0x1D4; // bool +} + +namespace CGeneralSpin { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nSpinRateDegrees = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nSpinRateMinDegrees = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_fSpinRateStopTime = 0x1CC; // float +} + +namespace CNewParticleEffect { // IParticleEffect + constexpr std::ptrdiff_t m_pNext = 0x10; // CNewParticleEffect* + constexpr std::ptrdiff_t m_pPrev = 0x18; // CNewParticleEffect* + constexpr std::ptrdiff_t m_pParticles = 0x20; // IParticleCollection* + constexpr std::ptrdiff_t m_pDebugName = 0x28; // char* + constexpr std::ptrdiff_t m_bDontRemove = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bRemove = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNeedsBBoxUpdate = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bIsFirstFrame = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bAutoUpdateBBox = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bAllocated = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bSimulate = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bShouldPerformCullCheck = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bForceNoDraw = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bShouldSave = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bDisableAggregation = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bShouldSimulateDuringGamePaused = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bShouldCheckFoW = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_vSortOrigin = 0x40; // Vector + constexpr std::ptrdiff_t m_flScale = 0x4C; // float + constexpr std::ptrdiff_t m_hOwner = 0x50; // PARTICLE_EHANDLE__* + constexpr std::ptrdiff_t m_pOwningParticleProperty = 0x58; // CParticleProperty* + constexpr std::ptrdiff_t m_flFreezeTransitionStart = 0x70; // float + constexpr std::ptrdiff_t m_flFreezeTransitionDuration = 0x74; // float + constexpr std::ptrdiff_t m_flFreezeTransitionOverride = 0x78; // float + constexpr std::ptrdiff_t m_bFreezeTransitionActive = 0x7C; // bool + constexpr std::ptrdiff_t m_bFreezeTargetState = 0x7D; // bool + constexpr std::ptrdiff_t m_bCanFreeze = 0x7E; // bool + constexpr std::ptrdiff_t m_LastMin = 0x80; // Vector + constexpr std::ptrdiff_t m_LastMax = 0x8C; // Vector + constexpr std::ptrdiff_t m_nSplitScreenUser = 0x98; // CSplitScreenSlot + constexpr std::ptrdiff_t m_vecAggregationCenter = 0x9C; // Vector + constexpr std::ptrdiff_t m_RefCount = 0xC0; // int32_t +} + +namespace CParticleBindingRealPulse { // CParticleCollectionBindingInstance +} + +namespace CParticleCollectionBindingInstance { // CBasePulseGraphInstance +} + +namespace CParticleCollectionFloatInput { // CParticleFloatInput +} + +namespace CParticleCollectionRendererFloatInput { // CParticleCollectionFloatInput +} + +namespace CParticleCollectionRendererVecInput { // CParticleCollectionVecInput +} + +namespace CParticleCollectionVecInput { // CParticleVecInput +} + +namespace CParticleFloatInput { // CParticleInput + constexpr std::ptrdiff_t m_nType = 0x10; // ParticleFloatType_t + constexpr std::ptrdiff_t m_nMapType = 0x14; // ParticleFloatMapType_t + constexpr std::ptrdiff_t m_flLiteralValue = 0x18; // float + constexpr std::ptrdiff_t m_NamedValue = 0x20; // CParticleNamedValueRef + constexpr std::ptrdiff_t m_nControlPoint = 0x60; // int32_t + constexpr std::ptrdiff_t m_nScalarAttribute = 0x64; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nVectorAttribute = 0x68; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nVectorComponent = 0x6C; // int32_t + constexpr std::ptrdiff_t m_flRandomMin = 0x70; // float + constexpr std::ptrdiff_t m_flRandomMax = 0x74; // float + constexpr std::ptrdiff_t m_bHasRandomSignFlip = 0x78; // bool + constexpr std::ptrdiff_t m_nRandomSeed = 0x7C; // int32_t + constexpr std::ptrdiff_t m_nRandomMode = 0x80; // ParticleFloatRandomMode_t + constexpr std::ptrdiff_t m_flLOD0 = 0x88; // float + constexpr std::ptrdiff_t m_flLOD1 = 0x8C; // float + constexpr std::ptrdiff_t m_flLOD2 = 0x90; // float + constexpr std::ptrdiff_t m_flLOD3 = 0x94; // float + constexpr std::ptrdiff_t m_nNoiseInputVectorAttribute = 0x98; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flNoiseOutputMin = 0x9C; // float + constexpr std::ptrdiff_t m_flNoiseOutputMax = 0xA0; // float + constexpr std::ptrdiff_t m_flNoiseScale = 0xA4; // float + constexpr std::ptrdiff_t m_vecNoiseOffsetRate = 0xA8; // Vector + constexpr std::ptrdiff_t m_flNoiseOffset = 0xB4; // float + constexpr std::ptrdiff_t m_nNoiseOctaves = 0xB8; // int32_t + constexpr std::ptrdiff_t m_nNoiseTurbulence = 0xBC; // PFNoiseTurbulence_t + constexpr std::ptrdiff_t m_nNoiseType = 0xC0; // PFNoiseType_t + constexpr std::ptrdiff_t m_nNoiseModifier = 0xC4; // PFNoiseModifier_t + constexpr std::ptrdiff_t m_flNoiseTurbulenceScale = 0xC8; // float + constexpr std::ptrdiff_t m_flNoiseTurbulenceMix = 0xCC; // float + constexpr std::ptrdiff_t m_flNoiseImgPreviewScale = 0xD0; // float + constexpr std::ptrdiff_t m_bNoiseImgPreviewLive = 0xD4; // bool + constexpr std::ptrdiff_t m_flNoCameraFallback = 0xE0; // float + constexpr std::ptrdiff_t m_bUseBoundsCenter = 0xE4; // bool + constexpr std::ptrdiff_t m_nInputMode = 0xE8; // ParticleFloatInputMode_t + constexpr std::ptrdiff_t m_flMultFactor = 0xEC; // float + constexpr std::ptrdiff_t m_flInput0 = 0xF0; // float + constexpr std::ptrdiff_t m_flInput1 = 0xF4; // float + constexpr std::ptrdiff_t m_flOutput0 = 0xF8; // float + constexpr std::ptrdiff_t m_flOutput1 = 0xFC; // float + constexpr std::ptrdiff_t m_flNotchedRangeMin = 0x100; // float + constexpr std::ptrdiff_t m_flNotchedRangeMax = 0x104; // float + constexpr std::ptrdiff_t m_flNotchedOutputOutside = 0x108; // float + constexpr std::ptrdiff_t m_flNotchedOutputInside = 0x10C; // float + constexpr std::ptrdiff_t m_nBiasType = 0x110; // ParticleFloatBiasType_t + constexpr std::ptrdiff_t m_flBiasParameter = 0x114; // float + constexpr std::ptrdiff_t m_Curve = 0x118; // CPiecewiseCurve +} + +namespace CParticleFunction { + constexpr std::ptrdiff_t m_flOpStrength = 0x8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nOpEndCapState = 0x160; // ParticleEndcapMode_t + constexpr std::ptrdiff_t m_flOpStartFadeInTime = 0x164; // float + constexpr std::ptrdiff_t m_flOpEndFadeInTime = 0x168; // float + constexpr std::ptrdiff_t m_flOpStartFadeOutTime = 0x16C; // float + constexpr std::ptrdiff_t m_flOpEndFadeOutTime = 0x170; // float + constexpr std::ptrdiff_t m_flOpFadeOscillatePeriod = 0x174; // float + constexpr std::ptrdiff_t m_bNormalizeToStopTime = 0x178; // bool + constexpr std::ptrdiff_t m_flOpTimeOffsetMin = 0x17C; // float + constexpr std::ptrdiff_t m_flOpTimeOffsetMax = 0x180; // float + constexpr std::ptrdiff_t m_nOpTimeOffsetSeed = 0x184; // int32_t + constexpr std::ptrdiff_t m_nOpTimeScaleSeed = 0x188; // int32_t + constexpr std::ptrdiff_t m_flOpTimeScaleMin = 0x18C; // float + constexpr std::ptrdiff_t m_flOpTimeScaleMax = 0x190; // float + constexpr std::ptrdiff_t m_bDisableOperator = 0x196; // bool + constexpr std::ptrdiff_t m_Notes = 0x198; // CUtlString +} + +namespace CParticleFunctionConstraint { // CParticleFunction +} + +namespace CParticleFunctionEmitter { // CParticleFunction + constexpr std::ptrdiff_t m_nEmitterIndex = 0x1B8; // int32_t +} + +namespace CParticleFunctionForce { // CParticleFunction +} + +namespace CParticleFunctionInitializer { // CParticleFunction + constexpr std::ptrdiff_t m_nAssociatedEmitterIndex = 0x1B8; // int32_t +} + +namespace CParticleFunctionOperator { // CParticleFunction +} + +namespace CParticleFunctionPreEmission { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_bRunOnce = 0x1C0; // bool +} + +namespace CParticleFunctionRenderer { // CParticleFunction + constexpr std::ptrdiff_t VisibilityInputs = 0x1B8; // CParticleVisibilityInputs + constexpr std::ptrdiff_t m_bCannotBeRefracted = 0x1FC; // bool + constexpr std::ptrdiff_t m_bSkipRenderingOnMobile = 0x1FD; // bool +} + +namespace CParticleInput { +} + +namespace CParticleModelInput { // CParticleInput + constexpr std::ptrdiff_t m_nType = 0x10; // ParticleModelType_t + constexpr std::ptrdiff_t m_NamedValue = 0x18; // CParticleNamedValueRef + constexpr std::ptrdiff_t m_nControlPoint = 0x58; // int32_t +} + +namespace CParticleProperty { +} + +namespace CParticleRemapFloatInput { // CParticleFloatInput +} + +namespace CParticleSystemDefinition { // IParticleSystemDefinition + constexpr std::ptrdiff_t m_nBehaviorVersion = 0x8; // int32_t + constexpr std::ptrdiff_t m_PreEmissionOperators = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_Emitters = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_Initializers = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_Operators = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_ForceGenerators = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_Constraints = 0x88; // CUtlVector + constexpr std::ptrdiff_t m_Renderers = 0xA0; // CUtlVector + constexpr std::ptrdiff_t m_Children = 0xB8; // CUtlVector + constexpr std::ptrdiff_t m_nFirstMultipleOverride_BackwardCompat = 0x178; // int32_t + constexpr std::ptrdiff_t m_nInitialParticles = 0x210; // int32_t + constexpr std::ptrdiff_t m_nMaxParticles = 0x214; // int32_t + constexpr std::ptrdiff_t m_nGroupID = 0x218; // int32_t + constexpr std::ptrdiff_t m_BoundingBoxMin = 0x21C; // Vector + constexpr std::ptrdiff_t m_BoundingBoxMax = 0x228; // Vector + constexpr std::ptrdiff_t m_flDepthSortBias = 0x234; // float + constexpr std::ptrdiff_t m_nSortOverridePositionCP = 0x238; // int32_t + constexpr std::ptrdiff_t m_bInfiniteBounds = 0x23C; // bool + constexpr std::ptrdiff_t m_bEnableNamedValues = 0x23D; // bool + constexpr std::ptrdiff_t m_NamedValueDomain = 0x240; // CUtlString + constexpr std::ptrdiff_t m_NamedValueLocals = 0x248; // CUtlVector + constexpr std::ptrdiff_t m_ConstantColor = 0x260; // Color + constexpr std::ptrdiff_t m_ConstantNormal = 0x264; // Vector + constexpr std::ptrdiff_t m_flConstantRadius = 0x270; // float + constexpr std::ptrdiff_t m_flConstantRotation = 0x274; // float + constexpr std::ptrdiff_t m_flConstantRotationSpeed = 0x278; // float + constexpr std::ptrdiff_t m_flConstantLifespan = 0x27C; // float + constexpr std::ptrdiff_t m_nConstantSequenceNumber = 0x280; // int32_t + constexpr std::ptrdiff_t m_nConstantSequenceNumber1 = 0x284; // int32_t + constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x288; // int32_t + constexpr std::ptrdiff_t m_hSnapshot = 0x290; // CStrongHandle + constexpr std::ptrdiff_t m_pszCullReplacementName = 0x298; // CStrongHandle + constexpr std::ptrdiff_t m_flCullRadius = 0x2A0; // float + constexpr std::ptrdiff_t m_flCullFillCost = 0x2A4; // float + constexpr std::ptrdiff_t m_nCullControlPoint = 0x2A8; // int32_t + constexpr std::ptrdiff_t m_hFallback = 0x2B0; // CStrongHandle + constexpr std::ptrdiff_t m_nFallbackMaxCount = 0x2B8; // int32_t + constexpr std::ptrdiff_t m_hLowViolenceDef = 0x2C0; // CStrongHandle + constexpr std::ptrdiff_t m_hReferenceReplacement = 0x2C8; // CStrongHandle + constexpr std::ptrdiff_t m_flPreSimulationTime = 0x2D0; // float + constexpr std::ptrdiff_t m_flStopSimulationAfterTime = 0x2D4; // float + constexpr std::ptrdiff_t m_flMaximumTimeStep = 0x2D8; // float + constexpr std::ptrdiff_t m_flMaximumSimTime = 0x2DC; // float + constexpr std::ptrdiff_t m_flMinimumSimTime = 0x2E0; // float + constexpr std::ptrdiff_t m_flMinimumTimeStep = 0x2E4; // float + constexpr std::ptrdiff_t m_nMinimumFrames = 0x2E8; // int32_t + constexpr std::ptrdiff_t m_nMinCPULevel = 0x2EC; // int32_t + constexpr std::ptrdiff_t m_nMinGPULevel = 0x2F0; // int32_t + constexpr std::ptrdiff_t m_flNoDrawTimeToGoToSleep = 0x2F4; // float + constexpr std::ptrdiff_t m_flMaxDrawDistance = 0x2F8; // float + constexpr std::ptrdiff_t m_flStartFadeDistance = 0x2FC; // float + constexpr std::ptrdiff_t m_flMaxCreationDistance = 0x300; // float + constexpr std::ptrdiff_t m_nAggregationMinAvailableParticles = 0x304; // int32_t + constexpr std::ptrdiff_t m_flAggregateRadius = 0x308; // float + constexpr std::ptrdiff_t m_bShouldBatch = 0x30C; // bool + constexpr std::ptrdiff_t m_bShouldHitboxesFallbackToRenderBounds = 0x30D; // bool + constexpr std::ptrdiff_t m_bShouldHitboxesFallbackToSnapshot = 0x30E; // bool + constexpr std::ptrdiff_t m_nViewModelEffect = 0x310; // InheritableBoolType_t + constexpr std::ptrdiff_t m_bScreenSpaceEffect = 0x314; // bool + constexpr std::ptrdiff_t m_pszTargetLayerID = 0x318; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nSkipRenderControlPoint = 0x320; // int32_t + constexpr std::ptrdiff_t m_nAllowRenderControlPoint = 0x324; // int32_t + constexpr std::ptrdiff_t m_bShouldSort = 0x328; // bool + constexpr std::ptrdiff_t m_controlPointConfigurations = 0x370; // CUtlVector +} + +namespace CParticleTransformInput { // CParticleInput + constexpr std::ptrdiff_t m_nType = 0x10; // ParticleTransformType_t + constexpr std::ptrdiff_t m_NamedValue = 0x18; // CParticleNamedValueRef + constexpr std::ptrdiff_t m_bFollowNamedValue = 0x58; // bool + constexpr std::ptrdiff_t m_bSupportsDisabled = 0x59; // bool + constexpr std::ptrdiff_t m_bUseOrientation = 0x5A; // bool + constexpr std::ptrdiff_t m_nControlPoint = 0x5C; // int32_t + constexpr std::ptrdiff_t m_nControlPointRangeMax = 0x60; // int32_t + constexpr std::ptrdiff_t m_flEndCPGrowthTime = 0x64; // float +} + +namespace CParticleVariableRef { + constexpr std::ptrdiff_t m_variableName = 0x0; // CKV3MemberNameWithStorage + constexpr std::ptrdiff_t m_variableType = 0x38; // PulseValueType_t +} + +namespace CParticleVecInput { // CParticleInput + constexpr std::ptrdiff_t m_nType = 0x10; // ParticleVecType_t + constexpr std::ptrdiff_t m_vLiteralValue = 0x14; // Vector + constexpr std::ptrdiff_t m_LiteralColor = 0x20; // Color + constexpr std::ptrdiff_t m_NamedValue = 0x28; // CParticleNamedValueRef + constexpr std::ptrdiff_t m_bFollowNamedValue = 0x68; // bool + constexpr std::ptrdiff_t m_nVectorAttribute = 0x6C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vVectorAttributeScale = 0x70; // Vector + constexpr std::ptrdiff_t m_nControlPoint = 0x7C; // int32_t + constexpr std::ptrdiff_t m_nDeltaControlPoint = 0x80; // int32_t + constexpr std::ptrdiff_t m_vCPValueScale = 0x84; // Vector + constexpr std::ptrdiff_t m_vCPRelativePosition = 0x90; // Vector + constexpr std::ptrdiff_t m_vCPRelativeDir = 0x9C; // Vector + constexpr std::ptrdiff_t m_FloatComponentX = 0xA8; // CParticleFloatInput + constexpr std::ptrdiff_t m_FloatComponentY = 0x200; // CParticleFloatInput + constexpr std::ptrdiff_t m_FloatComponentZ = 0x358; // CParticleFloatInput + constexpr std::ptrdiff_t m_FloatInterp = 0x4B0; // CParticleFloatInput + constexpr std::ptrdiff_t m_flInterpInput0 = 0x608; // float + constexpr std::ptrdiff_t m_flInterpInput1 = 0x60C; // float + constexpr std::ptrdiff_t m_vInterpOutput0 = 0x610; // Vector + constexpr std::ptrdiff_t m_vInterpOutput1 = 0x61C; // Vector + constexpr std::ptrdiff_t m_Gradient = 0x628; // CColorGradient + constexpr std::ptrdiff_t m_vRandomMin = 0x640; // Vector + constexpr std::ptrdiff_t m_vRandomMax = 0x64C; // Vector +} + +namespace CParticleVisibilityInputs { + constexpr std::ptrdiff_t m_flCameraBias = 0x0; // float + constexpr std::ptrdiff_t m_nCPin = 0x4; // int32_t + constexpr std::ptrdiff_t m_flProxyRadius = 0x8; // float + constexpr std::ptrdiff_t m_flInputMin = 0xC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x10; // float + constexpr std::ptrdiff_t m_flNoPixelVisibilityFallback = 0x14; // float + constexpr std::ptrdiff_t m_flDistanceInputMin = 0x18; // float + constexpr std::ptrdiff_t m_flDistanceInputMax = 0x1C; // float + constexpr std::ptrdiff_t m_flDotInputMin = 0x20; // float + constexpr std::ptrdiff_t m_flDotInputMax = 0x24; // float + constexpr std::ptrdiff_t m_bDotCPAngles = 0x28; // bool + constexpr std::ptrdiff_t m_bDotCameraAngles = 0x29; // bool + constexpr std::ptrdiff_t m_flAlphaScaleMin = 0x2C; // float + constexpr std::ptrdiff_t m_flAlphaScaleMax = 0x30; // float + constexpr std::ptrdiff_t m_flRadiusScaleMin = 0x34; // float + constexpr std::ptrdiff_t m_flRadiusScaleMax = 0x38; // float + constexpr std::ptrdiff_t m_flRadiusScaleFOVBase = 0x3C; // float + constexpr std::ptrdiff_t m_bRightEye = 0x40; // bool +} + +namespace CPathParameters { + constexpr std::ptrdiff_t m_nStartControlPointNumber = 0x0; // int32_t + constexpr std::ptrdiff_t m_nEndControlPointNumber = 0x4; // int32_t + constexpr std::ptrdiff_t m_nBulgeControl = 0x8; // int32_t + constexpr std::ptrdiff_t m_flBulge = 0xC; // float + constexpr std::ptrdiff_t m_flMidPoint = 0x10; // float + constexpr std::ptrdiff_t m_vStartPointOffset = 0x14; // Vector + constexpr std::ptrdiff_t m_vMidPointOffset = 0x20; // Vector + constexpr std::ptrdiff_t m_vEndOffset = 0x2C; // Vector +} + +namespace CPerParticleFloatInput { // CParticleFloatInput +} + +namespace CPerParticleVecInput { // CParticleVecInput +} + +namespace CRandomNumberGeneratorParameters { + constexpr std::ptrdiff_t m_bDistributeEvenly = 0x0; // bool + constexpr std::ptrdiff_t m_nSeed = 0x4; // int32_t +} + +namespace CSpinUpdateBase { // CParticleFunctionOperator +} + +namespace C_INIT_AddVectorToVector { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecScale = 0x1C0; // Vector + constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldInput = 0x1D0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vOffsetMin = 0x1D4; // Vector + constexpr std::ptrdiff_t m_vOffsetMax = 0x1E0; // Vector + constexpr std::ptrdiff_t m_randomnessParameters = 0x1EC; // CRandomNumberGeneratorParameters +} + +namespace C_INIT_AgeNoise { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_bAbsVal = 0x1C0; // bool + constexpr std::ptrdiff_t m_bAbsValInv = 0x1C1; // bool + constexpr std::ptrdiff_t m_flOffset = 0x1C4; // float + constexpr std::ptrdiff_t m_flAgeMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flAgeMax = 0x1CC; // float + constexpr std::ptrdiff_t m_flNoiseScale = 0x1D0; // float + constexpr std::ptrdiff_t m_flNoiseScaleLoc = 0x1D4; // float + constexpr std::ptrdiff_t m_vecOffsetLoc = 0x1D8; // Vector +} + +namespace C_INIT_ChaoticAttractor { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flAParm = 0x1C0; // float + constexpr std::ptrdiff_t m_flBParm = 0x1C4; // float + constexpr std::ptrdiff_t m_flCParm = 0x1C8; // float + constexpr std::ptrdiff_t m_flDParm = 0x1CC; // float + constexpr std::ptrdiff_t m_flScale = 0x1D0; // float + constexpr std::ptrdiff_t m_flSpeedMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flSpeedMax = 0x1D8; // float + constexpr std::ptrdiff_t m_nBaseCP = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_bUniformSpeed = 0x1E0; // bool +} + +namespace C_INIT_ColorLitPerParticle { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_ColorMin = 0x1D8; // Color + constexpr std::ptrdiff_t m_ColorMax = 0x1DC; // Color + constexpr std::ptrdiff_t m_TintMin = 0x1E0; // Color + constexpr std::ptrdiff_t m_TintMax = 0x1E4; // Color + constexpr std::ptrdiff_t m_flTintPerc = 0x1E8; // float + constexpr std::ptrdiff_t m_nTintBlendMode = 0x1EC; // ParticleColorBlendMode_t + constexpr std::ptrdiff_t m_flLightAmplification = 0x1F0; // float +} + +namespace C_INIT_CreateAlongPath { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_fMaxDistance = 0x1C0; // float + constexpr std::ptrdiff_t m_PathParams = 0x1D0; // CPathParameters + constexpr std::ptrdiff_t m_bUseRandomCPs = 0x210; // bool + constexpr std::ptrdiff_t m_vEndOffset = 0x214; // Vector + constexpr std::ptrdiff_t m_bSaveOffset = 0x220; // bool +} + +namespace C_INIT_CreateFromCPs { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nIncrement = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nMinCP = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nMaxCP = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nDynamicCPCount = 0x1D0; // CParticleCollectionFloatInput +} + +namespace C_INIT_CreateFromParentParticles { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flVelocityScale = 0x1C0; // float + constexpr std::ptrdiff_t m_flIncrement = 0x1C4; // float + constexpr std::ptrdiff_t m_bRandomDistribution = 0x1C8; // bool + constexpr std::ptrdiff_t m_nRandomSeed = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_bSubFrame = 0x1D0; // bool +} + +namespace C_INIT_CreateFromPlaneCache { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecOffsetMin = 0x1C0; // Vector + constexpr std::ptrdiff_t m_vecOffsetMax = 0x1CC; // Vector + constexpr std::ptrdiff_t m_bUseNormal = 0x1D9; // bool +} + +namespace C_INIT_CreateInEpitrochoid { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nComponent1 = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nComponent2 = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput + constexpr std::ptrdiff_t m_flParticleDensity = 0x230; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOffset = 0x388; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRadius1 = 0x4E0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRadius2 = 0x638; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bUseCount = 0x790; // bool + constexpr std::ptrdiff_t m_bUseLocalCoords = 0x791; // bool + constexpr std::ptrdiff_t m_bOffsetExistingPos = 0x792; // bool +} + +namespace C_INIT_CreateOnGrid { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nXCount = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nYCount = 0x318; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nZCount = 0x470; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nXSpacing = 0x5C8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nYSpacing = 0x720; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nZSpacing = 0x878; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nControlPointNumber = 0x9D0; // int32_t + constexpr std::ptrdiff_t m_bLocalSpace = 0x9D4; // bool + constexpr std::ptrdiff_t m_bCenter = 0x9D5; // bool + constexpr std::ptrdiff_t m_bHollow = 0x9D6; // bool +} + +namespace C_INIT_CreateOnModel { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_modelInput = 0x1C0; // CParticleModelInput + constexpr std::ptrdiff_t m_transformInput = 0x220; // CParticleTransformInput + constexpr std::ptrdiff_t m_nForceInModel = 0x288; // int32_t + constexpr std::ptrdiff_t m_nDesiredHitbox = 0x28C; // int32_t + constexpr std::ptrdiff_t m_nHitboxValueFromControlPointIndex = 0x290; // int32_t + constexpr std::ptrdiff_t m_vecHitBoxScale = 0x298; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_flBoneVelocity = 0x8F0; // float + constexpr std::ptrdiff_t m_flMaxBoneVelocity = 0x8F4; // float + constexpr std::ptrdiff_t m_vecDirectionBias = 0x8F8; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_HitboxSetName = 0xF50; // char[128] + constexpr std::ptrdiff_t m_bLocalCoords = 0xFD0; // bool + constexpr std::ptrdiff_t m_bUseBones = 0xFD1; // bool + constexpr std::ptrdiff_t m_flShellSize = 0xFD8; // CParticleCollectionFloatInput +} + +namespace C_INIT_CreateOnModelAtHeight { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_bUseBones = 0x1C0; // bool + constexpr std::ptrdiff_t m_bForceZ = 0x1C1; // bool + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nHeightCP = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_bUseWaterHeight = 0x1CC; // bool + constexpr std::ptrdiff_t m_flDesiredHeight = 0x1D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_vecHitBoxScale = 0x328; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_vecDirectionBias = 0x980; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nBiasType = 0xFD8; // ParticleHitboxBiasType_t + constexpr std::ptrdiff_t m_bLocalCoords = 0xFDC; // bool + constexpr std::ptrdiff_t m_bPreferMovingBoxes = 0xFDD; // bool + constexpr std::ptrdiff_t m_HitboxSetName = 0xFDE; // char[128] + constexpr std::ptrdiff_t m_flHitboxVelocityScale = 0x1060; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flMaxBoneVelocity = 0x11B8; // CParticleCollectionFloatInput +} + +namespace C_INIT_CreateParticleImpulse { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_InputRadius = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_InputMagnitude = 0x318; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nFalloffFunction = 0x470; // ParticleFalloffFunction_t + constexpr std::ptrdiff_t m_InputFalloffExp = 0x478; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nImpulseType = 0x5D0; // ParticleImpulseType_t +} + +namespace C_INIT_CreatePhyllotaxis { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nScaleCP = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nComponent = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_fRadCentCore = 0x1CC; // float + constexpr std::ptrdiff_t m_fRadPerPoint = 0x1D0; // float + constexpr std::ptrdiff_t m_fRadPerPointTo = 0x1D4; // float + constexpr std::ptrdiff_t m_fpointAngle = 0x1D8; // float + constexpr std::ptrdiff_t m_fsizeOverall = 0x1DC; // float + constexpr std::ptrdiff_t m_fRadBias = 0x1E0; // float + constexpr std::ptrdiff_t m_fMinRad = 0x1E4; // float + constexpr std::ptrdiff_t m_fDistBias = 0x1E8; // float + constexpr std::ptrdiff_t m_bUseLocalCoords = 0x1EC; // bool + constexpr std::ptrdiff_t m_bUseWithContEmit = 0x1ED; // bool + constexpr std::ptrdiff_t m_bUseOrigRadius = 0x1EE; // bool +} + +namespace C_INIT_CreateSequentialPath { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_fMaxDistance = 0x1C0; // float + constexpr std::ptrdiff_t m_flNumToAssign = 0x1C4; // float + constexpr std::ptrdiff_t m_bLoop = 0x1C8; // bool + constexpr std::ptrdiff_t m_bCPPairs = 0x1C9; // bool + constexpr std::ptrdiff_t m_bSaveOffset = 0x1CA; // bool + constexpr std::ptrdiff_t m_PathParams = 0x1D0; // CPathParameters +} + +namespace C_INIT_CreateSequentialPathV2 { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_fMaxDistance = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flNumToAssign = 0x318; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bLoop = 0x470; // bool + constexpr std::ptrdiff_t m_bCPPairs = 0x471; // bool + constexpr std::ptrdiff_t m_bSaveOffset = 0x472; // bool + constexpr std::ptrdiff_t m_PathParams = 0x480; // CPathParameters +} + +namespace C_INIT_CreateSpiralSphere { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nOverrideCP = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nDensity = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_flInitialRadius = 0x1CC; // float + constexpr std::ptrdiff_t m_flInitialSpeedMin = 0x1D0; // float + constexpr std::ptrdiff_t m_flInitialSpeedMax = 0x1D4; // float + constexpr std::ptrdiff_t m_bUseParticleCount = 0x1D8; // bool +} + +namespace C_INIT_CreateWithinBox { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecMin = 0x1C0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecMax = 0x818; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nControlPointNumber = 0xE70; // int32_t + constexpr std::ptrdiff_t m_bLocalSpace = 0xE74; // bool + constexpr std::ptrdiff_t m_randomnessParameters = 0xE78; // CRandomNumberGeneratorParameters +} + +namespace C_INIT_CreateWithinSphereTransform { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_fRadiusMin = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_fRadiusMax = 0x318; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vecDistanceBias = 0x470; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecDistanceBiasAbs = 0xAC8; // Vector + constexpr std::ptrdiff_t m_TransformInput = 0xAD8; // CParticleTransformInput + constexpr std::ptrdiff_t m_fSpeedMin = 0xB40; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_fSpeedMax = 0xC98; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_fSpeedRandExp = 0xDF0; // float + constexpr std::ptrdiff_t m_bLocalCoords = 0xDF4; // bool + constexpr std::ptrdiff_t m_flEndCPGrowthTime = 0xDF8; // float + constexpr std::ptrdiff_t m_LocalCoordinateSystemSpeedMin = 0xE00; // CPerParticleVecInput + constexpr std::ptrdiff_t m_LocalCoordinateSystemSpeedMax = 0x1458; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nFieldOutput = 0x1AB0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldVelocity = 0x1AB4; // ParticleAttributeIndex_t +} + +namespace C_INIT_CreationNoise { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bAbsVal = 0x1C4; // bool + constexpr std::ptrdiff_t m_bAbsValInv = 0x1C5; // bool + constexpr std::ptrdiff_t m_flOffset = 0x1C8; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_flNoiseScale = 0x1D4; // float + constexpr std::ptrdiff_t m_flNoiseScaleLoc = 0x1D8; // float + constexpr std::ptrdiff_t m_vecOffsetLoc = 0x1DC; // Vector + constexpr std::ptrdiff_t m_flWorldTimeScale = 0x1E8; // float +} + +namespace C_INIT_DistanceCull { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPoint = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flDistance = 0x1C8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bCullInside = 0x320; // bool +} + +namespace C_INIT_DistanceToCPInit { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInputMax = 0x320; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x478; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x5D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nStartCP = 0x728; // int32_t + constexpr std::ptrdiff_t m_bLOS = 0x72C; // bool + constexpr std::ptrdiff_t m_CollisionGroupName = 0x72D; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x7B0; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_flMaxTraceLength = 0x7B8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flLOSScale = 0x910; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x914; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x918; // bool + constexpr std::ptrdiff_t m_vecDistanceScale = 0x91C; // Vector + constexpr std::ptrdiff_t m_flRemapBias = 0x928; // float +} + +namespace C_INIT_DistanceToNeighborCull { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flDistance = 0x1C0; // CPerParticleFloatInput +} + +namespace C_INIT_GlobalScale { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flScale = 0x1C0; // float + constexpr std::ptrdiff_t m_nScaleControlPointNumber = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_bScaleRadius = 0x1CC; // bool + constexpr std::ptrdiff_t m_bScalePosition = 0x1CD; // bool + constexpr std::ptrdiff_t m_bScaleVelocity = 0x1CE; // bool +} + +namespace C_INIT_InheritFromParentParticles { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flScale = 0x1C0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_bRandomDistribution = 0x1CC; // bool + constexpr std::ptrdiff_t m_nRandomSeed = 0x1D0; // int32_t +} + +namespace C_INIT_InheritVelocity { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flVelocityScale = 0x1C4; // float +} + +namespace C_INIT_InitFloat { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nOutputField = 0x318; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0x31C; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_InputStrength = 0x320; // CPerParticleFloatInput +} + +namespace C_INIT_InitFloatCollection { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nOutputField = 0x318; // ParticleAttributeIndex_t +} + +namespace C_INIT_InitFromCPSnapshot { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nAttributeToRead = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nAttributeToWrite = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_bRandom = 0x1D0; // bool + constexpr std::ptrdiff_t m_bReverse = 0x1D1; // bool + constexpr std::ptrdiff_t m_nSnapShotIncrement = 0x1D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nManualSnapshotIndex = 0x330; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nRandomSeed = 0x488; // int32_t + constexpr std::ptrdiff_t m_bLocalSpaceAngles = 0x48C; // bool +} + +namespace C_INIT_InitFromParentKilled { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nAttributeToCopy = 0x1C0; // ParticleAttributeIndex_t +} + +namespace C_INIT_InitFromVectorFieldSnapshot { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nWeightUpdateCP = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_bUseVerticalVelocity = 0x1CC; // bool + constexpr std::ptrdiff_t m_vecScale = 0x1D0; // CPerParticleVecInput +} + +namespace C_INIT_InitSkinnedPositionFromCPSnapshot { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nSnapshotControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_bRandom = 0x1C8; // bool + constexpr std::ptrdiff_t m_nRandomSeed = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_bRigid = 0x1D0; // bool + constexpr std::ptrdiff_t m_bSetNormal = 0x1D1; // bool + constexpr std::ptrdiff_t m_bIgnoreDt = 0x1D2; // bool + constexpr std::ptrdiff_t m_flMinNormalVelocity = 0x1D4; // float + constexpr std::ptrdiff_t m_flMaxNormalVelocity = 0x1D8; // float + constexpr std::ptrdiff_t m_flIncrement = 0x1DC; // float + constexpr std::ptrdiff_t m_nFullLoopIncrement = 0x1E0; // int32_t + constexpr std::ptrdiff_t m_nSnapShotStartPoint = 0x1E4; // int32_t + constexpr std::ptrdiff_t m_flBoneVelocity = 0x1E8; // float + constexpr std::ptrdiff_t m_flBoneVelocityMax = 0x1EC; // float + constexpr std::ptrdiff_t m_bCopyColor = 0x1F0; // bool + constexpr std::ptrdiff_t m_bCopyAlpha = 0x1F1; // bool + constexpr std::ptrdiff_t m_bSetRadius = 0x1F2; // bool +} + +namespace C_INIT_InitVec { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nOutputField = 0x818; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0x81C; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bNormalizedOutput = 0x820; // bool + constexpr std::ptrdiff_t m_bWritePreviousPosition = 0x821; // bool +} + +namespace C_INIT_InitVecCollection { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nOutputField = 0x818; // ParticleAttributeIndex_t +} + +namespace C_INIT_InitialRepulsionVelocity { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_CollisionGroupName = 0x1C0; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x240; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_vecOutputMin = 0x244; // Vector + constexpr std::ptrdiff_t m_vecOutputMax = 0x250; // Vector + constexpr std::ptrdiff_t m_nControlPointNumber = 0x25C; // int32_t + constexpr std::ptrdiff_t m_bPerParticle = 0x260; // bool + constexpr std::ptrdiff_t m_bTranslate = 0x261; // bool + constexpr std::ptrdiff_t m_bProportional = 0x262; // bool + constexpr std::ptrdiff_t m_flTraceLength = 0x264; // float + constexpr std::ptrdiff_t m_bPerParticleTR = 0x268; // bool + constexpr std::ptrdiff_t m_bInherit = 0x269; // bool + constexpr std::ptrdiff_t m_nChildCP = 0x26C; // int32_t + constexpr std::ptrdiff_t m_nChildGroupID = 0x270; // int32_t +} + +namespace C_INIT_InitialSequenceFromModel { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutputAnim = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1DC; // ParticleSetMethod_t +} + +namespace C_INIT_InitialVelocityFromHitbox { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flVelocityMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flVelocityMax = 0x1C4; // float + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_HitboxSetName = 0x1CC; // char[128] + constexpr std::ptrdiff_t m_bUseBones = 0x24C; // bool +} + +namespace C_INIT_InitialVelocityNoise { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecAbsVal = 0x1C0; // Vector + constexpr std::ptrdiff_t m_vecAbsValInv = 0x1CC; // Vector + constexpr std::ptrdiff_t m_vecOffsetLoc = 0x1D8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_flOffset = 0x830; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vecOutputMin = 0x988; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecOutputMax = 0xFE0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_flNoiseScale = 0x1638; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flNoiseScaleLoc = 0x1790; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_TransformInput = 0x18E8; // CParticleTransformInput + constexpr std::ptrdiff_t m_bIgnoreDt = 0x1950; // bool +} + +namespace C_INIT_LifespanFromVelocity { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecComponentScale = 0x1C0; // Vector + constexpr std::ptrdiff_t m_flTraceOffset = 0x1CC; // float + constexpr std::ptrdiff_t m_flMaxTraceLength = 0x1D0; // float + constexpr std::ptrdiff_t m_flTraceTolerance = 0x1D4; // float + constexpr std::ptrdiff_t m_nMaxPlanes = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_CollisionGroupName = 0x1E0; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x260; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_bIncludeWater = 0x270; // bool +} + +namespace C_INIT_ModelCull { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_bBoundBox = 0x1C4; // bool + constexpr std::ptrdiff_t m_bCullOutside = 0x1C5; // bool + constexpr std::ptrdiff_t m_bUseBones = 0x1C6; // bool + constexpr std::ptrdiff_t m_HitboxSetName = 0x1C7; // char[128] +} + +namespace C_INIT_MoveBetweenPoints { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flSpeedMin = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flSpeedMax = 0x318; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flEndSpread = 0x470; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flStartOffset = 0x5C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flEndOffset = 0x720; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nEndControlPointNumber = 0x878; // int32_t + constexpr std::ptrdiff_t m_bTrailBias = 0x87C; // bool +} + +namespace C_INIT_NormalAlignToCP { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_transformInput = 0x1C0; // CParticleTransformInput + constexpr std::ptrdiff_t m_nControlPointAxis = 0x228; // ParticleControlPointAxis_t +} + +namespace C_INIT_NormalOffset { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_OffsetMin = 0x1C0; // Vector + constexpr std::ptrdiff_t m_OffsetMax = 0x1CC; // Vector + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_bLocalCoords = 0x1DC; // bool + constexpr std::ptrdiff_t m_bNormalize = 0x1DD; // bool +} + +namespace C_INIT_OffsetVectorToVector { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecOutputMin = 0x1C8; // Vector + constexpr std::ptrdiff_t m_vecOutputMax = 0x1D4; // Vector + constexpr std::ptrdiff_t m_randomnessParameters = 0x1E0; // CRandomNumberGeneratorParameters +} + +namespace C_INIT_Orient2DRelToCP { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flRotOffset = 0x1C8; // float +} + +namespace C_INIT_PlaneCull { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPoint = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flDistance = 0x1C8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bCullInside = 0x320; // bool +} + +namespace C_INIT_PointList { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_pointList = 0x1C8; // CUtlVector + constexpr std::ptrdiff_t m_bPlaceAlongPath = 0x1E0; // bool + constexpr std::ptrdiff_t m_bClosedLoop = 0x1E1; // bool + constexpr std::ptrdiff_t m_nNumPointsAlongPath = 0x1E4; // int32_t +} + +namespace C_INIT_PositionOffset { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_OffsetMin = 0x1C0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_OffsetMax = 0x818; // CPerParticleVecInput + constexpr std::ptrdiff_t m_TransformInput = 0xE70; // CParticleTransformInput + constexpr std::ptrdiff_t m_bLocalCoords = 0xED8; // bool + constexpr std::ptrdiff_t m_bProportional = 0xED9; // bool + constexpr std::ptrdiff_t m_randomnessParameters = 0xEDC; // CRandomNumberGeneratorParameters +} + +namespace C_INIT_PositionOffsetToCP { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumberStart = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nControlPointNumberEnd = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_bLocalCoords = 0x1C8; // bool +} + +namespace C_INIT_PositionPlaceOnGround { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flOffset = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flMaxTraceLength = 0x318; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_CollisionGroupName = 0x470; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x4F0; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_nTraceMissBehavior = 0x500; // ParticleTraceMissBehavior_t + constexpr std::ptrdiff_t m_bIncludeWater = 0x504; // bool + constexpr std::ptrdiff_t m_bSetNormal = 0x505; // bool + constexpr std::ptrdiff_t m_bSetPXYZOnly = 0x506; // bool + constexpr std::ptrdiff_t m_bTraceAlongNormal = 0x507; // bool + constexpr std::ptrdiff_t m_bOffsetonColOnly = 0x508; // bool + constexpr std::ptrdiff_t m_flOffsetByRadiusFactor = 0x50C; // float + constexpr std::ptrdiff_t m_nPreserveOffsetCP = 0x510; // int32_t + constexpr std::ptrdiff_t m_nIgnoreCP = 0x514; // int32_t +} + +namespace C_INIT_PositionWarp { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecWarpMin = 0x1C0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_vecWarpMax = 0x818; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nScaleControlPointNumber = 0xE70; // int32_t + constexpr std::ptrdiff_t m_nControlPointNumber = 0xE74; // int32_t + constexpr std::ptrdiff_t m_nRadiusComponent = 0xE78; // int32_t + constexpr std::ptrdiff_t m_flWarpTime = 0xE7C; // float + constexpr std::ptrdiff_t m_flWarpStartTime = 0xE80; // float + constexpr std::ptrdiff_t m_flPrevPosScale = 0xE84; // float + constexpr std::ptrdiff_t m_bInvertWarp = 0xE88; // bool + constexpr std::ptrdiff_t m_bUseCount = 0xE89; // bool +} + +namespace C_INIT_PositionWarpScalar { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecWarpMin = 0x1C0; // Vector + constexpr std::ptrdiff_t m_vecWarpMax = 0x1CC; // Vector + constexpr std::ptrdiff_t m_InputValue = 0x1D8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flPrevPosScale = 0x330; // float + constexpr std::ptrdiff_t m_nScaleControlPointNumber = 0x334; // int32_t + constexpr std::ptrdiff_t m_nControlPointNumber = 0x338; // int32_t +} + +namespace C_INIT_QuantizeFloat { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nOutputField = 0x318; // ParticleAttributeIndex_t +} + +namespace C_INIT_RadiusFromCPObject { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPoint = 0x1C0; // int32_t +} + +namespace C_INIT_RandomAlpha { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nAlphaMin = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nAlphaMax = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_flAlphaRandExponent = 0x1D4; // float +} + +namespace C_INIT_RandomAlphaWindowThreshold { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flMax = 0x1C4; // float + constexpr std::ptrdiff_t m_flExponent = 0x1C8; // float +} + +namespace C_INIT_RandomColor { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_ColorMin = 0x1DC; // Color + constexpr std::ptrdiff_t m_ColorMax = 0x1E0; // Color + constexpr std::ptrdiff_t m_TintMin = 0x1E4; // Color + constexpr std::ptrdiff_t m_TintMax = 0x1E8; // Color + constexpr std::ptrdiff_t m_flTintPerc = 0x1EC; // float + constexpr std::ptrdiff_t m_flUpdateThreshold = 0x1F0; // float + constexpr std::ptrdiff_t m_nTintCP = 0x1F4; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1F8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nTintBlendMode = 0x1FC; // ParticleColorBlendMode_t + constexpr std::ptrdiff_t m_flLightAmplification = 0x200; // float +} + +namespace C_INIT_RandomLifeTime { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_fLifetimeMin = 0x1C0; // float + constexpr std::ptrdiff_t m_fLifetimeMax = 0x1C4; // float + constexpr std::ptrdiff_t m_fLifetimeRandExponent = 0x1C8; // float +} + +namespace C_INIT_RandomModelSequence { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_ActivityName = 0x1C0; // char[256] + constexpr std::ptrdiff_t m_SequenceName = 0x2C0; // char[256] + constexpr std::ptrdiff_t m_hModel = 0x3C0; // CStrongHandle +} + +namespace C_INIT_RandomNamedModelBodyPart { // C_INIT_RandomNamedModelElement +} + +namespace C_INIT_RandomNamedModelElement { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_hModel = 0x1C0; // CStrongHandle + constexpr std::ptrdiff_t m_names = 0x1C8; // CUtlVector + constexpr std::ptrdiff_t m_bShuffle = 0x1E0; // bool + constexpr std::ptrdiff_t m_bLinear = 0x1E1; // bool + constexpr std::ptrdiff_t m_bModelFromRenderer = 0x1E2; // bool + constexpr std::ptrdiff_t m_nFieldOutput = 0x1E4; // ParticleAttributeIndex_t +} + +namespace C_INIT_RandomNamedModelMeshGroup { // C_INIT_RandomNamedModelElement +} + +namespace C_INIT_RandomNamedModelSequence { // C_INIT_RandomNamedModelElement +} + +namespace C_INIT_RandomRadius { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flRadiusMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flRadiusMax = 0x1C4; // float + constexpr std::ptrdiff_t m_flRadiusRandExponent = 0x1C8; // float +} + +namespace C_INIT_RandomRotation { // CGeneralRandomRotation +} + +namespace C_INIT_RandomRotationSpeed { // CGeneralRandomRotation +} + +namespace C_INIT_RandomScalar { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flMax = 0x1C4; // float + constexpr std::ptrdiff_t m_flExponent = 0x1C8; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t +} + +namespace C_INIT_RandomSecondSequence { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nSequenceMin = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nSequenceMax = 0x1C4; // int32_t +} + +namespace C_INIT_RandomSequence { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nSequenceMin = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nSequenceMax = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_bShuffle = 0x1C8; // bool + constexpr std::ptrdiff_t m_bLinear = 0x1C9; // bool + constexpr std::ptrdiff_t m_WeightedList = 0x1D0; // CUtlVector +} + +namespace C_INIT_RandomTrailLength { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flMinLength = 0x1C0; // float + constexpr std::ptrdiff_t m_flMaxLength = 0x1C4; // float + constexpr std::ptrdiff_t m_flLengthRandExponent = 0x1C8; // float +} + +namespace C_INIT_RandomVector { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecMin = 0x1C0; // Vector + constexpr std::ptrdiff_t m_vecMax = 0x1CC; // Vector + constexpr std::ptrdiff_t m_nFieldOutput = 0x1D8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_randomnessParameters = 0x1DC; // CRandomNumberGeneratorParameters +} + +namespace C_INIT_RandomVectorComponent { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flMax = 0x1C4; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nComponent = 0x1CC; // int32_t +} + +namespace C_INIT_RandomYaw { // CGeneralRandomRotation +} + +namespace C_INIT_RandomYawFlip { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flPercent = 0x1C0; // float +} + +namespace C_INIT_RemapCPtoScalar { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nCPInput = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nField = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float + constexpr std::ptrdiff_t m_flStartTime = 0x1DC; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1E0; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1E4; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_flRemapBias = 0x1E8; // float +} + +namespace C_INIT_RemapInitialDirectionToTransformToVector { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput + constexpr std::ptrdiff_t m_nFieldOutput = 0x228; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScale = 0x22C; // float + constexpr std::ptrdiff_t m_flOffsetRot = 0x230; // float + constexpr std::ptrdiff_t m_vecOffsetAxis = 0x234; // Vector + constexpr std::ptrdiff_t m_bNormalize = 0x240; // bool +} + +namespace C_INIT_RemapInitialTransformDirectionToRotation { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput + constexpr std::ptrdiff_t m_nFieldOutput = 0x228; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOffsetRot = 0x22C; // float + constexpr std::ptrdiff_t m_nComponent = 0x230; // int32_t +} + +namespace C_INIT_RemapInitialVisibilityScalar { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float +} + +namespace C_INIT_RemapNamedModelBodyPartToScalar { // C_INIT_RemapNamedModelElementToScalar +} + +namespace C_INIT_RemapNamedModelElementToScalar { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_hModel = 0x1C0; // CStrongHandle + constexpr std::ptrdiff_t m_names = 0x1C8; // CUtlVector + constexpr std::ptrdiff_t m_values = 0x1E0; // CUtlVector + constexpr std::ptrdiff_t m_nFieldInput = 0x1F8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1FC; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0x200; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bModelFromRenderer = 0x204; // bool +} + +namespace C_INIT_RemapNamedModelMeshGroupToScalar { // C_INIT_RemapNamedModelElementToScalar +} + +namespace C_INIT_RemapNamedModelSequenceToScalar { // C_INIT_RemapNamedModelElementToScalar +} + +namespace C_INIT_RemapParticleCountToNamedModelBodyPartScalar { // C_INIT_RemapParticleCountToNamedModelElementScalar +} + +namespace C_INIT_RemapParticleCountToNamedModelElementScalar { // C_INIT_RemapParticleCountToScalar + constexpr std::ptrdiff_t m_hModel = 0x1F0; // CStrongHandle + constexpr std::ptrdiff_t m_outputMinName = 0x1F8; // CUtlString + constexpr std::ptrdiff_t m_outputMaxName = 0x200; // CUtlString + constexpr std::ptrdiff_t m_bModelFromRenderer = 0x208; // bool +} + +namespace C_INIT_RemapParticleCountToNamedModelMeshGroupScalar { // C_INIT_RemapParticleCountToNamedModelElementScalar +} + +namespace C_INIT_RemapParticleCountToNamedModelSequenceScalar { // C_INIT_RemapParticleCountToNamedModelElementScalar +} + +namespace C_INIT_RemapParticleCountToScalar { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nInputMin = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nInputMax = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nScaleControlPoint = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_nScaleControlPointField = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1DC; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x1E0; // bool + constexpr std::ptrdiff_t m_bInvert = 0x1E1; // bool + constexpr std::ptrdiff_t m_bWrap = 0x1E2; // bool + constexpr std::ptrdiff_t m_flRemapBias = 0x1E4; // float +} + +namespace C_INIT_RemapQAnglesToRotation { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput +} + +namespace C_INIT_RemapScalar { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float + constexpr std::ptrdiff_t m_flStartTime = 0x1D8; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1DC; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1E0; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x1E4; // bool + constexpr std::ptrdiff_t m_flRemapBias = 0x1E8; // float +} + +namespace C_INIT_RemapScalarToVector { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float + constexpr std::ptrdiff_t m_vecOutputMin = 0x1D0; // Vector + constexpr std::ptrdiff_t m_vecOutputMax = 0x1DC; // Vector + constexpr std::ptrdiff_t m_flStartTime = 0x1E8; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1EC; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1F0; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1F4; // int32_t + constexpr std::ptrdiff_t m_bLocalCoords = 0x1F8; // bool + constexpr std::ptrdiff_t m_flRemapBias = 0x1FC; // float +} + +namespace C_INIT_RemapSpeedToScalar { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_flStartTime = 0x1C8; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1CC; // float + constexpr std::ptrdiff_t m_flInputMin = 0x1D0; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1D4; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D8; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1DC; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1E0; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bPerParticle = 0x1E4; // bool +} + +namespace C_INIT_RemapTransformOrientationToRotations { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput + constexpr std::ptrdiff_t m_vecRotation = 0x228; // Vector + constexpr std::ptrdiff_t m_bUseQuat = 0x234; // bool + constexpr std::ptrdiff_t m_bWriteNormal = 0x235; // bool +} + +namespace C_INIT_RemapTransformToVector { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vInputMin = 0x1C4; // Vector + constexpr std::ptrdiff_t m_vInputMax = 0x1D0; // Vector + constexpr std::ptrdiff_t m_vOutputMin = 0x1DC; // Vector + constexpr std::ptrdiff_t m_vOutputMax = 0x1E8; // Vector + constexpr std::ptrdiff_t m_TransformInput = 0x1F8; // CParticleTransformInput + constexpr std::ptrdiff_t m_LocalSpaceTransform = 0x260; // CParticleTransformInput + constexpr std::ptrdiff_t m_flStartTime = 0x2C8; // float + constexpr std::ptrdiff_t m_flEndTime = 0x2CC; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x2D0; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bOffset = 0x2D4; // bool + constexpr std::ptrdiff_t m_bAccelerate = 0x2D5; // bool + constexpr std::ptrdiff_t m_flRemapBias = 0x2D8; // float +} + +namespace C_INIT_RingWave { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput + constexpr std::ptrdiff_t m_flParticlesPerOrbit = 0x228; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flInitialRadius = 0x380; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flThickness = 0x4D8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInitialSpeedMin = 0x630; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInitialSpeedMax = 0x788; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRoll = 0x8E0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flPitch = 0xA38; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flYaw = 0xB90; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bEvenDistribution = 0xCE8; // bool + constexpr std::ptrdiff_t m_bXYVelocityOnly = 0xCE9; // bool +} + +namespace C_INIT_RtEnvCull { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecTestDir = 0x1C0; // Vector + constexpr std::ptrdiff_t m_vecTestNormal = 0x1CC; // Vector + constexpr std::ptrdiff_t m_bUseVelocity = 0x1D8; // bool + constexpr std::ptrdiff_t m_bCullOnMiss = 0x1D9; // bool + constexpr std::ptrdiff_t m_bLifeAdjust = 0x1DA; // bool + constexpr std::ptrdiff_t m_RtEnvName = 0x1DB; // char[128] + constexpr std::ptrdiff_t m_nRTEnvCP = 0x25C; // int32_t + constexpr std::ptrdiff_t m_nComponent = 0x260; // int32_t +} + +namespace C_INIT_ScaleVelocity { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_vecScale = 0x1C0; // CParticleCollectionVecInput +} + +namespace C_INIT_SequenceFromCP { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_bKillUnused = 0x1C0; // bool + constexpr std::ptrdiff_t m_bRadiusScale = 0x1C1; // bool + constexpr std::ptrdiff_t m_nCP = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_vecOffset = 0x1C8; // Vector +} + +namespace C_INIT_SequenceLifeTime { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flFramerate = 0x1C0; // float +} + +namespace C_INIT_SetHitboxToClosest { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nDesiredHitbox = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_vecHitBoxScale = 0x1C8; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_HitboxSetName = 0x820; // char[128] + constexpr std::ptrdiff_t m_bUseBones = 0x8A0; // bool + constexpr std::ptrdiff_t m_bUseClosestPointOnHitbox = 0x8A1; // bool + constexpr std::ptrdiff_t m_nTestType = 0x8A4; // ClosestPointTestType_t + constexpr std::ptrdiff_t m_flHybridRatio = 0x8A8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bUpdatePosition = 0xA00; // bool +} + +namespace C_INIT_SetHitboxToModel { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nForceInModel = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nDesiredHitbox = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_vecHitBoxScale = 0x1D0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_vecDirectionBias = 0x828; // Vector + constexpr std::ptrdiff_t m_bMaintainHitbox = 0x834; // bool + constexpr std::ptrdiff_t m_bUseBones = 0x835; // bool + constexpr std::ptrdiff_t m_HitboxSetName = 0x836; // char[128] + constexpr std::ptrdiff_t m_flShellSize = 0x8B8; // CParticleCollectionFloatInput +} + +namespace C_INIT_SetRigidAttachment { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bLocalSpace = 0x1CC; // bool +} + +namespace C_INIT_SetVectorAttributeToVectorExpression { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nExpression = 0x1C0; // VectorExpressionType_t + constexpr std::ptrdiff_t m_vInput1 = 0x1C8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vInput2 = 0x820; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nOutputField = 0xE78; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0xE7C; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bNormalizedOutput = 0xE80; // bool +} + +namespace C_INIT_StatusEffect { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nDetail2Combo = 0x1C0; // Detail2Combo_t + constexpr std::ptrdiff_t m_flDetail2Rotation = 0x1C4; // float + constexpr std::ptrdiff_t m_flDetail2Scale = 0x1C8; // float + constexpr std::ptrdiff_t m_flDetail2BlendFactor = 0x1CC; // float + constexpr std::ptrdiff_t m_flColorWarpIntensity = 0x1D0; // float + constexpr std::ptrdiff_t m_flDiffuseWarpBlendToFull = 0x1D4; // float + constexpr std::ptrdiff_t m_flEnvMapIntensity = 0x1D8; // float + constexpr std::ptrdiff_t m_flAmbientScale = 0x1DC; // float + constexpr std::ptrdiff_t m_specularColor = 0x1E0; // Color + constexpr std::ptrdiff_t m_flSpecularScale = 0x1E4; // float + constexpr std::ptrdiff_t m_flSpecularExponent = 0x1E8; // float + constexpr std::ptrdiff_t m_flSpecularExponentBlendToFull = 0x1EC; // float + constexpr std::ptrdiff_t m_flSpecularBlendToFull = 0x1F0; // float + constexpr std::ptrdiff_t m_rimLightColor = 0x1F4; // Color + constexpr std::ptrdiff_t m_flRimLightScale = 0x1F8; // float + constexpr std::ptrdiff_t m_flReflectionsTintByBaseBlendToNone = 0x1FC; // float + constexpr std::ptrdiff_t m_flMetalnessBlendToFull = 0x200; // float + constexpr std::ptrdiff_t m_flSelfIllumBlendToFull = 0x204; // float +} + +namespace C_INIT_StatusEffectCitadel { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_flSFXColorWarpAmount = 0x1C0; // float + constexpr std::ptrdiff_t m_flSFXNormalAmount = 0x1C4; // float + constexpr std::ptrdiff_t m_flSFXMetalnessAmount = 0x1C8; // float + constexpr std::ptrdiff_t m_flSFXRoughnessAmount = 0x1CC; // float + constexpr std::ptrdiff_t m_flSFXSelfIllumAmount = 0x1D0; // float + constexpr std::ptrdiff_t m_flSFXSScale = 0x1D4; // float + constexpr std::ptrdiff_t m_flSFXSScrollX = 0x1D8; // float + constexpr std::ptrdiff_t m_flSFXSScrollY = 0x1DC; // float + constexpr std::ptrdiff_t m_flSFXSScrollZ = 0x1E0; // float + constexpr std::ptrdiff_t m_flSFXSOffsetX = 0x1E4; // float + constexpr std::ptrdiff_t m_flSFXSOffsetY = 0x1E8; // float + constexpr std::ptrdiff_t m_flSFXSOffsetZ = 0x1EC; // float + constexpr std::ptrdiff_t m_nDetailCombo = 0x1F0; // DetailCombo_t + constexpr std::ptrdiff_t m_flSFXSDetailAmount = 0x1F4; // float + constexpr std::ptrdiff_t m_flSFXSDetailScale = 0x1F8; // float + constexpr std::ptrdiff_t m_flSFXSDetailScrollX = 0x1FC; // float + constexpr std::ptrdiff_t m_flSFXSDetailScrollY = 0x200; // float + constexpr std::ptrdiff_t m_flSFXSDetailScrollZ = 0x204; // float + constexpr std::ptrdiff_t m_flSFXSUseModelUVs = 0x208; // float +} + +namespace C_INIT_VelocityFromCP { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_velocityInput = 0x1C0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_transformInput = 0x818; // CParticleTransformInput + constexpr std::ptrdiff_t m_flVelocityScale = 0x880; // float + constexpr std::ptrdiff_t m_bDirectionOnly = 0x884; // bool +} + +namespace C_INIT_VelocityFromNormal { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_fSpeedMin = 0x1C0; // float + constexpr std::ptrdiff_t m_fSpeedMax = 0x1C4; // float + constexpr std::ptrdiff_t m_bIgnoreDt = 0x1C8; // bool +} + +namespace C_INIT_VelocityRadialRandom { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_fSpeedMin = 0x1C4; // float + constexpr std::ptrdiff_t m_fSpeedMax = 0x1C8; // float + constexpr std::ptrdiff_t m_vecLocalCoordinateSystemSpeedScale = 0x1CC; // Vector + constexpr std::ptrdiff_t m_bIgnoreDelta = 0x1D9; // bool +} + +namespace C_INIT_VelocityRandom { // CParticleFunctionInitializer + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_fSpeedMin = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_fSpeedMax = 0x320; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_LocalCoordinateSystemSpeedMin = 0x478; // CPerParticleVecInput + constexpr std::ptrdiff_t m_LocalCoordinateSystemSpeedMax = 0xAD0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_bIgnoreDT = 0x1128; // bool + constexpr std::ptrdiff_t m_randomnessParameters = 0x112C; // CRandomNumberGeneratorParameters +} + +namespace C_OP_AlphaDecay { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flMinAlpha = 0x1C0; // float +} + +namespace C_OP_AttractToControlPoint { // CParticleFunctionForce + constexpr std::ptrdiff_t m_vecComponentScale = 0x1D0; // Vector + constexpr std::ptrdiff_t m_fForceAmount = 0x1E0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_fFalloffPower = 0x338; // float + constexpr std::ptrdiff_t m_TransformInput = 0x340; // CParticleTransformInput + constexpr std::ptrdiff_t m_fForceAmountMin = 0x3A8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bApplyMinForce = 0x500; // bool +} + +namespace C_OP_BasicMovement { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_Gravity = 0x1C0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_fDrag = 0x818; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nMaxConstraintPasses = 0x970; // int32_t +} + +namespace C_OP_BoxConstraint { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_vecMin = 0x1C0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_vecMax = 0x818; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nCP = 0xE70; // int32_t + constexpr std::ptrdiff_t m_bLocalSpace = 0xE74; // bool + constexpr std::ptrdiff_t m_bAccountForRadius = 0xE75; // bool +} + +namespace C_OP_CPOffsetToPercentageBetweenCPs { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flInputMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1C4; // float + constexpr std::ptrdiff_t m_flInputBias = 0x1C8; // float + constexpr std::ptrdiff_t m_nStartCP = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_nEndCP = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nOffsetCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nOuputCP = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nInputCP = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_bRadialCheck = 0x1E0; // bool + constexpr std::ptrdiff_t m_bScaleOffset = 0x1E1; // bool + constexpr std::ptrdiff_t m_vecOffset = 0x1E4; // Vector +} + +namespace C_OP_CPVelocityForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_flScale = 0x1D8; // CPerParticleFloatInput +} + +namespace C_OP_CalculateVectorAttribute { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_vStartValue = 0x1C0; // Vector + constexpr std::ptrdiff_t m_nFieldInput1 = 0x1CC; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputScale1 = 0x1D0; // float + constexpr std::ptrdiff_t m_nFieldInput2 = 0x1D4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputScale2 = 0x1D8; // float + constexpr std::ptrdiff_t m_nControlPointInput1 = 0x1DC; // ControlPointReference_t + constexpr std::ptrdiff_t m_flControlPointScale1 = 0x1F0; // float + constexpr std::ptrdiff_t m_nControlPointInput2 = 0x1F4; // ControlPointReference_t + constexpr std::ptrdiff_t m_flControlPointScale2 = 0x208; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x20C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vFinalOutputScale = 0x210; // Vector +} + +namespace C_OP_Callback { // CParticleFunctionRenderer +} + +namespace C_OP_ChladniWave { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInputMax = 0x320; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x478; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x5D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vecWaveLength = 0x728; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecHarmonics = 0xD80; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nSetMethod = 0x13D8; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_nLocalSpaceControlPoint = 0x13DC; // int32_t + constexpr std::ptrdiff_t m_b3D = 0x13E0; // bool +} + +namespace C_OP_ChooseRandomChildrenInGroup { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nChildGroupID = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_flNumberOfChildren = 0x1D8; // CParticleCollectionFloatInput +} + +namespace C_OP_ClampScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOutputMin = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x320; // CPerParticleFloatInput +} + +namespace C_OP_ClampVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecOutputMin = 0x1C8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecOutputMax = 0x820; // CPerParticleVecInput +} + +namespace C_OP_CollideWithParentParticles { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_flParentRadiusScale = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRadiusScale = 0x318; // CPerParticleFloatInput +} + +namespace C_OP_CollideWithSelf { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_flRadiusScale = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flMinimumSpeed = 0x318; // CPerParticleFloatInput +} + +namespace C_OP_ColorAdjustHSL { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flHueAdjust = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flSaturationAdjust = 0x318; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flLightnessAdjust = 0x470; // CPerParticleFloatInput +} + +namespace C_OP_ColorInterpolate { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_ColorFade = 0x1C0; // Color + constexpr std::ptrdiff_t m_flFadeStartTime = 0x1D0; // float + constexpr std::ptrdiff_t m_flFadeEndTime = 0x1D4; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1D8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bEaseInOut = 0x1DC; // bool + constexpr std::ptrdiff_t m_bUseNewCode = 0x1DD; // bool +} + +namespace C_OP_ColorInterpolateRandom { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_ColorFadeMin = 0x1C0; // Color + constexpr std::ptrdiff_t m_ColorFadeMax = 0x1DC; // Color + constexpr std::ptrdiff_t m_flFadeStartTime = 0x1EC; // float + constexpr std::ptrdiff_t m_flFadeEndTime = 0x1F0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1F4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bEaseInOut = 0x1F8; // bool +} + +namespace C_OP_ConnectParentParticleToNearest { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nSecondControlPoint = 0x1C4; // int32_t +} + +namespace C_OP_ConstrainDistance { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_fMinDistance = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_fMaxDistance = 0x318; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nControlPointNumber = 0x470; // int32_t + constexpr std::ptrdiff_t m_CenterOffset = 0x474; // Vector + constexpr std::ptrdiff_t m_bGlobalCenter = 0x480; // bool +} + +namespace C_OP_ConstrainDistanceToPath { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_fMinDistance = 0x1C0; // float + constexpr std::ptrdiff_t m_flMaxDistance0 = 0x1C4; // float + constexpr std::ptrdiff_t m_flMaxDistanceMid = 0x1C8; // float + constexpr std::ptrdiff_t m_flMaxDistance1 = 0x1CC; // float + constexpr std::ptrdiff_t m_PathParameters = 0x1D0; // CPathParameters + constexpr std::ptrdiff_t m_flTravelTime = 0x210; // float + constexpr std::ptrdiff_t m_nFieldScale = 0x214; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nManualTField = 0x218; // ParticleAttributeIndex_t +} + +namespace C_OP_ConstrainDistanceToUserSpecifiedPath { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_fMinDistance = 0x1C0; // float + constexpr std::ptrdiff_t m_flMaxDistance = 0x1C4; // float + constexpr std::ptrdiff_t m_flTimeScale = 0x1C8; // float + constexpr std::ptrdiff_t m_bLoopedPath = 0x1CC; // bool + constexpr std::ptrdiff_t m_pointList = 0x1D0; // CUtlVector +} + +namespace C_OP_ConstrainLineLength { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_flMinDistance = 0x1C0; // float + constexpr std::ptrdiff_t m_flMaxDistance = 0x1C4; // float +} + +namespace C_OP_ContinuousEmitter { // CParticleFunctionEmitter + constexpr std::ptrdiff_t m_flEmissionDuration = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flStartTime = 0x318; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flEmitRate = 0x470; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flEmissionScale = 0x5C8; // float + constexpr std::ptrdiff_t m_flScalePerParentParticle = 0x5CC; // float + constexpr std::ptrdiff_t m_bInitFromKilledParentParticles = 0x5D0; // bool + constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x5D4; // int32_t + constexpr std::ptrdiff_t m_nLimitPerUpdate = 0x5D8; // int32_t + constexpr std::ptrdiff_t m_bForceEmitOnFirstUpdate = 0x5DC; // bool + constexpr std::ptrdiff_t m_bForceEmitOnLastUpdate = 0x5DD; // bool +} + +namespace C_OP_ControlPointToRadialScreenSpace { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCPIn = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_vecCP1Pos = 0x1D4; // Vector + constexpr std::ptrdiff_t m_nCPOut = 0x1E0; // int32_t + constexpr std::ptrdiff_t m_nCPOutField = 0x1E4; // int32_t + constexpr std::ptrdiff_t m_nCPSSPosOut = 0x1E8; // int32_t +} + +namespace C_OP_ControlpointLight { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flScale = 0x1C0; // float + constexpr std::ptrdiff_t m_nControlPoint1 = 0x650; // int32_t + constexpr std::ptrdiff_t m_nControlPoint2 = 0x654; // int32_t + constexpr std::ptrdiff_t m_nControlPoint3 = 0x658; // int32_t + constexpr std::ptrdiff_t m_nControlPoint4 = 0x65C; // int32_t + constexpr std::ptrdiff_t m_vecCPOffset1 = 0x660; // Vector + constexpr std::ptrdiff_t m_vecCPOffset2 = 0x66C; // Vector + constexpr std::ptrdiff_t m_vecCPOffset3 = 0x678; // Vector + constexpr std::ptrdiff_t m_vecCPOffset4 = 0x684; // Vector + constexpr std::ptrdiff_t m_LightFiftyDist1 = 0x690; // float + constexpr std::ptrdiff_t m_LightZeroDist1 = 0x694; // float + constexpr std::ptrdiff_t m_LightFiftyDist2 = 0x698; // float + constexpr std::ptrdiff_t m_LightZeroDist2 = 0x69C; // float + constexpr std::ptrdiff_t m_LightFiftyDist3 = 0x6A0; // float + constexpr std::ptrdiff_t m_LightZeroDist3 = 0x6A4; // float + constexpr std::ptrdiff_t m_LightFiftyDist4 = 0x6A8; // float + constexpr std::ptrdiff_t m_LightZeroDist4 = 0x6AC; // float + constexpr std::ptrdiff_t m_LightColor1 = 0x6B0; // Color + constexpr std::ptrdiff_t m_LightColor2 = 0x6B4; // Color + constexpr std::ptrdiff_t m_LightColor3 = 0x6B8; // Color + constexpr std::ptrdiff_t m_LightColor4 = 0x6BC; // Color + constexpr std::ptrdiff_t m_bLightType1 = 0x6C0; // bool + constexpr std::ptrdiff_t m_bLightType2 = 0x6C1; // bool + constexpr std::ptrdiff_t m_bLightType3 = 0x6C2; // bool + constexpr std::ptrdiff_t m_bLightType4 = 0x6C3; // bool + constexpr std::ptrdiff_t m_bLightDynamic1 = 0x6C4; // bool + constexpr std::ptrdiff_t m_bLightDynamic2 = 0x6C5; // bool + constexpr std::ptrdiff_t m_bLightDynamic3 = 0x6C6; // bool + constexpr std::ptrdiff_t m_bLightDynamic4 = 0x6C7; // bool + constexpr std::ptrdiff_t m_bUseNormal = 0x6C8; // bool + constexpr std::ptrdiff_t m_bUseHLambert = 0x6C9; // bool + constexpr std::ptrdiff_t m_bClampLowerRange = 0x6CE; // bool + constexpr std::ptrdiff_t m_bClampUpperRange = 0x6CF; // bool +} + +namespace C_OP_Cull { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flCullPerc = 0x1C0; // float + constexpr std::ptrdiff_t m_flCullStart = 0x1C4; // float + constexpr std::ptrdiff_t m_flCullEnd = 0x1C8; // float + constexpr std::ptrdiff_t m_flCullExp = 0x1CC; // float +} + +namespace C_OP_CurlNoiseForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_nNoiseType = 0x1D0; // ParticleDirectionNoiseType_t + constexpr std::ptrdiff_t m_vecNoiseFreq = 0x1D8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecNoiseScale = 0x830; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecOffset = 0xE88; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecOffsetRate = 0x14E0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_flWorleySeed = 0x1B38; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flWorleyJitter = 0x1C90; // CPerParticleFloatInput +} + +namespace C_OP_CycleScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nDestField = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flStartValue = 0x1C4; // float + constexpr std::ptrdiff_t m_flEndValue = 0x1C8; // float + constexpr std::ptrdiff_t m_flCycleTime = 0x1CC; // float + constexpr std::ptrdiff_t m_bDoNotRepeatCycle = 0x1D0; // bool + constexpr std::ptrdiff_t m_bSynchronizeParticles = 0x1D1; // bool + constexpr std::ptrdiff_t m_nCPScale = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nCPFieldMin = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nCPFieldMax = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_nSetMethod = 0x1E0; // ParticleSetMethod_t +} + +namespace C_OP_CylindricalDistanceToTransform { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInputMax = 0x320; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x478; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x5D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_TransformStart = 0x728; // CParticleTransformInput + constexpr std::ptrdiff_t m_TransformEnd = 0x790; // CParticleTransformInput + constexpr std::ptrdiff_t m_nSetMethod = 0x7F8; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x7FC; // bool + constexpr std::ptrdiff_t m_bAdditive = 0x7FD; // bool + constexpr std::ptrdiff_t m_bCapsule = 0x7FE; // bool +} + +namespace C_OP_DampenToCP { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flRange = 0x1C4; // float + constexpr std::ptrdiff_t m_flScale = 0x1C8; // float +} + +namespace C_OP_Decay { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_bRopeDecay = 0x1C0; // bool + constexpr std::ptrdiff_t m_bForcePreserveParticleOrder = 0x1C1; // bool +} + +namespace C_OP_DecayClampCount { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCount = 0x1C0; // CParticleCollectionFloatInput +} + +namespace C_OP_DecayMaintainCount { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nParticlesToMaintain = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flDecayDelay = 0x1C4; // float + constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_bLifespanDecay = 0x1CC; // bool + constexpr std::ptrdiff_t m_flScale = 0x1D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bKillNewest = 0x328; // bool +} + +namespace C_OP_DecayOffscreen { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flOffscreenTime = 0x1C0; // CParticleCollectionFloatInput +} + +namespace C_OP_DensityForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_flRadiusScale = 0x1D0; // float + constexpr std::ptrdiff_t m_flForceScale = 0x1D4; // float + constexpr std::ptrdiff_t m_flTargetDensity = 0x1D8; // float +} + +namespace C_OP_DifferencePreviousParticle { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1D8; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x1DC; // bool + constexpr std::ptrdiff_t m_bSetPreviousParticle = 0x1DD; // bool +} + +namespace C_OP_Diffusion { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flRadiusScale = 0x1C0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nVoxelGridResolution = 0x1C8; // int32_t +} + +namespace C_OP_DirectionBetweenVecsToVec { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecPoint1 = 0x1C8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecPoint2 = 0x820; // CPerParticleVecInput +} + +namespace C_OP_DistanceBetweenCPsToCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nStartCP = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nEndCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nOutputCP = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nOutputCPField = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_bSetOnce = 0x1E0; // bool + constexpr std::ptrdiff_t m_flInputMin = 0x1E4; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1E8; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1EC; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1F0; // float + constexpr std::ptrdiff_t m_flMaxTraceLength = 0x1F4; // float + constexpr std::ptrdiff_t m_flLOSScale = 0x1F8; // float + constexpr std::ptrdiff_t m_bLOS = 0x1FC; // bool + constexpr std::ptrdiff_t m_CollisionGroupName = 0x1FD; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x280; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_nSetParent = 0x284; // ParticleParentSetMode_t +} + +namespace C_OP_DistanceBetweenTransforms { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_TransformStart = 0x1C8; // CParticleTransformInput + constexpr std::ptrdiff_t m_TransformEnd = 0x230; // CParticleTransformInput + constexpr std::ptrdiff_t m_flInputMin = 0x298; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInputMax = 0x3F0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x548; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x6A0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flMaxTraceLength = 0x7F8; // float + constexpr std::ptrdiff_t m_flLOSScale = 0x7FC; // float + constexpr std::ptrdiff_t m_CollisionGroupName = 0x800; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x880; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_bLOS = 0x884; // bool + constexpr std::ptrdiff_t m_nSetMethod = 0x888; // ParticleSetMethod_t +} + +namespace C_OP_DistanceBetweenVecs { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecPoint1 = 0x1C8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecPoint2 = 0x820; // CPerParticleVecInput + constexpr std::ptrdiff_t m_flInputMin = 0xE78; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInputMax = 0xFD0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x1128; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x1280; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nSetMethod = 0x13D8; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bDeltaTime = 0x13DC; // bool +} + +namespace C_OP_DistanceCull { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPoint = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_vecPointOffset = 0x1C4; // Vector + constexpr std::ptrdiff_t m_flDistance = 0x1D0; // float + constexpr std::ptrdiff_t m_bCullInside = 0x1D4; // bool +} + +namespace C_OP_DistanceToTransform { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInputMax = 0x320; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x478; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x5D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_TransformStart = 0x728; // CParticleTransformInput + constexpr std::ptrdiff_t m_bLOS = 0x790; // bool + constexpr std::ptrdiff_t m_CollisionGroupName = 0x791; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x814; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_flMaxTraceLength = 0x818; // float + constexpr std::ptrdiff_t m_flLOSScale = 0x81C; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x820; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x824; // bool + constexpr std::ptrdiff_t m_bAdditive = 0x825; // bool + constexpr std::ptrdiff_t m_vecComponentScale = 0x828; // CPerParticleVecInput +} + +namespace C_OP_DragRelativeToPlane { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flDragAtPlane = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flFalloff = 0x318; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bDirectional = 0x470; // bool + constexpr std::ptrdiff_t m_vecPlaneNormal = 0x478; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nControlPointNumber = 0xAD0; // int32_t +} + +namespace C_OP_DriveCPFromGlobalSoundFloat { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nOutputControlPoint = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nOutputField = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_flInputMin = 0x1D8; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1DC; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1E0; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1E4; // float + constexpr std::ptrdiff_t m_StackName = 0x1E8; // CUtlString + constexpr std::ptrdiff_t m_OperatorName = 0x1F0; // CUtlString + constexpr std::ptrdiff_t m_FieldName = 0x1F8; // CUtlString +} + +namespace C_OP_EnableChildrenFromParentParticleCount { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nChildGroupID = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nFirstChild = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nNumChildrenToEnable = 0x1D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bDisableChildren = 0x330; // bool + constexpr std::ptrdiff_t m_bPlayEndcapOnStop = 0x331; // bool + constexpr std::ptrdiff_t m_bDestroyImmediately = 0x332; // bool +} + +namespace C_OP_EndCapDecay { // CParticleFunctionOperator +} + +namespace C_OP_EndCapTimedDecay { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flDecayTime = 0x1C0; // float +} + +namespace C_OP_EndCapTimedFreeze { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flFreezeTime = 0x1C0; // CParticleCollectionFloatInput +} + +namespace C_OP_ExternalGameImpulseForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_flForceScale = 0x1D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bRopes = 0x328; // bool + constexpr std::ptrdiff_t m_bRopesZOnly = 0x329; // bool + constexpr std::ptrdiff_t m_bExplosions = 0x32A; // bool + constexpr std::ptrdiff_t m_bParticles = 0x32B; // bool +} + +namespace C_OP_ExternalWindForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_vecSamplePosition = 0x1D0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecScale = 0x828; // CPerParticleVecInput + constexpr std::ptrdiff_t m_bSampleWind = 0xE80; // bool + constexpr std::ptrdiff_t m_bSampleWater = 0xE81; // bool + constexpr std::ptrdiff_t m_bDampenNearWaterPlane = 0xE82; // bool + constexpr std::ptrdiff_t m_bSampleGravity = 0xE83; // bool + constexpr std::ptrdiff_t m_vecGravityForce = 0xE88; // CPerParticleVecInput + constexpr std::ptrdiff_t m_bUseBasicMovementGravity = 0x14E0; // bool + constexpr std::ptrdiff_t m_flLocalGravityScale = 0x14E8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flLocalBuoyancyScale = 0x1640; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vecBuoyancyForce = 0x1798; // CPerParticleVecInput +} + +namespace C_OP_FadeAndKill { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flStartFadeInTime = 0x1C0; // float + constexpr std::ptrdiff_t m_flEndFadeInTime = 0x1C4; // float + constexpr std::ptrdiff_t m_flStartFadeOutTime = 0x1C8; // float + constexpr std::ptrdiff_t m_flEndFadeOutTime = 0x1CC; // float + constexpr std::ptrdiff_t m_flStartAlpha = 0x1D0; // float + constexpr std::ptrdiff_t m_flEndAlpha = 0x1D4; // float + constexpr std::ptrdiff_t m_bForcePreserveParticleOrder = 0x1D8; // bool +} + +namespace C_OP_FadeAndKillForTracers { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flStartFadeInTime = 0x1C0; // float + constexpr std::ptrdiff_t m_flEndFadeInTime = 0x1C4; // float + constexpr std::ptrdiff_t m_flStartFadeOutTime = 0x1C8; // float + constexpr std::ptrdiff_t m_flEndFadeOutTime = 0x1CC; // float + constexpr std::ptrdiff_t m_flStartAlpha = 0x1D0; // float + constexpr std::ptrdiff_t m_flEndAlpha = 0x1D4; // float +} + +namespace C_OP_FadeIn { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flFadeInTimeMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flFadeInTimeMax = 0x1C4; // float + constexpr std::ptrdiff_t m_flFadeInTimeExp = 0x1C8; // float + constexpr std::ptrdiff_t m_bProportional = 0x1CC; // bool +} + +namespace C_OP_FadeInSimple { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flFadeInTime = 0x1C0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t +} + +namespace C_OP_FadeOut { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flFadeOutTimeMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flFadeOutTimeMax = 0x1C4; // float + constexpr std::ptrdiff_t m_flFadeOutTimeExp = 0x1C8; // float + constexpr std::ptrdiff_t m_flFadeBias = 0x1CC; // float + constexpr std::ptrdiff_t m_bProportional = 0x200; // bool + constexpr std::ptrdiff_t m_bEaseInAndOut = 0x201; // bool +} + +namespace C_OP_FadeOutSimple { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flFadeOutTime = 0x1C0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t +} + +namespace C_OP_ForceBasedOnDistanceToPlane { // CParticleFunctionForce + constexpr std::ptrdiff_t m_flMinDist = 0x1D0; // float + constexpr std::ptrdiff_t m_vecForceAtMinDist = 0x1D4; // Vector + constexpr std::ptrdiff_t m_flMaxDist = 0x1E0; // float + constexpr std::ptrdiff_t m_vecForceAtMaxDist = 0x1E4; // Vector + constexpr std::ptrdiff_t m_vecPlaneNormal = 0x1F0; // Vector + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1FC; // int32_t + constexpr std::ptrdiff_t m_flExponent = 0x200; // float +} + +namespace C_OP_ForceControlPointStub { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_ControlPoint = 0x1D0; // int32_t +} + +namespace C_OP_GlobalLight { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flScale = 0x1C0; // float + constexpr std::ptrdiff_t m_bClampLowerRange = 0x1C4; // bool + constexpr std::ptrdiff_t m_bClampUpperRange = 0x1C5; // bool +} + +namespace C_OP_HSVShiftToCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nColorCP = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nColorGemEnableCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nOutputCP = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_DefaultHSVColor = 0x1DC; // Color +} + +namespace C_OP_InheritFromParentParticles { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flScale = 0x1C0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_bRandomDistribution = 0x1CC; // bool +} + +namespace C_OP_InheritFromParentParticlesV2 { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flScale = 0x1C0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_bRandomDistribution = 0x1CC; // bool + constexpr std::ptrdiff_t m_nMissingParentBehavior = 0x1D0; // MissingParentInheritBehavior_t +} + +namespace C_OP_InheritFromPeerSystem { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nGroupID = 0x1CC; // int32_t +} + +namespace C_OP_InstantaneousEmitter { // CParticleFunctionEmitter + constexpr std::ptrdiff_t m_nParticlesToEmit = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flStartTime = 0x318; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flInitFromKilledParentParticles = 0x470; // float + constexpr std::ptrdiff_t m_flParentParticleScale = 0x478; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nMaxEmittedPerFrame = 0x5D0; // int32_t + constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x5D4; // int32_t +} + +namespace C_OP_InterpolateRadius { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flStartTime = 0x1C0; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1C4; // float + constexpr std::ptrdiff_t m_flStartScale = 0x1C8; // float + constexpr std::ptrdiff_t m_flEndScale = 0x1CC; // float + constexpr std::ptrdiff_t m_bEaseInAndOut = 0x1D0; // bool + constexpr std::ptrdiff_t m_flBias = 0x1D4; // float +} + +namespace C_OP_LagCompensation { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nDesiredVelocityCP = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nLatencyCP = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nLatencyCPField = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nDesiredVelocityCPField = 0x1CC; // int32_t +} + +namespace C_OP_LerpEndCapScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOutput = 0x1C4; // float + constexpr std::ptrdiff_t m_flLerpTime = 0x1C8; // float +} + +namespace C_OP_LerpEndCapVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecOutput = 0x1C4; // Vector + constexpr std::ptrdiff_t m_flLerpTime = 0x1D0; // float +} + +namespace C_OP_LerpScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOutput = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flStartTime = 0x320; // float + constexpr std::ptrdiff_t m_flEndTime = 0x324; // float +} + +namespace C_OP_LerpToInitialPosition { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flInterpolation = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nCacheField = 0x320; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScale = 0x328; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_vecScale = 0x480; // CParticleCollectionVecInput +} + +namespace C_OP_LerpToOtherAttribute { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flInterpolation = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nFieldInputFrom = 0x318; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldInput = 0x31C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x320; // ParticleAttributeIndex_t +} + +namespace C_OP_LerpVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecOutput = 0x1C4; // Vector + constexpr std::ptrdiff_t m_flStartTime = 0x1D0; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1D4; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1D8; // ParticleSetMethod_t +} + +namespace C_OP_LightningSnapshotGenerator { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCPSnapshot = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nCPStartPnt = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nCPEndPnt = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_flSegments = 0x1E0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOffset = 0x338; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOffsetDecay = 0x490; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flRecalcRate = 0x5E8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flUVScale = 0x740; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flUVOffset = 0x898; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flSplitRate = 0x9F0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flBranchTwist = 0xB48; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nBranchBehavior = 0xCA0; // ParticleLightnintBranchBehavior_t + constexpr std::ptrdiff_t m_flRadiusStart = 0xCA8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flRadiusEnd = 0xE00; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flDedicatedPool = 0xF58; // CParticleCollectionFloatInput +} + +namespace C_OP_LocalAccelerationForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_nCP = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nScaleCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_vecAccel = 0x1D8; // CParticleCollectionVecInput +} + +namespace C_OP_LockPoints { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nMinCol = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nMaxCol = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nMinRow = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nMaxRow = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_nControlPoint = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_flBlendValue = 0x1D4; // float +} + +namespace C_OP_LockToBone { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_modelInput = 0x1C0; // CParticleModelInput + constexpr std::ptrdiff_t m_transformInput = 0x220; // CParticleTransformInput + constexpr std::ptrdiff_t m_flLifeTimeFadeStart = 0x288; // float + constexpr std::ptrdiff_t m_flLifeTimeFadeEnd = 0x28C; // float + constexpr std::ptrdiff_t m_flJumpThreshold = 0x290; // float + constexpr std::ptrdiff_t m_flPrevPosScale = 0x294; // float + constexpr std::ptrdiff_t m_HitboxSetName = 0x298; // char[128] + constexpr std::ptrdiff_t m_bRigid = 0x318; // bool + constexpr std::ptrdiff_t m_bUseBones = 0x319; // bool + constexpr std::ptrdiff_t m_nFieldOutput = 0x31C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutputPrev = 0x320; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nRotationSetType = 0x324; // ParticleRotationLockType_t + constexpr std::ptrdiff_t m_bRigidRotationLock = 0x328; // bool + constexpr std::ptrdiff_t m_vecRotation = 0x330; // CPerParticleVecInput + constexpr std::ptrdiff_t m_flRotLerp = 0x988; // CPerParticleFloatInput +} + +namespace C_OP_LockToPointList { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_pointList = 0x1C8; // CUtlVector + constexpr std::ptrdiff_t m_bPlaceAlongPath = 0x1E0; // bool + constexpr std::ptrdiff_t m_bClosedLoop = 0x1E1; // bool + constexpr std::ptrdiff_t m_nNumPointsAlongPath = 0x1E4; // int32_t +} + +namespace C_OP_LockToSavedSequentialPath { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flFadeStart = 0x1C4; // float + constexpr std::ptrdiff_t m_flFadeEnd = 0x1C8; // float + constexpr std::ptrdiff_t m_bCPPairs = 0x1CC; // bool + constexpr std::ptrdiff_t m_PathParams = 0x1D0; // CPathParameters +} + +namespace C_OP_LockToSavedSequentialPathV2 { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flFadeStart = 0x1C0; // float + constexpr std::ptrdiff_t m_flFadeEnd = 0x1C4; // float + constexpr std::ptrdiff_t m_bCPPairs = 0x1C8; // bool + constexpr std::ptrdiff_t m_PathParams = 0x1D0; // CPathParameters +} + +namespace C_OP_MaintainEmitter { // CParticleFunctionEmitter + constexpr std::ptrdiff_t m_nParticlesToMaintain = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flStartTime = 0x318; // float + constexpr std::ptrdiff_t m_flEmissionDuration = 0x320; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flEmissionRate = 0x478; // float + constexpr std::ptrdiff_t m_nSnapshotControlPoint = 0x47C; // int32_t + constexpr std::ptrdiff_t m_bEmitInstantaneously = 0x480; // bool + constexpr std::ptrdiff_t m_bFinalEmitOnStop = 0x481; // bool + constexpr std::ptrdiff_t m_flScale = 0x488; // CParticleCollectionFloatInput +} + +namespace C_OP_MaintainSequentialPath { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_fMaxDistance = 0x1C0; // float + constexpr std::ptrdiff_t m_flNumToAssign = 0x1C4; // float + constexpr std::ptrdiff_t m_flCohesionStrength = 0x1C8; // float + constexpr std::ptrdiff_t m_flTolerance = 0x1CC; // float + constexpr std::ptrdiff_t m_bLoop = 0x1D0; // bool + constexpr std::ptrdiff_t m_bUseParticleCount = 0x1D1; // bool + constexpr std::ptrdiff_t m_PathParams = 0x1E0; // CPathParameters +} + +namespace C_OP_MaxVelocity { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flMaxVelocity = 0x1C0; // float + constexpr std::ptrdiff_t m_flMinVelocity = 0x1C4; // float + constexpr std::ptrdiff_t m_nOverrideCP = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nOverrideCPField = 0x1CC; // int32_t +} + +namespace C_OP_ModelCull { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_bBoundBox = 0x1C4; // bool + constexpr std::ptrdiff_t m_bCullOutside = 0x1C5; // bool + constexpr std::ptrdiff_t m_bUseBones = 0x1C6; // bool + constexpr std::ptrdiff_t m_HitboxSetName = 0x1C7; // char[128] +} + +namespace C_OP_ModelDampenMovement { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_bBoundBox = 0x1C4; // bool + constexpr std::ptrdiff_t m_bOutside = 0x1C5; // bool + constexpr std::ptrdiff_t m_bUseBones = 0x1C6; // bool + constexpr std::ptrdiff_t m_HitboxSetName = 0x1C7; // char[128] + constexpr std::ptrdiff_t m_vecPosOffset = 0x248; // CPerParticleVecInput + constexpr std::ptrdiff_t m_fDrag = 0x8A0; // float +} + +namespace C_OP_MoveToHitbox { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_modelInput = 0x1C0; // CParticleModelInput + constexpr std::ptrdiff_t m_transformInput = 0x220; // CParticleTransformInput + constexpr std::ptrdiff_t m_flLifeTimeLerpStart = 0x28C; // float + constexpr std::ptrdiff_t m_flLifeTimeLerpEnd = 0x290; // float + constexpr std::ptrdiff_t m_flPrevPosScale = 0x294; // float + constexpr std::ptrdiff_t m_HitboxSetName = 0x298; // char[128] + constexpr std::ptrdiff_t m_bUseBones = 0x318; // bool + constexpr std::ptrdiff_t m_nLerpType = 0x31C; // HitboxLerpType_t + constexpr std::ptrdiff_t m_flInterpolation = 0x320; // CPerParticleFloatInput +} + +namespace C_OP_MovementLoopInsideSphere { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flDistance = 0x1C8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_vecScale = 0x320; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nDistSqrAttr = 0x978; // ParticleAttributeIndex_t +} + +namespace C_OP_MovementMaintainOffset { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_vecOffset = 0x1C0; // Vector + constexpr std::ptrdiff_t m_nCP = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_bRadiusScale = 0x1D0; // bool +} + +namespace C_OP_MovementMoveAlongSkinnedCPSnapshot { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nSnapshotControlPointNumber = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_bSetNormal = 0x1C8; // bool + constexpr std::ptrdiff_t m_bSetRadius = 0x1C9; // bool + constexpr std::ptrdiff_t m_flInterpolation = 0x1D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flTValue = 0x328; // CPerParticleFloatInput +} + +namespace C_OP_MovementPlaceOnGround { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flOffset = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flMaxTraceLength = 0x318; // float + constexpr std::ptrdiff_t m_flTolerance = 0x31C; // float + constexpr std::ptrdiff_t m_flTraceOffset = 0x320; // float + constexpr std::ptrdiff_t m_flLerpRate = 0x324; // float + constexpr std::ptrdiff_t m_CollisionGroupName = 0x328; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x3A8; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_nRefCP1 = 0x3AC; // int32_t + constexpr std::ptrdiff_t m_nRefCP2 = 0x3B0; // int32_t + constexpr std::ptrdiff_t m_nLerpCP = 0x3B4; // int32_t + constexpr std::ptrdiff_t m_nTraceMissBehavior = 0x3C0; // ParticleTraceMissBehavior_t + constexpr std::ptrdiff_t m_bIncludeShotHull = 0x3C4; // bool + constexpr std::ptrdiff_t m_bIncludeWater = 0x3C5; // bool + constexpr std::ptrdiff_t m_bSetNormal = 0x3C8; // bool + constexpr std::ptrdiff_t m_bScaleOffset = 0x3C9; // bool + constexpr std::ptrdiff_t m_nPreserveOffsetCP = 0x3CC; // int32_t + constexpr std::ptrdiff_t m_nIgnoreCP = 0x3D0; // int32_t +} + +namespace C_OP_MovementRigidAttachToCP { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nScaleControlPoint = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nScaleCPField = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nFieldInput = 0x1CC; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1D0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bOffsetLocal = 0x1D4; // bool +} + +namespace C_OP_MovementRotateParticleAroundAxis { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_vecRotAxis = 0x1C0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_flRotRate = 0x818; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_TransformInput = 0x970; // CParticleTransformInput + constexpr std::ptrdiff_t m_bLocalSpace = 0x9D8; // bool +} + +namespace C_OP_MovementSkinnedPositionFromCPSnapshot { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nSnapshotControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_bRandom = 0x1C8; // bool + constexpr std::ptrdiff_t m_nRandomSeed = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_bSetNormal = 0x1D0; // bool + constexpr std::ptrdiff_t m_bSetRadius = 0x1D1; // bool + constexpr std::ptrdiff_t m_flIncrement = 0x1D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nFullLoopIncrement = 0x330; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nSnapShotStartPoint = 0x488; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flInterpolation = 0x5E0; // CPerParticleFloatInput +} + +namespace C_OP_Noise { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOutputMin = 0x1C4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1C8; // float + constexpr std::ptrdiff_t m_fl4NoiseScale = 0x1CC; // float + constexpr std::ptrdiff_t m_bAdditive = 0x1D0; // bool + constexpr std::ptrdiff_t m_flNoiseAnimationTimeScale = 0x1D4; // float +} + +namespace C_OP_NoiseEmitter { // CParticleFunctionEmitter + constexpr std::ptrdiff_t m_flEmissionDuration = 0x1C0; // float + constexpr std::ptrdiff_t m_flStartTime = 0x1C4; // float + constexpr std::ptrdiff_t m_flEmissionScale = 0x1C8; // float + constexpr std::ptrdiff_t m_nScaleControlPoint = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_nScaleControlPointField = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nWorldNoisePoint = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_bAbsVal = 0x1D8; // bool + constexpr std::ptrdiff_t m_bAbsValInv = 0x1D9; // bool + constexpr std::ptrdiff_t m_flOffset = 0x1DC; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1E0; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1E4; // float + constexpr std::ptrdiff_t m_flNoiseScale = 0x1E8; // float + constexpr std::ptrdiff_t m_flWorldNoiseScale = 0x1EC; // float + constexpr std::ptrdiff_t m_vecOffsetLoc = 0x1F0; // Vector + constexpr std::ptrdiff_t m_flWorldTimeScale = 0x1FC; // float +} + +namespace C_OP_NormalLock { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t +} + +namespace C_OP_NormalizeVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScale = 0x1C4; // float +} + +namespace C_OP_Orient2DRelToCP { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flRotOffset = 0x1C0; // float + constexpr std::ptrdiff_t m_flSpinStrength = 0x1C4; // float + constexpr std::ptrdiff_t m_nCP = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1CC; // ParticleAttributeIndex_t +} + +namespace C_OP_OrientTo2dDirection { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flRotOffset = 0x1C0; // float + constexpr std::ptrdiff_t m_flSpinStrength = 0x1C4; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t +} + +namespace C_OP_OscillateScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_RateMin = 0x1C0; // float + constexpr std::ptrdiff_t m_RateMax = 0x1C4; // float + constexpr std::ptrdiff_t m_FrequencyMin = 0x1C8; // float + constexpr std::ptrdiff_t m_FrequencyMax = 0x1CC; // float + constexpr std::ptrdiff_t m_nField = 0x1D0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bProportional = 0x1D4; // bool + constexpr std::ptrdiff_t m_bProportionalOp = 0x1D5; // bool + constexpr std::ptrdiff_t m_flStartTime_min = 0x1D8; // float + constexpr std::ptrdiff_t m_flStartTime_max = 0x1DC; // float + constexpr std::ptrdiff_t m_flEndTime_min = 0x1E0; // float + constexpr std::ptrdiff_t m_flEndTime_max = 0x1E4; // float + constexpr std::ptrdiff_t m_flOscMult = 0x1E8; // float + constexpr std::ptrdiff_t m_flOscAdd = 0x1EC; // float +} + +namespace C_OP_OscillateScalarSimple { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_Rate = 0x1C0; // float + constexpr std::ptrdiff_t m_Frequency = 0x1C4; // float + constexpr std::ptrdiff_t m_nField = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOscMult = 0x1CC; // float + constexpr std::ptrdiff_t m_flOscAdd = 0x1D0; // float +} + +namespace C_OP_OscillateVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_RateMin = 0x1C0; // Vector + constexpr std::ptrdiff_t m_RateMax = 0x1CC; // Vector + constexpr std::ptrdiff_t m_FrequencyMin = 0x1D8; // Vector + constexpr std::ptrdiff_t m_FrequencyMax = 0x1E4; // Vector + constexpr std::ptrdiff_t m_nField = 0x1F0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bProportional = 0x1F4; // bool + constexpr std::ptrdiff_t m_bProportionalOp = 0x1F5; // bool + constexpr std::ptrdiff_t m_bOffset = 0x1F6; // bool + constexpr std::ptrdiff_t m_flStartTime_min = 0x1F8; // float + constexpr std::ptrdiff_t m_flStartTime_max = 0x1FC; // float + constexpr std::ptrdiff_t m_flEndTime_min = 0x200; // float + constexpr std::ptrdiff_t m_flEndTime_max = 0x204; // float + constexpr std::ptrdiff_t m_flOscMult = 0x208; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOscAdd = 0x360; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRateScale = 0x4B8; // CPerParticleFloatInput +} + +namespace C_OP_OscillateVectorSimple { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_Rate = 0x1C0; // Vector + constexpr std::ptrdiff_t m_Frequency = 0x1CC; // Vector + constexpr std::ptrdiff_t m_nField = 0x1D8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOscMult = 0x1DC; // float + constexpr std::ptrdiff_t m_flOscAdd = 0x1E0; // float + constexpr std::ptrdiff_t m_bOffset = 0x1E4; // bool +} + +namespace C_OP_ParentVortices { // CParticleFunctionForce + constexpr std::ptrdiff_t m_flForceScale = 0x1D0; // float + constexpr std::ptrdiff_t m_vecTwistAxis = 0x1D4; // Vector + constexpr std::ptrdiff_t m_bFlipBasedOnYaw = 0x1E0; // bool +} + +namespace C_OP_ParticlePhysics { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_Gravity = 0x1C0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_fDrag = 0x818; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nMaxConstraintPasses = 0x970; // int32_t +} + +namespace C_OP_PerParticleForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_flForceScale = 0x1D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vForce = 0x328; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nCP = 0x980; // int32_t +} + +namespace C_OP_PercentageBetweenTransformLerpCPs { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C4; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1C8; // float + constexpr std::ptrdiff_t m_TransformStart = 0x1D0; // CParticleTransformInput + constexpr std::ptrdiff_t m_TransformEnd = 0x238; // CParticleTransformInput + constexpr std::ptrdiff_t m_nOutputStartCP = 0x2A0; // int32_t + constexpr std::ptrdiff_t m_nOutputStartField = 0x2A4; // int32_t + constexpr std::ptrdiff_t m_nOutputEndCP = 0x2A8; // int32_t + constexpr std::ptrdiff_t m_nOutputEndField = 0x2AC; // int32_t + constexpr std::ptrdiff_t m_nSetMethod = 0x2B0; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x2B4; // bool + constexpr std::ptrdiff_t m_bRadialCheck = 0x2B5; // bool +} + +namespace C_OP_PercentageBetweenTransforms { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C4; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1C8; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_TransformStart = 0x1D8; // CParticleTransformInput + constexpr std::ptrdiff_t m_TransformEnd = 0x240; // CParticleTransformInput + constexpr std::ptrdiff_t m_nSetMethod = 0x2A8; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x2AC; // bool + constexpr std::ptrdiff_t m_bRadialCheck = 0x2AD; // bool +} + +namespace C_OP_PercentageBetweenTransformsVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C4; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1C8; // float + constexpr std::ptrdiff_t m_vecOutputMin = 0x1CC; // Vector + constexpr std::ptrdiff_t m_vecOutputMax = 0x1D8; // Vector + constexpr std::ptrdiff_t m_TransformStart = 0x1E8; // CParticleTransformInput + constexpr std::ptrdiff_t m_TransformEnd = 0x250; // CParticleTransformInput + constexpr std::ptrdiff_t m_nSetMethod = 0x2B8; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x2BC; // bool + constexpr std::ptrdiff_t m_bRadialCheck = 0x2BD; // bool +} + +namespace C_OP_PinParticleToCP { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_vecOffset = 0x1C8; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_bOffsetLocal = 0x820; // bool + constexpr std::ptrdiff_t m_nParticleSelection = 0x824; // ParticleSelection_t + constexpr std::ptrdiff_t m_nParticleNumber = 0x828; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nPinBreakType = 0x980; // ParticlePinDistance_t + constexpr std::ptrdiff_t m_flBreakDistance = 0x988; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flBreakSpeed = 0xAE0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flAge = 0xC38; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nBreakControlPointNumber = 0xD90; // int32_t + constexpr std::ptrdiff_t m_nBreakControlPointNumber2 = 0xD94; // int32_t + constexpr std::ptrdiff_t m_flBreakValue = 0xD98; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flInterpolation = 0xEF0; // CPerParticleFloatInput +} + +namespace C_OP_PlanarConstraint { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_PointOnPlane = 0x1C0; // Vector + constexpr std::ptrdiff_t m_PlaneNormal = 0x1CC; // Vector + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_bGlobalOrigin = 0x1DC; // bool + constexpr std::ptrdiff_t m_bGlobalNormal = 0x1DD; // bool + constexpr std::ptrdiff_t m_flRadiusScale = 0x1E0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flMaximumDistanceToCP = 0x338; // CParticleCollectionFloatInput +} + +namespace C_OP_PlaneCull { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nPlaneControlPoint = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_vecPlaneDirection = 0x1C4; // Vector + constexpr std::ptrdiff_t m_bLocalSpace = 0x1D0; // bool + constexpr std::ptrdiff_t m_flPlaneOffset = 0x1D4; // float +} + +namespace C_OP_PlayEndCapWhenFinished { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_bFireOnEmissionEnd = 0x1D0; // bool + constexpr std::ptrdiff_t m_bIncludeChildren = 0x1D1; // bool +} + +namespace C_OP_PointVectorAtNextParticle { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInterpolation = 0x1C8; // CPerParticleFloatInput +} + +namespace C_OP_PositionLock { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput + constexpr std::ptrdiff_t m_flStartTime_min = 0x228; // float + constexpr std::ptrdiff_t m_flStartTime_max = 0x22C; // float + constexpr std::ptrdiff_t m_flStartTime_exp = 0x230; // float + constexpr std::ptrdiff_t m_flEndTime_min = 0x234; // float + constexpr std::ptrdiff_t m_flEndTime_max = 0x238; // float + constexpr std::ptrdiff_t m_flEndTime_exp = 0x23C; // float + constexpr std::ptrdiff_t m_flRange = 0x240; // float + constexpr std::ptrdiff_t m_flRangeBias = 0x248; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flJumpThreshold = 0x3A0; // float + constexpr std::ptrdiff_t m_flPrevPosScale = 0x3A4; // float + constexpr std::ptrdiff_t m_bLockRot = 0x3A8; // bool + constexpr std::ptrdiff_t m_vecScale = 0x3B0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nFieldOutput = 0xA08; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutputPrev = 0xA0C; // ParticleAttributeIndex_t +} + +namespace C_OP_QuantizeCPComponent { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_flInputValue = 0x1D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nCPOutput = 0x328; // int32_t + constexpr std::ptrdiff_t m_nOutVectorField = 0x32C; // int32_t + constexpr std::ptrdiff_t m_flQuantizeValue = 0x330; // CParticleCollectionFloatInput +} + +namespace C_OP_QuantizeFloat { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nOutputField = 0x318; // ParticleAttributeIndex_t +} + +namespace C_OP_RadiusDecay { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flMinRadius = 0x1C0; // float +} + +namespace C_OP_RampCPLinearRandom { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_vecRateMin = 0x1D4; // Vector + constexpr std::ptrdiff_t m_vecRateMax = 0x1E0; // Vector +} + +namespace C_OP_RampScalarLinear { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_RateMin = 0x1C0; // float + constexpr std::ptrdiff_t m_RateMax = 0x1C4; // float + constexpr std::ptrdiff_t m_flStartTime_min = 0x1C8; // float + constexpr std::ptrdiff_t m_flStartTime_max = 0x1CC; // float + constexpr std::ptrdiff_t m_flEndTime_min = 0x1D0; // float + constexpr std::ptrdiff_t m_flEndTime_max = 0x1D4; // float + constexpr std::ptrdiff_t m_nField = 0x200; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bProportionalOp = 0x204; // bool +} + +namespace C_OP_RampScalarLinearSimple { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_Rate = 0x1C0; // float + constexpr std::ptrdiff_t m_flStartTime = 0x1C4; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1C8; // float + constexpr std::ptrdiff_t m_nField = 0x1F0; // ParticleAttributeIndex_t +} + +namespace C_OP_RampScalarSpline { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_RateMin = 0x1C0; // float + constexpr std::ptrdiff_t m_RateMax = 0x1C4; // float + constexpr std::ptrdiff_t m_flStartTime_min = 0x1C8; // float + constexpr std::ptrdiff_t m_flStartTime_max = 0x1CC; // float + constexpr std::ptrdiff_t m_flEndTime_min = 0x1D0; // float + constexpr std::ptrdiff_t m_flEndTime_max = 0x1D4; // float + constexpr std::ptrdiff_t m_flBias = 0x1D8; // float + constexpr std::ptrdiff_t m_nField = 0x200; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bProportionalOp = 0x204; // bool + constexpr std::ptrdiff_t m_bEaseOut = 0x205; // bool +} + +namespace C_OP_RampScalarSplineSimple { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_Rate = 0x1C0; // float + constexpr std::ptrdiff_t m_flStartTime = 0x1C4; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1C8; // float + constexpr std::ptrdiff_t m_nField = 0x1F0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bEaseOut = 0x1F4; // bool +} + +namespace C_OP_RandomForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_MinForce = 0x1D0; // Vector + constexpr std::ptrdiff_t m_MaxForce = 0x1DC; // Vector +} + +namespace C_OP_ReadFromNeighboringParticle { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nIncrement = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_DistanceCheck = 0x1D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInterpolation = 0x328; // CPerParticleFloatInput +} + +namespace C_OP_ReinitializeScalarEndCap { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOutputMin = 0x1C4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1C8; // float +} + +namespace C_OP_RemapAverageHitboxSpeedtoCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nInControlPointNumber = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nField = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nHitboxDataType = 0x1DC; // ParticleHitboxDataSelection_t + constexpr std::ptrdiff_t m_flInputMin = 0x1E0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flInputMax = 0x338; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x490; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x5E8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nHeightControlPointNumber = 0x740; // int32_t + constexpr std::ptrdiff_t m_vecComparisonVelocity = 0x748; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_HitboxSetName = 0xDA0; // char[128] +} + +namespace C_OP_RemapAverageScalarValuetoCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nOutVectorField = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nField = 0x1D8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1DC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1E0; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1E4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1E8; // float +} + +namespace C_OP_RemapBoundingVolumetoCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_flInputMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1D8; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1DC; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1E0; // float +} + +namespace C_OP_RemapCPVelocityToVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPoint = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScale = 0x1C8; // float + constexpr std::ptrdiff_t m_bNormalize = 0x1CC; // bool +} + +namespace C_OP_RemapCPtoCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nInputControlPoint = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nOutputControlPoint = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nInputField = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nOutputField = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_flInputMin = 0x1E0; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1E4; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1E8; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1EC; // float + constexpr std::ptrdiff_t m_bDerivative = 0x1F0; // bool + constexpr std::ptrdiff_t m_flInterpRate = 0x1F4; // float +} + +namespace C_OP_RemapCPtoScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCPInput = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nField = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float + constexpr std::ptrdiff_t m_flStartTime = 0x1DC; // float + constexpr std::ptrdiff_t m_flEndTime = 0x1E0; // float + constexpr std::ptrdiff_t m_flInterpRate = 0x1E4; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1E8; // ParticleSetMethod_t +} + +namespace C_OP_RemapCPtoVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCPInput = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_vInputMin = 0x1CC; // Vector + constexpr std::ptrdiff_t m_vInputMax = 0x1D8; // Vector + constexpr std::ptrdiff_t m_vOutputMin = 0x1E4; // Vector + constexpr std::ptrdiff_t m_vOutputMax = 0x1F0; // Vector + constexpr std::ptrdiff_t m_flStartTime = 0x1FC; // float + constexpr std::ptrdiff_t m_flEndTime = 0x200; // float + constexpr std::ptrdiff_t m_flInterpRate = 0x204; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x208; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bOffset = 0x20C; // bool + constexpr std::ptrdiff_t m_bAccelerate = 0x20D; // bool +} + +namespace C_OP_RemapControlPointDirectionToVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScale = 0x1C4; // float + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C8; // int32_t +} + +namespace C_OP_RemapControlPointOrientationToRotation { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flOffsetRot = 0x1C8; // float + constexpr std::ptrdiff_t m_nComponent = 0x1CC; // int32_t +} + +namespace C_OP_RemapCrossProductOfTwoVectorsToVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_InputVec1 = 0x1C0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_InputVec2 = 0x818; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nFieldOutput = 0xE70; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bNormalize = 0xE74; // bool +} + +namespace C_OP_RemapDensityGradientToVectorAttribute { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flRadiusScale = 0x1C0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t +} + +namespace C_OP_RemapDensityToVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flRadiusScale = 0x1C0; // float + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flDensityMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flDensityMax = 0x1CC; // float + constexpr std::ptrdiff_t m_vecOutputMin = 0x1D0; // Vector + constexpr std::ptrdiff_t m_vecOutputMax = 0x1DC; // Vector + constexpr std::ptrdiff_t m_bUseParentDensity = 0x1E8; // bool + constexpr std::ptrdiff_t m_nVoxelGridResolution = 0x1EC; // int32_t +} + +namespace C_OP_RemapDirectionToCPToVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScale = 0x1C8; // float + constexpr std::ptrdiff_t m_flOffsetRot = 0x1CC; // float + constexpr std::ptrdiff_t m_vecOffsetAxis = 0x1D0; // Vector + constexpr std::ptrdiff_t m_bNormalize = 0x1DC; // bool + constexpr std::ptrdiff_t m_nFieldStrength = 0x1E0; // ParticleAttributeIndex_t +} + +namespace C_OP_RemapDistanceToLineSegmentBase { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCP0 = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nCP1 = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_flMinInputValue = 0x1C8; // float + constexpr std::ptrdiff_t m_flMaxInputValue = 0x1CC; // float + constexpr std::ptrdiff_t m_bInfiniteLine = 0x1D0; // bool +} + +namespace C_OP_RemapDistanceToLineSegmentToScalar { // C_OP_RemapDistanceToLineSegmentBase + constexpr std::ptrdiff_t m_nFieldOutput = 0x1E0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flMinOutputValue = 0x1E4; // float + constexpr std::ptrdiff_t m_flMaxOutputValue = 0x1E8; // float +} + +namespace C_OP_RemapDistanceToLineSegmentToVector { // C_OP_RemapDistanceToLineSegmentBase + constexpr std::ptrdiff_t m_nFieldOutput = 0x1E0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vMinOutputValue = 0x1E4; // Vector + constexpr std::ptrdiff_t m_vMaxOutputValue = 0x1F0; // Vector +} + +namespace C_OP_RemapDotProductToCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nInputCP1 = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nInputCP2 = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nOutputCP = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nOutVectorField = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_flInputMin = 0x1E0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flInputMax = 0x338; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x490; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x5E8; // CParticleCollectionFloatInput +} + +namespace C_OP_RemapDotProductToScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nInputCP1 = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nInputCP2 = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float + constexpr std::ptrdiff_t m_bUseParticleVelocity = 0x1DC; // bool + constexpr std::ptrdiff_t m_nSetMethod = 0x1E0; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bActiveRange = 0x1E4; // bool + constexpr std::ptrdiff_t m_bUseParticleNormal = 0x1E5; // bool +} + +namespace C_OP_RemapExternalWindToCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCP = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nCPOutput = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_vecScale = 0x1D8; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_bSetMagnitude = 0x830; // bool + constexpr std::ptrdiff_t m_nOutVectorField = 0x834; // int32_t +} + +namespace C_OP_RemapModelVolumetoCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nBBoxType = 0x1D0; // BBoxVolumeType_t + constexpr std::ptrdiff_t m_nInControlPointNumber = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nOutControlPointMaxNumber = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_nField = 0x1E0; // int32_t + constexpr std::ptrdiff_t m_flInputMin = 0x1E4; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1E8; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1EC; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1F0; // float +} + +namespace C_OP_RemapNamedModelBodyPartEndCap { // C_OP_RemapNamedModelElementEndCap +} + +namespace C_OP_RemapNamedModelBodyPartOnceTimed { // C_OP_RemapNamedModelElementOnceTimed +} + +namespace C_OP_RemapNamedModelElementEndCap { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_hModel = 0x1C0; // CStrongHandle + constexpr std::ptrdiff_t m_inNames = 0x1C8; // CUtlVector + constexpr std::ptrdiff_t m_outNames = 0x1E0; // CUtlVector + constexpr std::ptrdiff_t m_fallbackNames = 0x1F8; // CUtlVector + constexpr std::ptrdiff_t m_bModelFromRenderer = 0x210; // bool + constexpr std::ptrdiff_t m_nFieldInput = 0x214; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x218; // ParticleAttributeIndex_t +} + +namespace C_OP_RemapNamedModelElementOnceTimed { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_hModel = 0x1C0; // CStrongHandle + constexpr std::ptrdiff_t m_inNames = 0x1C8; // CUtlVector + constexpr std::ptrdiff_t m_outNames = 0x1E0; // CUtlVector + constexpr std::ptrdiff_t m_fallbackNames = 0x1F8; // CUtlVector + constexpr std::ptrdiff_t m_bModelFromRenderer = 0x210; // bool + constexpr std::ptrdiff_t m_bProportional = 0x211; // bool + constexpr std::ptrdiff_t m_nFieldInput = 0x214; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x218; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flRemapTime = 0x21C; // float +} + +namespace C_OP_RemapNamedModelMeshGroupEndCap { // C_OP_RemapNamedModelElementEndCap +} + +namespace C_OP_RemapNamedModelMeshGroupOnceTimed { // C_OP_RemapNamedModelElementOnceTimed +} + +namespace C_OP_RemapNamedModelSequenceEndCap { // C_OP_RemapNamedModelElementEndCap +} + +namespace C_OP_RemapNamedModelSequenceOnceTimed { // C_OP_RemapNamedModelElementOnceTimed +} + +namespace C_OP_RemapParticleCountOnScalarEndCap { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nInputMin = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nInputMax = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_flOutputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_bBackwards = 0x1D4; // bool + constexpr std::ptrdiff_t m_nSetMethod = 0x1D8; // ParticleSetMethod_t +} + +namespace C_OP_RemapParticleCountToScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nInputMin = 0x1C8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nInputMax = 0x320; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOutputMin = 0x478; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOutputMax = 0x5D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bActiveRange = 0x728; // bool + constexpr std::ptrdiff_t m_nSetMethod = 0x72C; // ParticleSetMethod_t +} + +namespace C_OP_RemapSDFDistanceToScalarAttribute { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nVectorFieldInput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flMinDistance = 0x1C8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flMaxDistance = 0x320; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flValueBelowMin = 0x478; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flValueAtMin = 0x5D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flValueAtMax = 0x728; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flValueAboveMax = 0x880; // CParticleCollectionFloatInput +} + +namespace C_OP_RemapSDFDistanceToVectorAttribute { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nVectorFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nVectorFieldInput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flMinDistance = 0x1C8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flMaxDistance = 0x320; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_vValueBelowMin = 0x478; // Vector + constexpr std::ptrdiff_t m_vValueAtMin = 0x484; // Vector + constexpr std::ptrdiff_t m_vValueAtMax = 0x490; // Vector + constexpr std::ptrdiff_t m_vValueAboveMax = 0x49C; // Vector +} + +namespace C_OP_RemapSDFGradientToVectorAttribute { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t +} + +namespace C_OP_RemapScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float + constexpr std::ptrdiff_t m_bOldCode = 0x1D8; // bool +} + +namespace C_OP_RemapScalarEndCap { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float +} + +namespace C_OP_RemapScalarOnceTimed { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_bProportional = 0x1C0; // bool + constexpr std::ptrdiff_t m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float + constexpr std::ptrdiff_t m_flRemapTime = 0x1DC; // float +} + +namespace C_OP_RemapSpeed { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C4; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1C8; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1D4; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bIgnoreDelta = 0x1D8; // bool +} + +namespace C_OP_RemapSpeedtoCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nInControlPointNumber = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nField = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_flInputMin = 0x1DC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1E0; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1E4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1E8; // float + constexpr std::ptrdiff_t m_bUseDeltaV = 0x1EC; // bool +} + +namespace C_OP_RemapTransformOrientationToRotations { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput + constexpr std::ptrdiff_t m_vecRotation = 0x228; // Vector + constexpr std::ptrdiff_t m_bUseQuat = 0x234; // bool + constexpr std::ptrdiff_t m_bWriteNormal = 0x235; // bool +} + +namespace C_OP_RemapTransformOrientationToYaw { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput + constexpr std::ptrdiff_t m_nFieldOutput = 0x228; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flRotOffset = 0x22C; // float + constexpr std::ptrdiff_t m_flSpinStrength = 0x230; // float +} + +namespace C_OP_RemapTransformToVelocity { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_TransformInput = 0x1C0; // CParticleTransformInput +} + +namespace C_OP_RemapTransformVisibilityToScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nSetMethod = 0x1C0; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput + constexpr std::ptrdiff_t m_nFieldOutput = 0x230; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x234; // float + constexpr std::ptrdiff_t m_flInputMax = 0x238; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x23C; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x240; // float + constexpr std::ptrdiff_t m_flRadius = 0x244; // float +} + +namespace C_OP_RemapTransformVisibilityToVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nSetMethod = 0x1C0; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_TransformInput = 0x1C8; // CParticleTransformInput + constexpr std::ptrdiff_t m_nFieldOutput = 0x230; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x234; // float + constexpr std::ptrdiff_t m_flInputMax = 0x238; // float + constexpr std::ptrdiff_t m_vecOutputMin = 0x23C; // Vector + constexpr std::ptrdiff_t m_vecOutputMax = 0x248; // Vector + constexpr std::ptrdiff_t m_flRadius = 0x254; // float +} + +namespace C_OP_RemapVectorComponentToScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nComponent = 0x1C8; // int32_t +} + +namespace C_OP_RemapVectortoCP { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nOutControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldInput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nParticleNumber = 0x1C8; // int32_t +} + +namespace C_OP_RemapVelocityToVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScale = 0x1C4; // float + constexpr std::ptrdiff_t m_bNormalize = 0x1C8; // bool +} + +namespace C_OP_RemapVisibilityScalar { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldInput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1C8; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1CC; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D4; // float + constexpr std::ptrdiff_t m_flRadiusScale = 0x1D8; // float +} + +namespace C_OP_RenderAsModels { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_ModelList = 0x200; // CUtlVector + constexpr std::ptrdiff_t m_flModelScale = 0x21C; // float + constexpr std::ptrdiff_t m_bFitToModelSize = 0x220; // bool + constexpr std::ptrdiff_t m_bNonUniformScaling = 0x221; // bool + constexpr std::ptrdiff_t m_nXAxisScalingAttribute = 0x224; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nYAxisScalingAttribute = 0x228; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nZAxisScalingAttribute = 0x22C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSizeCullBloat = 0x230; // int32_t +} + +namespace C_OP_RenderBlobs { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_cubeWidth = 0x200; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_cutoffRadius = 0x358; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_renderRadius = 0x4B0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nScaleCP = 0x608; // int32_t + constexpr std::ptrdiff_t m_MaterialVars = 0x610; // CUtlVector + constexpr std::ptrdiff_t m_hMaterial = 0x640; // CStrongHandle +} + +namespace C_OP_RenderCables { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flRadiusScale = 0x200; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flAlphaScale = 0x358; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_vecColorScale = 0x4B0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nColorBlendType = 0xB08; // ParticleColorBlendType_t + constexpr std::ptrdiff_t m_hMaterial = 0xB10; // CStrongHandle + constexpr std::ptrdiff_t m_nTextureRepetitionMode = 0xB18; // TextureRepetitionMode_t + constexpr std::ptrdiff_t m_flTextureRepeatsPerSegment = 0xB20; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flTextureRepeatsCircumference = 0xC78; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flColorMapOffsetV = 0xDD0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flColorMapOffsetU = 0xF28; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flNormalMapOffsetV = 0x1080; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flNormalMapOffsetU = 0x11D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bDrawCableCaps = 0x1330; // bool + constexpr std::ptrdiff_t m_flCapRoundness = 0x1334; // float + constexpr std::ptrdiff_t m_flCapOffsetAmount = 0x1338; // float + constexpr std::ptrdiff_t m_flTessScale = 0x133C; // float + constexpr std::ptrdiff_t m_nMinTesselation = 0x1340; // int32_t + constexpr std::ptrdiff_t m_nMaxTesselation = 0x1344; // int32_t + constexpr std::ptrdiff_t m_nRoundness = 0x1348; // int32_t + constexpr std::ptrdiff_t m_LightingTransform = 0x1350; // CParticleTransformInput + constexpr std::ptrdiff_t m_MaterialFloatVars = 0x13B8; // CUtlVector + constexpr std::ptrdiff_t m_MaterialVecVars = 0x13E8; // CUtlVector +} + +namespace C_OP_RenderClothForce { // CParticleFunctionRenderer +} + +namespace C_OP_RenderDeferredLight { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_bUseAlphaTestWindow = 0x200; // bool + constexpr std::ptrdiff_t m_bUseTexture = 0x201; // bool + constexpr std::ptrdiff_t m_flRadiusScale = 0x204; // float + constexpr std::ptrdiff_t m_flAlphaScale = 0x208; // float + constexpr std::ptrdiff_t m_nAlpha2Field = 0x20C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecColorScale = 0x210; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nColorBlendType = 0x868; // ParticleColorBlendType_t + constexpr std::ptrdiff_t m_flLightDistance = 0x86C; // float + constexpr std::ptrdiff_t m_flStartFalloff = 0x870; // float + constexpr std::ptrdiff_t m_flDistanceFalloff = 0x874; // float + constexpr std::ptrdiff_t m_flSpotFoV = 0x878; // float + constexpr std::ptrdiff_t m_nAlphaTestPointField = 0x87C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nAlphaTestRangeField = 0x880; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nAlphaTestSharpnessField = 0x884; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_hTexture = 0x888; // CStrongHandle + constexpr std::ptrdiff_t m_nHSVShiftControlPoint = 0x890; // int32_t +} + +namespace C_OP_RenderFlattenGrass { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flFlattenStrength = 0x200; // float + constexpr std::ptrdiff_t m_nStrengthFieldOverride = 0x204; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flRadiusScale = 0x208; // float +} + +namespace C_OP_RenderGpuImplicit { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_bUsePerParticleRadius = 0x200; // bool + constexpr std::ptrdiff_t m_fGridSize = 0x208; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_fRadiusScale = 0x360; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_fIsosurfaceThreshold = 0x4B8; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nScaleCP = 0x610; // int32_t + constexpr std::ptrdiff_t m_hMaterial = 0x618; // CStrongHandle +} + +namespace C_OP_RenderLightBeam { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_vColorBlend = 0x200; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nColorBlendType = 0x858; // ParticleColorBlendType_t + constexpr std::ptrdiff_t m_flBrightnessLumensPerMeter = 0x860; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bCastShadows = 0x9B8; // bool + constexpr std::ptrdiff_t m_flSkirt = 0x9C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flRange = 0xB18; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flThickness = 0xC70; // CParticleCollectionFloatInput +} + +namespace C_OP_RenderLights { // C_OP_RenderPoints + constexpr std::ptrdiff_t m_flAnimationRate = 0x210; // float + constexpr std::ptrdiff_t m_nAnimationType = 0x214; // AnimationType_t + constexpr std::ptrdiff_t m_bAnimateInFPS = 0x218; // bool + constexpr std::ptrdiff_t m_flMinSize = 0x21C; // float + constexpr std::ptrdiff_t m_flMaxSize = 0x220; // float + constexpr std::ptrdiff_t m_flStartFadeSize = 0x224; // float + constexpr std::ptrdiff_t m_flEndFadeSize = 0x228; // float +} + +namespace C_OP_RenderMaterialProxy { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_nMaterialControlPoint = 0x200; // int32_t + constexpr std::ptrdiff_t m_nProxyType = 0x204; // MaterialProxyType_t + constexpr std::ptrdiff_t m_MaterialVars = 0x208; // CUtlVector + constexpr std::ptrdiff_t m_hOverrideMaterial = 0x220; // CStrongHandle + constexpr std::ptrdiff_t m_flMaterialOverrideEnabled = 0x228; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_vecColorScale = 0x380; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_flAlpha = 0x9D8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nColorBlendType = 0xB30; // ParticleColorBlendType_t +} + +namespace C_OP_RenderModels { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_bOnlyRenderInEffectsBloomPass = 0x200; // bool + constexpr std::ptrdiff_t m_bOnlyRenderInEffectsWaterPass = 0x201; // bool + constexpr std::ptrdiff_t m_bUseMixedResolutionRendering = 0x202; // bool + constexpr std::ptrdiff_t m_bOnlyRenderInEffecsGameOverlay = 0x203; // bool + constexpr std::ptrdiff_t m_ModelList = 0x208; // CUtlVector + constexpr std::ptrdiff_t m_nBodyGroupField = 0x224; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSubModelField = 0x228; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bIgnoreNormal = 0x22C; // bool + constexpr std::ptrdiff_t m_bOrientZ = 0x22D; // bool + constexpr std::ptrdiff_t m_bCenterOffset = 0x22E; // bool + constexpr std::ptrdiff_t m_vecLocalOffset = 0x230; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vecLocalRotation = 0x888; // CPerParticleVecInput + constexpr std::ptrdiff_t m_bIgnoreRadius = 0xEE0; // bool + constexpr std::ptrdiff_t m_nModelScaleCP = 0xEE4; // int32_t + constexpr std::ptrdiff_t m_vecComponentScale = 0xEE8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_bLocalScale = 0x1540; // bool + constexpr std::ptrdiff_t m_nSizeCullBloat = 0x1544; // int32_t + constexpr std::ptrdiff_t m_bAnimated = 0x1548; // bool + constexpr std::ptrdiff_t m_flAnimationRate = 0x154C; // float + constexpr std::ptrdiff_t m_bScaleAnimationRate = 0x1550; // bool + constexpr std::ptrdiff_t m_bForceLoopingAnimation = 0x1551; // bool + constexpr std::ptrdiff_t m_bResetAnimOnStop = 0x1552; // bool + constexpr std::ptrdiff_t m_bManualAnimFrame = 0x1553; // bool + constexpr std::ptrdiff_t m_nAnimationScaleField = 0x1554; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nAnimationField = 0x1558; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nManualFrameField = 0x155C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_ActivityName = 0x1560; // char[256] + constexpr std::ptrdiff_t m_SequenceName = 0x1660; // char[256] + constexpr std::ptrdiff_t m_bEnableClothSimulation = 0x1760; // bool + constexpr std::ptrdiff_t m_hOverrideMaterial = 0x1768; // CStrongHandle + constexpr std::ptrdiff_t m_bOverrideTranslucentMaterials = 0x1770; // bool + constexpr std::ptrdiff_t m_nSkin = 0x1778; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_MaterialVars = 0x18D0; // CUtlVector + constexpr std::ptrdiff_t m_modelInput = 0x18E8; // CParticleModelInput + constexpr std::ptrdiff_t m_nLOD = 0x1948; // int32_t + constexpr std::ptrdiff_t m_EconSlotName = 0x194C; // char[256] + constexpr std::ptrdiff_t m_bOriginalModel = 0x1A4C; // bool + constexpr std::ptrdiff_t m_bSuppressTint = 0x1A4D; // bool + constexpr std::ptrdiff_t m_bUseRawMeshGroup = 0x1A4E; // bool + constexpr std::ptrdiff_t m_bDisableShadows = 0x1A4F; // bool + constexpr std::ptrdiff_t m_bAcceptsDecals = 0x1A50; // bool + constexpr std::ptrdiff_t m_bForceDrawInterlevedWithSiblings = 0x1A51; // bool + constexpr std::ptrdiff_t m_bDoNotDrawInParticlePass = 0x1A52; // bool + constexpr std::ptrdiff_t m_szRenderAttribute = 0x1A53; // char[260] + constexpr std::ptrdiff_t m_flRadiusScale = 0x1B58; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flAlphaScale = 0x1CB0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flRollScale = 0x1E08; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nAlpha2Field = 0x1F60; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecColorScale = 0x1F68; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nColorBlendType = 0x25C0; // ParticleColorBlendType_t +} + +namespace C_OP_RenderOmni2Light { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_nLightType = 0x200; // ParticleOmni2LightTypeChoiceList_t + constexpr std::ptrdiff_t m_vColorBlend = 0x208; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nColorBlendType = 0x860; // ParticleColorBlendType_t + constexpr std::ptrdiff_t m_nBrightnessUnit = 0x864; // ParticleLightUnitChoiceList_t + constexpr std::ptrdiff_t m_flBrightnessLumens = 0x868; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flBrightnessCandelas = 0x9C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bCastShadows = 0xB18; // bool + constexpr std::ptrdiff_t m_flLuminaireRadius = 0xB20; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flSkirt = 0xC78; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRange = 0xDD0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInnerConeAngle = 0xF28; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flOuterConeAngle = 0x1080; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_hLightCookie = 0x11D8; // CStrongHandle + constexpr std::ptrdiff_t m_bSphericalCookie = 0x11E0; // bool +} + +namespace C_OP_RenderPoints { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_hMaterial = 0x200; // CStrongHandle +} + +namespace C_OP_RenderPostProcessing { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flPostProcessStrength = 0x200; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_hPostTexture = 0x358; // CStrongHandle + constexpr std::ptrdiff_t m_nPriority = 0x360; // ParticlePostProcessPriorityGroup_t +} + +namespace C_OP_RenderProjected { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_bProjectCharacter = 0x200; // bool + constexpr std::ptrdiff_t m_bProjectWorld = 0x201; // bool + constexpr std::ptrdiff_t m_bProjectWater = 0x202; // bool + constexpr std::ptrdiff_t m_bFlipHorizontal = 0x203; // bool + constexpr std::ptrdiff_t m_bEnableProjectedDepthControls = 0x204; // bool + constexpr std::ptrdiff_t m_flMinProjectionDepth = 0x208; // float + constexpr std::ptrdiff_t m_flMaxProjectionDepth = 0x20C; // float + constexpr std::ptrdiff_t m_hProjectedMaterial = 0x210; // CStrongHandle + constexpr std::ptrdiff_t m_flAnimationTimeScale = 0x218; // float + constexpr std::ptrdiff_t m_bOrientToNormal = 0x21C; // bool + constexpr std::ptrdiff_t m_MaterialVars = 0x220; // CUtlVector +} + +namespace C_OP_RenderRopes { // CBaseRendererSource2 + constexpr std::ptrdiff_t m_bEnableFadingAndClamping = 0x2470; // bool + constexpr std::ptrdiff_t m_flMinSize = 0x2474; // float + constexpr std::ptrdiff_t m_flMaxSize = 0x2478; // float + constexpr std::ptrdiff_t m_flStartFadeSize = 0x247C; // float + constexpr std::ptrdiff_t m_flEndFadeSize = 0x2480; // float + constexpr std::ptrdiff_t m_flStartFadeDot = 0x2484; // float + constexpr std::ptrdiff_t m_flEndFadeDot = 0x2488; // float + constexpr std::ptrdiff_t m_flRadiusTaper = 0x248C; // float + constexpr std::ptrdiff_t m_nMinTesselation = 0x2490; // int32_t + constexpr std::ptrdiff_t m_nMaxTesselation = 0x2494; // int32_t + constexpr std::ptrdiff_t m_flTessScale = 0x2498; // float + constexpr std::ptrdiff_t m_flTextureVWorldSize = 0x24A0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flTextureVScrollRate = 0x25F8; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flTextureVOffset = 0x2750; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nTextureVParamsCP = 0x28A8; // int32_t + constexpr std::ptrdiff_t m_bClampV = 0x28AC; // bool + constexpr std::ptrdiff_t m_nScaleCP1 = 0x28B0; // int32_t + constexpr std::ptrdiff_t m_nScaleCP2 = 0x28B4; // int32_t + constexpr std::ptrdiff_t m_flScaleVSizeByControlPointDistance = 0x28B8; // float + constexpr std::ptrdiff_t m_flScaleVScrollByControlPointDistance = 0x28BC; // float + constexpr std::ptrdiff_t m_flScaleVOffsetByControlPointDistance = 0x28C0; // float + constexpr std::ptrdiff_t m_bUseScalarForTextureCoordinate = 0x28C5; // bool + constexpr std::ptrdiff_t m_nScalarFieldForTextureCoordinate = 0x28C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScalarAttributeTextureCoordScale = 0x28CC; // float + constexpr std::ptrdiff_t m_bReverseOrder = 0x28D0; // bool + constexpr std::ptrdiff_t m_bClosedLoop = 0x28D1; // bool + constexpr std::ptrdiff_t m_nOrientationType = 0x28D4; // ParticleOrientationChoiceList_t + constexpr std::ptrdiff_t m_nVectorFieldForOrientation = 0x28D8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bDrawAsOpaque = 0x28DC; // bool + constexpr std::ptrdiff_t m_bGenerateNormals = 0x28DD; // bool +} + +namespace C_OP_RenderScreenShake { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flDurationScale = 0x200; // float + constexpr std::ptrdiff_t m_flRadiusScale = 0x204; // float + constexpr std::ptrdiff_t m_flFrequencyScale = 0x208; // float + constexpr std::ptrdiff_t m_flAmplitudeScale = 0x20C; // float + constexpr std::ptrdiff_t m_nRadiusField = 0x210; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nDurationField = 0x214; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFrequencyField = 0x218; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nAmplitudeField = 0x21C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFilterCP = 0x220; // int32_t +} + +namespace C_OP_RenderScreenVelocityRotate { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flRotateRateDegrees = 0x200; // float + constexpr std::ptrdiff_t m_flForwardDegrees = 0x204; // float +} + +namespace C_OP_RenderSound { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flDurationScale = 0x200; // float + constexpr std::ptrdiff_t m_flSndLvlScale = 0x204; // float + constexpr std::ptrdiff_t m_flPitchScale = 0x208; // float + constexpr std::ptrdiff_t m_flVolumeScale = 0x20C; // float + constexpr std::ptrdiff_t m_nSndLvlField = 0x210; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nDurationField = 0x214; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nPitchField = 0x218; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nVolumeField = 0x21C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nChannel = 0x220; // int32_t + constexpr std::ptrdiff_t m_nCPReference = 0x224; // int32_t + constexpr std::ptrdiff_t m_pszSoundName = 0x228; // char[256] + constexpr std::ptrdiff_t m_bSuppressStopSoundEvent = 0x328; // bool +} + +namespace C_OP_RenderSprites { // CBaseRendererSource2 + constexpr std::ptrdiff_t m_nSequenceOverride = 0x2470; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nOrientationType = 0x25C8; // ParticleOrientationChoiceList_t + constexpr std::ptrdiff_t m_nOrientationControlPoint = 0x25CC; // int32_t + constexpr std::ptrdiff_t m_bUseYawWithNormalAligned = 0x25D0; // bool + constexpr std::ptrdiff_t m_flMinSize = 0x25D4; // float + constexpr std::ptrdiff_t m_flMaxSize = 0x25D8; // float + constexpr std::ptrdiff_t m_flAlphaAdjustWithSizeAdjust = 0x25DC; // float + constexpr std::ptrdiff_t m_flStartFadeSize = 0x25E0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flEndFadeSize = 0x2738; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flStartFadeDot = 0x2890; // float + constexpr std::ptrdiff_t m_flEndFadeDot = 0x2894; // float + constexpr std::ptrdiff_t m_bDistanceAlpha = 0x2898; // bool + constexpr std::ptrdiff_t m_bSoftEdges = 0x2899; // bool + constexpr std::ptrdiff_t m_flEdgeSoftnessStart = 0x289C; // float + constexpr std::ptrdiff_t m_flEdgeSoftnessEnd = 0x28A0; // float + constexpr std::ptrdiff_t m_bOutline = 0x28A4; // bool + constexpr std::ptrdiff_t m_OutlineColor = 0x28A5; // Color + constexpr std::ptrdiff_t m_nOutlineAlpha = 0x28AC; // int32_t + constexpr std::ptrdiff_t m_flOutlineStart0 = 0x28B0; // float + constexpr std::ptrdiff_t m_flOutlineStart1 = 0x28B4; // float + constexpr std::ptrdiff_t m_flOutlineEnd0 = 0x28B8; // float + constexpr std::ptrdiff_t m_flOutlineEnd1 = 0x28BC; // float + constexpr std::ptrdiff_t m_nLightingMode = 0x28C0; // ParticleLightingQuality_t + constexpr std::ptrdiff_t m_flLightingTessellation = 0x28C8; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flLightingDirectionality = 0x2A20; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_bParticleShadows = 0x2B78; // bool + constexpr std::ptrdiff_t m_flShadowDensity = 0x2B7C; // float +} + +namespace C_OP_RenderStandardLight { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_nLightType = 0x200; // ParticleLightTypeChoiceList_t + constexpr std::ptrdiff_t m_vecColorScale = 0x208; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_nColorBlendType = 0x860; // ParticleColorBlendType_t + constexpr std::ptrdiff_t m_flIntensity = 0x868; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bCastShadows = 0x9C0; // bool + constexpr std::ptrdiff_t m_flTheta = 0x9C8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flPhi = 0xB20; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flRadiusMultiplier = 0xC78; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nAttenuationStyle = 0xDD0; // StandardLightingAttenuationStyle_t + constexpr std::ptrdiff_t m_flFalloffLinearity = 0xDD8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flFiftyPercentFalloff = 0xF30; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flZeroPercentFalloff = 0x1088; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bRenderDiffuse = 0x11E0; // bool + constexpr std::ptrdiff_t m_bRenderSpecular = 0x11E1; // bool + constexpr std::ptrdiff_t m_lightCookie = 0x11E8; // CUtlString + constexpr std::ptrdiff_t m_nPriority = 0x11F0; // int32_t + constexpr std::ptrdiff_t m_nFogLightingMode = 0x11F4; // ParticleLightFogLightingMode_t + constexpr std::ptrdiff_t m_flFogContribution = 0x11F8; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_nCapsuleLightBehavior = 0x1350; // ParticleLightBehaviorChoiceList_t + constexpr std::ptrdiff_t m_flCapsuleLength = 0x1354; // float + constexpr std::ptrdiff_t m_bReverseOrder = 0x1358; // bool + constexpr std::ptrdiff_t m_bClosedLoop = 0x1359; // bool + constexpr std::ptrdiff_t m_nPrevPntSource = 0x135C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flMaxLength = 0x1360; // float + constexpr std::ptrdiff_t m_flMinLength = 0x1364; // float + constexpr std::ptrdiff_t m_bIgnoreDT = 0x1368; // bool + constexpr std::ptrdiff_t m_flConstrainRadiusToLengthRatio = 0x136C; // float + constexpr std::ptrdiff_t m_flLengthScale = 0x1370; // float + constexpr std::ptrdiff_t m_flLengthFadeInTime = 0x1374; // float +} + +namespace C_OP_RenderStatusEffect { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_pTextureColorWarp = 0x200; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureDetail2 = 0x208; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureDiffuseWarp = 0x210; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureFresnelColorWarp = 0x218; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureFresnelWarp = 0x220; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureSpecularWarp = 0x228; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureEnvMap = 0x230; // CStrongHandle +} + +namespace C_OP_RenderStatusEffectCitadel { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_pTextureColorWarp = 0x200; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureNormal = 0x208; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureMetalness = 0x210; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureRoughness = 0x218; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureSelfIllum = 0x220; // CStrongHandle + constexpr std::ptrdiff_t m_pTextureDetail = 0x228; // CStrongHandle +} + +namespace C_OP_RenderText { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_OutlineColor = 0x200; // Color + constexpr std::ptrdiff_t m_DefaultText = 0x208; // CUtlString +} + +namespace C_OP_RenderTonemapController { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flTonemapLevel = 0x200; // float + constexpr std::ptrdiff_t m_flTonemapWeight = 0x204; // float + constexpr std::ptrdiff_t m_nTonemapLevelField = 0x208; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nTonemapWeightField = 0x20C; // ParticleAttributeIndex_t +} + +namespace C_OP_RenderTrails { // CBaseTrailRenderer + constexpr std::ptrdiff_t m_bEnableFadingAndClamping = 0x2740; // bool + constexpr std::ptrdiff_t m_flStartFadeDot = 0x2744; // float + constexpr std::ptrdiff_t m_flEndFadeDot = 0x2748; // float + constexpr std::ptrdiff_t m_nPrevPntSource = 0x274C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flMaxLength = 0x2750; // float + constexpr std::ptrdiff_t m_flMinLength = 0x2754; // float + constexpr std::ptrdiff_t m_bIgnoreDT = 0x2758; // bool + constexpr std::ptrdiff_t m_flConstrainRadiusToLengthRatio = 0x275C; // float + constexpr std::ptrdiff_t m_flLengthScale = 0x2760; // float + constexpr std::ptrdiff_t m_flLengthFadeInTime = 0x2764; // float + constexpr std::ptrdiff_t m_flRadiusHeadTaper = 0x2768; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vecHeadColorScale = 0x28C0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_flHeadAlphaScale = 0x2F18; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRadiusTaper = 0x3070; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vecTailColorScale = 0x31C8; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_flTailAlphaScale = 0x3820; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nHorizCropField = 0x3978; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nVertCropField = 0x397C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flForwardShift = 0x3980; // float + constexpr std::ptrdiff_t m_bFlipUVBasedOnPitchYaw = 0x3984; // bool +} + +namespace C_OP_RenderTreeShake { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_flPeakStrength = 0x200; // float + constexpr std::ptrdiff_t m_nPeakStrengthFieldOverride = 0x204; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flRadius = 0x208; // float + constexpr std::ptrdiff_t m_nRadiusFieldOverride = 0x20C; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flShakeDuration = 0x210; // float + constexpr std::ptrdiff_t m_flTransitionTime = 0x214; // float + constexpr std::ptrdiff_t m_flTwistAmount = 0x218; // float + constexpr std::ptrdiff_t m_flRadialAmount = 0x21C; // float + constexpr std::ptrdiff_t m_flControlPointOrientationAmount = 0x220; // float + constexpr std::ptrdiff_t m_nControlPointForLinearDirection = 0x224; // int32_t +} + +namespace C_OP_RenderVRHapticEvent { // CParticleFunctionRenderer + constexpr std::ptrdiff_t m_nHand = 0x200; // ParticleVRHandChoiceList_t + constexpr std::ptrdiff_t m_nOutputHandCP = 0x204; // int32_t + constexpr std::ptrdiff_t m_nOutputField = 0x208; // int32_t + constexpr std::ptrdiff_t m_flAmplitude = 0x210; // CPerParticleFloatInput +} + +namespace C_OP_RepeatedTriggerChildGroup { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nChildGroupID = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_flClusterRefireTime = 0x1D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flClusterSize = 0x330; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flClusterCooldown = 0x488; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bLimitChildCount = 0x5E0; // bool +} + +namespace C_OP_RestartAfterDuration { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flDurationMin = 0x1C0; // float + constexpr std::ptrdiff_t m_flDurationMax = 0x1C4; // float + constexpr std::ptrdiff_t m_nCP = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nCPField = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_nChildGroupID = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_bOnlyChildren = 0x1D4; // bool +} + +namespace C_OP_RopeSpringConstraint { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_flRestLength = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flMinDistance = 0x318; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flMaxDistance = 0x470; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flAdjustmentScale = 0x5C8; // float + constexpr std::ptrdiff_t m_flInitialRestingLength = 0x5D0; // CParticleCollectionFloatInput +} + +namespace C_OP_RotateVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecRotAxisMin = 0x1C4; // Vector + constexpr std::ptrdiff_t m_vecRotAxisMax = 0x1D0; // Vector + constexpr std::ptrdiff_t m_flRotRateMin = 0x1DC; // float + constexpr std::ptrdiff_t m_flRotRateMax = 0x1E0; // float + constexpr std::ptrdiff_t m_bNormalize = 0x1E4; // bool + constexpr std::ptrdiff_t m_flScale = 0x1E8; // CPerParticleFloatInput +} + +namespace C_OP_RtEnvCull { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_vecTestDir = 0x1C0; // Vector + constexpr std::ptrdiff_t m_vecTestNormal = 0x1CC; // Vector + constexpr std::ptrdiff_t m_bCullOnMiss = 0x1D8; // bool + constexpr std::ptrdiff_t m_bStickInsteadOfCull = 0x1D9; // bool + constexpr std::ptrdiff_t m_RtEnvName = 0x1DA; // char[128] + constexpr std::ptrdiff_t m_nRTEnvCP = 0x25C; // int32_t + constexpr std::ptrdiff_t m_nComponent = 0x260; // int32_t +} + +namespace C_OP_SDFConstraint { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_flMinDist = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flMaxDist = 0x318; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nMaxIterations = 0x470; // int32_t +} + +namespace C_OP_SDFForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_flForceScale = 0x1D0; // float +} + +namespace C_OP_SDFLighting { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_vLightingDir = 0x1C0; // Vector + constexpr std::ptrdiff_t m_vTint_0 = 0x1CC; // Vector + constexpr std::ptrdiff_t m_vTint_1 = 0x1D8; // Vector +} + +namespace C_OP_SelectivelyEnableChildren { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nChildGroupID = 0x1D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nFirstChild = 0x328; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nNumChildrenToEnable = 0x480; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bPlayEndcapOnStop = 0x5D8; // bool + constexpr std::ptrdiff_t m_bDestroyImmediately = 0x5D9; // bool +} + +namespace C_OP_SequenceFromModel { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nFieldOutputAnim = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flInputMin = 0x1CC; // float + constexpr std::ptrdiff_t m_flInputMax = 0x1D0; // float + constexpr std::ptrdiff_t m_flOutputMin = 0x1D4; // float + constexpr std::ptrdiff_t m_flOutputMax = 0x1D8; // float + constexpr std::ptrdiff_t m_nSetMethod = 0x1DC; // ParticleSetMethod_t +} + +namespace C_OP_SetAttributeToScalarExpression { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nExpression = 0x1C0; // ScalarExpressionType_t + constexpr std::ptrdiff_t m_flInput1 = 0x1C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flInput2 = 0x320; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nOutputField = 0x478; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0x47C; // ParticleSetMethod_t +} + +namespace C_OP_SetCPOrientationToDirection { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nInputControlPoint = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nOutputControlPoint = 0x1C4; // int32_t +} + +namespace C_OP_SetCPOrientationToGroundNormal { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flInterpRate = 0x1C0; // float + constexpr std::ptrdiff_t m_flMaxTraceLength = 0x1C4; // float + constexpr std::ptrdiff_t m_flTolerance = 0x1C8; // float + constexpr std::ptrdiff_t m_flTraceOffset = 0x1CC; // float + constexpr std::ptrdiff_t m_CollisionGroupName = 0x1D0; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x250; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_nInputCP = 0x254; // int32_t + constexpr std::ptrdiff_t m_nOutputCP = 0x258; // int32_t + constexpr std::ptrdiff_t m_bIncludeWater = 0x268; // bool +} + +namespace C_OP_SetCPOrientationToPointAtCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nInputCP = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nOutputCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_flInterpolation = 0x1D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_b2DOrientation = 0x330; // bool + constexpr std::ptrdiff_t m_bAvoidSingularity = 0x331; // bool + constexpr std::ptrdiff_t m_bPointAway = 0x332; // bool +} + +namespace C_OP_SetCPtoVector { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCPInput = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C4; // ParticleAttributeIndex_t +} + +namespace C_OP_SetChildControlPoints { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nChildGroupID = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nNumControlPoints = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x1D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bReverse = 0x328; // bool + constexpr std::ptrdiff_t m_bSetOrientation = 0x329; // bool +} + +namespace C_OP_SetControlPointFieldFromVectorExpression { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nExpression = 0x1D0; // VectorFloatExpressionType_t + constexpr std::ptrdiff_t m_vecInput1 = 0x1D8; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_vecInput2 = 0x830; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_flOutputRemap = 0xE88; // CParticleRemapFloatInput + constexpr std::ptrdiff_t m_nOutputCP = 0xFE0; // int32_t + constexpr std::ptrdiff_t m_nOutVectorField = 0xFE4; // int32_t +} + +namespace C_OP_SetControlPointFieldToScalarExpression { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nExpression = 0x1D0; // ScalarExpressionType_t + constexpr std::ptrdiff_t m_flInput1 = 0x1D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flInput2 = 0x330; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flOutputRemap = 0x488; // CParticleRemapFloatInput + constexpr std::ptrdiff_t m_nOutputCP = 0x5E0; // int32_t + constexpr std::ptrdiff_t m_nOutVectorField = 0x5E4; // int32_t +} + +namespace C_OP_SetControlPointFieldToWater { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nSourceCP = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nDestCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nCPField = 0x1D8; // int32_t +} + +namespace C_OP_SetControlPointFromObjectScale { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCPInput = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nCPOutput = 0x1D4; // int32_t +} + +namespace C_OP_SetControlPointOrientation { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_bUseWorldLocation = 0x1D0; // bool + constexpr std::ptrdiff_t m_bRandomize = 0x1D2; // bool + constexpr std::ptrdiff_t m_bSetOnce = 0x1D3; // bool + constexpr std::ptrdiff_t m_nCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nHeadLocation = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_vecRotation = 0x1DC; // QAngle + constexpr std::ptrdiff_t m_vecRotationB = 0x1E8; // QAngle + constexpr std::ptrdiff_t m_flInterpolation = 0x1F8; // CParticleCollectionFloatInput +} + +namespace C_OP_SetControlPointOrientationToCPVelocity { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCPInput = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nCPOutput = 0x1D4; // int32_t +} + +namespace C_OP_SetControlPointPositionToRandomActiveCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCP1 = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nHeadLocationMin = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nHeadLocationMax = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_flResetRate = 0x1E0; // CParticleCollectionFloatInput +} + +namespace C_OP_SetControlPointPositionToTimeOfDayValue { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_pszTimeOfDayParameter = 0x1D4; // char[128] + constexpr std::ptrdiff_t m_vecDefaultValue = 0x254; // Vector +} + +namespace C_OP_SetControlPointPositions { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_bUseWorldLocation = 0x1D0; // bool + constexpr std::ptrdiff_t m_bOrient = 0x1D1; // bool + constexpr std::ptrdiff_t m_bSetOnce = 0x1D2; // bool + constexpr std::ptrdiff_t m_nCP1 = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nCP2 = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nCP3 = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_nCP4 = 0x1E0; // int32_t + constexpr std::ptrdiff_t m_vecCP1Pos = 0x1E4; // Vector + constexpr std::ptrdiff_t m_vecCP2Pos = 0x1F0; // Vector + constexpr std::ptrdiff_t m_vecCP3Pos = 0x1FC; // Vector + constexpr std::ptrdiff_t m_vecCP4Pos = 0x208; // Vector + constexpr std::ptrdiff_t m_nHeadLocation = 0x214; // int32_t +} + +namespace C_OP_SetControlPointRotation { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_vecRotAxis = 0x1D0; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_flRotRate = 0x828; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nCP = 0x980; // int32_t + constexpr std::ptrdiff_t m_nLocalCP = 0x984; // int32_t +} + +namespace C_OP_SetControlPointToCPVelocity { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCPInput = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nCPOutputVel = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_bNormalize = 0x1D8; // bool + constexpr std::ptrdiff_t m_nCPOutputMag = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_nCPField = 0x1E0; // int32_t + constexpr std::ptrdiff_t m_vecComparisonVelocity = 0x1E8; // CParticleCollectionVecInput +} + +namespace C_OP_SetControlPointToCenter { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCP1 = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_vecCP1Pos = 0x1D4; // Vector + constexpr std::ptrdiff_t m_nSetParent = 0x1E0; // ParticleParentSetMode_t +} + +namespace C_OP_SetControlPointToHMD { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCP1 = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_vecCP1Pos = 0x1D4; // Vector + constexpr std::ptrdiff_t m_bOrientToHMD = 0x1E0; // bool +} + +namespace C_OP_SetControlPointToHand { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCP1 = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nHand = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_vecCP1Pos = 0x1D8; // Vector + constexpr std::ptrdiff_t m_bOrientToHand = 0x1E4; // bool +} + +namespace C_OP_SetControlPointToImpactPoint { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCPOut = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nCPIn = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_flUpdateRate = 0x1D8; // float + constexpr std::ptrdiff_t m_flTraceLength = 0x1E0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flStartOffset = 0x338; // float + constexpr std::ptrdiff_t m_flOffset = 0x33C; // float + constexpr std::ptrdiff_t m_vecTraceDir = 0x340; // Vector + constexpr std::ptrdiff_t m_CollisionGroupName = 0x34C; // char[128] + constexpr std::ptrdiff_t m_nTraceSet = 0x3CC; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_bSetToEndpoint = 0x3D0; // bool + constexpr std::ptrdiff_t m_bTraceToClosestSurface = 0x3D1; // bool + constexpr std::ptrdiff_t m_bIncludeWater = 0x3D2; // bool +} + +namespace C_OP_SetControlPointToPlayer { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCP1 = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_vecCP1Pos = 0x1D4; // Vector + constexpr std::ptrdiff_t m_bOrientToEyes = 0x1E0; // bool +} + +namespace C_OP_SetControlPointToVectorExpression { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nExpression = 0x1D0; // VectorExpressionType_t + constexpr std::ptrdiff_t m_nOutputCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_vInput1 = 0x1D8; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_vInput2 = 0x830; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_bNormalizedOutput = 0xE88; // bool +} + +namespace C_OP_SetControlPointToWaterSurface { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nSourceCP = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nDestCP = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nFlowCP = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nActiveCP = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_nActiveCPField = 0x1E0; // int32_t + constexpr std::ptrdiff_t m_flRetestRate = 0x1E8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bAdaptiveThreshold = 0x340; // bool +} + +namespace C_OP_SetControlPointsToModelParticles { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_HitboxSetName = 0x1C0; // char[128] + constexpr std::ptrdiff_t m_AttachmentName = 0x240; // char[128] + constexpr std::ptrdiff_t m_nFirstControlPoint = 0x2C0; // int32_t + constexpr std::ptrdiff_t m_nNumControlPoints = 0x2C4; // int32_t + constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x2C8; // int32_t + constexpr std::ptrdiff_t m_bSkin = 0x2CC; // bool + constexpr std::ptrdiff_t m_bAttachment = 0x2CD; // bool +} + +namespace C_OP_SetControlPointsToParticle { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nChildGroupID = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nNumControlPoints = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_bSetOrientation = 0x1D0; // bool + constexpr std::ptrdiff_t m_nOrientationMode = 0x1D4; // ParticleOrientationSetMode_t + constexpr std::ptrdiff_t m_nSetParent = 0x1D8; // ParticleParentSetMode_t +} + +namespace C_OP_SetFloat { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nOutputField = 0x318; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0x31C; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_Lerp = 0x320; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bUseNewCode = 0x478; // bool +} + +namespace C_OP_SetFloatAttributeToVectorExpression { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nExpression = 0x1C0; // VectorFloatExpressionType_t + constexpr std::ptrdiff_t m_vInput1 = 0x1C8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vInput2 = 0x820; // CPerParticleVecInput + constexpr std::ptrdiff_t m_flOutputRemap = 0xE78; // CParticleRemapFloatInput + constexpr std::ptrdiff_t m_nOutputField = 0xFD0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0xFD4; // ParticleSetMethod_t +} + +namespace C_OP_SetFloatCollection { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nOutputField = 0x318; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0x31C; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_Lerp = 0x320; // CParticleCollectionFloatInput +} + +namespace C_OP_SetFromCPSnapshot { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nAttributeToRead = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nAttributeToWrite = 0x1C8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_bRandom = 0x1D0; // bool + constexpr std::ptrdiff_t m_bReverse = 0x1D1; // bool + constexpr std::ptrdiff_t m_nRandomSeed = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nSnapShotStartPoint = 0x1D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nSnapShotIncrement = 0x330; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_flInterpolation = 0x488; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bSubSample = 0x5E0; // bool +} + +namespace C_OP_SetGravityToCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nCPInput = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nCPOutput = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_flScale = 0x1D8; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bSetOrientation = 0x330; // bool + constexpr std::ptrdiff_t m_bSetZDown = 0x331; // bool +} + +namespace C_OP_SetParentControlPointsToChildCP { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_nChildGroupID = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nChildControlPoint = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nNumControlPoints = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x1DC; // int32_t + constexpr std::ptrdiff_t m_bSetOrientation = 0x1E0; // bool +} + +namespace C_OP_SetPerChildControlPoint { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nChildGroupID = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nNumControlPoints = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nParticleIncrement = 0x1D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x328; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bSetOrientation = 0x480; // bool + constexpr std::ptrdiff_t m_nOrientationField = 0x484; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_bNumBasedOnParticleCount = 0x488; // bool +} + +namespace C_OP_SetPerChildControlPointFromAttribute { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nChildGroupID = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nFirstControlPoint = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nNumControlPoints = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nParticleIncrement = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_nFirstSourcePoint = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_bNumBasedOnParticleCount = 0x1D4; // bool + constexpr std::ptrdiff_t m_nAttributeToRead = 0x1D8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nCPField = 0x1DC; // int32_t +} + +namespace C_OP_SetRandomControlPointPosition { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_bUseWorldLocation = 0x1D0; // bool + constexpr std::ptrdiff_t m_bOrient = 0x1D1; // bool + constexpr std::ptrdiff_t m_nCP1 = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_nHeadLocation = 0x1D8; // int32_t + constexpr std::ptrdiff_t m_flReRandomRate = 0x1E0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_vecCPMinPos = 0x338; // Vector + constexpr std::ptrdiff_t m_vecCPMaxPos = 0x344; // Vector + constexpr std::ptrdiff_t m_flInterpolation = 0x350; // CParticleCollectionFloatInput +} + +namespace C_OP_SetSimulationRate { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_flSimulationScale = 0x1D0; // CParticleCollectionFloatInput +} + +namespace C_OP_SetSingleControlPointPosition { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_bSetOnce = 0x1D0; // bool + constexpr std::ptrdiff_t m_nCP1 = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_vecCP1Pos = 0x1D8; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_transformInput = 0x830; // CParticleTransformInput +} + +namespace C_OP_SetToCP { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_vecOffset = 0x1C4; // Vector + constexpr std::ptrdiff_t m_bOffsetLocal = 0x1D0; // bool +} + +namespace C_OP_SetVariable { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_variableReference = 0x1D0; // CParticleVariableRef + constexpr std::ptrdiff_t m_transformInput = 0x210; // CParticleTransformInput + constexpr std::ptrdiff_t m_positionOffset = 0x278; // Vector + constexpr std::ptrdiff_t m_rotationOffset = 0x284; // QAngle + constexpr std::ptrdiff_t m_vecInput = 0x290; // CParticleCollectionVecInput + constexpr std::ptrdiff_t m_floatInput = 0x8E8; // CParticleCollectionFloatInput +} + +namespace C_OP_SetVec { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_InputValue = 0x1C0; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nOutputField = 0x818; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0x81C; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_Lerp = 0x820; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bNormalizedOutput = 0x978; // bool +} + +namespace C_OP_SetVectorAttributeToVectorExpression { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nExpression = 0x1C0; // VectorExpressionType_t + constexpr std::ptrdiff_t m_vInput1 = 0x1C8; // CPerParticleVecInput + constexpr std::ptrdiff_t m_vInput2 = 0x820; // CPerParticleVecInput + constexpr std::ptrdiff_t m_nOutputField = 0xE78; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nSetMethod = 0xE7C; // ParticleSetMethod_t + constexpr std::ptrdiff_t m_bNormalizedOutput = 0xE80; // bool +} + +namespace C_OP_ShapeMatchingConstraint { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_flShapeRestorationTime = 0x1C0; // float +} + +namespace C_OP_SnapshotRigidSkinToBones { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_bTransformNormals = 0x1C0; // bool + constexpr std::ptrdiff_t m_bTransformRadii = 0x1C1; // bool + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32_t +} + +namespace C_OP_SnapshotSkinToBones { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_bTransformNormals = 0x1C0; // bool + constexpr std::ptrdiff_t m_bTransformRadii = 0x1C1; // bool + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_flLifeTimeFadeStart = 0x1C8; // float + constexpr std::ptrdiff_t m_flLifeTimeFadeEnd = 0x1CC; // float + constexpr std::ptrdiff_t m_flJumpThreshold = 0x1D0; // float + constexpr std::ptrdiff_t m_flPrevPosScale = 0x1D4; // float +} + +namespace C_OP_Spin { // CGeneralSpin +} + +namespace C_OP_SpinUpdate { // CSpinUpdateBase +} + +namespace C_OP_SpinYaw { // CGeneralSpin +} + +namespace C_OP_SpringToVectorConstraint { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_flRestLength = 0x1C0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flMinDistance = 0x318; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flMaxDistance = 0x470; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRestingLength = 0x5C8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vecAnchorVector = 0x720; // CPerParticleVecInput +} + +namespace C_OP_StopAfterCPDuration { // CParticleFunctionPreEmission + constexpr std::ptrdiff_t m_flDuration = 0x1D0; // CParticleCollectionFloatInput + constexpr std::ptrdiff_t m_bDestroyImmediately = 0x328; // bool + constexpr std::ptrdiff_t m_bPlayEndCap = 0x329; // bool +} + +namespace C_OP_TeleportBeam { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nCPPosition = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nCPVelocity = 0x1C4; // int32_t + constexpr std::ptrdiff_t m_nCPMisc = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_nCPColor = 0x1CC; // int32_t + constexpr std::ptrdiff_t m_nCPInvalidColor = 0x1D0; // int32_t + constexpr std::ptrdiff_t m_nCPExtraArcData = 0x1D4; // int32_t + constexpr std::ptrdiff_t m_vGravity = 0x1D8; // Vector + constexpr std::ptrdiff_t m_flArcMaxDuration = 0x1E4; // float + constexpr std::ptrdiff_t m_flSegmentBreak = 0x1E8; // float + constexpr std::ptrdiff_t m_flArcSpeed = 0x1EC; // float + constexpr std::ptrdiff_t m_flAlpha = 0x1F0; // float +} + +namespace C_OP_TimeVaryingForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_flStartLerpTime = 0x1D0; // float + constexpr std::ptrdiff_t m_StartingForce = 0x1D4; // Vector + constexpr std::ptrdiff_t m_flEndLerpTime = 0x1E0; // float + constexpr std::ptrdiff_t m_EndingForce = 0x1E4; // Vector +} + +namespace C_OP_TurbulenceForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_flNoiseCoordScale0 = 0x1D0; // float + constexpr std::ptrdiff_t m_flNoiseCoordScale1 = 0x1D4; // float + constexpr std::ptrdiff_t m_flNoiseCoordScale2 = 0x1D8; // float + constexpr std::ptrdiff_t m_flNoiseCoordScale3 = 0x1DC; // float + constexpr std::ptrdiff_t m_vecNoiseAmount0 = 0x1E0; // Vector + constexpr std::ptrdiff_t m_vecNoiseAmount1 = 0x1EC; // Vector + constexpr std::ptrdiff_t m_vecNoiseAmount2 = 0x1F8; // Vector + constexpr std::ptrdiff_t m_vecNoiseAmount3 = 0x204; // Vector +} + +namespace C_OP_TwistAroundAxis { // CParticleFunctionForce + constexpr std::ptrdiff_t m_fForceAmount = 0x1D0; // float + constexpr std::ptrdiff_t m_TwistAxis = 0x1D4; // Vector + constexpr std::ptrdiff_t m_bLocalSpace = 0x1E0; // bool + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1E4; // int32_t +} + +namespace C_OP_UpdateLightSource { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_vColorTint = 0x1C0; // Color + constexpr std::ptrdiff_t m_flBrightnessScale = 0x1C4; // float + constexpr std::ptrdiff_t m_flRadiusScale = 0x1C8; // float + constexpr std::ptrdiff_t m_flMinimumLightingRadius = 0x1CC; // float + constexpr std::ptrdiff_t m_flMaximumLightingRadius = 0x1D0; // float + constexpr std::ptrdiff_t m_flPositionDampingConstant = 0x1D4; // float +} + +namespace C_OP_VectorFieldSnapshot { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nControlPointNumber = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_nAttributeToWrite = 0x1C4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nLocalSpaceCP = 0x1C8; // int32_t + constexpr std::ptrdiff_t m_flInterpolation = 0x1D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_vecScale = 0x328; // CPerParticleVecInput + constexpr std::ptrdiff_t m_flBoundaryDampening = 0x980; // float + constexpr std::ptrdiff_t m_bSetVelocity = 0x984; // bool + constexpr std::ptrdiff_t m_bLockToSurface = 0x985; // bool + constexpr std::ptrdiff_t m_flGridSpacing = 0x988; // float +} + +namespace C_OP_VectorNoise { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_nFieldOutput = 0x1C0; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_vecOutputMin = 0x1C4; // Vector + constexpr std::ptrdiff_t m_vecOutputMax = 0x1D0; // Vector + constexpr std::ptrdiff_t m_fl4NoiseScale = 0x1DC; // float + constexpr std::ptrdiff_t m_bAdditive = 0x1E0; // bool + constexpr std::ptrdiff_t m_bOffset = 0x1E1; // bool + constexpr std::ptrdiff_t m_flNoiseAnimationTimeScale = 0x1E4; // float +} + +namespace C_OP_VelocityDecay { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flMinVelocity = 0x1C0; // float +} + +namespace C_OP_VelocityMatchingForce { // CParticleFunctionOperator + constexpr std::ptrdiff_t m_flDirScale = 0x1C0; // float + constexpr std::ptrdiff_t m_flSpdScale = 0x1C4; // float + constexpr std::ptrdiff_t m_nCPBroadcast = 0x1C8; // int32_t +} + +namespace C_OP_WindForce { // CParticleFunctionForce + constexpr std::ptrdiff_t m_vForce = 0x1D0; // Vector +} + +namespace C_OP_WorldCollideConstraint { // CParticleFunctionConstraint +} + +namespace C_OP_WorldTraceConstraint { // CParticleFunctionConstraint + constexpr std::ptrdiff_t m_nCP = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_vecCpOffset = 0x1C4; // Vector + constexpr std::ptrdiff_t m_nCollisionMode = 0x1D0; // ParticleCollisionMode_t + constexpr std::ptrdiff_t m_nCollisionModeMin = 0x1D4; // ParticleCollisionMode_t + constexpr std::ptrdiff_t m_nTraceSet = 0x1D8; // ParticleTraceSet_t + constexpr std::ptrdiff_t m_CollisionGroupName = 0x1DC; // char[128] + constexpr std::ptrdiff_t m_bWorldOnly = 0x25C; // bool + constexpr std::ptrdiff_t m_bBrushOnly = 0x25D; // bool + constexpr std::ptrdiff_t m_bIncludeWater = 0x25E; // bool + constexpr std::ptrdiff_t m_nIgnoreCP = 0x260; // int32_t + constexpr std::ptrdiff_t m_flCpMovementTolerance = 0x264; // float + constexpr std::ptrdiff_t m_flRetestRate = 0x268; // float + constexpr std::ptrdiff_t m_flTraceTolerance = 0x26C; // float + constexpr std::ptrdiff_t m_flCollisionConfirmationSpeed = 0x270; // float + constexpr std::ptrdiff_t m_nMaxTracesPerFrame = 0x274; // float + constexpr std::ptrdiff_t m_flRadiusScale = 0x278; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flBounceAmount = 0x3D0; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flSlideAmount = 0x528; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_flRandomDirScale = 0x680; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_bDecayBounce = 0x7D8; // bool + constexpr std::ptrdiff_t m_bKillonContact = 0x7D9; // bool + constexpr std::ptrdiff_t m_flMinSpeed = 0x7DC; // float + constexpr std::ptrdiff_t m_bSetNormal = 0x7E0; // bool + constexpr std::ptrdiff_t m_nStickOnCollisionField = 0x7E4; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flStopSpeed = 0x7E8; // CPerParticleFloatInput + constexpr std::ptrdiff_t m_nEntityStickDataField = 0x940; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_nEntityStickNormalField = 0x944; // ParticleAttributeIndex_t +} + +namespace CollisionGroupContext_t { + constexpr std::ptrdiff_t m_nCollisionGroupNumber = 0x0; // int32_t +} + +namespace ControlPointReference_t { + constexpr std::ptrdiff_t m_controlPointNameString = 0x0; // int32_t + constexpr std::ptrdiff_t m_vOffsetFromControlPoint = 0x4; // Vector + constexpr std::ptrdiff_t m_bOffsetInLocalSpace = 0x10; // bool +} + +namespace FloatInputMaterialVariable_t { + constexpr std::ptrdiff_t m_strVariable = 0x0; // CUtlString + constexpr std::ptrdiff_t m_flInput = 0x8; // CParticleCollectionFloatInput +} + +namespace IControlPointEditorData { +} + +namespace IParticleCollection { +} + +namespace IParticleEffect { +} + +namespace IParticleSystemDefinition { +} + +namespace MaterialVariable_t { + constexpr std::ptrdiff_t m_strVariable = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nVariableField = 0x8; // ParticleAttributeIndex_t + constexpr std::ptrdiff_t m_flScale = 0xC; // float +} + +namespace ModelReference_t { + constexpr std::ptrdiff_t m_model = 0x0; // CStrongHandle + constexpr std::ptrdiff_t m_flRelativeProbabilityOfSpawn = 0x8; // float +} + +namespace PARTICLE_EHANDLE__ { + constexpr std::ptrdiff_t unused = 0x0; // int32_t +} + +namespace PARTICLE_WORLD_HANDLE__ { + constexpr std::ptrdiff_t unused = 0x0; // int32_t +} + +namespace ParticleAttributeIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace ParticleChildrenInfo_t { + constexpr std::ptrdiff_t m_ChildRef = 0x0; // CStrongHandle + constexpr std::ptrdiff_t m_flDelay = 0x8; // float + constexpr std::ptrdiff_t m_bEndCap = 0xC; // bool + constexpr std::ptrdiff_t m_bDisableChild = 0xD; // bool + constexpr std::ptrdiff_t m_nDetailLevel = 0x10; // ParticleDetailLevel_t +} + +namespace ParticleControlPointConfiguration_t { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_drivers = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_previewState = 0x20; // ParticlePreviewState_t +} + +namespace ParticleControlPointDriver_t { + constexpr std::ptrdiff_t m_iControlPoint = 0x0; // int32_t + constexpr std::ptrdiff_t m_iAttachType = 0x4; // ParticleAttachment_t + constexpr std::ptrdiff_t m_attachmentName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_vecOffset = 0x10; // Vector + constexpr std::ptrdiff_t m_angOffset = 0x1C; // QAngle + constexpr std::ptrdiff_t m_entityName = 0x28; // CUtlString +} + +namespace ParticleNamedValueConfiguration_t { + constexpr std::ptrdiff_t m_ConfigName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_ConfigValue = 0x8; // KeyValues3 + constexpr std::ptrdiff_t m_iAttachType = 0x18; // ParticleAttachment_t + constexpr std::ptrdiff_t m_BoundEntityPath = 0x20; // CUtlString + constexpr std::ptrdiff_t m_strEntityScope = 0x28; // CUtlString + constexpr std::ptrdiff_t m_strAttachmentName = 0x30; // CUtlString +} + +namespace ParticleNamedValueSource_t { + constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_IsPublic = 0x8; // bool + constexpr std::ptrdiff_t m_ValueType = 0xC; // PulseValueType_t + constexpr std::ptrdiff_t m_DefaultConfig = 0x10; // ParticleNamedValueConfiguration_t + constexpr std::ptrdiff_t m_NamedConfigs = 0x48; // CUtlVector +} + +namespace ParticlePreviewBodyGroup_t { + constexpr std::ptrdiff_t m_bodyGroupName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nValue = 0x8; // int32_t +} + +namespace ParticlePreviewState_t { + constexpr std::ptrdiff_t m_previewModel = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nModSpecificData = 0x8; // uint32_t + constexpr std::ptrdiff_t m_groundType = 0xC; // PetGroundType_t + constexpr std::ptrdiff_t m_sequenceName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_nFireParticleOnSequenceFrame = 0x18; // int32_t + constexpr std::ptrdiff_t m_hitboxSetName = 0x20; // CUtlString + constexpr std::ptrdiff_t m_materialGroupName = 0x28; // CUtlString + constexpr std::ptrdiff_t m_vecBodyGroups = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_flPlaybackSpeed = 0x48; // float + constexpr std::ptrdiff_t m_flParticleSimulationRate = 0x4C; // float + constexpr std::ptrdiff_t m_bShouldDrawHitboxes = 0x50; // bool + constexpr std::ptrdiff_t m_bShouldDrawAttachments = 0x51; // bool + constexpr std::ptrdiff_t m_bShouldDrawAttachmentNames = 0x52; // bool + constexpr std::ptrdiff_t m_bShouldDrawControlPointAxes = 0x53; // bool + constexpr std::ptrdiff_t m_bAnimationNonLooping = 0x54; // bool + constexpr std::ptrdiff_t m_vecPreviewGravity = 0x58; // Vector +} + +namespace PointDefinitionWithTimeValues_t { // PointDefinition_t + constexpr std::ptrdiff_t m_flTimeDuration = 0x14; // float +} + +namespace PointDefinition_t { + constexpr std::ptrdiff_t m_nControlPoint = 0x0; // int32_t + constexpr std::ptrdiff_t m_bLocalCoords = 0x4; // bool + constexpr std::ptrdiff_t m_vOffset = 0x8; // Vector +} + +namespace SequenceWeightedList_t { + constexpr std::ptrdiff_t m_nSequence = 0x0; // int32_t + constexpr std::ptrdiff_t m_flRelativeWeight = 0x4; // float +} + +namespace TextureControls_t { + constexpr std::ptrdiff_t m_flFinalTextureScaleU = 0x0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flFinalTextureScaleV = 0x158; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flFinalTextureOffsetU = 0x2B0; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flFinalTextureOffsetV = 0x408; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flFinalTextureUVRotation = 0x560; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flZoomScale = 0x6B8; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_flDistortion = 0x810; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_bRandomizeOffsets = 0x968; // bool + constexpr std::ptrdiff_t m_bClampUVs = 0x969; // bool + constexpr std::ptrdiff_t m_nPerParticleBlend = 0x96C; // SpriteCardPerParticleScale_t + constexpr std::ptrdiff_t m_nPerParticleScale = 0x970; // SpriteCardPerParticleScale_t + constexpr std::ptrdiff_t m_nPerParticleOffsetU = 0x974; // SpriteCardPerParticleScale_t + constexpr std::ptrdiff_t m_nPerParticleOffsetV = 0x978; // SpriteCardPerParticleScale_t + constexpr std::ptrdiff_t m_nPerParticleRotation = 0x97C; // SpriteCardPerParticleScale_t + constexpr std::ptrdiff_t m_nPerParticleZoom = 0x980; // SpriteCardPerParticleScale_t + constexpr std::ptrdiff_t m_nPerParticleDistortion = 0x984; // SpriteCardPerParticleScale_t +} + +namespace TextureGroup_t { + constexpr std::ptrdiff_t m_bEnabled = 0x0; // bool + constexpr std::ptrdiff_t m_bReplaceTextureWithGradient = 0x1; // bool + constexpr std::ptrdiff_t m_hTexture = 0x8; // CStrongHandle + constexpr std::ptrdiff_t m_Gradient = 0x10; // CColorGradient + constexpr std::ptrdiff_t m_nTextureType = 0x28; // SpriteCardTextureType_t + constexpr std::ptrdiff_t m_nTextureChannels = 0x2C; // SpriteCardTextureChannel_t + constexpr std::ptrdiff_t m_nTextureBlendMode = 0x30; // ParticleTextureLayerBlendType_t + constexpr std::ptrdiff_t m_flTextureBlend = 0x38; // CParticleCollectionRendererFloatInput + constexpr std::ptrdiff_t m_TextureControls = 0x190; // TextureControls_t +} + +namespace VecInputMaterialVariable_t { + constexpr std::ptrdiff_t m_strVariable = 0x0; // CUtlString + constexpr std::ptrdiff_t m_vecInput = 0x8; // CParticleCollectionVecInput +} \ No newline at end of file diff --git a/HPCS2/offset/pulse_system.dll.hpp b/HPCS2/offset/pulse_system.dll.hpp new file mode 100644 index 0000000..e2cbd0d --- /dev/null +++ b/HPCS2/offset/pulse_system.dll.hpp @@ -0,0 +1,352 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace CBasePulseGraphInstance { +} + +namespace CPulseCell_Base { + constexpr std::ptrdiff_t m_nEditorNodeID = 0x8; // PulseDocNodeID_t +} + +namespace CPulseCell_BaseFlow { // CPulseCell_Base +} + +namespace CPulseCell_BaseValue { // CPulseCell_Base +} + +namespace CPulseCell_BaseYieldingInflow { // CPulseCell_BaseFlow +} + +namespace CPulseCell_Inflow_BaseEntrypoint { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_EntryChunk = 0x48; // PulseRuntimeChunkIndex_t + constexpr std::ptrdiff_t m_RegisterMap = 0x50; // PulseRegisterMap_t +} + +namespace CPulseCell_Inflow_EntOutputHandler { // CPulseCell_Inflow_BaseEntrypoint + constexpr std::ptrdiff_t m_SourceEntity = 0x70; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SourceOutput = 0x78; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_TargetInput = 0x80; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_ExpectedParamType = 0x88; // CPulseValueFullType +} + +namespace CPulseCell_Inflow_EventHandler { // CPulseCell_Inflow_BaseEntrypoint + constexpr std::ptrdiff_t m_EventName = 0x70; // CUtlSymbolLarge +} + +namespace CPulseCell_Inflow_GraphHook { // CPulseCell_Inflow_BaseEntrypoint + constexpr std::ptrdiff_t m_HookName = 0x70; // CUtlSymbolLarge +} + +namespace CPulseCell_Inflow_Method { // CPulseCell_Inflow_BaseEntrypoint + constexpr std::ptrdiff_t m_MethodName = 0x70; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Description = 0x78; // CUtlString + constexpr std::ptrdiff_t m_bIsPublic = 0x80; // bool + constexpr std::ptrdiff_t m_ReturnType = 0x88; // CPulseValueFullType + constexpr std::ptrdiff_t m_Args = 0x98; // CUtlVector +} + +namespace CPulseCell_Inflow_Wait { // CPulseCell_BaseYieldingInflow + constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint +} + +namespace CPulseCell_Inflow_Yield { // CPulseCell_BaseYieldingInflow + constexpr std::ptrdiff_t m_UnyieldResume = 0x48; // CPulse_ResumePoint +} + +namespace CPulseCell_Outflow_CycleOrdered { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector +} + +namespace CPulseCell_Outflow_CycleOrdered_InstanceState_t { + constexpr std::ptrdiff_t m_nNextIndex = 0x0; // int32_t +} + +namespace CPulseCell_Outflow_CycleRandom { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector +} + +namespace CPulseCell_Outflow_CycleShuffled { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector +} + +namespace CPulseCell_Outflow_CycleShuffled_InstanceState_t { + constexpr std::ptrdiff_t m_Shuffle = 0x0; // CUtlVectorFixedGrowable + constexpr std::ptrdiff_t m_nNextShuffle = 0x20; // int32_t +} + +namespace CPulseCell_Outflow_IntSwitch { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection + constexpr std::ptrdiff_t m_CaseOutflows = 0x58; // CUtlVector +} + +namespace CPulseCell_Outflow_SimultaneousParallel { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector +} + +namespace CPulseCell_Outflow_StringSwitch { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection + constexpr std::ptrdiff_t m_CaseOutflows = 0x58; // CUtlVector +} + +namespace CPulseCell_Outflow_TestExplicitYesNo { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection + constexpr std::ptrdiff_t m_No = 0x58; // CPulse_OutflowConnection +} + +namespace CPulseCell_Outflow_TestRandomYesNo { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection + constexpr std::ptrdiff_t m_No = 0x58; // CPulse_OutflowConnection +} + +namespace CPulseCell_Step_CallExternalMethod { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_MethodName = 0x48; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_ExpectedArgs = 0x50; // CUtlVector +} + +namespace CPulseCell_Step_DebugLog { // CPulseCell_BaseFlow +} + +namespace CPulseCell_Step_PublicOutput { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t +} + +namespace CPulseCell_Step_TestDomainCreateFakeEntity { // CPulseCell_BaseFlow +} + +namespace CPulseCell_Step_TestDomainDestroyFakeEntity { // CPulseCell_BaseFlow +} + +namespace CPulseCell_Step_TestDomainEntFire { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Input = 0x48; // CUtlString +} + +namespace CPulseCell_Step_TestDomainTracepoint { // CPulseCell_BaseFlow +} + +namespace CPulseCell_Test_MultiInflow_NoDefault { // CPulseCell_BaseFlow +} + +namespace CPulseCell_Test_MultiInflow_WithDefault { // CPulseCell_BaseFlow +} + +namespace CPulseCell_Test_NoInflow { // CPulseCell_BaseFlow +} + +namespace CPulseCell_Val_TestDomainFindEntityByName { // CPulseCell_BaseValue +} + +namespace CPulseCell_Val_TestDomainGetEntityName { // CPulseCell_BaseValue +} + +namespace CPulseCell_Value_RandomInt { // CPulseCell_BaseValue +} + +namespace CPulseCell_Value_TestValue50 { // CPulseCell_BaseValue +} + +namespace CPulseExecCursor { +} + +namespace CPulseGraphDef { + constexpr std::ptrdiff_t m_DomainIdentifier = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_ParentMapName = 0x10; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Chunks = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_Cells = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_Vars = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_PublicOutputs = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_InvokeBindings = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_CallInfos = 0x90; // CUtlVector + constexpr std::ptrdiff_t m_OutputConnections = 0xA8; // CUtlVector +} + +namespace CPulseGraphInstance_TestDomain { // CBasePulseGraphInstance + constexpr std::ptrdiff_t m_bIsRunningUnitTests = 0xD0; // bool + constexpr std::ptrdiff_t m_bExplicitTimeStepping = 0xD1; // bool + constexpr std::ptrdiff_t m_bExpectingToDestroyWithYieldedCursors = 0xD2; // bool + constexpr std::ptrdiff_t m_nNextValidateIndex = 0xD4; // int32_t + constexpr std::ptrdiff_t m_Tracepoints = 0xD8; // CUtlVector + constexpr std::ptrdiff_t m_bTestYesOrNoPath = 0xF0; // bool +} + +namespace CPulseGraphInstance_TestDomain_Derived { // CPulseGraphInstance_TestDomain + constexpr std::ptrdiff_t m_nInstanceValueX = 0xF8; // int32_t +} + +namespace CPulseGraphInstance_TurtleGraphics { // CBasePulseGraphInstance +} + +namespace CPulseMathlib { +} + +namespace CPulseRuntimeMethodArg { + constexpr std::ptrdiff_t m_Name = 0x0; // CKV3MemberNameWithStorage + constexpr std::ptrdiff_t m_Description = 0x38; // CUtlString + constexpr std::ptrdiff_t m_Type = 0x40; // CPulseValueFullType +} + +namespace CPulseTestFuncs_DerivedDomain { +} + +namespace CPulseTestFuncs_LibraryA { +} + +namespace CPulseTestScriptLib { +} + +namespace CPulseTurtleGraphicsCursor { // CPulseExecCursor + constexpr std::ptrdiff_t m_Color = 0x188; // Color + constexpr std::ptrdiff_t m_vPos = 0x18C; // Vector2D + constexpr std::ptrdiff_t m_flHeadingDeg = 0x194; // float + constexpr std::ptrdiff_t m_bPenUp = 0x198; // bool +} + +namespace CPulse_CallInfo { + constexpr std::ptrdiff_t m_PortName = 0x0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nEditorNodeID = 0x8; // PulseDocNodeID_t + constexpr std::ptrdiff_t m_RegisterMap = 0x10; // PulseRegisterMap_t + constexpr std::ptrdiff_t m_CallMethodID = 0x30; // PulseDocNodeID_t + constexpr std::ptrdiff_t m_nSrcChunk = 0x34; // PulseRuntimeChunkIndex_t + constexpr std::ptrdiff_t m_nSrcInstruction = 0x38; // int32_t +} + +namespace CPulse_Chunk { + constexpr std::ptrdiff_t m_Instructions = 0x0; // CUtlLeanVector + constexpr std::ptrdiff_t m_Registers = 0x10; // CUtlLeanVector + constexpr std::ptrdiff_t m_InstructionEditorIDs = 0x20; // CUtlLeanVector +} + +namespace CPulse_InvokeBinding { + constexpr std::ptrdiff_t m_RegisterMap = 0x0; // PulseRegisterMap_t + constexpr std::ptrdiff_t m_FuncName = 0x20; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nCellIndex = 0x28; // PulseRuntimeCellIndex_t + constexpr std::ptrdiff_t m_InstanceType = 0x30; // CPulseValueFullType + constexpr std::ptrdiff_t m_nSrcChunk = 0x40; // PulseRuntimeChunkIndex_t + constexpr std::ptrdiff_t m_nSrcInstruction = 0x44; // int32_t +} + +namespace CPulse_OutflowConnection { + constexpr std::ptrdiff_t m_SourceOutflowName = 0x0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nDestChunk = 0x8; // PulseRuntimeChunkIndex_t + constexpr std::ptrdiff_t m_nInstruction = 0xC; // int32_t +} + +namespace CPulse_OutputConnection { + constexpr std::ptrdiff_t m_SourceOutput = 0x0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_TargetEntity = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_TargetInput = 0x10; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Param = 0x18; // CUtlSymbolLarge +} + +namespace CPulse_PublicOutput { + constexpr std::ptrdiff_t m_Name = 0x0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Description = 0x8; // CUtlString + constexpr std::ptrdiff_t m_ParamType = 0x10; // CPulseValueFullType +} + +namespace CPulse_RegisterInfo { + constexpr std::ptrdiff_t m_nReg = 0x0; // PulseRuntimeRegisterIndex_t + constexpr std::ptrdiff_t m_Type = 0x8; // CPulseValueFullType + constexpr std::ptrdiff_t m_OriginName = 0x18; // CKV3MemberNameWithStorage + constexpr std::ptrdiff_t m_nWrittenByInstruction = 0x50; // int32_t + constexpr std::ptrdiff_t m_nLastReadByInstruction = 0x54; // int32_t +} + +namespace CPulse_ResumePoint { // CPulse_OutflowConnection +} + +namespace CPulse_Variable { + constexpr std::ptrdiff_t m_Name = 0x0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Description = 0x8; // CUtlString + constexpr std::ptrdiff_t m_Type = 0x10; // CPulseValueFullType + constexpr std::ptrdiff_t m_DefaultValue = 0x20; // KeyValues3 + constexpr std::ptrdiff_t m_bIsPublic = 0x32; // bool +} + +namespace CTestDomainDerived_Cursor { // CPulseExecCursor + constexpr std::ptrdiff_t m_nCursorValueA = 0x188; // int32_t + constexpr std::ptrdiff_t m_nCursorValueB = 0x18C; // int32_t +} + +namespace FakeEntity_t { + constexpr std::ptrdiff_t m_nHandle = 0x0; // PulseTestEHandle_t + constexpr std::ptrdiff_t m_Name = 0x8; // CUtlString + constexpr std::ptrdiff_t m_Class = 0x10; // CUtlString + constexpr std::ptrdiff_t m_bDestroyed = 0x18; // bool + constexpr std::ptrdiff_t m_pAssociatedGraphInstance = 0x20; // CPulseGraphInstance_TestDomain* + constexpr std::ptrdiff_t m_bFuncWasCalled = 0x28; // bool + constexpr std::ptrdiff_t m_fValue = 0x2C; // float +} + +namespace PGDInstruction_t { + constexpr std::ptrdiff_t m_nCode = 0x0; // PulseInstructionCode_t + constexpr std::ptrdiff_t m_nVar = 0x4; // PulseRuntimeVarIndex_t + constexpr std::ptrdiff_t m_nReg0 = 0x8; // PulseRuntimeRegisterIndex_t + constexpr std::ptrdiff_t m_nReg1 = 0xA; // PulseRuntimeRegisterIndex_t + constexpr std::ptrdiff_t m_nReg2 = 0xC; // PulseRuntimeRegisterIndex_t + constexpr std::ptrdiff_t m_nInvokeBindingIndex = 0x10; // PulseRuntimeInvokeIndex_t + constexpr std::ptrdiff_t m_nChunk = 0x14; // PulseRuntimeChunkIndex_t + constexpr std::ptrdiff_t m_nDestInstruction = 0x18; // int32_t + constexpr std::ptrdiff_t m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t + constexpr std::ptrdiff_t m_Arg0Name = 0x20; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Arg1Name = 0x28; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bLiteralBool = 0x30; // bool + constexpr std::ptrdiff_t m_nLiteralInt = 0x34; // int32_t + constexpr std::ptrdiff_t m_flLiteralFloat = 0x38; // float + constexpr std::ptrdiff_t m_LiteralString = 0x40; // CBufferString + constexpr std::ptrdiff_t m_vLiteralVec3 = 0x50; // Vector +} + +namespace PulseDocNodeID_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PulseRegisterMap_t { + constexpr std::ptrdiff_t m_Inparams = 0x0; // KeyValues3 + constexpr std::ptrdiff_t m_Outparams = 0x10; // KeyValues3 +} + +namespace PulseRuntimeCallInfoIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PulseRuntimeCellIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PulseRuntimeChunkIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PulseRuntimeEntrypointIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PulseRuntimeInvokeIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PulseRuntimeOutputIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PulseRuntimeRegisterIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int16_t +} + +namespace PulseRuntimeStateOffset_t { + constexpr std::ptrdiff_t m_Value = 0x0; // uint16_t +} + +namespace PulseRuntimeVarIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PulseTestEHandle_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} \ No newline at end of file diff --git a/HPCS2/offset/rendersystemdx11.dll.hpp b/HPCS2/offset/rendersystemdx11.dll.hpp new file mode 100644 index 0000000..a211d27 --- /dev/null +++ b/HPCS2/offset/rendersystemdx11.dll.hpp @@ -0,0 +1,29 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace RenderInputLayoutField_t { + constexpr std::ptrdiff_t m_pSemanticName = 0x0; // uint8_t[32] + constexpr std::ptrdiff_t m_nSemanticIndex = 0x20; // int32_t + constexpr std::ptrdiff_t m_Format = 0x24; // uint32_t + constexpr std::ptrdiff_t m_nOffset = 0x28; // int32_t + constexpr std::ptrdiff_t m_nSlot = 0x2C; // int32_t + constexpr std::ptrdiff_t m_nSlotType = 0x30; // RenderSlotType_t + constexpr std::ptrdiff_t m_nInstanceStepRate = 0x34; // int32_t +} + +namespace VsInputSignatureElement_t { + constexpr std::ptrdiff_t m_pName = 0x0; // char[64] + constexpr std::ptrdiff_t m_pSemantic = 0x40; // char[64] + constexpr std::ptrdiff_t m_pD3DSemanticName = 0x80; // char[64] + constexpr std::ptrdiff_t m_nD3DSemanticIndex = 0xC0; // int32_t +} + +namespace VsInputSignature_t { + constexpr std::ptrdiff_t m_elems = 0x0; // CUtlVector +} \ No newline at end of file diff --git a/HPCS2/offset/resourcesystem.dll.hpp b/HPCS2/offset/resourcesystem.dll.hpp new file mode 100644 index 0000000..bd2c3a2 --- /dev/null +++ b/HPCS2/offset/resourcesystem.dll.hpp @@ -0,0 +1,213 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace AABB_t { + constexpr std::ptrdiff_t m_vMinBounds = 0x0; // Vector + constexpr std::ptrdiff_t m_vMaxBounds = 0xC; // Vector +} + +namespace CFuseProgram { + constexpr std::ptrdiff_t m_programBuffer = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_variablesRead = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_variablesWritten = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_nMaxTempVarsUsed = 0x48; // int32_t +} + +namespace CFuseSymbolTable { + constexpr std::ptrdiff_t m_constants = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_variables = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_functions = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_constantMap = 0x48; // CUtlHashtable + constexpr std::ptrdiff_t m_variableMap = 0x68; // CUtlHashtable + constexpr std::ptrdiff_t m_functionMap = 0x88; // CUtlHashtable +} + +namespace ConstantInfo_t { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nameToken = 0x8; // CUtlStringToken + constexpr std::ptrdiff_t m_flValue = 0xC; // float +} + +namespace FourQuaternions { + constexpr std::ptrdiff_t x = 0x0; // fltx4 + constexpr std::ptrdiff_t y = 0x10; // fltx4 + constexpr std::ptrdiff_t z = 0x20; // fltx4 + constexpr std::ptrdiff_t w = 0x30; // fltx4 +} + +namespace FunctionInfo_t { + constexpr std::ptrdiff_t m_name = 0x8; // CUtlString + constexpr std::ptrdiff_t m_nameToken = 0x10; // CUtlStringToken + constexpr std::ptrdiff_t m_nParamCount = 0x14; // int32_t + constexpr std::ptrdiff_t m_nIndex = 0x18; // FuseFunctionIndex_t + constexpr std::ptrdiff_t m_bIsPure = 0x1A; // bool +} + +namespace FuseFunctionIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // uint16_t +} + +namespace FuseVariableIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // uint16_t +} + +namespace InfoForResourceTypeCAnimData { +} + +namespace InfoForResourceTypeCAnimationGroup { +} + +namespace InfoForResourceTypeCCSGOEconItem { +} + +namespace InfoForResourceTypeCChoreoSceneFileData { +} + +namespace InfoForResourceTypeCCompositeMaterialKit { +} + +namespace InfoForResourceTypeCDACGameDefsData { +} + +namespace InfoForResourceTypeCDOTANovelsList { +} + +namespace InfoForResourceTypeCDOTAPatchNotesList { +} + +namespace InfoForResourceTypeCDotaItemDefinitionResource { +} + +namespace InfoForResourceTypeCEntityLump { +} + +namespace InfoForResourceTypeCJavaScriptResource { +} + +namespace InfoForResourceTypeCModel { +} + +namespace InfoForResourceTypeCMorphSetData { +} + +namespace InfoForResourceTypeCNmClip { +} + +namespace InfoForResourceTypeCNmSkeleton { +} + +namespace InfoForResourceTypeCPanoramaDynamicImages { +} + +namespace InfoForResourceTypeCPanoramaLayout { +} + +namespace InfoForResourceTypeCPanoramaStyle { +} + +namespace InfoForResourceTypeCPhysAggregateData { +} + +namespace InfoForResourceTypeCPostProcessingResource { +} + +namespace InfoForResourceTypeCRenderMesh { +} + +namespace InfoForResourceTypeCResponseRulesList { +} + +namespace InfoForResourceTypeCSequenceGroupData { +} + +namespace InfoForResourceTypeCSmartProp { +} + +namespace InfoForResourceTypeCTextureBase { +} + +namespace InfoForResourceTypeCTypeScriptResource { +} + +namespace InfoForResourceTypeCVDataResource { +} + +namespace InfoForResourceTypeCVMixListResource { +} + +namespace InfoForResourceTypeCVPhysXSurfacePropertiesList { +} + +namespace InfoForResourceTypeCVSoundEventScriptList { +} + +namespace InfoForResourceTypeCVSoundStackScriptList { +} + +namespace InfoForResourceTypeCVoxelVisibility { +} + +namespace InfoForResourceTypeCWorldNode { +} + +namespace InfoForResourceTypeIAnimGraphModelBinding { +} + +namespace InfoForResourceTypeIMaterial2 { +} + +namespace InfoForResourceTypeIParticleSnapshot { +} + +namespace InfoForResourceTypeIParticleSystemDefinition { +} + +namespace InfoForResourceTypeIPulseGraphDef { +} + +namespace InfoForResourceTypeIVectorGraphic { +} + +namespace InfoForResourceTypeManifestTestResource_t { +} + +namespace InfoForResourceTypeProceduralTestResource_t { +} + +namespace InfoForResourceTypeTestResource_t { +} + +namespace InfoForResourceTypeVSound_t { +} + +namespace InfoForResourceTypeWorld_t { +} + +namespace ManifestTestResource_t { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_child = 0x8; // CStrongHandle +} + +namespace PackedAABB_t { + constexpr std::ptrdiff_t m_nPackedMin = 0x0; // uint32_t + constexpr std::ptrdiff_t m_nPackedMax = 0x4; // uint32_t +} + +namespace TestResource_t { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString +} + +namespace VariableInfo_t { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nameToken = 0x8; // CUtlStringToken + constexpr std::ptrdiff_t m_nIndex = 0xC; // FuseVariableIndex_t + constexpr std::ptrdiff_t m_nNumComponents = 0xE; // uint8_t + constexpr std::ptrdiff_t m_eVarType = 0xF; // FuseVariableType_t + constexpr std::ptrdiff_t m_eAccess = 0x10; // FuseVariableAccess_t +} \ No newline at end of file diff --git a/HPCS2/offset/scenesystem.dll.hpp b/HPCS2/offset/scenesystem.dll.hpp new file mode 100644 index 0000000..40c2600 --- /dev/null +++ b/HPCS2/offset/scenesystem.dll.hpp @@ -0,0 +1,61 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace CSSDSEndFrameViewInfo { + constexpr std::ptrdiff_t m_nViewId = 0x0; // uint64_t + constexpr std::ptrdiff_t m_ViewName = 0x8; // CUtlString +} + +namespace CSSDSMsg_EndFrame { + constexpr std::ptrdiff_t m_Views = 0x0; // CUtlVector +} + +namespace CSSDSMsg_LayerBase { + constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t + constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_nLayerIndex = 0x18; // int32_t + constexpr std::ptrdiff_t m_nLayerId = 0x20; // uint64_t + constexpr std::ptrdiff_t m_LayerName = 0x28; // CUtlString + constexpr std::ptrdiff_t m_displayText = 0x30; // CUtlString +} + +namespace CSSDSMsg_PostLayer { // CSSDSMsg_LayerBase +} + +namespace CSSDSMsg_PreLayer { // CSSDSMsg_LayerBase +} + +namespace CSSDSMsg_ViewRender { + constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t + constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString +} + +namespace CSSDSMsg_ViewTarget { + constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_TextureId = 0x8; // uint64_t + constexpr std::ptrdiff_t m_nWidth = 0x10; // int32_t + constexpr std::ptrdiff_t m_nHeight = 0x14; // int32_t + constexpr std::ptrdiff_t m_nRequestedWidth = 0x18; // int32_t + constexpr std::ptrdiff_t m_nRequestedHeight = 0x1C; // int32_t + constexpr std::ptrdiff_t m_nNumMipLevels = 0x20; // int32_t + constexpr std::ptrdiff_t m_nDepth = 0x24; // int32_t + constexpr std::ptrdiff_t m_nMultisampleNumSamples = 0x28; // int32_t + constexpr std::ptrdiff_t m_nFormat = 0x2C; // int32_t +} + +namespace CSSDSMsg_ViewTargetList { + constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t + constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_Targets = 0x18; // CUtlVector +} + +namespace SceneViewId_t { + constexpr std::ptrdiff_t m_nViewId = 0x0; // uint64_t + constexpr std::ptrdiff_t m_nFrameCount = 0x8; // uint64_t +} \ No newline at end of file diff --git a/HPCS2/offset/schemasystem.dll.hpp b/HPCS2/offset/schemasystem.dll.hpp new file mode 100644 index 0000000..5cf2755 --- /dev/null +++ b/HPCS2/offset/schemasystem.dll.hpp @@ -0,0 +1,57 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace CExampleSchemaVData_Monomorphic { + constexpr std::ptrdiff_t m_nExample1 = 0x0; // int32_t + constexpr std::ptrdiff_t m_nExample2 = 0x4; // int32_t +} + +namespace CExampleSchemaVData_PolymorphicBase { + constexpr std::ptrdiff_t m_nBase = 0x8; // int32_t +} + +namespace CExampleSchemaVData_PolymorphicDerivedA { // CExampleSchemaVData_PolymorphicBase + constexpr std::ptrdiff_t m_nDerivedA = 0x10; // int32_t +} + +namespace CExampleSchemaVData_PolymorphicDerivedB { // CExampleSchemaVData_PolymorphicBase + constexpr std::ptrdiff_t m_nDerivedB = 0x10; // int32_t +} + +namespace CSchemaSystemInternalRegistration { + constexpr std::ptrdiff_t m_Vector2D = 0x0; // Vector2D + constexpr std::ptrdiff_t m_Vector = 0x8; // Vector + constexpr std::ptrdiff_t m_VectorAligned = 0x20; // VectorAligned + constexpr std::ptrdiff_t m_Quaternion = 0x30; // Quaternion + constexpr std::ptrdiff_t m_QAngle = 0x40; // QAngle + constexpr std::ptrdiff_t m_RotationVector = 0x4C; // RotationVector + constexpr std::ptrdiff_t m_RadianEuler = 0x58; // RadianEuler + constexpr std::ptrdiff_t m_DegreeEuler = 0x64; // DegreeEuler + constexpr std::ptrdiff_t m_QuaternionStorage = 0x70; // QuaternionStorage + constexpr std::ptrdiff_t m_matrix3x4_t = 0x80; // matrix3x4_t + constexpr std::ptrdiff_t m_matrix3x4a_t = 0xB0; // matrix3x4a_t + constexpr std::ptrdiff_t m_Color = 0xE0; // Color + constexpr std::ptrdiff_t m_Vector4D = 0xE4; // Vector4D + constexpr std::ptrdiff_t m_CTransform = 0x100; // CTransform + constexpr std::ptrdiff_t m_pKeyValues = 0x120; // KeyValues* + constexpr std::ptrdiff_t m_CUtlBinaryBlock = 0x128; // CUtlBinaryBlock + constexpr std::ptrdiff_t m_CUtlString = 0x140; // CUtlString + constexpr std::ptrdiff_t m_CUtlSymbol = 0x148; // CUtlSymbol + constexpr std::ptrdiff_t m_stringToken = 0x14C; // CUtlStringToken + constexpr std::ptrdiff_t m_stringTokenWithStorage = 0x150; // CUtlStringTokenWithStorage + constexpr std::ptrdiff_t m_ResourceTypes = 0x168; // CResourceArray> + constexpr std::ptrdiff_t m_KV3 = 0x170; // KeyValues3 +} + +namespace InfoForResourceTypeCResourceManifestInternal { +} + +namespace ResourceId_t { + constexpr std::ptrdiff_t m_Value = 0x0; // uint64_t +} \ No newline at end of file diff --git a/HPCS2/offset/server.dll.hpp b/HPCS2/offset/server.dll.hpp new file mode 100644 index 0000000..71bef97 --- /dev/null +++ b/HPCS2/offset/server.dll.hpp @@ -0,0 +1,7168 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:21 +0000 + */ + +#pragma once + +#include + +namespace ActiveModelConfig_t { + constexpr std::ptrdiff_t m_Handle = 0x28; // ModelConfigHandle_t + constexpr std::ptrdiff_t m_Name = 0x30; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_AssociatedEntities = 0x38; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_AssociatedEntityNames = 0x50; // CNetworkUtlVectorBase +} + +namespace AmmoIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int8_t +} + +namespace AmmoTypeInfo_t { + constexpr std::ptrdiff_t m_nMaxCarry = 0x10; // int32_t + constexpr std::ptrdiff_t m_nSplashSize = 0x1C; // CRangeInt + constexpr std::ptrdiff_t m_nFlags = 0x24; // AmmoFlags_t + constexpr std::ptrdiff_t m_flMass = 0x28; // float + constexpr std::ptrdiff_t m_flSpeed = 0x2C; // CRangeFloat +} + +namespace AnimationUpdateListHandle_t { + constexpr std::ptrdiff_t m_Value = 0x0; // uint32_t +} + +namespace CAISound { // CPointEntity + constexpr std::ptrdiff_t m_iSoundType = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_iSoundContext = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_iVolume = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_iSoundIndex = 0x4BC; // int32_t + constexpr std::ptrdiff_t m_flDuration = 0x4C0; // float + constexpr std::ptrdiff_t m_iszProxyEntityName = 0x4C8; // CUtlSymbolLarge +} + +namespace CAI_ChangeHintGroup { // CBaseEntity + constexpr std::ptrdiff_t m_iSearchType = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_strSearchName = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_strNewHintGroup = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flRadius = 0x4C8; // float +} + +namespace CAI_ChangeTarget { // CBaseEntity + constexpr std::ptrdiff_t m_iszNewTarget = 0x4B0; // CUtlSymbolLarge +} + +namespace CAI_Expresser { + constexpr std::ptrdiff_t m_flStopTalkTime = 0x38; // GameTime_t + constexpr std::ptrdiff_t m_flStopTalkTimeWithoutDelay = 0x3C; // GameTime_t + constexpr std::ptrdiff_t m_flBlockedTalkTime = 0x40; // GameTime_t + constexpr std::ptrdiff_t m_voicePitch = 0x44; // int32_t + constexpr std::ptrdiff_t m_flLastTimeAcceptedSpeak = 0x48; // GameTime_t + constexpr std::ptrdiff_t m_bAllowSpeakingInterrupts = 0x4C; // bool + constexpr std::ptrdiff_t m_bConsiderSceneInvolvementAsSpeech = 0x4D; // bool + constexpr std::ptrdiff_t m_nLastSpokenPriority = 0x50; // int32_t + constexpr std::ptrdiff_t m_pOuter = 0x58; // CBaseFlex* +} + +namespace CAI_ExpresserWithFollowup { // CAI_Expresser + constexpr std::ptrdiff_t m_pPostponedFollowup = 0x60; // ResponseFollowup* +} + +namespace CAK47 { // CCSWeaponBaseGun +} + +namespace CAmbientGeneric { // CPointEntity + constexpr std::ptrdiff_t m_radius = 0x4B0; // float + constexpr std::ptrdiff_t m_flMaxRadius = 0x4B4; // float + constexpr std::ptrdiff_t m_iSoundLevel = 0x4B8; // soundlevel_t + constexpr std::ptrdiff_t m_dpv = 0x4BC; // dynpitchvol_t + constexpr std::ptrdiff_t m_fActive = 0x520; // bool + constexpr std::ptrdiff_t m_fLooping = 0x521; // bool + constexpr std::ptrdiff_t m_iszSound = 0x528; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sSourceEntName = 0x530; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hSoundSource = 0x538; // CHandle + constexpr std::ptrdiff_t m_nSoundSourceEntIndex = 0x53C; // CEntityIndex +} + +namespace CAnimEventListener { // CAnimEventListenerBase +} + +namespace CAnimEventListenerBase { +} + +namespace CAnimEventQueueListener { // CAnimEventListenerBase +} + +namespace CAnimGraphControllerBase { +} + +namespace CAnimGraphNetworkedVariables { + constexpr std::ptrdiff_t m_PredNetBoolVariables = 0x8; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetByteVariables = 0x20; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetUInt16Variables = 0x38; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetIntVariables = 0x50; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetUInt32Variables = 0x68; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetUInt64Variables = 0x80; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetFloatVariables = 0x98; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetVectorVariables = 0xB0; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PredNetQuaternionVariables = 0xC8; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetBoolVariables = 0xE0; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetByteVariables = 0xF8; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt16Variables = 0x110; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetIntVariables = 0x128; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt32Variables = 0x140; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetUInt64Variables = 0x158; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetFloatVariables = 0x170; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetVectorVariables = 0x188; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_OwnerOnlyPredNetQuaternionVariables = 0x1A0; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_nBoolVariablesCount = 0x1B8; // int32_t + constexpr std::ptrdiff_t m_nOwnerOnlyBoolVariablesCount = 0x1BC; // int32_t + constexpr std::ptrdiff_t m_nRandomSeedOffset = 0x1C0; // int32_t + constexpr std::ptrdiff_t m_flLastTeleportTime = 0x1C4; // float +} + +namespace CAnimGraphTagRef { + constexpr std::ptrdiff_t m_nTagIndex = 0x0; // int32_t + constexpr std::ptrdiff_t m_tagName = 0x10; // CGlobalSymbol +} + +namespace CAttributeContainer { // CAttributeManager + constexpr std::ptrdiff_t m_Item = 0x50; // CEconItemView +} + +namespace CAttributeList { + constexpr std::ptrdiff_t m_Attributes = 0x8; // CUtlVectorEmbeddedNetworkVar + constexpr std::ptrdiff_t m_pManager = 0x58; // CAttributeManager* +} + +namespace CAttributeManager { + constexpr std::ptrdiff_t m_Providers = 0x8; // CUtlVector> + constexpr std::ptrdiff_t m_iReapplyProvisionParity = 0x20; // int32_t + constexpr std::ptrdiff_t m_hOuter = 0x24; // CHandle + constexpr std::ptrdiff_t m_bPreventLoopback = 0x28; // bool + constexpr std::ptrdiff_t m_ProviderType = 0x2C; // attributeprovidertypes_t + constexpr std::ptrdiff_t m_CachedResults = 0x30; // CUtlVector +} + +namespace CAttributeManager_cached_attribute_float_t { + constexpr std::ptrdiff_t flIn = 0x0; // float + constexpr std::ptrdiff_t iAttribHook = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t flOut = 0x10; // float +} + +namespace CBarnLight { // CBaseModelEntity + constexpr std::ptrdiff_t m_bEnabled = 0x700; // bool + constexpr std::ptrdiff_t m_nColorMode = 0x704; // int32_t + constexpr std::ptrdiff_t m_Color = 0x708; // Color + constexpr std::ptrdiff_t m_flColorTemperature = 0x70C; // float + constexpr std::ptrdiff_t m_flBrightness = 0x710; // float + constexpr std::ptrdiff_t m_flBrightnessScale = 0x714; // float + constexpr std::ptrdiff_t m_nDirectLight = 0x718; // int32_t + constexpr std::ptrdiff_t m_nBakedShadowIndex = 0x71C; // int32_t + constexpr std::ptrdiff_t m_nLuminaireShape = 0x720; // int32_t + constexpr std::ptrdiff_t m_flLuminaireSize = 0x724; // float + constexpr std::ptrdiff_t m_flLuminaireAnisotropy = 0x728; // float + constexpr std::ptrdiff_t m_LightStyleString = 0x730; // CUtlString + constexpr std::ptrdiff_t m_flLightStyleStartTime = 0x738; // GameTime_t + constexpr std::ptrdiff_t m_QueuedLightStyleStrings = 0x740; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_LightStyleEvents = 0x758; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_LightStyleTargets = 0x770; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_StyleEvent = 0x788; // CEntityIOOutput[4] + constexpr std::ptrdiff_t m_hLightCookie = 0x848; // CStrongHandle + constexpr std::ptrdiff_t m_flShape = 0x850; // float + constexpr std::ptrdiff_t m_flSoftX = 0x854; // float + constexpr std::ptrdiff_t m_flSoftY = 0x858; // float + constexpr std::ptrdiff_t m_flSkirt = 0x85C; // float + constexpr std::ptrdiff_t m_flSkirtNear = 0x860; // float + constexpr std::ptrdiff_t m_vSizeParams = 0x864; // Vector + constexpr std::ptrdiff_t m_flRange = 0x870; // float + constexpr std::ptrdiff_t m_vShear = 0x874; // Vector + constexpr std::ptrdiff_t m_nBakeSpecularToCubemaps = 0x880; // int32_t + constexpr std::ptrdiff_t m_vBakeSpecularToCubemapsSize = 0x884; // Vector + constexpr std::ptrdiff_t m_nCastShadows = 0x890; // int32_t + constexpr std::ptrdiff_t m_nShadowMapSize = 0x894; // int32_t + constexpr std::ptrdiff_t m_nShadowPriority = 0x898; // int32_t + constexpr std::ptrdiff_t m_bContactShadow = 0x89C; // bool + constexpr std::ptrdiff_t m_nBounceLight = 0x8A0; // int32_t + constexpr std::ptrdiff_t m_flBounceScale = 0x8A4; // float + constexpr std::ptrdiff_t m_flMinRoughness = 0x8A8; // float + constexpr std::ptrdiff_t m_vAlternateColor = 0x8AC; // Vector + constexpr std::ptrdiff_t m_fAlternateColorBrightness = 0x8B8; // float + constexpr std::ptrdiff_t m_nFog = 0x8BC; // int32_t + constexpr std::ptrdiff_t m_flFogStrength = 0x8C0; // float + constexpr std::ptrdiff_t m_nFogShadows = 0x8C4; // int32_t + constexpr std::ptrdiff_t m_flFogScale = 0x8C8; // float + constexpr std::ptrdiff_t m_flFadeSizeStart = 0x8CC; // float + constexpr std::ptrdiff_t m_flFadeSizeEnd = 0x8D0; // float + constexpr std::ptrdiff_t m_flShadowFadeSizeStart = 0x8D4; // float + constexpr std::ptrdiff_t m_flShadowFadeSizeEnd = 0x8D8; // float + constexpr std::ptrdiff_t m_bPrecomputedFieldsValid = 0x8DC; // bool + constexpr std::ptrdiff_t m_vPrecomputedBoundsMins = 0x8E0; // Vector + constexpr std::ptrdiff_t m_vPrecomputedBoundsMaxs = 0x8EC; // Vector + constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin = 0x8F8; // Vector + constexpr std::ptrdiff_t m_vPrecomputedOBBAngles = 0x904; // QAngle + constexpr std::ptrdiff_t m_vPrecomputedOBBExtent = 0x910; // Vector + constexpr std::ptrdiff_t m_bPvsModifyEntity = 0x91C; // bool +} + +namespace CBaseAnimGraph { // CBaseModelEntity + constexpr std::ptrdiff_t m_bInitiallyPopulateInterpHistory = 0x700; // bool + constexpr std::ptrdiff_t m_bShouldAnimateDuringGameplayPause = 0x701; // bool + constexpr std::ptrdiff_t m_pChoreoServices = 0x708; // IChoreoServices* + constexpr std::ptrdiff_t m_bAnimGraphUpdateEnabled = 0x710; // bool + constexpr std::ptrdiff_t m_flMaxSlopeDistance = 0x714; // float + constexpr std::ptrdiff_t m_vLastSlopeCheckPos = 0x718; // Vector + constexpr std::ptrdiff_t m_bAnimGraphDirty = 0x724; // bool + constexpr std::ptrdiff_t m_vecForce = 0x728; // Vector + constexpr std::ptrdiff_t m_nForceBone = 0x734; // int32_t + constexpr std::ptrdiff_t m_pRagdollPose = 0x748; // PhysicsRagdollPose_t* + constexpr std::ptrdiff_t m_bClientRagdoll = 0x750; // bool +} + +namespace CBaseAnimGraphController { // CSkeletonAnimationController + constexpr std::ptrdiff_t m_baseLayer = 0x18; // CNetworkedSequenceOperation + constexpr std::ptrdiff_t m_animGraphNetworkedVars = 0x40; // CAnimGraphNetworkedVariables + constexpr std::ptrdiff_t m_bSequenceFinished = 0x218; // bool + constexpr std::ptrdiff_t m_flLastEventCycle = 0x21C; // float + constexpr std::ptrdiff_t m_flLastEventAnimTime = 0x220; // float + constexpr std::ptrdiff_t m_flPlaybackRate = 0x224; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_flPrevAnimTime = 0x22C; // float + constexpr std::ptrdiff_t m_bClientSideAnimation = 0x230; // bool + constexpr std::ptrdiff_t m_bNetworkedAnimationInputsChanged = 0x231; // bool + constexpr std::ptrdiff_t m_nNewSequenceParity = 0x234; // int32_t + constexpr std::ptrdiff_t m_nResetEventsParity = 0x238; // int32_t + constexpr std::ptrdiff_t m_nAnimLoopMode = 0x23C; // AnimLoopMode_t + constexpr std::ptrdiff_t m_hAnimationUpdate = 0x2DC; // AnimationUpdateListHandle_t +} + +namespace CBaseButton { // CBaseToggle + constexpr std::ptrdiff_t m_angMoveEntitySpace = 0x780; // QAngle + constexpr std::ptrdiff_t m_fStayPushed = 0x78C; // bool + constexpr std::ptrdiff_t m_fRotating = 0x78D; // bool + constexpr std::ptrdiff_t m_ls = 0x790; // locksound_t + constexpr std::ptrdiff_t m_sUseSound = 0x7B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sLockedSound = 0x7B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sUnlockedSound = 0x7C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bLocked = 0x7C8; // bool + constexpr std::ptrdiff_t m_bDisabled = 0x7C9; // bool + constexpr std::ptrdiff_t m_flUseLockedTime = 0x7CC; // GameTime_t + constexpr std::ptrdiff_t m_bSolidBsp = 0x7D0; // bool + constexpr std::ptrdiff_t m_OnDamaged = 0x7D8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPressed = 0x800; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUseLocked = 0x828; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnIn = 0x850; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnOut = 0x878; // CEntityIOOutput + constexpr std::ptrdiff_t m_nState = 0x8A0; // int32_t + constexpr std::ptrdiff_t m_hConstraint = 0x8A4; // CEntityHandle + constexpr std::ptrdiff_t m_hConstraintParent = 0x8A8; // CEntityHandle + constexpr std::ptrdiff_t m_bForceNpcExclude = 0x8AC; // bool + constexpr std::ptrdiff_t m_sGlowEntity = 0x8B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_glowEntity = 0x8B8; // CHandle + constexpr std::ptrdiff_t m_usable = 0x8BC; // bool + constexpr std::ptrdiff_t m_szDisplayText = 0x8C0; // CUtlSymbolLarge +} + +namespace CBaseCSGrenade { // CCSWeaponBase + constexpr std::ptrdiff_t m_bRedraw = 0xE18; // bool + constexpr std::ptrdiff_t m_bIsHeldByPlayer = 0xE19; // bool + constexpr std::ptrdiff_t m_bPinPulled = 0xE1A; // bool + constexpr std::ptrdiff_t m_bJumpThrow = 0xE1B; // bool + constexpr std::ptrdiff_t m_eThrowStatus = 0xE1C; // EGrenadeThrowState + constexpr std::ptrdiff_t m_fThrowTime = 0xE20; // GameTime_t + constexpr std::ptrdiff_t m_flThrowStrength = 0xE24; // float + constexpr std::ptrdiff_t m_flThrowStrengthApproach = 0xE28; // float + constexpr std::ptrdiff_t m_fDropTime = 0xE2C; // GameTime_t +} + +namespace CBaseCSGrenadeProjectile { // CBaseGrenade + constexpr std::ptrdiff_t m_vInitialVelocity = 0x9C8; // Vector + constexpr std::ptrdiff_t m_nBounces = 0x9D4; // int32_t + constexpr std::ptrdiff_t m_nExplodeEffectIndex = 0x9D8; // CStrongHandle + constexpr std::ptrdiff_t m_nExplodeEffectTickBegin = 0x9E0; // int32_t + constexpr std::ptrdiff_t m_vecExplodeEffectOrigin = 0x9E4; // Vector + constexpr std::ptrdiff_t m_flSpawnTime = 0x9F0; // GameTime_t + constexpr std::ptrdiff_t m_unOGSExtraFlags = 0x9F4; // uint8_t + constexpr std::ptrdiff_t m_bDetonationRecorded = 0x9F5; // bool + constexpr std::ptrdiff_t m_flDetonateTime = 0x9F8; // GameTime_t + constexpr std::ptrdiff_t m_nItemIndex = 0x9FC; // uint16_t + constexpr std::ptrdiff_t m_vecOriginalSpawnLocation = 0xA00; // Vector + constexpr std::ptrdiff_t m_flLastBounceSoundTime = 0xA0C; // GameTime_t + constexpr std::ptrdiff_t m_vecGrenadeSpin = 0xA10; // RotationVector + constexpr std::ptrdiff_t m_vecLastHitSurfaceNormal = 0xA1C; // Vector + constexpr std::ptrdiff_t m_nTicksAtZeroVelocity = 0xA28; // int32_t +} + +namespace CBaseClientUIEntity { // CBaseModelEntity + constexpr std::ptrdiff_t m_bEnabled = 0x700; // bool + constexpr std::ptrdiff_t m_DialogXMLName = 0x708; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_PanelClassName = 0x710; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_PanelID = 0x718; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_CustomOutput0 = 0x720; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput1 = 0x748; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput2 = 0x770; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput3 = 0x798; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput4 = 0x7C0; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput5 = 0x7E8; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput6 = 0x810; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput7 = 0x838; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput8 = 0x860; // CEntityIOOutput + constexpr std::ptrdiff_t m_CustomOutput9 = 0x888; // CEntityIOOutput +} + +namespace CBaseCombatCharacter { // CBaseFlex + constexpr std::ptrdiff_t m_bForceServerRagdoll = 0x920; // bool + constexpr std::ptrdiff_t m_hMyWearables = 0x928; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_flFieldOfView = 0x940; // float + constexpr std::ptrdiff_t m_impactEnergyScale = 0x944; // float + constexpr std::ptrdiff_t m_LastHitGroup = 0x948; // HitGroup_t + constexpr std::ptrdiff_t m_bApplyStressDamage = 0x94C; // bool + constexpr std::ptrdiff_t m_bloodColor = 0x950; // int32_t + constexpr std::ptrdiff_t m_navMeshID = 0x9B0; // int32_t + constexpr std::ptrdiff_t m_iDamageCount = 0x9B4; // int32_t + constexpr std::ptrdiff_t m_pVecRelationships = 0x9B8; // CUtlVector* + constexpr std::ptrdiff_t m_strRelationships = 0x9C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_eHull = 0x9C8; // Hull_t + constexpr std::ptrdiff_t m_nNavHullIdx = 0x9CC; // uint32_t +} + +namespace CBaseDMStart { // CPointEntity + constexpr std::ptrdiff_t m_Master = 0x4B0; // CUtlSymbolLarge +} + +namespace CBaseDoor { // CBaseToggle + constexpr std::ptrdiff_t m_angMoveEntitySpace = 0x790; // QAngle + constexpr std::ptrdiff_t m_vecMoveDirParentSpace = 0x79C; // Vector + constexpr std::ptrdiff_t m_ls = 0x7A8; // locksound_t + constexpr std::ptrdiff_t m_bForceClosed = 0x7C8; // bool + constexpr std::ptrdiff_t m_bDoorGroup = 0x7C9; // bool + constexpr std::ptrdiff_t m_bLocked = 0x7CA; // bool + constexpr std::ptrdiff_t m_bIgnoreDebris = 0x7CB; // bool + constexpr std::ptrdiff_t m_eSpawnPosition = 0x7CC; // FuncDoorSpawnPos_t + constexpr std::ptrdiff_t m_flBlockDamage = 0x7D0; // float + constexpr std::ptrdiff_t m_NoiseMoving = 0x7D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_NoiseArrived = 0x7E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_NoiseMovingClosed = 0x7E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_NoiseArrivedClosed = 0x7F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_ChainTarget = 0x7F8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_OnBlockedClosing = 0x800; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnBlockedOpening = 0x828; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUnblockedClosing = 0x850; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUnblockedOpening = 0x878; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFullyClosed = 0x8A0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFullyOpen = 0x8C8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnClose = 0x8F0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnOpen = 0x918; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnLockedUse = 0x940; // CEntityIOOutput + constexpr std::ptrdiff_t m_bLoopMoveSound = 0x968; // bool + constexpr std::ptrdiff_t m_bCreateNavObstacle = 0x980; // bool + constexpr std::ptrdiff_t m_isChaining = 0x981; // bool + constexpr std::ptrdiff_t m_bIsUsable = 0x982; // bool +} + +namespace CBaseEntity { // CEntityInstance + constexpr std::ptrdiff_t m_CBodyComponent = 0x30; // CBodyComponent* + constexpr std::ptrdiff_t m_NetworkTransmitComponent = 0x38; // CNetworkTransmitComponent + constexpr std::ptrdiff_t m_aThinkFunctions = 0x228; // CUtlVector + constexpr std::ptrdiff_t m_iCurrentThinkContext = 0x240; // int32_t + constexpr std::ptrdiff_t m_nLastThinkTick = 0x244; // GameTick_t + constexpr std::ptrdiff_t m_isSteadyState = 0x250; // CBitVec<64> + constexpr std::ptrdiff_t m_lastNetworkChange = 0x258; // float + constexpr std::ptrdiff_t m_ResponseContexts = 0x268; // CUtlVector + constexpr std::ptrdiff_t m_iszResponseContext = 0x280; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iHealth = 0x2A8; // int32_t + constexpr std::ptrdiff_t m_iMaxHealth = 0x2AC; // int32_t + constexpr std::ptrdiff_t m_lifeState = 0x2B0; // uint8_t + constexpr std::ptrdiff_t m_flDamageAccumulator = 0x2B4; // float + constexpr std::ptrdiff_t m_bTakesDamage = 0x2B8; // bool + constexpr std::ptrdiff_t m_nTakeDamageFlags = 0x2BC; // TakeDamageFlags_t + constexpr std::ptrdiff_t m_MoveCollide = 0x2C1; // MoveCollide_t + constexpr std::ptrdiff_t m_MoveType = 0x2C2; // MoveType_t + constexpr std::ptrdiff_t m_nWaterTouch = 0x2C3; // uint8_t + constexpr std::ptrdiff_t m_nSlimeTouch = 0x2C4; // uint8_t + constexpr std::ptrdiff_t m_bRestoreInHierarchy = 0x2C5; // bool + constexpr std::ptrdiff_t m_target = 0x2C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flMoveDoneTime = 0x2D0; // float + constexpr std::ptrdiff_t m_hDamageFilter = 0x2D4; // CHandle + constexpr std::ptrdiff_t m_iszDamageFilterName = 0x2D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nSubclassID = 0x2E0; // CUtlStringToken + constexpr std::ptrdiff_t m_flAnimTime = 0x2F0; // float + constexpr std::ptrdiff_t m_flSimulationTime = 0x2F4; // float + constexpr std::ptrdiff_t m_flCreateTime = 0x2F8; // GameTime_t + constexpr std::ptrdiff_t m_bClientSideRagdoll = 0x2FC; // bool + constexpr std::ptrdiff_t m_ubInterpolationFrame = 0x2FD; // uint8_t + constexpr std::ptrdiff_t m_vPrevVPhysicsUpdatePos = 0x300; // Vector + constexpr std::ptrdiff_t m_iTeamNum = 0x30C; // uint8_t + constexpr std::ptrdiff_t m_iGlobalname = 0x310; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iSentToClients = 0x318; // int32_t + constexpr std::ptrdiff_t m_flSpeed = 0x31C; // float + constexpr std::ptrdiff_t m_sUniqueHammerID = 0x320; // CUtlString + constexpr std::ptrdiff_t m_spawnflags = 0x328; // uint32_t + constexpr std::ptrdiff_t m_nNextThinkTick = 0x32C; // GameTick_t + constexpr std::ptrdiff_t m_nSimulationTick = 0x330; // int32_t + constexpr std::ptrdiff_t m_OnKilled = 0x338; // CEntityIOOutput + constexpr std::ptrdiff_t m_fFlags = 0x360; // uint32_t + constexpr std::ptrdiff_t m_vecAbsVelocity = 0x364; // Vector + constexpr std::ptrdiff_t m_vecVelocity = 0x370; // CNetworkVelocityVector + constexpr std::ptrdiff_t m_vecBaseVelocity = 0x3A0; // Vector + constexpr std::ptrdiff_t m_nPushEnumCount = 0x3AC; // int32_t + constexpr std::ptrdiff_t m_pCollision = 0x3B0; // CCollisionProperty* + constexpr std::ptrdiff_t m_hEffectEntity = 0x3B8; // CHandle + constexpr std::ptrdiff_t m_hOwnerEntity = 0x3BC; // CHandle + constexpr std::ptrdiff_t m_fEffects = 0x3C0; // uint32_t + constexpr std::ptrdiff_t m_hGroundEntity = 0x3C4; // CHandle + constexpr std::ptrdiff_t m_flFriction = 0x3C8; // float + constexpr std::ptrdiff_t m_flElasticity = 0x3CC; // float + constexpr std::ptrdiff_t m_flGravityScale = 0x3D0; // float + constexpr std::ptrdiff_t m_flTimeScale = 0x3D4; // float + constexpr std::ptrdiff_t m_flWaterLevel = 0x3D8; // float + constexpr std::ptrdiff_t m_bSimulatedEveryTick = 0x3DC; // bool + constexpr std::ptrdiff_t m_bAnimatedEveryTick = 0x3DD; // bool + constexpr std::ptrdiff_t m_bDisableLowViolence = 0x3DE; // bool + constexpr std::ptrdiff_t m_nWaterType = 0x3DF; // uint8_t + constexpr std::ptrdiff_t m_iEFlags = 0x3E0; // int32_t + constexpr std::ptrdiff_t m_OnUser1 = 0x3E8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUser2 = 0x410; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUser3 = 0x438; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUser4 = 0x460; // CEntityIOOutput + constexpr std::ptrdiff_t m_iInitialTeamNum = 0x488; // int32_t + constexpr std::ptrdiff_t m_flNavIgnoreUntilTime = 0x48C; // GameTime_t + constexpr std::ptrdiff_t m_vecAngVelocity = 0x490; // QAngle + constexpr std::ptrdiff_t m_bNetworkQuantizeOriginAndAngles = 0x49C; // bool + constexpr std::ptrdiff_t m_bLagCompensate = 0x49D; // bool + constexpr std::ptrdiff_t m_flOverriddenFriction = 0x4A0; // float + constexpr std::ptrdiff_t m_pBlocker = 0x4A4; // CHandle + constexpr std::ptrdiff_t m_flLocalTime = 0x4A8; // float + constexpr std::ptrdiff_t m_flVPhysicsUpdateLocalTime = 0x4AC; // float +} + +namespace CBaseFilter { // CLogicalEntity + constexpr std::ptrdiff_t m_bNegated = 0x4B0; // bool + constexpr std::ptrdiff_t m_OnPass = 0x4B8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFail = 0x4E0; // CEntityIOOutput +} + +namespace CBaseFire { // CBaseEntity + constexpr std::ptrdiff_t m_flScale = 0x4B0; // float + constexpr std::ptrdiff_t m_flStartScale = 0x4B4; // float + constexpr std::ptrdiff_t m_flScaleTime = 0x4B8; // float + constexpr std::ptrdiff_t m_nFlags = 0x4BC; // uint32_t +} + +namespace CBaseFlex { // CBaseAnimGraph + constexpr std::ptrdiff_t m_flexWeight = 0x890; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_vLookTargetPosition = 0x8A8; // Vector + constexpr std::ptrdiff_t m_blinktoggle = 0x8B4; // bool + constexpr std::ptrdiff_t m_flAllowResponsesEndTime = 0x908; // GameTime_t + constexpr std::ptrdiff_t m_flLastFlexAnimationTime = 0x90C; // GameTime_t + constexpr std::ptrdiff_t m_nNextSceneEventId = 0x910; // uint32_t + constexpr std::ptrdiff_t m_bUpdateLayerPriorities = 0x914; // bool +} + +namespace CBaseFlexAlias_funCBaseFlex { // CBaseFlex +} + +namespace CBaseGrenade { // CBaseFlex + constexpr std::ptrdiff_t m_OnPlayerPickup = 0x928; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnExplode = 0x950; // CEntityIOOutput + constexpr std::ptrdiff_t m_bHasWarnedAI = 0x978; // bool + constexpr std::ptrdiff_t m_bIsSmokeGrenade = 0x979; // bool + constexpr std::ptrdiff_t m_bIsLive = 0x97A; // bool + constexpr std::ptrdiff_t m_DmgRadius = 0x97C; // float + constexpr std::ptrdiff_t m_flDetonateTime = 0x980; // GameTime_t + constexpr std::ptrdiff_t m_flWarnAITime = 0x984; // float + constexpr std::ptrdiff_t m_flDamage = 0x988; // float + constexpr std::ptrdiff_t m_iszBounceSound = 0x990; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_ExplosionSound = 0x998; // CUtlString + constexpr std::ptrdiff_t m_hThrower = 0x9A4; // CHandle + constexpr std::ptrdiff_t m_flNextAttack = 0x9BC; // GameTime_t + constexpr std::ptrdiff_t m_hOriginalThrower = 0x9C0; // CHandle +} + +namespace CBaseIssue { + constexpr std::ptrdiff_t m_szTypeString = 0x20; // char[64] + constexpr std::ptrdiff_t m_szDetailsString = 0x60; // char[260] + constexpr std::ptrdiff_t m_iNumYesVotes = 0x164; // int32_t + constexpr std::ptrdiff_t m_iNumNoVotes = 0x168; // int32_t + constexpr std::ptrdiff_t m_iNumPotentialVotes = 0x16C; // int32_t + constexpr std::ptrdiff_t m_pVoteController = 0x170; // CVoteController* +} + +namespace CBaseModelEntity { // CBaseEntity + constexpr std::ptrdiff_t m_CRenderComponent = 0x4B0; // CRenderComponent* + constexpr std::ptrdiff_t m_CHitboxComponent = 0x4B8; // CHitboxComponent + constexpr std::ptrdiff_t m_flDissolveStartTime = 0x4E0; // GameTime_t + constexpr std::ptrdiff_t m_OnIgnite = 0x4E8; // CEntityIOOutput + constexpr std::ptrdiff_t m_nRenderMode = 0x510; // RenderMode_t + constexpr std::ptrdiff_t m_nRenderFX = 0x511; // RenderFx_t + constexpr std::ptrdiff_t m_bAllowFadeInView = 0x512; // bool + constexpr std::ptrdiff_t m_clrRender = 0x513; // Color + constexpr std::ptrdiff_t m_vecRenderAttributes = 0x518; // CUtlVectorEmbeddedNetworkVar + constexpr std::ptrdiff_t m_bRenderToCubemaps = 0x568; // bool + constexpr std::ptrdiff_t m_Collision = 0x570; // CCollisionProperty + constexpr std::ptrdiff_t m_Glow = 0x620; // CGlowProperty + constexpr std::ptrdiff_t m_flGlowBackfaceMult = 0x678; // float + constexpr std::ptrdiff_t m_fadeMinDist = 0x67C; // float + constexpr std::ptrdiff_t m_fadeMaxDist = 0x680; // float + constexpr std::ptrdiff_t m_flFadeScale = 0x684; // float + constexpr std::ptrdiff_t m_flShadowStrength = 0x688; // float + constexpr std::ptrdiff_t m_nObjectCulling = 0x68C; // uint8_t + constexpr std::ptrdiff_t m_nAddDecal = 0x690; // int32_t + constexpr std::ptrdiff_t m_vDecalPosition = 0x694; // Vector + constexpr std::ptrdiff_t m_vDecalForwardAxis = 0x6A0; // Vector + constexpr std::ptrdiff_t m_flDecalHealBloodRate = 0x6AC; // float + constexpr std::ptrdiff_t m_flDecalHealHeightRate = 0x6B0; // float + constexpr std::ptrdiff_t m_ConfigEntitiesToPropagateMaterialDecalsTo = 0x6B8; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_vecViewOffset = 0x6D0; // CNetworkViewOffsetVector +} + +namespace CBaseMoveBehavior { // CPathKeyFrame + constexpr std::ptrdiff_t m_iPositionInterpolator = 0x510; // int32_t + constexpr std::ptrdiff_t m_iRotationInterpolator = 0x514; // int32_t + constexpr std::ptrdiff_t m_flAnimStartTime = 0x518; // float + constexpr std::ptrdiff_t m_flAnimEndTime = 0x51C; // float + constexpr std::ptrdiff_t m_flAverageSpeedAcrossFrame = 0x520; // float + constexpr std::ptrdiff_t m_pCurrentKeyFrame = 0x528; // CPathKeyFrame* + constexpr std::ptrdiff_t m_pTargetKeyFrame = 0x530; // CPathKeyFrame* + constexpr std::ptrdiff_t m_pPreKeyFrame = 0x538; // CPathKeyFrame* + constexpr std::ptrdiff_t m_pPostKeyFrame = 0x540; // CPathKeyFrame* + constexpr std::ptrdiff_t m_flTimeIntoFrame = 0x548; // float + constexpr std::ptrdiff_t m_iDirection = 0x54C; // int32_t +} + +namespace CBasePlatTrain { // CBaseToggle + constexpr std::ptrdiff_t m_NoiseMoving = 0x780; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_NoiseArrived = 0x788; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_volume = 0x798; // float + constexpr std::ptrdiff_t m_flTWidth = 0x79C; // float + constexpr std::ptrdiff_t m_flTLength = 0x7A0; // float +} + +namespace CBasePlayerController { // CBaseEntity + constexpr std::ptrdiff_t m_nInButtonsWhichAreToggles = 0x4B8; // uint64_t + constexpr std::ptrdiff_t m_nTickBase = 0x4C0; // uint32_t + constexpr std::ptrdiff_t m_hPawn = 0x4F0; // CHandle + constexpr std::ptrdiff_t m_nSplitScreenSlot = 0x4F4; // CSplitScreenSlot + constexpr std::ptrdiff_t m_hSplitOwner = 0x4F8; // CHandle + constexpr std::ptrdiff_t m_hSplitScreenPlayers = 0x500; // CUtlVector> + constexpr std::ptrdiff_t m_bIsHLTV = 0x518; // bool + constexpr std::ptrdiff_t m_iConnected = 0x51C; // PlayerConnectedState + constexpr std::ptrdiff_t m_iszPlayerName = 0x520; // char[128] + constexpr std::ptrdiff_t m_szNetworkIDString = 0x5A0; // CUtlString + constexpr std::ptrdiff_t m_fLerpTime = 0x5A8; // float + constexpr std::ptrdiff_t m_bLagCompensation = 0x5AC; // bool + constexpr std::ptrdiff_t m_bPredict = 0x5AD; // bool + constexpr std::ptrdiff_t m_bAutoKickDisabled = 0x5AE; // bool + constexpr std::ptrdiff_t m_bIsLowViolence = 0x5AF; // bool + constexpr std::ptrdiff_t m_bGamePaused = 0x5B0; // bool + constexpr std::ptrdiff_t m_nUsecTimestampLastUserCmdReceived = 0x640; // int64_t + constexpr std::ptrdiff_t m_iIgnoreGlobalChat = 0x658; // ChatIgnoreType_t + constexpr std::ptrdiff_t m_flLastPlayerTalkTime = 0x65C; // float + constexpr std::ptrdiff_t m_flLastEntitySteadyState = 0x660; // float + constexpr std::ptrdiff_t m_nAvailableEntitySteadyState = 0x664; // int32_t + constexpr std::ptrdiff_t m_bHasAnySteadyStateEnts = 0x668; // bool + constexpr std::ptrdiff_t m_steamID = 0x678; // uint64_t + constexpr std::ptrdiff_t m_iDesiredFOV = 0x680; // uint32_t +} + +namespace CBasePlayerPawn { // CBaseCombatCharacter + constexpr std::ptrdiff_t m_pWeaponServices = 0x9D0; // CPlayer_WeaponServices* + constexpr std::ptrdiff_t m_pItemServices = 0x9D8; // CPlayer_ItemServices* + constexpr std::ptrdiff_t m_pAutoaimServices = 0x9E0; // CPlayer_AutoaimServices* + constexpr std::ptrdiff_t m_pObserverServices = 0x9E8; // CPlayer_ObserverServices* + constexpr std::ptrdiff_t m_pWaterServices = 0x9F0; // CPlayer_WaterServices* + constexpr std::ptrdiff_t m_pUseServices = 0x9F8; // CPlayer_UseServices* + constexpr std::ptrdiff_t m_pFlashlightServices = 0xA00; // CPlayer_FlashlightServices* + constexpr std::ptrdiff_t m_pCameraServices = 0xA08; // CPlayer_CameraServices* + constexpr std::ptrdiff_t m_pMovementServices = 0xA10; // CPlayer_MovementServices* + constexpr std::ptrdiff_t m_ServerViewAngleChanges = 0xA20; // CUtlVectorEmbeddedNetworkVar + constexpr std::ptrdiff_t m_nHighestGeneratedServerViewAngleChangeIndex = 0xA70; // uint32_t + constexpr std::ptrdiff_t v_angle = 0xA74; // QAngle + constexpr std::ptrdiff_t v_anglePrevious = 0xA80; // QAngle + constexpr std::ptrdiff_t m_iHideHUD = 0xA8C; // uint32_t + constexpr std::ptrdiff_t m_skybox3d = 0xA90; // sky3dparams_t + constexpr std::ptrdiff_t m_fTimeLastHurt = 0xB20; // GameTime_t + constexpr std::ptrdiff_t m_flDeathTime = 0xB24; // GameTime_t + constexpr std::ptrdiff_t m_fNextSuicideTime = 0xB28; // GameTime_t + constexpr std::ptrdiff_t m_fInitHUD = 0xB2C; // bool + constexpr std::ptrdiff_t m_pExpresser = 0xB30; // CAI_Expresser* + constexpr std::ptrdiff_t m_hController = 0xB38; // CHandle + constexpr std::ptrdiff_t m_fHltvReplayDelay = 0xB40; // float + constexpr std::ptrdiff_t m_fHltvReplayEnd = 0xB44; // float + constexpr std::ptrdiff_t m_iHltvReplayEntity = 0xB48; // CEntityIndex +} + +namespace CBasePlayerVData { // CEntitySubclassVDataBase + constexpr std::ptrdiff_t m_sModelName = 0x28; // CResourceNameTyped> + constexpr std::ptrdiff_t m_flHeadDamageMultiplier = 0x108; // CSkillFloat + constexpr std::ptrdiff_t m_flChestDamageMultiplier = 0x118; // CSkillFloat + constexpr std::ptrdiff_t m_flStomachDamageMultiplier = 0x128; // CSkillFloat + constexpr std::ptrdiff_t m_flArmDamageMultiplier = 0x138; // CSkillFloat + constexpr std::ptrdiff_t m_flLegDamageMultiplier = 0x148; // CSkillFloat + constexpr std::ptrdiff_t m_flHoldBreathTime = 0x158; // float + constexpr std::ptrdiff_t m_flDrowningDamageInterval = 0x15C; // float + constexpr std::ptrdiff_t m_nDrowningDamageInitial = 0x160; // int32_t + constexpr std::ptrdiff_t m_nDrowningDamageMax = 0x164; // int32_t + constexpr std::ptrdiff_t m_nWaterSpeed = 0x168; // int32_t + constexpr std::ptrdiff_t m_flUseRange = 0x16C; // float + constexpr std::ptrdiff_t m_flUseAngleTolerance = 0x170; // float + constexpr std::ptrdiff_t m_flCrouchTime = 0x174; // float +} + +namespace CBasePlayerWeapon { // CEconEntity + constexpr std::ptrdiff_t m_nNextPrimaryAttackTick = 0xC18; // GameTick_t + constexpr std::ptrdiff_t m_flNextPrimaryAttackTickRatio = 0xC1C; // float + constexpr std::ptrdiff_t m_nNextSecondaryAttackTick = 0xC20; // GameTick_t + constexpr std::ptrdiff_t m_flNextSecondaryAttackTickRatio = 0xC24; // float + constexpr std::ptrdiff_t m_iClip1 = 0xC28; // int32_t + constexpr std::ptrdiff_t m_iClip2 = 0xC2C; // int32_t + constexpr std::ptrdiff_t m_pReserveAmmo = 0xC30; // int32_t[2] + constexpr std::ptrdiff_t m_OnPlayerUse = 0xC38; // CEntityIOOutput +} + +namespace CBasePlayerWeaponVData { // CEntitySubclassVDataBase + constexpr std::ptrdiff_t m_szWorldModel = 0x28; // CResourceNameTyped> + constexpr std::ptrdiff_t m_bBuiltRightHanded = 0x108; // bool + constexpr std::ptrdiff_t m_bAllowFlipping = 0x109; // bool + constexpr std::ptrdiff_t m_bIsFullAuto = 0x10A; // bool + constexpr std::ptrdiff_t m_nNumBullets = 0x10C; // int32_t + constexpr std::ptrdiff_t m_sMuzzleAttachment = 0x110; // CUtlString + constexpr std::ptrdiff_t m_szMuzzleFlashParticle = 0x118; // CResourceNameTyped> + constexpr std::ptrdiff_t m_iFlags = 0x1F8; // ItemFlagTypes_t + constexpr std::ptrdiff_t m_nPrimaryAmmoType = 0x1F9; // AmmoIndex_t + constexpr std::ptrdiff_t m_nSecondaryAmmoType = 0x1FA; // AmmoIndex_t + constexpr std::ptrdiff_t m_iMaxClip1 = 0x1FC; // int32_t + constexpr std::ptrdiff_t m_iMaxClip2 = 0x200; // int32_t + constexpr std::ptrdiff_t m_iDefaultClip1 = 0x204; // int32_t + constexpr std::ptrdiff_t m_iDefaultClip2 = 0x208; // int32_t + constexpr std::ptrdiff_t m_iWeight = 0x20C; // int32_t + constexpr std::ptrdiff_t m_bAutoSwitchTo = 0x210; // bool + constexpr std::ptrdiff_t m_bAutoSwitchFrom = 0x211; // bool + constexpr std::ptrdiff_t m_iRumbleEffect = 0x214; // RumbleEffect_t + constexpr std::ptrdiff_t m_aShootSounds = 0x218; // CUtlMap + constexpr std::ptrdiff_t m_iSlot = 0x238; // int32_t + constexpr std::ptrdiff_t m_iPosition = 0x23C; // int32_t +} + +namespace CBaseProp { // CBaseAnimGraph + constexpr std::ptrdiff_t m_bModelOverrodeBlockLOS = 0x890; // bool + constexpr std::ptrdiff_t m_iShapeType = 0x894; // int32_t + constexpr std::ptrdiff_t m_bConformToCollisionBounds = 0x898; // bool + constexpr std::ptrdiff_t m_mPreferredCatchTransform = 0x89C; // matrix3x4_t +} + +namespace CBasePropDoor { // CDynamicProp + constexpr std::ptrdiff_t m_flAutoReturnDelay = 0xB18; // float + constexpr std::ptrdiff_t m_hDoorList = 0xB20; // CUtlVector> + constexpr std::ptrdiff_t m_nHardwareType = 0xB38; // int32_t + constexpr std::ptrdiff_t m_bNeedsHardware = 0xB3C; // bool + constexpr std::ptrdiff_t m_eDoorState = 0xB40; // DoorState_t + constexpr std::ptrdiff_t m_bLocked = 0xB44; // bool + constexpr std::ptrdiff_t m_closedPosition = 0xB48; // Vector + constexpr std::ptrdiff_t m_closedAngles = 0xB54; // QAngle + constexpr std::ptrdiff_t m_hBlocker = 0xB60; // CHandle + constexpr std::ptrdiff_t m_bFirstBlocked = 0xB64; // bool + constexpr std::ptrdiff_t m_ls = 0xB68; // locksound_t + constexpr std::ptrdiff_t m_bForceClosed = 0xB88; // bool + constexpr std::ptrdiff_t m_vecLatchWorldPosition = 0xB8C; // Vector + constexpr std::ptrdiff_t m_hActivator = 0xB98; // CHandle + constexpr std::ptrdiff_t m_SoundMoving = 0xBA8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SoundOpen = 0xBB0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SoundClose = 0xBB8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SoundLock = 0xBC0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SoundUnlock = 0xBC8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SoundLatch = 0xBD0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SoundPound = 0xBD8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SoundJiggle = 0xBE0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_SoundLockedAnim = 0xBE8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_numCloseAttempts = 0xBF0; // int32_t + constexpr std::ptrdiff_t m_nPhysicsMaterial = 0xBF4; // CUtlStringToken + constexpr std::ptrdiff_t m_SlaveName = 0xBF8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hMaster = 0xC00; // CHandle + constexpr std::ptrdiff_t m_OnBlockedClosing = 0xC08; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnBlockedOpening = 0xC30; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUnblockedClosing = 0xC58; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUnblockedOpening = 0xC80; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFullyClosed = 0xCA8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFullyOpen = 0xCD0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnClose = 0xCF8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnOpen = 0xD20; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnLockedUse = 0xD48; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAjarOpen = 0xD70; // CEntityIOOutput +} + +namespace CBaseToggle { // CBaseModelEntity + constexpr std::ptrdiff_t m_toggle_state = 0x700; // TOGGLE_STATE + constexpr std::ptrdiff_t m_flMoveDistance = 0x704; // float + constexpr std::ptrdiff_t m_flWait = 0x708; // float + constexpr std::ptrdiff_t m_flLip = 0x70C; // float + constexpr std::ptrdiff_t m_bAlwaysFireBlockedOutputs = 0x710; // bool + constexpr std::ptrdiff_t m_vecPosition1 = 0x714; // Vector + constexpr std::ptrdiff_t m_vecPosition2 = 0x720; // Vector + constexpr std::ptrdiff_t m_vecMoveAng = 0x72C; // QAngle + constexpr std::ptrdiff_t m_vecAngle1 = 0x738; // QAngle + constexpr std::ptrdiff_t m_vecAngle2 = 0x744; // QAngle + constexpr std::ptrdiff_t m_flHeight = 0x750; // float + constexpr std::ptrdiff_t m_hActivator = 0x754; // CHandle + constexpr std::ptrdiff_t m_vecFinalDest = 0x758; // Vector + constexpr std::ptrdiff_t m_vecFinalAngle = 0x764; // QAngle + constexpr std::ptrdiff_t m_movementType = 0x770; // int32_t + constexpr std::ptrdiff_t m_sMaster = 0x778; // CUtlSymbolLarge +} + +namespace CBaseTrigger { // CBaseToggle + constexpr std::ptrdiff_t m_bDisabled = 0x780; // bool + constexpr std::ptrdiff_t m_iFilterName = 0x788; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hFilter = 0x790; // CHandle + constexpr std::ptrdiff_t m_OnStartTouch = 0x798; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnStartTouchAll = 0x7C0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnEndTouch = 0x7E8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnEndTouchAll = 0x810; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnTouching = 0x838; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnNotTouching = 0x860; // CEntityIOOutput + constexpr std::ptrdiff_t m_hTouchingEntities = 0x888; // CUtlVector> + constexpr std::ptrdiff_t m_bClientSidePredicted = 0x8A0; // bool +} + +namespace CBaseViewModel { // CBaseAnimGraph + constexpr std::ptrdiff_t m_vecLastFacing = 0x898; // Vector + constexpr std::ptrdiff_t m_nViewModelIndex = 0x8A4; // uint32_t + constexpr std::ptrdiff_t m_nAnimationParity = 0x8A8; // uint32_t + constexpr std::ptrdiff_t m_flAnimationStartTime = 0x8AC; // float + constexpr std::ptrdiff_t m_hWeapon = 0x8B0; // CHandle + constexpr std::ptrdiff_t m_sVMName = 0x8B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sAnimationPrefix = 0x8C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hOldLayerSequence = 0x8C8; // HSequence + constexpr std::ptrdiff_t m_oldLayer = 0x8CC; // int32_t + constexpr std::ptrdiff_t m_oldLayerStartTime = 0x8D0; // float + constexpr std::ptrdiff_t m_hControlPanel = 0x8D4; // CHandle +} + +namespace CBeam { // CBaseModelEntity + constexpr std::ptrdiff_t m_flFrameRate = 0x700; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0x704; // float + constexpr std::ptrdiff_t m_flFireTime = 0x708; // GameTime_t + constexpr std::ptrdiff_t m_flDamage = 0x70C; // float + constexpr std::ptrdiff_t m_nNumBeamEnts = 0x710; // uint8_t + constexpr std::ptrdiff_t m_hBaseMaterial = 0x718; // CStrongHandle + constexpr std::ptrdiff_t m_nHaloIndex = 0x720; // CStrongHandle + constexpr std::ptrdiff_t m_nBeamType = 0x728; // BeamType_t + constexpr std::ptrdiff_t m_nBeamFlags = 0x72C; // uint32_t + constexpr std::ptrdiff_t m_hAttachEntity = 0x730; // CHandle[10] + constexpr std::ptrdiff_t m_nAttachIndex = 0x758; // AttachmentHandle_t[10] + constexpr std::ptrdiff_t m_fWidth = 0x764; // float + constexpr std::ptrdiff_t m_fEndWidth = 0x768; // float + constexpr std::ptrdiff_t m_fFadeLength = 0x76C; // float + constexpr std::ptrdiff_t m_fHaloScale = 0x770; // float + constexpr std::ptrdiff_t m_fAmplitude = 0x774; // float + constexpr std::ptrdiff_t m_fStartFrame = 0x778; // float + constexpr std::ptrdiff_t m_fSpeed = 0x77C; // float + constexpr std::ptrdiff_t m_flFrame = 0x780; // float + constexpr std::ptrdiff_t m_nClipStyle = 0x784; // BeamClipStyle_t + constexpr std::ptrdiff_t m_bTurnedOff = 0x788; // bool + constexpr std::ptrdiff_t m_vecEndPos = 0x78C; // Vector + constexpr std::ptrdiff_t m_hEndEntity = 0x798; // CHandle + constexpr std::ptrdiff_t m_nDissolveType = 0x79C; // int32_t +} + +namespace CBlood { // CPointEntity + constexpr std::ptrdiff_t m_vecSprayAngles = 0x4B0; // QAngle + constexpr std::ptrdiff_t m_vecSprayDir = 0x4BC; // Vector + constexpr std::ptrdiff_t m_flAmount = 0x4C8; // float + constexpr std::ptrdiff_t m_Color = 0x4CC; // int32_t +} + +namespace CBodyComponent { // CEntityComponent + constexpr std::ptrdiff_t m_pSceneNode = 0x8; // CGameSceneNode* + constexpr std::ptrdiff_t __m_pChainEntity = 0x20; // CNetworkVarChainer +} + +namespace CBodyComponentBaseAnimGraph { // CBodyComponentSkeletonInstance + constexpr std::ptrdiff_t m_animationController = 0x480; // CBaseAnimGraphController + constexpr std::ptrdiff_t __m_pChainEntity = 0x760; // CNetworkVarChainer +} + +namespace CBodyComponentBaseModelEntity { // CBodyComponentSkeletonInstance + constexpr std::ptrdiff_t __m_pChainEntity = 0x480; // CNetworkVarChainer +} + +namespace CBodyComponentPoint { // CBodyComponent + constexpr std::ptrdiff_t m_sceneNode = 0x50; // CGameSceneNode + constexpr std::ptrdiff_t __m_pChainEntity = 0x1A0; // CNetworkVarChainer +} + +namespace CBodyComponentSkeletonInstance { // CBodyComponent + constexpr std::ptrdiff_t m_skeletonInstance = 0x50; // CSkeletonInstance + constexpr std::ptrdiff_t __m_pChainEntity = 0x450; // CNetworkVarChainer +} + +namespace CBombTarget { // CBaseTrigger + constexpr std::ptrdiff_t m_OnBombExplode = 0x8A8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnBombPlanted = 0x8D0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnBombDefused = 0x8F8; // CEntityIOOutput + constexpr std::ptrdiff_t m_bIsBombSiteB = 0x920; // bool + constexpr std::ptrdiff_t m_bIsHeistBombTarget = 0x921; // bool + constexpr std::ptrdiff_t m_bBombPlantedHere = 0x922; // bool + constexpr std::ptrdiff_t m_szMountTarget = 0x928; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hInstructorHint = 0x930; // CHandle + constexpr std::ptrdiff_t m_nBombSiteDesignation = 0x934; // int32_t +} + +namespace CBot { + constexpr std::ptrdiff_t m_pController = 0x10; // CCSPlayerController* + constexpr std::ptrdiff_t m_pPlayer = 0x18; // CCSPlayerPawn* + constexpr std::ptrdiff_t m_bHasSpawned = 0x20; // bool + constexpr std::ptrdiff_t m_id = 0x24; // uint32_t + constexpr std::ptrdiff_t m_isRunning = 0xB0; // bool + constexpr std::ptrdiff_t m_isCrouching = 0xB1; // bool + constexpr std::ptrdiff_t m_forwardSpeed = 0xB4; // float + constexpr std::ptrdiff_t m_leftSpeed = 0xB8; // float + constexpr std::ptrdiff_t m_verticalSpeed = 0xBC; // float + constexpr std::ptrdiff_t m_buttonFlags = 0xC0; // uint64_t + constexpr std::ptrdiff_t m_jumpTimestamp = 0xC8; // float + constexpr std::ptrdiff_t m_viewForward = 0xCC; // Vector + constexpr std::ptrdiff_t m_postureStackIndex = 0xE8; // int32_t +} + +namespace CBreachCharge { // CCSWeaponBase +} + +namespace CBreachChargeProjectile { // CBaseGrenade +} + +namespace CBreakable { // CBaseModelEntity + constexpr std::ptrdiff_t m_Material = 0x710; // Materials + constexpr std::ptrdiff_t m_hBreaker = 0x714; // CHandle + constexpr std::ptrdiff_t m_Explosion = 0x718; // Explosions + constexpr std::ptrdiff_t m_iszSpawnObject = 0x720; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flPressureDelay = 0x728; // float + constexpr std::ptrdiff_t m_iMinHealthDmg = 0x72C; // int32_t + constexpr std::ptrdiff_t m_iszPropData = 0x730; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_impactEnergyScale = 0x738; // float + constexpr std::ptrdiff_t m_nOverrideBlockLOS = 0x73C; // EOverrideBlockLOS_t + constexpr std::ptrdiff_t m_OnBreak = 0x740; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnHealthChanged = 0x768; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_flDmgModBullet = 0x790; // float + constexpr std::ptrdiff_t m_flDmgModClub = 0x794; // float + constexpr std::ptrdiff_t m_flDmgModExplosive = 0x798; // float + constexpr std::ptrdiff_t m_flDmgModFire = 0x79C; // float + constexpr std::ptrdiff_t m_iszPhysicsDamageTableName = 0x7A0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszBasePropData = 0x7A8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iInteractions = 0x7B0; // int32_t + constexpr std::ptrdiff_t m_PerformanceMode = 0x7B4; // PerformanceMode_t + constexpr std::ptrdiff_t m_hPhysicsAttacker = 0x7B8; // CHandle + constexpr std::ptrdiff_t m_flLastPhysicsInfluenceTime = 0x7BC; // GameTime_t +} + +namespace CBreakableProp { // CBaseProp + constexpr std::ptrdiff_t m_OnBreak = 0x8E0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnHealthChanged = 0x908; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnTakeDamage = 0x930; // CEntityIOOutput + constexpr std::ptrdiff_t m_impactEnergyScale = 0x958; // float + constexpr std::ptrdiff_t m_iMinHealthDmg = 0x95C; // int32_t + constexpr std::ptrdiff_t m_preferredCarryAngles = 0x960; // QAngle + constexpr std::ptrdiff_t m_flPressureDelay = 0x96C; // float + constexpr std::ptrdiff_t m_hBreaker = 0x970; // CHandle + constexpr std::ptrdiff_t m_PerformanceMode = 0x974; // PerformanceMode_t + constexpr std::ptrdiff_t m_flDmgModBullet = 0x978; // float + constexpr std::ptrdiff_t m_flDmgModClub = 0x97C; // float + constexpr std::ptrdiff_t m_flDmgModExplosive = 0x980; // float + constexpr std::ptrdiff_t m_flDmgModFire = 0x984; // float + constexpr std::ptrdiff_t m_iszPhysicsDamageTableName = 0x988; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszBasePropData = 0x990; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iInteractions = 0x998; // int32_t + constexpr std::ptrdiff_t m_flPreventDamageBeforeTime = 0x99C; // GameTime_t + constexpr std::ptrdiff_t m_bHasBreakPiecesOrCommands = 0x9A0; // bool + constexpr std::ptrdiff_t m_explodeDamage = 0x9A4; // float + constexpr std::ptrdiff_t m_explodeRadius = 0x9A8; // float + constexpr std::ptrdiff_t m_explosionDelay = 0x9B0; // float + constexpr std::ptrdiff_t m_explosionBuildupSound = 0x9B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_explosionCustomEffect = 0x9C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_explosionCustomSound = 0x9C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_explosionModifier = 0x9D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hPhysicsAttacker = 0x9D8; // CHandle + constexpr std::ptrdiff_t m_flLastPhysicsInfluenceTime = 0x9DC; // GameTime_t + constexpr std::ptrdiff_t m_bOriginalBlockLOS = 0x9E0; // bool + constexpr std::ptrdiff_t m_flDefaultFadeScale = 0x9E4; // float + constexpr std::ptrdiff_t m_hLastAttacker = 0x9E8; // CHandle + constexpr std::ptrdiff_t m_hFlareEnt = 0x9EC; // CHandle + constexpr std::ptrdiff_t m_bUsePuntSound = 0x9F0; // bool + constexpr std::ptrdiff_t m_iszPuntSound = 0x9F8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_noGhostCollision = 0xA00; // bool +} + +namespace CBreakableStageHelper { + constexpr std::ptrdiff_t m_nCurrentStage = 0x8; // int32_t + constexpr std::ptrdiff_t m_nStageCount = 0xC; // int32_t +} + +namespace CBtActionAim { // CBtNode + constexpr std::ptrdiff_t m_szSensorInputKey = 0x68; // CUtlString + constexpr std::ptrdiff_t m_szAimReadyKey = 0x80; // CUtlString + constexpr std::ptrdiff_t m_flZoomCooldownTimestamp = 0x88; // float + constexpr std::ptrdiff_t m_bDoneAiming = 0x8C; // bool + constexpr std::ptrdiff_t m_flLerpStartTime = 0x90; // float + constexpr std::ptrdiff_t m_flNextLookTargetLerpTime = 0x94; // float + constexpr std::ptrdiff_t m_flPenaltyReductionRatio = 0x98; // float + constexpr std::ptrdiff_t m_NextLookTarget = 0x9C; // QAngle + constexpr std::ptrdiff_t m_AimTimer = 0xA8; // CountdownTimer + constexpr std::ptrdiff_t m_SniperHoldTimer = 0xC0; // CountdownTimer + constexpr std::ptrdiff_t m_FocusIntervalTimer = 0xD8; // CountdownTimer + constexpr std::ptrdiff_t m_bAcquired = 0xF0; // bool +} + +namespace CBtActionCombatPositioning { // CBtNode + constexpr std::ptrdiff_t m_szSensorInputKey = 0x68; // CUtlString + constexpr std::ptrdiff_t m_szIsAttackingKey = 0x80; // CUtlString + constexpr std::ptrdiff_t m_ActionTimer = 0x88; // CountdownTimer + constexpr std::ptrdiff_t m_bCrouching = 0xA0; // bool +} + +namespace CBtActionMoveTo { // CBtNode + constexpr std::ptrdiff_t m_szDestinationInputKey = 0x60; // CUtlString + constexpr std::ptrdiff_t m_szHidingSpotInputKey = 0x68; // CUtlString + constexpr std::ptrdiff_t m_szThreatInputKey = 0x70; // CUtlString + constexpr std::ptrdiff_t m_vecDestination = 0x78; // Vector + constexpr std::ptrdiff_t m_bAutoLookAdjust = 0x84; // bool + constexpr std::ptrdiff_t m_bComputePath = 0x85; // bool + constexpr std::ptrdiff_t m_flDamagingAreasPenaltyCost = 0x88; // float + constexpr std::ptrdiff_t m_CheckApproximateCornersTimer = 0x90; // CountdownTimer + constexpr std::ptrdiff_t m_CheckHighPriorityItem = 0xA8; // CountdownTimer + constexpr std::ptrdiff_t m_RepathTimer = 0xC0; // CountdownTimer + constexpr std::ptrdiff_t m_flArrivalEpsilon = 0xD8; // float + constexpr std::ptrdiff_t m_flAdditionalArrivalEpsilon2D = 0xDC; // float + constexpr std::ptrdiff_t m_flHidingSpotCheckDistanceThreshold = 0xE0; // float + constexpr std::ptrdiff_t m_flNearestAreaDistanceThreshold = 0xE4; // float +} + +namespace CBtActionParachutePositioning { // CBtNode + constexpr std::ptrdiff_t m_ActionTimer = 0x58; // CountdownTimer +} + +namespace CBtNode { +} + +namespace CBtNodeComposite { // CBtNode +} + +namespace CBtNodeCondition { // CBtNodeDecorator + constexpr std::ptrdiff_t m_bNegated = 0x58; // bool +} + +namespace CBtNodeConditionInactive { // CBtNodeCondition + constexpr std::ptrdiff_t m_flRoundStartThresholdSeconds = 0x78; // float + constexpr std::ptrdiff_t m_flSensorInactivityThresholdSeconds = 0x7C; // float + constexpr std::ptrdiff_t m_SensorInactivityTimer = 0x80; // CountdownTimer +} + +namespace CBtNodeDecorator { // CBtNode +} + +namespace CBubbling { // CBaseModelEntity + constexpr std::ptrdiff_t m_density = 0x700; // int32_t + constexpr std::ptrdiff_t m_frequency = 0x704; // int32_t + constexpr std::ptrdiff_t m_state = 0x708; // int32_t +} + +namespace CBumpMine { // CCSWeaponBase +} + +namespace CBumpMineProjectile { // CBaseGrenade +} + +namespace CBuoyancyHelper { + constexpr std::ptrdiff_t m_flFluidDensity = 0x18; // float +} + +namespace CBuyZone { // CBaseTrigger + constexpr std::ptrdiff_t m_LegacyTeamNum = 0x8A8; // int32_t +} + +namespace CC4 { // CCSWeaponBase + constexpr std::ptrdiff_t m_vecLastValidPlayerHeldPosition = 0xE18; // Vector + constexpr std::ptrdiff_t m_vecLastValidDroppedPosition = 0xE24; // Vector + constexpr std::ptrdiff_t m_bDoValidDroppedPositionCheck = 0xE30; // bool + constexpr std::ptrdiff_t m_bStartedArming = 0xE31; // bool + constexpr std::ptrdiff_t m_fArmedTime = 0xE34; // GameTime_t + constexpr std::ptrdiff_t m_bBombPlacedAnimation = 0xE38; // bool + constexpr std::ptrdiff_t m_bIsPlantingViaUse = 0xE39; // bool + constexpr std::ptrdiff_t m_entitySpottedState = 0xE40; // EntitySpottedState_t + constexpr std::ptrdiff_t m_nSpotRules = 0xE58; // int32_t + constexpr std::ptrdiff_t m_bPlayedArmingBeeps = 0xE5C; // bool[7] + constexpr std::ptrdiff_t m_bBombPlanted = 0xE63; // bool + constexpr std::ptrdiff_t m_bDroppedFromDeath = 0xE64; // bool +} + +namespace CCSBot { // CBot + constexpr std::ptrdiff_t m_lastCoopSpawnPoint = 0xF0; // CHandle + constexpr std::ptrdiff_t m_eyePosition = 0x100; // Vector + constexpr std::ptrdiff_t m_name = 0x10C; // char[64] + constexpr std::ptrdiff_t m_combatRange = 0x14C; // float + constexpr std::ptrdiff_t m_isRogue = 0x150; // bool + constexpr std::ptrdiff_t m_rogueTimer = 0x158; // CountdownTimer + constexpr std::ptrdiff_t m_diedLastRound = 0x174; // bool + constexpr std::ptrdiff_t m_safeTime = 0x178; // float + constexpr std::ptrdiff_t m_wasSafe = 0x17C; // bool + constexpr std::ptrdiff_t m_blindFire = 0x184; // bool + constexpr std::ptrdiff_t m_surpriseTimer = 0x188; // CountdownTimer + constexpr std::ptrdiff_t m_bAllowActive = 0x1A0; // bool + constexpr std::ptrdiff_t m_isFollowing = 0x1A1; // bool + constexpr std::ptrdiff_t m_leader = 0x1A4; // CHandle + constexpr std::ptrdiff_t m_followTimestamp = 0x1A8; // float + constexpr std::ptrdiff_t m_allowAutoFollowTime = 0x1AC; // float + constexpr std::ptrdiff_t m_hurryTimer = 0x1B0; // CountdownTimer + constexpr std::ptrdiff_t m_alertTimer = 0x1C8; // CountdownTimer + constexpr std::ptrdiff_t m_sneakTimer = 0x1E0; // CountdownTimer + constexpr std::ptrdiff_t m_panicTimer = 0x1F8; // CountdownTimer + constexpr std::ptrdiff_t m_stateTimestamp = 0x4C8; // float + constexpr std::ptrdiff_t m_isAttacking = 0x4CC; // bool + constexpr std::ptrdiff_t m_isOpeningDoor = 0x4CD; // bool + constexpr std::ptrdiff_t m_taskEntity = 0x4D4; // CHandle + constexpr std::ptrdiff_t m_goalPosition = 0x4E4; // Vector + constexpr std::ptrdiff_t m_goalEntity = 0x4F0; // CHandle + constexpr std::ptrdiff_t m_avoid = 0x4F4; // CHandle + constexpr std::ptrdiff_t m_avoidTimestamp = 0x4F8; // float + constexpr std::ptrdiff_t m_isStopping = 0x4FC; // bool + constexpr std::ptrdiff_t m_hasVisitedEnemySpawn = 0x4FD; // bool + constexpr std::ptrdiff_t m_stillTimer = 0x500; // IntervalTimer + constexpr std::ptrdiff_t m_bEyeAnglesUnderPathFinderControl = 0x510; // bool + constexpr std::ptrdiff_t m_pathIndex = 0x6608; // int32_t + constexpr std::ptrdiff_t m_areaEnteredTimestamp = 0x660C; // GameTime_t + constexpr std::ptrdiff_t m_repathTimer = 0x6610; // CountdownTimer + constexpr std::ptrdiff_t m_avoidFriendTimer = 0x6628; // CountdownTimer + constexpr std::ptrdiff_t m_isFriendInTheWay = 0x6640; // bool + constexpr std::ptrdiff_t m_politeTimer = 0x6648; // CountdownTimer + constexpr std::ptrdiff_t m_isWaitingBehindFriend = 0x6660; // bool + constexpr std::ptrdiff_t m_pathLadderEnd = 0x668C; // float + constexpr std::ptrdiff_t m_mustRunTimer = 0x66D8; // CountdownTimer + constexpr std::ptrdiff_t m_waitTimer = 0x66F0; // CountdownTimer + constexpr std::ptrdiff_t m_updateTravelDistanceTimer = 0x6708; // CountdownTimer + constexpr std::ptrdiff_t m_playerTravelDistance = 0x6720; // float[64] + constexpr std::ptrdiff_t m_travelDistancePhase = 0x6820; // uint8_t + constexpr std::ptrdiff_t m_hostageEscortCount = 0x69B8; // uint8_t + constexpr std::ptrdiff_t m_hostageEscortCountTimestamp = 0x69BC; // float + constexpr std::ptrdiff_t m_desiredTeam = 0x69C0; // int32_t + constexpr std::ptrdiff_t m_hasJoined = 0x69C4; // bool + constexpr std::ptrdiff_t m_isWaitingForHostage = 0x69C5; // bool + constexpr std::ptrdiff_t m_inhibitWaitingForHostageTimer = 0x69C8; // CountdownTimer + constexpr std::ptrdiff_t m_waitForHostageTimer = 0x69E0; // CountdownTimer + constexpr std::ptrdiff_t m_noisePosition = 0x69F8; // Vector + constexpr std::ptrdiff_t m_noiseTravelDistance = 0x6A04; // float + constexpr std::ptrdiff_t m_noiseTimestamp = 0x6A08; // float + constexpr std::ptrdiff_t m_noiseSource = 0x6A10; // CCSPlayerPawn* + constexpr std::ptrdiff_t m_noiseBendTimer = 0x6A28; // CountdownTimer + constexpr std::ptrdiff_t m_bentNoisePosition = 0x6A40; // Vector + constexpr std::ptrdiff_t m_bendNoisePositionValid = 0x6A4C; // bool + constexpr std::ptrdiff_t m_lookAroundStateTimestamp = 0x6A50; // float + constexpr std::ptrdiff_t m_lookAheadAngle = 0x6A54; // float + constexpr std::ptrdiff_t m_forwardAngle = 0x6A58; // float + constexpr std::ptrdiff_t m_inhibitLookAroundTimestamp = 0x6A5C; // float + constexpr std::ptrdiff_t m_lookAtSpot = 0x6A64; // Vector + constexpr std::ptrdiff_t m_lookAtSpotDuration = 0x6A74; // float + constexpr std::ptrdiff_t m_lookAtSpotTimestamp = 0x6A78; // float + constexpr std::ptrdiff_t m_lookAtSpotAngleTolerance = 0x6A7C; // float + constexpr std::ptrdiff_t m_lookAtSpotClearIfClose = 0x6A80; // bool + constexpr std::ptrdiff_t m_lookAtSpotAttack = 0x6A81; // bool + constexpr std::ptrdiff_t m_lookAtDesc = 0x6A88; // char* + constexpr std::ptrdiff_t m_peripheralTimestamp = 0x6A90; // float + constexpr std::ptrdiff_t m_approachPointCount = 0x6C18; // uint8_t + constexpr std::ptrdiff_t m_approachPointViewPosition = 0x6C1C; // Vector + constexpr std::ptrdiff_t m_viewSteadyTimer = 0x6C28; // IntervalTimer + constexpr std::ptrdiff_t m_tossGrenadeTimer = 0x6C40; // CountdownTimer + constexpr std::ptrdiff_t m_isAvoidingGrenade = 0x6C60; // CountdownTimer + constexpr std::ptrdiff_t m_spotCheckTimestamp = 0x6C80; // float + constexpr std::ptrdiff_t m_checkedHidingSpotCount = 0x7088; // int32_t + constexpr std::ptrdiff_t m_lookPitch = 0x708C; // float + constexpr std::ptrdiff_t m_lookPitchVel = 0x7090; // float + constexpr std::ptrdiff_t m_lookYaw = 0x7094; // float + constexpr std::ptrdiff_t m_lookYawVel = 0x7098; // float + constexpr std::ptrdiff_t m_targetSpot = 0x709C; // Vector + constexpr std::ptrdiff_t m_targetSpotVelocity = 0x70A8; // Vector + constexpr std::ptrdiff_t m_targetSpotPredicted = 0x70B4; // Vector + constexpr std::ptrdiff_t m_aimError = 0x70C0; // QAngle + constexpr std::ptrdiff_t m_aimGoal = 0x70CC; // QAngle + constexpr std::ptrdiff_t m_targetSpotTime = 0x70D8; // GameTime_t + constexpr std::ptrdiff_t m_aimFocus = 0x70DC; // float + constexpr std::ptrdiff_t m_aimFocusInterval = 0x70E0; // float + constexpr std::ptrdiff_t m_aimFocusNextUpdate = 0x70E4; // GameTime_t + constexpr std::ptrdiff_t m_ignoreEnemiesTimer = 0x70F0; // CountdownTimer + constexpr std::ptrdiff_t m_enemy = 0x7108; // CHandle + constexpr std::ptrdiff_t m_isEnemyVisible = 0x710C; // bool + constexpr std::ptrdiff_t m_visibleEnemyParts = 0x710D; // uint8_t + constexpr std::ptrdiff_t m_lastEnemyPosition = 0x7110; // Vector + constexpr std::ptrdiff_t m_lastSawEnemyTimestamp = 0x711C; // float + constexpr std::ptrdiff_t m_firstSawEnemyTimestamp = 0x7120; // float + constexpr std::ptrdiff_t m_currentEnemyAcquireTimestamp = 0x7124; // float + constexpr std::ptrdiff_t m_enemyDeathTimestamp = 0x7128; // float + constexpr std::ptrdiff_t m_friendDeathTimestamp = 0x712C; // float + constexpr std::ptrdiff_t m_isLastEnemyDead = 0x7130; // bool + constexpr std::ptrdiff_t m_nearbyEnemyCount = 0x7134; // int32_t + constexpr std::ptrdiff_t m_bomber = 0x7340; // CHandle + constexpr std::ptrdiff_t m_nearbyFriendCount = 0x7344; // int32_t + constexpr std::ptrdiff_t m_closestVisibleFriend = 0x7348; // CHandle + constexpr std::ptrdiff_t m_closestVisibleHumanFriend = 0x734C; // CHandle + constexpr std::ptrdiff_t m_attentionInterval = 0x7350; // IntervalTimer + constexpr std::ptrdiff_t m_attacker = 0x7360; // CHandle + constexpr std::ptrdiff_t m_attackedTimestamp = 0x7364; // float + constexpr std::ptrdiff_t m_burnedByFlamesTimer = 0x7368; // IntervalTimer + constexpr std::ptrdiff_t m_lastVictimID = 0x7378; // int32_t + constexpr std::ptrdiff_t m_isAimingAtEnemy = 0x737C; // bool + constexpr std::ptrdiff_t m_isRapidFiring = 0x737D; // bool + constexpr std::ptrdiff_t m_equipTimer = 0x7380; // IntervalTimer + constexpr std::ptrdiff_t m_zoomTimer = 0x7390; // CountdownTimer + constexpr std::ptrdiff_t m_fireWeaponTimestamp = 0x73A8; // GameTime_t + constexpr std::ptrdiff_t m_lookForWeaponsOnGroundTimer = 0x73B0; // CountdownTimer + constexpr std::ptrdiff_t m_bIsSleeping = 0x73C8; // bool + constexpr std::ptrdiff_t m_isEnemySniperVisible = 0x73C9; // bool + constexpr std::ptrdiff_t m_sawEnemySniperTimer = 0x73D0; // CountdownTimer + constexpr std::ptrdiff_t m_enemyQueueIndex = 0x7488; // uint8_t + constexpr std::ptrdiff_t m_enemyQueueCount = 0x7489; // uint8_t + constexpr std::ptrdiff_t m_enemyQueueAttendIndex = 0x748A; // uint8_t + constexpr std::ptrdiff_t m_isStuck = 0x748B; // bool + constexpr std::ptrdiff_t m_stuckTimestamp = 0x748C; // GameTime_t + constexpr std::ptrdiff_t m_stuckSpot = 0x7490; // Vector + constexpr std::ptrdiff_t m_wiggleTimer = 0x74A0; // CountdownTimer + constexpr std::ptrdiff_t m_stuckJumpTimer = 0x74B8; // CountdownTimer + constexpr std::ptrdiff_t m_nextCleanupCheckTimestamp = 0x74D0; // GameTime_t + constexpr std::ptrdiff_t m_avgVel = 0x74D4; // float[10] + constexpr std::ptrdiff_t m_avgVelIndex = 0x74FC; // int32_t + constexpr std::ptrdiff_t m_avgVelCount = 0x7500; // int32_t + constexpr std::ptrdiff_t m_lastOrigin = 0x7504; // Vector + constexpr std::ptrdiff_t m_lastRadioRecievedTimestamp = 0x7514; // float + constexpr std::ptrdiff_t m_lastRadioSentTimestamp = 0x7518; // float + constexpr std::ptrdiff_t m_radioSubject = 0x751C; // CHandle + constexpr std::ptrdiff_t m_radioPosition = 0x7520; // Vector + constexpr std::ptrdiff_t m_voiceEndTimestamp = 0x752C; // float + constexpr std::ptrdiff_t m_lastValidReactionQueueFrame = 0x7538; // int32_t +} + +namespace CCSGOPlayerAnimGraphState { +} + +namespace CCSGOViewModel { // CPredictedViewModel + constexpr std::ptrdiff_t m_bShouldIgnoreOffsetAndAccuracy = 0x8D8; // bool + constexpr std::ptrdiff_t m_nWeaponParity = 0x8DC; // uint32_t + constexpr std::ptrdiff_t m_nOldWeaponParity = 0x8E0; // uint32_t +} + +namespace CCSGO_TeamIntroCharacterPosition { // CCSGO_TeamPreviewCharacterPosition +} + +namespace CCSGO_TeamIntroCounterTerroristPosition { // CCSGO_TeamIntroCharacterPosition +} + +namespace CCSGO_TeamIntroTerroristPosition { // CCSGO_TeamIntroCharacterPosition +} + +namespace CCSGO_TeamPreviewCharacterPosition { // CBaseEntity + constexpr std::ptrdiff_t m_nVariant = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_nRandom = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_nOrdinal = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_sWeaponName = 0x4C0; // CUtlString + constexpr std::ptrdiff_t m_xuid = 0x4C8; // uint64_t + constexpr std::ptrdiff_t m_agentItem = 0x4D0; // CEconItemView + constexpr std::ptrdiff_t m_glovesItem = 0x748; // CEconItemView + constexpr std::ptrdiff_t m_weaponItem = 0x9C0; // CEconItemView +} + +namespace CCSGO_TeamSelectCharacterPosition { // CCSGO_TeamPreviewCharacterPosition +} + +namespace CCSGO_TeamSelectCounterTerroristPosition { // CCSGO_TeamSelectCharacterPosition +} + +namespace CCSGO_TeamSelectTerroristPosition { // CCSGO_TeamSelectCharacterPosition +} + +namespace CCSGO_WingmanIntroCharacterPosition { // CCSGO_TeamIntroCharacterPosition +} + +namespace CCSGO_WingmanIntroCounterTerroristPosition { // CCSGO_WingmanIntroCharacterPosition +} + +namespace CCSGO_WingmanIntroTerroristPosition { // CCSGO_WingmanIntroCharacterPosition +} + +namespace CCSGameModeRules { + constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer +} + +namespace CCSGameModeRules_Deathmatch { // CCSGameModeRules + constexpr std::ptrdiff_t m_bFirstThink = 0x30; // bool + constexpr std::ptrdiff_t m_bFirstThinkAfterConnected = 0x31; // bool + constexpr std::ptrdiff_t m_flDMBonusStartTime = 0x34; // GameTime_t + constexpr std::ptrdiff_t m_flDMBonusTimeLength = 0x38; // float + constexpr std::ptrdiff_t m_nDMBonusWeaponLoadoutSlot = 0x3C; // int16_t +} + +namespace CCSGameModeRules_Noop { // CCSGameModeRules +} + +namespace CCSGameModeRules_Scripted { // CCSGameModeRules +} + +namespace CCSGameModeScript { // CBasePulseGraphInstance +} + +namespace CCSGameRules { // CTeamplayRules + constexpr std::ptrdiff_t __m_pChainEntity = 0x98; // CNetworkVarChainer + constexpr std::ptrdiff_t m_coopMissionManager = 0xC0; // CHandle + constexpr std::ptrdiff_t m_bFreezePeriod = 0xC4; // bool + constexpr std::ptrdiff_t m_bWarmupPeriod = 0xC5; // bool + constexpr std::ptrdiff_t m_fWarmupPeriodEnd = 0xC8; // GameTime_t + constexpr std::ptrdiff_t m_fWarmupPeriodStart = 0xCC; // GameTime_t + constexpr std::ptrdiff_t m_nTotalPausedTicks = 0xD0; // int32_t + constexpr std::ptrdiff_t m_nPauseStartTick = 0xD4; // int32_t + constexpr std::ptrdiff_t m_bServerPaused = 0xD8; // bool + constexpr std::ptrdiff_t m_bGamePaused = 0xD9; // bool + constexpr std::ptrdiff_t m_bTerroristTimeOutActive = 0xDA; // bool + constexpr std::ptrdiff_t m_bCTTimeOutActive = 0xDB; // bool + constexpr std::ptrdiff_t m_flTerroristTimeOutRemaining = 0xDC; // float + constexpr std::ptrdiff_t m_flCTTimeOutRemaining = 0xE0; // float + constexpr std::ptrdiff_t m_nTerroristTimeOuts = 0xE4; // int32_t + constexpr std::ptrdiff_t m_nCTTimeOuts = 0xE8; // int32_t + constexpr std::ptrdiff_t m_bTechnicalTimeOut = 0xEC; // bool + constexpr std::ptrdiff_t m_bMatchWaitingForResume = 0xED; // bool + constexpr std::ptrdiff_t m_iRoundTime = 0xF0; // int32_t + constexpr std::ptrdiff_t m_fMatchStartTime = 0xF4; // float + constexpr std::ptrdiff_t m_fRoundStartTime = 0xF8; // GameTime_t + constexpr std::ptrdiff_t m_flRestartRoundTime = 0xFC; // GameTime_t + constexpr std::ptrdiff_t m_bGameRestart = 0x100; // bool + constexpr std::ptrdiff_t m_flGameStartTime = 0x104; // float + constexpr std::ptrdiff_t m_timeUntilNextPhaseStarts = 0x108; // float + constexpr std::ptrdiff_t m_gamePhase = 0x10C; // int32_t + constexpr std::ptrdiff_t m_totalRoundsPlayed = 0x110; // int32_t + constexpr std::ptrdiff_t m_nRoundsPlayedThisPhase = 0x114; // int32_t + constexpr std::ptrdiff_t m_nOvertimePlaying = 0x118; // int32_t + constexpr std::ptrdiff_t m_iHostagesRemaining = 0x11C; // int32_t + constexpr std::ptrdiff_t m_bAnyHostageReached = 0x120; // bool + constexpr std::ptrdiff_t m_bMapHasBombTarget = 0x121; // bool + constexpr std::ptrdiff_t m_bMapHasRescueZone = 0x122; // bool + constexpr std::ptrdiff_t m_bMapHasBuyZone = 0x123; // bool + constexpr std::ptrdiff_t m_bIsQueuedMatchmaking = 0x124; // bool + constexpr std::ptrdiff_t m_nQueuedMatchmakingMode = 0x128; // int32_t + constexpr std::ptrdiff_t m_bIsValveDS = 0x12C; // bool + constexpr std::ptrdiff_t m_bLogoMap = 0x12D; // bool + constexpr std::ptrdiff_t m_bPlayAllStepSoundsOnServer = 0x12E; // bool + constexpr std::ptrdiff_t m_iSpectatorSlotCount = 0x130; // int32_t + constexpr std::ptrdiff_t m_MatchDevice = 0x134; // int32_t + constexpr std::ptrdiff_t m_bHasMatchStarted = 0x138; // bool + constexpr std::ptrdiff_t m_nNextMapInMapgroup = 0x13C; // int32_t + constexpr std::ptrdiff_t m_szTournamentEventName = 0x140; // char[512] + constexpr std::ptrdiff_t m_szTournamentEventStage = 0x340; // char[512] + constexpr std::ptrdiff_t m_szMatchStatTxt = 0x540; // char[512] + constexpr std::ptrdiff_t m_szTournamentPredictionsTxt = 0x740; // char[512] + constexpr std::ptrdiff_t m_nTournamentPredictionsPct = 0x940; // int32_t + constexpr std::ptrdiff_t m_flCMMItemDropRevealStartTime = 0x944; // GameTime_t + constexpr std::ptrdiff_t m_flCMMItemDropRevealEndTime = 0x948; // GameTime_t + constexpr std::ptrdiff_t m_bIsDroppingItems = 0x94C; // bool + constexpr std::ptrdiff_t m_bIsQuestEligible = 0x94D; // bool + constexpr std::ptrdiff_t m_bIsHltvActive = 0x94E; // bool + constexpr std::ptrdiff_t m_nGuardianModeWaveNumber = 0x950; // int32_t + constexpr std::ptrdiff_t m_nGuardianModeSpecialKillsRemaining = 0x954; // int32_t + constexpr std::ptrdiff_t m_nGuardianModeSpecialWeaponNeeded = 0x958; // int32_t + constexpr std::ptrdiff_t m_nGuardianGrenadesToGiveBots = 0x95C; // int32_t + constexpr std::ptrdiff_t m_nNumHeaviesToSpawn = 0x960; // int32_t + constexpr std::ptrdiff_t m_numGlobalGiftsGiven = 0x964; // uint32_t + constexpr std::ptrdiff_t m_numGlobalGifters = 0x968; // uint32_t + constexpr std::ptrdiff_t m_numGlobalGiftsPeriodSeconds = 0x96C; // uint32_t + constexpr std::ptrdiff_t m_arrFeaturedGiftersAccounts = 0x970; // uint32_t[4] + constexpr std::ptrdiff_t m_arrFeaturedGiftersGifts = 0x980; // uint32_t[4] + constexpr std::ptrdiff_t m_arrProhibitedItemIndices = 0x990; // uint16_t[100] + constexpr std::ptrdiff_t m_arrTournamentActiveCasterAccounts = 0xA58; // uint32_t[4] + constexpr std::ptrdiff_t m_numBestOfMaps = 0xA68; // int32_t + constexpr std::ptrdiff_t m_nHalloweenMaskListSeed = 0xA6C; // int32_t + constexpr std::ptrdiff_t m_bBombDropped = 0xA70; // bool + constexpr std::ptrdiff_t m_bBombPlanted = 0xA71; // bool + constexpr std::ptrdiff_t m_iRoundWinStatus = 0xA74; // int32_t + constexpr std::ptrdiff_t m_eRoundWinReason = 0xA78; // int32_t + constexpr std::ptrdiff_t m_bTCantBuy = 0xA7C; // bool + constexpr std::ptrdiff_t m_bCTCantBuy = 0xA7D; // bool + constexpr std::ptrdiff_t m_flGuardianBuyUntilTime = 0xA80; // GameTime_t + constexpr std::ptrdiff_t m_iMatchStats_RoundResults = 0xA84; // int32_t[30] + constexpr std::ptrdiff_t m_iMatchStats_PlayersAlive_CT = 0xAFC; // int32_t[30] + constexpr std::ptrdiff_t m_iMatchStats_PlayersAlive_T = 0xB74; // int32_t[30] + constexpr std::ptrdiff_t m_TeamRespawnWaveTimes = 0xBEC; // float[32] + constexpr std::ptrdiff_t m_flNextRespawnWave = 0xC6C; // GameTime_t[32] + constexpr std::ptrdiff_t m_nServerQuestID = 0xCEC; // int32_t + constexpr std::ptrdiff_t m_vMinimapMins = 0xCF0; // Vector + constexpr std::ptrdiff_t m_vMinimapMaxs = 0xCFC; // Vector + constexpr std::ptrdiff_t m_MinimapVerticalSectionHeights = 0xD08; // float[8] + constexpr std::ptrdiff_t m_bDontIncrementCoopWave = 0xD28; // bool + constexpr std::ptrdiff_t m_bSpawnedTerrorHuntHeavy = 0xD29; // bool + constexpr std::ptrdiff_t m_nEndMatchMapGroupVoteTypes = 0xD2C; // int32_t[10] + constexpr std::ptrdiff_t m_nEndMatchMapGroupVoteOptions = 0xD54; // int32_t[10] + constexpr std::ptrdiff_t m_nEndMatchMapVoteWinner = 0xD7C; // int32_t + constexpr std::ptrdiff_t m_iNumConsecutiveCTLoses = 0xD80; // int32_t + constexpr std::ptrdiff_t m_iNumConsecutiveTerroristLoses = 0xD84; // int32_t + constexpr std::ptrdiff_t m_bHasHostageBeenTouched = 0xDA0; // bool + constexpr std::ptrdiff_t m_flIntermissionStartTime = 0xDA4; // GameTime_t + constexpr std::ptrdiff_t m_flIntermissionEndTime = 0xDA8; // GameTime_t + constexpr std::ptrdiff_t m_bLevelInitialized = 0xDAC; // bool + constexpr std::ptrdiff_t m_iTotalRoundsPlayed = 0xDB0; // int32_t + constexpr std::ptrdiff_t m_iUnBalancedRounds = 0xDB4; // int32_t + constexpr std::ptrdiff_t m_endMatchOnRoundReset = 0xDB8; // bool + constexpr std::ptrdiff_t m_endMatchOnThink = 0xDB9; // bool + constexpr std::ptrdiff_t m_iFreezeTime = 0xDBC; // int32_t + constexpr std::ptrdiff_t m_iNumTerrorist = 0xDC0; // int32_t + constexpr std::ptrdiff_t m_iNumCT = 0xDC4; // int32_t + constexpr std::ptrdiff_t m_iNumSpawnableTerrorist = 0xDC8; // int32_t + constexpr std::ptrdiff_t m_iNumSpawnableCT = 0xDCC; // int32_t + constexpr std::ptrdiff_t m_arrSelectedHostageSpawnIndices = 0xDD0; // CUtlVector + constexpr std::ptrdiff_t m_bFirstConnected = 0xDE8; // bool + constexpr std::ptrdiff_t m_bCompleteReset = 0xDE9; // bool + constexpr std::ptrdiff_t m_bPickNewTeamsOnReset = 0xDEA; // bool + constexpr std::ptrdiff_t m_bScrambleTeamsOnRestart = 0xDEB; // bool + constexpr std::ptrdiff_t m_bSwapTeamsOnRestart = 0xDEC; // bool + constexpr std::ptrdiff_t m_nEndMatchTiedVotes = 0xDF8; // CUtlVector + constexpr std::ptrdiff_t m_bNeedToAskPlayersForContinueVote = 0xE14; // bool + constexpr std::ptrdiff_t m_numQueuedMatchmakingAccounts = 0xE18; // uint32_t + constexpr std::ptrdiff_t m_pQueuedMatchmakingReservationString = 0xE20; // char* + constexpr std::ptrdiff_t m_numTotalTournamentDrops = 0xE28; // uint32_t + constexpr std::ptrdiff_t m_numSpectatorsCountMax = 0xE2C; // uint32_t + constexpr std::ptrdiff_t m_numSpectatorsCountMaxTV = 0xE30; // uint32_t + constexpr std::ptrdiff_t m_numSpectatorsCountMaxLnk = 0xE34; // uint32_t + constexpr std::ptrdiff_t m_bForceTeamChangeSilent = 0xE40; // bool + constexpr std::ptrdiff_t m_bLoadingRoundBackupData = 0xE41; // bool + constexpr std::ptrdiff_t m_nMatchInfoShowType = 0xE78; // int32_t + constexpr std::ptrdiff_t m_flMatchInfoDecidedTime = 0xE7C; // float + constexpr std::ptrdiff_t m_flCoopRespawnAndHealTime = 0xE98; // float + constexpr std::ptrdiff_t m_coopBonusCoinsFound = 0xE9C; // int32_t + constexpr std::ptrdiff_t m_coopBonusPistolsOnly = 0xEA0; // bool + constexpr std::ptrdiff_t m_coopPlayersInDeploymentZone = 0xEA1; // bool + constexpr std::ptrdiff_t m_coopMissionDeadPlayerRespawnEnabled = 0xEA2; // bool + constexpr std::ptrdiff_t mTeamDMLastWinningTeamNumber = 0xEA4; // int32_t + constexpr std::ptrdiff_t mTeamDMLastThinkTime = 0xEA8; // float + constexpr std::ptrdiff_t m_flTeamDMLastAnnouncementTime = 0xEAC; // float + constexpr std::ptrdiff_t m_iAccountTerrorist = 0xEB0; // int32_t + constexpr std::ptrdiff_t m_iAccountCT = 0xEB4; // int32_t + constexpr std::ptrdiff_t m_iSpawnPointCount_Terrorist = 0xEB8; // int32_t + constexpr std::ptrdiff_t m_iSpawnPointCount_CT = 0xEBC; // int32_t + constexpr std::ptrdiff_t m_iMaxNumTerrorists = 0xEC0; // int32_t + constexpr std::ptrdiff_t m_iMaxNumCTs = 0xEC4; // int32_t + constexpr std::ptrdiff_t m_iLoserBonus = 0xEC8; // int32_t + constexpr std::ptrdiff_t m_iLoserBonusMostRecentTeam = 0xECC; // int32_t + constexpr std::ptrdiff_t m_tmNextPeriodicThink = 0xED0; // float + constexpr std::ptrdiff_t m_bVoiceWonMatchBragFired = 0xED4; // bool + constexpr std::ptrdiff_t m_fWarmupNextChatNoticeTime = 0xED8; // float + constexpr std::ptrdiff_t m_iHostagesRescued = 0xEE0; // int32_t + constexpr std::ptrdiff_t m_iHostagesTouched = 0xEE4; // int32_t + constexpr std::ptrdiff_t m_flNextHostageAnnouncement = 0xEE8; // float + constexpr std::ptrdiff_t m_bNoTerroristsKilled = 0xEEC; // bool + constexpr std::ptrdiff_t m_bNoCTsKilled = 0xEED; // bool + constexpr std::ptrdiff_t m_bNoEnemiesKilled = 0xEEE; // bool + constexpr std::ptrdiff_t m_bCanDonateWeapons = 0xEEF; // bool + constexpr std::ptrdiff_t m_firstKillTime = 0xEF4; // float + constexpr std::ptrdiff_t m_firstBloodTime = 0xEFC; // float + constexpr std::ptrdiff_t m_hostageWasInjured = 0xF18; // bool + constexpr std::ptrdiff_t m_hostageWasKilled = 0xF19; // bool + constexpr std::ptrdiff_t m_bVoteCalled = 0xF28; // bool + constexpr std::ptrdiff_t m_bServerVoteOnReset = 0xF29; // bool + constexpr std::ptrdiff_t m_flVoteCheckThrottle = 0xF2C; // float + constexpr std::ptrdiff_t m_bBuyTimeEnded = 0xF30; // bool + constexpr std::ptrdiff_t m_nLastFreezeEndBeep = 0xF34; // int32_t + constexpr std::ptrdiff_t m_bTargetBombed = 0xF38; // bool + constexpr std::ptrdiff_t m_bBombDefused = 0xF39; // bool + constexpr std::ptrdiff_t m_bMapHasBombZone = 0xF3A; // bool + constexpr std::ptrdiff_t m_vecMainCTSpawnPos = 0xF58; // Vector + constexpr std::ptrdiff_t m_CTSpawnPointsMasterList = 0xF68; // CUtlVector + constexpr std::ptrdiff_t m_TerroristSpawnPointsMasterList = 0xF80; // CUtlVector + constexpr std::ptrdiff_t m_iNextCTSpawnPoint = 0xF98; // int32_t + constexpr std::ptrdiff_t m_iNextTerroristSpawnPoint = 0xF9C; // int32_t + constexpr std::ptrdiff_t m_CTSpawnPoints = 0xFA0; // CUtlVector + constexpr std::ptrdiff_t m_TerroristSpawnPoints = 0xFB8; // CUtlVector + constexpr std::ptrdiff_t m_bIsUnreservedGameServer = 0xFD0; // bool + constexpr std::ptrdiff_t m_fAutobalanceDisplayTime = 0xFD4; // float + constexpr std::ptrdiff_t m_bAllowWeaponSwitch = 0x1240; // bool + constexpr std::ptrdiff_t m_bRoundTimeWarningTriggered = 0x1241; // bool + constexpr std::ptrdiff_t m_phaseChangeAnnouncementTime = 0x1244; // GameTime_t + constexpr std::ptrdiff_t m_fNextUpdateTeamClanNamesTime = 0x1248; // float + constexpr std::ptrdiff_t m_flLastThinkTime = 0x124C; // GameTime_t + constexpr std::ptrdiff_t m_fAccumulatedRoundOffDamage = 0x1250; // float + constexpr std::ptrdiff_t m_nShorthandedBonusLastEvalRound = 0x1254; // int32_t + constexpr std::ptrdiff_t m_bMatchAbortedDueToPlayerBan = 0x14D0; // bool + constexpr std::ptrdiff_t m_bHasTriggeredRoundStartMusic = 0x14D1; // bool + constexpr std::ptrdiff_t m_bHasTriggeredCoopSpawnReset = 0x14D2; // bool + constexpr std::ptrdiff_t m_bSwitchingTeamsAtRoundReset = 0x14D3; // bool + constexpr std::ptrdiff_t m_pGameModeRules = 0x14F0; // CCSGameModeRules* + constexpr std::ptrdiff_t m_BtGlobalBlackboard = 0x14F8; // KeyValues3 + constexpr std::ptrdiff_t m_hPlayerResource = 0x1560; // CHandle + constexpr std::ptrdiff_t m_RetakeRules = 0x1568; // CRetakeGameRules + constexpr std::ptrdiff_t m_GuardianBotSkillLevelMax = 0x174C; // int32_t + constexpr std::ptrdiff_t m_GuardianBotSkillLevelMin = 0x1750; // int32_t + constexpr std::ptrdiff_t m_arrTeamUniqueKillWeaponsMatch = 0x1758; // CUtlVector[4] + constexpr std::ptrdiff_t m_bTeamLastKillUsedUniqueWeaponMatch = 0x17B8; // bool[4] + constexpr std::ptrdiff_t m_nMatchEndCount = 0x17E0; // uint8_t + constexpr std::ptrdiff_t m_nTTeamIntroVariant = 0x17E4; // int32_t + constexpr std::ptrdiff_t m_nCTTeamIntroVariant = 0x17E8; // int32_t + constexpr std::ptrdiff_t m_bTeamIntroPeriod = 0x17EC; // bool + constexpr std::ptrdiff_t m_fTeamIntroPeriodEnd = 0x17F0; // GameTime_t + constexpr std::ptrdiff_t m_bPlayedTeamIntroVO = 0x17F4; // bool + constexpr std::ptrdiff_t m_flLastPerfSampleTime = 0x5800; // double + constexpr std::ptrdiff_t m_bSkipNextServerPerfSample = 0x5808; // bool +} + +namespace CCSGameRulesProxy { // CGameRulesProxy + constexpr std::ptrdiff_t m_pGameRules = 0x4B0; // CCSGameRules* +} + +namespace CCSMinimapBoundary { // CBaseEntity +} + +namespace CCSObserverPawn { // CCSPlayerPawnBase +} + +namespace CCSObserver_CameraServices { // CCSPlayerBase_CameraServices +} + +namespace CCSObserver_MovementServices { // CPlayer_MovementServices +} + +namespace CCSObserver_ObserverServices { // CPlayer_ObserverServices +} + +namespace CCSObserver_UseServices { // CPlayer_UseServices +} + +namespace CCSObserver_ViewModelServices { // CPlayer_ViewModelServices +} + +namespace CCSPlace { // CServerOnlyModelEntity + constexpr std::ptrdiff_t m_name = 0x708; // CUtlSymbolLarge +} + +namespace CCSPlayerBase_CameraServices { // CPlayer_CameraServices + constexpr std::ptrdiff_t m_iFOV = 0x170; // uint32_t + constexpr std::ptrdiff_t m_iFOVStart = 0x174; // uint32_t + constexpr std::ptrdiff_t m_flFOVTime = 0x178; // GameTime_t + constexpr std::ptrdiff_t m_flFOVRate = 0x17C; // float + constexpr std::ptrdiff_t m_hZoomOwner = 0x180; // CHandle + constexpr std::ptrdiff_t m_hTriggerFogList = 0x188; // CUtlVector> + constexpr std::ptrdiff_t m_hLastFogTrigger = 0x1A0; // CHandle +} + +namespace CCSPlayerController { // CBasePlayerController + constexpr std::ptrdiff_t m_pInGameMoneyServices = 0x6B0; // CCSPlayerController_InGameMoneyServices* + constexpr std::ptrdiff_t m_pInventoryServices = 0x6B8; // CCSPlayerController_InventoryServices* + constexpr std::ptrdiff_t m_pActionTrackingServices = 0x6C0; // CCSPlayerController_ActionTrackingServices* + constexpr std::ptrdiff_t m_pDamageServices = 0x6C8; // CCSPlayerController_DamageServices* + constexpr std::ptrdiff_t m_iPing = 0x6D0; // uint32_t + constexpr std::ptrdiff_t m_bHasCommunicationAbuseMute = 0x6D4; // bool + constexpr std::ptrdiff_t m_szCrosshairCodes = 0x6D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iPendingTeamNum = 0x6E0; // uint8_t + constexpr std::ptrdiff_t m_flForceTeamTime = 0x6E4; // GameTime_t + constexpr std::ptrdiff_t m_iCompTeammateColor = 0x6E8; // int32_t + constexpr std::ptrdiff_t m_bEverPlayedOnTeam = 0x6EC; // bool + constexpr std::ptrdiff_t m_bAttemptedToGetColor = 0x6ED; // bool + constexpr std::ptrdiff_t m_iTeammatePreferredColor = 0x6F0; // int32_t + constexpr std::ptrdiff_t m_bTeamChanged = 0x6F4; // bool + constexpr std::ptrdiff_t m_bInSwitchTeam = 0x6F5; // bool + constexpr std::ptrdiff_t m_bHasSeenJoinGame = 0x6F6; // bool + constexpr std::ptrdiff_t m_bJustBecameSpectator = 0x6F7; // bool + constexpr std::ptrdiff_t m_bSwitchTeamsOnNextRoundReset = 0x6F8; // bool + constexpr std::ptrdiff_t m_bRemoveAllItemsOnNextRoundReset = 0x6F9; // bool + constexpr std::ptrdiff_t m_szClan = 0x700; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_szClanName = 0x708; // char[32] + constexpr std::ptrdiff_t m_iCoachingTeam = 0x728; // int32_t + constexpr std::ptrdiff_t m_nPlayerDominated = 0x730; // uint64_t + constexpr std::ptrdiff_t m_nPlayerDominatingMe = 0x738; // uint64_t + constexpr std::ptrdiff_t m_iCompetitiveRanking = 0x740; // int32_t + constexpr std::ptrdiff_t m_iCompetitiveWins = 0x744; // int32_t + constexpr std::ptrdiff_t m_iCompetitiveRankType = 0x748; // int8_t + constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Win = 0x74C; // int32_t + constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Loss = 0x750; // int32_t + constexpr std::ptrdiff_t m_iCompetitiveRankingPredicted_Tie = 0x754; // int32_t + constexpr std::ptrdiff_t m_nEndMatchNextMapVote = 0x758; // int32_t + constexpr std::ptrdiff_t m_unActiveQuestId = 0x75C; // uint16_t + constexpr std::ptrdiff_t m_nQuestProgressReason = 0x760; // QuestProgress::Reason + constexpr std::ptrdiff_t m_unPlayerTvControlFlags = 0x764; // uint32_t + constexpr std::ptrdiff_t m_iDraftIndex = 0x790; // int32_t + constexpr std::ptrdiff_t m_msQueuedModeDisconnectionTimestamp = 0x794; // uint32_t + constexpr std::ptrdiff_t m_uiAbandonRecordedReason = 0x798; // uint32_t + constexpr std::ptrdiff_t m_bEverFullyConnected = 0x79C; // bool + constexpr std::ptrdiff_t m_bAbandonAllowsSurrender = 0x79D; // bool + constexpr std::ptrdiff_t m_bAbandonOffersInstantSurrender = 0x79E; // bool + constexpr std::ptrdiff_t m_bDisconnection1MinWarningPrinted = 0x79F; // bool + constexpr std::ptrdiff_t m_bScoreReported = 0x7A0; // bool + constexpr std::ptrdiff_t m_nDisconnectionTick = 0x7A4; // int32_t + constexpr std::ptrdiff_t m_bControllingBot = 0x7B0; // bool + constexpr std::ptrdiff_t m_bHasControlledBotThisRound = 0x7B1; // bool + constexpr std::ptrdiff_t m_bHasBeenControlledByPlayerThisRound = 0x7B2; // bool + constexpr std::ptrdiff_t m_nBotsControlledThisRound = 0x7B4; // int32_t + constexpr std::ptrdiff_t m_bCanControlObservedBot = 0x7B8; // bool + constexpr std::ptrdiff_t m_hPlayerPawn = 0x7BC; // CHandle + constexpr std::ptrdiff_t m_hObserverPawn = 0x7C0; // CHandle + constexpr std::ptrdiff_t m_DesiredObserverMode = 0x7C4; // int32_t + constexpr std::ptrdiff_t m_hDesiredObserverTarget = 0x7C8; // CEntityHandle + constexpr std::ptrdiff_t m_bPawnIsAlive = 0x7CC; // bool + constexpr std::ptrdiff_t m_iPawnHealth = 0x7D0; // uint32_t + constexpr std::ptrdiff_t m_iPawnArmor = 0x7D4; // int32_t + constexpr std::ptrdiff_t m_bPawnHasDefuser = 0x7D8; // bool + constexpr std::ptrdiff_t m_bPawnHasHelmet = 0x7D9; // bool + constexpr std::ptrdiff_t m_nPawnCharacterDefIndex = 0x7DA; // uint16_t + constexpr std::ptrdiff_t m_iPawnLifetimeStart = 0x7DC; // int32_t + constexpr std::ptrdiff_t m_iPawnLifetimeEnd = 0x7E0; // int32_t + constexpr std::ptrdiff_t m_iPawnBotDifficulty = 0x7E4; // int32_t + constexpr std::ptrdiff_t m_hOriginalControllerOfCurrentPawn = 0x7E8; // CHandle + constexpr std::ptrdiff_t m_iScore = 0x7EC; // int32_t + constexpr std::ptrdiff_t m_iRoundScore = 0x7F0; // int32_t + constexpr std::ptrdiff_t m_iRoundsWon = 0x7F4; // int32_t + constexpr std::ptrdiff_t m_vecKills = 0x7F8; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_iMVPs = 0x810; // int32_t + constexpr std::ptrdiff_t m_nUpdateCounter = 0x814; // int32_t + constexpr std::ptrdiff_t m_flSmoothedPing = 0x818; // float + constexpr std::ptrdiff_t m_lastHeldVoteTimer = 0xF8C0; // IntervalTimer + constexpr std::ptrdiff_t m_bShowHints = 0xF8D8; // bool + constexpr std::ptrdiff_t m_iNextTimeCheck = 0xF8DC; // int32_t + constexpr std::ptrdiff_t m_bJustDidTeamKill = 0xF8E0; // bool + constexpr std::ptrdiff_t m_bPunishForTeamKill = 0xF8E1; // bool + constexpr std::ptrdiff_t m_bGaveTeamDamageWarning = 0xF8E2; // bool + constexpr std::ptrdiff_t m_bGaveTeamDamageWarningThisRound = 0xF8E3; // bool + constexpr std::ptrdiff_t m_LastTeamDamageWarningTime = 0xF8E4; // GameTime_t +} + +namespace CCSPlayerController_ActionTrackingServices { // CPlayerControllerComponent + constexpr std::ptrdiff_t m_perRoundStats = 0x40; // CUtlVectorEmbeddedNetworkVar + constexpr std::ptrdiff_t m_matchStats = 0x90; // CSMatchStats_t + constexpr std::ptrdiff_t m_iNumRoundKills = 0x148; // int32_t + constexpr std::ptrdiff_t m_iNumRoundKillsHeadshots = 0x14C; // int32_t + constexpr std::ptrdiff_t m_unTotalRoundDamageDealt = 0x150; // uint32_t +} + +namespace CCSPlayerController_DamageServices { // CPlayerControllerComponent + constexpr std::ptrdiff_t m_nSendUpdate = 0x40; // int32_t + constexpr std::ptrdiff_t m_DamageList = 0x48; // CUtlVectorEmbeddedNetworkVar +} + +namespace CCSPlayerController_InGameMoneyServices { // CPlayerControllerComponent + constexpr std::ptrdiff_t m_bReceivesMoneyNextRound = 0x40; // bool + constexpr std::ptrdiff_t m_iAccountMoneyEarnedForNextRound = 0x44; // int32_t + constexpr std::ptrdiff_t m_iAccount = 0x48; // int32_t + constexpr std::ptrdiff_t m_iStartAccount = 0x4C; // int32_t + constexpr std::ptrdiff_t m_iTotalCashSpent = 0x50; // int32_t + constexpr std::ptrdiff_t m_iCashSpentThisRound = 0x54; // int32_t +} + +namespace CCSPlayerController_InventoryServices { // CPlayerControllerComponent + constexpr std::ptrdiff_t m_unMusicID = 0x40; // uint16_t + constexpr std::ptrdiff_t m_rank = 0x44; // MedalRank_t[6] + constexpr std::ptrdiff_t m_nPersonaDataPublicLevel = 0x5C; // int32_t + constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsLeader = 0x60; // int32_t + constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsTeacher = 0x64; // int32_t + constexpr std::ptrdiff_t m_nPersonaDataPublicCommendsFriendly = 0x68; // int32_t + constexpr std::ptrdiff_t m_unEquippedPlayerSprayIDs = 0xF48; // uint32_t[1] + constexpr std::ptrdiff_t m_vecServerAuthoritativeWeaponSlots = 0xF50; // CUtlVectorEmbeddedNetworkVar +} + +namespace CCSPlayerPawn { // CCSPlayerPawnBase + constexpr std::ptrdiff_t m_pBulletServices = 0x1550; // CCSPlayer_BulletServices* + constexpr std::ptrdiff_t m_pHostageServices = 0x1558; // CCSPlayer_HostageServices* + constexpr std::ptrdiff_t m_pBuyServices = 0x1560; // CCSPlayer_BuyServices* + constexpr std::ptrdiff_t m_pActionTrackingServices = 0x1568; // CCSPlayer_ActionTrackingServices* + constexpr std::ptrdiff_t m_pRadioServices = 0x1570; // CCSPlayer_RadioServices* + constexpr std::ptrdiff_t m_pDamageReactServices = 0x1578; // CCSPlayer_DamageReactServices* + constexpr std::ptrdiff_t m_nCharacterDefIndex = 0x1580; // uint16_t + constexpr std::ptrdiff_t m_hPreviousModel = 0x1588; // CStrongHandle + constexpr std::ptrdiff_t m_bHasFemaleVoice = 0x1590; // bool + constexpr std::ptrdiff_t m_strVOPrefix = 0x1598; // CUtlString + constexpr std::ptrdiff_t m_szLastPlaceName = 0x15A0; // char[18] + constexpr std::ptrdiff_t m_bInBuyZone = 0x1660; // bool + constexpr std::ptrdiff_t m_bWasInBuyZone = 0x1661; // bool + constexpr std::ptrdiff_t m_bInHostageRescueZone = 0x1662; // bool + constexpr std::ptrdiff_t m_bInBombZone = 0x1663; // bool + constexpr std::ptrdiff_t m_bWasInHostageRescueZone = 0x1664; // bool + constexpr std::ptrdiff_t m_iRetakesOffering = 0x1668; // int32_t + constexpr std::ptrdiff_t m_iRetakesOfferingCard = 0x166C; // int32_t + constexpr std::ptrdiff_t m_bRetakesHasDefuseKit = 0x1670; // bool + constexpr std::ptrdiff_t m_bRetakesMVPLastRound = 0x1671; // bool + constexpr std::ptrdiff_t m_iRetakesMVPBoostItem = 0x1674; // int32_t + constexpr std::ptrdiff_t m_RetakesMVPBoostExtraUtility = 0x1678; // loadout_slot_t + constexpr std::ptrdiff_t m_flHealthShotBoostExpirationTime = 0x167C; // GameTime_t + constexpr std::ptrdiff_t m_flLandseconds = 0x1680; // float + constexpr std::ptrdiff_t m_aimPunchAngle = 0x1684; // QAngle + constexpr std::ptrdiff_t m_aimPunchAngleVel = 0x1690; // QAngle + constexpr std::ptrdiff_t m_aimPunchTickBase = 0x169C; // int32_t + constexpr std::ptrdiff_t m_aimPunchTickFraction = 0x16A0; // float + constexpr std::ptrdiff_t m_aimPunchCache = 0x16A8; // CUtlVector + constexpr std::ptrdiff_t m_bIsBuyMenuOpen = 0x16C0; // bool + constexpr std::ptrdiff_t m_xLastHeadBoneTransform = 0x1C30; // CTransform + constexpr std::ptrdiff_t m_bLastHeadBoneTransformIsValid = 0x1C50; // bool + constexpr std::ptrdiff_t m_lastLandTime = 0x1C54; // GameTime_t + constexpr std::ptrdiff_t m_bOnGroundLastTick = 0x1C58; // bool + constexpr std::ptrdiff_t m_iPlayerLocked = 0x1C5C; // int32_t + constexpr std::ptrdiff_t m_flTimeOfLastInjury = 0x1C64; // GameTime_t + constexpr std::ptrdiff_t m_flNextSprayDecalTime = 0x1C68; // GameTime_t + constexpr std::ptrdiff_t m_bNextSprayDecalTimeExpedited = 0x1C6C; // bool + constexpr std::ptrdiff_t m_nRagdollDamageBone = 0x1C70; // int32_t + constexpr std::ptrdiff_t m_vRagdollDamageForce = 0x1C74; // Vector + constexpr std::ptrdiff_t m_vRagdollDamagePosition = 0x1C80; // Vector + constexpr std::ptrdiff_t m_szRagdollDamageWeaponName = 0x1C8C; // char[64] + constexpr std::ptrdiff_t m_bRagdollDamageHeadshot = 0x1CCC; // bool + constexpr std::ptrdiff_t m_vRagdollServerOrigin = 0x1CD0; // Vector + constexpr std::ptrdiff_t m_EconGloves = 0x1CE0; // CEconItemView + constexpr std::ptrdiff_t m_qDeathEyeAngles = 0x1F58; // QAngle + constexpr std::ptrdiff_t m_bSkipOneHeadConstraintUpdate = 0x1F64; // bool +} + +namespace CCSPlayerPawnBase { // CBasePlayerPawn + constexpr std::ptrdiff_t m_CTouchExpansionComponent = 0xB68; // CTouchExpansionComponent + constexpr std::ptrdiff_t m_pPingServices = 0xBB8; // CCSPlayer_PingServices* + constexpr std::ptrdiff_t m_pViewModelServices = 0xBC0; // CPlayer_ViewModelServices* + constexpr std::ptrdiff_t m_iDisplayHistoryBits = 0xBC8; // uint32_t + constexpr std::ptrdiff_t m_flLastAttackedTeammate = 0xBCC; // float + constexpr std::ptrdiff_t m_hOriginalController = 0xBD0; // CHandle + constexpr std::ptrdiff_t m_blindUntilTime = 0xBD4; // GameTime_t + constexpr std::ptrdiff_t m_blindStartTime = 0xBD8; // GameTime_t + constexpr std::ptrdiff_t m_allowAutoFollowTime = 0xBDC; // GameTime_t + constexpr std::ptrdiff_t m_entitySpottedState = 0xBE0; // EntitySpottedState_t + constexpr std::ptrdiff_t m_nSpotRules = 0xBF8; // int32_t + constexpr std::ptrdiff_t m_iPlayerState = 0xBFC; // CSPlayerState + constexpr std::ptrdiff_t m_chickenIdleSoundTimer = 0xC08; // CountdownTimer + constexpr std::ptrdiff_t m_chickenJumpSoundTimer = 0xC20; // CountdownTimer + constexpr std::ptrdiff_t m_vecLastBookmarkedPosition = 0xCD8; // Vector + constexpr std::ptrdiff_t m_flLastDistanceTraveledNotice = 0xCE4; // float + constexpr std::ptrdiff_t m_flAccumulatedDistanceTraveled = 0xCE8; // float + constexpr std::ptrdiff_t m_flLastFriendlyFireDamageReductionRatio = 0xCEC; // float + constexpr std::ptrdiff_t m_bRespawning = 0xCF0; // bool + constexpr std::ptrdiff_t m_nLastPickupPriority = 0xCF4; // int32_t + constexpr std::ptrdiff_t m_flLastPickupPriorityTime = 0xCF8; // float + constexpr std::ptrdiff_t m_bIsScoped = 0xCFC; // bool + constexpr std::ptrdiff_t m_bIsWalking = 0xCFD; // bool + constexpr std::ptrdiff_t m_bResumeZoom = 0xCFE; // bool + constexpr std::ptrdiff_t m_bIsDefusing = 0xCFF; // bool + constexpr std::ptrdiff_t m_bIsGrabbingHostage = 0xD00; // bool + constexpr std::ptrdiff_t m_iBlockingUseActionInProgress = 0xD04; // CSPlayerBlockingUseAction_t + constexpr std::ptrdiff_t m_fImmuneToGunGameDamageTime = 0xD08; // GameTime_t + constexpr std::ptrdiff_t m_bGunGameImmunity = 0xD0C; // bool + constexpr std::ptrdiff_t m_fMolotovDamageTime = 0xD10; // float + constexpr std::ptrdiff_t m_bHasMovedSinceSpawn = 0xD14; // bool + constexpr std::ptrdiff_t m_bCanMoveDuringFreezePeriod = 0xD15; // bool + constexpr std::ptrdiff_t m_flGuardianTooFarDistFrac = 0xD18; // float + constexpr std::ptrdiff_t m_flNextGuardianTooFarHurtTime = 0xD1C; // float + constexpr std::ptrdiff_t m_flDetectedByEnemySensorTime = 0xD20; // GameTime_t + constexpr std::ptrdiff_t m_flDealtDamageToEnemyMostRecentTimestamp = 0xD24; // float + constexpr std::ptrdiff_t m_flLastEquippedHelmetTime = 0xD28; // GameTime_t + constexpr std::ptrdiff_t m_flLastEquippedArmorTime = 0xD2C; // GameTime_t + constexpr std::ptrdiff_t m_nHeavyAssaultSuitCooldownRemaining = 0xD30; // int32_t + constexpr std::ptrdiff_t m_bResetArmorNextSpawn = 0xD34; // bool + constexpr std::ptrdiff_t m_flLastBumpMineBumpTime = 0xD38; // GameTime_t + constexpr std::ptrdiff_t m_flEmitSoundTime = 0xD3C; // GameTime_t + constexpr std::ptrdiff_t m_iNumSpawns = 0xD40; // int32_t + constexpr std::ptrdiff_t m_iShouldHaveCash = 0xD44; // int32_t + constexpr std::ptrdiff_t m_bInvalidSteamLogonDelayed = 0xD48; // bool + constexpr std::ptrdiff_t m_flLastAction = 0xD4C; // GameTime_t + constexpr std::ptrdiff_t m_flNameChangeHistory = 0xD50; // float[5] + constexpr std::ptrdiff_t m_fLastGivenDefuserTime = 0xD64; // float + constexpr std::ptrdiff_t m_fLastGivenBombTime = 0xD68; // float + constexpr std::ptrdiff_t m_bHasNightVision = 0xD6C; // bool + constexpr std::ptrdiff_t m_bNightVisionOn = 0xD6D; // bool + constexpr std::ptrdiff_t m_fNextRadarUpdateTime = 0xD70; // float + constexpr std::ptrdiff_t m_flLastMoneyUpdateTime = 0xD74; // float + constexpr std::ptrdiff_t m_MenuStringBuffer = 0xD78; // char[1024] + constexpr std::ptrdiff_t m_fIntroCamTime = 0x1178; // float + constexpr std::ptrdiff_t m_nMyCollisionGroup = 0x117C; // int32_t + constexpr std::ptrdiff_t m_bInNoDefuseArea = 0x1180; // bool + constexpr std::ptrdiff_t m_bKilledByTaser = 0x1181; // bool + constexpr std::ptrdiff_t m_iMoveState = 0x1184; // int32_t + constexpr std::ptrdiff_t m_grenadeParameterStashTime = 0x1188; // GameTime_t + constexpr std::ptrdiff_t m_bGrenadeParametersStashed = 0x118C; // bool + constexpr std::ptrdiff_t m_angStashedShootAngles = 0x1190; // QAngle + constexpr std::ptrdiff_t m_vecStashedGrenadeThrowPosition = 0x119C; // Vector + constexpr std::ptrdiff_t m_vecStashedVelocity = 0x11A8; // Vector + constexpr std::ptrdiff_t m_angShootAngleHistory = 0x11B4; // QAngle[2] + constexpr std::ptrdiff_t m_vecThrowPositionHistory = 0x11CC; // Vector[2] + constexpr std::ptrdiff_t m_vecVelocityHistory = 0x11E4; // Vector[2] + constexpr std::ptrdiff_t m_bDiedAirborne = 0x11FC; // bool + constexpr std::ptrdiff_t m_iBombSiteIndex = 0x1200; // CEntityIndex + constexpr std::ptrdiff_t m_nWhichBombZone = 0x1204; // int32_t + constexpr std::ptrdiff_t m_bInBombZoneTrigger = 0x1208; // bool + constexpr std::ptrdiff_t m_bWasInBombZoneTrigger = 0x1209; // bool + constexpr std::ptrdiff_t m_iDirection = 0x120C; // int32_t + constexpr std::ptrdiff_t m_iShotsFired = 0x1210; // int32_t + constexpr std::ptrdiff_t m_ArmorValue = 0x1214; // int32_t + constexpr std::ptrdiff_t m_flFlinchStack = 0x1218; // float + constexpr std::ptrdiff_t m_flVelocityModifier = 0x121C; // float + constexpr std::ptrdiff_t m_flHitHeading = 0x1220; // float + constexpr std::ptrdiff_t m_nHitBodyPart = 0x1224; // int32_t + constexpr std::ptrdiff_t m_iHostagesKilled = 0x1228; // int32_t + constexpr std::ptrdiff_t m_vecTotalBulletForce = 0x122C; // Vector + constexpr std::ptrdiff_t m_flFlashDuration = 0x1238; // float + constexpr std::ptrdiff_t m_flFlashMaxAlpha = 0x123C; // float + constexpr std::ptrdiff_t m_flProgressBarStartTime = 0x1240; // float + constexpr std::ptrdiff_t m_iProgressBarDuration = 0x1244; // int32_t + constexpr std::ptrdiff_t m_bWaitForNoAttack = 0x1248; // bool + constexpr std::ptrdiff_t m_flLowerBodyYawTarget = 0x124C; // float + constexpr std::ptrdiff_t m_bStrafing = 0x1250; // bool + constexpr std::ptrdiff_t m_lastStandingPos = 0x1254; // Vector + constexpr std::ptrdiff_t m_ignoreLadderJumpTime = 0x1260; // float + constexpr std::ptrdiff_t m_ladderSurpressionTimer = 0x1268; // CountdownTimer + constexpr std::ptrdiff_t m_lastLadderNormal = 0x1280; // Vector + constexpr std::ptrdiff_t m_lastLadderPos = 0x128C; // Vector + constexpr std::ptrdiff_t m_thirdPersonHeading = 0x1298; // QAngle + constexpr std::ptrdiff_t m_flSlopeDropOffset = 0x12A4; // float + constexpr std::ptrdiff_t m_flSlopeDropHeight = 0x12A8; // float + constexpr std::ptrdiff_t m_vHeadConstraintOffset = 0x12AC; // Vector + constexpr std::ptrdiff_t m_iLastWeaponFireUsercmd = 0x12C0; // int32_t + constexpr std::ptrdiff_t m_angEyeAngles = 0x12C4; // QAngle + constexpr std::ptrdiff_t m_bVCollisionInitted = 0x12D0; // bool + constexpr std::ptrdiff_t m_storedSpawnPosition = 0x12D4; // Vector + constexpr std::ptrdiff_t m_storedSpawnAngle = 0x12E0; // QAngle + constexpr std::ptrdiff_t m_bIsSpawning = 0x12EC; // bool + constexpr std::ptrdiff_t m_bHideTargetID = 0x12ED; // bool + constexpr std::ptrdiff_t m_nNumDangerZoneDamageHits = 0x12F0; // int32_t + constexpr std::ptrdiff_t m_bHud_MiniScoreHidden = 0x12F4; // bool + constexpr std::ptrdiff_t m_bHud_RadarHidden = 0x12F5; // bool + constexpr std::ptrdiff_t m_nLastKillerIndex = 0x12F8; // CEntityIndex + constexpr std::ptrdiff_t m_nLastConcurrentKilled = 0x12FC; // int32_t + constexpr std::ptrdiff_t m_nDeathCamMusic = 0x1300; // int32_t + constexpr std::ptrdiff_t m_iAddonBits = 0x1304; // int32_t + constexpr std::ptrdiff_t m_iPrimaryAddon = 0x1308; // int32_t + constexpr std::ptrdiff_t m_iSecondaryAddon = 0x130C; // int32_t + constexpr std::ptrdiff_t m_currentDeafnessFilter = 0x1310; // CUtlStringToken + constexpr std::ptrdiff_t m_NumEnemiesKilledThisSpawn = 0x1314; // int32_t + constexpr std::ptrdiff_t m_NumEnemiesKilledThisRound = 0x1318; // int32_t + constexpr std::ptrdiff_t m_NumEnemiesAtRoundStart = 0x131C; // int32_t + constexpr std::ptrdiff_t m_wasNotKilledNaturally = 0x1320; // bool + constexpr std::ptrdiff_t m_vecPlayerPatchEconIndices = 0x1324; // uint32_t[5] + constexpr std::ptrdiff_t m_iDeathFlags = 0x1338; // int32_t + constexpr std::ptrdiff_t m_hPet = 0x133C; // CHandle + constexpr std::ptrdiff_t m_unCurrentEquipmentValue = 0x1508; // uint16_t + constexpr std::ptrdiff_t m_unRoundStartEquipmentValue = 0x150A; // uint16_t + constexpr std::ptrdiff_t m_unFreezetimeEndEquipmentValue = 0x150C; // uint16_t + constexpr std::ptrdiff_t m_nSurvivalTeamNumber = 0x1510; // int32_t + constexpr std::ptrdiff_t m_bHasDeathInfo = 0x1514; // bool + constexpr std::ptrdiff_t m_flDeathInfoTime = 0x1518; // float + constexpr std::ptrdiff_t m_vecDeathInfoOrigin = 0x151C; // Vector + constexpr std::ptrdiff_t m_bKilledByHeadshot = 0x1528; // bool + constexpr std::ptrdiff_t m_LastHitBox = 0x152C; // int32_t + constexpr std::ptrdiff_t m_LastHealth = 0x1530; // int32_t + constexpr std::ptrdiff_t m_flLastCollisionCeiling = 0x1534; // float + constexpr std::ptrdiff_t m_flLastCollisionCeilingChangeTime = 0x1538; // float + constexpr std::ptrdiff_t m_pBot = 0x1540; // CCSBot* + constexpr std::ptrdiff_t m_bBotAllowActive = 0x1548; // bool + constexpr std::ptrdiff_t m_bCommittingSuicideOnTeamChange = 0x1549; // bool +} + +namespace CCSPlayerResource { // CBaseEntity + constexpr std::ptrdiff_t m_bHostageAlive = 0x4B0; // bool[12] + constexpr std::ptrdiff_t m_isHostageFollowingSomeone = 0x4BC; // bool[12] + constexpr std::ptrdiff_t m_iHostageEntityIDs = 0x4C8; // CEntityIndex[12] + constexpr std::ptrdiff_t m_bombsiteCenterA = 0x4F8; // Vector + constexpr std::ptrdiff_t m_bombsiteCenterB = 0x504; // Vector + constexpr std::ptrdiff_t m_hostageRescueX = 0x510; // int32_t[4] + constexpr std::ptrdiff_t m_hostageRescueY = 0x520; // int32_t[4] + constexpr std::ptrdiff_t m_hostageRescueZ = 0x530; // int32_t[4] + constexpr std::ptrdiff_t m_bEndMatchNextMapAllVoted = 0x540; // bool + constexpr std::ptrdiff_t m_foundGoalPositions = 0x541; // bool +} + +namespace CCSPlayer_ActionTrackingServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_hLastWeaponBeforeC4AutoSwitch = 0x208; // CHandle + constexpr std::ptrdiff_t m_bIsRescuing = 0x23C; // bool + constexpr std::ptrdiff_t m_weaponPurchasesThisMatch = 0x240; // WeaponPurchaseTracker_t + constexpr std::ptrdiff_t m_weaponPurchasesThisRound = 0x298; // WeaponPurchaseTracker_t +} + +namespace CCSPlayer_BulletServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_totalHitsOnServer = 0x40; // int32_t +} + +namespace CCSPlayer_BuyServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_vecSellbackPurchaseEntries = 0xC8; // CUtlVectorEmbeddedNetworkVar +} + +namespace CCSPlayer_CameraServices { // CCSPlayerBase_CameraServices +} + +namespace CCSPlayer_DamageReactServices { // CPlayerPawnComponent +} + +namespace CCSPlayer_HostageServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_hCarriedHostage = 0x40; // CHandle + constexpr std::ptrdiff_t m_hCarriedHostageProp = 0x44; // CHandle +} + +namespace CCSPlayer_ItemServices { // CPlayer_ItemServices + constexpr std::ptrdiff_t m_bHasDefuser = 0x40; // bool + constexpr std::ptrdiff_t m_bHasHelmet = 0x41; // bool + constexpr std::ptrdiff_t m_bHasHeavyArmor = 0x42; // bool +} + +namespace CCSPlayer_MovementServices { // CPlayer_MovementServices_Humanoid + constexpr std::ptrdiff_t m_flMaxFallVelocity = 0x220; // float + constexpr std::ptrdiff_t m_vecLadderNormal = 0x224; // Vector + constexpr std::ptrdiff_t m_nLadderSurfacePropIndex = 0x230; // int32_t + constexpr std::ptrdiff_t m_flDuckAmount = 0x234; // float + constexpr std::ptrdiff_t m_flDuckSpeed = 0x238; // float + constexpr std::ptrdiff_t m_bDuckOverride = 0x23C; // bool + constexpr std::ptrdiff_t m_bDesiresDuck = 0x23D; // bool + constexpr std::ptrdiff_t m_flDuckOffset = 0x240; // float + constexpr std::ptrdiff_t m_nDuckTimeMsecs = 0x244; // uint32_t + constexpr std::ptrdiff_t m_nDuckJumpTimeMsecs = 0x248; // uint32_t + constexpr std::ptrdiff_t m_nJumpTimeMsecs = 0x24C; // uint32_t + constexpr std::ptrdiff_t m_flLastDuckTime = 0x250; // float + constexpr std::ptrdiff_t m_vecLastPositionAtFullCrouchSpeed = 0x260; // Vector2D + constexpr std::ptrdiff_t m_duckUntilOnGround = 0x268; // bool + constexpr std::ptrdiff_t m_bHasWalkMovedSinceLastJump = 0x269; // bool + constexpr std::ptrdiff_t m_bInStuckTest = 0x26A; // bool + constexpr std::ptrdiff_t m_flStuckCheckTime = 0x278; // float[64][2] + constexpr std::ptrdiff_t m_nTraceCount = 0x478; // int32_t + constexpr std::ptrdiff_t m_StuckLast = 0x47C; // int32_t + constexpr std::ptrdiff_t m_bSpeedCropped = 0x480; // bool + constexpr std::ptrdiff_t m_nOldWaterLevel = 0x484; // int32_t + constexpr std::ptrdiff_t m_flWaterEntryTime = 0x488; // float + constexpr std::ptrdiff_t m_vecForward = 0x48C; // Vector + constexpr std::ptrdiff_t m_vecLeft = 0x498; // Vector + constexpr std::ptrdiff_t m_vecUp = 0x4A4; // Vector + constexpr std::ptrdiff_t m_vecPreviouslyPredictedOrigin = 0x4B0; // Vector + constexpr std::ptrdiff_t m_bMadeFootstepNoise = 0x4BC; // bool + constexpr std::ptrdiff_t m_iFootsteps = 0x4C0; // int32_t + constexpr std::ptrdiff_t m_bOldJumpPressed = 0x4C4; // bool + constexpr std::ptrdiff_t m_flJumpPressedTime = 0x4C8; // float + constexpr std::ptrdiff_t m_flJumpUntil = 0x4CC; // float + constexpr std::ptrdiff_t m_flJumpVel = 0x4D0; // float + constexpr std::ptrdiff_t m_fStashGrenadeParameterWhen = 0x4D4; // GameTime_t + constexpr std::ptrdiff_t m_nButtonDownMaskPrev = 0x4D8; // uint64_t + constexpr std::ptrdiff_t m_flOffsetTickCompleteTime = 0x4E0; // float + constexpr std::ptrdiff_t m_flOffsetTickStashedSpeed = 0x4E4; // float + constexpr std::ptrdiff_t m_flStamina = 0x4E8; // float +} + +namespace CCSPlayer_PingServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_flPlayerPingTokens = 0x40; // GameTime_t[5] + constexpr std::ptrdiff_t m_hPlayerPing = 0x54; // CHandle +} + +namespace CCSPlayer_RadioServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_flGotHostageTalkTimer = 0x40; // GameTime_t + constexpr std::ptrdiff_t m_flDefusingTalkTimer = 0x44; // GameTime_t + constexpr std::ptrdiff_t m_flC4PlantTalkTimer = 0x48; // GameTime_t + constexpr std::ptrdiff_t m_flRadioTokenSlots = 0x4C; // GameTime_t[3] + constexpr std::ptrdiff_t m_bIgnoreRadio = 0x58; // bool +} + +namespace CCSPlayer_UseServices { // CPlayer_UseServices + constexpr std::ptrdiff_t m_hLastKnownUseEntity = 0x40; // CHandle + constexpr std::ptrdiff_t m_flLastUseTimeStamp = 0x44; // GameTime_t + constexpr std::ptrdiff_t m_flTimeStartedHoldingUse = 0x48; // GameTime_t + constexpr std::ptrdiff_t m_flTimeLastUsedWindow = 0x4C; // GameTime_t +} + +namespace CCSPlayer_ViewModelServices { // CPlayer_ViewModelServices + constexpr std::ptrdiff_t m_hViewModel = 0x40; // CHandle[3] +} + +namespace CCSPlayer_WaterServices { // CPlayer_WaterServices + constexpr std::ptrdiff_t m_NextDrownDamageTime = 0x40; // float + constexpr std::ptrdiff_t m_nDrownDmgRate = 0x44; // int32_t + constexpr std::ptrdiff_t m_AirFinishedTime = 0x48; // GameTime_t + constexpr std::ptrdiff_t m_flWaterJumpTime = 0x4C; // float + constexpr std::ptrdiff_t m_vecWaterJumpVel = 0x50; // Vector + constexpr std::ptrdiff_t m_flSwimSoundTime = 0x5C; // float +} + +namespace CCSPlayer_WeaponServices { // CPlayer_WeaponServices + constexpr std::ptrdiff_t m_flNextAttack = 0xB0; // GameTime_t + constexpr std::ptrdiff_t m_bIsLookingAtWeapon = 0xB4; // bool + constexpr std::ptrdiff_t m_bIsHoldingLookAtWeapon = 0xB5; // bool + constexpr std::ptrdiff_t m_hSavedWeapon = 0xB8; // CHandle + constexpr std::ptrdiff_t m_nTimeToMelee = 0xBC; // int32_t + constexpr std::ptrdiff_t m_nTimeToSecondary = 0xC0; // int32_t + constexpr std::ptrdiff_t m_nTimeToPrimary = 0xC4; // int32_t + constexpr std::ptrdiff_t m_nTimeToSniperRifle = 0xC8; // int32_t + constexpr std::ptrdiff_t m_bIsBeingGivenItem = 0xCC; // bool + constexpr std::ptrdiff_t m_bIsPickingUpItemWithUse = 0xCD; // bool + constexpr std::ptrdiff_t m_bPickedUpWeapon = 0xCE; // bool +} + +namespace CCSPulseServerFuncs_Globals { +} + +namespace CCSSprite { // CSprite +} + +namespace CCSTeam { // CTeam + constexpr std::ptrdiff_t m_nLastRecievedShorthandedRoundBonus = 0x568; // int32_t + constexpr std::ptrdiff_t m_nShorthandedRoundBonusStartRound = 0x56C; // int32_t + constexpr std::ptrdiff_t m_bSurrendered = 0x570; // bool + constexpr std::ptrdiff_t m_szTeamMatchStat = 0x571; // char[512] + constexpr std::ptrdiff_t m_numMapVictories = 0x774; // int32_t + constexpr std::ptrdiff_t m_scoreFirstHalf = 0x778; // int32_t + constexpr std::ptrdiff_t m_scoreSecondHalf = 0x77C; // int32_t + constexpr std::ptrdiff_t m_scoreOvertime = 0x780; // int32_t + constexpr std::ptrdiff_t m_szClanTeamname = 0x784; // char[129] + constexpr std::ptrdiff_t m_iClanID = 0x808; // uint32_t + constexpr std::ptrdiff_t m_szTeamFlagImage = 0x80C; // char[8] + constexpr std::ptrdiff_t m_szTeamLogoImage = 0x814; // char[8] + constexpr std::ptrdiff_t m_flNextResourceTime = 0x81C; // float + constexpr std::ptrdiff_t m_iLastUpdateSentAt = 0x820; // int32_t +} + +namespace CCSWeaponBase { // CBasePlayerWeapon + constexpr std::ptrdiff_t m_bRemoveable = 0xC88; // bool + constexpr std::ptrdiff_t m_flFireSequenceStartTime = 0xC8C; // float + constexpr std::ptrdiff_t m_nFireSequenceStartTimeChange = 0xC90; // int32_t + constexpr std::ptrdiff_t m_nFireSequenceStartTimeAck = 0xC94; // int32_t + constexpr std::ptrdiff_t m_bPlayerFireEventIsPrimary = 0xC98; // bool + constexpr std::ptrdiff_t m_seqIdle = 0xC9C; // HSequence + constexpr std::ptrdiff_t m_seqFirePrimary = 0xCA0; // HSequence + constexpr std::ptrdiff_t m_seqFireSecondary = 0xCA4; // HSequence + constexpr std::ptrdiff_t m_thirdPersonFireSequences = 0xCA8; // CUtlVector + constexpr std::ptrdiff_t m_hCurrentThirdPersonSequence = 0xCC0; // HSequence + constexpr std::ptrdiff_t m_nSilencerBoneIndex = 0xCC4; // int32_t + constexpr std::ptrdiff_t m_thirdPersonSequences = 0xCC8; // HSequence[6] + constexpr std::ptrdiff_t m_bPlayerAmmoStockOnPickup = 0xCE8; // bool + constexpr std::ptrdiff_t m_bRequireUseToTouch = 0xCE9; // bool + constexpr std::ptrdiff_t m_iState = 0xCEC; // CSWeaponState_t + constexpr std::ptrdiff_t m_flLastTimeInAir = 0xCF0; // GameTime_t + constexpr std::ptrdiff_t m_flLastDeployTime = 0xCF4; // GameTime_t + constexpr std::ptrdiff_t m_nViewModelIndex = 0xCF8; // uint32_t + constexpr std::ptrdiff_t m_bReloadsWithClips = 0xCFC; // bool + constexpr std::ptrdiff_t m_flTimeWeaponIdle = 0xD18; // GameTime_t + constexpr std::ptrdiff_t m_bFireOnEmpty = 0xD1C; // bool + constexpr std::ptrdiff_t m_OnPlayerPickup = 0xD20; // CEntityIOOutput + constexpr std::ptrdiff_t m_weaponMode = 0xD48; // CSWeaponMode + constexpr std::ptrdiff_t m_flTurningInaccuracyDelta = 0xD4C; // float + constexpr std::ptrdiff_t m_vecTurningInaccuracyEyeDirLast = 0xD50; // Vector + constexpr std::ptrdiff_t m_flTurningInaccuracy = 0xD5C; // float + constexpr std::ptrdiff_t m_fAccuracyPenalty = 0xD60; // float + constexpr std::ptrdiff_t m_flLastAccuracyUpdateTime = 0xD64; // GameTime_t + constexpr std::ptrdiff_t m_fAccuracySmoothedForZoom = 0xD68; // float + constexpr std::ptrdiff_t m_fScopeZoomEndTime = 0xD6C; // GameTime_t + constexpr std::ptrdiff_t m_iRecoilIndex = 0xD70; // int32_t + constexpr std::ptrdiff_t m_flRecoilIndex = 0xD74; // float + constexpr std::ptrdiff_t m_bBurstMode = 0xD78; // bool + constexpr std::ptrdiff_t m_flPostponeFireReadyTime = 0xD7C; // GameTime_t + constexpr std::ptrdiff_t m_bInReload = 0xD80; // bool + constexpr std::ptrdiff_t m_bReloadVisuallyComplete = 0xD81; // bool + constexpr std::ptrdiff_t m_flDroppedAtTime = 0xD84; // GameTime_t + constexpr std::ptrdiff_t m_bIsHauledBack = 0xD88; // bool + constexpr std::ptrdiff_t m_bSilencerOn = 0xD89; // bool + constexpr std::ptrdiff_t m_flTimeSilencerSwitchComplete = 0xD8C; // GameTime_t + constexpr std::ptrdiff_t m_iOriginalTeamNumber = 0xD90; // int32_t + constexpr std::ptrdiff_t m_flNextAttackRenderTimeOffset = 0xD94; // float + constexpr std::ptrdiff_t m_bCanBePickedUp = 0xDA8; // bool + constexpr std::ptrdiff_t m_bUseCanOverrideNextOwnerTouchTime = 0xDA9; // bool + constexpr std::ptrdiff_t m_nextOwnerTouchTime = 0xDAC; // GameTime_t + constexpr std::ptrdiff_t m_nextPrevOwnerTouchTime = 0xDB0; // GameTime_t + constexpr std::ptrdiff_t m_hPrevOwner = 0xDB4; // CHandle + constexpr std::ptrdiff_t m_nDropTick = 0xDB8; // GameTick_t + constexpr std::ptrdiff_t m_donated = 0xDDC; // bool + constexpr std::ptrdiff_t m_fLastShotTime = 0xDE0; // GameTime_t + constexpr std::ptrdiff_t m_bWasOwnedByCT = 0xDE4; // bool + constexpr std::ptrdiff_t m_bWasOwnedByTerrorist = 0xDE5; // bool + constexpr std::ptrdiff_t m_bFiredOutOfAmmoEvent = 0xDE6; // bool + constexpr std::ptrdiff_t m_numRemoveUnownedWeaponThink = 0xDE8; // int32_t + constexpr std::ptrdiff_t m_IronSightController = 0xDF0; // CIronSightController + constexpr std::ptrdiff_t m_iIronSightMode = 0xE08; // int32_t + constexpr std::ptrdiff_t m_flLastLOSTraceFailureTime = 0xE0C; // GameTime_t + constexpr std::ptrdiff_t m_iNumEmptyAttacks = 0xE10; // int32_t +} + +namespace CCSWeaponBaseGun { // CCSWeaponBase + constexpr std::ptrdiff_t m_zoomLevel = 0xE18; // int32_t + constexpr std::ptrdiff_t m_iBurstShotsRemaining = 0xE1C; // int32_t + constexpr std::ptrdiff_t m_silencedModelIndex = 0xE28; // int32_t + constexpr std::ptrdiff_t m_inPrecache = 0xE2C; // bool + constexpr std::ptrdiff_t m_bNeedsBoltAction = 0xE2D; // bool + constexpr std::ptrdiff_t m_bSkillReloadAvailable = 0xE2E; // bool + constexpr std::ptrdiff_t m_bSkillReloadLiftedReloadKey = 0xE2F; // bool + constexpr std::ptrdiff_t m_bSkillBoltInterruptAvailable = 0xE30; // bool + constexpr std::ptrdiff_t m_bSkillBoltLiftedFireKey = 0xE31; // bool +} + +namespace CCSWeaponBaseVData { // CBasePlayerWeaponVData + constexpr std::ptrdiff_t m_WeaponType = 0x240; // CSWeaponType + constexpr std::ptrdiff_t m_WeaponCategory = 0x244; // CSWeaponCategory + constexpr std::ptrdiff_t m_szViewModel = 0x248; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szPlayerModel = 0x328; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szWorldDroppedModel = 0x408; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szAimsightLensMaskModel = 0x4E8; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szMagazineModel = 0x5C8; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szHeatEffect = 0x6A8; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szEjectBrassEffect = 0x788; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szMuzzleFlashParticleAlt = 0x868; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szMuzzleFlashThirdPersonParticle = 0x948; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szMuzzleFlashThirdPersonParticleAlt = 0xA28; // CResourceNameTyped> + constexpr std::ptrdiff_t m_szTracerParticle = 0xB08; // CResourceNameTyped> + constexpr std::ptrdiff_t m_GearSlot = 0xBE8; // gear_slot_t + constexpr std::ptrdiff_t m_GearSlotPosition = 0xBEC; // int32_t + constexpr std::ptrdiff_t m_DefaultLoadoutSlot = 0xBF0; // loadout_slot_t + constexpr std::ptrdiff_t m_sWrongTeamMsg = 0xBF8; // CUtlString + constexpr std::ptrdiff_t m_nPrice = 0xC00; // int32_t + constexpr std::ptrdiff_t m_nKillAward = 0xC04; // int32_t + constexpr std::ptrdiff_t m_nPrimaryReserveAmmoMax = 0xC08; // int32_t + constexpr std::ptrdiff_t m_nSecondaryReserveAmmoMax = 0xC0C; // int32_t + constexpr std::ptrdiff_t m_bMeleeWeapon = 0xC10; // bool + constexpr std::ptrdiff_t m_bHasBurstMode = 0xC11; // bool + constexpr std::ptrdiff_t m_bIsRevolver = 0xC12; // bool + constexpr std::ptrdiff_t m_bCannotShootUnderwater = 0xC13; // bool + constexpr std::ptrdiff_t m_szName = 0xC18; // CUtlString + constexpr std::ptrdiff_t m_szAnimExtension = 0xC20; // CUtlString + constexpr std::ptrdiff_t m_eSilencerType = 0xC28; // CSWeaponSilencerType + constexpr std::ptrdiff_t m_nCrosshairMinDistance = 0xC2C; // int32_t + constexpr std::ptrdiff_t m_nCrosshairDeltaDistance = 0xC30; // int32_t + constexpr std::ptrdiff_t m_flCycleTime = 0xC34; // CFiringModeFloat + constexpr std::ptrdiff_t m_flMaxSpeed = 0xC3C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flSpread = 0xC44; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyCrouch = 0xC4C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyStand = 0xC54; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyJump = 0xC5C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyLand = 0xC64; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyLadder = 0xC6C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyFire = 0xC74; // CFiringModeFloat + constexpr std::ptrdiff_t m_flInaccuracyMove = 0xC7C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flRecoilAngle = 0xC84; // CFiringModeFloat + constexpr std::ptrdiff_t m_flRecoilAngleVariance = 0xC8C; // CFiringModeFloat + constexpr std::ptrdiff_t m_flRecoilMagnitude = 0xC94; // CFiringModeFloat + constexpr std::ptrdiff_t m_flRecoilMagnitudeVariance = 0xC9C; // CFiringModeFloat + constexpr std::ptrdiff_t m_nTracerFrequency = 0xCA4; // CFiringModeInt + constexpr std::ptrdiff_t m_flInaccuracyJumpInitial = 0xCAC; // float + constexpr std::ptrdiff_t m_flInaccuracyJumpApex = 0xCB0; // float + constexpr std::ptrdiff_t m_flInaccuracyReload = 0xCB4; // float + constexpr std::ptrdiff_t m_nRecoilSeed = 0xCB8; // int32_t + constexpr std::ptrdiff_t m_nSpreadSeed = 0xCBC; // int32_t + constexpr std::ptrdiff_t m_flTimeToIdleAfterFire = 0xCC0; // float + constexpr std::ptrdiff_t m_flIdleInterval = 0xCC4; // float + constexpr std::ptrdiff_t m_flAttackMovespeedFactor = 0xCC8; // float + constexpr std::ptrdiff_t m_flHeatPerShot = 0xCCC; // float + constexpr std::ptrdiff_t m_flInaccuracyPitchShift = 0xCD0; // float + constexpr std::ptrdiff_t m_flInaccuracyAltSoundThreshold = 0xCD4; // float + constexpr std::ptrdiff_t m_flBotAudibleRange = 0xCD8; // float + constexpr std::ptrdiff_t m_szUseRadioSubtitle = 0xCE0; // CUtlString + constexpr std::ptrdiff_t m_bUnzoomsAfterShot = 0xCE8; // bool + constexpr std::ptrdiff_t m_bHideViewModelWhenZoomed = 0xCE9; // bool + constexpr std::ptrdiff_t m_nZoomLevels = 0xCEC; // int32_t + constexpr std::ptrdiff_t m_nZoomFOV1 = 0xCF0; // int32_t + constexpr std::ptrdiff_t m_nZoomFOV2 = 0xCF4; // int32_t + constexpr std::ptrdiff_t m_flZoomTime0 = 0xCF8; // float + constexpr std::ptrdiff_t m_flZoomTime1 = 0xCFC; // float + constexpr std::ptrdiff_t m_flZoomTime2 = 0xD00; // float + constexpr std::ptrdiff_t m_flIronSightPullUpSpeed = 0xD04; // float + constexpr std::ptrdiff_t m_flIronSightPutDownSpeed = 0xD08; // float + constexpr std::ptrdiff_t m_flIronSightFOV = 0xD0C; // float + constexpr std::ptrdiff_t m_flIronSightPivotForward = 0xD10; // float + constexpr std::ptrdiff_t m_flIronSightLooseness = 0xD14; // float + constexpr std::ptrdiff_t m_angPivotAngle = 0xD18; // QAngle + constexpr std::ptrdiff_t m_vecIronSightEyePos = 0xD24; // Vector + constexpr std::ptrdiff_t m_nDamage = 0xD30; // int32_t + constexpr std::ptrdiff_t m_flHeadshotMultiplier = 0xD34; // float + constexpr std::ptrdiff_t m_flArmorRatio = 0xD38; // float + constexpr std::ptrdiff_t m_flPenetration = 0xD3C; // float + constexpr std::ptrdiff_t m_flRange = 0xD40; // float + constexpr std::ptrdiff_t m_flRangeModifier = 0xD44; // float + constexpr std::ptrdiff_t m_flFlinchVelocityModifierLarge = 0xD48; // float + constexpr std::ptrdiff_t m_flFlinchVelocityModifierSmall = 0xD4C; // float + constexpr std::ptrdiff_t m_flRecoveryTimeCrouch = 0xD50; // float + constexpr std::ptrdiff_t m_flRecoveryTimeStand = 0xD54; // float + constexpr std::ptrdiff_t m_flRecoveryTimeCrouchFinal = 0xD58; // float + constexpr std::ptrdiff_t m_flRecoveryTimeStandFinal = 0xD5C; // float + constexpr std::ptrdiff_t m_nRecoveryTransitionStartBullet = 0xD60; // int32_t + constexpr std::ptrdiff_t m_nRecoveryTransitionEndBullet = 0xD64; // int32_t + constexpr std::ptrdiff_t m_flThrowVelocity = 0xD68; // float + constexpr std::ptrdiff_t m_vSmokeColor = 0xD6C; // Vector + constexpr std::ptrdiff_t m_szAnimClass = 0xD78; // CUtlString +} + +namespace CChangeLevel { // CBaseTrigger + constexpr std::ptrdiff_t m_sMapName = 0x8A8; // CUtlString + constexpr std::ptrdiff_t m_sLandmarkName = 0x8B0; // CUtlString + constexpr std::ptrdiff_t m_OnChangeLevel = 0x8B8; // CEntityIOOutput + constexpr std::ptrdiff_t m_bTouched = 0x8E0; // bool + constexpr std::ptrdiff_t m_bNoTouch = 0x8E1; // bool + constexpr std::ptrdiff_t m_bNewChapter = 0x8E2; // bool + constexpr std::ptrdiff_t m_bOnChangeLevelFired = 0x8E3; // bool +} + +namespace CChicken { // CDynamicProp + constexpr std::ptrdiff_t m_AttributeManager = 0xB28; // CAttributeContainer + constexpr std::ptrdiff_t m_OriginalOwnerXuidLow = 0xDF0; // uint32_t + constexpr std::ptrdiff_t m_OriginalOwnerXuidHigh = 0xDF4; // uint32_t + constexpr std::ptrdiff_t m_updateTimer = 0xDF8; // CountdownTimer + constexpr std::ptrdiff_t m_stuckAnchor = 0xE10; // Vector + constexpr std::ptrdiff_t m_stuckTimer = 0xE20; // CountdownTimer + constexpr std::ptrdiff_t m_collisionStuckTimer = 0xE38; // CountdownTimer + constexpr std::ptrdiff_t m_isOnGround = 0xE50; // bool + constexpr std::ptrdiff_t m_vFallVelocity = 0xE54; // Vector + constexpr std::ptrdiff_t m_activity = 0xE60; // ChickenActivity + constexpr std::ptrdiff_t m_activityTimer = 0xE68; // CountdownTimer + constexpr std::ptrdiff_t m_turnRate = 0xE80; // float + constexpr std::ptrdiff_t m_fleeFrom = 0xE84; // CHandle + constexpr std::ptrdiff_t m_moveRateThrottleTimer = 0xE88; // CountdownTimer + constexpr std::ptrdiff_t m_startleTimer = 0xEA0; // CountdownTimer + constexpr std::ptrdiff_t m_vocalizeTimer = 0xEB8; // CountdownTimer + constexpr std::ptrdiff_t m_flWhenZombified = 0xED0; // GameTime_t + constexpr std::ptrdiff_t m_jumpedThisFrame = 0xED4; // bool + constexpr std::ptrdiff_t m_leader = 0xED8; // CHandle + constexpr std::ptrdiff_t m_reuseTimer = 0xEE0; // CountdownTimer + constexpr std::ptrdiff_t m_hasBeenUsed = 0xEF8; // bool + constexpr std::ptrdiff_t m_jumpTimer = 0xF00; // CountdownTimer + constexpr std::ptrdiff_t m_flLastJumpTime = 0xF18; // float + constexpr std::ptrdiff_t m_bInJump = 0xF1C; // bool + constexpr std::ptrdiff_t m_isWaitingForLeader = 0xF1D; // bool + constexpr std::ptrdiff_t m_repathTimer = 0x2F28; // CountdownTimer + constexpr std::ptrdiff_t m_inhibitDoorTimer = 0x2F40; // CountdownTimer + constexpr std::ptrdiff_t m_inhibitObstacleAvoidanceTimer = 0x2FD0; // CountdownTimer + constexpr std::ptrdiff_t m_vecPathGoal = 0x2FF0; // Vector + constexpr std::ptrdiff_t m_flActiveFollowStartTime = 0x2FFC; // GameTime_t + constexpr std::ptrdiff_t m_followMinuteTimer = 0x3000; // CountdownTimer + constexpr std::ptrdiff_t m_vecLastEggPoopPosition = 0x3018; // Vector + constexpr std::ptrdiff_t m_vecEggsPooped = 0x3028; // CUtlVector> + constexpr std::ptrdiff_t m_BlockDirectionTimer = 0x3048; // CountdownTimer +} + +namespace CCollisionProperty { + constexpr std::ptrdiff_t m_collisionAttribute = 0x10; // VPhysicsCollisionAttribute_t + constexpr std::ptrdiff_t m_vecMins = 0x40; // Vector + constexpr std::ptrdiff_t m_vecMaxs = 0x4C; // Vector + constexpr std::ptrdiff_t m_usSolidFlags = 0x5A; // uint8_t + constexpr std::ptrdiff_t m_nSolidType = 0x5B; // SolidType_t + constexpr std::ptrdiff_t m_triggerBloat = 0x5C; // uint8_t + constexpr std::ptrdiff_t m_nSurroundType = 0x5D; // SurroundingBoundsType_t + constexpr std::ptrdiff_t m_CollisionGroup = 0x5E; // uint8_t + constexpr std::ptrdiff_t m_nEnablePhysics = 0x5F; // uint8_t + constexpr std::ptrdiff_t m_flBoundingRadius = 0x60; // float + constexpr std::ptrdiff_t m_vecSpecifiedSurroundingMins = 0x64; // Vector + constexpr std::ptrdiff_t m_vecSpecifiedSurroundingMaxs = 0x70; // Vector + constexpr std::ptrdiff_t m_vecSurroundingMaxs = 0x7C; // Vector + constexpr std::ptrdiff_t m_vecSurroundingMins = 0x88; // Vector + constexpr std::ptrdiff_t m_vCapsuleCenter1 = 0x94; // Vector + constexpr std::ptrdiff_t m_vCapsuleCenter2 = 0xA0; // Vector + constexpr std::ptrdiff_t m_flCapsuleRadius = 0xAC; // float +} + +namespace CColorCorrection { // CBaseEntity + constexpr std::ptrdiff_t m_flFadeInDuration = 0x4B0; // float + constexpr std::ptrdiff_t m_flFadeOutDuration = 0x4B4; // float + constexpr std::ptrdiff_t m_flStartFadeInWeight = 0x4B8; // float + constexpr std::ptrdiff_t m_flStartFadeOutWeight = 0x4BC; // float + constexpr std::ptrdiff_t m_flTimeStartFadeIn = 0x4C0; // GameTime_t + constexpr std::ptrdiff_t m_flTimeStartFadeOut = 0x4C4; // GameTime_t + constexpr std::ptrdiff_t m_flMaxWeight = 0x4C8; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x4CC; // bool + constexpr std::ptrdiff_t m_bEnabled = 0x4CD; // bool + constexpr std::ptrdiff_t m_bMaster = 0x4CE; // bool + constexpr std::ptrdiff_t m_bClientSide = 0x4CF; // bool + constexpr std::ptrdiff_t m_bExclusive = 0x4D0; // bool + constexpr std::ptrdiff_t m_MinFalloff = 0x4D4; // float + constexpr std::ptrdiff_t m_MaxFalloff = 0x4D8; // float + constexpr std::ptrdiff_t m_flCurWeight = 0x4DC; // float + constexpr std::ptrdiff_t m_netlookupFilename = 0x4E0; // char[512] + constexpr std::ptrdiff_t m_lookupFilename = 0x6E0; // CUtlSymbolLarge +} + +namespace CColorCorrectionVolume { // CBaseTrigger + constexpr std::ptrdiff_t m_bEnabled = 0x8A8; // bool + constexpr std::ptrdiff_t m_MaxWeight = 0x8AC; // float + constexpr std::ptrdiff_t m_FadeDuration = 0x8B0; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x8B4; // bool + constexpr std::ptrdiff_t m_Weight = 0x8B8; // float + constexpr std::ptrdiff_t m_lookupFilename = 0x8BC; // char[512] + constexpr std::ptrdiff_t m_LastEnterWeight = 0xABC; // float + constexpr std::ptrdiff_t m_LastEnterTime = 0xAC0; // GameTime_t + constexpr std::ptrdiff_t m_LastExitWeight = 0xAC4; // float + constexpr std::ptrdiff_t m_LastExitTime = 0xAC8; // GameTime_t +} + +namespace CCommentaryAuto { // CBaseEntity + constexpr std::ptrdiff_t m_OnCommentaryNewGame = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnCommentaryMidGame = 0x4D8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnCommentaryMultiplayerSpawn = 0x500; // CEntityIOOutput +} + +namespace CCommentarySystem { + constexpr std::ptrdiff_t m_bCommentaryConvarsChanging = 0x11; // bool + constexpr std::ptrdiff_t m_bCommentaryEnabledMidGame = 0x12; // bool + constexpr std::ptrdiff_t m_flNextTeleportTime = 0x14; // GameTime_t + constexpr std::ptrdiff_t m_iTeleportStage = 0x18; // int32_t + constexpr std::ptrdiff_t m_bCheatState = 0x1C; // bool + constexpr std::ptrdiff_t m_bIsFirstSpawnGroupToLoad = 0x1D; // bool + constexpr std::ptrdiff_t m_hCurrentNode = 0x38; // CHandle + constexpr std::ptrdiff_t m_hActiveCommentaryNode = 0x3C; // CHandle + constexpr std::ptrdiff_t m_hLastCommentaryNode = 0x40; // CHandle + constexpr std::ptrdiff_t m_vecNodes = 0x48; // CUtlVector> +} + +namespace CCommentaryViewPosition { // CSprite +} + +namespace CConstantForceController { + constexpr std::ptrdiff_t m_linear = 0xC; // Vector + constexpr std::ptrdiff_t m_angular = 0x18; // RotationVector + constexpr std::ptrdiff_t m_linearSave = 0x24; // Vector + constexpr std::ptrdiff_t m_angularSave = 0x30; // RotationVector +} + +namespace CConstraintAnchor { // CBaseAnimGraph + constexpr std::ptrdiff_t m_massScale = 0x890; // float +} + +namespace CCoopBonusCoin { // CDynamicProp +} + +namespace CCopyRecipientFilter { + constexpr std::ptrdiff_t m_Flags = 0x8; // int32_t + constexpr std::ptrdiff_t m_Recipients = 0x10; // CUtlVector +} + +namespace CCredits { // CPointEntity + constexpr std::ptrdiff_t m_OnCreditsDone = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_bRolledOutroCredits = 0x4D8; // bool + constexpr std::ptrdiff_t m_flLogoLength = 0x4DC; // float +} + +namespace CDEagle { // CCSWeaponBaseGun +} + +namespace CDamageRecord { + constexpr std::ptrdiff_t m_PlayerDamager = 0x28; // CHandle + constexpr std::ptrdiff_t m_PlayerRecipient = 0x2C; // CHandle + constexpr std::ptrdiff_t m_hPlayerControllerDamager = 0x30; // CHandle + constexpr std::ptrdiff_t m_hPlayerControllerRecipient = 0x34; // CHandle + constexpr std::ptrdiff_t m_szPlayerDamagerName = 0x38; // CUtlString + constexpr std::ptrdiff_t m_szPlayerRecipientName = 0x40; // CUtlString + constexpr std::ptrdiff_t m_DamagerXuid = 0x48; // uint64_t + constexpr std::ptrdiff_t m_RecipientXuid = 0x50; // uint64_t + constexpr std::ptrdiff_t m_iDamage = 0x58; // int32_t + constexpr std::ptrdiff_t m_iActualHealthRemoved = 0x5C; // int32_t + constexpr std::ptrdiff_t m_iNumHits = 0x60; // int32_t + constexpr std::ptrdiff_t m_iLastBulletUpdate = 0x64; // int32_t + constexpr std::ptrdiff_t m_bIsOtherEnemy = 0x68; // bool + constexpr std::ptrdiff_t m_killType = 0x69; // EKillTypes_t +} + +namespace CDebugHistory { // CBaseEntity + constexpr std::ptrdiff_t m_nNpcEvents = 0x44F0; // int32_t +} + +namespace CDecoyGrenade { // CBaseCSGrenade +} + +namespace CDecoyProjectile { // CBaseCSGrenadeProjectile + constexpr std::ptrdiff_t m_nDecoyShotTick = 0xA38; // int32_t + constexpr std::ptrdiff_t m_shotsRemaining = 0xA3C; // int32_t + constexpr std::ptrdiff_t m_fExpireTime = 0xA40; // GameTime_t + constexpr std::ptrdiff_t m_decoyWeaponDefIndex = 0xA50; // uint16_t +} + +namespace CDynamicLight { // CBaseModelEntity + constexpr std::ptrdiff_t m_ActualFlags = 0x700; // uint8_t + constexpr std::ptrdiff_t m_Flags = 0x701; // uint8_t + constexpr std::ptrdiff_t m_LightStyle = 0x702; // uint8_t + constexpr std::ptrdiff_t m_On = 0x703; // bool + constexpr std::ptrdiff_t m_Radius = 0x704; // float + constexpr std::ptrdiff_t m_Exponent = 0x708; // int32_t + constexpr std::ptrdiff_t m_InnerAngle = 0x70C; // float + constexpr std::ptrdiff_t m_OuterAngle = 0x710; // float + constexpr std::ptrdiff_t m_SpotRadius = 0x714; // float +} + +namespace CDynamicProp { // CBreakableProp + constexpr std::ptrdiff_t m_bCreateNavObstacle = 0xA10; // bool + constexpr std::ptrdiff_t m_bUseHitboxesForRenderBox = 0xA11; // bool + constexpr std::ptrdiff_t m_bUseAnimGraph = 0xA12; // bool + constexpr std::ptrdiff_t m_pOutputAnimBegun = 0xA18; // CEntityIOOutput + constexpr std::ptrdiff_t m_pOutputAnimOver = 0xA40; // CEntityIOOutput + constexpr std::ptrdiff_t m_pOutputAnimLoopCycleOver = 0xA68; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAnimReachedStart = 0xA90; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAnimReachedEnd = 0xAB8; // CEntityIOOutput + constexpr std::ptrdiff_t m_iszDefaultAnim = 0xAE0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nDefaultAnimLoopMode = 0xAE8; // AnimLoopMode_t + constexpr std::ptrdiff_t m_bAnimateOnServer = 0xAEC; // bool + constexpr std::ptrdiff_t m_bRandomizeCycle = 0xAED; // bool + constexpr std::ptrdiff_t m_bStartDisabled = 0xAEE; // bool + constexpr std::ptrdiff_t m_bScriptedMovement = 0xAEF; // bool + constexpr std::ptrdiff_t m_bFiredStartEndOutput = 0xAF0; // bool + constexpr std::ptrdiff_t m_bForceNpcExclude = 0xAF1; // bool + constexpr std::ptrdiff_t m_bCreateNonSolid = 0xAF2; // bool + constexpr std::ptrdiff_t m_bIsOverrideProp = 0xAF3; // bool + constexpr std::ptrdiff_t m_iInitialGlowState = 0xAF4; // int32_t + constexpr std::ptrdiff_t m_nGlowRange = 0xAF8; // int32_t + constexpr std::ptrdiff_t m_nGlowRangeMin = 0xAFC; // int32_t + constexpr std::ptrdiff_t m_glowColor = 0xB00; // Color + constexpr std::ptrdiff_t m_nGlowTeam = 0xB04; // int32_t +} + +namespace CDynamicPropAlias_cable_dynamic { // CDynamicProp +} + +namespace CDynamicPropAlias_dynamic_prop { // CDynamicProp +} + +namespace CDynamicPropAlias_prop_dynamic_override { // CDynamicProp +} + +namespace CEconEntity { // CBaseFlex + constexpr std::ptrdiff_t m_AttributeManager = 0x930; // CAttributeContainer + constexpr std::ptrdiff_t m_OriginalOwnerXuidLow = 0xBF8; // uint32_t + constexpr std::ptrdiff_t m_OriginalOwnerXuidHigh = 0xBFC; // uint32_t + constexpr std::ptrdiff_t m_nFallbackPaintKit = 0xC00; // int32_t + constexpr std::ptrdiff_t m_nFallbackSeed = 0xC04; // int32_t + constexpr std::ptrdiff_t m_flFallbackWear = 0xC08; // float + constexpr std::ptrdiff_t m_nFallbackStatTrak = 0xC0C; // int32_t + constexpr std::ptrdiff_t m_hOldProvidee = 0xC10; // CHandle + constexpr std::ptrdiff_t m_iOldOwnerClass = 0xC14; // int32_t +} + +namespace CEconItemAttribute { + constexpr std::ptrdiff_t m_iAttributeDefinitionIndex = 0x30; // uint16_t + constexpr std::ptrdiff_t m_flValue = 0x34; // float + constexpr std::ptrdiff_t m_flInitialValue = 0x38; // float + constexpr std::ptrdiff_t m_nRefundableCurrency = 0x3C; // int32_t + constexpr std::ptrdiff_t m_bSetBonus = 0x40; // bool +} + +namespace CEconItemView { // IEconItemInterface + constexpr std::ptrdiff_t m_iItemDefinitionIndex = 0x38; // uint16_t + constexpr std::ptrdiff_t m_iEntityQuality = 0x3C; // int32_t + constexpr std::ptrdiff_t m_iEntityLevel = 0x40; // uint32_t + constexpr std::ptrdiff_t m_iItemID = 0x48; // uint64_t + constexpr std::ptrdiff_t m_iItemIDHigh = 0x50; // uint32_t + constexpr std::ptrdiff_t m_iItemIDLow = 0x54; // uint32_t + constexpr std::ptrdiff_t m_iAccountID = 0x58; // uint32_t + constexpr std::ptrdiff_t m_iInventoryPosition = 0x5C; // uint32_t + constexpr std::ptrdiff_t m_bInitialized = 0x68; // bool + constexpr std::ptrdiff_t m_AttributeList = 0x70; // CAttributeList + constexpr std::ptrdiff_t m_NetworkedDynamicAttributes = 0xD0; // CAttributeList + constexpr std::ptrdiff_t m_szCustomName = 0x130; // char[161] + constexpr std::ptrdiff_t m_szCustomNameOverride = 0x1D1; // char[161] +} + +namespace CEconWearable { // CEconEntity + constexpr std::ptrdiff_t m_nForceSkin = 0xC18; // int32_t + constexpr std::ptrdiff_t m_bAlwaysAllow = 0xC1C; // bool +} + +namespace CEffectData { + constexpr std::ptrdiff_t m_vOrigin = 0x8; // Vector + constexpr std::ptrdiff_t m_vStart = 0x14; // Vector + constexpr std::ptrdiff_t m_vNormal = 0x20; // Vector + constexpr std::ptrdiff_t m_vAngles = 0x2C; // QAngle + constexpr std::ptrdiff_t m_hEntity = 0x38; // CEntityHandle + constexpr std::ptrdiff_t m_hOtherEntity = 0x3C; // CEntityHandle + constexpr std::ptrdiff_t m_flScale = 0x40; // float + constexpr std::ptrdiff_t m_flMagnitude = 0x44; // float + constexpr std::ptrdiff_t m_flRadius = 0x48; // float + constexpr std::ptrdiff_t m_nSurfaceProp = 0x4C; // CUtlStringToken + constexpr std::ptrdiff_t m_nEffectIndex = 0x50; // CWeakHandle + constexpr std::ptrdiff_t m_nDamageType = 0x58; // uint32_t + constexpr std::ptrdiff_t m_nPenetrate = 0x5C; // uint8_t + constexpr std::ptrdiff_t m_nMaterial = 0x5E; // uint16_t + constexpr std::ptrdiff_t m_nHitBox = 0x60; // uint16_t + constexpr std::ptrdiff_t m_nColor = 0x62; // uint8_t + constexpr std::ptrdiff_t m_fFlags = 0x63; // uint8_t + constexpr std::ptrdiff_t m_nAttachmentIndex = 0x64; // AttachmentHandle_t + constexpr std::ptrdiff_t m_nAttachmentName = 0x68; // CUtlStringToken + constexpr std::ptrdiff_t m_iEffectName = 0x6C; // uint16_t + constexpr std::ptrdiff_t m_nExplosionType = 0x6E; // uint8_t +} + +namespace CEnableMotionFixup { // CBaseEntity +} + +namespace CEntityBlocker { // CBaseModelEntity +} + +namespace CEntityComponent { +} + +namespace CEntityDissolve { // CBaseModelEntity + constexpr std::ptrdiff_t m_flFadeInStart = 0x700; // float + constexpr std::ptrdiff_t m_flFadeInLength = 0x704; // float + constexpr std::ptrdiff_t m_flFadeOutModelStart = 0x708; // float + constexpr std::ptrdiff_t m_flFadeOutModelLength = 0x70C; // float + constexpr std::ptrdiff_t m_flFadeOutStart = 0x710; // float + constexpr std::ptrdiff_t m_flFadeOutLength = 0x714; // float + constexpr std::ptrdiff_t m_flStartTime = 0x718; // GameTime_t + constexpr std::ptrdiff_t m_nDissolveType = 0x71C; // EntityDisolveType_t + constexpr std::ptrdiff_t m_vDissolverOrigin = 0x720; // Vector + constexpr std::ptrdiff_t m_nMagnitude = 0x72C; // uint32_t +} + +namespace CEntityFlame { // CBaseEntity + constexpr std::ptrdiff_t m_hEntAttached = 0x4B0; // CHandle + constexpr std::ptrdiff_t m_bCheapEffect = 0x4B4; // bool + constexpr std::ptrdiff_t m_flSize = 0x4B8; // float + constexpr std::ptrdiff_t m_bUseHitboxes = 0x4BC; // bool + constexpr std::ptrdiff_t m_iNumHitboxFires = 0x4C0; // int32_t + constexpr std::ptrdiff_t m_flHitboxFireScale = 0x4C4; // float + constexpr std::ptrdiff_t m_flLifetime = 0x4C8; // GameTime_t + constexpr std::ptrdiff_t m_hAttacker = 0x4CC; // CHandle + constexpr std::ptrdiff_t m_iDangerSound = 0x4D0; // int32_t + constexpr std::ptrdiff_t m_flDirectDamagePerSecond = 0x4D4; // float + constexpr std::ptrdiff_t m_iCustomDamageType = 0x4D8; // int32_t +} + +namespace CEntityIdentity { + constexpr std::ptrdiff_t m_nameStringableIndex = 0x14; // int32_t + constexpr std::ptrdiff_t m_name = 0x18; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_designerName = 0x20; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flags = 0x30; // uint32_t + constexpr std::ptrdiff_t m_worldGroupId = 0x38; // WorldGroupId_t + constexpr std::ptrdiff_t m_fDataObjectTypes = 0x3C; // uint32_t + constexpr std::ptrdiff_t m_PathIndex = 0x40; // ChangeAccessorFieldPathIndex_t + constexpr std::ptrdiff_t m_pPrev = 0x58; // CEntityIdentity* + constexpr std::ptrdiff_t m_pNext = 0x60; // CEntityIdentity* + constexpr std::ptrdiff_t m_pPrevByClass = 0x68; // CEntityIdentity* + constexpr std::ptrdiff_t m_pNextByClass = 0x70; // CEntityIdentity* +} + +namespace CEntityInstance { + constexpr std::ptrdiff_t m_iszPrivateVScripts = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pEntity = 0x10; // CEntityIdentity* + constexpr std::ptrdiff_t m_CScriptComponent = 0x28; // CScriptComponent* +} + +namespace CEntitySubclassVDataBase { +} + +namespace CEnvBeam { // CBeam + constexpr std::ptrdiff_t m_active = 0x7A0; // int32_t + constexpr std::ptrdiff_t m_spriteTexture = 0x7A8; // CStrongHandle + constexpr std::ptrdiff_t m_iszStartEntity = 0x7B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszEndEntity = 0x7B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_life = 0x7C0; // float + constexpr std::ptrdiff_t m_boltWidth = 0x7C4; // float + constexpr std::ptrdiff_t m_noiseAmplitude = 0x7C8; // float + constexpr std::ptrdiff_t m_speed = 0x7CC; // int32_t + constexpr std::ptrdiff_t m_restrike = 0x7D0; // float + constexpr std::ptrdiff_t m_iszSpriteName = 0x7D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_frameStart = 0x7E0; // int32_t + constexpr std::ptrdiff_t m_vEndPointWorld = 0x7E4; // Vector + constexpr std::ptrdiff_t m_vEndPointRelative = 0x7F0; // Vector + constexpr std::ptrdiff_t m_radius = 0x7FC; // float + constexpr std::ptrdiff_t m_TouchType = 0x800; // Touch_t + constexpr std::ptrdiff_t m_iFilterName = 0x808; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hFilter = 0x810; // CHandle + constexpr std::ptrdiff_t m_iszDecal = 0x818; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_OnTouchedByEntity = 0x820; // CEntityIOOutput +} + +namespace CEnvBeverage { // CBaseEntity + constexpr std::ptrdiff_t m_CanInDispenser = 0x4B0; // bool + constexpr std::ptrdiff_t m_nBeverageType = 0x4B4; // int32_t +} + +namespace CEnvCombinedLightProbeVolume { // CBaseEntity + constexpr std::ptrdiff_t m_Color = 0x1508; // Color + constexpr std::ptrdiff_t m_flBrightness = 0x150C; // float + constexpr std::ptrdiff_t m_hCubemapTexture = 0x1510; // CStrongHandle + constexpr std::ptrdiff_t m_bCustomCubemapTexture = 0x1518; // bool + constexpr std::ptrdiff_t m_hLightProbeTexture = 0x1520; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightIndicesTexture = 0x1528; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightScalarsTexture = 0x1530; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightShadowsTexture = 0x1538; // CStrongHandle + constexpr std::ptrdiff_t m_vBoxMins = 0x1540; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x154C; // Vector + constexpr std::ptrdiff_t m_bMoveable = 0x1558; // bool + constexpr std::ptrdiff_t m_nHandshake = 0x155C; // int32_t + constexpr std::ptrdiff_t m_nEnvCubeMapArrayIndex = 0x1560; // int32_t + constexpr std::ptrdiff_t m_nPriority = 0x1564; // int32_t + constexpr std::ptrdiff_t m_bStartDisabled = 0x1568; // bool + constexpr std::ptrdiff_t m_flEdgeFadeDist = 0x156C; // float + constexpr std::ptrdiff_t m_vEdgeFadeDists = 0x1570; // Vector + constexpr std::ptrdiff_t m_nLightProbeSizeX = 0x157C; // int32_t + constexpr std::ptrdiff_t m_nLightProbeSizeY = 0x1580; // int32_t + constexpr std::ptrdiff_t m_nLightProbeSizeZ = 0x1584; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasX = 0x1588; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasY = 0x158C; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasZ = 0x1590; // int32_t + constexpr std::ptrdiff_t m_bEnabled = 0x15A9; // bool +} + +namespace CEnvCubemap { // CBaseEntity + constexpr std::ptrdiff_t m_hCubemapTexture = 0x530; // CStrongHandle + constexpr std::ptrdiff_t m_bCustomCubemapTexture = 0x538; // bool + constexpr std::ptrdiff_t m_flInfluenceRadius = 0x53C; // float + constexpr std::ptrdiff_t m_vBoxProjectMins = 0x540; // Vector + constexpr std::ptrdiff_t m_vBoxProjectMaxs = 0x54C; // Vector + constexpr std::ptrdiff_t m_bMoveable = 0x558; // bool + constexpr std::ptrdiff_t m_nHandshake = 0x55C; // int32_t + constexpr std::ptrdiff_t m_nEnvCubeMapArrayIndex = 0x560; // int32_t + constexpr std::ptrdiff_t m_nPriority = 0x564; // int32_t + constexpr std::ptrdiff_t m_flEdgeFadeDist = 0x568; // float + constexpr std::ptrdiff_t m_vEdgeFadeDists = 0x56C; // Vector + constexpr std::ptrdiff_t m_flDiffuseScale = 0x578; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x57C; // bool + constexpr std::ptrdiff_t m_bDefaultEnvMap = 0x57D; // bool + constexpr std::ptrdiff_t m_bDefaultSpecEnvMap = 0x57E; // bool + constexpr std::ptrdiff_t m_bIndoorCubeMap = 0x57F; // bool + constexpr std::ptrdiff_t m_bCopyDiffuseFromDefaultCubemap = 0x580; // bool + constexpr std::ptrdiff_t m_bEnabled = 0x590; // bool +} + +namespace CEnvCubemapBox { // CEnvCubemap +} + +namespace CEnvCubemapFog { // CBaseEntity + constexpr std::ptrdiff_t m_flEndDistance = 0x4B0; // float + constexpr std::ptrdiff_t m_flStartDistance = 0x4B4; // float + constexpr std::ptrdiff_t m_flFogFalloffExponent = 0x4B8; // float + constexpr std::ptrdiff_t m_bHeightFogEnabled = 0x4BC; // bool + constexpr std::ptrdiff_t m_flFogHeightWidth = 0x4C0; // float + constexpr std::ptrdiff_t m_flFogHeightEnd = 0x4C4; // float + constexpr std::ptrdiff_t m_flFogHeightStart = 0x4C8; // float + constexpr std::ptrdiff_t m_flFogHeightExponent = 0x4CC; // float + constexpr std::ptrdiff_t m_flLODBias = 0x4D0; // float + constexpr std::ptrdiff_t m_bActive = 0x4D4; // bool + constexpr std::ptrdiff_t m_bStartDisabled = 0x4D5; // bool + constexpr std::ptrdiff_t m_flFogMaxOpacity = 0x4D8; // float + constexpr std::ptrdiff_t m_nCubemapSourceType = 0x4DC; // int32_t + constexpr std::ptrdiff_t m_hSkyMaterial = 0x4E0; // CStrongHandle + constexpr std::ptrdiff_t m_iszSkyEntity = 0x4E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hFogCubemapTexture = 0x4F0; // CStrongHandle + constexpr std::ptrdiff_t m_bHasHeightFogEnd = 0x4F8; // bool + constexpr std::ptrdiff_t m_bFirstTime = 0x4F9; // bool +} + +namespace CEnvDecal { // CBaseModelEntity + constexpr std::ptrdiff_t m_hDecalMaterial = 0x700; // CStrongHandle + constexpr std::ptrdiff_t m_flWidth = 0x708; // float + constexpr std::ptrdiff_t m_flHeight = 0x70C; // float + constexpr std::ptrdiff_t m_flDepth = 0x710; // float + constexpr std::ptrdiff_t m_nRenderOrder = 0x714; // uint32_t + constexpr std::ptrdiff_t m_bProjectOnWorld = 0x718; // bool + constexpr std::ptrdiff_t m_bProjectOnCharacters = 0x719; // bool + constexpr std::ptrdiff_t m_bProjectOnWater = 0x71A; // bool + constexpr std::ptrdiff_t m_flDepthSortBias = 0x71C; // float +} + +namespace CEnvDetailController { // CBaseEntity + constexpr std::ptrdiff_t m_flFadeStartDist = 0x4B0; // float + constexpr std::ptrdiff_t m_flFadeEndDist = 0x4B4; // float +} + +namespace CEnvEntityIgniter { // CBaseEntity + constexpr std::ptrdiff_t m_flLifetime = 0x4B0; // float +} + +namespace CEnvEntityMaker { // CPointEntity + constexpr std::ptrdiff_t m_vecEntityMins = 0x4B0; // Vector + constexpr std::ptrdiff_t m_vecEntityMaxs = 0x4BC; // Vector + constexpr std::ptrdiff_t m_hCurrentInstance = 0x4C8; // CHandle + constexpr std::ptrdiff_t m_hCurrentBlocker = 0x4CC; // CHandle + constexpr std::ptrdiff_t m_vecBlockerOrigin = 0x4D0; // Vector + constexpr std::ptrdiff_t m_angPostSpawnDirection = 0x4DC; // QAngle + constexpr std::ptrdiff_t m_flPostSpawnDirectionVariance = 0x4E8; // float + constexpr std::ptrdiff_t m_flPostSpawnSpeed = 0x4EC; // float + constexpr std::ptrdiff_t m_bPostSpawnUseAngles = 0x4F0; // bool + constexpr std::ptrdiff_t m_iszTemplate = 0x4F8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pOutputOnSpawned = 0x500; // CEntityIOOutput + constexpr std::ptrdiff_t m_pOutputOnFailedSpawn = 0x528; // CEntityIOOutput +} + +namespace CEnvExplosion { // CModelPointEntity + constexpr std::ptrdiff_t m_iMagnitude = 0x700; // int32_t + constexpr std::ptrdiff_t m_flPlayerDamage = 0x704; // float + constexpr std::ptrdiff_t m_iRadiusOverride = 0x708; // int32_t + constexpr std::ptrdiff_t m_flInnerRadius = 0x70C; // float + constexpr std::ptrdiff_t m_spriteScale = 0x710; // int32_t + constexpr std::ptrdiff_t m_flDamageForce = 0x714; // float + constexpr std::ptrdiff_t m_hInflictor = 0x718; // CHandle + constexpr std::ptrdiff_t m_iCustomDamageType = 0x71C; // int32_t + constexpr std::ptrdiff_t m_iszExplosionType = 0x728; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszCustomEffectName = 0x730; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszCustomSoundName = 0x738; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iClassIgnore = 0x740; // Class_T + constexpr std::ptrdiff_t m_iClassIgnore2 = 0x744; // Class_T + constexpr std::ptrdiff_t m_iszEntityIgnoreName = 0x748; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hEntityIgnore = 0x750; // CHandle +} + +namespace CEnvFade { // CLogicalEntity + constexpr std::ptrdiff_t m_fadeColor = 0x4B0; // Color + constexpr std::ptrdiff_t m_Duration = 0x4B4; // float + constexpr std::ptrdiff_t m_HoldDuration = 0x4B8; // float + constexpr std::ptrdiff_t m_OnBeginFade = 0x4C0; // CEntityIOOutput +} + +namespace CEnvFireSensor { // CBaseEntity + constexpr std::ptrdiff_t m_bEnabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_bHeatAtLevel = 0x4B1; // bool + constexpr std::ptrdiff_t m_radius = 0x4B4; // float + constexpr std::ptrdiff_t m_targetLevel = 0x4B8; // float + constexpr std::ptrdiff_t m_targetTime = 0x4BC; // float + constexpr std::ptrdiff_t m_levelTime = 0x4C0; // float + constexpr std::ptrdiff_t m_OnHeatLevelStart = 0x4C8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnHeatLevelEnd = 0x4F0; // CEntityIOOutput +} + +namespace CEnvFireSource { // CBaseEntity + constexpr std::ptrdiff_t m_bEnabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_radius = 0x4B4; // float + constexpr std::ptrdiff_t m_damage = 0x4B8; // float +} + +namespace CEnvFunnel { // CBaseEntity +} + +namespace CEnvGlobal { // CLogicalEntity + constexpr std::ptrdiff_t m_outCounter = 0x4B0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_globalstate = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_triggermode = 0x4E0; // int32_t + constexpr std::ptrdiff_t m_initialstate = 0x4E4; // int32_t + constexpr std::ptrdiff_t m_counter = 0x4E8; // int32_t +} + +namespace CEnvHudHint { // CPointEntity + constexpr std::ptrdiff_t m_iszMessage = 0x4B0; // CUtlSymbolLarge +} + +namespace CEnvInstructorHint { // CPointEntity + constexpr std::ptrdiff_t m_iszName = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszReplace_Key = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszHintTargetEntity = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iTimeout = 0x4C8; // int32_t + constexpr std::ptrdiff_t m_iDisplayLimit = 0x4CC; // int32_t + constexpr std::ptrdiff_t m_iszIcon_Onscreen = 0x4D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszIcon_Offscreen = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszCaption = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszActivatorCaption = 0x4E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Color = 0x4F0; // Color + constexpr std::ptrdiff_t m_fIconOffset = 0x4F4; // float + constexpr std::ptrdiff_t m_fRange = 0x4F8; // float + constexpr std::ptrdiff_t m_iPulseOption = 0x4FC; // uint8_t + constexpr std::ptrdiff_t m_iAlphaOption = 0x4FD; // uint8_t + constexpr std::ptrdiff_t m_iShakeOption = 0x4FE; // uint8_t + constexpr std::ptrdiff_t m_bStatic = 0x4FF; // bool + constexpr std::ptrdiff_t m_bNoOffscreen = 0x500; // bool + constexpr std::ptrdiff_t m_bForceCaption = 0x501; // bool + constexpr std::ptrdiff_t m_iInstanceType = 0x504; // int32_t + constexpr std::ptrdiff_t m_bSuppressRest = 0x508; // bool + constexpr std::ptrdiff_t m_iszBinding = 0x510; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bAllowNoDrawTarget = 0x518; // bool + constexpr std::ptrdiff_t m_bAutoStart = 0x519; // bool + constexpr std::ptrdiff_t m_bLocalPlayerOnly = 0x51A; // bool +} + +namespace CEnvInstructorVRHint { // CPointEntity + constexpr std::ptrdiff_t m_iszName = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszHintTargetEntity = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iTimeout = 0x4C0; // int32_t + constexpr std::ptrdiff_t m_iszCaption = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszStartSound = 0x4D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iLayoutFileType = 0x4D8; // int32_t + constexpr std::ptrdiff_t m_iszCustomLayoutFile = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iAttachType = 0x4E8; // int32_t + constexpr std::ptrdiff_t m_flHeightOffset = 0x4EC; // float +} + +namespace CEnvLaser { // CBeam + constexpr std::ptrdiff_t m_iszLaserTarget = 0x7A0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pSprite = 0x7A8; // CSprite* + constexpr std::ptrdiff_t m_iszSpriteName = 0x7B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_firePosition = 0x7B8; // Vector + constexpr std::ptrdiff_t m_flStartFrame = 0x7C4; // float +} + +namespace CEnvLightProbeVolume { // CBaseEntity + constexpr std::ptrdiff_t m_hLightProbeTexture = 0x1488; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightIndicesTexture = 0x1490; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightScalarsTexture = 0x1498; // CStrongHandle + constexpr std::ptrdiff_t m_hLightProbeDirectLightShadowsTexture = 0x14A0; // CStrongHandle + constexpr std::ptrdiff_t m_vBoxMins = 0x14A8; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x14B4; // Vector + constexpr std::ptrdiff_t m_bMoveable = 0x14C0; // bool + constexpr std::ptrdiff_t m_nHandshake = 0x14C4; // int32_t + constexpr std::ptrdiff_t m_nPriority = 0x14C8; // int32_t + constexpr std::ptrdiff_t m_bStartDisabled = 0x14CC; // bool + constexpr std::ptrdiff_t m_nLightProbeSizeX = 0x14D0; // int32_t + constexpr std::ptrdiff_t m_nLightProbeSizeY = 0x14D4; // int32_t + constexpr std::ptrdiff_t m_nLightProbeSizeZ = 0x14D8; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasX = 0x14DC; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasY = 0x14E0; // int32_t + constexpr std::ptrdiff_t m_nLightProbeAtlasZ = 0x14E4; // int32_t + constexpr std::ptrdiff_t m_bEnabled = 0x14F1; // bool +} + +namespace CEnvMicrophone { // CPointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_hMeasureTarget = 0x4B4; // CHandle + constexpr std::ptrdiff_t m_nSoundMask = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_flSensitivity = 0x4BC; // float + constexpr std::ptrdiff_t m_flSmoothFactor = 0x4C0; // float + constexpr std::ptrdiff_t m_flMaxRange = 0x4C4; // float + constexpr std::ptrdiff_t m_iszSpeakerName = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hSpeaker = 0x4D0; // CHandle + constexpr std::ptrdiff_t m_bAvoidFeedback = 0x4D4; // bool + constexpr std::ptrdiff_t m_iSpeakerDSPPreset = 0x4D8; // int32_t + constexpr std::ptrdiff_t m_iszListenFilter = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hListenFilter = 0x4E8; // CHandle + constexpr std::ptrdiff_t m_SoundLevel = 0x4F0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnRoutedSound = 0x518; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnHeardSound = 0x540; // CEntityIOOutput + constexpr std::ptrdiff_t m_szLastSound = 0x568; // char[256] + constexpr std::ptrdiff_t m_iLastRoutedFrame = 0x668; // int32_t +} + +namespace CEnvMuzzleFlash { // CPointEntity + constexpr std::ptrdiff_t m_flScale = 0x4B0; // float + constexpr std::ptrdiff_t m_iszParentAttachment = 0x4B8; // CUtlSymbolLarge +} + +namespace CEnvParticleGlow { // CParticleSystem + constexpr std::ptrdiff_t m_flAlphaScale = 0xC78; // float + constexpr std::ptrdiff_t m_flRadiusScale = 0xC7C; // float + constexpr std::ptrdiff_t m_flSelfIllumScale = 0xC80; // float + constexpr std::ptrdiff_t m_ColorTint = 0xC84; // Color + constexpr std::ptrdiff_t m_hTextureOverride = 0xC88; // CStrongHandle +} + +namespace CEnvProjectedTexture { // CModelPointEntity + constexpr std::ptrdiff_t m_hTargetEntity = 0x700; // CHandle + constexpr std::ptrdiff_t m_bState = 0x704; // bool + constexpr std::ptrdiff_t m_bAlwaysUpdate = 0x705; // bool + constexpr std::ptrdiff_t m_flLightFOV = 0x708; // float + constexpr std::ptrdiff_t m_bEnableShadows = 0x70C; // bool + constexpr std::ptrdiff_t m_bSimpleProjection = 0x70D; // bool + constexpr std::ptrdiff_t m_bLightOnlyTarget = 0x70E; // bool + constexpr std::ptrdiff_t m_bLightWorld = 0x70F; // bool + constexpr std::ptrdiff_t m_bCameraSpace = 0x710; // bool + constexpr std::ptrdiff_t m_flBrightnessScale = 0x714; // float + constexpr std::ptrdiff_t m_LightColor = 0x718; // Color + constexpr std::ptrdiff_t m_flIntensity = 0x71C; // float + constexpr std::ptrdiff_t m_flLinearAttenuation = 0x720; // float + constexpr std::ptrdiff_t m_flQuadraticAttenuation = 0x724; // float + constexpr std::ptrdiff_t m_bVolumetric = 0x728; // bool + constexpr std::ptrdiff_t m_flNoiseStrength = 0x72C; // float + constexpr std::ptrdiff_t m_flFlashlightTime = 0x730; // float + constexpr std::ptrdiff_t m_nNumPlanes = 0x734; // uint32_t + constexpr std::ptrdiff_t m_flPlaneOffset = 0x738; // float + constexpr std::ptrdiff_t m_flVolumetricIntensity = 0x73C; // float + constexpr std::ptrdiff_t m_flColorTransitionTime = 0x740; // float + constexpr std::ptrdiff_t m_flAmbient = 0x744; // float + constexpr std::ptrdiff_t m_SpotlightTextureName = 0x748; // char[512] + constexpr std::ptrdiff_t m_nSpotlightTextureFrame = 0x948; // int32_t + constexpr std::ptrdiff_t m_nShadowQuality = 0x94C; // uint32_t + constexpr std::ptrdiff_t m_flNearZ = 0x950; // float + constexpr std::ptrdiff_t m_flFarZ = 0x954; // float + constexpr std::ptrdiff_t m_flProjectionSize = 0x958; // float + constexpr std::ptrdiff_t m_flRotation = 0x95C; // float + constexpr std::ptrdiff_t m_bFlipHorizontal = 0x960; // bool +} + +namespace CEnvScreenOverlay { // CPointEntity + constexpr std::ptrdiff_t m_iszOverlayNames = 0x4B0; // CUtlSymbolLarge[10] + constexpr std::ptrdiff_t m_flOverlayTimes = 0x500; // float[10] + constexpr std::ptrdiff_t m_flStartTime = 0x528; // GameTime_t + constexpr std::ptrdiff_t m_iDesiredOverlay = 0x52C; // int32_t + constexpr std::ptrdiff_t m_bIsActive = 0x530; // bool +} + +namespace CEnvShake { // CPointEntity + constexpr std::ptrdiff_t m_limitToEntity = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Amplitude = 0x4B8; // float + constexpr std::ptrdiff_t m_Frequency = 0x4BC; // float + constexpr std::ptrdiff_t m_Duration = 0x4C0; // float + constexpr std::ptrdiff_t m_Radius = 0x4C4; // float + constexpr std::ptrdiff_t m_stopTime = 0x4C8; // GameTime_t + constexpr std::ptrdiff_t m_nextShake = 0x4CC; // GameTime_t + constexpr std::ptrdiff_t m_currentAmp = 0x4D0; // float + constexpr std::ptrdiff_t m_maxForce = 0x4D4; // Vector + constexpr std::ptrdiff_t m_shakeCallback = 0x4E8; // CPhysicsShake +} + +namespace CEnvSky { // CBaseModelEntity + constexpr std::ptrdiff_t m_hSkyMaterial = 0x700; // CStrongHandle + constexpr std::ptrdiff_t m_hSkyMaterialLightingOnly = 0x708; // CStrongHandle + constexpr std::ptrdiff_t m_bStartDisabled = 0x710; // bool + constexpr std::ptrdiff_t m_vTintColor = 0x711; // Color + constexpr std::ptrdiff_t m_vTintColorLightingOnly = 0x715; // Color + constexpr std::ptrdiff_t m_flBrightnessScale = 0x71C; // float + constexpr std::ptrdiff_t m_nFogType = 0x720; // int32_t + constexpr std::ptrdiff_t m_flFogMinStart = 0x724; // float + constexpr std::ptrdiff_t m_flFogMinEnd = 0x728; // float + constexpr std::ptrdiff_t m_flFogMaxStart = 0x72C; // float + constexpr std::ptrdiff_t m_flFogMaxEnd = 0x730; // float + constexpr std::ptrdiff_t m_bEnabled = 0x734; // bool +} + +namespace CEnvSoundscape { // CServerOnlyEntity + constexpr std::ptrdiff_t m_OnPlay = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_flRadius = 0x4D8; // float + constexpr std::ptrdiff_t m_soundscapeName = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_soundEventName = 0x4E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bOverrideWithEvent = 0x4F0; // bool + constexpr std::ptrdiff_t m_soundscapeIndex = 0x4F4; // int32_t + constexpr std::ptrdiff_t m_soundscapeEntityListId = 0x4F8; // int32_t + constexpr std::ptrdiff_t m_soundEventHash = 0x4FC; // uint32_t + constexpr std::ptrdiff_t m_positionNames = 0x500; // CUtlSymbolLarge[8] + constexpr std::ptrdiff_t m_hProxySoundscape = 0x540; // CHandle + constexpr std::ptrdiff_t m_bDisabled = 0x544; // bool +} + +namespace CEnvSoundscapeAlias_snd_soundscape { // CEnvSoundscape +} + +namespace CEnvSoundscapeProxy { // CEnvSoundscape + constexpr std::ptrdiff_t m_MainSoundscapeName = 0x548; // CUtlSymbolLarge +} + +namespace CEnvSoundscapeProxyAlias_snd_soundscape_proxy { // CEnvSoundscapeProxy +} + +namespace CEnvSoundscapeTriggerable { // CEnvSoundscape +} + +namespace CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable { // CEnvSoundscapeTriggerable +} + +namespace CEnvSpark { // CPointEntity + constexpr std::ptrdiff_t m_flDelay = 0x4B0; // float + constexpr std::ptrdiff_t m_nMagnitude = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_nTrailLength = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_nType = 0x4BC; // int32_t + constexpr std::ptrdiff_t m_OnSpark = 0x4C0; // CEntityIOOutput +} + +namespace CEnvSplash { // CPointEntity + constexpr std::ptrdiff_t m_flScale = 0x4B0; // float +} + +namespace CEnvTilt { // CPointEntity + constexpr std::ptrdiff_t m_Duration = 0x4B0; // float + constexpr std::ptrdiff_t m_Radius = 0x4B4; // float + constexpr std::ptrdiff_t m_TiltTime = 0x4B8; // float + constexpr std::ptrdiff_t m_stopTime = 0x4BC; // GameTime_t +} + +namespace CEnvTracer { // CPointEntity + constexpr std::ptrdiff_t m_vecEnd = 0x4B0; // Vector + constexpr std::ptrdiff_t m_flDelay = 0x4BC; // float +} + +namespace CEnvViewPunch { // CPointEntity + constexpr std::ptrdiff_t m_flRadius = 0x4B0; // float + constexpr std::ptrdiff_t m_angViewPunch = 0x4B4; // QAngle +} + +namespace CEnvVolumetricFogController { // CBaseEntity + constexpr std::ptrdiff_t m_flScattering = 0x4B0; // float + constexpr std::ptrdiff_t m_flAnisotropy = 0x4B4; // float + constexpr std::ptrdiff_t m_flFadeSpeed = 0x4B8; // float + constexpr std::ptrdiff_t m_flDrawDistance = 0x4BC; // float + constexpr std::ptrdiff_t m_flFadeInStart = 0x4C0; // float + constexpr std::ptrdiff_t m_flFadeInEnd = 0x4C4; // float + constexpr std::ptrdiff_t m_flIndirectStrength = 0x4C8; // float + constexpr std::ptrdiff_t m_nIndirectTextureDimX = 0x4CC; // int32_t + constexpr std::ptrdiff_t m_nIndirectTextureDimY = 0x4D0; // int32_t + constexpr std::ptrdiff_t m_nIndirectTextureDimZ = 0x4D4; // int32_t + constexpr std::ptrdiff_t m_vBoxMins = 0x4D8; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x4E4; // Vector + constexpr std::ptrdiff_t m_bActive = 0x4F0; // bool + constexpr std::ptrdiff_t m_flStartAnisoTime = 0x4F4; // GameTime_t + constexpr std::ptrdiff_t m_flStartScatterTime = 0x4F8; // GameTime_t + constexpr std::ptrdiff_t m_flStartDrawDistanceTime = 0x4FC; // GameTime_t + constexpr std::ptrdiff_t m_flStartAnisotropy = 0x500; // float + constexpr std::ptrdiff_t m_flStartScattering = 0x504; // float + constexpr std::ptrdiff_t m_flStartDrawDistance = 0x508; // float + constexpr std::ptrdiff_t m_flDefaultAnisotropy = 0x50C; // float + constexpr std::ptrdiff_t m_flDefaultScattering = 0x510; // float + constexpr std::ptrdiff_t m_flDefaultDrawDistance = 0x514; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x518; // bool + constexpr std::ptrdiff_t m_bEnableIndirect = 0x519; // bool + constexpr std::ptrdiff_t m_bIsMaster = 0x51A; // bool + constexpr std::ptrdiff_t m_hFogIndirectTexture = 0x520; // CStrongHandle + constexpr std::ptrdiff_t m_nForceRefreshCount = 0x528; // int32_t + constexpr std::ptrdiff_t m_bFirstTime = 0x52C; // bool +} + +namespace CEnvVolumetricFogVolume { // CBaseEntity + constexpr std::ptrdiff_t m_bActive = 0x4B0; // bool + constexpr std::ptrdiff_t m_vBoxMins = 0x4B4; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x4C0; // Vector + constexpr std::ptrdiff_t m_bStartDisabled = 0x4CC; // bool + constexpr std::ptrdiff_t m_flStrength = 0x4D0; // float + constexpr std::ptrdiff_t m_nFalloffShape = 0x4D4; // int32_t + constexpr std::ptrdiff_t m_flFalloffExponent = 0x4D8; // float +} + +namespace CEnvWind { // CBaseEntity + constexpr std::ptrdiff_t m_EnvWindShared = 0x4B0; // CEnvWindShared +} + +namespace CEnvWindShared { + constexpr std::ptrdiff_t m_flStartTime = 0x8; // GameTime_t + constexpr std::ptrdiff_t m_iWindSeed = 0xC; // uint32_t + constexpr std::ptrdiff_t m_iMinWind = 0x10; // uint16_t + constexpr std::ptrdiff_t m_iMaxWind = 0x12; // uint16_t + constexpr std::ptrdiff_t m_windRadius = 0x14; // int32_t + constexpr std::ptrdiff_t m_iMinGust = 0x18; // uint16_t + constexpr std::ptrdiff_t m_iMaxGust = 0x1A; // uint16_t + constexpr std::ptrdiff_t m_flMinGustDelay = 0x1C; // float + constexpr std::ptrdiff_t m_flMaxGustDelay = 0x20; // float + constexpr std::ptrdiff_t m_flGustDuration = 0x24; // float + constexpr std::ptrdiff_t m_iGustDirChange = 0x28; // uint16_t + constexpr std::ptrdiff_t m_location = 0x2C; // Vector + constexpr std::ptrdiff_t m_iszGustSound = 0x38; // int32_t + constexpr std::ptrdiff_t m_iWindDir = 0x3C; // int32_t + constexpr std::ptrdiff_t m_flWindSpeed = 0x40; // float + constexpr std::ptrdiff_t m_currentWindVector = 0x44; // Vector + constexpr std::ptrdiff_t m_CurrentSwayVector = 0x50; // Vector + constexpr std::ptrdiff_t m_PrevSwayVector = 0x5C; // Vector + constexpr std::ptrdiff_t m_iInitialWindDir = 0x68; // uint16_t + constexpr std::ptrdiff_t m_flInitialWindSpeed = 0x6C; // float + constexpr std::ptrdiff_t m_OnGustStart = 0x70; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnGustEnd = 0x98; // CEntityIOOutput + constexpr std::ptrdiff_t m_flVariationTime = 0xC0; // GameTime_t + constexpr std::ptrdiff_t m_flSwayTime = 0xC4; // GameTime_t + constexpr std::ptrdiff_t m_flSimTime = 0xC8; // GameTime_t + constexpr std::ptrdiff_t m_flSwitchTime = 0xCC; // GameTime_t + constexpr std::ptrdiff_t m_flAveWindSpeed = 0xD0; // float + constexpr std::ptrdiff_t m_bGusting = 0xD4; // bool + constexpr std::ptrdiff_t m_flWindAngleVariation = 0xD8; // float + constexpr std::ptrdiff_t m_flWindSpeedVariation = 0xDC; // float + constexpr std::ptrdiff_t m_iEntIndex = 0xE0; // CEntityIndex +} + +namespace CEnvWindShared_WindAveEvent_t { + constexpr std::ptrdiff_t m_flStartWindSpeed = 0x0; // float + constexpr std::ptrdiff_t m_flAveWindSpeed = 0x4; // float +} + +namespace CEnvWindShared_WindVariationEvent_t { + constexpr std::ptrdiff_t m_flWindAngleVariation = 0x0; // float + constexpr std::ptrdiff_t m_flWindSpeedVariation = 0x4; // float +} + +namespace CFilterAttributeInt { // CBaseFilter + constexpr std::ptrdiff_t m_sAttributeName = 0x508; // CUtlStringToken +} + +namespace CFilterClass { // CBaseFilter + constexpr std::ptrdiff_t m_iFilterClass = 0x508; // CUtlSymbolLarge +} + +namespace CFilterContext { // CBaseFilter + constexpr std::ptrdiff_t m_iFilterContext = 0x508; // CUtlSymbolLarge +} + +namespace CFilterEnemy { // CBaseFilter + constexpr std::ptrdiff_t m_iszEnemyName = 0x508; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flRadius = 0x510; // float + constexpr std::ptrdiff_t m_flOuterRadius = 0x514; // float + constexpr std::ptrdiff_t m_nMaxSquadmatesPerEnemy = 0x518; // int32_t + constexpr std::ptrdiff_t m_iszPlayerName = 0x520; // CUtlSymbolLarge +} + +namespace CFilterLOS { // CBaseFilter +} + +namespace CFilterMassGreater { // CBaseFilter + constexpr std::ptrdiff_t m_fFilterMass = 0x508; // float +} + +namespace CFilterModel { // CBaseFilter + constexpr std::ptrdiff_t m_iFilterModel = 0x508; // CUtlSymbolLarge +} + +namespace CFilterMultiple { // CBaseFilter + constexpr std::ptrdiff_t m_nFilterType = 0x508; // filter_t + constexpr std::ptrdiff_t m_iFilterName = 0x510; // CUtlSymbolLarge[10] + constexpr std::ptrdiff_t m_hFilter = 0x560; // CHandle[10] + constexpr std::ptrdiff_t m_nFilterCount = 0x588; // int32_t +} + +namespace CFilterName { // CBaseFilter + constexpr std::ptrdiff_t m_iFilterName = 0x508; // CUtlSymbolLarge +} + +namespace CFilterProximity { // CBaseFilter + constexpr std::ptrdiff_t m_flRadius = 0x508; // float +} + +namespace CFire { // CBaseModelEntity + constexpr std::ptrdiff_t m_hEffect = 0x700; // CHandle + constexpr std::ptrdiff_t m_hOwner = 0x704; // CHandle + constexpr std::ptrdiff_t m_nFireType = 0x708; // int32_t + constexpr std::ptrdiff_t m_flFuel = 0x70C; // float + constexpr std::ptrdiff_t m_flDamageTime = 0x710; // GameTime_t + constexpr std::ptrdiff_t m_lastDamage = 0x714; // GameTime_t + constexpr std::ptrdiff_t m_flFireSize = 0x718; // float + constexpr std::ptrdiff_t m_flLastNavUpdateTime = 0x71C; // GameTime_t + constexpr std::ptrdiff_t m_flHeatLevel = 0x720; // float + constexpr std::ptrdiff_t m_flHeatAbsorb = 0x724; // float + constexpr std::ptrdiff_t m_flDamageScale = 0x728; // float + constexpr std::ptrdiff_t m_flMaxHeat = 0x72C; // float + constexpr std::ptrdiff_t m_flLastHeatLevel = 0x730; // float + constexpr std::ptrdiff_t m_flAttackTime = 0x734; // float + constexpr std::ptrdiff_t m_bEnabled = 0x738; // bool + constexpr std::ptrdiff_t m_bStartDisabled = 0x739; // bool + constexpr std::ptrdiff_t m_bDidActivate = 0x73A; // bool + constexpr std::ptrdiff_t m_OnIgnited = 0x740; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnExtinguished = 0x768; // CEntityIOOutput +} + +namespace CFireCrackerBlast { // CInferno +} + +namespace CFireSmoke { // CBaseFire + constexpr std::ptrdiff_t m_nFlameModelIndex = 0x4C0; // int32_t + constexpr std::ptrdiff_t m_nFlameFromAboveModelIndex = 0x4C4; // int32_t +} + +namespace CFiringModeFloat { + constexpr std::ptrdiff_t m_flValues = 0x0; // float[2] +} + +namespace CFiringModeInt { + constexpr std::ptrdiff_t m_nValues = 0x0; // int32_t[2] +} + +namespace CFish { // CBaseAnimGraph + constexpr std::ptrdiff_t m_pool = 0x890; // CHandle + constexpr std::ptrdiff_t m_id = 0x894; // uint32_t + constexpr std::ptrdiff_t m_x = 0x898; // float + constexpr std::ptrdiff_t m_y = 0x89C; // float + constexpr std::ptrdiff_t m_z = 0x8A0; // float + constexpr std::ptrdiff_t m_angle = 0x8A4; // float + constexpr std::ptrdiff_t m_angleChange = 0x8A8; // float + constexpr std::ptrdiff_t m_forward = 0x8AC; // Vector + constexpr std::ptrdiff_t m_perp = 0x8B8; // Vector + constexpr std::ptrdiff_t m_poolOrigin = 0x8C4; // Vector + constexpr std::ptrdiff_t m_waterLevel = 0x8D0; // float + constexpr std::ptrdiff_t m_speed = 0x8D4; // float + constexpr std::ptrdiff_t m_desiredSpeed = 0x8D8; // float + constexpr std::ptrdiff_t m_calmSpeed = 0x8DC; // float + constexpr std::ptrdiff_t m_panicSpeed = 0x8E0; // float + constexpr std::ptrdiff_t m_avoidRange = 0x8E4; // float + constexpr std::ptrdiff_t m_turnTimer = 0x8E8; // CountdownTimer + constexpr std::ptrdiff_t m_turnClockwise = 0x900; // bool + constexpr std::ptrdiff_t m_goTimer = 0x908; // CountdownTimer + constexpr std::ptrdiff_t m_moveTimer = 0x920; // CountdownTimer + constexpr std::ptrdiff_t m_panicTimer = 0x938; // CountdownTimer + constexpr std::ptrdiff_t m_disperseTimer = 0x950; // CountdownTimer + constexpr std::ptrdiff_t m_proximityTimer = 0x968; // CountdownTimer + constexpr std::ptrdiff_t m_visible = 0x980; // CUtlVector +} + +namespace CFishPool { // CBaseEntity + constexpr std::ptrdiff_t m_fishCount = 0x4C0; // int32_t + constexpr std::ptrdiff_t m_maxRange = 0x4C4; // float + constexpr std::ptrdiff_t m_swimDepth = 0x4C8; // float + constexpr std::ptrdiff_t m_waterLevel = 0x4CC; // float + constexpr std::ptrdiff_t m_isDormant = 0x4D0; // bool + constexpr std::ptrdiff_t m_fishes = 0x4D8; // CUtlVector> + constexpr std::ptrdiff_t m_visTimer = 0x4F0; // CountdownTimer +} + +namespace CFists { // CCSWeaponBase + constexpr std::ptrdiff_t m_bPlayingUninterruptableAct = 0xE18; // bool + constexpr std::ptrdiff_t m_nUninterruptableActivity = 0xE1C; // PlayerAnimEvent_t + constexpr std::ptrdiff_t m_bRestorePrevWep = 0xE20; // bool + constexpr std::ptrdiff_t m_hWeaponBeforePrevious = 0xE24; // CHandle + constexpr std::ptrdiff_t m_hWeaponPrevious = 0xE28; // CHandle + constexpr std::ptrdiff_t m_bDelayedHardPunchIncoming = 0xE2C; // bool + constexpr std::ptrdiff_t m_bDestroyAfterTaunt = 0xE2D; // bool +} + +namespace CFlashbang { // CBaseCSGrenade +} + +namespace CFlashbangProjectile { // CBaseCSGrenadeProjectile + constexpr std::ptrdiff_t m_flTimeToDetonate = 0xA30; // float + constexpr std::ptrdiff_t m_numOpponentsHit = 0xA34; // uint8_t + constexpr std::ptrdiff_t m_numTeammatesHit = 0xA35; // uint8_t +} + +namespace CFogController { // CBaseEntity + constexpr std::ptrdiff_t m_fog = 0x4B0; // fogparams_t + constexpr std::ptrdiff_t m_bUseAngles = 0x518; // bool + constexpr std::ptrdiff_t m_iChangedVariables = 0x51C; // int32_t +} + +namespace CFogTrigger { // CBaseTrigger + constexpr std::ptrdiff_t m_fog = 0x8A8; // fogparams_t +} + +namespace CFogVolume { // CServerOnlyModelEntity + constexpr std::ptrdiff_t m_fogName = 0x700; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_postProcessName = 0x708; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_colorCorrectionName = 0x710; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bDisabled = 0x720; // bool + constexpr std::ptrdiff_t m_bInFogVolumesList = 0x721; // bool +} + +namespace CFootstepControl { // CBaseTrigger + constexpr std::ptrdiff_t m_source = 0x8A8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_destination = 0x8B0; // CUtlSymbolLarge +} + +namespace CFootstepTableHandle { +} + +namespace CFuncBrush { // CBaseModelEntity + constexpr std::ptrdiff_t m_iSolidity = 0x700; // BrushSolidities_e + constexpr std::ptrdiff_t m_iDisabled = 0x704; // int32_t + constexpr std::ptrdiff_t m_bSolidBsp = 0x708; // bool + constexpr std::ptrdiff_t m_iszExcludedClass = 0x710; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bInvertExclusion = 0x718; // bool + constexpr std::ptrdiff_t m_bScriptedMovement = 0x719; // bool +} + +namespace CFuncConveyor { // CBaseModelEntity + constexpr std::ptrdiff_t m_szConveyorModels = 0x700; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flTransitionDurationSeconds = 0x708; // float + constexpr std::ptrdiff_t m_angMoveEntitySpace = 0x70C; // QAngle + constexpr std::ptrdiff_t m_vecMoveDirEntitySpace = 0x718; // Vector + constexpr std::ptrdiff_t m_flTargetSpeed = 0x724; // float + constexpr std::ptrdiff_t m_nTransitionStartTick = 0x728; // GameTick_t + constexpr std::ptrdiff_t m_nTransitionDurationTicks = 0x72C; // int32_t + constexpr std::ptrdiff_t m_flTransitionStartSpeed = 0x730; // float + constexpr std::ptrdiff_t m_hConveyorModels = 0x738; // CNetworkUtlVectorBase> +} + +namespace CFuncElectrifiedVolume { // CFuncBrush + constexpr std::ptrdiff_t m_EffectName = 0x720; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_EffectInterpenetrateName = 0x728; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_EffectZapName = 0x730; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszEffectSource = 0x738; // CUtlSymbolLarge +} + +namespace CFuncIllusionary { // CBaseModelEntity +} + +namespace CFuncInteractionLayerClip { // CBaseModelEntity + constexpr std::ptrdiff_t m_bDisabled = 0x700; // bool + constexpr std::ptrdiff_t m_iszInteractsAs = 0x708; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszInteractsWith = 0x710; // CUtlSymbolLarge +} + +namespace CFuncLadder { // CBaseModelEntity + constexpr std::ptrdiff_t m_vecLadderDir = 0x700; // Vector + constexpr std::ptrdiff_t m_Dismounts = 0x710; // CUtlVector> + constexpr std::ptrdiff_t m_vecLocalTop = 0x728; // Vector + constexpr std::ptrdiff_t m_vecPlayerMountPositionTop = 0x734; // Vector + constexpr std::ptrdiff_t m_vecPlayerMountPositionBottom = 0x740; // Vector + constexpr std::ptrdiff_t m_flAutoRideSpeed = 0x74C; // float + constexpr std::ptrdiff_t m_bDisabled = 0x750; // bool + constexpr std::ptrdiff_t m_bFakeLadder = 0x751; // bool + constexpr std::ptrdiff_t m_bHasSlack = 0x752; // bool + constexpr std::ptrdiff_t m_surfacePropName = 0x758; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_OnPlayerGotOnLadder = 0x760; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPlayerGotOffLadder = 0x788; // CEntityIOOutput +} + +namespace CFuncLadderAlias_func_useableladder { // CFuncLadder +} + +namespace CFuncMonitor { // CFuncBrush + constexpr std::ptrdiff_t m_targetCamera = 0x720; // CUtlString + constexpr std::ptrdiff_t m_nResolutionEnum = 0x728; // int32_t + constexpr std::ptrdiff_t m_bRenderShadows = 0x72C; // bool + constexpr std::ptrdiff_t m_bUseUniqueColorTarget = 0x72D; // bool + constexpr std::ptrdiff_t m_brushModelName = 0x730; // CUtlString + constexpr std::ptrdiff_t m_hTargetCamera = 0x738; // CHandle + constexpr std::ptrdiff_t m_bEnabled = 0x73C; // bool + constexpr std::ptrdiff_t m_bDraw3DSkybox = 0x73D; // bool + constexpr std::ptrdiff_t m_bStartEnabled = 0x73E; // bool +} + +namespace CFuncMoveLinear { // CBaseToggle + constexpr std::ptrdiff_t m_authoredPosition = 0x780; // MoveLinearAuthoredPos_t + constexpr std::ptrdiff_t m_angMoveEntitySpace = 0x784; // QAngle + constexpr std::ptrdiff_t m_vecMoveDirParentSpace = 0x790; // Vector + constexpr std::ptrdiff_t m_soundStart = 0x7A0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_soundStop = 0x7A8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_currentSound = 0x7B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flBlockDamage = 0x7B8; // float + constexpr std::ptrdiff_t m_flStartPosition = 0x7BC; // float + constexpr std::ptrdiff_t m_flMoveDistance = 0x7C0; // float + constexpr std::ptrdiff_t m_OnFullyOpen = 0x7D0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFullyClosed = 0x7F8; // CEntityIOOutput + constexpr std::ptrdiff_t m_bCreateMovableNavMesh = 0x820; // bool + constexpr std::ptrdiff_t m_bCreateNavObstacle = 0x821; // bool +} + +namespace CFuncMoveLinearAlias_momentary_door { // CFuncMoveLinear +} + +namespace CFuncNavBlocker { // CBaseModelEntity + constexpr std::ptrdiff_t m_bDisabled = 0x700; // bool + constexpr std::ptrdiff_t m_nBlockedTeamNumber = 0x704; // int32_t +} + +namespace CFuncNavObstruction { // CBaseModelEntity + constexpr std::ptrdiff_t m_bDisabled = 0x708; // bool +} + +namespace CFuncPlat { // CBasePlatTrain + constexpr std::ptrdiff_t m_sNoise = 0x7A8; // CUtlSymbolLarge +} + +namespace CFuncPlatRot { // CFuncPlat + constexpr std::ptrdiff_t m_end = 0x7B0; // QAngle + constexpr std::ptrdiff_t m_start = 0x7BC; // QAngle +} + +namespace CFuncPropRespawnZone { // CBaseEntity +} + +namespace CFuncRotating { // CBaseModelEntity + constexpr std::ptrdiff_t m_vecMoveAng = 0x700; // QAngle + constexpr std::ptrdiff_t m_flFanFriction = 0x70C; // float + constexpr std::ptrdiff_t m_flAttenuation = 0x710; // float + constexpr std::ptrdiff_t m_flVolume = 0x714; // float + constexpr std::ptrdiff_t m_flTargetSpeed = 0x718; // float + constexpr std::ptrdiff_t m_flMaxSpeed = 0x71C; // float + constexpr std::ptrdiff_t m_flBlockDamage = 0x720; // float + constexpr std::ptrdiff_t m_flTimeScale = 0x724; // float + constexpr std::ptrdiff_t m_NoiseRunning = 0x728; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bReversed = 0x730; // bool + constexpr std::ptrdiff_t m_angStart = 0x73C; // QAngle + constexpr std::ptrdiff_t m_bStopAtStartPos = 0x748; // bool + constexpr std::ptrdiff_t m_vecClientOrigin = 0x74C; // Vector + constexpr std::ptrdiff_t m_vecClientAngles = 0x758; // QAngle +} + +namespace CFuncShatterglass { // CBaseModelEntity + constexpr std::ptrdiff_t m_hGlassMaterialDamaged = 0x700; // CStrongHandle + constexpr std::ptrdiff_t m_hGlassMaterialUndamaged = 0x708; // CStrongHandle + constexpr std::ptrdiff_t m_hConcreteMaterialEdgeFace = 0x710; // CStrongHandle + constexpr std::ptrdiff_t m_hConcreteMaterialEdgeCaps = 0x718; // CStrongHandle + constexpr std::ptrdiff_t m_hConcreteMaterialEdgeFins = 0x720; // CStrongHandle + constexpr std::ptrdiff_t m_matPanelTransform = 0x728; // matrix3x4_t + constexpr std::ptrdiff_t m_matPanelTransformWsTemp = 0x758; // matrix3x4_t + constexpr std::ptrdiff_t m_vecShatterGlassShards = 0x788; // CUtlVector + constexpr std::ptrdiff_t m_PanelSize = 0x7A0; // Vector2D + constexpr std::ptrdiff_t m_vecPanelNormalWs = 0x7A8; // Vector + constexpr std::ptrdiff_t m_nNumShardsEverCreated = 0x7B4; // int32_t + constexpr std::ptrdiff_t m_flLastShatterSoundEmitTime = 0x7B8; // GameTime_t + constexpr std::ptrdiff_t m_flLastCleanupTime = 0x7BC; // GameTime_t + constexpr std::ptrdiff_t m_flInitAtTime = 0x7C0; // GameTime_t + constexpr std::ptrdiff_t m_flGlassThickness = 0x7C4; // float + constexpr std::ptrdiff_t m_flSpawnInvulnerability = 0x7C8; // float + constexpr std::ptrdiff_t m_bBreakSilent = 0x7CC; // bool + constexpr std::ptrdiff_t m_bBreakShardless = 0x7CD; // bool + constexpr std::ptrdiff_t m_bBroken = 0x7CE; // bool + constexpr std::ptrdiff_t m_bHasRateLimitedShards = 0x7CF; // bool + constexpr std::ptrdiff_t m_bGlassNavIgnore = 0x7D0; // bool + constexpr std::ptrdiff_t m_bGlassInFrame = 0x7D1; // bool + constexpr std::ptrdiff_t m_bStartBroken = 0x7D2; // bool + constexpr std::ptrdiff_t m_iInitialDamageType = 0x7D3; // uint8_t + constexpr std::ptrdiff_t m_szDamagePositioningEntityName01 = 0x7D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_szDamagePositioningEntityName02 = 0x7E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_szDamagePositioningEntityName03 = 0x7E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_szDamagePositioningEntityName04 = 0x7F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_vInitialDamagePositions = 0x7F8; // CUtlVector + constexpr std::ptrdiff_t m_vExtraDamagePositions = 0x810; // CUtlVector + constexpr std::ptrdiff_t m_OnBroken = 0x828; // CEntityIOOutput + constexpr std::ptrdiff_t m_iSurfaceType = 0x851; // uint8_t +} + +namespace CFuncTankTrain { // CFuncTrackTrain + constexpr std::ptrdiff_t m_OnDeath = 0x850; // CEntityIOOutput +} + +namespace CFuncTimescale { // CBaseEntity + constexpr std::ptrdiff_t m_flDesiredTimescale = 0x4B0; // float + constexpr std::ptrdiff_t m_flAcceleration = 0x4B4; // float + constexpr std::ptrdiff_t m_flMinBlendRate = 0x4B8; // float + constexpr std::ptrdiff_t m_flBlendDeltaMultiplier = 0x4BC; // float + constexpr std::ptrdiff_t m_isStarted = 0x4C0; // bool +} + +namespace CFuncTrackAuto { // CFuncTrackChange +} + +namespace CFuncTrackChange { // CFuncPlatRot + constexpr std::ptrdiff_t m_trackTop = 0x7C8; // CPathTrack* + constexpr std::ptrdiff_t m_trackBottom = 0x7D0; // CPathTrack* + constexpr std::ptrdiff_t m_train = 0x7D8; // CFuncTrackTrain* + constexpr std::ptrdiff_t m_trackTopName = 0x7E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_trackBottomName = 0x7E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_trainName = 0x7F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_code = 0x7F8; // TRAIN_CODE + constexpr std::ptrdiff_t m_targetState = 0x7FC; // int32_t + constexpr std::ptrdiff_t m_use = 0x800; // int32_t +} + +namespace CFuncTrackTrain { // CBaseModelEntity + constexpr std::ptrdiff_t m_ppath = 0x700; // CHandle + constexpr std::ptrdiff_t m_length = 0x704; // float + constexpr std::ptrdiff_t m_vPosPrev = 0x708; // Vector + constexpr std::ptrdiff_t m_angPrev = 0x714; // QAngle + constexpr std::ptrdiff_t m_controlMins = 0x720; // Vector + constexpr std::ptrdiff_t m_controlMaxs = 0x72C; // Vector + constexpr std::ptrdiff_t m_lastBlockPos = 0x738; // Vector + constexpr std::ptrdiff_t m_lastBlockTick = 0x744; // int32_t + constexpr std::ptrdiff_t m_flVolume = 0x748; // float + constexpr std::ptrdiff_t m_flBank = 0x74C; // float + constexpr std::ptrdiff_t m_oldSpeed = 0x750; // float + constexpr std::ptrdiff_t m_flBlockDamage = 0x754; // float + constexpr std::ptrdiff_t m_height = 0x758; // float + constexpr std::ptrdiff_t m_maxSpeed = 0x75C; // float + constexpr std::ptrdiff_t m_dir = 0x760; // float + constexpr std::ptrdiff_t m_iszSoundMove = 0x768; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSoundMovePing = 0x770; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSoundStart = 0x778; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSoundStop = 0x780; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_strPathTarget = 0x788; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flMoveSoundMinDuration = 0x790; // float + constexpr std::ptrdiff_t m_flMoveSoundMaxDuration = 0x794; // float + constexpr std::ptrdiff_t m_flNextMoveSoundTime = 0x798; // GameTime_t + constexpr std::ptrdiff_t m_flMoveSoundMinPitch = 0x79C; // float + constexpr std::ptrdiff_t m_flMoveSoundMaxPitch = 0x7A0; // float + constexpr std::ptrdiff_t m_eOrientationType = 0x7A4; // TrainOrientationType_t + constexpr std::ptrdiff_t m_eVelocityType = 0x7A8; // TrainVelocityType_t + constexpr std::ptrdiff_t m_OnStart = 0x7B8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnNext = 0x7E0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnArrivedAtDestinationNode = 0x808; // CEntityIOOutput + constexpr std::ptrdiff_t m_bManualSpeedChanges = 0x830; // bool + constexpr std::ptrdiff_t m_flDesiredSpeed = 0x834; // float + constexpr std::ptrdiff_t m_flSpeedChangeTime = 0x838; // GameTime_t + constexpr std::ptrdiff_t m_flAccelSpeed = 0x83C; // float + constexpr std::ptrdiff_t m_flDecelSpeed = 0x840; // float + constexpr std::ptrdiff_t m_bAccelToSpeed = 0x844; // bool + constexpr std::ptrdiff_t m_flTimeScale = 0x848; // float + constexpr std::ptrdiff_t m_flNextMPSoundTime = 0x84C; // GameTime_t +} + +namespace CFuncTrain { // CBasePlatTrain + constexpr std::ptrdiff_t m_hCurrentTarget = 0x7A8; // CHandle + constexpr std::ptrdiff_t m_activated = 0x7AC; // bool + constexpr std::ptrdiff_t m_hEnemy = 0x7B0; // CHandle + constexpr std::ptrdiff_t m_flBlockDamage = 0x7B4; // float + constexpr std::ptrdiff_t m_flNextBlockTime = 0x7B8; // GameTime_t + constexpr std::ptrdiff_t m_iszLastTarget = 0x7C0; // CUtlSymbolLarge +} + +namespace CFuncTrainControls { // CBaseModelEntity +} + +namespace CFuncVPhysicsClip { // CBaseModelEntity + constexpr std::ptrdiff_t m_bDisabled = 0x700; // bool +} + +namespace CFuncVehicleClip { // CBaseModelEntity +} + +namespace CFuncWall { // CBaseModelEntity + constexpr std::ptrdiff_t m_nState = 0x700; // int32_t +} + +namespace CFuncWallToggle { // CFuncWall +} + +namespace CFuncWater { // CBaseModelEntity + constexpr std::ptrdiff_t m_BuoyancyHelper = 0x700; // CBuoyancyHelper +} + +namespace CGameChoreoServices { // IChoreoServices + constexpr std::ptrdiff_t m_hOwner = 0x8; // CHandle + constexpr std::ptrdiff_t m_hScriptedSequence = 0xC; // CHandle + constexpr std::ptrdiff_t m_scriptState = 0x10; // IChoreoServices::ScriptState_t + constexpr std::ptrdiff_t m_choreoState = 0x14; // IChoreoServices::ChoreoState_t + constexpr std::ptrdiff_t m_flTimeStartedState = 0x18; // GameTime_t +} + +namespace CGameEnd { // CRulePointEntity +} + +namespace CGameGibManager { // CBaseEntity + constexpr std::ptrdiff_t m_bAllowNewGibs = 0x4D0; // bool + constexpr std::ptrdiff_t m_iCurrentMaxPieces = 0x4D4; // int32_t + constexpr std::ptrdiff_t m_iMaxPieces = 0x4D8; // int32_t + constexpr std::ptrdiff_t m_iLastFrame = 0x4DC; // int32_t +} + +namespace CGameMoney { // CRulePointEntity + constexpr std::ptrdiff_t m_OnMoneySpent = 0x710; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMoneySpentFail = 0x738; // CEntityIOOutput + constexpr std::ptrdiff_t m_nMoney = 0x760; // int32_t + constexpr std::ptrdiff_t m_strAwardText = 0x768; // CUtlString +} + +namespace CGamePlayerEquip { // CRulePointEntity +} + +namespace CGamePlayerZone { // CRuleBrushEntity + constexpr std::ptrdiff_t m_OnPlayerInZone = 0x708; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPlayerOutZone = 0x730; // CEntityIOOutput + constexpr std::ptrdiff_t m_PlayersInCount = 0x758; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_PlayersOutCount = 0x780; // CEntityOutputTemplate +} + +namespace CGameRules { + constexpr std::ptrdiff_t m_szQuestName = 0x8; // char[128] + constexpr std::ptrdiff_t m_nQuestPhase = 0x88; // int32_t +} + +namespace CGameRulesProxy { // CBaseEntity +} + +namespace CGameSceneNode { + constexpr std::ptrdiff_t m_nodeToWorld = 0x10; // CTransform + constexpr std::ptrdiff_t m_pOwner = 0x30; // CEntityInstance* + constexpr std::ptrdiff_t m_pParent = 0x38; // CGameSceneNode* + constexpr std::ptrdiff_t m_pChild = 0x40; // CGameSceneNode* + constexpr std::ptrdiff_t m_pNextSibling = 0x48; // CGameSceneNode* + constexpr std::ptrdiff_t m_hParent = 0x70; // CGameSceneNodeHandle + constexpr std::ptrdiff_t m_vecOrigin = 0x80; // CNetworkOriginCellCoordQuantizedVector + constexpr std::ptrdiff_t m_angRotation = 0xB8; // QAngle + constexpr std::ptrdiff_t m_flScale = 0xC4; // float + constexpr std::ptrdiff_t m_vecAbsOrigin = 0xC8; // Vector + constexpr std::ptrdiff_t m_angAbsRotation = 0xD4; // QAngle + constexpr std::ptrdiff_t m_flAbsScale = 0xE0; // float + constexpr std::ptrdiff_t m_nParentAttachmentOrBone = 0xE4; // int16_t + constexpr std::ptrdiff_t m_bDebugAbsOriginChanges = 0xE6; // bool + constexpr std::ptrdiff_t m_bDormant = 0xE7; // bool + constexpr std::ptrdiff_t m_bForceParentToBeNetworked = 0xE8; // bool + constexpr std::ptrdiff_t m_bDirtyHierarchy = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bDirtyBoneMergeInfo = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNetworkedPositionChanged = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNetworkedAnglesChanged = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNetworkedScaleChanged = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bWillBeCallingPostDataUpdate = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bNotifyBoneTransformsChanged = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bBoneMergeFlex = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_nLatchAbsOrigin = 0x0; // bitfield:2 + constexpr std::ptrdiff_t m_bDirtyBoneMergeBoneToRoot = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_nHierarchicalDepth = 0xEB; // uint8_t + constexpr std::ptrdiff_t m_nHierarchyType = 0xEC; // uint8_t + constexpr std::ptrdiff_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount = 0xED; // uint8_t + constexpr std::ptrdiff_t m_name = 0xF0; // CUtlStringToken + constexpr std::ptrdiff_t m_hierarchyAttachName = 0x130; // CUtlStringToken + constexpr std::ptrdiff_t m_flZOffset = 0x134; // float + constexpr std::ptrdiff_t m_vRenderOrigin = 0x138; // Vector +} + +namespace CGameSceneNodeHandle { + constexpr std::ptrdiff_t m_hOwner = 0x8; // CEntityHandle + constexpr std::ptrdiff_t m_name = 0xC; // CUtlStringToken +} + +namespace CGameScriptedMoveData { + constexpr std::ptrdiff_t m_vDest = 0x0; // Vector + constexpr std::ptrdiff_t m_vSrc = 0xC; // Vector + constexpr std::ptrdiff_t m_angSrc = 0x18; // QAngle + constexpr std::ptrdiff_t m_angDst = 0x24; // QAngle + constexpr std::ptrdiff_t m_angCurrent = 0x30; // QAngle + constexpr std::ptrdiff_t m_flAngRate = 0x3C; // float + constexpr std::ptrdiff_t m_flDuration = 0x40; // float + constexpr std::ptrdiff_t m_flStartTime = 0x44; // GameTime_t + constexpr std::ptrdiff_t m_nPrevMoveType = 0x48; // MoveType_t + constexpr std::ptrdiff_t m_bActive = 0x49; // bool + constexpr std::ptrdiff_t m_bTeleportOnEnd = 0x4A; // bool + constexpr std::ptrdiff_t m_bEndOnDestinationReached = 0x4B; // bool + constexpr std::ptrdiff_t m_bIgnoreRotation = 0x4C; // bool + constexpr std::ptrdiff_t m_nType = 0x50; // ScriptedMoveType_t + constexpr std::ptrdiff_t m_bSuccess = 0x54; // bool + constexpr std::ptrdiff_t m_nForcedCrouchState = 0x58; // ForcedCrouchState_t + constexpr std::ptrdiff_t m_bIgnoreCollisions = 0x5C; // bool +} + +namespace CGameText { // CRulePointEntity + constexpr std::ptrdiff_t m_iszMessage = 0x710; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_textParms = 0x718; // hudtextparms_t +} + +namespace CGenericConstraint { // CPhysConstraint + constexpr std::ptrdiff_t m_nLinearMotionX = 0x510; // JointMotion_t + constexpr std::ptrdiff_t m_nLinearMotionY = 0x514; // JointMotion_t + constexpr std::ptrdiff_t m_nLinearMotionZ = 0x518; // JointMotion_t + constexpr std::ptrdiff_t m_flLinearFrequencyX = 0x51C; // float + constexpr std::ptrdiff_t m_flLinearFrequencyY = 0x520; // float + constexpr std::ptrdiff_t m_flLinearFrequencyZ = 0x524; // float + constexpr std::ptrdiff_t m_flLinearDampingRatioX = 0x528; // float + constexpr std::ptrdiff_t m_flLinearDampingRatioY = 0x52C; // float + constexpr std::ptrdiff_t m_flLinearDampingRatioZ = 0x530; // float + constexpr std::ptrdiff_t m_flMaxLinearImpulseX = 0x534; // float + constexpr std::ptrdiff_t m_flMaxLinearImpulseY = 0x538; // float + constexpr std::ptrdiff_t m_flMaxLinearImpulseZ = 0x53C; // float + constexpr std::ptrdiff_t m_flBreakAfterTimeX = 0x540; // float + constexpr std::ptrdiff_t m_flBreakAfterTimeY = 0x544; // float + constexpr std::ptrdiff_t m_flBreakAfterTimeZ = 0x548; // float + constexpr std::ptrdiff_t m_flBreakAfterTimeStartTimeX = 0x54C; // GameTime_t + constexpr std::ptrdiff_t m_flBreakAfterTimeStartTimeY = 0x550; // GameTime_t + constexpr std::ptrdiff_t m_flBreakAfterTimeStartTimeZ = 0x554; // GameTime_t + constexpr std::ptrdiff_t m_flBreakAfterTimeThresholdX = 0x558; // float + constexpr std::ptrdiff_t m_flBreakAfterTimeThresholdY = 0x55C; // float + constexpr std::ptrdiff_t m_flBreakAfterTimeThresholdZ = 0x560; // float + constexpr std::ptrdiff_t m_flNotifyForceX = 0x564; // float + constexpr std::ptrdiff_t m_flNotifyForceY = 0x568; // float + constexpr std::ptrdiff_t m_flNotifyForceZ = 0x56C; // float + constexpr std::ptrdiff_t m_flNotifyForceMinTimeX = 0x570; // float + constexpr std::ptrdiff_t m_flNotifyForceMinTimeY = 0x574; // float + constexpr std::ptrdiff_t m_flNotifyForceMinTimeZ = 0x578; // float + constexpr std::ptrdiff_t m_flNotifyForceLastTimeX = 0x57C; // GameTime_t + constexpr std::ptrdiff_t m_flNotifyForceLastTimeY = 0x580; // GameTime_t + constexpr std::ptrdiff_t m_flNotifyForceLastTimeZ = 0x584; // GameTime_t + constexpr std::ptrdiff_t m_bAxisNotifiedX = 0x588; // bool + constexpr std::ptrdiff_t m_bAxisNotifiedY = 0x589; // bool + constexpr std::ptrdiff_t m_bAxisNotifiedZ = 0x58A; // bool + constexpr std::ptrdiff_t m_nAngularMotionX = 0x58C; // JointMotion_t + constexpr std::ptrdiff_t m_nAngularMotionY = 0x590; // JointMotion_t + constexpr std::ptrdiff_t m_nAngularMotionZ = 0x594; // JointMotion_t + constexpr std::ptrdiff_t m_flAngularFrequencyX = 0x598; // float + constexpr std::ptrdiff_t m_flAngularFrequencyY = 0x59C; // float + constexpr std::ptrdiff_t m_flAngularFrequencyZ = 0x5A0; // float + constexpr std::ptrdiff_t m_flAngularDampingRatioX = 0x5A4; // float + constexpr std::ptrdiff_t m_flAngularDampingRatioY = 0x5A8; // float + constexpr std::ptrdiff_t m_flAngularDampingRatioZ = 0x5AC; // float + constexpr std::ptrdiff_t m_flMaxAngularImpulseX = 0x5B0; // float + constexpr std::ptrdiff_t m_flMaxAngularImpulseY = 0x5B4; // float + constexpr std::ptrdiff_t m_flMaxAngularImpulseZ = 0x5B8; // float + constexpr std::ptrdiff_t m_NotifyForceReachedX = 0x5C0; // CEntityIOOutput + constexpr std::ptrdiff_t m_NotifyForceReachedY = 0x5E8; // CEntityIOOutput + constexpr std::ptrdiff_t m_NotifyForceReachedZ = 0x610; // CEntityIOOutput +} + +namespace CGlowProperty { + constexpr std::ptrdiff_t m_fGlowColor = 0x8; // Vector + constexpr std::ptrdiff_t m_iGlowType = 0x30; // int32_t + constexpr std::ptrdiff_t m_iGlowTeam = 0x34; // int32_t + constexpr std::ptrdiff_t m_nGlowRange = 0x38; // int32_t + constexpr std::ptrdiff_t m_nGlowRangeMin = 0x3C; // int32_t + constexpr std::ptrdiff_t m_glowColorOverride = 0x40; // Color + constexpr std::ptrdiff_t m_bFlashing = 0x44; // bool + constexpr std::ptrdiff_t m_flGlowTime = 0x48; // float + constexpr std::ptrdiff_t m_flGlowStartTime = 0x4C; // float + constexpr std::ptrdiff_t m_bEligibleForScreenHighlight = 0x50; // bool + constexpr std::ptrdiff_t m_bGlowing = 0x51; // bool +} + +namespace CGradientFog { // CBaseEntity + constexpr std::ptrdiff_t m_hGradientFogTexture = 0x4B0; // CStrongHandle + constexpr std::ptrdiff_t m_flFogStartDistance = 0x4B8; // float + constexpr std::ptrdiff_t m_flFogEndDistance = 0x4BC; // float + constexpr std::ptrdiff_t m_bHeightFogEnabled = 0x4C0; // bool + constexpr std::ptrdiff_t m_flFogStartHeight = 0x4C4; // float + constexpr std::ptrdiff_t m_flFogEndHeight = 0x4C8; // float + constexpr std::ptrdiff_t m_flFarZ = 0x4CC; // float + constexpr std::ptrdiff_t m_flFogMaxOpacity = 0x4D0; // float + constexpr std::ptrdiff_t m_flFogFalloffExponent = 0x4D4; // float + constexpr std::ptrdiff_t m_flFogVerticalExponent = 0x4D8; // float + constexpr std::ptrdiff_t m_fogColor = 0x4DC; // Color + constexpr std::ptrdiff_t m_flFogStrength = 0x4E0; // float + constexpr std::ptrdiff_t m_flFadeTime = 0x4E4; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x4E8; // bool + constexpr std::ptrdiff_t m_bIsEnabled = 0x4E9; // bool + constexpr std::ptrdiff_t m_bGradientFogNeedsTextures = 0x4EA; // bool +} + +namespace CGunTarget { // CBaseToggle + constexpr std::ptrdiff_t m_on = 0x780; // bool + constexpr std::ptrdiff_t m_hTargetEnt = 0x784; // CHandle + constexpr std::ptrdiff_t m_OnDeath = 0x788; // CEntityIOOutput +} + +namespace CHEGrenade { // CBaseCSGrenade +} + +namespace CHEGrenadeProjectile { // CBaseCSGrenadeProjectile +} + +namespace CHandleDummy { // CBaseEntity +} + +namespace CHandleTest { // CBaseEntity + constexpr std::ptrdiff_t m_Handle = 0x4B0; // CHandle + constexpr std::ptrdiff_t m_bSendHandle = 0x4B4; // bool +} + +namespace CHintMessage { + constexpr std::ptrdiff_t m_hintString = 0x8; // char* + constexpr std::ptrdiff_t m_args = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_duration = 0x28; // float +} + +namespace CHintMessageQueue { + constexpr std::ptrdiff_t m_tmMessageEnd = 0x8; // float + constexpr std::ptrdiff_t m_messages = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_pPlayerController = 0x28; // CBasePlayerController* +} + +namespace CHitboxComponent { // CEntityComponent + constexpr std::ptrdiff_t m_bvDisabledHitGroups = 0x24; // uint32_t[1] +} + +namespace CHostage { // CHostageExpresserShim + constexpr std::ptrdiff_t m_OnHostageBeginGrab = 0x9E8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFirstPickedUp = 0xA10; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnDroppedNotRescued = 0xA38; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnRescued = 0xA60; // CEntityIOOutput + constexpr std::ptrdiff_t m_entitySpottedState = 0xA88; // EntitySpottedState_t + constexpr std::ptrdiff_t m_nSpotRules = 0xAA0; // int32_t + constexpr std::ptrdiff_t m_uiHostageSpawnExclusionGroupMask = 0xAA4; // uint32_t + constexpr std::ptrdiff_t m_nHostageSpawnRandomFactor = 0xAA8; // uint32_t + constexpr std::ptrdiff_t m_bRemove = 0xAAC; // bool + constexpr std::ptrdiff_t m_vel = 0xAB0; // Vector + constexpr std::ptrdiff_t m_isRescued = 0xABC; // bool + constexpr std::ptrdiff_t m_jumpedThisFrame = 0xABD; // bool + constexpr std::ptrdiff_t m_nHostageState = 0xAC0; // int32_t + constexpr std::ptrdiff_t m_leader = 0xAC4; // CHandle + constexpr std::ptrdiff_t m_lastLeader = 0xAC8; // CHandle + constexpr std::ptrdiff_t m_reuseTimer = 0xAD0; // CountdownTimer + constexpr std::ptrdiff_t m_hasBeenUsed = 0xAE8; // bool + constexpr std::ptrdiff_t m_accel = 0xAEC; // Vector + constexpr std::ptrdiff_t m_isRunning = 0xAF8; // bool + constexpr std::ptrdiff_t m_isCrouching = 0xAF9; // bool + constexpr std::ptrdiff_t m_jumpTimer = 0xB00; // CountdownTimer + constexpr std::ptrdiff_t m_isWaitingForLeader = 0xB18; // bool + constexpr std::ptrdiff_t m_repathTimer = 0x2B28; // CountdownTimer + constexpr std::ptrdiff_t m_inhibitDoorTimer = 0x2B40; // CountdownTimer + constexpr std::ptrdiff_t m_inhibitObstacleAvoidanceTimer = 0x2BD0; // CountdownTimer + constexpr std::ptrdiff_t m_wiggleTimer = 0x2BF0; // CountdownTimer + constexpr std::ptrdiff_t m_isAdjusted = 0x2C0C; // bool + constexpr std::ptrdiff_t m_bHandsHaveBeenCut = 0x2C0D; // bool + constexpr std::ptrdiff_t m_hHostageGrabber = 0x2C10; // CHandle + constexpr std::ptrdiff_t m_fLastGrabTime = 0x2C14; // GameTime_t + constexpr std::ptrdiff_t m_vecPositionWhenStartedDroppingToGround = 0x2C18; // Vector + constexpr std::ptrdiff_t m_vecGrabbedPos = 0x2C24; // Vector + constexpr std::ptrdiff_t m_flRescueStartTime = 0x2C30; // GameTime_t + constexpr std::ptrdiff_t m_flGrabSuccessTime = 0x2C34; // GameTime_t + constexpr std::ptrdiff_t m_flDropStartTime = 0x2C38; // GameTime_t + constexpr std::ptrdiff_t m_nApproachRewardPayouts = 0x2C3C; // int32_t + constexpr std::ptrdiff_t m_nPickupEventCount = 0x2C40; // int32_t + constexpr std::ptrdiff_t m_vecSpawnGroundPos = 0x2C44; // Vector +} + +namespace CHostageAlias_info_hostage_spawn { // CHostage +} + +namespace CHostageCarriableProp { // CBaseAnimGraph +} + +namespace CHostageExpresserShim { // CBaseCombatCharacter + constexpr std::ptrdiff_t m_pExpresser = 0x9D0; // CAI_Expresser* +} + +namespace CHostageRescueZone { // CHostageRescueZoneShim +} + +namespace CHostageRescueZoneShim { // CBaseTrigger +} + +namespace CInButtonState { + constexpr std::ptrdiff_t m_pButtonStates = 0x8; // uint64_t[3] +} + +namespace CIncendiaryGrenade { // CMolotovGrenade +} + +namespace CInferno { // CBaseModelEntity + constexpr std::ptrdiff_t m_firePositions = 0x710; // Vector[64] + constexpr std::ptrdiff_t m_fireParentPositions = 0xA10; // Vector[64] + constexpr std::ptrdiff_t m_bFireIsBurning = 0xD10; // bool[64] + constexpr std::ptrdiff_t m_BurnNormal = 0xD50; // Vector[64] + constexpr std::ptrdiff_t m_fireCount = 0x1050; // int32_t + constexpr std::ptrdiff_t m_nInfernoType = 0x1054; // int32_t + constexpr std::ptrdiff_t m_nFireEffectTickBegin = 0x1058; // int32_t + constexpr std::ptrdiff_t m_nFireLifetime = 0x105C; // float + constexpr std::ptrdiff_t m_bInPostEffectTime = 0x1060; // bool + constexpr std::ptrdiff_t m_nFiresExtinguishCount = 0x1064; // int32_t + constexpr std::ptrdiff_t m_bWasCreatedInSmoke = 0x1068; // bool + constexpr std::ptrdiff_t m_extent = 0x1270; // Extent + constexpr std::ptrdiff_t m_damageTimer = 0x1288; // CountdownTimer + constexpr std::ptrdiff_t m_damageRampTimer = 0x12A0; // CountdownTimer + constexpr std::ptrdiff_t m_splashVelocity = 0x12B8; // Vector + constexpr std::ptrdiff_t m_InitialSplashVelocity = 0x12C4; // Vector + constexpr std::ptrdiff_t m_startPos = 0x12D0; // Vector + constexpr std::ptrdiff_t m_vecOriginalSpawnLocation = 0x12DC; // Vector + constexpr std::ptrdiff_t m_activeTimer = 0x12E8; // IntervalTimer + constexpr std::ptrdiff_t m_fireSpawnOffset = 0x12F8; // int32_t + constexpr std::ptrdiff_t m_nMaxFlames = 0x12FC; // int32_t + constexpr std::ptrdiff_t m_BookkeepingTimer = 0x1300; // CountdownTimer + constexpr std::ptrdiff_t m_NextSpreadTimer = 0x1318; // CountdownTimer + constexpr std::ptrdiff_t m_nSourceItemDefIndex = 0x1330; // uint16_t +} + +namespace CInfoData { // CServerOnlyEntity +} + +namespace CInfoDeathmatchSpawn { // SpawnPoint +} + +namespace CInfoDynamicShadowHint { // CPointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_flRange = 0x4B4; // float + constexpr std::ptrdiff_t m_nImportance = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_nLightChoice = 0x4BC; // int32_t + constexpr std::ptrdiff_t m_hLight = 0x4C0; // CHandle +} + +namespace CInfoDynamicShadowHintBox { // CInfoDynamicShadowHint + constexpr std::ptrdiff_t m_vBoxMins = 0x4C8; // Vector + constexpr std::ptrdiff_t m_vBoxMaxs = 0x4D4; // Vector +} + +namespace CInfoEnemyTerroristSpawn { // SpawnPointCoopEnemy +} + +namespace CInfoGameEventProxy { // CPointEntity + constexpr std::ptrdiff_t m_iszEventName = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flRange = 0x4B8; // float +} + +namespace CInfoInstructorHintBombTargetA { // CPointEntity +} + +namespace CInfoInstructorHintBombTargetB { // CPointEntity +} + +namespace CInfoInstructorHintHostageRescueZone { // CPointEntity +} + +namespace CInfoInstructorHintTarget { // CPointEntity +} + +namespace CInfoLadderDismount { // CBaseEntity +} + +namespace CInfoLandmark { // CPointEntity +} + +namespace CInfoOffscreenPanoramaTexture { // CPointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_nResolutionX = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_nResolutionY = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_szLayoutFileName = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_RenderAttrName = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_TargetEntities = 0x4D0; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_nTargetChangeCount = 0x4E8; // int32_t + constexpr std::ptrdiff_t m_vecCSSClasses = 0x4F0; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_szTargetsName = 0x508; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_AdditionalTargetEntities = 0x510; // CUtlVector> +} + +namespace CInfoParticleTarget { // CPointEntity +} + +namespace CInfoPlayerCounterterrorist { // SpawnPoint +} + +namespace CInfoPlayerStart { // CPointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool +} + +namespace CInfoPlayerTerrorist { // SpawnPoint +} + +namespace CInfoSpawnGroupLandmark { // CPointEntity +} + +namespace CInfoSpawnGroupLoadUnload { // CLogicalEntity + constexpr std::ptrdiff_t m_OnSpawnGroupLoadStarted = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnSpawnGroupLoadFinished = 0x4D8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnSpawnGroupUnloadStarted = 0x500; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnSpawnGroupUnloadFinished = 0x528; // CEntityIOOutput + constexpr std::ptrdiff_t m_iszSpawnGroupName = 0x550; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSpawnGroupFilterName = 0x558; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszLandmarkName = 0x560; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sFixedSpawnGroupName = 0x568; // CUtlString + constexpr std::ptrdiff_t m_flTimeoutInterval = 0x570; // float + constexpr std::ptrdiff_t m_bStreamingStarted = 0x574; // bool + constexpr std::ptrdiff_t m_bUnloadingStarted = 0x575; // bool +} + +namespace CInfoTarget { // CPointEntity +} + +namespace CInfoTargetServerOnly { // CServerOnlyPointEntity +} + +namespace CInfoTeleportDestination { // CPointEntity +} + +namespace CInfoVisibilityBox { // CBaseEntity + constexpr std::ptrdiff_t m_nMode = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_vBoxSize = 0x4B8; // Vector + constexpr std::ptrdiff_t m_bEnabled = 0x4C4; // bool +} + +namespace CInfoWorldLayer { // CBaseEntity + constexpr std::ptrdiff_t m_pOutputOnEntitiesSpawned = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_worldName = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_layerName = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bWorldLayerVisible = 0x4E8; // bool + constexpr std::ptrdiff_t m_bEntitiesSpawned = 0x4E9; // bool + constexpr std::ptrdiff_t m_bCreateAsChildSpawnGroup = 0x4EA; // bool + constexpr std::ptrdiff_t m_hLayerSpawnGroup = 0x4EC; // uint32_t +} + +namespace CInstancedSceneEntity { // CSceneEntity + constexpr std::ptrdiff_t m_hOwner = 0xA08; // CHandle + constexpr std::ptrdiff_t m_bHadOwner = 0xA0C; // bool + constexpr std::ptrdiff_t m_flPostSpeakDelay = 0xA10; // float + constexpr std::ptrdiff_t m_flPreDelay = 0xA14; // float + constexpr std::ptrdiff_t m_bIsBackground = 0xA18; // bool +} + +namespace CInstructorEventEntity { // CPointEntity + constexpr std::ptrdiff_t m_iszName = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszHintTargetEntity = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hTargetPlayer = 0x4C0; // CHandle +} + +namespace CIronSightController { + constexpr std::ptrdiff_t m_bIronSightAvailable = 0x8; // bool + constexpr std::ptrdiff_t m_flIronSightAmount = 0xC; // float + constexpr std::ptrdiff_t m_flIronSightAmountGained = 0x10; // float + constexpr std::ptrdiff_t m_flIronSightAmountBiased = 0x14; // float +} + +namespace CItem { // CBaseAnimGraph + constexpr std::ptrdiff_t m_OnPlayerTouch = 0x898; // CEntityIOOutput + constexpr std::ptrdiff_t m_bActivateWhenAtRest = 0x8C0; // bool + constexpr std::ptrdiff_t m_OnCacheInteraction = 0x8C8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPlayerPickup = 0x8F0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnGlovePulled = 0x918; // CEntityIOOutput + constexpr std::ptrdiff_t m_vOriginalSpawnOrigin = 0x940; // Vector + constexpr std::ptrdiff_t m_vOriginalSpawnAngles = 0x94C; // QAngle + constexpr std::ptrdiff_t m_bPhysStartAsleep = 0x958; // bool +} + +namespace CItemAssaultSuit { // CItem +} + +namespace CItemDefuser { // CItem + constexpr std::ptrdiff_t m_entitySpottedState = 0x968; // EntitySpottedState_t + constexpr std::ptrdiff_t m_nSpotRules = 0x980; // int32_t +} + +namespace CItemDefuserAlias_item_defuser { // CItemDefuser +} + +namespace CItemDogtags { // CItem + constexpr std::ptrdiff_t m_OwningPlayer = 0x968; // CHandle + constexpr std::ptrdiff_t m_KillingPlayer = 0x96C; // CHandle +} + +namespace CItemGeneric { // CItem + constexpr std::ptrdiff_t m_bHasTriggerRadius = 0x970; // bool + constexpr std::ptrdiff_t m_bHasPickupRadius = 0x971; // bool + constexpr std::ptrdiff_t m_flPickupRadiusSqr = 0x974; // float + constexpr std::ptrdiff_t m_flTriggerRadiusSqr = 0x978; // float + constexpr std::ptrdiff_t m_flLastPickupCheck = 0x97C; // GameTime_t + constexpr std::ptrdiff_t m_bPlayerCounterListenerAdded = 0x980; // bool + constexpr std::ptrdiff_t m_bPlayerInTriggerRadius = 0x981; // bool + constexpr std::ptrdiff_t m_hSpawnParticleEffect = 0x988; // CStrongHandle + constexpr std::ptrdiff_t m_pAmbientSoundEffect = 0x990; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bAutoStartAmbientSound = 0x998; // bool + constexpr std::ptrdiff_t m_pSpawnScriptFunction = 0x9A0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hPickupParticleEffect = 0x9A8; // CStrongHandle + constexpr std::ptrdiff_t m_pPickupSoundEffect = 0x9B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pPickupScriptFunction = 0x9B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hTimeoutParticleEffect = 0x9C0; // CStrongHandle + constexpr std::ptrdiff_t m_pTimeoutSoundEffect = 0x9C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pTimeoutScriptFunction = 0x9D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pPickupFilterName = 0x9D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hPickupFilter = 0x9E0; // CHandle + constexpr std::ptrdiff_t m_OnPickup = 0x9E8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnTimeout = 0xA10; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnTriggerStartTouch = 0xA38; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnTriggerTouch = 0xA60; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnTriggerEndTouch = 0xA88; // CEntityIOOutput + constexpr std::ptrdiff_t m_pAllowPickupScriptFunction = 0xAB0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flPickupRadius = 0xAB8; // float + constexpr std::ptrdiff_t m_flTriggerRadius = 0xABC; // float + constexpr std::ptrdiff_t m_pTriggerSoundEffect = 0xAC0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bGlowWhenInTrigger = 0xAC8; // bool + constexpr std::ptrdiff_t m_glowColor = 0xAC9; // Color + constexpr std::ptrdiff_t m_bUseable = 0xACD; // bool + constexpr std::ptrdiff_t m_hTriggerHelper = 0xAD0; // CHandle +} + +namespace CItemGenericTriggerHelper { // CBaseModelEntity + constexpr std::ptrdiff_t m_hParentItem = 0x700; // CHandle +} + +namespace CItemHeavyAssaultSuit { // CItemAssaultSuit +} + +namespace CItemKevlar { // CItem +} + +namespace CItemSoda { // CBaseAnimGraph +} + +namespace CItem_Healthshot { // CWeaponBaseItem +} + +namespace CKeepUpright { // CPointEntity + constexpr std::ptrdiff_t m_worldGoalAxis = 0x4B8; // Vector + constexpr std::ptrdiff_t m_localTestAxis = 0x4C4; // Vector + constexpr std::ptrdiff_t m_nameAttach = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_attachedObject = 0x4E0; // CHandle + constexpr std::ptrdiff_t m_angularLimit = 0x4E4; // float + constexpr std::ptrdiff_t m_bActive = 0x4E8; // bool + constexpr std::ptrdiff_t m_bDampAllRotation = 0x4E9; // bool +} + +namespace CKnife { // CCSWeaponBase + constexpr std::ptrdiff_t m_bFirstAttack = 0xE18; // bool +} + +namespace CLightComponent { // CEntityComponent + constexpr std::ptrdiff_t __m_pChainEntity = 0x48; // CNetworkVarChainer + constexpr std::ptrdiff_t m_Color = 0x85; // Color + constexpr std::ptrdiff_t m_SecondaryColor = 0x89; // Color + constexpr std::ptrdiff_t m_flBrightness = 0x90; // float + constexpr std::ptrdiff_t m_flBrightnessScale = 0x94; // float + constexpr std::ptrdiff_t m_flBrightnessMult = 0x98; // float + constexpr std::ptrdiff_t m_flRange = 0x9C; // float + constexpr std::ptrdiff_t m_flFalloff = 0xA0; // float + constexpr std::ptrdiff_t m_flAttenuation0 = 0xA4; // float + constexpr std::ptrdiff_t m_flAttenuation1 = 0xA8; // float + constexpr std::ptrdiff_t m_flAttenuation2 = 0xAC; // float + constexpr std::ptrdiff_t m_flTheta = 0xB0; // float + constexpr std::ptrdiff_t m_flPhi = 0xB4; // float + constexpr std::ptrdiff_t m_hLightCookie = 0xB8; // CStrongHandle + constexpr std::ptrdiff_t m_nCascades = 0xC0; // int32_t + constexpr std::ptrdiff_t m_nCastShadows = 0xC4; // int32_t + constexpr std::ptrdiff_t m_nShadowWidth = 0xC8; // int32_t + constexpr std::ptrdiff_t m_nShadowHeight = 0xCC; // int32_t + constexpr std::ptrdiff_t m_bRenderDiffuse = 0xD0; // bool + constexpr std::ptrdiff_t m_nRenderSpecular = 0xD4; // int32_t + constexpr std::ptrdiff_t m_bRenderTransmissive = 0xD8; // bool + constexpr std::ptrdiff_t m_flOrthoLightWidth = 0xDC; // float + constexpr std::ptrdiff_t m_flOrthoLightHeight = 0xE0; // float + constexpr std::ptrdiff_t m_nStyle = 0xE4; // int32_t + constexpr std::ptrdiff_t m_Pattern = 0xE8; // CUtlString + constexpr std::ptrdiff_t m_nCascadeRenderStaticObjects = 0xF0; // int32_t + constexpr std::ptrdiff_t m_flShadowCascadeCrossFade = 0xF4; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistanceFade = 0xF8; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistance0 = 0xFC; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistance1 = 0x100; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistance2 = 0x104; // float + constexpr std::ptrdiff_t m_flShadowCascadeDistance3 = 0x108; // float + constexpr std::ptrdiff_t m_nShadowCascadeResolution0 = 0x10C; // int32_t + constexpr std::ptrdiff_t m_nShadowCascadeResolution1 = 0x110; // int32_t + constexpr std::ptrdiff_t m_nShadowCascadeResolution2 = 0x114; // int32_t + constexpr std::ptrdiff_t m_nShadowCascadeResolution3 = 0x118; // int32_t + constexpr std::ptrdiff_t m_bUsesBakedShadowing = 0x11C; // bool + constexpr std::ptrdiff_t m_nShadowPriority = 0x120; // int32_t + constexpr std::ptrdiff_t m_nBakedShadowIndex = 0x124; // int32_t + constexpr std::ptrdiff_t m_bRenderToCubemaps = 0x128; // bool + constexpr std::ptrdiff_t m_nDirectLight = 0x12C; // int32_t + constexpr std::ptrdiff_t m_nIndirectLight = 0x130; // int32_t + constexpr std::ptrdiff_t m_flFadeMinDist = 0x134; // float + constexpr std::ptrdiff_t m_flFadeMaxDist = 0x138; // float + constexpr std::ptrdiff_t m_flShadowFadeMinDist = 0x13C; // float + constexpr std::ptrdiff_t m_flShadowFadeMaxDist = 0x140; // float + constexpr std::ptrdiff_t m_bEnabled = 0x144; // bool + constexpr std::ptrdiff_t m_bFlicker = 0x145; // bool + constexpr std::ptrdiff_t m_bPrecomputedFieldsValid = 0x146; // bool + constexpr std::ptrdiff_t m_vPrecomputedBoundsMins = 0x148; // Vector + constexpr std::ptrdiff_t m_vPrecomputedBoundsMaxs = 0x154; // Vector + constexpr std::ptrdiff_t m_vPrecomputedOBBOrigin = 0x160; // Vector + constexpr std::ptrdiff_t m_vPrecomputedOBBAngles = 0x16C; // QAngle + constexpr std::ptrdiff_t m_vPrecomputedOBBExtent = 0x178; // Vector + constexpr std::ptrdiff_t m_flPrecomputedMaxRange = 0x184; // float + constexpr std::ptrdiff_t m_nFogLightingMode = 0x188; // int32_t + constexpr std::ptrdiff_t m_flFogContributionStength = 0x18C; // float + constexpr std::ptrdiff_t m_flNearClipPlane = 0x190; // float + constexpr std::ptrdiff_t m_SkyColor = 0x194; // Color + constexpr std::ptrdiff_t m_flSkyIntensity = 0x198; // float + constexpr std::ptrdiff_t m_SkyAmbientBounce = 0x19C; // Color + constexpr std::ptrdiff_t m_bUseSecondaryColor = 0x1A0; // bool + constexpr std::ptrdiff_t m_bMixedShadows = 0x1A1; // bool + constexpr std::ptrdiff_t m_flLightStyleStartTime = 0x1A4; // GameTime_t + constexpr std::ptrdiff_t m_flCapsuleLength = 0x1A8; // float + constexpr std::ptrdiff_t m_flMinRoughness = 0x1AC; // float + constexpr std::ptrdiff_t m_bPvsModifyEntity = 0x1C0; // bool +} + +namespace CLightDirectionalEntity { // CLightEntity +} + +namespace CLightEntity { // CBaseModelEntity + constexpr std::ptrdiff_t m_CLightComponent = 0x700; // CLightComponent* +} + +namespace CLightEnvironmentEntity { // CLightDirectionalEntity +} + +namespace CLightGlow { // CBaseModelEntity + constexpr std::ptrdiff_t m_nHorizontalSize = 0x700; // uint32_t + constexpr std::ptrdiff_t m_nVerticalSize = 0x704; // uint32_t + constexpr std::ptrdiff_t m_nMinDist = 0x708; // uint32_t + constexpr std::ptrdiff_t m_nMaxDist = 0x70C; // uint32_t + constexpr std::ptrdiff_t m_nOuterMaxDist = 0x710; // uint32_t + constexpr std::ptrdiff_t m_flGlowProxySize = 0x714; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0x718; // float +} + +namespace CLightOrthoEntity { // CLightEntity +} + +namespace CLightSpotEntity { // CLightEntity +} + +namespace CLogicAchievement { // CLogicalEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_iszAchievementEventID = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_OnFired = 0x4C0; // CEntityIOOutput +} + +namespace CLogicActiveAutosave { // CLogicAutosave + constexpr std::ptrdiff_t m_TriggerHitPoints = 0x4C0; // int32_t + constexpr std::ptrdiff_t m_flTimeToTrigger = 0x4C4; // float + constexpr std::ptrdiff_t m_flStartTime = 0x4C8; // GameTime_t + constexpr std::ptrdiff_t m_flDangerousTime = 0x4CC; // float +} + +namespace CLogicAuto { // CBaseEntity + constexpr std::ptrdiff_t m_OnMapSpawn = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnDemoMapSpawn = 0x4D8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnNewGame = 0x500; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnLoadGame = 0x528; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMapTransition = 0x550; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnBackgroundMap = 0x578; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMultiNewMap = 0x5A0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMultiNewRound = 0x5C8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnVREnabled = 0x5F0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnVRNotEnabled = 0x618; // CEntityIOOutput + constexpr std::ptrdiff_t m_globalstate = 0x640; // CUtlSymbolLarge +} + +namespace CLogicAutosave { // CLogicalEntity + constexpr std::ptrdiff_t m_bForceNewLevelUnit = 0x4B0; // bool + constexpr std::ptrdiff_t m_minHitPoints = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_minHitPointsToCommit = 0x4B8; // int32_t +} + +namespace CLogicBranch { // CLogicalEntity + constexpr std::ptrdiff_t m_bInValue = 0x4B0; // bool + constexpr std::ptrdiff_t m_Listeners = 0x4B8; // CUtlVector> + constexpr std::ptrdiff_t m_OnTrue = 0x4D0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFalse = 0x4F8; // CEntityIOOutput +} + +namespace CLogicBranchList { // CLogicalEntity + constexpr std::ptrdiff_t m_nLogicBranchNames = 0x4B0; // CUtlSymbolLarge[16] + constexpr std::ptrdiff_t m_LogicBranchList = 0x530; // CUtlVector> + constexpr std::ptrdiff_t m_eLastState = 0x548; // CLogicBranchList::LogicBranchListenerLastState_t + constexpr std::ptrdiff_t m_OnAllTrue = 0x550; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAllFalse = 0x578; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMixed = 0x5A0; // CEntityIOOutput +} + +namespace CLogicCase { // CLogicalEntity + constexpr std::ptrdiff_t m_nCase = 0x4B0; // CUtlSymbolLarge[32] + constexpr std::ptrdiff_t m_nShuffleCases = 0x5B0; // int32_t + constexpr std::ptrdiff_t m_nLastShuffleCase = 0x5B4; // int32_t + constexpr std::ptrdiff_t m_uchShuffleCaseMap = 0x5B8; // uint8_t[32] + constexpr std::ptrdiff_t m_OnCase = 0x5D8; // CEntityIOOutput[32] + constexpr std::ptrdiff_t m_OnDefault = 0xAD8; // CEntityOutputTemplate> +} + +namespace CLogicCollisionPair { // CLogicalEntity + constexpr std::ptrdiff_t m_nameAttach1 = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nameAttach2 = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_disabled = 0x4C0; // bool + constexpr std::ptrdiff_t m_succeeded = 0x4C1; // bool +} + +namespace CLogicCompare { // CLogicalEntity + constexpr std::ptrdiff_t m_flInValue = 0x4B0; // float + constexpr std::ptrdiff_t m_flCompareValue = 0x4B4; // float + constexpr std::ptrdiff_t m_OnLessThan = 0x4B8; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnEqualTo = 0x4E0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnNotEqualTo = 0x508; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnGreaterThan = 0x530; // CEntityOutputTemplate +} + +namespace CLogicDistanceAutosave { // CLogicalEntity + constexpr std::ptrdiff_t m_iszTargetEntity = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flDistanceToPlayer = 0x4B8; // float + constexpr std::ptrdiff_t m_bForceNewLevelUnit = 0x4BC; // bool + constexpr std::ptrdiff_t m_bCheckCough = 0x4BD; // bool + constexpr std::ptrdiff_t m_bThinkDangerous = 0x4BE; // bool + constexpr std::ptrdiff_t m_flDangerousTime = 0x4C0; // float +} + +namespace CLogicDistanceCheck { // CLogicalEntity + constexpr std::ptrdiff_t m_iszEntityA = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszEntityB = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flZone1Distance = 0x4C0; // float + constexpr std::ptrdiff_t m_flZone2Distance = 0x4C4; // float + constexpr std::ptrdiff_t m_InZone1 = 0x4C8; // CEntityIOOutput + constexpr std::ptrdiff_t m_InZone2 = 0x4F0; // CEntityIOOutput + constexpr std::ptrdiff_t m_InZone3 = 0x518; // CEntityIOOutput +} + +namespace CLogicGameEvent { // CLogicalEntity + constexpr std::ptrdiff_t m_iszEventName = 0x4B0; // CUtlSymbolLarge +} + +namespace CLogicGameEventListener { // CLogicalEntity + constexpr std::ptrdiff_t m_OnEventFired = 0x4C0; // CEntityIOOutput + constexpr std::ptrdiff_t m_iszGameEventName = 0x4E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszGameEventItem = 0x4F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bEnabled = 0x4F8; // bool + constexpr std::ptrdiff_t m_bStartDisabled = 0x4F9; // bool +} + +namespace CLogicLineToEntity { // CLogicalEntity + constexpr std::ptrdiff_t m_Line = 0x4B0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_SourceName = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_StartEntity = 0x4E0; // CHandle + constexpr std::ptrdiff_t m_EndEntity = 0x4E4; // CHandle +} + +namespace CLogicMeasureMovement { // CLogicalEntity + constexpr std::ptrdiff_t m_strMeasureTarget = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_strMeasureReference = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_strTargetReference = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hMeasureTarget = 0x4C8; // CHandle + constexpr std::ptrdiff_t m_hMeasureReference = 0x4CC; // CHandle + constexpr std::ptrdiff_t m_hTarget = 0x4D0; // CHandle + constexpr std::ptrdiff_t m_hTargetReference = 0x4D4; // CHandle + constexpr std::ptrdiff_t m_flScale = 0x4D8; // float + constexpr std::ptrdiff_t m_nMeasureType = 0x4DC; // int32_t +} + +namespace CLogicNPCCounter { // CBaseEntity + constexpr std::ptrdiff_t m_OnMinCountAll = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMaxCountAll = 0x4D8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFactorAll = 0x500; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnMinPlayerDistAll = 0x528; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnMinCount_1 = 0x550; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMaxCount_1 = 0x578; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFactor_1 = 0x5A0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnMinPlayerDist_1 = 0x5C8; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnMinCount_2 = 0x5F0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMaxCount_2 = 0x618; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFactor_2 = 0x640; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnMinPlayerDist_2 = 0x668; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnMinCount_3 = 0x690; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMaxCount_3 = 0x6B8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFactor_3 = 0x6E0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnMinPlayerDist_3 = 0x708; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_hSource = 0x730; // CEntityHandle + constexpr std::ptrdiff_t m_iszSourceEntityName = 0x738; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flDistanceMax = 0x740; // float + constexpr std::ptrdiff_t m_bDisabled = 0x744; // bool + constexpr std::ptrdiff_t m_nMinCountAll = 0x748; // int32_t + constexpr std::ptrdiff_t m_nMaxCountAll = 0x74C; // int32_t + constexpr std::ptrdiff_t m_nMinFactorAll = 0x750; // int32_t + constexpr std::ptrdiff_t m_nMaxFactorAll = 0x754; // int32_t + constexpr std::ptrdiff_t m_iszNPCClassname_1 = 0x760; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nNPCState_1 = 0x768; // int32_t + constexpr std::ptrdiff_t m_bInvertState_1 = 0x76C; // bool + constexpr std::ptrdiff_t m_nMinCount_1 = 0x770; // int32_t + constexpr std::ptrdiff_t m_nMaxCount_1 = 0x774; // int32_t + constexpr std::ptrdiff_t m_nMinFactor_1 = 0x778; // int32_t + constexpr std::ptrdiff_t m_nMaxFactor_1 = 0x77C; // int32_t + constexpr std::ptrdiff_t m_flDefaultDist_1 = 0x784; // float + constexpr std::ptrdiff_t m_iszNPCClassname_2 = 0x788; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nNPCState_2 = 0x790; // int32_t + constexpr std::ptrdiff_t m_bInvertState_2 = 0x794; // bool + constexpr std::ptrdiff_t m_nMinCount_2 = 0x798; // int32_t + constexpr std::ptrdiff_t m_nMaxCount_2 = 0x79C; // int32_t + constexpr std::ptrdiff_t m_nMinFactor_2 = 0x7A0; // int32_t + constexpr std::ptrdiff_t m_nMaxFactor_2 = 0x7A4; // int32_t + constexpr std::ptrdiff_t m_flDefaultDist_2 = 0x7AC; // float + constexpr std::ptrdiff_t m_iszNPCClassname_3 = 0x7B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nNPCState_3 = 0x7B8; // int32_t + constexpr std::ptrdiff_t m_bInvertState_3 = 0x7BC; // bool + constexpr std::ptrdiff_t m_nMinCount_3 = 0x7C0; // int32_t + constexpr std::ptrdiff_t m_nMaxCount_3 = 0x7C4; // int32_t + constexpr std::ptrdiff_t m_nMinFactor_3 = 0x7C8; // int32_t + constexpr std::ptrdiff_t m_nMaxFactor_3 = 0x7CC; // int32_t + constexpr std::ptrdiff_t m_flDefaultDist_3 = 0x7D4; // float +} + +namespace CLogicNPCCounterAABB { // CLogicNPCCounter + constexpr std::ptrdiff_t m_vDistanceOuterMins = 0x7F0; // Vector + constexpr std::ptrdiff_t m_vDistanceOuterMaxs = 0x7FC; // Vector + constexpr std::ptrdiff_t m_vOuterMins = 0x808; // Vector + constexpr std::ptrdiff_t m_vOuterMaxs = 0x814; // Vector +} + +namespace CLogicNPCCounterOBB { // CLogicNPCCounterAABB +} + +namespace CLogicNavigation { // CLogicalEntity + constexpr std::ptrdiff_t m_isOn = 0x4B8; // bool + constexpr std::ptrdiff_t m_navProperty = 0x4BC; // navproperties_t +} + +namespace CLogicPlayerProxy { // CLogicalEntity + constexpr std::ptrdiff_t m_hPlayer = 0x4B0; // CHandle + constexpr std::ptrdiff_t m_PlayerHasAmmo = 0x4B8; // CEntityIOOutput + constexpr std::ptrdiff_t m_PlayerHasNoAmmo = 0x4E0; // CEntityIOOutput + constexpr std::ptrdiff_t m_PlayerDied = 0x508; // CEntityIOOutput + constexpr std::ptrdiff_t m_RequestedPlayerHealth = 0x530; // CEntityOutputTemplate +} + +namespace CLogicProximity { // CPointEntity +} + +namespace CLogicRelay { // CLogicalEntity + constexpr std::ptrdiff_t m_OnTrigger = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnSpawn = 0x4D8; // CEntityIOOutput + constexpr std::ptrdiff_t m_bDisabled = 0x500; // bool + constexpr std::ptrdiff_t m_bWaitForRefire = 0x501; // bool + constexpr std::ptrdiff_t m_bTriggerOnce = 0x502; // bool + constexpr std::ptrdiff_t m_bFastRetrigger = 0x503; // bool + constexpr std::ptrdiff_t m_bPassthoughCaller = 0x504; // bool +} + +namespace CLogicScript { // CPointEntity +} + +namespace CLogicalEntity { // CServerOnlyEntity +} + +namespace CMapInfo { // CPointEntity + constexpr std::ptrdiff_t m_iBuyingStatus = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_flBombRadius = 0x4B4; // float + constexpr std::ptrdiff_t m_iPetPopulation = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_bUseNormalSpawnsForDM = 0x4BC; // bool + constexpr std::ptrdiff_t m_bDisableAutoGeneratedDMSpawns = 0x4BD; // bool + constexpr std::ptrdiff_t m_flBotMaxVisionDistance = 0x4C0; // float + constexpr std::ptrdiff_t m_iHostageCount = 0x4C4; // int32_t + constexpr std::ptrdiff_t m_bFadePlayerVisibilityFarZ = 0x4C8; // bool +} + +namespace CMapVetoPickController { // CBaseEntity + constexpr std::ptrdiff_t m_bPlayedIntroVcd = 0x4B0; // bool + constexpr std::ptrdiff_t m_bNeedToPlayFiveSecondsRemaining = 0x4B1; // bool + constexpr std::ptrdiff_t m_dblPreMatchDraftSequenceTime = 0x4D0; // double + constexpr std::ptrdiff_t m_bPreMatchDraftStateChanged = 0x4D8; // bool + constexpr std::ptrdiff_t m_nDraftType = 0x4DC; // int32_t + constexpr std::ptrdiff_t m_nTeamWinningCoinToss = 0x4E0; // int32_t + constexpr std::ptrdiff_t m_nTeamWithFirstChoice = 0x4E4; // int32_t[64] + constexpr std::ptrdiff_t m_nVoteMapIdsList = 0x5E4; // int32_t[7] + constexpr std::ptrdiff_t m_nAccountIDs = 0x600; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId0 = 0x700; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId1 = 0x800; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId2 = 0x900; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId3 = 0xA00; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId4 = 0xB00; // int32_t[64] + constexpr std::ptrdiff_t m_nMapId5 = 0xC00; // int32_t[64] + constexpr std::ptrdiff_t m_nStartingSide0 = 0xD00; // int32_t[64] + constexpr std::ptrdiff_t m_nCurrentPhase = 0xE00; // int32_t + constexpr std::ptrdiff_t m_nPhaseStartTick = 0xE04; // int32_t + constexpr std::ptrdiff_t m_nPhaseDurationTicks = 0xE08; // int32_t + constexpr std::ptrdiff_t m_OnMapVetoed = 0xE10; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnMapPicked = 0xE38; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnSidesPicked = 0xE60; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnNewPhaseStarted = 0xE88; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnLevelTransition = 0xEB0; // CEntityOutputTemplate +} + +namespace CMarkupVolume { // CBaseModelEntity + constexpr std::ptrdiff_t m_bEnabled = 0x700; // bool +} + +namespace CMarkupVolumeTagged { // CMarkupVolume + constexpr std::ptrdiff_t m_bIsGroup = 0x738; // bool + constexpr std::ptrdiff_t m_bGroupByPrefab = 0x739; // bool + constexpr std::ptrdiff_t m_bGroupByVolume = 0x73A; // bool + constexpr std::ptrdiff_t m_bGroupOtherGroups = 0x73B; // bool + constexpr std::ptrdiff_t m_bIsInGroup = 0x73C; // bool +} + +namespace CMarkupVolumeTagged_Nav { // CMarkupVolumeTagged +} + +namespace CMarkupVolumeTagged_NavGame { // CMarkupVolumeWithRef + constexpr std::ptrdiff_t m_bFloodFillAttribute = 0x758; // bool +} + +namespace CMarkupVolumeWithRef { // CMarkupVolumeTagged + constexpr std::ptrdiff_t m_bUseRef = 0x740; // bool + constexpr std::ptrdiff_t m_vRefPos = 0x744; // Vector + constexpr std::ptrdiff_t m_flRefDot = 0x750; // float +} + +namespace CMathColorBlend { // CLogicalEntity + constexpr std::ptrdiff_t m_flInMin = 0x4B0; // float + constexpr std::ptrdiff_t m_flInMax = 0x4B4; // float + constexpr std::ptrdiff_t m_OutColor1 = 0x4B8; // Color + constexpr std::ptrdiff_t m_OutColor2 = 0x4BC; // Color + constexpr std::ptrdiff_t m_OutValue = 0x4C0; // CEntityOutputTemplate +} + +namespace CMathCounter { // CLogicalEntity + constexpr std::ptrdiff_t m_flMin = 0x4B0; // float + constexpr std::ptrdiff_t m_flMax = 0x4B4; // float + constexpr std::ptrdiff_t m_bHitMin = 0x4B8; // bool + constexpr std::ptrdiff_t m_bHitMax = 0x4B9; // bool + constexpr std::ptrdiff_t m_bDisabled = 0x4BA; // bool + constexpr std::ptrdiff_t m_OutValue = 0x4C0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnGetValue = 0x4E8; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnHitMin = 0x510; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnHitMax = 0x538; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnChangedFromMin = 0x560; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnChangedFromMax = 0x588; // CEntityIOOutput +} + +namespace CMathRemap { // CLogicalEntity + constexpr std::ptrdiff_t m_flInMin = 0x4B0; // float + constexpr std::ptrdiff_t m_flInMax = 0x4B4; // float + constexpr std::ptrdiff_t m_flOut1 = 0x4B8; // float + constexpr std::ptrdiff_t m_flOut2 = 0x4BC; // float + constexpr std::ptrdiff_t m_flOldInValue = 0x4C0; // float + constexpr std::ptrdiff_t m_bEnabled = 0x4C4; // bool + constexpr std::ptrdiff_t m_OutValue = 0x4C8; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnRoseAboveMin = 0x4F0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnRoseAboveMax = 0x518; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFellBelowMin = 0x540; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFellBelowMax = 0x568; // CEntityIOOutput +} + +namespace CMelee { // CCSWeaponBase + constexpr std::ptrdiff_t m_flThrowAt = 0xE18; // GameTime_t + constexpr std::ptrdiff_t m_hThrower = 0xE1C; // CHandle + constexpr std::ptrdiff_t m_bDidThrowDamage = 0xE20; // bool +} + +namespace CMessage { // CPointEntity + constexpr std::ptrdiff_t m_iszMessage = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_MessageVolume = 0x4B8; // float + constexpr std::ptrdiff_t m_MessageAttenuation = 0x4BC; // int32_t + constexpr std::ptrdiff_t m_Radius = 0x4C0; // float + constexpr std::ptrdiff_t m_sNoise = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_OnShowMessage = 0x4D0; // CEntityIOOutput +} + +namespace CMessageEntity { // CPointEntity + constexpr std::ptrdiff_t m_radius = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_messageText = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_drawText = 0x4C0; // bool + constexpr std::ptrdiff_t m_bDeveloperOnly = 0x4C1; // bool + constexpr std::ptrdiff_t m_bEnabled = 0x4C2; // bool +} + +namespace CModelPointEntity { // CBaseModelEntity +} + +namespace CModelState { + constexpr std::ptrdiff_t m_hModel = 0xA0; // CStrongHandle + constexpr std::ptrdiff_t m_ModelName = 0xA8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bClientClothCreationSuppressed = 0xE8; // bool + constexpr std::ptrdiff_t m_MeshGroupMask = 0x180; // uint64_t + constexpr std::ptrdiff_t m_nIdealMotionType = 0x222; // int8_t + constexpr std::ptrdiff_t m_nForceLOD = 0x223; // int8_t + constexpr std::ptrdiff_t m_nClothUpdateFlags = 0x224; // int8_t +} + +namespace CMolotovGrenade { // CBaseCSGrenade +} + +namespace CMolotovProjectile { // CBaseCSGrenadeProjectile + constexpr std::ptrdiff_t m_bIsIncGrenade = 0xA30; // bool + constexpr std::ptrdiff_t m_bDetonated = 0xA3C; // bool + constexpr std::ptrdiff_t m_stillTimer = 0xA40; // IntervalTimer + constexpr std::ptrdiff_t m_bHasBouncedOffPlayer = 0xB20; // bool +} + +namespace CMomentaryRotButton { // CRotButton + constexpr std::ptrdiff_t m_Position = 0x8C8; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnUnpressed = 0x8F0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFullyOpen = 0x918; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnFullyClosed = 0x940; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnReachedPosition = 0x968; // CEntityIOOutput + constexpr std::ptrdiff_t m_lastUsed = 0x990; // int32_t + constexpr std::ptrdiff_t m_start = 0x994; // QAngle + constexpr std::ptrdiff_t m_end = 0x9A0; // QAngle + constexpr std::ptrdiff_t m_IdealYaw = 0x9AC; // float + constexpr std::ptrdiff_t m_sNoise = 0x9B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bUpdateTarget = 0x9B8; // bool + constexpr std::ptrdiff_t m_direction = 0x9BC; // int32_t + constexpr std::ptrdiff_t m_returnSpeed = 0x9C0; // float + constexpr std::ptrdiff_t m_flStartPosition = 0x9C4; // float +} + +namespace CMotorController { + constexpr std::ptrdiff_t m_speed = 0x8; // float + constexpr std::ptrdiff_t m_maxTorque = 0xC; // float + constexpr std::ptrdiff_t m_axis = 0x10; // Vector + constexpr std::ptrdiff_t m_inertiaFactor = 0x1C; // float +} + +namespace CMultiLightProxy { // CLogicalEntity + constexpr std::ptrdiff_t m_iszLightNameFilter = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszLightClassFilter = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flLightRadiusFilter = 0x4C0; // float + constexpr std::ptrdiff_t m_flBrightnessDelta = 0x4C4; // float + constexpr std::ptrdiff_t m_bPerformScreenFade = 0x4C8; // bool + constexpr std::ptrdiff_t m_flTargetBrightnessMultiplier = 0x4CC; // float + constexpr std::ptrdiff_t m_flCurrentBrightnessMultiplier = 0x4D0; // float + constexpr std::ptrdiff_t m_vecLights = 0x4D8; // CUtlVector> +} + +namespace CMultiSource { // CLogicalEntity + constexpr std::ptrdiff_t m_rgEntities = 0x4B0; // CHandle[32] + constexpr std::ptrdiff_t m_rgTriggered = 0x530; // int32_t[32] + constexpr std::ptrdiff_t m_OnTrigger = 0x5B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_iTotal = 0x5D8; // int32_t + constexpr std::ptrdiff_t m_globalstate = 0x5E0; // CUtlSymbolLarge +} + +namespace CMultiplayRules { // CGameRules +} + +namespace CMultiplayer_Expresser { // CAI_ExpresserWithFollowup + constexpr std::ptrdiff_t m_bAllowMultipleScenes = 0x70; // bool +} + +namespace CNavHullPresetVData { + constexpr std::ptrdiff_t m_vecNavHulls = 0x0; // CUtlVector +} + +namespace CNavHullVData { + constexpr std::ptrdiff_t m_bAgentEnabled = 0x0; // bool + constexpr std::ptrdiff_t m_agentRadius = 0x4; // float + constexpr std::ptrdiff_t m_agentHeight = 0x8; // float + constexpr std::ptrdiff_t m_agentShortHeightEnabled = 0xC; // bool + constexpr std::ptrdiff_t m_agentShortHeight = 0x10; // float + constexpr std::ptrdiff_t m_agentMaxClimb = 0x14; // float + constexpr std::ptrdiff_t m_agentMaxSlope = 0x18; // int32_t + constexpr std::ptrdiff_t m_agentMaxJumpDownDist = 0x1C; // float + constexpr std::ptrdiff_t m_agentMaxJumpHorizDistBase = 0x20; // float + constexpr std::ptrdiff_t m_agentMaxJumpUpDist = 0x24; // float + constexpr std::ptrdiff_t m_agentBorderErosion = 0x28; // int32_t +} + +namespace CNavLinkAnimgraphVar { + constexpr std::ptrdiff_t m_strAnimgraphVar = 0x0; // CUtlString + constexpr std::ptrdiff_t m_unAlignmentDegrees = 0x8; // uint32_t +} + +namespace CNavLinkAreaEntity { // CPointEntity + constexpr std::ptrdiff_t m_flWidth = 0x4B0; // float + constexpr std::ptrdiff_t m_vLocatorOffset = 0x4B4; // Vector + constexpr std::ptrdiff_t m_qLocatorAnglesOffset = 0x4C0; // QAngle + constexpr std::ptrdiff_t m_strMovementForward = 0x4D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_strMovementReverse = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nNavLinkIdForward = 0x4E0; // int32_t + constexpr std::ptrdiff_t m_nNavLinkIdReverse = 0x4E4; // int32_t + constexpr std::ptrdiff_t m_bEnabled = 0x4E8; // bool + constexpr std::ptrdiff_t m_strFilterName = 0x4F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hFilter = 0x4F8; // CHandle + constexpr std::ptrdiff_t m_OnNavLinkStart = 0x500; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnNavLinkFinish = 0x528; // CEntityIOOutput + constexpr std::ptrdiff_t m_bIsTerminus = 0x550; // bool +} + +namespace CNavLinkMovementVData { + constexpr std::ptrdiff_t m_bIsInterpolated = 0x0; // bool + constexpr std::ptrdiff_t m_unRecommendedDistance = 0x4; // uint32_t + constexpr std::ptrdiff_t m_vecAnimgraphVars = 0x8; // CUtlVector +} + +namespace CNavSpaceInfo { // CPointEntity + constexpr std::ptrdiff_t m_bCreateFlightSpace = 0x4B0; // bool +} + +namespace CNavVolume { +} + +namespace CNavVolumeAll { // CNavVolumeVector +} + +namespace CNavVolumeBreadthFirstSearch { // CNavVolumeCalculatedVector + constexpr std::ptrdiff_t m_vStartPos = 0xA0; // Vector + constexpr std::ptrdiff_t m_flSearchDist = 0xAC; // float +} + +namespace CNavVolumeCalculatedVector { // CNavVolume +} + +namespace CNavVolumeMarkupVolume { // CNavVolume +} + +namespace CNavVolumeSphere { // CNavVolume + constexpr std::ptrdiff_t m_vCenter = 0x70; // Vector + constexpr std::ptrdiff_t m_flRadius = 0x7C; // float +} + +namespace CNavVolumeSphericalShell { // CNavVolumeSphere + constexpr std::ptrdiff_t m_flRadiusInner = 0x80; // float +} + +namespace CNavVolumeVector { // CNavVolume + constexpr std::ptrdiff_t m_bHasBeenPreFiltered = 0x78; // bool +} + +namespace CNavWalkable { // CPointEntity +} + +namespace CNetworkOriginCellCoordQuantizedVector { + constexpr std::ptrdiff_t m_cellX = 0x10; // uint16_t + constexpr std::ptrdiff_t m_cellY = 0x12; // uint16_t + constexpr std::ptrdiff_t m_cellZ = 0x14; // uint16_t + constexpr std::ptrdiff_t m_nOutsideWorld = 0x16; // uint16_t + constexpr std::ptrdiff_t m_vecX = 0x18; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_vecY = 0x20; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_vecZ = 0x28; // CNetworkedQuantizedFloat +} + +namespace CNetworkOriginQuantizedVector { + constexpr std::ptrdiff_t m_vecX = 0x10; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_vecY = 0x18; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_vecZ = 0x20; // CNetworkedQuantizedFloat +} + +namespace CNetworkTransmitComponent { + constexpr std::ptrdiff_t m_nTransmitStateOwnedCounter = 0x16C; // uint8_t +} + +namespace CNetworkVelocityVector { + constexpr std::ptrdiff_t m_vecX = 0x10; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_vecY = 0x18; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_vecZ = 0x20; // CNetworkedQuantizedFloat +} + +namespace CNetworkViewOffsetVector { + constexpr std::ptrdiff_t m_vecX = 0x10; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_vecY = 0x18; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_vecZ = 0x20; // CNetworkedQuantizedFloat +} + +namespace CNetworkedSequenceOperation { + constexpr std::ptrdiff_t m_hSequence = 0x8; // HSequence + constexpr std::ptrdiff_t m_flPrevCycle = 0xC; // float + constexpr std::ptrdiff_t m_flCycle = 0x10; // float + constexpr std::ptrdiff_t m_flWeight = 0x14; // CNetworkedQuantizedFloat + constexpr std::ptrdiff_t m_bSequenceChangeNetworked = 0x1C; // bool + constexpr std::ptrdiff_t m_bDiscontinuity = 0x1D; // bool + constexpr std::ptrdiff_t m_flPrevCycleFromDiscontinuity = 0x20; // float + constexpr std::ptrdiff_t m_flPrevCycleForAnimEventDetection = 0x24; // float +} + +namespace CNullEntity { // CBaseEntity +} + +namespace COmniLight { // CBarnLight + constexpr std::ptrdiff_t m_flInnerAngle = 0x928; // float + constexpr std::ptrdiff_t m_flOuterAngle = 0x92C; // float + constexpr std::ptrdiff_t m_bShowLight = 0x930; // bool +} + +namespace COrnamentProp { // CDynamicProp + constexpr std::ptrdiff_t m_initialOwner = 0xB08; // CUtlSymbolLarge +} + +namespace CParticleSystem { // CBaseModelEntity + constexpr std::ptrdiff_t m_szSnapshotFileName = 0x700; // char[512] + constexpr std::ptrdiff_t m_bActive = 0x900; // bool + constexpr std::ptrdiff_t m_bFrozen = 0x901; // bool + constexpr std::ptrdiff_t m_flFreezeTransitionDuration = 0x904; // float + constexpr std::ptrdiff_t m_nStopType = 0x908; // int32_t + constexpr std::ptrdiff_t m_bAnimateDuringGameplayPause = 0x90C; // bool + constexpr std::ptrdiff_t m_iEffectIndex = 0x910; // CStrongHandle + constexpr std::ptrdiff_t m_flStartTime = 0x918; // GameTime_t + constexpr std::ptrdiff_t m_flPreSimTime = 0x91C; // float + constexpr std::ptrdiff_t m_vServerControlPoints = 0x920; // Vector[4] + constexpr std::ptrdiff_t m_iServerControlPointAssignments = 0x950; // uint8_t[4] + constexpr std::ptrdiff_t m_hControlPointEnts = 0x954; // CHandle[64] + constexpr std::ptrdiff_t m_bNoSave = 0xA54; // bool + constexpr std::ptrdiff_t m_bNoFreeze = 0xA55; // bool + constexpr std::ptrdiff_t m_bNoRamp = 0xA56; // bool + constexpr std::ptrdiff_t m_bStartActive = 0xA57; // bool + constexpr std::ptrdiff_t m_iszEffectName = 0xA58; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszControlPointNames = 0xA60; // CUtlSymbolLarge[64] + constexpr std::ptrdiff_t m_nDataCP = 0xC60; // int32_t + constexpr std::ptrdiff_t m_vecDataCPValue = 0xC64; // Vector + constexpr std::ptrdiff_t m_nTintCP = 0xC70; // int32_t + constexpr std::ptrdiff_t m_clrTint = 0xC74; // Color +} + +namespace CPathCorner { // CPointEntity + constexpr std::ptrdiff_t m_flWait = 0x4B0; // float + constexpr std::ptrdiff_t m_flRadius = 0x4B4; // float + constexpr std::ptrdiff_t m_OnPass = 0x4B8; // CEntityIOOutput +} + +namespace CPathCornerCrash { // CPathCorner +} + +namespace CPathKeyFrame { // CLogicalEntity + constexpr std::ptrdiff_t m_Origin = 0x4B0; // Vector + constexpr std::ptrdiff_t m_Angles = 0x4BC; // QAngle + constexpr std::ptrdiff_t m_qAngle = 0x4D0; // Quaternion + constexpr std::ptrdiff_t m_iNextKey = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flNextTime = 0x4E8; // float + constexpr std::ptrdiff_t m_pNextKey = 0x4F0; // CPathKeyFrame* + constexpr std::ptrdiff_t m_pPrevKey = 0x4F8; // CPathKeyFrame* + constexpr std::ptrdiff_t m_flSpeed = 0x500; // float +} + +namespace CPathParticleRope { // CBaseEntity + constexpr std::ptrdiff_t m_bStartActive = 0x4B0; // bool + constexpr std::ptrdiff_t m_flMaxSimulationTime = 0x4B4; // float + constexpr std::ptrdiff_t m_iszEffectName = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_PathNodes_Name = 0x4C0; // CUtlVector + constexpr std::ptrdiff_t m_flParticleSpacing = 0x4D8; // float + constexpr std::ptrdiff_t m_flSlack = 0x4DC; // float + constexpr std::ptrdiff_t m_flRadius = 0x4E0; // float + constexpr std::ptrdiff_t m_ColorTint = 0x4E4; // Color + constexpr std::ptrdiff_t m_nEffectState = 0x4E8; // int32_t + constexpr std::ptrdiff_t m_iEffectIndex = 0x4F0; // CStrongHandle + constexpr std::ptrdiff_t m_PathNodes_Position = 0x4F8; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_TangentIn = 0x510; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_TangentOut = 0x528; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_Color = 0x540; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_PinEnabled = 0x558; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_PathNodes_RadiusScale = 0x570; // CNetworkUtlVectorBase +} + +namespace CPathParticleRopeAlias_path_particle_rope_clientside { // CPathParticleRope +} + +namespace CPathTrack { // CPointEntity + constexpr std::ptrdiff_t m_pnext = 0x4B0; // CPathTrack* + constexpr std::ptrdiff_t m_pprevious = 0x4B8; // CPathTrack* + constexpr std::ptrdiff_t m_paltpath = 0x4C0; // CPathTrack* + constexpr std::ptrdiff_t m_flRadius = 0x4C8; // float + constexpr std::ptrdiff_t m_length = 0x4CC; // float + constexpr std::ptrdiff_t m_altName = 0x4D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nIterVal = 0x4D8; // int32_t + constexpr std::ptrdiff_t m_eOrientationType = 0x4DC; // TrackOrientationType_t + constexpr std::ptrdiff_t m_OnPass = 0x4E0; // CEntityIOOutput +} + +namespace CPhysBallSocket { // CPhysConstraint + constexpr std::ptrdiff_t m_flFriction = 0x508; // float + constexpr std::ptrdiff_t m_bEnableSwingLimit = 0x50C; // bool + constexpr std::ptrdiff_t m_flSwingLimit = 0x510; // float + constexpr std::ptrdiff_t m_bEnableTwistLimit = 0x514; // bool + constexpr std::ptrdiff_t m_flMinTwistAngle = 0x518; // float + constexpr std::ptrdiff_t m_flMaxTwistAngle = 0x51C; // float +} + +namespace CPhysBox { // CBreakable + constexpr std::ptrdiff_t m_damageType = 0x7C0; // int32_t + constexpr std::ptrdiff_t m_massScale = 0x7C4; // float + constexpr std::ptrdiff_t m_damageToEnableMotion = 0x7C8; // int32_t + constexpr std::ptrdiff_t m_flForceToEnableMotion = 0x7CC; // float + constexpr std::ptrdiff_t m_angPreferredCarryAngles = 0x7D0; // QAngle + constexpr std::ptrdiff_t m_bNotSolidToWorld = 0x7DC; // bool + constexpr std::ptrdiff_t m_bEnableUseOutput = 0x7DD; // bool + constexpr std::ptrdiff_t m_iExploitableByPlayer = 0x7E0; // int32_t + constexpr std::ptrdiff_t m_flTouchOutputPerEntityDelay = 0x7E4; // float + constexpr std::ptrdiff_t m_OnDamaged = 0x7E8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAwakened = 0x810; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMotionEnabled = 0x838; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPlayerUse = 0x860; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnStartTouch = 0x888; // CEntityIOOutput + constexpr std::ptrdiff_t m_hCarryingPlayer = 0x8B0; // CHandle +} + +namespace CPhysConstraint { // CLogicalEntity + constexpr std::ptrdiff_t m_nameAttach1 = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nameAttach2 = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_breakSound = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_forceLimit = 0x4D0; // float + constexpr std::ptrdiff_t m_torqueLimit = 0x4D4; // float + constexpr std::ptrdiff_t m_teleportTick = 0x4D8; // uint32_t + constexpr std::ptrdiff_t m_minTeleportDistance = 0x4DC; // float + constexpr std::ptrdiff_t m_OnBreak = 0x4E0; // CEntityIOOutput +} + +namespace CPhysExplosion { // CPointEntity + constexpr std::ptrdiff_t m_bExplodeOnSpawn = 0x4B0; // bool + constexpr std::ptrdiff_t m_flMagnitude = 0x4B4; // float + constexpr std::ptrdiff_t m_flDamage = 0x4B8; // float + constexpr std::ptrdiff_t m_radius = 0x4BC; // float + constexpr std::ptrdiff_t m_targetEntityName = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flInnerRadius = 0x4C8; // float + constexpr std::ptrdiff_t m_flPushScale = 0x4CC; // float + constexpr std::ptrdiff_t m_bConvertToDebrisWhenPossible = 0x4D0; // bool + constexpr std::ptrdiff_t m_OnPushedPlayer = 0x4D8; // CEntityIOOutput +} + +namespace CPhysFixed { // CPhysConstraint + constexpr std::ptrdiff_t m_flLinearFrequency = 0x508; // float + constexpr std::ptrdiff_t m_flLinearDampingRatio = 0x50C; // float + constexpr std::ptrdiff_t m_flAngularFrequency = 0x510; // float + constexpr std::ptrdiff_t m_flAngularDampingRatio = 0x514; // float + constexpr std::ptrdiff_t m_bEnableLinearConstraint = 0x518; // bool + constexpr std::ptrdiff_t m_bEnableAngularConstraint = 0x519; // bool +} + +namespace CPhysForce { // CPointEntity + constexpr std::ptrdiff_t m_nameAttach = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_force = 0x4C0; // float + constexpr std::ptrdiff_t m_forceTime = 0x4C4; // float + constexpr std::ptrdiff_t m_attachedObject = 0x4C8; // CHandle + constexpr std::ptrdiff_t m_wasRestored = 0x4CC; // bool + constexpr std::ptrdiff_t m_integrator = 0x4D0; // CConstantForceController +} + +namespace CPhysHinge { // CPhysConstraint + constexpr std::ptrdiff_t m_soundInfo = 0x510; // ConstraintSoundInfo + constexpr std::ptrdiff_t m_NotifyMinLimitReached = 0x598; // CEntityIOOutput + constexpr std::ptrdiff_t m_NotifyMaxLimitReached = 0x5C0; // CEntityIOOutput + constexpr std::ptrdiff_t m_bAtMinLimit = 0x5E8; // bool + constexpr std::ptrdiff_t m_bAtMaxLimit = 0x5E9; // bool + constexpr std::ptrdiff_t m_hinge = 0x5EC; // constraint_hingeparams_t + constexpr std::ptrdiff_t m_hingeFriction = 0x62C; // float + constexpr std::ptrdiff_t m_systemLoadScale = 0x630; // float + constexpr std::ptrdiff_t m_bIsAxisLocal = 0x634; // bool + constexpr std::ptrdiff_t m_flMinRotation = 0x638; // float + constexpr std::ptrdiff_t m_flMaxRotation = 0x63C; // float + constexpr std::ptrdiff_t m_flInitialRotation = 0x640; // float + constexpr std::ptrdiff_t m_flMotorFrequency = 0x644; // float + constexpr std::ptrdiff_t m_flMotorDampingRatio = 0x648; // float + constexpr std::ptrdiff_t m_flAngleSpeed = 0x64C; // float + constexpr std::ptrdiff_t m_flAngleSpeedThreshold = 0x650; // float + constexpr std::ptrdiff_t m_OnStartMoving = 0x658; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnStopMoving = 0x680; // CEntityIOOutput +} + +namespace CPhysHingeAlias_phys_hinge_local { // CPhysHinge +} + +namespace CPhysImpact { // CPointEntity + constexpr std::ptrdiff_t m_damage = 0x4B0; // float + constexpr std::ptrdiff_t m_distance = 0x4B4; // float + constexpr std::ptrdiff_t m_directionEntityName = 0x4B8; // CUtlSymbolLarge +} + +namespace CPhysLength { // CPhysConstraint + constexpr std::ptrdiff_t m_offset = 0x508; // Vector[2] + constexpr std::ptrdiff_t m_vecAttach = 0x520; // Vector + constexpr std::ptrdiff_t m_addLength = 0x52C; // float + constexpr std::ptrdiff_t m_minLength = 0x530; // float + constexpr std::ptrdiff_t m_totalLength = 0x534; // float + constexpr std::ptrdiff_t m_bEnableCollision = 0x538; // bool +} + +namespace CPhysMagnet { // CBaseAnimGraph + constexpr std::ptrdiff_t m_OnMagnetAttach = 0x890; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnMagnetDetach = 0x8B8; // CEntityIOOutput + constexpr std::ptrdiff_t m_massScale = 0x8E0; // float + constexpr std::ptrdiff_t m_forceLimit = 0x8E4; // float + constexpr std::ptrdiff_t m_torqueLimit = 0x8E8; // float + constexpr std::ptrdiff_t m_MagnettedEntities = 0x8F0; // CUtlVector + constexpr std::ptrdiff_t m_bActive = 0x908; // bool + constexpr std::ptrdiff_t m_bHasHitSomething = 0x909; // bool + constexpr std::ptrdiff_t m_flTotalMass = 0x90C; // float + constexpr std::ptrdiff_t m_flRadius = 0x910; // float + constexpr std::ptrdiff_t m_flNextSuckTime = 0x914; // GameTime_t + constexpr std::ptrdiff_t m_iMaxObjectsAttached = 0x918; // int32_t +} + +namespace CPhysMotor { // CLogicalEntity + constexpr std::ptrdiff_t m_nameAttach = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hAttachedObject = 0x4B8; // CHandle + constexpr std::ptrdiff_t m_spinUp = 0x4BC; // float + constexpr std::ptrdiff_t m_additionalAcceleration = 0x4C0; // float + constexpr std::ptrdiff_t m_angularAcceleration = 0x4C4; // float + constexpr std::ptrdiff_t m_lastTime = 0x4C8; // GameTime_t + constexpr std::ptrdiff_t m_motor = 0x4E0; // CMotorController +} + +namespace CPhysPulley { // CPhysConstraint + constexpr std::ptrdiff_t m_position2 = 0x508; // Vector + constexpr std::ptrdiff_t m_offset = 0x514; // Vector[2] + constexpr std::ptrdiff_t m_addLength = 0x52C; // float + constexpr std::ptrdiff_t m_gearRatio = 0x530; // float +} + +namespace CPhysSlideConstraint { // CPhysConstraint + constexpr std::ptrdiff_t m_axisEnd = 0x510; // Vector + constexpr std::ptrdiff_t m_slideFriction = 0x51C; // float + constexpr std::ptrdiff_t m_systemLoadScale = 0x520; // float + constexpr std::ptrdiff_t m_initialOffset = 0x524; // float + constexpr std::ptrdiff_t m_bEnableLinearConstraint = 0x528; // bool + constexpr std::ptrdiff_t m_bEnableAngularConstraint = 0x529; // bool + constexpr std::ptrdiff_t m_flMotorFrequency = 0x52C; // float + constexpr std::ptrdiff_t m_flMotorDampingRatio = 0x530; // float + constexpr std::ptrdiff_t m_bUseEntityPivot = 0x534; // bool + constexpr std::ptrdiff_t m_soundInfo = 0x538; // ConstraintSoundInfo +} + +namespace CPhysThruster { // CPhysForce + constexpr std::ptrdiff_t m_localOrigin = 0x510; // Vector +} + +namespace CPhysTorque { // CPhysForce + constexpr std::ptrdiff_t m_axis = 0x510; // Vector +} + +namespace CPhysWheelConstraint { // CPhysConstraint + constexpr std::ptrdiff_t m_flSuspensionFrequency = 0x508; // float + constexpr std::ptrdiff_t m_flSuspensionDampingRatio = 0x50C; // float + constexpr std::ptrdiff_t m_flSuspensionHeightOffset = 0x510; // float + constexpr std::ptrdiff_t m_bEnableSuspensionLimit = 0x514; // bool + constexpr std::ptrdiff_t m_flMinSuspensionOffset = 0x518; // float + constexpr std::ptrdiff_t m_flMaxSuspensionOffset = 0x51C; // float + constexpr std::ptrdiff_t m_bEnableSteeringLimit = 0x520; // bool + constexpr std::ptrdiff_t m_flMinSteeringAngle = 0x524; // float + constexpr std::ptrdiff_t m_flMaxSteeringAngle = 0x528; // float + constexpr std::ptrdiff_t m_flSteeringAxisFriction = 0x52C; // float + constexpr std::ptrdiff_t m_flSpinAxisFriction = 0x530; // float +} + +namespace CPhysicalButton { // CBaseButton +} + +namespace CPhysicsEntitySolver { // CLogicalEntity + constexpr std::ptrdiff_t m_hMovingEntity = 0x4B8; // CHandle + constexpr std::ptrdiff_t m_hPhysicsBlocker = 0x4BC; // CHandle + constexpr std::ptrdiff_t m_separationDuration = 0x4C0; // float + constexpr std::ptrdiff_t m_cancelTime = 0x4C4; // GameTime_t +} + +namespace CPhysicsProp { // CBreakableProp + constexpr std::ptrdiff_t m_MotionEnabled = 0xA10; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAwakened = 0xA38; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAwake = 0xA60; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnAsleep = 0xA88; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPlayerUse = 0xAB0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPlayerPickup = 0xAD8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnOutOfWorld = 0xB00; // CEntityIOOutput + constexpr std::ptrdiff_t m_massScale = 0xB28; // float + constexpr std::ptrdiff_t m_inertiaScale = 0xB2C; // float + constexpr std::ptrdiff_t m_buoyancyScale = 0xB30; // float + constexpr std::ptrdiff_t m_damageType = 0xB34; // int32_t + constexpr std::ptrdiff_t m_damageToEnableMotion = 0xB38; // int32_t + constexpr std::ptrdiff_t m_flForceToEnableMotion = 0xB3C; // float + constexpr std::ptrdiff_t m_bThrownByPlayer = 0xB40; // bool + constexpr std::ptrdiff_t m_bDroppedByPlayer = 0xB41; // bool + constexpr std::ptrdiff_t m_bTouchedByPlayer = 0xB42; // bool + constexpr std::ptrdiff_t m_bFirstCollisionAfterLaunch = 0xB43; // bool + constexpr std::ptrdiff_t m_iExploitableByPlayer = 0xB44; // int32_t + constexpr std::ptrdiff_t m_bHasBeenAwakened = 0xB48; // bool + constexpr std::ptrdiff_t m_bIsOverrideProp = 0xB49; // bool + constexpr std::ptrdiff_t m_fNextCheckDisableMotionContactsTime = 0xB4C; // GameTime_t + constexpr std::ptrdiff_t m_iInitialGlowState = 0xB50; // int32_t + constexpr std::ptrdiff_t m_nGlowRange = 0xB54; // int32_t + constexpr std::ptrdiff_t m_nGlowRangeMin = 0xB58; // int32_t + constexpr std::ptrdiff_t m_glowColor = 0xB5C; // Color + constexpr std::ptrdiff_t m_bForceNavIgnore = 0xB60; // bool + constexpr std::ptrdiff_t m_bNoNavmeshBlocker = 0xB61; // bool + constexpr std::ptrdiff_t m_bForceNpcExclude = 0xB62; // bool + constexpr std::ptrdiff_t m_bShouldAutoConvertBackFromDebris = 0xB63; // bool + constexpr std::ptrdiff_t m_bMuteImpactEffects = 0xB64; // bool + constexpr std::ptrdiff_t m_bAcceptDamageFromHeldObjects = 0xB6C; // bool + constexpr std::ptrdiff_t m_bEnableUseOutput = 0xB6D; // bool + constexpr std::ptrdiff_t m_bAwake = 0xB6E; // bool + constexpr std::ptrdiff_t m_nCollisionGroupOverride = 0xB70; // int32_t +} + +namespace CPhysicsPropMultiplayer { // CPhysicsProp +} + +namespace CPhysicsPropOverride { // CPhysicsProp +} + +namespace CPhysicsPropRespawnable { // CPhysicsProp + constexpr std::ptrdiff_t m_vOriginalSpawnOrigin = 0xB78; // Vector + constexpr std::ptrdiff_t m_vOriginalSpawnAngles = 0xB84; // QAngle + constexpr std::ptrdiff_t m_vOriginalMins = 0xB90; // Vector + constexpr std::ptrdiff_t m_vOriginalMaxs = 0xB9C; // Vector + constexpr std::ptrdiff_t m_flRespawnDuration = 0xBA8; // float +} + +namespace CPhysicsShake { + constexpr std::ptrdiff_t m_force = 0x8; // Vector +} + +namespace CPhysicsSpring { // CBaseEntity + constexpr std::ptrdiff_t m_flFrequency = 0x4B8; // float + constexpr std::ptrdiff_t m_flDampingRatio = 0x4BC; // float + constexpr std::ptrdiff_t m_flRestLength = 0x4C0; // float + constexpr std::ptrdiff_t m_nameAttachStart = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nameAttachEnd = 0x4D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_start = 0x4D8; // Vector + constexpr std::ptrdiff_t m_end = 0x4E4; // Vector + constexpr std::ptrdiff_t m_teleportTick = 0x4F0; // uint32_t +} + +namespace CPhysicsWire { // CBaseEntity + constexpr std::ptrdiff_t m_nDensity = 0x4B0; // int32_t +} + +namespace CPlantedC4 { // CBaseAnimGraph + constexpr std::ptrdiff_t m_bBombTicking = 0x890; // bool + constexpr std::ptrdiff_t m_flC4Blow = 0x894; // GameTime_t + constexpr std::ptrdiff_t m_nBombSite = 0x898; // int32_t + constexpr std::ptrdiff_t m_nSourceSoundscapeHash = 0x89C; // int32_t + constexpr std::ptrdiff_t m_OnBombDefused = 0x8A0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnBombBeginDefuse = 0x8C8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnBombDefuseAborted = 0x8F0; // CEntityIOOutput + constexpr std::ptrdiff_t m_bCannotBeDefused = 0x918; // bool + constexpr std::ptrdiff_t m_entitySpottedState = 0x920; // EntitySpottedState_t + constexpr std::ptrdiff_t m_nSpotRules = 0x938; // int32_t + constexpr std::ptrdiff_t m_bTrainingPlacedByPlayer = 0x93C; // bool + constexpr std::ptrdiff_t m_bHasExploded = 0x93D; // bool + constexpr std::ptrdiff_t m_flTimerLength = 0x940; // float + constexpr std::ptrdiff_t m_bBeingDefused = 0x944; // bool + constexpr std::ptrdiff_t m_fLastDefuseTime = 0x94C; // GameTime_t + constexpr std::ptrdiff_t m_flDefuseLength = 0x954; // float + constexpr std::ptrdiff_t m_flDefuseCountDown = 0x958; // GameTime_t + constexpr std::ptrdiff_t m_bBombDefused = 0x95C; // bool + constexpr std::ptrdiff_t m_hBombDefuser = 0x960; // CHandle + constexpr std::ptrdiff_t m_hControlPanel = 0x964; // CHandle + constexpr std::ptrdiff_t m_iProgressBarTime = 0x968; // int32_t + constexpr std::ptrdiff_t m_bVoiceAlertFired = 0x96C; // bool + constexpr std::ptrdiff_t m_bVoiceAlertPlayed = 0x96D; // bool[4] + constexpr std::ptrdiff_t m_flNextBotBeepTime = 0x974; // GameTime_t + constexpr std::ptrdiff_t m_bPlantedAfterPickup = 0x97C; // bool + constexpr std::ptrdiff_t m_angCatchUpToPlayerEye = 0x980; // QAngle + constexpr std::ptrdiff_t m_flLastSpinDetectionTime = 0x98C; // GameTime_t +} + +namespace CPlatTrigger { // CBaseModelEntity + constexpr std::ptrdiff_t m_pPlatform = 0x700; // CHandle +} + +namespace CPlayerControllerComponent { + constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer +} + +namespace CPlayerPawnComponent { + constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer +} + +namespace CPlayerPing { // CBaseEntity + constexpr std::ptrdiff_t m_hPlayer = 0x4B8; // CHandle + constexpr std::ptrdiff_t m_hPingedEntity = 0x4BC; // CHandle + constexpr std::ptrdiff_t m_iType = 0x4C0; // int32_t + constexpr std::ptrdiff_t m_bUrgent = 0x4C4; // bool + constexpr std::ptrdiff_t m_szPlaceName = 0x4C5; // char[18] +} + +namespace CPlayerSprayDecal { // CModelPointEntity + constexpr std::ptrdiff_t m_nUniqueID = 0x700; // int32_t + constexpr std::ptrdiff_t m_unAccountID = 0x704; // uint32_t + constexpr std::ptrdiff_t m_unTraceID = 0x708; // uint32_t + constexpr std::ptrdiff_t m_rtGcTime = 0x70C; // uint32_t + constexpr std::ptrdiff_t m_vecEndPos = 0x710; // Vector + constexpr std::ptrdiff_t m_vecStart = 0x71C; // Vector + constexpr std::ptrdiff_t m_vecLeft = 0x728; // Vector + constexpr std::ptrdiff_t m_vecNormal = 0x734; // Vector + constexpr std::ptrdiff_t m_nPlayer = 0x740; // int32_t + constexpr std::ptrdiff_t m_nEntity = 0x744; // int32_t + constexpr std::ptrdiff_t m_nHitbox = 0x748; // int32_t + constexpr std::ptrdiff_t m_flCreationTime = 0x74C; // float + constexpr std::ptrdiff_t m_nTintID = 0x750; // int32_t + constexpr std::ptrdiff_t m_nVersion = 0x754; // uint8_t + constexpr std::ptrdiff_t m_ubSignature = 0x755; // uint8_t[128] +} + +namespace CPlayerVisibility { // CBaseEntity + constexpr std::ptrdiff_t m_flVisibilityStrength = 0x4B0; // float + constexpr std::ptrdiff_t m_flFogDistanceMultiplier = 0x4B4; // float + constexpr std::ptrdiff_t m_flFogMaxDensityMultiplier = 0x4B8; // float + constexpr std::ptrdiff_t m_flFadeTime = 0x4BC; // float + constexpr std::ptrdiff_t m_bStartDisabled = 0x4C0; // bool + constexpr std::ptrdiff_t m_bIsEnabled = 0x4C1; // bool +} + +namespace CPlayer_AutoaimServices { // CPlayerPawnComponent +} + +namespace CPlayer_CameraServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_vecCsViewPunchAngle = 0x40; // QAngle + constexpr std::ptrdiff_t m_nCsViewPunchAngleTick = 0x4C; // GameTick_t + constexpr std::ptrdiff_t m_flCsViewPunchAngleTickRatio = 0x50; // float + constexpr std::ptrdiff_t m_PlayerFog = 0x58; // fogplayerparams_t + constexpr std::ptrdiff_t m_hColorCorrectionCtrl = 0x98; // CHandle + constexpr std::ptrdiff_t m_hViewEntity = 0x9C; // CHandle + constexpr std::ptrdiff_t m_hTonemapController = 0xA0; // CHandle + constexpr std::ptrdiff_t m_audio = 0xA8; // audioparams_t + constexpr std::ptrdiff_t m_PostProcessingVolumes = 0x120; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_flOldPlayerZ = 0x138; // float + constexpr std::ptrdiff_t m_flOldPlayerViewOffsetZ = 0x13C; // float + constexpr std::ptrdiff_t m_hTriggerSoundscapeList = 0x158; // CUtlVector> +} + +namespace CPlayer_FlashlightServices { // CPlayerPawnComponent +} + +namespace CPlayer_ItemServices { // CPlayerPawnComponent +} + +namespace CPlayer_MovementServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_nImpulse = 0x40; // int32_t + constexpr std::ptrdiff_t m_nButtons = 0x48; // CInButtonState + constexpr std::ptrdiff_t m_nQueuedButtonDownMask = 0x68; // uint64_t + constexpr std::ptrdiff_t m_nQueuedButtonChangeMask = 0x70; // uint64_t + constexpr std::ptrdiff_t m_nButtonDoublePressed = 0x78; // uint64_t + constexpr std::ptrdiff_t m_pButtonPressedCmdNumber = 0x80; // uint32_t[64] + constexpr std::ptrdiff_t m_nLastCommandNumberProcessed = 0x180; // uint32_t + constexpr std::ptrdiff_t m_nToggleButtonDownMask = 0x188; // uint64_t + constexpr std::ptrdiff_t m_flMaxspeed = 0x190; // float + constexpr std::ptrdiff_t m_arrForceSubtickMoveWhen = 0x194; // float[4] + constexpr std::ptrdiff_t m_flForwardMove = 0x1A4; // float + constexpr std::ptrdiff_t m_flLeftMove = 0x1A8; // float + constexpr std::ptrdiff_t m_flUpMove = 0x1AC; // float + constexpr std::ptrdiff_t m_vecLastMovementImpulses = 0x1B0; // Vector + constexpr std::ptrdiff_t m_vecOldViewAngles = 0x1BC; // QAngle +} + +namespace CPlayer_MovementServices_Humanoid { // CPlayer_MovementServices + constexpr std::ptrdiff_t m_flStepSoundTime = 0x1D0; // float + constexpr std::ptrdiff_t m_flFallVelocity = 0x1D4; // float + constexpr std::ptrdiff_t m_bInCrouch = 0x1D8; // bool + constexpr std::ptrdiff_t m_nCrouchState = 0x1DC; // uint32_t + constexpr std::ptrdiff_t m_flCrouchTransitionStartTime = 0x1E0; // GameTime_t + constexpr std::ptrdiff_t m_bDucked = 0x1E4; // bool + constexpr std::ptrdiff_t m_bDucking = 0x1E5; // bool + constexpr std::ptrdiff_t m_bInDuckJump = 0x1E6; // bool + constexpr std::ptrdiff_t m_groundNormal = 0x1E8; // Vector + constexpr std::ptrdiff_t m_flSurfaceFriction = 0x1F4; // float + constexpr std::ptrdiff_t m_surfaceProps = 0x1F8; // CUtlStringToken + constexpr std::ptrdiff_t m_nStepside = 0x208; // int32_t + constexpr std::ptrdiff_t m_iTargetVolume = 0x20C; // int32_t + constexpr std::ptrdiff_t m_vecSmoothedVelocity = 0x210; // Vector +} + +namespace CPlayer_ObserverServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_iObserverMode = 0x40; // uint8_t + constexpr std::ptrdiff_t m_hObserverTarget = 0x44; // CHandle + constexpr std::ptrdiff_t m_iObserverLastMode = 0x48; // ObserverMode_t + constexpr std::ptrdiff_t m_bForcedObserverMode = 0x4C; // bool +} + +namespace CPlayer_UseServices { // CPlayerPawnComponent +} + +namespace CPlayer_ViewModelServices { // CPlayerPawnComponent +} + +namespace CPlayer_WaterServices { // CPlayerPawnComponent +} + +namespace CPlayer_WeaponServices { // CPlayerPawnComponent + constexpr std::ptrdiff_t m_bAllowSwitchToNoWeapon = 0x40; // bool + constexpr std::ptrdiff_t m_hMyWeapons = 0x48; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_hActiveWeapon = 0x60; // CHandle + constexpr std::ptrdiff_t m_hLastWeapon = 0x64; // CHandle + constexpr std::ptrdiff_t m_iAmmo = 0x68; // uint16_t[32] + constexpr std::ptrdiff_t m_bPreventWeaponPickup = 0xA8; // bool +} + +namespace CPointAngleSensor { // CPointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_nLookAtName = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hTargetEntity = 0x4C0; // CHandle + constexpr std::ptrdiff_t m_hLookAtEntity = 0x4C4; // CHandle + constexpr std::ptrdiff_t m_flDuration = 0x4C8; // float + constexpr std::ptrdiff_t m_flDotTolerance = 0x4CC; // float + constexpr std::ptrdiff_t m_flFacingTime = 0x4D0; // GameTime_t + constexpr std::ptrdiff_t m_bFired = 0x4D4; // bool + constexpr std::ptrdiff_t m_OnFacingLookat = 0x4D8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnNotFacingLookat = 0x500; // CEntityIOOutput + constexpr std::ptrdiff_t m_TargetDir = 0x528; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_FacingPercentage = 0x550; // CEntityOutputTemplate +} + +namespace CPointAngularVelocitySensor { // CPointEntity + constexpr std::ptrdiff_t m_hTargetEntity = 0x4B0; // CHandle + constexpr std::ptrdiff_t m_flThreshold = 0x4B4; // float + constexpr std::ptrdiff_t m_nLastCompareResult = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_nLastFireResult = 0x4BC; // int32_t + constexpr std::ptrdiff_t m_flFireTime = 0x4C0; // GameTime_t + constexpr std::ptrdiff_t m_flFireInterval = 0x4C4; // float + constexpr std::ptrdiff_t m_flLastAngVelocity = 0x4C8; // float + constexpr std::ptrdiff_t m_lastOrientation = 0x4CC; // QAngle + constexpr std::ptrdiff_t m_vecAxis = 0x4D8; // Vector + constexpr std::ptrdiff_t m_bUseHelper = 0x4E4; // bool + constexpr std::ptrdiff_t m_AngularVelocity = 0x4E8; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnLessThan = 0x510; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnLessThanOrEqualTo = 0x538; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnGreaterThan = 0x560; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnGreaterThanOrEqualTo = 0x588; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnEqualTo = 0x5B0; // CEntityIOOutput +} + +namespace CPointBroadcastClientCommand { // CPointEntity +} + +namespace CPointCamera { // CBaseEntity + constexpr std::ptrdiff_t m_FOV = 0x4B0; // float + constexpr std::ptrdiff_t m_Resolution = 0x4B4; // float + constexpr std::ptrdiff_t m_bFogEnable = 0x4B8; // bool + constexpr std::ptrdiff_t m_FogColor = 0x4B9; // Color + constexpr std::ptrdiff_t m_flFogStart = 0x4C0; // float + constexpr std::ptrdiff_t m_flFogEnd = 0x4C4; // float + constexpr std::ptrdiff_t m_flFogMaxDensity = 0x4C8; // float + constexpr std::ptrdiff_t m_bActive = 0x4CC; // bool + constexpr std::ptrdiff_t m_bUseScreenAspectRatio = 0x4CD; // bool + constexpr std::ptrdiff_t m_flAspectRatio = 0x4D0; // float + constexpr std::ptrdiff_t m_bNoSky = 0x4D4; // bool + constexpr std::ptrdiff_t m_fBrightness = 0x4D8; // float + constexpr std::ptrdiff_t m_flZFar = 0x4DC; // float + constexpr std::ptrdiff_t m_flZNear = 0x4E0; // float + constexpr std::ptrdiff_t m_bCanHLTVUse = 0x4E4; // bool + constexpr std::ptrdiff_t m_bDofEnabled = 0x4E5; // bool + constexpr std::ptrdiff_t m_flDofNearBlurry = 0x4E8; // float + constexpr std::ptrdiff_t m_flDofNearCrisp = 0x4EC; // float + constexpr std::ptrdiff_t m_flDofFarCrisp = 0x4F0; // float + constexpr std::ptrdiff_t m_flDofFarBlurry = 0x4F4; // float + constexpr std::ptrdiff_t m_flDofTiltToGround = 0x4F8; // float + constexpr std::ptrdiff_t m_TargetFOV = 0x4FC; // float + constexpr std::ptrdiff_t m_DegreesPerSecond = 0x500; // float + constexpr std::ptrdiff_t m_bIsOn = 0x504; // bool + constexpr std::ptrdiff_t m_pNext = 0x508; // CPointCamera* +} + +namespace CPointCameraVFOV { // CPointCamera + constexpr std::ptrdiff_t m_flVerticalFOV = 0x510; // float +} + +namespace CPointClientCommand { // CPointEntity +} + +namespace CPointClientUIDialog { // CBaseClientUIEntity + constexpr std::ptrdiff_t m_hActivator = 0x8B0; // CHandle + constexpr std::ptrdiff_t m_bStartEnabled = 0x8B4; // bool +} + +namespace CPointClientUIWorldPanel { // CBaseClientUIEntity + constexpr std::ptrdiff_t m_bIgnoreInput = 0x8B0; // bool + constexpr std::ptrdiff_t m_bLit = 0x8B1; // bool + constexpr std::ptrdiff_t m_bFollowPlayerAcrossTeleport = 0x8B2; // bool + constexpr std::ptrdiff_t m_flWidth = 0x8B4; // float + constexpr std::ptrdiff_t m_flHeight = 0x8B8; // float + constexpr std::ptrdiff_t m_flDPI = 0x8BC; // float + constexpr std::ptrdiff_t m_flInteractDistance = 0x8C0; // float + constexpr std::ptrdiff_t m_flDepthOffset = 0x8C4; // float + constexpr std::ptrdiff_t m_unOwnerContext = 0x8C8; // uint32_t + constexpr std::ptrdiff_t m_unHorizontalAlign = 0x8CC; // uint32_t + constexpr std::ptrdiff_t m_unVerticalAlign = 0x8D0; // uint32_t + constexpr std::ptrdiff_t m_unOrientation = 0x8D4; // uint32_t + constexpr std::ptrdiff_t m_bAllowInteractionFromAllSceneWorlds = 0x8D8; // bool + constexpr std::ptrdiff_t m_vecCSSClasses = 0x8E0; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_bOpaque = 0x8F8; // bool + constexpr std::ptrdiff_t m_bNoDepth = 0x8F9; // bool + constexpr std::ptrdiff_t m_bRenderBackface = 0x8FA; // bool + constexpr std::ptrdiff_t m_bUseOffScreenIndicator = 0x8FB; // bool + constexpr std::ptrdiff_t m_bExcludeFromSaveGames = 0x8FC; // bool + constexpr std::ptrdiff_t m_bGrabbable = 0x8FD; // bool + constexpr std::ptrdiff_t m_bOnlyRenderToTexture = 0x8FE; // bool + constexpr std::ptrdiff_t m_bDisableMipGen = 0x8FF; // bool + constexpr std::ptrdiff_t m_nExplicitImageLayout = 0x900; // int32_t +} + +namespace CPointClientUIWorldTextPanel { // CPointClientUIWorldPanel + constexpr std::ptrdiff_t m_messageText = 0x908; // char[512] +} + +namespace CPointCommentaryNode { // CBaseAnimGraph + constexpr std::ptrdiff_t m_iszPreCommands = 0x890; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszPostCommands = 0x898; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszCommentaryFile = 0x8A0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszViewTarget = 0x8A8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hViewTarget = 0x8B0; // CHandle + constexpr std::ptrdiff_t m_hViewTargetAngles = 0x8B4; // CHandle + constexpr std::ptrdiff_t m_iszViewPosition = 0x8B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hViewPosition = 0x8C0; // CHandle + constexpr std::ptrdiff_t m_hViewPositionMover = 0x8C4; // CHandle + constexpr std::ptrdiff_t m_bPreventMovement = 0x8C8; // bool + constexpr std::ptrdiff_t m_bUnderCrosshair = 0x8C9; // bool + constexpr std::ptrdiff_t m_bUnstoppable = 0x8CA; // bool + constexpr std::ptrdiff_t m_flFinishedTime = 0x8CC; // GameTime_t + constexpr std::ptrdiff_t m_vecFinishOrigin = 0x8D0; // Vector + constexpr std::ptrdiff_t m_vecOriginalAngles = 0x8DC; // QAngle + constexpr std::ptrdiff_t m_vecFinishAngles = 0x8E8; // QAngle + constexpr std::ptrdiff_t m_bPreventChangesWhileMoving = 0x8F4; // bool + constexpr std::ptrdiff_t m_bDisabled = 0x8F5; // bool + constexpr std::ptrdiff_t m_vecTeleportOrigin = 0x8F8; // Vector + constexpr std::ptrdiff_t m_flAbortedPlaybackAt = 0x904; // GameTime_t + constexpr std::ptrdiff_t m_pOnCommentaryStarted = 0x908; // CEntityIOOutput + constexpr std::ptrdiff_t m_pOnCommentaryStopped = 0x930; // CEntityIOOutput + constexpr std::ptrdiff_t m_bActive = 0x958; // bool + constexpr std::ptrdiff_t m_flStartTime = 0x95C; // GameTime_t + constexpr std::ptrdiff_t m_flStartTimeInCommentary = 0x960; // float + constexpr std::ptrdiff_t m_iszTitle = 0x968; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSpeakers = 0x970; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iNodeNumber = 0x978; // int32_t + constexpr std::ptrdiff_t m_iNodeNumberMax = 0x97C; // int32_t + constexpr std::ptrdiff_t m_bListenedTo = 0x980; // bool +} + +namespace CPointEntity { // CBaseEntity +} + +namespace CPointEntityFinder { // CBaseEntity + constexpr std::ptrdiff_t m_hEntity = 0x4B0; // CHandle + constexpr std::ptrdiff_t m_iFilterName = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hFilter = 0x4C0; // CHandle + constexpr std::ptrdiff_t m_iRefName = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hReference = 0x4D0; // CHandle + constexpr std::ptrdiff_t m_FindMethod = 0x4D4; // EntFinderMethod_t + constexpr std::ptrdiff_t m_OnFoundEntity = 0x4D8; // CEntityIOOutput +} + +namespace CPointGamestatsCounter { // CPointEntity + constexpr std::ptrdiff_t m_strStatisticName = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bDisabled = 0x4B8; // bool +} + +namespace CPointGiveAmmo { // CPointEntity + constexpr std::ptrdiff_t m_pActivator = 0x4B0; // CHandle +} + +namespace CPointHurt { // CPointEntity + constexpr std::ptrdiff_t m_nDamage = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_bitsDamageType = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_flRadius = 0x4B8; // float + constexpr std::ptrdiff_t m_flDelay = 0x4BC; // float + constexpr std::ptrdiff_t m_strTarget = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pActivator = 0x4C8; // CHandle +} + +namespace CPointPrefab { // CServerOnlyPointEntity + constexpr std::ptrdiff_t m_targetMapName = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_forceWorldGroupID = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_associatedRelayTargetName = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_fixupNames = 0x4C8; // bool + constexpr std::ptrdiff_t m_bLoadDynamic = 0x4C9; // bool + constexpr std::ptrdiff_t m_associatedRelayEntity = 0x4CC; // CHandle +} + +namespace CPointProximitySensor { // CPointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_hTargetEntity = 0x4B4; // CHandle + constexpr std::ptrdiff_t m_Distance = 0x4B8; // CEntityOutputTemplate +} + +namespace CPointPulse { // CBaseEntity + constexpr std::ptrdiff_t m_sNameFixupStaticPrefix = 0x5C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sNameFixupParent = 0x5D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_sNameFixupLocal = 0x5D8; // CUtlSymbolLarge +} + +namespace CPointPush { // CPointEntity + constexpr std::ptrdiff_t m_bEnabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_flMagnitude = 0x4B4; // float + constexpr std::ptrdiff_t m_flRadius = 0x4B8; // float + constexpr std::ptrdiff_t m_flInnerRadius = 0x4BC; // float + constexpr std::ptrdiff_t m_flConeOfInfluence = 0x4C0; // float + constexpr std::ptrdiff_t m_iszFilterName = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hFilter = 0x4D0; // CHandle +} + +namespace CPointScript { // CBaseEntity +} + +namespace CPointServerCommand { // CPointEntity +} + +namespace CPointTeleport { // CServerOnlyPointEntity + constexpr std::ptrdiff_t m_vSaveOrigin = 0x4B0; // Vector + constexpr std::ptrdiff_t m_vSaveAngles = 0x4BC; // QAngle + constexpr std::ptrdiff_t m_bTeleportParentedEntities = 0x4C8; // bool + constexpr std::ptrdiff_t m_bTeleportUseCurrentAngle = 0x4C9; // bool +} + +namespace CPointTemplate { // CLogicalEntity + constexpr std::ptrdiff_t m_iszWorldName = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSource2EntityLumpName = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszEntityFilterName = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flTimeoutInterval = 0x4C8; // float + constexpr std::ptrdiff_t m_bAsynchronouslySpawnEntities = 0x4CC; // bool + constexpr std::ptrdiff_t m_pOutputOnSpawned = 0x4D0; // CEntityIOOutput + constexpr std::ptrdiff_t m_clientOnlyEntityBehavior = 0x4F8; // PointTemplateClientOnlyEntityBehavior_t + constexpr std::ptrdiff_t m_ownerSpawnGroupType = 0x4FC; // PointTemplateOwnerSpawnGroupType_t + constexpr std::ptrdiff_t m_createdSpawnGroupHandles = 0x500; // CUtlVector + constexpr std::ptrdiff_t m_SpawnedEntityHandles = 0x518; // CUtlVector + constexpr std::ptrdiff_t m_ScriptSpawnCallback = 0x530; // HSCRIPT + constexpr std::ptrdiff_t m_ScriptCallbackScope = 0x538; // HSCRIPT +} + +namespace CPointValueRemapper { // CBaseEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_bUpdateOnClient = 0x4B1; // bool + constexpr std::ptrdiff_t m_nInputType = 0x4B4; // ValueRemapperInputType_t + constexpr std::ptrdiff_t m_iszRemapLineStartName = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszRemapLineEndName = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hRemapLineStart = 0x4C8; // CHandle + constexpr std::ptrdiff_t m_hRemapLineEnd = 0x4CC; // CHandle + constexpr std::ptrdiff_t m_flMaximumChangePerSecond = 0x4D0; // float + constexpr std::ptrdiff_t m_flDisengageDistance = 0x4D4; // float + constexpr std::ptrdiff_t m_flEngageDistance = 0x4D8; // float + constexpr std::ptrdiff_t m_bRequiresUseKey = 0x4DC; // bool + constexpr std::ptrdiff_t m_nOutputType = 0x4E0; // ValueRemapperOutputType_t + constexpr std::ptrdiff_t m_iszOutputEntityName = 0x4E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOutputEntity2Name = 0x4F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOutputEntity3Name = 0x4F8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOutputEntity4Name = 0x500; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hOutputEntities = 0x508; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_nHapticsType = 0x520; // ValueRemapperHapticsType_t + constexpr std::ptrdiff_t m_nMomentumType = 0x524; // ValueRemapperMomentumType_t + constexpr std::ptrdiff_t m_flMomentumModifier = 0x528; // float + constexpr std::ptrdiff_t m_flSnapValue = 0x52C; // float + constexpr std::ptrdiff_t m_flCurrentMomentum = 0x530; // float + constexpr std::ptrdiff_t m_nRatchetType = 0x534; // ValueRemapperRatchetType_t + constexpr std::ptrdiff_t m_flRatchetOffset = 0x538; // float + constexpr std::ptrdiff_t m_flInputOffset = 0x53C; // float + constexpr std::ptrdiff_t m_bEngaged = 0x540; // bool + constexpr std::ptrdiff_t m_bFirstUpdate = 0x541; // bool + constexpr std::ptrdiff_t m_flPreviousValue = 0x544; // float + constexpr std::ptrdiff_t m_flPreviousUpdateTickTime = 0x548; // GameTime_t + constexpr std::ptrdiff_t m_vecPreviousTestPoint = 0x54C; // Vector + constexpr std::ptrdiff_t m_hUsingPlayer = 0x558; // CHandle + constexpr std::ptrdiff_t m_flCustomOutputValue = 0x55C; // float + constexpr std::ptrdiff_t m_iszSoundEngage = 0x560; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSoundDisengage = 0x568; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSoundReachedValueZero = 0x570; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSoundReachedValueOne = 0x578; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSoundMovingLoop = 0x580; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Position = 0x590; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_PositionDelta = 0x5B8; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_OnReachedValueZero = 0x5E0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnReachedValueOne = 0x608; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnReachedValueCustom = 0x630; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnEngage = 0x658; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnDisengage = 0x680; // CEntityIOOutput +} + +namespace CPointVelocitySensor { // CPointEntity + constexpr std::ptrdiff_t m_hTargetEntity = 0x4B0; // CHandle + constexpr std::ptrdiff_t m_vecAxis = 0x4B4; // Vector + constexpr std::ptrdiff_t m_bEnabled = 0x4C0; // bool + constexpr std::ptrdiff_t m_fPrevVelocity = 0x4C4; // float + constexpr std::ptrdiff_t m_flAvgInterval = 0x4C8; // float + constexpr std::ptrdiff_t m_Velocity = 0x4D0; // CEntityOutputTemplate +} + +namespace CPointWorldText { // CModelPointEntity + constexpr std::ptrdiff_t m_messageText = 0x700; // char[512] + constexpr std::ptrdiff_t m_FontName = 0x900; // char[64] + constexpr std::ptrdiff_t m_bEnabled = 0x940; // bool + constexpr std::ptrdiff_t m_bFullbright = 0x941; // bool + constexpr std::ptrdiff_t m_flWorldUnitsPerPx = 0x944; // float + constexpr std::ptrdiff_t m_flFontSize = 0x948; // float + constexpr std::ptrdiff_t m_flDepthOffset = 0x94C; // float + constexpr std::ptrdiff_t m_Color = 0x950; // Color + constexpr std::ptrdiff_t m_nJustifyHorizontal = 0x954; // PointWorldTextJustifyHorizontal_t + constexpr std::ptrdiff_t m_nJustifyVertical = 0x958; // PointWorldTextJustifyVertical_t + constexpr std::ptrdiff_t m_nReorientMode = 0x95C; // PointWorldTextReorientMode_t +} + +namespace CPostProcessingVolume { // CBaseTrigger + constexpr std::ptrdiff_t m_hPostSettings = 0x8B8; // CStrongHandle + constexpr std::ptrdiff_t m_flFadeDuration = 0x8C0; // float + constexpr std::ptrdiff_t m_flMinLogExposure = 0x8C4; // float + constexpr std::ptrdiff_t m_flMaxLogExposure = 0x8C8; // float + constexpr std::ptrdiff_t m_flMinExposure = 0x8CC; // float + constexpr std::ptrdiff_t m_flMaxExposure = 0x8D0; // float + constexpr std::ptrdiff_t m_flExposureCompensation = 0x8D4; // float + constexpr std::ptrdiff_t m_flExposureFadeSpeedUp = 0x8D8; // float + constexpr std::ptrdiff_t m_flExposureFadeSpeedDown = 0x8DC; // float + constexpr std::ptrdiff_t m_flTonemapEVSmoothingRange = 0x8E0; // float + constexpr std::ptrdiff_t m_bMaster = 0x8E4; // bool + constexpr std::ptrdiff_t m_bExposureControl = 0x8E5; // bool + constexpr std::ptrdiff_t m_flRate = 0x8E8; // float + constexpr std::ptrdiff_t m_flTonemapPercentTarget = 0x8EC; // float + constexpr std::ptrdiff_t m_flTonemapPercentBrightPixels = 0x8F0; // float + constexpr std::ptrdiff_t m_flTonemapMinAvgLum = 0x8F4; // float +} + +namespace CPrecipitation { // CBaseTrigger +} + +namespace CPrecipitationBlocker { // CBaseModelEntity +} + +namespace CPrecipitationVData { // CEntitySubclassVDataBase + constexpr std::ptrdiff_t m_szParticlePrecipitationEffect = 0x28; // CResourceNameTyped> + constexpr std::ptrdiff_t m_flInnerDistance = 0x108; // float + constexpr std::ptrdiff_t m_nAttachType = 0x10C; // ParticleAttachment_t + constexpr std::ptrdiff_t m_bBatchSameVolumeType = 0x110; // bool + constexpr std::ptrdiff_t m_nRTEnvCP = 0x114; // int32_t + constexpr std::ptrdiff_t m_nRTEnvCPComponent = 0x118; // int32_t + constexpr std::ptrdiff_t m_szModifier = 0x120; // CUtlString +} + +namespace CPredictedViewModel { // CBaseViewModel +} + +namespace CProjectedDecal { // CPointEntity + constexpr std::ptrdiff_t m_nTexture = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_flDistance = 0x4B4; // float +} + +namespace CPropDoorRotating { // CBasePropDoor + constexpr std::ptrdiff_t m_vecAxis = 0xD98; // Vector + constexpr std::ptrdiff_t m_flDistance = 0xDA4; // float + constexpr std::ptrdiff_t m_eSpawnPosition = 0xDA8; // PropDoorRotatingSpawnPos_t + constexpr std::ptrdiff_t m_eOpenDirection = 0xDAC; // PropDoorRotatingOpenDirection_e + constexpr std::ptrdiff_t m_eCurrentOpenDirection = 0xDB0; // PropDoorRotatingOpenDirection_e + constexpr std::ptrdiff_t m_flAjarAngle = 0xDB4; // float + constexpr std::ptrdiff_t m_angRotationAjarDeprecated = 0xDB8; // QAngle + constexpr std::ptrdiff_t m_angRotationClosed = 0xDC4; // QAngle + constexpr std::ptrdiff_t m_angRotationOpenForward = 0xDD0; // QAngle + constexpr std::ptrdiff_t m_angRotationOpenBack = 0xDDC; // QAngle + constexpr std::ptrdiff_t m_angGoal = 0xDE8; // QAngle + constexpr std::ptrdiff_t m_vecForwardBoundsMin = 0xDF4; // Vector + constexpr std::ptrdiff_t m_vecForwardBoundsMax = 0xE00; // Vector + constexpr std::ptrdiff_t m_vecBackBoundsMin = 0xE0C; // Vector + constexpr std::ptrdiff_t m_vecBackBoundsMax = 0xE18; // Vector + constexpr std::ptrdiff_t m_bAjarDoorShouldntAlwaysOpen = 0xE24; // bool + constexpr std::ptrdiff_t m_hEntityBlocker = 0xE28; // CHandle +} + +namespace CPropDoorRotatingBreakable { // CPropDoorRotating + constexpr std::ptrdiff_t m_bBreakable = 0xE30; // bool + constexpr std::ptrdiff_t m_isAbleToCloseAreaPortals = 0xE31; // bool + constexpr std::ptrdiff_t m_currentDamageState = 0xE34; // int32_t + constexpr std::ptrdiff_t m_damageStates = 0xE38; // CUtlVector +} + +namespace CPulseCell_Inflow_GameEvent { // CPulseCell_Inflow_BaseEntrypoint + constexpr std::ptrdiff_t m_EventName = 0x70; // CBufferString +} + +namespace CPulseCell_Outflow_PlayVCD { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_vcdFilename = 0x48; // CUtlString + constexpr std::ptrdiff_t m_OnFinished = 0x50; // CPulse_OutflowConnection + constexpr std::ptrdiff_t m_Triggers = 0x60; // CUtlVector +} + +namespace CPulseCell_SoundEventStart { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Type = 0x48; // SoundEventStartType_t +} + +namespace CPulseCell_Step_EntFire { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_Input = 0x48; // CUtlString +} + +namespace CPulseCell_Step_SetAnimGraphParam { // CPulseCell_BaseFlow + constexpr std::ptrdiff_t m_ParamName = 0x48; // CUtlString +} + +namespace CPulseCell_Value_FindEntByName { // CPulseCell_BaseValue + constexpr std::ptrdiff_t m_EntityType = 0x48; // CUtlString +} + +namespace CPulseGraphInstance_ServerPointEntity { // CBasePulseGraphInstance +} + +namespace CPulseServerFuncs { +} + +namespace CPulseServerFuncs_Sounds { +} + +namespace CPushable { // CBreakable +} + +namespace CRR_Response { + constexpr std::ptrdiff_t m_Type = 0x0; // uint8_t + constexpr std::ptrdiff_t m_szResponseName = 0x1; // char[192] + constexpr std::ptrdiff_t m_szMatchingRule = 0xC1; // char[128] + constexpr std::ptrdiff_t m_Params = 0x148; // ResponseParams + constexpr std::ptrdiff_t m_fMatchScore = 0x168; // float + constexpr std::ptrdiff_t m_szSpeakerContext = 0x170; // char* + constexpr std::ptrdiff_t m_szWorldContext = 0x178; // char* + constexpr std::ptrdiff_t m_Followup = 0x180; // ResponseFollowup + constexpr std::ptrdiff_t m_pchCriteriaNames = 0x1B8; // CUtlVector + constexpr std::ptrdiff_t m_pchCriteriaValues = 0x1D0; // CUtlVector +} + +namespace CRagdollConstraint { // CPhysConstraint + constexpr std::ptrdiff_t m_xmin = 0x508; // float + constexpr std::ptrdiff_t m_xmax = 0x50C; // float + constexpr std::ptrdiff_t m_ymin = 0x510; // float + constexpr std::ptrdiff_t m_ymax = 0x514; // float + constexpr std::ptrdiff_t m_zmin = 0x518; // float + constexpr std::ptrdiff_t m_zmax = 0x51C; // float + constexpr std::ptrdiff_t m_xfriction = 0x520; // float + constexpr std::ptrdiff_t m_yfriction = 0x524; // float + constexpr std::ptrdiff_t m_zfriction = 0x528; // float +} + +namespace CRagdollMagnet { // CPointEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_radius = 0x4B4; // float + constexpr std::ptrdiff_t m_force = 0x4B8; // float + constexpr std::ptrdiff_t m_axis = 0x4BC; // Vector +} + +namespace CRagdollManager { // CBaseEntity + constexpr std::ptrdiff_t m_iCurrentMaxRagdollCount = 0x4B0; // int8_t + constexpr std::ptrdiff_t m_iMaxRagdollCount = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_bSaveImportant = 0x4B8; // bool +} + +namespace CRagdollProp { // CBaseAnimGraph + constexpr std::ptrdiff_t m_ragdoll = 0x898; // ragdoll_t + constexpr std::ptrdiff_t m_bStartDisabled = 0x8D0; // bool + constexpr std::ptrdiff_t m_ragPos = 0x8D8; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_ragAngles = 0x8F0; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_hRagdollSource = 0x908; // CHandle + constexpr std::ptrdiff_t m_lastUpdateTickCount = 0x90C; // uint32_t + constexpr std::ptrdiff_t m_allAsleep = 0x910; // bool + constexpr std::ptrdiff_t m_bFirstCollisionAfterLaunch = 0x911; // bool + constexpr std::ptrdiff_t m_hDamageEntity = 0x914; // CHandle + constexpr std::ptrdiff_t m_hKiller = 0x918; // CHandle + constexpr std::ptrdiff_t m_hPhysicsAttacker = 0x91C; // CHandle + constexpr std::ptrdiff_t m_flLastPhysicsInfluenceTime = 0x920; // GameTime_t + constexpr std::ptrdiff_t m_flFadeOutStartTime = 0x924; // GameTime_t + constexpr std::ptrdiff_t m_flFadeTime = 0x928; // float + constexpr std::ptrdiff_t m_vecLastOrigin = 0x92C; // Vector + constexpr std::ptrdiff_t m_flAwakeTime = 0x938; // GameTime_t + constexpr std::ptrdiff_t m_flLastOriginChangeTime = 0x93C; // GameTime_t + constexpr std::ptrdiff_t m_nBloodColor = 0x940; // int32_t + constexpr std::ptrdiff_t m_strOriginClassName = 0x948; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_strSourceClassName = 0x950; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bHasBeenPhysgunned = 0x958; // bool + constexpr std::ptrdiff_t m_bShouldTeleportPhysics = 0x959; // bool + constexpr std::ptrdiff_t m_flBlendWeight = 0x95C; // float + constexpr std::ptrdiff_t m_flDefaultFadeScale = 0x960; // float + constexpr std::ptrdiff_t m_ragdollMins = 0x968; // CUtlVector + constexpr std::ptrdiff_t m_ragdollMaxs = 0x980; // CUtlVector + constexpr std::ptrdiff_t m_bShouldDeleteActivationRecord = 0x998; // bool + constexpr std::ptrdiff_t m_bValidatePoweredRagdollPose = 0x9F8; // bool +} + +namespace CRagdollPropAlias_physics_prop_ragdoll { // CRagdollProp +} + +namespace CRagdollPropAttached { // CRagdollProp + constexpr std::ptrdiff_t m_boneIndexAttached = 0xA38; // uint32_t + constexpr std::ptrdiff_t m_ragdollAttachedObjectIndex = 0xA3C; // uint32_t + constexpr std::ptrdiff_t m_attachmentPointBoneSpace = 0xA40; // Vector + constexpr std::ptrdiff_t m_attachmentPointRagdollSpace = 0xA4C; // Vector + constexpr std::ptrdiff_t m_bShouldDetach = 0xA58; // bool + constexpr std::ptrdiff_t m_bShouldDeleteAttachedActivationRecord = 0xA68; // bool +} + +namespace CRandSimTimer { // CSimpleSimTimer + constexpr std::ptrdiff_t m_minInterval = 0x8; // float + constexpr std::ptrdiff_t m_maxInterval = 0xC; // float +} + +namespace CRandStopwatch { // CStopwatchBase + constexpr std::ptrdiff_t m_minInterval = 0xC; // float + constexpr std::ptrdiff_t m_maxInterval = 0x10; // float +} + +namespace CRangeFloat { + constexpr std::ptrdiff_t m_pValue = 0x0; // float[2] +} + +namespace CRangeInt { + constexpr std::ptrdiff_t m_pValue = 0x0; // int32_t[2] +} + +namespace CRectLight { // CBarnLight + constexpr std::ptrdiff_t m_bShowLight = 0x928; // bool +} + +namespace CRemapFloat { + constexpr std::ptrdiff_t m_pValue = 0x0; // float[4] +} + +namespace CRenderComponent { // CEntityComponent + constexpr std::ptrdiff_t __m_pChainEntity = 0x10; // CNetworkVarChainer + constexpr std::ptrdiff_t m_bIsRenderingWithViewModels = 0x50; // bool + constexpr std::ptrdiff_t m_nSplitscreenFlags = 0x54; // uint32_t + constexpr std::ptrdiff_t m_bEnableRendering = 0x60; // bool + constexpr std::ptrdiff_t m_bInterpolationReadyToDraw = 0xB0; // bool +} + +namespace CResponseCriteriaSet { + constexpr std::ptrdiff_t m_nNumPrefixedContexts = 0x28; // int32_t + constexpr std::ptrdiff_t m_bOverrideOnAppend = 0x2C; // bool +} + +namespace CResponseQueue { + constexpr std::ptrdiff_t m_ExpresserTargets = 0x50; // CUtlVector +} + +namespace CResponseQueue_CDeferredResponse { + constexpr std::ptrdiff_t m_contexts = 0x10; // CResponseCriteriaSet + constexpr std::ptrdiff_t m_fDispatchTime = 0x40; // float + constexpr std::ptrdiff_t m_hIssuer = 0x44; // CHandle + constexpr std::ptrdiff_t m_response = 0x50; // CRR_Response + constexpr std::ptrdiff_t m_bResponseValid = 0x238; // bool +} + +namespace CRetakeGameRules { + constexpr std::ptrdiff_t m_nMatchSeed = 0xF8; // int32_t + constexpr std::ptrdiff_t m_bBlockersPresent = 0xFC; // bool + constexpr std::ptrdiff_t m_bRoundInProgress = 0xFD; // bool + constexpr std::ptrdiff_t m_iFirstSecondHalfRound = 0x100; // int32_t + constexpr std::ptrdiff_t m_iBombSite = 0x104; // int32_t +} + +namespace CRevertSaved { // CModelPointEntity + constexpr std::ptrdiff_t m_loadTime = 0x700; // float + constexpr std::ptrdiff_t m_Duration = 0x704; // float + constexpr std::ptrdiff_t m_HoldTime = 0x708; // float +} + +namespace CRopeKeyframe { // CBaseModelEntity + constexpr std::ptrdiff_t m_RopeFlags = 0x708; // uint16_t + constexpr std::ptrdiff_t m_iNextLinkName = 0x710; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_Slack = 0x718; // int16_t + constexpr std::ptrdiff_t m_Width = 0x71C; // float + constexpr std::ptrdiff_t m_TextureScale = 0x720; // float + constexpr std::ptrdiff_t m_nSegments = 0x724; // uint8_t + constexpr std::ptrdiff_t m_bConstrainBetweenEndpoints = 0x725; // bool + constexpr std::ptrdiff_t m_strRopeMaterialModel = 0x728; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iRopeMaterialModelIndex = 0x730; // CStrongHandle + constexpr std::ptrdiff_t m_Subdiv = 0x738; // uint8_t + constexpr std::ptrdiff_t m_nChangeCount = 0x739; // uint8_t + constexpr std::ptrdiff_t m_RopeLength = 0x73A; // int16_t + constexpr std::ptrdiff_t m_fLockedPoints = 0x73C; // uint8_t + constexpr std::ptrdiff_t m_bCreatedFromMapFile = 0x73D; // bool + constexpr std::ptrdiff_t m_flScrollSpeed = 0x740; // float + constexpr std::ptrdiff_t m_bStartPointValid = 0x744; // bool + constexpr std::ptrdiff_t m_bEndPointValid = 0x745; // bool + constexpr std::ptrdiff_t m_hStartPoint = 0x748; // CHandle + constexpr std::ptrdiff_t m_hEndPoint = 0x74C; // CHandle + constexpr std::ptrdiff_t m_iStartAttachment = 0x750; // AttachmentHandle_t + constexpr std::ptrdiff_t m_iEndAttachment = 0x751; // AttachmentHandle_t +} + +namespace CRopeKeyframeAlias_move_rope { // CRopeKeyframe +} + +namespace CRotButton { // CBaseButton +} + +namespace CRotDoor { // CBaseDoor + constexpr std::ptrdiff_t m_bSolidBsp = 0x988; // bool +} + +namespace CRuleBrushEntity { // CRuleEntity +} + +namespace CRuleEntity { // CBaseModelEntity + constexpr std::ptrdiff_t m_iszMaster = 0x700; // CUtlSymbolLarge +} + +namespace CRulePointEntity { // CRuleEntity + constexpr std::ptrdiff_t m_Score = 0x708; // int32_t +} + +namespace CSAdditionalMatchStats_t { // CSAdditionalPerRoundStats_t + constexpr std::ptrdiff_t m_numRoundsSurvived = 0x14; // int32_t + constexpr std::ptrdiff_t m_maxNumRoundsSurvived = 0x18; // int32_t + constexpr std::ptrdiff_t m_numRoundsSurvivedTotal = 0x1C; // int32_t + constexpr std::ptrdiff_t m_iRoundsWonWithoutPurchase = 0x20; // int32_t + constexpr std::ptrdiff_t m_iRoundsWonWithoutPurchaseTotal = 0x24; // int32_t + constexpr std::ptrdiff_t m_numFirstKills = 0x28; // int32_t + constexpr std::ptrdiff_t m_numClutchKills = 0x2C; // int32_t + constexpr std::ptrdiff_t m_numPistolKills = 0x30; // int32_t + constexpr std::ptrdiff_t m_numSniperKills = 0x34; // int32_t + constexpr std::ptrdiff_t m_iNumSuicides = 0x38; // int32_t + constexpr std::ptrdiff_t m_iNumTeamKills = 0x3C; // int32_t + constexpr std::ptrdiff_t m_iTeamDamage = 0x40; // int32_t +} + +namespace CSAdditionalPerRoundStats_t { + constexpr std::ptrdiff_t m_numChickensKilled = 0x0; // int32_t + constexpr std::ptrdiff_t m_killsWhileBlind = 0x4; // int32_t + constexpr std::ptrdiff_t m_bombCarrierkills = 0x8; // int32_t + constexpr std::ptrdiff_t m_iBurnDamageInflicted = 0xC; // int32_t + constexpr std::ptrdiff_t m_iDinks = 0x10; // int32_t +} + +namespace CSMatchStats_t { // CSPerRoundStats_t + constexpr std::ptrdiff_t m_iEnemy5Ks = 0x68; // int32_t + constexpr std::ptrdiff_t m_iEnemy4Ks = 0x6C; // int32_t + constexpr std::ptrdiff_t m_iEnemy3Ks = 0x70; // int32_t + constexpr std::ptrdiff_t m_iEnemy2Ks = 0x74; // int32_t + constexpr std::ptrdiff_t m_iUtility_Count = 0x78; // int32_t + constexpr std::ptrdiff_t m_iUtility_Successes = 0x7C; // int32_t + constexpr std::ptrdiff_t m_iUtility_Enemies = 0x80; // int32_t + constexpr std::ptrdiff_t m_iFlash_Count = 0x84; // int32_t + constexpr std::ptrdiff_t m_iFlash_Successes = 0x88; // int32_t + constexpr std::ptrdiff_t m_nHealthPointsRemovedTotal = 0x8C; // int32_t + constexpr std::ptrdiff_t m_nHealthPointsDealtTotal = 0x90; // int32_t + constexpr std::ptrdiff_t m_nShotsFiredTotal = 0x94; // int32_t + constexpr std::ptrdiff_t m_nShotsOnTargetTotal = 0x98; // int32_t + constexpr std::ptrdiff_t m_i1v1Count = 0x9C; // int32_t + constexpr std::ptrdiff_t m_i1v1Wins = 0xA0; // int32_t + constexpr std::ptrdiff_t m_i1v2Count = 0xA4; // int32_t + constexpr std::ptrdiff_t m_i1v2Wins = 0xA8; // int32_t + constexpr std::ptrdiff_t m_iEntryCount = 0xAC; // int32_t + constexpr std::ptrdiff_t m_iEntryWins = 0xB0; // int32_t +} + +namespace CSPerRoundStats_t { + constexpr std::ptrdiff_t m_iKills = 0x30; // int32_t + constexpr std::ptrdiff_t m_iDeaths = 0x34; // int32_t + constexpr std::ptrdiff_t m_iAssists = 0x38; // int32_t + constexpr std::ptrdiff_t m_iDamage = 0x3C; // int32_t + constexpr std::ptrdiff_t m_iEquipmentValue = 0x40; // int32_t + constexpr std::ptrdiff_t m_iMoneySaved = 0x44; // int32_t + constexpr std::ptrdiff_t m_iKillReward = 0x48; // int32_t + constexpr std::ptrdiff_t m_iLiveTime = 0x4C; // int32_t + constexpr std::ptrdiff_t m_iHeadShotKills = 0x50; // int32_t + constexpr std::ptrdiff_t m_iObjective = 0x54; // int32_t + constexpr std::ptrdiff_t m_iCashEarned = 0x58; // int32_t + constexpr std::ptrdiff_t m_iUtilityDamage = 0x5C; // int32_t + constexpr std::ptrdiff_t m_iEnemiesFlashed = 0x60; // int32_t +} + +namespace CSceneEntity { // CPointEntity + constexpr std::ptrdiff_t m_iszSceneFile = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszResumeSceneFile = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTarget1 = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTarget2 = 0x4D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTarget3 = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTarget4 = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTarget5 = 0x4E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTarget6 = 0x4F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTarget7 = 0x4F8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTarget8 = 0x500; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hTarget1 = 0x508; // CHandle + constexpr std::ptrdiff_t m_hTarget2 = 0x50C; // CHandle + constexpr std::ptrdiff_t m_hTarget3 = 0x510; // CHandle + constexpr std::ptrdiff_t m_hTarget4 = 0x514; // CHandle + constexpr std::ptrdiff_t m_hTarget5 = 0x518; // CHandle + constexpr std::ptrdiff_t m_hTarget6 = 0x51C; // CHandle + constexpr std::ptrdiff_t m_hTarget7 = 0x520; // CHandle + constexpr std::ptrdiff_t m_hTarget8 = 0x524; // CHandle + constexpr std::ptrdiff_t m_bIsPlayingBack = 0x528; // bool + constexpr std::ptrdiff_t m_bPaused = 0x529; // bool + constexpr std::ptrdiff_t m_bMultiplayer = 0x52A; // bool + constexpr std::ptrdiff_t m_bAutogenerated = 0x52B; // bool + constexpr std::ptrdiff_t m_flForceClientTime = 0x52C; // float + constexpr std::ptrdiff_t m_flCurrentTime = 0x530; // float + constexpr std::ptrdiff_t m_flFrameTime = 0x534; // float + constexpr std::ptrdiff_t m_bCancelAtNextInterrupt = 0x538; // bool + constexpr std::ptrdiff_t m_fPitch = 0x53C; // float + constexpr std::ptrdiff_t m_bAutomated = 0x540; // bool + constexpr std::ptrdiff_t m_nAutomatedAction = 0x544; // int32_t + constexpr std::ptrdiff_t m_flAutomationDelay = 0x548; // float + constexpr std::ptrdiff_t m_flAutomationTime = 0x54C; // float + constexpr std::ptrdiff_t m_hWaitingForThisResumeScene = 0x550; // CHandle + constexpr std::ptrdiff_t m_bWaitingForResumeScene = 0x554; // bool + constexpr std::ptrdiff_t m_bPausedViaInput = 0x555; // bool + constexpr std::ptrdiff_t m_bPauseAtNextInterrupt = 0x556; // bool + constexpr std::ptrdiff_t m_bWaitingForActor = 0x557; // bool + constexpr std::ptrdiff_t m_bWaitingForInterrupt = 0x558; // bool + constexpr std::ptrdiff_t m_bInterruptedActorsScenes = 0x559; // bool + constexpr std::ptrdiff_t m_bBreakOnNonIdle = 0x55A; // bool + constexpr std::ptrdiff_t m_hActorList = 0x560; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_hRemoveActorList = 0x578; // CUtlVector> + constexpr std::ptrdiff_t m_nSceneFlushCounter = 0x5A0; // int32_t + constexpr std::ptrdiff_t m_nSceneStringIndex = 0x5A4; // uint16_t + constexpr std::ptrdiff_t m_OnStart = 0x5A8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnCompletion = 0x5D0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnCanceled = 0x5F8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPaused = 0x620; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnResumed = 0x648; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnTrigger = 0x670; // CEntityIOOutput[16] + constexpr std::ptrdiff_t m_hInterruptScene = 0x980; // CHandle + constexpr std::ptrdiff_t m_nInterruptCount = 0x984; // int32_t + constexpr std::ptrdiff_t m_bSceneMissing = 0x988; // bool + constexpr std::ptrdiff_t m_bInterrupted = 0x989; // bool + constexpr std::ptrdiff_t m_bCompletedEarly = 0x98A; // bool + constexpr std::ptrdiff_t m_bInterruptSceneFinished = 0x98B; // bool + constexpr std::ptrdiff_t m_bRestoring = 0x98C; // bool + constexpr std::ptrdiff_t m_hNotifySceneCompletion = 0x990; // CUtlVector> + constexpr std::ptrdiff_t m_hListManagers = 0x9A8; // CUtlVector> + constexpr std::ptrdiff_t m_iszSoundName = 0x9E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hActor = 0x9F0; // CHandle + constexpr std::ptrdiff_t m_hActivator = 0x9F4; // CHandle + constexpr std::ptrdiff_t m_BusyActor = 0x9F8; // int32_t + constexpr std::ptrdiff_t m_iPlayerDeathBehavior = 0x9FC; // SceneOnPlayerDeath_t +} + +namespace CSceneEntityAlias_logic_choreographed_scene { // CSceneEntity +} + +namespace CSceneEventInfo { + constexpr std::ptrdiff_t m_iLayer = 0x0; // int32_t + constexpr std::ptrdiff_t m_iPriority = 0x4; // int32_t + constexpr std::ptrdiff_t m_hSequence = 0x8; // HSequence + constexpr std::ptrdiff_t m_flWeight = 0xC; // float + constexpr std::ptrdiff_t m_bIsMoving = 0x10; // bool + constexpr std::ptrdiff_t m_bHasArrived = 0x11; // bool + constexpr std::ptrdiff_t m_flInitialYaw = 0x14; // float + constexpr std::ptrdiff_t m_flTargetYaw = 0x18; // float + constexpr std::ptrdiff_t m_flFacingYaw = 0x1C; // float + constexpr std::ptrdiff_t m_nType = 0x20; // int32_t + constexpr std::ptrdiff_t m_flNext = 0x24; // GameTime_t + constexpr std::ptrdiff_t m_bIsGesture = 0x28; // bool + constexpr std::ptrdiff_t m_bShouldRemove = 0x29; // bool + constexpr std::ptrdiff_t m_hTarget = 0x54; // CHandle + constexpr std::ptrdiff_t m_nSceneEventId = 0x58; // uint32_t + constexpr std::ptrdiff_t m_bClientSide = 0x5C; // bool + constexpr std::ptrdiff_t m_bStarted = 0x5D; // bool +} + +namespace CSceneListManager { // CLogicalEntity + constexpr std::ptrdiff_t m_hListManagers = 0x4B0; // CUtlVector> + constexpr std::ptrdiff_t m_iszScenes = 0x4C8; // CUtlSymbolLarge[16] + constexpr std::ptrdiff_t m_hScenes = 0x548; // CHandle[16] +} + +namespace CScriptComponent { // CEntityComponent + constexpr std::ptrdiff_t m_scriptClassName = 0x30; // CUtlSymbolLarge +} + +namespace CScriptItem { // CItem + constexpr std::ptrdiff_t m_OnPlayerPickup = 0x968; // CEntityIOOutput + constexpr std::ptrdiff_t m_MoveTypeOverride = 0x990; // MoveType_t +} + +namespace CScriptNavBlocker { // CFuncNavBlocker + constexpr std::ptrdiff_t m_vExtent = 0x710; // Vector +} + +namespace CScriptTriggerHurt { // CTriggerHurt + constexpr std::ptrdiff_t m_vExtent = 0x948; // Vector +} + +namespace CScriptTriggerMultiple { // CTriggerMultiple + constexpr std::ptrdiff_t m_vExtent = 0x8D0; // Vector +} + +namespace CScriptTriggerOnce { // CTriggerOnce + constexpr std::ptrdiff_t m_vExtent = 0x8D0; // Vector +} + +namespace CScriptTriggerPush { // CTriggerPush + constexpr std::ptrdiff_t m_vExtent = 0x8D0; // Vector +} + +namespace CScriptUniformRandomStream { + constexpr std::ptrdiff_t m_hScriptScope = 0x8; // HSCRIPT + constexpr std::ptrdiff_t m_nInitialSeed = 0x9C; // int32_t +} + +namespace CScriptedSequence { // CBaseEntity + constexpr std::ptrdiff_t m_iszEntry = 0x4B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszPreIdle = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszPlay = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszPostIdle = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszModifierToAddOnPlay = 0x4D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszNextScript = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszEntity = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSyncGroup = 0x4E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nMoveTo = 0x4F0; // ScriptedMoveTo_t + constexpr std::ptrdiff_t m_bIsPlayingPreIdle = 0x4F4; // bool + constexpr std::ptrdiff_t m_bIsPlayingEntry = 0x4F5; // bool + constexpr std::ptrdiff_t m_bIsPlayingAction = 0x4F6; // bool + constexpr std::ptrdiff_t m_bIsPlayingPostIdle = 0x4F7; // bool + constexpr std::ptrdiff_t m_bLoopPreIdleSequence = 0x4F8; // bool + constexpr std::ptrdiff_t m_bLoopActionSequence = 0x4F9; // bool + constexpr std::ptrdiff_t m_bLoopPostIdleSequence = 0x4FA; // bool + constexpr std::ptrdiff_t m_bSynchPostIdles = 0x4FB; // bool + constexpr std::ptrdiff_t m_bIgnoreGravity = 0x4FC; // bool + constexpr std::ptrdiff_t m_bDisableNPCCollisions = 0x4FD; // bool + constexpr std::ptrdiff_t m_bKeepAnimgraphLockedPost = 0x4FE; // bool + constexpr std::ptrdiff_t m_bDontAddModifiers = 0x4FF; // bool + constexpr std::ptrdiff_t m_flRadius = 0x500; // float + constexpr std::ptrdiff_t m_flRepeat = 0x504; // float + constexpr std::ptrdiff_t m_flPlayAnimFadeInTime = 0x508; // float + constexpr std::ptrdiff_t m_flMoveInterpTime = 0x50C; // float + constexpr std::ptrdiff_t m_flAngRate = 0x510; // float + constexpr std::ptrdiff_t m_iDelay = 0x514; // int32_t + constexpr std::ptrdiff_t m_startTime = 0x518; // GameTime_t + constexpr std::ptrdiff_t m_bWaitForBeginSequence = 0x51C; // bool + constexpr std::ptrdiff_t m_saved_effects = 0x520; // int32_t + constexpr std::ptrdiff_t m_savedFlags = 0x524; // int32_t + constexpr std::ptrdiff_t m_savedCollisionGroup = 0x528; // int32_t + constexpr std::ptrdiff_t m_interruptable = 0x52C; // bool + constexpr std::ptrdiff_t m_sequenceStarted = 0x52D; // bool + constexpr std::ptrdiff_t m_bPrevAnimatedEveryTick = 0x52E; // bool + constexpr std::ptrdiff_t m_bForcedAnimatedEveryTick = 0x52F; // bool + constexpr std::ptrdiff_t m_bPositionRelativeToOtherEntity = 0x530; // bool + constexpr std::ptrdiff_t m_hTargetEnt = 0x534; // CHandle + constexpr std::ptrdiff_t m_hNextCine = 0x538; // CHandle + constexpr std::ptrdiff_t m_bThinking = 0x53C; // bool + constexpr std::ptrdiff_t m_bInitiatedSelfDelete = 0x53D; // bool + constexpr std::ptrdiff_t m_bIsTeleportingDueToMoveTo = 0x53E; // bool + constexpr std::ptrdiff_t m_bAllowCustomInterruptConditions = 0x53F; // bool + constexpr std::ptrdiff_t m_hLastFoundEntity = 0x540; // CHandle + constexpr std::ptrdiff_t m_hForcedTarget = 0x544; // CHandle + constexpr std::ptrdiff_t m_bDontCancelOtherSequences = 0x548; // bool + constexpr std::ptrdiff_t m_bForceSynch = 0x549; // bool + constexpr std::ptrdiff_t m_bTargetWasAsleep = 0x54A; // bool + constexpr std::ptrdiff_t m_bPreventUpdateYawOnFinish = 0x54B; // bool + constexpr std::ptrdiff_t m_bEnsureOnNavmeshOnFinish = 0x54C; // bool + constexpr std::ptrdiff_t m_onDeathBehavior = 0x550; // ScriptedOnDeath_t + constexpr std::ptrdiff_t m_ConflictResponse = 0x554; // ScriptedConflictResponse_t + constexpr std::ptrdiff_t m_OnBeginSequence = 0x558; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnActionStartOrLoop = 0x580; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnEndSequence = 0x5A8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnPostIdleEndSequence = 0x5D0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnCancelSequence = 0x5F8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnCancelFailedSequence = 0x620; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnScriptEvent = 0x648; // CEntityIOOutput[8] + constexpr std::ptrdiff_t m_matOtherToMain = 0x790; // CTransform + constexpr std::ptrdiff_t m_hInteractionMainEntity = 0x7B0; // CHandle + constexpr std::ptrdiff_t m_iPlayerDeathBehavior = 0x7B4; // int32_t +} + +namespace CSensorGrenade { // CBaseCSGrenade +} + +namespace CSensorGrenadeProjectile { // CBaseCSGrenadeProjectile + constexpr std::ptrdiff_t m_fExpireTime = 0xA30; // GameTime_t + constexpr std::ptrdiff_t m_fNextDetectPlayerSound = 0xA34; // GameTime_t + constexpr std::ptrdiff_t m_hDisplayGrenade = 0xA38; // CHandle +} + +namespace CServerOnlyEntity { // CBaseEntity +} + +namespace CServerOnlyModelEntity { // CBaseModelEntity +} + +namespace CServerOnlyPointEntity { // CServerOnlyEntity +} + +namespace CServerRagdollTrigger { // CBaseTrigger +} + +namespace CShatterGlassShard { + constexpr std::ptrdiff_t m_hShardHandle = 0x8; // uint32_t + constexpr std::ptrdiff_t m_vecPanelVertices = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_vLocalPanelSpaceOrigin = 0x28; // Vector2D + constexpr std::ptrdiff_t m_hModel = 0x30; // CStrongHandle + constexpr std::ptrdiff_t m_hPhysicsEntity = 0x38; // CHandle + constexpr std::ptrdiff_t m_hParentPanel = 0x3C; // CHandle + constexpr std::ptrdiff_t m_hParentShard = 0x40; // uint32_t + constexpr std::ptrdiff_t m_ShatterStressType = 0x44; // ShatterGlassStressType + constexpr std::ptrdiff_t m_vecStressVelocity = 0x48; // Vector + constexpr std::ptrdiff_t m_bCreatedModel = 0x54; // bool + constexpr std::ptrdiff_t m_flLongestEdge = 0x58; // float + constexpr std::ptrdiff_t m_flShortestEdge = 0x5C; // float + constexpr std::ptrdiff_t m_flLongestAcross = 0x60; // float + constexpr std::ptrdiff_t m_flShortestAcross = 0x64; // float + constexpr std::ptrdiff_t m_flSumOfAllEdges = 0x68; // float + constexpr std::ptrdiff_t m_flArea = 0x6C; // float + constexpr std::ptrdiff_t m_nOnFrameEdge = 0x70; // OnFrame + constexpr std::ptrdiff_t m_nParentPanelsNthShard = 0x74; // int32_t + constexpr std::ptrdiff_t m_nSubShardGeneration = 0x78; // int32_t + constexpr std::ptrdiff_t m_vecAverageVertPosition = 0x7C; // Vector2D + constexpr std::ptrdiff_t m_bAverageVertPositionIsValid = 0x84; // bool + constexpr std::ptrdiff_t m_vecPanelSpaceStressPositionA = 0x88; // Vector2D + constexpr std::ptrdiff_t m_vecPanelSpaceStressPositionB = 0x90; // Vector2D + constexpr std::ptrdiff_t m_bStressPositionAIsValid = 0x98; // bool + constexpr std::ptrdiff_t m_bStressPositionBIsValid = 0x99; // bool + constexpr std::ptrdiff_t m_bFlaggedForRemoval = 0x9A; // bool + constexpr std::ptrdiff_t m_flPhysicsEntitySpawnedAtTime = 0x9C; // GameTime_t + constexpr std::ptrdiff_t m_bShatterRateLimited = 0xA0; // bool + constexpr std::ptrdiff_t m_hEntityHittingMe = 0xA4; // CHandle + constexpr std::ptrdiff_t m_vecNeighbors = 0xA8; // CUtlVector +} + +namespace CShatterGlassShardPhysics { // CPhysicsProp + constexpr std::ptrdiff_t m_bDebris = 0xB78; // bool + constexpr std::ptrdiff_t m_hParentShard = 0xB7C; // uint32_t + constexpr std::ptrdiff_t m_ShardDesc = 0xB80; // shard_model_desc_t +} + +namespace CShower { // CModelPointEntity +} + +namespace CSimTimer { // CSimpleSimTimer + constexpr std::ptrdiff_t m_interval = 0x8; // float +} + +namespace CSimpleMarkupVolumeTagged { // CMarkupVolumeTagged +} + +namespace CSimpleSimTimer { + constexpr std::ptrdiff_t m_next = 0x0; // GameTime_t + constexpr std::ptrdiff_t m_nWorldGroupId = 0x4; // WorldGroupId_t +} + +namespace CSimpleStopwatch { // CStopwatchBase +} + +namespace CSingleplayRules { // CGameRules + constexpr std::ptrdiff_t m_bSinglePlayerGameEnding = 0x90; // bool +} + +namespace CSkeletonAnimationController { // ISkeletonAnimationController + constexpr std::ptrdiff_t m_pSkeletonInstance = 0x8; // CSkeletonInstance* +} + +namespace CSkeletonInstance { // CGameSceneNode + constexpr std::ptrdiff_t m_modelState = 0x160; // CModelState + constexpr std::ptrdiff_t m_bIsAnimationEnabled = 0x390; // bool + constexpr std::ptrdiff_t m_bUseParentRenderBounds = 0x391; // bool + constexpr std::ptrdiff_t m_bDisableSolidCollisionsForHierarchy = 0x392; // bool + constexpr std::ptrdiff_t m_bDirtyMotionType = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_bIsGeneratingLatchedParentSpaceState = 0x0; // bitfield:1 + constexpr std::ptrdiff_t m_materialGroup = 0x394; // CUtlStringToken + constexpr std::ptrdiff_t m_nHitboxSet = 0x398; // uint8_t +} + +namespace CSkillDamage { + constexpr std::ptrdiff_t m_flDamage = 0x0; // CSkillFloat + constexpr std::ptrdiff_t m_flPhysicsForceDamage = 0x10; // float +} + +namespace CSkillFloat { + constexpr std::ptrdiff_t m_pValue = 0x0; // float[4] +} + +namespace CSkillInt { + constexpr std::ptrdiff_t m_pValue = 0x0; // int32_t[4] +} + +namespace CSkyCamera { // CBaseEntity + constexpr std::ptrdiff_t m_skyboxData = 0x4B0; // sky3dparams_t + constexpr std::ptrdiff_t m_skyboxSlotToken = 0x540; // CUtlStringToken + constexpr std::ptrdiff_t m_bUseAngles = 0x544; // bool + constexpr std::ptrdiff_t m_pNext = 0x548; // CSkyCamera* +} + +namespace CSkyboxReference { // CBaseEntity + constexpr std::ptrdiff_t m_worldGroupId = 0x4B0; // WorldGroupId_t + constexpr std::ptrdiff_t m_hSkyCamera = 0x4B4; // CHandle +} + +namespace CSmokeGrenade { // CBaseCSGrenade +} + +namespace CSmokeGrenadeProjectile { // CBaseCSGrenadeProjectile + constexpr std::ptrdiff_t m_nSmokeEffectTickBegin = 0xA48; // int32_t + constexpr std::ptrdiff_t m_bDidSmokeEffect = 0xA4C; // bool + constexpr std::ptrdiff_t m_nRandomSeed = 0xA50; // int32_t + constexpr std::ptrdiff_t m_vSmokeColor = 0xA54; // Vector + constexpr std::ptrdiff_t m_vSmokeDetonationPos = 0xA60; // Vector + constexpr std::ptrdiff_t m_VoxelFrameData = 0xA70; // CUtlVector + constexpr std::ptrdiff_t m_flLastBounce = 0xA88; // GameTime_t + constexpr std::ptrdiff_t m_fllastSimulationTime = 0xA8C; // GameTime_t +} + +namespace CSmoothFunc { + constexpr std::ptrdiff_t m_flSmoothAmplitude = 0x8; // float + constexpr std::ptrdiff_t m_flSmoothBias = 0xC; // float + constexpr std::ptrdiff_t m_flSmoothDuration = 0x10; // float + constexpr std::ptrdiff_t m_flSmoothRemainingTime = 0x14; // float + constexpr std::ptrdiff_t m_nSmoothDir = 0x18; // int32_t +} + +namespace CSound { + constexpr std::ptrdiff_t m_hOwner = 0x0; // CHandle + constexpr std::ptrdiff_t m_hTarget = 0x4; // CHandle + constexpr std::ptrdiff_t m_iVolume = 0x8; // int32_t + constexpr std::ptrdiff_t m_flOcclusionScale = 0xC; // float + constexpr std::ptrdiff_t m_iType = 0x10; // int32_t + constexpr std::ptrdiff_t m_iNextAudible = 0x14; // int32_t + constexpr std::ptrdiff_t m_flExpireTime = 0x18; // GameTime_t + constexpr std::ptrdiff_t m_iNext = 0x1C; // int16_t + constexpr std::ptrdiff_t m_bNoExpirationTime = 0x1E; // bool + constexpr std::ptrdiff_t m_ownerChannelIndex = 0x20; // int32_t + constexpr std::ptrdiff_t m_vecOrigin = 0x24; // Vector + constexpr std::ptrdiff_t m_bHasOwner = 0x30; // bool +} + +namespace CSoundAreaEntityBase { // CBaseEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_iszSoundAreaType = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_vPos = 0x4C0; // Vector +} + +namespace CSoundAreaEntityOrientedBox { // CSoundAreaEntityBase + constexpr std::ptrdiff_t m_vMin = 0x4D0; // Vector + constexpr std::ptrdiff_t m_vMax = 0x4DC; // Vector +} + +namespace CSoundAreaEntitySphere { // CSoundAreaEntityBase + constexpr std::ptrdiff_t m_flRadius = 0x4D0; // float +} + +namespace CSoundEnt { // CPointEntity + constexpr std::ptrdiff_t m_iFreeSound = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_iActiveSound = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_cLastActiveSounds = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_SoundPool = 0x4BC; // CSound[128] +} + +namespace CSoundEnvelope { + constexpr std::ptrdiff_t m_current = 0x0; // float + constexpr std::ptrdiff_t m_target = 0x4; // float + constexpr std::ptrdiff_t m_rate = 0x8; // float + constexpr std::ptrdiff_t m_forceupdate = 0xC; // bool +} + +namespace CSoundEventAABBEntity { // CSoundEventEntity + constexpr std::ptrdiff_t m_vMins = 0x558; // Vector + constexpr std::ptrdiff_t m_vMaxs = 0x564; // Vector +} + +namespace CSoundEventEntity { // CBaseEntity + constexpr std::ptrdiff_t m_bStartOnSpawn = 0x4B0; // bool + constexpr std::ptrdiff_t m_bToLocalPlayer = 0x4B1; // bool + constexpr std::ptrdiff_t m_bStopOnNew = 0x4B2; // bool + constexpr std::ptrdiff_t m_bSaveRestore = 0x4B3; // bool + constexpr std::ptrdiff_t m_bSavedIsPlaying = 0x4B4; // bool + constexpr std::ptrdiff_t m_flSavedElapsedTime = 0x4B8; // float + constexpr std::ptrdiff_t m_iszSourceEntityName = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszAttachmentName = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_onGUIDChanged = 0x4D0; // CEntityOutputTemplate + constexpr std::ptrdiff_t m_onSoundFinished = 0x4F8; // CEntityIOOutput + constexpr std::ptrdiff_t m_iszSoundName = 0x540; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hSource = 0x550; // CEntityHandle +} + +namespace CSoundEventEntityAlias_snd_event_point { // CSoundEventEntity +} + +namespace CSoundEventOBBEntity { // CSoundEventEntity + constexpr std::ptrdiff_t m_vMins = 0x558; // Vector + constexpr std::ptrdiff_t m_vMaxs = 0x564; // Vector +} + +namespace CSoundEventParameter { // CBaseEntity + constexpr std::ptrdiff_t m_iszParamName = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flFloatValue = 0x4C0; // float +} + +namespace CSoundEventPathCornerEntity { // CSoundEventEntity + constexpr std::ptrdiff_t m_iszPathCorner = 0x558; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iCountMax = 0x560; // int32_t + constexpr std::ptrdiff_t m_flDistanceMax = 0x564; // float + constexpr std::ptrdiff_t m_flDistMaxSqr = 0x568; // float + constexpr std::ptrdiff_t m_flDotProductMax = 0x56C; // float + constexpr std::ptrdiff_t bPlaying = 0x570; // bool +} + +namespace CSoundOpvarSetAABBEntity { // CSoundOpvarSetPointEntity + constexpr std::ptrdiff_t m_vDistanceInnerMins = 0x648; // Vector + constexpr std::ptrdiff_t m_vDistanceInnerMaxs = 0x654; // Vector + constexpr std::ptrdiff_t m_vDistanceOuterMins = 0x660; // Vector + constexpr std::ptrdiff_t m_vDistanceOuterMaxs = 0x66C; // Vector + constexpr std::ptrdiff_t m_nAABBDirection = 0x678; // int32_t + constexpr std::ptrdiff_t m_vInnerMins = 0x67C; // Vector + constexpr std::ptrdiff_t m_vInnerMaxs = 0x688; // Vector + constexpr std::ptrdiff_t m_vOuterMins = 0x694; // Vector + constexpr std::ptrdiff_t m_vOuterMaxs = 0x6A0; // Vector +} + +namespace CSoundOpvarSetEntity { // CBaseEntity + constexpr std::ptrdiff_t m_iszStackName = 0x4B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOperatorName = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOpvarName = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nOpvarType = 0x4D0; // int32_t + constexpr std::ptrdiff_t m_nOpvarIndex = 0x4D4; // int32_t + constexpr std::ptrdiff_t m_flOpvarValue = 0x4D8; // float + constexpr std::ptrdiff_t m_OpvarValueString = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bSetOnSpawn = 0x4E8; // bool +} + +namespace CSoundOpvarSetOBBEntity { // CSoundOpvarSetAABBEntity +} + +namespace CSoundOpvarSetOBBWindEntity { // CSoundOpvarSetPointBase + constexpr std::ptrdiff_t m_vMins = 0x548; // Vector + constexpr std::ptrdiff_t m_vMaxs = 0x554; // Vector + constexpr std::ptrdiff_t m_vDistanceMins = 0x560; // Vector + constexpr std::ptrdiff_t m_vDistanceMaxs = 0x56C; // Vector + constexpr std::ptrdiff_t m_flWindMin = 0x578; // float + constexpr std::ptrdiff_t m_flWindMax = 0x57C; // float + constexpr std::ptrdiff_t m_flWindMapMin = 0x580; // float + constexpr std::ptrdiff_t m_flWindMapMax = 0x584; // float +} + +namespace CSoundOpvarSetPathCornerEntity { // CSoundOpvarSetPointEntity + constexpr std::ptrdiff_t m_flDistMinSqr = 0x660; // float + constexpr std::ptrdiff_t m_flDistMaxSqr = 0x664; // float + constexpr std::ptrdiff_t m_iszPathCornerEntityName = 0x668; // CUtlSymbolLarge +} + +namespace CSoundOpvarSetPointBase { // CBaseEntity + constexpr std::ptrdiff_t m_bDisabled = 0x4B0; // bool + constexpr std::ptrdiff_t m_hSource = 0x4B4; // CEntityHandle + constexpr std::ptrdiff_t m_iszSourceEntityName = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_vLastPosition = 0x518; // Vector + constexpr std::ptrdiff_t m_iszStackName = 0x528; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOperatorName = 0x530; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszOpvarName = 0x538; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iOpvarIndex = 0x540; // int32_t + constexpr std::ptrdiff_t m_bUseAutoCompare = 0x544; // bool +} + +namespace CSoundOpvarSetPointEntity { // CSoundOpvarSetPointBase + constexpr std::ptrdiff_t m_OnEnter = 0x548; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnExit = 0x570; // CEntityIOOutput + constexpr std::ptrdiff_t m_bAutoDisable = 0x598; // bool + constexpr std::ptrdiff_t m_flDistanceMin = 0x5DC; // float + constexpr std::ptrdiff_t m_flDistanceMax = 0x5E0; // float + constexpr std::ptrdiff_t m_flDistanceMapMin = 0x5E4; // float + constexpr std::ptrdiff_t m_flDistanceMapMax = 0x5E8; // float + constexpr std::ptrdiff_t m_flOcclusionRadius = 0x5EC; // float + constexpr std::ptrdiff_t m_flOcclusionMin = 0x5F0; // float + constexpr std::ptrdiff_t m_flOcclusionMax = 0x5F4; // float + constexpr std::ptrdiff_t m_flValSetOnDisable = 0x5F8; // float + constexpr std::ptrdiff_t m_bSetValueOnDisable = 0x5FC; // bool + constexpr std::ptrdiff_t m_nSimulationMode = 0x600; // int32_t + constexpr std::ptrdiff_t m_nVisibilitySamples = 0x604; // int32_t + constexpr std::ptrdiff_t m_vDynamicProxyPoint = 0x608; // Vector + constexpr std::ptrdiff_t m_flDynamicMaximumOcclusion = 0x614; // float + constexpr std::ptrdiff_t m_hDynamicEntity = 0x618; // CEntityHandle + constexpr std::ptrdiff_t m_iszDynamicEntityName = 0x620; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flPathingDistanceNormFactor = 0x628; // float + constexpr std::ptrdiff_t m_vPathingSourcePos = 0x62C; // Vector + constexpr std::ptrdiff_t m_vPathingListenerPos = 0x638; // Vector + constexpr std::ptrdiff_t m_nPathingSourceIndex = 0x644; // int32_t +} + +namespace CSoundPatch { + constexpr std::ptrdiff_t m_pitch = 0x8; // CSoundEnvelope + constexpr std::ptrdiff_t m_volume = 0x18; // CSoundEnvelope + constexpr std::ptrdiff_t m_shutdownTime = 0x30; // float + constexpr std::ptrdiff_t m_flLastTime = 0x34; // float + constexpr std::ptrdiff_t m_iszSoundScriptName = 0x38; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hEnt = 0x40; // CHandle + constexpr std::ptrdiff_t m_soundEntityIndex = 0x44; // CEntityIndex + constexpr std::ptrdiff_t m_soundOrigin = 0x48; // Vector + constexpr std::ptrdiff_t m_isPlaying = 0x54; // int32_t + constexpr std::ptrdiff_t m_Filter = 0x58; // CCopyRecipientFilter + constexpr std::ptrdiff_t m_flCloseCaptionDuration = 0x80; // float + constexpr std::ptrdiff_t m_bUpdatedSoundOrigin = 0x84; // bool + constexpr std::ptrdiff_t m_iszClassName = 0x88; // CUtlSymbolLarge +} + +namespace CSoundStackSave { // CLogicalEntity + constexpr std::ptrdiff_t m_iszStackName = 0x4B0; // CUtlSymbolLarge +} + +namespace CSplineConstraint { // CPhysConstraint +} + +namespace CSpotlightEnd { // CBaseModelEntity + constexpr std::ptrdiff_t m_flLightScale = 0x700; // float + constexpr std::ptrdiff_t m_Radius = 0x704; // float + constexpr std::ptrdiff_t m_vSpotlightDir = 0x708; // Vector + constexpr std::ptrdiff_t m_vSpotlightOrg = 0x714; // Vector +} + +namespace CSprite { // CBaseModelEntity + constexpr std::ptrdiff_t m_hSpriteMaterial = 0x700; // CStrongHandle + constexpr std::ptrdiff_t m_hAttachedToEntity = 0x708; // CHandle + constexpr std::ptrdiff_t m_nAttachment = 0x70C; // AttachmentHandle_t + constexpr std::ptrdiff_t m_flSpriteFramerate = 0x710; // float + constexpr std::ptrdiff_t m_flFrame = 0x714; // float + constexpr std::ptrdiff_t m_flDieTime = 0x718; // GameTime_t + constexpr std::ptrdiff_t m_nBrightness = 0x728; // uint32_t + constexpr std::ptrdiff_t m_flBrightnessDuration = 0x72C; // float + constexpr std::ptrdiff_t m_flSpriteScale = 0x730; // float + constexpr std::ptrdiff_t m_flScaleDuration = 0x734; // float + constexpr std::ptrdiff_t m_bWorldSpaceScale = 0x738; // bool + constexpr std::ptrdiff_t m_flGlowProxySize = 0x73C; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0x740; // float + constexpr std::ptrdiff_t m_flLastTime = 0x744; // GameTime_t + constexpr std::ptrdiff_t m_flMaxFrame = 0x748; // float + constexpr std::ptrdiff_t m_flStartScale = 0x74C; // float + constexpr std::ptrdiff_t m_flDestScale = 0x750; // float + constexpr std::ptrdiff_t m_flScaleTimeStart = 0x754; // GameTime_t + constexpr std::ptrdiff_t m_nStartBrightness = 0x758; // int32_t + constexpr std::ptrdiff_t m_nDestBrightness = 0x75C; // int32_t + constexpr std::ptrdiff_t m_flBrightnessTimeStart = 0x760; // GameTime_t + constexpr std::ptrdiff_t m_nSpriteWidth = 0x764; // int32_t + constexpr std::ptrdiff_t m_nSpriteHeight = 0x768; // int32_t +} + +namespace CSpriteAlias_env_glow { // CSprite +} + +namespace CSpriteOriented { // CSprite +} + +namespace CStopwatch { // CStopwatchBase + constexpr std::ptrdiff_t m_interval = 0xC; // float +} + +namespace CStopwatchBase { // CSimpleSimTimer + constexpr std::ptrdiff_t m_fIsRunning = 0x8; // bool +} + +namespace CSun { // CBaseModelEntity + constexpr std::ptrdiff_t m_vDirection = 0x700; // Vector + constexpr std::ptrdiff_t m_clrOverlay = 0x70C; // Color + constexpr std::ptrdiff_t m_iszEffectName = 0x710; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszSSEffectName = 0x718; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bOn = 0x720; // bool + constexpr std::ptrdiff_t m_bmaxColor = 0x721; // bool + constexpr std::ptrdiff_t m_flSize = 0x724; // float + constexpr std::ptrdiff_t m_flRotation = 0x728; // float + constexpr std::ptrdiff_t m_flHazeScale = 0x72C; // float + constexpr std::ptrdiff_t m_flAlphaHaze = 0x730; // float + constexpr std::ptrdiff_t m_flAlphaHdr = 0x734; // float + constexpr std::ptrdiff_t m_flAlphaScale = 0x738; // float + constexpr std::ptrdiff_t m_flHDRColorScale = 0x73C; // float + constexpr std::ptrdiff_t m_flFarZScale = 0x740; // float +} + +namespace CTablet { // CCSWeaponBase +} + +namespace CTakeDamageInfo { + constexpr std::ptrdiff_t m_vecDamageForce = 0x8; // Vector + constexpr std::ptrdiff_t m_vecDamagePosition = 0x14; // Vector + constexpr std::ptrdiff_t m_vecReportedPosition = 0x20; // Vector + constexpr std::ptrdiff_t m_vecDamageDirection = 0x2C; // Vector + constexpr std::ptrdiff_t m_hInflictor = 0x38; // CHandle + constexpr std::ptrdiff_t m_hAttacker = 0x3C; // CHandle + constexpr std::ptrdiff_t m_hAbility = 0x40; // CHandle + constexpr std::ptrdiff_t m_flDamage = 0x44; // float + constexpr std::ptrdiff_t m_bitsDamageType = 0x48; // int32_t + constexpr std::ptrdiff_t m_iDamageCustom = 0x4C; // int32_t + constexpr std::ptrdiff_t m_iAmmoType = 0x50; // AmmoIndex_t + constexpr std::ptrdiff_t m_flOriginalDamage = 0x60; // float + constexpr std::ptrdiff_t m_bShouldBleed = 0x64; // bool + constexpr std::ptrdiff_t m_bShouldSpark = 0x65; // bool + constexpr std::ptrdiff_t m_nDamageFlags = 0x70; // TakeDamageFlags_t + constexpr std::ptrdiff_t m_nNumObjectsPenetrated = 0x74; // int32_t + constexpr std::ptrdiff_t m_hScriptInstance = 0x78; // HSCRIPT + constexpr std::ptrdiff_t m_bInTakeDamageFlow = 0x94; // bool +} + +namespace CTakeDamageResult { + constexpr std::ptrdiff_t m_nHealthLost = 0x0; // int32_t + constexpr std::ptrdiff_t m_nDamageTaken = 0x4; // int32_t +} + +namespace CTakeDamageSummaryScopeGuard { + constexpr std::ptrdiff_t m_vecSummaries = 0x8; // CUtlVector +} + +namespace CTankTargetChange { // CPointEntity + constexpr std::ptrdiff_t m_newTarget = 0x4B0; // CVariantBase + constexpr std::ptrdiff_t m_newTargetName = 0x4C0; // CUtlSymbolLarge +} + +namespace CTankTrainAI { // CPointEntity + constexpr std::ptrdiff_t m_hTrain = 0x4B0; // CHandle + constexpr std::ptrdiff_t m_hTargetEntity = 0x4B4; // CHandle + constexpr std::ptrdiff_t m_soundPlaying = 0x4B8; // int32_t + constexpr std::ptrdiff_t m_startSoundName = 0x4D0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_engineSoundName = 0x4D8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_movementSoundName = 0x4E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_targetEntityName = 0x4E8; // CUtlSymbolLarge +} + +namespace CTeam { // CBaseEntity + constexpr std::ptrdiff_t m_aPlayerControllers = 0x4B0; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_aPlayers = 0x4C8; // CNetworkUtlVectorBase> + constexpr std::ptrdiff_t m_iScore = 0x4E0; // int32_t + constexpr std::ptrdiff_t m_szTeamname = 0x4E4; // char[129] +} + +namespace CTeamplayRules { // CMultiplayRules +} + +namespace CTestEffect { // CBaseEntity + constexpr std::ptrdiff_t m_iLoop = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_iBeam = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_pBeam = 0x4B8; // CBeam*[24] + constexpr std::ptrdiff_t m_flBeamTime = 0x578; // GameTime_t[24] + constexpr std::ptrdiff_t m_flStartTime = 0x5D8; // GameTime_t +} + +namespace CTextureBasedAnimatable { // CBaseModelEntity + constexpr std::ptrdiff_t m_bLoop = 0x700; // bool + constexpr std::ptrdiff_t m_flFPS = 0x704; // float + constexpr std::ptrdiff_t m_hPositionKeys = 0x708; // CStrongHandle + constexpr std::ptrdiff_t m_hRotationKeys = 0x710; // CStrongHandle + constexpr std::ptrdiff_t m_vAnimationBoundsMin = 0x718; // Vector + constexpr std::ptrdiff_t m_vAnimationBoundsMax = 0x724; // Vector + constexpr std::ptrdiff_t m_flStartTime = 0x730; // float + constexpr std::ptrdiff_t m_flStartFrame = 0x734; // float +} + +namespace CTimeline { // IntervalTimer + constexpr std::ptrdiff_t m_flValues = 0x10; // float[64] + constexpr std::ptrdiff_t m_nValueCounts = 0x110; // int32_t[64] + constexpr std::ptrdiff_t m_nBucketCount = 0x210; // int32_t + constexpr std::ptrdiff_t m_flInterval = 0x214; // float + constexpr std::ptrdiff_t m_flFinalValue = 0x218; // float + constexpr std::ptrdiff_t m_nCompressionType = 0x21C; // TimelineCompression_t + constexpr std::ptrdiff_t m_bStopped = 0x220; // bool +} + +namespace CTimerEntity { // CLogicalEntity + constexpr std::ptrdiff_t m_OnTimer = 0x4B0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnTimerHigh = 0x4D8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnTimerLow = 0x500; // CEntityIOOutput + constexpr std::ptrdiff_t m_iDisabled = 0x528; // int32_t + constexpr std::ptrdiff_t m_flInitialDelay = 0x52C; // float + constexpr std::ptrdiff_t m_flRefireTime = 0x530; // float + constexpr std::ptrdiff_t m_bUpDownState = 0x534; // bool + constexpr std::ptrdiff_t m_iUseRandomTime = 0x538; // int32_t + constexpr std::ptrdiff_t m_bPauseAfterFiring = 0x53C; // bool + constexpr std::ptrdiff_t m_flLowerRandomBound = 0x540; // float + constexpr std::ptrdiff_t m_flUpperRandomBound = 0x544; // float + constexpr std::ptrdiff_t m_flRemainingTime = 0x548; // float + constexpr std::ptrdiff_t m_bPaused = 0x54C; // bool +} + +namespace CTonemapController2 { // CBaseEntity + constexpr std::ptrdiff_t m_flAutoExposureMin = 0x4B0; // float + constexpr std::ptrdiff_t m_flAutoExposureMax = 0x4B4; // float + constexpr std::ptrdiff_t m_flTonemapPercentTarget = 0x4B8; // float + constexpr std::ptrdiff_t m_flTonemapPercentBrightPixels = 0x4BC; // float + constexpr std::ptrdiff_t m_flTonemapMinAvgLum = 0x4C0; // float + constexpr std::ptrdiff_t m_flExposureAdaptationSpeedUp = 0x4C4; // float + constexpr std::ptrdiff_t m_flExposureAdaptationSpeedDown = 0x4C8; // float + constexpr std::ptrdiff_t m_flTonemapEVSmoothingRange = 0x4CC; // float +} + +namespace CTonemapController2Alias_env_tonemap_controller2 { // CTonemapController2 +} + +namespace CTonemapTrigger { // CBaseTrigger + constexpr std::ptrdiff_t m_tonemapControllerName = 0x8A8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hTonemapController = 0x8B0; // CEntityHandle +} + +namespace CTouchExpansionComponent { // CEntityComponent +} + +namespace CTriggerActiveWeaponDetect { // CBaseTrigger + constexpr std::ptrdiff_t m_OnTouchedActiveWeapon = 0x8A8; // CEntityIOOutput + constexpr std::ptrdiff_t m_iszWeaponClassName = 0x8D0; // CUtlSymbolLarge +} + +namespace CTriggerBombReset { // CBaseTrigger +} + +namespace CTriggerBrush { // CBaseModelEntity + constexpr std::ptrdiff_t m_OnStartTouch = 0x700; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnEndTouch = 0x728; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnUse = 0x750; // CEntityIOOutput + constexpr std::ptrdiff_t m_iInputFilter = 0x778; // int32_t + constexpr std::ptrdiff_t m_iDontMessageParent = 0x77C; // int32_t +} + +namespace CTriggerBuoyancy { // CBaseTrigger + constexpr std::ptrdiff_t m_BuoyancyHelper = 0x8A8; // CBuoyancyHelper + constexpr std::ptrdiff_t m_flFluidDensity = 0x8C8; // float +} + +namespace CTriggerCallback { // CBaseTrigger +} + +namespace CTriggerDetectBulletFire { // CBaseTrigger + constexpr std::ptrdiff_t m_bPlayerFireOnly = 0x8A8; // bool + constexpr std::ptrdiff_t m_OnDetectedBulletFire = 0x8B0; // CEntityIOOutput +} + +namespace CTriggerDetectExplosion { // CBaseTrigger + constexpr std::ptrdiff_t m_OnDetectedExplosion = 0x8E0; // CEntityIOOutput +} + +namespace CTriggerFan { // CBaseTrigger + constexpr std::ptrdiff_t m_vFanOrigin = 0x8A8; // Vector + constexpr std::ptrdiff_t m_vFanEnd = 0x8B4; // Vector + constexpr std::ptrdiff_t m_vNoise = 0x8C0; // Vector + constexpr std::ptrdiff_t m_flForce = 0x8CC; // float + constexpr std::ptrdiff_t m_flPlayerForce = 0x8D0; // float + constexpr std::ptrdiff_t m_flRampTime = 0x8D4; // float + constexpr std::ptrdiff_t m_bFalloff = 0x8D8; // bool + constexpr std::ptrdiff_t m_bPushPlayer = 0x8D9; // bool + constexpr std::ptrdiff_t m_bRampDown = 0x8DA; // bool + constexpr std::ptrdiff_t m_bAddNoise = 0x8DB; // bool + constexpr std::ptrdiff_t m_RampTimer = 0x8E0; // CountdownTimer +} + +namespace CTriggerGameEvent { // CBaseTrigger + constexpr std::ptrdiff_t m_strStartTouchEventName = 0x8A8; // CUtlString + constexpr std::ptrdiff_t m_strEndTouchEventName = 0x8B0; // CUtlString + constexpr std::ptrdiff_t m_strTriggerID = 0x8B8; // CUtlString +} + +namespace CTriggerGravity { // CBaseTrigger +} + +namespace CTriggerHurt { // CBaseTrigger + constexpr std::ptrdiff_t m_flOriginalDamage = 0x8A8; // float + constexpr std::ptrdiff_t m_flDamage = 0x8AC; // float + constexpr std::ptrdiff_t m_flDamageCap = 0x8B0; // float + constexpr std::ptrdiff_t m_flLastDmgTime = 0x8B4; // GameTime_t + constexpr std::ptrdiff_t m_flForgivenessDelay = 0x8B8; // float + constexpr std::ptrdiff_t m_bitsDamageInflict = 0x8BC; // int32_t + constexpr std::ptrdiff_t m_damageModel = 0x8C0; // int32_t + constexpr std::ptrdiff_t m_bNoDmgForce = 0x8C4; // bool + constexpr std::ptrdiff_t m_vDamageForce = 0x8C8; // Vector + constexpr std::ptrdiff_t m_thinkAlways = 0x8D4; // bool + constexpr std::ptrdiff_t m_hurtThinkPeriod = 0x8D8; // float + constexpr std::ptrdiff_t m_OnHurt = 0x8E0; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnHurtPlayer = 0x908; // CEntityIOOutput + constexpr std::ptrdiff_t m_hurtEntities = 0x930; // CUtlVector> +} + +namespace CTriggerHurtGhost { // CTriggerHurt +} + +namespace CTriggerImpact { // CTriggerMultiple + constexpr std::ptrdiff_t m_flMagnitude = 0x8D0; // float + constexpr std::ptrdiff_t m_flNoise = 0x8D4; // float + constexpr std::ptrdiff_t m_flViewkick = 0x8D8; // float + constexpr std::ptrdiff_t m_pOutputForce = 0x8E0; // CEntityOutputTemplate +} + +namespace CTriggerLerpObject { // CBaseTrigger + constexpr std::ptrdiff_t m_iszLerpTarget = 0x8A8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hLerpTarget = 0x8B0; // CHandle + constexpr std::ptrdiff_t m_iszLerpTargetAttachment = 0x8B8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hLerpTargetAttachment = 0x8C0; // AttachmentHandle_t + constexpr std::ptrdiff_t m_flLerpDuration = 0x8C4; // float + constexpr std::ptrdiff_t m_bLerpRestoreMoveType = 0x8C8; // bool + constexpr std::ptrdiff_t m_bSingleLerpObject = 0x8C9; // bool + constexpr std::ptrdiff_t m_vecLerpingObjects = 0x8D0; // CUtlVector + constexpr std::ptrdiff_t m_iszLerpEffect = 0x8E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszLerpSound = 0x8F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_OnLerpStarted = 0x8F8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnLerpFinished = 0x920; // CEntityIOOutput +} + +namespace CTriggerLook { // CTriggerOnce + constexpr std::ptrdiff_t m_hLookTarget = 0x8D0; // CHandle + constexpr std::ptrdiff_t m_flFieldOfView = 0x8D4; // float + constexpr std::ptrdiff_t m_flLookTime = 0x8D8; // float + constexpr std::ptrdiff_t m_flLookTimeTotal = 0x8DC; // float + constexpr std::ptrdiff_t m_flLookTimeLast = 0x8E0; // GameTime_t + constexpr std::ptrdiff_t m_flTimeoutDuration = 0x8E4; // float + constexpr std::ptrdiff_t m_bTimeoutFired = 0x8E8; // bool + constexpr std::ptrdiff_t m_bIsLooking = 0x8E9; // bool + constexpr std::ptrdiff_t m_b2DFOV = 0x8EA; // bool + constexpr std::ptrdiff_t m_bUseVelocity = 0x8EB; // bool + constexpr std::ptrdiff_t m_hActivator = 0x8EC; // CHandle + constexpr std::ptrdiff_t m_bTestOcclusion = 0x8F0; // bool + constexpr std::ptrdiff_t m_OnTimeout = 0x8F8; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnStartLook = 0x920; // CEntityIOOutput + constexpr std::ptrdiff_t m_OnEndLook = 0x948; // CEntityIOOutput +} + +namespace CTriggerMultiple { // CBaseTrigger + constexpr std::ptrdiff_t m_OnTrigger = 0x8A8; // CEntityIOOutput +} + +namespace CTriggerOnce { // CTriggerMultiple +} + +namespace CTriggerPhysics { // CBaseTrigger + constexpr std::ptrdiff_t m_gravityScale = 0x8B8; // float + constexpr std::ptrdiff_t m_linearLimit = 0x8BC; // float + constexpr std::ptrdiff_t m_linearDamping = 0x8C0; // float + constexpr std::ptrdiff_t m_angularLimit = 0x8C4; // float + constexpr std::ptrdiff_t m_angularDamping = 0x8C8; // float + constexpr std::ptrdiff_t m_linearForce = 0x8CC; // float + constexpr std::ptrdiff_t m_flFrequency = 0x8D0; // float + constexpr std::ptrdiff_t m_flDampingRatio = 0x8D4; // float + constexpr std::ptrdiff_t m_vecLinearForcePointAt = 0x8D8; // Vector + constexpr std::ptrdiff_t m_bCollapseToForcePoint = 0x8E4; // bool + constexpr std::ptrdiff_t m_vecLinearForcePointAtWorld = 0x8E8; // Vector + constexpr std::ptrdiff_t m_vecLinearForceDirection = 0x8F4; // Vector + constexpr std::ptrdiff_t m_bConvertToDebrisWhenPossible = 0x900; // bool +} + +namespace CTriggerProximity { // CBaseTrigger + constexpr std::ptrdiff_t m_hMeasureTarget = 0x8A8; // CHandle + constexpr std::ptrdiff_t m_iszMeasureTarget = 0x8B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_fRadius = 0x8B8; // float + constexpr std::ptrdiff_t m_nTouchers = 0x8BC; // int32_t + constexpr std::ptrdiff_t m_NearestEntityDistance = 0x8C0; // CEntityOutputTemplate +} + +namespace CTriggerPush { // CBaseTrigger + constexpr std::ptrdiff_t m_angPushEntitySpace = 0x8A8; // QAngle + constexpr std::ptrdiff_t m_vecPushDirEntitySpace = 0x8B4; // Vector + constexpr std::ptrdiff_t m_bTriggerOnStartTouch = 0x8C0; // bool + constexpr std::ptrdiff_t m_flAlternateTicksFix = 0x8C4; // float + constexpr std::ptrdiff_t m_flPushSpeed = 0x8C8; // float +} + +namespace CTriggerRemove { // CBaseTrigger + constexpr std::ptrdiff_t m_OnRemove = 0x8A8; // CEntityIOOutput +} + +namespace CTriggerSave { // CBaseTrigger + constexpr std::ptrdiff_t m_bForceNewLevelUnit = 0x8A8; // bool + constexpr std::ptrdiff_t m_fDangerousTimer = 0x8AC; // float + constexpr std::ptrdiff_t m_minHitPoints = 0x8B0; // int32_t +} + +namespace CTriggerSndSosOpvar { // CBaseTrigger + constexpr std::ptrdiff_t m_hTouchingPlayers = 0x8A8; // CUtlVector> + constexpr std::ptrdiff_t m_flPosition = 0x8C0; // Vector + constexpr std::ptrdiff_t m_flCenterSize = 0x8CC; // float + constexpr std::ptrdiff_t m_flMinVal = 0x8D0; // float + constexpr std::ptrdiff_t m_flMaxVal = 0x8D4; // float + constexpr std::ptrdiff_t m_flWait = 0x8D8; // float + constexpr std::ptrdiff_t m_opvarName = 0x8E0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_stackName = 0x8E8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_operatorName = 0x8F0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bVolIs2D = 0x8F8; // bool + constexpr std::ptrdiff_t m_opvarNameChar = 0x8F9; // char[256] + constexpr std::ptrdiff_t m_stackNameChar = 0x9F9; // char[256] + constexpr std::ptrdiff_t m_operatorNameChar = 0xAF9; // char[256] + constexpr std::ptrdiff_t m_VecNormPos = 0xBFC; // Vector + constexpr std::ptrdiff_t m_flNormCenterSize = 0xC08; // float +} + +namespace CTriggerSoundscape { // CBaseTrigger + constexpr std::ptrdiff_t m_hSoundscape = 0x8A8; // CHandle + constexpr std::ptrdiff_t m_SoundscapeName = 0x8B0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_spectators = 0x8B8; // CUtlVector> +} + +namespace CTriggerTeleport { // CBaseTrigger + constexpr std::ptrdiff_t m_iLandmark = 0x8A8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_bUseLandmarkAngles = 0x8B0; // bool + constexpr std::ptrdiff_t m_bMirrorPlayer = 0x8B1; // bool +} + +namespace CTriggerToggleSave { // CBaseTrigger + constexpr std::ptrdiff_t m_bDisabled = 0x8A8; // bool +} + +namespace CTriggerTripWire { // CBaseTrigger +} + +namespace CTriggerVolume { // CBaseModelEntity + constexpr std::ptrdiff_t m_iFilterName = 0x700; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_hFilter = 0x708; // CHandle +} + +namespace CTripWireFire { // CBaseCSGrenade +} + +namespace CTripWireFireProjectile { // CBaseGrenade +} + +namespace CVoteController { // CBaseEntity + constexpr std::ptrdiff_t m_iActiveIssueIndex = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_iOnlyTeamToVote = 0x4B4; // int32_t + constexpr std::ptrdiff_t m_nVoteOptionCount = 0x4B8; // int32_t[5] + constexpr std::ptrdiff_t m_nPotentialVotes = 0x4CC; // int32_t + constexpr std::ptrdiff_t m_bIsYesNoVote = 0x4D0; // bool + constexpr std::ptrdiff_t m_acceptingVotesTimer = 0x4D8; // CountdownTimer + constexpr std::ptrdiff_t m_executeCommandTimer = 0x4F0; // CountdownTimer + constexpr std::ptrdiff_t m_resetVoteTimer = 0x508; // CountdownTimer + constexpr std::ptrdiff_t m_nVotesCast = 0x520; // int32_t[64] + constexpr std::ptrdiff_t m_playerHoldingVote = 0x620; // CPlayerSlot + constexpr std::ptrdiff_t m_playerOverrideForVote = 0x624; // CPlayerSlot + constexpr std::ptrdiff_t m_nHighestCountIndex = 0x628; // int32_t + constexpr std::ptrdiff_t m_potentialIssues = 0x630; // CUtlVector + constexpr std::ptrdiff_t m_VoteOptions = 0x648; // CUtlVector +} + +namespace CWaterBullet { // CBaseAnimGraph +} + +namespace CWeaponAWP { // CCSWeaponBaseGun +} + +namespace CWeaponAug { // CCSWeaponBaseGun +} + +namespace CWeaponBaseItem { // CCSWeaponBase + constexpr std::ptrdiff_t m_SequenceCompleteTimer = 0xE18; // CountdownTimer + constexpr std::ptrdiff_t m_bRedraw = 0xE30; // bool +} + +namespace CWeaponBizon { // CCSWeaponBaseGun +} + +namespace CWeaponCZ75a { // CCSWeaponBaseGun +} + +namespace CWeaponElite { // CCSWeaponBaseGun +} + +namespace CWeaponFamas { // CCSWeaponBaseGun +} + +namespace CWeaponFiveSeven { // CCSWeaponBaseGun +} + +namespace CWeaponG3SG1 { // CCSWeaponBaseGun +} + +namespace CWeaponGalilAR { // CCSWeaponBaseGun +} + +namespace CWeaponGlock { // CCSWeaponBaseGun +} + +namespace CWeaponHKP2000 { // CCSWeaponBaseGun +} + +namespace CWeaponM249 { // CCSWeaponBaseGun +} + +namespace CWeaponM4A1 { // CCSWeaponBaseGun +} + +namespace CWeaponM4A1Silencer { // CCSWeaponBaseGun +} + +namespace CWeaponMAC10 { // CCSWeaponBaseGun +} + +namespace CWeaponMP5SD { // CCSWeaponBaseGun +} + +namespace CWeaponMP7 { // CCSWeaponBaseGun +} + +namespace CWeaponMP9 { // CCSWeaponBaseGun +} + +namespace CWeaponMag7 { // CCSWeaponBaseGun +} + +namespace CWeaponNOVA { // CCSWeaponBase +} + +namespace CWeaponNegev { // CCSWeaponBaseGun +} + +namespace CWeaponP250 { // CCSWeaponBaseGun +} + +namespace CWeaponP90 { // CCSWeaponBaseGun +} + +namespace CWeaponRevolver { // CCSWeaponBaseGun +} + +namespace CWeaponSCAR20 { // CCSWeaponBaseGun +} + +namespace CWeaponSG556 { // CCSWeaponBaseGun +} + +namespace CWeaponSSG08 { // CCSWeaponBaseGun +} + +namespace CWeaponSawedoff { // CCSWeaponBase +} + +namespace CWeaponShield { // CCSWeaponBaseGun + constexpr std::ptrdiff_t m_flBulletDamageAbsorbed = 0xE38; // float + constexpr std::ptrdiff_t m_flLastBulletHitSoundTime = 0xE3C; // GameTime_t + constexpr std::ptrdiff_t m_flDisplayHealth = 0xE40; // float +} + +namespace CWeaponTaser { // CCSWeaponBaseGun + constexpr std::ptrdiff_t m_fFireTime = 0xE38; // GameTime_t +} + +namespace CWeaponTec9 { // CCSWeaponBaseGun +} + +namespace CWeaponUMP45 { // CCSWeaponBaseGun +} + +namespace CWeaponUSPSilencer { // CCSWeaponBaseGun +} + +namespace CWeaponXM1014 { // CCSWeaponBase +} + +namespace CWeaponZoneRepulsor { // CCSWeaponBaseGun +} + +namespace CWorld { // CBaseModelEntity +} + +namespace CommandToolCommand_t { + constexpr std::ptrdiff_t m_bEnabled = 0x0; // bool + constexpr std::ptrdiff_t m_bOpened = 0x1; // bool + constexpr std::ptrdiff_t m_InternalId = 0x4; // uint32_t + constexpr std::ptrdiff_t m_ShortName = 0x8; // CUtlString + constexpr std::ptrdiff_t m_ExecMode = 0x10; // CommandExecMode_t + constexpr std::ptrdiff_t m_SpawnGroup = 0x18; // CUtlString + constexpr std::ptrdiff_t m_PeriodicExecDelay = 0x20; // float + constexpr std::ptrdiff_t m_SpecType = 0x24; // CommandEntitySpecType_t + constexpr std::ptrdiff_t m_EntitySpec = 0x28; // CUtlString + constexpr std::ptrdiff_t m_Commands = 0x30; // CUtlString + constexpr std::ptrdiff_t m_SetDebugBits = 0x38; // DebugOverlayBits_t + constexpr std::ptrdiff_t m_ClearDebugBits = 0x40; // DebugOverlayBits_t +} + +namespace ConceptHistory_t { + constexpr std::ptrdiff_t timeSpoken = 0x0; // float + constexpr std::ptrdiff_t m_response = 0x8; // CRR_Response +} + +namespace ConstraintSoundInfo { + constexpr std::ptrdiff_t m_vSampler = 0x8; // VelocitySampler + constexpr std::ptrdiff_t m_soundProfile = 0x20; // SimpleConstraintSoundProfile + constexpr std::ptrdiff_t m_forwardAxis = 0x40; // Vector + constexpr std::ptrdiff_t m_iszTravelSoundFwd = 0x50; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszTravelSoundBack = 0x58; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszReversalSounds = 0x68; // CUtlSymbolLarge[3] + constexpr std::ptrdiff_t m_bPlayTravelSound = 0x80; // bool + constexpr std::ptrdiff_t m_bPlayReversalSound = 0x81; // bool +} + +namespace CountdownTimer { + constexpr std::ptrdiff_t m_duration = 0x8; // float + constexpr std::ptrdiff_t m_timestamp = 0xC; // GameTime_t + constexpr std::ptrdiff_t m_timescale = 0x10; // float + constexpr std::ptrdiff_t m_nWorldGroupId = 0x14; // WorldGroupId_t +} + +namespace EngineCountdownTimer { + constexpr std::ptrdiff_t m_duration = 0x8; // float + constexpr std::ptrdiff_t m_timestamp = 0xC; // float + constexpr std::ptrdiff_t m_timescale = 0x10; // float +} + +namespace EntityRenderAttribute_t { + constexpr std::ptrdiff_t m_ID = 0x30; // CUtlStringToken + constexpr std::ptrdiff_t m_Values = 0x34; // Vector4D +} + +namespace EntitySpottedState_t { + constexpr std::ptrdiff_t m_bSpotted = 0x8; // bool + constexpr std::ptrdiff_t m_bSpottedByMask = 0xC; // uint32_t[2] +} + +namespace Extent { + constexpr std::ptrdiff_t lo = 0x0; // Vector + constexpr std::ptrdiff_t hi = 0xC; // Vector +} + +namespace FilterDamageType { // CBaseFilter + constexpr std::ptrdiff_t m_iDamageType = 0x508; // int32_t +} + +namespace FilterHealth { // CBaseFilter + constexpr std::ptrdiff_t m_bAdrenalineActive = 0x508; // bool + constexpr std::ptrdiff_t m_iHealthMin = 0x50C; // int32_t + constexpr std::ptrdiff_t m_iHealthMax = 0x510; // int32_t +} + +namespace FilterTeam { // CBaseFilter + constexpr std::ptrdiff_t m_iFilterTeam = 0x508; // int32_t +} + +namespace GameAmmoTypeInfo_t { // AmmoTypeInfo_t + constexpr std::ptrdiff_t m_nBuySize = 0x38; // int32_t + constexpr std::ptrdiff_t m_nCost = 0x3C; // int32_t +} + +namespace GameTick_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace GameTime_t { + constexpr std::ptrdiff_t m_Value = 0x0; // float +} + +namespace HullFlags_t { + constexpr std::ptrdiff_t m_bHull_Human = 0x0; // bool + constexpr std::ptrdiff_t m_bHull_SmallCentered = 0x1; // bool + constexpr std::ptrdiff_t m_bHull_WideHuman = 0x2; // bool + constexpr std::ptrdiff_t m_bHull_Tiny = 0x3; // bool + constexpr std::ptrdiff_t m_bHull_Medium = 0x4; // bool + constexpr std::ptrdiff_t m_bHull_TinyCentered = 0x5; // bool + constexpr std::ptrdiff_t m_bHull_Large = 0x6; // bool + constexpr std::ptrdiff_t m_bHull_LargeCentered = 0x7; // bool + constexpr std::ptrdiff_t m_bHull_MediumTall = 0x8; // bool + constexpr std::ptrdiff_t m_bHull_Small = 0x9; // bool +} + +namespace IChoreoServices { +} + +namespace IEconItemInterface { +} + +namespace IHasAttributes { +} + +namespace IRagdoll { +} + +namespace ISkeletonAnimationController { +} + +namespace IVehicle { +} + +namespace IntervalTimer { + constexpr std::ptrdiff_t m_timestamp = 0x8; // GameTime_t + constexpr std::ptrdiff_t m_nWorldGroupId = 0xC; // WorldGroupId_t +} + +namespace ModelConfigHandle_t { + constexpr std::ptrdiff_t m_Value = 0x0; // uint32_t +} + +namespace ParticleIndex_t { + constexpr std::ptrdiff_t m_Value = 0x0; // int32_t +} + +namespace PhysicsRagdollPose_t { + constexpr std::ptrdiff_t __m_pChainEntity = 0x8; // CNetworkVarChainer + constexpr std::ptrdiff_t m_Transforms = 0x30; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_hOwner = 0x48; // CHandle +} + +namespace QuestProgress { +} + +namespace RagdollCreationParams_t { + constexpr std::ptrdiff_t m_vForce = 0x0; // Vector + constexpr std::ptrdiff_t m_nForceBone = 0xC; // int32_t +} + +namespace RelationshipOverride_t { // Relationship_t + constexpr std::ptrdiff_t entity = 0x8; // CHandle + constexpr std::ptrdiff_t classType = 0xC; // Class_T +} + +namespace Relationship_t { + constexpr std::ptrdiff_t disposition = 0x0; // Disposition_t + constexpr std::ptrdiff_t priority = 0x4; // int32_t +} + +namespace ResponseContext_t { + constexpr std::ptrdiff_t m_iszName = 0x0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_iszValue = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_fExpirationTime = 0x10; // GameTime_t +} + +namespace ResponseFollowup { + constexpr std::ptrdiff_t followup_concept = 0x0; // char* + constexpr std::ptrdiff_t followup_contexts = 0x8; // char* + constexpr std::ptrdiff_t followup_delay = 0x10; // float + constexpr std::ptrdiff_t followup_target = 0x14; // char* + constexpr std::ptrdiff_t followup_entityiotarget = 0x1C; // char* + constexpr std::ptrdiff_t followup_entityioinput = 0x24; // char* + constexpr std::ptrdiff_t followup_entityiodelay = 0x2C; // float + constexpr std::ptrdiff_t bFired = 0x30; // bool +} + +namespace ResponseParams { + constexpr std::ptrdiff_t odds = 0x10; // int16_t + constexpr std::ptrdiff_t flags = 0x12; // int16_t + constexpr std::ptrdiff_t m_pFollowup = 0x18; // ResponseFollowup* +} + +namespace SellbackPurchaseEntry_t { + constexpr std::ptrdiff_t m_unDefIdx = 0x30; // uint16_t + constexpr std::ptrdiff_t m_nCost = 0x34; // int32_t + constexpr std::ptrdiff_t m_nPrevArmor = 0x38; // int32_t + constexpr std::ptrdiff_t m_bPrevHelmet = 0x3C; // bool + constexpr std::ptrdiff_t m_hItem = 0x40; // CEntityHandle +} + +namespace ServerAuthoritativeWeaponSlot_t { + constexpr std::ptrdiff_t unClass = 0x28; // uint16_t + constexpr std::ptrdiff_t unSlot = 0x2A; // uint16_t + constexpr std::ptrdiff_t unItemDefIdx = 0x2C; // uint16_t +} + +namespace SimpleConstraintSoundProfile { + constexpr std::ptrdiff_t eKeypoints = 0x8; // SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t + constexpr std::ptrdiff_t m_keyPoints = 0xC; // float[2] + constexpr std::ptrdiff_t m_reversalSoundThresholds = 0x14; // float[3] +} + +namespace SpawnPoint { // CServerOnlyPointEntity + constexpr std::ptrdiff_t m_iPriority = 0x4B0; // int32_t + constexpr std::ptrdiff_t m_bEnabled = 0x4B4; // bool + constexpr std::ptrdiff_t m_nType = 0x4B8; // int32_t +} + +namespace SpawnPointCoopEnemy { // SpawnPoint + constexpr std::ptrdiff_t m_szWeaponsToGive = 0x4C0; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_szPlayerModelToUse = 0x4C8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_nArmorToSpawnWith = 0x4D0; // int32_t + constexpr std::ptrdiff_t m_nDefaultBehavior = 0x4D4; // SpawnPointCoopEnemy::BotDefaultBehavior_t + constexpr std::ptrdiff_t m_nBotDifficulty = 0x4D8; // int32_t + constexpr std::ptrdiff_t m_bIsAgressive = 0x4DC; // bool + constexpr std::ptrdiff_t m_bStartAsleep = 0x4DD; // bool + constexpr std::ptrdiff_t m_flHideRadius = 0x4E0; // float + constexpr std::ptrdiff_t m_szBehaviorTreeFile = 0x4F0; // CUtlSymbolLarge +} + +namespace SummaryTakeDamageInfo_t { + constexpr std::ptrdiff_t nSummarisedCount = 0x0; // int32_t + constexpr std::ptrdiff_t info = 0x8; // CTakeDamageInfo + constexpr std::ptrdiff_t result = 0xA0; // CTakeDamageResult + constexpr std::ptrdiff_t hTarget = 0xA8; // CHandle +} + +namespace VPhysicsCollisionAttribute_t { + constexpr std::ptrdiff_t m_nInteractsAs = 0x8; // uint64_t + constexpr std::ptrdiff_t m_nInteractsWith = 0x10; // uint64_t + constexpr std::ptrdiff_t m_nInteractsExclude = 0x18; // uint64_t + constexpr std::ptrdiff_t m_nEntityId = 0x20; // uint32_t + constexpr std::ptrdiff_t m_nOwnerId = 0x24; // uint32_t + constexpr std::ptrdiff_t m_nHierarchyId = 0x28; // uint16_t + constexpr std::ptrdiff_t m_nCollisionGroup = 0x2A; // uint8_t + constexpr std::ptrdiff_t m_nCollisionFunctionMask = 0x2B; // uint8_t +} + +namespace VelocitySampler { + constexpr std::ptrdiff_t m_prevSample = 0x0; // Vector + constexpr std::ptrdiff_t m_fPrevSampleTime = 0xC; // GameTime_t + constexpr std::ptrdiff_t m_fIdealSampleRate = 0x10; // float +} + +namespace ViewAngleServerChange_t { + constexpr std::ptrdiff_t nType = 0x30; // FixAngleSet_t + constexpr std::ptrdiff_t qAngle = 0x34; // QAngle + constexpr std::ptrdiff_t nIndex = 0x40; // uint32_t +} + +namespace WeaponPurchaseCount_t { + constexpr std::ptrdiff_t m_nItemDefIndex = 0x30; // uint16_t + constexpr std::ptrdiff_t m_nCount = 0x32; // uint16_t +} + +namespace WeaponPurchaseTracker_t { + constexpr std::ptrdiff_t m_weaponPurchases = 0x8; // CUtlVectorEmbeddedNetworkVar +} + +namespace audioparams_t { + constexpr std::ptrdiff_t localSound = 0x8; // Vector[8] + constexpr std::ptrdiff_t soundscapeIndex = 0x68; // int32_t + constexpr std::ptrdiff_t localBits = 0x6C; // uint8_t + constexpr std::ptrdiff_t soundscapeEntityListIndex = 0x70; // int32_t + constexpr std::ptrdiff_t soundEventHash = 0x74; // uint32_t +} + +namespace dynpitchvol_base_t { + constexpr std::ptrdiff_t preset = 0x0; // int32_t + constexpr std::ptrdiff_t pitchrun = 0x4; // int32_t + constexpr std::ptrdiff_t pitchstart = 0x8; // int32_t + constexpr std::ptrdiff_t spinup = 0xC; // int32_t + constexpr std::ptrdiff_t spindown = 0x10; // int32_t + constexpr std::ptrdiff_t volrun = 0x14; // int32_t + constexpr std::ptrdiff_t volstart = 0x18; // int32_t + constexpr std::ptrdiff_t fadein = 0x1C; // int32_t + constexpr std::ptrdiff_t fadeout = 0x20; // int32_t + constexpr std::ptrdiff_t lfotype = 0x24; // int32_t + constexpr std::ptrdiff_t lforate = 0x28; // int32_t + constexpr std::ptrdiff_t lfomodpitch = 0x2C; // int32_t + constexpr std::ptrdiff_t lfomodvol = 0x30; // int32_t + constexpr std::ptrdiff_t cspinup = 0x34; // int32_t + constexpr std::ptrdiff_t cspincount = 0x38; // int32_t + constexpr std::ptrdiff_t pitch = 0x3C; // int32_t + constexpr std::ptrdiff_t spinupsav = 0x40; // int32_t + constexpr std::ptrdiff_t spindownsav = 0x44; // int32_t + constexpr std::ptrdiff_t pitchfrac = 0x48; // int32_t + constexpr std::ptrdiff_t vol = 0x4C; // int32_t + constexpr std::ptrdiff_t fadeinsav = 0x50; // int32_t + constexpr std::ptrdiff_t fadeoutsav = 0x54; // int32_t + constexpr std::ptrdiff_t volfrac = 0x58; // int32_t + constexpr std::ptrdiff_t lfofrac = 0x5C; // int32_t + constexpr std::ptrdiff_t lfomult = 0x60; // int32_t +} + +namespace dynpitchvol_t { // dynpitchvol_base_t +} + +namespace fogparams_t { + constexpr std::ptrdiff_t dirPrimary = 0x8; // Vector + constexpr std::ptrdiff_t colorPrimary = 0x14; // Color + constexpr std::ptrdiff_t colorSecondary = 0x18; // Color + constexpr std::ptrdiff_t colorPrimaryLerpTo = 0x1C; // Color + constexpr std::ptrdiff_t colorSecondaryLerpTo = 0x20; // Color + constexpr std::ptrdiff_t start = 0x24; // float + constexpr std::ptrdiff_t end = 0x28; // float + constexpr std::ptrdiff_t farz = 0x2C; // float + constexpr std::ptrdiff_t maxdensity = 0x30; // float + constexpr std::ptrdiff_t exponent = 0x34; // float + constexpr std::ptrdiff_t HDRColorScale = 0x38; // float + constexpr std::ptrdiff_t skyboxFogFactor = 0x3C; // float + constexpr std::ptrdiff_t skyboxFogFactorLerpTo = 0x40; // float + constexpr std::ptrdiff_t startLerpTo = 0x44; // float + constexpr std::ptrdiff_t endLerpTo = 0x48; // float + constexpr std::ptrdiff_t maxdensityLerpTo = 0x4C; // float + constexpr std::ptrdiff_t lerptime = 0x50; // GameTime_t + constexpr std::ptrdiff_t duration = 0x54; // float + constexpr std::ptrdiff_t blendtobackground = 0x58; // float + constexpr std::ptrdiff_t scattering = 0x5C; // float + constexpr std::ptrdiff_t locallightscale = 0x60; // float + constexpr std::ptrdiff_t enable = 0x64; // bool + constexpr std::ptrdiff_t blend = 0x65; // bool + constexpr std::ptrdiff_t m_bNoReflectionFog = 0x66; // bool + constexpr std::ptrdiff_t m_bPadding = 0x67; // bool +} + +namespace fogplayerparams_t { + constexpr std::ptrdiff_t m_hCtrl = 0x8; // CHandle + constexpr std::ptrdiff_t m_flTransitionTime = 0xC; // float + constexpr std::ptrdiff_t m_OldColor = 0x10; // Color + constexpr std::ptrdiff_t m_flOldStart = 0x14; // float + constexpr std::ptrdiff_t m_flOldEnd = 0x18; // float + constexpr std::ptrdiff_t m_flOldMaxDensity = 0x1C; // float + constexpr std::ptrdiff_t m_flOldHDRColorScale = 0x20; // float + constexpr std::ptrdiff_t m_flOldFarZ = 0x24; // float + constexpr std::ptrdiff_t m_NewColor = 0x28; // Color + constexpr std::ptrdiff_t m_flNewStart = 0x2C; // float + constexpr std::ptrdiff_t m_flNewEnd = 0x30; // float + constexpr std::ptrdiff_t m_flNewMaxDensity = 0x34; // float + constexpr std::ptrdiff_t m_flNewHDRColorScale = 0x38; // float + constexpr std::ptrdiff_t m_flNewFarZ = 0x3C; // float +} + +namespace hudtextparms_t { + constexpr std::ptrdiff_t color1 = 0x0; // Color + constexpr std::ptrdiff_t color2 = 0x4; // Color + constexpr std::ptrdiff_t effect = 0x8; // uint8_t + constexpr std::ptrdiff_t channel = 0x9; // uint8_t + constexpr std::ptrdiff_t x = 0xC; // float + constexpr std::ptrdiff_t y = 0x10; // float +} + +namespace lerpdata_t { + constexpr std::ptrdiff_t m_hEnt = 0x0; // CHandle + constexpr std::ptrdiff_t m_MoveType = 0x4; // MoveType_t + constexpr std::ptrdiff_t m_flStartTime = 0x8; // GameTime_t + constexpr std::ptrdiff_t m_vecStartOrigin = 0xC; // Vector + constexpr std::ptrdiff_t m_qStartRot = 0x20; // Quaternion + constexpr std::ptrdiff_t m_nFXIndex = 0x30; // ParticleIndex_t +} + +namespace locksound_t { + constexpr std::ptrdiff_t sLockedSound = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t sUnlockedSound = 0x10; // CUtlSymbolLarge + constexpr std::ptrdiff_t flwaitSound = 0x18; // GameTime_t +} + +namespace magnetted_objects_t { + constexpr std::ptrdiff_t hEntity = 0x8; // CHandle +} + +namespace ragdoll_t { + constexpr std::ptrdiff_t list = 0x0; // CUtlVector + constexpr std::ptrdiff_t boneIndex = 0x18; // CUtlVector + constexpr std::ptrdiff_t allowStretch = 0x30; // bool + constexpr std::ptrdiff_t unused = 0x31; // bool +} + +namespace ragdollelement_t { + constexpr std::ptrdiff_t originParentSpace = 0x0; // Vector + constexpr std::ptrdiff_t parentIndex = 0x20; // int32_t + constexpr std::ptrdiff_t m_flRadius = 0x24; // float +} + +namespace shard_model_desc_t { + constexpr std::ptrdiff_t m_nModelID = 0x8; // int32_t + constexpr std::ptrdiff_t m_hMaterial = 0x10; // CStrongHandle + constexpr std::ptrdiff_t m_solid = 0x18; // ShardSolid_t + constexpr std::ptrdiff_t m_ShatterPanelMode = 0x19; // ShatterPanelMode + constexpr std::ptrdiff_t m_vecPanelSize = 0x1C; // Vector2D + constexpr std::ptrdiff_t m_vecStressPositionA = 0x24; // Vector2D + constexpr std::ptrdiff_t m_vecStressPositionB = 0x2C; // Vector2D + constexpr std::ptrdiff_t m_vecPanelVertices = 0x38; // CNetworkUtlVectorBase + constexpr std::ptrdiff_t m_flGlassHalfThickness = 0x50; // float + constexpr std::ptrdiff_t m_bHasParent = 0x54; // bool + constexpr std::ptrdiff_t m_bParentFrozen = 0x55; // bool + constexpr std::ptrdiff_t m_SurfacePropStringToken = 0x58; // CUtlStringToken +} + +namespace sky3dparams_t { + constexpr std::ptrdiff_t scale = 0x8; // int16_t + constexpr std::ptrdiff_t origin = 0xC; // Vector + constexpr std::ptrdiff_t bClip3DSkyBoxNearToWorldFar = 0x18; // bool + constexpr std::ptrdiff_t flClip3DSkyBoxNearToWorldFarOffset = 0x1C; // float + constexpr std::ptrdiff_t fog = 0x20; // fogparams_t + constexpr std::ptrdiff_t m_nWorldGroupID = 0x88; // WorldGroupId_t +} + +namespace thinkfunc_t { + constexpr std::ptrdiff_t m_hFn = 0x8; // HSCRIPT + constexpr std::ptrdiff_t m_nContext = 0x10; // CUtlStringToken + constexpr std::ptrdiff_t m_nNextThinkTick = 0x14; // GameTick_t + constexpr std::ptrdiff_t m_nLastThinkTick = 0x18; // GameTick_t +} \ No newline at end of file diff --git a/HPCS2/offset/soundsystem.dll.hpp b/HPCS2/offset/soundsystem.dll.hpp new file mode 100644 index 0000000..e8c8acc --- /dev/null +++ b/HPCS2/offset/soundsystem.dll.hpp @@ -0,0 +1,313 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace CDSPMixgroupModifier { + constexpr std::ptrdiff_t m_mixgroup = 0x0; // CUtlString + constexpr std::ptrdiff_t m_flModifier = 0x8; // float + constexpr std::ptrdiff_t m_flModifierMin = 0xC; // float + constexpr std::ptrdiff_t m_flSourceModifier = 0x10; // float + constexpr std::ptrdiff_t m_flSourceModifierMin = 0x14; // float + constexpr std::ptrdiff_t m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float +} + +namespace CDSPPresetMixgroupModifierTable { + constexpr std::ptrdiff_t m_table = 0x0; // CUtlVector +} + +namespace CDspPresetModifierList { + constexpr std::ptrdiff_t m_dspName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_modifiers = 0x8; // CUtlVector +} + +namespace CSosGroupActionLimitSchema { // CSosGroupActionSchema + constexpr std::ptrdiff_t m_nMaxCount = 0x18; // int32_t + constexpr std::ptrdiff_t m_nStopType = 0x1C; // SosActionStopType_t + constexpr std::ptrdiff_t m_nSortType = 0x20; // SosActionSortType_t +} + +namespace CSosGroupActionSchema { + constexpr std::ptrdiff_t m_name = 0x8; // CUtlString + constexpr std::ptrdiff_t m_actionType = 0x10; // ActionType_t + constexpr std::ptrdiff_t m_actionInstanceType = 0x14; // ActionType_t +} + +namespace CSosGroupActionSetSoundeventParameterSchema { // CSosGroupActionSchema + constexpr std::ptrdiff_t m_nMaxCount = 0x18; // int32_t + constexpr std::ptrdiff_t m_flMinValue = 0x1C; // float + constexpr std::ptrdiff_t m_flMaxValue = 0x20; // float + constexpr std::ptrdiff_t m_opvarName = 0x28; // CUtlString + constexpr std::ptrdiff_t m_nSortType = 0x30; // SosActionSortType_t +} + +namespace CSosGroupActionTimeLimitSchema { // CSosGroupActionSchema + constexpr std::ptrdiff_t m_flMaxDuration = 0x18; // float +} + +namespace CSosGroupBranchPattern { + constexpr std::ptrdiff_t m_bMatchEventName = 0x8; // bool + constexpr std::ptrdiff_t m_bMatchEventSubString = 0x9; // bool + constexpr std::ptrdiff_t m_bMatchEntIndex = 0xA; // bool + constexpr std::ptrdiff_t m_bMatchOpvar = 0xB; // bool +} + +namespace CSosGroupMatchPattern { // CSosGroupBranchPattern + constexpr std::ptrdiff_t m_matchSoundEventName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_matchSoundEventSubString = 0x18; // CUtlString + constexpr std::ptrdiff_t m_flEntIndex = 0x20; // float + constexpr std::ptrdiff_t m_flOpvar = 0x24; // float +} + +namespace CSosSoundEventGroupListSchema { + constexpr std::ptrdiff_t m_groupList = 0x0; // CUtlVector +} + +namespace CSosSoundEventGroupSchema { + constexpr std::ptrdiff_t m_name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nType = 0x8; // SosGroupType_t + constexpr std::ptrdiff_t m_bIsBlocking = 0xC; // bool + constexpr std::ptrdiff_t m_nBlockMaxCount = 0x10; // int32_t + constexpr std::ptrdiff_t m_bInvertMatch = 0x14; // bool + constexpr std::ptrdiff_t m_matchPattern = 0x18; // CSosGroupMatchPattern + constexpr std::ptrdiff_t m_branchPattern = 0x40; // CSosGroupBranchPattern + constexpr std::ptrdiff_t m_vActions = 0xB0; // CSosGroupActionSchema*[4] +} + +namespace CSoundEventMetaData { + constexpr std::ptrdiff_t m_soundEventVMix = 0x0; // CStrongHandle +} + +namespace SelectedEditItemInfo_t { + constexpr std::ptrdiff_t m_EditItems = 0x0; // CUtlVector +} + +namespace SosEditItemInfo_t { + constexpr std::ptrdiff_t itemType = 0x0; // SosEditItemType_t + constexpr std::ptrdiff_t itemName = 0x8; // CUtlString + constexpr std::ptrdiff_t itemTypeName = 0x10; // CUtlString + constexpr std::ptrdiff_t itemKVString = 0x20; // CUtlString + constexpr std::ptrdiff_t itemPos = 0x28; // Vector2D +} + +namespace VMixAutoFilterDesc_t { + constexpr std::ptrdiff_t m_flEnvelopeAmount = 0x0; // float + constexpr std::ptrdiff_t m_flAttackTimeMS = 0x4; // float + constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x8; // float + constexpr std::ptrdiff_t m_filter = 0xC; // VMixFilterDesc_t + constexpr std::ptrdiff_t m_flLFOAmount = 0x1C; // float + constexpr std::ptrdiff_t m_flLFORate = 0x20; // float + constexpr std::ptrdiff_t m_flPhase = 0x24; // float + constexpr std::ptrdiff_t m_nLFOShape = 0x28; // VMixLFOShape_t +} + +namespace VMixBoxverbDesc_t { + constexpr std::ptrdiff_t m_flSizeMax = 0x0; // float + constexpr std::ptrdiff_t m_flSizeMin = 0x4; // float + constexpr std::ptrdiff_t m_flComplexity = 0x8; // float + constexpr std::ptrdiff_t m_flDiffusion = 0xC; // float + constexpr std::ptrdiff_t m_flModDepth = 0x10; // float + constexpr std::ptrdiff_t m_flModRate = 0x14; // float + constexpr std::ptrdiff_t m_bParallel = 0x18; // bool + constexpr std::ptrdiff_t m_filterType = 0x1C; // VMixFilterDesc_t + constexpr std::ptrdiff_t m_flWidth = 0x2C; // float + constexpr std::ptrdiff_t m_flHeight = 0x30; // float + constexpr std::ptrdiff_t m_flDepth = 0x34; // float + constexpr std::ptrdiff_t m_flFeedbackScale = 0x38; // float + constexpr std::ptrdiff_t m_flFeedbackWidth = 0x3C; // float + constexpr std::ptrdiff_t m_flFeedbackHeight = 0x40; // float + constexpr std::ptrdiff_t m_flFeedbackDepth = 0x44; // float + constexpr std::ptrdiff_t m_flOutputGain = 0x48; // float + constexpr std::ptrdiff_t m_flTaps = 0x4C; // float +} + +namespace VMixConvolutionDesc_t { + constexpr std::ptrdiff_t m_fldbGain = 0x0; // float + constexpr std::ptrdiff_t m_flPreDelayMS = 0x4; // float + constexpr std::ptrdiff_t m_flWetMix = 0x8; // float + constexpr std::ptrdiff_t m_fldbLow = 0xC; // float + constexpr std::ptrdiff_t m_fldbMid = 0x10; // float + constexpr std::ptrdiff_t m_fldbHigh = 0x14; // float + constexpr std::ptrdiff_t m_flLowCutoffFreq = 0x18; // float + constexpr std::ptrdiff_t m_flHighCutoffFreq = 0x1C; // float +} + +namespace VMixDelayDesc_t { + constexpr std::ptrdiff_t m_feedbackFilter = 0x0; // VMixFilterDesc_t + constexpr std::ptrdiff_t m_bEnableFilter = 0x10; // bool + constexpr std::ptrdiff_t m_flDelay = 0x14; // float + constexpr std::ptrdiff_t m_flDirectGain = 0x18; // float + constexpr std::ptrdiff_t m_flDelayGain = 0x1C; // float + constexpr std::ptrdiff_t m_flFeedbackGain = 0x20; // float + constexpr std::ptrdiff_t m_flWidth = 0x24; // float +} + +namespace VMixDiffusorDesc_t { + constexpr std::ptrdiff_t m_flSize = 0x0; // float + constexpr std::ptrdiff_t m_flComplexity = 0x4; // float + constexpr std::ptrdiff_t m_flFeedback = 0x8; // float + constexpr std::ptrdiff_t m_flOutputGain = 0xC; // float +} + +namespace VMixDynamics3BandDesc_t { + constexpr std::ptrdiff_t m_fldbGainOutput = 0x0; // float + constexpr std::ptrdiff_t m_flRMSTimeMS = 0x4; // float + constexpr std::ptrdiff_t m_fldbKneeWidth = 0x8; // float + constexpr std::ptrdiff_t m_flDepth = 0xC; // float + constexpr std::ptrdiff_t m_flWetMix = 0x10; // float + constexpr std::ptrdiff_t m_flTimeScale = 0x14; // float + constexpr std::ptrdiff_t m_flLowCutoffFreq = 0x18; // float + constexpr std::ptrdiff_t m_flHighCutoffFreq = 0x1C; // float + constexpr std::ptrdiff_t m_bPeakMode = 0x20; // bool + constexpr std::ptrdiff_t m_bandDesc = 0x24; // VMixDynamicsBand_t[3] +} + +namespace VMixDynamicsBand_t { + constexpr std::ptrdiff_t m_fldbGainInput = 0x0; // float + constexpr std::ptrdiff_t m_fldbGainOutput = 0x4; // float + constexpr std::ptrdiff_t m_fldbThresholdBelow = 0x8; // float + constexpr std::ptrdiff_t m_fldbThresholdAbove = 0xC; // float + constexpr std::ptrdiff_t m_flRatioBelow = 0x10; // float + constexpr std::ptrdiff_t m_flRatioAbove = 0x14; // float + constexpr std::ptrdiff_t m_flAttackTimeMS = 0x18; // float + constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x1C; // float + constexpr std::ptrdiff_t m_bEnable = 0x20; // bool + constexpr std::ptrdiff_t m_bSolo = 0x21; // bool +} + +namespace VMixDynamicsCompressorDesc_t { + constexpr std::ptrdiff_t m_fldbOutputGain = 0x0; // float + constexpr std::ptrdiff_t m_fldbCompressionThreshold = 0x4; // float + constexpr std::ptrdiff_t m_fldbKneeWidth = 0x8; // float + constexpr std::ptrdiff_t m_flCompressionRatio = 0xC; // float + constexpr std::ptrdiff_t m_flAttackTimeMS = 0x10; // float + constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x14; // float + constexpr std::ptrdiff_t m_flRMSTimeMS = 0x18; // float + constexpr std::ptrdiff_t m_flWetMix = 0x1C; // float + constexpr std::ptrdiff_t m_bPeakMode = 0x20; // bool +} + +namespace VMixDynamicsDesc_t { + constexpr std::ptrdiff_t m_fldbGain = 0x0; // float + constexpr std::ptrdiff_t m_fldbNoiseGateThreshold = 0x4; // float + constexpr std::ptrdiff_t m_fldbCompressionThreshold = 0x8; // float + constexpr std::ptrdiff_t m_fldbLimiterThreshold = 0xC; // float + constexpr std::ptrdiff_t m_fldbKneeWidth = 0x10; // float + constexpr std::ptrdiff_t m_flRatio = 0x14; // float + constexpr std::ptrdiff_t m_flLimiterRatio = 0x18; // float + constexpr std::ptrdiff_t m_flAttackTimeMS = 0x1C; // float + constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x20; // float + constexpr std::ptrdiff_t m_flRMSTimeMS = 0x24; // float + constexpr std::ptrdiff_t m_flWetMix = 0x28; // float + constexpr std::ptrdiff_t m_bPeakMode = 0x2C; // bool +} + +namespace VMixEQ8Desc_t { + constexpr std::ptrdiff_t m_stages = 0x0; // VMixFilterDesc_t[8] +} + +namespace VMixEffectChainDesc_t { + constexpr std::ptrdiff_t m_flCrossfadeTime = 0x0; // float +} + +namespace VMixEnvelopeDesc_t { + constexpr std::ptrdiff_t m_flAttackTimeMS = 0x0; // float + constexpr std::ptrdiff_t m_flHoldTimeMS = 0x4; // float + constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x8; // float +} + +namespace VMixFilterDesc_t { + constexpr std::ptrdiff_t m_nFilterType = 0x0; // VMixFilterType_t + constexpr std::ptrdiff_t m_nFilterSlope = 0x2; // VMixFilterSlope_t + constexpr std::ptrdiff_t m_bEnabled = 0x3; // bool + constexpr std::ptrdiff_t m_fldbGain = 0x4; // float + constexpr std::ptrdiff_t m_flCutoffFreq = 0x8; // float + constexpr std::ptrdiff_t m_flQ = 0xC; // float +} + +namespace VMixFreeverbDesc_t { + constexpr std::ptrdiff_t m_flRoomSize = 0x0; // float + constexpr std::ptrdiff_t m_flDamp = 0x4; // float + constexpr std::ptrdiff_t m_flWidth = 0x8; // float + constexpr std::ptrdiff_t m_flLateReflections = 0xC; // float +} + +namespace VMixModDelayDesc_t { + constexpr std::ptrdiff_t m_feedbackFilter = 0x0; // VMixFilterDesc_t + constexpr std::ptrdiff_t m_bPhaseInvert = 0x10; // bool + constexpr std::ptrdiff_t m_flGlideTime = 0x14; // float + constexpr std::ptrdiff_t m_flDelay = 0x18; // float + constexpr std::ptrdiff_t m_flOutputGain = 0x1C; // float + constexpr std::ptrdiff_t m_flFeedbackGain = 0x20; // float + constexpr std::ptrdiff_t m_flModRate = 0x24; // float + constexpr std::ptrdiff_t m_flModDepth = 0x28; // float + constexpr std::ptrdiff_t m_bApplyAntialiasing = 0x2C; // bool +} + +namespace VMixOscDesc_t { + constexpr std::ptrdiff_t oscType = 0x0; // VMixLFOShape_t + constexpr std::ptrdiff_t m_freq = 0x4; // float + constexpr std::ptrdiff_t m_flPhase = 0x8; // float +} + +namespace VMixPannerDesc_t { + constexpr std::ptrdiff_t m_type = 0x0; // VMixPannerType_t + constexpr std::ptrdiff_t m_flStrength = 0x4; // float +} + +namespace VMixPitchShiftDesc_t { + constexpr std::ptrdiff_t m_nGrainSampleCount = 0x0; // int32_t + constexpr std::ptrdiff_t m_flPitchShift = 0x4; // float + constexpr std::ptrdiff_t m_nQuality = 0x8; // int32_t + constexpr std::ptrdiff_t m_nProcType = 0xC; // int32_t +} + +namespace VMixPlateverbDesc_t { + constexpr std::ptrdiff_t m_flPrefilter = 0x0; // float + constexpr std::ptrdiff_t m_flInputDiffusion1 = 0x4; // float + constexpr std::ptrdiff_t m_flInputDiffusion2 = 0x8; // float + constexpr std::ptrdiff_t m_flDecay = 0xC; // float + constexpr std::ptrdiff_t m_flDamp = 0x10; // float + constexpr std::ptrdiff_t m_flFeedbackDiffusion1 = 0x14; // float + constexpr std::ptrdiff_t m_flFeedbackDiffusion2 = 0x18; // float +} + +namespace VMixShaperDesc_t { + constexpr std::ptrdiff_t m_nShape = 0x0; // int32_t + constexpr std::ptrdiff_t m_fldbDrive = 0x4; // float + constexpr std::ptrdiff_t m_fldbOutputGain = 0x8; // float + constexpr std::ptrdiff_t m_flWetMix = 0xC; // float + constexpr std::ptrdiff_t m_nOversampleFactor = 0x10; // int32_t +} + +namespace VMixSubgraphSwitchDesc_t { + constexpr std::ptrdiff_t m_interpolationMode = 0x0; // VMixSubgraphSwitchInterpolationType_t + constexpr std::ptrdiff_t m_bOnlyTailsOnFadeOut = 0x4; // bool + constexpr std::ptrdiff_t m_flInterpolationTime = 0x8; // float +} + +namespace VMixUtilityDesc_t { + constexpr std::ptrdiff_t m_nOp = 0x0; // VMixChannelOperation_t + constexpr std::ptrdiff_t m_flInputPan = 0x4; // float + constexpr std::ptrdiff_t m_flOutputBalance = 0x8; // float + constexpr std::ptrdiff_t m_fldbOutputGain = 0xC; // float + constexpr std::ptrdiff_t m_bBassMono = 0x10; // bool + constexpr std::ptrdiff_t m_flBassFreq = 0x14; // float +} + +namespace VMixVocoderDesc_t { + constexpr std::ptrdiff_t m_nBandCount = 0x0; // int32_t + constexpr std::ptrdiff_t m_flBandwidth = 0x4; // float + constexpr std::ptrdiff_t m_fldBModGain = 0x8; // float + constexpr std::ptrdiff_t m_flFreqRangeStart = 0xC; // float + constexpr std::ptrdiff_t m_flFreqRangeEnd = 0x10; // float + constexpr std::ptrdiff_t m_fldBUnvoicedGain = 0x14; // float + constexpr std::ptrdiff_t m_flAttackTimeMS = 0x18; // float + constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x1C; // float + constexpr std::ptrdiff_t m_nDebugBand = 0x20; // int32_t + constexpr std::ptrdiff_t m_bPeakMode = 0x24; // bool +} \ No newline at end of file diff --git a/HPCS2/offset/vphysics2.dll.hpp b/HPCS2/offset/vphysics2.dll.hpp new file mode 100644 index 0000000..d1bbe40 --- /dev/null +++ b/HPCS2/offset/vphysics2.dll.hpp @@ -0,0 +1,755 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace CFeIndexedJiggleBone { + constexpr std::ptrdiff_t m_nNode = 0x0; // uint32_t + constexpr std::ptrdiff_t m_nJiggleParent = 0x4; // uint32_t + constexpr std::ptrdiff_t m_jiggleBone = 0x8; // CFeJiggleBone +} + +namespace CFeJiggleBone { + constexpr std::ptrdiff_t m_nFlags = 0x0; // uint32_t + constexpr std::ptrdiff_t m_flLength = 0x4; // float + constexpr std::ptrdiff_t m_flTipMass = 0x8; // float + constexpr std::ptrdiff_t m_flYawStiffness = 0xC; // float + constexpr std::ptrdiff_t m_flYawDamping = 0x10; // float + constexpr std::ptrdiff_t m_flPitchStiffness = 0x14; // float + constexpr std::ptrdiff_t m_flPitchDamping = 0x18; // float + constexpr std::ptrdiff_t m_flAlongStiffness = 0x1C; // float + constexpr std::ptrdiff_t m_flAlongDamping = 0x20; // float + constexpr std::ptrdiff_t m_flAngleLimit = 0x24; // float + constexpr std::ptrdiff_t m_flMinYaw = 0x28; // float + constexpr std::ptrdiff_t m_flMaxYaw = 0x2C; // float + constexpr std::ptrdiff_t m_flYawFriction = 0x30; // float + constexpr std::ptrdiff_t m_flYawBounce = 0x34; // float + constexpr std::ptrdiff_t m_flMinPitch = 0x38; // float + constexpr std::ptrdiff_t m_flMaxPitch = 0x3C; // float + constexpr std::ptrdiff_t m_flPitchFriction = 0x40; // float + constexpr std::ptrdiff_t m_flPitchBounce = 0x44; // float + constexpr std::ptrdiff_t m_flBaseMass = 0x48; // float + constexpr std::ptrdiff_t m_flBaseStiffness = 0x4C; // float + constexpr std::ptrdiff_t m_flBaseDamping = 0x50; // float + constexpr std::ptrdiff_t m_flBaseMinLeft = 0x54; // float + constexpr std::ptrdiff_t m_flBaseMaxLeft = 0x58; // float + constexpr std::ptrdiff_t m_flBaseLeftFriction = 0x5C; // float + constexpr std::ptrdiff_t m_flBaseMinUp = 0x60; // float + constexpr std::ptrdiff_t m_flBaseMaxUp = 0x64; // float + constexpr std::ptrdiff_t m_flBaseUpFriction = 0x68; // float + constexpr std::ptrdiff_t m_flBaseMinForward = 0x6C; // float + constexpr std::ptrdiff_t m_flBaseMaxForward = 0x70; // float + constexpr std::ptrdiff_t m_flBaseForwardFriction = 0x74; // float + constexpr std::ptrdiff_t m_flRadius0 = 0x78; // float + constexpr std::ptrdiff_t m_flRadius1 = 0x7C; // float + constexpr std::ptrdiff_t m_vPoint0 = 0x80; // Vector + constexpr std::ptrdiff_t m_vPoint1 = 0x8C; // Vector + constexpr std::ptrdiff_t m_nCollisionMask = 0x98; // uint16_t +} + +namespace CFeMorphLayer { + constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nNameHash = 0x8; // uint32_t + constexpr std::ptrdiff_t m_Nodes = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_InitPos = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_Gravity = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_GoalStrength = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_GoalDamping = 0x70; // CUtlVector +} + +namespace CFeNamedJiggleBone { + constexpr std::ptrdiff_t m_strParentBone = 0x0; // CUtlString + constexpr std::ptrdiff_t m_transform = 0x10; // CTransform + constexpr std::ptrdiff_t m_nJiggleParent = 0x30; // uint32_t + constexpr std::ptrdiff_t m_jiggleBone = 0x34; // CFeJiggleBone +} + +namespace CFeVertexMapBuildArray { + constexpr std::ptrdiff_t m_Array = 0x0; // CUtlVector +} + +namespace CRegionSVM { + constexpr std::ptrdiff_t m_Planes = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_Nodes = 0x18; // CUtlVector +} + +namespace CastSphereSATParams_t { + constexpr std::ptrdiff_t m_vRayStart = 0x0; // Vector + constexpr std::ptrdiff_t m_vRayDelta = 0xC; // Vector + constexpr std::ptrdiff_t m_flRadius = 0x18; // float + constexpr std::ptrdiff_t m_flMaxFraction = 0x1C; // float + constexpr std::ptrdiff_t m_flScale = 0x20; // float + constexpr std::ptrdiff_t m_pHull = 0x28; // RnHull_t* +} + +namespace CovMatrix3 { + constexpr std::ptrdiff_t m_vDiag = 0x0; // Vector + constexpr std::ptrdiff_t m_flXY = 0xC; // float + constexpr std::ptrdiff_t m_flXZ = 0x10; // float + constexpr std::ptrdiff_t m_flYZ = 0x14; // float +} + +namespace Dop26_t { + constexpr std::ptrdiff_t m_flSupport = 0x0; // float[26] +} + +namespace FeAnimStrayRadius_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[2] + constexpr std::ptrdiff_t flMaxDist = 0x4; // float + constexpr std::ptrdiff_t flRelaxationFactor = 0x8; // float +} + +namespace FeAxialEdgeBend_t { + constexpr std::ptrdiff_t te = 0x0; // float + constexpr std::ptrdiff_t tv = 0x4; // float + constexpr std::ptrdiff_t flDist = 0x8; // float + constexpr std::ptrdiff_t flWeight = 0xC; // float[4] + constexpr std::ptrdiff_t nNode = 0x1C; // uint16_t[6] +} + +namespace FeBandBendLimit_t { + constexpr std::ptrdiff_t flDistMin = 0x0; // float + constexpr std::ptrdiff_t flDistMax = 0x4; // float + constexpr std::ptrdiff_t nNode = 0x8; // uint16_t[6] +} + +namespace FeBoxRigid_t { + constexpr std::ptrdiff_t tmFrame2 = 0x0; // CTransform + constexpr std::ptrdiff_t nNode = 0x20; // uint16_t + constexpr std::ptrdiff_t nCollisionMask = 0x22; // uint16_t + constexpr std::ptrdiff_t vSize = 0x24; // Vector + constexpr std::ptrdiff_t nVertexMapIndex = 0x30; // uint16_t + constexpr std::ptrdiff_t nFlags = 0x32; // uint16_t +} + +namespace FeBuildBoxRigid_t { // FeBoxRigid_t + constexpr std::ptrdiff_t m_nPriority = 0x40; // int32_t + constexpr std::ptrdiff_t m_nVertexMapHash = 0x44; // uint32_t +} + +namespace FeBuildSphereRigid_t { // FeSphereRigid_t + constexpr std::ptrdiff_t m_nPriority = 0x20; // int32_t + constexpr std::ptrdiff_t m_nVertexMapHash = 0x24; // uint32_t +} + +namespace FeBuildTaperedCapsuleRigid_t { // FeTaperedCapsuleRigid_t + constexpr std::ptrdiff_t m_nPriority = 0x30; // int32_t + constexpr std::ptrdiff_t m_nVertexMapHash = 0x34; // uint32_t +} + +namespace FeCollisionPlane_t { + constexpr std::ptrdiff_t nCtrlParent = 0x0; // uint16_t + constexpr std::ptrdiff_t nChildNode = 0x2; // uint16_t + constexpr std::ptrdiff_t m_Plane = 0x4; // RnPlane_t + constexpr std::ptrdiff_t flStrength = 0x14; // float +} + +namespace FeCtrlOffset_t { + constexpr std::ptrdiff_t vOffset = 0x0; // Vector + constexpr std::ptrdiff_t nCtrlParent = 0xC; // uint16_t + constexpr std::ptrdiff_t nCtrlChild = 0xE; // uint16_t +} + +namespace FeCtrlOsOffset_t { + constexpr std::ptrdiff_t nCtrlParent = 0x0; // uint16_t + constexpr std::ptrdiff_t nCtrlChild = 0x2; // uint16_t +} + +namespace FeCtrlSoftOffset_t { + constexpr std::ptrdiff_t nCtrlParent = 0x0; // uint16_t + constexpr std::ptrdiff_t nCtrlChild = 0x2; // uint16_t + constexpr std::ptrdiff_t vOffset = 0x4; // Vector + constexpr std::ptrdiff_t flAlpha = 0x10; // float +} + +namespace FeEdgeDesc_t { + constexpr std::ptrdiff_t nEdge = 0x0; // uint16_t[2] + constexpr std::ptrdiff_t nSide = 0x4; // uint16_t[2][2] + constexpr std::ptrdiff_t nVirtElem = 0xC; // uint16_t[2] +} + +namespace FeEffectDesc_t { + constexpr std::ptrdiff_t sName = 0x0; // CUtlString + constexpr std::ptrdiff_t nNameHash = 0x8; // uint32_t + constexpr std::ptrdiff_t nType = 0xC; // int32_t + constexpr std::ptrdiff_t m_Params = 0x10; // KeyValues3 +} + +namespace FeFitInfluence_t { + constexpr std::ptrdiff_t nVertexNode = 0x0; // uint32_t + constexpr std::ptrdiff_t flWeight = 0x4; // float + constexpr std::ptrdiff_t nMatrixNode = 0x8; // uint32_t +} + +namespace FeFitMatrix_t { + constexpr std::ptrdiff_t bone = 0x0; // CTransform + constexpr std::ptrdiff_t vCenter = 0x20; // Vector + constexpr std::ptrdiff_t nEnd = 0x2C; // uint16_t + constexpr std::ptrdiff_t nNode = 0x2E; // uint16_t + constexpr std::ptrdiff_t nBeginDynamic = 0x30; // uint16_t +} + +namespace FeFitWeight_t { + constexpr std::ptrdiff_t flWeight = 0x0; // float + constexpr std::ptrdiff_t nNode = 0x4; // uint16_t + constexpr std::ptrdiff_t nDummy = 0x6; // uint16_t +} + +namespace FeFollowNode_t { + constexpr std::ptrdiff_t nParentNode = 0x0; // uint16_t + constexpr std::ptrdiff_t nChildNode = 0x2; // uint16_t + constexpr std::ptrdiff_t flWeight = 0x4; // float +} + +namespace FeKelagerBend2_t { + constexpr std::ptrdiff_t flWeight = 0x0; // float[3] + constexpr std::ptrdiff_t flHeight0 = 0xC; // float + constexpr std::ptrdiff_t nNode = 0x10; // uint16_t[3] + constexpr std::ptrdiff_t nReserved = 0x16; // uint16_t +} + +namespace FeMorphLayerDepr_t { + constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nNameHash = 0x8; // uint32_t + constexpr std::ptrdiff_t m_Nodes = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_InitPos = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_Gravity = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_GoalStrength = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_GoalDamping = 0x70; // CUtlVector + constexpr std::ptrdiff_t m_nFlags = 0x88; // uint32_t +} + +namespace FeNodeBase_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t + constexpr std::ptrdiff_t nDummy = 0x2; // uint16_t[3] + constexpr std::ptrdiff_t nNodeX0 = 0x8; // uint16_t + constexpr std::ptrdiff_t nNodeX1 = 0xA; // uint16_t + constexpr std::ptrdiff_t nNodeY0 = 0xC; // uint16_t + constexpr std::ptrdiff_t nNodeY1 = 0xE; // uint16_t + constexpr std::ptrdiff_t qAdjust = 0x10; // QuaternionStorage +} + +namespace FeNodeIntegrator_t { + constexpr std::ptrdiff_t flPointDamping = 0x0; // float + constexpr std::ptrdiff_t flAnimationForceAttraction = 0x4; // float + constexpr std::ptrdiff_t flAnimationVertexAttraction = 0x8; // float + constexpr std::ptrdiff_t flGravity = 0xC; // float +} + +namespace FeNodeReverseOffset_t { + constexpr std::ptrdiff_t vOffset = 0x0; // Vector + constexpr std::ptrdiff_t nBoneCtrl = 0xC; // uint16_t + constexpr std::ptrdiff_t nTargetNode = 0xE; // uint16_t +} + +namespace FeNodeWindBase_t { + constexpr std::ptrdiff_t nNodeX0 = 0x0; // uint16_t + constexpr std::ptrdiff_t nNodeX1 = 0x2; // uint16_t + constexpr std::ptrdiff_t nNodeY0 = 0x4; // uint16_t + constexpr std::ptrdiff_t nNodeY1 = 0x6; // uint16_t +} + +namespace FeProxyVertexMap_t { + constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString + constexpr std::ptrdiff_t m_flWeight = 0x8; // float +} + +namespace FeQuad_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[4] + constexpr std::ptrdiff_t flSlack = 0x8; // float + constexpr std::ptrdiff_t vShape = 0xC; // Vector4D[4] +} + +namespace FeRigidColliderIndices_t { + constexpr std::ptrdiff_t m_nTaperedCapsuleRigidIndex = 0x0; // uint16_t + constexpr std::ptrdiff_t m_nSphereRigidIndex = 0x2; // uint16_t + constexpr std::ptrdiff_t m_nBoxRigidIndex = 0x4; // uint16_t + constexpr std::ptrdiff_t m_nCollisionPlaneIndex = 0x6; // uint16_t +} + +namespace FeRodConstraint_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[2] + constexpr std::ptrdiff_t flMaxDist = 0x4; // float + constexpr std::ptrdiff_t flMinDist = 0x8; // float + constexpr std::ptrdiff_t flWeight0 = 0xC; // float + constexpr std::ptrdiff_t flRelaxationFactor = 0x10; // float +} + +namespace FeSimdAnimStrayRadius_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[4][2] + constexpr std::ptrdiff_t flMaxDist = 0x10; // fltx4 + constexpr std::ptrdiff_t flRelaxationFactor = 0x20; // fltx4 +} + +namespace FeSimdNodeBase_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[4] + constexpr std::ptrdiff_t nNodeX0 = 0x8; // uint16_t[4] + constexpr std::ptrdiff_t nNodeX1 = 0x10; // uint16_t[4] + constexpr std::ptrdiff_t nNodeY0 = 0x18; // uint16_t[4] + constexpr std::ptrdiff_t nNodeY1 = 0x20; // uint16_t[4] + constexpr std::ptrdiff_t nDummy = 0x28; // uint16_t[4] + constexpr std::ptrdiff_t qAdjust = 0x30; // FourQuaternions +} + +namespace FeSimdQuad_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[4][4] + constexpr std::ptrdiff_t f4Slack = 0x20; // fltx4 + constexpr std::ptrdiff_t vShape = 0x30; // FourVectors[4] + constexpr std::ptrdiff_t f4Weights = 0xF0; // fltx4[4] +} + +namespace FeSimdRodConstraint_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[4][2] + constexpr std::ptrdiff_t f4MaxDist = 0x10; // fltx4 + constexpr std::ptrdiff_t f4MinDist = 0x20; // fltx4 + constexpr std::ptrdiff_t f4Weight0 = 0x30; // fltx4 + constexpr std::ptrdiff_t f4RelaxationFactor = 0x40; // fltx4 +} + +namespace FeSimdSpringIntegrator_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[4][2] + constexpr std::ptrdiff_t flSpringRestLength = 0x10; // fltx4 + constexpr std::ptrdiff_t flSpringConstant = 0x20; // fltx4 + constexpr std::ptrdiff_t flSpringDamping = 0x30; // fltx4 + constexpr std::ptrdiff_t flNodeWeight0 = 0x40; // fltx4 +} + +namespace FeSimdTri_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint32_t[4][3] + constexpr std::ptrdiff_t w1 = 0x30; // fltx4 + constexpr std::ptrdiff_t w2 = 0x40; // fltx4 + constexpr std::ptrdiff_t v1x = 0x50; // fltx4 + constexpr std::ptrdiff_t v2 = 0x60; // FourVectors2D +} + +namespace FeSoftParent_t { + constexpr std::ptrdiff_t nParent = 0x0; // int32_t + constexpr std::ptrdiff_t flAlpha = 0x4; // float +} + +namespace FeSourceEdge_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[2] +} + +namespace FeSphereRigid_t { + constexpr std::ptrdiff_t vSphere = 0x0; // fltx4 + constexpr std::ptrdiff_t nNode = 0x10; // uint16_t + constexpr std::ptrdiff_t nCollisionMask = 0x12; // uint16_t + constexpr std::ptrdiff_t nVertexMapIndex = 0x14; // uint16_t + constexpr std::ptrdiff_t nFlags = 0x16; // uint16_t +} + +namespace FeSpringIntegrator_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[2] + constexpr std::ptrdiff_t flSpringRestLength = 0x4; // float + constexpr std::ptrdiff_t flSpringConstant = 0x8; // float + constexpr std::ptrdiff_t flSpringDamping = 0xC; // float + constexpr std::ptrdiff_t flNodeWeight0 = 0x10; // float +} + +namespace FeStiffHingeBuild_t { + constexpr std::ptrdiff_t flMaxAngle = 0x0; // float + constexpr std::ptrdiff_t flStrength = 0x4; // float + constexpr std::ptrdiff_t flMotionBias = 0x8; // float[3] + constexpr std::ptrdiff_t nNode = 0x14; // uint16_t[3] +} + +namespace FeTaperedCapsuleRigid_t { + constexpr std::ptrdiff_t vSphere = 0x0; // fltx4[2] + constexpr std::ptrdiff_t nNode = 0x20; // uint16_t + constexpr std::ptrdiff_t nCollisionMask = 0x22; // uint16_t + constexpr std::ptrdiff_t nVertexMapIndex = 0x24; // uint16_t + constexpr std::ptrdiff_t nFlags = 0x26; // uint16_t +} + +namespace FeTaperedCapsuleStretch_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[2] + constexpr std::ptrdiff_t nCollisionMask = 0x4; // uint16_t + constexpr std::ptrdiff_t nDummy = 0x6; // uint16_t + constexpr std::ptrdiff_t flRadius = 0x8; // float[2] +} + +namespace FeTreeChildren_t { + constexpr std::ptrdiff_t nChild = 0x0; // uint16_t[2] +} + +namespace FeTri_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t[3] + constexpr std::ptrdiff_t w1 = 0x8; // float + constexpr std::ptrdiff_t w2 = 0xC; // float + constexpr std::ptrdiff_t v1x = 0x10; // float + constexpr std::ptrdiff_t v2 = 0x14; // Vector2D +} + +namespace FeTwistConstraint_t { + constexpr std::ptrdiff_t nNodeOrient = 0x0; // uint16_t + constexpr std::ptrdiff_t nNodeEnd = 0x2; // uint16_t + constexpr std::ptrdiff_t flTwistRelax = 0x4; // float + constexpr std::ptrdiff_t flSwingRelax = 0x8; // float +} + +namespace FeVertexMapBuild_t { + constexpr std::ptrdiff_t m_VertexMapName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_nNameHash = 0x8; // uint32_t + constexpr std::ptrdiff_t m_Color = 0xC; // Color + constexpr std::ptrdiff_t m_flVolumetricSolveStrength = 0x10; // float + constexpr std::ptrdiff_t m_nScaleSourceNode = 0x14; // int32_t + constexpr std::ptrdiff_t m_Weights = 0x18; // CUtlVector +} + +namespace FeVertexMapDesc_t { + constexpr std::ptrdiff_t sName = 0x0; // CUtlString + constexpr std::ptrdiff_t nNameHash = 0x8; // uint32_t + constexpr std::ptrdiff_t nColor = 0xC; // uint32_t + constexpr std::ptrdiff_t nFlags = 0x10; // uint32_t + constexpr std::ptrdiff_t nVertexBase = 0x14; // uint16_t + constexpr std::ptrdiff_t nVertexCount = 0x16; // uint16_t + constexpr std::ptrdiff_t nMapOffset = 0x18; // uint32_t + constexpr std::ptrdiff_t nNodeListOffset = 0x1C; // uint32_t + constexpr std::ptrdiff_t vCenterOfMass = 0x20; // Vector + constexpr std::ptrdiff_t flVolumetricSolveStrength = 0x2C; // float + constexpr std::ptrdiff_t nScaleSourceNode = 0x30; // int16_t + constexpr std::ptrdiff_t nNodeListCount = 0x32; // uint16_t +} + +namespace FeWeightedNode_t { + constexpr std::ptrdiff_t nNode = 0x0; // uint16_t + constexpr std::ptrdiff_t nWeight = 0x2; // uint16_t +} + +namespace FeWorldCollisionParams_t { + constexpr std::ptrdiff_t flWorldFriction = 0x0; // float + constexpr std::ptrdiff_t flGroundFriction = 0x4; // float + constexpr std::ptrdiff_t nListBegin = 0x8; // uint16_t + constexpr std::ptrdiff_t nListEnd = 0xA; // uint16_t +} + +namespace FourCovMatrices3 { + constexpr std::ptrdiff_t m_vDiag = 0x0; // FourVectors + constexpr std::ptrdiff_t m_flXY = 0x30; // fltx4 + constexpr std::ptrdiff_t m_flXZ = 0x40; // fltx4 + constexpr std::ptrdiff_t m_flYZ = 0x50; // fltx4 +} + +namespace FourVectors2D { + constexpr std::ptrdiff_t x = 0x0; // fltx4 + constexpr std::ptrdiff_t y = 0x10; // fltx4 +} + +namespace IPhysicsPlayerController { +} + +namespace OldFeEdge_t { + constexpr std::ptrdiff_t m_flK = 0x0; // float[3] + constexpr std::ptrdiff_t invA = 0xC; // float + constexpr std::ptrdiff_t t = 0x10; // float + constexpr std::ptrdiff_t flThetaRelaxed = 0x14; // float + constexpr std::ptrdiff_t flThetaFactor = 0x18; // float + constexpr std::ptrdiff_t c01 = 0x1C; // float + constexpr std::ptrdiff_t c02 = 0x20; // float + constexpr std::ptrdiff_t c03 = 0x24; // float + constexpr std::ptrdiff_t c04 = 0x28; // float + constexpr std::ptrdiff_t flAxialModelDist = 0x2C; // float + constexpr std::ptrdiff_t flAxialModelWeights = 0x30; // float[4] + constexpr std::ptrdiff_t m_nNode = 0x40; // uint16_t[4] +} + +namespace PhysFeModelDesc_t { + constexpr std::ptrdiff_t m_CtrlHash = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_CtrlName = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_nStaticNodeFlags = 0x30; // uint32_t + constexpr std::ptrdiff_t m_nDynamicNodeFlags = 0x34; // uint32_t + constexpr std::ptrdiff_t m_flLocalForce = 0x38; // float + constexpr std::ptrdiff_t m_flLocalRotation = 0x3C; // float + constexpr std::ptrdiff_t m_nNodeCount = 0x40; // uint16_t + constexpr std::ptrdiff_t m_nStaticNodes = 0x42; // uint16_t + constexpr std::ptrdiff_t m_nRotLockStaticNodes = 0x44; // uint16_t + constexpr std::ptrdiff_t m_nFirstPositionDrivenNode = 0x46; // uint16_t + constexpr std::ptrdiff_t m_nSimdTriCount1 = 0x48; // uint16_t + constexpr std::ptrdiff_t m_nSimdTriCount2 = 0x4A; // uint16_t + constexpr std::ptrdiff_t m_nSimdQuadCount1 = 0x4C; // uint16_t + constexpr std::ptrdiff_t m_nSimdQuadCount2 = 0x4E; // uint16_t + constexpr std::ptrdiff_t m_nQuadCount1 = 0x50; // uint16_t + constexpr std::ptrdiff_t m_nQuadCount2 = 0x52; // uint16_t + constexpr std::ptrdiff_t m_nTreeDepth = 0x54; // uint16_t + constexpr std::ptrdiff_t m_nNodeBaseJiggleboneDependsCount = 0x56; // uint16_t + constexpr std::ptrdiff_t m_nRopeCount = 0x58; // uint16_t + constexpr std::ptrdiff_t m_Ropes = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_NodeBases = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_SimdNodeBases = 0x90; // CUtlVector + constexpr std::ptrdiff_t m_Quads = 0xA8; // CUtlVector + constexpr std::ptrdiff_t m_SimdQuads = 0xC0; // CUtlVector + constexpr std::ptrdiff_t m_SimdTris = 0xD8; // CUtlVector + constexpr std::ptrdiff_t m_SimdRods = 0xF0; // CUtlVector + constexpr std::ptrdiff_t m_InitPose = 0x108; // CUtlVector + constexpr std::ptrdiff_t m_Rods = 0x120; // CUtlVector + constexpr std::ptrdiff_t m_Twists = 0x138; // CUtlVector + constexpr std::ptrdiff_t m_AxialEdges = 0x150; // CUtlVector + constexpr std::ptrdiff_t m_NodeInvMasses = 0x168; // CUtlVector + constexpr std::ptrdiff_t m_CtrlOffsets = 0x180; // CUtlVector + constexpr std::ptrdiff_t m_CtrlOsOffsets = 0x198; // CUtlVector + constexpr std::ptrdiff_t m_FollowNodes = 0x1B0; // CUtlVector + constexpr std::ptrdiff_t m_CollisionPlanes = 0x1C8; // CUtlVector + constexpr std::ptrdiff_t m_NodeIntegrator = 0x1E0; // CUtlVector + constexpr std::ptrdiff_t m_SpringIntegrator = 0x1F8; // CUtlVector + constexpr std::ptrdiff_t m_SimdSpringIntegrator = 0x210; // CUtlVector + constexpr std::ptrdiff_t m_WorldCollisionParams = 0x228; // CUtlVector + constexpr std::ptrdiff_t m_LegacyStretchForce = 0x240; // CUtlVector + constexpr std::ptrdiff_t m_NodeCollisionRadii = 0x258; // CUtlVector + constexpr std::ptrdiff_t m_DynNodeFriction = 0x270; // CUtlVector + constexpr std::ptrdiff_t m_LocalRotation = 0x288; // CUtlVector + constexpr std::ptrdiff_t m_LocalForce = 0x2A0; // CUtlVector + constexpr std::ptrdiff_t m_TaperedCapsuleStretches = 0x2B8; // CUtlVector + constexpr std::ptrdiff_t m_TaperedCapsuleRigids = 0x2D0; // CUtlVector + constexpr std::ptrdiff_t m_SphereRigids = 0x2E8; // CUtlVector + constexpr std::ptrdiff_t m_WorldCollisionNodes = 0x300; // CUtlVector + constexpr std::ptrdiff_t m_TreeParents = 0x318; // CUtlVector + constexpr std::ptrdiff_t m_TreeCollisionMasks = 0x330; // CUtlVector + constexpr std::ptrdiff_t m_TreeChildren = 0x348; // CUtlVector + constexpr std::ptrdiff_t m_FreeNodes = 0x360; // CUtlVector + constexpr std::ptrdiff_t m_FitMatrices = 0x378; // CUtlVector + constexpr std::ptrdiff_t m_FitWeights = 0x390; // CUtlVector + constexpr std::ptrdiff_t m_ReverseOffsets = 0x3A8; // CUtlVector + constexpr std::ptrdiff_t m_AnimStrayRadii = 0x3C0; // CUtlVector + constexpr std::ptrdiff_t m_SimdAnimStrayRadii = 0x3D8; // CUtlVector + constexpr std::ptrdiff_t m_KelagerBends = 0x3F0; // CUtlVector + constexpr std::ptrdiff_t m_CtrlSoftOffsets = 0x408; // CUtlVector + constexpr std::ptrdiff_t m_JiggleBones = 0x420; // CUtlVector + constexpr std::ptrdiff_t m_SourceElems = 0x438; // CUtlVector + constexpr std::ptrdiff_t m_GoalDampedSpringIntegrators = 0x450; // CUtlVector + constexpr std::ptrdiff_t m_Tris = 0x468; // CUtlVector + constexpr std::ptrdiff_t m_nTriCount1 = 0x480; // uint16_t + constexpr std::ptrdiff_t m_nTriCount2 = 0x482; // uint16_t + constexpr std::ptrdiff_t m_nReservedUint8 = 0x484; // uint8_t + constexpr std::ptrdiff_t m_nExtraPressureIterations = 0x485; // uint8_t + constexpr std::ptrdiff_t m_nExtraGoalIterations = 0x486; // uint8_t + constexpr std::ptrdiff_t m_nExtraIterations = 0x487; // uint8_t + constexpr std::ptrdiff_t m_BoxRigids = 0x488; // CUtlVector + constexpr std::ptrdiff_t m_DynNodeVertexSet = 0x4A0; // CUtlVector + constexpr std::ptrdiff_t m_VertexSetNames = 0x4B8; // CUtlVector + constexpr std::ptrdiff_t m_RigidColliderPriorities = 0x4D0; // CUtlVector + constexpr std::ptrdiff_t m_MorphLayers = 0x4E8; // CUtlVector + constexpr std::ptrdiff_t m_MorphSetData = 0x500; // CUtlVector + constexpr std::ptrdiff_t m_VertexMaps = 0x518; // CUtlVector + constexpr std::ptrdiff_t m_VertexMapValues = 0x530; // CUtlVector + constexpr std::ptrdiff_t m_Effects = 0x548; // CUtlVector + constexpr std::ptrdiff_t m_LockToParent = 0x560; // CUtlVector + constexpr std::ptrdiff_t m_LockToGoal = 0x578; // CUtlVector + constexpr std::ptrdiff_t m_DynNodeWindBases = 0x590; // CUtlVector + constexpr std::ptrdiff_t m_flInternalPressure = 0x5A8; // float + constexpr std::ptrdiff_t m_flDefaultTimeDilation = 0x5AC; // float + constexpr std::ptrdiff_t m_flWindage = 0x5B0; // float + constexpr std::ptrdiff_t m_flWindDrag = 0x5B4; // float + constexpr std::ptrdiff_t m_flDefaultSurfaceStretch = 0x5B8; // float + constexpr std::ptrdiff_t m_flDefaultThreadStretch = 0x5BC; // float + constexpr std::ptrdiff_t m_flDefaultGravityScale = 0x5C0; // float + constexpr std::ptrdiff_t m_flDefaultVelAirDrag = 0x5C4; // float + constexpr std::ptrdiff_t m_flDefaultExpAirDrag = 0x5C8; // float + constexpr std::ptrdiff_t m_flDefaultVelQuadAirDrag = 0x5CC; // float + constexpr std::ptrdiff_t m_flDefaultExpQuadAirDrag = 0x5D0; // float + constexpr std::ptrdiff_t m_flRodVelocitySmoothRate = 0x5D4; // float + constexpr std::ptrdiff_t m_flQuadVelocitySmoothRate = 0x5D8; // float + constexpr std::ptrdiff_t m_flAddWorldCollisionRadius = 0x5DC; // float + constexpr std::ptrdiff_t m_flDefaultVolumetricSolveAmount = 0x5E0; // float + constexpr std::ptrdiff_t m_nRodVelocitySmoothIterations = 0x5E4; // uint16_t + constexpr std::ptrdiff_t m_nQuadVelocitySmoothIterations = 0x5E6; // uint16_t +} + +namespace RnBlendVertex_t { + constexpr std::ptrdiff_t m_nWeight0 = 0x0; // uint16_t + constexpr std::ptrdiff_t m_nIndex0 = 0x2; // uint16_t + constexpr std::ptrdiff_t m_nWeight1 = 0x4; // uint16_t + constexpr std::ptrdiff_t m_nIndex1 = 0x6; // uint16_t + constexpr std::ptrdiff_t m_nWeight2 = 0x8; // uint16_t + constexpr std::ptrdiff_t m_nIndex2 = 0xA; // uint16_t + constexpr std::ptrdiff_t m_nFlags = 0xC; // uint16_t + constexpr std::ptrdiff_t m_nTargetIndex = 0xE; // uint16_t +} + +namespace RnBodyDesc_t { + constexpr std::ptrdiff_t m_sDebugName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_vPosition = 0x8; // Vector + constexpr std::ptrdiff_t m_qOrientation = 0x14; // QuaternionStorage + constexpr std::ptrdiff_t m_vLinearVelocity = 0x24; // Vector + constexpr std::ptrdiff_t m_vAngularVelocity = 0x30; // Vector + constexpr std::ptrdiff_t m_vLocalMassCenter = 0x3C; // Vector + constexpr std::ptrdiff_t m_LocalInertiaInv = 0x48; // Vector[3] + constexpr std::ptrdiff_t m_flMassInv = 0x6C; // float + constexpr std::ptrdiff_t m_flGameMass = 0x70; // float + constexpr std::ptrdiff_t m_flInertiaScaleInv = 0x74; // float + constexpr std::ptrdiff_t m_flLinearDamping = 0x78; // float + constexpr std::ptrdiff_t m_flAngularDamping = 0x7C; // float + constexpr std::ptrdiff_t m_flLinearDrag = 0x80; // float + constexpr std::ptrdiff_t m_flAngularDrag = 0x84; // float + constexpr std::ptrdiff_t m_flLinearBuoyancyDrag = 0x88; // float + constexpr std::ptrdiff_t m_flAngularBuoyancyDrag = 0x8C; // float + constexpr std::ptrdiff_t m_vLastAwakeForceAccum = 0x90; // Vector + constexpr std::ptrdiff_t m_vLastAwakeTorqueAccum = 0x9C; // Vector + constexpr std::ptrdiff_t m_flBuoyancyFactor = 0xA8; // float + constexpr std::ptrdiff_t m_flGravityScale = 0xAC; // float + constexpr std::ptrdiff_t m_flTimeScale = 0xB0; // float + constexpr std::ptrdiff_t m_nBodyType = 0xB4; // int32_t + constexpr std::ptrdiff_t m_nGameIndex = 0xB8; // uint32_t + constexpr std::ptrdiff_t m_nGameFlags = 0xBC; // uint32_t + constexpr std::ptrdiff_t m_nMinVelocityIterations = 0xC0; // int8_t + constexpr std::ptrdiff_t m_nMinPositionIterations = 0xC1; // int8_t + constexpr std::ptrdiff_t m_nMassPriority = 0xC2; // int8_t + constexpr std::ptrdiff_t m_bEnabled = 0xC3; // bool + constexpr std::ptrdiff_t m_bSleeping = 0xC4; // bool + constexpr std::ptrdiff_t m_bIsContinuousEnabled = 0xC5; // bool + constexpr std::ptrdiff_t m_bDragEnabled = 0xC6; // bool + constexpr std::ptrdiff_t m_bBuoyancyDragEnabled = 0xC7; // bool + constexpr std::ptrdiff_t m_bGravityDisabled = 0xC8; // bool + constexpr std::ptrdiff_t m_bSpeculativeEnabled = 0xC9; // bool + constexpr std::ptrdiff_t m_bHasShadowController = 0xCA; // bool +} + +namespace RnCapsuleDesc_t { // RnShapeDesc_t + constexpr std::ptrdiff_t m_Capsule = 0x10; // RnCapsule_t +} + +namespace RnCapsule_t { + constexpr std::ptrdiff_t m_vCenter = 0x0; // Vector[2] + constexpr std::ptrdiff_t m_flRadius = 0x18; // float +} + +namespace RnFace_t { + constexpr std::ptrdiff_t m_nEdge = 0x0; // uint8_t +} + +namespace RnHalfEdge_t { + constexpr std::ptrdiff_t m_nNext = 0x0; // uint8_t + constexpr std::ptrdiff_t m_nTwin = 0x1; // uint8_t + constexpr std::ptrdiff_t m_nOrigin = 0x2; // uint8_t + constexpr std::ptrdiff_t m_nFace = 0x3; // uint8_t +} + +namespace RnHullDesc_t { // RnShapeDesc_t + constexpr std::ptrdiff_t m_Hull = 0x10; // RnHull_t +} + +namespace RnHull_t { + constexpr std::ptrdiff_t m_vCentroid = 0x0; // Vector + constexpr std::ptrdiff_t m_flMaxAngularRadius = 0xC; // float + constexpr std::ptrdiff_t m_Bounds = 0x10; // AABB_t + constexpr std::ptrdiff_t m_vOrthographicAreas = 0x28; // Vector + constexpr std::ptrdiff_t m_MassProperties = 0x34; // matrix3x4_t + constexpr std::ptrdiff_t m_flVolume = 0x64; // float + constexpr std::ptrdiff_t m_Vertices = 0x68; // CUtlVector + constexpr std::ptrdiff_t m_VertexPositions = 0x80; // CUtlVector + constexpr std::ptrdiff_t m_Edges = 0x98; // CUtlVector + constexpr std::ptrdiff_t m_Faces = 0xB0; // CUtlVector + constexpr std::ptrdiff_t m_FacePlanes = 0xC8; // CUtlVector + constexpr std::ptrdiff_t m_nFlags = 0xE0; // uint32_t + constexpr std::ptrdiff_t m_pRegionSVM = 0xE8; // CRegionSVM* +} + +namespace RnMeshDesc_t { // RnShapeDesc_t + constexpr std::ptrdiff_t m_Mesh = 0x10; // RnMesh_t +} + +namespace RnMesh_t { + constexpr std::ptrdiff_t m_vMin = 0x0; // Vector + constexpr std::ptrdiff_t m_vMax = 0xC; // Vector + constexpr std::ptrdiff_t m_Nodes = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_Vertices = 0x30; // CUtlVectorSIMDPaddedVector + constexpr std::ptrdiff_t m_Triangles = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_Wings = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_Materials = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_vOrthographicAreas = 0x90; // Vector + constexpr std::ptrdiff_t m_nFlags = 0x9C; // uint32_t + constexpr std::ptrdiff_t m_nDebugFlags = 0xA0; // uint32_t +} + +namespace RnNode_t { + constexpr std::ptrdiff_t m_vMin = 0x0; // Vector + constexpr std::ptrdiff_t m_nChildren = 0xC; // uint32_t + constexpr std::ptrdiff_t m_vMax = 0x10; // Vector + constexpr std::ptrdiff_t m_nTriangleOffset = 0x1C; // uint32_t +} + +namespace RnPlane_t { + constexpr std::ptrdiff_t m_vNormal = 0x0; // Vector + constexpr std::ptrdiff_t m_flOffset = 0xC; // float +} + +namespace RnShapeDesc_t { + constexpr std::ptrdiff_t m_nCollisionAttributeIndex = 0x0; // uint32_t + constexpr std::ptrdiff_t m_nSurfacePropertyIndex = 0x4; // uint32_t + constexpr std::ptrdiff_t m_UserFriendlyName = 0x8; // CUtlString +} + +namespace RnSoftbodyCapsule_t { + constexpr std::ptrdiff_t m_vCenter = 0x0; // Vector[2] + constexpr std::ptrdiff_t m_flRadius = 0x18; // float + constexpr std::ptrdiff_t m_nParticle = 0x1C; // uint16_t[2] +} + +namespace RnSoftbodyParticle_t { + constexpr std::ptrdiff_t m_flMassInv = 0x0; // float +} + +namespace RnSoftbodySpring_t { + constexpr std::ptrdiff_t m_nParticle = 0x0; // uint16_t[2] + constexpr std::ptrdiff_t m_flLength = 0x4; // float +} + +namespace RnSphereDesc_t { // RnShapeDesc_t + constexpr std::ptrdiff_t m_Sphere = 0x10; // RnSphere_t +} + +namespace RnSphere_t { + constexpr std::ptrdiff_t m_vCenter = 0x0; // Vector + constexpr std::ptrdiff_t m_flRadius = 0xC; // float +} + +namespace RnTriangle_t { + constexpr std::ptrdiff_t m_nIndex = 0x0; // int32_t[3] +} + +namespace RnVertex_t { + constexpr std::ptrdiff_t m_nEdge = 0x0; // uint8_t +} + +namespace RnWing_t { + constexpr std::ptrdiff_t m_nIndex = 0x0; // int32_t[3] +} + +namespace VertexPositionColor_t { + constexpr std::ptrdiff_t m_vPosition = 0x0; // Vector +} + +namespace VertexPositionNormal_t { + constexpr std::ptrdiff_t m_vPosition = 0x0; // Vector + constexpr std::ptrdiff_t m_vNormal = 0xC; // Vector +} + +namespace constraint_axislimit_t { + constexpr std::ptrdiff_t flMinRotation = 0x0; // float + constexpr std::ptrdiff_t flMaxRotation = 0x4; // float + constexpr std::ptrdiff_t flMotorTargetAngSpeed = 0x8; // float + constexpr std::ptrdiff_t flMotorMaxTorque = 0xC; // float +} + +namespace constraint_breakableparams_t { + constexpr std::ptrdiff_t strength = 0x0; // float + constexpr std::ptrdiff_t forceLimit = 0x4; // float + constexpr std::ptrdiff_t torqueLimit = 0x8; // float + constexpr std::ptrdiff_t bodyMassScale = 0xC; // float[2] + constexpr std::ptrdiff_t isActive = 0x14; // bool +} + +namespace constraint_hingeparams_t { + constexpr std::ptrdiff_t worldPosition = 0x0; // Vector + constexpr std::ptrdiff_t worldAxisDirection = 0xC; // Vector + constexpr std::ptrdiff_t hingeAxis = 0x18; // constraint_axislimit_t + constexpr std::ptrdiff_t constraint = 0x28; // constraint_breakableparams_t +} + +namespace vphysics_save_cphysicsbody_t { // RnBodyDesc_t + constexpr std::ptrdiff_t m_nOldPointer = 0xD0; // uint64_t +} \ No newline at end of file diff --git a/HPCS2/offset/worldrenderer.dll.hpp b/HPCS2/offset/worldrenderer.dll.hpp new file mode 100644 index 0000000..662af6d --- /dev/null +++ b/HPCS2/offset/worldrenderer.dll.hpp @@ -0,0 +1,233 @@ +/* + * Created using https://github.com/a2x/cs2-dumper + * Sat, 4 Nov 2023 21:18:20 +0000 + */ + +#pragma once + +#include + +namespace AggregateLODSetup_t { + constexpr std::ptrdiff_t m_vLODOrigin = 0x0; // Vector + constexpr std::ptrdiff_t m_fMaxObjectScale = 0xC; // float + constexpr std::ptrdiff_t m_fSwitchDistances = 0x10; // CUtlVectorFixedGrowable +} + +namespace AggregateMeshInfo_t { + constexpr std::ptrdiff_t m_nVisClusterMemberOffset = 0x0; // uint32_t + constexpr std::ptrdiff_t m_nVisClusterMemberCount = 0x4; // uint8_t + constexpr std::ptrdiff_t m_bHasTransform = 0x5; // bool + constexpr std::ptrdiff_t m_nDrawCallIndex = 0x6; // int16_t + constexpr std::ptrdiff_t m_nLODSetupIndex = 0x8; // int16_t + constexpr std::ptrdiff_t m_nLODGroupMask = 0xA; // uint8_t + constexpr std::ptrdiff_t m_vTintColor = 0xB; // Color + constexpr std::ptrdiff_t m_objectFlags = 0x10; // ObjectTypeFlags_t + constexpr std::ptrdiff_t m_nLightProbeVolumePrecomputedHandshake = 0x14; // int32_t +} + +namespace AggregateSceneObject_t { + constexpr std::ptrdiff_t m_allFlags = 0x0; // ObjectTypeFlags_t + constexpr std::ptrdiff_t m_anyFlags = 0x4; // ObjectTypeFlags_t + constexpr std::ptrdiff_t m_nLayer = 0x8; // int16_t + constexpr std::ptrdiff_t m_aggregateMeshes = 0x10; // CUtlVector + constexpr std::ptrdiff_t m_lodSetups = 0x28; // CUtlVector + constexpr std::ptrdiff_t m_visClusterMembership = 0x40; // CUtlVector + constexpr std::ptrdiff_t m_fragmentTransforms = 0x58; // CUtlVector + constexpr std::ptrdiff_t m_renderableModel = 0x70; // CStrongHandle +} + +namespace BakedLightingInfo_t { + constexpr std::ptrdiff_t m_nLightmapVersionNumber = 0x0; // uint32_t + constexpr std::ptrdiff_t m_nLightmapGameVersionNumber = 0x4; // uint32_t + constexpr std::ptrdiff_t m_vLightmapUvScale = 0x8; // Vector2D + constexpr std::ptrdiff_t m_bHasLightmaps = 0x10; // bool + constexpr std::ptrdiff_t m_lightMaps = 0x18; // CUtlVector> +} + +namespace BaseSceneObjectOverride_t { + constexpr std::ptrdiff_t m_nSceneObjectIndex = 0x0; // uint32_t +} + +namespace CEntityComponent { +} + +namespace CEntityIdentity { + constexpr std::ptrdiff_t m_nameStringableIndex = 0x14; // int32_t + constexpr std::ptrdiff_t m_name = 0x18; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_designerName = 0x20; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_flags = 0x30; // uint32_t + constexpr std::ptrdiff_t m_worldGroupId = 0x38; // WorldGroupId_t + constexpr std::ptrdiff_t m_fDataObjectTypes = 0x3C; // uint32_t + constexpr std::ptrdiff_t m_PathIndex = 0x40; // ChangeAccessorFieldPathIndex_t + constexpr std::ptrdiff_t m_pPrev = 0x58; // CEntityIdentity* + constexpr std::ptrdiff_t m_pNext = 0x60; // CEntityIdentity* + constexpr std::ptrdiff_t m_pPrevByClass = 0x68; // CEntityIdentity* + constexpr std::ptrdiff_t m_pNextByClass = 0x70; // CEntityIdentity* +} + +namespace CEntityInstance { + constexpr std::ptrdiff_t m_iszPrivateVScripts = 0x8; // CUtlSymbolLarge + constexpr std::ptrdiff_t m_pEntity = 0x10; // CEntityIdentity* + constexpr std::ptrdiff_t m_CScriptComponent = 0x28; // CScriptComponent* +} + +namespace CScriptComponent { // CEntityComponent + constexpr std::ptrdiff_t m_scriptClassName = 0x30; // CUtlSymbolLarge +} + +namespace CVoxelVisibility { + constexpr std::ptrdiff_t m_nBaseClusterCount = 0x40; // uint32_t + constexpr std::ptrdiff_t m_nPVSBytesPerCluster = 0x44; // uint32_t + constexpr std::ptrdiff_t m_vMinBounds = 0x48; // Vector + constexpr std::ptrdiff_t m_vMaxBounds = 0x54; // Vector + constexpr std::ptrdiff_t m_flGridSize = 0x60; // float + constexpr std::ptrdiff_t m_nSkyVisibilityCluster = 0x64; // uint32_t + constexpr std::ptrdiff_t m_nSunVisibilityCluster = 0x68; // uint32_t + constexpr std::ptrdiff_t m_NodeBlock = 0x6C; // VoxelVisBlockOffset_t + constexpr std::ptrdiff_t m_RegionBlock = 0x74; // VoxelVisBlockOffset_t + constexpr std::ptrdiff_t m_EnclosedClusterListBlock = 0x7C; // VoxelVisBlockOffset_t + constexpr std::ptrdiff_t m_EnclosedClustersBlock = 0x84; // VoxelVisBlockOffset_t + constexpr std::ptrdiff_t m_MasksBlock = 0x8C; // VoxelVisBlockOffset_t + constexpr std::ptrdiff_t m_nVisBlocks = 0x94; // VoxelVisBlockOffset_t +} + +namespace ClutterSceneObject_t { + constexpr std::ptrdiff_t m_Bounds = 0x0; // AABB_t + constexpr std::ptrdiff_t m_flags = 0x18; // ObjectTypeFlags_t + constexpr std::ptrdiff_t m_nLayer = 0x1C; // int16_t + constexpr std::ptrdiff_t m_instancePositions = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_instanceScales = 0x50; // CUtlVector + constexpr std::ptrdiff_t m_instanceTintSrgb = 0x68; // CUtlVector + constexpr std::ptrdiff_t m_tiles = 0x80; // CUtlVector + constexpr std::ptrdiff_t m_renderableModel = 0x98; // CStrongHandle +} + +namespace ClutterTile_t { + constexpr std::ptrdiff_t m_nFirstInstance = 0x0; // uint32_t + constexpr std::ptrdiff_t m_nLastInstance = 0x4; // uint32_t + constexpr std::ptrdiff_t m_BoundsWs = 0x8; // AABB_t +} + +namespace EntityIOConnectionData_t { + constexpr std::ptrdiff_t m_outputName = 0x0; // CUtlString + constexpr std::ptrdiff_t m_targetType = 0x8; // uint32_t + constexpr std::ptrdiff_t m_targetName = 0x10; // CUtlString + constexpr std::ptrdiff_t m_inputName = 0x18; // CUtlString + constexpr std::ptrdiff_t m_overrideParam = 0x20; // CUtlString + constexpr std::ptrdiff_t m_flDelay = 0x28; // float + constexpr std::ptrdiff_t m_nTimesToFire = 0x2C; // int32_t +} + +namespace EntityKeyValueData_t { + constexpr std::ptrdiff_t m_connections = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_keyValuesData = 0x20; // CUtlBinaryBlock +} + +namespace ExtraVertexStreamOverride_t { // BaseSceneObjectOverride_t + constexpr std::ptrdiff_t m_nSubSceneObject = 0x4; // uint32_t + constexpr std::ptrdiff_t m_nDrawCallIndex = 0x8; // uint32_t + constexpr std::ptrdiff_t m_nAdditionalMeshDrawPrimitiveFlags = 0xC; // MeshDrawPrimitiveFlags_t + constexpr std::ptrdiff_t m_extraBufferBinding = 0x10; // CRenderBufferBinding +} + +namespace InfoForResourceTypeVMapResourceData_t { +} + +namespace InfoOverlayData_t { + constexpr std::ptrdiff_t m_transform = 0x0; // matrix3x4_t + constexpr std::ptrdiff_t m_flWidth = 0x30; // float + constexpr std::ptrdiff_t m_flHeight = 0x34; // float + constexpr std::ptrdiff_t m_flDepth = 0x38; // float + constexpr std::ptrdiff_t m_vUVStart = 0x3C; // Vector2D + constexpr std::ptrdiff_t m_vUVEnd = 0x44; // Vector2D + constexpr std::ptrdiff_t m_pMaterial = 0x50; // CStrongHandle + constexpr std::ptrdiff_t m_nRenderOrder = 0x58; // int32_t + constexpr std::ptrdiff_t m_vTintColor = 0x5C; // Vector4D + constexpr std::ptrdiff_t m_nSequenceOverride = 0x6C; // int32_t +} + +namespace MaterialOverride_t { // BaseSceneObjectOverride_t + constexpr std::ptrdiff_t m_nSubSceneObject = 0x4; // uint32_t + constexpr std::ptrdiff_t m_nDrawCallIndex = 0x8; // uint32_t + constexpr std::ptrdiff_t m_pMaterial = 0x10; // CStrongHandle +} + +namespace NodeData_t { + constexpr std::ptrdiff_t m_nParent = 0x0; // int32_t + constexpr std::ptrdiff_t m_vOrigin = 0x4; // Vector + constexpr std::ptrdiff_t m_vMinBounds = 0x10; // Vector + constexpr std::ptrdiff_t m_vMaxBounds = 0x1C; // Vector + constexpr std::ptrdiff_t m_flMinimumDistance = 0x28; // float + constexpr std::ptrdiff_t m_ChildNodeIndices = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_worldNodePrefix = 0x48; // CUtlString +} + +namespace PermEntityLumpData_t { + constexpr std::ptrdiff_t m_name = 0x8; // CUtlString + constexpr std::ptrdiff_t m_hammerUniqueId = 0x10; // CUtlString + constexpr std::ptrdiff_t m_childLumps = 0x18; // CUtlVector> + constexpr std::ptrdiff_t m_entityKeyValues = 0x30; // CUtlLeanVector +} + +namespace SceneObject_t { + constexpr std::ptrdiff_t m_nObjectID = 0x0; // uint32_t + constexpr std::ptrdiff_t m_vTransform = 0x4; // Vector4D[3] + constexpr std::ptrdiff_t m_flFadeStartDistance = 0x34; // float + constexpr std::ptrdiff_t m_flFadeEndDistance = 0x38; // float + constexpr std::ptrdiff_t m_vTintColor = 0x3C; // Vector4D + constexpr std::ptrdiff_t m_skin = 0x50; // CUtlString + constexpr std::ptrdiff_t m_nObjectTypeFlags = 0x58; // ObjectTypeFlags_t + constexpr std::ptrdiff_t m_vLightingOrigin = 0x5C; // Vector + constexpr std::ptrdiff_t m_nOverlayRenderOrder = 0x68; // int16_t + constexpr std::ptrdiff_t m_nLODOverride = 0x6A; // int16_t + constexpr std::ptrdiff_t m_nCubeMapPrecomputedHandshake = 0x6C; // int32_t + constexpr std::ptrdiff_t m_nLightProbeVolumePrecomputedHandshake = 0x70; // int32_t + constexpr std::ptrdiff_t m_renderableModel = 0x78; // CStrongHandle + constexpr std::ptrdiff_t m_renderable = 0x80; // CStrongHandle +} + +namespace VMapResourceData_t { +} + +namespace VoxelVisBlockOffset_t { + constexpr std::ptrdiff_t m_nOffset = 0x0; // uint32_t + constexpr std::ptrdiff_t m_nElementCount = 0x4; // uint32_t +} + +namespace WorldBuilderParams_t { + constexpr std::ptrdiff_t m_flMinDrawVolumeSize = 0x0; // float + constexpr std::ptrdiff_t m_bBuildBakedLighting = 0x4; // bool + constexpr std::ptrdiff_t m_vLightmapUvScale = 0x8; // Vector2D + constexpr std::ptrdiff_t m_nCompileTimestamp = 0x10; // uint64_t + constexpr std::ptrdiff_t m_nCompileFingerprint = 0x18; // uint64_t +} + +namespace WorldNodeOnDiskBufferData_t { + constexpr std::ptrdiff_t m_nElementCount = 0x0; // int32_t + constexpr std::ptrdiff_t m_nElementSizeInBytes = 0x4; // int32_t + constexpr std::ptrdiff_t m_inputLayoutFields = 0x8; // CUtlVector + constexpr std::ptrdiff_t m_pData = 0x20; // CUtlVector +} + +namespace WorldNode_t { + constexpr std::ptrdiff_t m_sceneObjects = 0x0; // CUtlVector + constexpr std::ptrdiff_t m_infoOverlays = 0x18; // CUtlVector + constexpr std::ptrdiff_t m_visClusterMembership = 0x30; // CUtlVector + constexpr std::ptrdiff_t m_aggregateSceneObjects = 0x48; // CUtlVector + constexpr std::ptrdiff_t m_clutterSceneObjects = 0x60; // CUtlVector + constexpr std::ptrdiff_t m_extraVertexStreamOverrides = 0x78; // CUtlVector + constexpr std::ptrdiff_t m_materialOverrides = 0x90; // CUtlVector + constexpr std::ptrdiff_t m_extraVertexStreams = 0xA8; // CUtlVector + constexpr std::ptrdiff_t m_layerNames = 0xC0; // CUtlVector + constexpr std::ptrdiff_t m_sceneObjectLayerIndices = 0xD8; // CUtlVector + constexpr std::ptrdiff_t m_overlayLayerIndices = 0xF0; // CUtlVector + constexpr std::ptrdiff_t m_grassFileName = 0x108; // CUtlString + constexpr std::ptrdiff_t m_nodeLightingInfo = 0x110; // BakedLightingInfo_t +} + +namespace World_t { + constexpr std::ptrdiff_t m_builderParams = 0x0; // WorldBuilderParams_t + constexpr std::ptrdiff_t m_worldNodes = 0x20; // CUtlVector + constexpr std::ptrdiff_t m_worldLightingInfo = 0x38; // BakedLightingInfo_t + constexpr std::ptrdiff_t m_entityLumps = 0x68; // CUtlVector> +} \ No newline at end of file diff --git a/HPCS2/x64/Release/HPCS2.Build.CppClean.log b/HPCS2/x64/Release/HPCS2.Build.CppClean.log new file mode 100644 index 0000000..22b0952 --- /dev/null +++ b/HPCS2/x64/Release/HPCS2.Build.CppClean.log @@ -0,0 +1,13 @@ +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\vc142.pdb +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\source.obj +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\memory.obj +g:\halfpeoplestudioc++ porject\hpcs2\x64\release\hpcs2.exe +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\hpcs2.ipdb +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\hpcs2.iobj +g:\halfpeoplestudioc++ porject\hpcs2\x64\release\hpcs2.pdb +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\hpcs2.tlog\cl.command.1.tlog +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\hpcs2.tlog\cl.read.1.tlog +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\hpcs2.tlog\cl.write.1.tlog +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\hpcs2.tlog\link.command.1.tlog +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\hpcs2.tlog\link.read.1.tlog +g:\halfpeoplestudioc++ porject\hpcs2\hpcs2\x64\release\hpcs2.tlog\link.write.1.tlog diff --git a/HPCS2/x64/Release/HPCS2.exe.recipe b/HPCS2/x64/Release/HPCS2.exe.recipe new file mode 100644 index 0000000..5532288 --- /dev/null +++ b/HPCS2/x64/Release/HPCS2.exe.recipe @@ -0,0 +1,11 @@ + + + + + G:\HalfPeopleStudioC++ Porject\HPCS2\x64\Release\HPCS2.exe + + + + + + \ No newline at end of file diff --git a/HPCS2/x64/Release/HPCS2.iobj b/HPCS2/x64/Release/HPCS2.iobj new file mode 100644 index 0000000..fd58b71 Binary files /dev/null and b/HPCS2/x64/Release/HPCS2.iobj differ diff --git a/HPCS2/x64/Release/HPCS2.ipdb b/HPCS2/x64/Release/HPCS2.ipdb new file mode 100644 index 0000000..ae74c3a Binary files /dev/null and b/HPCS2/x64/Release/HPCS2.ipdb differ diff --git a/HPCS2/x64/Release/HPCS2.log b/HPCS2/x64/Release/HPCS2.log new file mode 100644 index 0000000..9ccf70e --- /dev/null +++ b/HPCS2/x64/Release/HPCS2.log @@ -0,0 +1,6 @@ + 正在產生程式碼 + 2 of 1334 functions ( 0.1%) were compiled, the rest were copied from previous compilation. + 0 functions were new in current compilation + 2 functions had inline decision re-evaluated but remain unchanged + 已完成程式碼產生 + HPCS2.vcxproj -> G:\HalfPeopleStudioC++ Porject\HPCS2\x64\Release\HPCS2.exe diff --git a/HPCS2/x64/Release/HPCS2.tlog/CL.command.1.tlog b/HPCS2/x64/Release/HPCS2.tlog/CL.command.1.tlog new file mode 100644 index 0000000..7e6bb26 Binary files /dev/null and b/HPCS2/x64/Release/HPCS2.tlog/CL.command.1.tlog differ diff --git a/HPCS2/x64/Release/HPCS2.tlog/CL.read.1.tlog b/HPCS2/x64/Release/HPCS2.tlog/CL.read.1.tlog new file mode 100644 index 0000000..721486c Binary files /dev/null and b/HPCS2/x64/Release/HPCS2.tlog/CL.read.1.tlog differ diff --git a/HPCS2/x64/Release/HPCS2.tlog/CL.write.1.tlog b/HPCS2/x64/Release/HPCS2.tlog/CL.write.1.tlog new file mode 100644 index 0000000..494243e Binary files /dev/null and b/HPCS2/x64/Release/HPCS2.tlog/CL.write.1.tlog differ diff --git a/HPCS2/x64/Release/HPCS2.tlog/HPCS2.lastbuildstate b/HPCS2/x64/Release/HPCS2.tlog/HPCS2.lastbuildstate new file mode 100644 index 0000000..0396176 --- /dev/null +++ b/HPCS2/x64/Release/HPCS2.tlog/HPCS2.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:VCServicingVersionMFC=14.29.30136:VCServicingVersionATL=14.29.30136:VCServicingVersionCrtHeaders=14.29.30136:TargetPlatformVersion=10.0.19041.0: +Release|x64|G:\HalfPeopleStudioC++ Porject\HPCS2\| diff --git a/HPCS2/x64/Release/HPCS2.tlog/link.command.1.tlog b/HPCS2/x64/Release/HPCS2.tlog/link.command.1.tlog new file mode 100644 index 0000000..713c02d Binary files /dev/null and b/HPCS2/x64/Release/HPCS2.tlog/link.command.1.tlog differ diff --git a/HPCS2/x64/Release/HPCS2.tlog/link.read.1.tlog b/HPCS2/x64/Release/HPCS2.tlog/link.read.1.tlog new file mode 100644 index 0000000..f677269 Binary files /dev/null and b/HPCS2/x64/Release/HPCS2.tlog/link.read.1.tlog differ diff --git a/HPCS2/x64/Release/HPCS2.tlog/link.write.1.tlog b/HPCS2/x64/Release/HPCS2.tlog/link.write.1.tlog new file mode 100644 index 0000000..ac40c71 Binary files /dev/null and b/HPCS2/x64/Release/HPCS2.tlog/link.write.1.tlog differ diff --git a/HPCS2/x64/Release/HPCS2.vcxproj.FileListAbsolute.txt b/HPCS2/x64/Release/HPCS2.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..e69de29 diff --git a/HPCS2/x64/Release/Source.obj b/HPCS2/x64/Release/Source.obj new file mode 100644 index 0000000..1f718c7 Binary files /dev/null and b/HPCS2/x64/Release/Source.obj differ diff --git a/HPCS2/x64/Release/memory.obj b/HPCS2/x64/Release/memory.obj new file mode 100644 index 0000000..dbc1689 Binary files /dev/null and b/HPCS2/x64/Release/memory.obj differ diff --git a/HPCS2/x64/Release/vc142.pdb b/HPCS2/x64/Release/vc142.pdb new file mode 100644 index 0000000..78eb2d7 Binary files /dev/null and b/HPCS2/x64/Release/vc142.pdb differ diff --git a/x64/Release/Configuration.ini b/x64/Release/Configuration.ini new file mode 100644 index 0000000..69578a4 --- /dev/null +++ b/x64/Release/Configuration.ini @@ -0,0 +1,16 @@ +[function] +brecoilcontrol=0 +aimbot=1 +drawesp=1 +[aimbot] +aimbothot=0 +fov=10.000000 +smoothing=1 +aimteam=0 +[esp] +show_extra=1 +textsize=15 +showbonedistance=1000 +flag_render_distance=10 +render_distance=-1 +boomsize=100 \ No newline at end of file diff --git a/x64/Release/HPCS2.exe b/x64/Release/HPCS2.exe new file mode 100644 index 0000000..b5cd66d Binary files /dev/null and b/x64/Release/HPCS2.exe differ diff --git a/x64/Release/HPCS2.pdb b/x64/Release/HPCS2.pdb new file mode 100644 index 0000000..e0fe5c2 Binary files /dev/null and b/x64/Release/HPCS2.pdb differ