Compare commits

...

3 Commits

Author SHA1 Message Date
a2x 6a69ee5232 Create rust-toolchain.toml 2024-06-13 22:51:29 +10:00
a2x 43ba96ccf0 Update package version 2024-06-13 22:51:23 +10:00
a2x 57fa5bc03b Game update (14014) 2024-06-13 22:51:05 +10:00
102 changed files with 65589 additions and 10019 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "cs2-dumper"
version = "0.1.0"
version = "0.1.1"
authors = ["a2x"]
edition = "2021"
readme = "README.md"

View File

@ -31,7 +31,7 @@
]
},
{
"name": "dwGameEntitySystem_getHighestEntityIndex",
"name": "dwGameEntitySystem_highestEntityIndex",
"pattern": "8B 87 ? ? ? ? C3 66 0F 1F 84 00 ? ? ? ? 8B 97",
"operations": [
{
@ -43,7 +43,7 @@
},
{
"name": "dwGameRules",
"pattern": "48 89 3D ? ? ? ? 8B 3B",
"pattern": "48 89 1D ? ? ? ? 48 8B 00",
"operations": [
{
"type": "rip"
@ -70,7 +70,7 @@
},
{
"name": "dwLocalPlayerController",
"pattern": "48 8B 15 ? ? ? ? 31 C0 48 85 D2 74 ? 8B B2",
"pattern": "4C 89 2D ? ? ? ? E8 ? ? ? ? 48 8B 45",
"operations": [
{
"type": "rip"
@ -86,7 +86,7 @@
},
{
"type": "add",
"value": 312
"value": 328
}
]
},
@ -137,13 +137,13 @@
},
{
"type": "add",
"value": 21408
"value": 21544
}
]
},
{
"name": "dwViewMatrix",
"pattern": "4C 8D 05 ? ? ? ? 48 8B 38 48 8D 0D",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 83 FF",
"operations": [
{
"type": "rip"
@ -181,6 +181,17 @@
}
]
},
{
"name": "dwNetworkGameClient_clientTickCount",
"pattern": "8B 87 ? ? ? ? C3 66 0F 1F 84 00 00 00 00 00 8B 87 ? ? ? ? C3 66 0F 1F 84 00 00 00 00 00 C3 66 2E 0F 1F 84 00 00 00 00 00 0F 1F 44 00 00 C3",
"operations": [
{
"type": "slice",
"start": 2,
"end": 4
}
]
},
{
"name": "dwNetworkGameClient_deltaTick",
"pattern": "89 83 ? ? ? ? B8 ? ? ? ? 5B",
@ -193,28 +204,54 @@
]
},
{
"name": "dwNetworkGameClient_getLocalPlayer",
"pattern": "48 8B 87 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 55 48 89 E5",
"name": "dwNetworkGameClient_isBackgroundMap",
"pattern": "0F B6 87 ? ? ? ? C3 0F 1F 84 00 00 00 00 00 C3 66 2E 0F 1F 84 00 00 00 00 00 0F 1F 44 00 00 C3",
"operations": [
{
"type": "slice",
"start": 3,
"end": 4
},
{
"type": "add",
"value": 4856
"end": 7
}
]
},
{
"name": "dwNetworkGameClient_getMaxClients",
"pattern": "48 8B 87 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 48 89 B7 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 8B 87",
"name": "dwNetworkGameClient_localPlayer",
"pattern": "8B 84 C7 ? ? ? ? C3 66 0F 1F 44 00",
"operations": [
{
"type": "slice",
"start": 3,
"end": 6
"end": 5
},
{
"type": "add",
"value": 8
}
]
},
{
"name": "dwNetworkGameClient_maxClients",
"pattern": "8B 87 ? ? ? ? C3 66 0F 1F 84 00 ? ? ? ? 8B 87 ? ? ? ? 83 C0",
"operations": [
{
"type": "slice",
"start": 2,
"end": 4
}
]
},
{
"name": "dwNetworkGameClient_serverTickCount",
"pattern": "8B 87 ? ? ? ? C3 66 0F 1F 84 00 00 00 00 00 8B 87 ? ? ? ? C3 66 0F 1F 84 00 00 00 00 00 C3 66 2E 0F 1F 84 00 00 00 00 00 0F 1F 44 00 00 C3",
"operations": [
{
"type": "add",
"value": 16
},
{
"type": "slice",
"start": 2,
"end": 4
}
]
},

View File

@ -1,24 +1,24 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper {
// Module: client.dll
public static class Buttons {
public const nint attack = 0x37351B0;
public const nint attack2 = 0x3735110;
public const nint back = 0x3734D90;
public const nint duck = 0x37348F0;
public const nint forward = 0x3734E30;
public const nint jump = 0x3734990;
public const nint left = 0x3734CF0;
public const nint lookatweapon = 0x3748D50;
public const nint reload = 0x3735250;
public const nint right = 0x3734C50;
public const nint showscores = 0x3748E90;
public const nint sprint = 0x37352F0;
public const nint turnleft = 0x3735070;
public const nint turnright = 0x3734FD0;
public const nint use = 0x3734A30;
public const nint zoom = 0x3748DF0;
public const nint attack = 0x38E9730;
public const nint attack2 = 0x38E9690;
public const nint back = 0x38E9310;
public const nint duck = 0x38E8E70;
public const nint forward = 0x38E93B0;
public const nint jump = 0x38E8F10;
public const nint left = 0x38E9270;
public const nint lookatweapon = 0x38FCC10;
public const nint reload = 0x38E97D0;
public const nint right = 0x38E91D0;
public const nint showscores = 0x38FCD50;
public const nint sprint = 0x38E9870;
public const nint turnleft = 0x38E95F0;
public const nint turnright = 0x38E9550;
public const nint use = 0x38E8FB0;
public const nint zoom = 0x38FCCB0;
}
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -8,21 +8,21 @@
namespace cs2_dumper {
// Module: client.dll
namespace buttons {
constexpr std::ptrdiff_t attack = 0x37351B0;
constexpr std::ptrdiff_t attack2 = 0x3735110;
constexpr std::ptrdiff_t back = 0x3734D90;
constexpr std::ptrdiff_t duck = 0x37348F0;
constexpr std::ptrdiff_t forward = 0x3734E30;
constexpr std::ptrdiff_t jump = 0x3734990;
constexpr std::ptrdiff_t left = 0x3734CF0;
constexpr std::ptrdiff_t lookatweapon = 0x3748D50;
constexpr std::ptrdiff_t reload = 0x3735250;
constexpr std::ptrdiff_t right = 0x3734C50;
constexpr std::ptrdiff_t showscores = 0x3748E90;
constexpr std::ptrdiff_t sprint = 0x37352F0;
constexpr std::ptrdiff_t turnleft = 0x3735070;
constexpr std::ptrdiff_t turnright = 0x3734FD0;
constexpr std::ptrdiff_t use = 0x3734A30;
constexpr std::ptrdiff_t zoom = 0x3748DF0;
constexpr std::ptrdiff_t attack = 0x38E9730;
constexpr std::ptrdiff_t attack2 = 0x38E9690;
constexpr std::ptrdiff_t back = 0x38E9310;
constexpr std::ptrdiff_t duck = 0x38E8E70;
constexpr std::ptrdiff_t forward = 0x38E93B0;
constexpr std::ptrdiff_t jump = 0x38E8F10;
constexpr std::ptrdiff_t left = 0x38E9270;
constexpr std::ptrdiff_t lookatweapon = 0x38FCC10;
constexpr std::ptrdiff_t reload = 0x38E97D0;
constexpr std::ptrdiff_t right = 0x38E91D0;
constexpr std::ptrdiff_t showscores = 0x38FCD50;
constexpr std::ptrdiff_t sprint = 0x38E9870;
constexpr std::ptrdiff_t turnleft = 0x38E95F0;
constexpr std::ptrdiff_t turnright = 0x38E9550;
constexpr std::ptrdiff_t use = 0x38E8FB0;
constexpr std::ptrdiff_t zoom = 0x38FCCB0;
}
}

View File

@ -1,20 +1,20 @@
{
"client.dll": {
"attack": 57889200,
"attack2": 57889040,
"back": 57888144,
"duck": 57886960,
"forward": 57888304,
"jump": 57887120,
"left": 57887984,
"lookatweapon": 57970000,
"reload": 57889360,
"right": 57887824,
"showscores": 57970320,
"sprint": 57889520,
"turnleft": 57888880,
"turnright": 57888720,
"use": 57887280,
"zoom": 57970160
"attack": 59676464,
"attack2": 59676304,
"back": 59675408,
"duck": 59674224,
"forward": 59675568,
"jump": 59674384,
"left": 59675248,
"lookatweapon": 59755536,
"reload": 59676624,
"right": 59675088,
"showscores": 59755856,
"sprint": 59676784,
"turnleft": 59676144,
"turnright": 59675984,
"use": 59674544,
"zoom": 59755696
}
}

View File

@ -1,26 +1,26 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, unused)]
pub mod cs2_dumper {
// Module: client.dll
pub mod buttons {
pub const attack: usize = 0x37351B0;
pub const attack2: usize = 0x3735110;
pub const back: usize = 0x3734D90;
pub const duck: usize = 0x37348F0;
pub const forward: usize = 0x3734E30;
pub const jump: usize = 0x3734990;
pub const left: usize = 0x3734CF0;
pub const lookatweapon: usize = 0x3748D50;
pub const reload: usize = 0x3735250;
pub const right: usize = 0x3734C50;
pub const showscores: usize = 0x3748E90;
pub const sprint: usize = 0x37352F0;
pub const turnleft: usize = 0x3735070;
pub const turnright: usize = 0x3734FD0;
pub const r#use: usize = 0x3734A30;
pub const zoom: usize = 0x3748DF0;
pub const attack: usize = 0x38E9730;
pub const attack2: usize = 0x38E9690;
pub const back: usize = 0x38E9310;
pub const duck: usize = 0x38E8E70;
pub const forward: usize = 0x38E93B0;
pub const jump: usize = 0x38E8F10;
pub const left: usize = 0x38E9270;
pub const lookatweapon: usize = 0x38FCC10;
pub const reload: usize = 0x38E97D0;
pub const right: usize = 0x38E91D0;
pub const showscores: usize = 0x38FCD50;
pub const sprint: usize = 0x38E9870;
pub const turnleft: usize = 0x38E95F0;
pub const turnright: usize = 0x38E9550;
pub const r#use: usize = 0x38E8FB0;
pub const zoom: usize = 0x38FCCB0;
}
}

View File

@ -1,4 +1,4 @@
{
"build_number": 14005,
"timestamp": "2024-04-29T23:05:53.220233445+00:00"
"build_number": 14014,
"timestamp": "2024-06-13T12:45:29.262540675+00:00"
}

View File

@ -1,220 +1,220 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Interfaces {
// Module: libanimationsystem.so
public static class LibanimationsystemSo {
public const nint AnimationSystemUtils_001 = 0x18D410;
public const nint AnimationSystem_001 = 0x18D200;
public const nint AnimationSystemUtils_001 = 0x1A5100;
public const nint AnimationSystem_001 = 0x1A4EF0;
}
// Module: libclient.so
public static class LibclientSo {
public const nint ClientToolsInfo_001 = 0xD554B0;
public const nint EmptyWorldService001_Client = 0xA45EC0;
public const nint GameClientExports001 = 0xD55150;
public const nint LegacyGameUI001 = 0xF22360;
public const nint Source2Client002 = 0xD551C0;
public const nint Source2ClientConfig001 = 0xA29880;
public const nint Source2ClientPrediction001 = 0xDE4BB0;
public const nint Source2ClientUI001 = 0xEDE950;
public const nint ClientToolsInfo_001 = 0xDCB700;
public const nint EmptyWorldService001_Client = 0xAA9D70;
public const nint GameClientExports001 = 0xDCB2E0;
public const nint LegacyGameUI001 = 0xFABEB0;
public const nint Source2Client002 = 0xDCB340;
public const nint Source2ClientConfig001 = 0xA94C50;
public const nint Source2ClientPrediction001 = 0xE60E20;
public const nint Source2ClientUI001 = 0xF63DD0;
}
// Module: libengine2.so
public static class Libengine2So {
public const nint BenchmarkService001 = 0x1E7A70;
public const nint BugService001 = 0x1E3C70;
public const nint ClientServerEngineLoopService_001 = 0x1B55C0;
public const nint EngineGameUI001 = 0x378510;
public const nint EngineServiceMgr001 = 0x1A5530;
public const nint GameEventSystemClientV001 = 0x1AA5A0;
public const nint GameEventSystemServerV001 = 0x1AA5B0;
public const nint GameResourceServiceClientV001 = 0x1E93A0;
public const nint GameResourceServiceServerV001 = 0x1E93B0;
public const nint GameUIService_001 = 0x1F0EE0;
public const nint HostStateMgr001 = 0x1B0120;
public const nint INETSUPPORT_001 = 0x342200;
public const nint InputService_001 = 0x1F54B0;
public const nint KeyValueCache001 = 0x1B2A70;
public const nint MapListService_001 = 0x2094B0;
public const nint NetworkClientService_001 = 0x22FDF0;
public const nint NetworkP2PService_001 = 0x246410;
public const nint NetworkServerService_001 = 0x20D560;
public const nint NetworkService_001 = 0x20CC80;
public const nint RenderService_001 = 0x24B7D0;
public const nint ScreenshotService001 = 0x24E3C0;
public const nint SimpleEngineLoopService_001 = 0x1CA280;
public const nint SoundService_001 = 0x2529E0;
public const nint Source2EngineToClient001 = 0x2C9F40;
public const nint Source2EngineToClientStringTable001 = 0x2A16A0;
public const nint Source2EngineToServer001 = 0x2F0870;
public const nint Source2EngineToServerStringTable001 = 0x2D3060;
public const nint SplitScreenService_001 = 0x259D60;
public const nint StatsService_001 = 0x25D4B0;
public const nint ToolService_001 = 0x262730;
public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x377F90;
public const nint VProfService_001 = 0x263EE0;
public const nint BenchmarkService001 = 0x217CE0;
public const nint BugService001 = 0x213EF0;
public const nint ClientServerEngineLoopService_001 = 0x1E47A0;
public const nint EngineGameUI001 = 0x3A69D0;
public const nint EngineServiceMgr001 = 0x1D3A30;
public const nint GameEventSystemClientV001 = 0x1D8D10;
public const nint GameEventSystemServerV001 = 0x1D8D20;
public const nint GameResourceServiceClientV001 = 0x219640;
public const nint GameResourceServiceServerV001 = 0x219650;
public const nint GameUIService_001 = 0x221210;
public const nint HostStateMgr001 = 0x1DF2F0;
public const nint INETSUPPORT_001 = 0x370BD0;
public const nint InputService_001 = 0x2258B0;
public const nint KeyValueCache001 = 0x1E1C40;
public const nint MapListService_001 = 0x239E70;
public const nint NetworkClientService_001 = 0x25CB80;
public const nint NetworkP2PService_001 = 0x271E70;
public const nint NetworkServerService_001 = 0x23DF20;
public const nint NetworkService_001 = 0x23D640;
public const nint RenderService_001 = 0x276F90;
public const nint ScreenshotService001 = 0x279AD0;
public const nint SimpleEngineLoopService_001 = 0x1F9FE0;
public const nint SoundService_001 = 0x27DCD0;
public const nint Source2EngineToClient001 = 0x2F7AB0;
public const nint Source2EngineToClientStringTable001 = 0x2CE2A0;
public const nint Source2EngineToServer001 = 0x31E3F0;
public const nint Source2EngineToServerStringTable001 = 0x300C80;
public const nint SplitScreenService_001 = 0x2852F0;
public const nint StatsService_001 = 0x288E20;
public const nint ToolService_001 = 0x28DF50;
public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x3A6450;
public const nint VProfService_001 = 0x28F7D0;
}
// Module: libfilesystem_stdio.so
public static class LibfilesystemStdioSo {
public const nint VAsyncFileSystem2_001 = 0x80180;
public const nint VFileSystem017 = 0x80170;
public const nint VAsyncFileSystem2_001 = 0x7D990;
public const nint VFileSystem017 = 0x7D980;
}
// Module: libhost.so
public static class LibhostSo {
public const nint DebugDrawQueueManager001 = 0xC2C70;
public const nint GameModelInfo001 = 0xBD8F0;
public const nint GameSystem2HostHook = 0xBE030;
public const nint HostUtils001 = 0xBE4B0;
public const nint PredictionDiffManager001 = 0xBF440;
public const nint SaveRestoreDataVersion001 = 0xC17B0;
public const nint SinglePlayerSharedMemory001 = 0xC1A70;
public const nint Source2Host001 = 0xC21D0;
public const nint DebugDrawQueueManager001 = 0xC5690;
public const nint GameModelInfo001 = 0xC0690;
public const nint GameSystem2HostHook = 0xC0DD0;
public const nint HostUtils001 = 0xC1250;
public const nint PredictionDiffManager001 = 0xC21D0;
public const nint SaveRestoreDataVersion001 = 0xC41D0;
public const nint SinglePlayerSharedMemory001 = 0xC4490;
public const nint Source2Host001 = 0xC4BF0;
}
// Module: libinputsystem.so
public static class LibinputsystemSo {
public const nint InputStackSystemVersion001 = 0x11840;
public const nint InputSystemVersion001 = 0x12D30;
public const nint InputStackSystemVersion001 = 0x11860;
public const nint InputSystemVersion001 = 0x12D50;
}
// Module: liblocalize.so
public static class LiblocalizeSo {
public const nint Localize_001 = 0x1DB00;
public const nint Localize_001 = 0x1DBB0;
}
// Module: libmatchmaking.so
public static class LibmatchmakingSo {
public const nint GameTypes001 = 0x130050;
public const nint MATCHFRAMEWORK_001 = 0x2045D0;
public const nint GameTypes001 = 0xF57E0;
public const nint MATCHFRAMEWORK_001 = 0x1CA5D0;
}
// Module: libmaterialsystem2.so
public static class Libmaterialsystem2So {
public const nint FontManager_001 = 0x7A2D0;
public const nint MaterialUtils_001 = 0x64B10;
public const nint PostProcessingSystem_001 = 0x89C00;
public const nint TextLayout_001 = 0x87190;
public const nint VMaterialSystem2_001 = 0x2C750;
public const nint FontManager_001 = 0x7B1E0;
public const nint MaterialUtils_001 = 0x65BB0;
public const nint PostProcessingSystem_001 = 0x8A6A0;
public const nint TextLayout_001 = 0x87C30;
public const nint VMaterialSystem2_001 = 0x2C800;
}
// Module: libmeshsystem.so
public static class LibmeshsystemSo {
public const nint MeshSystem001 = 0x94810;
public const nint MeshSystem001 = 0x97530;
}
// Module: libnetworksystem.so
public static class LibnetworksystemSo {
public const nint FlattenedSerializersVersion001 = 0x159440;
public const nint NetworkMessagesVersion001 = 0x180B70;
public const nint NetworkSystemVersion001 = 0x1A9CE0;
public const nint SerializedEntitiesVersion001 = 0x1C2750;
public const nint FlattenedSerializersVersion001 = 0x163840;
public const nint NetworkMessagesVersion001 = 0x18AB70;
public const nint NetworkSystemVersion001 = 0x1B4C70;
public const nint SerializedEntitiesVersion001 = 0x1CD7C0;
}
// Module: libpanorama.so
public static class LibpanoramaSo {
public const nint PanoramaUIEngine001 = 0x220BD0;
public const nint PanoramaUIEngine001 = 0x230A10;
}
// Module: libpanorama_text_pango.so
public static class LibpanoramaTextPangoSo {
public const nint PanoramaTextServices001 = 0xBC530;
public const nint PanoramaTextServices001 = 0xBBAD0;
}
// Module: libpanoramauiclient.so
public static class LibpanoramauiclientSo {
public const nint PanoramaUIClient001 = 0x109AB0;
public const nint PanoramaUIClient001 = 0x109990;
}
// Module: libparticles.so
public static class LibparticlesSo {
public const nint ParticleSystemMgr003 = 0x1EBE60;
public const nint ParticleSystemMgr003 = 0x20C940;
}
// Module: libpulse_system.so
public static class LibpulseSystemSo {
public const nint IPulseSystem_001 = 0x357B0;
public const nint IPulseSystem_001 = 0x3F270;
}
// Module: librendersystemvulkan.so
public static class LibrendersystemvulkanSo {
public const nint RenderDeviceMgr001 = 0x1854C0;
public const nint RenderUtils_001 = 0x101D10;
public const nint RenderDeviceMgr001 = 0x147920;
public const nint RenderUtils_001 = 0xCB4C0;
}
// Module: libresourcesystem.so
public static class LibresourcesystemSo {
public const nint ResourceSystem013 = 0x30A90;
public const nint ResourceSystem013 = 0x30E70;
}
// Module: libscenefilecache.so
public static class LibscenefilecacheSo {
public const nint ResponseRulesCache001 = 0x88E40;
public const nint SceneFileCache002 = 0x85B10;
public const nint ResponseRulesCache001 = 0x89070;
public const nint SceneFileCache002 = 0x85D30;
}
// Module: libscenesystem.so
public static class LibscenesystemSo {
public const nint RenderingPipelines_001 = 0x120E40;
public const nint SceneSystem_002 = 0x164320;
public const nint SceneUtils_001 = 0x1E0AE0;
public const nint RenderingPipelines_001 = 0x137330;
public const nint SceneSystem_002 = 0x17AC60;
public const nint SceneUtils_001 = 0x1F5330;
}
// Module: libschemasystem.so
public static class LibschemasystemSo {
public const nint SchemaSystem_001 = 0x211F0;
public const nint SchemaSystem_001 = 0x202A0;
}
// Module: libserver.so
public static class LibserverSo {
public const nint EmptyWorldService001_Server = 0xB82750;
public const nint EntitySubclassUtilsV001 = 0x85F670;
public const nint NavGameTest001 = 0x10974F0;
public const nint ServerToolsInfo_001 = 0xE754A0;
public const nint Source2GameClients001 = 0xE75430;
public const nint Source2GameDirector001 = 0x6C5770;
public const nint Source2GameEntities001 = 0xE75420;
public const nint Source2Server001 = 0xE75110;
public const nint Source2ServerConfig001 = 0xB0ED10;
public const nint customnavsystem001 = 0x7F66C0;
public const nint EmptyWorldService001_Server = 0xBCF830;
public const nint EntitySubclassUtilsV001 = 0x8DA220;
public const nint NavGameTest001 = 0x1117CF0;
public const nint ServerToolsInfo_001 = 0xEE4D60;
public const nint Source2GameClients001 = 0xEE4D00;
public const nint Source2GameDirector001 = 0x738950;
public const nint Source2GameEntities001 = 0xEE4CF0;
public const nint Source2Server001 = 0xEE4A00;
public const nint Source2ServerConfig001 = 0xB6CE80;
public const nint customnavsystem001 = 0x865F80;
}
// Module: libsoundsystem.so
public static class LibsoundsystemSo {
public const nint SoundOpSystem001 = 0x155E50;
public const nint SoundOpSystemEdit001 = 0xAD350;
public const nint SoundSystem001 = 0x1C48F0;
public const nint VMixEditTool001 = 0x1F4300;
public const nint SoundOpSystem001 = 0x16C900;
public const nint SoundOpSystemEdit001 = 0xB59E0;
public const nint SoundSystem001 = 0x1DAE40;
public const nint VMixEditTool001 = 0x20DF30;
}
// Module: libsteamaudio.so
public static class LibsteamaudioSo {
public const nint SteamAudio001 = 0x31590;
public const nint SteamAudio001 = 0x9EF00;
}
// Module: libtier0.so
public static class Libtier0So {
public const nint TestScriptMgr001 = 0x1C1640;
public const nint VEngineCvar007 = 0xF1400;
public const nint VProcessUtils002 = 0x19F070;
public const nint VStringTokenSystem001 = 0x1ED620;
public const nint TestScriptMgr001 = 0x1C88A0;
public const nint VEngineCvar007 = 0xF2080;
public const nint VProcessUtils002 = 0x1A5640;
public const nint VStringTokenSystem001 = 0x1F7BB0;
}
// Module: libv8system.so
public static class Libv8systemSo {
public const nint Source2V8System001 = 0x1B630;
public const nint Source2V8System001 = 0x1B6F0;
}
// Module: libvphysics2.so
public static class Libvphysics2So {
public const nint VPhysics2_Handle_Interface_001 = 0xC1F10;
public const nint VPhysics2_Interface_001 = 0xC1B00;
public const nint VPhysics2_Handle_Interface_001 = 0xC4A60;
public const nint VPhysics2_Interface_001 = 0xC4650;
}
// Module: libvscript.so
public static class LibvscriptSo {
public const nint VScriptManager010 = 0x26230;
public const nint VScriptManager010 = 0x262D0;
}
// Module: libworldrenderer.so
public static class LibworldrendererSo {
public const nint WorldRendererMgr001 = 0x982B0;
public const nint WorldRendererMgr001 = 0xAEC80;
}
// Module: steamclient.so
public static class SteamclientSo {
public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x11260D0;
public const nint IVALIDATE001 = 0x1122650;
public const nint SteamClient006 = 0xDDA7A0;
public const nint SteamClient007 = 0xDDA7B0;
public const nint SteamClient008 = 0xDDA7C0;
public const nint SteamClient009 = 0xDDA7D0;
public const nint SteamClient010 = 0xDDA7E0;
public const nint SteamClient011 = 0xDDA7F0;
public const nint SteamClient012 = 0xDDA800;
public const nint SteamClient013 = 0xDDA810;
public const nint SteamClient014 = 0xDDA820;
public const nint SteamClient015 = 0xDDA830;
public const nint SteamClient016 = 0xDDA860;
public const nint SteamClient017 = 0xDDA890;
public const nint SteamClient018 = 0xDDA8C0;
public const nint SteamClient019 = 0xDDA8F0;
public const nint SteamClient020 = 0xDDA920;
public const nint SteamClient021 = 0xDDA950;
public const nint p2pvoice002 = 0x174B380;
public const nint p2pvoicesingleton002 = 0x17443B0;
public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x1135D20;
public const nint IVALIDATE001 = 0x1132210;
public const nint SteamClient006 = 0xDE3190;
public const nint SteamClient007 = 0xDE31A0;
public const nint SteamClient008 = 0xDE31B0;
public const nint SteamClient009 = 0xDE31C0;
public const nint SteamClient010 = 0xDE31D0;
public const nint SteamClient011 = 0xDE31E0;
public const nint SteamClient012 = 0xDE31F0;
public const nint SteamClient013 = 0xDE3200;
public const nint SteamClient014 = 0xDE3210;
public const nint SteamClient015 = 0xDE3220;
public const nint SteamClient016 = 0xDE3250;
public const nint SteamClient017 = 0xDE3280;
public const nint SteamClient018 = 0xDE32B0;
public const nint SteamClient019 = 0xDE32E0;
public const nint SteamClient020 = 0xDE3310;
public const nint SteamClient021 = 0xDE3340;
public const nint p2pvoice002 = 0x1769460;
public const nint p2pvoicesingleton002 = 0x1762490;
}
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -9,218 +9,218 @@ namespace cs2_dumper {
namespace interfaces {
// Module: libanimationsystem.so
namespace libanimationsystem_so {
constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x18D410;
constexpr std::ptrdiff_t AnimationSystem_001 = 0x18D200;
constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x1A5100;
constexpr std::ptrdiff_t AnimationSystem_001 = 0x1A4EF0;
}
// Module: libclient.so
namespace libclient_so {
constexpr std::ptrdiff_t ClientToolsInfo_001 = 0xD554B0;
constexpr std::ptrdiff_t EmptyWorldService001_Client = 0xA45EC0;
constexpr std::ptrdiff_t GameClientExports001 = 0xD55150;
constexpr std::ptrdiff_t LegacyGameUI001 = 0xF22360;
constexpr std::ptrdiff_t Source2Client002 = 0xD551C0;
constexpr std::ptrdiff_t Source2ClientConfig001 = 0xA29880;
constexpr std::ptrdiff_t Source2ClientPrediction001 = 0xDE4BB0;
constexpr std::ptrdiff_t Source2ClientUI001 = 0xEDE950;
constexpr std::ptrdiff_t ClientToolsInfo_001 = 0xDCB700;
constexpr std::ptrdiff_t EmptyWorldService001_Client = 0xAA9D70;
constexpr std::ptrdiff_t GameClientExports001 = 0xDCB2E0;
constexpr std::ptrdiff_t LegacyGameUI001 = 0xFABEB0;
constexpr std::ptrdiff_t Source2Client002 = 0xDCB340;
constexpr std::ptrdiff_t Source2ClientConfig001 = 0xA94C50;
constexpr std::ptrdiff_t Source2ClientPrediction001 = 0xE60E20;
constexpr std::ptrdiff_t Source2ClientUI001 = 0xF63DD0;
}
// Module: libengine2.so
namespace libengine2_so {
constexpr std::ptrdiff_t BenchmarkService001 = 0x1E7A70;
constexpr std::ptrdiff_t BugService001 = 0x1E3C70;
constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1B55C0;
constexpr std::ptrdiff_t EngineGameUI001 = 0x378510;
constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1A5530;
constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1AA5A0;
constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1AA5B0;
constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x1E93A0;
constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x1E93B0;
constexpr std::ptrdiff_t GameUIService_001 = 0x1F0EE0;
constexpr std::ptrdiff_t HostStateMgr001 = 0x1B0120;
constexpr std::ptrdiff_t INETSUPPORT_001 = 0x342200;
constexpr std::ptrdiff_t InputService_001 = 0x1F54B0;
constexpr std::ptrdiff_t KeyValueCache001 = 0x1B2A70;
constexpr std::ptrdiff_t MapListService_001 = 0x2094B0;
constexpr std::ptrdiff_t NetworkClientService_001 = 0x22FDF0;
constexpr std::ptrdiff_t NetworkP2PService_001 = 0x246410;
constexpr std::ptrdiff_t NetworkServerService_001 = 0x20D560;
constexpr std::ptrdiff_t NetworkService_001 = 0x20CC80;
constexpr std::ptrdiff_t RenderService_001 = 0x24B7D0;
constexpr std::ptrdiff_t ScreenshotService001 = 0x24E3C0;
constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1CA280;
constexpr std::ptrdiff_t SoundService_001 = 0x2529E0;
constexpr std::ptrdiff_t Source2EngineToClient001 = 0x2C9F40;
constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x2A16A0;
constexpr std::ptrdiff_t Source2EngineToServer001 = 0x2F0870;
constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0x2D3060;
constexpr std::ptrdiff_t SplitScreenService_001 = 0x259D60;
constexpr std::ptrdiff_t StatsService_001 = 0x25D4B0;
constexpr std::ptrdiff_t ToolService_001 = 0x262730;
constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x377F90;
constexpr std::ptrdiff_t VProfService_001 = 0x263EE0;
constexpr std::ptrdiff_t BenchmarkService001 = 0x217CE0;
constexpr std::ptrdiff_t BugService001 = 0x213EF0;
constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1E47A0;
constexpr std::ptrdiff_t EngineGameUI001 = 0x3A69D0;
constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1D3A30;
constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1D8D10;
constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1D8D20;
constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x219640;
constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x219650;
constexpr std::ptrdiff_t GameUIService_001 = 0x221210;
constexpr std::ptrdiff_t HostStateMgr001 = 0x1DF2F0;
constexpr std::ptrdiff_t INETSUPPORT_001 = 0x370BD0;
constexpr std::ptrdiff_t InputService_001 = 0x2258B0;
constexpr std::ptrdiff_t KeyValueCache001 = 0x1E1C40;
constexpr std::ptrdiff_t MapListService_001 = 0x239E70;
constexpr std::ptrdiff_t NetworkClientService_001 = 0x25CB80;
constexpr std::ptrdiff_t NetworkP2PService_001 = 0x271E70;
constexpr std::ptrdiff_t NetworkServerService_001 = 0x23DF20;
constexpr std::ptrdiff_t NetworkService_001 = 0x23D640;
constexpr std::ptrdiff_t RenderService_001 = 0x276F90;
constexpr std::ptrdiff_t ScreenshotService001 = 0x279AD0;
constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1F9FE0;
constexpr std::ptrdiff_t SoundService_001 = 0x27DCD0;
constexpr std::ptrdiff_t Source2EngineToClient001 = 0x2F7AB0;
constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x2CE2A0;
constexpr std::ptrdiff_t Source2EngineToServer001 = 0x31E3F0;
constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0x300C80;
constexpr std::ptrdiff_t SplitScreenService_001 = 0x2852F0;
constexpr std::ptrdiff_t StatsService_001 = 0x288E20;
constexpr std::ptrdiff_t ToolService_001 = 0x28DF50;
constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x3A6450;
constexpr std::ptrdiff_t VProfService_001 = 0x28F7D0;
}
// Module: libfilesystem_stdio.so
namespace libfilesystem_stdio_so {
constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x80180;
constexpr std::ptrdiff_t VFileSystem017 = 0x80170;
constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x7D990;
constexpr std::ptrdiff_t VFileSystem017 = 0x7D980;
}
// Module: libhost.so
namespace libhost_so {
constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0xC2C70;
constexpr std::ptrdiff_t GameModelInfo001 = 0xBD8F0;
constexpr std::ptrdiff_t GameSystem2HostHook = 0xBE030;
constexpr std::ptrdiff_t HostUtils001 = 0xBE4B0;
constexpr std::ptrdiff_t PredictionDiffManager001 = 0xBF440;
constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0xC17B0;
constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0xC1A70;
constexpr std::ptrdiff_t Source2Host001 = 0xC21D0;
constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0xC5690;
constexpr std::ptrdiff_t GameModelInfo001 = 0xC0690;
constexpr std::ptrdiff_t GameSystem2HostHook = 0xC0DD0;
constexpr std::ptrdiff_t HostUtils001 = 0xC1250;
constexpr std::ptrdiff_t PredictionDiffManager001 = 0xC21D0;
constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0xC41D0;
constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0xC4490;
constexpr std::ptrdiff_t Source2Host001 = 0xC4BF0;
}
// Module: libinputsystem.so
namespace libinputsystem_so {
constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x11840;
constexpr std::ptrdiff_t InputSystemVersion001 = 0x12D30;
constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x11860;
constexpr std::ptrdiff_t InputSystemVersion001 = 0x12D50;
}
// Module: liblocalize.so
namespace liblocalize_so {
constexpr std::ptrdiff_t Localize_001 = 0x1DB00;
constexpr std::ptrdiff_t Localize_001 = 0x1DBB0;
}
// Module: libmatchmaking.so
namespace libmatchmaking_so {
constexpr std::ptrdiff_t GameTypes001 = 0x130050;
constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x2045D0;
constexpr std::ptrdiff_t GameTypes001 = 0xF57E0;
constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x1CA5D0;
}
// Module: libmaterialsystem2.so
namespace libmaterialsystem2_so {
constexpr std::ptrdiff_t FontManager_001 = 0x7A2D0;
constexpr std::ptrdiff_t MaterialUtils_001 = 0x64B10;
constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x89C00;
constexpr std::ptrdiff_t TextLayout_001 = 0x87190;
constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x2C750;
constexpr std::ptrdiff_t FontManager_001 = 0x7B1E0;
constexpr std::ptrdiff_t MaterialUtils_001 = 0x65BB0;
constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x8A6A0;
constexpr std::ptrdiff_t TextLayout_001 = 0x87C30;
constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x2C800;
}
// Module: libmeshsystem.so
namespace libmeshsystem_so {
constexpr std::ptrdiff_t MeshSystem001 = 0x94810;
constexpr std::ptrdiff_t MeshSystem001 = 0x97530;
}
// Module: libnetworksystem.so
namespace libnetworksystem_so {
constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x159440;
constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x180B70;
constexpr std::ptrdiff_t NetworkSystemVersion001 = 0x1A9CE0;
constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0x1C2750;
constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x163840;
constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x18AB70;
constexpr std::ptrdiff_t NetworkSystemVersion001 = 0x1B4C70;
constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0x1CD7C0;
}
// Module: libpanorama.so
namespace libpanorama_so {
constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x220BD0;
constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x230A10;
}
// Module: libpanorama_text_pango.so
namespace libpanorama_text_pango_so {
constexpr std::ptrdiff_t PanoramaTextServices001 = 0xBC530;
constexpr std::ptrdiff_t PanoramaTextServices001 = 0xBBAD0;
}
// Module: libpanoramauiclient.so
namespace libpanoramauiclient_so {
constexpr std::ptrdiff_t PanoramaUIClient001 = 0x109AB0;
constexpr std::ptrdiff_t PanoramaUIClient001 = 0x109990;
}
// Module: libparticles.so
namespace libparticles_so {
constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x1EBE60;
constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x20C940;
}
// Module: libpulse_system.so
namespace libpulse_system_so {
constexpr std::ptrdiff_t IPulseSystem_001 = 0x357B0;
constexpr std::ptrdiff_t IPulseSystem_001 = 0x3F270;
}
// Module: librendersystemvulkan.so
namespace librendersystemvulkan_so {
constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x1854C0;
constexpr std::ptrdiff_t RenderUtils_001 = 0x101D10;
constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x147920;
constexpr std::ptrdiff_t RenderUtils_001 = 0xCB4C0;
}
// Module: libresourcesystem.so
namespace libresourcesystem_so {
constexpr std::ptrdiff_t ResourceSystem013 = 0x30A90;
constexpr std::ptrdiff_t ResourceSystem013 = 0x30E70;
}
// Module: libscenefilecache.so
namespace libscenefilecache_so {
constexpr std::ptrdiff_t ResponseRulesCache001 = 0x88E40;
constexpr std::ptrdiff_t SceneFileCache002 = 0x85B10;
constexpr std::ptrdiff_t ResponseRulesCache001 = 0x89070;
constexpr std::ptrdiff_t SceneFileCache002 = 0x85D30;
}
// Module: libscenesystem.so
namespace libscenesystem_so {
constexpr std::ptrdiff_t RenderingPipelines_001 = 0x120E40;
constexpr std::ptrdiff_t SceneSystem_002 = 0x164320;
constexpr std::ptrdiff_t SceneUtils_001 = 0x1E0AE0;
constexpr std::ptrdiff_t RenderingPipelines_001 = 0x137330;
constexpr std::ptrdiff_t SceneSystem_002 = 0x17AC60;
constexpr std::ptrdiff_t SceneUtils_001 = 0x1F5330;
}
// Module: libschemasystem.so
namespace libschemasystem_so {
constexpr std::ptrdiff_t SchemaSystem_001 = 0x211F0;
constexpr std::ptrdiff_t SchemaSystem_001 = 0x202A0;
}
// Module: libserver.so
namespace libserver_so {
constexpr std::ptrdiff_t EmptyWorldService001_Server = 0xB82750;
constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x85F670;
constexpr std::ptrdiff_t NavGameTest001 = 0x10974F0;
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0xE754A0;
constexpr std::ptrdiff_t Source2GameClients001 = 0xE75430;
constexpr std::ptrdiff_t Source2GameDirector001 = 0x6C5770;
constexpr std::ptrdiff_t Source2GameEntities001 = 0xE75420;
constexpr std::ptrdiff_t Source2Server001 = 0xE75110;
constexpr std::ptrdiff_t Source2ServerConfig001 = 0xB0ED10;
constexpr std::ptrdiff_t customnavsystem001 = 0x7F66C0;
constexpr std::ptrdiff_t EmptyWorldService001_Server = 0xBCF830;
constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x8DA220;
constexpr std::ptrdiff_t NavGameTest001 = 0x1117CF0;
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0xEE4D60;
constexpr std::ptrdiff_t Source2GameClients001 = 0xEE4D00;
constexpr std::ptrdiff_t Source2GameDirector001 = 0x738950;
constexpr std::ptrdiff_t Source2GameEntities001 = 0xEE4CF0;
constexpr std::ptrdiff_t Source2Server001 = 0xEE4A00;
constexpr std::ptrdiff_t Source2ServerConfig001 = 0xB6CE80;
constexpr std::ptrdiff_t customnavsystem001 = 0x865F80;
}
// Module: libsoundsystem.so
namespace libsoundsystem_so {
constexpr std::ptrdiff_t SoundOpSystem001 = 0x155E50;
constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0xAD350;
constexpr std::ptrdiff_t SoundSystem001 = 0x1C48F0;
constexpr std::ptrdiff_t VMixEditTool001 = 0x1F4300;
constexpr std::ptrdiff_t SoundOpSystem001 = 0x16C900;
constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0xB59E0;
constexpr std::ptrdiff_t SoundSystem001 = 0x1DAE40;
constexpr std::ptrdiff_t VMixEditTool001 = 0x20DF30;
}
// Module: libsteamaudio.so
namespace libsteamaudio_so {
constexpr std::ptrdiff_t SteamAudio001 = 0x31590;
constexpr std::ptrdiff_t SteamAudio001 = 0x9EF00;
}
// Module: libtier0.so
namespace libtier0_so {
constexpr std::ptrdiff_t TestScriptMgr001 = 0x1C1640;
constexpr std::ptrdiff_t VEngineCvar007 = 0xF1400;
constexpr std::ptrdiff_t VProcessUtils002 = 0x19F070;
constexpr std::ptrdiff_t VStringTokenSystem001 = 0x1ED620;
constexpr std::ptrdiff_t TestScriptMgr001 = 0x1C88A0;
constexpr std::ptrdiff_t VEngineCvar007 = 0xF2080;
constexpr std::ptrdiff_t VProcessUtils002 = 0x1A5640;
constexpr std::ptrdiff_t VStringTokenSystem001 = 0x1F7BB0;
}
// Module: libv8system.so
namespace libv8system_so {
constexpr std::ptrdiff_t Source2V8System001 = 0x1B630;
constexpr std::ptrdiff_t Source2V8System001 = 0x1B6F0;
}
// Module: libvphysics2.so
namespace libvphysics2_so {
constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0xC1F10;
constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0xC1B00;
constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0xC4A60;
constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0xC4650;
}
// Module: libvscript.so
namespace libvscript_so {
constexpr std::ptrdiff_t VScriptManager010 = 0x26230;
constexpr std::ptrdiff_t VScriptManager010 = 0x262D0;
}
// Module: libworldrenderer.so
namespace libworldrenderer_so {
constexpr std::ptrdiff_t WorldRendererMgr001 = 0x982B0;
constexpr std::ptrdiff_t WorldRendererMgr001 = 0xAEC80;
}
// Module: steamclient.so
namespace steamclient_so {
constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x11260D0;
constexpr std::ptrdiff_t IVALIDATE001 = 0x1122650;
constexpr std::ptrdiff_t SteamClient006 = 0xDDA7A0;
constexpr std::ptrdiff_t SteamClient007 = 0xDDA7B0;
constexpr std::ptrdiff_t SteamClient008 = 0xDDA7C0;
constexpr std::ptrdiff_t SteamClient009 = 0xDDA7D0;
constexpr std::ptrdiff_t SteamClient010 = 0xDDA7E0;
constexpr std::ptrdiff_t SteamClient011 = 0xDDA7F0;
constexpr std::ptrdiff_t SteamClient012 = 0xDDA800;
constexpr std::ptrdiff_t SteamClient013 = 0xDDA810;
constexpr std::ptrdiff_t SteamClient014 = 0xDDA820;
constexpr std::ptrdiff_t SteamClient015 = 0xDDA830;
constexpr std::ptrdiff_t SteamClient016 = 0xDDA860;
constexpr std::ptrdiff_t SteamClient017 = 0xDDA890;
constexpr std::ptrdiff_t SteamClient018 = 0xDDA8C0;
constexpr std::ptrdiff_t SteamClient019 = 0xDDA8F0;
constexpr std::ptrdiff_t SteamClient020 = 0xDDA920;
constexpr std::ptrdiff_t SteamClient021 = 0xDDA950;
constexpr std::ptrdiff_t p2pvoice002 = 0x174B380;
constexpr std::ptrdiff_t p2pvoicesingleton002 = 0x17443B0;
constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x1135D20;
constexpr std::ptrdiff_t IVALIDATE001 = 0x1132210;
constexpr std::ptrdiff_t SteamClient006 = 0xDE3190;
constexpr std::ptrdiff_t SteamClient007 = 0xDE31A0;
constexpr std::ptrdiff_t SteamClient008 = 0xDE31B0;
constexpr std::ptrdiff_t SteamClient009 = 0xDE31C0;
constexpr std::ptrdiff_t SteamClient010 = 0xDE31D0;
constexpr std::ptrdiff_t SteamClient011 = 0xDE31E0;
constexpr std::ptrdiff_t SteamClient012 = 0xDE31F0;
constexpr std::ptrdiff_t SteamClient013 = 0xDE3200;
constexpr std::ptrdiff_t SteamClient014 = 0xDE3210;
constexpr std::ptrdiff_t SteamClient015 = 0xDE3220;
constexpr std::ptrdiff_t SteamClient016 = 0xDE3250;
constexpr std::ptrdiff_t SteamClient017 = 0xDE3280;
constexpr std::ptrdiff_t SteamClient018 = 0xDE32B0;
constexpr std::ptrdiff_t SteamClient019 = 0xDE32E0;
constexpr std::ptrdiff_t SteamClient020 = 0xDE3310;
constexpr std::ptrdiff_t SteamClient021 = 0xDE3340;
constexpr std::ptrdiff_t p2pvoice002 = 0x1769460;
constexpr std::ptrdiff_t p2pvoicesingleton002 = 0x1762490;
}
}
}

View File

@ -1,187 +1,187 @@
{
"libanimationsystem.so": {
"AnimationSystemUtils_001": 1627152,
"AnimationSystem_001": 1626624
"AnimationSystemUtils_001": 1724672,
"AnimationSystem_001": 1724144
},
"libclient.so": {
"ClientToolsInfo_001": 13980848,
"EmptyWorldService001_Client": 10772160,
"GameClientExports001": 13979984,
"LegacyGameUI001": 15868768,
"Source2Client002": 13980096,
"Source2ClientConfig001": 10655872,
"Source2ClientPrediction001": 14568368,
"Source2ClientUI001": 15591760
"ClientToolsInfo_001": 14464768,
"EmptyWorldService001_Client": 11181424,
"GameClientExports001": 14463712,
"LegacyGameUI001": 16432816,
"Source2Client002": 14463808,
"Source2ClientConfig001": 11095120,
"Source2ClientPrediction001": 15076896,
"Source2ClientUI001": 16137680
},
"libengine2.so": {
"BenchmarkService001": 1997424,
"BugService001": 1981552,
"ClientServerEngineLoopService_001": 1791424,
"EngineGameUI001": 3638544,
"EngineServiceMgr001": 1725744,
"GameEventSystemClientV001": 1746336,
"GameEventSystemServerV001": 1746352,
"GameResourceServiceClientV001": 2003872,
"GameResourceServiceServerV001": 2003888,
"GameUIService_001": 2035424,
"HostStateMgr001": 1769760,
"INETSUPPORT_001": 3416576,
"InputService_001": 2053296,
"KeyValueCache001": 1780336,
"MapListService_001": 2135216,
"NetworkClientService_001": 2293232,
"NetworkP2PService_001": 2384912,
"NetworkServerService_001": 2151776,
"NetworkService_001": 2149504,
"RenderService_001": 2406352,
"ScreenshotService001": 2417600,
"SimpleEngineLoopService_001": 1876608,
"SoundService_001": 2435552,
"Source2EngineToClient001": 2924352,
"Source2EngineToClientStringTable001": 2758304,
"Source2EngineToServer001": 3082352,
"Source2EngineToServerStringTable001": 2961504,
"SplitScreenService_001": 2465120,
"StatsService_001": 2479280,
"ToolService_001": 2500400,
"VENGINE_GAMEUIFUNCS_VERSION005": 3637136,
"VProfService_001": 2506464
"BenchmarkService001": 2194656,
"BugService001": 2178800,
"ClientServerEngineLoopService_001": 1984416,
"EngineGameUI001": 3828176,
"EngineServiceMgr001": 1915440,
"GameEventSystemClientV001": 1936656,
"GameEventSystemServerV001": 1936672,
"GameResourceServiceClientV001": 2201152,
"GameResourceServiceServerV001": 2201168,
"GameUIService_001": 2232848,
"HostStateMgr001": 1962736,
"INETSUPPORT_001": 3607504,
"InputService_001": 2250928,
"KeyValueCache001": 1973312,
"MapListService_001": 2334320,
"NetworkClientService_001": 2476928,
"NetworkP2PService_001": 2563696,
"NetworkServerService_001": 2350880,
"NetworkService_001": 2348608,
"RenderService_001": 2584464,
"ScreenshotService001": 2595536,
"SimpleEngineLoopService_001": 2072544,
"SoundService_001": 2612432,
"Source2EngineToClient001": 3111600,
"Source2EngineToClientStringTable001": 2941600,
"Source2EngineToServer001": 3269616,
"Source2EngineToServerStringTable001": 3148928,
"SplitScreenService_001": 2642672,
"StatsService_001": 2657824,
"ToolService_001": 2678608,
"VENGINE_GAMEUIFUNCS_VERSION005": 3826768,
"VProfService_001": 2684880
},
"libfilesystem_stdio.so": {
"VAsyncFileSystem2_001": 524672,
"VFileSystem017": 524656
"VAsyncFileSystem2_001": 514448,
"VFileSystem017": 514432
},
"libhost.so": {
"DebugDrawQueueManager001": 797808,
"GameModelInfo001": 776432,
"GameSystem2HostHook": 778288,
"HostUtils001": 779440,
"PredictionDiffManager001": 783424,
"SaveRestoreDataVersion001": 792496,
"SinglePlayerSharedMemory001": 793200,
"Source2Host001": 795088
"DebugDrawQueueManager001": 808592,
"GameModelInfo001": 788112,
"GameSystem2HostHook": 789968,
"HostUtils001": 791120,
"PredictionDiffManager001": 795088,
"SaveRestoreDataVersion001": 803280,
"SinglePlayerSharedMemory001": 803984,
"Source2Host001": 805872
},
"libinputsystem.so": {
"InputStackSystemVersion001": 71744,
"InputSystemVersion001": 77104
"InputStackSystemVersion001": 71776,
"InputSystemVersion001": 77136
},
"liblocalize.so": {
"Localize_001": 121600
"Localize_001": 121776
},
"libmatchmaking.so": {
"GameTypes001": 1245264,
"MATCHFRAMEWORK_001": 2115024
"GameTypes001": 1005536,
"MATCHFRAMEWORK_001": 1877456
},
"libmaterialsystem2.so": {
"FontManager_001": 500432,
"MaterialUtils_001": 412432,
"PostProcessingSystem_001": 564224,
"TextLayout_001": 553360,
"VMaterialSystem2_001": 182096
"FontManager_001": 504288,
"MaterialUtils_001": 416688,
"PostProcessingSystem_001": 566944,
"TextLayout_001": 556080,
"VMaterialSystem2_001": 182272
},
"libmeshsystem.so": {
"MeshSystem001": 608272
"MeshSystem001": 619824
},
"libnetworksystem.so": {
"FlattenedSerializersVersion001": 1414208,
"NetworkMessagesVersion001": 1575792,
"NetworkSystemVersion001": 1744096,
"SerializedEntitiesVersion001": 1845072
"FlattenedSerializersVersion001": 1456192,
"NetworkMessagesVersion001": 1616752,
"NetworkSystemVersion001": 1789040,
"SerializedEntitiesVersion001": 1890240
},
"libpanorama.so": {
"PanoramaUIEngine001": 2231248
"PanoramaUIEngine001": 2296336
},
"libpanorama_text_pango.so": {
"PanoramaTextServices001": 771376
"PanoramaTextServices001": 768720
},
"libpanoramauiclient.so": {
"PanoramaUIClient001": 1088176
"PanoramaUIClient001": 1087888
},
"libparticles.so": {
"ParticleSystemMgr003": 2014816
"ParticleSystemMgr003": 2148672
},
"libpulse_system.so": {
"IPulseSystem_001": 219056
"IPulseSystem_001": 258672
},
"librendersystemvulkan.so": {
"RenderDeviceMgr001": 1594560,
"RenderUtils_001": 1056016
"RenderDeviceMgr001": 1341728,
"RenderUtils_001": 832704
},
"libresourcesystem.so": {
"ResourceSystem013": 199312
"ResourceSystem013": 200304
},
"libscenefilecache.so": {
"ResponseRulesCache001": 560704,
"SceneFileCache002": 547600
"ResponseRulesCache001": 561264,
"SceneFileCache002": 548144
},
"libscenesystem.so": {
"RenderingPipelines_001": 1183296,
"SceneSystem_002": 1458976,
"SceneUtils_001": 1968864
"RenderingPipelines_001": 1274672,
"SceneSystem_002": 1551456,
"SceneUtils_001": 2052912
},
"libschemasystem.so": {
"SchemaSystem_001": 135664
"SchemaSystem_001": 131744
},
"libserver.so": {
"EmptyWorldService001_Server": 12068688,
"EntitySubclassUtilsV001": 8779376,
"NavGameTest001": 17396976,
"ServerToolsInfo_001": 15160480,
"Source2GameClients001": 15160368,
"Source2GameDirector001": 7100272,
"Source2GameEntities001": 15160352,
"Source2Server001": 15159568,
"Source2ServerConfig001": 11595024,
"customnavsystem001": 8349376
"EmptyWorldService001_Server": 12384304,
"EntitySubclassUtilsV001": 9282080,
"NavGameTest001": 17923312,
"ServerToolsInfo_001": 15617376,
"Source2GameClients001": 15617280,
"Source2GameDirector001": 7571792,
"Source2GameEntities001": 15617264,
"Source2Server001": 15616512,
"Source2ServerConfig001": 11980416,
"customnavsystem001": 8806272
},
"libsoundsystem.so": {
"SoundOpSystem001": 1400400,
"SoundOpSystemEdit001": 709456,
"SoundSystem001": 1853680,
"VMixEditTool001": 2048768
"SoundOpSystem001": 1493248,
"SoundOpSystemEdit001": 743904,
"SoundSystem001": 1945152,
"VMixEditTool001": 2154288
},
"libsteamaudio.so": {
"SteamAudio001": 202128
"SteamAudio001": 651008
},
"libtier0.so": {
"TestScriptMgr001": 1840704,
"VEngineCvar007": 988160,
"VProcessUtils002": 1699952,
"VStringTokenSystem001": 2020896
"TestScriptMgr001": 1869984,
"VEngineCvar007": 991360,
"VProcessUtils002": 1726016,
"VStringTokenSystem001": 2063280
},
"libv8system.so": {
"Source2V8System001": 112176
"Source2V8System001": 112368
},
"libvphysics2.so": {
"VPhysics2_Handle_Interface_001": 794384,
"VPhysics2_Interface_001": 793344
"VPhysics2_Handle_Interface_001": 805472,
"VPhysics2_Interface_001": 804432
},
"libvscript.so": {
"VScriptManager010": 156208
"VScriptManager010": 156368
},
"libworldrenderer.so": {
"WorldRendererMgr001": 623280
"WorldRendererMgr001": 715904
},
"steamclient.so": {
"CLIENTENGINE_INTERFACE_VERSION005": 17981648,
"IVALIDATE001": 17966672,
"SteamClient006": 14526368,
"SteamClient007": 14526384,
"SteamClient008": 14526400,
"SteamClient009": 14526416,
"SteamClient010": 14526432,
"SteamClient011": 14526448,
"SteamClient012": 14526464,
"SteamClient013": 14526480,
"SteamClient014": 14526496,
"SteamClient015": 14526512,
"SteamClient016": 14526560,
"SteamClient017": 14526608,
"SteamClient018": 14526656,
"SteamClient019": 14526704,
"SteamClient020": 14526752,
"SteamClient021": 14526800,
"p2pvoice002": 24425344,
"p2pvoicesingleton002": 24396720
"CLIENTENGINE_INTERFACE_VERSION005": 18046240,
"IVALIDATE001": 18031120,
"SteamClient006": 14561680,
"SteamClient007": 14561696,
"SteamClient008": 14561712,
"SteamClient009": 14561728,
"SteamClient010": 14561744,
"SteamClient011": 14561760,
"SteamClient012": 14561776,
"SteamClient013": 14561792,
"SteamClient014": 14561808,
"SteamClient015": 14561824,
"SteamClient016": 14561872,
"SteamClient017": 14561920,
"SteamClient018": 14561968,
"SteamClient019": 14562016,
"SteamClient020": 14562064,
"SteamClient021": 14562112,
"p2pvoice002": 24548448,
"p2pvoicesingleton002": 24519824
}
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, unused)]
@ -7,218 +7,218 @@ pub mod cs2_dumper {
pub mod interfaces {
// Module: libanimationsystem.so
pub mod libanimationsystem_so {
pub const AnimationSystemUtils_001: usize = 0x18D410;
pub const AnimationSystem_001: usize = 0x18D200;
pub const AnimationSystemUtils_001: usize = 0x1A5100;
pub const AnimationSystem_001: usize = 0x1A4EF0;
}
// Module: libclient.so
pub mod libclient_so {
pub const ClientToolsInfo_001: usize = 0xD554B0;
pub const EmptyWorldService001_Client: usize = 0xA45EC0;
pub const GameClientExports001: usize = 0xD55150;
pub const LegacyGameUI001: usize = 0xF22360;
pub const Source2Client002: usize = 0xD551C0;
pub const Source2ClientConfig001: usize = 0xA29880;
pub const Source2ClientPrediction001: usize = 0xDE4BB0;
pub const Source2ClientUI001: usize = 0xEDE950;
pub const ClientToolsInfo_001: usize = 0xDCB700;
pub const EmptyWorldService001_Client: usize = 0xAA9D70;
pub const GameClientExports001: usize = 0xDCB2E0;
pub const LegacyGameUI001: usize = 0xFABEB0;
pub const Source2Client002: usize = 0xDCB340;
pub const Source2ClientConfig001: usize = 0xA94C50;
pub const Source2ClientPrediction001: usize = 0xE60E20;
pub const Source2ClientUI001: usize = 0xF63DD0;
}
// Module: libengine2.so
pub mod libengine2_so {
pub const BenchmarkService001: usize = 0x1E7A70;
pub const BugService001: usize = 0x1E3C70;
pub const ClientServerEngineLoopService_001: usize = 0x1B55C0;
pub const EngineGameUI001: usize = 0x378510;
pub const EngineServiceMgr001: usize = 0x1A5530;
pub const GameEventSystemClientV001: usize = 0x1AA5A0;
pub const GameEventSystemServerV001: usize = 0x1AA5B0;
pub const GameResourceServiceClientV001: usize = 0x1E93A0;
pub const GameResourceServiceServerV001: usize = 0x1E93B0;
pub const GameUIService_001: usize = 0x1F0EE0;
pub const HostStateMgr001: usize = 0x1B0120;
pub const INETSUPPORT_001: usize = 0x342200;
pub const InputService_001: usize = 0x1F54B0;
pub const KeyValueCache001: usize = 0x1B2A70;
pub const MapListService_001: usize = 0x2094B0;
pub const NetworkClientService_001: usize = 0x22FDF0;
pub const NetworkP2PService_001: usize = 0x246410;
pub const NetworkServerService_001: usize = 0x20D560;
pub const NetworkService_001: usize = 0x20CC80;
pub const RenderService_001: usize = 0x24B7D0;
pub const ScreenshotService001: usize = 0x24E3C0;
pub const SimpleEngineLoopService_001: usize = 0x1CA280;
pub const SoundService_001: usize = 0x2529E0;
pub const Source2EngineToClient001: usize = 0x2C9F40;
pub const Source2EngineToClientStringTable001: usize = 0x2A16A0;
pub const Source2EngineToServer001: usize = 0x2F0870;
pub const Source2EngineToServerStringTable001: usize = 0x2D3060;
pub const SplitScreenService_001: usize = 0x259D60;
pub const StatsService_001: usize = 0x25D4B0;
pub const ToolService_001: usize = 0x262730;
pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x377F90;
pub const VProfService_001: usize = 0x263EE0;
pub const BenchmarkService001: usize = 0x217CE0;
pub const BugService001: usize = 0x213EF0;
pub const ClientServerEngineLoopService_001: usize = 0x1E47A0;
pub const EngineGameUI001: usize = 0x3A69D0;
pub const EngineServiceMgr001: usize = 0x1D3A30;
pub const GameEventSystemClientV001: usize = 0x1D8D10;
pub const GameEventSystemServerV001: usize = 0x1D8D20;
pub const GameResourceServiceClientV001: usize = 0x219640;
pub const GameResourceServiceServerV001: usize = 0x219650;
pub const GameUIService_001: usize = 0x221210;
pub const HostStateMgr001: usize = 0x1DF2F0;
pub const INETSUPPORT_001: usize = 0x370BD0;
pub const InputService_001: usize = 0x2258B0;
pub const KeyValueCache001: usize = 0x1E1C40;
pub const MapListService_001: usize = 0x239E70;
pub const NetworkClientService_001: usize = 0x25CB80;
pub const NetworkP2PService_001: usize = 0x271E70;
pub const NetworkServerService_001: usize = 0x23DF20;
pub const NetworkService_001: usize = 0x23D640;
pub const RenderService_001: usize = 0x276F90;
pub const ScreenshotService001: usize = 0x279AD0;
pub const SimpleEngineLoopService_001: usize = 0x1F9FE0;
pub const SoundService_001: usize = 0x27DCD0;
pub const Source2EngineToClient001: usize = 0x2F7AB0;
pub const Source2EngineToClientStringTable001: usize = 0x2CE2A0;
pub const Source2EngineToServer001: usize = 0x31E3F0;
pub const Source2EngineToServerStringTable001: usize = 0x300C80;
pub const SplitScreenService_001: usize = 0x2852F0;
pub const StatsService_001: usize = 0x288E20;
pub const ToolService_001: usize = 0x28DF50;
pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x3A6450;
pub const VProfService_001: usize = 0x28F7D0;
}
// Module: libfilesystem_stdio.so
pub mod libfilesystem_stdio_so {
pub const VAsyncFileSystem2_001: usize = 0x80180;
pub const VFileSystem017: usize = 0x80170;
pub const VAsyncFileSystem2_001: usize = 0x7D990;
pub const VFileSystem017: usize = 0x7D980;
}
// Module: libhost.so
pub mod libhost_so {
pub const DebugDrawQueueManager001: usize = 0xC2C70;
pub const GameModelInfo001: usize = 0xBD8F0;
pub const GameSystem2HostHook: usize = 0xBE030;
pub const HostUtils001: usize = 0xBE4B0;
pub const PredictionDiffManager001: usize = 0xBF440;
pub const SaveRestoreDataVersion001: usize = 0xC17B0;
pub const SinglePlayerSharedMemory001: usize = 0xC1A70;
pub const Source2Host001: usize = 0xC21D0;
pub const DebugDrawQueueManager001: usize = 0xC5690;
pub const GameModelInfo001: usize = 0xC0690;
pub const GameSystem2HostHook: usize = 0xC0DD0;
pub const HostUtils001: usize = 0xC1250;
pub const PredictionDiffManager001: usize = 0xC21D0;
pub const SaveRestoreDataVersion001: usize = 0xC41D0;
pub const SinglePlayerSharedMemory001: usize = 0xC4490;
pub const Source2Host001: usize = 0xC4BF0;
}
// Module: libinputsystem.so
pub mod libinputsystem_so {
pub const InputStackSystemVersion001: usize = 0x11840;
pub const InputSystemVersion001: usize = 0x12D30;
pub const InputStackSystemVersion001: usize = 0x11860;
pub const InputSystemVersion001: usize = 0x12D50;
}
// Module: liblocalize.so
pub mod liblocalize_so {
pub const Localize_001: usize = 0x1DB00;
pub const Localize_001: usize = 0x1DBB0;
}
// Module: libmatchmaking.so
pub mod libmatchmaking_so {
pub const GameTypes001: usize = 0x130050;
pub const MATCHFRAMEWORK_001: usize = 0x2045D0;
pub const GameTypes001: usize = 0xF57E0;
pub const MATCHFRAMEWORK_001: usize = 0x1CA5D0;
}
// Module: libmaterialsystem2.so
pub mod libmaterialsystem2_so {
pub const FontManager_001: usize = 0x7A2D0;
pub const MaterialUtils_001: usize = 0x64B10;
pub const PostProcessingSystem_001: usize = 0x89C00;
pub const TextLayout_001: usize = 0x87190;
pub const VMaterialSystem2_001: usize = 0x2C750;
pub const FontManager_001: usize = 0x7B1E0;
pub const MaterialUtils_001: usize = 0x65BB0;
pub const PostProcessingSystem_001: usize = 0x8A6A0;
pub const TextLayout_001: usize = 0x87C30;
pub const VMaterialSystem2_001: usize = 0x2C800;
}
// Module: libmeshsystem.so
pub mod libmeshsystem_so {
pub const MeshSystem001: usize = 0x94810;
pub const MeshSystem001: usize = 0x97530;
}
// Module: libnetworksystem.so
pub mod libnetworksystem_so {
pub const FlattenedSerializersVersion001: usize = 0x159440;
pub const NetworkMessagesVersion001: usize = 0x180B70;
pub const NetworkSystemVersion001: usize = 0x1A9CE0;
pub const SerializedEntitiesVersion001: usize = 0x1C2750;
pub const FlattenedSerializersVersion001: usize = 0x163840;
pub const NetworkMessagesVersion001: usize = 0x18AB70;
pub const NetworkSystemVersion001: usize = 0x1B4C70;
pub const SerializedEntitiesVersion001: usize = 0x1CD7C0;
}
// Module: libpanorama.so
pub mod libpanorama_so {
pub const PanoramaUIEngine001: usize = 0x220BD0;
pub const PanoramaUIEngine001: usize = 0x230A10;
}
// Module: libpanorama_text_pango.so
pub mod libpanorama_text_pango_so {
pub const PanoramaTextServices001: usize = 0xBC530;
pub const PanoramaTextServices001: usize = 0xBBAD0;
}
// Module: libpanoramauiclient.so
pub mod libpanoramauiclient_so {
pub const PanoramaUIClient001: usize = 0x109AB0;
pub const PanoramaUIClient001: usize = 0x109990;
}
// Module: libparticles.so
pub mod libparticles_so {
pub const ParticleSystemMgr003: usize = 0x1EBE60;
pub const ParticleSystemMgr003: usize = 0x20C940;
}
// Module: libpulse_system.so
pub mod libpulse_system_so {
pub const IPulseSystem_001: usize = 0x357B0;
pub const IPulseSystem_001: usize = 0x3F270;
}
// Module: librendersystemvulkan.so
pub mod librendersystemvulkan_so {
pub const RenderDeviceMgr001: usize = 0x1854C0;
pub const RenderUtils_001: usize = 0x101D10;
pub const RenderDeviceMgr001: usize = 0x147920;
pub const RenderUtils_001: usize = 0xCB4C0;
}
// Module: libresourcesystem.so
pub mod libresourcesystem_so {
pub const ResourceSystem013: usize = 0x30A90;
pub const ResourceSystem013: usize = 0x30E70;
}
// Module: libscenefilecache.so
pub mod libscenefilecache_so {
pub const ResponseRulesCache001: usize = 0x88E40;
pub const SceneFileCache002: usize = 0x85B10;
pub const ResponseRulesCache001: usize = 0x89070;
pub const SceneFileCache002: usize = 0x85D30;
}
// Module: libscenesystem.so
pub mod libscenesystem_so {
pub const RenderingPipelines_001: usize = 0x120E40;
pub const SceneSystem_002: usize = 0x164320;
pub const SceneUtils_001: usize = 0x1E0AE0;
pub const RenderingPipelines_001: usize = 0x137330;
pub const SceneSystem_002: usize = 0x17AC60;
pub const SceneUtils_001: usize = 0x1F5330;
}
// Module: libschemasystem.so
pub mod libschemasystem_so {
pub const SchemaSystem_001: usize = 0x211F0;
pub const SchemaSystem_001: usize = 0x202A0;
}
// Module: libserver.so
pub mod libserver_so {
pub const EmptyWorldService001_Server: usize = 0xB82750;
pub const EntitySubclassUtilsV001: usize = 0x85F670;
pub const NavGameTest001: usize = 0x10974F0;
pub const ServerToolsInfo_001: usize = 0xE754A0;
pub const Source2GameClients001: usize = 0xE75430;
pub const Source2GameDirector001: usize = 0x6C5770;
pub const Source2GameEntities001: usize = 0xE75420;
pub const Source2Server001: usize = 0xE75110;
pub const Source2ServerConfig001: usize = 0xB0ED10;
pub const customnavsystem001: usize = 0x7F66C0;
pub const EmptyWorldService001_Server: usize = 0xBCF830;
pub const EntitySubclassUtilsV001: usize = 0x8DA220;
pub const NavGameTest001: usize = 0x1117CF0;
pub const ServerToolsInfo_001: usize = 0xEE4D60;
pub const Source2GameClients001: usize = 0xEE4D00;
pub const Source2GameDirector001: usize = 0x738950;
pub const Source2GameEntities001: usize = 0xEE4CF0;
pub const Source2Server001: usize = 0xEE4A00;
pub const Source2ServerConfig001: usize = 0xB6CE80;
pub const customnavsystem001: usize = 0x865F80;
}
// Module: libsoundsystem.so
pub mod libsoundsystem_so {
pub const SoundOpSystem001: usize = 0x155E50;
pub const SoundOpSystemEdit001: usize = 0xAD350;
pub const SoundSystem001: usize = 0x1C48F0;
pub const VMixEditTool001: usize = 0x1F4300;
pub const SoundOpSystem001: usize = 0x16C900;
pub const SoundOpSystemEdit001: usize = 0xB59E0;
pub const SoundSystem001: usize = 0x1DAE40;
pub const VMixEditTool001: usize = 0x20DF30;
}
// Module: libsteamaudio.so
pub mod libsteamaudio_so {
pub const SteamAudio001: usize = 0x31590;
pub const SteamAudio001: usize = 0x9EF00;
}
// Module: libtier0.so
pub mod libtier0_so {
pub const TestScriptMgr001: usize = 0x1C1640;
pub const VEngineCvar007: usize = 0xF1400;
pub const VProcessUtils002: usize = 0x19F070;
pub const VStringTokenSystem001: usize = 0x1ED620;
pub const TestScriptMgr001: usize = 0x1C88A0;
pub const VEngineCvar007: usize = 0xF2080;
pub const VProcessUtils002: usize = 0x1A5640;
pub const VStringTokenSystem001: usize = 0x1F7BB0;
}
// Module: libv8system.so
pub mod libv8system_so {
pub const Source2V8System001: usize = 0x1B630;
pub const Source2V8System001: usize = 0x1B6F0;
}
// Module: libvphysics2.so
pub mod libvphysics2_so {
pub const VPhysics2_Handle_Interface_001: usize = 0xC1F10;
pub const VPhysics2_Interface_001: usize = 0xC1B00;
pub const VPhysics2_Handle_Interface_001: usize = 0xC4A60;
pub const VPhysics2_Interface_001: usize = 0xC4650;
}
// Module: libvscript.so
pub mod libvscript_so {
pub const VScriptManager010: usize = 0x26230;
pub const VScriptManager010: usize = 0x262D0;
}
// Module: libworldrenderer.so
pub mod libworldrenderer_so {
pub const WorldRendererMgr001: usize = 0x982B0;
pub const WorldRendererMgr001: usize = 0xAEC80;
}
// Module: steamclient.so
pub mod steamclient_so {
pub const CLIENTENGINE_INTERFACE_VERSION005: usize = 0x11260D0;
pub const IVALIDATE001: usize = 0x1122650;
pub const SteamClient006: usize = 0xDDA7A0;
pub const SteamClient007: usize = 0xDDA7B0;
pub const SteamClient008: usize = 0xDDA7C0;
pub const SteamClient009: usize = 0xDDA7D0;
pub const SteamClient010: usize = 0xDDA7E0;
pub const SteamClient011: usize = 0xDDA7F0;
pub const SteamClient012: usize = 0xDDA800;
pub const SteamClient013: usize = 0xDDA810;
pub const SteamClient014: usize = 0xDDA820;
pub const SteamClient015: usize = 0xDDA830;
pub const SteamClient016: usize = 0xDDA860;
pub const SteamClient017: usize = 0xDDA890;
pub const SteamClient018: usize = 0xDDA8C0;
pub const SteamClient019: usize = 0xDDA8F0;
pub const SteamClient020: usize = 0xDDA920;
pub const SteamClient021: usize = 0xDDA950;
pub const p2pvoice002: usize = 0x174B380;
pub const p2pvoicesingleton002: usize = 0x17443B0;
pub const CLIENTENGINE_INTERFACE_VERSION005: usize = 0x1135D20;
pub const IVALIDATE001: usize = 0x1132210;
pub const SteamClient006: usize = 0xDE3190;
pub const SteamClient007: usize = 0xDE31A0;
pub const SteamClient008: usize = 0xDE31B0;
pub const SteamClient009: usize = 0xDE31C0;
pub const SteamClient010: usize = 0xDE31D0;
pub const SteamClient011: usize = 0xDE31E0;
pub const SteamClient012: usize = 0xDE31F0;
pub const SteamClient013: usize = 0xDE3200;
pub const SteamClient014: usize = 0xDE3210;
pub const SteamClient015: usize = 0xDE3220;
pub const SteamClient016: usize = 0xDE3250;
pub const SteamClient017: usize = 0xDE3280;
pub const SteamClient018: usize = 0xDE32B0;
pub const SteamClient019: usize = 0xDE32E0;
pub const SteamClient020: usize = 0xDE3310;
pub const SteamClient021: usize = 0xDE3340;
pub const p2pvoice002: usize = 0x1769460;
pub const p2pvoicesingleton002: usize = 0x1762490;
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libengine2.so
@ -125,10 +125,6 @@ namespace CS2Dumper.Schemas {
public const nint m_nCount = 0x0; // int32
}
// Parent: None
// Fields count: 0
public static class EventClientPredictionPostNetupdate_t {
}
// Parent: None
// Fields count: 3
public static class EventClientProcessGameInput_t {
public const nint m_LoopState = 0x0; // EngineLoopState_t
@ -215,7 +211,7 @@ namespace CS2Dumper.Schemas {
public const nint m_LoopState = 0x0; // EngineLoopState_t
public const nint m_flRealTime = 0x28; // float32
public const nint m_flFrameTime = 0x2C; // float32
public const nint m_flWhenScheduleSendTickPacket = 0x30; // float64
public const nint m_bScheduleSendTickPacket = 0x30; // bool
}
// Parent: EventAdvanceTick_t
// Fields count: 0
@ -244,6 +240,10 @@ namespace CS2Dumper.Schemas {
public const nint m_bFirstTick = 0x28; // bool
public const nint m_bLastTick = 0x29; // bool
}
// Parent: None
// Fields count: 0
public static class EventClientAdvanceNonRenderedFrame_t {
}
// Parent: EventSimulate_t
// Fields count: 0
public static class EventServerProcessNetworking_t {

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -130,10 +130,6 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nCount = 0x0; // int32
}
// Parent: None
// Fields count: 0
namespace EventClientPredictionPostNetupdate_t {
}
// Parent: None
// Fields count: 3
namespace EventClientProcessGameInput_t {
constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
@ -220,7 +216,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32
constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // float32
constexpr std::ptrdiff_t m_flWhenScheduleSendTickPacket = 0x30; // float64
constexpr std::ptrdiff_t m_bScheduleSendTickPacket = 0x30; // bool
}
// Parent: EventAdvanceTick_t
// Fields count: 0
@ -249,6 +245,10 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_bFirstTick = 0x28; // bool
constexpr std::ptrdiff_t m_bLastTick = 0x29; // bool
}
// Parent: None
// Fields count: 0
namespace EventClientAdvanceNonRenderedFrame_t {
}
// Parent: EventSimulate_t
// Fields count: 0
namespace EventServerProcessNetworking_t {

View File

@ -85,6 +85,11 @@
"metadata": [],
"parent": null
},
"EventClientAdvanceNonRenderedFrame_t": {
"fields": {},
"metadata": [],
"parent": null
},
"EventClientAdvanceTick_t": {
"fields": {},
"metadata": [],
@ -93,9 +98,9 @@
"EventClientFrameSimulate_t": {
"fields": {
"m_LoopState": 0,
"m_bScheduleSendTickPacket": 48,
"m_flFrameTime": 44,
"m_flRealTime": 40,
"m_flWhenScheduleSendTickPacket": 48
"m_flRealTime": 40
},
"metadata": [],
"parent": null
@ -169,11 +174,6 @@
"metadata": [],
"parent": "EventSimulate_t"
},
"EventClientPredictionPostNetupdate_t": {
"fields": {},
"metadata": [],
"parent": null
},
"EventClientProcessGameInput_t": {
"fields": {
"m_LoopState": 0,

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
@ -132,10 +132,6 @@ pub mod cs2_dumper {
pub const m_nCount: usize = 0x0; // int32
}
// Parent: None
// Fields count: 0
pub mod EventClientPredictionPostNetupdate_t {
}
// Parent: None
// Fields count: 3
pub mod EventClientProcessGameInput_t {
pub const m_LoopState: usize = 0x0; // EngineLoopState_t
@ -222,7 +218,7 @@ pub mod cs2_dumper {
pub const m_LoopState: usize = 0x0; // EngineLoopState_t
pub const m_flRealTime: usize = 0x28; // float32
pub const m_flFrameTime: usize = 0x2C; // float32
pub const m_flWhenScheduleSendTickPacket: usize = 0x30; // float64
pub const m_bScheduleSendTickPacket: usize = 0x30; // bool
}
// Parent: EventAdvanceTick_t
// Fields count: 0
@ -251,6 +247,10 @@ pub mod cs2_dumper {
pub const m_bFirstTick: usize = 0x28; // bool
pub const m_bLastTick: usize = 0x29; // bool
}
// Parent: None
// Fields count: 0
pub mod EventClientAdvanceNonRenderedFrame_t {
}
// Parent: EventSimulate_t
// Fields count: 0
pub mod EventServerProcessNetworking_t {

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libhost.so

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libmaterialsystem2.so

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libnetworksystem.so

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libpanorama.so
@ -24,7 +24,7 @@ namespace CS2Dumper.Schemas {
REFERENCE_PASSTHROUGH = 0xC
}
// Alignment: 4
// Members count: 15
// Members count: 16
public enum EStyleNodeType : uint {
ROOT = 0x0,
EXPRESSION = 0x1,
@ -40,7 +40,8 @@ namespace CS2Dumper.Schemas {
EXPRESSION_CONCAT = 0xB,
REFERENCE_CONTENT = 0xC,
REFERENCE_COMPILED = 0xD,
REFERENCE_PASSTHROUGH = 0xE
REFERENCE_PASSTHROUGH = 0xE,
COMPILER_CONDITIONAL = 0xF
}
}
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -29,7 +29,7 @@ namespace cs2_dumper {
REFERENCE_PASSTHROUGH = 0xC
};
// Alignment: 4
// Members count: 15
// Members count: 16
enum class EStyleNodeType : uint32_t {
ROOT = 0x0,
EXPRESSION = 0x1,
@ -45,7 +45,8 @@ namespace cs2_dumper {
EXPRESSION_CONCAT = 0xB,
REFERENCE_CONTENT = 0xC,
REFERENCE_COMPILED = 0xD,
REFERENCE_PASSTHROUGH = 0xE
REFERENCE_PASSTHROUGH = 0xE,
COMPILER_CONDITIONAL = 0xF
};
}
}

View File

@ -24,6 +24,7 @@
"EStyleNodeType": {
"alignment": 4,
"members": {
"COMPILER_CONDITIONAL": 15,
"DEFINE": 3,
"EXPRESSION": 1,
"EXPRESSION_CONCAT": 11,

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
@ -28,7 +28,7 @@ pub mod cs2_dumper {
REFERENCE_PASSTHROUGH = 0xC
}
// Alignment: 4
// Members count: 15
// Members count: 16
#[repr(u32)]
pub enum EStyleNodeType {
ROOT = 0x0,
@ -45,7 +45,8 @@ pub mod cs2_dumper {
EXPRESSION_CONCAT = 0xB,
REFERENCE_CONTENT = 0xC,
REFERENCE_COMPILED = 0xD,
REFERENCE_PASSTHROUGH = 0xE
REFERENCE_PASSTHROUGH = 0xE,
COMPILER_CONDITIONAL = 0xF
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,21 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libpulse_system.so
// Classes count: 85
// Enums count: 7
// Classes count: 108
// Enums count: 9
public static class LibpulseSystemSo {
// Alignment: 4
// Members count: 6
public enum EPulseGraphExecutionHistoryFlag : uint {
NO_FLAGS = 0x0,
CURSOR_ADD_TAG = 0x1,
CURSOR_REMOVE_TAG = 0x2,
CURSOR_RETIRED = 0x4,
REQUIREMENT_PASS = 0x8,
REQUIREMENT_FAIL = 0x10
}
// Alignment: 4
// Members count: 3
public enum PulseTestEnumShape_t : uint {
@ -20,14 +30,15 @@ namespace CS2Dumper.Schemas {
ASYNC_FIRE_AND_FORGET = 0x1
}
// Alignment: 4
// Members count: 3
// Members count: 4
public enum PulseCursorExecResult_t : uint {
Succeeded = 0x0,
Canceled = 0x1,
Failed = 0x2
Failed = 0x2,
OngoingNotify = 0x3
}
// Alignment: 4
// Members count: 19
// Members count: 20
public enum PulseValueType_t : uint {
PVAL_INVALID = 0xFFFFFFFFFFFFFFFF,
PVAL_BOOL = 0x0,
@ -41,16 +52,17 @@ namespace CS2Dumper.Schemas {
PVAL_RESOURCE = 0x8,
PVAL_SNDEVT_GUID = 0x9,
PVAL_ENTITY_NAME = 0xA,
PVAL_SCHEMA_PTR = 0xB,
PVAL_OPAQUE_HANDLE = 0xB,
PVAL_TYPESAFE_INT = 0xC,
PVAL_CURSOR_FLOW = 0xD,
PVAL_ANY = 0xE,
PVAL_SCHEMA_ENUM = 0xF,
PVAL_PANORAMA_PANEL_HANDLE = 0x10,
PVAL_COUNT = 0x11
PVAL_TEST_HANDLE = 0x11,
PVAL_COUNT = 0x12
}
// Alignment: 2
// Members count: 61
// Members count: 73
public enum PulseInstructionCode_t : ushort {
INVALID = 0x0,
IMMEDIATE_HALT = 0x1,
@ -68,7 +80,7 @@ namespace CS2Dumper.Schemas {
SET_VAR = 0xD,
GET_VAR = 0xE,
GET_CONST = 0xF,
SET_REGISTER_DOMAIN_VALUE = 0x10,
GET_DOMAIN_VALUE = 0x10,
COPY = 0x11,
NOT = 0x12,
NEGATE = 0x13,
@ -84,35 +96,47 @@ namespace CS2Dumper.Schemas {
AND = 0x1D,
OR = 0x1E,
CONVERT_VALUE = 0x1F,
LAST_SERIALIZED_CODE = 0x20,
NEGATE_INT = 0x21,
NEGATE_FLOAT = 0x22,
ADD_INT = 0x23,
ADD_FLOAT = 0x24,
ADD_STRING = 0x25,
SUB_INT = 0x26,
SUB_FLOAT = 0x27,
MUL_INT = 0x28,
MUL_FLOAT = 0x29,
DIV_INT = 0x2A,
DIV_FLOAT = 0x2B,
MOD_INT = 0x2C,
MOD_FLOAT = 0x2D,
LT_INT = 0x2E,
LT_FLOAT = 0x2F,
LTE_INT = 0x30,
LTE_FLOAT = 0x31,
EQ_BOOL = 0x32,
EQ_INT = 0x33,
EQ_FLOAT = 0x34,
EQ_STRING = 0x35,
EQ_ENTITY_NAME = 0x36,
NE_BOOL = 0x37,
NE_INT = 0x38,
NE_FLOAT = 0x39,
NE_STRING = 0x3A,
NE_ENTITY_NAME = 0x3B,
GET_CONST_INLINE_STORAGE = 0x3C
REINTERPRET_INSTANCE = 0x20,
GET_BLACKBOARD_REFERENCE = 0x21,
SET_BLACKBOARD_REFERENCE = 0x22,
REQUIREMENT_RESULT = 0x23,
LAST_SERIALIZED_CODE = 0x24,
NEGATE_INT = 0x25,
NEGATE_FLOAT = 0x26,
ADD_INT = 0x27,
ADD_FLOAT = 0x28,
ADD_STRING = 0x29,
SUB_INT = 0x2A,
SUB_FLOAT = 0x2B,
MUL_INT = 0x2C,
MUL_FLOAT = 0x2D,
DIV_INT = 0x2E,
DIV_FLOAT = 0x2F,
MOD_INT = 0x30,
MOD_FLOAT = 0x31,
LT_INT = 0x32,
LT_FLOAT = 0x33,
LTE_INT = 0x34,
LTE_FLOAT = 0x35,
EQ_BOOL = 0x36,
EQ_INT = 0x37,
EQ_FLOAT = 0x38,
EQ_STRING = 0x39,
EQ_ENTITY_NAME = 0x3A,
EQ_EHANDLE = 0x3B,
EQ_PANEL_HANDLE = 0x3C,
EQ_OPAQUE_HANDLE = 0x3D,
EQ_TEST_HANDLE = 0x3E,
NE_BOOL = 0x3F,
NE_INT = 0x40,
NE_FLOAT = 0x41,
NE_STRING = 0x42,
NE_ENTITY_NAME = 0x43,
NE_EHANDLE = 0x44,
NE_PANEL_HANDLE = 0x45,
NE_OPAQUE_HANDLE = 0x46,
NE_TEST_HANDLE = 0x47,
GET_CONST_INLINE_STORAGE = 0x48
}
// Alignment: 4
// Members count: 5
@ -131,6 +155,14 @@ namespace CS2Dumper.Schemas {
SoftCancel = 0x2,
HardCancel = 0x3
}
// Alignment: 4
// Members count: 4
public enum PulseDomainValueType_t : uint {
INVALID = 0xFFFFFFFFFFFFFFFF,
ENTITY_NAME = 0x0,
PANEL_ID = 0x1,
COUNT = 0x2
}
// Parent: CPulseCell_BaseFlow
// Fields count: 1
//
@ -138,6 +170,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Step_PublicOutput {
public const nint m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t
}
@ -148,6 +181,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
public static class CPulseCell_Val_TestDomainFindEntityByName {
}
@ -166,9 +200,22 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
public static class CPulseCell_Step_TestDomainDestroyFakeEntity {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Test_MultiOutflow_WithParams {
public const nint m_Out1 = 0x48; // SignatureOutflow_Continue
public const nint m_Out2 = 0x78; // SignatureOutflow_Continue
}
// Parent: None
// Fields count: 1
public static class PulseRuntimeVarIndex_t {
@ -180,6 +227,11 @@ namespace CS2Dumper.Schemas {
public const nint m_Value = 0x0; // int32
}
// Parent: None
// Fields count: 1
public static class PulseRuntimeDomainValueIndex_t {
public const nint m_Value = 0x0; // int16
}
// Parent: None
// Fields count: 3
//
// Metadata:
@ -236,14 +288,12 @@ namespace CS2Dumper.Schemas {
public const nint m_EventOutflow = 0x8; // CPulse_OutflowConnection
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// Fields count: 4
public static class CPulse_OutflowConnection {
public const nint m_SourceOutflowName = 0x0; // CUtlSymbolLarge
public const nint m_nDestChunk = 0x8; // PulseRuntimeChunkIndex_t
public const nint m_nInstruction = 0xC; // int32
public const nint m_OutflowRegisterMap = 0x10; // PulseRegisterMap_t
}
// Parent: None
// Fields count: 1
@ -266,6 +316,14 @@ namespace CS2Dumper.Schemas {
public const nint m_nEditorNodeID = 0x8; // PulseDocNodeID_t
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
public const nint nTestStep = 0x0; // int32
}
// Parent: None
// Fields count: 0
//
// Metadata:
@ -273,6 +331,18 @@ namespace CS2Dumper.Schemas {
// MPropertyDescription
public static class CPulseTestFuncs_DerivedDomain {
}
// Parent: None
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
public static class PulseGraphExecutionHistoryCursorDesc_t {
public const nint vecAncestorCursorIDs = 0x0; // CUtlVector<PulseCursorID_t>
public const nint nSpawnNodeID = 0x18; // PulseDocNodeID_t
public const nint nRetiredAtNodeID = 0x1C; // PulseDocNodeID_t
public const nint flLastReferenced = 0x20; // float32
public const nint nLastValidEntryIdx = 0x24; // int32
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1
//
@ -280,6 +350,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_Yield {
public const nint m_UnyieldResume = 0x48; // CPulse_ResumePoint
}
@ -290,6 +361,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_GraphHook {
public const nint m_HookName = 0x70; // CUtlSymbolLarge
}
@ -300,6 +372,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
@ -312,8 +385,8 @@ namespace CS2Dumper.Schemas {
// Metadata:
// MPulseLibraryBindings
public static class CTestDomainDerived_Cursor {
public const nint m_nCursorValueA = 0x164; // int32
public const nint m_nCursorValueB = 0x168; // int32
public const nint m_nCursorValueA = 0xA0; // int32
public const nint m_nCursorValueB = 0xA4; // int32
}
// Parent: None
// Fields count: 2
@ -331,11 +404,27 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
public static class CPulseCell_CursorQueue {
public const nint m_nCursorsAllowedToRunParallel = 0x60; // int32
public const nint m_nCursorsAllowedToRunParallel = 0x80; // int32
}
// Parent: CPulseCell_Base
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulseCell_BaseRequirement {
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
public static class PulseNodeDynamicOutflows_t {
public const nint m_Outflows = 0x0; // CUtlVector<PulseNodeDynamicOutflows_t::DynamicOutflow_t>
}
// Parent: CPulseCell_BaseValue
// Fields count: 0
@ -344,6 +433,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
public static class CPulseCell_Value_TestValue50 {
@ -355,8 +445,16 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Test_MultiInflow_WithDefault {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGapTypeQueriesForScopeSingleton
public static class CPulseTestGapTypeQueryRegistration {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
@ -364,9 +462,10 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_StringSwitch {
public const nint m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection
public const nint m_CaseOutflows = 0x58; // CUtlVector<CPulse_OutflowConnection>
public const nint m_CaseOutflows = 0x78; // CUtlVector<CPulse_OutflowConnection>
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -375,12 +474,22 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Test_NoInflow {
}
// Parent: None
// Fields count: 1
public static class PulseTestEHandle_t {
public const nint m_Value = 0x0; // uint32
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_FireCursors {
public const nint m_Outflows = 0x48; // CUtlVector<CPulse_OutflowConnection>
public const nint m_bWaitForChildOutflows = 0x60; // bool
public const nint m_OnFinished = 0x68; // CPulse_ResumePoint
public const nint m_OnCanceled = 0x98; // CPulse_ResumePoint
}
// Parent: None
// Fields count: 2
@ -400,9 +509,6 @@ namespace CS2Dumper.Schemas {
}
// Parent: CPulse_OutflowConnection
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulse_ResumePoint {
}
// Parent: CPulseCell_BaseFlow
@ -412,6 +518,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_CycleRandom {
public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -422,10 +529,20 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_EventHandler {
public const nint m_EventName = 0x70; // CUtlSymbolLarge
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulseCell_BaseLerp__CursorState_t {
public const nint m_StartTime = 0x0; // GameTime_t
public const nint m_EndTime = 0x4; // GameTime_t
}
// Parent: None
// Fields count: 3
//
// Metadata:
@ -450,11 +567,12 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Timeline {
public const nint m_TimelineEvents = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t>
public const nint m_bWaitForChildOutflows = 0x60; // bool
public const nint m_OnFinished = 0x68; // CPulse_ResumePoint
public const nint m_OnCanceled = 0x78; // CPulse_ResumePoint
public const nint m_OnCanceled = 0x98; // CPulse_ResumePoint
}
// Parent: None
// Fields count: 4
@ -467,6 +585,33 @@ namespace CS2Dumper.Schemas {
public const nint m_TargetInput = 0x10; // CUtlSymbolLarge
public const nint m_Param = 0x18; // CUtlSymbolLarge
}
// Parent: CPulseCell_BaseRequirement
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseRequirementPass
public static class CPulseCell_LimitCount {
public const nint m_nLimitCount = 0x48; // int32
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class PulseGraphExecutionHistoryNodeDesc_t {
public const nint strCellDesc = 0x0; // CBufferString
public const nint strBindingName = 0x10; // CUtlSymbolLarge
}
// Parent: CPulse_ResumePoint
// Fields count: 0
public static class SignatureOutflow_Resume {
}
// Parent: None
// Fields count: 0
//
@ -476,15 +621,17 @@ namespace CS2Dumper.Schemas {
public static class FakeEntity_tAPI {
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Step_CallExternalMethod {
public const nint m_MethodName = 0x48; // CUtlSymbolLarge
public const nint m_ExpectedArgs = 0x50; // CUtlVector<CPulseRuntimeMethodArg>
public const nint m_GameBlackboard = 0x50; // CUtlSymbolLarge
public const nint m_ExpectedArgs = 0x58; // CUtlLeanVector<CPulseRuntimeMethodArg>
public const nint m_nAsyncCallMode = 0x68; // PulseMethodCallMode_t
public const nint m_OnFinished = 0x70; // CPulse_ResumePoint
}
@ -493,6 +640,7 @@ namespace CS2Dumper.Schemas {
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
public static class CPulseGraphInstance_TurtleGraphics {
}
@ -504,20 +652,33 @@ namespace CS2Dumper.Schemas {
public static class CPulseCell_BaseFlow {
}
// Parent: None
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
public static class PulseGraphExecutionHistoryEntry_t {
public const nint nCursorID = 0x0; // PulseCursorID_t
public const nint nEditorID = 0x4; // PulseDocNodeID_t
public const nint flExecTime = 0x8; // float32
public const nint unFlags = 0xC; // uint32
public const nint tagName = 0x10; // CUtlSymbolLarge
}
// Parent: None
// Fields count: 1
public static class PulseCursorYieldToken_t {
public const nint m_Value = 0x0; // int32
}
// Parent: None
// Fields count: 7
public static class FakeEntity_t {
public const nint m_nHandle = 0x0; // PulseTestEHandle_t
public const nint m_Name = 0x8; // CUtlString
public const nint m_Class = 0x10; // CUtlString
public const nint m_bDestroyed = 0x18; // bool
public const nint m_pAssociatedGraphInstance = 0x20; // CPulseGraphInstance_TestDomain*
public const nint m_bFuncWasCalled = 0x28; // bool
public const nint m_fValue = 0x2C; // float32
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulseGraphExecutionHistory {
public const nint m_nInstanceID = 0x0; // PulseGraphInstanceID_t
public const nint m_strFileName = 0x8; // CUtlString
public const nint m_vecHistory = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
public const nint m_mapCellDesc = 0x28; // CUtlOrderedMap<PulseDocNodeID_t,PulseGraphExecutionHistoryNodeDesc_t*>
public const nint m_mapCursorDesc = 0x50; // CUtlOrderedMap<PulseCursorID_t,PulseGraphExecutionHistoryCursorDesc_t*>
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 3
@ -526,10 +687,22 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_TestWaitWithCursorState {
public const nint m_WakeResume = 0x48; // CPulse_ResumePoint
public const nint m_WakeCancel = 0x58; // CPulse_ResumePoint
public const nint m_WakeFail = 0x68; // CPulse_ResumePoint
public const nint m_WakeCancel = 0x78; // CPulse_ResumePoint
public const nint m_WakeFail = 0xA8; // CPulse_ResumePoint
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_ObservableVariableListener {
public const nint m_BlackboardReference = 0x70; // CPulse_BlackboardReference
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -539,7 +712,7 @@ namespace CS2Dumper.Schemas {
public static class CPulseCell_BaseYieldingInflow {
}
// Parent: None
// Fields count: 11
// Fields count: 12
//
// Metadata:
// MGetKV3ClassDefaults
@ -554,7 +727,8 @@ namespace CS2Dumper.Schemas {
public const nint m_nDestInstruction = 0x18; // int32
public const nint m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t
public const nint m_nConstIdx = 0x20; // PulseRuntimeConstantIndex_t
public const nint m_DomainValue = 0x28; // CBufferString
public const nint m_nDomainValueIdx = 0x22; // PulseRuntimeDomainValueIndex_t
public const nint m_nBlackboardReferenceIdx = 0x24; // PulseRuntimeBlackboardReferenceIndex_t
}
// Parent: None
// Fields count: 5
@ -569,7 +743,7 @@ namespace CS2Dumper.Schemas {
public const nint m_nSrcInstruction = 0x30; // int32
}
// Parent: None
// Fields count: 5
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
@ -579,6 +753,8 @@ namespace CS2Dumper.Schemas {
public const nint m_Type = 0x10; // CPulseValueFullType
public const nint m_DefaultValue = 0x20; // KeyValues3
public const nint m_bIsPublic = 0x32; // bool
public const nint m_bIsObservable = 0x33; // bool
public const nint m_nEditorNodeID = 0x34; // PulseDocNodeID_t
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 5
@ -587,27 +763,46 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_Method {
public const nint m_MethodName = 0x70; // CUtlSymbolLarge
public const nint m_Description = 0x78; // CUtlString
public const nint m_bIsPublic = 0x80; // bool
public const nint m_ReturnType = 0x88; // CPulseValueFullType
public const nint m_Args = 0x98; // CUtlVector<CPulseRuntimeMethodArg>
public const nint m_Args = 0x98; // CUtlLeanVector<CPulseRuntimeMethodArg>
}
// Parent: CBasePulseGraphInstance
// Fields count: 6
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
// MPulseDomainOptInFeatureTag
public static class CPulseGraphInstance_TestDomain {
public const nint m_bIsRunningUnitTests = 0xD8; // bool
public const nint m_bExplicitTimeStepping = 0xD9; // bool
public const nint m_bExpectingToDestroyWithYieldedCursors = 0xDA; // bool
public const nint m_nNextValidateIndex = 0xDC; // int32
public const nint m_Tracepoints = 0xE0; // CUtlVector<CUtlString>
public const nint m_bTestYesOrNoPath = 0xF8; // bool
public const nint m_bIsRunningUnitTests = 0xF8; // bool
public const nint m_bExplicitTimeStepping = 0xF9; // bool
public const nint m_bExpectingToDestroyWithYieldedCursors = 0xFA; // bool
public const nint m_nNextValidateIndex = 0xFC; // int32
public const nint m_Tracepoints = 0x100; // CUtlVector<CUtlString>
public const nint m_bTestYesOrNoPath = 0x118; // bool
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
public static class FakeEntityDerivedB_tAPI {
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class PulseNodeDynamicOutflows_t__DynamicOutflow_t {
public const nint m_OutflowID = 0x0; // CGlobalSymbol
public const nint m_Connection = 0x8; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 1
@ -616,6 +811,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_CycleShuffled {
public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -638,6 +834,16 @@ namespace CS2Dumper.Schemas {
public const nint flWaitValue = 0x0; // float32
public const nint bFailOnCancel = 0x4; // bool
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulse_DomainValue {
public const nint m_nType = 0x0; // PulseDomainValueType_t
public const nint m_Value = 0x8; // CGlobalSymbol
public const nint m_ExpectedRuntimeType = 0x10; // CGlobalSymbol
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
//
@ -645,6 +851,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
public static class CPulseCell_Step_TestDomainCreateFakeEntity {
}
@ -655,6 +862,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPulseEditorHeaderText
public static class CPulseCell_Step_TestDomainEntFire {
@ -668,14 +876,39 @@ namespace CS2Dumper.Schemas {
// MPropertyDescription
public static class CPulseMathlib {
}
// Parent: None
// Fields count: 1
public static class PulseRuntimeBlackboardReferenceIndex_t {
public const nint m_Value = 0x0; // int16
}
// Parent: CPulse_OutflowConnection
// Fields count: 0
public static class SignatureOutflow_Continue {
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Test_MultiOutflow_WithParams_Yielding {
public const nint m_Out1 = 0x48; // SignatureOutflow_Continue
public const nint m_AsyncChild1 = 0x78; // SignatureOutflow_Continue
public const nint m_AsyncChild2 = 0xA8; // SignatureOutflow_Continue
public const nint m_YieldResume1 = 0xD8; // SignatureOutflow_Resume
public const nint m_YieldResume2 = 0x108; // SignatureOutflow_Resume
}
// Parent: CPulseGraphInstance_TestDomain
// Fields count: 1
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
public static class CPulseGraphInstance_TestDomain_Derived {
public const nint m_nInstanceValueX = 0xFC; // int32
public const nint m_nInstanceValueX = 0x11C; // int32
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4
@ -684,6 +917,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_EntOutputHandler {
public const nint m_SourceEntity = 0x70; // CUtlSymbolLarge
public const nint m_SourceOutput = 0x78; // CUtlSymbolLarge
@ -695,6 +929,14 @@ namespace CS2Dumper.Schemas {
public static class PulseRuntimeConstantIndex_t {
public const nint m_Value = 0x0; // int16
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
public static class FakeEntityDerivedA_tAPI {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
//
@ -702,6 +944,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
public static class CPulseCell_Step_TestDomainTracepoint {
}
@ -710,6 +953,25 @@ namespace CS2Dumper.Schemas {
public static class PulseDocNodeID_t {
public const nint m_Value = 0x0; // int32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulse_BlackboardReference {
public const nint m_hBlackboardResource = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIPulseGraphDef>>
public const nint m_BlackboardResource = 0xE0; // CUtlSymbolLarge
public const nint m_nNodeID = 0xE8; // PulseDocNodeID_t
public const nint m_NodeName = 0xF0; // CGlobalSymbol
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulseCell_LimitCount__InstanceState_t {
public const nint m_nCurrentCount = 0x0; // int32
}
// Parent: CPulseCell_BaseValue
// Fields count: 0
//
@ -717,6 +979,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
public static class CPulseCell_Val_TestDomainGetEntityName {
}
@ -766,26 +1029,31 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_IntSwitch {
public const nint m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection
public const nint m_CaseOutflows = 0x58; // CUtlVector<CPulse_OutflowConnection>
public const nint m_CaseOutflows = 0x78; // CUtlVector<CPulse_OutflowConnection>
}
// Parent: None
// Fields count: 10
// Fields count: 14
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulseGraphDef {
public const nint m_DomainIdentifier = 0x8; // CUtlSymbolLarge
public const nint m_ParentMapName = 0x10; // CUtlSymbolLarge
public const nint m_Chunks = 0x18; // CUtlVector<CPulse_Chunk*>
public const nint m_Cells = 0x30; // CUtlVector<CPulseCell_Base*>
public const nint m_Vars = 0x48; // CUtlVector<CPulse_Variable>
public const nint m_PublicOutputs = 0x60; // CUtlVector<CPulse_PublicOutput>
public const nint m_InvokeBindings = 0x78; // CUtlVector<CPulse_InvokeBinding*>
public const nint m_CallInfos = 0x90; // CUtlVector<CPulse_CallInfo*>
public const nint m_Constants = 0xA8; // CUtlVector<CPulse_Constant>
public const nint m_OutputConnections = 0xC0; // CUtlVector<CPulse_OutputConnection*>
public const nint m_ParentXmlName = 0x18; // CUtlSymbolLarge
public const nint m_vecGameBlackboards = 0x20; // CUtlVector<CUtlSymbolLarge>
public const nint m_Chunks = 0x38; // CUtlVector<CPulse_Chunk*>
public const nint m_Cells = 0x50; // CUtlVector<CPulseCell_Base*>
public const nint m_Vars = 0x68; // CUtlVector<CPulse_Variable>
public const nint m_PublicOutputs = 0x80; // CUtlVector<CPulse_PublicOutput>
public const nint m_InvokeBindings = 0x98; // CUtlVector<CPulse_InvokeBinding*>
public const nint m_CallInfos = 0xB0; // CUtlVector<CPulse_CallInfo*>
public const nint m_Constants = 0xC8; // CUtlVector<CPulse_Constant>
public const nint m_DomainValues = 0xE0; // CUtlVector<CPulse_DomainValue>
public const nint m_BlackboardReferences = 0xF8; // CUtlVector<CPulse_BlackboardReference>
public const nint m_OutputConnections = 0x110; // CUtlVector<CPulse_OutputConnection*>
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -794,6 +1062,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Test_MultiInflow_NoDefault {
}
// Parent: None
@ -812,12 +1081,13 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
public static class CPulseCell_WaitForCursorsWithTag {
public const nint m_bTagSelfWhenComplete = 0x60; // bool
public const nint m_nDesiredKillPriority = 0x64; // PulseCursorCancelPriority_t
public const nint m_bTagSelfWhenComplete = 0x80; // bool
public const nint m_nDesiredKillPriority = 0x84; // PulseCursorCancelPriority_t
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
@ -833,18 +1103,13 @@ namespace CS2Dumper.Schemas {
public static class PulseRuntimeCallInfoIndex_t {
public const nint m_Value = 0x0; // int32
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPropertyFriendlyName
// MPropertyDescription
public static class CPulseCell_Outflow_TestExplicitYesNo {
public const nint m_Yes = 0x48; // CPulse_OutflowConnection
public const nint m_No = 0x58; // CPulse_OutflowConnection
public static class CPulseCell_BaseLerp {
public const nint m_WakeResume = 0x48; // CPulse_ResumePoint
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
@ -853,11 +1118,26 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
public static class CPulseCell_Outflow_TestExplicitYesNo {
public const nint m_Yes = 0x48; // CPulse_OutflowConnection
public const nint m_No = 0x78; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
public static class CPulseCell_Outflow_TestRandomYesNo {
public const nint m_Yes = 0x48; // CPulse_OutflowConnection
public const nint m_No = 0x58; // CPulse_OutflowConnection
public const nint m_No = 0x78; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -866,6 +1146,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Step_DebugLog {
}
// Parent: None
@ -880,6 +1161,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_CycleOrdered {
public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -905,6 +1187,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
@ -916,10 +1199,10 @@ namespace CS2Dumper.Schemas {
// Metadata:
// MPulseLibraryBindings
public static class CPulseTurtleGraphicsCursor {
public const nint m_Color = 0x162; // Color
public const nint m_vPos = 0x168; // Vector2D
public const nint m_flHeadingDeg = 0x170; // float32
public const nint m_bPenUp = 0x174; // bool
public const nint m_Color = 0x9E; // Color
public const nint m_vPos = 0xA4; // Vector2D
public const nint m_flHeadingDeg = 0xAC; // float32
public const nint m_bPenUp = 0xB0; // bool
}
}
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -8,9 +8,19 @@
namespace cs2_dumper {
namespace schemas {
// Module: libpulse_system.so
// Classes count: 85
// Enums count: 7
// Classes count: 108
// Enums count: 9
namespace libpulse_system_so {
// Alignment: 4
// Members count: 6
enum class EPulseGraphExecutionHistoryFlag : uint32_t {
NO_FLAGS = 0x0,
CURSOR_ADD_TAG = 0x1,
CURSOR_REMOVE_TAG = 0x2,
CURSOR_RETIRED = 0x4,
REQUIREMENT_PASS = 0x8,
REQUIREMENT_FAIL = 0x10
};
// Alignment: 4
// Members count: 3
enum class PulseTestEnumShape_t : uint32_t {
@ -25,14 +35,15 @@ namespace cs2_dumper {
ASYNC_FIRE_AND_FORGET = 0x1
};
// Alignment: 4
// Members count: 3
// Members count: 4
enum class PulseCursorExecResult_t : uint32_t {
Succeeded = 0x0,
Canceled = 0x1,
Failed = 0x2
Failed = 0x2,
OngoingNotify = 0x3
};
// Alignment: 4
// Members count: 19
// Members count: 20
enum class PulseValueType_t : uint32_t {
PVAL_INVALID = 0xFFFFFFFFFFFFFFFF,
PVAL_BOOL = 0x0,
@ -46,16 +57,17 @@ namespace cs2_dumper {
PVAL_RESOURCE = 0x8,
PVAL_SNDEVT_GUID = 0x9,
PVAL_ENTITY_NAME = 0xA,
PVAL_SCHEMA_PTR = 0xB,
PVAL_OPAQUE_HANDLE = 0xB,
PVAL_TYPESAFE_INT = 0xC,
PVAL_CURSOR_FLOW = 0xD,
PVAL_ANY = 0xE,
PVAL_SCHEMA_ENUM = 0xF,
PVAL_PANORAMA_PANEL_HANDLE = 0x10,
PVAL_COUNT = 0x11
PVAL_TEST_HANDLE = 0x11,
PVAL_COUNT = 0x12
};
// Alignment: 2
// Members count: 61
// Members count: 73
enum class PulseInstructionCode_t : uint16_t {
INVALID = 0x0,
IMMEDIATE_HALT = 0x1,
@ -73,7 +85,7 @@ namespace cs2_dumper {
SET_VAR = 0xD,
GET_VAR = 0xE,
GET_CONST = 0xF,
SET_REGISTER_DOMAIN_VALUE = 0x10,
GET_DOMAIN_VALUE = 0x10,
COPY = 0x11,
NOT = 0x12,
NEGATE = 0x13,
@ -89,35 +101,47 @@ namespace cs2_dumper {
AND = 0x1D,
OR = 0x1E,
CONVERT_VALUE = 0x1F,
LAST_SERIALIZED_CODE = 0x20,
NEGATE_INT = 0x21,
NEGATE_FLOAT = 0x22,
ADD_INT = 0x23,
ADD_FLOAT = 0x24,
ADD_STRING = 0x25,
SUB_INT = 0x26,
SUB_FLOAT = 0x27,
MUL_INT = 0x28,
MUL_FLOAT = 0x29,
DIV_INT = 0x2A,
DIV_FLOAT = 0x2B,
MOD_INT = 0x2C,
MOD_FLOAT = 0x2D,
LT_INT = 0x2E,
LT_FLOAT = 0x2F,
LTE_INT = 0x30,
LTE_FLOAT = 0x31,
EQ_BOOL = 0x32,
EQ_INT = 0x33,
EQ_FLOAT = 0x34,
EQ_STRING = 0x35,
EQ_ENTITY_NAME = 0x36,
NE_BOOL = 0x37,
NE_INT = 0x38,
NE_FLOAT = 0x39,
NE_STRING = 0x3A,
NE_ENTITY_NAME = 0x3B,
GET_CONST_INLINE_STORAGE = 0x3C
REINTERPRET_INSTANCE = 0x20,
GET_BLACKBOARD_REFERENCE = 0x21,
SET_BLACKBOARD_REFERENCE = 0x22,
REQUIREMENT_RESULT = 0x23,
LAST_SERIALIZED_CODE = 0x24,
NEGATE_INT = 0x25,
NEGATE_FLOAT = 0x26,
ADD_INT = 0x27,
ADD_FLOAT = 0x28,
ADD_STRING = 0x29,
SUB_INT = 0x2A,
SUB_FLOAT = 0x2B,
MUL_INT = 0x2C,
MUL_FLOAT = 0x2D,
DIV_INT = 0x2E,
DIV_FLOAT = 0x2F,
MOD_INT = 0x30,
MOD_FLOAT = 0x31,
LT_INT = 0x32,
LT_FLOAT = 0x33,
LTE_INT = 0x34,
LTE_FLOAT = 0x35,
EQ_BOOL = 0x36,
EQ_INT = 0x37,
EQ_FLOAT = 0x38,
EQ_STRING = 0x39,
EQ_ENTITY_NAME = 0x3A,
EQ_EHANDLE = 0x3B,
EQ_PANEL_HANDLE = 0x3C,
EQ_OPAQUE_HANDLE = 0x3D,
EQ_TEST_HANDLE = 0x3E,
NE_BOOL = 0x3F,
NE_INT = 0x40,
NE_FLOAT = 0x41,
NE_STRING = 0x42,
NE_ENTITY_NAME = 0x43,
NE_EHANDLE = 0x44,
NE_PANEL_HANDLE = 0x45,
NE_OPAQUE_HANDLE = 0x46,
NE_TEST_HANDLE = 0x47,
GET_CONST_INLINE_STORAGE = 0x48
};
// Alignment: 4
// Members count: 5
@ -136,6 +160,14 @@ namespace cs2_dumper {
SoftCancel = 0x2,
HardCancel = 0x3
};
// Alignment: 4
// Members count: 4
enum class PulseDomainValueType_t : uint32_t {
INVALID = 0xFFFFFFFFFFFFFFFF,
ENTITY_NAME = 0x0,
PANEL_ID = 0x1,
COUNT = 0x2
};
// Parent: CPulseCell_BaseFlow
// Fields count: 1
//
@ -143,6 +175,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Step_PublicOutput {
constexpr std::ptrdiff_t m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t
}
@ -153,6 +186,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
namespace CPulseCell_Val_TestDomainFindEntityByName {
}
@ -171,9 +205,22 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
namespace CPulseCell_Step_TestDomainDestroyFakeEntity {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Test_MultiOutflow_WithParams {
constexpr std::ptrdiff_t m_Out1 = 0x48; // SignatureOutflow_Continue
constexpr std::ptrdiff_t m_Out2 = 0x78; // SignatureOutflow_Continue
}
// Parent: None
// Fields count: 1
namespace PulseRuntimeVarIndex_t {
@ -185,6 +232,11 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_Value = 0x0; // int32
}
// Parent: None
// Fields count: 1
namespace PulseRuntimeDomainValueIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int16
}
// Parent: None
// Fields count: 3
//
// Metadata:
@ -241,14 +293,12 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_EventOutflow = 0x8; // CPulse_OutflowConnection
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// Fields count: 4
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
constexpr std::ptrdiff_t m_OutflowRegisterMap = 0x10; // PulseRegisterMap_t
}
// Parent: None
// Fields count: 1
@ -271,6 +321,14 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nEditorNodeID = 0x8; // PulseDocNodeID_t
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
constexpr std::ptrdiff_t nTestStep = 0x0; // int32
}
// Parent: None
// Fields count: 0
//
// Metadata:
@ -278,6 +336,18 @@ namespace cs2_dumper {
// MPropertyDescription
namespace CPulseTestFuncs_DerivedDomain {
}
// Parent: None
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
namespace PulseGraphExecutionHistoryCursorDesc_t {
constexpr std::ptrdiff_t vecAncestorCursorIDs = 0x0; // CUtlVector<PulseCursorID_t>
constexpr std::ptrdiff_t nSpawnNodeID = 0x18; // PulseDocNodeID_t
constexpr std::ptrdiff_t nRetiredAtNodeID = 0x1C; // PulseDocNodeID_t
constexpr std::ptrdiff_t flLastReferenced = 0x20; // float32
constexpr std::ptrdiff_t nLastValidEntryIdx = 0x24; // int32
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1
//
@ -285,6 +355,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_Yield {
constexpr std::ptrdiff_t m_UnyieldResume = 0x48; // CPulse_ResumePoint
}
@ -295,6 +366,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_GraphHook {
constexpr std::ptrdiff_t m_HookName = 0x70; // CUtlSymbolLarge
}
@ -305,6 +377,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
@ -317,8 +390,8 @@ namespace cs2_dumper {
// Metadata:
// MPulseLibraryBindings
namespace CTestDomainDerived_Cursor {
constexpr std::ptrdiff_t m_nCursorValueA = 0x164; // int32
constexpr std::ptrdiff_t m_nCursorValueB = 0x168; // int32
constexpr std::ptrdiff_t m_nCursorValueA = 0xA0; // int32
constexpr std::ptrdiff_t m_nCursorValueB = 0xA4; // int32
}
// Parent: None
// Fields count: 2
@ -336,11 +409,27 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
namespace CPulseCell_CursorQueue {
constexpr std::ptrdiff_t m_nCursorsAllowedToRunParallel = 0x60; // int32
constexpr std::ptrdiff_t m_nCursorsAllowedToRunParallel = 0x80; // int32
}
// Parent: CPulseCell_Base
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulseCell_BaseRequirement {
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
namespace PulseNodeDynamicOutflows_t {
constexpr std::ptrdiff_t m_Outflows = 0x0; // CUtlVector<PulseNodeDynamicOutflows_t::DynamicOutflow_t>
}
// Parent: CPulseCell_BaseValue
// Fields count: 0
@ -349,6 +438,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
namespace CPulseCell_Value_TestValue50 {
@ -360,8 +450,16 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Test_MultiInflow_WithDefault {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGapTypeQueriesForScopeSingleton
namespace CPulseTestGapTypeQueryRegistration {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
@ -369,9 +467,10 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_StringSwitch {
constexpr std::ptrdiff_t m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection
constexpr std::ptrdiff_t m_CaseOutflows = 0x58; // CUtlVector<CPulse_OutflowConnection>
constexpr std::ptrdiff_t m_CaseOutflows = 0x78; // CUtlVector<CPulse_OutflowConnection>
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -380,12 +479,22 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Test_NoInflow {
}
// Parent: None
// Fields count: 1
namespace PulseTestEHandle_t {
constexpr std::ptrdiff_t m_Value = 0x0; // uint32
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_FireCursors {
constexpr std::ptrdiff_t m_Outflows = 0x48; // CUtlVector<CPulse_OutflowConnection>
constexpr std::ptrdiff_t m_bWaitForChildOutflows = 0x60; // bool
constexpr std::ptrdiff_t m_OnFinished = 0x68; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_OnCanceled = 0x98; // CPulse_ResumePoint
}
// Parent: None
// Fields count: 2
@ -405,9 +514,6 @@ namespace cs2_dumper {
}
// Parent: CPulse_OutflowConnection
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulse_ResumePoint {
}
// Parent: CPulseCell_BaseFlow
@ -417,6 +523,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_CycleRandom {
constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -427,10 +534,20 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_EventHandler {
constexpr std::ptrdiff_t m_EventName = 0x70; // CUtlSymbolLarge
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulseCell_BaseLerp__CursorState_t {
constexpr std::ptrdiff_t m_StartTime = 0x0; // GameTime_t
constexpr std::ptrdiff_t m_EndTime = 0x4; // GameTime_t
}
// Parent: None
// Fields count: 3
//
// Metadata:
@ -455,11 +572,12 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Timeline {
constexpr std::ptrdiff_t m_TimelineEvents = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t>
constexpr std::ptrdiff_t m_bWaitForChildOutflows = 0x60; // bool
constexpr std::ptrdiff_t m_OnFinished = 0x68; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_OnCanceled = 0x78; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_OnCanceled = 0x98; // CPulse_ResumePoint
}
// Parent: None
// Fields count: 4
@ -472,6 +590,33 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_TargetInput = 0x10; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_Param = 0x18; // CUtlSymbolLarge
}
// Parent: CPulseCell_BaseRequirement
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseRequirementPass
namespace CPulseCell_LimitCount {
constexpr std::ptrdiff_t m_nLimitCount = 0x48; // int32
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace PulseGraphExecutionHistoryNodeDesc_t {
constexpr std::ptrdiff_t strCellDesc = 0x0; // CBufferString
constexpr std::ptrdiff_t strBindingName = 0x10; // CUtlSymbolLarge
}
// Parent: CPulse_ResumePoint
// Fields count: 0
namespace SignatureOutflow_Resume {
}
// Parent: None
// Fields count: 0
//
@ -481,15 +626,17 @@ namespace cs2_dumper {
namespace FakeEntity_tAPI {
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Step_CallExternalMethod {
constexpr std::ptrdiff_t m_MethodName = 0x48; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_ExpectedArgs = 0x50; // CUtlVector<CPulseRuntimeMethodArg>
constexpr std::ptrdiff_t m_GameBlackboard = 0x50; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_ExpectedArgs = 0x58; // CUtlLeanVector<CPulseRuntimeMethodArg>
constexpr std::ptrdiff_t m_nAsyncCallMode = 0x68; // PulseMethodCallMode_t
constexpr std::ptrdiff_t m_OnFinished = 0x70; // CPulse_ResumePoint
}
@ -498,6 +645,7 @@ namespace cs2_dumper {
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
namespace CPulseGraphInstance_TurtleGraphics {
}
@ -509,20 +657,33 @@ namespace cs2_dumper {
namespace CPulseCell_BaseFlow {
}
// Parent: None
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
namespace PulseGraphExecutionHistoryEntry_t {
constexpr std::ptrdiff_t nCursorID = 0x0; // PulseCursorID_t
constexpr std::ptrdiff_t nEditorID = 0x4; // PulseDocNodeID_t
constexpr std::ptrdiff_t flExecTime = 0x8; // float32
constexpr std::ptrdiff_t unFlags = 0xC; // uint32
constexpr std::ptrdiff_t tagName = 0x10; // CUtlSymbolLarge
}
// Parent: None
// Fields count: 1
namespace PulseCursorYieldToken_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int32
}
// Parent: None
// Fields count: 7
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; // float32
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulseGraphExecutionHistory {
constexpr std::ptrdiff_t m_nInstanceID = 0x0; // PulseGraphInstanceID_t
constexpr std::ptrdiff_t m_strFileName = 0x8; // CUtlString
constexpr std::ptrdiff_t m_vecHistory = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
constexpr std::ptrdiff_t m_mapCellDesc = 0x28; // CUtlOrderedMap<PulseDocNodeID_t,PulseGraphExecutionHistoryNodeDesc_t*>
constexpr std::ptrdiff_t m_mapCursorDesc = 0x50; // CUtlOrderedMap<PulseCursorID_t,PulseGraphExecutionHistoryCursorDesc_t*>
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 3
@ -531,10 +692,22 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_TestWaitWithCursorState {
constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_WakeCancel = 0x58; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_WakeFail = 0x68; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_WakeCancel = 0x78; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_WakeFail = 0xA8; // CPulse_ResumePoint
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_ObservableVariableListener {
constexpr std::ptrdiff_t m_BlackboardReference = 0x70; // CPulse_BlackboardReference
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -544,7 +717,7 @@ namespace cs2_dumper {
namespace CPulseCell_BaseYieldingInflow {
}
// Parent: None
// Fields count: 11
// Fields count: 12
//
// Metadata:
// MGetKV3ClassDefaults
@ -559,7 +732,8 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nDestInstruction = 0x18; // int32
constexpr std::ptrdiff_t m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t
constexpr std::ptrdiff_t m_nConstIdx = 0x20; // PulseRuntimeConstantIndex_t
constexpr std::ptrdiff_t m_DomainValue = 0x28; // CBufferString
constexpr std::ptrdiff_t m_nDomainValueIdx = 0x22; // PulseRuntimeDomainValueIndex_t
constexpr std::ptrdiff_t m_nBlackboardReferenceIdx = 0x24; // PulseRuntimeBlackboardReferenceIndex_t
}
// Parent: None
// Fields count: 5
@ -574,7 +748,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nSrcInstruction = 0x30; // int32
}
// Parent: None
// Fields count: 5
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
@ -584,6 +758,8 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_Type = 0x10; // CPulseValueFullType
constexpr std::ptrdiff_t m_DefaultValue = 0x20; // KeyValues3
constexpr std::ptrdiff_t m_bIsPublic = 0x32; // bool
constexpr std::ptrdiff_t m_bIsObservable = 0x33; // bool
constexpr std::ptrdiff_t m_nEditorNodeID = 0x34; // PulseDocNodeID_t
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 5
@ -592,27 +768,46 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_Method {
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<CPulseRuntimeMethodArg>
constexpr std::ptrdiff_t m_Args = 0x98; // CUtlLeanVector<CPulseRuntimeMethodArg>
}
// Parent: CBasePulseGraphInstance
// Fields count: 6
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
// MPulseDomainOptInFeatureTag
namespace CPulseGraphInstance_TestDomain {
constexpr std::ptrdiff_t m_bIsRunningUnitTests = 0xD8; // bool
constexpr std::ptrdiff_t m_bExplicitTimeStepping = 0xD9; // bool
constexpr std::ptrdiff_t m_bExpectingToDestroyWithYieldedCursors = 0xDA; // bool
constexpr std::ptrdiff_t m_nNextValidateIndex = 0xDC; // int32
constexpr std::ptrdiff_t m_Tracepoints = 0xE0; // CUtlVector<CUtlString>
constexpr std::ptrdiff_t m_bTestYesOrNoPath = 0xF8; // bool
constexpr std::ptrdiff_t m_bIsRunningUnitTests = 0xF8; // bool
constexpr std::ptrdiff_t m_bExplicitTimeStepping = 0xF9; // bool
constexpr std::ptrdiff_t m_bExpectingToDestroyWithYieldedCursors = 0xFA; // bool
constexpr std::ptrdiff_t m_nNextValidateIndex = 0xFC; // int32
constexpr std::ptrdiff_t m_Tracepoints = 0x100; // CUtlVector<CUtlString>
constexpr std::ptrdiff_t m_bTestYesOrNoPath = 0x118; // bool
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
namespace FakeEntityDerivedB_tAPI {
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace PulseNodeDynamicOutflows_t__DynamicOutflow_t {
constexpr std::ptrdiff_t m_OutflowID = 0x0; // CGlobalSymbol
constexpr std::ptrdiff_t m_Connection = 0x8; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 1
@ -621,6 +816,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_CycleShuffled {
constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -643,6 +839,16 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t flWaitValue = 0x0; // float32
constexpr std::ptrdiff_t bFailOnCancel = 0x4; // bool
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulse_DomainValue {
constexpr std::ptrdiff_t m_nType = 0x0; // PulseDomainValueType_t
constexpr std::ptrdiff_t m_Value = 0x8; // CGlobalSymbol
constexpr std::ptrdiff_t m_ExpectedRuntimeType = 0x10; // CGlobalSymbol
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
//
@ -650,6 +856,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
namespace CPulseCell_Step_TestDomainCreateFakeEntity {
}
@ -660,6 +867,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPulseEditorHeaderText
namespace CPulseCell_Step_TestDomainEntFire {
@ -673,14 +881,39 @@ namespace cs2_dumper {
// MPropertyDescription
namespace CPulseMathlib {
}
// Parent: None
// Fields count: 1
namespace PulseRuntimeBlackboardReferenceIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int16
}
// Parent: CPulse_OutflowConnection
// Fields count: 0
namespace SignatureOutflow_Continue {
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Test_MultiOutflow_WithParams_Yielding {
constexpr std::ptrdiff_t m_Out1 = 0x48; // SignatureOutflow_Continue
constexpr std::ptrdiff_t m_AsyncChild1 = 0x78; // SignatureOutflow_Continue
constexpr std::ptrdiff_t m_AsyncChild2 = 0xA8; // SignatureOutflow_Continue
constexpr std::ptrdiff_t m_YieldResume1 = 0xD8; // SignatureOutflow_Resume
constexpr std::ptrdiff_t m_YieldResume2 = 0x108; // SignatureOutflow_Resume
}
// Parent: CPulseGraphInstance_TestDomain
// Fields count: 1
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
namespace CPulseGraphInstance_TestDomain_Derived {
constexpr std::ptrdiff_t m_nInstanceValueX = 0xFC; // int32
constexpr std::ptrdiff_t m_nInstanceValueX = 0x11C; // int32
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4
@ -689,6 +922,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_EntOutputHandler {
constexpr std::ptrdiff_t m_SourceEntity = 0x70; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_SourceOutput = 0x78; // CUtlSymbolLarge
@ -700,6 +934,14 @@ namespace cs2_dumper {
namespace PulseRuntimeConstantIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int16
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
namespace FakeEntityDerivedA_tAPI {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
//
@ -707,6 +949,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
namespace CPulseCell_Step_TestDomainTracepoint {
}
@ -715,6 +958,25 @@ namespace cs2_dumper {
namespace PulseDocNodeID_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulse_BlackboardReference {
constexpr std::ptrdiff_t m_hBlackboardResource = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIPulseGraphDef>>
constexpr std::ptrdiff_t m_BlackboardResource = 0xE0; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_nNodeID = 0xE8; // PulseDocNodeID_t
constexpr std::ptrdiff_t m_NodeName = 0xF0; // CGlobalSymbol
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulseCell_LimitCount__InstanceState_t {
constexpr std::ptrdiff_t m_nCurrentCount = 0x0; // int32
}
// Parent: CPulseCell_BaseValue
// Fields count: 0
//
@ -722,6 +984,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
namespace CPulseCell_Val_TestDomainGetEntityName {
}
@ -771,26 +1034,31 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_IntSwitch {
constexpr std::ptrdiff_t m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection
constexpr std::ptrdiff_t m_CaseOutflows = 0x58; // CUtlVector<CPulse_OutflowConnection>
constexpr std::ptrdiff_t m_CaseOutflows = 0x78; // CUtlVector<CPulse_OutflowConnection>
}
// Parent: None
// Fields count: 10
// Fields count: 14
//
// Metadata:
// MGetKV3ClassDefaults
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<CPulse_Chunk*>
constexpr std::ptrdiff_t m_Cells = 0x30; // CUtlVector<CPulseCell_Base*>
constexpr std::ptrdiff_t m_Vars = 0x48; // CUtlVector<CPulse_Variable>
constexpr std::ptrdiff_t m_PublicOutputs = 0x60; // CUtlVector<CPulse_PublicOutput>
constexpr std::ptrdiff_t m_InvokeBindings = 0x78; // CUtlVector<CPulse_InvokeBinding*>
constexpr std::ptrdiff_t m_CallInfos = 0x90; // CUtlVector<CPulse_CallInfo*>
constexpr std::ptrdiff_t m_Constants = 0xA8; // CUtlVector<CPulse_Constant>
constexpr std::ptrdiff_t m_OutputConnections = 0xC0; // CUtlVector<CPulse_OutputConnection*>
constexpr std::ptrdiff_t m_ParentXmlName = 0x18; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_vecGameBlackboards = 0x20; // CUtlVector<CUtlSymbolLarge>
constexpr std::ptrdiff_t m_Chunks = 0x38; // CUtlVector<CPulse_Chunk*>
constexpr std::ptrdiff_t m_Cells = 0x50; // CUtlVector<CPulseCell_Base*>
constexpr std::ptrdiff_t m_Vars = 0x68; // CUtlVector<CPulse_Variable>
constexpr std::ptrdiff_t m_PublicOutputs = 0x80; // CUtlVector<CPulse_PublicOutput>
constexpr std::ptrdiff_t m_InvokeBindings = 0x98; // CUtlVector<CPulse_InvokeBinding*>
constexpr std::ptrdiff_t m_CallInfos = 0xB0; // CUtlVector<CPulse_CallInfo*>
constexpr std::ptrdiff_t m_Constants = 0xC8; // CUtlVector<CPulse_Constant>
constexpr std::ptrdiff_t m_DomainValues = 0xE0; // CUtlVector<CPulse_DomainValue>
constexpr std::ptrdiff_t m_BlackboardReferences = 0xF8; // CUtlVector<CPulse_BlackboardReference>
constexpr std::ptrdiff_t m_OutputConnections = 0x110; // CUtlVector<CPulse_OutputConnection*>
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -799,6 +1067,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Test_MultiInflow_NoDefault {
}
// Parent: None
@ -817,12 +1086,13 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
namespace CPulseCell_WaitForCursorsWithTag {
constexpr std::ptrdiff_t m_bTagSelfWhenComplete = 0x60; // bool
constexpr std::ptrdiff_t m_nDesiredKillPriority = 0x64; // PulseCursorCancelPriority_t
constexpr std::ptrdiff_t m_bTagSelfWhenComplete = 0x80; // bool
constexpr std::ptrdiff_t m_nDesiredKillPriority = 0x84; // PulseCursorCancelPriority_t
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
@ -838,18 +1108,13 @@ namespace cs2_dumper {
namespace PulseRuntimeCallInfoIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int32
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPropertyFriendlyName
// MPropertyDescription
namespace CPulseCell_Outflow_TestExplicitYesNo {
constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection
constexpr std::ptrdiff_t m_No = 0x58; // CPulse_OutflowConnection
namespace CPulseCell_BaseLerp {
constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
@ -858,11 +1123,26 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
namespace CPulseCell_Outflow_TestExplicitYesNo {
constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection
constexpr std::ptrdiff_t m_No = 0x78; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
namespace CPulseCell_Outflow_TestRandomYesNo {
constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection
constexpr std::ptrdiff_t m_No = 0x58; // CPulse_OutflowConnection
constexpr std::ptrdiff_t m_No = 0x78; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -871,6 +1151,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Step_DebugLog {
}
// Parent: None
@ -885,6 +1166,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_CycleOrdered {
constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -910,6 +1192,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
@ -921,10 +1204,10 @@ namespace cs2_dumper {
// Metadata:
// MPulseLibraryBindings
namespace CPulseTurtleGraphicsCursor {
constexpr std::ptrdiff_t m_Color = 0x162; // Color
constexpr std::ptrdiff_t m_vPos = 0x168; // Vector2D
constexpr std::ptrdiff_t m_flHeadingDeg = 0x170; // float32
constexpr std::ptrdiff_t m_bPenUp = 0x174; // bool
constexpr std::ptrdiff_t m_Color = 0x9E; // Color
constexpr std::ptrdiff_t m_vPos = 0xA4; // Vector2D
constexpr std::ptrdiff_t m_flHeadingDeg = 0xAC; // float32
constexpr std::ptrdiff_t m_bPenUp = 0xB0; // bool
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,25 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libpulse_system.so
// Classes count: 85
// Enums count: 7
// Classes count: 108
// Enums count: 9
pub mod libpulse_system_so {
// Alignment: 4
// Members count: 6
#[repr(u32)]
pub enum EPulseGraphExecutionHistoryFlag {
NO_FLAGS = 0x0,
CURSOR_ADD_TAG = 0x1,
CURSOR_REMOVE_TAG = 0x2,
CURSOR_RETIRED = 0x4,
REQUIREMENT_PASS = 0x8,
REQUIREMENT_FAIL = 0x10
}
// Alignment: 4
// Members count: 3
#[repr(u32)]
@ -25,15 +36,16 @@ pub mod cs2_dumper {
ASYNC_FIRE_AND_FORGET = 0x1
}
// Alignment: 4
// Members count: 3
// Members count: 4
#[repr(u32)]
pub enum PulseCursorExecResult_t {
Succeeded = 0x0,
Canceled = 0x1,
Failed = 0x2
Failed = 0x2,
OngoingNotify = 0x3
}
// Alignment: 4
// Members count: 19
// Members count: 20
#[repr(u32)]
pub enum PulseValueType_t {
PVAL_INVALID = u32::MAX,
@ -48,16 +60,17 @@ pub mod cs2_dumper {
PVAL_RESOURCE = 0x8,
PVAL_SNDEVT_GUID = 0x9,
PVAL_ENTITY_NAME = 0xA,
PVAL_SCHEMA_PTR = 0xB,
PVAL_OPAQUE_HANDLE = 0xB,
PVAL_TYPESAFE_INT = 0xC,
PVAL_CURSOR_FLOW = 0xD,
PVAL_ANY = 0xE,
PVAL_SCHEMA_ENUM = 0xF,
PVAL_PANORAMA_PANEL_HANDLE = 0x10,
PVAL_COUNT = 0x11
PVAL_TEST_HANDLE = 0x11,
PVAL_COUNT = 0x12
}
// Alignment: 2
// Members count: 61
// Members count: 73
#[repr(u16)]
pub enum PulseInstructionCode_t {
INVALID = 0x0,
@ -76,7 +89,7 @@ pub mod cs2_dumper {
SET_VAR = 0xD,
GET_VAR = 0xE,
GET_CONST = 0xF,
SET_REGISTER_DOMAIN_VALUE = 0x10,
GET_DOMAIN_VALUE = 0x10,
COPY = 0x11,
NOT = 0x12,
NEGATE = 0x13,
@ -92,35 +105,47 @@ pub mod cs2_dumper {
AND = 0x1D,
OR = 0x1E,
CONVERT_VALUE = 0x1F,
LAST_SERIALIZED_CODE = 0x20,
NEGATE_INT = 0x21,
NEGATE_FLOAT = 0x22,
ADD_INT = 0x23,
ADD_FLOAT = 0x24,
ADD_STRING = 0x25,
SUB_INT = 0x26,
SUB_FLOAT = 0x27,
MUL_INT = 0x28,
MUL_FLOAT = 0x29,
DIV_INT = 0x2A,
DIV_FLOAT = 0x2B,
MOD_INT = 0x2C,
MOD_FLOAT = 0x2D,
LT_INT = 0x2E,
LT_FLOAT = 0x2F,
LTE_INT = 0x30,
LTE_FLOAT = 0x31,
EQ_BOOL = 0x32,
EQ_INT = 0x33,
EQ_FLOAT = 0x34,
EQ_STRING = 0x35,
EQ_ENTITY_NAME = 0x36,
NE_BOOL = 0x37,
NE_INT = 0x38,
NE_FLOAT = 0x39,
NE_STRING = 0x3A,
NE_ENTITY_NAME = 0x3B,
GET_CONST_INLINE_STORAGE = 0x3C
REINTERPRET_INSTANCE = 0x20,
GET_BLACKBOARD_REFERENCE = 0x21,
SET_BLACKBOARD_REFERENCE = 0x22,
REQUIREMENT_RESULT = 0x23,
LAST_SERIALIZED_CODE = 0x24,
NEGATE_INT = 0x25,
NEGATE_FLOAT = 0x26,
ADD_INT = 0x27,
ADD_FLOAT = 0x28,
ADD_STRING = 0x29,
SUB_INT = 0x2A,
SUB_FLOAT = 0x2B,
MUL_INT = 0x2C,
MUL_FLOAT = 0x2D,
DIV_INT = 0x2E,
DIV_FLOAT = 0x2F,
MOD_INT = 0x30,
MOD_FLOAT = 0x31,
LT_INT = 0x32,
LT_FLOAT = 0x33,
LTE_INT = 0x34,
LTE_FLOAT = 0x35,
EQ_BOOL = 0x36,
EQ_INT = 0x37,
EQ_FLOAT = 0x38,
EQ_STRING = 0x39,
EQ_ENTITY_NAME = 0x3A,
EQ_EHANDLE = 0x3B,
EQ_PANEL_HANDLE = 0x3C,
EQ_OPAQUE_HANDLE = 0x3D,
EQ_TEST_HANDLE = 0x3E,
NE_BOOL = 0x3F,
NE_INT = 0x40,
NE_FLOAT = 0x41,
NE_STRING = 0x42,
NE_ENTITY_NAME = 0x43,
NE_EHANDLE = 0x44,
NE_PANEL_HANDLE = 0x45,
NE_OPAQUE_HANDLE = 0x46,
NE_TEST_HANDLE = 0x47,
GET_CONST_INLINE_STORAGE = 0x48
}
// Alignment: 4
// Members count: 5
@ -141,6 +166,15 @@ pub mod cs2_dumper {
SoftCancel = 0x2,
HardCancel = 0x3
}
// Alignment: 4
// Members count: 4
#[repr(u32)]
pub enum PulseDomainValueType_t {
INVALID = u32::MAX,
ENTITY_NAME = 0x0,
PANEL_ID = 0x1,
COUNT = 0x2
}
// Parent: CPulseCell_BaseFlow
// Fields count: 1
//
@ -148,6 +182,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Step_PublicOutput {
pub const m_OutputIndex: usize = 0x48; // PulseRuntimeOutputIndex_t
}
@ -158,6 +193,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
pub mod CPulseCell_Val_TestDomainFindEntityByName {
}
@ -176,9 +212,22 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
pub mod CPulseCell_Step_TestDomainDestroyFakeEntity {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Test_MultiOutflow_WithParams {
pub const m_Out1: usize = 0x48; // SignatureOutflow_Continue
pub const m_Out2: usize = 0x78; // SignatureOutflow_Continue
}
// Parent: None
// Fields count: 1
pub mod PulseRuntimeVarIndex_t {
@ -190,6 +239,11 @@ pub mod cs2_dumper {
pub const m_Value: usize = 0x0; // int32
}
// Parent: None
// Fields count: 1
pub mod PulseRuntimeDomainValueIndex_t {
pub const m_Value: usize = 0x0; // int16
}
// Parent: None
// Fields count: 3
//
// Metadata:
@ -246,14 +300,12 @@ pub mod cs2_dumper {
pub const m_EventOutflow: usize = 0x8; // CPulse_OutflowConnection
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// Fields count: 4
pub mod CPulse_OutflowConnection {
pub const m_SourceOutflowName: usize = 0x0; // CUtlSymbolLarge
pub const m_nDestChunk: usize = 0x8; // PulseRuntimeChunkIndex_t
pub const m_nInstruction: usize = 0xC; // int32
pub const m_OutflowRegisterMap: usize = 0x10; // PulseRegisterMap_t
}
// Parent: None
// Fields count: 1
@ -276,6 +328,14 @@ pub mod cs2_dumper {
pub const m_nEditorNodeID: usize = 0x8; // PulseDocNodeID_t
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
pub const nTestStep: usize = 0x0; // int32
}
// Parent: None
// Fields count: 0
//
// Metadata:
@ -283,6 +343,18 @@ pub mod cs2_dumper {
// MPropertyDescription
pub mod CPulseTestFuncs_DerivedDomain {
}
// Parent: None
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
pub mod PulseGraphExecutionHistoryCursorDesc_t {
pub const vecAncestorCursorIDs: usize = 0x0; // CUtlVector<PulseCursorID_t>
pub const nSpawnNodeID: usize = 0x18; // PulseDocNodeID_t
pub const nRetiredAtNodeID: usize = 0x1C; // PulseDocNodeID_t
pub const flLastReferenced: usize = 0x20; // float32
pub const nLastValidEntryIdx: usize = 0x24; // int32
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1
//
@ -290,6 +362,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_Yield {
pub const m_UnyieldResume: usize = 0x48; // CPulse_ResumePoint
}
@ -300,6 +373,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_GraphHook {
pub const m_HookName: usize = 0x70; // CUtlSymbolLarge
}
@ -310,6 +384,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
@ -322,8 +397,8 @@ pub mod cs2_dumper {
// Metadata:
// MPulseLibraryBindings
pub mod CTestDomainDerived_Cursor {
pub const m_nCursorValueA: usize = 0x164; // int32
pub const m_nCursorValueB: usize = 0x168; // int32
pub const m_nCursorValueA: usize = 0xA0; // int32
pub const m_nCursorValueB: usize = 0xA4; // int32
}
// Parent: None
// Fields count: 2
@ -341,11 +416,27 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
pub mod CPulseCell_CursorQueue {
pub const m_nCursorsAllowedToRunParallel: usize = 0x60; // int32
pub const m_nCursorsAllowedToRunParallel: usize = 0x80; // int32
}
// Parent: CPulseCell_Base
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulseCell_BaseRequirement {
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
pub mod PulseNodeDynamicOutflows_t {
pub const m_Outflows: usize = 0x0; // CUtlVector<PulseNodeDynamicOutflows_t::DynamicOutflow_t>
}
// Parent: CPulseCell_BaseValue
// Fields count: 0
@ -354,6 +445,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
pub mod CPulseCell_Value_TestValue50 {
@ -365,8 +457,16 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Test_MultiInflow_WithDefault {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGapTypeQueriesForScopeSingleton
pub mod CPulseTestGapTypeQueryRegistration {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
@ -374,9 +474,10 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_StringSwitch {
pub const m_DefaultCaseOutflow: usize = 0x48; // CPulse_OutflowConnection
pub const m_CaseOutflows: usize = 0x58; // CUtlVector<CPulse_OutflowConnection>
pub const m_CaseOutflows: usize = 0x78; // CUtlVector<CPulse_OutflowConnection>
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -385,12 +486,22 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Test_NoInflow {
}
// Parent: None
// Fields count: 1
pub mod PulseTestEHandle_t {
pub const m_Value: usize = 0x0; // uint32
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_FireCursors {
pub const m_Outflows: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
pub const m_bWaitForChildOutflows: usize = 0x60; // bool
pub const m_OnFinished: usize = 0x68; // CPulse_ResumePoint
pub const m_OnCanceled: usize = 0x98; // CPulse_ResumePoint
}
// Parent: None
// Fields count: 2
@ -410,9 +521,6 @@ pub mod cs2_dumper {
}
// Parent: CPulse_OutflowConnection
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulse_ResumePoint {
}
// Parent: CPulseCell_BaseFlow
@ -422,6 +530,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_CycleRandom {
pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -432,10 +541,20 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_EventHandler {
pub const m_EventName: usize = 0x70; // CUtlSymbolLarge
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulseCell_BaseLerp__CursorState_t {
pub const m_StartTime: usize = 0x0; // GameTime_t
pub const m_EndTime: usize = 0x4; // GameTime_t
}
// Parent: None
// Fields count: 3
//
// Metadata:
@ -460,11 +579,12 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Timeline {
pub const m_TimelineEvents: usize = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t>
pub const m_bWaitForChildOutflows: usize = 0x60; // bool
pub const m_OnFinished: usize = 0x68; // CPulse_ResumePoint
pub const m_OnCanceled: usize = 0x78; // CPulse_ResumePoint
pub const m_OnCanceled: usize = 0x98; // CPulse_ResumePoint
}
// Parent: None
// Fields count: 4
@ -477,6 +597,33 @@ pub mod cs2_dumper {
pub const m_TargetInput: usize = 0x10; // CUtlSymbolLarge
pub const m_Param: usize = 0x18; // CUtlSymbolLarge
}
// Parent: CPulseCell_BaseRequirement
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseRequirementPass
pub mod CPulseCell_LimitCount {
pub const m_nLimitCount: usize = 0x48; // int32
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod PulseGraphExecutionHistoryNodeDesc_t {
pub const strCellDesc: usize = 0x0; // CBufferString
pub const strBindingName: usize = 0x10; // CUtlSymbolLarge
}
// Parent: CPulse_ResumePoint
// Fields count: 0
pub mod SignatureOutflow_Resume {
}
// Parent: None
// Fields count: 0
//
@ -486,15 +633,17 @@ pub mod cs2_dumper {
pub mod FakeEntity_tAPI {
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Step_CallExternalMethod {
pub const m_MethodName: usize = 0x48; // CUtlSymbolLarge
pub const m_ExpectedArgs: usize = 0x50; // CUtlVector<CPulseRuntimeMethodArg>
pub const m_GameBlackboard: usize = 0x50; // CUtlSymbolLarge
pub const m_ExpectedArgs: usize = 0x58; // CUtlLeanVector<CPulseRuntimeMethodArg>
pub const m_nAsyncCallMode: usize = 0x68; // PulseMethodCallMode_t
pub const m_OnFinished: usize = 0x70; // CPulse_ResumePoint
}
@ -503,6 +652,7 @@ pub mod cs2_dumper {
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
pub mod CPulseGraphInstance_TurtleGraphics {
}
@ -514,20 +664,33 @@ pub mod cs2_dumper {
pub mod CPulseCell_BaseFlow {
}
// Parent: None
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
pub mod PulseGraphExecutionHistoryEntry_t {
pub const nCursorID: usize = 0x0; // PulseCursorID_t
pub const nEditorID: usize = 0x4; // PulseDocNodeID_t
pub const flExecTime: usize = 0x8; // float32
pub const unFlags: usize = 0xC; // uint32
pub const tagName: usize = 0x10; // CUtlSymbolLarge
}
// Parent: None
// Fields count: 1
pub mod PulseCursorYieldToken_t {
pub const m_Value: usize = 0x0; // int32
}
// Parent: None
// Fields count: 7
pub mod FakeEntity_t {
pub const m_nHandle: usize = 0x0; // PulseTestEHandle_t
pub const m_Name: usize = 0x8; // CUtlString
pub const m_Class: usize = 0x10; // CUtlString
pub const m_bDestroyed: usize = 0x18; // bool
pub const m_pAssociatedGraphInstance: usize = 0x20; // CPulseGraphInstance_TestDomain*
pub const m_bFuncWasCalled: usize = 0x28; // bool
pub const m_fValue: usize = 0x2C; // float32
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulseGraphExecutionHistory {
pub const m_nInstanceID: usize = 0x0; // PulseGraphInstanceID_t
pub const m_strFileName: usize = 0x8; // CUtlString
pub const m_vecHistory: usize = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
pub const m_mapCellDesc: usize = 0x28; // CUtlOrderedMap<PulseDocNodeID_t,PulseGraphExecutionHistoryNodeDesc_t*>
pub const m_mapCursorDesc: usize = 0x50; // CUtlOrderedMap<PulseCursorID_t,PulseGraphExecutionHistoryCursorDesc_t*>
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 3
@ -536,10 +699,22 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_TestWaitWithCursorState {
pub const m_WakeResume: usize = 0x48; // CPulse_ResumePoint
pub const m_WakeCancel: usize = 0x58; // CPulse_ResumePoint
pub const m_WakeFail: usize = 0x68; // CPulse_ResumePoint
pub const m_WakeCancel: usize = 0x78; // CPulse_ResumePoint
pub const m_WakeFail: usize = 0xA8; // CPulse_ResumePoint
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_ObservableVariableListener {
pub const m_BlackboardReference: usize = 0x70; // CPulse_BlackboardReference
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -549,7 +724,7 @@ pub mod cs2_dumper {
pub mod CPulseCell_BaseYieldingInflow {
}
// Parent: None
// Fields count: 11
// Fields count: 12
//
// Metadata:
// MGetKV3ClassDefaults
@ -564,7 +739,8 @@ pub mod cs2_dumper {
pub const m_nDestInstruction: usize = 0x18; // int32
pub const m_nCallInfoIndex: usize = 0x1C; // PulseRuntimeCallInfoIndex_t
pub const m_nConstIdx: usize = 0x20; // PulseRuntimeConstantIndex_t
pub const m_DomainValue: usize = 0x28; // CBufferString
pub const m_nDomainValueIdx: usize = 0x22; // PulseRuntimeDomainValueIndex_t
pub const m_nBlackboardReferenceIdx: usize = 0x24; // PulseRuntimeBlackboardReferenceIndex_t
}
// Parent: None
// Fields count: 5
@ -579,7 +755,7 @@ pub mod cs2_dumper {
pub const m_nSrcInstruction: usize = 0x30; // int32
}
// Parent: None
// Fields count: 5
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
@ -589,6 +765,8 @@ pub mod cs2_dumper {
pub const m_Type: usize = 0x10; // CPulseValueFullType
pub const m_DefaultValue: usize = 0x20; // KeyValues3
pub const m_bIsPublic: usize = 0x32; // bool
pub const m_bIsObservable: usize = 0x33; // bool
pub const m_nEditorNodeID: usize = 0x34; // PulseDocNodeID_t
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 5
@ -597,27 +775,46 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_Method {
pub const m_MethodName: usize = 0x70; // CUtlSymbolLarge
pub const m_Description: usize = 0x78; // CUtlString
pub const m_bIsPublic: usize = 0x80; // bool
pub const m_ReturnType: usize = 0x88; // CPulseValueFullType
pub const m_Args: usize = 0x98; // CUtlVector<CPulseRuntimeMethodArg>
pub const m_Args: usize = 0x98; // CUtlLeanVector<CPulseRuntimeMethodArg>
}
// Parent: CBasePulseGraphInstance
// Fields count: 6
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
// MPulseDomainOptInFeatureTag
pub mod CPulseGraphInstance_TestDomain {
pub const m_bIsRunningUnitTests: usize = 0xD8; // bool
pub const m_bExplicitTimeStepping: usize = 0xD9; // bool
pub const m_bExpectingToDestroyWithYieldedCursors: usize = 0xDA; // bool
pub const m_nNextValidateIndex: usize = 0xDC; // int32
pub const m_Tracepoints: usize = 0xE0; // CUtlVector<CUtlString>
pub const m_bTestYesOrNoPath: usize = 0xF8; // bool
pub const m_bIsRunningUnitTests: usize = 0xF8; // bool
pub const m_bExplicitTimeStepping: usize = 0xF9; // bool
pub const m_bExpectingToDestroyWithYieldedCursors: usize = 0xFA; // bool
pub const m_nNextValidateIndex: usize = 0xFC; // int32
pub const m_Tracepoints: usize = 0x100; // CUtlVector<CUtlString>
pub const m_bTestYesOrNoPath: usize = 0x118; // bool
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
pub mod FakeEntityDerivedB_tAPI {
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod PulseNodeDynamicOutflows_t__DynamicOutflow_t {
pub const m_OutflowID: usize = 0x0; // CGlobalSymbol
pub const m_Connection: usize = 0x8; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 1
@ -626,6 +823,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_CycleShuffled {
pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -648,6 +846,16 @@ pub mod cs2_dumper {
pub const flWaitValue: usize = 0x0; // float32
pub const bFailOnCancel: usize = 0x4; // bool
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulse_DomainValue {
pub const m_nType: usize = 0x0; // PulseDomainValueType_t
pub const m_Value: usize = 0x8; // CGlobalSymbol
pub const m_ExpectedRuntimeType: usize = 0x10; // CGlobalSymbol
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
//
@ -655,6 +863,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
pub mod CPulseCell_Step_TestDomainCreateFakeEntity {
}
@ -665,6 +874,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPulseEditorHeaderText
pub mod CPulseCell_Step_TestDomainEntFire {
@ -678,14 +888,39 @@ pub mod cs2_dumper {
// MPropertyDescription
pub mod CPulseMathlib {
}
// Parent: None
// Fields count: 1
pub mod PulseRuntimeBlackboardReferenceIndex_t {
pub const m_Value: usize = 0x0; // int16
}
// Parent: CPulse_OutflowConnection
// Fields count: 0
pub mod SignatureOutflow_Continue {
}
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Test_MultiOutflow_WithParams_Yielding {
pub const m_Out1: usize = 0x48; // SignatureOutflow_Continue
pub const m_AsyncChild1: usize = 0x78; // SignatureOutflow_Continue
pub const m_AsyncChild2: usize = 0xA8; // SignatureOutflow_Continue
pub const m_YieldResume1: usize = 0xD8; // SignatureOutflow_Resume
pub const m_YieldResume2: usize = 0x108; // SignatureOutflow_Resume
}
// Parent: CPulseGraphInstance_TestDomain
// Fields count: 1
//
// Metadata:
// MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings
pub mod CPulseGraphInstance_TestDomain_Derived {
pub const m_nInstanceValueX: usize = 0xFC; // int32
pub const m_nInstanceValueX: usize = 0x11C; // int32
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4
@ -694,6 +929,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_EntOutputHandler {
pub const m_SourceEntity: usize = 0x70; // CUtlSymbolLarge
pub const m_SourceOutput: usize = 0x78; // CUtlSymbolLarge
@ -705,6 +941,14 @@ pub mod cs2_dumper {
pub mod PulseRuntimeConstantIndex_t {
pub const m_Value: usize = 0x0; // int16
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
pub mod FakeEntityDerivedA_tAPI {
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
//
@ -712,6 +956,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
pub mod CPulseCell_Step_TestDomainTracepoint {
}
@ -720,6 +965,25 @@ pub mod cs2_dumper {
pub mod PulseDocNodeID_t {
pub const m_Value: usize = 0x0; // int32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulse_BlackboardReference {
pub const m_hBlackboardResource: usize = 0x0; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIPulseGraphDef>>
pub const m_BlackboardResource: usize = 0xE0; // CUtlSymbolLarge
pub const m_nNodeID: usize = 0xE8; // PulseDocNodeID_t
pub const m_NodeName: usize = 0xF0; // CGlobalSymbol
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulseCell_LimitCount__InstanceState_t {
pub const m_nCurrentCount: usize = 0x0; // int32
}
// Parent: CPulseCell_BaseValue
// Fields count: 0
//
@ -727,6 +991,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
pub mod CPulseCell_Val_TestDomainGetEntityName {
}
@ -776,26 +1041,31 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_IntSwitch {
pub const m_DefaultCaseOutflow: usize = 0x48; // CPulse_OutflowConnection
pub const m_CaseOutflows: usize = 0x58; // CUtlVector<CPulse_OutflowConnection>
pub const m_CaseOutflows: usize = 0x78; // CUtlVector<CPulse_OutflowConnection>
}
// Parent: None
// Fields count: 10
// Fields count: 14
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulseGraphDef {
pub const m_DomainIdentifier: usize = 0x8; // CUtlSymbolLarge
pub const m_ParentMapName: usize = 0x10; // CUtlSymbolLarge
pub const m_Chunks: usize = 0x18; // CUtlVector<CPulse_Chunk*>
pub const m_Cells: usize = 0x30; // CUtlVector<CPulseCell_Base*>
pub const m_Vars: usize = 0x48; // CUtlVector<CPulse_Variable>
pub const m_PublicOutputs: usize = 0x60; // CUtlVector<CPulse_PublicOutput>
pub const m_InvokeBindings: usize = 0x78; // CUtlVector<CPulse_InvokeBinding*>
pub const m_CallInfos: usize = 0x90; // CUtlVector<CPulse_CallInfo*>
pub const m_Constants: usize = 0xA8; // CUtlVector<CPulse_Constant>
pub const m_OutputConnections: usize = 0xC0; // CUtlVector<CPulse_OutputConnection*>
pub const m_ParentXmlName: usize = 0x18; // CUtlSymbolLarge
pub const m_vecGameBlackboards: usize = 0x20; // CUtlVector<CUtlSymbolLarge>
pub const m_Chunks: usize = 0x38; // CUtlVector<CPulse_Chunk*>
pub const m_Cells: usize = 0x50; // CUtlVector<CPulseCell_Base*>
pub const m_Vars: usize = 0x68; // CUtlVector<CPulse_Variable>
pub const m_PublicOutputs: usize = 0x80; // CUtlVector<CPulse_PublicOutput>
pub const m_InvokeBindings: usize = 0x98; // CUtlVector<CPulse_InvokeBinding*>
pub const m_CallInfos: usize = 0xB0; // CUtlVector<CPulse_CallInfo*>
pub const m_Constants: usize = 0xC8; // CUtlVector<CPulse_Constant>
pub const m_DomainValues: usize = 0xE0; // CUtlVector<CPulse_DomainValue>
pub const m_BlackboardReferences: usize = 0xF8; // CUtlVector<CPulse_BlackboardReference>
pub const m_OutputConnections: usize = 0x110; // CUtlVector<CPulse_OutputConnection*>
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -804,6 +1074,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Test_MultiInflow_NoDefault {
}
// Parent: None
@ -822,12 +1093,13 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
pub mod CPulseCell_WaitForCursorsWithTag {
pub const m_bTagSelfWhenComplete: usize = 0x60; // bool
pub const m_nDesiredKillPriority: usize = 0x64; // PulseCursorCancelPriority_t
pub const m_bTagSelfWhenComplete: usize = 0x80; // bool
pub const m_nDesiredKillPriority: usize = 0x84; // PulseCursorCancelPriority_t
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
@ -843,18 +1115,13 @@ pub mod cs2_dumper {
pub mod PulseRuntimeCallInfoIndex_t {
pub const m_Value: usize = 0x0; // int32
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
// Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPropertyFriendlyName
// MPropertyDescription
pub mod CPulseCell_Outflow_TestExplicitYesNo {
pub const m_Yes: usize = 0x48; // CPulse_OutflowConnection
pub const m_No: usize = 0x58; // CPulse_OutflowConnection
pub mod CPulseCell_BaseLerp {
pub const m_WakeResume: usize = 0x48; // CPulse_ResumePoint
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
@ -863,11 +1130,26 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
pub mod CPulseCell_Outflow_TestExplicitYesNo {
pub const m_Yes: usize = 0x48; // CPulse_OutflowConnection
pub const m_No: usize = 0x78; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
pub mod CPulseCell_Outflow_TestRandomYesNo {
pub const m_Yes: usize = 0x48; // CPulse_OutflowConnection
pub const m_No: usize = 0x58; // CPulse_OutflowConnection
pub const m_No: usize = 0x78; // CPulse_OutflowConnection
}
// Parent: CPulseCell_BaseFlow
// Fields count: 0
@ -876,6 +1158,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Step_DebugLog {
}
// Parent: None
@ -890,6 +1173,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_CycleOrdered {
pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
}
@ -915,6 +1199,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
@ -926,10 +1211,10 @@ pub mod cs2_dumper {
// Metadata:
// MPulseLibraryBindings
pub mod CPulseTurtleGraphicsCursor {
pub const m_Color: usize = 0x162; // Color
pub const m_vPos: usize = 0x168; // Vector2D
pub const m_flHeadingDeg: usize = 0x170; // float32
pub const m_bPenUp: usize = 0x174; // bool
pub const m_Color: usize = 0x9E; // Color
pub const m_vPos: usize = 0xA4; // Vector2D
pub const m_flHeadingDeg: usize = 0xAC; // float32
pub const m_bPenUp: usize = 0xB0; // bool
}
}
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: librendersystemvulkan.so
@ -24,7 +24,7 @@ namespace CS2Dumper.Schemas {
RENDER_PRIM_TYPE_COUNT = 0xC
}
// Alignment: 4
// Members count: 12
// Members count: 13
public enum RenderBufferFlags_t : uint {
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2,
@ -37,7 +37,8 @@ namespace CS2Dumper.Schemas {
RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400,
RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800
RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800,
RENDER_BUFFER_POOL_ALLOCATED = 0x1000
}
// Alignment: 1
// Members count: 8

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -29,7 +29,7 @@ namespace cs2_dumper {
RENDER_PRIM_TYPE_COUNT = 0xC
};
// Alignment: 4
// Members count: 12
// Members count: 13
enum class RenderBufferFlags_t : uint32_t {
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2,
@ -42,7 +42,8 @@ namespace cs2_dumper {
RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400,
RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800
RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800,
RENDER_BUFFER_POOL_ALLOCATED = 0x1000
};
// Alignment: 1
// Members count: 8

View File

@ -50,6 +50,7 @@
"RENDER_BUFFER_APPEND_CONSUME_BUFFER": 64,
"RENDER_BUFFER_BYTEADDRESS_BUFFER": 16,
"RENDER_BUFFER_PER_FRAME_WRITE_ONCE": 2048,
"RENDER_BUFFER_POOL_ALLOCATED": 4096,
"RENDER_BUFFER_SHADER_BINDING_TABLE": 1024,
"RENDER_BUFFER_STRUCTURED_BUFFER": 32,
"RENDER_BUFFER_UAV_COUNTER": 128,

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
@ -28,7 +28,7 @@ pub mod cs2_dumper {
RENDER_PRIM_TYPE_COUNT = 0xC
}
// Alignment: 4
// Members count: 12
// Members count: 13
#[repr(u32)]
pub enum RenderBufferFlags_t {
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
@ -42,7 +42,8 @@ pub mod cs2_dumper {
RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400,
RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800
RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800,
RENDER_BUFFER_POOL_ALLOCATED = 0x1000
}
// Alignment: 1
// Members count: 8

View File

@ -1,9 +1,9 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libresourcesystem.so
// Classes count: 59
// Classes count: 58
// Enums count: 2
public static class LibresourcesystemSo {
// Alignment: 1
@ -274,20 +274,6 @@ namespace CS2Dumper.Schemas {
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCNmGraph {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCDACGameDefsData {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCPanoramaStyle {
}
// Parent: None
@ -302,6 +288,13 @@ namespace CS2Dumper.Schemas {
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCNmGraphVariation {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCCSGOEconItem {
}
// Parent: None
@ -309,6 +302,13 @@ namespace CS2Dumper.Schemas {
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCNmGraphDefinition {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCSmartProp {
}
// Parent: None
@ -421,13 +421,6 @@ namespace CS2Dumper.Schemas {
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCNmGraphDataSet {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeIParticleSystemDefinition {
}
// Parent: None

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -8,7 +8,7 @@
namespace cs2_dumper {
namespace schemas {
// Module: libresourcesystem.so
// Classes count: 59
// Classes count: 58
// Enums count: 2
namespace libresourcesystem_so {
// Alignment: 1
@ -279,20 +279,6 @@ namespace cs2_dumper {
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCNmGraph {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCDACGameDefsData {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCPanoramaStyle {
}
// Parent: None
@ -307,6 +293,13 @@ namespace cs2_dumper {
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCNmGraphVariation {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCCSGOEconItem {
}
// Parent: None
@ -314,6 +307,13 @@ namespace cs2_dumper {
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCNmGraphDefinition {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCSmartProp {
}
// Parent: None
@ -426,13 +426,6 @@ namespace cs2_dumper {
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCNmGraphDataSet {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeIParticleSystemDefinition {
}
// Parent: None

View File

@ -145,16 +145,6 @@
],
"parent": null
},
"InfoForResourceTypeCDACGameDefsData": {
"fields": {},
"metadata": [
{
"name": "MResourceTypeForInfoType",
"type": "Unknown"
}
],
"parent": null
},
"InfoForResourceTypeCDOTANovelsList": {
"fields": {},
"metadata": [
@ -245,7 +235,7 @@
],
"parent": null
},
"InfoForResourceTypeCNmGraph": {
"InfoForResourceTypeCNmGraphDefinition": {
"fields": {},
"metadata": [
{
@ -255,7 +245,7 @@
],
"parent": null
},
"InfoForResourceTypeCNmGraphDataSet": {
"InfoForResourceTypeCNmGraphVariation": {
"fields": {},
"metadata": [
{

View File

@ -1,12 +1,12 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libresourcesystem.so
// Classes count: 59
// Classes count: 58
// Enums count: 2
pub mod libresourcesystem_so {
// Alignment: 1
@ -279,20 +279,6 @@ pub mod cs2_dumper {
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmGraph {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCDACGameDefsData {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCPanoramaStyle {
}
// Parent: None
@ -307,6 +293,13 @@ pub mod cs2_dumper {
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmGraphVariation {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCCSGOEconItem {
}
// Parent: None
@ -314,6 +307,13 @@ pub mod cs2_dumper {
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmGraphDefinition {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCSmartProp {
}
// Parent: None
@ -426,13 +426,6 @@ pub mod cs2_dumper {
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmGraphDataSet {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeIParticleSystemDefinition {
}
// Parent: None

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libscenesystem.so

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libschemasystem.so

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,26 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libsoundsystem.so
// Classes count: 51
// Enums count: 13
// Classes count: 63
// Enums count: 18
public static class LibsoundsystemSo {
// Alignment: 4
// Members count: 2
public enum EMode_t : uint {
Peak = 0x0,
RMS = 0x1
}
// Alignment: 1
// Members count: 5
public enum EWaveform : byte {
Sine = 0x0,
Square = 0x1,
Saw = 0x2,
Triangle = 0x3,
Noise = 0x4
}
// Alignment: 4
// Members count: 5
public enum VMixLFOShape_t : uint {
@ -52,39 +67,47 @@ namespace CS2Dumper.Schemas {
SOS_SORTTYPE_HIGHEST = 0x0,
SOS_SORTTYPE_LOWEST = 0x1
}
// Alignment: 4
// Members count: 4
public enum PlayBackMode_t : uint {
Random = 0x0,
RandomNoRepeats = 0x1,
RandomAvoidLast = 0x2,
Sequential = 0x3
}
// Alignment: 2
// Members count: 30
public enum VMixProcessorType_t : ushort {
VPROCESSOR_UNKNOWN = 0x0,
VPROCESSOR_STEAMAUDIO_REVERB = 0x1,
VPROCESSOR_RT_PITCH = 0x2,
VPROCESSOR_STEAMAUDIO_HRTF = 0x3,
VPROCESSOR_DYNAMICS = 0x4,
VPROCESSOR_PRESETDSP = 0x5,
VPROCESSOR_DELAY = 0x6,
VPROCESSOR_MOD_DELAY = 0x7,
VPROCESSOR_DIFFUSOR = 0x8,
VPROCESSOR_BOXVERB = 0x9,
VPROCESSOR_FREEVERB = 0xA,
VPROCESSOR_PLATEVERB = 0xB,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xC,
VPROCESSOR_FILTER = 0xD,
VPROCESSOR_STEAMAUDIO_PATHING = 0xE,
VPROCESSOR_EQ8 = 0xF,
VPROCESSOR_ENVELOPE = 0x10,
VPROCESSOR_VOCODER = 0x11,
VPROCESSOR_CONVOLUTION = 0x12,
VPROCESSOR_DYNAMICS_3BAND = 0x13,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x14,
VPROCESSOR_SHAPER = 0x15,
VPROCESSOR_PANNER = 0x16,
VPROCESSOR_UTILITY = 0x17,
VPROCESSOR_AUTOFILTER = 0x18,
VPROCESSOR_OSC = 0x19,
VPROCESSOR_STEREODELAY = 0x1A,
VPROCESSOR_EFFECT_CHAIN = 0x1B,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1C,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1D
VPROCESSOR_RT_PITCH = 0x1,
VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
VPROCESSOR_DYNAMICS = 0x3,
VPROCESSOR_PRESETDSP = 0x4,
VPROCESSOR_DELAY = 0x5,
VPROCESSOR_MOD_DELAY = 0x6,
VPROCESSOR_DIFFUSOR = 0x7,
VPROCESSOR_BOXVERB = 0x8,
VPROCESSOR_FREEVERB = 0x9,
VPROCESSOR_PLATEVERB = 0xA,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
VPROCESSOR_FILTER = 0xC,
VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
VPROCESSOR_EQ8 = 0xE,
VPROCESSOR_ENVELOPE = 0xF,
VPROCESSOR_VOCODER = 0x10,
VPROCESSOR_CONVOLUTION = 0x11,
VPROCESSOR_DYNAMICS_3BAND = 0x12,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
VPROCESSOR_SHAPER = 0x14,
VPROCESSOR_PANNER = 0x15,
VPROCESSOR_UTILITY = 0x16,
VPROCESSOR_AUTOFILTER = 0x17,
VPROCESSOR_OSC = 0x18,
VPROCESSOR_STEREODELAY = 0x19,
VPROCESSOR_EFFECT_CHAIN = 0x1A,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
}
// Alignment: 4
// Members count: 30
@ -137,6 +160,31 @@ namespace CS2Dumper.Schemas {
VMIX_CHAN_MID_SIDE = 0x5
}
// Alignment: 1
// Members count: 13
public enum EMidiNote : byte {
C = 0x0,
C_Sharp = 0x1,
D = 0x2,
D_Sharp = 0x3,
E = 0x4,
F = 0x5,
F_Sharp = 0x6,
G = 0x7,
G_Sharp = 0x8,
A = 0x9,
A_Sharp = 0xA,
B = 0xB,
Count = 0xC
}
// Alignment: 1
// Members count: 4
public enum CVSoundFormat_t : byte {
PCM16 = 0x0,
PCM8 = 0x1,
MP3 = 0x2,
ADPCM = 0x3
}
// Alignment: 1
// Members count: 9
public enum VMixFilterSlope_t : byte {
FILTER_SLOPE_1POLE_6dB = 0x0,
@ -150,14 +198,16 @@ namespace CS2Dumper.Schemas {
FILTER_SLOPE_MAX = 0x7
}
// Alignment: 4
// Members count: 6
// Members count: 8
public enum ActionType_t : uint {
SOS_ACTION_NONE = 0x0,
SOS_ACTION_LIMITER = 0x1,
SOS_ACTION_TIME_LIMIT = 0x2,
SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4,
SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5
SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5,
SOS_ACTION_SOUNDEVENT_PRIORITY = 0x6,
SOS_ACTION_COUNT_ENVELOPE = 0x7
}
// Alignment: 4
// Members count: 3
@ -172,6 +222,18 @@ namespace CS2Dumper.Schemas {
SOS_GROUPTYPE_DYNAMIC = 0x0,
SOS_GROUPTYPE_STATIC = 0x1
}
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerBlender {
public const nint m_firstSound = 0xF0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_secondSound = 0xF8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_flBlendFactor = 0x100; // float32
}
// Parent: None
// Fields count: 4
//
@ -183,26 +245,72 @@ namespace CS2Dumper.Schemas {
public const nint m_flWidth = 0x8; // float32
public const nint m_flLateReflections = 0xC; // float32
}
// Parent: CVoiceContainerBase
// Parent: None
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerRandomSampler {
public const nint m_flLoudAmplitude = 0x60; // float32
public const nint m_flLoudAmplitudeJitter = 0x64; // float32
public const nint m_flSoftAmplitude = 0x68; // float32
public const nint m_flSoftAmplitudeJitter = 0x6C; // float32
public const nint m_flLoudTimeJitter = 0x70; // float32
public const nint m_flSoftTimeJitter = 0x74; // float32
public const nint m_grainResources = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
public static class CVoiceContainerStaticAdditiveSynth__CHarmonic {
public const nint m_nWaveform = 0x0; // EWaveform
public const nint m_nFundamental = 0x1; // EMidiNote
public const nint m_nOctave = 0x4; // int32
public const nint m_flCents = 0x8; // float32
public const nint m_flPhase = 0xC; // float32
public const nint m_curve = 0x10; // CPiecewiseCurve
public const nint m_volumeScaling = 0x50; // CVoiceContainerStaticAdditiveSynth::CGainScalePerInstance
}
// Parent: CVoiceContainerBase
// Fields count: 0
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerStaticAdditiveSynth__CTone {
public const nint m_harmonics = 0x0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CHarmonic>
public const nint m_curve = 0x18; // CPiecewiseCurve
public const nint m_bSyncInstances = 0x58; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerRandomSampler {
public const nint m_flAmplitude = 0xF0; // float32
public const nint m_flAmplitudeJitter = 0xF4; // float32
public const nint m_flTimeJitter = 0xF8; // float32
public const nint m_flMaxLength = 0xFC; // float32
public const nint m_nNumDelayVariations = 0x100; // int32
public const nint m_grainResources = 0x108; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerDefault {
public const nint m_vsndReference = 0xF0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
}
// Parent: None
// Fields count: 11
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVSound {
public const nint m_nRate = 0x0; // int32
public const nint m_nFormat = 0x4; // CVSoundFormat_t
public const nint m_nChannels = 0x8; // uint32
public const nint m_nLoopStart = 0xC; // int32
public const nint m_nSampleCount = 0x10; // uint32
public const nint m_flDuration = 0x14; // float32
public const nint m_Sentences = 0x18; // CUtlVector<CAudioSentence>
public const nint m_nStreamingSize = 0x30; // uint32
public const nint m_nSeekTable = 0x38; // CUtlVector<int32>
public const nint m_nLoopEnd = 0x50; // int32
public const nint m_encodedHeader = 0x58; // CUtlBinaryBlock
}
// Parent: None
// Fields count: 1
@ -239,6 +347,15 @@ namespace CS2Dumper.Schemas {
public const nint m_opvarName = 0x28; // CUtlString
public const nint m_nSortType = 0x30; // SosActionSortType_t
}
// Parent: CVoiceContainerBase
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerNull {
}
// Parent: None
// Fields count: 3
//
@ -254,19 +371,44 @@ namespace CS2Dumper.Schemas {
//
// Metadata:
// MGetKV3ClassDefaults
// MVDataNodeType
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerAnalysisBase {
public const nint m_bRegenerateCurveOnCompile = 0x8; // bool
public const nint m_curve = 0x10; // CPiecewiseCurve
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class VMixPannerDesc_t {
public const nint m_type = 0x0; // VMixPannerType_t
public const nint m_flStrength = 0x4; // float32
}
// Parent: CSosGroupActionSchema
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
public static class CSosGroupActionSoundeventPrioritySchema {
public const nint m_priorityValue = 0x18; // CUtlString
public const nint m_priorityVolumeScalar = 0x20; // CUtlString
public const nint m_priorityContributeButDontRead = 0x28; // CUtlString
public const nint m_bPriorityReadButDontContribute = 0x30; // CUtlString
}
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerRealtimeFMSineWave {
public const nint m_flCarrierFrequency = 0x60; // float32
public const nint m_flModulatorFrequency = 0x64; // float32
public const nint m_flModulatorAmount = 0x68; // float32
public const nint m_flCarrierFrequency = 0xF0; // float32
public const nint m_flModulatorFrequency = 0xF4; // float32
public const nint m_flModulatorAmount = 0xF8; // float32
}
// Parent: None
// Fields count: 1
@ -328,7 +470,7 @@ namespace CS2Dumper.Schemas {
public const nint m_actionInstanceType = 0x14; // ActionType_t
}
// Parent: None
// Fields count: 8
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
@ -340,11 +482,12 @@ namespace CS2Dumper.Schemas {
public const nint m_nBlockMaxCount = 0x10; // int32
public const nint m_bInvertMatch = 0x14; // bool
public const nint m_matchPattern = 0x18; // CSosGroupMatchPattern
public const nint m_branchPattern = 0x40; // CSosGroupBranchPattern
public const nint m_vActions = 0xB0; // CSosGroupActionSchema*[4]
public const nint m_branchPattern = 0x48; // CSosGroupBranchPattern
public const nint m_flLifeSpanTime = 0x58; // float32
public const nint m_vActions = 0xC0; // CSosGroupActionSchema*[4]
}
// Parent: None
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
@ -353,6 +496,7 @@ namespace CS2Dumper.Schemas {
public const nint m_bMatchEventSubString = 0x9; // bool
public const nint m_bMatchEntIndex = 0xA; // bool
public const nint m_bMatchOpvar = 0xB; // bool
public const nint m_bMatchString = 0xC; // bool
}
// Parent: None
// Fields count: 10
@ -385,6 +529,29 @@ namespace CS2Dumper.Schemas {
public const nint m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float32
}
// Parent: None
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
public static class CAudioMorphData {
public const nint m_times = 0x0; // CUtlVector<float32>
public const nint m_nameHashCodes = 0x18; // CUtlVector<uint32>
public const nint m_nameStrings = 0x30; // CUtlVector<CUtlString>
public const nint m_samples = 0x48; // CUtlVector<CUtlVector<float32>>
public const nint m_flEaseIn = 0x60; // float32
public const nint m_flEaseOut = 0x64; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerStaticAdditiveSynth {
public const nint m_tones = 0xF0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
}
// Parent: None
// Fields count: 2
//
// Metadata:
@ -393,23 +560,19 @@ namespace CS2Dumper.Schemas {
public const nint m_dspName = 0x0; // CUtlString
public const nint m_modifiers = 0x8; // CUtlVector<CDSPMixgroupModifier>
}
// Parent: CVoiceContainerBase
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerBlend {
public const nint m_hSoundOne = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_hSoundTwo = 0x68; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_flBlendAmount = 0x70; // float32
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MVDataNodeType
// MVDataFileExtension
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerBase {
public const nint m_curves = 0x20; // CUtlDict<CPiecewiseCurve,F(size=1)>
public const nint m_vSound = 0x20; // CVSound
public const nint m_bHideAnalyzers = 0xD0; // bool
public const nint m_analysisContainers = 0xD8; // CUtlVector<CVoiceContainerAnalysisBase*>
}
// Parent: None
// Fields count: 7
@ -433,24 +596,27 @@ namespace CS2Dumper.Schemas {
public static class VMixEQ8Desc_t {
public const nint m_stages = 0x0; // VMixFilterDesc_t[8]
}
// Parent: CVoiceContainerWavFileReader
// Fields count: 1
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerEnvelopeAnalyzer {
public const nint m_envBuffer = 0x68; // CUtlVector<float32>
public static class CAudioPhonemeTag {
public const nint m_flStartTime = 0x0; // float32
public const nint m_flEndTime = 0x4; // float32
public const nint m_nPhonemeCode = 0x8; // int32
}
// Parent: CVoiceContainerBase
// Fields count: 4
// Parent: CVoiceContainerAnalysisBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerEngineSound {
public const nint m_SoundToPlay = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_flTestConstantParam = 0x68; // float32
public const nint m_flTestSoundEventBoundParam = 0x6C; // float32
public const nint m_flEngineRPM = 0x70; // float32
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerEnvelopeAnalyzer {
public const nint m_mode = 0x50; // EMode_t
public const nint m_nSamples = 0x54; // int32
public const nint m_flThreshold = 0x58; // float32
}
// Parent: None
// Fields count: 1
@ -472,6 +638,15 @@ namespace CS2Dumper.Schemas {
public const nint m_nProcType = 0xC; // int32
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class CAudioEmphasisSample {
public const nint m_flTime = 0x0; // float32
public const nint m_flValue = 0x4; // float32
}
// Parent: None
// Fields count: 8
//
// Metadata:
@ -487,6 +662,13 @@ namespace CS2Dumper.Schemas {
public const nint m_flHighCutoffFreq = 0x1C; // float32
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
public static class CSoundInfoHeader {
}
// Parent: None
// Fields count: 1
//
// Metadata:
@ -495,7 +677,7 @@ namespace CS2Dumper.Schemas {
public const nint m_groupList = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
}
// Parent: CSosGroupBranchPattern
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
@ -504,6 +686,7 @@ namespace CS2Dumper.Schemas {
public const nint m_matchSoundEventSubString = 0x18; // CUtlString
public const nint m_flEntIndex = 0x20; // float32
public const nint m_flOpvar = 0x24; // float32
public const nint m_opvarString = 0x28; // CUtlString
}
// Parent: None
// Fields count: 5
@ -517,23 +700,6 @@ namespace CS2Dumper.Schemas {
public const nint itemKVString = 0x20; // CUtlString
public const nint itemPos = 0x28; // Vector2D
}
// Parent: CVoiceContainerWavFileReader
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerTestConstant {
public const nint m_flTestConstantParam = 0x68; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerTestNestedDynamic {
public const nint m_SoundToPlay = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_flTestConstantParam = 0x68; // float32
}
// Parent: None
// Fields count: 7
//
@ -548,14 +714,6 @@ namespace CS2Dumper.Schemas {
public const nint m_flFeedbackDiffusion1 = 0x14; // float32
public const nint m_flFeedbackDiffusion2 = 0x18; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerWavFileReader {
public const nint m_wavFilePath = 0x60; // CUtlString
}
// Parent: None
// Fields count: 4
//
@ -605,6 +763,17 @@ namespace CS2Dumper.Schemas {
public const nint m_flHoldTimeMS = 0x4; // float32
public const nint m_flReleaseTimeMS = 0x8; // float32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
public static class CAudioSentence {
public const nint m_bShouldVoiceDuck = 0x0; // bool
public const nint m_RunTimePhonemes = 0x8; // CUtlVector<CAudioPhonemeTag>
public const nint m_EmphasisSamples = 0x20; // CUtlVector<CAudioEmphasisSample>
public const nint m_morphData = 0x38; // CAudioMorphData
}
// Parent: CSosGroupActionSchema
// Fields count: 3
//
@ -620,8 +789,10 @@ namespace CS2Dumper.Schemas {
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerAmpedDecayingSineWave {
public const nint m_flGainAmount = 0x68; // float32
public const nint m_flGainAmount = 0xF8; // float32
}
// Parent: None
// Fields count: 8
@ -663,6 +834,29 @@ namespace CS2Dumper.Schemas {
public static class VMixEffectChainDesc_t {
public const nint m_flCrossfadeTime = 0x0; // float32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerStaticAdditiveSynth__CGainScalePerInstance {
public const nint m_flMinVolume = 0x0; // float32
public const nint m_nInstancesAtMinVolume = 0x4; // int32
public const nint m_flMaxVolume = 0x8; // float32
public const nint m_nInstancesAtMaxVolume = 0xC; // int32
}
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerSelector {
public const nint m_mode = 0xF0; // PlayBackMode_t
public const nint m_bRetrigger = 0xF4; // bool
public const nint m_soundsToPlay = 0xF8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
}
// Parent: CSosGroupActionSchema
// Fields count: 2
//
@ -673,6 +867,31 @@ namespace CS2Dumper.Schemas {
public const nint m_flMaxDuration = 0x1C; // float32
}
// Parent: CSosGroupActionSchema
// Fields count: 8
//
// Metadata:
// MGetKV3ClassDefaults
public static class CSosGroupActionMemberCountEnvelopeSchema {
public const nint m_nBaseCount = 0x18; // int32
public const nint m_nTargetCount = 0x1C; // int32
public const nint m_flBaseValue = 0x20; // float32
public const nint m_flTargetValue = 0x24; // float32
public const nint m_flAttack = 0x28; // float32
public const nint m_flDecay = 0x2C; // float32
public const nint m_resultVarName = 0x30; // CUtlString
public const nint m_bSaveToGroup = 0x38; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerSwitch {
public const nint m_soundsToPlay = 0xF0; // CUtlVector<CVoiceContainerBase*>
}
// Parent: CSosGroupActionSchema
// Fields count: 1
//
// Metadata:
@ -715,9 +934,11 @@ namespace CS2Dumper.Schemas {
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerDecayingSineWave {
public const nint m_flFrequency = 0x60; // float32
public const nint m_flDecayTime = 0x64; // float32
public const nint m_flFrequency = 0xF0; // float32
public const nint m_flDecayTime = 0xF4; // float32
}
// Parent: None
// Fields count: 6

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -8,9 +8,24 @@
namespace cs2_dumper {
namespace schemas {
// Module: libsoundsystem.so
// Classes count: 51
// Enums count: 13
// Classes count: 63
// Enums count: 18
namespace libsoundsystem_so {
// Alignment: 4
// Members count: 2
enum class EMode_t : uint32_t {
Peak = 0x0,
RMS = 0x1
};
// Alignment: 1
// Members count: 5
enum class EWaveform : uint8_t {
Sine = 0x0,
Square = 0x1,
Saw = 0x2,
Triangle = 0x3,
Noise = 0x4
};
// Alignment: 4
// Members count: 5
enum class VMixLFOShape_t : uint32_t {
@ -57,39 +72,47 @@ namespace cs2_dumper {
SOS_SORTTYPE_HIGHEST = 0x0,
SOS_SORTTYPE_LOWEST = 0x1
};
// Alignment: 4
// Members count: 4
enum class PlayBackMode_t : uint32_t {
Random = 0x0,
RandomNoRepeats = 0x1,
RandomAvoidLast = 0x2,
Sequential = 0x3
};
// Alignment: 2
// Members count: 30
enum class VMixProcessorType_t : uint16_t {
VPROCESSOR_UNKNOWN = 0x0,
VPROCESSOR_STEAMAUDIO_REVERB = 0x1,
VPROCESSOR_RT_PITCH = 0x2,
VPROCESSOR_STEAMAUDIO_HRTF = 0x3,
VPROCESSOR_DYNAMICS = 0x4,
VPROCESSOR_PRESETDSP = 0x5,
VPROCESSOR_DELAY = 0x6,
VPROCESSOR_MOD_DELAY = 0x7,
VPROCESSOR_DIFFUSOR = 0x8,
VPROCESSOR_BOXVERB = 0x9,
VPROCESSOR_FREEVERB = 0xA,
VPROCESSOR_PLATEVERB = 0xB,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xC,
VPROCESSOR_FILTER = 0xD,
VPROCESSOR_STEAMAUDIO_PATHING = 0xE,
VPROCESSOR_EQ8 = 0xF,
VPROCESSOR_ENVELOPE = 0x10,
VPROCESSOR_VOCODER = 0x11,
VPROCESSOR_CONVOLUTION = 0x12,
VPROCESSOR_DYNAMICS_3BAND = 0x13,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x14,
VPROCESSOR_SHAPER = 0x15,
VPROCESSOR_PANNER = 0x16,
VPROCESSOR_UTILITY = 0x17,
VPROCESSOR_AUTOFILTER = 0x18,
VPROCESSOR_OSC = 0x19,
VPROCESSOR_STEREODELAY = 0x1A,
VPROCESSOR_EFFECT_CHAIN = 0x1B,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1C,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1D
VPROCESSOR_RT_PITCH = 0x1,
VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
VPROCESSOR_DYNAMICS = 0x3,
VPROCESSOR_PRESETDSP = 0x4,
VPROCESSOR_DELAY = 0x5,
VPROCESSOR_MOD_DELAY = 0x6,
VPROCESSOR_DIFFUSOR = 0x7,
VPROCESSOR_BOXVERB = 0x8,
VPROCESSOR_FREEVERB = 0x9,
VPROCESSOR_PLATEVERB = 0xA,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
VPROCESSOR_FILTER = 0xC,
VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
VPROCESSOR_EQ8 = 0xE,
VPROCESSOR_ENVELOPE = 0xF,
VPROCESSOR_VOCODER = 0x10,
VPROCESSOR_CONVOLUTION = 0x11,
VPROCESSOR_DYNAMICS_3BAND = 0x12,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
VPROCESSOR_SHAPER = 0x14,
VPROCESSOR_PANNER = 0x15,
VPROCESSOR_UTILITY = 0x16,
VPROCESSOR_AUTOFILTER = 0x17,
VPROCESSOR_OSC = 0x18,
VPROCESSOR_STEREODELAY = 0x19,
VPROCESSOR_EFFECT_CHAIN = 0x1A,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
};
// Alignment: 4
// Members count: 30
@ -142,6 +165,31 @@ namespace cs2_dumper {
VMIX_CHAN_MID_SIDE = 0x5
};
// Alignment: 1
// Members count: 13
enum class EMidiNote : uint8_t {
C = 0x0,
C_Sharp = 0x1,
D = 0x2,
D_Sharp = 0x3,
E = 0x4,
F = 0x5,
F_Sharp = 0x6,
G = 0x7,
G_Sharp = 0x8,
A = 0x9,
A_Sharp = 0xA,
B = 0xB,
Count = 0xC
};
// Alignment: 1
// Members count: 4
enum class CVSoundFormat_t : uint8_t {
PCM16 = 0x0,
PCM8 = 0x1,
MP3 = 0x2,
ADPCM = 0x3
};
// Alignment: 1
// Members count: 9
enum class VMixFilterSlope_t : uint8_t {
FILTER_SLOPE_1POLE_6dB = 0x0,
@ -155,14 +203,16 @@ namespace cs2_dumper {
FILTER_SLOPE_MAX = 0x7
};
// Alignment: 4
// Members count: 6
// Members count: 8
enum class ActionType_t : uint32_t {
SOS_ACTION_NONE = 0x0,
SOS_ACTION_LIMITER = 0x1,
SOS_ACTION_TIME_LIMIT = 0x2,
SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4,
SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5
SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5,
SOS_ACTION_SOUNDEVENT_PRIORITY = 0x6,
SOS_ACTION_COUNT_ENVELOPE = 0x7
};
// Alignment: 4
// Members count: 3
@ -177,6 +227,18 @@ namespace cs2_dumper {
SOS_GROUPTYPE_DYNAMIC = 0x0,
SOS_GROUPTYPE_STATIC = 0x1
};
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerBlender {
constexpr std::ptrdiff_t m_firstSound = 0xF0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_secondSound = 0xF8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_flBlendFactor = 0x100; // float32
}
// Parent: None
// Fields count: 4
//
@ -188,26 +250,72 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flWidth = 0x8; // float32
constexpr std::ptrdiff_t m_flLateReflections = 0xC; // float32
}
// Parent: CVoiceContainerBase
// Parent: None
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerRandomSampler {
constexpr std::ptrdiff_t m_flLoudAmplitude = 0x60; // float32
constexpr std::ptrdiff_t m_flLoudAmplitudeJitter = 0x64; // float32
constexpr std::ptrdiff_t m_flSoftAmplitude = 0x68; // float32
constexpr std::ptrdiff_t m_flSoftAmplitudeJitter = 0x6C; // float32
constexpr std::ptrdiff_t m_flLoudTimeJitter = 0x70; // float32
constexpr std::ptrdiff_t m_flSoftTimeJitter = 0x74; // float32
constexpr std::ptrdiff_t m_grainResources = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
namespace CVoiceContainerStaticAdditiveSynth__CHarmonic {
constexpr std::ptrdiff_t m_nWaveform = 0x0; // EWaveform
constexpr std::ptrdiff_t m_nFundamental = 0x1; // EMidiNote
constexpr std::ptrdiff_t m_nOctave = 0x4; // int32
constexpr std::ptrdiff_t m_flCents = 0x8; // float32
constexpr std::ptrdiff_t m_flPhase = 0xC; // float32
constexpr std::ptrdiff_t m_curve = 0x10; // CPiecewiseCurve
constexpr std::ptrdiff_t m_volumeScaling = 0x50; // CVoiceContainerStaticAdditiveSynth::CGainScalePerInstance
}
// Parent: CVoiceContainerBase
// Fields count: 0
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerStaticAdditiveSynth__CTone {
constexpr std::ptrdiff_t m_harmonics = 0x0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CHarmonic>
constexpr std::ptrdiff_t m_curve = 0x18; // CPiecewiseCurve
constexpr std::ptrdiff_t m_bSyncInstances = 0x58; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerRandomSampler {
constexpr std::ptrdiff_t m_flAmplitude = 0xF0; // float32
constexpr std::ptrdiff_t m_flAmplitudeJitter = 0xF4; // float32
constexpr std::ptrdiff_t m_flTimeJitter = 0xF8; // float32
constexpr std::ptrdiff_t m_flMaxLength = 0xFC; // float32
constexpr std::ptrdiff_t m_nNumDelayVariations = 0x100; // int32
constexpr std::ptrdiff_t m_grainResources = 0x108; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerDefault {
constexpr std::ptrdiff_t m_vsndReference = 0xF0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
}
// Parent: None
// Fields count: 11
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVSound {
constexpr std::ptrdiff_t m_nRate = 0x0; // int32
constexpr std::ptrdiff_t m_nFormat = 0x4; // CVSoundFormat_t
constexpr std::ptrdiff_t m_nChannels = 0x8; // uint32
constexpr std::ptrdiff_t m_nLoopStart = 0xC; // int32
constexpr std::ptrdiff_t m_nSampleCount = 0x10; // uint32
constexpr std::ptrdiff_t m_flDuration = 0x14; // float32
constexpr std::ptrdiff_t m_Sentences = 0x18; // CUtlVector<CAudioSentence>
constexpr std::ptrdiff_t m_nStreamingSize = 0x30; // uint32
constexpr std::ptrdiff_t m_nSeekTable = 0x38; // CUtlVector<int32>
constexpr std::ptrdiff_t m_nLoopEnd = 0x50; // int32
constexpr std::ptrdiff_t m_encodedHeader = 0x58; // CUtlBinaryBlock
}
// Parent: None
// Fields count: 1
@ -244,6 +352,15 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_opvarName = 0x28; // CUtlString
constexpr std::ptrdiff_t m_nSortType = 0x30; // SosActionSortType_t
}
// Parent: CVoiceContainerBase
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerNull {
}
// Parent: None
// Fields count: 3
//
@ -259,19 +376,44 @@ namespace cs2_dumper {
//
// Metadata:
// MGetKV3ClassDefaults
// MVDataNodeType
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerAnalysisBase {
constexpr std::ptrdiff_t m_bRegenerateCurveOnCompile = 0x8; // bool
constexpr std::ptrdiff_t m_curve = 0x10; // CPiecewiseCurve
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace VMixPannerDesc_t {
constexpr std::ptrdiff_t m_type = 0x0; // VMixPannerType_t
constexpr std::ptrdiff_t m_flStrength = 0x4; // float32
}
// Parent: CSosGroupActionSchema
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
namespace CSosGroupActionSoundeventPrioritySchema {
constexpr std::ptrdiff_t m_priorityValue = 0x18; // CUtlString
constexpr std::ptrdiff_t m_priorityVolumeScalar = 0x20; // CUtlString
constexpr std::ptrdiff_t m_priorityContributeButDontRead = 0x28; // CUtlString
constexpr std::ptrdiff_t m_bPriorityReadButDontContribute = 0x30; // CUtlString
}
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerRealtimeFMSineWave {
constexpr std::ptrdiff_t m_flCarrierFrequency = 0x60; // float32
constexpr std::ptrdiff_t m_flModulatorFrequency = 0x64; // float32
constexpr std::ptrdiff_t m_flModulatorAmount = 0x68; // float32
constexpr std::ptrdiff_t m_flCarrierFrequency = 0xF0; // float32
constexpr std::ptrdiff_t m_flModulatorFrequency = 0xF4; // float32
constexpr std::ptrdiff_t m_flModulatorAmount = 0xF8; // float32
}
// Parent: None
// Fields count: 1
@ -333,7 +475,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_actionInstanceType = 0x14; // ActionType_t
}
// Parent: None
// Fields count: 8
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
@ -345,11 +487,12 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nBlockMaxCount = 0x10; // int32
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]
constexpr std::ptrdiff_t m_branchPattern = 0x48; // CSosGroupBranchPattern
constexpr std::ptrdiff_t m_flLifeSpanTime = 0x58; // float32
constexpr std::ptrdiff_t m_vActions = 0xC0; // CSosGroupActionSchema*[4]
}
// Parent: None
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
@ -358,6 +501,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_bMatchEventSubString = 0x9; // bool
constexpr std::ptrdiff_t m_bMatchEntIndex = 0xA; // bool
constexpr std::ptrdiff_t m_bMatchOpvar = 0xB; // bool
constexpr std::ptrdiff_t m_bMatchString = 0xC; // bool
}
// Parent: None
// Fields count: 10
@ -390,6 +534,29 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float32
}
// Parent: None
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
namespace CAudioMorphData {
constexpr std::ptrdiff_t m_times = 0x0; // CUtlVector<float32>
constexpr std::ptrdiff_t m_nameHashCodes = 0x18; // CUtlVector<uint32>
constexpr std::ptrdiff_t m_nameStrings = 0x30; // CUtlVector<CUtlString>
constexpr std::ptrdiff_t m_samples = 0x48; // CUtlVector<CUtlVector<float32>>
constexpr std::ptrdiff_t m_flEaseIn = 0x60; // float32
constexpr std::ptrdiff_t m_flEaseOut = 0x64; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerStaticAdditiveSynth {
constexpr std::ptrdiff_t m_tones = 0xF0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
}
// Parent: None
// Fields count: 2
//
// Metadata:
@ -398,23 +565,19 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_dspName = 0x0; // CUtlString
constexpr std::ptrdiff_t m_modifiers = 0x8; // CUtlVector<CDSPMixgroupModifier>
}
// Parent: CVoiceContainerBase
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerBlend {
constexpr std::ptrdiff_t m_hSoundOne = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_hSoundTwo = 0x68; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_flBlendAmount = 0x70; // float32
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MVDataNodeType
// MVDataFileExtension
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerBase {
constexpr std::ptrdiff_t m_curves = 0x20; // CUtlDict<CPiecewiseCurve,F(size=1)>
constexpr std::ptrdiff_t m_vSound = 0x20; // CVSound
constexpr std::ptrdiff_t m_bHideAnalyzers = 0xD0; // bool
constexpr std::ptrdiff_t m_analysisContainers = 0xD8; // CUtlVector<CVoiceContainerAnalysisBase*>
}
// Parent: None
// Fields count: 7
@ -438,24 +601,27 @@ namespace cs2_dumper {
namespace VMixEQ8Desc_t {
constexpr std::ptrdiff_t m_stages = 0x0; // VMixFilterDesc_t[8]
}
// Parent: CVoiceContainerWavFileReader
// Fields count: 1
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerEnvelopeAnalyzer {
constexpr std::ptrdiff_t m_envBuffer = 0x68; // CUtlVector<float32>
namespace CAudioPhonemeTag {
constexpr std::ptrdiff_t m_flStartTime = 0x0; // float32
constexpr std::ptrdiff_t m_flEndTime = 0x4; // float32
constexpr std::ptrdiff_t m_nPhonemeCode = 0x8; // int32
}
// Parent: CVoiceContainerBase
// Fields count: 4
// Parent: CVoiceContainerAnalysisBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerEngineSound {
constexpr std::ptrdiff_t m_SoundToPlay = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_flTestConstantParam = 0x68; // float32
constexpr std::ptrdiff_t m_flTestSoundEventBoundParam = 0x6C; // float32
constexpr std::ptrdiff_t m_flEngineRPM = 0x70; // float32
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerEnvelopeAnalyzer {
constexpr std::ptrdiff_t m_mode = 0x50; // EMode_t
constexpr std::ptrdiff_t m_nSamples = 0x54; // int32
constexpr std::ptrdiff_t m_flThreshold = 0x58; // float32
}
// Parent: None
// Fields count: 1
@ -477,6 +643,15 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nProcType = 0xC; // int32
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace CAudioEmphasisSample {
constexpr std::ptrdiff_t m_flTime = 0x0; // float32
constexpr std::ptrdiff_t m_flValue = 0x4; // float32
}
// Parent: None
// Fields count: 8
//
// Metadata:
@ -492,6 +667,13 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flHighCutoffFreq = 0x1C; // float32
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
namespace CSoundInfoHeader {
}
// Parent: None
// Fields count: 1
//
// Metadata:
@ -500,7 +682,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_groupList = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
}
// Parent: CSosGroupBranchPattern
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
@ -509,6 +691,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_matchSoundEventSubString = 0x18; // CUtlString
constexpr std::ptrdiff_t m_flEntIndex = 0x20; // float32
constexpr std::ptrdiff_t m_flOpvar = 0x24; // float32
constexpr std::ptrdiff_t m_opvarString = 0x28; // CUtlString
}
// Parent: None
// Fields count: 5
@ -522,23 +705,6 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t itemKVString = 0x20; // CUtlString
constexpr std::ptrdiff_t itemPos = 0x28; // Vector2D
}
// Parent: CVoiceContainerWavFileReader
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerTestConstant {
constexpr std::ptrdiff_t m_flTestConstantParam = 0x68; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerTestNestedDynamic {
constexpr std::ptrdiff_t m_SoundToPlay = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_flTestConstantParam = 0x68; // float32
}
// Parent: None
// Fields count: 7
//
@ -553,14 +719,6 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flFeedbackDiffusion1 = 0x14; // float32
constexpr std::ptrdiff_t m_flFeedbackDiffusion2 = 0x18; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerWavFileReader {
constexpr std::ptrdiff_t m_wavFilePath = 0x60; // CUtlString
}
// Parent: None
// Fields count: 4
//
@ -610,6 +768,17 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flHoldTimeMS = 0x4; // float32
constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x8; // float32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
namespace CAudioSentence {
constexpr std::ptrdiff_t m_bShouldVoiceDuck = 0x0; // bool
constexpr std::ptrdiff_t m_RunTimePhonemes = 0x8; // CUtlVector<CAudioPhonemeTag>
constexpr std::ptrdiff_t m_EmphasisSamples = 0x20; // CUtlVector<CAudioEmphasisSample>
constexpr std::ptrdiff_t m_morphData = 0x38; // CAudioMorphData
}
// Parent: CSosGroupActionSchema
// Fields count: 3
//
@ -625,8 +794,10 @@ namespace cs2_dumper {
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerAmpedDecayingSineWave {
constexpr std::ptrdiff_t m_flGainAmount = 0x68; // float32
constexpr std::ptrdiff_t m_flGainAmount = 0xF8; // float32
}
// Parent: None
// Fields count: 8
@ -668,6 +839,29 @@ namespace cs2_dumper {
namespace VMixEffectChainDesc_t {
constexpr std::ptrdiff_t m_flCrossfadeTime = 0x0; // float32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerStaticAdditiveSynth__CGainScalePerInstance {
constexpr std::ptrdiff_t m_flMinVolume = 0x0; // float32
constexpr std::ptrdiff_t m_nInstancesAtMinVolume = 0x4; // int32
constexpr std::ptrdiff_t m_flMaxVolume = 0x8; // float32
constexpr std::ptrdiff_t m_nInstancesAtMaxVolume = 0xC; // int32
}
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerSelector {
constexpr std::ptrdiff_t m_mode = 0xF0; // PlayBackMode_t
constexpr std::ptrdiff_t m_bRetrigger = 0xF4; // bool
constexpr std::ptrdiff_t m_soundsToPlay = 0xF8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
}
// Parent: CSosGroupActionSchema
// Fields count: 2
//
@ -678,6 +872,31 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flMaxDuration = 0x1C; // float32
}
// Parent: CSosGroupActionSchema
// Fields count: 8
//
// Metadata:
// MGetKV3ClassDefaults
namespace CSosGroupActionMemberCountEnvelopeSchema {
constexpr std::ptrdiff_t m_nBaseCount = 0x18; // int32
constexpr std::ptrdiff_t m_nTargetCount = 0x1C; // int32
constexpr std::ptrdiff_t m_flBaseValue = 0x20; // float32
constexpr std::ptrdiff_t m_flTargetValue = 0x24; // float32
constexpr std::ptrdiff_t m_flAttack = 0x28; // float32
constexpr std::ptrdiff_t m_flDecay = 0x2C; // float32
constexpr std::ptrdiff_t m_resultVarName = 0x30; // CUtlString
constexpr std::ptrdiff_t m_bSaveToGroup = 0x38; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerSwitch {
constexpr std::ptrdiff_t m_soundsToPlay = 0xF0; // CUtlVector<CVoiceContainerBase*>
}
// Parent: CSosGroupActionSchema
// Fields count: 1
//
// Metadata:
@ -720,9 +939,11 @@ namespace cs2_dumper {
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerDecayingSineWave {
constexpr std::ptrdiff_t m_flFrequency = 0x60; // float32
constexpr std::ptrdiff_t m_flDecayTime = 0x64; // float32
constexpr std::ptrdiff_t m_flFrequency = 0xF0; // float32
constexpr std::ptrdiff_t m_flDecayTime = 0xF4; // float32
}
// Parent: None
// Fields count: 6

View File

@ -1,6 +1,65 @@
{
"libsoundsystem.so": {
"classes": {
"CAudioEmphasisSample": {
"fields": {
"m_flTime": 0,
"m_flValue": 4
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"CAudioMorphData": {
"fields": {
"m_flEaseIn": 96,
"m_flEaseOut": 100,
"m_nameHashCodes": 24,
"m_nameStrings": 48,
"m_samples": 72,
"m_times": 0
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"CAudioPhonemeTag": {
"fields": {
"m_flEndTime": 4,
"m_flStartTime": 0,
"m_nPhonemeCode": 8
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"CAudioSentence": {
"fields": {
"m_EmphasisSamples": 32,
"m_RunTimePhonemes": 8,
"m_bShouldVoiceDuck": 0,
"m_morphData": 56
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"CDSPMixgroupModifier": {
"fields": {
"m_flListenerReverbModifierWhenSourceReverbIsActive": 24,
@ -61,6 +120,25 @@
],
"parent": "CSosGroupActionSchema"
},
"CSosGroupActionMemberCountEnvelopeSchema": {
"fields": {
"m_bSaveToGroup": 56,
"m_flAttack": 40,
"m_flBaseValue": 32,
"m_flDecay": 44,
"m_flTargetValue": 36,
"m_nBaseCount": 24,
"m_nTargetCount": 28,
"m_resultVarName": 48
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "CSosGroupActionSchema"
},
"CSosGroupActionSchema": {
"fields": {
"m_actionInstanceType": 20,
@ -113,6 +191,21 @@
],
"parent": "CSosGroupActionSchema"
},
"CSosGroupActionSoundeventPrioritySchema": {
"fields": {
"m_bPriorityReadButDontContribute": 48,
"m_priorityContributeButDontRead": 40,
"m_priorityValue": 24,
"m_priorityVolumeScalar": 32
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "CSosGroupActionSchema"
},
"CSosGroupActionTimeBlockLimitSchema": {
"fields": {
"m_flMaxDuration": 28,
@ -143,7 +236,8 @@
"m_bMatchEntIndex": 10,
"m_bMatchEventName": 8,
"m_bMatchEventSubString": 9,
"m_bMatchOpvar": 11
"m_bMatchOpvar": 11,
"m_bMatchString": 12
},
"metadata": [
{
@ -158,7 +252,8 @@
"m_flEntIndex": 32,
"m_flOpvar": 36,
"m_matchSoundEventName": 16,
"m_matchSoundEventSubString": 24
"m_matchSoundEventSubString": 24,
"m_opvarString": 40
},
"metadata": [
{
@ -184,12 +279,13 @@
"fields": {
"m_bInvertMatch": 20,
"m_bIsBlocking": 12,
"m_branchPattern": 64,
"m_branchPattern": 72,
"m_flLifeSpanTime": 88,
"m_matchPattern": 24,
"m_nBlockMaxCount": 16,
"m_nType": 8,
"m_name": 0,
"m_vActions": 176
"m_vActions": 192
},
"metadata": [
{
@ -215,21 +311,29 @@
],
"parent": null
},
"CVoiceContainerAmpedDecayingSineWave": {
"fields": {
"m_flGainAmount": 104
},
"CSoundInfoHeader": {
"fields": {},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "CVoiceContainerDecayingSineWave"
"parent": null
},
"CVoiceContainerBase": {
"CVSound": {
"fields": {
"m_curves": 32
"m_Sentences": 24,
"m_encodedHeader": 88,
"m_flDuration": 20,
"m_nChannels": 8,
"m_nFormat": 4,
"m_nLoopEnd": 80,
"m_nLoopStart": 12,
"m_nRate": 0,
"m_nSampleCount": 16,
"m_nSeekTable": 56,
"m_nStreamingSize": 48
},
"metadata": [
{
@ -239,53 +343,139 @@
],
"parent": null
},
"CVoiceContainerBlend": {
"CVoiceContainerAmpedDecayingSineWave": {
"fields": {
"m_flBlendAmount": 112,
"m_hSoundOne": 96,
"m_hSoundTwo": 104
"m_flGainAmount": 248
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerDecayingSineWave"
},
"CVoiceContainerAnalysisBase": {
"fields": {
"m_bRegenerateCurveOnCompile": 8,
"m_curve": 16
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MVDataNodeType",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": null
},
"CVoiceContainerBase": {
"fields": {
"m_analysisContainers": 216,
"m_bHideAnalyzers": 208,
"m_vSound": 32
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MVDataNodeType",
"type": "Unknown"
},
{
"name": "MVDataFileExtension",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": null
},
"CVoiceContainerBlender": {
"fields": {
"m_firstSound": 240,
"m_flBlendFactor": 256,
"m_secondSound": 248
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerDecayingSineWave": {
"fields": {
"m_flDecayTime": 100,
"m_flFrequency": 96
"m_flDecayTime": 244,
"m_flFrequency": 240
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerDefault": {
"fields": {},
"fields": {
"m_vsndReference": 240
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerEngineSound": {
"fields": {
"m_SoundToPlay": 96,
"m_flEngineRPM": 112,
"m_flTestConstantParam": 104,
"m_flTestSoundEventBoundParam": 108
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
@ -293,81 +483,196 @@
},
"CVoiceContainerEnvelopeAnalyzer": {
"fields": {
"m_envBuffer": 104
"m_flThreshold": 88,
"m_mode": 80,
"m_nSamples": 84
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerWavFileReader"
"parent": "CVoiceContainerAnalysisBase"
},
"CVoiceContainerNull": {
"fields": {},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerRandomSampler": {
"fields": {
"m_flLoudAmplitude": 96,
"m_flLoudAmplitudeJitter": 100,
"m_flLoudTimeJitter": 112,
"m_flSoftAmplitude": 104,
"m_flSoftAmplitudeJitter": 108,
"m_flSoftTimeJitter": 116,
"m_grainResources": 120
"m_flAmplitude": 240,
"m_flAmplitudeJitter": 244,
"m_flMaxLength": 252,
"m_flTimeJitter": 248,
"m_grainResources": 264,
"m_nNumDelayVariations": 256
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerRealtimeFMSineWave": {
"fields": {
"m_flCarrierFrequency": 96,
"m_flModulatorAmount": 104,
"m_flModulatorFrequency": 100
"m_flCarrierFrequency": 240,
"m_flModulatorAmount": 248,
"m_flModulatorFrequency": 244
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerTestConstant": {
"CVoiceContainerSelector": {
"fields": {
"m_flTestConstantParam": 104
"m_bRetrigger": 244,
"m_mode": 240,
"m_soundsToPlay": 248
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "CVoiceContainerWavFileReader"
},
"CVoiceContainerTestNestedDynamic": {
"fields": {
"m_SoundToPlay": 96,
"m_flTestConstantParam": 104
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerWavFileReader": {
"CVoiceContainerStaticAdditiveSynth": {
"fields": {
"m_wavFilePath": 96
"m_tones": 240
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerStaticAdditiveSynth__CGainScalePerInstance": {
"fields": {
"m_flMaxVolume": 8,
"m_flMinVolume": 0,
"m_nInstancesAtMaxVolume": 12,
"m_nInstancesAtMinVolume": 4
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"CVoiceContainerStaticAdditiveSynth__CHarmonic": {
"fields": {
"m_curve": 16,
"m_flCents": 8,
"m_flPhase": 12,
"m_nFundamental": 1,
"m_nOctave": 4,
"m_nWaveform": 0,
"m_volumeScaling": 80
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"CVoiceContainerStaticAdditiveSynth__CTone": {
"fields": {
"m_bSyncInstances": 88,
"m_curve": 24,
"m_harmonics": 0
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"CVoiceContainerSwitch": {
"fields": {
"m_soundsToPlay": 240
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
@ -807,15 +1112,75 @@
"ActionType_t": {
"alignment": 4,
"members": {
"SOS_ACTION_COUNT_ENVELOPE": 7,
"SOS_ACTION_LIMITER": 1,
"SOS_ACTION_NONE": 0,
"SOS_ACTION_SET_SOUNDEVENT_PARAM": 4,
"SOS_ACTION_SOUNDEVENT_CLUSTER": 5,
"SOS_ACTION_SOUNDEVENT_PRIORITY": 6,
"SOS_ACTION_TIME_BLOCK_LIMITER": 3,
"SOS_ACTION_TIME_LIMIT": 2
},
"type": "uint32"
},
"CVSoundFormat_t": {
"alignment": 1,
"members": {
"ADPCM": 3,
"MP3": 2,
"PCM16": 0,
"PCM8": 1
},
"type": "uint8"
},
"EMidiNote": {
"alignment": 1,
"members": {
"A": 9,
"A_Sharp": 10,
"B": 11,
"C": 0,
"C_Sharp": 1,
"Count": 12,
"D": 2,
"D_Sharp": 3,
"E": 4,
"F": 5,
"F_Sharp": 6,
"G": 7,
"G_Sharp": 8
},
"type": "uint8"
},
"EMode_t": {
"alignment": 4,
"members": {
"Peak": 0,
"RMS": 1
},
"type": "uint32"
},
"EWaveform": {
"alignment": 1,
"members": {
"Noise": 4,
"Saw": 2,
"Sine": 0,
"Square": 1,
"Triangle": 3
},
"type": "uint8"
},
"PlayBackMode_t": {
"alignment": 4,
"members": {
"Random": 0,
"RandomAvoidLast": 2,
"RandomNoRepeats": 1,
"Sequential": 3
},
"type": "uint32"
},
"SosActionSortType_t": {
"alignment": 4,
"members": {
@ -918,36 +1283,36 @@
"VMixProcessorType_t": {
"alignment": 2,
"members": {
"VPROCESSOR_AUTOFILTER": 24,
"VPROCESSOR_BOXVERB": 9,
"VPROCESSOR_CONVOLUTION": 18,
"VPROCESSOR_DELAY": 6,
"VPROCESSOR_DIFFUSOR": 8,
"VPROCESSOR_DYNAMICS": 4,
"VPROCESSOR_DYNAMICS_3BAND": 19,
"VPROCESSOR_DYNAMICS_COMPRESSOR": 20,
"VPROCESSOR_EFFECT_CHAIN": 27,
"VPROCESSOR_ENVELOPE": 16,
"VPROCESSOR_EQ8": 15,
"VPROCESSOR_FILTER": 13,
"VPROCESSOR_FREEVERB": 10,
"VPROCESSOR_FULLWAVE_INTEGRATOR": 12,
"VPROCESSOR_MOD_DELAY": 7,
"VPROCESSOR_OSC": 25,
"VPROCESSOR_PANNER": 22,
"VPROCESSOR_PLATEVERB": 11,
"VPROCESSOR_PRESETDSP": 5,
"VPROCESSOR_RT_PITCH": 2,
"VPROCESSOR_SHAPER": 21,
"VPROCESSOR_STEAMAUDIO_DIRECT": 29,
"VPROCESSOR_STEAMAUDIO_HRTF": 3,
"VPROCESSOR_STEAMAUDIO_PATHING": 14,
"VPROCESSOR_STEAMAUDIO_REVERB": 1,
"VPROCESSOR_STEREODELAY": 26,
"VPROCESSOR_SUBGRAPH_SWITCH": 28,
"VPROCESSOR_AUTOFILTER": 23,
"VPROCESSOR_BOXVERB": 8,
"VPROCESSOR_CONVOLUTION": 17,
"VPROCESSOR_DELAY": 5,
"VPROCESSOR_DIFFUSOR": 7,
"VPROCESSOR_DYNAMICS": 3,
"VPROCESSOR_DYNAMICS_3BAND": 18,
"VPROCESSOR_DYNAMICS_COMPRESSOR": 19,
"VPROCESSOR_EFFECT_CHAIN": 26,
"VPROCESSOR_ENVELOPE": 15,
"VPROCESSOR_EQ8": 14,
"VPROCESSOR_FILTER": 12,
"VPROCESSOR_FREEVERB": 9,
"VPROCESSOR_FULLWAVE_INTEGRATOR": 11,
"VPROCESSOR_MOD_DELAY": 6,
"VPROCESSOR_OSC": 24,
"VPROCESSOR_PANNER": 21,
"VPROCESSOR_PLATEVERB": 10,
"VPROCESSOR_PRESETDSP": 4,
"VPROCESSOR_RT_PITCH": 1,
"VPROCESSOR_SHAPER": 20,
"VPROCESSOR_STEAMAUDIO_DIRECT": 28,
"VPROCESSOR_STEAMAUDIO_HRTF": 2,
"VPROCESSOR_STEAMAUDIO_HYBRIDREVERB": 29,
"VPROCESSOR_STEAMAUDIO_PATHING": 13,
"VPROCESSOR_STEREODELAY": 25,
"VPROCESSOR_SUBGRAPH_SWITCH": 27,
"VPROCESSOR_UNKNOWN": 0,
"VPROCESSOR_UTILITY": 23,
"VPROCESSOR_VOCODER": 17
"VPROCESSOR_UTILITY": 22,
"VPROCESSOR_VOCODER": 16
},
"type": "uint16"
},

View File

@ -1,14 +1,31 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libsoundsystem.so
// Classes count: 51
// Enums count: 13
// Classes count: 63
// Enums count: 18
pub mod libsoundsystem_so {
// Alignment: 4
// Members count: 2
#[repr(u32)]
pub enum EMode_t {
Peak = 0x0,
RMS = 0x1
}
// Alignment: 1
// Members count: 5
#[repr(u8)]
pub enum EWaveform {
Sine = 0x0,
Square = 0x1,
Saw = 0x2,
Triangle = 0x3,
Noise = 0x4
}
// Alignment: 4
// Members count: 5
#[repr(u32)]
@ -60,40 +77,49 @@ pub mod cs2_dumper {
SOS_SORTTYPE_HIGHEST = 0x0,
SOS_SORTTYPE_LOWEST = 0x1
}
// Alignment: 4
// Members count: 4
#[repr(u32)]
pub enum PlayBackMode_t {
Random = 0x0,
RandomNoRepeats = 0x1,
RandomAvoidLast = 0x2,
Sequential = 0x3
}
// Alignment: 2
// Members count: 30
#[repr(u16)]
pub enum VMixProcessorType_t {
VPROCESSOR_UNKNOWN = 0x0,
VPROCESSOR_STEAMAUDIO_REVERB = 0x1,
VPROCESSOR_RT_PITCH = 0x2,
VPROCESSOR_STEAMAUDIO_HRTF = 0x3,
VPROCESSOR_DYNAMICS = 0x4,
VPROCESSOR_PRESETDSP = 0x5,
VPROCESSOR_DELAY = 0x6,
VPROCESSOR_MOD_DELAY = 0x7,
VPROCESSOR_DIFFUSOR = 0x8,
VPROCESSOR_BOXVERB = 0x9,
VPROCESSOR_FREEVERB = 0xA,
VPROCESSOR_PLATEVERB = 0xB,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xC,
VPROCESSOR_FILTER = 0xD,
VPROCESSOR_STEAMAUDIO_PATHING = 0xE,
VPROCESSOR_EQ8 = 0xF,
VPROCESSOR_ENVELOPE = 0x10,
VPROCESSOR_VOCODER = 0x11,
VPROCESSOR_CONVOLUTION = 0x12,
VPROCESSOR_DYNAMICS_3BAND = 0x13,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x14,
VPROCESSOR_SHAPER = 0x15,
VPROCESSOR_PANNER = 0x16,
VPROCESSOR_UTILITY = 0x17,
VPROCESSOR_AUTOFILTER = 0x18,
VPROCESSOR_OSC = 0x19,
VPROCESSOR_STEREODELAY = 0x1A,
VPROCESSOR_EFFECT_CHAIN = 0x1B,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1C,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1D
VPROCESSOR_RT_PITCH = 0x1,
VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
VPROCESSOR_DYNAMICS = 0x3,
VPROCESSOR_PRESETDSP = 0x4,
VPROCESSOR_DELAY = 0x5,
VPROCESSOR_MOD_DELAY = 0x6,
VPROCESSOR_DIFFUSOR = 0x7,
VPROCESSOR_BOXVERB = 0x8,
VPROCESSOR_FREEVERB = 0x9,
VPROCESSOR_PLATEVERB = 0xA,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
VPROCESSOR_FILTER = 0xC,
VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
VPROCESSOR_EQ8 = 0xE,
VPROCESSOR_ENVELOPE = 0xF,
VPROCESSOR_VOCODER = 0x10,
VPROCESSOR_CONVOLUTION = 0x11,
VPROCESSOR_DYNAMICS_3BAND = 0x12,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
VPROCESSOR_SHAPER = 0x14,
VPROCESSOR_PANNER = 0x15,
VPROCESSOR_UTILITY = 0x16,
VPROCESSOR_AUTOFILTER = 0x17,
VPROCESSOR_OSC = 0x18,
VPROCESSOR_STEREODELAY = 0x19,
VPROCESSOR_EFFECT_CHAIN = 0x1A,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
}
// Alignment: 4
// Members count: 30
@ -109,14 +135,11 @@ pub mod cs2_dumper {
SNDLVL_50dB = 0x32,
SNDLVL_55dB = 0x37,
SNDLVL_IDLE = 0x3C,
SNDLVL_60dB = 0x3C,
SNDLVL_65dB = 0x41,
SNDLVL_STATIC = 0x42,
SNDLVL_70dB = 0x46,
SNDLVL_NORM = 0x4B,
SNDLVL_75dB = 0x4B,
SNDLVL_80dB = 0x50,
SNDLVL_TALKING = 0x50,
SNDLVL_85dB = 0x55,
SNDLVL_90dB = 0x5A,
SNDLVL_95dB = 0x5F,
@ -126,7 +149,6 @@ pub mod cs2_dumper {
SNDLVL_120dB = 0x78,
SNDLVL_130dB = 0x82,
SNDLVL_GUNFIRE = 0x8C,
SNDLVL_140dB = 0x8C,
SNDLVL_150dB = 0x96,
SNDLVL_180dB = 0xB4
}
@ -149,6 +171,33 @@ pub mod cs2_dumper {
VMIX_CHAN_MID_SIDE = 0x5
}
// Alignment: 1
// Members count: 13
#[repr(u8)]
pub enum EMidiNote {
C = 0x0,
C_Sharp = 0x1,
D = 0x2,
D_Sharp = 0x3,
E = 0x4,
F = 0x5,
F_Sharp = 0x6,
G = 0x7,
G_Sharp = 0x8,
A = 0x9,
A_Sharp = 0xA,
B = 0xB,
Count = 0xC
}
// Alignment: 1
// Members count: 4
#[repr(u8)]
pub enum CVSoundFormat_t {
PCM16 = 0x0,
PCM8 = 0x1,
MP3 = 0x2,
ADPCM = 0x3
}
// Alignment: 1
// Members count: 9
#[repr(u8)]
pub enum VMixFilterSlope_t {
@ -159,11 +208,10 @@ pub mod cs2_dumper {
FILTER_SLOPE_12dB = 0x4,
FILTER_SLOPE_24dB = 0x5,
FILTER_SLOPE_36dB = 0x6,
FILTER_SLOPE_48dB = 0x7,
FILTER_SLOPE_MAX = 0x7
FILTER_SLOPE_48dB = 0x7
}
// Alignment: 4
// Members count: 6
// Members count: 8
#[repr(u32)]
pub enum ActionType_t {
SOS_ACTION_NONE = 0x0,
@ -171,7 +219,9 @@ pub mod cs2_dumper {
SOS_ACTION_TIME_LIMIT = 0x2,
SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4,
SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5
SOS_ACTION_SOUNDEVENT_CLUSTER = 0x5,
SOS_ACTION_SOUNDEVENT_PRIORITY = 0x6,
SOS_ACTION_COUNT_ENVELOPE = 0x7
}
// Alignment: 4
// Members count: 3
@ -188,6 +238,18 @@ pub mod cs2_dumper {
SOS_GROUPTYPE_DYNAMIC = 0x0,
SOS_GROUPTYPE_STATIC = 0x1
}
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerBlender {
pub const m_firstSound: usize = 0xF0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_secondSound: usize = 0xF8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_flBlendFactor: usize = 0x100; // float32
}
// Parent: None
// Fields count: 4
//
@ -199,26 +261,72 @@ pub mod cs2_dumper {
pub const m_flWidth: usize = 0x8; // float32
pub const m_flLateReflections: usize = 0xC; // float32
}
// Parent: CVoiceContainerBase
// Parent: None
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerRandomSampler {
pub const m_flLoudAmplitude: usize = 0x60; // float32
pub const m_flLoudAmplitudeJitter: usize = 0x64; // float32
pub const m_flSoftAmplitude: usize = 0x68; // float32
pub const m_flSoftAmplitudeJitter: usize = 0x6C; // float32
pub const m_flLoudTimeJitter: usize = 0x70; // float32
pub const m_flSoftTimeJitter: usize = 0x74; // float32
pub const m_grainResources: usize = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
pub mod CVoiceContainerStaticAdditiveSynth__CHarmonic {
pub const m_nWaveform: usize = 0x0; // EWaveform
pub const m_nFundamental: usize = 0x1; // EMidiNote
pub const m_nOctave: usize = 0x4; // int32
pub const m_flCents: usize = 0x8; // float32
pub const m_flPhase: usize = 0xC; // float32
pub const m_curve: usize = 0x10; // CPiecewiseCurve
pub const m_volumeScaling: usize = 0x50; // CVoiceContainerStaticAdditiveSynth::CGainScalePerInstance
}
// Parent: CVoiceContainerBase
// Fields count: 0
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerStaticAdditiveSynth__CTone {
pub const m_harmonics: usize = 0x0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CHarmonic>
pub const m_curve: usize = 0x18; // CPiecewiseCurve
pub const m_bSyncInstances: usize = 0x58; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerRandomSampler {
pub const m_flAmplitude: usize = 0xF0; // float32
pub const m_flAmplitudeJitter: usize = 0xF4; // float32
pub const m_flTimeJitter: usize = 0xF8; // float32
pub const m_flMaxLength: usize = 0xFC; // float32
pub const m_nNumDelayVariations: usize = 0x100; // int32
pub const m_grainResources: usize = 0x108; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerDefault {
pub const m_vsndReference: usize = 0xF0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
}
// Parent: None
// Fields count: 11
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVSound {
pub const m_nRate: usize = 0x0; // int32
pub const m_nFormat: usize = 0x4; // CVSoundFormat_t
pub const m_nChannels: usize = 0x8; // uint32
pub const m_nLoopStart: usize = 0xC; // int32
pub const m_nSampleCount: usize = 0x10; // uint32
pub const m_flDuration: usize = 0x14; // float32
pub const m_Sentences: usize = 0x18; // CUtlVector<CAudioSentence>
pub const m_nStreamingSize: usize = 0x30; // uint32
pub const m_nSeekTable: usize = 0x38; // CUtlVector<int32>
pub const m_nLoopEnd: usize = 0x50; // int32
pub const m_encodedHeader: usize = 0x58; // CUtlBinaryBlock
}
// Parent: None
// Fields count: 1
@ -255,6 +363,15 @@ pub mod cs2_dumper {
pub const m_opvarName: usize = 0x28; // CUtlString
pub const m_nSortType: usize = 0x30; // SosActionSortType_t
}
// Parent: CVoiceContainerBase
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerNull {
}
// Parent: None
// Fields count: 3
//
@ -270,19 +387,44 @@ pub mod cs2_dumper {
//
// Metadata:
// MGetKV3ClassDefaults
// MVDataNodeType
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerAnalysisBase {
pub const m_bRegenerateCurveOnCompile: usize = 0x8; // bool
pub const m_curve: usize = 0x10; // CPiecewiseCurve
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod VMixPannerDesc_t {
pub const m_type: usize = 0x0; // VMixPannerType_t
pub const m_flStrength: usize = 0x4; // float32
}
// Parent: CSosGroupActionSchema
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CSosGroupActionSoundeventPrioritySchema {
pub const m_priorityValue: usize = 0x18; // CUtlString
pub const m_priorityVolumeScalar: usize = 0x20; // CUtlString
pub const m_priorityContributeButDontRead: usize = 0x28; // CUtlString
pub const m_bPriorityReadButDontContribute: usize = 0x30; // CUtlString
}
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerRealtimeFMSineWave {
pub const m_flCarrierFrequency: usize = 0x60; // float32
pub const m_flModulatorFrequency: usize = 0x64; // float32
pub const m_flModulatorAmount: usize = 0x68; // float32
pub const m_flCarrierFrequency: usize = 0xF0; // float32
pub const m_flModulatorFrequency: usize = 0xF4; // float32
pub const m_flModulatorAmount: usize = 0xF8; // float32
}
// Parent: None
// Fields count: 1
@ -344,7 +486,7 @@ pub mod cs2_dumper {
pub const m_actionInstanceType: usize = 0x14; // ActionType_t
}
// Parent: None
// Fields count: 8
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
@ -356,11 +498,12 @@ pub mod cs2_dumper {
pub const m_nBlockMaxCount: usize = 0x10; // int32
pub const m_bInvertMatch: usize = 0x14; // bool
pub const m_matchPattern: usize = 0x18; // CSosGroupMatchPattern
pub const m_branchPattern: usize = 0x40; // CSosGroupBranchPattern
pub const m_vActions: usize = 0xB0; // CSosGroupActionSchema*[4]
pub const m_branchPattern: usize = 0x48; // CSosGroupBranchPattern
pub const m_flLifeSpanTime: usize = 0x58; // float32
pub const m_vActions: usize = 0xC0; // CSosGroupActionSchema*[4]
}
// Parent: None
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
@ -369,6 +512,7 @@ pub mod cs2_dumper {
pub const m_bMatchEventSubString: usize = 0x9; // bool
pub const m_bMatchEntIndex: usize = 0xA; // bool
pub const m_bMatchOpvar: usize = 0xB; // bool
pub const m_bMatchString: usize = 0xC; // bool
}
// Parent: None
// Fields count: 10
@ -401,6 +545,29 @@ pub mod cs2_dumper {
pub const m_flListenerReverbModifierWhenSourceReverbIsActive: usize = 0x18; // float32
}
// Parent: None
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CAudioMorphData {
pub const m_times: usize = 0x0; // CUtlVector<float32>
pub const m_nameHashCodes: usize = 0x18; // CUtlVector<uint32>
pub const m_nameStrings: usize = 0x30; // CUtlVector<CUtlString>
pub const m_samples: usize = 0x48; // CUtlVector<CUtlVector<float32>>
pub const m_flEaseIn: usize = 0x60; // float32
pub const m_flEaseOut: usize = 0x64; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerStaticAdditiveSynth {
pub const m_tones: usize = 0xF0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
}
// Parent: None
// Fields count: 2
//
// Metadata:
@ -409,23 +576,19 @@ pub mod cs2_dumper {
pub const m_dspName: usize = 0x0; // CUtlString
pub const m_modifiers: usize = 0x8; // CUtlVector<CDSPMixgroupModifier>
}
// Parent: CVoiceContainerBase
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerBlend {
pub const m_hSoundOne: usize = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_hSoundTwo: usize = 0x68; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_flBlendAmount: usize = 0x70; // float32
}
// Parent: None
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MVDataNodeType
// MVDataFileExtension
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerBase {
pub const m_curves: usize = 0x20; // CUtlDict<CPiecewiseCurve,F(size=1)>
pub const m_vSound: usize = 0x20; // CVSound
pub const m_bHideAnalyzers: usize = 0xD0; // bool
pub const m_analysisContainers: usize = 0xD8; // CUtlVector<CVoiceContainerAnalysisBase*>
}
// Parent: None
// Fields count: 7
@ -449,24 +612,27 @@ pub mod cs2_dumper {
pub mod VMixEQ8Desc_t {
pub const m_stages: usize = 0x0; // VMixFilterDesc_t[8]
}
// Parent: CVoiceContainerWavFileReader
// Fields count: 1
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerEnvelopeAnalyzer {
pub const m_envBuffer: usize = 0x68; // CUtlVector<float32>
pub mod CAudioPhonemeTag {
pub const m_flStartTime: usize = 0x0; // float32
pub const m_flEndTime: usize = 0x4; // float32
pub const m_nPhonemeCode: usize = 0x8; // int32
}
// Parent: CVoiceContainerBase
// Fields count: 4
// Parent: CVoiceContainerAnalysisBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerEngineSound {
pub const m_SoundToPlay: usize = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_flTestConstantParam: usize = 0x68; // float32
pub const m_flTestSoundEventBoundParam: usize = 0x6C; // float32
pub const m_flEngineRPM: usize = 0x70; // float32
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerEnvelopeAnalyzer {
pub const m_mode: usize = 0x50; // EMode_t
pub const m_nSamples: usize = 0x54; // int32
pub const m_flThreshold: usize = 0x58; // float32
}
// Parent: None
// Fields count: 1
@ -488,6 +654,15 @@ pub mod cs2_dumper {
pub const m_nProcType: usize = 0xC; // int32
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CAudioEmphasisSample {
pub const m_flTime: usize = 0x0; // float32
pub const m_flValue: usize = 0x4; // float32
}
// Parent: None
// Fields count: 8
//
// Metadata:
@ -503,6 +678,13 @@ pub mod cs2_dumper {
pub const m_flHighCutoffFreq: usize = 0x1C; // float32
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CSoundInfoHeader {
}
// Parent: None
// Fields count: 1
//
// Metadata:
@ -511,7 +693,7 @@ pub mod cs2_dumper {
pub const m_groupList: usize = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
}
// Parent: CSosGroupBranchPattern
// Fields count: 4
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
@ -520,6 +702,7 @@ pub mod cs2_dumper {
pub const m_matchSoundEventSubString: usize = 0x18; // CUtlString
pub const m_flEntIndex: usize = 0x20; // float32
pub const m_flOpvar: usize = 0x24; // float32
pub const m_opvarString: usize = 0x28; // CUtlString
}
// Parent: None
// Fields count: 5
@ -533,23 +716,6 @@ pub mod cs2_dumper {
pub const itemKVString: usize = 0x20; // CUtlString
pub const itemPos: usize = 0x28; // Vector2D
}
// Parent: CVoiceContainerWavFileReader
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerTestConstant {
pub const m_flTestConstantParam: usize = 0x68; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerTestNestedDynamic {
pub const m_SoundToPlay: usize = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_flTestConstantParam: usize = 0x68; // float32
}
// Parent: None
// Fields count: 7
//
@ -564,14 +730,6 @@ pub mod cs2_dumper {
pub const m_flFeedbackDiffusion1: usize = 0x14; // float32
pub const m_flFeedbackDiffusion2: usize = 0x18; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerWavFileReader {
pub const m_wavFilePath: usize = 0x60; // CUtlString
}
// Parent: None
// Fields count: 4
//
@ -621,6 +779,17 @@ pub mod cs2_dumper {
pub const m_flHoldTimeMS: usize = 0x4; // float32
pub const m_flReleaseTimeMS: usize = 0x8; // float32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CAudioSentence {
pub const m_bShouldVoiceDuck: usize = 0x0; // bool
pub const m_RunTimePhonemes: usize = 0x8; // CUtlVector<CAudioPhonemeTag>
pub const m_EmphasisSamples: usize = 0x20; // CUtlVector<CAudioEmphasisSample>
pub const m_morphData: usize = 0x38; // CAudioMorphData
}
// Parent: CSosGroupActionSchema
// Fields count: 3
//
@ -636,8 +805,10 @@ pub mod cs2_dumper {
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerAmpedDecayingSineWave {
pub const m_flGainAmount: usize = 0x68; // float32
pub const m_flGainAmount: usize = 0xF8; // float32
}
// Parent: None
// Fields count: 8
@ -679,6 +850,29 @@ pub mod cs2_dumper {
pub mod VMixEffectChainDesc_t {
pub const m_flCrossfadeTime: usize = 0x0; // float32
}
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerStaticAdditiveSynth__CGainScalePerInstance {
pub const m_flMinVolume: usize = 0x0; // float32
pub const m_nInstancesAtMinVolume: usize = 0x4; // int32
pub const m_flMaxVolume: usize = 0x8; // float32
pub const m_nInstancesAtMaxVolume: usize = 0xC; // int32
}
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerSelector {
pub const m_mode: usize = 0xF0; // PlayBackMode_t
pub const m_bRetrigger: usize = 0xF4; // bool
pub const m_soundsToPlay: usize = 0xF8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
}
// Parent: CSosGroupActionSchema
// Fields count: 2
//
@ -689,6 +883,31 @@ pub mod cs2_dumper {
pub const m_flMaxDuration: usize = 0x1C; // float32
}
// Parent: CSosGroupActionSchema
// Fields count: 8
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CSosGroupActionMemberCountEnvelopeSchema {
pub const m_nBaseCount: usize = 0x18; // int32
pub const m_nTargetCount: usize = 0x1C; // int32
pub const m_flBaseValue: usize = 0x20; // float32
pub const m_flTargetValue: usize = 0x24; // float32
pub const m_flAttack: usize = 0x28; // float32
pub const m_flDecay: usize = 0x2C; // float32
pub const m_resultVarName: usize = 0x30; // CUtlString
pub const m_bSaveToGroup: usize = 0x38; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerSwitch {
pub const m_soundsToPlay: usize = 0xF0; // CUtlVector<CVoiceContainerBase*>
}
// Parent: CSosGroupActionSchema
// Fields count: 1
//
// Metadata:
@ -731,9 +950,11 @@ pub mod cs2_dumper {
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerDecayingSineWave {
pub const m_flFrequency: usize = 0x60; // float32
pub const m_flDecayTime: usize = 0x64; // float32
pub const m_flFrequency: usize = 0xF0; // float32
pub const m_flDecayTime: usize = 0xF4; // float32
}
// Parent: None
// Fields count: 6

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libvphysics2.so
@ -81,7 +81,7 @@ namespace CS2Dumper.Schemas {
public const nint m_Mesh = 0x10; // RnMesh_t
}
// Parent: None
// Fields count: 100
// Fields count: 101
//
// Metadata:
// MGetKV3ClassDefaults
@ -184,8 +184,9 @@ namespace CS2Dumper.Schemas {
public const nint m_flQuadVelocitySmoothRate = 0x608; // float32
public const nint m_flAddWorldCollisionRadius = 0x60C; // float32
public const nint m_flDefaultVolumetricSolveAmount = 0x610; // float32
public const nint m_nRodVelocitySmoothIterations = 0x614; // uint16
public const nint m_nQuadVelocitySmoothIterations = 0x616; // uint16
public const nint m_flMotionSmoothCDT = 0x614; // float32
public const nint m_nRodVelocitySmoothIterations = 0x618; // uint16
public const nint m_nQuadVelocitySmoothIterations = 0x61A; // uint16
}
// Parent: RnBodyDesc_t
// Fields count: 1

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -86,7 +86,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_Mesh = 0x10; // RnMesh_t
}
// Parent: None
// Fields count: 100
// Fields count: 101
//
// Metadata:
// MGetKV3ClassDefaults
@ -189,8 +189,9 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flQuadVelocitySmoothRate = 0x608; // float32
constexpr std::ptrdiff_t m_flAddWorldCollisionRadius = 0x60C; // float32
constexpr std::ptrdiff_t m_flDefaultVolumetricSolveAmount = 0x610; // float32
constexpr std::ptrdiff_t m_nRodVelocitySmoothIterations = 0x614; // uint16
constexpr std::ptrdiff_t m_nQuadVelocitySmoothIterations = 0x616; // uint16
constexpr std::ptrdiff_t m_flMotionSmoothCDT = 0x614; // float32
constexpr std::ptrdiff_t m_nRodVelocitySmoothIterations = 0x618; // uint16
constexpr std::ptrdiff_t m_nQuadVelocitySmoothIterations = 0x61A; // uint16
}
// Parent: RnBodyDesc_t
// Fields count: 1

View File

@ -1015,6 +1015,7 @@
"m_flInternalPressure": 1496,
"m_flLocalForce": 56,
"m_flLocalRotation": 60,
"m_flMotionSmoothCDT": 1556,
"m_flQuadVelocitySmoothRate": 1544,
"m_flRodVelocitySmoothRate": 1540,
"m_flWindDrag": 1508,
@ -1028,9 +1029,9 @@
"m_nNodeCount": 64,
"m_nQuadCount1": 80,
"m_nQuadCount2": 82,
"m_nQuadVelocitySmoothIterations": 1558,
"m_nQuadVelocitySmoothIterations": 1562,
"m_nReservedUint8": 1180,
"m_nRodVelocitySmoothIterations": 1556,
"m_nRodVelocitySmoothIterations": 1560,
"m_nRopeCount": 88,
"m_nRotLockStaticNodes": 68,
"m_nSimdQuadCount1": 76,

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
@ -86,7 +86,7 @@ pub mod cs2_dumper {
pub const m_Mesh: usize = 0x10; // RnMesh_t
}
// Parent: None
// Fields count: 100
// Fields count: 101
//
// Metadata:
// MGetKV3ClassDefaults
@ -189,8 +189,9 @@ pub mod cs2_dumper {
pub const m_flQuadVelocitySmoothRate: usize = 0x608; // float32
pub const m_flAddWorldCollisionRadius: usize = 0x60C; // float32
pub const m_flDefaultVolumetricSolveAmount: usize = 0x610; // float32
pub const m_nRodVelocitySmoothIterations: usize = 0x614; // uint16
pub const m_nQuadVelocitySmoothIterations: usize = 0x616; // uint16
pub const m_flMotionSmoothCDT: usize = 0x614; // float32
pub const m_nRodVelocitySmoothIterations: usize = 0x618; // uint16
pub const m_nQuadVelocitySmoothIterations: usize = 0x61A; // uint16
}
// Parent: RnBodyDesc_t
// Fields count: 1

View File

@ -1,9 +1,9 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Schemas {
// Module: libworldrenderer.so
// Classes count: 27
// Classes count: 23
// Enums count: 1
public static class LibworldrendererSo {
// Alignment: 4
@ -52,7 +52,7 @@ namespace CS2Dumper.Schemas {
public static class AggregateLODSetup_t {
public const nint m_vLODOrigin = 0x0; // Vector
public const nint m_fMaxObjectScale = 0xC; // float32
public const nint m_fSwitchDistances = 0x10; // CUtlVectorFixedGrowable<float32>
public const nint m_fSwitchDistances = 0x10; // CUtlVector<float32>
}
// Parent: BaseSceneObjectOverride_t
// Fields count: 4
@ -131,20 +131,19 @@ namespace CS2Dumper.Schemas {
public static class WorldBuilderParams_t {
public const nint m_flMinDrawVolumeSize = 0x0; // float32
public const nint m_bBuildBakedLighting = 0x4; // bool
public const nint m_vLightmapUvScale = 0x8; // Vector2D
public const nint m_nCompileTimestamp = 0x10; // uint64
public const nint m_nCompileFingerprint = 0x18; // uint64
public const nint m_bakedLightingInfo = 0x8; // BakedLightingInfo_t
public const nint m_nCompileTimestamp = 0x38; // uint64
public const nint m_nCompileFingerprint = 0x40; // uint64
}
// Parent: None
// Fields count: 4
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
public static class PermEntityLumpData_t {
public const nint m_name = 0x8; // CUtlString
public const nint m_hammerUniqueId = 0x10; // CUtlString
public const nint m_childLumps = 0x18; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
public const nint m_entityKeyValues = 0x30; // CUtlLeanVector<EntityKeyValueData_t>
public const nint m_childLumps = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
public const nint m_entityKeyValues = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
}
// Parent: None
// Fields count: 13
@ -189,7 +188,7 @@ namespace CS2Dumper.Schemas {
public const nint m_nTimesToFire = 0x2C; // int32
}
// Parent: None
// Fields count: 5
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
@ -198,6 +197,10 @@ namespace CS2Dumper.Schemas {
public const nint m_nLightmapGameVersionNumber = 0x4; // uint32
public const nint m_vLightmapUvScale = 0x8; // Vector2D
public const nint m_bHasLightmaps = 0x10; // bool
public const nint m_bBakedShadowsGamma20 = 0x11; // bool
public const nint m_bCompressionEnabled = 0x12; // bool
public const nint m_nChartPackIterations = 0x13; // uint8
public const nint m_nVradQuality = 0x14; // uint8
public const nint m_lightMaps = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
}
// Parent: None
@ -250,9 +253,9 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults
public static class World_t {
public const nint m_builderParams = 0x0; // WorldBuilderParams_t
public const nint m_worldNodes = 0x20; // CUtlVector<NodeData_t>
public const nint m_worldLightingInfo = 0x38; // BakedLightingInfo_t
public const nint m_entityLumps = 0x68; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
public const nint m_worldNodes = 0x48; // CUtlVector<NodeData_t>
public const nint m_worldLightingInfo = 0x60; // BakedLightingInfo_t
public const nint m_entityLumps = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
}
// Parent: None
// Fields count: 10
@ -310,21 +313,5 @@ namespace CS2Dumper.Schemas {
public const nint m_MasksBlock = 0x8C; // VoxelVisBlockOffset_t
public const nint m_nVisBlocks = 0x94; // VoxelVisBlockOffset_t
}
// Parent: None
// Fields count: 0
public static class {
}
// Parent: None
// Fields count: 0
public static class {
}
// Parent: None
// Fields count: 0
public static class {
}
// Parent: None
// Fields count: 0
public static class {
}
}
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -8,7 +8,7 @@
namespace cs2_dumper {
namespace schemas {
// Module: libworldrenderer.so
// Classes count: 27
// Classes count: 23
// Enums count: 1
namespace libworldrenderer_so {
// Alignment: 4
@ -57,7 +57,7 @@ namespace cs2_dumper {
namespace AggregateLODSetup_t {
constexpr std::ptrdiff_t m_vLODOrigin = 0x0; // Vector
constexpr std::ptrdiff_t m_fMaxObjectScale = 0xC; // float32
constexpr std::ptrdiff_t m_fSwitchDistances = 0x10; // CUtlVectorFixedGrowable<float32>
constexpr std::ptrdiff_t m_fSwitchDistances = 0x10; // CUtlVector<float32>
}
// Parent: BaseSceneObjectOverride_t
// Fields count: 4
@ -136,20 +136,19 @@ namespace cs2_dumper {
namespace WorldBuilderParams_t {
constexpr std::ptrdiff_t m_flMinDrawVolumeSize = 0x0; // float32
constexpr std::ptrdiff_t m_bBuildBakedLighting = 0x4; // bool
constexpr std::ptrdiff_t m_vLightmapUvScale = 0x8; // Vector2D
constexpr std::ptrdiff_t m_nCompileTimestamp = 0x10; // uint64
constexpr std::ptrdiff_t m_nCompileFingerprint = 0x18; // uint64
constexpr std::ptrdiff_t m_bakedLightingInfo = 0x8; // BakedLightingInfo_t
constexpr std::ptrdiff_t m_nCompileTimestamp = 0x38; // uint64
constexpr std::ptrdiff_t m_nCompileFingerprint = 0x40; // uint64
}
// Parent: None
// Fields count: 4
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
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<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
constexpr std::ptrdiff_t m_entityKeyValues = 0x30; // CUtlLeanVector<EntityKeyValueData_t>
constexpr std::ptrdiff_t m_childLumps = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
constexpr std::ptrdiff_t m_entityKeyValues = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
}
// Parent: None
// Fields count: 13
@ -194,7 +193,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nTimesToFire = 0x2C; // int32
}
// Parent: None
// Fields count: 5
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
@ -203,6 +202,10 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nLightmapGameVersionNumber = 0x4; // uint32
constexpr std::ptrdiff_t m_vLightmapUvScale = 0x8; // Vector2D
constexpr std::ptrdiff_t m_bHasLightmaps = 0x10; // bool
constexpr std::ptrdiff_t m_bBakedShadowsGamma20 = 0x11; // bool
constexpr std::ptrdiff_t m_bCompressionEnabled = 0x12; // bool
constexpr std::ptrdiff_t m_nChartPackIterations = 0x13; // uint8
constexpr std::ptrdiff_t m_nVradQuality = 0x14; // uint8
constexpr std::ptrdiff_t m_lightMaps = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
}
// Parent: None
@ -255,9 +258,9 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults
namespace World_t {
constexpr std::ptrdiff_t m_builderParams = 0x0; // WorldBuilderParams_t
constexpr std::ptrdiff_t m_worldNodes = 0x20; // CUtlVector<NodeData_t>
constexpr std::ptrdiff_t m_worldLightingInfo = 0x38; // BakedLightingInfo_t
constexpr std::ptrdiff_t m_entityLumps = 0x68; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
constexpr std::ptrdiff_t m_worldNodes = 0x48; // CUtlVector<NodeData_t>
constexpr std::ptrdiff_t m_worldLightingInfo = 0x60; // BakedLightingInfo_t
constexpr std::ptrdiff_t m_entityLumps = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
}
// Parent: None
// Fields count: 10
@ -315,22 +318,6 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_MasksBlock = 0x8C; // VoxelVisBlockOffset_t
constexpr std::ptrdiff_t m_nVisBlocks = 0x94; // VoxelVisBlockOffset_t
}
// Parent: None
// Fields count: 0
namespace {
}
// Parent: None
// Fields count: 0
namespace {
}
// Parent: None
// Fields count: 0
namespace {
}
// Parent: None
// Fields count: 0
namespace {
}
}
}
}

View File

@ -1,11 +1,6 @@
{
"libworldrenderer.so": {
"classes": {
"": {
"fields": {},
"metadata": [],
"parent": null
},
"AggregateLODSetup_t": {
"fields": {
"m_fMaxObjectScale": 12,
@ -61,10 +56,14 @@
},
"BakedLightingInfo_t": {
"fields": {
"m_bBakedShadowsGamma20": 17,
"m_bCompressionEnabled": 18,
"m_bHasLightmaps": 16,
"m_lightMaps": 24,
"m_nChartPackIterations": 19,
"m_nLightmapGameVersionNumber": 4,
"m_nLightmapVersionNumber": 0,
"m_nVradQuality": 20,
"m_vLightmapUvScale": 8
},
"metadata": [
@ -255,9 +254,8 @@
},
"PermEntityLumpData_t": {
"fields": {
"m_childLumps": 24,
"m_entityKeyValues": 48,
"m_hammerUniqueId": 16,
"m_childLumps": 16,
"m_entityKeyValues": 40,
"m_name": 8
},
"metadata": [
@ -314,10 +312,10 @@
"WorldBuilderParams_t": {
"fields": {
"m_bBuildBakedLighting": 4,
"m_bakedLightingInfo": 8,
"m_flMinDrawVolumeSize": 0,
"m_nCompileFingerprint": 24,
"m_nCompileTimestamp": 16,
"m_vLightmapUvScale": 8
"m_nCompileFingerprint": 64,
"m_nCompileTimestamp": 56
},
"metadata": [
{
@ -369,9 +367,9 @@
"World_t": {
"fields": {
"m_builderParams": 0,
"m_entityLumps": 104,
"m_worldLightingInfo": 56,
"m_worldNodes": 32
"m_entityLumps": 144,
"m_worldLightingInfo": 96,
"m_worldNodes": 72
},
"metadata": [
{

View File

@ -1,12 +1,12 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libworldrenderer.so
// Classes count: 27
// Classes count: 23
// Enums count: 1
pub mod libworldrenderer_so {
// Alignment: 4
@ -56,7 +56,7 @@ pub mod cs2_dumper {
pub mod AggregateLODSetup_t {
pub const m_vLODOrigin: usize = 0x0; // Vector
pub const m_fMaxObjectScale: usize = 0xC; // float32
pub const m_fSwitchDistances: usize = 0x10; // CUtlVectorFixedGrowable<float32>
pub const m_fSwitchDistances: usize = 0x10; // CUtlVector<float32>
}
// Parent: BaseSceneObjectOverride_t
// Fields count: 4
@ -135,20 +135,19 @@ pub mod cs2_dumper {
pub mod WorldBuilderParams_t {
pub const m_flMinDrawVolumeSize: usize = 0x0; // float32
pub const m_bBuildBakedLighting: usize = 0x4; // bool
pub const m_vLightmapUvScale: usize = 0x8; // Vector2D
pub const m_nCompileTimestamp: usize = 0x10; // uint64
pub const m_nCompileFingerprint: usize = 0x18; // uint64
pub const m_bakedLightingInfo: usize = 0x8; // BakedLightingInfo_t
pub const m_nCompileTimestamp: usize = 0x38; // uint64
pub const m_nCompileFingerprint: usize = 0x40; // uint64
}
// Parent: None
// Fields count: 4
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
pub mod PermEntityLumpData_t {
pub const m_name: usize = 0x8; // CUtlString
pub const m_hammerUniqueId: usize = 0x10; // CUtlString
pub const m_childLumps: usize = 0x18; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
pub const m_entityKeyValues: usize = 0x30; // CUtlLeanVector<EntityKeyValueData_t>
pub const m_childLumps: usize = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
pub const m_entityKeyValues: usize = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
}
// Parent: None
// Fields count: 13
@ -193,7 +192,7 @@ pub mod cs2_dumper {
pub const m_nTimesToFire: usize = 0x2C; // int32
}
// Parent: None
// Fields count: 5
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
@ -202,6 +201,10 @@ pub mod cs2_dumper {
pub const m_nLightmapGameVersionNumber: usize = 0x4; // uint32
pub const m_vLightmapUvScale: usize = 0x8; // Vector2D
pub const m_bHasLightmaps: usize = 0x10; // bool
pub const m_bBakedShadowsGamma20: usize = 0x11; // bool
pub const m_bCompressionEnabled: usize = 0x12; // bool
pub const m_nChartPackIterations: usize = 0x13; // uint8
pub const m_nVradQuality: usize = 0x14; // uint8
pub const m_lightMaps: usize = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
}
// Parent: None
@ -254,9 +257,9 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
pub mod World_t {
pub const m_builderParams: usize = 0x0; // WorldBuilderParams_t
pub const m_worldNodes: usize = 0x20; // CUtlVector<NodeData_t>
pub const m_worldLightingInfo: usize = 0x38; // BakedLightingInfo_t
pub const m_entityLumps: usize = 0x68; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
pub const m_worldNodes: usize = 0x48; // CUtlVector<NodeData_t>
pub const m_worldLightingInfo: usize = 0x60; // BakedLightingInfo_t
pub const m_entityLumps: usize = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
}
// Parent: None
// Fields count: 10
@ -314,22 +317,6 @@ pub mod cs2_dumper {
pub const m_MasksBlock: usize = 0x8C; // VoxelVisBlockOffset_t
pub const m_nVisBlocks: usize = 0x94; // VoxelVisBlockOffset_t
}
// Parent: None
// Fields count: 0
pub mod {
}
// Parent: None
// Fields count: 0
pub mod {
}
// Parent: None
// Fields count: 0
pub mod {
}
// Parent: None
// Fields count: 0
pub mod {
}
}
}
}

View File

@ -1,44 +1,47 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
namespace CS2Dumper.Offsets {
// Module: libclient.so
public static class LibclientSo {
public const nint dwCSGOInput = 0x3743780;
public const nint dwEntityList = 0x35AA688;
public const nint dwGameEntitySystem = 0x3860740;
public const nint dwGameEntitySystem_getHighestEntityIndex = 0x1540;
public const nint dwGameRules = 0x3736548;
public const nint dwGlobalVars = 0x356BAD0;
public const nint dwGlowManager = 0x373AEB0;
public const nint dwLocalPlayerController = 0x371BA18;
public const nint dwLocalPlayerPawn = 0x373BE98;
public const nint dwPlantedC4 = 0x3750658;
public const nint dwPrediction = 0x373BD60;
public const nint dwSensitivity = 0x373A3C8;
public const nint dwCSGOInput = 0x38F7600;
public const nint dwEntityList = 0x375A108;
public const nint dwGameEntitySystem = 0x3A226A0;
public const nint dwGameEntitySystem_highestEntityIndex = 0x1540;
public const nint dwGameRules = 0x38EA780;
public const nint dwGlobalVars = 0x37190B0;
public const nint dwGlowManager = 0x38EA690;
public const nint dwLocalPlayerController = 0x38CF7B8;
public const nint dwLocalPlayerPawn = 0x38F0448;
public const nint dwPlantedC4 = 0x3904698;
public const nint dwPrediction = 0x38F0300;
public const nint dwSensitivity = 0x38EE7C8;
public const nint dwSensitivity_sensitivity = 0x40;
public const nint dwViewAngles = 0x3748B20;
public const nint dwViewMatrix = 0x373C9C0;
public const nint dwViewRender = 0x373CB70;
public const nint dwViewAngles = 0x38FCA28;
public const nint dwViewMatrix = 0x38F0CA0;
public const nint dwViewRender = 0x38F0E50;
}
// Module: libengine2.so
public static class Libengine2So {
public const nint dwBuildNumber = 0x6D6634;
public const nint dwNetworkGameClient = 0x6D6FC8;
public const nint dwNetworkGameClient_deltaTick = 0x278;
public const nint dwNetworkGameClient_getLocalPlayer = 0x13C0;
public const nint dwNetworkGameClient_getMaxClients = 0x250;
public const nint dwNetworkGameClient_signOnState = 0x260;
public const nint dwWindowHeight = 0x6DFE24;
public const nint dwWindowWidth = 0x6DFE20;
public const nint dwBuildNumber = 0x793914;
public const nint dwNetworkGameClient = 0x7942E8;
public const nint dwNetworkGameClient_clientTickCount = 0x188;
public const nint dwNetworkGameClient_deltaTick = 0x298;
public const nint dwNetworkGameClient_isBackgroundMap = 0x2814A7;
public const nint dwNetworkGameClient_localPlayer = 0x108;
public const nint dwNetworkGameClient_maxClients = 0x290;
public const nint dwNetworkGameClient_serverTickCount = 0x184;
public const nint dwNetworkGameClient_signOnState = 0x280;
public const nint dwWindowHeight = 0x79D4C4;
public const nint dwWindowWidth = 0x79D4C0;
}
// Module: libinputsystem.so
public static class LibinputsystemSo {
public const nint dwInputSystem = 0x40160;
public const nint dwInputSystem = 0x41160;
}
// Module: libmatchmaking.so
public static class LibmatchmakingSo {
public const nint dwGameTypes = 0x37C9A0;
public const nint dwGameTypes_mapName = 0x37CAC0;
public const nint dwGameTypes = 0x3360A0;
public const nint dwGameTypes_mapName = 0x3361C0;
}
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#pragma once
@ -9,42 +9,45 @@ namespace cs2_dumper {
namespace offsets {
// Module: libclient.so
namespace libclient_so {
constexpr std::ptrdiff_t dwCSGOInput = 0x3743780;
constexpr std::ptrdiff_t dwEntityList = 0x35AA688;
constexpr std::ptrdiff_t dwGameEntitySystem = 0x3860740;
constexpr std::ptrdiff_t dwGameEntitySystem_getHighestEntityIndex = 0x1540;
constexpr std::ptrdiff_t dwGameRules = 0x3736548;
constexpr std::ptrdiff_t dwGlobalVars = 0x356BAD0;
constexpr std::ptrdiff_t dwGlowManager = 0x373AEB0;
constexpr std::ptrdiff_t dwLocalPlayerController = 0x371BA18;
constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x373BE98;
constexpr std::ptrdiff_t dwPlantedC4 = 0x3750658;
constexpr std::ptrdiff_t dwPrediction = 0x373BD60;
constexpr std::ptrdiff_t dwSensitivity = 0x373A3C8;
constexpr std::ptrdiff_t dwCSGOInput = 0x38F7600;
constexpr std::ptrdiff_t dwEntityList = 0x375A108;
constexpr std::ptrdiff_t dwGameEntitySystem = 0x3A226A0;
constexpr std::ptrdiff_t dwGameEntitySystem_highestEntityIndex = 0x1540;
constexpr std::ptrdiff_t dwGameRules = 0x38EA780;
constexpr std::ptrdiff_t dwGlobalVars = 0x37190B0;
constexpr std::ptrdiff_t dwGlowManager = 0x38EA690;
constexpr std::ptrdiff_t dwLocalPlayerController = 0x38CF7B8;
constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x38F0448;
constexpr std::ptrdiff_t dwPlantedC4 = 0x3904698;
constexpr std::ptrdiff_t dwPrediction = 0x38F0300;
constexpr std::ptrdiff_t dwSensitivity = 0x38EE7C8;
constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40;
constexpr std::ptrdiff_t dwViewAngles = 0x3748B20;
constexpr std::ptrdiff_t dwViewMatrix = 0x373C9C0;
constexpr std::ptrdiff_t dwViewRender = 0x373CB70;
constexpr std::ptrdiff_t dwViewAngles = 0x38FCA28;
constexpr std::ptrdiff_t dwViewMatrix = 0x38F0CA0;
constexpr std::ptrdiff_t dwViewRender = 0x38F0E50;
}
// Module: libengine2.so
namespace libengine2_so {
constexpr std::ptrdiff_t dwBuildNumber = 0x6D6634;
constexpr std::ptrdiff_t dwNetworkGameClient = 0x6D6FC8;
constexpr std::ptrdiff_t dwNetworkGameClient_deltaTick = 0x278;
constexpr std::ptrdiff_t dwNetworkGameClient_getLocalPlayer = 0x13C0;
constexpr std::ptrdiff_t dwNetworkGameClient_getMaxClients = 0x250;
constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x260;
constexpr std::ptrdiff_t dwWindowHeight = 0x6DFE24;
constexpr std::ptrdiff_t dwWindowWidth = 0x6DFE20;
constexpr std::ptrdiff_t dwBuildNumber = 0x793914;
constexpr std::ptrdiff_t dwNetworkGameClient = 0x7942E8;
constexpr std::ptrdiff_t dwNetworkGameClient_clientTickCount = 0x188;
constexpr std::ptrdiff_t dwNetworkGameClient_deltaTick = 0x298;
constexpr std::ptrdiff_t dwNetworkGameClient_isBackgroundMap = 0x2814A7;
constexpr std::ptrdiff_t dwNetworkGameClient_localPlayer = 0x108;
constexpr std::ptrdiff_t dwNetworkGameClient_maxClients = 0x290;
constexpr std::ptrdiff_t dwNetworkGameClient_serverTickCount = 0x184;
constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x280;
constexpr std::ptrdiff_t dwWindowHeight = 0x79D4C4;
constexpr std::ptrdiff_t dwWindowWidth = 0x79D4C0;
}
// Module: libinputsystem.so
namespace libinputsystem_so {
constexpr std::ptrdiff_t dwInputSystem = 0x40160;
constexpr std::ptrdiff_t dwInputSystem = 0x41160;
}
// Module: libmatchmaking.so
namespace libmatchmaking_so {
constexpr std::ptrdiff_t dwGameTypes = 0x37C9A0;
constexpr std::ptrdiff_t dwGameTypes_mapName = 0x37CAC0;
constexpr std::ptrdiff_t dwGameTypes = 0x3360A0;
constexpr std::ptrdiff_t dwGameTypes_mapName = 0x3361C0;
}
}
}

View File

@ -2,51 +2,51 @@
"libclient.so": [
{
"name": "dwCSGOInput",
"value": 57948032
"value": 59733504
},
{
"name": "dwEntityList",
"value": 56272520
"value": 58040584
},
{
"name": "dwGameEntitySystem",
"value": 59115328
"value": 60958368
},
{
"name": "dwGameEntitySystem_getHighestEntityIndex",
"name": "dwGameEntitySystem_highestEntityIndex",
"value": 5440
},
{
"name": "dwGameRules",
"value": 57894216
"value": 59680640
},
{
"name": "dwGlobalVars",
"value": 56015568
"value": 57774256
},
{
"name": "dwGlowManager",
"value": 57913008
"value": 59680400
},
{
"name": "dwLocalPlayerController",
"value": 57784856
"value": 59570104
},
{
"name": "dwLocalPlayerPawn",
"value": 57917080
"value": 59704392
},
{
"name": "dwPlantedC4",
"value": 58000984
"value": 59786904
},
{
"name": "dwPrediction",
"value": 57916768
"value": 59704064
},
{
"name": "dwSensitivity",
"value": 57910216
"value": 59697096
},
{
"name": "dwSensitivity_sensitivity",
@ -54,65 +54,77 @@
},
{
"name": "dwViewAngles",
"value": 57969440
"value": 59755048
},
{
"name": "dwViewMatrix",
"value": 57919936
"value": 59706528
},
{
"name": "dwViewRender",
"value": 57920368
"value": 59706960
}
],
"libengine2.so": [
{
"name": "dwBuildNumber",
"value": 7169588
"value": 7944468
},
{
"name": "dwNetworkGameClient",
"value": 7172040
"value": 7946984
},
{
"name": "dwNetworkGameClient_clientTickCount",
"value": 392
},
{
"name": "dwNetworkGameClient_deltaTick",
"value": 632
"value": 664
},
{
"name": "dwNetworkGameClient_getLocalPlayer",
"value": 5056
"name": "dwNetworkGameClient_isBackgroundMap",
"value": 2626727
},
{
"name": "dwNetworkGameClient_getMaxClients",
"value": 592
"name": "dwNetworkGameClient_localPlayer",
"value": 264
},
{
"name": "dwNetworkGameClient_maxClients",
"value": 656
},
{
"name": "dwNetworkGameClient_serverTickCount",
"value": 388
},
{
"name": "dwNetworkGameClient_signOnState",
"value": 608
"value": 640
},
{
"name": "dwWindowHeight",
"value": 7208484
"value": 7984324
},
{
"name": "dwWindowWidth",
"value": 7208480
"value": 7984320
}
],
"libinputsystem.so": [
{
"name": "dwInputSystem",
"value": 262496
"value": 266592
}
],
"libmatchmaking.so": [
{
"name": "dwGameTypes",
"value": 3656096
"value": 3367072
},
{
"name": "dwGameTypes_mapName",
"value": 3656384
"value": 3367360
}
]
}

View File

@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-04-29 23:05:53.220233445 UTC
// 2024-06-13 12:45:29.262540675 UTC
#![allow(non_upper_case_globals, unused)]
@ -7,42 +7,45 @@ pub mod cs2_dumper {
pub mod offsets {
// Module: libclient.so
pub mod libclient_so {
pub const dwCSGOInput: usize = 0x3743780;
pub const dwEntityList: usize = 0x35AA688;
pub const dwGameEntitySystem: usize = 0x3860740;
pub const dwGameEntitySystem_getHighestEntityIndex: usize = 0x1540;
pub const dwGameRules: usize = 0x3736548;
pub const dwGlobalVars: usize = 0x356BAD0;
pub const dwGlowManager: usize = 0x373AEB0;
pub const dwLocalPlayerController: usize = 0x371BA18;
pub const dwLocalPlayerPawn: usize = 0x373BE98;
pub const dwPlantedC4: usize = 0x3750658;
pub const dwPrediction: usize = 0x373BD60;
pub const dwSensitivity: usize = 0x373A3C8;
pub const dwCSGOInput: usize = 0x38F7600;
pub const dwEntityList: usize = 0x375A108;
pub const dwGameEntitySystem: usize = 0x3A226A0;
pub const dwGameEntitySystem_highestEntityIndex: usize = 0x1540;
pub const dwGameRules: usize = 0x38EA780;
pub const dwGlobalVars: usize = 0x37190B0;
pub const dwGlowManager: usize = 0x38EA690;
pub const dwLocalPlayerController: usize = 0x38CF7B8;
pub const dwLocalPlayerPawn: usize = 0x38F0448;
pub const dwPlantedC4: usize = 0x3904698;
pub const dwPrediction: usize = 0x38F0300;
pub const dwSensitivity: usize = 0x38EE7C8;
pub const dwSensitivity_sensitivity: usize = 0x40;
pub const dwViewAngles: usize = 0x3748B20;
pub const dwViewMatrix: usize = 0x373C9C0;
pub const dwViewRender: usize = 0x373CB70;
pub const dwViewAngles: usize = 0x38FCA28;
pub const dwViewMatrix: usize = 0x38F0CA0;
pub const dwViewRender: usize = 0x38F0E50;
}
// Module: libengine2.so
pub mod libengine2_so {
pub const dwBuildNumber: usize = 0x6D6634;
pub const dwNetworkGameClient: usize = 0x6D6FC8;
pub const dwNetworkGameClient_deltaTick: usize = 0x278;
pub const dwNetworkGameClient_getLocalPlayer: usize = 0x13C0;
pub const dwNetworkGameClient_getMaxClients: usize = 0x250;
pub const dwNetworkGameClient_signOnState: usize = 0x260;
pub const dwWindowHeight: usize = 0x6DFE24;
pub const dwWindowWidth: usize = 0x6DFE20;
pub const dwBuildNumber: usize = 0x793914;
pub const dwNetworkGameClient: usize = 0x7942E8;
pub const dwNetworkGameClient_clientTickCount: usize = 0x188;
pub const dwNetworkGameClient_deltaTick: usize = 0x298;
pub const dwNetworkGameClient_isBackgroundMap: usize = 0x2814A7;
pub const dwNetworkGameClient_localPlayer: usize = 0x108;
pub const dwNetworkGameClient_maxClients: usize = 0x290;
pub const dwNetworkGameClient_serverTickCount: usize = 0x184;
pub const dwNetworkGameClient_signOnState: usize = 0x280;
pub const dwWindowHeight: usize = 0x79D4C4;
pub const dwWindowWidth: usize = 0x79D4C0;
}
// Module: libinputsystem.so
pub mod libinputsystem_so {
pub const dwInputSystem: usize = 0x40160;
pub const dwInputSystem: usize = 0x41160;
}
// Module: libmatchmaking.so
pub mod libmatchmaking_so {
pub const dwGameTypes: usize = 0x37C9A0;
pub const dwGameTypes_mapName: usize = 0x37CAC0;
pub const dwGameTypes: usize = 0x3360A0;
pub const dwGameTypes_mapName: usize = 0x3361C0;
}
}
}

2
rust-toolchain.toml Normal file
View File

@ -0,0 +1,2 @@
[toolchain]
channel = "nightly"

View File

@ -64,7 +64,7 @@ fn read_offset(
result = match op {
Operation::Add { value } => result + *value,
Operation::Rip { offset, len } => {
let offset: i32 = process.read(result + offset.unwrap_or(3))?;
let offset: i32 = process.read(result + offset.unwrap_or(0x3))?;
(result + offset) + len.unwrap_or(7)
}

View File

@ -88,6 +88,10 @@ fn read_class_binding(
let name = binding.name.read_string(process)?.to_string();
if name.is_empty() {
return Err(Error::Other("empty class name"));
}
let parent = binding.base_classes.non_null().and_then(|ptr| {
let base_class = ptr.read(process).ok()?;
let parent_class = base_class.prev.read(process).ok()?;
@ -139,7 +143,7 @@ fn read_class_binding_fields(
return Ok(Vec::new());
}
(0..binding.num_fields).try_fold(Vec::new(), |mut acc, i| {
(0..binding.fields_count).try_fold(Vec::new(), |mut acc, i| {
let field = binding.fields.at(i as _).read(process)?;
if field.schema_type.is_null() {
@ -155,7 +159,7 @@ fn read_class_binding_fields(
acc.push(ClassField {
name,
type_name,
offset: field.offset,
offset: field.single_inheritance_offset,
});
Ok(acc)
@ -170,7 +174,7 @@ fn read_class_binding_metadata(
return Ok(Vec::new());
}
(0..binding.num_static_metadata).try_fold(Vec::new(), |mut acc, i| {
(0..binding.static_metadata_count).try_fold(Vec::new(), |mut acc, i| {
let metadata = binding.static_metadata.at(i as _).read(process)?;
if metadata.network_value.is_null() {
@ -182,12 +186,16 @@ fn read_class_binding_metadata(
let metadata = match name.as_str() {
"MNetworkChangeCallback" => unsafe {
let name = network_value.u.name_ptr.read_string(process)?.to_string();
let name = network_value
.value
.name_ptr
.read_string(process)?
.to_string();
ClassMetadata::NetworkChangeCallback { name }
},
"MNetworkVarNames" => unsafe {
let var_value = network_value.u.var_value;
let var_value = network_value.value.var_value;
let name = var_value.name.read_string(process)?.to_string();
let type_name = var_value.type_name.read_string(process)?.replace(" ", "");
@ -210,20 +218,24 @@ fn read_enum_binding(
let binding = binding_ptr.read(process)?;
let name = binding.name.read_string(process)?.to_string();
if name.is_empty() {
return Err(Error::Other("empty enum name"));
}
let members = read_enum_binding_members(process, &binding)?;
debug!(
"found enum: {} at {:#X} (alignment: {}) (members count: {})",
name,
binding_ptr.to_umem(),
binding.alignment,
binding.align_of,
binding.size,
);
Ok(Enum {
name,
alignment: binding.alignment,
size: binding.num_enumerators,
alignment: binding.align_of,
size: binding.enumerators_count,
members,
})
}
@ -236,13 +248,13 @@ fn read_enum_binding_members(
return Ok(Vec::new());
}
(0..binding.num_enumerators).try_fold(Vec::new(), |mut acc, i| {
(0..binding.enumerators_count).try_fold(Vec::new(), |mut acc, i| {
let enumerator = binding.enumerators.at(i as _).read(process)?;
let name = enumerator.name.read_string(process)?.to_string();
acc.push(EnumMember {
name,
value: unsafe { enumerator.u.ulong } as i64,
value: unsafe { enumerator.value.ulong } as i64,
});
Ok(acc)
@ -253,7 +265,7 @@ fn read_schema_system(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<Sch
let module = process.module_by_name("libschemasystem.so")?;
let buf = process.read_raw(module.base, module.size as _)?;
let schema_system_addr = signature!("48 8D 3D ? ? ? ? 48 8D 35 ? ? ? ? E9")
let schema_system_addr = signature!("48 8D 05 ? ? ? ? 49 89 04 24")
.scan(&buf)
.and_then(|result| process.read_addr64_rip(module.base + result).ok())
.ok_or_else(|| Error::Other("unable to read schema system address"))?;

View File

@ -5,13 +5,9 @@ use std::sync::LazyLock;
use serde::{Deserialize, Serialize};
pub static CONFIG: LazyLock<Config> = LazyLock::new(|| {
let content = fs::read_to_string("config.json").unwrap_or_else(|_| {
panic!(
"unable to read config.json file!\nmake sure the file is placed in the same directory as the cs2-dumper executable"
)
});
let content = fs::read_to_string("config.json").unwrap();
serde_json::from_str(&content).expect("unable to parse config.json file")
serde_json::from_str(&content).unwrap()
});
#[derive(Debug, Deserialize, Serialize)]

View File

@ -17,7 +17,7 @@ pub enum Error {
Serde(#[from] serde_json::Error),
#[error("unable to parse signature")]
SignatureInvalid,
SignatureParseError,
#[error("unable to find signature for: {0}")]
SignatureNotFound(String),
@ -27,15 +27,13 @@ pub enum Error {
}
impl<T> From<memflow::error::PartialError<T>> for Error {
#[inline]
fn from(err: memflow::error::PartialError<T>) -> Self {
Error::Memflow(err.into())
fn from(e: memflow::error::PartialError<T>) -> Self {
Error::Memflow(e.into())
}
}
impl From<skidscan::SignatureParseError> for Error {
#[inline]
fn from(_err: skidscan::SignatureParseError) -> Self {
Error::SignatureInvalid
fn from(_e: skidscan::SignatureParseError) -> Self {
Error::SignatureParseError
}
}

View File

@ -1,15 +1,13 @@
#![feature(lazy_cell)]
use std::path::PathBuf;
use std::time::Instant;
use clap::*;
use clap::{ArgAction, Parser};
use log::{info, Level};
use memflow::prelude::v1::*;
use simplelog::{ColorChoice, TermLogger};
use simplelog::{ColorChoice, Config, TermLogger, TerminalMode};
use config::CONFIG;
use error::Result;
@ -56,17 +54,18 @@ fn main() -> Result<()> {
TermLogger::init(
log_level.to_level_filter(),
Default::default(),
Default::default(),
Config::default(),
TerminalMode::Mixed,
ColorChoice::Auto,
)
.unwrap();
let os = memflow_native::create_os(&Default::default(), Default::default())?;
let os = memflow_native::create_os(&OsArgs::default(), LibArc::default())?;
let mut process = os.into_process_by_name(&CONFIG.executable)?;
let result = analysis::analyze_all(&mut process)?;
let output = Output::new(&args.file_types, args.indent_size, &args.output, &result)?;
output.dump_all(&mut process)?;

View File

@ -41,7 +41,6 @@ impl<'a> Formatter<'a> {
Ok(())
}
#[inline]
fn push_indentation(&mut self) {
if self.indent_level > 0 {
let indentation = " ".repeat(self.indent_level * self.indent_size);

View File

@ -1,4 +1,4 @@
use std::collections::BTreeMap;
use std::collections::{BTreeMap, HashSet};
use std::fmt::{self, Write};
use heck::{AsPascalCase, AsSnakeCase};
@ -37,8 +37,6 @@ impl CodeWriter for SchemaMap {
&format!("public enum {} : {}", slugify(&enum_.name), type_name),
false,
|fmt| {
// TODO: Handle the case where multiple members share
// the same value.
let members = enum_
.members
.iter()
@ -58,7 +56,7 @@ impl CodeWriter for SchemaMap {
.parent
.as_ref()
.map(|parent| slugify(&parent.name))
.unwrap_or_else(|| "None".to_string());
.unwrap_or_else(|| String::from("None"));
writeln!(fmt, "// Parent: {}", parent_name)?;
writeln!(fmt, "// Fields count: {}", class.fields.len())?;
@ -122,8 +120,6 @@ impl CodeWriter for SchemaMap {
&format!("enum class {} : {}", slugify(&enum_.name), type_name),
true,
|fmt| {
// TODO: Handle the case where multiple members share
// the same value.
let members = enum_
.members
.iter()
@ -143,7 +139,7 @@ impl CodeWriter for SchemaMap {
.parent
.as_ref()
.map(|parent| slugify(&parent.name))
.unwrap_or_else(|| "None".to_string());
.unwrap_or_else(|| String::from("None"));
writeln!(fmt, "// Parent: {}", parent_name)?;
writeln!(fmt, "// Fields count: {}", class.fields.len())?;
@ -259,7 +255,7 @@ impl CodeWriter for SchemaMap {
})
.collect();
fmt.write_str(&serde_json::to_string_pretty(&content).expect("failed to serialize"))
fmt.write_str(&serde_json::to_string_pretty(&content).expect("unable to serialize json"))
}
fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
@ -299,21 +295,24 @@ impl CodeWriter for SchemaMap {
),
false,
|fmt| {
// TODO: Handle the case where multiple members share
// the same value.
let mut used_values = HashSet::new();
let members = enum_
.members
.iter()
.map(|member| {
format!(
"{} = {}",
member.name,
if member.value == -1 {
.filter_map(|member| {
// Filter out duplicate values.
if used_values.insert(member.value) {
let value = if member.value == -1 {
format!("{}::MAX", type_name)
} else {
format!("{:#X}", member.value)
};
Some(format!("{} = {}", member.name, value))
} else {
None
}
)
})
.collect::<Vec<_>>()
.join(",\n");
@ -328,7 +327,7 @@ impl CodeWriter for SchemaMap {
.parent
.as_ref()
.map(|parent| slugify(&parent.name))
.unwrap_or_else(|| "None".to_string());
.unwrap_or_else(|| String::from("None"));
writeln!(fmt, "// Parent: {}", parent_name)?;
writeln!(fmt, "// Fields count: {}", class.fields.len())?;

View File

@ -1,243 +1,21 @@
use std::ffi::c_char;
pub use schema_base_class_info_data::*;
pub use schema_class_field_data::*;
pub use schema_class_info_data::*;
pub use schema_enum_info_data::*;
pub use schema_enumerator_info_data::*;
pub use schema_metadata_entry_data::*;
pub use schema_static_field_data::*;
pub use schema_system::*;
pub use schema_system_type_scope::*;
pub use schema_type::*;
use memflow::prelude::v1::*;
use super::{UtlTsHash, UtlVector};
pub type SchemaClassBinding = SchemaClassInfoData;
pub type SchemaEnumBinding = SchemaEnumInfoData;
#[repr(u8)]
pub enum SchemaAtomicCategory {
Basic = 0,
T,
CollectionOfT,
TF,
TT,
TTF,
I,
None,
}
#[repr(u8)]
pub enum SchemaTypeCategory {
BuiltIn = 0,
Ptr,
Bitfield,
FixedArray,
Atomic,
DeclaredClass,
DeclaredEnum,
None,
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaArrayT {
pub array_size: u32, // 0x0000
pad_0004: [u8; 0x4], // 0x0004
pub element: Pointer64<SchemaType>, // 0x0008
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicI {
pad_0000: [u8; 0x10], // 0x0000
pub value: u64, // 0x0010
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicT {
pub element: Pointer64<SchemaType>, // 0x0000
pad_0008: [u8; 0x8], // 0x0008
pub template: Pointer64<SchemaType>, // 0x0010
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicTT {
pad_0000: [u8; 0x10], // 0x0000
pub templates: [Pointer64<SchemaType>; 2], // 0x0010
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicTF {
pad_0000: [u8; 0x10], // 0x0000
pub template: Pointer64<SchemaType>, // 0x0010
pub size: i32, // 0x0018
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicTTF {
pad_0000: [u8; 0x10], // 0x0000
pub templates: [Pointer64<SchemaType>; 2], // 0x0010
pub size: i32, // 0x0020
}
#[derive(Pod)]
#[repr(C)]
pub struct SchemaBaseClassInfoData {
pub offset: i32, // 0x0000
pad_0004: [u8; 0x4], // 0x0004
pub prev: Pointer64<SchemaClassInfoData>, // 0x0008
}
#[derive(Pod)]
#[repr(C)]
pub struct SchemaClassFieldData {
pub name: Pointer64<ReprCString>, // 0x0000
pub schema_type: Pointer64<SchemaType>, // 0x0008
pub offset: i32, // 0x0010
pub num_metadata: i32, // 0x0014
pub metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
}
#[rustfmt::skip]
#[derive(Pod)]
#[repr(C)]
pub struct SchemaClassInfoData {
pub base: Pointer64<SchemaClassInfoData>, // 0x0000
pub name: Pointer64<ReprCString>, // 0x0008
pub module_name: Pointer64<ReprCString>, // 0x0010
pub size: i32, // 0x0018
pub num_fields: i16, // 0x001C
pub num_static_fields: i16, // 0x001E
pub num_static_metadata: i16, // 0x0020
pub alignment: u8, // 0x0022
pub has_base_class: u8, // 0x0023
pub total_class_size: i16, // 0x0024
pub derived_class_size: i16, // 0x0026
pub fields: Pointer64<[SchemaClassFieldData]>, // 0x0028
pub static_fields: Pointer64<[SchemaStaticFieldData]>, // 0x0030
pub base_classes: Pointer64<SchemaBaseClassInfoData>, // 0x0038
pad_0040: [u8; 0x8], // 0x0040
pub static_metadata: Pointer64<[SchemaMetadataEntryData]>, // 0x0048
pub type_scope: Pointer64<SchemaSystemTypeScope>, // 0x0050
pub schema_type: Pointer64<SchemaType>, // 0x0058
pad_0060: [u8; 0x10], // 0x0060
}
#[rustfmt::skip]
#[derive(Pod)]
#[repr(C)]
pub struct SchemaEnumInfoData {
pub base: Pointer64<SchemaEnumInfoData>, // 0x0000
pub name: Pointer64<ReprCString>, // 0x0008
pub module_name: Pointer64<ReprCString>, // 0x0010
pub size: u8, // 0x0018
pub alignment: u8, // 0x0019
pad_001a: u16, // 0x001A
pub num_enumerators: i16, // 0x001C
pub num_static_metadata: i16, // 0x001E
pub enumerators: Pointer64<[SchemaEnumeratorInfoData]>, // 0x0020
pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0028
pub type_scope: Pointer64<SchemaSystemTypeScope>, // 0x0030
pad_0038: [u8; 0x10], // 0x0038
}
#[repr(C)]
pub struct SchemaEnumeratorInfoData {
pub name: Pointer64<ReprCString>, // 0x0000
pub u: SchemaEnumeratorInfoDataUnion, // 0x0008
pub num_metadata: u32, // 0x0010
pub metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
}
unsafe impl Pod for SchemaEnumeratorInfoData {}
#[repr(C)]
pub union SchemaEnumeratorInfoDataUnion {
pub uchar: u8,
pub ushort: u16,
pub uint: u32,
pub ulong: u64,
}
#[derive(Pod)]
#[repr(C)]
pub struct SchemaMetadataEntryData {
pub name: Pointer64<ReprCString>, // 0x0000
pub network_value: Pointer64<SchemaNetworkValue>, // 0x0008
}
#[repr(C)]
pub struct SchemaNetworkValue {
pub u: SchemaNetworkValueUnion, // 0x0000
}
unsafe impl Pod for SchemaNetworkValue {}
#[repr(C)]
pub union SchemaNetworkValueUnion {
pub name_ptr: Pointer64<ReprCString>,
pub int_value: i32,
pub float_value: f32,
pub ptr: Pointer64<()>,
pub var_value: SchemaVarName,
pub name_value: [c_char; 32],
}
#[derive(Pod)]
#[repr(C)]
pub struct SchemaStaticFieldData {
pub name: Pointer64<ReprCString>, // 0x0000
pub type_: Pointer64<SchemaType>, // 0x0008
pub instance: Pointer64<()>, // 0x0010
pad_0018: [u8; 0x10], // 0x0018
}
#[derive(Pod)]
#[repr(C)]
pub struct SchemaSystem {
pad_0000: [u8; 0x1F8], // 0x0000
pub type_scopes: UtlVector<Pointer64<SchemaSystemTypeScope>>, // 0x01F8
pad_0208: [u8; 0x120], // 0x0208
pub num_registrations: u32, // 0x0328
pad_02c4: [u8; 0x4], // 0x032C
}
#[repr(C)]
pub struct SchemaSystemTypeScope {
pad_0000: [u8; 0x8], // 0x0000
pub name: [c_char; 256], // 0x0008
pad_0108: [u8; 0x518], // 0x0108
pub class_bindings: UtlTsHash<Pointer64<SchemaClassBinding>>, // 0x0620
pad_2eb0: [u8; 0x80e], // 0x2EB0
pub enum_bindings: UtlTsHash<Pointer64<SchemaEnumBinding>>, // 0x36C0
}
unsafe impl Pod for SchemaSystemTypeScope {}
#[repr(C)]
pub struct SchemaType {
pad_0000: [u8; 0x8], // 0x0000
pub name: Pointer64<ReprCString>, // 0x0008
pub type_scope: Pointer64<SchemaSystemTypeScope>, // 0x0010
pub type_category: SchemaTypeCategory, // 0x0018
pub atomic_category: SchemaAtomicCategory, // 0x0019
pub u: SchemaTypeUnion, // 0x0020
}
unsafe impl Pod for SchemaType {}
pub union SchemaTypeUnion {
pub schema_type: Pointer64<SchemaType>,
pub class_binding: Pointer64<SchemaClassBinding>,
pub enum_binding: Pointer64<SchemaEnumBinding>,
pub array: SchemaArrayT,
pub atomic: SchemaAtomicT,
pub atomic_tt: SchemaAtomicTT,
pub atomic_tf: SchemaAtomicTF,
pub atomic_ttf: SchemaAtomicTTF,
pub atomic_i: SchemaAtomicI,
}
#[derive(Pod, Clone, Copy)]
#[repr(C)]
pub struct SchemaVarName {
pub name: Pointer64<ReprCString>, // 0x0000
pub type_name: Pointer64<ReprCString>, // 0x0008
}
pub mod schema_base_class_info_data;
pub mod schema_class_field_data;
pub mod schema_class_info_data;
pub mod schema_enum_info_data;
pub mod schema_enumerator_info_data;
pub mod schema_metadata_entry_data;
pub mod schema_static_field_data;
pub mod schema_system;
pub mod schema_system_type_scope;
pub mod schema_type;

View File

@ -0,0 +1,11 @@
use memflow::prelude::v1::*;
use super::SchemaClassInfoData;
#[derive(Pod)]
#[repr(C)]
pub struct SchemaBaseClassInfoData {
pub offset: u32, // 0x0000
pad_0004: [u8; 0x4], // 0x0004
pub prev: Pointer64<SchemaClassInfoData>, // 0x0008
}

View File

@ -0,0 +1,13 @@
use memflow::prelude::v1::*;
use super::{SchemaMetadataEntryData, SchemaType};
#[derive(Pod)]
#[repr(C)]
pub struct SchemaClassFieldData {
pub name: Pointer64<ReprCString>, // 0x0000
pub schema_type: Pointer64<SchemaType>, // 0x0008
pub single_inheritance_offset: i32, // 0x0010
pub metadata_count: i32, // 0x0014
pub metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
}

View File

@ -0,0 +1,33 @@
use memflow::prelude::v1::*;
use super::{
SchemaBaseClassInfoData, SchemaClassFieldData, SchemaMetadataEntryData, SchemaStaticFieldData,
SchemaSystemTypeScope, SchemaType,
};
pub type SchemaClassBinding = SchemaClassInfoData;
#[rustfmt::skip]
#[derive(Pod)]
#[repr(C)]
pub struct SchemaClassInfoData {
pub base: Pointer64<SchemaClassInfoData>, // 0x0000
pub name: Pointer64<ReprCString>, // 0x0008
pub module_name: Pointer64<ReprCString>, // 0x0010
pub size: i32, // 0x0018
pub fields_count: i16, // 0x001C
pub static_fields_count: i16, // 0x001E
pub static_metadata_count: i16, // 0x0020
pub align_of: u8, // 0x0022
pub has_base_class: u8, // 0x0023
pub total_class_size: i16, // 0x0024
pub derived_class_size: i16, // 0x0026
pub fields: Pointer64<[SchemaClassFieldData]>, // 0x0028
pub static_fields: Pointer64<[SchemaStaticFieldData]>, // 0x0030
pub base_classes: Pointer64<SchemaBaseClassInfoData>, // 0x0038
pad_0040: [u8; 0x8], // 0x0040
pub static_metadata: Pointer64<[SchemaMetadataEntryData]>, // 0x0048
pub type_scope: Pointer64<SchemaSystemTypeScope>, // 0x0050
pub schema_type: Pointer64<SchemaType>, // 0x0058
pad_0060: [u8; 0x10], // 0x0060
}

View File

@ -0,0 +1,24 @@
use memflow::prelude::v1::*;
use super::{SchemaEnumeratorInfoData, SchemaMetadataEntryData, SchemaSystemTypeScope};
pub type SchemaEnumBinding = SchemaEnumInfoData;
#[rustfmt::skip]
#[derive(Pod)]
#[repr(C)]
pub struct SchemaEnumInfoData {
pub base: Pointer64<SchemaEnumInfoData>, // 0x0000
pub name: Pointer64<ReprCString>, // 0x0008
pub module_name: Pointer64<ReprCString>, // 0x0010
pub size: u8, // 0x0018
pub align_of: u8, // 0x0019
pad_001a: [u8; 0x2], // 0x001A
pub enumerators_count: i16, // 0x001C
pub static_metadata_count: i16, // 0x001E
pub enumerators: Pointer64<[SchemaEnumeratorInfoData]>, // 0x0020
pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0028
pub type_scope: Pointer64<SchemaSystemTypeScope>, // 0x0030
pub min_enumerator_value: i64, // 0x0038
pub max_enumerator_value: i64, // 0x0040
}

View File

@ -0,0 +1,21 @@
use memflow::prelude::v1::*;
use super::SchemaMetadataEntryData;
#[repr(C)]
pub struct SchemaEnumeratorInfoData {
pub name: Pointer64<ReprCString>, // 0x0000
pub value: SchemaEnumeratorInfoDataUnion, // 0x0008
pub metadata_count: i32, // 0x0010
pub metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
}
unsafe impl Pod for SchemaEnumeratorInfoData {}
#[repr(C)]
pub union SchemaEnumeratorInfoDataUnion {
pub uchar: u8,
pub ushort: u16,
pub uint: u32,
pub ulong: u64,
}

View File

@ -0,0 +1,34 @@
use std::ffi::c_char;
use memflow::prelude::v1::*;
#[derive(Pod)]
#[repr(C)]
pub struct SchemaMetadataEntryData {
pub name: Pointer64<ReprCString>, // 0x0000
pub network_value: Pointer64<SchemaNetworkValue>, // 0x0008
}
#[repr(C)]
pub struct SchemaNetworkValue {
pub value: SchemaNetworkValueUnion, // 0x0000
}
unsafe impl Pod for SchemaNetworkValue {}
#[repr(C)]
pub union SchemaNetworkValueUnion {
pub name_ptr: Pointer64<ReprCString>,
pub int_value: i32,
pub float_value: f32,
pub ptr: Pointer64<()>,
pub var_value: SchemaVarName,
pub name_value: [c_char; 32],
}
#[derive(Clone, Copy, Pod)]
#[repr(C)]
pub struct SchemaVarName {
pub name: Pointer64<ReprCString>, // 0x0000
pub type_name: Pointer64<ReprCString>, // 0x0008
}

View File

@ -0,0 +1,12 @@
use memflow::prelude::v1::*;
use super::SchemaType;
#[derive(Pod)]
#[repr(C)]
pub struct SchemaStaticFieldData {
pub name: Pointer64<ReprCString>, // 0x0000
pub type_: Pointer64<SchemaType>, // 0x0008
pub instance: Pointer64<()>, // 0x0010
pad_0018: [u8; 0x10], // 0x0018
}

View File

@ -0,0 +1,15 @@
use memflow::prelude::v1::*;
use super::SchemaSystemTypeScope;
use crate::source2::UtlVector;
#[derive(Pod)]
#[repr(C)]
pub struct SchemaSystem {
pad_0000: [u8; 0x1F0], // 0x0000
pub type_scopes: UtlVector<Pointer64<SchemaSystemTypeScope>>, // 0x01F0
pad_0200: [u8; 0x120], // 0x0200
pub num_registrations: u32, // 0x0320
pad_0324: [u8; 0x4], // 0x0324
}

View File

@ -0,0 +1,17 @@
use std::ffi::c_char;
use memflow::prelude::v1::*;
use super::{SchemaClassBinding, SchemaEnumBinding};
use crate::source2::UtlTsHash;
#[derive(Pod)]
#[repr(C)]
pub struct SchemaSystemTypeScope {
pad_0000: [u8; 0x8], // 0x0000
pub name: [c_char; 256], // 0x0008
pad_0108: [u8; 0x458], // 0x0108
pub class_bindings: UtlTsHash<Pointer64<SchemaClassBinding>>, // 0x0560
pub enum_bindings: UtlTsHash<Pointer64<SchemaEnumBinding>>, // 0x3600
}

View File

@ -0,0 +1,97 @@
use memflow::prelude::v1::*;
use super::{SchemaClassBinding, SchemaEnumBinding, SchemaSystemTypeScope};
#[repr(u8)]
pub enum SchemaAtomicCategory {
Basic = 0,
T,
CollectionOfT,
TF,
TT,
TTF,
I,
None,
}
#[repr(u8)]
pub enum SchemaTypeCategory {
BuiltIn = 0,
Ptr,
Bitfield,
FixedArray,
Atomic,
DeclaredClass,
DeclaredEnum,
None,
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaArrayT {
pub array_size: u32, // 0x0000
pad_0004: [u8; 0x4], // 0x0004
pub element: Pointer64<SchemaType>, // 0x0008
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicI {
pad_0000: [u8; 0x10], // 0x0000
pub value: u64, // 0x0010
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicT {
pub element: Pointer64<SchemaType>, // 0x0000
pad_0008: [u8; 0x8], // 0x0008
pub template: Pointer64<SchemaType>, // 0x0010
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicTT {
pad_0000: [u8; 0x10], // 0x0000
pub templates: [Pointer64<SchemaType>; 2], // 0x0010
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicTF {
pad_0000: [u8; 0x10], // 0x0000
pub template: Pointer64<SchemaType>, // 0x0010
pub size: i32, // 0x0018
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SchemaAtomicTTF {
pad_0000: [u8; 0x10], // 0x0000
pub templates: [Pointer64<SchemaType>; 2], // 0x0010
pub size: i32, // 0x0020
}
#[repr(C)]
pub struct SchemaType {
pad_0000: [u8; 0x8], // 0x0000
pub name: Pointer64<ReprCString>, // 0x0008
pub type_scope: Pointer64<SchemaSystemTypeScope>, // 0x0010
pub type_category: SchemaTypeCategory, // 0x0018
pub atomic_category: SchemaAtomicCategory, // 0x0019
pub value: SchemaTypeUnion, // 0x0020
}
unsafe impl Pod for SchemaType {}
pub union SchemaTypeUnion {
pub schema_type: Pointer64<SchemaType>,
pub class_binding: Pointer64<SchemaClassBinding>,
pub enum_binding: Pointer64<SchemaEnumBinding>,
pub array: SchemaArrayT,
pub atomic: SchemaAtomicT,
pub atomic_tt: SchemaAtomicTT,
pub atomic_tf: SchemaAtomicTF,
pub atomic_ttf: SchemaAtomicTTF,
pub atomic_i: SchemaAtomicI,
}

View File

@ -1,11 +1,9 @@
pub use interface::InterfaceReg;
pub use utl_memory::UtlMemory;
pub use utl_memory_pool::UtlMemoryPoolBase;
pub use utl_ts_hash::UtlTsHash;
pub use utl_vector::UtlVector;
pub mod interface;
pub mod utl_memory;
pub mod utl_memory_pool;
pub mod utl_ts_hash;
pub mod utl_vector;

View File

@ -1,32 +0,0 @@
use memflow::prelude::v1::*;
use crate::error::{Error, Result};
#[repr(C)]
pub struct UtlMemory<T> {
pub mem: Pointer64<[T]>, // 0x0000
pub alloc_count: i32, // 0x0008
pub grow_size: i32, // 0x000C
}
impl<T: Pod> UtlMemory<T> {
#[inline]
pub fn count(&self) -> i32 {
self.alloc_count
}
pub fn element(&self, process: &mut IntoProcessInstanceArcBox<'_>, idx: usize) -> Result<T> {
if idx >= self.count() as usize {
return Err(Error::Other("index out of bounds"));
}
self.mem.at(idx as _).read(process).map_err(Into::into)
}
#[inline]
pub fn is_externally_allocated(&self) -> bool {
self.grow_size < 0
}
}
unsafe impl<T: 'static> Pod for UtlMemory<T> {}

View File

@ -1,21 +1,12 @@
use memflow::prelude::v1::*;
#[repr(u32)]
#[repr(i32)]
pub enum MemoryPoolGrowType {
None = 0,
Fast,
Slow,
}
#[derive(Pod)]
#[repr(C)]
pub struct Blob {
pub next: Pointer64<Blob>, // 0x0000
pub num_bytes: i32, // 0x0008
pub data: [u8; 1], // 0x000C
pad_000d: [u8; 3], // 0x000D
}
#[derive(Pod)]
#[repr(C)]
pub struct FreeList {
@ -30,18 +21,8 @@ pub struct UtlMemoryPoolBase {
pub blocks_alloc: i32, // 0x000C
pub peak_alloc: i32, // 0x0010
pub alignment: u16, // 0x0014
pub num_blobs: u16, // 0x0016
pub free_list_tail: Pointer64<Pointer64<FreeList>>, // 0x0018
pub free_list_head: Pointer64<FreeList>, // 0x0020
pad_0028: [u8; 0x44], // 0x0028
pub blob_head: Pointer64<Blob>, // 0x0070
pub total_size: i32, // 0x0078
pad_007c: [u8; 0x4], // 0x007C
}
impl UtlMemoryPoolBase {
#[inline]
pub fn size(&self) -> i32 {
self.total_size
}
pub blob_count: u16, // 0x0016
pad_0018: [u8; 0x8], // 0x0018
pub free_list: Pointer64<FreeList>, // 0x0020
pad_0028: [u8; 0x68], // 0x0028
}

Some files were not shown because too many files have changed in this diff Show More