20 Commits

Author SHA1 Message Date
a2x
2d0bdc3ba4 Merge pull request #307 from avitran0/linux
get working again, sigs still need updating
2025-01-30 17:23:10 +10:00
avitran0
fbcf7059da get working again, sigs still need updating 2025-01-29 13:23:43 +01:00
a2x
baae1570ee Merge pull request #219 from GOffrier-DEV/linux
Fix linux compilation
2024-08-31 20:21:56 +10:00
GOffrier-DEV
2b306cd1c7 add older offsets 2024-08-20 15:18:56 +02:00
GOffrier-DEV
5e7a138c93 fix memflow stuff to fix linux compilation 2024-08-20 15:16:41 +02:00
a2x
bc337a247f Game update (14022) 2024-07-22 21:24:09 +10:00
a2x
ebea3364c4 Remove println! statement from test 2024-06-19 20:30:00 +10:00
a2x
86e536407b Add tests for offsets 2024-06-16 17:10:09 +10:00
a2x
9111d7a0f4 Game update (14015) 2024-06-15 11:37:03 +10:00
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
a2x
32be3bec25 Add disclaimer to README.md 2024-05-24 18:14:05 +10:00
a2x
8dc027007e Game update (14005) 2024-04-30 09:06:11 +10:00
a2x
1b85d65822 Don't derive Serialize on Item enum 2024-04-30 08:36:03 +10:00
a2x
4f75a293b0 Update README.md 2024-04-18 10:06:03 +10:00
a2x
23072c2456 Fix issue reading enums 2024-04-16 12:48:15 +10:00
a2x
1e88a527a2 Update README.md 2024-04-16 12:35:31 +10:00
a2x
45b7574975 Update code 2024-04-16 12:32:14 +10:00
a2x
6406f88e0b Refactor and move Linux code to separate branch 2024-04-03 03:02:49 +11:00
110 changed files with 54629 additions and 40465 deletions

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "cs2-dumper" name = "cs2-dumper"
version = "0.1.0" version = "0.1.1"
authors = ["a2x"] authors = ["a2x"]
edition = "2021" edition = "2021"
readme = "README.md" readme = "README.md"
@@ -12,12 +12,13 @@ clap = { version = "4.5", features = ["derive"] }
chrono = { version = "0.4", features = ["serde"] } chrono = { version = "0.4", features = ["serde"] }
heck = "0.5" heck = "0.5"
log = "0.4" log = "0.4"
memflow = "0.2" memflow = "= 0.2.1"
memflow-native = { git = "https://github.com/memflow/memflow-native" } memflow-native = { git = "https://github.com/memflow/memflow-native" }
pelite = "0.10"
phf = { version = "0.11", features = ["macros"] } phf = { version = "0.11", features = ["macros"] }
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0" serde_json = "1.0"
skidscan = "2.0"
skidscan-macros = "0.1"
simplelog = "0.12" simplelog = "0.12"
thiserror = "1.0" thiserror = "1.0"

View File

@@ -1,8 +1,8 @@
# cs2-dumper # cs2-dumper
An external offset/interface dumper for Counter-Strike 2, with support for both Windows & Linux. Powered by [memflow](https://github.com/memflow/memflow). An external Counter-Strike 2 offset/interface dumper for Linux.
The native Linux version is available in the [linux](https://github.com/a2x/cs2-dumper/tree/linux) branch. **Note:** This branch will likely not be kept up-to-date by myself. Pull requests are welcome!
## Getting Started ## Getting Started
@@ -13,24 +13,21 @@ toolchain must be installed.
## Usage ## Usage
1. Ensure the game process is running (Being in the main menu should suffice). 1. Ensure the game process is running (Being in the main menu should suffice).
2. Run the `cs2-dumper` executable (Note that some memflow connectors may require elevated privileges). 2. Run the `cs2-dumper` executable.
When running the executable without providing an optional memflow connector name, it will default to using the [memflow-native](https://github.com/memflow/memflow-native) cross-platform OS layer to read the memory of the game process. If you wish to use an existing memflow connector instead, pass the `connector` and optional `connector-args` arguments to the program.
E.g. `./cs2-dumper -c pcileech -a device=fpga -vvv`
### Available Arguments ### Available Arguments
- `-c, --connector <connector>`: The name of the memflow connector to use.
- `-a, --connector-args <connector-args>`: Additional arguments to pass to the memflow connector.
- `-f, --file-types <file-types>`: The types of files to generate. Default: `cs`, `hpp`, `json`, `rs`. - `-f, --file-types <file-types>`: The types of files to generate. Default: `cs`, `hpp`, `json`, `rs`.
- `-i, --indent-size <indent-size>`: The number of spaces to use per indentation level. Default: `4`. - `-i, --indent-size <indent-size>`: The number of spaces to use per indentation level. Default: `4`.
- `-o, --output <output>`: The output directory to write the generated files to. Default: `output`. - `-o, --output <output>`: The output directory to write the generated files to. Default: `output`.
- `-p, --process-name <process-name>`: The name of the game process. Default: `cs2.exe`.
- `-v...`: Increase logging verbosity. Can be specified multiple times. - `-v...`: Increase logging verbosity. Can be specified multiple times.
- `-h, --help`: Print help. - `-h, --help`: Print help.
- `-V, --version`: Print version. - `-V, --version`: Print version.
## Running Tests
To run tests, use the following command: `cargo test -- --nocapture`.
## License ## License
Licensed under the MIT license ([LICENSE](./LICENSE)). Licensed under the MIT license ([LICENSE](./LICENSE)).

337
config.json Normal file
View File

@@ -0,0 +1,337 @@
{
"executable": "cs2",
"signatures": [
{
"libclient.so": [
{
"name": "dwCSGOInput",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 55 48 89 E5 41 56 41 55 49 89 FD 41 54 49 89 F4",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwEntityList",
"pattern": "4C 89 25 ? ? ? ? 48 89 05 ? ? ? ? 49 8B 5D",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwGameEntitySystem",
"pattern": "48 89 3D ? ? ? ? E9 ? ? ? ? 55",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwGameEntitySystem_highestEntityIndex",
"pattern": "8B 87 ? ? ? ? C3 66 0F 1F 84 00 ? ? ? ? 8B 97",
"operations": [
{
"type": "slice",
"start": 2,
"end": 4
}
]
},
{
"name": "dwGameRules",
"pattern": "48 89 1D ? ? ? ? 48 8B 00",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwGlobalVars",
"pattern": "48 89 35 ? ? ? ? 48 89 46",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwGlowManager",
"pattern": "48 8B 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 48 8D 05 ? ? ? ? 48 C7 47",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwLocalPlayerController",
"pattern": "4C 89 2D ? ? ? ? E8 ? ? ? ? 48 8B 45",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwLocalPlayerPawn",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? C7 47 ? ? ? ? ? C7 47 ? ? ? ? ? C3",
"operations": [
{
"type": "rip"
},
{
"type": "add",
"value": 328
}
]
},
{
"name": "dwPlantedC4",
"pattern": "48 8B 05 ? ? ? ? 4C 89 24 D8 49 8B 44 24",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwPrediction",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? C7 47 ? ? ? ? ? C7 47 ? ? ? ? ? C3",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwSensitivity",
"pattern": "48 8B 05 ? ? ? ? 48 8B 40 ? E9 ? ? ? ? 48 8B 05 ? ? ? ? 48 8B 40 ? EB ? 0F 1F 00 55 48 89 E5 41 57 66 41 0F 7E DF",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwSensitivity_sensitivity",
"pattern": "FF 53 ? 48 8D 4D AC",
"operations": [
{
"type": "slice",
"start": 2,
"end": 3
}
]
},
{
"name": "dwViewAngles",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 55 48 89 E5 41 56 41 55 49 89 FD 41 54 49 89 F4",
"operations": [
{
"type": "rip"
},
{
"type": "add",
"value": 21544
}
]
},
{
"name": "dwViewMatrix",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 83 FF",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwViewRender",
"pattern": "48 8D 05 ? ? ? ? 48 89 38 48 85 FF",
"operations": [
{
"type": "rip"
}
]
}
],
"libengine2.so": [
{
"name": "dwBuildNumber",
"pattern": "89 15 ? ? ? ? 48 83 C3",
"operations": [
{
"type": "rip",
"offset": 2,
"len": 6
}
]
},
{
"name": "dwNetworkGameClient",
"pattern": "48 89 1D ? ? ? ? 49 8B 04 24",
"operations": [
{
"type": "rip"
}
]
},
{
"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",
"operations": [
{
"type": "slice",
"start": 2,
"end": 4
}
]
},
{
"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": 7
}
]
},
{
"name": "dwNetworkGameClient_localPlayer",
"pattern": "8B 84 C7 ? ? ? ? C3 66 0F 1F 44 00",
"operations": [
{
"type": "slice",
"start": 3,
"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
}
]
},
{
"name": "dwNetworkGameClient_signOnState",
"pattern": "8B 97 ? ? ? ? 31 C0 45 31 ED",
"operations": [
{
"type": "slice",
"start": 2,
"end": 4
}
]
},
{
"name": "dwWindowHeight",
"pattern": "89 05 ? ? ? ? F3 0F 59 C1",
"operations": [
{
"type": "rip",
"offset": 2,
"length": 6
},
{
"type": "add",
"value": 11
}
]
},
{
"name": "dwWindowWidth",
"pattern": "89 05 ? ? ? ? F3 0F 59 C1",
"operations": [
{
"type": "rip",
"offset": 2,
"length": 6
},
{
"type": "add",
"value": 7
}
]
}
],
"libinputsystem.so": [
{
"name": "dwInputSystem",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 8B 87",
"operations": [
{
"type": "rip"
}
]
}
],
"libmatchmaking.so": [
{
"name": "dwGameTypes",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 48 8B 07",
"operations": [
{
"type": "rip"
}
]
},
{
"name": "dwGameTypes_mapName",
"pattern": "48 8D 05 ? ? ? ? C3 0F 1F 84 00 ? ? ? ? 48 8B 07",
"operations": [
{
"type": "rip"
},
{
"type": "add",
"value": 288
}
]
}
]
}
]
}

View File

@@ -1,24 +1,9 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper { namespace CS2Dumper {
// Module: client.dll // Module: client.dll
public static class Buttons { public static class Buttons {
public const nint attack = 0x1736410; public const nint = 0xDD800030;
public const nint attack2 = 0x17364A0;
public const nint back = 0x17366E0;
public const nint duck = 0x17369B0;
public const nint forward = 0x1736650;
public const nint jump = 0x1736920;
public const nint left = 0x1736770;
public const nint lookatweapon = 0x1932A30;
public const nint reload = 0x1736380;
public const nint right = 0x1736800;
public const nint showscores = 0x1932910;
public const nint sprint = 0x17362F0;
public const nint turnleft = 0x1736530;
public const nint turnright = 0x17365C0;
public const nint use = 0x1736890;
public const nint zoom = 0x19329A0;
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -8,21 +8,6 @@
namespace cs2_dumper { namespace cs2_dumper {
// Module: client.dll // Module: client.dll
namespace buttons { namespace buttons {
constexpr std::ptrdiff_t attack = 0x1736410; constexpr std::ptrdiff_t = 0xDD800030;
constexpr std::ptrdiff_t attack2 = 0x17364A0;
constexpr std::ptrdiff_t back = 0x17366E0;
constexpr std::ptrdiff_t duck = 0x17369B0;
constexpr std::ptrdiff_t forward = 0x1736650;
constexpr std::ptrdiff_t jump = 0x1736920;
constexpr std::ptrdiff_t left = 0x1736770;
constexpr std::ptrdiff_t lookatweapon = 0x1932A30;
constexpr std::ptrdiff_t reload = 0x1736380;
constexpr std::ptrdiff_t right = 0x1736800;
constexpr std::ptrdiff_t showscores = 0x1932910;
constexpr std::ptrdiff_t sprint = 0x17362F0;
constexpr std::ptrdiff_t turnleft = 0x1736530;
constexpr std::ptrdiff_t turnright = 0x17365C0;
constexpr std::ptrdiff_t use = 0x1736890;
constexpr std::ptrdiff_t zoom = 0x19329A0;
} }
} }

View File

@@ -1,20 +1,5 @@
{ {
"client.dll": { "client.dll": {
"attack": 24339472, "": 3716153392
"attack2": 24339616,
"back": 24340192,
"duck": 24340912,
"forward": 24340048,
"jump": 24340768,
"left": 24340336,
"lookatweapon": 26421808,
"reload": 24339328,
"right": 24340480,
"showscores": 26421520,
"sprint": 24339184,
"turnleft": 24339760,
"turnright": 24339904,
"use": 24340624,
"zoom": 26421664
} }
} }

View File

@@ -1,26 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, unused)] #![allow(non_upper_case_globals, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
// Module: client.dll // Module: client.dll
pub mod buttons { pub mod buttons {
pub const attack: usize = 0x1736410; pub const : usize = 0xDD800030;
pub const attack2: usize = 0x17364A0;
pub const back: usize = 0x17366E0;
pub const duck: usize = 0x17369B0;
pub const forward: usize = 0x1736650;
pub const jump: usize = 0x1736920;
pub const left: usize = 0x1736770;
pub const lookatweapon: usize = 0x1932A30;
pub const reload: usize = 0x1736380;
pub const right: usize = 0x1736800;
pub const showscores: usize = 0x1932910;
pub const sprint: usize = 0x17362F0;
pub const turnleft: usize = 0x1736530;
pub const turnright: usize = 0x17365C0;
pub const r#use: usize = 0x1736890;
pub const zoom: usize = 0x19329A0;
} }
} }

View File

@@ -1,4 +1,4 @@
{ {
"build_number": 14005, "build_number": 14064,
"timestamp": "2024-05-03T00:11:19.220511700+00:00" "timestamp": "2025-01-29T12:23:34.043004291+00:00"
} }

View File

@@ -1,242 +1,220 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Interfaces { namespace CS2Dumper.Interfaces {
// Module: animationsystem.dll // Module: libanimationsystem.so
public static class AnimationsystemDll { public static class LibanimationsystemSo {
public const nint AnimationSystemUtils_001 = 0x73640; public const nint AnimationSystemUtils_001 = 0x1B4F70;
public const nint AnimationSystem_001 = 0x6E1C0; public const nint AnimationSystem_001 = 0x1B4D60;
} }
// Module: client.dll // Module: libclient.so
public static class ClientDll { public static class LibclientSo {
public const nint ClientToolsInfo_001 = 0x735970; public const nint ClientToolsInfo_001 = 0xE2DF60;
public const nint EmptyWorldService001_Client = 0x482B50; public const nint EmptyWorldService001_Client = 0xAEB700;
public const nint GameClientExports001 = 0x735980; public const nint GameClientExports001 = 0xE2DB30;
public const nint LegacyGameUI001 = 0x8B3950; public const nint LegacyGameUI001 = 0x1010610;
public const nint Source2Client002 = 0x735990; public const nint Source2Client002 = 0xE2DB90;
public const nint Source2ClientConfig001 = 0x46DED0; public const nint Source2ClientConfig001 = 0xAD5F30;
public const nint Source2ClientPrediction001 = 0x7B2410; public const nint Source2ClientPrediction001 = 0xEBD950;
public const nint Source2ClientUI001 = 0x8A2E90; public const nint Source2ClientUI001 = 0xF98520;
} }
// Module: engine2.dll // Module: libengine2.so
public static class Engine2Dll { public static class Libengine2So {
public const nint BenchmarkService001 = 0x179100; public const nint BenchmarkService001 = 0x222FB0;
public const nint BugService001 = 0x17A960; public const nint BugService001 = 0x21F170;
public const nint ClientServerEngineLoopService_001 = 0x1EE4B0; public const nint ClientServerEngineLoopService_001 = 0x1EE5D0;
public const nint EngineGameUI001 = 0x123650; public const nint EngineGameUI001 = 0x3BDB40;
public const nint EngineServiceMgr001 = 0x1DDA60; public const nint EngineServiceMgr001 = 0x1DE740;
public const nint GameEventSystemClientV001 = 0x1E2650; public const nint GameEventSystemClientV001 = 0x1E3AF0;
public const nint GameEventSystemServerV001 = 0x1E2660; public const nint GameEventSystemServerV001 = 0x1E3B00;
public const nint GameResourceServiceClientV001 = 0x181B20; public const nint GameResourceServiceClientV001 = 0x224900;
public const nint GameResourceServiceServerV001 = 0x181B30; public const nint GameResourceServiceServerV001 = 0x224910;
public const nint GameUIService_001 = 0x1844D0; public const nint GameUIService_001 = 0x22CB40;
public const nint HostStateMgr001 = 0x1E70B0; public const nint HostStateMgr001 = 0x1E9110;
public const nint INETSUPPORT_001 = 0xF22A0; public const nint INETSUPPORT_001 = 0x387120;
public const nint InputService_001 = 0x189FF0; public const nint InputService_001 = 0x231230;
public const nint KeyValueCache001 = 0x1E98D0; public const nint KeyValueCache001 = 0x1EBA60;
public const nint MapListService_001 = 0x19CEC0; public const nint MapListService_001 = 0x246460;
public const nint NetworkClientService_001 = 0x1A4080; public const nint NetworkClientService_001 = 0x269100;
public const nint NetworkP2PService_001 = 0x1AAD70; public const nint NetworkP2PService_001 = 0x27E440;
public const nint NetworkServerService_001 = 0x1AF2C0; public const nint NetworkServerService_001 = 0x24A510;
public const nint NetworkService_001 = 0x1B44E0; public const nint NetworkService_001 = 0x249C30;
public const nint RenderService_001 = 0x1B49D0; public const nint RenderService_001 = 0x283620;
public const nint ScreenshotService001 = 0x1B7350; public const nint ScreenshotService001 = 0x2861A0;
public const nint SimpleEngineLoopService_001 = 0x1FAFF0; public const nint SimpleEngineLoopService_001 = 0x204D40;
public const nint SoundService_001 = 0x1BB950; public const nint SoundService_001 = 0x28A450;
public const nint Source2EngineToClient001 = 0x63210; public const nint Source2EngineToClient001 = 0x30B980;
public const nint Source2EngineToClientStringTable001 = 0x8C280; public const nint Source2EngineToClientStringTable001 = 0x2DE440;
public const nint Source2EngineToServer001 = 0x93880; public const nint Source2EngineToServer001 = 0x332B90;
public const nint Source2EngineToServerStringTable001 = 0xAAE20; public const nint Source2EngineToServerStringTable001 = 0x315010;
public const nint SplitScreenService_001 = 0x1C21E0; public const nint SplitScreenService_001 = 0x291D40;
public const nint StatsService_001 = 0x1C4EC0; public const nint StatsService_001 = 0x295700;
public const nint ToolService_001 = 0x1C9B10; public const nint ToolService_001 = 0x29A360;
public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x1242C0; public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x3BD590;
public const nint VProfService_001 = 0x1CAE90; public const nint VProfService_001 = 0x29BBE0;
} }
// Module: filesystem_stdio.dll // Module: libfilesystem_stdio.so
public static class FilesystemStdioDll { public static class LibfilesystemStdioSo {
public const nint VAsyncFileSystem2_001 = 0x67510; public const nint VAsyncFileSystem2_001 = 0x7DB90;
public const nint VFileSystem017 = 0x67500; public const nint VFileSystem017 = 0x7DB80;
} }
// Module: host.dll // Module: libhost.so
public static class HostDll { public static class LibhostSo {
public const nint DebugDrawQueueManager001 = 0x11AE0; public const nint DebugDrawQueueManager001 = 0xC5150;
public const nint GameModelInfo001 = 0x12090; public const nint GameModelInfo001 = 0xC0160;
public const nint GameSystem2HostHook = 0x12170; public const nint GameSystem2HostHook = 0xC0890;
public const nint HostUtils001 = 0x12920; public const nint HostUtils001 = 0xC0D10;
public const nint PredictionDiffManager001 = 0x17340; public const nint PredictionDiffManager001 = 0xC1C90;
public const nint SaveRestoreDataVersion001 = 0x19060; public const nint SaveRestoreDataVersion001 = 0xC3C90;
public const nint SinglePlayerSharedMemory001 = 0x19070; public const nint SinglePlayerSharedMemory001 = 0xC3F50;
public const nint Source2Host001 = 0x193F0; public const nint Source2Host001 = 0xC46B0;
} }
// Module: imemanager.dll // Module: libinputsystem.so
public static class ImemanagerDll { public static class LibinputsystemSo {
public const nint IMEManager001 = 0xC470; public const nint InputStackSystemVersion001 = 0x11500;
public const nint InputSystemVersion001 = 0x129F0;
} }
// Module: inputsystem.dll // Module: liblocalize.so
public static class InputsystemDll { public static class LiblocalizeSo {
public const nint InputStackSystemVersion001 = 0x1850; public const nint Localize_001 = 0x1D770;
public const nint InputSystemVersion001 = 0x2A40;
} }
// Module: localize.dll // Module: libmatchmaking.so
public static class LocalizeDll { public static class LibmatchmakingSo {
public const nint Localize_001 = 0x3830; public const nint GameTypes001 = 0xF4D40;
public const nint MATCHFRAMEWORK_001 = 0x1C9F90;
} }
// Module: matchmaking.dll // Module: libmaterialsystem2.so
public static class MatchmakingDll { public static class Libmaterialsystem2So {
public const nint GameTypes001 = 0x53910; public const nint FontManager_001 = 0x7DDF0;
public const nint MATCHFRAMEWORK_001 = 0x1057A0; public const nint MaterialUtils_001 = 0x67C30;
public const nint PostProcessingSystem_001 = 0x8D2C0;
public const nint TextLayout_001 = 0x8A850;
public const nint VMaterialSystem2_001 = 0x2C470;
} }
// Module: materialsystem2.dll // Module: libmeshsystem.so
public static class Materialsystem2Dll { public static class LibmeshsystemSo {
public const nint FontManager_001 = 0x37A40; public const nint MeshSystem001 = 0x97630;
public const nint MaterialUtils_001 = 0x4DB00;
public const nint PostProcessingSystem_001 = 0x42A40;
public const nint TextLayout_001 = 0x4A1C0;
public const nint VMaterialSystem2_001 = 0x25F10;
} }
// Module: meshsystem.dll // Module: libnetworksystem.so
public static class MeshsystemDll { public static class LibnetworksystemSo {
public const nint MeshSystem001 = 0x7440; public const nint FlattenedSerializersVersion001 = 0x163810;
public const nint NetworkMessagesVersion001 = 0x18C190;
public const nint NetworkSystemVersion001 = 0x1B5730;
public const nint SerializedEntitiesVersion001 = 0x1CF0F0;
} }
// Module: navsystem.dll // Module: libpanorama.so
public static class NavsystemDll { public static class LibpanoramaSo {
public const nint NavSystem001 = 0x8E30; public const nint PanoramaUIEngine001 = 0x233D10;
} }
// Module: networksystem.dll // Module: libpanorama_text_pango.so
public static class NetworksystemDll { public static class LibpanoramaTextPangoSo {
public const nint FlattenedSerializersVersion001 = 0x7EF40; public const nint PanoramaTextServices001 = 0xBB8E0;
public const nint NetworkMessagesVersion001 = 0x9FC40;
public const nint NetworkSystemVersion001 = 0xBF9C0;
public const nint SerializedEntitiesVersion001 = 0xD5DF0;
} }
// Module: panorama.dll // Module: libpanoramauiclient.so
public static class PanoramaDll { public static class LibpanoramauiclientSo {
public const nint PanoramaUIEngine001 = 0x5D8C0; public const nint PanoramaUIClient001 = 0x1095E0;
} }
// Module: panorama_text_pango.dll // Module: libparticles.so
public static class PanoramaTextPangoDll { public static class LibparticlesSo {
public const nint PanoramaTextServices001 = 0x4CBE0; public const nint ParticleSystemMgr003 = 0x212AF0;
} }
// Module: panoramauiclient.dll // Module: libpulse_system.so
public static class PanoramauiclientDll { public static class LibpulseSystemSo {
public const nint PanoramaUIClient001 = 0x12010; public const nint IPulseSystem_001 = 0x402F0;
} }
// Module: particles.dll // Module: librendersystemvulkan.so
public static class ParticlesDll { public static class LibrendersystemvulkanSo {
public const nint ParticleSystemMgr003 = 0x590F0; public const nint RenderDeviceMgr001 = 0x14E840;
public const nint RenderUtils_001 = 0xCD990;
} }
// Module: pulse_system.dll // Module: libresourcesystem.so
public static class PulseSystemDll { public static class LibresourcesystemSo {
public const nint IPulseSystem_001 = 0x44C0; public const nint ResourceSystem013 = 0x30F40;
} }
// Module: rendersystemdx11.dll // Module: libscenefilecache.so
public static class Rendersystemdx11Dll { public static class LibscenefilecacheSo {
public const nint RenderDeviceMgr001 = 0x4D1A0; public const nint ResponseRulesCache001 = 0x89040;
public const nint RenderUtils_001 = 0x55B20; public const nint SceneFileCache002 = 0x85BA0;
public const nint VRenderDeviceMgrBackdoor001 = 0x4D1B0;
} }
// Module: resourcesystem.dll // Module: libscenesystem.so
public static class ResourcesystemDll { public static class LibscenesystemSo {
public const nint ResourceSystem013 = 0x10920; public const nint RenderingPipelines_001 = 0x142630;
public const nint SceneSystem_002 = 0x186F60;
public const nint SceneUtils_001 = 0x2067E0;
} }
// Module: scenefilecache.dll // Module: libschemasystem.so
public static class ScenefilecacheDll { public static class LibschemasystemSo {
public const nint ResponseRulesCache001 = 0x31A0; public const nint SchemaSystem_001 = 0x20FC0;
public const nint SceneFileCache002 = 0x6A60;
} }
// Module: scenesystem.dll // Module: libserver.so
public static class ScenesystemDll { public static class LibserverSo {
public const nint RenderingPipelines_001 = 0x86350; public const nint EmptyWorldService001_Server = 0xBF4E10;
public const nint SceneSystem_002 = 0xBD0D0; public const nint EntitySubclassUtilsV001 = 0x8DE640;
public const nint SceneUtils_001 = 0x12FB70; public const nint NavGameTest001 = 0x1142450;
public const nint ServerToolsInfo_001 = 0xF12E00;
public const nint Source2GameClients001 = 0xF12D90;
public const nint Source2GameDirector001 = 0x72E350;
public const nint Source2GameEntities001 = 0xF12D80;
public const nint Source2Server001 = 0xF12A80;
public const nint Source2ServerConfig001 = 0xB914D0;
public const nint customnavsystem001 = 0x8610C0;
} }
// Module: schemasystem.dll // Module: libsoundsystem.so
public static class SchemasystemDll { public static class LibsoundsystemSo {
public const nint SchemaSystem_001 = 0xAA50; public const nint SoundOpSystem001 = 0x176C80;
public const nint SoundOpSystemEdit001 = 0xB6DC0;
public const nint SoundSystem001 = 0x1E5FE0;
public const nint VMixEditTool001 = 0x219CF0;
} }
// Module: server.dll // Module: libsteamaudio.so
public static class ServerDll { public static class LibsteamaudioSo {
public const nint EmptyWorldService001_Server = 0x56E130; public const nint SteamAudio001 = 0x32410;
public const nint EntitySubclassUtilsV001 = 0x2ABFC0;
public const nint NavGameTest001 = 0xA428A0;
public const nint ServerToolsInfo_001 = 0x82E3B0;
public const nint Source2GameClients001 = 0x82E3C0;
public const nint Source2GameDirector001 = 0x11DFD0;
public const nint Source2GameEntities001 = 0x82E3D0;
public const nint Source2Server001 = 0x82E3E0;
public const nint Source2ServerConfig001 = 0x5623E0;
public const nint customnavsystem001 = 0x227F90;
} }
// Module: soundsystem.dll // Module: libtier0.so
public static class SoundsystemDll { public static class Libtier0So {
public const nint SoundOpSystem001 = 0x16A670; public const nint TestScriptMgr001 = 0x1B9B90;
public const nint SoundOpSystemEdit001 = 0x96A80; public const nint VEngineCvar007 = 0xF61C0;
public const nint SoundSystem001 = 0x48350; public const nint VProcessUtils002 = 0x1AD380;
public const nint VMixEditTool001 = 0x75C60; public const nint VStringTokenSystem001 = 0x1DFCA0;
} }
// Module: steamaudio.dll // Module: libv8system.so
public static class SteamaudioDll { public static class Libv8systemSo {
public const nint SteamAudio001 = 0x5AA70; public const nint Source2V8System001 = 0x1B450;
} }
// Module: steamclient64.dll // Module: libvphysics2.so
public static class Steamclient64Dll { public static class Libvphysics2So {
public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x8621C0; public const nint VPhysics2_Handle_Interface_001 = 0xC92A0;
public const nint IVALIDATE001 = 0x866250; public const nint VPhysics2_Interface_001 = 0xC8E90;
public const nint SteamClient006 = 0x663700;
public const nint SteamClient007 = 0x663710;
public const nint SteamClient008 = 0x663720;
public const nint SteamClient009 = 0x663730;
public const nint SteamClient010 = 0x663740;
public const nint SteamClient011 = 0x663750;
public const nint SteamClient012 = 0x663760;
public const nint SteamClient013 = 0x663770;
public const nint SteamClient014 = 0x663780;
public const nint SteamClient015 = 0x663790;
public const nint SteamClient016 = 0x6637A0;
public const nint SteamClient017 = 0x6637B0;
public const nint SteamClient018 = 0x6637C0;
public const nint SteamClient019 = 0x6637D0;
public const nint SteamClient020 = 0x6637E0;
public const nint SteamClient021 = 0x6637F0;
public const nint p2pvoice002 = 0xD9FD0;
public const nint p2pvoicesingleton002 = 0xD6A30;
} }
// Module: tier0.dll // Module: libvscript.so
public static class Tier0Dll { public static class LibvscriptSo {
public const nint TestScriptMgr001 = 0x1426C0; public const nint VScriptManager010 = 0x25DA0;
public const nint VEngineCvar007 = 0x62DA0;
public const nint VProcessUtils002 = 0x133B60;
public const nint VStringTokenSystem001 = 0x195160;
} }
// Module: v8system.dll // Module: libworldrenderer.so
public static class V8systemDll { public static class LibworldrendererSo {
public const nint Source2V8System001 = 0x1950; public const nint WorldRendererMgr001 = 0xAED00;
} }
// Module: valve_avi.dll // Module: steamclient.so
public static class ValveAviDll { public static class SteamclientSo {
public const nint VAvi001 = 0x2F90; public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x12500B0;
} public const nint IVALIDATE001 = 0x124B950;
// Module: valve_wmf.dll public const nint SteamClient006 = 0xF1AA80;
public static class ValveWmfDll { public const nint SteamClient007 = 0xF1AA90;
public const nint VMediaFoundation001 = 0x12D0; public const nint SteamClient008 = 0xF1AAA0;
} public const nint SteamClient009 = 0xF1AAB0;
// Module: vphysics2.dll public const nint SteamClient010 = 0xF1AAC0;
public static class Vphysics2Dll { public const nint SteamClient011 = 0xF1AAD0;
public const nint VPhysics2_Handle_Interface_001 = 0x5BC10; public const nint SteamClient012 = 0xF1AAE0;
public const nint VPhysics2_Interface_001 = 0x57090; public const nint SteamClient013 = 0xF1AAF0;
} public const nint SteamClient014 = 0xF1AB00;
// Module: vscript.dll public const nint SteamClient015 = 0xF1AB10;
public static class VscriptDll { public const nint SteamClient016 = 0xF1AB40;
public const nint VScriptManager010 = 0x32000; public const nint SteamClient017 = 0xF1AB70;
} public const nint SteamClient018 = 0xF1ABA0;
// Module: vstdlib_s64.dll public const nint SteamClient019 = 0xF1ABD0;
public static class VstdlibS64Dll { public const nint SteamClient020 = 0xF1AC00;
public const nint IVALIDATE001 = 0x25120; public const nint SteamClient021 = 0xF1AC30;
public const nint VEngineCvar002 = 0x5760; public const nint p2pvoice002 = 0x18F1140;
} public const nint p2pvoicesingleton002 = 0x18E97B0;
// Module: worldrenderer.dll
public static class WorldrendererDll {
public const nint WorldRendererMgr001 = 0x205E0;
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,242 +7,220 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace interfaces { namespace interfaces {
// Module: animationsystem.dll // Module: libanimationsystem.so
namespace animationsystem_dll { namespace libanimationsystem_so {
constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x73640; constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x1B4F70;
constexpr std::ptrdiff_t AnimationSystem_001 = 0x6E1C0; constexpr std::ptrdiff_t AnimationSystem_001 = 0x1B4D60;
} }
// Module: client.dll // Module: libclient.so
namespace client_dll { namespace libclient_so {
constexpr std::ptrdiff_t ClientToolsInfo_001 = 0x735970; constexpr std::ptrdiff_t ClientToolsInfo_001 = 0xE2DF60;
constexpr std::ptrdiff_t EmptyWorldService001_Client = 0x482B50; constexpr std::ptrdiff_t EmptyWorldService001_Client = 0xAEB700;
constexpr std::ptrdiff_t GameClientExports001 = 0x735980; constexpr std::ptrdiff_t GameClientExports001 = 0xE2DB30;
constexpr std::ptrdiff_t LegacyGameUI001 = 0x8B3950; constexpr std::ptrdiff_t LegacyGameUI001 = 0x1010610;
constexpr std::ptrdiff_t Source2Client002 = 0x735990; constexpr std::ptrdiff_t Source2Client002 = 0xE2DB90;
constexpr std::ptrdiff_t Source2ClientConfig001 = 0x46DED0; constexpr std::ptrdiff_t Source2ClientConfig001 = 0xAD5F30;
constexpr std::ptrdiff_t Source2ClientPrediction001 = 0x7B2410; constexpr std::ptrdiff_t Source2ClientPrediction001 = 0xEBD950;
constexpr std::ptrdiff_t Source2ClientUI001 = 0x8A2E90; constexpr std::ptrdiff_t Source2ClientUI001 = 0xF98520;
} }
// Module: engine2.dll // Module: libengine2.so
namespace engine2_dll { namespace libengine2_so {
constexpr std::ptrdiff_t BenchmarkService001 = 0x179100; constexpr std::ptrdiff_t BenchmarkService001 = 0x222FB0;
constexpr std::ptrdiff_t BugService001 = 0x17A960; constexpr std::ptrdiff_t BugService001 = 0x21F170;
constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1EE4B0; constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1EE5D0;
constexpr std::ptrdiff_t EngineGameUI001 = 0x123650; constexpr std::ptrdiff_t EngineGameUI001 = 0x3BDB40;
constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1DDA60; constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1DE740;
constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1E2650; constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1E3AF0;
constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1E2660; constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1E3B00;
constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x181B20; constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x224900;
constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x181B30; constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x224910;
constexpr std::ptrdiff_t GameUIService_001 = 0x1844D0; constexpr std::ptrdiff_t GameUIService_001 = 0x22CB40;
constexpr std::ptrdiff_t HostStateMgr001 = 0x1E70B0; constexpr std::ptrdiff_t HostStateMgr001 = 0x1E9110;
constexpr std::ptrdiff_t INETSUPPORT_001 = 0xF22A0; constexpr std::ptrdiff_t INETSUPPORT_001 = 0x387120;
constexpr std::ptrdiff_t InputService_001 = 0x189FF0; constexpr std::ptrdiff_t InputService_001 = 0x231230;
constexpr std::ptrdiff_t KeyValueCache001 = 0x1E98D0; constexpr std::ptrdiff_t KeyValueCache001 = 0x1EBA60;
constexpr std::ptrdiff_t MapListService_001 = 0x19CEC0; constexpr std::ptrdiff_t MapListService_001 = 0x246460;
constexpr std::ptrdiff_t NetworkClientService_001 = 0x1A4080; constexpr std::ptrdiff_t NetworkClientService_001 = 0x269100;
constexpr std::ptrdiff_t NetworkP2PService_001 = 0x1AAD70; constexpr std::ptrdiff_t NetworkP2PService_001 = 0x27E440;
constexpr std::ptrdiff_t NetworkServerService_001 = 0x1AF2C0; constexpr std::ptrdiff_t NetworkServerService_001 = 0x24A510;
constexpr std::ptrdiff_t NetworkService_001 = 0x1B44E0; constexpr std::ptrdiff_t NetworkService_001 = 0x249C30;
constexpr std::ptrdiff_t RenderService_001 = 0x1B49D0; constexpr std::ptrdiff_t RenderService_001 = 0x283620;
constexpr std::ptrdiff_t ScreenshotService001 = 0x1B7350; constexpr std::ptrdiff_t ScreenshotService001 = 0x2861A0;
constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1FAFF0; constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x204D40;
constexpr std::ptrdiff_t SoundService_001 = 0x1BB950; constexpr std::ptrdiff_t SoundService_001 = 0x28A450;
constexpr std::ptrdiff_t Source2EngineToClient001 = 0x63210; constexpr std::ptrdiff_t Source2EngineToClient001 = 0x30B980;
constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x8C280; constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x2DE440;
constexpr std::ptrdiff_t Source2EngineToServer001 = 0x93880; constexpr std::ptrdiff_t Source2EngineToServer001 = 0x332B90;
constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0xAAE20; constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0x315010;
constexpr std::ptrdiff_t SplitScreenService_001 = 0x1C21E0; constexpr std::ptrdiff_t SplitScreenService_001 = 0x291D40;
constexpr std::ptrdiff_t StatsService_001 = 0x1C4EC0; constexpr std::ptrdiff_t StatsService_001 = 0x295700;
constexpr std::ptrdiff_t ToolService_001 = 0x1C9B10; constexpr std::ptrdiff_t ToolService_001 = 0x29A360;
constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x1242C0; constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x3BD590;
constexpr std::ptrdiff_t VProfService_001 = 0x1CAE90; constexpr std::ptrdiff_t VProfService_001 = 0x29BBE0;
} }
// Module: filesystem_stdio.dll // Module: libfilesystem_stdio.so
namespace filesystem_stdio_dll { namespace libfilesystem_stdio_so {
constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x67510; constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x7DB90;
constexpr std::ptrdiff_t VFileSystem017 = 0x67500; constexpr std::ptrdiff_t VFileSystem017 = 0x7DB80;
} }
// Module: host.dll // Module: libhost.so
namespace host_dll { namespace libhost_so {
constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0x11AE0; constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0xC5150;
constexpr std::ptrdiff_t GameModelInfo001 = 0x12090; constexpr std::ptrdiff_t GameModelInfo001 = 0xC0160;
constexpr std::ptrdiff_t GameSystem2HostHook = 0x12170; constexpr std::ptrdiff_t GameSystem2HostHook = 0xC0890;
constexpr std::ptrdiff_t HostUtils001 = 0x12920; constexpr std::ptrdiff_t HostUtils001 = 0xC0D10;
constexpr std::ptrdiff_t PredictionDiffManager001 = 0x17340; constexpr std::ptrdiff_t PredictionDiffManager001 = 0xC1C90;
constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0x19060; constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0xC3C90;
constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0x19070; constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0xC3F50;
constexpr std::ptrdiff_t Source2Host001 = 0x193F0; constexpr std::ptrdiff_t Source2Host001 = 0xC46B0;
} }
// Module: imemanager.dll // Module: libinputsystem.so
namespace imemanager_dll { namespace libinputsystem_so {
constexpr std::ptrdiff_t IMEManager001 = 0xC470; constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x11500;
constexpr std::ptrdiff_t InputSystemVersion001 = 0x129F0;
} }
// Module: inputsystem.dll // Module: liblocalize.so
namespace inputsystem_dll { namespace liblocalize_so {
constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x1850; constexpr std::ptrdiff_t Localize_001 = 0x1D770;
constexpr std::ptrdiff_t InputSystemVersion001 = 0x2A40;
} }
// Module: localize.dll // Module: libmatchmaking.so
namespace localize_dll { namespace libmatchmaking_so {
constexpr std::ptrdiff_t Localize_001 = 0x3830; constexpr std::ptrdiff_t GameTypes001 = 0xF4D40;
constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x1C9F90;
} }
// Module: matchmaking.dll // Module: libmaterialsystem2.so
namespace matchmaking_dll { namespace libmaterialsystem2_so {
constexpr std::ptrdiff_t GameTypes001 = 0x53910; constexpr std::ptrdiff_t FontManager_001 = 0x7DDF0;
constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x1057A0; constexpr std::ptrdiff_t MaterialUtils_001 = 0x67C30;
constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x8D2C0;
constexpr std::ptrdiff_t TextLayout_001 = 0x8A850;
constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x2C470;
} }
// Module: materialsystem2.dll // Module: libmeshsystem.so
namespace materialsystem2_dll { namespace libmeshsystem_so {
constexpr std::ptrdiff_t FontManager_001 = 0x37A40; constexpr std::ptrdiff_t MeshSystem001 = 0x97630;
constexpr std::ptrdiff_t MaterialUtils_001 = 0x4DB00;
constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x42A40;
constexpr std::ptrdiff_t TextLayout_001 = 0x4A1C0;
constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x25F10;
} }
// Module: meshsystem.dll // Module: libnetworksystem.so
namespace meshsystem_dll { namespace libnetworksystem_so {
constexpr std::ptrdiff_t MeshSystem001 = 0x7440; constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x163810;
constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x18C190;
constexpr std::ptrdiff_t NetworkSystemVersion001 = 0x1B5730;
constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0x1CF0F0;
} }
// Module: navsystem.dll // Module: libpanorama.so
namespace navsystem_dll { namespace libpanorama_so {
constexpr std::ptrdiff_t NavSystem001 = 0x8E30; constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x233D10;
} }
// Module: networksystem.dll // Module: libpanorama_text_pango.so
namespace networksystem_dll { namespace libpanorama_text_pango_so {
constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x7EF40; constexpr std::ptrdiff_t PanoramaTextServices001 = 0xBB8E0;
constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x9FC40;
constexpr std::ptrdiff_t NetworkSystemVersion001 = 0xBF9C0;
constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0xD5DF0;
} }
// Module: panorama.dll // Module: libpanoramauiclient.so
namespace panorama_dll { namespace libpanoramauiclient_so {
constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x5D8C0; constexpr std::ptrdiff_t PanoramaUIClient001 = 0x1095E0;
} }
// Module: panorama_text_pango.dll // Module: libparticles.so
namespace panorama_text_pango_dll { namespace libparticles_so {
constexpr std::ptrdiff_t PanoramaTextServices001 = 0x4CBE0; constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x212AF0;
} }
// Module: panoramauiclient.dll // Module: libpulse_system.so
namespace panoramauiclient_dll { namespace libpulse_system_so {
constexpr std::ptrdiff_t PanoramaUIClient001 = 0x12010; constexpr std::ptrdiff_t IPulseSystem_001 = 0x402F0;
} }
// Module: particles.dll // Module: librendersystemvulkan.so
namespace particles_dll { namespace librendersystemvulkan_so {
constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x590F0; constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x14E840;
constexpr std::ptrdiff_t RenderUtils_001 = 0xCD990;
} }
// Module: pulse_system.dll // Module: libresourcesystem.so
namespace pulse_system_dll { namespace libresourcesystem_so {
constexpr std::ptrdiff_t IPulseSystem_001 = 0x44C0; constexpr std::ptrdiff_t ResourceSystem013 = 0x30F40;
} }
// Module: rendersystemdx11.dll // Module: libscenefilecache.so
namespace rendersystemdx11_dll { namespace libscenefilecache_so {
constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x4D1A0; constexpr std::ptrdiff_t ResponseRulesCache001 = 0x89040;
constexpr std::ptrdiff_t RenderUtils_001 = 0x55B20; constexpr std::ptrdiff_t SceneFileCache002 = 0x85BA0;
constexpr std::ptrdiff_t VRenderDeviceMgrBackdoor001 = 0x4D1B0;
} }
// Module: resourcesystem.dll // Module: libscenesystem.so
namespace resourcesystem_dll { namespace libscenesystem_so {
constexpr std::ptrdiff_t ResourceSystem013 = 0x10920; constexpr std::ptrdiff_t RenderingPipelines_001 = 0x142630;
constexpr std::ptrdiff_t SceneSystem_002 = 0x186F60;
constexpr std::ptrdiff_t SceneUtils_001 = 0x2067E0;
} }
// Module: scenefilecache.dll // Module: libschemasystem.so
namespace scenefilecache_dll { namespace libschemasystem_so {
constexpr std::ptrdiff_t ResponseRulesCache001 = 0x31A0; constexpr std::ptrdiff_t SchemaSystem_001 = 0x20FC0;
constexpr std::ptrdiff_t SceneFileCache002 = 0x6A60;
} }
// Module: scenesystem.dll // Module: libserver.so
namespace scenesystem_dll { namespace libserver_so {
constexpr std::ptrdiff_t RenderingPipelines_001 = 0x86350; constexpr std::ptrdiff_t EmptyWorldService001_Server = 0xBF4E10;
constexpr std::ptrdiff_t SceneSystem_002 = 0xBD0D0; constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x8DE640;
constexpr std::ptrdiff_t SceneUtils_001 = 0x12FB70; constexpr std::ptrdiff_t NavGameTest001 = 0x1142450;
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0xF12E00;
constexpr std::ptrdiff_t Source2GameClients001 = 0xF12D90;
constexpr std::ptrdiff_t Source2GameDirector001 = 0x72E350;
constexpr std::ptrdiff_t Source2GameEntities001 = 0xF12D80;
constexpr std::ptrdiff_t Source2Server001 = 0xF12A80;
constexpr std::ptrdiff_t Source2ServerConfig001 = 0xB914D0;
constexpr std::ptrdiff_t customnavsystem001 = 0x8610C0;
} }
// Module: schemasystem.dll // Module: libsoundsystem.so
namespace schemasystem_dll { namespace libsoundsystem_so {
constexpr std::ptrdiff_t SchemaSystem_001 = 0xAA50; constexpr std::ptrdiff_t SoundOpSystem001 = 0x176C80;
constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0xB6DC0;
constexpr std::ptrdiff_t SoundSystem001 = 0x1E5FE0;
constexpr std::ptrdiff_t VMixEditTool001 = 0x219CF0;
} }
// Module: server.dll // Module: libsteamaudio.so
namespace server_dll { namespace libsteamaudio_so {
constexpr std::ptrdiff_t EmptyWorldService001_Server = 0x56E130; constexpr std::ptrdiff_t SteamAudio001 = 0x32410;
constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x2ABFC0;
constexpr std::ptrdiff_t NavGameTest001 = 0xA428A0;
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0x82E3B0;
constexpr std::ptrdiff_t Source2GameClients001 = 0x82E3C0;
constexpr std::ptrdiff_t Source2GameDirector001 = 0x11DFD0;
constexpr std::ptrdiff_t Source2GameEntities001 = 0x82E3D0;
constexpr std::ptrdiff_t Source2Server001 = 0x82E3E0;
constexpr std::ptrdiff_t Source2ServerConfig001 = 0x5623E0;
constexpr std::ptrdiff_t customnavsystem001 = 0x227F90;
} }
// Module: soundsystem.dll // Module: libtier0.so
namespace soundsystem_dll { namespace libtier0_so {
constexpr std::ptrdiff_t SoundOpSystem001 = 0x16A670; constexpr std::ptrdiff_t TestScriptMgr001 = 0x1B9B90;
constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0x96A80; constexpr std::ptrdiff_t VEngineCvar007 = 0xF61C0;
constexpr std::ptrdiff_t SoundSystem001 = 0x48350; constexpr std::ptrdiff_t VProcessUtils002 = 0x1AD380;
constexpr std::ptrdiff_t VMixEditTool001 = 0x75C60; constexpr std::ptrdiff_t VStringTokenSystem001 = 0x1DFCA0;
} }
// Module: steamaudio.dll // Module: libv8system.so
namespace steamaudio_dll { namespace libv8system_so {
constexpr std::ptrdiff_t SteamAudio001 = 0x5AA70; constexpr std::ptrdiff_t Source2V8System001 = 0x1B450;
} }
// Module: steamclient64.dll // Module: libvphysics2.so
namespace steamclient64_dll { namespace libvphysics2_so {
constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x8621C0; constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0xC92A0;
constexpr std::ptrdiff_t IVALIDATE001 = 0x866250; constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0xC8E90;
constexpr std::ptrdiff_t SteamClient006 = 0x663700;
constexpr std::ptrdiff_t SteamClient007 = 0x663710;
constexpr std::ptrdiff_t SteamClient008 = 0x663720;
constexpr std::ptrdiff_t SteamClient009 = 0x663730;
constexpr std::ptrdiff_t SteamClient010 = 0x663740;
constexpr std::ptrdiff_t SteamClient011 = 0x663750;
constexpr std::ptrdiff_t SteamClient012 = 0x663760;
constexpr std::ptrdiff_t SteamClient013 = 0x663770;
constexpr std::ptrdiff_t SteamClient014 = 0x663780;
constexpr std::ptrdiff_t SteamClient015 = 0x663790;
constexpr std::ptrdiff_t SteamClient016 = 0x6637A0;
constexpr std::ptrdiff_t SteamClient017 = 0x6637B0;
constexpr std::ptrdiff_t SteamClient018 = 0x6637C0;
constexpr std::ptrdiff_t SteamClient019 = 0x6637D0;
constexpr std::ptrdiff_t SteamClient020 = 0x6637E0;
constexpr std::ptrdiff_t SteamClient021 = 0x6637F0;
constexpr std::ptrdiff_t p2pvoice002 = 0xD9FD0;
constexpr std::ptrdiff_t p2pvoicesingleton002 = 0xD6A30;
} }
// Module: tier0.dll // Module: libvscript.so
namespace tier0_dll { namespace libvscript_so {
constexpr std::ptrdiff_t TestScriptMgr001 = 0x1426C0; constexpr std::ptrdiff_t VScriptManager010 = 0x25DA0;
constexpr std::ptrdiff_t VEngineCvar007 = 0x62DA0;
constexpr std::ptrdiff_t VProcessUtils002 = 0x133B60;
constexpr std::ptrdiff_t VStringTokenSystem001 = 0x195160;
} }
// Module: v8system.dll // Module: libworldrenderer.so
namespace v8system_dll { namespace libworldrenderer_so {
constexpr std::ptrdiff_t Source2V8System001 = 0x1950; constexpr std::ptrdiff_t WorldRendererMgr001 = 0xAED00;
} }
// Module: valve_avi.dll // Module: steamclient.so
namespace valve_avi_dll { namespace steamclient_so {
constexpr std::ptrdiff_t VAvi001 = 0x2F90; constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x12500B0;
} constexpr std::ptrdiff_t IVALIDATE001 = 0x124B950;
// Module: valve_wmf.dll constexpr std::ptrdiff_t SteamClient006 = 0xF1AA80;
namespace valve_wmf_dll { constexpr std::ptrdiff_t SteamClient007 = 0xF1AA90;
constexpr std::ptrdiff_t VMediaFoundation001 = 0x12D0; constexpr std::ptrdiff_t SteamClient008 = 0xF1AAA0;
} constexpr std::ptrdiff_t SteamClient009 = 0xF1AAB0;
// Module: vphysics2.dll constexpr std::ptrdiff_t SteamClient010 = 0xF1AAC0;
namespace vphysics2_dll { constexpr std::ptrdiff_t SteamClient011 = 0xF1AAD0;
constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0x5BC10; constexpr std::ptrdiff_t SteamClient012 = 0xF1AAE0;
constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0x57090; constexpr std::ptrdiff_t SteamClient013 = 0xF1AAF0;
} constexpr std::ptrdiff_t SteamClient014 = 0xF1AB00;
// Module: vscript.dll constexpr std::ptrdiff_t SteamClient015 = 0xF1AB10;
namespace vscript_dll { constexpr std::ptrdiff_t SteamClient016 = 0xF1AB40;
constexpr std::ptrdiff_t VScriptManager010 = 0x32000; constexpr std::ptrdiff_t SteamClient017 = 0xF1AB70;
} constexpr std::ptrdiff_t SteamClient018 = 0xF1ABA0;
// Module: vstdlib_s64.dll constexpr std::ptrdiff_t SteamClient019 = 0xF1ABD0;
namespace vstdlib_s64_dll { constexpr std::ptrdiff_t SteamClient020 = 0xF1AC00;
constexpr std::ptrdiff_t IVALIDATE001 = 0x25120; constexpr std::ptrdiff_t SteamClient021 = 0xF1AC30;
constexpr std::ptrdiff_t VEngineCvar002 = 0x5760; constexpr std::ptrdiff_t p2pvoice002 = 0x18F1140;
} constexpr std::ptrdiff_t p2pvoicesingleton002 = 0x18E97B0;
// Module: worldrenderer.dll
namespace worldrenderer_dll {
constexpr std::ptrdiff_t WorldRendererMgr001 = 0x205E0;
} }
} }
} }

View File

@@ -1,204 +1,187 @@
{ {
"animationsystem.dll": { "libanimationsystem.so": {
"AnimationSystemUtils_001": 472640, "AnimationSystemUtils_001": 1789808,
"AnimationSystem_001": 451008 "AnimationSystem_001": 1789280
}, },
"client.dll": { "libclient.so": {
"ClientToolsInfo_001": 7559536, "ClientToolsInfo_001": 14868320,
"EmptyWorldService001_Client": 4729680, "EmptyWorldService001_Client": 11450112,
"GameClientExports001": 7559552, "GameClientExports001": 14867248,
"LegacyGameUI001": 9124176, "LegacyGameUI001": 16844304,
"Source2Client002": 7559568, "Source2Client002": 14867344,
"Source2ClientConfig001": 4644560, "Source2ClientConfig001": 11362096,
"Source2ClientPrediction001": 8070160, "Source2ClientPrediction001": 15456592,
"Source2ClientUI001": 9055888 "Source2ClientUI001": 16352544
}, },
"engine2.dll": { "libengine2.so": {
"BenchmarkService001": 1544448, "BenchmarkService001": 2240432,
"BugService001": 1550688, "BugService001": 2224496,
"ClientServerEngineLoopService_001": 2024624, "ClientServerEngineLoopService_001": 2024912,
"EngineGameUI001": 1193552, "EngineGameUI001": 3922752,
"EngineServiceMgr001": 1956448, "EngineServiceMgr001": 1959744,
"GameEventSystemClientV001": 1975888, "GameEventSystemClientV001": 1981168,
"GameEventSystemServerV001": 1975904, "GameEventSystemServerV001": 1981184,
"GameResourceServiceClientV001": 1579808, "GameResourceServiceClientV001": 2246912,
"GameResourceServiceServerV001": 1579824, "GameResourceServiceServerV001": 2246928,
"GameUIService_001": 1590480, "GameUIService_001": 2280256,
"HostStateMgr001": 1994928, "HostStateMgr001": 2003216,
"INETSUPPORT_001": 991904, "INETSUPPORT_001": 3698976,
"InputService_001": 1613808, "InputService_001": 2298416,
"KeyValueCache001": 2005200, "KeyValueCache001": 2013792,
"MapListService_001": 1691328, "MapListService_001": 2384992,
"NetworkClientService_001": 1720448, "NetworkClientService_001": 2527488,
"NetworkP2PService_001": 1748336, "NetworkP2PService_001": 2614336,
"NetworkServerService_001": 1766080, "NetworkServerService_001": 2401552,
"NetworkService_001": 1787104, "NetworkService_001": 2399280,
"RenderService_001": 1788368, "RenderService_001": 2635296,
"ScreenshotService001": 1798992, "ScreenshotService001": 2646432,
"SimpleEngineLoopService_001": 2076656, "SimpleEngineLoopService_001": 2116928,
"SoundService_001": 1816912, "SoundService_001": 2663504,
"Source2EngineToClient001": 406032, "Source2EngineToClient001": 3193216,
"Source2EngineToClientStringTable001": 574080, "Source2EngineToClientStringTable001": 3007552,
"Source2EngineToServer001": 604288, "Source2EngineToServer001": 3353488,
"Source2EngineToServerStringTable001": 699936, "Source2EngineToServerStringTable001": 3231760,
"SplitScreenService_001": 1843680, "SplitScreenService_001": 2694464,
"StatsService_001": 1855168, "StatsService_001": 2709248,
"ToolService_001": 1874704, "ToolService_001": 2728800,
"VENGINE_GAMEUIFUNCS_VERSION005": 1196736, "VENGINE_GAMEUIFUNCS_VERSION005": 3921296,
"VProfService_001": 1879696 "VProfService_001": 2735072
}, },
"filesystem_stdio.dll": { "libfilesystem_stdio.so": {
"VAsyncFileSystem2_001": 423184, "VAsyncFileSystem2_001": 514960,
"VFileSystem017": 423168 "VFileSystem017": 514944
}, },
"host.dll": { "libhost.so": {
"DebugDrawQueueManager001": 72416, "DebugDrawQueueManager001": 807248,
"GameModelInfo001": 73872, "GameModelInfo001": 786784,
"GameSystem2HostHook": 74096, "GameSystem2HostHook": 788624,
"HostUtils001": 76064, "HostUtils001": 789776,
"PredictionDiffManager001": 95040, "PredictionDiffManager001": 793744,
"SaveRestoreDataVersion001": 102496, "SaveRestoreDataVersion001": 801936,
"SinglePlayerSharedMemory001": 102512, "SinglePlayerSharedMemory001": 802640,
"Source2Host001": 103408 "Source2Host001": 804528
}, },
"imemanager.dll": { "libinputsystem.so": {
"IMEManager001": 50288 "InputStackSystemVersion001": 70912,
"InputSystemVersion001": 76272
}, },
"inputsystem.dll": { "liblocalize.so": {
"InputStackSystemVersion001": 6224, "Localize_001": 120688
"InputSystemVersion001": 10816
}, },
"localize.dll": { "libmatchmaking.so": {
"Localize_001": 14384 "GameTypes001": 1002816,
"MATCHFRAMEWORK_001": 1875856
}, },
"matchmaking.dll": { "libmaterialsystem2.so": {
"GameTypes001": 342288, "FontManager_001": 515568,
"MATCHFRAMEWORK_001": 1071008 "MaterialUtils_001": 425008,
"PostProcessingSystem_001": 578240,
"TextLayout_001": 567376,
"VMaterialSystem2_001": 181360
}, },
"materialsystem2.dll": { "libmeshsystem.so": {
"FontManager_001": 227904, "MeshSystem001": 620080
"MaterialUtils_001": 318208,
"PostProcessingSystem_001": 272960,
"TextLayout_001": 303552,
"VMaterialSystem2_001": 155408
}, },
"meshsystem.dll": { "libnetworksystem.so": {
"MeshSystem001": 29760 "FlattenedSerializersVersion001": 1456144,
"NetworkMessagesVersion001": 1622416,
"NetworkSystemVersion001": 1791792,
"SerializedEntitiesVersion001": 1896688
}, },
"navsystem.dll": { "libpanorama.so": {
"NavSystem001": 36400 "PanoramaUIEngine001": 2309392
}, },
"networksystem.dll": { "libpanorama_text_pango.so": {
"FlattenedSerializersVersion001": 520000, "PanoramaTextServices001": 768224
"NetworkMessagesVersion001": 654400,
"NetworkSystemVersion001": 784832,
"SerializedEntitiesVersion001": 876016
}, },
"panorama.dll": { "libpanoramauiclient.so": {
"PanoramaUIEngine001": 383168 "PanoramaUIClient001": 1086944
}, },
"panorama_text_pango.dll": { "libparticles.so": {
"PanoramaTextServices001": 314336 "ParticleSystemMgr003": 2173680
}, },
"panoramauiclient.dll": { "libpulse_system.so": {
"PanoramaUIClient001": 73744 "IPulseSystem_001": 262896
}, },
"particles.dll": { "librendersystemvulkan.so": {
"ParticleSystemMgr003": 364784 "RenderDeviceMgr001": 1370176,
"RenderUtils_001": 842128
}, },
"pulse_system.dll": { "libresourcesystem.so": {
"IPulseSystem_001": 17600 "ResourceSystem013": 200512
}, },
"rendersystemdx11.dll": { "libscenefilecache.so": {
"RenderDeviceMgr001": 315808, "ResponseRulesCache001": 561216,
"RenderUtils_001": 351008, "SceneFileCache002": 547744
"VRenderDeviceMgrBackdoor001": 315824
}, },
"resourcesystem.dll": { "libscenesystem.so": {
"ResourceSystem013": 67872 "RenderingPipelines_001": 1320496,
"SceneSystem_002": 1601376,
"SceneUtils_001": 2123744
}, },
"scenefilecache.dll": { "libschemasystem.so": {
"ResponseRulesCache001": 12704, "SchemaSystem_001": 135104
"SceneFileCache002": 27232
}, },
"scenesystem.dll": { "libserver.so": {
"RenderingPipelines_001": 549712, "EmptyWorldService001_Server": 12537360,
"SceneSystem_002": 774352, "EntitySubclassUtilsV001": 9299520,
"SceneUtils_001": 1244016 "NavGameTest001": 18097232,
"ServerToolsInfo_001": 15805952,
"Source2GameClients001": 15805840,
"Source2GameDirector001": 7529296,
"Source2GameEntities001": 15805824,
"Source2Server001": 15805056,
"Source2ServerConfig001": 12129488,
"customnavsystem001": 8786112
}, },
"schemasystem.dll": { "libsoundsystem.so": {
"SchemaSystem_001": 43600 "SoundOpSystem001": 1535104,
"SoundOpSystemEdit001": 748992,
"SoundSystem001": 1990624,
"VMixEditTool001": 2202864
}, },
"server.dll": { "libsteamaudio.so": {
"EmptyWorldService001_Server": 5693744, "SteamAudio001": 205840
"EntitySubclassUtilsV001": 2801600,
"NavGameTest001": 10758304,
"ServerToolsInfo_001": 8577968,
"Source2GameClients001": 8577984,
"Source2GameDirector001": 1171408,
"Source2GameEntities001": 8578000,
"Source2Server001": 8578016,
"Source2ServerConfig001": 5645280,
"customnavsystem001": 2260880
}, },
"soundsystem.dll": { "libtier0.so": {
"SoundOpSystem001": 1484400, "TestScriptMgr001": 1809296,
"SoundOpSystemEdit001": 617088, "VEngineCvar007": 1008064,
"SoundSystem001": 295760, "VProcessUtils002": 1758080,
"VMixEditTool001": 482400 "VStringTokenSystem001": 1965216
}, },
"steamaudio.dll": { "libv8system.so": {
"SteamAudio001": 371312 "Source2V8System001": 111696
}, },
"steamclient64.dll": { "libvphysics2.so": {
"CLIENTENGINE_INTERFACE_VERSION005": 8790464, "VPhysics2_Handle_Interface_001": 823968,
"IVALIDATE001": 8806992, "VPhysics2_Interface_001": 822928
"SteamClient006": 6698752,
"SteamClient007": 6698768,
"SteamClient008": 6698784,
"SteamClient009": 6698800,
"SteamClient010": 6698816,
"SteamClient011": 6698832,
"SteamClient012": 6698848,
"SteamClient013": 6698864,
"SteamClient014": 6698880,
"SteamClient015": 6698896,
"SteamClient016": 6698912,
"SteamClient017": 6698928,
"SteamClient018": 6698944,
"SteamClient019": 6698960,
"SteamClient020": 6698976,
"SteamClient021": 6698992,
"p2pvoice002": 892880,
"p2pvoicesingleton002": 879152
}, },
"tier0.dll": { "libvscript.so": {
"TestScriptMgr001": 1320640, "VScriptManager010": 155040
"VEngineCvar007": 404896,
"VProcessUtils002": 1260384,
"VStringTokenSystem001": 1659232
}, },
"v8system.dll": { "libworldrenderer.so": {
"Source2V8System001": 6480 "WorldRendererMgr001": 716032
}, },
"valve_avi.dll": { "steamclient.so": {
"VAvi001": 12176 "CLIENTENGINE_INTERFACE_VERSION005": 19202224,
}, "IVALIDATE001": 19183952,
"valve_wmf.dll": { "SteamClient006": 15837824,
"VMediaFoundation001": 4816 "SteamClient007": 15837840,
}, "SteamClient008": 15837856,
"vphysics2.dll": { "SteamClient009": 15837872,
"VPhysics2_Handle_Interface_001": 375824, "SteamClient010": 15837888,
"VPhysics2_Interface_001": 356496 "SteamClient011": 15837904,
}, "SteamClient012": 15837920,
"vscript.dll": { "SteamClient013": 15837936,
"VScriptManager010": 204800 "SteamClient014": 15837952,
}, "SteamClient015": 15837968,
"vstdlib_s64.dll": { "SteamClient016": 15838016,
"IVALIDATE001": 151840, "SteamClient017": 15838064,
"VEngineCvar002": 22368 "SteamClient018": 15838112,
}, "SteamClient019": 15838160,
"worldrenderer.dll": { "SteamClient020": 15838208,
"WorldRendererMgr001": 132576 "SteamClient021": 15838256,
"p2pvoice002": 26153280,
"p2pvoicesingleton002": 26122160
} }
} }

View File

@@ -1,246 +1,224 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, unused)] #![allow(non_upper_case_globals, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod interfaces { pub mod interfaces {
// Module: animationsystem.dll // Module: libanimationsystem.so
pub mod animationsystem_dll { pub mod libanimationsystem_so {
pub const AnimationSystemUtils_001: usize = 0x73640; pub const AnimationSystemUtils_001: usize = 0x1B4F70;
pub const AnimationSystem_001: usize = 0x6E1C0; pub const AnimationSystem_001: usize = 0x1B4D60;
} }
// Module: client.dll // Module: libclient.so
pub mod client_dll { pub mod libclient_so {
pub const ClientToolsInfo_001: usize = 0x735970; pub const ClientToolsInfo_001: usize = 0xE2DF60;
pub const EmptyWorldService001_Client: usize = 0x482B50; pub const EmptyWorldService001_Client: usize = 0xAEB700;
pub const GameClientExports001: usize = 0x735980; pub const GameClientExports001: usize = 0xE2DB30;
pub const LegacyGameUI001: usize = 0x8B3950; pub const LegacyGameUI001: usize = 0x1010610;
pub const Source2Client002: usize = 0x735990; pub const Source2Client002: usize = 0xE2DB90;
pub const Source2ClientConfig001: usize = 0x46DED0; pub const Source2ClientConfig001: usize = 0xAD5F30;
pub const Source2ClientPrediction001: usize = 0x7B2410; pub const Source2ClientPrediction001: usize = 0xEBD950;
pub const Source2ClientUI001: usize = 0x8A2E90; pub const Source2ClientUI001: usize = 0xF98520;
} }
// Module: engine2.dll // Module: libengine2.so
pub mod engine2_dll { pub mod libengine2_so {
pub const BenchmarkService001: usize = 0x179100; pub const BenchmarkService001: usize = 0x222FB0;
pub const BugService001: usize = 0x17A960; pub const BugService001: usize = 0x21F170;
pub const ClientServerEngineLoopService_001: usize = 0x1EE4B0; pub const ClientServerEngineLoopService_001: usize = 0x1EE5D0;
pub const EngineGameUI001: usize = 0x123650; pub const EngineGameUI001: usize = 0x3BDB40;
pub const EngineServiceMgr001: usize = 0x1DDA60; pub const EngineServiceMgr001: usize = 0x1DE740;
pub const GameEventSystemClientV001: usize = 0x1E2650; pub const GameEventSystemClientV001: usize = 0x1E3AF0;
pub const GameEventSystemServerV001: usize = 0x1E2660; pub const GameEventSystemServerV001: usize = 0x1E3B00;
pub const GameResourceServiceClientV001: usize = 0x181B20; pub const GameResourceServiceClientV001: usize = 0x224900;
pub const GameResourceServiceServerV001: usize = 0x181B30; pub const GameResourceServiceServerV001: usize = 0x224910;
pub const GameUIService_001: usize = 0x1844D0; pub const GameUIService_001: usize = 0x22CB40;
pub const HostStateMgr001: usize = 0x1E70B0; pub const HostStateMgr001: usize = 0x1E9110;
pub const INETSUPPORT_001: usize = 0xF22A0; pub const INETSUPPORT_001: usize = 0x387120;
pub const InputService_001: usize = 0x189FF0; pub const InputService_001: usize = 0x231230;
pub const KeyValueCache001: usize = 0x1E98D0; pub const KeyValueCache001: usize = 0x1EBA60;
pub const MapListService_001: usize = 0x19CEC0; pub const MapListService_001: usize = 0x246460;
pub const NetworkClientService_001: usize = 0x1A4080; pub const NetworkClientService_001: usize = 0x269100;
pub const NetworkP2PService_001: usize = 0x1AAD70; pub const NetworkP2PService_001: usize = 0x27E440;
pub const NetworkServerService_001: usize = 0x1AF2C0; pub const NetworkServerService_001: usize = 0x24A510;
pub const NetworkService_001: usize = 0x1B44E0; pub const NetworkService_001: usize = 0x249C30;
pub const RenderService_001: usize = 0x1B49D0; pub const RenderService_001: usize = 0x283620;
pub const ScreenshotService001: usize = 0x1B7350; pub const ScreenshotService001: usize = 0x2861A0;
pub const SimpleEngineLoopService_001: usize = 0x1FAFF0; pub const SimpleEngineLoopService_001: usize = 0x204D40;
pub const SoundService_001: usize = 0x1BB950; pub const SoundService_001: usize = 0x28A450;
pub const Source2EngineToClient001: usize = 0x63210; pub const Source2EngineToClient001: usize = 0x30B980;
pub const Source2EngineToClientStringTable001: usize = 0x8C280; pub const Source2EngineToClientStringTable001: usize = 0x2DE440;
pub const Source2EngineToServer001: usize = 0x93880; pub const Source2EngineToServer001: usize = 0x332B90;
pub const Source2EngineToServerStringTable001: usize = 0xAAE20; pub const Source2EngineToServerStringTable001: usize = 0x315010;
pub const SplitScreenService_001: usize = 0x1C21E0; pub const SplitScreenService_001: usize = 0x291D40;
pub const StatsService_001: usize = 0x1C4EC0; pub const StatsService_001: usize = 0x295700;
pub const ToolService_001: usize = 0x1C9B10; pub const ToolService_001: usize = 0x29A360;
pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x1242C0; pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x3BD590;
pub const VProfService_001: usize = 0x1CAE90; pub const VProfService_001: usize = 0x29BBE0;
} }
// Module: filesystem_stdio.dll // Module: libfilesystem_stdio.so
pub mod filesystem_stdio_dll { pub mod libfilesystem_stdio_so {
pub const VAsyncFileSystem2_001: usize = 0x67510; pub const VAsyncFileSystem2_001: usize = 0x7DB90;
pub const VFileSystem017: usize = 0x67500; pub const VFileSystem017: usize = 0x7DB80;
} }
// Module: host.dll // Module: libhost.so
pub mod host_dll { pub mod libhost_so {
pub const DebugDrawQueueManager001: usize = 0x11AE0; pub const DebugDrawQueueManager001: usize = 0xC5150;
pub const GameModelInfo001: usize = 0x12090; pub const GameModelInfo001: usize = 0xC0160;
pub const GameSystem2HostHook: usize = 0x12170; pub const GameSystem2HostHook: usize = 0xC0890;
pub const HostUtils001: usize = 0x12920; pub const HostUtils001: usize = 0xC0D10;
pub const PredictionDiffManager001: usize = 0x17340; pub const PredictionDiffManager001: usize = 0xC1C90;
pub const SaveRestoreDataVersion001: usize = 0x19060; pub const SaveRestoreDataVersion001: usize = 0xC3C90;
pub const SinglePlayerSharedMemory001: usize = 0x19070; pub const SinglePlayerSharedMemory001: usize = 0xC3F50;
pub const Source2Host001: usize = 0x193F0; pub const Source2Host001: usize = 0xC46B0;
} }
// Module: imemanager.dll // Module: libinputsystem.so
pub mod imemanager_dll { pub mod libinputsystem_so {
pub const IMEManager001: usize = 0xC470; pub const InputStackSystemVersion001: usize = 0x11500;
pub const InputSystemVersion001: usize = 0x129F0;
} }
// Module: inputsystem.dll // Module: liblocalize.so
pub mod inputsystem_dll { pub mod liblocalize_so {
pub const InputStackSystemVersion001: usize = 0x1850; pub const Localize_001: usize = 0x1D770;
pub const InputSystemVersion001: usize = 0x2A40;
} }
// Module: localize.dll // Module: libmatchmaking.so
pub mod localize_dll { pub mod libmatchmaking_so {
pub const Localize_001: usize = 0x3830; pub const GameTypes001: usize = 0xF4D40;
pub const MATCHFRAMEWORK_001: usize = 0x1C9F90;
} }
// Module: matchmaking.dll // Module: libmaterialsystem2.so
pub mod matchmaking_dll { pub mod libmaterialsystem2_so {
pub const GameTypes001: usize = 0x53910; pub const FontManager_001: usize = 0x7DDF0;
pub const MATCHFRAMEWORK_001: usize = 0x1057A0; pub const MaterialUtils_001: usize = 0x67C30;
pub const PostProcessingSystem_001: usize = 0x8D2C0;
pub const TextLayout_001: usize = 0x8A850;
pub const VMaterialSystem2_001: usize = 0x2C470;
} }
// Module: materialsystem2.dll // Module: libmeshsystem.so
pub mod materialsystem2_dll { pub mod libmeshsystem_so {
pub const FontManager_001: usize = 0x37A40; pub const MeshSystem001: usize = 0x97630;
pub const MaterialUtils_001: usize = 0x4DB00;
pub const PostProcessingSystem_001: usize = 0x42A40;
pub const TextLayout_001: usize = 0x4A1C0;
pub const VMaterialSystem2_001: usize = 0x25F10;
} }
// Module: meshsystem.dll // Module: libnetworksystem.so
pub mod meshsystem_dll { pub mod libnetworksystem_so {
pub const MeshSystem001: usize = 0x7440; pub const FlattenedSerializersVersion001: usize = 0x163810;
pub const NetworkMessagesVersion001: usize = 0x18C190;
pub const NetworkSystemVersion001: usize = 0x1B5730;
pub const SerializedEntitiesVersion001: usize = 0x1CF0F0;
} }
// Module: navsystem.dll // Module: libpanorama.so
pub mod navsystem_dll { pub mod libpanorama_so {
pub const NavSystem001: usize = 0x8E30; pub const PanoramaUIEngine001: usize = 0x233D10;
} }
// Module: networksystem.dll // Module: libpanorama_text_pango.so
pub mod networksystem_dll { pub mod libpanorama_text_pango_so {
pub const FlattenedSerializersVersion001: usize = 0x7EF40; pub const PanoramaTextServices001: usize = 0xBB8E0;
pub const NetworkMessagesVersion001: usize = 0x9FC40;
pub const NetworkSystemVersion001: usize = 0xBF9C0;
pub const SerializedEntitiesVersion001: usize = 0xD5DF0;
} }
// Module: panorama.dll // Module: libpanoramauiclient.so
pub mod panorama_dll { pub mod libpanoramauiclient_so {
pub const PanoramaUIEngine001: usize = 0x5D8C0; pub const PanoramaUIClient001: usize = 0x1095E0;
} }
// Module: panorama_text_pango.dll // Module: libparticles.so
pub mod panorama_text_pango_dll { pub mod libparticles_so {
pub const PanoramaTextServices001: usize = 0x4CBE0; pub const ParticleSystemMgr003: usize = 0x212AF0;
} }
// Module: panoramauiclient.dll // Module: libpulse_system.so
pub mod panoramauiclient_dll { pub mod libpulse_system_so {
pub const PanoramaUIClient001: usize = 0x12010; pub const IPulseSystem_001: usize = 0x402F0;
} }
// Module: particles.dll // Module: librendersystemvulkan.so
pub mod particles_dll { pub mod librendersystemvulkan_so {
pub const ParticleSystemMgr003: usize = 0x590F0; pub const RenderDeviceMgr001: usize = 0x14E840;
pub const RenderUtils_001: usize = 0xCD990;
} }
// Module: pulse_system.dll // Module: libresourcesystem.so
pub mod pulse_system_dll { pub mod libresourcesystem_so {
pub const IPulseSystem_001: usize = 0x44C0; pub const ResourceSystem013: usize = 0x30F40;
} }
// Module: rendersystemdx11.dll // Module: libscenefilecache.so
pub mod rendersystemdx11_dll { pub mod libscenefilecache_so {
pub const RenderDeviceMgr001: usize = 0x4D1A0; pub const ResponseRulesCache001: usize = 0x89040;
pub const RenderUtils_001: usize = 0x55B20; pub const SceneFileCache002: usize = 0x85BA0;
pub const VRenderDeviceMgrBackdoor001: usize = 0x4D1B0;
} }
// Module: resourcesystem.dll // Module: libscenesystem.so
pub mod resourcesystem_dll { pub mod libscenesystem_so {
pub const ResourceSystem013: usize = 0x10920; pub const RenderingPipelines_001: usize = 0x142630;
pub const SceneSystem_002: usize = 0x186F60;
pub const SceneUtils_001: usize = 0x2067E0;
} }
// Module: scenefilecache.dll // Module: libschemasystem.so
pub mod scenefilecache_dll { pub mod libschemasystem_so {
pub const ResponseRulesCache001: usize = 0x31A0; pub const SchemaSystem_001: usize = 0x20FC0;
pub const SceneFileCache002: usize = 0x6A60;
} }
// Module: scenesystem.dll // Module: libserver.so
pub mod scenesystem_dll { pub mod libserver_so {
pub const RenderingPipelines_001: usize = 0x86350; pub const EmptyWorldService001_Server: usize = 0xBF4E10;
pub const SceneSystem_002: usize = 0xBD0D0; pub const EntitySubclassUtilsV001: usize = 0x8DE640;
pub const SceneUtils_001: usize = 0x12FB70; pub const NavGameTest001: usize = 0x1142450;
pub const ServerToolsInfo_001: usize = 0xF12E00;
pub const Source2GameClients001: usize = 0xF12D90;
pub const Source2GameDirector001: usize = 0x72E350;
pub const Source2GameEntities001: usize = 0xF12D80;
pub const Source2Server001: usize = 0xF12A80;
pub const Source2ServerConfig001: usize = 0xB914D0;
pub const customnavsystem001: usize = 0x8610C0;
} }
// Module: schemasystem.dll // Module: libsoundsystem.so
pub mod schemasystem_dll { pub mod libsoundsystem_so {
pub const SchemaSystem_001: usize = 0xAA50; pub const SoundOpSystem001: usize = 0x176C80;
pub const SoundOpSystemEdit001: usize = 0xB6DC0;
pub const SoundSystem001: usize = 0x1E5FE0;
pub const VMixEditTool001: usize = 0x219CF0;
} }
// Module: server.dll // Module: libsteamaudio.so
pub mod server_dll { pub mod libsteamaudio_so {
pub const EmptyWorldService001_Server: usize = 0x56E130; pub const SteamAudio001: usize = 0x32410;
pub const EntitySubclassUtilsV001: usize = 0x2ABFC0;
pub const NavGameTest001: usize = 0xA428A0;
pub const ServerToolsInfo_001: usize = 0x82E3B0;
pub const Source2GameClients001: usize = 0x82E3C0;
pub const Source2GameDirector001: usize = 0x11DFD0;
pub const Source2GameEntities001: usize = 0x82E3D0;
pub const Source2Server001: usize = 0x82E3E0;
pub const Source2ServerConfig001: usize = 0x5623E0;
pub const customnavsystem001: usize = 0x227F90;
} }
// Module: soundsystem.dll // Module: libtier0.so
pub mod soundsystem_dll { pub mod libtier0_so {
pub const SoundOpSystem001: usize = 0x16A670; pub const TestScriptMgr001: usize = 0x1B9B90;
pub const SoundOpSystemEdit001: usize = 0x96A80; pub const VEngineCvar007: usize = 0xF61C0;
pub const SoundSystem001: usize = 0x48350; pub const VProcessUtils002: usize = 0x1AD380;
pub const VMixEditTool001: usize = 0x75C60; pub const VStringTokenSystem001: usize = 0x1DFCA0;
} }
// Module: steamaudio.dll // Module: libv8system.so
pub mod steamaudio_dll { pub mod libv8system_so {
pub const SteamAudio001: usize = 0x5AA70; pub const Source2V8System001: usize = 0x1B450;
} }
// Module: steamclient64.dll // Module: libvphysics2.so
pub mod steamclient64_dll { pub mod libvphysics2_so {
pub const CLIENTENGINE_INTERFACE_VERSION005: usize = 0x8621C0; pub const VPhysics2_Handle_Interface_001: usize = 0xC92A0;
pub const IVALIDATE001: usize = 0x866250; pub const VPhysics2_Interface_001: usize = 0xC8E90;
pub const SteamClient006: usize = 0x663700;
pub const SteamClient007: usize = 0x663710;
pub const SteamClient008: usize = 0x663720;
pub const SteamClient009: usize = 0x663730;
pub const SteamClient010: usize = 0x663740;
pub const SteamClient011: usize = 0x663750;
pub const SteamClient012: usize = 0x663760;
pub const SteamClient013: usize = 0x663770;
pub const SteamClient014: usize = 0x663780;
pub const SteamClient015: usize = 0x663790;
pub const SteamClient016: usize = 0x6637A0;
pub const SteamClient017: usize = 0x6637B0;
pub const SteamClient018: usize = 0x6637C0;
pub const SteamClient019: usize = 0x6637D0;
pub const SteamClient020: usize = 0x6637E0;
pub const SteamClient021: usize = 0x6637F0;
pub const p2pvoice002: usize = 0xD9FD0;
pub const p2pvoicesingleton002: usize = 0xD6A30;
} }
// Module: tier0.dll // Module: libvscript.so
pub mod tier0_dll { pub mod libvscript_so {
pub const TestScriptMgr001: usize = 0x1426C0; pub const VScriptManager010: usize = 0x25DA0;
pub const VEngineCvar007: usize = 0x62DA0;
pub const VProcessUtils002: usize = 0x133B60;
pub const VStringTokenSystem001: usize = 0x195160;
} }
// Module: v8system.dll // Module: libworldrenderer.so
pub mod v8system_dll { pub mod libworldrenderer_so {
pub const Source2V8System001: usize = 0x1950; pub const WorldRendererMgr001: usize = 0xAED00;
} }
// Module: valve_avi.dll // Module: steamclient.so
pub mod valve_avi_dll { pub mod steamclient_so {
pub const VAvi001: usize = 0x2F90; pub const CLIENTENGINE_INTERFACE_VERSION005: usize = 0x12500B0;
} pub const IVALIDATE001: usize = 0x124B950;
// Module: valve_wmf.dll pub const SteamClient006: usize = 0xF1AA80;
pub mod valve_wmf_dll { pub const SteamClient007: usize = 0xF1AA90;
pub const VMediaFoundation001: usize = 0x12D0; pub const SteamClient008: usize = 0xF1AAA0;
} pub const SteamClient009: usize = 0xF1AAB0;
// Module: vphysics2.dll pub const SteamClient010: usize = 0xF1AAC0;
pub mod vphysics2_dll { pub const SteamClient011: usize = 0xF1AAD0;
pub const VPhysics2_Handle_Interface_001: usize = 0x5BC10; pub const SteamClient012: usize = 0xF1AAE0;
pub const VPhysics2_Interface_001: usize = 0x57090; pub const SteamClient013: usize = 0xF1AAF0;
} pub const SteamClient014: usize = 0xF1AB00;
// Module: vscript.dll pub const SteamClient015: usize = 0xF1AB10;
pub mod vscript_dll { pub const SteamClient016: usize = 0xF1AB40;
pub const VScriptManager010: usize = 0x32000; pub const SteamClient017: usize = 0xF1AB70;
} pub const SteamClient018: usize = 0xF1ABA0;
// Module: vstdlib_s64.dll pub const SteamClient019: usize = 0xF1ABD0;
pub mod vstdlib_s64_dll { pub const SteamClient020: usize = 0xF1AC00;
pub const IVALIDATE001: usize = 0x25120; pub const SteamClient021: usize = 0xF1AC30;
pub const VEngineCvar002: usize = 0x5760; pub const p2pvoice002: usize = 0x18F1140;
} pub const p2pvoicesingleton002: usize = 0x18E97B0;
// Module: worldrenderer.dll
pub mod worldrenderer_dll {
pub const WorldRendererMgr001: usize = 0x205E0;
} }
} }
} }

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,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: engine2.dll // Module: libengine2.so
// Classes count: 44 // Classes count: 48
// Enums count: 4 // Enums count: 4
public static class Engine2Dll { public static class Libengine2So {
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
public enum EntityDormancyType_t : uint { public enum EntityDormancyType_t : uint {
@@ -51,10 +51,10 @@ namespace CS2Dumper.Schemas {
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 4 // Fields count: 4
public static class EventPostAdvanceTick_t { public static class EventPostAdvanceTick_t {
public const nint m_nCurrentTick = 0x30; // int32 public const nint m_nCurrentTick = 0x2C; // int32
public const nint m_nCurrentTickThisFrame = 0x34; // int32 public const nint m_nCurrentTickThisFrame = 0x30; // int32
public const nint m_nTotalTicksThisFrame = 0x38; // int32 public const nint m_nTotalTicksThisFrame = 0x34; // int32
public const nint m_nTotalTicks = 0x3C; // int32 public const nint m_nTotalTicks = 0x38; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -87,6 +87,15 @@ namespace CS2Dumper.Schemas {
public const nint m_nPriority = 0x18; // int32 public const nint m_nPriority = 0x18; // int32
public const nint m_pNext = 0x20; // CEntityComponentHelper* public const nint m_pNext = 0x20; // CEntityComponentHelper*
} }
// Parent: None
// Fields count: 1
public static class GameTime_t {
public const nint m_Value = 0x0; // float32
}
// Parent: None
// Fields count: 0
public static class EventServerEndAsyncPostTickWork_t {
}
// Parent: EventAdvanceTick_t // Parent: EventAdvanceTick_t
// Fields count: 0 // Fields count: 0
public static class EventClientAdvanceTick_t { public static class EventClientAdvanceTick_t {
@@ -114,6 +123,11 @@ namespace CS2Dumper.Schemas {
public const nint m_bRenderOnly = 0x38; // bool public const nint m_bRenderOnly = 0x38; // bool
} }
// Parent: None // Parent: None
// Fields count: 1
public static class GameTick_t {
public const nint m_Value = 0x0; // int32
}
// Parent: None
// Fields count: 2 // Fields count: 2
public static class EventClientPollInput_t { public static class EventClientPollInput_t {
public const nint m_LoopState = 0x0; // EngineLoopState_t public const nint m_LoopState = 0x0; // EngineLoopState_t
@@ -125,10 +139,6 @@ namespace CS2Dumper.Schemas {
public const nint m_nCount = 0x0; // int32 public const nint m_nCount = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 0
public static class EventClientPredictionPostNetupdate_t {
}
// Parent: None
// Fields count: 3 // Fields count: 3
public static class EventClientProcessGameInput_t { public static class EventClientProcessGameInput_t {
public const nint m_LoopState = 0x0; // EngineLoopState_t public const nint m_LoopState = 0x0; // EngineLoopState_t
@@ -172,16 +182,17 @@ namespace CS2Dumper.Schemas {
public static class EventClientPauseSimulate_t { public static class EventClientPauseSimulate_t {
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 1
public static class EventClientProcessNetworking_t { public static class EventClientProcessNetworking_t {
public const nint m_nTickCount = 0x0; // int32
} }
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 4 // Fields count: 4
public static class EventAdvanceTick_t { public static class EventAdvanceTick_t {
public const nint m_nCurrentTick = 0x30; // int32 public const nint m_nCurrentTick = 0x2C; // int32
public const nint m_nCurrentTickThisFrame = 0x34; // int32 public const nint m_nCurrentTickThisFrame = 0x30; // int32
public const nint m_nTotalTicksThisFrame = 0x38; // int32 public const nint m_nTotalTicksThisFrame = 0x34; // int32
public const nint m_nTotalTicks = 0x3C; // int32 public const nint m_nTotalTicks = 0x38; // int32
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 0
@@ -215,7 +226,7 @@ namespace CS2Dumper.Schemas {
public const nint m_LoopState = 0x0; // EngineLoopState_t public const nint m_LoopState = 0x0; // EngineLoopState_t
public const nint m_flRealTime = 0x28; // float32 public const nint m_flRealTime = 0x28; // float32
public const nint m_flFrameTime = 0x2C; // 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 // Parent: EventAdvanceTick_t
// Fields count: 0 // Fields count: 0
@@ -244,6 +255,10 @@ namespace CS2Dumper.Schemas {
public const nint m_bFirstTick = 0x28; // bool public const nint m_bFirstTick = 0x28; // bool
public const nint m_bLastTick = 0x29; // bool public const nint m_bLastTick = 0x29; // bool
} }
// Parent: None
// Fields count: 0
public static class EventClientAdvanceNonRenderedFrame_t {
}
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 0 // Fields count: 0
public static class EventServerProcessNetworking_t { public static class EventServerProcessNetworking_t {
@@ -276,6 +291,10 @@ namespace CS2Dumper.Schemas {
public static class EventClientPollNetworking_t { public static class EventClientPollNetworking_t {
public const nint m_nTickCount = 0x0; // int32 public const nint m_nTickCount = 0x0; // int32
} }
// Parent: EventPostAdvanceTick_t
// Fields count: 0
public static class EventServerBeginAsyncPostTickWork_t {
}
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
public static class EventClientProcessInput_t { public static class EventClientProcessInput_t {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: engine2.dll // Module: libengine2.so
// Classes count: 44 // Classes count: 48
// Enums count: 4 // Enums count: 4
namespace engine2_dll { namespace libengine2_so {
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
enum class EntityDormancyType_t : uint32_t { enum class EntityDormancyType_t : uint32_t {
@@ -56,10 +56,10 @@ namespace cs2_dumper {
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 4 // Fields count: 4
namespace EventPostAdvanceTick_t { namespace EventPostAdvanceTick_t {
constexpr std::ptrdiff_t m_nCurrentTick = 0x30; // int32 constexpr std::ptrdiff_t m_nCurrentTick = 0x2C; // int32
constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x34; // int32 constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x30; // int32
constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x38; // int32 constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x34; // int32
constexpr std::ptrdiff_t m_nTotalTicks = 0x3C; // int32 constexpr std::ptrdiff_t m_nTotalTicks = 0x38; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -92,6 +92,15 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nPriority = 0x18; // int32 constexpr std::ptrdiff_t m_nPriority = 0x18; // int32
constexpr std::ptrdiff_t m_pNext = 0x20; // CEntityComponentHelper* constexpr std::ptrdiff_t m_pNext = 0x20; // CEntityComponentHelper*
} }
// Parent: None
// Fields count: 1
namespace GameTime_t {
constexpr std::ptrdiff_t m_Value = 0x0; // float32
}
// Parent: None
// Fields count: 0
namespace EventServerEndAsyncPostTickWork_t {
}
// Parent: EventAdvanceTick_t // Parent: EventAdvanceTick_t
// Fields count: 0 // Fields count: 0
namespace EventClientAdvanceTick_t { namespace EventClientAdvanceTick_t {
@@ -119,6 +128,11 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_bRenderOnly = 0x38; // bool constexpr std::ptrdiff_t m_bRenderOnly = 0x38; // bool
} }
// Parent: None // Parent: None
// Fields count: 1
namespace GameTick_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int32
}
// Parent: None
// Fields count: 2 // Fields count: 2
namespace EventClientPollInput_t { namespace EventClientPollInput_t {
constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
@@ -130,10 +144,6 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nCount = 0x0; // int32 constexpr std::ptrdiff_t m_nCount = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 0
namespace EventClientPredictionPostNetupdate_t {
}
// Parent: None
// Fields count: 3 // Fields count: 3
namespace EventClientProcessGameInput_t { namespace EventClientProcessGameInput_t {
constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
@@ -177,16 +187,17 @@ namespace cs2_dumper {
namespace EventClientPauseSimulate_t { namespace EventClientPauseSimulate_t {
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 1
namespace EventClientProcessNetworking_t { namespace EventClientProcessNetworking_t {
constexpr std::ptrdiff_t m_nTickCount = 0x0; // int32
} }
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 4 // Fields count: 4
namespace EventAdvanceTick_t { namespace EventAdvanceTick_t {
constexpr std::ptrdiff_t m_nCurrentTick = 0x30; // int32 constexpr std::ptrdiff_t m_nCurrentTick = 0x2C; // int32
constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x34; // int32 constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x30; // int32
constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x38; // int32 constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x34; // int32
constexpr std::ptrdiff_t m_nTotalTicks = 0x3C; // int32 constexpr std::ptrdiff_t m_nTotalTicks = 0x38; // int32
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 0
@@ -220,7 +231,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32 constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32
constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // 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 // Parent: EventAdvanceTick_t
// Fields count: 0 // Fields count: 0
@@ -249,6 +260,10 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_bFirstTick = 0x28; // bool constexpr std::ptrdiff_t m_bFirstTick = 0x28; // bool
constexpr std::ptrdiff_t m_bLastTick = 0x29; // bool constexpr std::ptrdiff_t m_bLastTick = 0x29; // bool
} }
// Parent: None
// Fields count: 0
namespace EventClientAdvanceNonRenderedFrame_t {
}
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 0 // Fields count: 0
namespace EventServerProcessNetworking_t { namespace EventServerProcessNetworking_t {
@@ -281,6 +296,10 @@ namespace cs2_dumper {
namespace EventClientPollNetworking_t { namespace EventClientPollNetworking_t {
constexpr std::ptrdiff_t m_nTickCount = 0x0; // int32 constexpr std::ptrdiff_t m_nTickCount = 0x0; // int32
} }
// Parent: EventPostAdvanceTick_t
// Fields count: 0
namespace EventServerBeginAsyncPostTickWork_t {
}
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
namespace EventClientProcessInput_t { namespace EventClientProcessInput_t {

View File

@@ -1,5 +1,5 @@
{ {
"engine2.dll": { "libengine2.so": {
"classes": { "classes": {
"CEmptyEntityInstance": { "CEmptyEntityInstance": {
"fields": {}, "fields": {},
@@ -70,10 +70,10 @@
}, },
"EventAdvanceTick_t": { "EventAdvanceTick_t": {
"fields": { "fields": {
"m_nCurrentTick": 48, "m_nCurrentTick": 44,
"m_nCurrentTickThisFrame": 52, "m_nCurrentTickThisFrame": 48,
"m_nTotalTicks": 60, "m_nTotalTicks": 56,
"m_nTotalTicksThisFrame": 56 "m_nTotalTicksThisFrame": 52
}, },
"metadata": [], "metadata": [],
"parent": "EventSimulate_t" "parent": "EventSimulate_t"
@@ -85,6 +85,11 @@
"metadata": [], "metadata": [],
"parent": null "parent": null
}, },
"EventClientAdvanceNonRenderedFrame_t": {
"fields": {},
"metadata": [],
"parent": null
},
"EventClientAdvanceTick_t": { "EventClientAdvanceTick_t": {
"fields": {}, "fields": {},
"metadata": [], "metadata": [],
@@ -93,9 +98,9 @@
"EventClientFrameSimulate_t": { "EventClientFrameSimulate_t": {
"fields": { "fields": {
"m_LoopState": 0, "m_LoopState": 0,
"m_bScheduleSendTickPacket": 48,
"m_flFrameTime": 44, "m_flFrameTime": 44,
"m_flRealTime": 40, "m_flRealTime": 40
"m_flWhenScheduleSendTickPacket": 48
}, },
"metadata": [], "metadata": [],
"parent": null "parent": null
@@ -169,11 +174,6 @@
"metadata": [], "metadata": [],
"parent": "EventSimulate_t" "parent": "EventSimulate_t"
}, },
"EventClientPredictionPostNetupdate_t": {
"fields": {},
"metadata": [],
"parent": null
},
"EventClientProcessGameInput_t": { "EventClientProcessGameInput_t": {
"fields": { "fields": {
"m_LoopState": 0, "m_LoopState": 0,
@@ -194,7 +194,9 @@
"parent": null "parent": null
}, },
"EventClientProcessNetworking_t": { "EventClientProcessNetworking_t": {
"fields": {}, "fields": {
"m_nTickCount": 0
},
"metadata": [], "metadata": [],
"parent": null "parent": null
}, },
@@ -224,10 +226,10 @@
}, },
"EventPostAdvanceTick_t": { "EventPostAdvanceTick_t": {
"fields": { "fields": {
"m_nCurrentTick": 48, "m_nCurrentTick": 44,
"m_nCurrentTickThisFrame": 52, "m_nCurrentTickThisFrame": 48,
"m_nTotalTicks": 60, "m_nTotalTicks": 56,
"m_nTotalTicksThisFrame": 56 "m_nTotalTicksThisFrame": 52
}, },
"metadata": [], "metadata": [],
"parent": "EventSimulate_t" "parent": "EventSimulate_t"
@@ -258,6 +260,16 @@
"metadata": [], "metadata": [],
"parent": "EventAdvanceTick_t" "parent": "EventAdvanceTick_t"
}, },
"EventServerBeginAsyncPostTickWork_t": {
"fields": {},
"metadata": [],
"parent": "EventPostAdvanceTick_t"
},
"EventServerEndAsyncPostTickWork_t": {
"fields": {},
"metadata": [],
"parent": null
},
"EventServerPollNetworking_t": { "EventServerPollNetworking_t": {
"fields": {}, "fields": {},
"metadata": [], "metadata": [],
@@ -319,6 +331,20 @@
"fields": {}, "fields": {},
"metadata": [], "metadata": [],
"parent": null "parent": null
},
"GameTick_t": {
"fields": {
"m_Value": 0
},
"metadata": [],
"parent": null
},
"GameTime_t": {
"fields": {
"m_Value": 0
},
"metadata": [],
"parent": null
} }
}, },
"enums": { "enums": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: engine2.dll // Module: libengine2.so
// Classes count: 44 // Classes count: 48
// Enums count: 4 // Enums count: 4
pub mod engine2_dll { pub mod libengine2_so {
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
#[repr(u32)] #[repr(u32)]
@@ -58,10 +58,10 @@ pub mod cs2_dumper {
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 4 // Fields count: 4
pub mod EventPostAdvanceTick_t { pub mod EventPostAdvanceTick_t {
pub const m_nCurrentTick: usize = 0x30; // int32 pub const m_nCurrentTick: usize = 0x2C; // int32
pub const m_nCurrentTickThisFrame: usize = 0x34; // int32 pub const m_nCurrentTickThisFrame: usize = 0x30; // int32
pub const m_nTotalTicksThisFrame: usize = 0x38; // int32 pub const m_nTotalTicksThisFrame: usize = 0x34; // int32
pub const m_nTotalTicks: usize = 0x3C; // int32 pub const m_nTotalTicks: usize = 0x38; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -94,6 +94,15 @@ pub mod cs2_dumper {
pub const m_nPriority: usize = 0x18; // int32 pub const m_nPriority: usize = 0x18; // int32
pub const m_pNext: usize = 0x20; // CEntityComponentHelper* pub const m_pNext: usize = 0x20; // CEntityComponentHelper*
} }
// Parent: None
// Fields count: 1
pub mod GameTime_t {
pub const m_Value: usize = 0x0; // float32
}
// Parent: None
// Fields count: 0
pub mod EventServerEndAsyncPostTickWork_t {
}
// Parent: EventAdvanceTick_t // Parent: EventAdvanceTick_t
// Fields count: 0 // Fields count: 0
pub mod EventClientAdvanceTick_t { pub mod EventClientAdvanceTick_t {
@@ -121,6 +130,11 @@ pub mod cs2_dumper {
pub const m_bRenderOnly: usize = 0x38; // bool pub const m_bRenderOnly: usize = 0x38; // bool
} }
// Parent: None // Parent: None
// Fields count: 1
pub mod GameTick_t {
pub const m_Value: usize = 0x0; // int32
}
// Parent: None
// Fields count: 2 // Fields count: 2
pub mod EventClientPollInput_t { pub mod EventClientPollInput_t {
pub const m_LoopState: usize = 0x0; // EngineLoopState_t pub const m_LoopState: usize = 0x0; // EngineLoopState_t
@@ -132,10 +146,6 @@ pub mod cs2_dumper {
pub const m_nCount: usize = 0x0; // int32 pub const m_nCount: usize = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 0
pub mod EventClientPredictionPostNetupdate_t {
}
// Parent: None
// Fields count: 3 // Fields count: 3
pub mod EventClientProcessGameInput_t { pub mod EventClientProcessGameInput_t {
pub const m_LoopState: usize = 0x0; // EngineLoopState_t pub const m_LoopState: usize = 0x0; // EngineLoopState_t
@@ -179,16 +189,17 @@ pub mod cs2_dumper {
pub mod EventClientPauseSimulate_t { pub mod EventClientPauseSimulate_t {
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 1
pub mod EventClientProcessNetworking_t { pub mod EventClientProcessNetworking_t {
pub const m_nTickCount: usize = 0x0; // int32
} }
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 4 // Fields count: 4
pub mod EventAdvanceTick_t { pub mod EventAdvanceTick_t {
pub const m_nCurrentTick: usize = 0x30; // int32 pub const m_nCurrentTick: usize = 0x2C; // int32
pub const m_nCurrentTickThisFrame: usize = 0x34; // int32 pub const m_nCurrentTickThisFrame: usize = 0x30; // int32
pub const m_nTotalTicksThisFrame: usize = 0x38; // int32 pub const m_nTotalTicksThisFrame: usize = 0x34; // int32
pub const m_nTotalTicks: usize = 0x3C; // int32 pub const m_nTotalTicks: usize = 0x38; // int32
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 0
@@ -222,7 +233,7 @@ pub mod cs2_dumper {
pub const m_LoopState: usize = 0x0; // EngineLoopState_t pub const m_LoopState: usize = 0x0; // EngineLoopState_t
pub const m_flRealTime: usize = 0x28; // float32 pub const m_flRealTime: usize = 0x28; // float32
pub const m_flFrameTime: usize = 0x2C; // 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 // Parent: EventAdvanceTick_t
// Fields count: 0 // Fields count: 0
@@ -251,6 +262,10 @@ pub mod cs2_dumper {
pub const m_bFirstTick: usize = 0x28; // bool pub const m_bFirstTick: usize = 0x28; // bool
pub const m_bLastTick: usize = 0x29; // bool pub const m_bLastTick: usize = 0x29; // bool
} }
// Parent: None
// Fields count: 0
pub mod EventClientAdvanceNonRenderedFrame_t {
}
// Parent: EventSimulate_t // Parent: EventSimulate_t
// Fields count: 0 // Fields count: 0
pub mod EventServerProcessNetworking_t { pub mod EventServerProcessNetworking_t {
@@ -283,6 +298,10 @@ pub mod cs2_dumper {
pub mod EventClientPollNetworking_t { pub mod EventClientPollNetworking_t {
pub const m_nTickCount: usize = 0x0; // int32 pub const m_nTickCount: usize = 0x0; // int32
} }
// Parent: EventPostAdvanceTick_t
// Fields count: 0
pub mod EventServerBeginAsyncPostTickWork_t {
}
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
pub mod EventClientProcessInput_t { pub mod EventClientProcessInput_t {

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: host.dll // Module: libhost.so
// Classes count: 2 // Classes count: 2
// Enums count: 0 // Enums count: 0
public static class HostDll { public static class LibhostSo {
// Parent: CAnimScriptBase // Parent: CAnimScriptBase
// Fields count: 1 // Fields count: 1
public static class EmptyTestScript { public static class EmptyTestScript {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: host.dll // Module: libhost.so
// Classes count: 2 // Classes count: 2
// Enums count: 0 // Enums count: 0
namespace host_dll { namespace libhost_so {
// Parent: CAnimScriptBase // Parent: CAnimScriptBase
// Fields count: 1 // Fields count: 1
namespace EmptyTestScript { namespace EmptyTestScript {

View File

@@ -1,5 +1,5 @@
{ {
"host.dll": { "libhost.so": {
"classes": { "classes": {
"CAnimScriptBase": { "CAnimScriptBase": {
"fields": { "fields": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: host.dll // Module: libhost.so
// Classes count: 2 // Classes count: 2
// Enums count: 0 // Enums count: 0
pub mod host_dll { pub mod libhost_so {
// Parent: CAnimScriptBase // Parent: CAnimScriptBase
// Fields count: 1 // Fields count: 1
pub mod EmptyTestScript { pub mod EmptyTestScript {

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: materialsystem2.dll // Module: libmaterialsystem2.so
// Classes count: 13 // Classes count: 13
// Enums count: 5 // Enums count: 5
public static class Materialsystem2Dll { public static class Libmaterialsystem2So {
// Alignment: 4 // Alignment: 4
// Members count: 4 // Members count: 4
public enum VertJustification_e : uint { public enum VertJustification_e : uint {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: materialsystem2.dll // Module: libmaterialsystem2.so
// Classes count: 13 // Classes count: 13
// Enums count: 5 // Enums count: 5
namespace materialsystem2_dll { namespace libmaterialsystem2_so {
// Alignment: 4 // Alignment: 4
// Members count: 4 // Members count: 4
enum class VertJustification_e : uint32_t { enum class VertJustification_e : uint32_t {

View File

@@ -1,5 +1,5 @@
{ {
"materialsystem2.dll": { "libmaterialsystem2.so": {
"classes": { "classes": {
"MaterialParamBuffer_t": { "MaterialParamBuffer_t": {
"fields": { "fields": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: materialsystem2.dll // Module: libmaterialsystem2.so
// Classes count: 13 // Classes count: 13
// Enums count: 5 // Enums count: 5
pub mod materialsystem2_dll { pub mod libmaterialsystem2_so {
// Alignment: 4 // Alignment: 4
// Members count: 4 // Members count: 4
#[repr(u32)] #[repr(u32)]

View File

@@ -1,15 +1,15 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: networksystem.dll // Module: libnetworksystem.so
// Classes count: 1 // Classes count: 1
// Enums count: 0 // Enums count: 0
public static class NetworksystemDll { public static class LibnetworksystemSo {
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
public static class ChangeAccessorFieldPathIndex_t { public static class ChangeAccessorFieldPathIndex_t {
public const nint m_Value = 0x0; // int16 public const nint m_Value = 0x0; // int32
} }
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,14 +7,14 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: networksystem.dll // Module: libnetworksystem.so
// Classes count: 1 // Classes count: 1
// Enums count: 0 // Enums count: 0
namespace networksystem_dll { namespace libnetworksystem_so {
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
namespace ChangeAccessorFieldPathIndex_t { namespace ChangeAccessorFieldPathIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int16 constexpr std::ptrdiff_t m_Value = 0x0; // int32
} }
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"networksystem.dll": { "libnetworksystem.so": {
"classes": { "classes": {
"ChangeAccessorFieldPathIndex_t": { "ChangeAccessorFieldPathIndex_t": {
"fields": { "fields": {

View File

@@ -1,18 +1,18 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: networksystem.dll // Module: libnetworksystem.so
// Classes count: 1 // Classes count: 1
// Enums count: 0 // Enums count: 0
pub mod networksystem_dll { pub mod libnetworksystem_so {
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
pub mod ChangeAccessorFieldPathIndex_t { pub mod ChangeAccessorFieldPathIndex_t {
pub const m_Value: usize = 0x0; // int16 pub const m_Value: usize = 0x0; // int32
} }
} }
} }

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: panorama.dll // Module: libpanorama.so
// Classes count: 0 // Classes count: 0
// Enums count: 2 // Enums count: 2
public static class PanoramaDll { public static class LibpanoramaSo {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 13
public enum ELayoutNodeType : uint { public enum ELayoutNodeType : uint {
@@ -24,7 +24,7 @@ namespace CS2Dumper.Schemas {
REFERENCE_PASSTHROUGH = 0xC REFERENCE_PASSTHROUGH = 0xC
} }
// Alignment: 4 // Alignment: 4
// Members count: 15 // Members count: 16
public enum EStyleNodeType : uint { public enum EStyleNodeType : uint {
ROOT = 0x0, ROOT = 0x0,
EXPRESSION = 0x1, EXPRESSION = 0x1,
@@ -40,7 +40,8 @@ namespace CS2Dumper.Schemas {
EXPRESSION_CONCAT = 0xB, EXPRESSION_CONCAT = 0xB,
REFERENCE_CONTENT = 0xC, REFERENCE_CONTENT = 0xC,
REFERENCE_COMPILED = 0xD, 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 // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: panorama.dll // Module: libpanorama.so
// Classes count: 0 // Classes count: 0
// Enums count: 2 // Enums count: 2
namespace panorama_dll { namespace libpanorama_so {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 13
enum class ELayoutNodeType : uint32_t { enum class ELayoutNodeType : uint32_t {
@@ -29,7 +29,7 @@ namespace cs2_dumper {
REFERENCE_PASSTHROUGH = 0xC REFERENCE_PASSTHROUGH = 0xC
}; };
// Alignment: 4 // Alignment: 4
// Members count: 15 // Members count: 16
enum class EStyleNodeType : uint32_t { enum class EStyleNodeType : uint32_t {
ROOT = 0x0, ROOT = 0x0,
EXPRESSION = 0x1, EXPRESSION = 0x1,
@@ -45,7 +45,8 @@ namespace cs2_dumper {
EXPRESSION_CONCAT = 0xB, EXPRESSION_CONCAT = 0xB,
REFERENCE_CONTENT = 0xC, REFERENCE_CONTENT = 0xC,
REFERENCE_COMPILED = 0xD, REFERENCE_COMPILED = 0xD,
REFERENCE_PASSTHROUGH = 0xE REFERENCE_PASSTHROUGH = 0xE,
COMPILER_CONDITIONAL = 0xF
}; };
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"panorama.dll": { "libpanorama.so": {
"classes": {}, "classes": {},
"enums": { "enums": {
"ELayoutNodeType": { "ELayoutNodeType": {
@@ -24,6 +24,7 @@
"EStyleNodeType": { "EStyleNodeType": {
"alignment": 4, "alignment": 4,
"members": { "members": {
"COMPILER_CONDITIONAL": 15,
"DEFINE": 3, "DEFINE": 3,
"EXPRESSION": 1, "EXPRESSION": 1,
"EXPRESSION_CONCAT": 11, "EXPRESSION_CONCAT": 11,

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: panorama.dll // Module: libpanorama.so
// Classes count: 0 // Classes count: 0
// Enums count: 2 // Enums count: 2
pub mod panorama_dll { pub mod libpanorama_so {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 13
#[repr(u32)] #[repr(u32)]
@@ -28,7 +28,7 @@ pub mod cs2_dumper {
REFERENCE_PASSTHROUGH = 0xC REFERENCE_PASSTHROUGH = 0xC
} }
// Alignment: 4 // Alignment: 4
// Members count: 15 // Members count: 16
#[repr(u32)] #[repr(u32)]
pub enum EStyleNodeType { pub enum EStyleNodeType {
ROOT = 0x0, ROOT = 0x0,
@@ -45,7 +45,8 @@ pub mod cs2_dumper {
EXPRESSION_CONCAT = 0xB, EXPRESSION_CONCAT = 0xB,
REFERENCE_CONTENT = 0xC, REFERENCE_CONTENT = 0xC,
REFERENCE_COMPILED = 0xD, 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 // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: pulse_system.dll // Module: libpulse_system.so
// Classes count: 85 // Classes count: 112
// Enums count: 7 // Enums count: 9
public static class PulseSystemDll { 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 // Alignment: 4
// Members count: 3 // Members count: 3
public enum PulseTestEnumShape_t : uint { public enum PulseTestEnumShape_t : uint {
@@ -20,14 +30,15 @@ namespace CS2Dumper.Schemas {
ASYNC_FIRE_AND_FORGET = 0x1 ASYNC_FIRE_AND_FORGET = 0x1
} }
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 4
public enum PulseCursorExecResult_t : uint { public enum PulseCursorExecResult_t : uint {
Succeeded = 0x0, Succeeded = 0x0,
Canceled = 0x1, Canceled = 0x1,
Failed = 0x2 Failed = 0x2,
OngoingNotify = 0x3
} }
// Alignment: 4 // Alignment: 4
// Members count: 19 // Members count: 21
public enum PulseValueType_t : uint { public enum PulseValueType_t : uint {
PVAL_INVALID = 0xFFFFFFFFFFFFFFFF, PVAL_INVALID = 0xFFFFFFFFFFFFFFFF,
PVAL_BOOL = 0x0, PVAL_BOOL = 0x0,
@@ -40,17 +51,19 @@ namespace CS2Dumper.Schemas {
PVAL_EHANDLE = 0x7, PVAL_EHANDLE = 0x7,
PVAL_RESOURCE = 0x8, PVAL_RESOURCE = 0x8,
PVAL_SNDEVT_GUID = 0x9, PVAL_SNDEVT_GUID = 0x9,
PVAL_ENTITY_NAME = 0xA, PVAL_SNDEVT_NAME = 0xA,
PVAL_SCHEMA_PTR = 0xB, PVAL_ENTITY_NAME = 0xB,
PVAL_TYPESAFE_INT = 0xC, PVAL_OPAQUE_HANDLE = 0xC,
PVAL_CURSOR_FLOW = 0xD, PVAL_TYPESAFE_INT = 0xD,
PVAL_ANY = 0xE, PVAL_CURSOR_FLOW = 0xE,
PVAL_SCHEMA_ENUM = 0xF, PVAL_ANY = 0xF,
PVAL_PANORAMA_PANEL_HANDLE = 0x10, PVAL_SCHEMA_ENUM = 0x10,
PVAL_COUNT = 0x11 PVAL_PANORAMA_PANEL_HANDLE = 0x11,
PVAL_TEST_HANDLE = 0x12,
PVAL_COUNT = 0x13
} }
// Alignment: 2 // Alignment: 2
// Members count: 61 // Members count: 75
public enum PulseInstructionCode_t : ushort { public enum PulseInstructionCode_t : ushort {
INVALID = 0x0, INVALID = 0x0,
IMMEDIATE_HALT = 0x1, IMMEDIATE_HALT = 0x1,
@@ -68,7 +81,7 @@ namespace CS2Dumper.Schemas {
SET_VAR = 0xD, SET_VAR = 0xD,
GET_VAR = 0xE, GET_VAR = 0xE,
GET_CONST = 0xF, GET_CONST = 0xF,
SET_REGISTER_DOMAIN_VALUE = 0x10, GET_DOMAIN_VALUE = 0x10,
COPY = 0x11, COPY = 0x11,
NOT = 0x12, NOT = 0x12,
NEGATE = 0x13, NEGATE = 0x13,
@@ -84,35 +97,49 @@ namespace CS2Dumper.Schemas {
AND = 0x1D, AND = 0x1D,
OR = 0x1E, OR = 0x1E,
CONVERT_VALUE = 0x1F, CONVERT_VALUE = 0x1F,
LAST_SERIALIZED_CODE = 0x20, REINTERPRET_INSTANCE = 0x20,
NEGATE_INT = 0x21, GET_BLACKBOARD_REFERENCE = 0x21,
NEGATE_FLOAT = 0x22, SET_BLACKBOARD_REFERENCE = 0x22,
ADD_INT = 0x23, REQUIREMENT_RESULT = 0x23,
ADD_FLOAT = 0x24, LAST_SERIALIZED_CODE = 0x24,
ADD_STRING = 0x25, NEGATE_INT = 0x25,
SUB_INT = 0x26, NEGATE_FLOAT = 0x26,
SUB_FLOAT = 0x27, ADD_INT = 0x27,
MUL_INT = 0x28, ADD_FLOAT = 0x28,
MUL_FLOAT = 0x29, ADD_STRING = 0x29,
DIV_INT = 0x2A, SUB_INT = 0x2A,
DIV_FLOAT = 0x2B, SUB_FLOAT = 0x2B,
MOD_INT = 0x2C, MUL_INT = 0x2C,
MOD_FLOAT = 0x2D, MUL_FLOAT = 0x2D,
LT_INT = 0x2E, DIV_INT = 0x2E,
LT_FLOAT = 0x2F, DIV_FLOAT = 0x2F,
LTE_INT = 0x30, MOD_INT = 0x30,
LTE_FLOAT = 0x31, MOD_FLOAT = 0x31,
EQ_BOOL = 0x32, LT_INT = 0x32,
EQ_INT = 0x33, LT_FLOAT = 0x33,
EQ_FLOAT = 0x34, LTE_INT = 0x34,
EQ_STRING = 0x35, LTE_FLOAT = 0x35,
EQ_ENTITY_NAME = 0x36, EQ_BOOL = 0x36,
NE_BOOL = 0x37, EQ_INT = 0x37,
NE_INT = 0x38, EQ_FLOAT = 0x38,
NE_FLOAT = 0x39, EQ_STRING = 0x39,
NE_STRING = 0x3A, EQ_ENTITY_NAME = 0x3A,
NE_ENTITY_NAME = 0x3B, EQ_SCHEMA_ENUM = 0x3B,
GET_CONST_INLINE_STORAGE = 0x3C EQ_EHANDLE = 0x3C,
EQ_PANEL_HANDLE = 0x3D,
EQ_OPAQUE_HANDLE = 0x3E,
EQ_TEST_HANDLE = 0x3F,
NE_BOOL = 0x40,
NE_INT = 0x41,
NE_FLOAT = 0x42,
NE_STRING = 0x43,
NE_ENTITY_NAME = 0x44,
NE_SCHEMA_ENUM = 0x45,
NE_EHANDLE = 0x46,
NE_PANEL_HANDLE = 0x47,
NE_OPAQUE_HANDLE = 0x48,
NE_TEST_HANDLE = 0x49,
GET_CONST_INLINE_STORAGE = 0x4A
} }
// Alignment: 4 // Alignment: 4
// Members count: 5 // Members count: 5
@@ -131,6 +158,14 @@ namespace CS2Dumper.Schemas {
SoftCancel = 0x2, SoftCancel = 0x2,
HardCancel = 0x3 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 // Parent: CPulseCell_BaseFlow
// Fields count: 1 // Fields count: 1
// //
@@ -138,6 +173,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Step_PublicOutput { public static class CPulseCell_Step_PublicOutput {
public const nint m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t public const nint m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t
} }
@@ -148,6 +184,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CPulseCell_Val_TestDomainFindEntityByName { public static class CPulseCell_Val_TestDomainFindEntityByName {
} }
@@ -166,9 +203,22 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CPulseCell_Step_TestDomainDestroyFakeEntity { 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 // Parent: None
// Fields count: 1 // Fields count: 1
public static class PulseRuntimeVarIndex_t { public static class PulseRuntimeVarIndex_t {
@@ -180,6 +230,11 @@ namespace CS2Dumper.Schemas {
public const nint m_Value = 0x0; // int32 public const nint m_Value = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 1
public static class PulseRuntimeDomainValueIndex_t {
public const nint m_Value = 0x0; // int16
}
// Parent: None
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
@@ -236,14 +291,12 @@ namespace CS2Dumper.Schemas {
public const nint m_EventOutflow = 0x8; // CPulse_OutflowConnection public const nint m_EventOutflow = 0x8; // CPulse_OutflowConnection
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulse_OutflowConnection { public static class CPulse_OutflowConnection {
public const nint m_SourceOutflowName = 0x0; // CUtlSymbolLarge public const nint m_SourceOutflowName = 0x0; // CUtlSymbolLarge
public const nint m_nDestChunk = 0x8; // PulseRuntimeChunkIndex_t public const nint m_nDestChunk = 0x8; // PulseRuntimeChunkIndex_t
public const nint m_nInstruction = 0xC; // int32 public const nint m_nInstruction = 0xC; // int32
public const nint m_OutflowRegisterMap = 0x10; // PulseRegisterMap_t
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -266,12 +319,24 @@ namespace CS2Dumper.Schemas {
public const nint m_nEditorNodeID = 0x8; // PulseDocNodeID_t public const nint m_nEditorNodeID = 0x8; // PulseDocNodeID_t
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 1
// //
// Metadata: // Metadata:
// MPulseLibraryBindings // MGetKV3ClassDefaults
// MPropertyDescription public static class CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
public static class CPulseTestFuncs_DerivedDomain { public const nint nTestStep = 0x0; // int32
}
// 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 // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1 // Fields count: 1
@@ -280,6 +345,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_Yield { public static class CPulseCell_Inflow_Yield {
public const nint m_UnyieldResume = 0x48; // CPulse_ResumePoint public const nint m_UnyieldResume = 0x48; // CPulse_ResumePoint
} }
@@ -290,6 +356,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_GraphHook { public static class CPulseCell_Inflow_GraphHook {
public const nint m_HookName = 0x70; // CUtlSymbolLarge public const nint m_HookName = 0x70; // CUtlSymbolLarge
} }
@@ -300,6 +367,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
@@ -312,8 +380,8 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
public static class CTestDomainDerived_Cursor { public static class CTestDomainDerived_Cursor {
public const nint m_nCursorValueA = 0x168; // int32 public const nint m_nCursorValueA = 0xA8; // int32
public const nint m_nCursorValueB = 0x16C; // int32 public const nint m_nCursorValueB = 0xAC; // int32
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -331,11 +399,27 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
public static class CPulseCell_CursorQueue { 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 // Parent: CPulseCell_BaseValue
// Fields count: 0 // Fields count: 0
@@ -344,6 +428,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
public static class CPulseCell_Value_TestValue50 { public static class CPulseCell_Value_TestValue50 {
@@ -355,8 +440,25 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Test_MultiInflow_WithDefault { public static class CPulseCell_Test_MultiInflow_WithDefault {
} }
// Parent: None
// Fields count: 0
public static class IGapHost_ExecLog {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGapTypeQueriesForScopeSingleton
public static class CPulseTestGapTypeQueryRegistration {
}
// Parent: CPulseCell_Base
// Fields count: 1
public static class CPulseCell_Unknown {
public const nint m_UnknownKeys = 0x48; // KeyValues3
}
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
// //
@@ -364,9 +466,10 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_StringSwitch { public static class CPulseCell_Outflow_StringSwitch {
public const nint m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -375,12 +478,22 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Test_NoInflow { public static class CPulseCell_Test_NoInflow {
} }
// Parent: None // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1 // Fields count: 4
public static class PulseTestEHandle_t { //
public const nint m_Value = 0x0; // uint32 // 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 // Parent: None
// Fields count: 2 // Fields count: 2
@@ -388,7 +501,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CPulseCell_Outflow_CycleShuffled__InstanceState_t { public static class CPulseCell_Outflow_CycleShuffled__InstanceState_t {
public const nint m_Shuffle = 0x0; // CUtlVectorFixedGrowable<uint8> public const nint m_Shuffle = 0x0; // CUtlVectorFixedGrowable<uint8,8>
public const nint m_nNextShuffle = 0x20; // int32 public const nint m_nNextShuffle = 0x20; // int32
} }
// Parent: CPulseCell_Base // Parent: CPulseCell_Base
@@ -400,9 +513,6 @@ namespace CS2Dumper.Schemas {
} }
// Parent: CPulse_OutflowConnection // Parent: CPulse_OutflowConnection
// Fields count: 0 // Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
public static class CPulse_ResumePoint { public static class CPulse_ResumePoint {
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
@@ -412,6 +522,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_CycleRandom { public static class CPulseCell_Outflow_CycleRandom {
public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection> public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -422,10 +533,24 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_EventHandler { public static class CPulseCell_Inflow_EventHandler {
public const nint m_EventName = 0x70; // CUtlSymbolLarge public const nint m_EventName = 0x70; // CUtlSymbolLarge
} }
// Parent: None // 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: IGapHost_ExecLog
// Fields count: 0
public static class IGapHost_Cursor {
}
// Parent: None
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
@@ -450,11 +575,12 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Timeline { public static class CPulseCell_Timeline {
public const nint m_TimelineEvents = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t> public const nint m_TimelineEvents = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t>
public const nint m_bWaitForChildOutflows = 0x60; // bool public const nint m_bWaitForChildOutflows = 0x60; // bool
public const nint m_OnFinished = 0x68; // CPulse_ResumePoint 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 // Parent: None
// Fields count: 4 // Fields count: 4
@@ -467,6 +593,34 @@ namespace CS2Dumper.Schemas {
public const nint m_TargetInput = 0x10; // CUtlSymbolLarge public const nint m_TargetInput = 0x10; // CUtlSymbolLarge
public const nint m_Param = 0x18; // CUtlSymbolLarge public const nint m_Param = 0x18; // CUtlSymbolLarge
} }
// Parent: CPulseCell_BaseRequirement
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseRequirementPass
// MPulseRequirementSummaryExpr
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 // Parent: None
// Fields count: 0 // Fields count: 0
// //
@@ -476,15 +630,17 @@ namespace CS2Dumper.Schemas {
public static class FakeEntity_tAPI { public static class FakeEntity_tAPI {
} }
// Parent: CPulseCell_BaseYieldingInflow // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Step_CallExternalMethod { public static class CPulseCell_Step_CallExternalMethod {
public const nint m_MethodName = 0x48; // CUtlSymbolLarge 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_nAsyncCallMode = 0x68; // PulseMethodCallMode_t
public const nint m_OnFinished = 0x70; // CPulse_ResumePoint public const nint m_OnFinished = 0x70; // CPulse_ResumePoint
} }
@@ -493,6 +649,7 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
public static class CPulseGraphInstance_TurtleGraphics { public static class CPulseGraphInstance_TurtleGraphics {
} }
@@ -504,20 +661,33 @@ namespace CS2Dumper.Schemas {
public static class CPulseCell_BaseFlow { public static class CPulseCell_BaseFlow {
} }
// Parent: None // 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 // Fields count: 1
public static class PulseCursorYieldToken_t { public static class PulseCursorYieldToken_t {
public const nint m_Value = 0x0; // int32 public const nint m_Value = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 5
public static class FakeEntity_t { //
public const nint m_nHandle = 0x0; // PulseTestEHandle_t // Metadata:
public const nint m_Name = 0x8; // CUtlString // MGetKV3ClassDefaults
public const nint m_Class = 0x10; // CUtlString public static class CPulseGraphExecutionHistory {
public const nint m_bDestroyed = 0x18; // bool public const nint m_nInstanceID = 0x0; // PulseGraphInstanceID_t
public const nint m_pAssociatedGraphInstance = 0x20; // CPulseGraphInstance_TestDomain* public const nint m_strFileName = 0x8; // CUtlString
public const nint m_bFuncWasCalled = 0x28; // bool public const nint m_vecHistory = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
public const nint m_fValue = 0x2C; // float32 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 // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 3 // Fields count: 3
@@ -526,10 +696,23 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_TestWaitWithCursorState { public static class CPulseCell_TestWaitWithCursorState {
public const nint m_WakeResume = 0x48; // CPulse_ResumePoint public const nint m_WakeResume = 0x48; // CPulse_ResumePoint
public const nint m_WakeCancel = 0x58; // CPulse_ResumePoint public const nint m_WakeCancel = 0x78; // CPulse_ResumePoint
public const nint m_WakeFail = 0x68; // CPulse_ResumePoint public const nint m_WakeFail = 0xA8; // CPulse_ResumePoint
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_ObservableVariableListener {
public const nint m_BlackboardReference = 0x70; // CPulse_BlackboardReference
public const nint m_bSelfReference = 0x168; // bool
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -539,7 +722,7 @@ namespace CS2Dumper.Schemas {
public static class CPulseCell_BaseYieldingInflow { public static class CPulseCell_BaseYieldingInflow {
} }
// Parent: None // Parent: None
// Fields count: 11 // Fields count: 12
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -554,7 +737,8 @@ namespace CS2Dumper.Schemas {
public const nint m_nDestInstruction = 0x18; // int32 public const nint m_nDestInstruction = 0x18; // int32
public const nint m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t public const nint m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t
public const nint m_nConstIdx = 0x20; // PulseRuntimeConstantIndex_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 // Parent: None
// Fields count: 5 // Fields count: 5
@@ -569,7 +753,7 @@ namespace CS2Dumper.Schemas {
public const nint m_nSrcInstruction = 0x30; // int32 public const nint m_nSrcInstruction = 0x30; // int32
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 7
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -579,6 +763,8 @@ namespace CS2Dumper.Schemas {
public const nint m_Type = 0x10; // CPulseValueFullType public const nint m_Type = 0x10; // CPulseValueFullType
public const nint m_DefaultValue = 0x20; // KeyValues3 public const nint m_DefaultValue = 0x20; // KeyValues3
public const nint m_bIsPublic = 0x32; // bool 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 // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 5 // Fields count: 5
@@ -587,27 +773,46 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_Method { public static class CPulseCell_Inflow_Method {
public const nint m_MethodName = 0x70; // CUtlSymbolLarge public const nint m_MethodName = 0x70; // CUtlSymbolLarge
public const nint m_Description = 0x78; // CUtlString public const nint m_Description = 0x78; // CUtlString
public const nint m_bIsPublic = 0x80; // bool public const nint m_bIsPublic = 0x80; // bool
public const nint m_ReturnType = 0x88; // CPulseValueFullType 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 // Parent: CBasePulseGraphInstance
// Fields count: 6 // Fields count: 6
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
// MPulseDomainOptInFeatureTag // MPulseDomainOptInFeatureTag
public static class CPulseGraphInstance_TestDomain { public static class CPulseGraphInstance_TestDomain {
public const nint m_bIsRunningUnitTests = 0xD8; // bool public const nint m_bIsRunningUnitTests = 0xF8; // bool
public const nint m_bExplicitTimeStepping = 0xD9; // bool public const nint m_bExplicitTimeStepping = 0xF9; // bool
public const nint m_bExpectingToDestroyWithYieldedCursors = 0xDA; // bool public const nint m_bExpectingToDestroyWithYieldedCursors = 0xFA; // bool
public const nint m_nNextValidateIndex = 0xDC; // int32 public const nint m_nNextValidateIndex = 0xFC; // int32
public const nint m_Tracepoints = 0xE0; // CUtlVector<CUtlString> public const nint m_Tracepoints = 0x100; // CUtlVector<CUtlString>
public const nint m_bTestYesOrNoPath = 0xF8; // bool 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 // Parent: CPulseCell_BaseFlow
// Fields count: 1 // Fields count: 1
@@ -616,6 +821,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_CycleShuffled { public static class CPulseCell_Outflow_CycleShuffled {
public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection> public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -638,6 +844,16 @@ namespace CS2Dumper.Schemas {
public const nint flWaitValue = 0x0; // float32 public const nint flWaitValue = 0x0; // float32
public const nint bFailOnCancel = 0x4; // bool 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
// //
@@ -645,6 +861,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CPulseCell_Step_TestDomainCreateFakeEntity { public static class CPulseCell_Step_TestDomainCreateFakeEntity {
} }
@@ -655,6 +872,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPulseEditorHeaderText // MPulseEditorHeaderText
public static class CPulseCell_Step_TestDomainEntFire { public static class CPulseCell_Step_TestDomainEntFire {
@@ -668,14 +886,43 @@ namespace CS2Dumper.Schemas {
// MPropertyDescription // MPropertyDescription
public static class CPulseMathlib { public static class CPulseMathlib {
} }
// Parent: None
// Fields count: 1
public static class PulseRuntimeBlackboardReferenceIndex_t {
public const nint m_Value = 0x0; // int16
}
// Parent: IGapHost_Cursor
// Fields count: 0
public static class IGapHost_YieldingCursor {
}
// 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 // Parent: CPulseGraphInstance_TestDomain
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
public static class CPulseGraphInstance_TestDomain_Derived { public static class CPulseGraphInstance_TestDomain_Derived {
public const nint m_nInstanceValueX = 0x100; // int32 public const nint m_nInstanceValueX = 0x11C; // int32
} }
// Parent: CPulseCell_Inflow_BaseEntrypoint // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4 // Fields count: 4
@@ -684,6 +931,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Inflow_EntOutputHandler { public static class CPulseCell_Inflow_EntOutputHandler {
public const nint m_SourceEntity = 0x70; // CUtlSymbolLarge public const nint m_SourceEntity = 0x70; // CUtlSymbolLarge
public const nint m_SourceOutput = 0x78; // CUtlSymbolLarge public const nint m_SourceOutput = 0x78; // CUtlSymbolLarge
@@ -695,6 +943,14 @@ namespace CS2Dumper.Schemas {
public static class PulseRuntimeConstantIndex_t { public static class PulseRuntimeConstantIndex_t {
public const nint m_Value = 0x0; // int16 public const nint m_Value = 0x0; // int16
} }
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
public static class FakeEntityDerivedA_tAPI {
}
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
// //
@@ -702,6 +958,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CPulseCell_Step_TestDomainTracepoint { public static class CPulseCell_Step_TestDomainTracepoint {
} }
@@ -710,6 +967,25 @@ namespace CS2Dumper.Schemas {
public static class PulseDocNodeID_t { public static class PulseDocNodeID_t {
public const nint m_Value = 0x0; // int32 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 // Parent: CPulseCell_BaseValue
// Fields count: 0 // Fields count: 0
// //
@@ -717,6 +993,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CPulseCell_Val_TestDomainGetEntityName { public static class CPulseCell_Val_TestDomainGetEntityName {
} }
@@ -745,12 +1022,25 @@ namespace CS2Dumper.Schemas {
public const nint m_nWrittenByInstruction = 0x50; // int32 public const nint m_nWrittenByInstruction = 0x50; // int32
public const nint m_nLastReadByInstruction = 0x54; // int32 public const nint m_nLastReadByInstruction = 0x54; // int32
} }
// Parent: CPulseCell_BaseValue
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
public static class CPulseCell_Value_RandomFloat {
}
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
public static class PulseRuntimeCellIndex_t { public static class PulseRuntimeCellIndex_t {
public const nint m_Value = 0x0; // int32 public const nint m_Value = 0x0; // int32
} }
// Parent: None // Parent: IGapHost_YieldingCursor
// Fields count: 0 // Fields count: 0
public static class CPulseExecCursor { public static class CPulseExecCursor {
} }
@@ -766,26 +1056,31 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_IntSwitch { public static class CPulseCell_Outflow_IntSwitch {
public const nint m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection 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 // Parent: None
// Fields count: 10 // Fields count: 14
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CPulseGraphDef { public static class CPulseGraphDef {
public const nint m_DomainIdentifier = 0x8; // CUtlSymbolLarge public const nint m_DomainIdentifier = 0x8; // CUtlSymbolLarge
public const nint m_ParentMapName = 0x10; // CUtlSymbolLarge public const nint m_ParentMapName = 0x10; // CUtlSymbolLarge
public const nint m_Chunks = 0x18; // CUtlVector<CPulse_Chunk*> public const nint m_ParentXmlName = 0x18; // CUtlSymbolLarge
public const nint m_Cells = 0x30; // CUtlVector<CPulseCell_Base*> public const nint m_vecGameBlackboards = 0x20; // CUtlVector<CUtlSymbolLarge>
public const nint m_Vars = 0x48; // CUtlVector<CPulse_Variable> public const nint m_Chunks = 0x38; // CUtlVector<CPulse_Chunk*>
public const nint m_PublicOutputs = 0x60; // CUtlVector<CPulse_PublicOutput> public const nint m_Cells = 0x50; // CUtlVector<CPulseCell_Base*>
public const nint m_InvokeBindings = 0x78; // CUtlVector<CPulse_InvokeBinding*> public const nint m_Vars = 0x68; // CUtlVector<CPulse_Variable>
public const nint m_CallInfos = 0x90; // CUtlVector<CPulse_CallInfo*> public const nint m_PublicOutputs = 0x80; // CUtlVector<CPulse_PublicOutput>
public const nint m_Constants = 0xA8; // CUtlVector<CPulse_Constant> public const nint m_InvokeBindings = 0x98; // CUtlVector<CPulse_InvokeBinding*>
public const nint m_OutputConnections = 0xC0; // CUtlVector<CPulse_OutputConnection*> 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -794,6 +1089,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Test_MultiInflow_NoDefault { public static class CPulseCell_Test_MultiInflow_NoDefault {
} }
// Parent: None // Parent: None
@@ -812,12 +1108,13 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
public static class CPulseCell_WaitForCursorsWithTag { public static class CPulseCell_WaitForCursorsWithTag {
public const nint m_bTagSelfWhenComplete = 0x60; // bool public const nint m_bTagSelfWhenComplete = 0x80; // bool
public const nint m_nDesiredKillPriority = 0x64; // PulseCursorCancelPriority_t public const nint m_nDesiredKillPriority = 0x84; // PulseCursorCancelPriority_t
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
@@ -833,18 +1130,13 @@ namespace CS2Dumper.Schemas {
public static class PulseRuntimeCallInfoIndex_t { public static class PulseRuntimeCallInfoIndex_t {
public const nint m_Value = 0x0; // int32 public const nint m_Value = 0x0; // int32
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 2 // Fields count: 1
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain public static class CPulseCell_BaseLerp {
// MPulseCellMethodBindings public const nint m_WakeResume = 0x48; // CPulse_ResumePoint
// MPropertyFriendlyName
// MPropertyDescription
public static class CPulseCell_Outflow_TestExplicitYesNo {
public const nint m_Yes = 0x48; // CPulse_OutflowConnection
public const nint m_No = 0x58; // CPulse_OutflowConnection
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
@@ -853,11 +1145,26 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // 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 // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
public static class CPulseCell_Outflow_TestRandomYesNo { public static class CPulseCell_Outflow_TestRandomYesNo {
public const nint m_Yes = 0x48; // CPulse_OutflowConnection 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -866,6 +1173,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Step_DebugLog { public static class CPulseCell_Step_DebugLog {
} }
// Parent: None // Parent: None
@@ -880,6 +1188,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
public static class CPulseCell_Outflow_CycleOrdered { public static class CPulseCell_Outflow_CycleOrdered {
public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection> public const nint m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -905,6 +1214,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
@@ -916,10 +1226,10 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
public static class CPulseTurtleGraphicsCursor { public static class CPulseTurtleGraphicsCursor {
public const nint m_Color = 0x168; // Color public const nint m_Color = 0xA6; // Color
public const nint m_vPos = 0x16C; // Vector2D public const nint m_vPos = 0xAC; // Vector2D
public const nint m_flHeadingDeg = 0x174; // float32 public const nint m_flHeadingDeg = 0xB4; // float32
public const nint m_bPenUp = 0x178; // bool public const nint m_bPenUp = 0xB8; // bool
} }
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,20 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: pulse_system.dll // Module: libpulse_system.so
// Classes count: 85 // Classes count: 112
// Enums count: 7 // Enums count: 9
namespace pulse_system_dll { 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 // Alignment: 4
// Members count: 3 // Members count: 3
enum class PulseTestEnumShape_t : uint32_t { enum class PulseTestEnumShape_t : uint32_t {
@@ -25,14 +35,15 @@ namespace cs2_dumper {
ASYNC_FIRE_AND_FORGET = 0x1 ASYNC_FIRE_AND_FORGET = 0x1
}; };
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 4
enum class PulseCursorExecResult_t : uint32_t { enum class PulseCursorExecResult_t : uint32_t {
Succeeded = 0x0, Succeeded = 0x0,
Canceled = 0x1, Canceled = 0x1,
Failed = 0x2 Failed = 0x2,
OngoingNotify = 0x3
}; };
// Alignment: 4 // Alignment: 4
// Members count: 19 // Members count: 21
enum class PulseValueType_t : uint32_t { enum class PulseValueType_t : uint32_t {
PVAL_INVALID = 0xFFFFFFFFFFFFFFFF, PVAL_INVALID = 0xFFFFFFFFFFFFFFFF,
PVAL_BOOL = 0x0, PVAL_BOOL = 0x0,
@@ -45,17 +56,19 @@ namespace cs2_dumper {
PVAL_EHANDLE = 0x7, PVAL_EHANDLE = 0x7,
PVAL_RESOURCE = 0x8, PVAL_RESOURCE = 0x8,
PVAL_SNDEVT_GUID = 0x9, PVAL_SNDEVT_GUID = 0x9,
PVAL_ENTITY_NAME = 0xA, PVAL_SNDEVT_NAME = 0xA,
PVAL_SCHEMA_PTR = 0xB, PVAL_ENTITY_NAME = 0xB,
PVAL_TYPESAFE_INT = 0xC, PVAL_OPAQUE_HANDLE = 0xC,
PVAL_CURSOR_FLOW = 0xD, PVAL_TYPESAFE_INT = 0xD,
PVAL_ANY = 0xE, PVAL_CURSOR_FLOW = 0xE,
PVAL_SCHEMA_ENUM = 0xF, PVAL_ANY = 0xF,
PVAL_PANORAMA_PANEL_HANDLE = 0x10, PVAL_SCHEMA_ENUM = 0x10,
PVAL_COUNT = 0x11 PVAL_PANORAMA_PANEL_HANDLE = 0x11,
PVAL_TEST_HANDLE = 0x12,
PVAL_COUNT = 0x13
}; };
// Alignment: 2 // Alignment: 2
// Members count: 61 // Members count: 75
enum class PulseInstructionCode_t : uint16_t { enum class PulseInstructionCode_t : uint16_t {
INVALID = 0x0, INVALID = 0x0,
IMMEDIATE_HALT = 0x1, IMMEDIATE_HALT = 0x1,
@@ -73,7 +86,7 @@ namespace cs2_dumper {
SET_VAR = 0xD, SET_VAR = 0xD,
GET_VAR = 0xE, GET_VAR = 0xE,
GET_CONST = 0xF, GET_CONST = 0xF,
SET_REGISTER_DOMAIN_VALUE = 0x10, GET_DOMAIN_VALUE = 0x10,
COPY = 0x11, COPY = 0x11,
NOT = 0x12, NOT = 0x12,
NEGATE = 0x13, NEGATE = 0x13,
@@ -89,35 +102,49 @@ namespace cs2_dumper {
AND = 0x1D, AND = 0x1D,
OR = 0x1E, OR = 0x1E,
CONVERT_VALUE = 0x1F, CONVERT_VALUE = 0x1F,
LAST_SERIALIZED_CODE = 0x20, REINTERPRET_INSTANCE = 0x20,
NEGATE_INT = 0x21, GET_BLACKBOARD_REFERENCE = 0x21,
NEGATE_FLOAT = 0x22, SET_BLACKBOARD_REFERENCE = 0x22,
ADD_INT = 0x23, REQUIREMENT_RESULT = 0x23,
ADD_FLOAT = 0x24, LAST_SERIALIZED_CODE = 0x24,
ADD_STRING = 0x25, NEGATE_INT = 0x25,
SUB_INT = 0x26, NEGATE_FLOAT = 0x26,
SUB_FLOAT = 0x27, ADD_INT = 0x27,
MUL_INT = 0x28, ADD_FLOAT = 0x28,
MUL_FLOAT = 0x29, ADD_STRING = 0x29,
DIV_INT = 0x2A, SUB_INT = 0x2A,
DIV_FLOAT = 0x2B, SUB_FLOAT = 0x2B,
MOD_INT = 0x2C, MUL_INT = 0x2C,
MOD_FLOAT = 0x2D, MUL_FLOAT = 0x2D,
LT_INT = 0x2E, DIV_INT = 0x2E,
LT_FLOAT = 0x2F, DIV_FLOAT = 0x2F,
LTE_INT = 0x30, MOD_INT = 0x30,
LTE_FLOAT = 0x31, MOD_FLOAT = 0x31,
EQ_BOOL = 0x32, LT_INT = 0x32,
EQ_INT = 0x33, LT_FLOAT = 0x33,
EQ_FLOAT = 0x34, LTE_INT = 0x34,
EQ_STRING = 0x35, LTE_FLOAT = 0x35,
EQ_ENTITY_NAME = 0x36, EQ_BOOL = 0x36,
NE_BOOL = 0x37, EQ_INT = 0x37,
NE_INT = 0x38, EQ_FLOAT = 0x38,
NE_FLOAT = 0x39, EQ_STRING = 0x39,
NE_STRING = 0x3A, EQ_ENTITY_NAME = 0x3A,
NE_ENTITY_NAME = 0x3B, EQ_SCHEMA_ENUM = 0x3B,
GET_CONST_INLINE_STORAGE = 0x3C EQ_EHANDLE = 0x3C,
EQ_PANEL_HANDLE = 0x3D,
EQ_OPAQUE_HANDLE = 0x3E,
EQ_TEST_HANDLE = 0x3F,
NE_BOOL = 0x40,
NE_INT = 0x41,
NE_FLOAT = 0x42,
NE_STRING = 0x43,
NE_ENTITY_NAME = 0x44,
NE_SCHEMA_ENUM = 0x45,
NE_EHANDLE = 0x46,
NE_PANEL_HANDLE = 0x47,
NE_OPAQUE_HANDLE = 0x48,
NE_TEST_HANDLE = 0x49,
GET_CONST_INLINE_STORAGE = 0x4A
}; };
// Alignment: 4 // Alignment: 4
// Members count: 5 // Members count: 5
@@ -136,6 +163,14 @@ namespace cs2_dumper {
SoftCancel = 0x2, SoftCancel = 0x2,
HardCancel = 0x3 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 // Parent: CPulseCell_BaseFlow
// Fields count: 1 // Fields count: 1
// //
@@ -143,6 +178,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Step_PublicOutput { namespace CPulseCell_Step_PublicOutput {
constexpr std::ptrdiff_t m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t constexpr std::ptrdiff_t m_OutputIndex = 0x48; // PulseRuntimeOutputIndex_t
} }
@@ -153,6 +189,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CPulseCell_Val_TestDomainFindEntityByName { namespace CPulseCell_Val_TestDomainFindEntityByName {
} }
@@ -171,9 +208,22 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CPulseCell_Step_TestDomainDestroyFakeEntity { 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 // Parent: None
// Fields count: 1 // Fields count: 1
namespace PulseRuntimeVarIndex_t { namespace PulseRuntimeVarIndex_t {
@@ -185,6 +235,11 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_Value = 0x0; // int32 constexpr std::ptrdiff_t m_Value = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 1
namespace PulseRuntimeDomainValueIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int16
}
// Parent: None
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
@@ -241,14 +296,12 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_EventOutflow = 0x8; // CPulse_OutflowConnection constexpr std::ptrdiff_t m_EventOutflow = 0x8; // CPulse_OutflowConnection
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulse_OutflowConnection { namespace CPulse_OutflowConnection {
constexpr std::ptrdiff_t m_SourceOutflowName = 0x0; // CUtlSymbolLarge constexpr std::ptrdiff_t m_SourceOutflowName = 0x0; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_nDestChunk = 0x8; // PulseRuntimeChunkIndex_t constexpr std::ptrdiff_t m_nDestChunk = 0x8; // PulseRuntimeChunkIndex_t
constexpr std::ptrdiff_t m_nInstruction = 0xC; // int32 constexpr std::ptrdiff_t m_nInstruction = 0xC; // int32
constexpr std::ptrdiff_t m_OutflowRegisterMap = 0x10; // PulseRegisterMap_t
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -271,12 +324,24 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nEditorNodeID = 0x8; // PulseDocNodeID_t constexpr std::ptrdiff_t m_nEditorNodeID = 0x8; // PulseDocNodeID_t
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 1
// //
// Metadata: // Metadata:
// MPulseLibraryBindings // MGetKV3ClassDefaults
// MPropertyDescription namespace CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
namespace CPulseTestFuncs_DerivedDomain { constexpr std::ptrdiff_t nTestStep = 0x0; // int32
}
// 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 // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1 // Fields count: 1
@@ -285,6 +350,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_Yield { namespace CPulseCell_Inflow_Yield {
constexpr std::ptrdiff_t m_UnyieldResume = 0x48; // CPulse_ResumePoint constexpr std::ptrdiff_t m_UnyieldResume = 0x48; // CPulse_ResumePoint
} }
@@ -295,6 +361,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_GraphHook { namespace CPulseCell_Inflow_GraphHook {
constexpr std::ptrdiff_t m_HookName = 0x70; // CUtlSymbolLarge constexpr std::ptrdiff_t m_HookName = 0x70; // CUtlSymbolLarge
} }
@@ -305,6 +372,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
@@ -317,8 +385,8 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
namespace CTestDomainDerived_Cursor { namespace CTestDomainDerived_Cursor {
constexpr std::ptrdiff_t m_nCursorValueA = 0x168; // int32 constexpr std::ptrdiff_t m_nCursorValueA = 0xA8; // int32
constexpr std::ptrdiff_t m_nCursorValueB = 0x16C; // int32 constexpr std::ptrdiff_t m_nCursorValueB = 0xAC; // int32
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -336,11 +404,27 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
namespace CPulseCell_CursorQueue { 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 // Parent: CPulseCell_BaseValue
// Fields count: 0 // Fields count: 0
@@ -349,6 +433,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
namespace CPulseCell_Value_TestValue50 { namespace CPulseCell_Value_TestValue50 {
@@ -360,8 +445,25 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Test_MultiInflow_WithDefault { namespace CPulseCell_Test_MultiInflow_WithDefault {
} }
// Parent: None
// Fields count: 0
namespace IGapHost_ExecLog {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGapTypeQueriesForScopeSingleton
namespace CPulseTestGapTypeQueryRegistration {
}
// Parent: CPulseCell_Base
// Fields count: 1
namespace CPulseCell_Unknown {
constexpr std::ptrdiff_t m_UnknownKeys = 0x48; // KeyValues3
}
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
// //
@@ -369,9 +471,10 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_StringSwitch { namespace CPulseCell_Outflow_StringSwitch {
constexpr std::ptrdiff_t m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -380,12 +483,22 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Test_NoInflow { namespace CPulseCell_Test_NoInflow {
} }
// Parent: None // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1 // Fields count: 4
namespace PulseTestEHandle_t { //
constexpr std::ptrdiff_t m_Value = 0x0; // uint32 // 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 // Parent: None
// Fields count: 2 // Fields count: 2
@@ -393,7 +506,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CPulseCell_Outflow_CycleShuffled__InstanceState_t { namespace CPulseCell_Outflow_CycleShuffled__InstanceState_t {
constexpr std::ptrdiff_t m_Shuffle = 0x0; // CUtlVectorFixedGrowable<uint8> constexpr std::ptrdiff_t m_Shuffle = 0x0; // CUtlVectorFixedGrowable<uint8,8>
constexpr std::ptrdiff_t m_nNextShuffle = 0x20; // int32 constexpr std::ptrdiff_t m_nNextShuffle = 0x20; // int32
} }
// Parent: CPulseCell_Base // Parent: CPulseCell_Base
@@ -405,9 +518,6 @@ namespace cs2_dumper {
} }
// Parent: CPulse_OutflowConnection // Parent: CPulse_OutflowConnection
// Fields count: 0 // Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
namespace CPulse_ResumePoint { namespace CPulse_ResumePoint {
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
@@ -417,6 +527,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_CycleRandom { namespace CPulseCell_Outflow_CycleRandom {
constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection> constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -427,10 +538,24 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_EventHandler { namespace CPulseCell_Inflow_EventHandler {
constexpr std::ptrdiff_t m_EventName = 0x70; // CUtlSymbolLarge constexpr std::ptrdiff_t m_EventName = 0x70; // CUtlSymbolLarge
} }
// Parent: None // 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: IGapHost_ExecLog
// Fields count: 0
namespace IGapHost_Cursor {
}
// Parent: None
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
@@ -455,11 +580,12 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Timeline { namespace CPulseCell_Timeline {
constexpr std::ptrdiff_t m_TimelineEvents = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t> 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_bWaitForChildOutflows = 0x60; // bool
constexpr std::ptrdiff_t m_OnFinished = 0x68; // CPulse_ResumePoint 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 // Parent: None
// Fields count: 4 // Fields count: 4
@@ -472,6 +598,34 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_TargetInput = 0x10; // CUtlSymbolLarge constexpr std::ptrdiff_t m_TargetInput = 0x10; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_Param = 0x18; // CUtlSymbolLarge constexpr std::ptrdiff_t m_Param = 0x18; // CUtlSymbolLarge
} }
// Parent: CPulseCell_BaseRequirement
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseRequirementPass
// MPulseRequirementSummaryExpr
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 // Parent: None
// Fields count: 0 // Fields count: 0
// //
@@ -481,15 +635,17 @@ namespace cs2_dumper {
namespace FakeEntity_tAPI { namespace FakeEntity_tAPI {
} }
// Parent: CPulseCell_BaseYieldingInflow // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Step_CallExternalMethod { namespace CPulseCell_Step_CallExternalMethod {
constexpr std::ptrdiff_t m_MethodName = 0x48; // CUtlSymbolLarge 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_nAsyncCallMode = 0x68; // PulseMethodCallMode_t
constexpr std::ptrdiff_t m_OnFinished = 0x70; // CPulse_ResumePoint constexpr std::ptrdiff_t m_OnFinished = 0x70; // CPulse_ResumePoint
} }
@@ -498,6 +654,7 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
namespace CPulseGraphInstance_TurtleGraphics { namespace CPulseGraphInstance_TurtleGraphics {
} }
@@ -509,20 +666,33 @@ namespace cs2_dumper {
namespace CPulseCell_BaseFlow { namespace CPulseCell_BaseFlow {
} }
// Parent: None // 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 // Fields count: 1
namespace PulseCursorYieldToken_t { namespace PulseCursorYieldToken_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int32 constexpr std::ptrdiff_t m_Value = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 5
namespace FakeEntity_t { //
constexpr std::ptrdiff_t m_nHandle = 0x0; // PulseTestEHandle_t // Metadata:
constexpr std::ptrdiff_t m_Name = 0x8; // CUtlString // MGetKV3ClassDefaults
constexpr std::ptrdiff_t m_Class = 0x10; // CUtlString namespace CPulseGraphExecutionHistory {
constexpr std::ptrdiff_t m_bDestroyed = 0x18; // bool constexpr std::ptrdiff_t m_nInstanceID = 0x0; // PulseGraphInstanceID_t
constexpr std::ptrdiff_t m_pAssociatedGraphInstance = 0x20; // CPulseGraphInstance_TestDomain* constexpr std::ptrdiff_t m_strFileName = 0x8; // CUtlString
constexpr std::ptrdiff_t m_bFuncWasCalled = 0x28; // bool constexpr std::ptrdiff_t m_vecHistory = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
constexpr std::ptrdiff_t m_fValue = 0x2C; // float32 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 // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 3 // Fields count: 3
@@ -531,10 +701,23 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_TestWaitWithCursorState { namespace CPulseCell_TestWaitWithCursorState {
constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_WakeCancel = 0x58; // CPulse_ResumePoint constexpr std::ptrdiff_t m_WakeCancel = 0x78; // CPulse_ResumePoint
constexpr std::ptrdiff_t m_WakeFail = 0x68; // CPulse_ResumePoint constexpr std::ptrdiff_t m_WakeFail = 0xA8; // CPulse_ResumePoint
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_ObservableVariableListener {
constexpr std::ptrdiff_t m_BlackboardReference = 0x70; // CPulse_BlackboardReference
constexpr std::ptrdiff_t m_bSelfReference = 0x168; // bool
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -544,7 +727,7 @@ namespace cs2_dumper {
namespace CPulseCell_BaseYieldingInflow { namespace CPulseCell_BaseYieldingInflow {
} }
// Parent: None // Parent: None
// Fields count: 11 // Fields count: 12
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -559,7 +742,8 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nDestInstruction = 0x18; // int32 constexpr std::ptrdiff_t m_nDestInstruction = 0x18; // int32
constexpr std::ptrdiff_t m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t constexpr std::ptrdiff_t m_nCallInfoIndex = 0x1C; // PulseRuntimeCallInfoIndex_t
constexpr std::ptrdiff_t m_nConstIdx = 0x20; // PulseRuntimeConstantIndex_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 // Parent: None
// Fields count: 5 // Fields count: 5
@@ -574,7 +758,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nSrcInstruction = 0x30; // int32 constexpr std::ptrdiff_t m_nSrcInstruction = 0x30; // int32
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 7
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -584,6 +768,8 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_Type = 0x10; // CPulseValueFullType constexpr std::ptrdiff_t m_Type = 0x10; // CPulseValueFullType
constexpr std::ptrdiff_t m_DefaultValue = 0x20; // KeyValues3 constexpr std::ptrdiff_t m_DefaultValue = 0x20; // KeyValues3
constexpr std::ptrdiff_t m_bIsPublic = 0x32; // bool 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 // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 5 // Fields count: 5
@@ -592,27 +778,46 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_Method { namespace CPulseCell_Inflow_Method {
constexpr std::ptrdiff_t m_MethodName = 0x70; // CUtlSymbolLarge constexpr std::ptrdiff_t m_MethodName = 0x70; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_Description = 0x78; // CUtlString constexpr std::ptrdiff_t m_Description = 0x78; // CUtlString
constexpr std::ptrdiff_t m_bIsPublic = 0x80; // bool constexpr std::ptrdiff_t m_bIsPublic = 0x80; // bool
constexpr std::ptrdiff_t m_ReturnType = 0x88; // CPulseValueFullType 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 // Parent: CBasePulseGraphInstance
// Fields count: 6 // Fields count: 6
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
// MPulseDomainOptInFeatureTag // MPulseDomainOptInFeatureTag
namespace CPulseGraphInstance_TestDomain { namespace CPulseGraphInstance_TestDomain {
constexpr std::ptrdiff_t m_bIsRunningUnitTests = 0xD8; // bool constexpr std::ptrdiff_t m_bIsRunningUnitTests = 0xF8; // bool
constexpr std::ptrdiff_t m_bExplicitTimeStepping = 0xD9; // bool constexpr std::ptrdiff_t m_bExplicitTimeStepping = 0xF9; // bool
constexpr std::ptrdiff_t m_bExpectingToDestroyWithYieldedCursors = 0xDA; // bool constexpr std::ptrdiff_t m_bExpectingToDestroyWithYieldedCursors = 0xFA; // bool
constexpr std::ptrdiff_t m_nNextValidateIndex = 0xDC; // int32 constexpr std::ptrdiff_t m_nNextValidateIndex = 0xFC; // int32
constexpr std::ptrdiff_t m_Tracepoints = 0xE0; // CUtlVector<CUtlString> constexpr std::ptrdiff_t m_Tracepoints = 0x100; // CUtlVector<CUtlString>
constexpr std::ptrdiff_t m_bTestYesOrNoPath = 0xF8; // bool 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 // Parent: CPulseCell_BaseFlow
// Fields count: 1 // Fields count: 1
@@ -621,6 +826,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_CycleShuffled { namespace CPulseCell_Outflow_CycleShuffled {
constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection> constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -643,6 +849,16 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t flWaitValue = 0x0; // float32 constexpr std::ptrdiff_t flWaitValue = 0x0; // float32
constexpr std::ptrdiff_t bFailOnCancel = 0x4; // bool 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
// //
@@ -650,6 +866,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CPulseCell_Step_TestDomainCreateFakeEntity { namespace CPulseCell_Step_TestDomainCreateFakeEntity {
} }
@@ -660,6 +877,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPulseEditorHeaderText // MPulseEditorHeaderText
namespace CPulseCell_Step_TestDomainEntFire { namespace CPulseCell_Step_TestDomainEntFire {
@@ -673,14 +891,43 @@ namespace cs2_dumper {
// MPropertyDescription // MPropertyDescription
namespace CPulseMathlib { namespace CPulseMathlib {
} }
// Parent: None
// Fields count: 1
namespace PulseRuntimeBlackboardReferenceIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int16
}
// Parent: IGapHost_Cursor
// Fields count: 0
namespace IGapHost_YieldingCursor {
}
// 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 // Parent: CPulseGraphInstance_TestDomain
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
namespace CPulseGraphInstance_TestDomain_Derived { namespace CPulseGraphInstance_TestDomain_Derived {
constexpr std::ptrdiff_t m_nInstanceValueX = 0x100; // int32 constexpr std::ptrdiff_t m_nInstanceValueX = 0x11C; // int32
} }
// Parent: CPulseCell_Inflow_BaseEntrypoint // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4 // Fields count: 4
@@ -689,6 +936,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Inflow_EntOutputHandler { namespace CPulseCell_Inflow_EntOutputHandler {
constexpr std::ptrdiff_t m_SourceEntity = 0x70; // CUtlSymbolLarge constexpr std::ptrdiff_t m_SourceEntity = 0x70; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_SourceOutput = 0x78; // CUtlSymbolLarge constexpr std::ptrdiff_t m_SourceOutput = 0x78; // CUtlSymbolLarge
@@ -700,6 +948,14 @@ namespace cs2_dumper {
namespace PulseRuntimeConstantIndex_t { namespace PulseRuntimeConstantIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int16 constexpr std::ptrdiff_t m_Value = 0x0; // int16
} }
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
namespace FakeEntityDerivedA_tAPI {
}
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
// //
@@ -707,6 +963,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CPulseCell_Step_TestDomainTracepoint { namespace CPulseCell_Step_TestDomainTracepoint {
} }
@@ -715,6 +972,25 @@ namespace cs2_dumper {
namespace PulseDocNodeID_t { namespace PulseDocNodeID_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int32 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 // Parent: CPulseCell_BaseValue
// Fields count: 0 // Fields count: 0
// //
@@ -722,6 +998,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CPulseCell_Val_TestDomainGetEntityName { namespace CPulseCell_Val_TestDomainGetEntityName {
} }
@@ -750,12 +1027,25 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nWrittenByInstruction = 0x50; // int32 constexpr std::ptrdiff_t m_nWrittenByInstruction = 0x50; // int32
constexpr std::ptrdiff_t m_nLastReadByInstruction = 0x54; // int32 constexpr std::ptrdiff_t m_nLastReadByInstruction = 0x54; // int32
} }
// Parent: CPulseCell_BaseValue
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
namespace CPulseCell_Value_RandomFloat {
}
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
namespace PulseRuntimeCellIndex_t { namespace PulseRuntimeCellIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int32 constexpr std::ptrdiff_t m_Value = 0x0; // int32
} }
// Parent: None // Parent: IGapHost_YieldingCursor
// Fields count: 0 // Fields count: 0
namespace CPulseExecCursor { namespace CPulseExecCursor {
} }
@@ -771,26 +1061,31 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_IntSwitch { namespace CPulseCell_Outflow_IntSwitch {
constexpr std::ptrdiff_t m_DefaultCaseOutflow = 0x48; // CPulse_OutflowConnection 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 // Parent: None
// Fields count: 10 // Fields count: 14
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CPulseGraphDef { namespace CPulseGraphDef {
constexpr std::ptrdiff_t m_DomainIdentifier = 0x8; // CUtlSymbolLarge constexpr std::ptrdiff_t m_DomainIdentifier = 0x8; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_ParentMapName = 0x10; // CUtlSymbolLarge constexpr std::ptrdiff_t m_ParentMapName = 0x10; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_Chunks = 0x18; // CUtlVector<CPulse_Chunk*> constexpr std::ptrdiff_t m_ParentXmlName = 0x18; // CUtlSymbolLarge
constexpr std::ptrdiff_t m_Cells = 0x30; // CUtlVector<CPulseCell_Base*> constexpr std::ptrdiff_t m_vecGameBlackboards = 0x20; // CUtlVector<CUtlSymbolLarge>
constexpr std::ptrdiff_t m_Vars = 0x48; // CUtlVector<CPulse_Variable> constexpr std::ptrdiff_t m_Chunks = 0x38; // CUtlVector<CPulse_Chunk*>
constexpr std::ptrdiff_t m_PublicOutputs = 0x60; // CUtlVector<CPulse_PublicOutput> constexpr std::ptrdiff_t m_Cells = 0x50; // CUtlVector<CPulseCell_Base*>
constexpr std::ptrdiff_t m_InvokeBindings = 0x78; // CUtlVector<CPulse_InvokeBinding*> constexpr std::ptrdiff_t m_Vars = 0x68; // CUtlVector<CPulse_Variable>
constexpr std::ptrdiff_t m_CallInfos = 0x90; // CUtlVector<CPulse_CallInfo*> constexpr std::ptrdiff_t m_PublicOutputs = 0x80; // CUtlVector<CPulse_PublicOutput>
constexpr std::ptrdiff_t m_Constants = 0xA8; // CUtlVector<CPulse_Constant> constexpr std::ptrdiff_t m_InvokeBindings = 0x98; // CUtlVector<CPulse_InvokeBinding*>
constexpr std::ptrdiff_t m_OutputConnections = 0xC0; // CUtlVector<CPulse_OutputConnection*> 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -799,6 +1094,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Test_MultiInflow_NoDefault { namespace CPulseCell_Test_MultiInflow_NoDefault {
} }
// Parent: None // Parent: None
@@ -817,12 +1113,13 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
namespace CPulseCell_WaitForCursorsWithTag { namespace CPulseCell_WaitForCursorsWithTag {
constexpr std::ptrdiff_t m_bTagSelfWhenComplete = 0x60; // bool constexpr std::ptrdiff_t m_bTagSelfWhenComplete = 0x80; // bool
constexpr std::ptrdiff_t m_nDesiredKillPriority = 0x64; // PulseCursorCancelPriority_t constexpr std::ptrdiff_t m_nDesiredKillPriority = 0x84; // PulseCursorCancelPriority_t
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
@@ -838,18 +1135,13 @@ namespace cs2_dumper {
namespace PulseRuntimeCallInfoIndex_t { namespace PulseRuntimeCallInfoIndex_t {
constexpr std::ptrdiff_t m_Value = 0x0; // int32 constexpr std::ptrdiff_t m_Value = 0x0; // int32
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 2 // Fields count: 1
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain namespace CPulseCell_BaseLerp {
// MPulseCellMethodBindings constexpr std::ptrdiff_t m_WakeResume = 0x48; // CPulse_ResumePoint
// MPropertyFriendlyName
// MPropertyDescription
namespace CPulseCell_Outflow_TestExplicitYesNo {
constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection
constexpr std::ptrdiff_t m_No = 0x58; // CPulse_OutflowConnection
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
@@ -858,11 +1150,26 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // 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 // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
namespace CPulseCell_Outflow_TestRandomYesNo { namespace CPulseCell_Outflow_TestRandomYesNo {
constexpr std::ptrdiff_t m_Yes = 0x48; // CPulse_OutflowConnection 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -871,6 +1178,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Step_DebugLog { namespace CPulseCell_Step_DebugLog {
} }
// Parent: None // Parent: None
@@ -885,6 +1193,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
namespace CPulseCell_Outflow_CycleOrdered { namespace CPulseCell_Outflow_CycleOrdered {
constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection> constexpr std::ptrdiff_t m_Outputs = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -910,6 +1219,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
@@ -921,10 +1231,10 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
namespace CPulseTurtleGraphicsCursor { namespace CPulseTurtleGraphicsCursor {
constexpr std::ptrdiff_t m_Color = 0x168; // Color constexpr std::ptrdiff_t m_Color = 0xA6; // Color
constexpr std::ptrdiff_t m_vPos = 0x16C; // Vector2D constexpr std::ptrdiff_t m_vPos = 0xAC; // Vector2D
constexpr std::ptrdiff_t m_flHeadingDeg = 0x174; // float32 constexpr std::ptrdiff_t m_flHeadingDeg = 0xB4; // float32
constexpr std::ptrdiff_t m_bPenUp = 0x178; // bool constexpr std::ptrdiff_t m_bPenUp = 0xB8; // bool
} }
} }
} }

View File

@@ -1,14 +1,25 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: pulse_system.dll // Module: libpulse_system.so
// Classes count: 85 // Classes count: 112
// Enums count: 7 // Enums count: 9
pub mod pulse_system_dll { 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 // Alignment: 4
// Members count: 3 // Members count: 3
#[repr(u32)] #[repr(u32)]
@@ -25,15 +36,16 @@ pub mod cs2_dumper {
ASYNC_FIRE_AND_FORGET = 0x1 ASYNC_FIRE_AND_FORGET = 0x1
} }
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 4
#[repr(u32)] #[repr(u32)]
pub enum PulseCursorExecResult_t { pub enum PulseCursorExecResult_t {
Succeeded = 0x0, Succeeded = 0x0,
Canceled = 0x1, Canceled = 0x1,
Failed = 0x2 Failed = 0x2,
OngoingNotify = 0x3
} }
// Alignment: 4 // Alignment: 4
// Members count: 19 // Members count: 21
#[repr(u32)] #[repr(u32)]
pub enum PulseValueType_t { pub enum PulseValueType_t {
PVAL_INVALID = u32::MAX, PVAL_INVALID = u32::MAX,
@@ -47,17 +59,19 @@ pub mod cs2_dumper {
PVAL_EHANDLE = 0x7, PVAL_EHANDLE = 0x7,
PVAL_RESOURCE = 0x8, PVAL_RESOURCE = 0x8,
PVAL_SNDEVT_GUID = 0x9, PVAL_SNDEVT_GUID = 0x9,
PVAL_ENTITY_NAME = 0xA, PVAL_SNDEVT_NAME = 0xA,
PVAL_SCHEMA_PTR = 0xB, PVAL_ENTITY_NAME = 0xB,
PVAL_TYPESAFE_INT = 0xC, PVAL_OPAQUE_HANDLE = 0xC,
PVAL_CURSOR_FLOW = 0xD, PVAL_TYPESAFE_INT = 0xD,
PVAL_ANY = 0xE, PVAL_CURSOR_FLOW = 0xE,
PVAL_SCHEMA_ENUM = 0xF, PVAL_ANY = 0xF,
PVAL_PANORAMA_PANEL_HANDLE = 0x10, PVAL_SCHEMA_ENUM = 0x10,
PVAL_COUNT = 0x11 PVAL_PANORAMA_PANEL_HANDLE = 0x11,
PVAL_TEST_HANDLE = 0x12,
PVAL_COUNT = 0x13
} }
// Alignment: 2 // Alignment: 2
// Members count: 61 // Members count: 75
#[repr(u16)] #[repr(u16)]
pub enum PulseInstructionCode_t { pub enum PulseInstructionCode_t {
INVALID = 0x0, INVALID = 0x0,
@@ -76,7 +90,7 @@ pub mod cs2_dumper {
SET_VAR = 0xD, SET_VAR = 0xD,
GET_VAR = 0xE, GET_VAR = 0xE,
GET_CONST = 0xF, GET_CONST = 0xF,
SET_REGISTER_DOMAIN_VALUE = 0x10, GET_DOMAIN_VALUE = 0x10,
COPY = 0x11, COPY = 0x11,
NOT = 0x12, NOT = 0x12,
NEGATE = 0x13, NEGATE = 0x13,
@@ -92,35 +106,49 @@ pub mod cs2_dumper {
AND = 0x1D, AND = 0x1D,
OR = 0x1E, OR = 0x1E,
CONVERT_VALUE = 0x1F, CONVERT_VALUE = 0x1F,
LAST_SERIALIZED_CODE = 0x20, REINTERPRET_INSTANCE = 0x20,
NEGATE_INT = 0x21, GET_BLACKBOARD_REFERENCE = 0x21,
NEGATE_FLOAT = 0x22, SET_BLACKBOARD_REFERENCE = 0x22,
ADD_INT = 0x23, REQUIREMENT_RESULT = 0x23,
ADD_FLOAT = 0x24, LAST_SERIALIZED_CODE = 0x24,
ADD_STRING = 0x25, NEGATE_INT = 0x25,
SUB_INT = 0x26, NEGATE_FLOAT = 0x26,
SUB_FLOAT = 0x27, ADD_INT = 0x27,
MUL_INT = 0x28, ADD_FLOAT = 0x28,
MUL_FLOAT = 0x29, ADD_STRING = 0x29,
DIV_INT = 0x2A, SUB_INT = 0x2A,
DIV_FLOAT = 0x2B, SUB_FLOAT = 0x2B,
MOD_INT = 0x2C, MUL_INT = 0x2C,
MOD_FLOAT = 0x2D, MUL_FLOAT = 0x2D,
LT_INT = 0x2E, DIV_INT = 0x2E,
LT_FLOAT = 0x2F, DIV_FLOAT = 0x2F,
LTE_INT = 0x30, MOD_INT = 0x30,
LTE_FLOAT = 0x31, MOD_FLOAT = 0x31,
EQ_BOOL = 0x32, LT_INT = 0x32,
EQ_INT = 0x33, LT_FLOAT = 0x33,
EQ_FLOAT = 0x34, LTE_INT = 0x34,
EQ_STRING = 0x35, LTE_FLOAT = 0x35,
EQ_ENTITY_NAME = 0x36, EQ_BOOL = 0x36,
NE_BOOL = 0x37, EQ_INT = 0x37,
NE_INT = 0x38, EQ_FLOAT = 0x38,
NE_FLOAT = 0x39, EQ_STRING = 0x39,
NE_STRING = 0x3A, EQ_ENTITY_NAME = 0x3A,
NE_ENTITY_NAME = 0x3B, EQ_SCHEMA_ENUM = 0x3B,
GET_CONST_INLINE_STORAGE = 0x3C EQ_EHANDLE = 0x3C,
EQ_PANEL_HANDLE = 0x3D,
EQ_OPAQUE_HANDLE = 0x3E,
EQ_TEST_HANDLE = 0x3F,
NE_BOOL = 0x40,
NE_INT = 0x41,
NE_FLOAT = 0x42,
NE_STRING = 0x43,
NE_ENTITY_NAME = 0x44,
NE_SCHEMA_ENUM = 0x45,
NE_EHANDLE = 0x46,
NE_PANEL_HANDLE = 0x47,
NE_OPAQUE_HANDLE = 0x48,
NE_TEST_HANDLE = 0x49,
GET_CONST_INLINE_STORAGE = 0x4A
} }
// Alignment: 4 // Alignment: 4
// Members count: 5 // Members count: 5
@@ -141,6 +169,15 @@ pub mod cs2_dumper {
SoftCancel = 0x2, SoftCancel = 0x2,
HardCancel = 0x3 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 // Parent: CPulseCell_BaseFlow
// Fields count: 1 // Fields count: 1
// //
@@ -148,6 +185,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Step_PublicOutput { pub mod CPulseCell_Step_PublicOutput {
pub const m_OutputIndex: usize = 0x48; // PulseRuntimeOutputIndex_t pub const m_OutputIndex: usize = 0x48; // PulseRuntimeOutputIndex_t
} }
@@ -158,6 +196,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CPulseCell_Val_TestDomainFindEntityByName { pub mod CPulseCell_Val_TestDomainFindEntityByName {
} }
@@ -176,9 +215,22 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CPulseCell_Step_TestDomainDestroyFakeEntity { 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 // Parent: None
// Fields count: 1 // Fields count: 1
pub mod PulseRuntimeVarIndex_t { pub mod PulseRuntimeVarIndex_t {
@@ -190,6 +242,11 @@ pub mod cs2_dumper {
pub const m_Value: usize = 0x0; // int32 pub const m_Value: usize = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 1
pub mod PulseRuntimeDomainValueIndex_t {
pub const m_Value: usize = 0x0; // int16
}
// Parent: None
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
@@ -246,14 +303,12 @@ pub mod cs2_dumper {
pub const m_EventOutflow: usize = 0x8; // CPulse_OutflowConnection pub const m_EventOutflow: usize = 0x8; // CPulse_OutflowConnection
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulse_OutflowConnection { pub mod CPulse_OutflowConnection {
pub const m_SourceOutflowName: usize = 0x0; // CUtlSymbolLarge pub const m_SourceOutflowName: usize = 0x0; // CUtlSymbolLarge
pub const m_nDestChunk: usize = 0x8; // PulseRuntimeChunkIndex_t pub const m_nDestChunk: usize = 0x8; // PulseRuntimeChunkIndex_t
pub const m_nInstruction: usize = 0xC; // int32 pub const m_nInstruction: usize = 0xC; // int32
pub const m_OutflowRegisterMap: usize = 0x10; // PulseRegisterMap_t
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -276,12 +331,24 @@ pub mod cs2_dumper {
pub const m_nEditorNodeID: usize = 0x8; // PulseDocNodeID_t pub const m_nEditorNodeID: usize = 0x8; // PulseDocNodeID_t
} }
// Parent: None // Parent: None
// Fields count: 0 // Fields count: 1
// //
// Metadata: // Metadata:
// MPulseLibraryBindings // MGetKV3ClassDefaults
// MPropertyDescription pub mod CPulseCell_Test_MultiOutflow_WithParams_Yielding__CursorState_t {
pub mod CPulseTestFuncs_DerivedDomain { pub const nTestStep: usize = 0x0; // int32
}
// 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 // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1 // Fields count: 1
@@ -290,6 +357,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_Yield { pub mod CPulseCell_Inflow_Yield {
pub const m_UnyieldResume: usize = 0x48; // CPulse_ResumePoint pub const m_UnyieldResume: usize = 0x48; // CPulse_ResumePoint
} }
@@ -300,6 +368,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_GraphHook { pub mod CPulseCell_Inflow_GraphHook {
pub const m_HookName: usize = 0x70; // CUtlSymbolLarge pub const m_HookName: usize = 0x70; // CUtlSymbolLarge
} }
@@ -310,6 +379,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
@@ -322,8 +392,8 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
pub mod CTestDomainDerived_Cursor { pub mod CTestDomainDerived_Cursor {
pub const m_nCursorValueA: usize = 0x168; // int32 pub const m_nCursorValueA: usize = 0xA8; // int32
pub const m_nCursorValueB: usize = 0x16C; // int32 pub const m_nCursorValueB: usize = 0xAC; // int32
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -341,11 +411,27 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
pub mod CPulseCell_CursorQueue { 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 // Parent: CPulseCell_BaseValue
// Fields count: 0 // Fields count: 0
@@ -354,6 +440,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
pub mod CPulseCell_Value_TestValue50 { pub mod CPulseCell_Value_TestValue50 {
@@ -365,8 +452,25 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Test_MultiInflow_WithDefault { pub mod CPulseCell_Test_MultiInflow_WithDefault {
} }
// Parent: None
// Fields count: 0
pub mod IGapHost_ExecLog {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGapTypeQueriesForScopeSingleton
pub mod CPulseTestGapTypeQueryRegistration {
}
// Parent: CPulseCell_Base
// Fields count: 1
pub mod CPulseCell_Unknown {
pub const m_UnknownKeys: usize = 0x48; // KeyValues3
}
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
// //
@@ -374,9 +478,10 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_StringSwitch { pub mod CPulseCell_Outflow_StringSwitch {
pub const m_DefaultCaseOutflow: usize = 0x48; // CPulse_OutflowConnection 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -385,12 +490,22 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Test_NoInflow { pub mod CPulseCell_Test_NoInflow {
} }
// Parent: None // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 1 // Fields count: 4
pub mod PulseTestEHandle_t { //
pub const m_Value: usize = 0x0; // uint32 // 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 // Parent: None
// Fields count: 2 // Fields count: 2
@@ -398,7 +513,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CPulseCell_Outflow_CycleShuffled__InstanceState_t { pub mod CPulseCell_Outflow_CycleShuffled__InstanceState_t {
pub const m_Shuffle: usize = 0x0; // CUtlVectorFixedGrowable<uint8> pub const m_Shuffle: usize = 0x0; // CUtlVectorFixedGrowable<uint8,8>
pub const m_nNextShuffle: usize = 0x20; // int32 pub const m_nNextShuffle: usize = 0x20; // int32
} }
// Parent: CPulseCell_Base // Parent: CPulseCell_Base
@@ -410,9 +525,6 @@ pub mod cs2_dumper {
} }
// Parent: CPulse_OutflowConnection // Parent: CPulse_OutflowConnection
// Fields count: 0 // Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CPulse_ResumePoint { pub mod CPulse_ResumePoint {
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
@@ -422,6 +534,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_CycleRandom { pub mod CPulseCell_Outflow_CycleRandom {
pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection> pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -432,10 +545,24 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_EventHandler { pub mod CPulseCell_Inflow_EventHandler {
pub const m_EventName: usize = 0x70; // CUtlSymbolLarge pub const m_EventName: usize = 0x70; // CUtlSymbolLarge
} }
// Parent: None // 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: IGapHost_ExecLog
// Fields count: 0
pub mod IGapHost_Cursor {
}
// Parent: None
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
@@ -460,11 +587,12 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Timeline { pub mod CPulseCell_Timeline {
pub const m_TimelineEvents: usize = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t> pub const m_TimelineEvents: usize = 0x48; // CUtlVector<CPulseCell_Timeline::TimelineEvent_t>
pub const m_bWaitForChildOutflows: usize = 0x60; // bool pub const m_bWaitForChildOutflows: usize = 0x60; // bool
pub const m_OnFinished: usize = 0x68; // CPulse_ResumePoint 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 // Parent: None
// Fields count: 4 // Fields count: 4
@@ -477,6 +605,34 @@ pub mod cs2_dumper {
pub const m_TargetInput: usize = 0x10; // CUtlSymbolLarge pub const m_TargetInput: usize = 0x10; // CUtlSymbolLarge
pub const m_Param: usize = 0x18; // CUtlSymbolLarge pub const m_Param: usize = 0x18; // CUtlSymbolLarge
} }
// Parent: CPulseCell_BaseRequirement
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseRequirementPass
// MPulseRequirementSummaryExpr
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 // Parent: None
// Fields count: 0 // Fields count: 0
// //
@@ -486,15 +642,17 @@ pub mod cs2_dumper {
pub mod FakeEntity_tAPI { pub mod FakeEntity_tAPI {
} }
// Parent: CPulseCell_BaseYieldingInflow // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Step_CallExternalMethod { pub mod CPulseCell_Step_CallExternalMethod {
pub const m_MethodName: usize = 0x48; // CUtlSymbolLarge 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_nAsyncCallMode: usize = 0x68; // PulseMethodCallMode_t
pub const m_OnFinished: usize = 0x70; // CPulse_ResumePoint pub const m_OnFinished: usize = 0x70; // CPulse_ResumePoint
} }
@@ -503,6 +661,7 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
pub mod CPulseGraphInstance_TurtleGraphics { pub mod CPulseGraphInstance_TurtleGraphics {
} }
@@ -514,20 +673,33 @@ pub mod cs2_dumper {
pub mod CPulseCell_BaseFlow { pub mod CPulseCell_BaseFlow {
} }
// Parent: None // 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 // Fields count: 1
pub mod PulseCursorYieldToken_t { pub mod PulseCursorYieldToken_t {
pub const m_Value: usize = 0x0; // int32 pub const m_Value: usize = 0x0; // int32
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 5
pub mod FakeEntity_t { //
pub const m_nHandle: usize = 0x0; // PulseTestEHandle_t // Metadata:
pub const m_Name: usize = 0x8; // CUtlString // MGetKV3ClassDefaults
pub const m_Class: usize = 0x10; // CUtlString pub mod CPulseGraphExecutionHistory {
pub const m_bDestroyed: usize = 0x18; // bool pub const m_nInstanceID: usize = 0x0; // PulseGraphInstanceID_t
pub const m_pAssociatedGraphInstance: usize = 0x20; // CPulseGraphInstance_TestDomain* pub const m_strFileName: usize = 0x8; // CUtlString
pub const m_bFuncWasCalled: usize = 0x28; // bool pub const m_vecHistory: usize = 0x10; // CUtlVector<PulseGraphExecutionHistoryEntry_t*>
pub const m_fValue: usize = 0x2C; // float32 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 // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 3 // Fields count: 3
@@ -536,10 +708,23 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_TestWaitWithCursorState { pub mod CPulseCell_TestWaitWithCursorState {
pub const m_WakeResume: usize = 0x48; // CPulse_ResumePoint pub const m_WakeResume: usize = 0x48; // CPulse_ResumePoint
pub const m_WakeCancel: usize = 0x58; // CPulse_ResumePoint pub const m_WakeCancel: usize = 0x78; // CPulse_ResumePoint
pub const m_WakeFail: usize = 0x68; // CPulse_ResumePoint pub const m_WakeFail: usize = 0xA8; // CPulse_ResumePoint
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_ObservableVariableListener {
pub const m_BlackboardReference: usize = 0x70; // CPulse_BlackboardReference
pub const m_bSelfReference: usize = 0x168; // bool
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -549,7 +734,7 @@ pub mod cs2_dumper {
pub mod CPulseCell_BaseYieldingInflow { pub mod CPulseCell_BaseYieldingInflow {
} }
// Parent: None // Parent: None
// Fields count: 11 // Fields count: 12
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -564,7 +749,8 @@ pub mod cs2_dumper {
pub const m_nDestInstruction: usize = 0x18; // int32 pub const m_nDestInstruction: usize = 0x18; // int32
pub const m_nCallInfoIndex: usize = 0x1C; // PulseRuntimeCallInfoIndex_t pub const m_nCallInfoIndex: usize = 0x1C; // PulseRuntimeCallInfoIndex_t
pub const m_nConstIdx: usize = 0x20; // PulseRuntimeConstantIndex_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 // Parent: None
// Fields count: 5 // Fields count: 5
@@ -579,7 +765,7 @@ pub mod cs2_dumper {
pub const m_nSrcInstruction: usize = 0x30; // int32 pub const m_nSrcInstruction: usize = 0x30; // int32
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 7
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -589,6 +775,8 @@ pub mod cs2_dumper {
pub const m_Type: usize = 0x10; // CPulseValueFullType pub const m_Type: usize = 0x10; // CPulseValueFullType
pub const m_DefaultValue: usize = 0x20; // KeyValues3 pub const m_DefaultValue: usize = 0x20; // KeyValues3
pub const m_bIsPublic: usize = 0x32; // bool 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 // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 5 // Fields count: 5
@@ -597,27 +785,46 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_Method { pub mod CPulseCell_Inflow_Method {
pub const m_MethodName: usize = 0x70; // CUtlSymbolLarge pub const m_MethodName: usize = 0x70; // CUtlSymbolLarge
pub const m_Description: usize = 0x78; // CUtlString pub const m_Description: usize = 0x78; // CUtlString
pub const m_bIsPublic: usize = 0x80; // bool pub const m_bIsPublic: usize = 0x80; // bool
pub const m_ReturnType: usize = 0x88; // CPulseValueFullType 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 // Parent: CBasePulseGraphInstance
// Fields count: 6 // Fields count: 6
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
// MPulseDomainOptInFeatureTag // MPulseDomainOptInFeatureTag
pub mod CPulseGraphInstance_TestDomain { pub mod CPulseGraphInstance_TestDomain {
pub const m_bIsRunningUnitTests: usize = 0xD8; // bool pub const m_bIsRunningUnitTests: usize = 0xF8; // bool
pub const m_bExplicitTimeStepping: usize = 0xD9; // bool pub const m_bExplicitTimeStepping: usize = 0xF9; // bool
pub const m_bExpectingToDestroyWithYieldedCursors: usize = 0xDA; // bool pub const m_bExpectingToDestroyWithYieldedCursors: usize = 0xFA; // bool
pub const m_nNextValidateIndex: usize = 0xDC; // int32 pub const m_nNextValidateIndex: usize = 0xFC; // int32
pub const m_Tracepoints: usize = 0xE0; // CUtlVector<CUtlString> pub const m_Tracepoints: usize = 0x100; // CUtlVector<CUtlString>
pub const m_bTestYesOrNoPath: usize = 0xF8; // bool 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 // Parent: CPulseCell_BaseFlow
// Fields count: 1 // Fields count: 1
@@ -626,6 +833,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_CycleShuffled { pub mod CPulseCell_Outflow_CycleShuffled {
pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection> pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -648,6 +856,16 @@ pub mod cs2_dumper {
pub const flWaitValue: usize = 0x0; // float32 pub const flWaitValue: usize = 0x0; // float32
pub const bFailOnCancel: usize = 0x4; // bool 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
// //
@@ -655,6 +873,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CPulseCell_Step_TestDomainCreateFakeEntity { pub mod CPulseCell_Step_TestDomainCreateFakeEntity {
} }
@@ -665,6 +884,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPulseEditorHeaderText // MPulseEditorHeaderText
pub mod CPulseCell_Step_TestDomainEntFire { pub mod CPulseCell_Step_TestDomainEntFire {
@@ -678,14 +898,43 @@ pub mod cs2_dumper {
// MPropertyDescription // MPropertyDescription
pub mod CPulseMathlib { pub mod CPulseMathlib {
} }
// Parent: None
// Fields count: 1
pub mod PulseRuntimeBlackboardReferenceIndex_t {
pub const m_Value: usize = 0x0; // int16
}
// Parent: IGapHost_Cursor
// Fields count: 0
pub mod IGapHost_YieldingCursor {
}
// 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 // Parent: CPulseGraphInstance_TestDomain
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
// MPulseInstanceDomainInfo // MPulseInstanceDomainInfo
// MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
pub mod CPulseGraphInstance_TestDomain_Derived { pub mod CPulseGraphInstance_TestDomain_Derived {
pub const m_nInstanceValueX: usize = 0x100; // int32 pub const m_nInstanceValueX: usize = 0x11C; // int32
} }
// Parent: CPulseCell_Inflow_BaseEntrypoint // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4 // Fields count: 4
@@ -694,6 +943,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Inflow_EntOutputHandler { pub mod CPulseCell_Inflow_EntOutputHandler {
pub const m_SourceEntity: usize = 0x70; // CUtlSymbolLarge pub const m_SourceEntity: usize = 0x70; // CUtlSymbolLarge
pub const m_SourceOutput: usize = 0x78; // CUtlSymbolLarge pub const m_SourceOutput: usize = 0x78; // CUtlSymbolLarge
@@ -705,6 +955,14 @@ pub mod cs2_dumper {
pub mod PulseRuntimeConstantIndex_t { pub mod PulseRuntimeConstantIndex_t {
pub const m_Value: usize = 0x0; // int16 pub const m_Value: usize = 0x0; // int16
} }
// Parent: None
// Fields count: 0
//
// Metadata:
// MPulseProvideFeatureTag
// MPulseLibraryBindings
pub mod FakeEntityDerivedA_tAPI {
}
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
// //
@@ -712,6 +970,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CPulseCell_Step_TestDomainTracepoint { pub mod CPulseCell_Step_TestDomainTracepoint {
} }
@@ -720,6 +979,25 @@ pub mod cs2_dumper {
pub mod PulseDocNodeID_t { pub mod PulseDocNodeID_t {
pub const m_Value: usize = 0x0; // int32 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 // Parent: CPulseCell_BaseValue
// Fields count: 0 // Fields count: 0
// //
@@ -727,6 +1005,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CPulseCell_Val_TestDomainGetEntityName { pub mod CPulseCell_Val_TestDomainGetEntityName {
} }
@@ -755,12 +1034,25 @@ pub mod cs2_dumper {
pub const m_nWrittenByInstruction: usize = 0x50; // int32 pub const m_nWrittenByInstruction: usize = 0x50; // int32
pub const m_nLastReadByInstruction: usize = 0x54; // int32 pub const m_nLastReadByInstruction: usize = 0x54; // int32
} }
// Parent: CPulseCell_BaseValue
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MCellForDomain
// MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName
// MPropertyDescription
// MPulseEditorHeaderIcon
pub mod CPulseCell_Value_RandomFloat {
}
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
pub mod PulseRuntimeCellIndex_t { pub mod PulseRuntimeCellIndex_t {
pub const m_Value: usize = 0x0; // int32 pub const m_Value: usize = 0x0; // int32
} }
// Parent: None // Parent: IGapHost_YieldingCursor
// Fields count: 0 // Fields count: 0
pub mod CPulseExecCursor { pub mod CPulseExecCursor {
} }
@@ -776,26 +1068,31 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_IntSwitch { pub mod CPulseCell_Outflow_IntSwitch {
pub const m_DefaultCaseOutflow: usize = 0x48; // CPulse_OutflowConnection 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 // Parent: None
// Fields count: 10 // Fields count: 14
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CPulseGraphDef { pub mod CPulseGraphDef {
pub const m_DomainIdentifier: usize = 0x8; // CUtlSymbolLarge pub const m_DomainIdentifier: usize = 0x8; // CUtlSymbolLarge
pub const m_ParentMapName: usize = 0x10; // CUtlSymbolLarge pub const m_ParentMapName: usize = 0x10; // CUtlSymbolLarge
pub const m_Chunks: usize = 0x18; // CUtlVector<CPulse_Chunk*> pub const m_ParentXmlName: usize = 0x18; // CUtlSymbolLarge
pub const m_Cells: usize = 0x30; // CUtlVector<CPulseCell_Base*> pub const m_vecGameBlackboards: usize = 0x20; // CUtlVector<CUtlSymbolLarge>
pub const m_Vars: usize = 0x48; // CUtlVector<CPulse_Variable> pub const m_Chunks: usize = 0x38; // CUtlVector<CPulse_Chunk*>
pub const m_PublicOutputs: usize = 0x60; // CUtlVector<CPulse_PublicOutput> pub const m_Cells: usize = 0x50; // CUtlVector<CPulseCell_Base*>
pub const m_InvokeBindings: usize = 0x78; // CUtlVector<CPulse_InvokeBinding*> pub const m_Vars: usize = 0x68; // CUtlVector<CPulse_Variable>
pub const m_CallInfos: usize = 0x90; // CUtlVector<CPulse_CallInfo*> pub const m_PublicOutputs: usize = 0x80; // CUtlVector<CPulse_PublicOutput>
pub const m_Constants: usize = 0xA8; // CUtlVector<CPulse_Constant> pub const m_InvokeBindings: usize = 0x98; // CUtlVector<CPulse_InvokeBinding*>
pub const m_OutputConnections: usize = 0xC0; // CUtlVector<CPulse_OutputConnection*> 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -804,6 +1101,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Test_MultiInflow_NoDefault { pub mod CPulseCell_Test_MultiInflow_NoDefault {
} }
// Parent: None // Parent: None
@@ -822,12 +1120,13 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
pub mod CPulseCell_WaitForCursorsWithTag { pub mod CPulseCell_WaitForCursorsWithTag {
pub const m_bTagSelfWhenComplete: usize = 0x60; // bool pub const m_bTagSelfWhenComplete: usize = 0x80; // bool
pub const m_nDesiredKillPriority: usize = 0x64; // PulseCursorCancelPriority_t pub const m_nDesiredKillPriority: usize = 0x84; // PulseCursorCancelPriority_t
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
@@ -843,18 +1142,13 @@ pub mod cs2_dumper {
pub mod PulseRuntimeCallInfoIndex_t { pub mod PulseRuntimeCallInfoIndex_t {
pub const m_Value: usize = 0x0; // int32 pub const m_Value: usize = 0x0; // int32
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseYieldingInflow
// Fields count: 2 // Fields count: 1
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain pub mod CPulseCell_BaseLerp {
// MPulseCellMethodBindings pub const m_WakeResume: usize = 0x48; // CPulse_ResumePoint
// MPropertyFriendlyName
// MPropertyDescription
pub mod CPulseCell_Outflow_TestExplicitYesNo {
pub const m_Yes: usize = 0x48; // CPulse_OutflowConnection
pub const m_No: usize = 0x58; // CPulse_OutflowConnection
} }
// Parent: CPulseCell_BaseFlow // Parent: CPulseCell_BaseFlow
// Fields count: 2 // Fields count: 2
@@ -863,11 +1157,26 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // 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 // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
pub mod CPulseCell_Outflow_TestRandomYesNo { pub mod CPulseCell_Outflow_TestRandomYesNo {
pub const m_Yes: usize = 0x48; // CPulse_OutflowConnection 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 // Parent: CPulseCell_BaseFlow
// Fields count: 0 // Fields count: 0
@@ -876,6 +1185,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Step_DebugLog { pub mod CPulseCell_Step_DebugLog {
} }
// Parent: None // Parent: None
@@ -890,6 +1200,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
pub mod CPulseCell_Outflow_CycleOrdered { pub mod CPulseCell_Outflow_CycleOrdered {
pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection> pub const m_Outputs: usize = 0x48; // CUtlVector<CPulse_OutflowConnection>
} }
@@ -915,6 +1226,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MCellForDomain // MCellForDomain
// MPulseCellMethodBindings // MPulseCellMethodBindings
// MPulseCellOutflowHookInfo
// MPropertyFriendlyName // MPropertyFriendlyName
// MPropertyDescription // MPropertyDescription
// MPulseEditorHeaderIcon // MPulseEditorHeaderIcon
@@ -926,10 +1238,10 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
pub mod CPulseTurtleGraphicsCursor { pub mod CPulseTurtleGraphicsCursor {
pub const m_Color: usize = 0x168; // Color pub const m_Color: usize = 0xA6; // Color
pub const m_vPos: usize = 0x16C; // Vector2D pub const m_vPos: usize = 0xAC; // Vector2D
pub const m_flHeadingDeg: usize = 0x174; // float32 pub const m_flHeadingDeg: usize = 0xB4; // float32
pub const m_bPenUp: usize = 0x178; // bool pub const m_bPenUp: usize = 0xB8; // bool
} }
} }
} }

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: rendersystemdx11.dll // Module: librendersystemvulkan.so
// Classes count: 3 // Classes count: 3
// Enums count: 5 // Enums count: 5
public static class Rendersystemdx11Dll { public static class LibrendersystemvulkanSo {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 13
public enum RenderPrimitiveType_t : uint { public enum RenderPrimitiveType_t : uint {
@@ -24,7 +24,7 @@ namespace CS2Dumper.Schemas {
RENDER_PRIM_TYPE_COUNT = 0xC RENDER_PRIM_TYPE_COUNT = 0xC
} }
// Alignment: 4 // Alignment: 4
// Members count: 12 // Members count: 13
public enum RenderBufferFlags_t : uint { public enum RenderBufferFlags_t : uint {
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1, RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2, RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2,
@@ -37,7 +37,8 @@ namespace CS2Dumper.Schemas {
RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100, RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200, RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400, 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 // Alignment: 1
// Members count: 8 // Members count: 8

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: rendersystemdx11.dll // Module: librendersystemvulkan.so
// Classes count: 3 // Classes count: 3
// Enums count: 5 // Enums count: 5
namespace rendersystemdx11_dll { namespace librendersystemvulkan_so {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 13
enum class RenderPrimitiveType_t : uint32_t { enum class RenderPrimitiveType_t : uint32_t {
@@ -29,7 +29,7 @@ namespace cs2_dumper {
RENDER_PRIM_TYPE_COUNT = 0xC RENDER_PRIM_TYPE_COUNT = 0xC
}; };
// Alignment: 4 // Alignment: 4
// Members count: 12 // Members count: 13
enum class RenderBufferFlags_t : uint32_t { enum class RenderBufferFlags_t : uint32_t {
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1, RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2, RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2,
@@ -42,7 +42,8 @@ namespace cs2_dumper {
RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100, RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200, RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400, 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 // Alignment: 1
// Members count: 8 // Members count: 8

View File

@@ -1,5 +1,5 @@
{ {
"rendersystemdx11.dll": { "librendersystemvulkan.so": {
"classes": { "classes": {
"RenderInputLayoutField_t": { "RenderInputLayoutField_t": {
"fields": { "fields": {
@@ -50,6 +50,7 @@
"RENDER_BUFFER_APPEND_CONSUME_BUFFER": 64, "RENDER_BUFFER_APPEND_CONSUME_BUFFER": 64,
"RENDER_BUFFER_BYTEADDRESS_BUFFER": 16, "RENDER_BUFFER_BYTEADDRESS_BUFFER": 16,
"RENDER_BUFFER_PER_FRAME_WRITE_ONCE": 2048, "RENDER_BUFFER_PER_FRAME_WRITE_ONCE": 2048,
"RENDER_BUFFER_POOL_ALLOCATED": 4096,
"RENDER_BUFFER_SHADER_BINDING_TABLE": 1024, "RENDER_BUFFER_SHADER_BINDING_TABLE": 1024,
"RENDER_BUFFER_STRUCTURED_BUFFER": 32, "RENDER_BUFFER_STRUCTURED_BUFFER": 32,
"RENDER_BUFFER_UAV_COUNTER": 128, "RENDER_BUFFER_UAV_COUNTER": 128,

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: rendersystemdx11.dll // Module: librendersystemvulkan.so
// Classes count: 3 // Classes count: 3
// Enums count: 5 // Enums count: 5
pub mod rendersystemdx11_dll { pub mod librendersystemvulkan_so {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 13
#[repr(u32)] #[repr(u32)]
@@ -28,7 +28,7 @@ pub mod cs2_dumper {
RENDER_PRIM_TYPE_COUNT = 0xC RENDER_PRIM_TYPE_COUNT = 0xC
} }
// Alignment: 4 // Alignment: 4
// Members count: 12 // Members count: 13
#[repr(u32)] #[repr(u32)]
pub enum RenderBufferFlags_t { pub enum RenderBufferFlags_t {
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1, RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
@@ -42,7 +42,8 @@ pub mod cs2_dumper {
RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100, RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200, RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200,
RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400, 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 // Alignment: 1
// Members count: 8 // Members count: 8

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: resourcesystem.dll // Module: libresourcesystem.so
// Classes count: 59 // Classes count: 59
// Enums count: 2 // Enums count: 2
public static class ResourcesystemDll { public static class LibresourcesystemSo {
// Alignment: 1 // Alignment: 1
// Members count: 9 // Members count: 9
public enum FuseVariableType_t : byte { public enum FuseVariableType_t : byte {
@@ -30,6 +30,13 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
public static class InfoForResourceTypeCNmIKRig {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCResponseRulesList { public static class InfoForResourceTypeCResponseRulesList {
} }
// Parent: None // Parent: None
@@ -274,20 +281,6 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // 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 { public static class InfoForResourceTypeCPanoramaStyle {
} }
// Parent: None // Parent: None
@@ -302,6 +295,13 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
public static class InfoForResourceTypeCNmGraphVariation {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCCSGOEconItem { public static class InfoForResourceTypeCCSGOEconItem {
} }
// Parent: None // Parent: None
@@ -309,6 +309,13 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
public static class InfoForResourceTypeCNmGraphDefinition {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeCSmartProp { public static class InfoForResourceTypeCSmartProp {
} }
// Parent: None // Parent: None
@@ -421,13 +428,6 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
public static class InfoForResourceTypeCNmGraphDataSet {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
public static class InfoForResourceTypeIParticleSystemDefinition { public static class InfoForResourceTypeIParticleSystemDefinition {
} }
// Parent: None // Parent: None

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: resourcesystem.dll // Module: libresourcesystem.so
// Classes count: 59 // Classes count: 59
// Enums count: 2 // Enums count: 2
namespace resourcesystem_dll { namespace libresourcesystem_so {
// Alignment: 1 // Alignment: 1
// Members count: 9 // Members count: 9
enum class FuseVariableType_t : uint8_t { enum class FuseVariableType_t : uint8_t {
@@ -35,6 +35,13 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
namespace InfoForResourceTypeCNmIKRig {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCResponseRulesList { namespace InfoForResourceTypeCResponseRulesList {
} }
// Parent: None // Parent: None
@@ -279,20 +286,6 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
namespace InfoForResourceTypeCNmGraph {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCDACGameDefsData {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCPanoramaStyle { namespace InfoForResourceTypeCPanoramaStyle {
} }
// Parent: None // Parent: None
@@ -307,6 +300,13 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
namespace InfoForResourceTypeCNmGraphVariation {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCCSGOEconItem { namespace InfoForResourceTypeCCSGOEconItem {
} }
// Parent: None // Parent: None
@@ -314,6 +314,13 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
namespace InfoForResourceTypeCNmGraphDefinition {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeCSmartProp { namespace InfoForResourceTypeCSmartProp {
} }
// Parent: None // Parent: None
@@ -426,13 +433,6 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
namespace InfoForResourceTypeCNmGraphDataSet {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
namespace InfoForResourceTypeIParticleSystemDefinition { namespace InfoForResourceTypeIParticleSystemDefinition {
} }
// Parent: None // Parent: None

View File

@@ -1,5 +1,5 @@
{ {
"resourcesystem.dll": { "libresourcesystem.so": {
"classes": { "classes": {
"AABB_t": { "AABB_t": {
"fields": { "fields": {
@@ -145,16 +145,6 @@
], ],
"parent": null "parent": null
}, },
"InfoForResourceTypeCDACGameDefsData": {
"fields": {},
"metadata": [
{
"name": "MResourceTypeForInfoType",
"type": "Unknown"
}
],
"parent": null
},
"InfoForResourceTypeCDOTANovelsList": { "InfoForResourceTypeCDOTANovelsList": {
"fields": {}, "fields": {},
"metadata": [ "metadata": [
@@ -245,7 +235,7 @@
], ],
"parent": null "parent": null
}, },
"InfoForResourceTypeCNmGraph": { "InfoForResourceTypeCNmGraphDefinition": {
"fields": {}, "fields": {},
"metadata": [ "metadata": [
{ {
@@ -255,7 +245,17 @@
], ],
"parent": null "parent": null
}, },
"InfoForResourceTypeCNmGraphDataSet": { "InfoForResourceTypeCNmGraphVariation": {
"fields": {},
"metadata": [
{
"name": "MResourceTypeForInfoType",
"type": "Unknown"
}
],
"parent": null
},
"InfoForResourceTypeCNmIKRig": {
"fields": {}, "fields": {},
"metadata": [ "metadata": [
{ {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: resourcesystem.dll // Module: libresourcesystem.so
// Classes count: 59 // Classes count: 59
// Enums count: 2 // Enums count: 2
pub mod resourcesystem_dll { pub mod libresourcesystem_so {
// Alignment: 1 // Alignment: 1
// Members count: 9 // Members count: 9
#[repr(u8)] #[repr(u8)]
@@ -35,6 +35,13 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmIKRig {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCResponseRulesList { pub mod InfoForResourceTypeCResponseRulesList {
} }
// Parent: None // Parent: None
@@ -279,20 +286,6 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmGraph {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCDACGameDefsData {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCPanoramaStyle { pub mod InfoForResourceTypeCPanoramaStyle {
} }
// Parent: None // Parent: None
@@ -307,6 +300,13 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmGraphVariation {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCCSGOEconItem { pub mod InfoForResourceTypeCCSGOEconItem {
} }
// Parent: None // Parent: None
@@ -314,6 +314,13 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmGraphDefinition {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeCSmartProp { pub mod InfoForResourceTypeCSmartProp {
} }
// Parent: None // Parent: None
@@ -426,13 +433,6 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MResourceTypeForInfoType // MResourceTypeForInfoType
pub mod InfoForResourceTypeCNmGraphDataSet {
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MResourceTypeForInfoType
pub mod InfoForResourceTypeIParticleSystemDefinition { pub mod InfoForResourceTypeIParticleSystemDefinition {
} }
// Parent: None // Parent: None

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: scenesystem.dll // Module: libscenesystem.so
// Classes count: 9 // Classes count: 9
// Enums count: 1 // Enums count: 1
public static class ScenesystemDll { public static class LibscenesystemSo {
// Alignment: 1 // Alignment: 1
// Members count: 4 // Members count: 4
public enum DisableShadows_t : byte { public enum DisableShadows_t : byte {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: scenesystem.dll // Module: libscenesystem.so
// Classes count: 9 // Classes count: 9
// Enums count: 1 // Enums count: 1
namespace scenesystem_dll { namespace libscenesystem_so {
// Alignment: 1 // Alignment: 1
// Members count: 4 // Members count: 4
enum class DisableShadows_t : uint8_t { enum class DisableShadows_t : uint8_t {

View File

@@ -1,5 +1,5 @@
{ {
"scenesystem.dll": { "libscenesystem.so": {
"classes": { "classes": {
"CSSDSEndFrameViewInfo": { "CSSDSEndFrameViewInfo": {
"fields": { "fields": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: scenesystem.dll // Module: libscenesystem.so
// Classes count: 9 // Classes count: 9
// Enums count: 1 // Enums count: 1
pub mod scenesystem_dll { pub mod libscenesystem_so {
// Alignment: 1 // Alignment: 1
// Members count: 4 // Members count: 4
#[repr(u8)] #[repr(u8)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: schemasystem.dll // Module: libschemasystem.so
// Classes count: 7 // Classes count: 7
// Enums count: 2 // Enums count: 2
public static class SchemasystemDll { public static class LibschemasystemSo {
// Alignment: 1 // Alignment: 1
// Members count: 81 // Members count: 81
public enum fieldtype_t : byte { public enum fieldtype_t : byte {
@@ -137,7 +137,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CExampleSchemaVData_PolymorphicDerivedA { public static class CExampleSchemaVData_PolymorphicDerivedA {
public const nint m_nDerivedA = 0x10; // int32 public const nint m_nDerivedA = 0xC; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -153,7 +153,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CExampleSchemaVData_PolymorphicDerivedB { public static class CExampleSchemaVData_PolymorphicDerivedB {
public const nint m_nDerivedB = 0x10; // int32 public const nint m_nDerivedB = 0xC; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: schemasystem.dll // Module: libschemasystem.so
// Classes count: 7 // Classes count: 7
// Enums count: 2 // Enums count: 2
namespace schemasystem_dll { namespace libschemasystem_so {
// Alignment: 1 // Alignment: 1
// Members count: 81 // Members count: 81
enum class fieldtype_t : uint8_t { enum class fieldtype_t : uint8_t {
@@ -142,7 +142,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CExampleSchemaVData_PolymorphicDerivedA { namespace CExampleSchemaVData_PolymorphicDerivedA {
constexpr std::ptrdiff_t m_nDerivedA = 0x10; // int32 constexpr std::ptrdiff_t m_nDerivedA = 0xC; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -158,7 +158,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CExampleSchemaVData_PolymorphicDerivedB { namespace CExampleSchemaVData_PolymorphicDerivedB {
constexpr std::ptrdiff_t m_nDerivedB = 0x10; // int32 constexpr std::ptrdiff_t m_nDerivedB = 0xC; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1

View File

@@ -1,5 +1,5 @@
{ {
"schemasystem.dll": { "libschemasystem.so": {
"classes": { "classes": {
"CExampleSchemaVData_Monomorphic": { "CExampleSchemaVData_Monomorphic": {
"fields": { "fields": {
@@ -28,7 +28,7 @@
}, },
"CExampleSchemaVData_PolymorphicDerivedA": { "CExampleSchemaVData_PolymorphicDerivedA": {
"fields": { "fields": {
"m_nDerivedA": 16 "m_nDerivedA": 12
}, },
"metadata": [ "metadata": [
{ {
@@ -40,7 +40,7 @@
}, },
"CExampleSchemaVData_PolymorphicDerivedB": { "CExampleSchemaVData_PolymorphicDerivedB": {
"fields": { "fields": {
"m_nDerivedB": 16 "m_nDerivedB": 12
}, },
"metadata": [ "metadata": [
{ {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: schemasystem.dll // Module: libschemasystem.so
// Classes count: 7 // Classes count: 7
// Enums count: 2 // Enums count: 2
pub mod schemasystem_dll { pub mod libschemasystem_so {
// Alignment: 1 // Alignment: 1
// Members count: 81 // Members count: 81
#[repr(u8)] #[repr(u8)]
@@ -142,7 +142,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CExampleSchemaVData_PolymorphicDerivedA { pub mod CExampleSchemaVData_PolymorphicDerivedA {
pub const m_nDerivedA: usize = 0x10; // int32 pub const m_nDerivedA: usize = 0xC; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -158,7 +158,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CExampleSchemaVData_PolymorphicDerivedB { pub mod CExampleSchemaVData_PolymorphicDerivedB {
pub const m_nDerivedB: usize = 0x10; // int32 pub const m_nDerivedB: usize = 0xC; // int32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1

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 // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: soundsystem.dll // Module: libsoundsystem.so
// Classes count: 51 // Classes count: 74
// Enums count: 13 // Enums count: 18
public static class SoundsystemDll { 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 // Alignment: 4
// Members count: 5 // Members count: 5
public enum VMixLFOShape_t : uint { public enum VMixLFOShape_t : uint {
@@ -52,39 +67,48 @@ namespace CS2Dumper.Schemas {
SOS_SORTTYPE_HIGHEST = 0x0, SOS_SORTTYPE_HIGHEST = 0x0,
SOS_SORTTYPE_LOWEST = 0x1 SOS_SORTTYPE_LOWEST = 0x1
} }
// Alignment: 4
// Members count: 5
public enum PlayBackMode_t : uint {
Random = 0x0,
RandomNoRepeats = 0x1,
RandomAvoidLast = 0x2,
Sequential = 0x3,
RandomWeights = 0x4
}
// Alignment: 2 // Alignment: 2
// Members count: 30 // Members count: 30
public enum VMixProcessorType_t : ushort { public enum VMixProcessorType_t : ushort {
VPROCESSOR_UNKNOWN = 0x0, VPROCESSOR_UNKNOWN = 0x0,
VPROCESSOR_STEAMAUDIO_REVERB = 0x1, VPROCESSOR_RT_PITCH = 0x1,
VPROCESSOR_RT_PITCH = 0x2, VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
VPROCESSOR_STEAMAUDIO_HRTF = 0x3, VPROCESSOR_DYNAMICS = 0x3,
VPROCESSOR_DYNAMICS = 0x4, VPROCESSOR_PRESETDSP = 0x4,
VPROCESSOR_PRESETDSP = 0x5, VPROCESSOR_DELAY = 0x5,
VPROCESSOR_DELAY = 0x6, VPROCESSOR_MOD_DELAY = 0x6,
VPROCESSOR_MOD_DELAY = 0x7, VPROCESSOR_DIFFUSOR = 0x7,
VPROCESSOR_DIFFUSOR = 0x8, VPROCESSOR_BOXVERB = 0x8,
VPROCESSOR_BOXVERB = 0x9, VPROCESSOR_FREEVERB = 0x9,
VPROCESSOR_FREEVERB = 0xA, VPROCESSOR_PLATEVERB = 0xA,
VPROCESSOR_PLATEVERB = 0xB, VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xC, VPROCESSOR_FILTER = 0xC,
VPROCESSOR_FILTER = 0xD, VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
VPROCESSOR_STEAMAUDIO_PATHING = 0xE, VPROCESSOR_EQ8 = 0xE,
VPROCESSOR_EQ8 = 0xF, VPROCESSOR_ENVELOPE = 0xF,
VPROCESSOR_ENVELOPE = 0x10, VPROCESSOR_VOCODER = 0x10,
VPROCESSOR_VOCODER = 0x11, VPROCESSOR_CONVOLUTION = 0x11,
VPROCESSOR_CONVOLUTION = 0x12, VPROCESSOR_DYNAMICS_3BAND = 0x12,
VPROCESSOR_DYNAMICS_3BAND = 0x13, VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x14, VPROCESSOR_SHAPER = 0x14,
VPROCESSOR_SHAPER = 0x15, VPROCESSOR_PANNER = 0x15,
VPROCESSOR_PANNER = 0x16, VPROCESSOR_UTILITY = 0x16,
VPROCESSOR_UTILITY = 0x17, VPROCESSOR_AUTOFILTER = 0x17,
VPROCESSOR_AUTOFILTER = 0x18, VPROCESSOR_OSC = 0x18,
VPROCESSOR_OSC = 0x19, VPROCESSOR_STEREODELAY = 0x19,
VPROCESSOR_STEREODELAY = 0x1A, VPROCESSOR_EFFECT_CHAIN = 0x1A,
VPROCESSOR_EFFECT_CHAIN = 0x1B, VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1C, VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1D VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
} }
// Alignment: 4 // Alignment: 4
// Members count: 30 // Members count: 30
@@ -137,6 +161,31 @@ namespace CS2Dumper.Schemas {
VMIX_CHAN_MID_SIDE = 0x5 VMIX_CHAN_MID_SIDE = 0x5
} }
// Alignment: 1 // 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 // Members count: 9
public enum VMixFilterSlope_t : byte { public enum VMixFilterSlope_t : byte {
FILTER_SLOPE_1POLE_6dB = 0x0, FILTER_SLOPE_1POLE_6dB = 0x0,
@@ -150,14 +199,18 @@ namespace CS2Dumper.Schemas {
FILTER_SLOPE_MAX = 0x7 FILTER_SLOPE_MAX = 0x7
} }
// Alignment: 4 // Alignment: 4
// Members count: 6 // Members count: 10
public enum ActionType_t : uint { public enum ActionType_t : uint {
SOS_ACTION_NONE = 0x0, SOS_ACTION_NONE = 0x0,
SOS_ACTION_LIMITER = 0x1, SOS_ACTION_LIMITER = 0x1,
SOS_ACTION_TIME_LIMIT = 0x2, SOS_ACTION_TIME_LIMIT = 0x2,
SOS_ACTION_TIME_BLOCK_LIMITER = 0x3, SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4, 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,
SOS_ACTION_SOUNDEVENT_COUNT = 0x8,
SOS_ACTION_SOUNDEVENT_MIN_MAX_VALUES = 0x9
} }
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
@@ -172,6 +225,18 @@ namespace CS2Dumper.Schemas {
SOS_GROUPTYPE_DYNAMIC = 0x0, SOS_GROUPTYPE_DYNAMIC = 0x0,
SOS_GROUPTYPE_STATIC = 0x1 SOS_GROUPTYPE_STATIC = 0x1
} }
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerBlender {
public const nint m_firstSound = 0xC0; // CSoundContainerReference
public const nint m_secondSound = 0xD8; // CSoundContainerReference
public const nint m_flBlendFactor = 0xF0; // float32
}
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
// //
@@ -183,28 +248,73 @@ namespace CS2Dumper.Schemas {
public const nint m_flWidth = 0x8; // float32 public const nint m_flWidth = 0x8; // float32
public const nint m_flLateReflections = 0xC; // float32 public const nint m_flLateReflections = 0xC; // float32
} }
// Parent: CVoiceContainerBase // Parent: None
// Fields count: 7 // Fields count: 7
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
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: 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 static class CVoiceContainerRandomSampler {
public const nint m_flLoudAmplitude = 0x60; // float32 public const nint m_flAmplitude = 0xC0; // float32
public const nint m_flLoudAmplitudeJitter = 0x64; // float32 public const nint m_flAmplitudeJitter = 0xC4; // float32
public const nint m_flSoftAmplitude = 0x68; // float32 public const nint m_flTimeJitter = 0xC8; // float32
public const nint m_flSoftAmplitudeJitter = 0x6C; // float32 public const nint m_flMaxLength = 0xCC; // float32
public const nint m_flLoudTimeJitter = 0x70; // float32 public const nint m_nNumDelayVariations = 0xD0; // int32
public const nint m_flSoftTimeJitter = 0x74; // float32 public const nint m_grainResources = 0xD8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
public const nint m_grainResources = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
} }
// Parent: CVoiceContainerBase // Parent: CVoiceContainerBase
// Fields count: 0 // Fields count: 0
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerDefault { public static class CVoiceContainerDefault {
} }
// Parent: None // 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 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -244,6 +354,27 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CSoundContainerReference {
public const nint m_bUseReference = 0x0; // bool
public const nint m_sound = 0x8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_pSound = 0x10; // CVoiceContainerBase*
}
// Parent: CVoiceContainerBase
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerNull {
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
public static class VMixSubgraphSwitchDesc_t { public static class VMixSubgraphSwitchDesc_t {
public const nint m_interpolationMode = 0x0; // VMixSubgraphSwitchInterpolationType_t public const nint m_interpolationMode = 0x0; // VMixSubgraphSwitchInterpolationType_t
public const nint m_bOnlyTailsOnFadeOut = 0x4; // bool public const nint m_bOnlyTailsOnFadeOut = 0x4; // bool
@@ -254,19 +385,61 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MVDataNodeType
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerAnalysisBase {
public const nint m_bRegenerateCurveOnCompile = 0x8; // bool
public const nint m_curve = 0x10; // CPiecewiseCurve
}
// Parent: CSosGroupActionSchema
// Fields count: 10
//
// Metadata:
// MGetKV3ClassDefaults
public static class CSosGroupActionSoundeventMinMaxValuesSchema {
public const nint m_strQueryPublicFieldName = 0x18; // CUtlString
public const nint m_strDelayPublicFieldName = 0x20; // CUtlString
public const nint m_bExcludeStoppedSounds = 0x28; // bool
public const nint m_bExcludeDelayedSounds = 0x29; // bool
public const nint m_bExcludeSoundsBelowThreshold = 0x2A; // bool
public const nint m_flExcludeSoundsMinThresholdValue = 0x2C; // float32
public const nint m_bExcludSoundsAboveThreshold = 0x30; // bool
public const nint m_flExcludeSoundsMaxThresholdValue = 0x34; // float32
public const nint m_strMinValueName = 0x38; // CUtlString
public const nint m_strMaxValueName = 0x40; // CUtlString
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class VMixPannerDesc_t { public static class VMixPannerDesc_t {
public const nint m_type = 0x0; // VMixPannerType_t public const nint m_type = 0x0; // VMixPannerType_t
public const nint m_flStrength = 0x4; // float32 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 // Parent: CVoiceContainerBase
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerRealtimeFMSineWave { public static class CVoiceContainerRealtimeFMSineWave {
public const nint m_flCarrierFrequency = 0x60; // float32 public const nint m_flCarrierFrequency = 0xC0; // float32
public const nint m_flModulatorFrequency = 0x64; // float32 public const nint m_flModulatorFrequency = 0xC4; // float32
public const nint m_flModulatorAmount = 0x68; // float32 public const nint m_flModulatorAmount = 0xC8; // float32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -328,7 +501,7 @@ namespace CS2Dumper.Schemas {
public const nint m_actionInstanceType = 0x14; // ActionType_t public const nint m_actionInstanceType = 0x14; // ActionType_t
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 9
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -340,11 +513,12 @@ namespace CS2Dumper.Schemas {
public const nint m_nBlockMaxCount = 0x10; // int32 public const nint m_nBlockMaxCount = 0x10; // int32
public const nint m_bInvertMatch = 0x14; // bool public const nint m_bInvertMatch = 0x14; // bool
public const nint m_matchPattern = 0x18; // CSosGroupMatchPattern public const nint m_matchPattern = 0x18; // CSosGroupMatchPattern
public const nint m_branchPattern = 0x40; // CSosGroupBranchPattern public const nint m_branchPattern = 0x48; // CSosGroupBranchPattern
public const nint m_vActions = 0xB0; // CSosGroupActionSchema*[4] public const nint m_flLifeSpanTime = 0x58; // float32
public const nint m_vActions = 0xC0; // CSosGroupActionSchema*[4]
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -353,6 +527,7 @@ namespace CS2Dumper.Schemas {
public const nint m_bMatchEventSubString = 0x9; // bool public const nint m_bMatchEventSubString = 0x9; // bool
public const nint m_bMatchEntIndex = 0xA; // bool public const nint m_bMatchEntIndex = 0xA; // bool
public const nint m_bMatchOpvar = 0xB; // bool public const nint m_bMatchOpvar = 0xB; // bool
public const nint m_bMatchString = 0xC; // bool
} }
// Parent: None // Parent: None
// Fields count: 10 // Fields count: 10
@@ -385,6 +560,47 @@ namespace CS2Dumper.Schemas {
public const nint m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float32 public const nint m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float32
} }
// Parent: None // 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 = 0xC0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
}
// Parent: CVoiceContainerBase
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerShapedNoise {
public const nint m_bUseCurveForFrequency = 0xC0; // bool
public const nint m_flFrequency = 0xC4; // float32
public const nint m_frequencySweep = 0xC8; // CPiecewiseCurve
public const nint m_bUseCurveForResonance = 0x108; // bool
public const nint m_flResonance = 0x10C; // float32
public const nint m_resonanceSweep = 0x110; // CPiecewiseCurve
public const nint m_bUseCurveForAmplitude = 0x150; // bool
public const nint m_flGainInDecibels = 0x154; // float32
public const nint m_gainSweep = 0x158; // CPiecewiseCurve
}
// Parent: None
// Fields count: 2 // Fields count: 2
// //
// Metadata: // Metadata:
@@ -393,23 +609,31 @@ namespace CS2Dumper.Schemas {
public const nint m_dspName = 0x0; // CUtlString public const nint m_dspName = 0x0; // CUtlString
public const nint m_modifiers = 0x8; // CUtlVector<CDSPMixgroupModifier> public const nint m_modifiers = 0x8; // CUtlVector<CDSPMixgroupModifier>
} }
// Parent: CVoiceContainerBase
// 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 // Parent: None
// Fields count: 1 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MVDataNodeType
// MVDataFileExtension
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerBase { public static class CVoiceContainerBase {
public const nint m_curves = 0x20; // CUtlDict<CPiecewiseCurve,F(size=1)> public const nint m_vSound = 0x38; // CVSound
public const nint m_pEnvelopeAnalyzer = 0xB8; // CVoiceContainerAnalysisBase*
}
// Parent: CVoiceContainerBase
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
public static class CVoiceContainerGranulator {
public const nint m_flGrainLength = 0xC0; // float32
public const nint m_flGrainCrossfadeAmount = 0xC4; // float32
public const nint m_flStartJitter = 0xC8; // float32
public const nint m_flPlaybackJitter = 0xCC; // float32
public const nint m_sourceAudio = 0xD0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -433,24 +657,36 @@ namespace CS2Dumper.Schemas {
public static class VMixEQ8Desc_t { public static class VMixEQ8Desc_t {
public const nint m_stages = 0x0; // VMixFilterDesc_t[8] public const nint m_stages = 0x0; // VMixFilterDesc_t[8]
} }
// Parent: CVoiceContainerWavFileReader // Parent: None
// Fields count: 1 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CVoiceContainerEnvelopeAnalyzer { public static class CAudioPhonemeTag {
public const nint m_envBuffer = 0x68; // CUtlVector<float32> public const nint m_flStartTime = 0x0; // float32
public const nint m_flEndTime = 0x4; // float32
public const nint m_nPhonemeCode = 0x8; // int32
} }
// Parent: CVoiceContainerBase // Parent: CSosGroupActionSchema
// Fields count: 4 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CVoiceContainerEngineSound { public static class CSosGroupActionSoundeventCountSchema {
public const nint m_SoundToPlay = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase> public const nint m_bExcludeStoppedSounds = 0x18; // bool
public const nint m_flTestConstantParam = 0x68; // float32 public const nint m_strCountKeyName = 0x20; // CUtlString
public const nint m_flTestSoundEventBoundParam = 0x6C; // float32 }
public const nint m_flEngineRPM = 0x70; // float32 // Parent: CVoiceContainerAnalysisBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// 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 // Parent: None
// Fields count: 1 // Fields count: 1
@@ -472,6 +708,25 @@ namespace CS2Dumper.Schemas {
public const nint m_nProcType = 0xC; // int32 public const nint m_nProcType = 0xC; // int32
} }
// Parent: None // 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: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerSet {
public const nint m_soundsToPlay = 0xC0; // CUtlVector<CVoiceContainerSetElement>
}
// Parent: None
// Fields count: 8 // Fields count: 8
// //
// Metadata: // Metadata:
@@ -487,6 +742,22 @@ namespace CS2Dumper.Schemas {
public const nint m_flHighCutoffFreq = 0x1C; // float32 public const nint m_flHighCutoffFreq = 0x1C; // float32
} }
// Parent: None // Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class CVoiceContainerSetElement {
public const nint m_sound = 0x0; // CSoundContainerReference
public const nint m_flVolumeDB = 0x18; // float32
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
public static class CSoundInfoHeader {
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -495,7 +766,7 @@ namespace CS2Dumper.Schemas {
public const nint m_groupList = 0x0; // CUtlVector<CSosSoundEventGroupSchema> public const nint m_groupList = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
} }
// Parent: CSosGroupBranchPattern // Parent: CSosGroupBranchPattern
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -504,6 +775,7 @@ namespace CS2Dumper.Schemas {
public const nint m_matchSoundEventSubString = 0x18; // CUtlString public const nint m_matchSoundEventSubString = 0x18; // CUtlString
public const nint m_flEntIndex = 0x20; // float32 public const nint m_flEntIndex = 0x20; // float32
public const nint m_flOpvar = 0x24; // float32 public const nint m_flOpvar = 0x24; // float32
public const nint m_opvarString = 0x28; // CUtlString
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -517,23 +789,6 @@ namespace CS2Dumper.Schemas {
public const nint itemKVString = 0x20; // CUtlString public const nint itemKVString = 0x20; // CUtlString
public const nint itemPos = 0x28; // Vector2D 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 // Parent: None
// Fields count: 7 // Fields count: 7
// //
@@ -548,13 +803,17 @@ namespace CS2Dumper.Schemas {
public const nint m_flFeedbackDiffusion1 = 0x14; // float32 public const nint m_flFeedbackDiffusion1 = 0x14; // float32
public const nint m_flFeedbackDiffusion2 = 0x18; // float32 public const nint m_flFeedbackDiffusion2 = 0x18; // float32
} }
// Parent: CVoiceContainerBase // Parent: None
// Fields count: 1 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CVoiceContainerWavFileReader { // MPropertyFriendlyName
public const nint m_wavFilePath = 0x60; // CUtlString // MPropertyDescription
public static class CSoundContainerReferenceArray {
public const nint m_bUseReference = 0x0; // bool
public const nint m_sounds = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
public const nint m_pSounds = 0x20; // CUtlVector<CVoiceContainerBase*>
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -605,6 +864,17 @@ namespace CS2Dumper.Schemas {
public const nint m_flHoldTimeMS = 0x4; // float32 public const nint m_flHoldTimeMS = 0x4; // float32
public const nint m_flReleaseTimeMS = 0x8; // 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 // Parent: CSosGroupActionSchema
// Fields count: 3 // Fields count: 3
// //
@@ -620,8 +890,21 @@ namespace CS2Dumper.Schemas {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerAmpedDecayingSineWave { public static class CVoiceContainerAmpedDecayingSineWave {
public const nint m_flGainAmount = 0x68; // float32 public const nint m_flGainAmount = 0xC8; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerEnvelope {
public const nint m_sound = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_analysisContainer = 0xC8; // CVoiceContainerAnalysisBase*
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
@@ -663,6 +946,29 @@ namespace CS2Dumper.Schemas {
public static class VMixEffectChainDesc_t { public static class VMixEffectChainDesc_t {
public const nint m_flCrossfadeTime = 0x0; // float32 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 = 0xC0; // PlayBackMode_t
public const nint m_soundsToPlay = 0xC8; // CSoundContainerReferenceArray
public const nint m_fProbabilityWeights = 0x100; // CUtlVector<float32>
}
// Parent: CSosGroupActionSchema // Parent: CSosGroupActionSchema
// Fields count: 2 // Fields count: 2
// //
@@ -672,6 +978,42 @@ namespace CS2Dumper.Schemas {
public const nint m_nMaxCount = 0x18; // int32 public const nint m_nMaxCount = 0x18; // int32
public const nint m_flMaxDuration = 0x1C; // float32 public const nint m_flMaxDuration = 0x1C; // float32
} }
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CTestBlendContainer {
public const nint m_firstSound = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
public const nint m_secondSound = 0xC8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
}
// 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 = 0xC0; // CUtlVector<CSoundContainerReference>
}
// Parent: CSosGroupActionSchema // Parent: CSosGroupActionSchema
// Fields count: 1 // Fields count: 1
// //
@@ -711,13 +1053,29 @@ namespace CS2Dumper.Schemas {
public const nint m_flBassFreq = 0x14; // float32 public const nint m_flBassFreq = 0x14; // float32
} }
// Parent: CVoiceContainerBase // Parent: CVoiceContainerBase
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerLoopTrigger {
public const nint m_sound = 0xC0; // CSoundContainerReference
public const nint m_flRetriggerTimeMin = 0xD8; // float32
public const nint m_flRetriggerTimeMax = 0xDC; // float32
public const nint m_flFadeTime = 0xE0; // float32
public const nint m_bCrossFade = 0xE4; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 2 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
public static class CVoiceContainerDecayingSineWave { public static class CVoiceContainerDecayingSineWave {
public const nint m_flFrequency = 0x60; // float32 public const nint m_flFrequency = 0xC0; // float32
public const nint m_flDecayTime = 0x64; // float32 public const nint m_flDecayTime = 0xC4; // float32
} }
// Parent: None // Parent: None
// Fields count: 6 // Fields count: 6

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,25 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: soundsystem.dll // Module: libsoundsystem.so
// Classes count: 51 // Classes count: 74
// Enums count: 13 // Enums count: 18
namespace soundsystem_dll { 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 // Alignment: 4
// Members count: 5 // Members count: 5
enum class VMixLFOShape_t : uint32_t { enum class VMixLFOShape_t : uint32_t {
@@ -57,39 +72,48 @@ namespace cs2_dumper {
SOS_SORTTYPE_HIGHEST = 0x0, SOS_SORTTYPE_HIGHEST = 0x0,
SOS_SORTTYPE_LOWEST = 0x1 SOS_SORTTYPE_LOWEST = 0x1
}; };
// Alignment: 4
// Members count: 5
enum class PlayBackMode_t : uint32_t {
Random = 0x0,
RandomNoRepeats = 0x1,
RandomAvoidLast = 0x2,
Sequential = 0x3,
RandomWeights = 0x4
};
// Alignment: 2 // Alignment: 2
// Members count: 30 // Members count: 30
enum class VMixProcessorType_t : uint16_t { enum class VMixProcessorType_t : uint16_t {
VPROCESSOR_UNKNOWN = 0x0, VPROCESSOR_UNKNOWN = 0x0,
VPROCESSOR_STEAMAUDIO_REVERB = 0x1, VPROCESSOR_RT_PITCH = 0x1,
VPROCESSOR_RT_PITCH = 0x2, VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
VPROCESSOR_STEAMAUDIO_HRTF = 0x3, VPROCESSOR_DYNAMICS = 0x3,
VPROCESSOR_DYNAMICS = 0x4, VPROCESSOR_PRESETDSP = 0x4,
VPROCESSOR_PRESETDSP = 0x5, VPROCESSOR_DELAY = 0x5,
VPROCESSOR_DELAY = 0x6, VPROCESSOR_MOD_DELAY = 0x6,
VPROCESSOR_MOD_DELAY = 0x7, VPROCESSOR_DIFFUSOR = 0x7,
VPROCESSOR_DIFFUSOR = 0x8, VPROCESSOR_BOXVERB = 0x8,
VPROCESSOR_BOXVERB = 0x9, VPROCESSOR_FREEVERB = 0x9,
VPROCESSOR_FREEVERB = 0xA, VPROCESSOR_PLATEVERB = 0xA,
VPROCESSOR_PLATEVERB = 0xB, VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xC, VPROCESSOR_FILTER = 0xC,
VPROCESSOR_FILTER = 0xD, VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
VPROCESSOR_STEAMAUDIO_PATHING = 0xE, VPROCESSOR_EQ8 = 0xE,
VPROCESSOR_EQ8 = 0xF, VPROCESSOR_ENVELOPE = 0xF,
VPROCESSOR_ENVELOPE = 0x10, VPROCESSOR_VOCODER = 0x10,
VPROCESSOR_VOCODER = 0x11, VPROCESSOR_CONVOLUTION = 0x11,
VPROCESSOR_CONVOLUTION = 0x12, VPROCESSOR_DYNAMICS_3BAND = 0x12,
VPROCESSOR_DYNAMICS_3BAND = 0x13, VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x14, VPROCESSOR_SHAPER = 0x14,
VPROCESSOR_SHAPER = 0x15, VPROCESSOR_PANNER = 0x15,
VPROCESSOR_PANNER = 0x16, VPROCESSOR_UTILITY = 0x16,
VPROCESSOR_UTILITY = 0x17, VPROCESSOR_AUTOFILTER = 0x17,
VPROCESSOR_AUTOFILTER = 0x18, VPROCESSOR_OSC = 0x18,
VPROCESSOR_OSC = 0x19, VPROCESSOR_STEREODELAY = 0x19,
VPROCESSOR_STEREODELAY = 0x1A, VPROCESSOR_EFFECT_CHAIN = 0x1A,
VPROCESSOR_EFFECT_CHAIN = 0x1B, VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1C, VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1D VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
}; };
// Alignment: 4 // Alignment: 4
// Members count: 30 // Members count: 30
@@ -142,6 +166,31 @@ namespace cs2_dumper {
VMIX_CHAN_MID_SIDE = 0x5 VMIX_CHAN_MID_SIDE = 0x5
}; };
// Alignment: 1 // 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 // Members count: 9
enum class VMixFilterSlope_t : uint8_t { enum class VMixFilterSlope_t : uint8_t {
FILTER_SLOPE_1POLE_6dB = 0x0, FILTER_SLOPE_1POLE_6dB = 0x0,
@@ -155,14 +204,18 @@ namespace cs2_dumper {
FILTER_SLOPE_MAX = 0x7 FILTER_SLOPE_MAX = 0x7
}; };
// Alignment: 4 // Alignment: 4
// Members count: 6 // Members count: 10
enum class ActionType_t : uint32_t { enum class ActionType_t : uint32_t {
SOS_ACTION_NONE = 0x0, SOS_ACTION_NONE = 0x0,
SOS_ACTION_LIMITER = 0x1, SOS_ACTION_LIMITER = 0x1,
SOS_ACTION_TIME_LIMIT = 0x2, SOS_ACTION_TIME_LIMIT = 0x2,
SOS_ACTION_TIME_BLOCK_LIMITER = 0x3, SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4, 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,
SOS_ACTION_SOUNDEVENT_COUNT = 0x8,
SOS_ACTION_SOUNDEVENT_MIN_MAX_VALUES = 0x9
}; };
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
@@ -177,6 +230,18 @@ namespace cs2_dumper {
SOS_GROUPTYPE_DYNAMIC = 0x0, SOS_GROUPTYPE_DYNAMIC = 0x0,
SOS_GROUPTYPE_STATIC = 0x1 SOS_GROUPTYPE_STATIC = 0x1
}; };
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerBlender {
constexpr std::ptrdiff_t m_firstSound = 0xC0; // CSoundContainerReference
constexpr std::ptrdiff_t m_secondSound = 0xD8; // CSoundContainerReference
constexpr std::ptrdiff_t m_flBlendFactor = 0xF0; // float32
}
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
// //
@@ -188,28 +253,73 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flWidth = 0x8; // float32 constexpr std::ptrdiff_t m_flWidth = 0x8; // float32
constexpr std::ptrdiff_t m_flLateReflections = 0xC; // float32 constexpr std::ptrdiff_t m_flLateReflections = 0xC; // float32
} }
// Parent: CVoiceContainerBase // Parent: None
// Fields count: 7 // Fields count: 7
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
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: 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 { namespace CVoiceContainerRandomSampler {
constexpr std::ptrdiff_t m_flLoudAmplitude = 0x60; // float32 constexpr std::ptrdiff_t m_flAmplitude = 0xC0; // float32
constexpr std::ptrdiff_t m_flLoudAmplitudeJitter = 0x64; // float32 constexpr std::ptrdiff_t m_flAmplitudeJitter = 0xC4; // float32
constexpr std::ptrdiff_t m_flSoftAmplitude = 0x68; // float32 constexpr std::ptrdiff_t m_flTimeJitter = 0xC8; // float32
constexpr std::ptrdiff_t m_flSoftAmplitudeJitter = 0x6C; // float32 constexpr std::ptrdiff_t m_flMaxLength = 0xCC; // float32
constexpr std::ptrdiff_t m_flLoudTimeJitter = 0x70; // float32 constexpr std::ptrdiff_t m_nNumDelayVariations = 0xD0; // int32
constexpr std::ptrdiff_t m_flSoftTimeJitter = 0x74; // float32 constexpr std::ptrdiff_t m_grainResources = 0xD8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
constexpr std::ptrdiff_t m_grainResources = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
} }
// Parent: CVoiceContainerBase // Parent: CVoiceContainerBase
// Fields count: 0 // Fields count: 0
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerDefault { namespace CVoiceContainerDefault {
} }
// Parent: None // 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 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -249,6 +359,27 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CSoundContainerReference {
constexpr std::ptrdiff_t m_bUseReference = 0x0; // bool
constexpr std::ptrdiff_t m_sound = 0x8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_pSound = 0x10; // CVoiceContainerBase*
}
// Parent: CVoiceContainerBase
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerNull {
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
namespace VMixSubgraphSwitchDesc_t { namespace VMixSubgraphSwitchDesc_t {
constexpr std::ptrdiff_t m_interpolationMode = 0x0; // VMixSubgraphSwitchInterpolationType_t constexpr std::ptrdiff_t m_interpolationMode = 0x0; // VMixSubgraphSwitchInterpolationType_t
constexpr std::ptrdiff_t m_bOnlyTailsOnFadeOut = 0x4; // bool constexpr std::ptrdiff_t m_bOnlyTailsOnFadeOut = 0x4; // bool
@@ -259,19 +390,61 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MVDataNodeType
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerAnalysisBase {
constexpr std::ptrdiff_t m_bRegenerateCurveOnCompile = 0x8; // bool
constexpr std::ptrdiff_t m_curve = 0x10; // CPiecewiseCurve
}
// Parent: CSosGroupActionSchema
// Fields count: 10
//
// Metadata:
// MGetKV3ClassDefaults
namespace CSosGroupActionSoundeventMinMaxValuesSchema {
constexpr std::ptrdiff_t m_strQueryPublicFieldName = 0x18; // CUtlString
constexpr std::ptrdiff_t m_strDelayPublicFieldName = 0x20; // CUtlString
constexpr std::ptrdiff_t m_bExcludeStoppedSounds = 0x28; // bool
constexpr std::ptrdiff_t m_bExcludeDelayedSounds = 0x29; // bool
constexpr std::ptrdiff_t m_bExcludeSoundsBelowThreshold = 0x2A; // bool
constexpr std::ptrdiff_t m_flExcludeSoundsMinThresholdValue = 0x2C; // float32
constexpr std::ptrdiff_t m_bExcludSoundsAboveThreshold = 0x30; // bool
constexpr std::ptrdiff_t m_flExcludeSoundsMaxThresholdValue = 0x34; // float32
constexpr std::ptrdiff_t m_strMinValueName = 0x38; // CUtlString
constexpr std::ptrdiff_t m_strMaxValueName = 0x40; // CUtlString
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace VMixPannerDesc_t { namespace VMixPannerDesc_t {
constexpr std::ptrdiff_t m_type = 0x0; // VMixPannerType_t constexpr std::ptrdiff_t m_type = 0x0; // VMixPannerType_t
constexpr std::ptrdiff_t m_flStrength = 0x4; // float32 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 // Parent: CVoiceContainerBase
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerRealtimeFMSineWave { namespace CVoiceContainerRealtimeFMSineWave {
constexpr std::ptrdiff_t m_flCarrierFrequency = 0x60; // float32 constexpr std::ptrdiff_t m_flCarrierFrequency = 0xC0; // float32
constexpr std::ptrdiff_t m_flModulatorFrequency = 0x64; // float32 constexpr std::ptrdiff_t m_flModulatorFrequency = 0xC4; // float32
constexpr std::ptrdiff_t m_flModulatorAmount = 0x68; // float32 constexpr std::ptrdiff_t m_flModulatorAmount = 0xC8; // float32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -333,7 +506,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_actionInstanceType = 0x14; // ActionType_t constexpr std::ptrdiff_t m_actionInstanceType = 0x14; // ActionType_t
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 9
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -345,11 +518,12 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nBlockMaxCount = 0x10; // int32 constexpr std::ptrdiff_t m_nBlockMaxCount = 0x10; // int32
constexpr std::ptrdiff_t m_bInvertMatch = 0x14; // bool constexpr std::ptrdiff_t m_bInvertMatch = 0x14; // bool
constexpr std::ptrdiff_t m_matchPattern = 0x18; // CSosGroupMatchPattern constexpr std::ptrdiff_t m_matchPattern = 0x18; // CSosGroupMatchPattern
constexpr std::ptrdiff_t m_branchPattern = 0x40; // CSosGroupBranchPattern constexpr std::ptrdiff_t m_branchPattern = 0x48; // CSosGroupBranchPattern
constexpr std::ptrdiff_t m_vActions = 0xB0; // CSosGroupActionSchema*[4] constexpr std::ptrdiff_t m_flLifeSpanTime = 0x58; // float32
constexpr std::ptrdiff_t m_vActions = 0xC0; // CSosGroupActionSchema*[4]
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -358,6 +532,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_bMatchEventSubString = 0x9; // bool constexpr std::ptrdiff_t m_bMatchEventSubString = 0x9; // bool
constexpr std::ptrdiff_t m_bMatchEntIndex = 0xA; // bool constexpr std::ptrdiff_t m_bMatchEntIndex = 0xA; // bool
constexpr std::ptrdiff_t m_bMatchOpvar = 0xB; // bool constexpr std::ptrdiff_t m_bMatchOpvar = 0xB; // bool
constexpr std::ptrdiff_t m_bMatchString = 0xC; // bool
} }
// Parent: None // Parent: None
// Fields count: 10 // Fields count: 10
@@ -390,6 +565,47 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float32 constexpr std::ptrdiff_t m_flListenerReverbModifierWhenSourceReverbIsActive = 0x18; // float32
} }
// Parent: None // 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 = 0xC0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
}
// Parent: CVoiceContainerBase
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerShapedNoise {
constexpr std::ptrdiff_t m_bUseCurveForFrequency = 0xC0; // bool
constexpr std::ptrdiff_t m_flFrequency = 0xC4; // float32
constexpr std::ptrdiff_t m_frequencySweep = 0xC8; // CPiecewiseCurve
constexpr std::ptrdiff_t m_bUseCurveForResonance = 0x108; // bool
constexpr std::ptrdiff_t m_flResonance = 0x10C; // float32
constexpr std::ptrdiff_t m_resonanceSweep = 0x110; // CPiecewiseCurve
constexpr std::ptrdiff_t m_bUseCurveForAmplitude = 0x150; // bool
constexpr std::ptrdiff_t m_flGainInDecibels = 0x154; // float32
constexpr std::ptrdiff_t m_gainSweep = 0x158; // CPiecewiseCurve
}
// Parent: None
// Fields count: 2 // Fields count: 2
// //
// Metadata: // Metadata:
@@ -398,23 +614,31 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_dspName = 0x0; // CUtlString constexpr std::ptrdiff_t m_dspName = 0x0; // CUtlString
constexpr std::ptrdiff_t m_modifiers = 0x8; // CUtlVector<CDSPMixgroupModifier> constexpr std::ptrdiff_t m_modifiers = 0x8; // CUtlVector<CDSPMixgroupModifier>
} }
// Parent: CVoiceContainerBase
// 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 // Parent: None
// Fields count: 1 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MVDataNodeType
// MVDataFileExtension
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerBase { namespace CVoiceContainerBase {
constexpr std::ptrdiff_t m_curves = 0x20; // CUtlDict<CPiecewiseCurve,F(size=1)> constexpr std::ptrdiff_t m_vSound = 0x38; // CVSound
constexpr std::ptrdiff_t m_pEnvelopeAnalyzer = 0xB8; // CVoiceContainerAnalysisBase*
}
// Parent: CVoiceContainerBase
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
namespace CVoiceContainerGranulator {
constexpr std::ptrdiff_t m_flGrainLength = 0xC0; // float32
constexpr std::ptrdiff_t m_flGrainCrossfadeAmount = 0xC4; // float32
constexpr std::ptrdiff_t m_flStartJitter = 0xC8; // float32
constexpr std::ptrdiff_t m_flPlaybackJitter = 0xCC; // float32
constexpr std::ptrdiff_t m_sourceAudio = 0xD0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -438,24 +662,36 @@ namespace cs2_dumper {
namespace VMixEQ8Desc_t { namespace VMixEQ8Desc_t {
constexpr std::ptrdiff_t m_stages = 0x0; // VMixFilterDesc_t[8] constexpr std::ptrdiff_t m_stages = 0x0; // VMixFilterDesc_t[8]
} }
// Parent: CVoiceContainerWavFileReader // Parent: None
// Fields count: 1 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CVoiceContainerEnvelopeAnalyzer { namespace CAudioPhonemeTag {
constexpr std::ptrdiff_t m_envBuffer = 0x68; // CUtlVector<float32> 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 // Parent: CSosGroupActionSchema
// Fields count: 4 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CVoiceContainerEngineSound { namespace CSosGroupActionSoundeventCountSchema {
constexpr std::ptrdiff_t m_SoundToPlay = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase> constexpr std::ptrdiff_t m_bExcludeStoppedSounds = 0x18; // bool
constexpr std::ptrdiff_t m_flTestConstantParam = 0x68; // float32 constexpr std::ptrdiff_t m_strCountKeyName = 0x20; // CUtlString
constexpr std::ptrdiff_t m_flTestSoundEventBoundParam = 0x6C; // float32 }
constexpr std::ptrdiff_t m_flEngineRPM = 0x70; // float32 // Parent: CVoiceContainerAnalysisBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// 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 // Parent: None
// Fields count: 1 // Fields count: 1
@@ -477,6 +713,25 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nProcType = 0xC; // int32 constexpr std::ptrdiff_t m_nProcType = 0xC; // int32
} }
// Parent: None // 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: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerSet {
constexpr std::ptrdiff_t m_soundsToPlay = 0xC0; // CUtlVector<CVoiceContainerSetElement>
}
// Parent: None
// Fields count: 8 // Fields count: 8
// //
// Metadata: // Metadata:
@@ -492,6 +747,22 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flHighCutoffFreq = 0x1C; // float32 constexpr std::ptrdiff_t m_flHighCutoffFreq = 0x1C; // float32
} }
// Parent: None // Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace CVoiceContainerSetElement {
constexpr std::ptrdiff_t m_sound = 0x0; // CSoundContainerReference
constexpr std::ptrdiff_t m_flVolumeDB = 0x18; // float32
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
namespace CSoundInfoHeader {
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -500,7 +771,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_groupList = 0x0; // CUtlVector<CSosSoundEventGroupSchema> constexpr std::ptrdiff_t m_groupList = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
} }
// Parent: CSosGroupBranchPattern // Parent: CSosGroupBranchPattern
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -509,6 +780,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_matchSoundEventSubString = 0x18; // CUtlString constexpr std::ptrdiff_t m_matchSoundEventSubString = 0x18; // CUtlString
constexpr std::ptrdiff_t m_flEntIndex = 0x20; // float32 constexpr std::ptrdiff_t m_flEntIndex = 0x20; // float32
constexpr std::ptrdiff_t m_flOpvar = 0x24; // float32 constexpr std::ptrdiff_t m_flOpvar = 0x24; // float32
constexpr std::ptrdiff_t m_opvarString = 0x28; // CUtlString
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -522,23 +794,6 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t itemKVString = 0x20; // CUtlString constexpr std::ptrdiff_t itemKVString = 0x20; // CUtlString
constexpr std::ptrdiff_t itemPos = 0x28; // Vector2D 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 // Parent: None
// Fields count: 7 // Fields count: 7
// //
@@ -553,13 +808,17 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flFeedbackDiffusion1 = 0x14; // float32 constexpr std::ptrdiff_t m_flFeedbackDiffusion1 = 0x14; // float32
constexpr std::ptrdiff_t m_flFeedbackDiffusion2 = 0x18; // float32 constexpr std::ptrdiff_t m_flFeedbackDiffusion2 = 0x18; // float32
} }
// Parent: CVoiceContainerBase // Parent: None
// Fields count: 1 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CVoiceContainerWavFileReader { // MPropertyFriendlyName
constexpr std::ptrdiff_t m_wavFilePath = 0x60; // CUtlString // MPropertyDescription
namespace CSoundContainerReferenceArray {
constexpr std::ptrdiff_t m_bUseReference = 0x0; // bool
constexpr std::ptrdiff_t m_sounds = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
constexpr std::ptrdiff_t m_pSounds = 0x20; // CUtlVector<CVoiceContainerBase*>
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -610,6 +869,17 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flHoldTimeMS = 0x4; // float32 constexpr std::ptrdiff_t m_flHoldTimeMS = 0x4; // float32
constexpr std::ptrdiff_t m_flReleaseTimeMS = 0x8; // 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 // Parent: CSosGroupActionSchema
// Fields count: 3 // Fields count: 3
// //
@@ -625,8 +895,21 @@ namespace cs2_dumper {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerAmpedDecayingSineWave { namespace CVoiceContainerAmpedDecayingSineWave {
constexpr std::ptrdiff_t m_flGainAmount = 0x68; // float32 constexpr std::ptrdiff_t m_flGainAmount = 0xC8; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerEnvelope {
constexpr std::ptrdiff_t m_sound = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_analysisContainer = 0xC8; // CVoiceContainerAnalysisBase*
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
@@ -668,6 +951,29 @@ namespace cs2_dumper {
namespace VMixEffectChainDesc_t { namespace VMixEffectChainDesc_t {
constexpr std::ptrdiff_t m_flCrossfadeTime = 0x0; // float32 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 = 0xC0; // PlayBackMode_t
constexpr std::ptrdiff_t m_soundsToPlay = 0xC8; // CSoundContainerReferenceArray
constexpr std::ptrdiff_t m_fProbabilityWeights = 0x100; // CUtlVector<float32>
}
// Parent: CSosGroupActionSchema // Parent: CSosGroupActionSchema
// Fields count: 2 // Fields count: 2
// //
@@ -677,6 +983,42 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nMaxCount = 0x18; // int32 constexpr std::ptrdiff_t m_nMaxCount = 0x18; // int32
constexpr std::ptrdiff_t m_flMaxDuration = 0x1C; // float32 constexpr std::ptrdiff_t m_flMaxDuration = 0x1C; // float32
} }
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CTestBlendContainer {
constexpr std::ptrdiff_t m_firstSound = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
constexpr std::ptrdiff_t m_secondSound = 0xC8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
}
// 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 = 0xC0; // CUtlVector<CSoundContainerReference>
}
// Parent: CSosGroupActionSchema // Parent: CSosGroupActionSchema
// Fields count: 1 // Fields count: 1
// //
@@ -716,13 +1058,29 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flBassFreq = 0x14; // float32 constexpr std::ptrdiff_t m_flBassFreq = 0x14; // float32
} }
// Parent: CVoiceContainerBase // Parent: CVoiceContainerBase
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerLoopTrigger {
constexpr std::ptrdiff_t m_sound = 0xC0; // CSoundContainerReference
constexpr std::ptrdiff_t m_flRetriggerTimeMin = 0xD8; // float32
constexpr std::ptrdiff_t m_flRetriggerTimeMax = 0xDC; // float32
constexpr std::ptrdiff_t m_flFadeTime = 0xE0; // float32
constexpr std::ptrdiff_t m_bCrossFade = 0xE4; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 2 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
namespace CVoiceContainerDecayingSineWave { namespace CVoiceContainerDecayingSineWave {
constexpr std::ptrdiff_t m_flFrequency = 0x60; // float32 constexpr std::ptrdiff_t m_flFrequency = 0xC0; // float32
constexpr std::ptrdiff_t m_flDecayTime = 0x64; // float32 constexpr std::ptrdiff_t m_flDecayTime = 0xC4; // float32
} }
// Parent: None // Parent: None
// Fields count: 6 // Fields count: 6

View File

@@ -1,6 +1,65 @@
{ {
"soundsystem.dll": { "libsoundsystem.so": {
"classes": { "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": { "CDSPMixgroupModifier": {
"fields": { "fields": {
"m_flListenerReverbModifierWhenSourceReverbIsActive": 24, "m_flListenerReverbModifierWhenSourceReverbIsActive": 24,
@@ -61,6 +120,25 @@
], ],
"parent": "CSosGroupActionSchema" "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": { "CSosGroupActionSchema": {
"fields": { "fields": {
"m_actionInstanceType": 20, "m_actionInstanceType": 20,
@@ -113,6 +191,55 @@
], ],
"parent": "CSosGroupActionSchema" "parent": "CSosGroupActionSchema"
}, },
"CSosGroupActionSoundeventCountSchema": {
"fields": {
"m_bExcludeStoppedSounds": 24,
"m_strCountKeyName": 32
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "CSosGroupActionSchema"
},
"CSosGroupActionSoundeventMinMaxValuesSchema": {
"fields": {
"m_bExcludSoundsAboveThreshold": 48,
"m_bExcludeDelayedSounds": 41,
"m_bExcludeSoundsBelowThreshold": 42,
"m_bExcludeStoppedSounds": 40,
"m_flExcludeSoundsMaxThresholdValue": 52,
"m_flExcludeSoundsMinThresholdValue": 44,
"m_strDelayPublicFieldName": 32,
"m_strMaxValueName": 64,
"m_strMinValueName": 56,
"m_strQueryPublicFieldName": 24
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "CSosGroupActionSchema"
},
"CSosGroupActionSoundeventPrioritySchema": {
"fields": {
"m_bPriorityReadButDontContribute": 48,
"m_priorityContributeButDontRead": 40,
"m_priorityValue": 24,
"m_priorityVolumeScalar": 32
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "CSosGroupActionSchema"
},
"CSosGroupActionTimeBlockLimitSchema": { "CSosGroupActionTimeBlockLimitSchema": {
"fields": { "fields": {
"m_flMaxDuration": 28, "m_flMaxDuration": 28,
@@ -143,7 +270,8 @@
"m_bMatchEntIndex": 10, "m_bMatchEntIndex": 10,
"m_bMatchEventName": 8, "m_bMatchEventName": 8,
"m_bMatchEventSubString": 9, "m_bMatchEventSubString": 9,
"m_bMatchOpvar": 11 "m_bMatchOpvar": 11,
"m_bMatchString": 12
}, },
"metadata": [ "metadata": [
{ {
@@ -158,7 +286,8 @@
"m_flEntIndex": 32, "m_flEntIndex": 32,
"m_flOpvar": 36, "m_flOpvar": 36,
"m_matchSoundEventName": 16, "m_matchSoundEventName": 16,
"m_matchSoundEventSubString": 24 "m_matchSoundEventSubString": 24,
"m_opvarString": 40
}, },
"metadata": [ "metadata": [
{ {
@@ -184,12 +313,13 @@
"fields": { "fields": {
"m_bInvertMatch": 20, "m_bInvertMatch": 20,
"m_bIsBlocking": 12, "m_bIsBlocking": 12,
"m_branchPattern": 64, "m_branchPattern": 72,
"m_flLifeSpanTime": 88,
"m_matchPattern": 24, "m_matchPattern": 24,
"m_nBlockMaxCount": 16, "m_nBlockMaxCount": 16,
"m_nType": 8, "m_nType": 8,
"m_name": 0, "m_name": 0,
"m_vActions": 176 "m_vActions": 192
}, },
"metadata": [ "metadata": [
{ {
@@ -203,6 +333,50 @@
], ],
"parent": null "parent": null
}, },
"CSoundContainerReference": {
"fields": {
"m_bUseReference": 0,
"m_pSound": 16,
"m_sound": 8
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": null
},
"CSoundContainerReferenceArray": {
"fields": {
"m_bUseReference": 0,
"m_pSounds": 32,
"m_sounds": 8
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": null
},
"CSoundEventMetaData": { "CSoundEventMetaData": {
"fields": { "fields": {
"m_soundEventVMix": 0 "m_soundEventVMix": 0
@@ -215,21 +389,50 @@
], ],
"parent": null "parent": null
}, },
"CVoiceContainerAmpedDecayingSineWave": { "CSoundInfoHeader": {
"fields": { "fields": {},
"m_flGainAmount": 104
},
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
} }
], ],
"parent": "CVoiceContainerDecayingSineWave" "parent": null
}, },
"CVoiceContainerBase": { "CTestBlendContainer": {
"fields": { "fields": {
"m_curves": 32 "m_firstSound": 192,
"m_secondSound": 200
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVSound": {
"fields": {
"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": [ "metadata": [
{ {
@@ -239,29 +442,119 @@
], ],
"parent": null "parent": null
}, },
"CVoiceContainerBlend": { "CVoiceContainerAmpedDecayingSineWave": {
"fields": { "fields": {
"m_flBlendAmount": 112, "m_flGainAmount": 200
"m_hSoundOne": 96,
"m_hSoundTwo": 104
}, },
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "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_pEnvelopeAnalyzer": 184,
"m_vSound": 56
},
"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": 192,
"m_flBlendFactor": 240,
"m_secondSound": 216
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
} }
], ],
"parent": "CVoiceContainerBase" "parent": "CVoiceContainerBase"
}, },
"CVoiceContainerDecayingSineWave": { "CVoiceContainerDecayingSineWave": {
"fields": { "fields": {
"m_flDecayTime": 100, "m_flDecayTime": 196,
"m_flFrequency": 96 "m_flFrequency": 192
}, },
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
} }
], ],
"parent": "CVoiceContainerBase" "parent": "CVoiceContainerBase"
@@ -272,102 +565,336 @@
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
} }
], ],
"parent": "CVoiceContainerBase" "parent": "CVoiceContainerBase"
}, },
"CVoiceContainerEngineSound": { "CVoiceContainerEnvelope": {
"fields": { "fields": {
"m_SoundToPlay": 96, "m_analysisContainer": 200,
"m_flEngineRPM": 112, "m_sound": 192
"m_flTestConstantParam": 104,
"m_flTestSoundEventBoundParam": 108
}, },
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
} }
], ],
"parent": "CVoiceContainerBase" "parent": "CVoiceContainerBase"
}, },
"CVoiceContainerEnvelopeAnalyzer": { "CVoiceContainerEnvelopeAnalyzer": {
"fields": { "fields": {
"m_envBuffer": 104 "m_flThreshold": 88,
"m_mode": 80,
"m_nSamples": 84
}, },
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
} }
], ],
"parent": "CVoiceContainerWavFileReader" "parent": "CVoiceContainerAnalysisBase"
}, },
"CVoiceContainerRandomSampler": { "CVoiceContainerGranulator": {
"fields": { "fields": {
"m_flLoudAmplitude": 96, "m_flGrainCrossfadeAmount": 196,
"m_flLoudAmplitudeJitter": 100, "m_flGrainLength": 192,
"m_flLoudTimeJitter": 112, "m_flPlaybackJitter": 204,
"m_flSoftAmplitude": 104, "m_flStartJitter": 200,
"m_flSoftAmplitudeJitter": 108, "m_sourceAudio": 208
"m_flSoftTimeJitter": 116,
"m_grainResources": 120
}, },
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerLoopTrigger": {
"fields": {
"m_bCrossFade": 228,
"m_flFadeTime": 224,
"m_flRetriggerTimeMax": 220,
"m_flRetriggerTimeMin": 216,
"m_sound": 192
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerNull": {
"fields": {},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerRandomSampler": {
"fields": {
"m_flAmplitude": 192,
"m_flAmplitudeJitter": 196,
"m_flMaxLength": 204,
"m_flTimeJitter": 200,
"m_grainResources": 216,
"m_nNumDelayVariations": 208
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
} }
], ],
"parent": "CVoiceContainerBase" "parent": "CVoiceContainerBase"
}, },
"CVoiceContainerRealtimeFMSineWave": { "CVoiceContainerRealtimeFMSineWave": {
"fields": { "fields": {
"m_flCarrierFrequency": 96, "m_flCarrierFrequency": 192,
"m_flModulatorAmount": 104, "m_flModulatorAmount": 200,
"m_flModulatorFrequency": 100 "m_flModulatorFrequency": 196
}, },
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
} }
], ],
"parent": "CVoiceContainerBase" "parent": "CVoiceContainerBase"
}, },
"CVoiceContainerTestConstant": { "CVoiceContainerSelector": {
"fields": { "fields": {
"m_flTestConstantParam": 104 "m_fProbabilityWeights": 256,
"m_mode": 192,
"m_soundsToPlay": 200
}, },
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
} },
],
"parent": "CVoiceContainerWavFileReader"
},
"CVoiceContainerTestNestedDynamic": {
"fields": {
"m_SoundToPlay": 96,
"m_flTestConstantParam": 104
},
"metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown" "type": "Unknown"
} }
], ],
"parent": "CVoiceContainerBase" "parent": "CVoiceContainerBase"
}, },
"CVoiceContainerWavFileReader": { "CVoiceContainerSet": {
"fields": { "fields": {
"m_wavFilePath": 96 "m_soundsToPlay": 192
}, },
"metadata": [ "metadata": [
{ {
"name": "MGetKV3ClassDefaults", "name": "MGetKV3ClassDefaults",
"type": "Unknown" "type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerSetElement": {
"fields": {
"m_flVolumeDB": 24,
"m_sound": 0
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"CVoiceContainerShapedNoise": {
"fields": {
"m_bUseCurveForAmplitude": 336,
"m_bUseCurveForFrequency": 192,
"m_bUseCurveForResonance": 264,
"m_flFrequency": 196,
"m_flGainInDecibels": 340,
"m_flResonance": 268,
"m_frequencySweep": 200,
"m_gainSweep": 344,
"m_resonanceSweep": 272
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
}
],
"parent": "CVoiceContainerBase"
},
"CVoiceContainerStaticAdditiveSynth": {
"fields": {
"m_tones": 192
},
"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": 192
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
},
{
"name": "MPropertyFriendlyName",
"type": "Unknown"
},
{
"name": "MPropertyDescription",
"type": "Unknown"
} }
], ],
"parent": "CVoiceContainerBase" "parent": "CVoiceContainerBase"
@@ -807,15 +1334,78 @@
"ActionType_t": { "ActionType_t": {
"alignment": 4, "alignment": 4,
"members": { "members": {
"SOS_ACTION_COUNT_ENVELOPE": 7,
"SOS_ACTION_LIMITER": 1, "SOS_ACTION_LIMITER": 1,
"SOS_ACTION_NONE": 0, "SOS_ACTION_NONE": 0,
"SOS_ACTION_SET_SOUNDEVENT_PARAM": 4, "SOS_ACTION_SET_SOUNDEVENT_PARAM": 4,
"SOS_ACTION_SOUNDEVENT_CLUSTER": 5, "SOS_ACTION_SOUNDEVENT_CLUSTER": 5,
"SOS_ACTION_SOUNDEVENT_COUNT": 8,
"SOS_ACTION_SOUNDEVENT_MIN_MAX_VALUES": 9,
"SOS_ACTION_SOUNDEVENT_PRIORITY": 6,
"SOS_ACTION_TIME_BLOCK_LIMITER": 3, "SOS_ACTION_TIME_BLOCK_LIMITER": 3,
"SOS_ACTION_TIME_LIMIT": 2 "SOS_ACTION_TIME_LIMIT": 2
}, },
"type": "uint32" "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,
"RandomWeights": 4,
"Sequential": 3
},
"type": "uint32"
},
"SosActionSortType_t": { "SosActionSortType_t": {
"alignment": 4, "alignment": 4,
"members": { "members": {
@@ -918,36 +1508,36 @@
"VMixProcessorType_t": { "VMixProcessorType_t": {
"alignment": 2, "alignment": 2,
"members": { "members": {
"VPROCESSOR_AUTOFILTER": 24, "VPROCESSOR_AUTOFILTER": 23,
"VPROCESSOR_BOXVERB": 9, "VPROCESSOR_BOXVERB": 8,
"VPROCESSOR_CONVOLUTION": 18, "VPROCESSOR_CONVOLUTION": 17,
"VPROCESSOR_DELAY": 6, "VPROCESSOR_DELAY": 5,
"VPROCESSOR_DIFFUSOR": 8, "VPROCESSOR_DIFFUSOR": 7,
"VPROCESSOR_DYNAMICS": 4, "VPROCESSOR_DYNAMICS": 3,
"VPROCESSOR_DYNAMICS_3BAND": 19, "VPROCESSOR_DYNAMICS_3BAND": 18,
"VPROCESSOR_DYNAMICS_COMPRESSOR": 20, "VPROCESSOR_DYNAMICS_COMPRESSOR": 19,
"VPROCESSOR_EFFECT_CHAIN": 27, "VPROCESSOR_EFFECT_CHAIN": 26,
"VPROCESSOR_ENVELOPE": 16, "VPROCESSOR_ENVELOPE": 15,
"VPROCESSOR_EQ8": 15, "VPROCESSOR_EQ8": 14,
"VPROCESSOR_FILTER": 13, "VPROCESSOR_FILTER": 12,
"VPROCESSOR_FREEVERB": 10, "VPROCESSOR_FREEVERB": 9,
"VPROCESSOR_FULLWAVE_INTEGRATOR": 12, "VPROCESSOR_FULLWAVE_INTEGRATOR": 11,
"VPROCESSOR_MOD_DELAY": 7, "VPROCESSOR_MOD_DELAY": 6,
"VPROCESSOR_OSC": 25, "VPROCESSOR_OSC": 24,
"VPROCESSOR_PANNER": 22, "VPROCESSOR_PANNER": 21,
"VPROCESSOR_PLATEVERB": 11, "VPROCESSOR_PLATEVERB": 10,
"VPROCESSOR_PRESETDSP": 5, "VPROCESSOR_PRESETDSP": 4,
"VPROCESSOR_RT_PITCH": 2, "VPROCESSOR_RT_PITCH": 1,
"VPROCESSOR_SHAPER": 21, "VPROCESSOR_SHAPER": 20,
"VPROCESSOR_STEAMAUDIO_DIRECT": 29, "VPROCESSOR_STEAMAUDIO_DIRECT": 28,
"VPROCESSOR_STEAMAUDIO_HRTF": 3, "VPROCESSOR_STEAMAUDIO_HRTF": 2,
"VPROCESSOR_STEAMAUDIO_PATHING": 14, "VPROCESSOR_STEAMAUDIO_HYBRIDREVERB": 29,
"VPROCESSOR_STEAMAUDIO_REVERB": 1, "VPROCESSOR_STEAMAUDIO_PATHING": 13,
"VPROCESSOR_STEREODELAY": 26, "VPROCESSOR_STEREODELAY": 25,
"VPROCESSOR_SUBGRAPH_SWITCH": 28, "VPROCESSOR_SUBGRAPH_SWITCH": 27,
"VPROCESSOR_UNKNOWN": 0, "VPROCESSOR_UNKNOWN": 0,
"VPROCESSOR_UTILITY": 23, "VPROCESSOR_UTILITY": 22,
"VPROCESSOR_VOCODER": 17 "VPROCESSOR_VOCODER": 16
}, },
"type": "uint16" "type": "uint16"
}, },

View File

@@ -1,14 +1,31 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: soundsystem.dll // Module: libsoundsystem.so
// Classes count: 51 // Classes count: 74
// Enums count: 13 // Enums count: 18
pub mod soundsystem_dll { 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 // Alignment: 4
// Members count: 5 // Members count: 5
#[repr(u32)] #[repr(u32)]
@@ -60,40 +77,50 @@ pub mod cs2_dumper {
SOS_SORTTYPE_HIGHEST = 0x0, SOS_SORTTYPE_HIGHEST = 0x0,
SOS_SORTTYPE_LOWEST = 0x1 SOS_SORTTYPE_LOWEST = 0x1
} }
// Alignment: 4
// Members count: 5
#[repr(u32)]
pub enum PlayBackMode_t {
Random = 0x0,
RandomNoRepeats = 0x1,
RandomAvoidLast = 0x2,
Sequential = 0x3,
RandomWeights = 0x4
}
// Alignment: 2 // Alignment: 2
// Members count: 30 // Members count: 30
#[repr(u16)] #[repr(u16)]
pub enum VMixProcessorType_t { pub enum VMixProcessorType_t {
VPROCESSOR_UNKNOWN = 0x0, VPROCESSOR_UNKNOWN = 0x0,
VPROCESSOR_STEAMAUDIO_REVERB = 0x1, VPROCESSOR_RT_PITCH = 0x1,
VPROCESSOR_RT_PITCH = 0x2, VPROCESSOR_STEAMAUDIO_HRTF = 0x2,
VPROCESSOR_STEAMAUDIO_HRTF = 0x3, VPROCESSOR_DYNAMICS = 0x3,
VPROCESSOR_DYNAMICS = 0x4, VPROCESSOR_PRESETDSP = 0x4,
VPROCESSOR_PRESETDSP = 0x5, VPROCESSOR_DELAY = 0x5,
VPROCESSOR_DELAY = 0x6, VPROCESSOR_MOD_DELAY = 0x6,
VPROCESSOR_MOD_DELAY = 0x7, VPROCESSOR_DIFFUSOR = 0x7,
VPROCESSOR_DIFFUSOR = 0x8, VPROCESSOR_BOXVERB = 0x8,
VPROCESSOR_BOXVERB = 0x9, VPROCESSOR_FREEVERB = 0x9,
VPROCESSOR_FREEVERB = 0xA, VPROCESSOR_PLATEVERB = 0xA,
VPROCESSOR_PLATEVERB = 0xB, VPROCESSOR_FULLWAVE_INTEGRATOR = 0xB,
VPROCESSOR_FULLWAVE_INTEGRATOR = 0xC, VPROCESSOR_FILTER = 0xC,
VPROCESSOR_FILTER = 0xD, VPROCESSOR_STEAMAUDIO_PATHING = 0xD,
VPROCESSOR_STEAMAUDIO_PATHING = 0xE, VPROCESSOR_EQ8 = 0xE,
VPROCESSOR_EQ8 = 0xF, VPROCESSOR_ENVELOPE = 0xF,
VPROCESSOR_ENVELOPE = 0x10, VPROCESSOR_VOCODER = 0x10,
VPROCESSOR_VOCODER = 0x11, VPROCESSOR_CONVOLUTION = 0x11,
VPROCESSOR_CONVOLUTION = 0x12, VPROCESSOR_DYNAMICS_3BAND = 0x12,
VPROCESSOR_DYNAMICS_3BAND = 0x13, VPROCESSOR_DYNAMICS_COMPRESSOR = 0x13,
VPROCESSOR_DYNAMICS_COMPRESSOR = 0x14, VPROCESSOR_SHAPER = 0x14,
VPROCESSOR_SHAPER = 0x15, VPROCESSOR_PANNER = 0x15,
VPROCESSOR_PANNER = 0x16, VPROCESSOR_UTILITY = 0x16,
VPROCESSOR_UTILITY = 0x17, VPROCESSOR_AUTOFILTER = 0x17,
VPROCESSOR_AUTOFILTER = 0x18, VPROCESSOR_OSC = 0x18,
VPROCESSOR_OSC = 0x19, VPROCESSOR_STEREODELAY = 0x19,
VPROCESSOR_STEREODELAY = 0x1A, VPROCESSOR_EFFECT_CHAIN = 0x1A,
VPROCESSOR_EFFECT_CHAIN = 0x1B, VPROCESSOR_SUBGRAPH_SWITCH = 0x1B,
VPROCESSOR_SUBGRAPH_SWITCH = 0x1C, VPROCESSOR_STEAMAUDIO_DIRECT = 0x1C,
VPROCESSOR_STEAMAUDIO_DIRECT = 0x1D VPROCESSOR_STEAMAUDIO_HYBRIDREVERB = 0x1D
} }
// Alignment: 4 // Alignment: 4
// Members count: 30 // Members count: 30
@@ -109,14 +136,11 @@ pub mod cs2_dumper {
SNDLVL_50dB = 0x32, SNDLVL_50dB = 0x32,
SNDLVL_55dB = 0x37, SNDLVL_55dB = 0x37,
SNDLVL_IDLE = 0x3C, SNDLVL_IDLE = 0x3C,
SNDLVL_60dB = 0x3C,
SNDLVL_65dB = 0x41, SNDLVL_65dB = 0x41,
SNDLVL_STATIC = 0x42, SNDLVL_STATIC = 0x42,
SNDLVL_70dB = 0x46, SNDLVL_70dB = 0x46,
SNDLVL_NORM = 0x4B, SNDLVL_NORM = 0x4B,
SNDLVL_75dB = 0x4B,
SNDLVL_80dB = 0x50, SNDLVL_80dB = 0x50,
SNDLVL_TALKING = 0x50,
SNDLVL_85dB = 0x55, SNDLVL_85dB = 0x55,
SNDLVL_90dB = 0x5A, SNDLVL_90dB = 0x5A,
SNDLVL_95dB = 0x5F, SNDLVL_95dB = 0x5F,
@@ -126,7 +150,6 @@ pub mod cs2_dumper {
SNDLVL_120dB = 0x78, SNDLVL_120dB = 0x78,
SNDLVL_130dB = 0x82, SNDLVL_130dB = 0x82,
SNDLVL_GUNFIRE = 0x8C, SNDLVL_GUNFIRE = 0x8C,
SNDLVL_140dB = 0x8C,
SNDLVL_150dB = 0x96, SNDLVL_150dB = 0x96,
SNDLVL_180dB = 0xB4 SNDLVL_180dB = 0xB4
} }
@@ -149,6 +172,33 @@ pub mod cs2_dumper {
VMIX_CHAN_MID_SIDE = 0x5 VMIX_CHAN_MID_SIDE = 0x5
} }
// Alignment: 1 // 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 // Members count: 9
#[repr(u8)] #[repr(u8)]
pub enum VMixFilterSlope_t { pub enum VMixFilterSlope_t {
@@ -159,11 +209,10 @@ pub mod cs2_dumper {
FILTER_SLOPE_12dB = 0x4, FILTER_SLOPE_12dB = 0x4,
FILTER_SLOPE_24dB = 0x5, FILTER_SLOPE_24dB = 0x5,
FILTER_SLOPE_36dB = 0x6, FILTER_SLOPE_36dB = 0x6,
FILTER_SLOPE_48dB = 0x7, FILTER_SLOPE_48dB = 0x7
FILTER_SLOPE_MAX = 0x7
} }
// Alignment: 4 // Alignment: 4
// Members count: 6 // Members count: 10
#[repr(u32)] #[repr(u32)]
pub enum ActionType_t { pub enum ActionType_t {
SOS_ACTION_NONE = 0x0, SOS_ACTION_NONE = 0x0,
@@ -171,7 +220,11 @@ pub mod cs2_dumper {
SOS_ACTION_TIME_LIMIT = 0x2, SOS_ACTION_TIME_LIMIT = 0x2,
SOS_ACTION_TIME_BLOCK_LIMITER = 0x3, SOS_ACTION_TIME_BLOCK_LIMITER = 0x3,
SOS_ACTION_SET_SOUNDEVENT_PARAM = 0x4, 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,
SOS_ACTION_SOUNDEVENT_COUNT = 0x8,
SOS_ACTION_SOUNDEVENT_MIN_MAX_VALUES = 0x9
} }
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
@@ -188,6 +241,18 @@ pub mod cs2_dumper {
SOS_GROUPTYPE_DYNAMIC = 0x0, SOS_GROUPTYPE_DYNAMIC = 0x0,
SOS_GROUPTYPE_STATIC = 0x1 SOS_GROUPTYPE_STATIC = 0x1
} }
// Parent: CVoiceContainerBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerBlender {
pub const m_firstSound: usize = 0xC0; // CSoundContainerReference
pub const m_secondSound: usize = 0xD8; // CSoundContainerReference
pub const m_flBlendFactor: usize = 0xF0; // float32
}
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
// //
@@ -199,28 +264,73 @@ pub mod cs2_dumper {
pub const m_flWidth: usize = 0x8; // float32 pub const m_flWidth: usize = 0x8; // float32
pub const m_flLateReflections: usize = 0xC; // float32 pub const m_flLateReflections: usize = 0xC; // float32
} }
// Parent: CVoiceContainerBase // Parent: None
// Fields count: 7 // Fields count: 7
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
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: 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 mod CVoiceContainerRandomSampler {
pub const m_flLoudAmplitude: usize = 0x60; // float32 pub const m_flAmplitude: usize = 0xC0; // float32
pub const m_flLoudAmplitudeJitter: usize = 0x64; // float32 pub const m_flAmplitudeJitter: usize = 0xC4; // float32
pub const m_flSoftAmplitude: usize = 0x68; // float32 pub const m_flTimeJitter: usize = 0xC8; // float32
pub const m_flSoftAmplitudeJitter: usize = 0x6C; // float32 pub const m_flMaxLength: usize = 0xCC; // float32
pub const m_flLoudTimeJitter: usize = 0x70; // float32 pub const m_nNumDelayVariations: usize = 0xD0; // int32
pub const m_flSoftTimeJitter: usize = 0x74; // float32 pub const m_grainResources: usize = 0xD8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
pub const m_grainResources: usize = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
} }
// Parent: CVoiceContainerBase // Parent: CVoiceContainerBase
// Fields count: 0 // Fields count: 0
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerDefault { pub mod CVoiceContainerDefault {
} }
// Parent: None // 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 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -260,6 +370,27 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CSoundContainerReference {
pub const m_bUseReference: usize = 0x0; // bool
pub const m_sound: usize = 0x8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_pSound: usize = 0x10; // CVoiceContainerBase*
}
// Parent: CVoiceContainerBase
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerNull {
}
// Parent: None
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
pub mod VMixSubgraphSwitchDesc_t { pub mod VMixSubgraphSwitchDesc_t {
pub const m_interpolationMode: usize = 0x0; // VMixSubgraphSwitchInterpolationType_t pub const m_interpolationMode: usize = 0x0; // VMixSubgraphSwitchInterpolationType_t
pub const m_bOnlyTailsOnFadeOut: usize = 0x4; // bool pub const m_bOnlyTailsOnFadeOut: usize = 0x4; // bool
@@ -270,19 +401,61 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MVDataNodeType
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerAnalysisBase {
pub const m_bRegenerateCurveOnCompile: usize = 0x8; // bool
pub const m_curve: usize = 0x10; // CPiecewiseCurve
}
// Parent: CSosGroupActionSchema
// Fields count: 10
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CSosGroupActionSoundeventMinMaxValuesSchema {
pub const m_strQueryPublicFieldName: usize = 0x18; // CUtlString
pub const m_strDelayPublicFieldName: usize = 0x20; // CUtlString
pub const m_bExcludeStoppedSounds: usize = 0x28; // bool
pub const m_bExcludeDelayedSounds: usize = 0x29; // bool
pub const m_bExcludeSoundsBelowThreshold: usize = 0x2A; // bool
pub const m_flExcludeSoundsMinThresholdValue: usize = 0x2C; // float32
pub const m_bExcludSoundsAboveThreshold: usize = 0x30; // bool
pub const m_flExcludeSoundsMaxThresholdValue: usize = 0x34; // float32
pub const m_strMinValueName: usize = 0x38; // CUtlString
pub const m_strMaxValueName: usize = 0x40; // CUtlString
}
// Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod VMixPannerDesc_t { pub mod VMixPannerDesc_t {
pub const m_type: usize = 0x0; // VMixPannerType_t pub const m_type: usize = 0x0; // VMixPannerType_t
pub const m_flStrength: usize = 0x4; // float32 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 // Parent: CVoiceContainerBase
// Fields count: 3 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerRealtimeFMSineWave { pub mod CVoiceContainerRealtimeFMSineWave {
pub const m_flCarrierFrequency: usize = 0x60; // float32 pub const m_flCarrierFrequency: usize = 0xC0; // float32
pub const m_flModulatorFrequency: usize = 0x64; // float32 pub const m_flModulatorFrequency: usize = 0xC4; // float32
pub const m_flModulatorAmount: usize = 0x68; // float32 pub const m_flModulatorAmount: usize = 0xC8; // float32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -344,7 +517,7 @@ pub mod cs2_dumper {
pub const m_actionInstanceType: usize = 0x14; // ActionType_t pub const m_actionInstanceType: usize = 0x14; // ActionType_t
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 9
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -356,11 +529,12 @@ pub mod cs2_dumper {
pub const m_nBlockMaxCount: usize = 0x10; // int32 pub const m_nBlockMaxCount: usize = 0x10; // int32
pub const m_bInvertMatch: usize = 0x14; // bool pub const m_bInvertMatch: usize = 0x14; // bool
pub const m_matchPattern: usize = 0x18; // CSosGroupMatchPattern pub const m_matchPattern: usize = 0x18; // CSosGroupMatchPattern
pub const m_branchPattern: usize = 0x40; // CSosGroupBranchPattern pub const m_branchPattern: usize = 0x48; // CSosGroupBranchPattern
pub const m_vActions: usize = 0xB0; // CSosGroupActionSchema*[4] pub const m_flLifeSpanTime: usize = 0x58; // float32
pub const m_vActions: usize = 0xC0; // CSosGroupActionSchema*[4]
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -369,6 +543,7 @@ pub mod cs2_dumper {
pub const m_bMatchEventSubString: usize = 0x9; // bool pub const m_bMatchEventSubString: usize = 0x9; // bool
pub const m_bMatchEntIndex: usize = 0xA; // bool pub const m_bMatchEntIndex: usize = 0xA; // bool
pub const m_bMatchOpvar: usize = 0xB; // bool pub const m_bMatchOpvar: usize = 0xB; // bool
pub const m_bMatchString: usize = 0xC; // bool
} }
// Parent: None // Parent: None
// Fields count: 10 // Fields count: 10
@@ -401,6 +576,47 @@ pub mod cs2_dumper {
pub const m_flListenerReverbModifierWhenSourceReverbIsActive: usize = 0x18; // float32 pub const m_flListenerReverbModifierWhenSourceReverbIsActive: usize = 0x18; // float32
} }
// Parent: None // 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 = 0xC0; // CUtlVector<CVoiceContainerStaticAdditiveSynth::CTone>
}
// Parent: CVoiceContainerBase
// Fields count: 9
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerShapedNoise {
pub const m_bUseCurveForFrequency: usize = 0xC0; // bool
pub const m_flFrequency: usize = 0xC4; // float32
pub const m_frequencySweep: usize = 0xC8; // CPiecewiseCurve
pub const m_bUseCurveForResonance: usize = 0x108; // bool
pub const m_flResonance: usize = 0x10C; // float32
pub const m_resonanceSweep: usize = 0x110; // CPiecewiseCurve
pub const m_bUseCurveForAmplitude: usize = 0x150; // bool
pub const m_flGainInDecibels: usize = 0x154; // float32
pub const m_gainSweep: usize = 0x158; // CPiecewiseCurve
}
// Parent: None
// Fields count: 2 // Fields count: 2
// //
// Metadata: // Metadata:
@@ -409,23 +625,31 @@ pub mod cs2_dumper {
pub const m_dspName: usize = 0x0; // CUtlString pub const m_dspName: usize = 0x0; // CUtlString
pub const m_modifiers: usize = 0x8; // CUtlVector<CDSPMixgroupModifier> pub const m_modifiers: usize = 0x8; // CUtlVector<CDSPMixgroupModifier>
} }
// Parent: CVoiceContainerBase
// 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 // Parent: None
// Fields count: 1 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MVDataNodeType
// MVDataFileExtension
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerBase { pub mod CVoiceContainerBase {
pub const m_curves: usize = 0x20; // CUtlDict<CPiecewiseCurve,F(size=1)> pub const m_vSound: usize = 0x38; // CVSound
pub const m_pEnvelopeAnalyzer: usize = 0xB8; // CVoiceContainerAnalysisBase*
}
// Parent: CVoiceContainerBase
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
pub mod CVoiceContainerGranulator {
pub const m_flGrainLength: usize = 0xC0; // float32
pub const m_flGrainCrossfadeAmount: usize = 0xC4; // float32
pub const m_flStartJitter: usize = 0xC8; // float32
pub const m_flPlaybackJitter: usize = 0xCC; // float32
pub const m_sourceAudio: usize = 0xD0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -449,24 +673,36 @@ pub mod cs2_dumper {
pub mod VMixEQ8Desc_t { pub mod VMixEQ8Desc_t {
pub const m_stages: usize = 0x0; // VMixFilterDesc_t[8] pub const m_stages: usize = 0x0; // VMixFilterDesc_t[8]
} }
// Parent: CVoiceContainerWavFileReader // Parent: None
// Fields count: 1 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CVoiceContainerEnvelopeAnalyzer { pub mod CAudioPhonemeTag {
pub const m_envBuffer: usize = 0x68; // CUtlVector<float32> pub const m_flStartTime: usize = 0x0; // float32
pub const m_flEndTime: usize = 0x4; // float32
pub const m_nPhonemeCode: usize = 0x8; // int32
} }
// Parent: CVoiceContainerBase // Parent: CSosGroupActionSchema
// Fields count: 4 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CVoiceContainerEngineSound { pub mod CSosGroupActionSoundeventCountSchema {
pub const m_SoundToPlay: usize = 0x60; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase> pub const m_bExcludeStoppedSounds: usize = 0x18; // bool
pub const m_flTestConstantParam: usize = 0x68; // float32 pub const m_strCountKeyName: usize = 0x20; // CUtlString
pub const m_flTestSoundEventBoundParam: usize = 0x6C; // float32 }
pub const m_flEngineRPM: usize = 0x70; // float32 // Parent: CVoiceContainerAnalysisBase
// Fields count: 3
//
// Metadata:
// MGetKV3ClassDefaults
// 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 // Parent: None
// Fields count: 1 // Fields count: 1
@@ -488,6 +724,25 @@ pub mod cs2_dumper {
pub const m_nProcType: usize = 0xC; // int32 pub const m_nProcType: usize = 0xC; // int32
} }
// Parent: None // 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: CVoiceContainerBase
// Fields count: 1
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerSet {
pub const m_soundsToPlay: usize = 0xC0; // CUtlVector<CVoiceContainerSetElement>
}
// Parent: None
// Fields count: 8 // Fields count: 8
// //
// Metadata: // Metadata:
@@ -503,6 +758,22 @@ pub mod cs2_dumper {
pub const m_flHighCutoffFreq: usize = 0x1C; // float32 pub const m_flHighCutoffFreq: usize = 0x1C; // float32
} }
// Parent: None // Parent: None
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CVoiceContainerSetElement {
pub const m_sound: usize = 0x0; // CSoundContainerReference
pub const m_flVolumeDB: usize = 0x18; // float32
}
// Parent: None
// Fields count: 0
//
// Metadata:
// MGetKV3ClassDefaults
pub mod CSoundInfoHeader {
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -511,7 +782,7 @@ pub mod cs2_dumper {
pub const m_groupList: usize = 0x0; // CUtlVector<CSosSoundEventGroupSchema> pub const m_groupList: usize = 0x0; // CUtlVector<CSosSoundEventGroupSchema>
} }
// Parent: CSosGroupBranchPattern // Parent: CSosGroupBranchPattern
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -520,6 +791,7 @@ pub mod cs2_dumper {
pub const m_matchSoundEventSubString: usize = 0x18; // CUtlString pub const m_matchSoundEventSubString: usize = 0x18; // CUtlString
pub const m_flEntIndex: usize = 0x20; // float32 pub const m_flEntIndex: usize = 0x20; // float32
pub const m_flOpvar: usize = 0x24; // float32 pub const m_flOpvar: usize = 0x24; // float32
pub const m_opvarString: usize = 0x28; // CUtlString
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -533,23 +805,6 @@ pub mod cs2_dumper {
pub const itemKVString: usize = 0x20; // CUtlString pub const itemKVString: usize = 0x20; // CUtlString
pub const itemPos: usize = 0x28; // Vector2D 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 // Parent: None
// Fields count: 7 // Fields count: 7
// //
@@ -564,13 +819,17 @@ pub mod cs2_dumper {
pub const m_flFeedbackDiffusion1: usize = 0x14; // float32 pub const m_flFeedbackDiffusion1: usize = 0x14; // float32
pub const m_flFeedbackDiffusion2: usize = 0x18; // float32 pub const m_flFeedbackDiffusion2: usize = 0x18; // float32
} }
// Parent: CVoiceContainerBase // Parent: None
// Fields count: 1 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CVoiceContainerWavFileReader { // MPropertyFriendlyName
pub const m_wavFilePath: usize = 0x60; // CUtlString // MPropertyDescription
pub mod CSoundContainerReferenceArray {
pub const m_bUseReference: usize = 0x0; // bool
pub const m_sounds: usize = 0x8; // CUtlVector<CStrongHandle<InfoForResourceTypeCVoiceContainerBase>>
pub const m_pSounds: usize = 0x20; // CUtlVector<CVoiceContainerBase*>
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -621,6 +880,17 @@ pub mod cs2_dumper {
pub const m_flHoldTimeMS: usize = 0x4; // float32 pub const m_flHoldTimeMS: usize = 0x4; // float32
pub const m_flReleaseTimeMS: usize = 0x8; // 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 // Parent: CSosGroupActionSchema
// Fields count: 3 // Fields count: 3
// //
@@ -636,8 +906,21 @@ pub mod cs2_dumper {
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerAmpedDecayingSineWave { pub mod CVoiceContainerAmpedDecayingSineWave {
pub const m_flGainAmount: usize = 0x68; // float32 pub const m_flGainAmount: usize = 0xC8; // float32
}
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerEnvelope {
pub const m_sound: usize = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_analysisContainer: usize = 0xC8; // CVoiceContainerAnalysisBase*
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
@@ -679,6 +962,29 @@ pub mod cs2_dumper {
pub mod VMixEffectChainDesc_t { pub mod VMixEffectChainDesc_t {
pub const m_flCrossfadeTime: usize = 0x0; // float32 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 = 0xC0; // PlayBackMode_t
pub const m_soundsToPlay: usize = 0xC8; // CSoundContainerReferenceArray
pub const m_fProbabilityWeights: usize = 0x100; // CUtlVector<float32>
}
// Parent: CSosGroupActionSchema // Parent: CSosGroupActionSchema
// Fields count: 2 // Fields count: 2
// //
@@ -688,6 +994,42 @@ pub mod cs2_dumper {
pub const m_nMaxCount: usize = 0x18; // int32 pub const m_nMaxCount: usize = 0x18; // int32
pub const m_flMaxDuration: usize = 0x1C; // float32 pub const m_flMaxDuration: usize = 0x1C; // float32
} }
// Parent: CVoiceContainerBase
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CTestBlendContainer {
pub const m_firstSound: usize = 0xC0; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
pub const m_secondSound: usize = 0xC8; // CStrongHandle<InfoForResourceTypeCVoiceContainerBase>
}
// 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 = 0xC0; // CUtlVector<CSoundContainerReference>
}
// Parent: CSosGroupActionSchema // Parent: CSosGroupActionSchema
// Fields count: 1 // Fields count: 1
// //
@@ -727,13 +1069,29 @@ pub mod cs2_dumper {
pub const m_flBassFreq: usize = 0x14; // float32 pub const m_flBassFreq: usize = 0x14; // float32
} }
// Parent: CVoiceContainerBase // Parent: CVoiceContainerBase
// Fields count: 5
//
// Metadata:
// MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerLoopTrigger {
pub const m_sound: usize = 0xC0; // CSoundContainerReference
pub const m_flRetriggerTimeMin: usize = 0xD8; // float32
pub const m_flRetriggerTimeMax: usize = 0xDC; // float32
pub const m_flFadeTime: usize = 0xE0; // float32
pub const m_bCrossFade: usize = 0xE4; // bool
}
// Parent: CVoiceContainerBase
// Fields count: 2 // Fields count: 2
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName
// MPropertyDescription
pub mod CVoiceContainerDecayingSineWave { pub mod CVoiceContainerDecayingSineWave {
pub const m_flFrequency: usize = 0x60; // float32 pub const m_flFrequency: usize = 0xC0; // float32
pub const m_flDecayTime: usize = 0x64; // float32 pub const m_flDecayTime: usize = 0xC4; // float32
} }
// Parent: None // Parent: None
// Fields count: 6 // Fields count: 6

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: vphysics2.dll // Module: libvphysics2.so
// Classes count: 88 // Classes count: 94
// Enums count: 2 // Enums count: 2
public static class Vphysics2Dll { public static class Libvphysics2So {
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
public enum JointMotion_t : uint { public enum JointMotion_t : uint {
@@ -44,7 +44,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class RnHullDesc_t { public static class RnHullDesc_t {
public const nint m_Hull = 0x10; // RnHull_t public const nint m_Hull = 0x18; // RnHull_t
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -62,7 +62,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class RnCapsuleDesc_t { public static class RnCapsuleDesc_t {
public const nint m_Capsule = 0x10; // RnCapsule_t public const nint m_Capsule = 0x18; // RnCapsule_t
} }
// Parent: RnShapeDesc_t // Parent: RnShapeDesc_t
// Fields count: 1 // Fields count: 1
@@ -70,7 +70,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class RnSphereDesc_t { public static class RnSphereDesc_t {
public const nint m_Sphere = 0x10; // SphereBase_t<float32> public const nint m_Sphere = 0x18; // SphereBase_t<float32>
} }
// Parent: RnShapeDesc_t // Parent: RnShapeDesc_t
// Fields count: 1 // Fields count: 1
@@ -78,10 +78,10 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class RnMeshDesc_t { public static class RnMeshDesc_t {
public const nint m_Mesh = 0x10; // RnMesh_t public const nint m_Mesh = 0x18; // RnMesh_t
} }
// Parent: None // Parent: None
// Fields count: 100 // Fields count: 106
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -116,76 +116,82 @@ namespace CS2Dumper.Schemas {
public const nint m_InitPose = 0x120; // CUtlVector<CTransform> public const nint m_InitPose = 0x120; // CUtlVector<CTransform>
public const nint m_Rods = 0x138; // CUtlVector<FeRodConstraint_t> public const nint m_Rods = 0x138; // CUtlVector<FeRodConstraint_t>
public const nint m_Twists = 0x150; // CUtlVector<FeTwistConstraint_t> public const nint m_Twists = 0x150; // CUtlVector<FeTwistConstraint_t>
public const nint m_AxialEdges = 0x168; // CUtlVector<FeAxialEdgeBend_t> public const nint m_HingeLimits = 0x168; // CUtlVector<FeHingeLimit_t>
public const nint m_NodeInvMasses = 0x180; // CUtlVector<float32> public const nint m_AntiTunnelProbes = 0x180; // CUtlVector<FeAntiTunnelProbe_t>
public const nint m_CtrlOffsets = 0x198; // CUtlVector<FeCtrlOffset_t> public const nint m_AntiTunnelTargetNodes = 0x198; // CUtlVector<uint16>
public const nint m_CtrlOsOffsets = 0x1B0; // CUtlVector<FeCtrlOsOffset_t> public const nint m_AxialEdges = 0x1B0; // CUtlVector<FeAxialEdgeBend_t>
public const nint m_FollowNodes = 0x1C8; // CUtlVector<FeFollowNode_t> public const nint m_NodeInvMasses = 0x1C8; // CUtlVector<float32>
public const nint m_CollisionPlanes = 0x1E0; // CUtlVector<FeCollisionPlane_t> public const nint m_CtrlOffsets = 0x1E0; // CUtlVector<FeCtrlOffset_t>
public const nint m_NodeIntegrator = 0x1F8; // CUtlVector<FeNodeIntegrator_t> public const nint m_CtrlOsOffsets = 0x1F8; // CUtlVector<FeCtrlOsOffset_t>
public const nint m_SpringIntegrator = 0x210; // CUtlVector<FeSpringIntegrator_t> public const nint m_FollowNodes = 0x210; // CUtlVector<FeFollowNode_t>
public const nint m_SimdSpringIntegrator = 0x228; // CUtlVector<FeSimdSpringIntegrator_t> public const nint m_CollisionPlanes = 0x228; // CUtlVector<FeCollisionPlane_t>
public const nint m_WorldCollisionParams = 0x240; // CUtlVector<FeWorldCollisionParams_t> public const nint m_NodeIntegrator = 0x240; // CUtlVector<FeNodeIntegrator_t>
public const nint m_LegacyStretchForce = 0x258; // CUtlVector<float32> public const nint m_SpringIntegrator = 0x258; // CUtlVector<FeSpringIntegrator_t>
public const nint m_NodeCollisionRadii = 0x270; // CUtlVector<float32> public const nint m_SimdSpringIntegrator = 0x270; // CUtlVector<FeSimdSpringIntegrator_t>
public const nint m_DynNodeFriction = 0x288; // CUtlVector<float32> public const nint m_WorldCollisionParams = 0x288; // CUtlVector<FeWorldCollisionParams_t>
public const nint m_LocalRotation = 0x2A0; // CUtlVector<float32> public const nint m_LegacyStretchForce = 0x2A0; // CUtlVector<float32>
public const nint m_LocalForce = 0x2B8; // CUtlVector<float32> public const nint m_NodeCollisionRadii = 0x2B8; // CUtlVector<float32>
public const nint m_TaperedCapsuleStretches = 0x2D0; // CUtlVector<FeTaperedCapsuleStretch_t> public const nint m_DynNodeFriction = 0x2D0; // CUtlVector<float32>
public const nint m_TaperedCapsuleRigids = 0x2E8; // CUtlVector<FeTaperedCapsuleRigid_t> public const nint m_LocalRotation = 0x2E8; // CUtlVector<float32>
public const nint m_SphereRigids = 0x300; // CUtlVector<FeSphereRigid_t> public const nint m_LocalForce = 0x300; // CUtlVector<float32>
public const nint m_WorldCollisionNodes = 0x318; // CUtlVector<uint16> public const nint m_TaperedCapsuleStretches = 0x318; // CUtlVector<FeTaperedCapsuleStretch_t>
public const nint m_TreeParents = 0x330; // CUtlVector<uint16> public const nint m_TaperedCapsuleRigids = 0x330; // CUtlVector<FeTaperedCapsuleRigid_t>
public const nint m_TreeCollisionMasks = 0x348; // CUtlVector<uint16> public const nint m_SphereRigids = 0x348; // CUtlVector<FeSphereRigid_t>
public const nint m_TreeChildren = 0x360; // CUtlVector<FeTreeChildren_t> public const nint m_WorldCollisionNodes = 0x360; // CUtlVector<uint16>
public const nint m_FreeNodes = 0x378; // CUtlVector<uint16> public const nint m_TreeParents = 0x378; // CUtlVector<uint16>
public const nint m_FitMatrices = 0x390; // CUtlVector<FeFitMatrix_t> public const nint m_TreeCollisionMasks = 0x390; // CUtlVector<uint16>
public const nint m_FitWeights = 0x3A8; // CUtlVector<FeFitWeight_t> public const nint m_TreeChildren = 0x3A8; // CUtlVector<FeTreeChildren_t>
public const nint m_ReverseOffsets = 0x3C0; // CUtlVector<FeNodeReverseOffset_t> public const nint m_FreeNodes = 0x3C0; // CUtlVector<uint16>
public const nint m_AnimStrayRadii = 0x3D8; // CUtlVector<FeAnimStrayRadius_t> public const nint m_FitMatrices = 0x3D8; // CUtlVector<FeFitMatrix_t>
public const nint m_SimdAnimStrayRadii = 0x3F0; // CUtlVector<FeSimdAnimStrayRadius_t> public const nint m_FitWeights = 0x3F0; // CUtlVector<FeFitWeight_t>
public const nint m_KelagerBends = 0x408; // CUtlVector<FeKelagerBend2_t> public const nint m_ReverseOffsets = 0x408; // CUtlVector<FeNodeReverseOffset_t>
public const nint m_CtrlSoftOffsets = 0x420; // CUtlVector<FeCtrlSoftOffset_t> public const nint m_AnimStrayRadii = 0x420; // CUtlVector<FeAnimStrayRadius_t>
public const nint m_JiggleBones = 0x438; // CUtlVector<CFeIndexedJiggleBone> public const nint m_SimdAnimStrayRadii = 0x438; // CUtlVector<FeSimdAnimStrayRadius_t>
public const nint m_SourceElems = 0x450; // CUtlVector<uint16> public const nint m_KelagerBends = 0x450; // CUtlVector<FeKelagerBend2_t>
public const nint m_GoalDampedSpringIntegrators = 0x468; // CUtlVector<uint32> public const nint m_CtrlSoftOffsets = 0x468; // CUtlVector<FeCtrlSoftOffset_t>
public const nint m_Tris = 0x480; // CUtlVector<FeTri_t> public const nint m_JiggleBones = 0x480; // CUtlVector<CFeIndexedJiggleBone>
public const nint m_nTriCount1 = 0x498; // uint16 public const nint m_SourceElems = 0x498; // CUtlVector<uint16>
public const nint m_nTriCount2 = 0x49A; // uint16 public const nint m_GoalDampedSpringIntegrators = 0x4B0; // CUtlVector<uint32>
public const nint m_nReservedUint8 = 0x49C; // uint8 public const nint m_Tris = 0x4C8; // CUtlVector<FeTri_t>
public const nint m_nExtraPressureIterations = 0x49D; // uint8 public const nint m_nTriCount1 = 0x4E0; // uint16
public const nint m_nExtraGoalIterations = 0x49E; // uint8 public const nint m_nTriCount2 = 0x4E2; // uint16
public const nint m_nExtraIterations = 0x49F; // uint8 public const nint m_nReservedUint8 = 0x4E4; // uint8
public const nint m_BoxRigids = 0x4A0; // CUtlVector<FeBoxRigid_t> public const nint m_nExtraPressureIterations = 0x4E5; // uint8
public const nint m_DynNodeVertexSet = 0x4B8; // CUtlVector<uint8> public const nint m_nExtraGoalIterations = 0x4E6; // uint8
public const nint m_VertexSetNames = 0x4D0; // CUtlVector<uint32> public const nint m_nExtraIterations = 0x4E7; // uint8
public const nint m_RigidColliderPriorities = 0x4E8; // CUtlVector<FeRigidColliderIndices_t> public const nint m_SDFRigids = 0x4E8; // CUtlVector<FeSDFRigid_t>
public const nint m_MorphLayers = 0x500; // CUtlVector<FeMorphLayerDepr_t> public const nint m_BoxRigids = 0x500; // CUtlVector<FeBoxRigid_t>
public const nint m_MorphSetData = 0x518; // CUtlVector<uint8> public const nint m_DynNodeVertexSet = 0x518; // CUtlVector<uint8>
public const nint m_VertexMaps = 0x530; // CUtlVector<FeVertexMapDesc_t> public const nint m_VertexSetNames = 0x530; // CUtlVector<uint32>
public const nint m_VertexMapValues = 0x548; // CUtlVector<uint8> public const nint m_RigidColliderPriorities = 0x548; // CUtlVector<FeRigidColliderIndices_t>
public const nint m_Effects = 0x560; // CUtlVector<FeEffectDesc_t> public const nint m_MorphLayers = 0x560; // CUtlVector<FeMorphLayerDepr_t>
public const nint m_LockToParent = 0x578; // CUtlVector<FeCtrlOffset_t> public const nint m_MorphSetData = 0x578; // CUtlVector<uint8>
public const nint m_LockToGoal = 0x590; // CUtlVector<uint16> public const nint m_VertexMaps = 0x590; // CUtlVector<FeVertexMapDesc_t>
public const nint m_SkelParents = 0x5A8; // CUtlVector<int16> public const nint m_VertexMapValues = 0x5A8; // CUtlVector<uint8>
public const nint m_DynNodeWindBases = 0x5C0; // CUtlVector<FeNodeWindBase_t> public const nint m_Effects = 0x5C0; // CUtlVector<FeEffectDesc_t>
public const nint m_flInternalPressure = 0x5D8; // float32 public const nint m_LockToParent = 0x5D8; // CUtlVector<FeCtrlOffset_t>
public const nint m_flDefaultTimeDilation = 0x5DC; // float32 public const nint m_LockToGoal = 0x5F0; // CUtlVector<uint16>
public const nint m_flWindage = 0x5E0; // float32 public const nint m_SkelParents = 0x608; // CUtlVector<int16>
public const nint m_flWindDrag = 0x5E4; // float32 public const nint m_DynNodeWindBases = 0x620; // CUtlVector<FeNodeWindBase_t>
public const nint m_flDefaultSurfaceStretch = 0x5E8; // float32 public const nint m_flInternalPressure = 0x638; // float32
public const nint m_flDefaultThreadStretch = 0x5EC; // float32 public const nint m_flDefaultTimeDilation = 0x63C; // float32
public const nint m_flDefaultGravityScale = 0x5F0; // float32 public const nint m_flWindage = 0x640; // float32
public const nint m_flDefaultVelAirDrag = 0x5F4; // float32 public const nint m_flWindDrag = 0x644; // float32
public const nint m_flDefaultExpAirDrag = 0x5F8; // float32 public const nint m_flDefaultSurfaceStretch = 0x648; // float32
public const nint m_flDefaultVelQuadAirDrag = 0x5FC; // float32 public const nint m_flDefaultThreadStretch = 0x64C; // float32
public const nint m_flDefaultExpQuadAirDrag = 0x600; // float32 public const nint m_flDefaultGravityScale = 0x650; // float32
public const nint m_flRodVelocitySmoothRate = 0x604; // float32 public const nint m_flDefaultVelAirDrag = 0x654; // float32
public const nint m_flQuadVelocitySmoothRate = 0x608; // float32 public const nint m_flDefaultExpAirDrag = 0x658; // float32
public const nint m_flAddWorldCollisionRadius = 0x60C; // float32 public const nint m_flDefaultVelQuadAirDrag = 0x65C; // float32
public const nint m_flDefaultVolumetricSolveAmount = 0x610; // float32 public const nint m_flDefaultExpQuadAirDrag = 0x660; // float32
public const nint m_nRodVelocitySmoothIterations = 0x614; // uint16 public const nint m_flRodVelocitySmoothRate = 0x664; // float32
public const nint m_nQuadVelocitySmoothIterations = 0x616; // uint16 public const nint m_flQuadVelocitySmoothRate = 0x668; // float32
public const nint m_flAddWorldCollisionRadius = 0x66C; // float32
public const nint m_flDefaultVolumetricSolveAmount = 0x670; // float32
public const nint m_flMotionSmoothCDT = 0x674; // float32
public const nint m_flLocalDrag1 = 0x678; // float32
public const nint m_nRodVelocitySmoothIterations = 0x67C; // uint16
public const nint m_nQuadVelocitySmoothIterations = 0x67E; // uint16
} }
// Parent: RnBodyDesc_t // Parent: RnBodyDesc_t
// Fields count: 1 // Fields count: 1
@@ -201,8 +207,8 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class FeBuildBoxRigid_t { public static class FeBuildBoxRigid_t {
public const nint m_nPriority = 0x40; // int32 public const nint m_nPriority = 0x34; // int32
public const nint m_nVertexMapHash = 0x44; // uint32 public const nint m_nVertexMapHash = 0x38; // uint32
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -341,6 +347,20 @@ namespace CS2Dumper.Schemas {
public const nint m_jiggleBone = 0x34; // CFeJiggleBone public const nint m_jiggleBone = 0x34; // CFeJiggleBone
} }
// Parent: None // Parent: None
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
public static class FeAntiTunnelProbeBuild_t {
public const nint flWeight = 0x0; // float32
public const nint flActivationDistance = 0x4; // float32
public const nint flBias = 0x8; // float32
public const nint flCurvature = 0xC; // float32
public const nint nFlags = 0x10; // uint32
public const nint nProbeNode = 0x14; // uint16
public const nint targetNodes = 0x18; // CUtlVector<uint16>
}
// Parent: None
// Fields count: 35 // Fields count: 35
// //
// Metadata: // Metadata:
@@ -434,6 +454,15 @@ namespace CS2Dumper.Schemas {
public const nint m_vPosition = 0x0; // Vector public const nint m_vPosition = 0x0; // Vector
public const nint m_vNormal = 0xC; // Vector public const nint m_vNormal = 0xC; // Vector
} }
// Parent: FeSDFRigid_t
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
public static class FeBuildSDFRigid_t {
public const nint m_nPriority = 0x4C; // int32
public const nint m_nVertexMapHash = 0x50; // uint32
}
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
// //
@@ -545,6 +574,24 @@ namespace CS2Dumper.Schemas {
public const nint m_flOffset = 0xC; // float32 public const nint m_flOffset = 0xC; // float32
} }
// Parent: None // Parent: None
// Fields count: 11
//
// Metadata:
// MGetKV3ClassDefaults
public static class FeSDFRigid_t {
public const nint vLocalMin = 0x0; // Vector
public const nint vLocalMax = 0xC; // Vector
public const nint flBounciness = 0x18; // float32
public const nint nNode = 0x1C; // uint16
public const nint nCollisionMask = 0x1E; // uint16
public const nint nVertexMapIndex = 0x20; // uint16
public const nint nFlags = 0x22; // uint16
public const nint m_Distances = 0x28; // CUtlVector<float32>
public const nint m_nWidth = 0x40; // int32
public const nint m_nHeight = 0x44; // int32
public const nint m_nDepth = 0x48; // int32
}
// Parent: None
// Fields count: 35 // Fields count: 35
// //
// Metadata: // Metadata:
@@ -677,6 +724,19 @@ namespace CS2Dumper.Schemas {
public const nint vShape = 0xC; // Vector4D[4] public const nint vShape = 0xC; // Vector4D[4]
} }
// Parent: None // Parent: None
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
public static class FeHingeLimit_t {
public const nint nNode = 0x0; // uint16[6]
public const nint nFlags = 0xC; // uint32
public const nint flWeight4 = 0x10; // float32
public const nint flWeight5 = 0x14; // float32
public const nint flAngleCenter = 0x18; // float32
public const nint flAngleExtents = 0x1C; // float32
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -750,7 +810,7 @@ namespace CS2Dumper.Schemas {
public const nint m_pHull = 0x28; // RnHull_t* public const nint m_pHull = 0x28; // RnHull_t*
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -758,7 +818,8 @@ namespace CS2Dumper.Schemas {
public const nint m_nTaperedCapsuleRigidIndex = 0x0; // uint16 public const nint m_nTaperedCapsuleRigidIndex = 0x0; // uint16
public const nint m_nSphereRigidIndex = 0x2; // uint16 public const nint m_nSphereRigidIndex = 0x2; // uint16
public const nint m_nBoxRigidIndex = 0x4; // uint16 public const nint m_nBoxRigidIndex = 0x4; // uint16
public const nint m_nCollisionPlaneIndex = 0x6; // uint16 public const nint m_nSDFRigidIndex = 0x6; // uint16
public const nint m_nCollisionPlaneIndex = 0x8; // uint16
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -937,6 +998,21 @@ namespace CS2Dumper.Schemas {
public const nint nCtrlChild = 0x2; // uint16 public const nint nCtrlChild = 0x2; // uint16
} }
// Parent: None // Parent: None
// Fields count: 8
//
// Metadata:
// MGetKV3ClassDefaults
public static class FeAntiTunnelProbe_t {
public const nint flWeight = 0x0; // float32
public const nint nFlags = 0x4; // uint32
public const nint nProbeNode = 0x8; // uint16
public const nint nCount = 0xA; // uint16
public const nint nBegin = 0xC; // uint32
public const nint flActivationDistance = 0x10; // float32
public const nint flCurvatureRadius = 0x14; // float32
public const nint flBias = 0x18; // float32
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -1029,7 +1105,7 @@ namespace CS2Dumper.Schemas {
public const nint flAlpha = 0x4; // float32 public const nint flAlpha = 0x4; // float32
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 6
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -1037,6 +1113,9 @@ namespace CS2Dumper.Schemas {
public const nint m_nCollisionAttributeIndex = 0x0; // uint32 public const nint m_nCollisionAttributeIndex = 0x0; // uint32
public const nint m_nSurfacePropertyIndex = 0x4; // uint32 public const nint m_nSurfacePropertyIndex = 0x4; // uint32
public const nint m_UserFriendlyName = 0x8; // CUtlString public const nint m_UserFriendlyName = 0x8; // CUtlString
public const nint m_bUserFriendlyNameSealed = 0x10; // bool
public const nint m_bUserFriendlyNameLong = 0x11; // bool
public const nint m_nToolMaterialHash = 0x14; // uint32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -1106,5 +1185,16 @@ namespace CS2Dumper.Schemas {
public const nint flWeight = 0x4; // float32 public const nint flWeight = 0x4; // float32
public const nint nMatrixNode = 0x8; // uint32 public const nint nMatrixNode = 0x8; // uint32
} }
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
public static class FeHingeLimitBuild_t {
public const nint nNode = 0x0; // uint16[6]
public const nint nFlags = 0xC; // uint32
public const nint flLimitCW = 0x10; // float32
public const nint flLimitCCW = 0x14; // float32
}
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: vphysics2.dll // Module: libvphysics2.so
// Classes count: 88 // Classes count: 94
// Enums count: 2 // Enums count: 2
namespace vphysics2_dll { namespace libvphysics2_so {
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
enum class JointMotion_t : uint32_t { enum class JointMotion_t : uint32_t {
@@ -49,7 +49,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace RnHullDesc_t { namespace RnHullDesc_t {
constexpr std::ptrdiff_t m_Hull = 0x10; // RnHull_t constexpr std::ptrdiff_t m_Hull = 0x18; // RnHull_t
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -67,7 +67,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace RnCapsuleDesc_t { namespace RnCapsuleDesc_t {
constexpr std::ptrdiff_t m_Capsule = 0x10; // RnCapsule_t constexpr std::ptrdiff_t m_Capsule = 0x18; // RnCapsule_t
} }
// Parent: RnShapeDesc_t // Parent: RnShapeDesc_t
// Fields count: 1 // Fields count: 1
@@ -75,7 +75,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace RnSphereDesc_t { namespace RnSphereDesc_t {
constexpr std::ptrdiff_t m_Sphere = 0x10; // SphereBase_t<float32> constexpr std::ptrdiff_t m_Sphere = 0x18; // SphereBase_t<float32>
} }
// Parent: RnShapeDesc_t // Parent: RnShapeDesc_t
// Fields count: 1 // Fields count: 1
@@ -83,10 +83,10 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace RnMeshDesc_t { namespace RnMeshDesc_t {
constexpr std::ptrdiff_t m_Mesh = 0x10; // RnMesh_t constexpr std::ptrdiff_t m_Mesh = 0x18; // RnMesh_t
} }
// Parent: None // Parent: None
// Fields count: 100 // Fields count: 106
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -121,76 +121,82 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_InitPose = 0x120; // CUtlVector<CTransform> constexpr std::ptrdiff_t m_InitPose = 0x120; // CUtlVector<CTransform>
constexpr std::ptrdiff_t m_Rods = 0x138; // CUtlVector<FeRodConstraint_t> constexpr std::ptrdiff_t m_Rods = 0x138; // CUtlVector<FeRodConstraint_t>
constexpr std::ptrdiff_t m_Twists = 0x150; // CUtlVector<FeTwistConstraint_t> constexpr std::ptrdiff_t m_Twists = 0x150; // CUtlVector<FeTwistConstraint_t>
constexpr std::ptrdiff_t m_AxialEdges = 0x168; // CUtlVector<FeAxialEdgeBend_t> constexpr std::ptrdiff_t m_HingeLimits = 0x168; // CUtlVector<FeHingeLimit_t>
constexpr std::ptrdiff_t m_NodeInvMasses = 0x180; // CUtlVector<float32> constexpr std::ptrdiff_t m_AntiTunnelProbes = 0x180; // CUtlVector<FeAntiTunnelProbe_t>
constexpr std::ptrdiff_t m_CtrlOffsets = 0x198; // CUtlVector<FeCtrlOffset_t> constexpr std::ptrdiff_t m_AntiTunnelTargetNodes = 0x198; // CUtlVector<uint16>
constexpr std::ptrdiff_t m_CtrlOsOffsets = 0x1B0; // CUtlVector<FeCtrlOsOffset_t> constexpr std::ptrdiff_t m_AxialEdges = 0x1B0; // CUtlVector<FeAxialEdgeBend_t>
constexpr std::ptrdiff_t m_FollowNodes = 0x1C8; // CUtlVector<FeFollowNode_t> constexpr std::ptrdiff_t m_NodeInvMasses = 0x1C8; // CUtlVector<float32>
constexpr std::ptrdiff_t m_CollisionPlanes = 0x1E0; // CUtlVector<FeCollisionPlane_t> constexpr std::ptrdiff_t m_CtrlOffsets = 0x1E0; // CUtlVector<FeCtrlOffset_t>
constexpr std::ptrdiff_t m_NodeIntegrator = 0x1F8; // CUtlVector<FeNodeIntegrator_t> constexpr std::ptrdiff_t m_CtrlOsOffsets = 0x1F8; // CUtlVector<FeCtrlOsOffset_t>
constexpr std::ptrdiff_t m_SpringIntegrator = 0x210; // CUtlVector<FeSpringIntegrator_t> constexpr std::ptrdiff_t m_FollowNodes = 0x210; // CUtlVector<FeFollowNode_t>
constexpr std::ptrdiff_t m_SimdSpringIntegrator = 0x228; // CUtlVector<FeSimdSpringIntegrator_t> constexpr std::ptrdiff_t m_CollisionPlanes = 0x228; // CUtlVector<FeCollisionPlane_t>
constexpr std::ptrdiff_t m_WorldCollisionParams = 0x240; // CUtlVector<FeWorldCollisionParams_t> constexpr std::ptrdiff_t m_NodeIntegrator = 0x240; // CUtlVector<FeNodeIntegrator_t>
constexpr std::ptrdiff_t m_LegacyStretchForce = 0x258; // CUtlVector<float32> constexpr std::ptrdiff_t m_SpringIntegrator = 0x258; // CUtlVector<FeSpringIntegrator_t>
constexpr std::ptrdiff_t m_NodeCollisionRadii = 0x270; // CUtlVector<float32> constexpr std::ptrdiff_t m_SimdSpringIntegrator = 0x270; // CUtlVector<FeSimdSpringIntegrator_t>
constexpr std::ptrdiff_t m_DynNodeFriction = 0x288; // CUtlVector<float32> constexpr std::ptrdiff_t m_WorldCollisionParams = 0x288; // CUtlVector<FeWorldCollisionParams_t>
constexpr std::ptrdiff_t m_LocalRotation = 0x2A0; // CUtlVector<float32> constexpr std::ptrdiff_t m_LegacyStretchForce = 0x2A0; // CUtlVector<float32>
constexpr std::ptrdiff_t m_LocalForce = 0x2B8; // CUtlVector<float32> constexpr std::ptrdiff_t m_NodeCollisionRadii = 0x2B8; // CUtlVector<float32>
constexpr std::ptrdiff_t m_TaperedCapsuleStretches = 0x2D0; // CUtlVector<FeTaperedCapsuleStretch_t> constexpr std::ptrdiff_t m_DynNodeFriction = 0x2D0; // CUtlVector<float32>
constexpr std::ptrdiff_t m_TaperedCapsuleRigids = 0x2E8; // CUtlVector<FeTaperedCapsuleRigid_t> constexpr std::ptrdiff_t m_LocalRotation = 0x2E8; // CUtlVector<float32>
constexpr std::ptrdiff_t m_SphereRigids = 0x300; // CUtlVector<FeSphereRigid_t> constexpr std::ptrdiff_t m_LocalForce = 0x300; // CUtlVector<float32>
constexpr std::ptrdiff_t m_WorldCollisionNodes = 0x318; // CUtlVector<uint16> constexpr std::ptrdiff_t m_TaperedCapsuleStretches = 0x318; // CUtlVector<FeTaperedCapsuleStretch_t>
constexpr std::ptrdiff_t m_TreeParents = 0x330; // CUtlVector<uint16> constexpr std::ptrdiff_t m_TaperedCapsuleRigids = 0x330; // CUtlVector<FeTaperedCapsuleRigid_t>
constexpr std::ptrdiff_t m_TreeCollisionMasks = 0x348; // CUtlVector<uint16> constexpr std::ptrdiff_t m_SphereRigids = 0x348; // CUtlVector<FeSphereRigid_t>
constexpr std::ptrdiff_t m_TreeChildren = 0x360; // CUtlVector<FeTreeChildren_t> constexpr std::ptrdiff_t m_WorldCollisionNodes = 0x360; // CUtlVector<uint16>
constexpr std::ptrdiff_t m_FreeNodes = 0x378; // CUtlVector<uint16> constexpr std::ptrdiff_t m_TreeParents = 0x378; // CUtlVector<uint16>
constexpr std::ptrdiff_t m_FitMatrices = 0x390; // CUtlVector<FeFitMatrix_t> constexpr std::ptrdiff_t m_TreeCollisionMasks = 0x390; // CUtlVector<uint16>
constexpr std::ptrdiff_t m_FitWeights = 0x3A8; // CUtlVector<FeFitWeight_t> constexpr std::ptrdiff_t m_TreeChildren = 0x3A8; // CUtlVector<FeTreeChildren_t>
constexpr std::ptrdiff_t m_ReverseOffsets = 0x3C0; // CUtlVector<FeNodeReverseOffset_t> constexpr std::ptrdiff_t m_FreeNodes = 0x3C0; // CUtlVector<uint16>
constexpr std::ptrdiff_t m_AnimStrayRadii = 0x3D8; // CUtlVector<FeAnimStrayRadius_t> constexpr std::ptrdiff_t m_FitMatrices = 0x3D8; // CUtlVector<FeFitMatrix_t>
constexpr std::ptrdiff_t m_SimdAnimStrayRadii = 0x3F0; // CUtlVector<FeSimdAnimStrayRadius_t> constexpr std::ptrdiff_t m_FitWeights = 0x3F0; // CUtlVector<FeFitWeight_t>
constexpr std::ptrdiff_t m_KelagerBends = 0x408; // CUtlVector<FeKelagerBend2_t> constexpr std::ptrdiff_t m_ReverseOffsets = 0x408; // CUtlVector<FeNodeReverseOffset_t>
constexpr std::ptrdiff_t m_CtrlSoftOffsets = 0x420; // CUtlVector<FeCtrlSoftOffset_t> constexpr std::ptrdiff_t m_AnimStrayRadii = 0x420; // CUtlVector<FeAnimStrayRadius_t>
constexpr std::ptrdiff_t m_JiggleBones = 0x438; // CUtlVector<CFeIndexedJiggleBone> constexpr std::ptrdiff_t m_SimdAnimStrayRadii = 0x438; // CUtlVector<FeSimdAnimStrayRadius_t>
constexpr std::ptrdiff_t m_SourceElems = 0x450; // CUtlVector<uint16> constexpr std::ptrdiff_t m_KelagerBends = 0x450; // CUtlVector<FeKelagerBend2_t>
constexpr std::ptrdiff_t m_GoalDampedSpringIntegrators = 0x468; // CUtlVector<uint32> constexpr std::ptrdiff_t m_CtrlSoftOffsets = 0x468; // CUtlVector<FeCtrlSoftOffset_t>
constexpr std::ptrdiff_t m_Tris = 0x480; // CUtlVector<FeTri_t> constexpr std::ptrdiff_t m_JiggleBones = 0x480; // CUtlVector<CFeIndexedJiggleBone>
constexpr std::ptrdiff_t m_nTriCount1 = 0x498; // uint16 constexpr std::ptrdiff_t m_SourceElems = 0x498; // CUtlVector<uint16>
constexpr std::ptrdiff_t m_nTriCount2 = 0x49A; // uint16 constexpr std::ptrdiff_t m_GoalDampedSpringIntegrators = 0x4B0; // CUtlVector<uint32>
constexpr std::ptrdiff_t m_nReservedUint8 = 0x49C; // uint8 constexpr std::ptrdiff_t m_Tris = 0x4C8; // CUtlVector<FeTri_t>
constexpr std::ptrdiff_t m_nExtraPressureIterations = 0x49D; // uint8 constexpr std::ptrdiff_t m_nTriCount1 = 0x4E0; // uint16
constexpr std::ptrdiff_t m_nExtraGoalIterations = 0x49E; // uint8 constexpr std::ptrdiff_t m_nTriCount2 = 0x4E2; // uint16
constexpr std::ptrdiff_t m_nExtraIterations = 0x49F; // uint8 constexpr std::ptrdiff_t m_nReservedUint8 = 0x4E4; // uint8
constexpr std::ptrdiff_t m_BoxRigids = 0x4A0; // CUtlVector<FeBoxRigid_t> constexpr std::ptrdiff_t m_nExtraPressureIterations = 0x4E5; // uint8
constexpr std::ptrdiff_t m_DynNodeVertexSet = 0x4B8; // CUtlVector<uint8> constexpr std::ptrdiff_t m_nExtraGoalIterations = 0x4E6; // uint8
constexpr std::ptrdiff_t m_VertexSetNames = 0x4D0; // CUtlVector<uint32> constexpr std::ptrdiff_t m_nExtraIterations = 0x4E7; // uint8
constexpr std::ptrdiff_t m_RigidColliderPriorities = 0x4E8; // CUtlVector<FeRigidColliderIndices_t> constexpr std::ptrdiff_t m_SDFRigids = 0x4E8; // CUtlVector<FeSDFRigid_t>
constexpr std::ptrdiff_t m_MorphLayers = 0x500; // CUtlVector<FeMorphLayerDepr_t> constexpr std::ptrdiff_t m_BoxRigids = 0x500; // CUtlVector<FeBoxRigid_t>
constexpr std::ptrdiff_t m_MorphSetData = 0x518; // CUtlVector<uint8> constexpr std::ptrdiff_t m_DynNodeVertexSet = 0x518; // CUtlVector<uint8>
constexpr std::ptrdiff_t m_VertexMaps = 0x530; // CUtlVector<FeVertexMapDesc_t> constexpr std::ptrdiff_t m_VertexSetNames = 0x530; // CUtlVector<uint32>
constexpr std::ptrdiff_t m_VertexMapValues = 0x548; // CUtlVector<uint8> constexpr std::ptrdiff_t m_RigidColliderPriorities = 0x548; // CUtlVector<FeRigidColliderIndices_t>
constexpr std::ptrdiff_t m_Effects = 0x560; // CUtlVector<FeEffectDesc_t> constexpr std::ptrdiff_t m_MorphLayers = 0x560; // CUtlVector<FeMorphLayerDepr_t>
constexpr std::ptrdiff_t m_LockToParent = 0x578; // CUtlVector<FeCtrlOffset_t> constexpr std::ptrdiff_t m_MorphSetData = 0x578; // CUtlVector<uint8>
constexpr std::ptrdiff_t m_LockToGoal = 0x590; // CUtlVector<uint16> constexpr std::ptrdiff_t m_VertexMaps = 0x590; // CUtlVector<FeVertexMapDesc_t>
constexpr std::ptrdiff_t m_SkelParents = 0x5A8; // CUtlVector<int16> constexpr std::ptrdiff_t m_VertexMapValues = 0x5A8; // CUtlVector<uint8>
constexpr std::ptrdiff_t m_DynNodeWindBases = 0x5C0; // CUtlVector<FeNodeWindBase_t> constexpr std::ptrdiff_t m_Effects = 0x5C0; // CUtlVector<FeEffectDesc_t>
constexpr std::ptrdiff_t m_flInternalPressure = 0x5D8; // float32 constexpr std::ptrdiff_t m_LockToParent = 0x5D8; // CUtlVector<FeCtrlOffset_t>
constexpr std::ptrdiff_t m_flDefaultTimeDilation = 0x5DC; // float32 constexpr std::ptrdiff_t m_LockToGoal = 0x5F0; // CUtlVector<uint16>
constexpr std::ptrdiff_t m_flWindage = 0x5E0; // float32 constexpr std::ptrdiff_t m_SkelParents = 0x608; // CUtlVector<int16>
constexpr std::ptrdiff_t m_flWindDrag = 0x5E4; // float32 constexpr std::ptrdiff_t m_DynNodeWindBases = 0x620; // CUtlVector<FeNodeWindBase_t>
constexpr std::ptrdiff_t m_flDefaultSurfaceStretch = 0x5E8; // float32 constexpr std::ptrdiff_t m_flInternalPressure = 0x638; // float32
constexpr std::ptrdiff_t m_flDefaultThreadStretch = 0x5EC; // float32 constexpr std::ptrdiff_t m_flDefaultTimeDilation = 0x63C; // float32
constexpr std::ptrdiff_t m_flDefaultGravityScale = 0x5F0; // float32 constexpr std::ptrdiff_t m_flWindage = 0x640; // float32
constexpr std::ptrdiff_t m_flDefaultVelAirDrag = 0x5F4; // float32 constexpr std::ptrdiff_t m_flWindDrag = 0x644; // float32
constexpr std::ptrdiff_t m_flDefaultExpAirDrag = 0x5F8; // float32 constexpr std::ptrdiff_t m_flDefaultSurfaceStretch = 0x648; // float32
constexpr std::ptrdiff_t m_flDefaultVelQuadAirDrag = 0x5FC; // float32 constexpr std::ptrdiff_t m_flDefaultThreadStretch = 0x64C; // float32
constexpr std::ptrdiff_t m_flDefaultExpQuadAirDrag = 0x600; // float32 constexpr std::ptrdiff_t m_flDefaultGravityScale = 0x650; // float32
constexpr std::ptrdiff_t m_flRodVelocitySmoothRate = 0x604; // float32 constexpr std::ptrdiff_t m_flDefaultVelAirDrag = 0x654; // float32
constexpr std::ptrdiff_t m_flQuadVelocitySmoothRate = 0x608; // float32 constexpr std::ptrdiff_t m_flDefaultExpAirDrag = 0x658; // float32
constexpr std::ptrdiff_t m_flAddWorldCollisionRadius = 0x60C; // float32 constexpr std::ptrdiff_t m_flDefaultVelQuadAirDrag = 0x65C; // float32
constexpr std::ptrdiff_t m_flDefaultVolumetricSolveAmount = 0x610; // float32 constexpr std::ptrdiff_t m_flDefaultExpQuadAirDrag = 0x660; // float32
constexpr std::ptrdiff_t m_nRodVelocitySmoothIterations = 0x614; // uint16 constexpr std::ptrdiff_t m_flRodVelocitySmoothRate = 0x664; // float32
constexpr std::ptrdiff_t m_nQuadVelocitySmoothIterations = 0x616; // uint16 constexpr std::ptrdiff_t m_flQuadVelocitySmoothRate = 0x668; // float32
constexpr std::ptrdiff_t m_flAddWorldCollisionRadius = 0x66C; // float32
constexpr std::ptrdiff_t m_flDefaultVolumetricSolveAmount = 0x670; // float32
constexpr std::ptrdiff_t m_flMotionSmoothCDT = 0x674; // float32
constexpr std::ptrdiff_t m_flLocalDrag1 = 0x678; // float32
constexpr std::ptrdiff_t m_nRodVelocitySmoothIterations = 0x67C; // uint16
constexpr std::ptrdiff_t m_nQuadVelocitySmoothIterations = 0x67E; // uint16
} }
// Parent: RnBodyDesc_t // Parent: RnBodyDesc_t
// Fields count: 1 // Fields count: 1
@@ -206,8 +212,8 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace FeBuildBoxRigid_t { namespace FeBuildBoxRigid_t {
constexpr std::ptrdiff_t m_nPriority = 0x40; // int32 constexpr std::ptrdiff_t m_nPriority = 0x34; // int32
constexpr std::ptrdiff_t m_nVertexMapHash = 0x44; // uint32 constexpr std::ptrdiff_t m_nVertexMapHash = 0x38; // uint32
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -346,6 +352,20 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_jiggleBone = 0x34; // CFeJiggleBone constexpr std::ptrdiff_t m_jiggleBone = 0x34; // CFeJiggleBone
} }
// Parent: None // Parent: None
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
namespace FeAntiTunnelProbeBuild_t {
constexpr std::ptrdiff_t flWeight = 0x0; // float32
constexpr std::ptrdiff_t flActivationDistance = 0x4; // float32
constexpr std::ptrdiff_t flBias = 0x8; // float32
constexpr std::ptrdiff_t flCurvature = 0xC; // float32
constexpr std::ptrdiff_t nFlags = 0x10; // uint32
constexpr std::ptrdiff_t nProbeNode = 0x14; // uint16
constexpr std::ptrdiff_t targetNodes = 0x18; // CUtlVector<uint16>
}
// Parent: None
// Fields count: 35 // Fields count: 35
// //
// Metadata: // Metadata:
@@ -439,6 +459,15 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_vPosition = 0x0; // Vector constexpr std::ptrdiff_t m_vPosition = 0x0; // Vector
constexpr std::ptrdiff_t m_vNormal = 0xC; // Vector constexpr std::ptrdiff_t m_vNormal = 0xC; // Vector
} }
// Parent: FeSDFRigid_t
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
namespace FeBuildSDFRigid_t {
constexpr std::ptrdiff_t m_nPriority = 0x4C; // int32
constexpr std::ptrdiff_t m_nVertexMapHash = 0x50; // uint32
}
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
// //
@@ -550,6 +579,24 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_flOffset = 0xC; // float32 constexpr std::ptrdiff_t m_flOffset = 0xC; // float32
} }
// Parent: None // Parent: None
// Fields count: 11
//
// Metadata:
// MGetKV3ClassDefaults
namespace FeSDFRigid_t {
constexpr std::ptrdiff_t vLocalMin = 0x0; // Vector
constexpr std::ptrdiff_t vLocalMax = 0xC; // Vector
constexpr std::ptrdiff_t flBounciness = 0x18; // float32
constexpr std::ptrdiff_t nNode = 0x1C; // uint16
constexpr std::ptrdiff_t nCollisionMask = 0x1E; // uint16
constexpr std::ptrdiff_t nVertexMapIndex = 0x20; // uint16
constexpr std::ptrdiff_t nFlags = 0x22; // uint16
constexpr std::ptrdiff_t m_Distances = 0x28; // CUtlVector<float32>
constexpr std::ptrdiff_t m_nWidth = 0x40; // int32
constexpr std::ptrdiff_t m_nHeight = 0x44; // int32
constexpr std::ptrdiff_t m_nDepth = 0x48; // int32
}
// Parent: None
// Fields count: 35 // Fields count: 35
// //
// Metadata: // Metadata:
@@ -682,6 +729,19 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t vShape = 0xC; // Vector4D[4] constexpr std::ptrdiff_t vShape = 0xC; // Vector4D[4]
} }
// Parent: None // Parent: None
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
namespace FeHingeLimit_t {
constexpr std::ptrdiff_t nNode = 0x0; // uint16[6]
constexpr std::ptrdiff_t nFlags = 0xC; // uint32
constexpr std::ptrdiff_t flWeight4 = 0x10; // float32
constexpr std::ptrdiff_t flWeight5 = 0x14; // float32
constexpr std::ptrdiff_t flAngleCenter = 0x18; // float32
constexpr std::ptrdiff_t flAngleExtents = 0x1C; // float32
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -755,7 +815,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_pHull = 0x28; // RnHull_t* constexpr std::ptrdiff_t m_pHull = 0x28; // RnHull_t*
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -763,7 +823,8 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nTaperedCapsuleRigidIndex = 0x0; // uint16 constexpr std::ptrdiff_t m_nTaperedCapsuleRigidIndex = 0x0; // uint16
constexpr std::ptrdiff_t m_nSphereRigidIndex = 0x2; // uint16 constexpr std::ptrdiff_t m_nSphereRigidIndex = 0x2; // uint16
constexpr std::ptrdiff_t m_nBoxRigidIndex = 0x4; // uint16 constexpr std::ptrdiff_t m_nBoxRigidIndex = 0x4; // uint16
constexpr std::ptrdiff_t m_nCollisionPlaneIndex = 0x6; // uint16 constexpr std::ptrdiff_t m_nSDFRigidIndex = 0x6; // uint16
constexpr std::ptrdiff_t m_nCollisionPlaneIndex = 0x8; // uint16
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -942,6 +1003,21 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t nCtrlChild = 0x2; // uint16 constexpr std::ptrdiff_t nCtrlChild = 0x2; // uint16
} }
// Parent: None // Parent: None
// Fields count: 8
//
// Metadata:
// MGetKV3ClassDefaults
namespace FeAntiTunnelProbe_t {
constexpr std::ptrdiff_t flWeight = 0x0; // float32
constexpr std::ptrdiff_t nFlags = 0x4; // uint32
constexpr std::ptrdiff_t nProbeNode = 0x8; // uint16
constexpr std::ptrdiff_t nCount = 0xA; // uint16
constexpr std::ptrdiff_t nBegin = 0xC; // uint32
constexpr std::ptrdiff_t flActivationDistance = 0x10; // float32
constexpr std::ptrdiff_t flCurvatureRadius = 0x14; // float32
constexpr std::ptrdiff_t flBias = 0x18; // float32
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -1034,7 +1110,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t flAlpha = 0x4; // float32 constexpr std::ptrdiff_t flAlpha = 0x4; // float32
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 6
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -1042,6 +1118,9 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nCollisionAttributeIndex = 0x0; // uint32 constexpr std::ptrdiff_t m_nCollisionAttributeIndex = 0x0; // uint32
constexpr std::ptrdiff_t m_nSurfacePropertyIndex = 0x4; // uint32 constexpr std::ptrdiff_t m_nSurfacePropertyIndex = 0x4; // uint32
constexpr std::ptrdiff_t m_UserFriendlyName = 0x8; // CUtlString constexpr std::ptrdiff_t m_UserFriendlyName = 0x8; // CUtlString
constexpr std::ptrdiff_t m_bUserFriendlyNameSealed = 0x10; // bool
constexpr std::ptrdiff_t m_bUserFriendlyNameLong = 0x11; // bool
constexpr std::ptrdiff_t m_nToolMaterialHash = 0x14; // uint32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -1111,6 +1190,17 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t flWeight = 0x4; // float32 constexpr std::ptrdiff_t flWeight = 0x4; // float32
constexpr std::ptrdiff_t nMatrixNode = 0x8; // uint32 constexpr std::ptrdiff_t nMatrixNode = 0x8; // uint32
} }
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
namespace FeHingeLimitBuild_t {
constexpr std::ptrdiff_t nNode = 0x0; // uint16[6]
constexpr std::ptrdiff_t nFlags = 0xC; // uint32
constexpr std::ptrdiff_t flLimitCW = 0x10; // float32
constexpr std::ptrdiff_t flLimitCCW = 0x14; // float32
}
} }
} }
} }

View File

@@ -1,5 +1,5 @@
{ {
"vphysics2.dll": { "libvphysics2.so": {
"classes": { "classes": {
"CFeIndexedJiggleBone": { "CFeIndexedJiggleBone": {
"fields": { "fields": {
@@ -177,6 +177,43 @@
], ],
"parent": null "parent": null
}, },
"FeAntiTunnelProbeBuild_t": {
"fields": {
"flActivationDistance": 4,
"flBias": 8,
"flCurvature": 12,
"flWeight": 0,
"nFlags": 16,
"nProbeNode": 20,
"targetNodes": 24
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"FeAntiTunnelProbe_t": {
"fields": {
"flActivationDistance": 16,
"flBias": 24,
"flCurvatureRadius": 20,
"flWeight": 0,
"nBegin": 12,
"nCount": 10,
"nFlags": 4,
"nProbeNode": 8
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"FeAxialEdgeBend_t": { "FeAxialEdgeBend_t": {
"fields": { "fields": {
"flDist": 8, "flDist": 8,
@@ -226,8 +263,8 @@
}, },
"FeBuildBoxRigid_t": { "FeBuildBoxRigid_t": {
"fields": { "fields": {
"m_nPriority": 64, "m_nPriority": 52,
"m_nVertexMapHash": 68 "m_nVertexMapHash": 56
}, },
"metadata": [ "metadata": [
{ {
@@ -237,6 +274,19 @@
], ],
"parent": "FeBoxRigid_t" "parent": "FeBoxRigid_t"
}, },
"FeBuildSDFRigid_t": {
"fields": {
"m_nPriority": 76,
"m_nVertexMapHash": 80
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": "FeSDFRigid_t"
},
"FeBuildSphereRigid_t": { "FeBuildSphereRigid_t": {
"fields": { "fields": {
"m_nPriority": 32, "m_nPriority": 32,
@@ -407,6 +457,38 @@
], ],
"parent": null "parent": null
}, },
"FeHingeLimitBuild_t": {
"fields": {
"flLimitCCW": 20,
"flLimitCW": 16,
"nFlags": 12,
"nNode": 0
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"FeHingeLimit_t": {
"fields": {
"flAngleCenter": 24,
"flAngleExtents": 28,
"flWeight4": 16,
"flWeight5": 20,
"nFlags": 12,
"nNode": 0
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"FeKelagerBend2_t": { "FeKelagerBend2_t": {
"fields": { "fields": {
"flHeight0": 12, "flHeight0": 12,
@@ -533,7 +615,8 @@
"FeRigidColliderIndices_t": { "FeRigidColliderIndices_t": {
"fields": { "fields": {
"m_nBoxRigidIndex": 4, "m_nBoxRigidIndex": 4,
"m_nCollisionPlaneIndex": 6, "m_nCollisionPlaneIndex": 8,
"m_nSDFRigidIndex": 6,
"m_nSphereRigidIndex": 2, "m_nSphereRigidIndex": 2,
"m_nTaperedCapsuleRigidIndex": 0 "m_nTaperedCapsuleRigidIndex": 0
}, },
@@ -561,6 +644,28 @@
], ],
"parent": null "parent": null
}, },
"FeSDFRigid_t": {
"fields": {
"flBounciness": 24,
"m_Distances": 40,
"m_nDepth": 72,
"m_nHeight": 68,
"m_nWidth": 64,
"nCollisionMask": 30,
"nFlags": 34,
"nNode": 28,
"nVertexMapIndex": 32,
"vLocalMax": 12,
"vLocalMin": 0
},
"metadata": [
{
"name": "MGetKV3ClassDefaults",
"type": "Unknown"
}
],
"parent": null
},
"FeSimdAnimStrayRadius_t": { "FeSimdAnimStrayRadius_t": {
"fields": { "fields": {
"flMaxDist": 16, "flMaxDist": 16,
@@ -942,95 +1047,101 @@
}, },
"PhysFeModelDesc_t": { "PhysFeModelDesc_t": {
"fields": { "fields": {
"m_AnimStrayRadii": 984, "m_AnimStrayRadii": 1056,
"m_AxialEdges": 360, "m_AntiTunnelProbes": 384,
"m_BoxRigids": 1184, "m_AntiTunnelTargetNodes": 408,
"m_CollisionPlanes": 480, "m_AxialEdges": 432,
"m_BoxRigids": 1280,
"m_CollisionPlanes": 552,
"m_CtrlHash": 0, "m_CtrlHash": 0,
"m_CtrlName": 24, "m_CtrlName": 24,
"m_CtrlOffsets": 408, "m_CtrlOffsets": 480,
"m_CtrlOsOffsets": 432, "m_CtrlOsOffsets": 504,
"m_CtrlSoftOffsets": 1056, "m_CtrlSoftOffsets": 1128,
"m_DynNodeFriction": 648, "m_DynNodeFriction": 720,
"m_DynNodeVertexSet": 1208, "m_DynNodeVertexSet": 1304,
"m_DynNodeWindBases": 1472, "m_DynNodeWindBases": 1568,
"m_Effects": 1376, "m_Effects": 1472,
"m_FitMatrices": 912, "m_FitMatrices": 984,
"m_FitWeights": 936, "m_FitWeights": 1008,
"m_FollowNodes": 456, "m_FollowNodes": 528,
"m_FreeNodes": 888, "m_FreeNodes": 960,
"m_GoalDampedSpringIntegrators": 1128, "m_GoalDampedSpringIntegrators": 1200,
"m_HingeLimits": 360,
"m_InitPose": 288, "m_InitPose": 288,
"m_JiggleBones": 1080, "m_JiggleBones": 1152,
"m_KelagerBends": 1032, "m_KelagerBends": 1104,
"m_LegacyStretchForce": 600, "m_LegacyStretchForce": 672,
"m_LocalForce": 696, "m_LocalForce": 768,
"m_LocalRotation": 672, "m_LocalRotation": 744,
"m_LockToGoal": 1424, "m_LockToGoal": 1520,
"m_LockToParent": 1400, "m_LockToParent": 1496,
"m_MorphLayers": 1280, "m_MorphLayers": 1376,
"m_MorphSetData": 1304, "m_MorphSetData": 1400,
"m_NodeBases": 120, "m_NodeBases": 120,
"m_NodeCollisionRadii": 624, "m_NodeCollisionRadii": 696,
"m_NodeIntegrator": 504, "m_NodeIntegrator": 576,
"m_NodeInvMasses": 384, "m_NodeInvMasses": 456,
"m_Quads": 168, "m_Quads": 168,
"m_ReverseOffsets": 960, "m_ReverseOffsets": 1032,
"m_RigidColliderPriorities": 1256, "m_RigidColliderPriorities": 1352,
"m_Rods": 312, "m_Rods": 312,
"m_Ropes": 96, "m_Ropes": 96,
"m_SimdAnimStrayRadii": 1008, "m_SDFRigids": 1256,
"m_SimdAnimStrayRadii": 1080,
"m_SimdNodeBases": 144, "m_SimdNodeBases": 144,
"m_SimdQuads": 192, "m_SimdQuads": 192,
"m_SimdRods": 240, "m_SimdRods": 240,
"m_SimdRodsAnim": 264, "m_SimdRodsAnim": 264,
"m_SimdSpringIntegrator": 552, "m_SimdSpringIntegrator": 624,
"m_SimdTris": 216, "m_SimdTris": 216,
"m_SkelParents": 1448, "m_SkelParents": 1544,
"m_SourceElems": 1104, "m_SourceElems": 1176,
"m_SphereRigids": 768, "m_SphereRigids": 840,
"m_SpringIntegrator": 528, "m_SpringIntegrator": 600,
"m_TaperedCapsuleRigids": 744, "m_TaperedCapsuleRigids": 816,
"m_TaperedCapsuleStretches": 720, "m_TaperedCapsuleStretches": 792,
"m_TreeChildren": 864, "m_TreeChildren": 936,
"m_TreeCollisionMasks": 840, "m_TreeCollisionMasks": 912,
"m_TreeParents": 816, "m_TreeParents": 888,
"m_Tris": 1152, "m_Tris": 1224,
"m_Twists": 336, "m_Twists": 336,
"m_VertexMapValues": 1352, "m_VertexMapValues": 1448,
"m_VertexMaps": 1328, "m_VertexMaps": 1424,
"m_VertexSetNames": 1232, "m_VertexSetNames": 1328,
"m_WorldCollisionNodes": 792, "m_WorldCollisionNodes": 864,
"m_WorldCollisionParams": 576, "m_WorldCollisionParams": 648,
"m_flAddWorldCollisionRadius": 1548, "m_flAddWorldCollisionRadius": 1644,
"m_flDefaultExpAirDrag": 1528, "m_flDefaultExpAirDrag": 1624,
"m_flDefaultExpQuadAirDrag": 1536, "m_flDefaultExpQuadAirDrag": 1632,
"m_flDefaultGravityScale": 1520, "m_flDefaultGravityScale": 1616,
"m_flDefaultSurfaceStretch": 1512, "m_flDefaultSurfaceStretch": 1608,
"m_flDefaultThreadStretch": 1516, "m_flDefaultThreadStretch": 1612,
"m_flDefaultTimeDilation": 1500, "m_flDefaultTimeDilation": 1596,
"m_flDefaultVelAirDrag": 1524, "m_flDefaultVelAirDrag": 1620,
"m_flDefaultVelQuadAirDrag": 1532, "m_flDefaultVelQuadAirDrag": 1628,
"m_flDefaultVolumetricSolveAmount": 1552, "m_flDefaultVolumetricSolveAmount": 1648,
"m_flInternalPressure": 1496, "m_flInternalPressure": 1592,
"m_flLocalDrag1": 1656,
"m_flLocalForce": 56, "m_flLocalForce": 56,
"m_flLocalRotation": 60, "m_flLocalRotation": 60,
"m_flQuadVelocitySmoothRate": 1544, "m_flMotionSmoothCDT": 1652,
"m_flRodVelocitySmoothRate": 1540, "m_flQuadVelocitySmoothRate": 1640,
"m_flWindDrag": 1508, "m_flRodVelocitySmoothRate": 1636,
"m_flWindage": 1504, "m_flWindDrag": 1604,
"m_flWindage": 1600,
"m_nDynamicNodeFlags": 52, "m_nDynamicNodeFlags": 52,
"m_nExtraGoalIterations": 1182, "m_nExtraGoalIterations": 1254,
"m_nExtraIterations": 1183, "m_nExtraIterations": 1255,
"m_nExtraPressureIterations": 1181, "m_nExtraPressureIterations": 1253,
"m_nFirstPositionDrivenNode": 70, "m_nFirstPositionDrivenNode": 70,
"m_nNodeBaseJiggleboneDependsCount": 86, "m_nNodeBaseJiggleboneDependsCount": 86,
"m_nNodeCount": 64, "m_nNodeCount": 64,
"m_nQuadCount1": 80, "m_nQuadCount1": 80,
"m_nQuadCount2": 82, "m_nQuadCount2": 82,
"m_nQuadVelocitySmoothIterations": 1558, "m_nQuadVelocitySmoothIterations": 1662,
"m_nReservedUint8": 1180, "m_nReservedUint8": 1252,
"m_nRodVelocitySmoothIterations": 1556, "m_nRodVelocitySmoothIterations": 1660,
"m_nRopeCount": 88, "m_nRopeCount": 88,
"m_nRotLockStaticNodes": 68, "m_nRotLockStaticNodes": 68,
"m_nSimdQuadCount1": 76, "m_nSimdQuadCount1": 76,
@@ -1040,8 +1151,8 @@
"m_nStaticNodeFlags": 48, "m_nStaticNodeFlags": 48,
"m_nStaticNodes": 66, "m_nStaticNodes": 66,
"m_nTreeDepth": 84, "m_nTreeDepth": 84,
"m_nTriCount1": 1176, "m_nTriCount1": 1248,
"m_nTriCount2": 1178 "m_nTriCount2": 1250
}, },
"metadata": [ "metadata": [
{ {
@@ -1118,7 +1229,7 @@
}, },
"RnCapsuleDesc_t": { "RnCapsuleDesc_t": {
"fields": { "fields": {
"m_Capsule": 16 "m_Capsule": 24
}, },
"metadata": [ "metadata": [
{ {
@@ -1170,7 +1281,7 @@
}, },
"RnHullDesc_t": { "RnHullDesc_t": {
"fields": { "fields": {
"m_Hull": 16 "m_Hull": 24
}, },
"metadata": [ "metadata": [
{ {
@@ -1207,7 +1318,7 @@
}, },
"RnMeshDesc_t": { "RnMeshDesc_t": {
"fields": { "fields": {
"m_Mesh": 16 "m_Mesh": 24
}, },
"metadata": [ "metadata": [
{ {
@@ -1269,8 +1380,11 @@
"RnShapeDesc_t": { "RnShapeDesc_t": {
"fields": { "fields": {
"m_UserFriendlyName": 8, "m_UserFriendlyName": 8,
"m_bUserFriendlyNameLong": 17,
"m_bUserFriendlyNameSealed": 16,
"m_nCollisionAttributeIndex": 0, "m_nCollisionAttributeIndex": 0,
"m_nSurfacePropertyIndex": 4 "m_nSurfacePropertyIndex": 4,
"m_nToolMaterialHash": 20
}, },
"metadata": [ "metadata": [
{ {
@@ -1321,7 +1435,7 @@
}, },
"RnSphereDesc_t": { "RnSphereDesc_t": {
"fields": { "fields": {
"m_Sphere": 16 "m_Sphere": 24
}, },
"metadata": [ "metadata": [
{ {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: vphysics2.dll // Module: libvphysics2.so
// Classes count: 88 // Classes count: 94
// Enums count: 2 // Enums count: 2
pub mod vphysics2_dll { pub mod libvphysics2_so {
// Alignment: 4 // Alignment: 4
// Members count: 3 // Members count: 3
#[repr(u32)] #[repr(u32)]
@@ -49,7 +49,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod RnHullDesc_t { pub mod RnHullDesc_t {
pub const m_Hull: usize = 0x10; // RnHull_t pub const m_Hull: usize = 0x18; // RnHull_t
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -67,7 +67,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod RnCapsuleDesc_t { pub mod RnCapsuleDesc_t {
pub const m_Capsule: usize = 0x10; // RnCapsule_t pub const m_Capsule: usize = 0x18; // RnCapsule_t
} }
// Parent: RnShapeDesc_t // Parent: RnShapeDesc_t
// Fields count: 1 // Fields count: 1
@@ -75,7 +75,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod RnSphereDesc_t { pub mod RnSphereDesc_t {
pub const m_Sphere: usize = 0x10; // SphereBase_t<float32> pub const m_Sphere: usize = 0x18; // SphereBase_t<float32>
} }
// Parent: RnShapeDesc_t // Parent: RnShapeDesc_t
// Fields count: 1 // Fields count: 1
@@ -83,10 +83,10 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod RnMeshDesc_t { pub mod RnMeshDesc_t {
pub const m_Mesh: usize = 0x10; // RnMesh_t pub const m_Mesh: usize = 0x18; // RnMesh_t
} }
// Parent: None // Parent: None
// Fields count: 100 // Fields count: 106
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -121,76 +121,82 @@ pub mod cs2_dumper {
pub const m_InitPose: usize = 0x120; // CUtlVector<CTransform> pub const m_InitPose: usize = 0x120; // CUtlVector<CTransform>
pub const m_Rods: usize = 0x138; // CUtlVector<FeRodConstraint_t> pub const m_Rods: usize = 0x138; // CUtlVector<FeRodConstraint_t>
pub const m_Twists: usize = 0x150; // CUtlVector<FeTwistConstraint_t> pub const m_Twists: usize = 0x150; // CUtlVector<FeTwistConstraint_t>
pub const m_AxialEdges: usize = 0x168; // CUtlVector<FeAxialEdgeBend_t> pub const m_HingeLimits: usize = 0x168; // CUtlVector<FeHingeLimit_t>
pub const m_NodeInvMasses: usize = 0x180; // CUtlVector<float32> pub const m_AntiTunnelProbes: usize = 0x180; // CUtlVector<FeAntiTunnelProbe_t>
pub const m_CtrlOffsets: usize = 0x198; // CUtlVector<FeCtrlOffset_t> pub const m_AntiTunnelTargetNodes: usize = 0x198; // CUtlVector<uint16>
pub const m_CtrlOsOffsets: usize = 0x1B0; // CUtlVector<FeCtrlOsOffset_t> pub const m_AxialEdges: usize = 0x1B0; // CUtlVector<FeAxialEdgeBend_t>
pub const m_FollowNodes: usize = 0x1C8; // CUtlVector<FeFollowNode_t> pub const m_NodeInvMasses: usize = 0x1C8; // CUtlVector<float32>
pub const m_CollisionPlanes: usize = 0x1E0; // CUtlVector<FeCollisionPlane_t> pub const m_CtrlOffsets: usize = 0x1E0; // CUtlVector<FeCtrlOffset_t>
pub const m_NodeIntegrator: usize = 0x1F8; // CUtlVector<FeNodeIntegrator_t> pub const m_CtrlOsOffsets: usize = 0x1F8; // CUtlVector<FeCtrlOsOffset_t>
pub const m_SpringIntegrator: usize = 0x210; // CUtlVector<FeSpringIntegrator_t> pub const m_FollowNodes: usize = 0x210; // CUtlVector<FeFollowNode_t>
pub const m_SimdSpringIntegrator: usize = 0x228; // CUtlVector<FeSimdSpringIntegrator_t> pub const m_CollisionPlanes: usize = 0x228; // CUtlVector<FeCollisionPlane_t>
pub const m_WorldCollisionParams: usize = 0x240; // CUtlVector<FeWorldCollisionParams_t> pub const m_NodeIntegrator: usize = 0x240; // CUtlVector<FeNodeIntegrator_t>
pub const m_LegacyStretchForce: usize = 0x258; // CUtlVector<float32> pub const m_SpringIntegrator: usize = 0x258; // CUtlVector<FeSpringIntegrator_t>
pub const m_NodeCollisionRadii: usize = 0x270; // CUtlVector<float32> pub const m_SimdSpringIntegrator: usize = 0x270; // CUtlVector<FeSimdSpringIntegrator_t>
pub const m_DynNodeFriction: usize = 0x288; // CUtlVector<float32> pub const m_WorldCollisionParams: usize = 0x288; // CUtlVector<FeWorldCollisionParams_t>
pub const m_LocalRotation: usize = 0x2A0; // CUtlVector<float32> pub const m_LegacyStretchForce: usize = 0x2A0; // CUtlVector<float32>
pub const m_LocalForce: usize = 0x2B8; // CUtlVector<float32> pub const m_NodeCollisionRadii: usize = 0x2B8; // CUtlVector<float32>
pub const m_TaperedCapsuleStretches: usize = 0x2D0; // CUtlVector<FeTaperedCapsuleStretch_t> pub const m_DynNodeFriction: usize = 0x2D0; // CUtlVector<float32>
pub const m_TaperedCapsuleRigids: usize = 0x2E8; // CUtlVector<FeTaperedCapsuleRigid_t> pub const m_LocalRotation: usize = 0x2E8; // CUtlVector<float32>
pub const m_SphereRigids: usize = 0x300; // CUtlVector<FeSphereRigid_t> pub const m_LocalForce: usize = 0x300; // CUtlVector<float32>
pub const m_WorldCollisionNodes: usize = 0x318; // CUtlVector<uint16> pub const m_TaperedCapsuleStretches: usize = 0x318; // CUtlVector<FeTaperedCapsuleStretch_t>
pub const m_TreeParents: usize = 0x330; // CUtlVector<uint16> pub const m_TaperedCapsuleRigids: usize = 0x330; // CUtlVector<FeTaperedCapsuleRigid_t>
pub const m_TreeCollisionMasks: usize = 0x348; // CUtlVector<uint16> pub const m_SphereRigids: usize = 0x348; // CUtlVector<FeSphereRigid_t>
pub const m_TreeChildren: usize = 0x360; // CUtlVector<FeTreeChildren_t> pub const m_WorldCollisionNodes: usize = 0x360; // CUtlVector<uint16>
pub const m_FreeNodes: usize = 0x378; // CUtlVector<uint16> pub const m_TreeParents: usize = 0x378; // CUtlVector<uint16>
pub const m_FitMatrices: usize = 0x390; // CUtlVector<FeFitMatrix_t> pub const m_TreeCollisionMasks: usize = 0x390; // CUtlVector<uint16>
pub const m_FitWeights: usize = 0x3A8; // CUtlVector<FeFitWeight_t> pub const m_TreeChildren: usize = 0x3A8; // CUtlVector<FeTreeChildren_t>
pub const m_ReverseOffsets: usize = 0x3C0; // CUtlVector<FeNodeReverseOffset_t> pub const m_FreeNodes: usize = 0x3C0; // CUtlVector<uint16>
pub const m_AnimStrayRadii: usize = 0x3D8; // CUtlVector<FeAnimStrayRadius_t> pub const m_FitMatrices: usize = 0x3D8; // CUtlVector<FeFitMatrix_t>
pub const m_SimdAnimStrayRadii: usize = 0x3F0; // CUtlVector<FeSimdAnimStrayRadius_t> pub const m_FitWeights: usize = 0x3F0; // CUtlVector<FeFitWeight_t>
pub const m_KelagerBends: usize = 0x408; // CUtlVector<FeKelagerBend2_t> pub const m_ReverseOffsets: usize = 0x408; // CUtlVector<FeNodeReverseOffset_t>
pub const m_CtrlSoftOffsets: usize = 0x420; // CUtlVector<FeCtrlSoftOffset_t> pub const m_AnimStrayRadii: usize = 0x420; // CUtlVector<FeAnimStrayRadius_t>
pub const m_JiggleBones: usize = 0x438; // CUtlVector<CFeIndexedJiggleBone> pub const m_SimdAnimStrayRadii: usize = 0x438; // CUtlVector<FeSimdAnimStrayRadius_t>
pub const m_SourceElems: usize = 0x450; // CUtlVector<uint16> pub const m_KelagerBends: usize = 0x450; // CUtlVector<FeKelagerBend2_t>
pub const m_GoalDampedSpringIntegrators: usize = 0x468; // CUtlVector<uint32> pub const m_CtrlSoftOffsets: usize = 0x468; // CUtlVector<FeCtrlSoftOffset_t>
pub const m_Tris: usize = 0x480; // CUtlVector<FeTri_t> pub const m_JiggleBones: usize = 0x480; // CUtlVector<CFeIndexedJiggleBone>
pub const m_nTriCount1: usize = 0x498; // uint16 pub const m_SourceElems: usize = 0x498; // CUtlVector<uint16>
pub const m_nTriCount2: usize = 0x49A; // uint16 pub const m_GoalDampedSpringIntegrators: usize = 0x4B0; // CUtlVector<uint32>
pub const m_nReservedUint8: usize = 0x49C; // uint8 pub const m_Tris: usize = 0x4C8; // CUtlVector<FeTri_t>
pub const m_nExtraPressureIterations: usize = 0x49D; // uint8 pub const m_nTriCount1: usize = 0x4E0; // uint16
pub const m_nExtraGoalIterations: usize = 0x49E; // uint8 pub const m_nTriCount2: usize = 0x4E2; // uint16
pub const m_nExtraIterations: usize = 0x49F; // uint8 pub const m_nReservedUint8: usize = 0x4E4; // uint8
pub const m_BoxRigids: usize = 0x4A0; // CUtlVector<FeBoxRigid_t> pub const m_nExtraPressureIterations: usize = 0x4E5; // uint8
pub const m_DynNodeVertexSet: usize = 0x4B8; // CUtlVector<uint8> pub const m_nExtraGoalIterations: usize = 0x4E6; // uint8
pub const m_VertexSetNames: usize = 0x4D0; // CUtlVector<uint32> pub const m_nExtraIterations: usize = 0x4E7; // uint8
pub const m_RigidColliderPriorities: usize = 0x4E8; // CUtlVector<FeRigidColliderIndices_t> pub const m_SDFRigids: usize = 0x4E8; // CUtlVector<FeSDFRigid_t>
pub const m_MorphLayers: usize = 0x500; // CUtlVector<FeMorphLayerDepr_t> pub const m_BoxRigids: usize = 0x500; // CUtlVector<FeBoxRigid_t>
pub const m_MorphSetData: usize = 0x518; // CUtlVector<uint8> pub const m_DynNodeVertexSet: usize = 0x518; // CUtlVector<uint8>
pub const m_VertexMaps: usize = 0x530; // CUtlVector<FeVertexMapDesc_t> pub const m_VertexSetNames: usize = 0x530; // CUtlVector<uint32>
pub const m_VertexMapValues: usize = 0x548; // CUtlVector<uint8> pub const m_RigidColliderPriorities: usize = 0x548; // CUtlVector<FeRigidColliderIndices_t>
pub const m_Effects: usize = 0x560; // CUtlVector<FeEffectDesc_t> pub const m_MorphLayers: usize = 0x560; // CUtlVector<FeMorphLayerDepr_t>
pub const m_LockToParent: usize = 0x578; // CUtlVector<FeCtrlOffset_t> pub const m_MorphSetData: usize = 0x578; // CUtlVector<uint8>
pub const m_LockToGoal: usize = 0x590; // CUtlVector<uint16> pub const m_VertexMaps: usize = 0x590; // CUtlVector<FeVertexMapDesc_t>
pub const m_SkelParents: usize = 0x5A8; // CUtlVector<int16> pub const m_VertexMapValues: usize = 0x5A8; // CUtlVector<uint8>
pub const m_DynNodeWindBases: usize = 0x5C0; // CUtlVector<FeNodeWindBase_t> pub const m_Effects: usize = 0x5C0; // CUtlVector<FeEffectDesc_t>
pub const m_flInternalPressure: usize = 0x5D8; // float32 pub const m_LockToParent: usize = 0x5D8; // CUtlVector<FeCtrlOffset_t>
pub const m_flDefaultTimeDilation: usize = 0x5DC; // float32 pub const m_LockToGoal: usize = 0x5F0; // CUtlVector<uint16>
pub const m_flWindage: usize = 0x5E0; // float32 pub const m_SkelParents: usize = 0x608; // CUtlVector<int16>
pub const m_flWindDrag: usize = 0x5E4; // float32 pub const m_DynNodeWindBases: usize = 0x620; // CUtlVector<FeNodeWindBase_t>
pub const m_flDefaultSurfaceStretch: usize = 0x5E8; // float32 pub const m_flInternalPressure: usize = 0x638; // float32
pub const m_flDefaultThreadStretch: usize = 0x5EC; // float32 pub const m_flDefaultTimeDilation: usize = 0x63C; // float32
pub const m_flDefaultGravityScale: usize = 0x5F0; // float32 pub const m_flWindage: usize = 0x640; // float32
pub const m_flDefaultVelAirDrag: usize = 0x5F4; // float32 pub const m_flWindDrag: usize = 0x644; // float32
pub const m_flDefaultExpAirDrag: usize = 0x5F8; // float32 pub const m_flDefaultSurfaceStretch: usize = 0x648; // float32
pub const m_flDefaultVelQuadAirDrag: usize = 0x5FC; // float32 pub const m_flDefaultThreadStretch: usize = 0x64C; // float32
pub const m_flDefaultExpQuadAirDrag: usize = 0x600; // float32 pub const m_flDefaultGravityScale: usize = 0x650; // float32
pub const m_flRodVelocitySmoothRate: usize = 0x604; // float32 pub const m_flDefaultVelAirDrag: usize = 0x654; // float32
pub const m_flQuadVelocitySmoothRate: usize = 0x608; // float32 pub const m_flDefaultExpAirDrag: usize = 0x658; // float32
pub const m_flAddWorldCollisionRadius: usize = 0x60C; // float32 pub const m_flDefaultVelQuadAirDrag: usize = 0x65C; // float32
pub const m_flDefaultVolumetricSolveAmount: usize = 0x610; // float32 pub const m_flDefaultExpQuadAirDrag: usize = 0x660; // float32
pub const m_nRodVelocitySmoothIterations: usize = 0x614; // uint16 pub const m_flRodVelocitySmoothRate: usize = 0x664; // float32
pub const m_nQuadVelocitySmoothIterations: usize = 0x616; // uint16 pub const m_flQuadVelocitySmoothRate: usize = 0x668; // float32
pub const m_flAddWorldCollisionRadius: usize = 0x66C; // float32
pub const m_flDefaultVolumetricSolveAmount: usize = 0x670; // float32
pub const m_flMotionSmoothCDT: usize = 0x674; // float32
pub const m_flLocalDrag1: usize = 0x678; // float32
pub const m_nRodVelocitySmoothIterations: usize = 0x67C; // uint16
pub const m_nQuadVelocitySmoothIterations: usize = 0x67E; // uint16
} }
// Parent: RnBodyDesc_t // Parent: RnBodyDesc_t
// Fields count: 1 // Fields count: 1
@@ -206,8 +212,8 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod FeBuildBoxRigid_t { pub mod FeBuildBoxRigid_t {
pub const m_nPriority: usize = 0x40; // int32 pub const m_nPriority: usize = 0x34; // int32
pub const m_nVertexMapHash: usize = 0x44; // uint32 pub const m_nVertexMapHash: usize = 0x38; // uint32
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -346,6 +352,20 @@ pub mod cs2_dumper {
pub const m_jiggleBone: usize = 0x34; // CFeJiggleBone pub const m_jiggleBone: usize = 0x34; // CFeJiggleBone
} }
// Parent: None // Parent: None
// Fields count: 7
//
// Metadata:
// MGetKV3ClassDefaults
pub mod FeAntiTunnelProbeBuild_t {
pub const flWeight: usize = 0x0; // float32
pub const flActivationDistance: usize = 0x4; // float32
pub const flBias: usize = 0x8; // float32
pub const flCurvature: usize = 0xC; // float32
pub const nFlags: usize = 0x10; // uint32
pub const nProbeNode: usize = 0x14; // uint16
pub const targetNodes: usize = 0x18; // CUtlVector<uint16>
}
// Parent: None
// Fields count: 35 // Fields count: 35
// //
// Metadata: // Metadata:
@@ -439,6 +459,15 @@ pub mod cs2_dumper {
pub const m_vPosition: usize = 0x0; // Vector pub const m_vPosition: usize = 0x0; // Vector
pub const m_vNormal: usize = 0xC; // Vector pub const m_vNormal: usize = 0xC; // Vector
} }
// Parent: FeSDFRigid_t
// Fields count: 2
//
// Metadata:
// MGetKV3ClassDefaults
pub mod FeBuildSDFRigid_t {
pub const m_nPriority: usize = 0x4C; // int32
pub const m_nVertexMapHash: usize = 0x50; // uint32
}
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
// //
@@ -550,6 +579,24 @@ pub mod cs2_dumper {
pub const m_flOffset: usize = 0xC; // float32 pub const m_flOffset: usize = 0xC; // float32
} }
// Parent: None // Parent: None
// Fields count: 11
//
// Metadata:
// MGetKV3ClassDefaults
pub mod FeSDFRigid_t {
pub const vLocalMin: usize = 0x0; // Vector
pub const vLocalMax: usize = 0xC; // Vector
pub const flBounciness: usize = 0x18; // float32
pub const nNode: usize = 0x1C; // uint16
pub const nCollisionMask: usize = 0x1E; // uint16
pub const nVertexMapIndex: usize = 0x20; // uint16
pub const nFlags: usize = 0x22; // uint16
pub const m_Distances: usize = 0x28; // CUtlVector<float32>
pub const m_nWidth: usize = 0x40; // int32
pub const m_nHeight: usize = 0x44; // int32
pub const m_nDepth: usize = 0x48; // int32
}
// Parent: None
// Fields count: 35 // Fields count: 35
// //
// Metadata: // Metadata:
@@ -682,6 +729,19 @@ pub mod cs2_dumper {
pub const vShape: usize = 0xC; // Vector4D[4] pub const vShape: usize = 0xC; // Vector4D[4]
} }
// Parent: None // Parent: None
// Fields count: 6
//
// Metadata:
// MGetKV3ClassDefaults
pub mod FeHingeLimit_t {
pub const nNode: usize = 0x0; // uint16[6]
pub const nFlags: usize = 0xC; // uint32
pub const flWeight4: usize = 0x10; // float32
pub const flWeight5: usize = 0x14; // float32
pub const flAngleCenter: usize = 0x18; // float32
pub const flAngleExtents: usize = 0x1C; // float32
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -755,7 +815,7 @@ pub mod cs2_dumper {
pub const m_pHull: usize = 0x28; // RnHull_t* pub const m_pHull: usize = 0x28; // RnHull_t*
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 5
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -763,7 +823,8 @@ pub mod cs2_dumper {
pub const m_nTaperedCapsuleRigidIndex: usize = 0x0; // uint16 pub const m_nTaperedCapsuleRigidIndex: usize = 0x0; // uint16
pub const m_nSphereRigidIndex: usize = 0x2; // uint16 pub const m_nSphereRigidIndex: usize = 0x2; // uint16
pub const m_nBoxRigidIndex: usize = 0x4; // uint16 pub const m_nBoxRigidIndex: usize = 0x4; // uint16
pub const m_nCollisionPlaneIndex: usize = 0x6; // uint16 pub const m_nSDFRigidIndex: usize = 0x6; // uint16
pub const m_nCollisionPlaneIndex: usize = 0x8; // uint16
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -942,6 +1003,21 @@ pub mod cs2_dumper {
pub const nCtrlChild: usize = 0x2; // uint16 pub const nCtrlChild: usize = 0x2; // uint16
} }
// Parent: None // Parent: None
// Fields count: 8
//
// Metadata:
// MGetKV3ClassDefaults
pub mod FeAntiTunnelProbe_t {
pub const flWeight: usize = 0x0; // float32
pub const nFlags: usize = 0x4; // uint32
pub const nProbeNode: usize = 0x8; // uint16
pub const nCount: usize = 0xA; // uint16
pub const nBegin: usize = 0xC; // uint32
pub const flActivationDistance: usize = 0x10; // float32
pub const flCurvatureRadius: usize = 0x14; // float32
pub const flBias: usize = 0x18; // float32
}
// Parent: None
// Fields count: 1 // Fields count: 1
// //
// Metadata: // Metadata:
@@ -1034,7 +1110,7 @@ pub mod cs2_dumper {
pub const flAlpha: usize = 0x4; // float32 pub const flAlpha: usize = 0x4; // float32
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 6
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -1042,6 +1118,9 @@ pub mod cs2_dumper {
pub const m_nCollisionAttributeIndex: usize = 0x0; // uint32 pub const m_nCollisionAttributeIndex: usize = 0x0; // uint32
pub const m_nSurfacePropertyIndex: usize = 0x4; // uint32 pub const m_nSurfacePropertyIndex: usize = 0x4; // uint32
pub const m_UserFriendlyName: usize = 0x8; // CUtlString pub const m_UserFriendlyName: usize = 0x8; // CUtlString
pub const m_bUserFriendlyNameSealed: usize = 0x10; // bool
pub const m_bUserFriendlyNameLong: usize = 0x11; // bool
pub const m_nToolMaterialHash: usize = 0x14; // uint32
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -1111,6 +1190,17 @@ pub mod cs2_dumper {
pub const flWeight: usize = 0x4; // float32 pub const flWeight: usize = 0x4; // float32
pub const nMatrixNode: usize = 0x8; // uint32 pub const nMatrixNode: usize = 0x8; // uint32
} }
// Parent: None
// Fields count: 4
//
// Metadata:
// MGetKV3ClassDefaults
pub mod FeHingeLimitBuild_t {
pub const nNode: usize = 0x0; // uint16[6]
pub const nFlags: usize = 0xC; // uint32
pub const flLimitCW: usize = 0x10; // float32
pub const flLimitCCW: usize = 0x14; // float32
}
} }
} }
} }

View File

@@ -1,13 +1,13 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: worldrenderer.dll // Module: libworldrenderer.so
// Classes count: 23 // Classes count: 23
// Enums count: 1 // Enums count: 1
public static class WorldrendererDll { public static class LibworldrendererSo {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 15
public enum ObjectTypeFlags_t : uint { public enum ObjectTypeFlags_t : uint {
OBJECT_TYPE_NONE = 0x0, OBJECT_TYPE_NONE = 0x0,
OBJECT_TYPE_MODEL = 0x8, OBJECT_TYPE_MODEL = 0x8,
@@ -21,7 +21,9 @@ namespace CS2Dumper.Schemas {
OBJECT_TYPE_MODEL_HAS_LODS = 0x800, OBJECT_TYPE_MODEL_HAS_LODS = 0x800,
OBJECT_TYPE_OVERLAY = 0x2000, OBJECT_TYPE_OVERLAY = 0x2000,
OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000, OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000,
OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000 OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000,
OBJECT_TYPE_DISABLE_VIS_CULLING = 0x10000,
OBJECT_TYPE_BAKED_GEOMETRY = 0x20000
} }
// Parent: None // Parent: None
// Fields count: 14 // Fields count: 14
@@ -52,7 +54,7 @@ namespace CS2Dumper.Schemas {
public static class AggregateLODSetup_t { public static class AggregateLODSetup_t {
public const nint m_vLODOrigin = 0x0; // Vector public const nint m_vLODOrigin = 0x0; // Vector
public const nint m_fMaxObjectScale = 0xC; // float32 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 // Parent: BaseSceneObjectOverride_t
// Fields count: 4 // Fields count: 4
@@ -131,23 +133,22 @@ namespace CS2Dumper.Schemas {
public static class WorldBuilderParams_t { public static class WorldBuilderParams_t {
public const nint m_flMinDrawVolumeSize = 0x0; // float32 public const nint m_flMinDrawVolumeSize = 0x0; // float32
public const nint m_bBuildBakedLighting = 0x4; // bool public const nint m_bBuildBakedLighting = 0x4; // bool
public const nint m_vLightmapUvScale = 0x8; // Vector2D public const nint m_bakedLightingInfo = 0x8; // BakedLightingInfo_t
public const nint m_nCompileTimestamp = 0x10; // uint64 public const nint m_nCompileTimestamp = 0x38; // uint64
public const nint m_nCompileFingerprint = 0x18; // uint64 public const nint m_nCompileFingerprint = 0x40; // uint64
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class PermEntityLumpData_t { public static class PermEntityLumpData_t {
public const nint m_name = 0x8; // CUtlString public const nint m_name = 0x8; // CUtlString
public const nint m_hammerUniqueId = 0x10; // CUtlString public const nint m_childLumps = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
public const nint m_childLumps = 0x18; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>> public const nint m_entityKeyValues = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
public const nint m_entityKeyValues = 0x30; // CUtlLeanVector<EntityKeyValueData_t>
} }
// Parent: None // Parent: None
// Fields count: 13 // Fields count: 14
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -165,6 +166,7 @@ namespace CS2Dumper.Schemas {
public const nint m_overlayLayerIndices = 0xF0; // CUtlVector<uint8> public const nint m_overlayLayerIndices = 0xF0; // CUtlVector<uint8>
public const nint m_grassFileName = 0x108; // CUtlString public const nint m_grassFileName = 0x108; // CUtlString
public const nint m_nodeLightingInfo = 0x110; // BakedLightingInfo_t public const nint m_nodeLightingInfo = 0x110; // BakedLightingInfo_t
public const nint m_bHasBakedGeometryFlag = 0x140; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -189,7 +191,7 @@ namespace CS2Dumper.Schemas {
public const nint m_nTimesToFire = 0x2C; // int32 public const nint m_nTimesToFire = 0x2C; // int32
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 9
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -198,6 +200,10 @@ namespace CS2Dumper.Schemas {
public const nint m_nLightmapGameVersionNumber = 0x4; // uint32 public const nint m_nLightmapGameVersionNumber = 0x4; // uint32
public const nint m_vLightmapUvScale = 0x8; // Vector2D public const nint m_vLightmapUvScale = 0x8; // Vector2D
public const nint m_bHasLightmaps = 0x10; // bool 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>> public const nint m_lightMaps = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
} }
// Parent: None // Parent: None
@@ -250,9 +256,9 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class World_t { public static class World_t {
public const nint m_builderParams = 0x0; // WorldBuilderParams_t public const nint m_builderParams = 0x0; // WorldBuilderParams_t
public const nint m_worldNodes = 0x20; // CUtlVector<NodeData_t> public const nint m_worldNodes = 0x48; // CUtlVector<NodeData_t>
public const nint m_worldLightingInfo = 0x38; // BakedLightingInfo_t public const nint m_worldLightingInfo = 0x60; // BakedLightingInfo_t
public const nint m_entityLumps = 0x68; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>> public const nint m_entityLumps = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
} }
// Parent: None // Parent: None
// Fields count: 10 // Fields count: 10

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,12 +7,12 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: worldrenderer.dll // Module: libworldrenderer.so
// Classes count: 23 // Classes count: 23
// Enums count: 1 // Enums count: 1
namespace worldrenderer_dll { namespace libworldrenderer_so {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 15
enum class ObjectTypeFlags_t : uint32_t { enum class ObjectTypeFlags_t : uint32_t {
OBJECT_TYPE_NONE = 0x0, OBJECT_TYPE_NONE = 0x0,
OBJECT_TYPE_MODEL = 0x8, OBJECT_TYPE_MODEL = 0x8,
@@ -26,7 +26,9 @@ namespace cs2_dumper {
OBJECT_TYPE_MODEL_HAS_LODS = 0x800, OBJECT_TYPE_MODEL_HAS_LODS = 0x800,
OBJECT_TYPE_OVERLAY = 0x2000, OBJECT_TYPE_OVERLAY = 0x2000,
OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000, OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000,
OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000 OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000,
OBJECT_TYPE_DISABLE_VIS_CULLING = 0x10000,
OBJECT_TYPE_BAKED_GEOMETRY = 0x20000
}; };
// Parent: None // Parent: None
// Fields count: 14 // Fields count: 14
@@ -57,7 +59,7 @@ namespace cs2_dumper {
namespace AggregateLODSetup_t { namespace AggregateLODSetup_t {
constexpr std::ptrdiff_t m_vLODOrigin = 0x0; // Vector constexpr std::ptrdiff_t m_vLODOrigin = 0x0; // Vector
constexpr std::ptrdiff_t m_fMaxObjectScale = 0xC; // float32 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 // Parent: BaseSceneObjectOverride_t
// Fields count: 4 // Fields count: 4
@@ -136,23 +138,22 @@ namespace cs2_dumper {
namespace WorldBuilderParams_t { namespace WorldBuilderParams_t {
constexpr std::ptrdiff_t m_flMinDrawVolumeSize = 0x0; // float32 constexpr std::ptrdiff_t m_flMinDrawVolumeSize = 0x0; // float32
constexpr std::ptrdiff_t m_bBuildBakedLighting = 0x4; // bool constexpr std::ptrdiff_t m_bBuildBakedLighting = 0x4; // bool
constexpr std::ptrdiff_t m_vLightmapUvScale = 0x8; // Vector2D constexpr std::ptrdiff_t m_bakedLightingInfo = 0x8; // BakedLightingInfo_t
constexpr std::ptrdiff_t m_nCompileTimestamp = 0x10; // uint64 constexpr std::ptrdiff_t m_nCompileTimestamp = 0x38; // uint64
constexpr std::ptrdiff_t m_nCompileFingerprint = 0x18; // uint64 constexpr std::ptrdiff_t m_nCompileFingerprint = 0x40; // uint64
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace PermEntityLumpData_t { namespace PermEntityLumpData_t {
constexpr std::ptrdiff_t m_name = 0x8; // CUtlString constexpr std::ptrdiff_t m_name = 0x8; // CUtlString
constexpr std::ptrdiff_t m_hammerUniqueId = 0x10; // CUtlString constexpr std::ptrdiff_t m_childLumps = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
constexpr std::ptrdiff_t m_childLumps = 0x18; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>> constexpr std::ptrdiff_t m_entityKeyValues = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
constexpr std::ptrdiff_t m_entityKeyValues = 0x30; // CUtlLeanVector<EntityKeyValueData_t>
} }
// Parent: None // Parent: None
// Fields count: 13 // Fields count: 14
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -170,6 +171,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_overlayLayerIndices = 0xF0; // CUtlVector<uint8> constexpr std::ptrdiff_t m_overlayLayerIndices = 0xF0; // CUtlVector<uint8>
constexpr std::ptrdiff_t m_grassFileName = 0x108; // CUtlString constexpr std::ptrdiff_t m_grassFileName = 0x108; // CUtlString
constexpr std::ptrdiff_t m_nodeLightingInfo = 0x110; // BakedLightingInfo_t constexpr std::ptrdiff_t m_nodeLightingInfo = 0x110; // BakedLightingInfo_t
constexpr std::ptrdiff_t m_bHasBakedGeometryFlag = 0x140; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -194,7 +196,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nTimesToFire = 0x2C; // int32 constexpr std::ptrdiff_t m_nTimesToFire = 0x2C; // int32
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 9
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -203,6 +205,10 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_nLightmapGameVersionNumber = 0x4; // uint32 constexpr std::ptrdiff_t m_nLightmapGameVersionNumber = 0x4; // uint32
constexpr std::ptrdiff_t m_vLightmapUvScale = 0x8; // Vector2D constexpr std::ptrdiff_t m_vLightmapUvScale = 0x8; // Vector2D
constexpr std::ptrdiff_t m_bHasLightmaps = 0x10; // bool 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>> constexpr std::ptrdiff_t m_lightMaps = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
} }
// Parent: None // Parent: None
@@ -255,9 +261,9 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace World_t { namespace World_t {
constexpr std::ptrdiff_t m_builderParams = 0x0; // WorldBuilderParams_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_worldNodes = 0x48; // CUtlVector<NodeData_t>
constexpr std::ptrdiff_t m_worldLightingInfo = 0x38; // BakedLightingInfo_t constexpr std::ptrdiff_t m_worldLightingInfo = 0x60; // BakedLightingInfo_t
constexpr std::ptrdiff_t m_entityLumps = 0x68; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>> constexpr std::ptrdiff_t m_entityLumps = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
} }
// Parent: None // Parent: None
// Fields count: 10 // Fields count: 10

View File

@@ -1,5 +1,5 @@
{ {
"worldrenderer.dll": { "libworldrenderer.so": {
"classes": { "classes": {
"AggregateLODSetup_t": { "AggregateLODSetup_t": {
"fields": { "fields": {
@@ -56,10 +56,14 @@
}, },
"BakedLightingInfo_t": { "BakedLightingInfo_t": {
"fields": { "fields": {
"m_bBakedShadowsGamma20": 17,
"m_bCompressionEnabled": 18,
"m_bHasLightmaps": 16, "m_bHasLightmaps": 16,
"m_lightMaps": 24, "m_lightMaps": 24,
"m_nChartPackIterations": 19,
"m_nLightmapGameVersionNumber": 4, "m_nLightmapGameVersionNumber": 4,
"m_nLightmapVersionNumber": 0, "m_nLightmapVersionNumber": 0,
"m_nVradQuality": 20,
"m_vLightmapUvScale": 8 "m_vLightmapUvScale": 8
}, },
"metadata": [ "metadata": [
@@ -250,9 +254,8 @@
}, },
"PermEntityLumpData_t": { "PermEntityLumpData_t": {
"fields": { "fields": {
"m_childLumps": 24, "m_childLumps": 16,
"m_entityKeyValues": 48, "m_entityKeyValues": 40,
"m_hammerUniqueId": 16,
"m_name": 8 "m_name": 8
}, },
"metadata": [ "metadata": [
@@ -309,10 +312,10 @@
"WorldBuilderParams_t": { "WorldBuilderParams_t": {
"fields": { "fields": {
"m_bBuildBakedLighting": 4, "m_bBuildBakedLighting": 4,
"m_bakedLightingInfo": 8,
"m_flMinDrawVolumeSize": 0, "m_flMinDrawVolumeSize": 0,
"m_nCompileFingerprint": 24, "m_nCompileFingerprint": 64,
"m_nCompileTimestamp": 16, "m_nCompileTimestamp": 56
"m_vLightmapUvScale": 8
}, },
"metadata": [ "metadata": [
{ {
@@ -340,6 +343,7 @@
"WorldNode_t": { "WorldNode_t": {
"fields": { "fields": {
"m_aggregateSceneObjects": 72, "m_aggregateSceneObjects": 72,
"m_bHasBakedGeometryFlag": 320,
"m_clutterSceneObjects": 96, "m_clutterSceneObjects": 96,
"m_extraVertexStreamOverrides": 120, "m_extraVertexStreamOverrides": 120,
"m_extraVertexStreams": 168, "m_extraVertexStreams": 168,
@@ -364,9 +368,9 @@
"World_t": { "World_t": {
"fields": { "fields": {
"m_builderParams": 0, "m_builderParams": 0,
"m_entityLumps": 104, "m_entityLumps": 144,
"m_worldLightingInfo": 56, "m_worldLightingInfo": 96,
"m_worldNodes": 32 "m_worldNodes": 72
}, },
"metadata": [ "metadata": [
{ {
@@ -381,8 +385,10 @@
"ObjectTypeFlags_t": { "ObjectTypeFlags_t": {
"alignment": 4, "alignment": 4,
"members": { "members": {
"OBJECT_TYPE_BAKED_GEOMETRY": 131072,
"OBJECT_TYPE_BLOCK_LIGHT": 16, "OBJECT_TYPE_BLOCK_LIGHT": 16,
"OBJECT_TYPE_DISABLED_IN_LOW_QUALITY": 128, "OBJECT_TYPE_DISABLED_IN_LOW_QUALITY": 128,
"OBJECT_TYPE_DISABLE_VIS_CULLING": 65536,
"OBJECT_TYPE_MODEL": 8, "OBJECT_TYPE_MODEL": 8,
"OBJECT_TYPE_MODEL_HAS_LODS": 2048, "OBJECT_TYPE_MODEL_HAS_LODS": 2048,
"OBJECT_TYPE_NONE": 0, "OBJECT_TYPE_NONE": 0,

View File

@@ -1,16 +1,16 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 00:11:19.220511700 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod schemas { pub mod schemas {
// Module: worldrenderer.dll // Module: libworldrenderer.so
// Classes count: 23 // Classes count: 23
// Enums count: 1 // Enums count: 1
pub mod worldrenderer_dll { pub mod libworldrenderer_so {
// Alignment: 4 // Alignment: 4
// Members count: 13 // Members count: 15
#[repr(u32)] #[repr(u32)]
pub enum ObjectTypeFlags_t { pub enum ObjectTypeFlags_t {
OBJECT_TYPE_NONE = 0x0, OBJECT_TYPE_NONE = 0x0,
@@ -25,7 +25,9 @@ pub mod cs2_dumper {
OBJECT_TYPE_MODEL_HAS_LODS = 0x800, OBJECT_TYPE_MODEL_HAS_LODS = 0x800,
OBJECT_TYPE_OVERLAY = 0x2000, OBJECT_TYPE_OVERLAY = 0x2000,
OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000, OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000,
OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000 OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000,
OBJECT_TYPE_DISABLE_VIS_CULLING = 0x10000,
OBJECT_TYPE_BAKED_GEOMETRY = 0x20000
} }
// Parent: None // Parent: None
// Fields count: 14 // Fields count: 14
@@ -56,7 +58,7 @@ pub mod cs2_dumper {
pub mod AggregateLODSetup_t { pub mod AggregateLODSetup_t {
pub const m_vLODOrigin: usize = 0x0; // Vector pub const m_vLODOrigin: usize = 0x0; // Vector
pub const m_fMaxObjectScale: usize = 0xC; // float32 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 // Parent: BaseSceneObjectOverride_t
// Fields count: 4 // Fields count: 4
@@ -135,23 +137,22 @@ pub mod cs2_dumper {
pub mod WorldBuilderParams_t { pub mod WorldBuilderParams_t {
pub const m_flMinDrawVolumeSize: usize = 0x0; // float32 pub const m_flMinDrawVolumeSize: usize = 0x0; // float32
pub const m_bBuildBakedLighting: usize = 0x4; // bool pub const m_bBuildBakedLighting: usize = 0x4; // bool
pub const m_vLightmapUvScale: usize = 0x8; // Vector2D pub const m_bakedLightingInfo: usize = 0x8; // BakedLightingInfo_t
pub const m_nCompileTimestamp: usize = 0x10; // uint64 pub const m_nCompileTimestamp: usize = 0x38; // uint64
pub const m_nCompileFingerprint: usize = 0x18; // uint64 pub const m_nCompileFingerprint: usize = 0x40; // uint64
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 3
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod PermEntityLumpData_t { pub mod PermEntityLumpData_t {
pub const m_name: usize = 0x8; // CUtlString pub const m_name: usize = 0x8; // CUtlString
pub const m_hammerUniqueId: usize = 0x10; // CUtlString pub const m_childLumps: usize = 0x10; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
pub const m_childLumps: usize = 0x18; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>> pub const m_entityKeyValues: usize = 0x28; // CUtlLeanVector<EntityKeyValueData_t>
pub const m_entityKeyValues: usize = 0x30; // CUtlLeanVector<EntityKeyValueData_t>
} }
// Parent: None // Parent: None
// Fields count: 13 // Fields count: 14
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -169,6 +170,7 @@ pub mod cs2_dumper {
pub const m_overlayLayerIndices: usize = 0xF0; // CUtlVector<uint8> pub const m_overlayLayerIndices: usize = 0xF0; // CUtlVector<uint8>
pub const m_grassFileName: usize = 0x108; // CUtlString pub const m_grassFileName: usize = 0x108; // CUtlString
pub const m_nodeLightingInfo: usize = 0x110; // BakedLightingInfo_t pub const m_nodeLightingInfo: usize = 0x110; // BakedLightingInfo_t
pub const m_bHasBakedGeometryFlag: usize = 0x140; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -193,7 +195,7 @@ pub mod cs2_dumper {
pub const m_nTimesToFire: usize = 0x2C; // int32 pub const m_nTimesToFire: usize = 0x2C; // int32
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 9
// //
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
@@ -202,6 +204,10 @@ pub mod cs2_dumper {
pub const m_nLightmapGameVersionNumber: usize = 0x4; // uint32 pub const m_nLightmapGameVersionNumber: usize = 0x4; // uint32
pub const m_vLightmapUvScale: usize = 0x8; // Vector2D pub const m_vLightmapUvScale: usize = 0x8; // Vector2D
pub const m_bHasLightmaps: usize = 0x10; // bool 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>> pub const m_lightMaps: usize = 0x18; // CUtlVector<CStrongHandle<InfoForResourceTypeCTextureBase>>
} }
// Parent: None // Parent: None
@@ -254,9 +260,9 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod World_t { pub mod World_t {
pub const m_builderParams: usize = 0x0; // WorldBuilderParams_t pub const m_builderParams: usize = 0x0; // WorldBuilderParams_t
pub const m_worldNodes: usize = 0x20; // CUtlVector<NodeData_t> pub const m_worldNodes: usize = 0x48; // CUtlVector<NodeData_t>
pub const m_worldLightingInfo: usize = 0x38; // BakedLightingInfo_t pub const m_worldLightingInfo: usize = 0x60; // BakedLightingInfo_t
pub const m_entityLumps: usize = 0x68; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>> pub const m_entityLumps: usize = 0x90; // CUtlVector<CStrongHandleCopyable<InfoForResourceTypeCEntityLump>>
} }
// Parent: None // Parent: None
// Fields count: 10 // Fields count: 10

View File

@@ -1,47 +1,43 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 14:01:03.443608 UTC // 2025-01-29 12:23:34.043004291 UTC
namespace CS2Dumper.Offsets { namespace CS2Dumper.Offsets {
// Module: client.dll // Module: libclient.so
public static class ClientDll { public static class LibclientSo {
public const nint dwCSGOInput = 0x1932B10; public const nint dwCSGOInput = 0x39AAA40;
public const nint dwEntityList = 0x18C9E78; public const nint dwEntityList = 0x37EC100;
public const nint dwGameEntitySystem = 0x19E75C0; public const nint dwGameEntitySystem = 0x3B04278;
public const nint dwGameEntitySystem_getHighestEntityIndex = 0x1510; public const nint dwGameEntitySystem_highestEntityIndex = 0x2110;
public const nint dwGameRules = 0x1926DD0; public const nint dwGlowManager = 0x399A4F0;
public const nint dwGlobalVars = 0x1730F20; public const nint dwLocalPlayerController = 0x39805D8;
public const nint dwGlowManager = 0x19271F0; public const nint dwLocalPlayerPawn = 0x39A03A8;
public const nint dwLocalPlayerController = 0x1919588; public const nint dwPlantedC4 = 0x39A6618;
public const nint dwLocalPlayerPawn = 0x173D5A8; public const nint dwPrediction = 0x39A0260;
public const nint dwPlantedC4 = 0x192FFB8; public const nint dwSensitivity = 0x399E828;
public const nint dwPrediction = 0x173D470;
public const nint dwSensitivity = 0x1927B18;
public const nint dwSensitivity_sensitivity = 0x40; public const nint dwSensitivity_sensitivity = 0x40;
public const nint dwViewAngles = 0x1937EA0; public const nint dwViewAngles = 0x39AFE68;
public const nint dwViewMatrix = 0x192B310; public const nint dwViewRender = 0x39A0E10;
public const nint dwViewRender = 0x192BB10;
public const nint dwWeaponC4 = 0x18CD2D0;
} }
// Module: engine2.dll // Module: libengine2.so
public static class Engine2Dll { public static class Libengine2So {
public const nint dwBuildNumber = 0x518764; public const nint dwBuildNumber = 0x7AEA34;
public const nint dwEngineViewData = 0x5CD76C; public const nint dwNetworkGameClient = 0x7AF3E8;
public const nint dwNetworkGameClient = 0x517B08; public const nint dwNetworkGameClient_clientTickCount = 0x388;
public const nint dwNetworkGameClient_deltaTick = 0x258; public const nint dwNetworkGameClient_isBackgroundMap = 0x281477;
public const nint dwNetworkGameClient_getLocalPlayer = 0xF0; public const nint dwNetworkGameClient_localPlayer = 0x108;
public const nint dwNetworkGameClient_getMaxClients = 0x250; public const nint dwNetworkGameClient_maxClients = 0x258;
public const nint dwNetworkGameClient_signOnState = 0x240; public const nint dwNetworkGameClient_serverTickCount = 0x38C;
public const nint dwSoundService = 0x5CD6D0; public const nint dwNetworkGameClient_signOnState = 0x248;
public const nint dwWindowHeight = 0x5D109C; public const nint dwWindowHeight = 0x7B8A04;
public const nint dwWindowWidth = 0x5D1098; public const nint dwWindowWidth = 0x7B8A00;
} }
// Module: inputsystem.dll // Module: libinputsystem.so
public static class InputsystemDll { public static class LibinputsystemSo {
public const nint dwInputSystem = 0x377C0; public const nint dwInputSystem = 0x401A0;
} }
// Module: matchmaking.dll // Module: libmatchmaking.so
public static class MatchmakingDll { public static class LibmatchmakingSo {
public const nint dwGameTypes = 0x1D2290; public const nint dwGameTypes = 0x3350C0;
public const nint dwGameTypes_mapName = 0x1D23B0; public const nint dwGameTypes_mapName = 0x3351E0;
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 14:01:03.443608 UTC // 2025-01-29 12:23:34.043004291 UTC
#pragma once #pragma once
@@ -7,47 +7,43 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace offsets { namespace offsets {
// Module: client.dll // Module: libclient.so
namespace client_dll { namespace libclient_so {
constexpr std::ptrdiff_t dwCSGOInput = 0x1932B10; constexpr std::ptrdiff_t dwCSGOInput = 0x39AAA40;
constexpr std::ptrdiff_t dwEntityList = 0x18C9E78; constexpr std::ptrdiff_t dwEntityList = 0x37EC100;
constexpr std::ptrdiff_t dwGameEntitySystem = 0x19E75C0; constexpr std::ptrdiff_t dwGameEntitySystem = 0x3B04278;
constexpr std::ptrdiff_t dwGameEntitySystem_getHighestEntityIndex = 0x1510; constexpr std::ptrdiff_t dwGameEntitySystem_highestEntityIndex = 0x2110;
constexpr std::ptrdiff_t dwGameRules = 0x1926DD0; constexpr std::ptrdiff_t dwGlowManager = 0x399A4F0;
constexpr std::ptrdiff_t dwGlobalVars = 0x1730F20; constexpr std::ptrdiff_t dwLocalPlayerController = 0x39805D8;
constexpr std::ptrdiff_t dwGlowManager = 0x19271F0; constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x39A03A8;
constexpr std::ptrdiff_t dwLocalPlayerController = 0x1919588; constexpr std::ptrdiff_t dwPlantedC4 = 0x39A6618;
constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x173D5A8; constexpr std::ptrdiff_t dwPrediction = 0x39A0260;
constexpr std::ptrdiff_t dwPlantedC4 = 0x192FFB8; constexpr std::ptrdiff_t dwSensitivity = 0x399E828;
constexpr std::ptrdiff_t dwPrediction = 0x173D470;
constexpr std::ptrdiff_t dwSensitivity = 0x1927B18;
constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40; constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40;
constexpr std::ptrdiff_t dwViewAngles = 0x1937EA0; constexpr std::ptrdiff_t dwViewAngles = 0x39AFE68;
constexpr std::ptrdiff_t dwViewMatrix = 0x192B310; constexpr std::ptrdiff_t dwViewRender = 0x39A0E10;
constexpr std::ptrdiff_t dwViewRender = 0x192BB10;
constexpr std::ptrdiff_t dwWeaponC4 = 0x18CD2D0;
} }
// Module: engine2.dll // Module: libengine2.so
namespace engine2_dll { namespace libengine2_so {
constexpr std::ptrdiff_t dwBuildNumber = 0x518764; constexpr std::ptrdiff_t dwBuildNumber = 0x7AEA34;
constexpr std::ptrdiff_t dwEngineViewData = 0x5CD76C; constexpr std::ptrdiff_t dwNetworkGameClient = 0x7AF3E8;
constexpr std::ptrdiff_t dwNetworkGameClient = 0x517B08; constexpr std::ptrdiff_t dwNetworkGameClient_clientTickCount = 0x388;
constexpr std::ptrdiff_t dwNetworkGameClient_deltaTick = 0x258; constexpr std::ptrdiff_t dwNetworkGameClient_isBackgroundMap = 0x281477;
constexpr std::ptrdiff_t dwNetworkGameClient_getLocalPlayer = 0xF0; constexpr std::ptrdiff_t dwNetworkGameClient_localPlayer = 0x108;
constexpr std::ptrdiff_t dwNetworkGameClient_getMaxClients = 0x250; constexpr std::ptrdiff_t dwNetworkGameClient_maxClients = 0x258;
constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x240; constexpr std::ptrdiff_t dwNetworkGameClient_serverTickCount = 0x38C;
constexpr std::ptrdiff_t dwSoundService = 0x5CD6D0; constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x248;
constexpr std::ptrdiff_t dwWindowHeight = 0x5D109C; constexpr std::ptrdiff_t dwWindowHeight = 0x7B8A04;
constexpr std::ptrdiff_t dwWindowWidth = 0x5D1098; constexpr std::ptrdiff_t dwWindowWidth = 0x7B8A00;
} }
// Module: inputsystem.dll // Module: libinputsystem.so
namespace inputsystem_dll { namespace libinputsystem_so {
constexpr std::ptrdiff_t dwInputSystem = 0x377C0; constexpr std::ptrdiff_t dwInputSystem = 0x401A0;
} }
// Module: matchmaking.dll // Module: libmatchmaking.so
namespace matchmaking_dll { namespace libmatchmaking_so {
constexpr std::ptrdiff_t dwGameTypes = 0x1D2290; constexpr std::ptrdiff_t dwGameTypes = 0x3350C0;
constexpr std::ptrdiff_t dwGameTypes_mapName = 0x1D23B0; constexpr std::ptrdiff_t dwGameTypes_mapName = 0x3351E0;
} }
} }
} }

View File

@@ -1,40 +1,114 @@
{ {
"client.dll": { "libclient.so": [
"dwCSGOInput": 26422032, {
"dwEntityList": 25992824, "name": "dwCSGOInput",
"dwGameEntitySystem": 27162048, "value": 60467776
"dwGameEntitySystem_getHighestEntityIndex": 5392, },
"dwGameRules": 26373584, {
"dwGlobalVars": 24317728, "name": "dwEntityList",
"dwGlowManager": 26374640, "value": 58638592
"dwLocalPlayerController": 26318216, },
"dwLocalPlayerPawn": 24368552, {
"dwPlantedC4": 26410936, "name": "dwGameEntitySystem",
"dwPrediction": 24368240, "value": 61883000
"dwSensitivity": 26376984, },
"dwSensitivity_sensitivity": 64, {
"dwViewAngles": 26443424, "name": "dwGameEntitySystem_highestEntityIndex",
"dwViewMatrix": 26391312, "value": 8464
"dwViewRender": 26393360, },
"dwWeaponC4": 26006224 {
}, "name": "dwGlowManager",
"engine2.dll": { "value": 60400880
"dwBuildNumber": 5343076, },
"dwEngineViewData": 6084460, {
"dwNetworkGameClient": 5339912, "name": "dwLocalPlayerController",
"dwNetworkGameClient_deltaTick": 600, "value": 60294616
"dwNetworkGameClient_getLocalPlayer": 240, },
"dwNetworkGameClient_getMaxClients": 592, {
"dwNetworkGameClient_signOnState": 576, "name": "dwLocalPlayerPawn",
"dwSoundService": 6084304, "value": 60425128
"dwWindowHeight": 6099100, },
"dwWindowWidth": 6099096 {
}, "name": "dwPlantedC4",
"inputsystem.dll": { "value": 60450328
"dwInputSystem": 227264 },
}, {
"matchmaking.dll": { "name": "dwPrediction",
"dwGameTypes": 1909392, "value": 60424800
"dwGameTypes_mapName": 1909680 },
} {
"name": "dwSensitivity",
"value": 60418088
},
{
"name": "dwSensitivity_sensitivity",
"value": 64
},
{
"name": "dwViewAngles",
"value": 60489320
},
{
"name": "dwViewRender",
"value": 60427792
}
],
"libengine2.so": [
{
"name": "dwBuildNumber",
"value": 8055348
},
{
"name": "dwNetworkGameClient",
"value": 8057832
},
{
"name": "dwNetworkGameClient_clientTickCount",
"value": 904
},
{
"name": "dwNetworkGameClient_isBackgroundMap",
"value": 2626679
},
{
"name": "dwNetworkGameClient_localPlayer",
"value": 264
},
{
"name": "dwNetworkGameClient_maxClients",
"value": 600
},
{
"name": "dwNetworkGameClient_serverTickCount",
"value": 908
},
{
"name": "dwNetworkGameClient_signOnState",
"value": 584
},
{
"name": "dwWindowHeight",
"value": 8096260
},
{
"name": "dwWindowWidth",
"value": 8096256
}
],
"libinputsystem.so": [
{
"name": "dwInputSystem",
"value": 262560
}
],
"libmatchmaking.so": [
{
"name": "dwGameTypes",
"value": 3363008
},
{
"name": "dwGameTypes_mapName",
"value": 3363296
}
]
} }

View File

@@ -1,51 +1,47 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-03 14:01:03.443608 UTC // 2025-01-29 12:23:34.043004291 UTC
#![allow(non_upper_case_globals, unused)] #![allow(non_upper_case_globals, unused)]
pub mod cs2_dumper { pub mod cs2_dumper {
pub mod offsets { pub mod offsets {
// Module: client.dll // Module: libclient.so
pub mod client_dll { pub mod libclient_so {
pub const dwCSGOInput: usize = 0x1932B10; pub const dwCSGOInput: usize = 0x39AAA40;
pub const dwEntityList: usize = 0x18C9E78; pub const dwEntityList: usize = 0x37EC100;
pub const dwGameEntitySystem: usize = 0x19E75C0; pub const dwGameEntitySystem: usize = 0x3B04278;
pub const dwGameEntitySystem_getHighestEntityIndex: usize = 0x1510; pub const dwGameEntitySystem_highestEntityIndex: usize = 0x2110;
pub const dwGameRules: usize = 0x1926DD0; pub const dwGlowManager: usize = 0x399A4F0;
pub const dwGlobalVars: usize = 0x1730F20; pub const dwLocalPlayerController: usize = 0x39805D8;
pub const dwGlowManager: usize = 0x19271F0; pub const dwLocalPlayerPawn: usize = 0x39A03A8;
pub const dwLocalPlayerController: usize = 0x1919588; pub const dwPlantedC4: usize = 0x39A6618;
pub const dwLocalPlayerPawn: usize = 0x173D5A8; pub const dwPrediction: usize = 0x39A0260;
pub const dwPlantedC4: usize = 0x192FFB8; pub const dwSensitivity: usize = 0x399E828;
pub const dwPrediction: usize = 0x173D470;
pub const dwSensitivity: usize = 0x1927B18;
pub const dwSensitivity_sensitivity: usize = 0x40; pub const dwSensitivity_sensitivity: usize = 0x40;
pub const dwViewAngles: usize = 0x1937EA0; pub const dwViewAngles: usize = 0x39AFE68;
pub const dwViewMatrix: usize = 0x192B310; pub const dwViewRender: usize = 0x39A0E10;
pub const dwViewRender: usize = 0x192BB10;
pub const dwWeaponC4: usize = 0x18CD2D0;
} }
// Module: engine2.dll // Module: libengine2.so
pub mod engine2_dll { pub mod libengine2_so {
pub const dwBuildNumber: usize = 0x518764; pub const dwBuildNumber: usize = 0x7AEA34;
pub const dwEngineViewData: usize = 0x5CD76C; pub const dwNetworkGameClient: usize = 0x7AF3E8;
pub const dwNetworkGameClient: usize = 0x517B08; pub const dwNetworkGameClient_clientTickCount: usize = 0x388;
pub const dwNetworkGameClient_deltaTick: usize = 0x258; pub const dwNetworkGameClient_isBackgroundMap: usize = 0x281477;
pub const dwNetworkGameClient_getLocalPlayer: usize = 0xF0; pub const dwNetworkGameClient_localPlayer: usize = 0x108;
pub const dwNetworkGameClient_getMaxClients: usize = 0x250; pub const dwNetworkGameClient_maxClients: usize = 0x258;
pub const dwNetworkGameClient_signOnState: usize = 0x240; pub const dwNetworkGameClient_serverTickCount: usize = 0x38C;
pub const dwSoundService: usize = 0x5CD6D0; pub const dwNetworkGameClient_signOnState: usize = 0x248;
pub const dwWindowHeight: usize = 0x5D109C; pub const dwWindowHeight: usize = 0x7B8A04;
pub const dwWindowWidth: usize = 0x5D1098; pub const dwWindowWidth: usize = 0x7B8A00;
} }
// Module: inputsystem.dll // Module: libinputsystem.so
pub mod inputsystem_dll { pub mod libinputsystem_so {
pub const dwInputSystem: usize = 0x377C0; pub const dwInputSystem: usize = 0x401A0;
} }
// Module: matchmaking.dll // Module: libmatchmaking.so
pub mod matchmaking_dll { pub mod libmatchmaking_so {
pub const dwGameTypes: usize = 0x1D2290; pub const dwGameTypes: usize = 0x3350C0;
pub const dwGameTypes_mapName: usize = 0x1D23B0; pub const dwGameTypes_mapName: usize = 0x3351E0;
} }
} }
} }

2
rust-toolchain.toml Normal file
View File

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

View File

@@ -2,36 +2,29 @@ use log::debug;
use memflow::prelude::v1::*; use memflow::prelude::v1::*;
use pelite::pattern;
use pelite::pe64::{Pe, PeView};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use skidscan_macros::signature;
use crate::error::{Error, Result}; use crate::error::{Error, Result};
use crate::source2::KeyButton; use crate::source2::KeyButton;
#[derive(Debug, Deserialize, Serialize)] #[derive(Deserialize, Serialize)]
pub struct Button { pub struct Button {
pub name: String, pub name: String,
pub value: u32, pub value: u32,
} }
pub fn buttons(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<Vec<Button>> { pub fn buttons(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<Vec<Button>> {
let module = process.module_by_name("client.dll")?; let module = process.module_by_name("libclient.so")?;
let buf = process.read_raw(module.base, module.size as _)?; let buf = process.read_raw(module.base, module.size as _)?;
let view = PeView::from_bytes(&buf)?; let list_addr = signature!("48 8D 15 ? ? ? ? 66 44 89 ? ? 48 8D 35")
.scan(&buf)
.and_then(|result| process.read_addr64_rip(module.base + result).ok())
.ok_or(Error::Other("unable to read button list address"))?;
let mut save = [0; 2]; read_buttons(process, &module, list_addr)
if !view
.scanner()
.finds_code(pattern!("488b15${'} 4885d2 74? 0f1f40"), &mut save)
{
return Err(Error::Other("unable to find button list pattern"));
}
read_buttons(process, &module, module.base + save[1])
} }
fn read_buttons( fn read_buttons(
@@ -51,7 +44,7 @@ fn read_buttons(
((cur_button.address() - module.base) + offset_of!(KeyButton.state) as i64) as u32; ((cur_button.address() - module.base) + offset_of!(KeyButton.state) as i64) as u32;
debug!( debug!(
"found button: {} @ {:#X} ({} + {:#X})", "found button: {} at {:#X} ({} + {:#X})",
name, name,
value as u64 + module.base.to_umem(), value as u64 + module.base.to_umem(),
module.name, module.name,

View File

@@ -4,17 +4,16 @@ use log::debug;
use memflow::prelude::v1::*; use memflow::prelude::v1::*;
use pelite::pattern;
use pelite::pe64::{Pe, PeView};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use skidscan_macros::signature;
use crate::error::Result; use crate::error::Result;
use crate::source2::InterfaceReg; use crate::source2::InterfaceReg;
pub type InterfaceMap = BTreeMap<String, Vec<Interface>>; pub type InterfaceMap = BTreeMap<String, Vec<Interface>>;
#[derive(Debug, Deserialize, Serialize)] #[derive(Deserialize, Serialize)]
pub struct Interface { pub struct Interface {
pub name: String, pub name: String,
pub value: u32, pub value: u32,
@@ -27,18 +26,11 @@ pub fn interfaces(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<Interfa
.filter_map(|module| { .filter_map(|module| {
let buf = process.read_raw(module.base, module.size as _).ok()?; let buf = process.read_raw(module.base, module.size as _).ok()?;
let view = PeView::from_bytes(&buf).ok()?; let list_addr = signature!("48 8B 1D ? ? ? ? 48 85 DB 74 ? 49 89 FC")
.scan(&buf)
.and_then(|result| process.read_addr64_rip(module.base + result).ok())?;
let mut save = [0; 2]; read_interfaces(process, module, list_addr)
if !view
.scanner()
.finds_code(pattern!("4c8b0d${'} 4c8bd2 4c8bd9"), &mut save)
{
return None;
}
read_interfaces(process, module, module.base + save[1])
.ok() .ok()
.filter(|ifaces| !ifaces.is_empty()) .filter(|ifaces| !ifaces.is_empty())
.map(|ifaces| Ok((module.name.to_string(), ifaces))) .map(|ifaces| Ok((module.name.to_string(), ifaces)))
@@ -62,7 +54,7 @@ fn read_interfaces(
let value = (reg.create_fn.address() - module.base) as u32; let value = (reg.create_fn.address() - module.base) as u32;
debug!( debug!(
"found interface: {} @ {:#X} ({} + {:#X})", "found interface: {} at {:#X} ({} + {:#X})",
name, name,
value as u64 + module.base.to_umem(), value as u64 + module.base.to_umem(),
module.name, module.name,

View File

@@ -1,145 +1,265 @@
use std::collections::BTreeMap; use std::collections::BTreeMap;
use std::mem;
use std::str::FromStr;
use log::debug; use log::{debug, error};
use memflow::prelude::v1::*; use memflow::prelude::v1::*;
use pelite::pattern; use serde::{Deserialize, Serialize};
use pelite::pattern::{save_len, Atom};
use pelite::pe64::{Pe, PeView};
use phf::{phf_map, Map}; use crate::config::{Operation, Signature, CONFIG};
use crate::error::{Error, Result};
use crate::error::Result; pub type OffsetMap = BTreeMap<String, Vec<Offset>>;
pub type OffsetMap = BTreeMap<String, BTreeMap<String, u32>>; #[derive(Deserialize, Serialize)]
pub struct Offset {
macro_rules! pattern_map { pub name: String,
($($module:ident => { pub value: u32,
$($name:expr => $pattern:expr $(=> $callback:expr)?),+ $(,)?
}),+ $(,)?) => {
$(
mod $module {
use super::*;
pub(super) const PATTERNS: Map<
&'static str,
(
&'static [Atom],
Option<fn(&PeView, &mut BTreeMap<String, u32>, u32)>,
),
> = phf_map! {
$($name => ($pattern, $($callback)?)),+
};
pub fn offsets(view: PeView<'_>) -> BTreeMap<String, u32> {
let mut map = BTreeMap::new();
for (&name, (pat, callback)) in &PATTERNS {
let mut save = vec![0; save_len(pat)];
if !view.scanner().finds_code(pat, &mut save) {
continue;
}
let rva = save[1];
map.insert(name.to_string(), rva);
if let Some(callback) = callback {
callback(&view, &mut map, rva);
}
}
for (name, value) in &map {
debug!(
"found offset: {} @ {:#X} ({}.dll + {:#X})",
name,
*value as u64 + view.optional_header().ImageBase,
stringify!($module),
value
);
}
map
}
}
)+
};
}
pattern_map! {
client => {
"dwCSGOInput" => pattern!("488905${'} 488d05${} 48890d${} 488905${} 488d05") => Some(|view, map, rva| {
let mut save = [0; 2];
if view.scanner().finds_code(pattern!("498d81u4 4803c7"), &mut save) {
map.insert("dwViewAngles".to_string(), rva + save[1]);
}
}),
"dwEntityList" => pattern!("488935${'} 4885f6") => None,
"dwGameEntitySystem" => pattern!("488b1d${'} 48891d") => None,
"dwGameEntitySystem_getHighestEntityIndex" => pattern!("8b81u2?? 8902 488bc2 c3 cccccccc 48895c24? 48896c24") => None,
"dwGameRules" => pattern!("48890d${'} 8b0d${} ff15") => None,
"dwGlobalVars" => pattern!("48890d${'} 488941") => None,
"dwGlowManager" => pattern!("488b05${'} c3 cccccccccccccccc 8b41") => None,
"dwLocalPlayerController" => pattern!("488b05${'} 4885c0 74? 8b88") => None,
"dwPlantedC4" => pattern!("488b15${'} ffc0 488d4c24") => None,
"dwPrediction" => pattern!("488d05${'} c3 cccccccccccccccc 4883ec? 8b0d") => Some(|_view, map, rva| {
map.insert("dwLocalPlayerPawn".to_string(), rva + 0x138);
}),
"dwSensitivity" => pattern!("488b05${'} 488b40? f3410f59f4") => None,
"dwSensitivity_sensitivity" => pattern!("ff50u1 4c8bc6 488d55? 488bcf e8${} 84c0 0f85${} 4c8d45? 8bd3 488bcf e8${} e9${} f30f1006") => None,
"dwViewMatrix" => pattern!("488d0d${'} 48c1e006") => None,
"dwViewRender" => pattern!("488905${'} 488bc8 4885c0") => None,
"dwWeaponC4" => pattern!("488b15${'} ffc0 8905${} 488bc7") => None,
},
engine2 => {
"dwBuildNumber" => pattern!("8905${'} 488d0d${} ff15${}") => None,
"dwNetworkGameClient" => pattern!("48893d${'} 488d15") => None,
"dwNetworkGameClient_deltaTick" => pattern!("8983u4 40b7") => None,
"dwNetworkGameClient_getLocalPlayer" => pattern!("4883c0u1 488d0440 458b04c7") => Some(|_view, map, rva| {
// .text 48 83 C0 0A | add rax, 0Ah
// .text 48 8D 04 40 | lea rax, [rax + rax * 2]
// .text 45 8B 04 C7 | mov r8d, [r15 + rax * 8]
map.insert("dwNetworkGameClient_getLocalPlayer".to_string(), (rva + (rva * 2)) * 8);
}),
"dwNetworkGameClient_getMaxClients" => pattern!("8b81u2?? c3cccccccccccccccccc 8b81${} ffc0") => None,
"dwNetworkGameClient_signOnState" => pattern!("448b81u2?? 488d0d") => None,
"dwWindowHeight" => pattern!("8b05${'} 8903") => None,
"dwWindowWidth" => pattern!("8b05${'} 8907") => None,
"dwSoundService" => pattern!("488905${'} 4c8d4424? 488d05") => Some(|_view, map, rva| {
map.insert("dwEngineViewData".to_string(), rva + 0x9C);
}),
},
input_system => {
"dwInputSystem" => pattern!("488905${'} 488d05") => None,
},
matchmaking => {
"dwGameTypes" => pattern!("488d0d${'} 33d2") => Some(|_view, map, rva| {
map.insert("dwGameTypes_mapName".to_string(), rva + 0x120);
}),
},
} }
pub fn offsets(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<OffsetMap> { pub fn offsets(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<OffsetMap> {
let mut map = BTreeMap::new(); let mut map = BTreeMap::new();
let modules: [(&str, fn(PeView) -> BTreeMap<String, u32>); 4] = [ for (module_name, sigs) in CONFIG.signatures.iter().flatten() {
("client.dll", client::offsets),
("engine2.dll", engine2::offsets),
("inputsystem.dll", input_system::offsets),
("matchmaking.dll", matchmaking::offsets),
];
for (module_name, offsets) in &modules {
let module = process.module_by_name(module_name)?; let module = process.module_by_name(module_name)?;
let buf = process.read_raw(module.base, module.size as _)?;
let view = PeView::from_bytes(&buf)?; let mut offsets: Vec<_> = sigs
.iter()
.filter_map(|sig| match read_offset(process, &module, sig) {
Ok(offset) => Some(offset),
Err(err) => {
error!("{}", err);
map.insert(module_name.to_string(), offsets(view)); None
}
})
.collect();
if !offsets.is_empty() {
offsets.sort_unstable_by(|a, b| a.name.cmp(&b.name));
map.insert(module_name.to_string(), offsets);
}
} }
Ok(map) Ok(map)
} }
fn read_offset(
process: &mut IntoProcessInstanceArcBox<'_>,
module: &ModuleInfo,
signature: &Signature,
) -> Result<Offset> {
let buf = process.read_raw(module.base, module.size as _)?;
let addr = skidscan::Signature::from_str(&signature.pattern)?
.scan(&buf)
.ok_or_else(|| Error::SignatureNotFound(signature.name.clone()))?;
let mut result = module.base + addr;
for op in &signature.operations {
result = match op {
Operation::Add { value } => result + *value,
Operation::Rip { offset, len } => {
let offset: i32 = process.read(result + offset.unwrap_or(0x3))?;
(result + offset) + len.unwrap_or(7)
}
Operation::Read => process.read_addr64(result)?,
Operation::Slice { start, end } => {
let buf = process.read_raw(result + *start, end - start)?;
let mut bytes = [0; mem::size_of::<usize>()];
bytes[..buf.len()].copy_from_slice(&buf);
usize::from_le_bytes(bytes).into()
}
Operation::Sub { value } => result - *value,
};
}
let value = (result - module.base)
.try_into().unwrap_or_else(|_| result.to_umem() as u32);
debug!("found offset: {} at {:#X}", signature.name, value);
Ok(Offset {
name: signature.name.clone(),
value,
})
}
#[cfg(test)]
mod tests {
use std::fs;
use serde_json::Value;
use super::*;
fn setup() -> Result<IntoProcessInstanceArcBox<'static>> {
let os = memflow_native::create_os(&OsArgs::default(), LibArc::default())?;
let process = os.into_process_by_name("cs2")?;
Ok(process)
}
fn get_class_field_value(module_name: &str, class_name: &str, field_name: &str) -> Option<u64> {
let content = fs::read_to_string(format!("output/{}.json", module_name)).ok()?;
let value: Value = serde_json::from_str(&content).ok()?;
value
.get(module_name)?
.get("classes")?
.get(class_name)?
.get("fields")?
.get(field_name)?
.as_u64()
}
fn get_offset_value(module_name: &str, offset_name: &str) -> Option<u64> {
let content = fs::read_to_string("output/offsets.json").ok()?;
let value: Value = serde_json::from_str(&content).ok()?;
let offsets = value.get(module_name)?.as_array()?;
offsets.iter().find_map(|offset| {
if offset.get("name")?.as_str()? == offset_name {
offset.get("value")?.as_u64()
} else {
None
}
})
}
#[test]
fn build_number() -> Result<()> {
let mut process = setup()?;
let engine_base = process.module_by_name("libengine2.so")?.base;
let offset = get_offset_value("libengine2.so", "dwBuildNumber").unwrap();
let build_number: u32 = process.read(engine_base + offset).data_part()?;
println!("build number: {}", build_number);
Ok(())
}
#[test]
fn global_vars() -> Result<()> {
let mut process = setup()?;
let client_base = process.module_by_name("libclient.so")?.base;
let offset = get_offset_value("libclient.so", "dwGlobalVars").unwrap();
let global_vars: u64 = process.read(client_base + offset).data_part()?;
let cur_map_name = {
let addr = process
.read_addr64((global_vars + 0x1C8).into())
.data_part()?;
process.read_char_string(addr).data_part()?
};
println!("current map name: {}", cur_map_name);
Ok(())
}
#[test]
fn local_player_controller() -> Result<()> {
let mut process = setup()?;
let client_base = process.module_by_name("libclient.so")?.base;
let local_player_controller_offset =
get_offset_value("libclient.so", "dwLocalPlayerController").unwrap();
let player_name_offset =
get_class_field_value("libclient.so", "CBasePlayerController", "m_iszPlayerName")
.unwrap();
let local_player_controller: u64 = process
.read(client_base + local_player_controller_offset)
.data_part()?;
let player_name = process
.read_char_string((local_player_controller + player_name_offset).into())
.data_part()?;
println!("local player name: {}", player_name);
Ok(())
}
#[test]
fn local_player_pawn() -> Result<()> {
#[derive(Debug, Pod)]
#[repr(C)]
struct Vector3D {
x: f32,
y: f32,
z: f32,
}
let mut process = setup()?;
let client_base = process.module_by_name("libclient.so")?.base;
let local_player_pawn_offset =
get_offset_value("libclient.so", "dwLocalPlayerPawn").unwrap();
let game_scene_node_offset =
get_class_field_value("libclient.so", "C_BaseEntity", "m_pGameSceneNode").unwrap();
let vec_abs_origin_offset =
get_class_field_value("libclient.so", "CGameSceneNode", "m_vecAbsOrigin").unwrap();
let local_player_pawn: u64 = process
.read(client_base + local_player_pawn_offset)
.data_part()?;
let game_scene_node: u64 = process
.read((local_player_pawn + game_scene_node_offset).into())
.data_part()?;
let vec_abs_origin: Vector3D = process
.read((game_scene_node + vec_abs_origin_offset).into())
.data_part()?;
println!("local player origin: {:?}", vec_abs_origin);
Ok(())
}
#[test]
fn window_size() -> Result<()> {
let mut process = setup()?;
let engine_base = process.module_by_name("libengine2.so")?.base;
let window_width_offset = get_offset_value("libengine2.so", "dwWindowWidth").unwrap();
let window_height_offset = get_offset_value("libengine2.so", "dwWindowHeight").unwrap();
let window_width: u32 = process
.read(engine_base + window_width_offset)
.data_part()?;
let window_height: u32 = process
.read(engine_base + window_height_offset)
.data_part()?;
println!("window size: {}x{}", window_width, window_height);
Ok(())
}
}

View File

@@ -5,24 +5,23 @@ use log::debug;
use memflow::prelude::v1::*; use memflow::prelude::v1::*;
use pelite::pattern;
use pelite::pe64::{Pe, PeView};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use skidscan_macros::signature;
use crate::error::{Error, Result}; use crate::error::{Error, Result};
use crate::source2::*; use crate::source2::*;
pub type SchemaMap = BTreeMap<String, (Vec<Class>, Vec<Enum>)>; pub type SchemaMap = BTreeMap<String, (Vec<Class>, Vec<Enum>)>;
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Deserialize, Serialize)]
pub enum ClassMetadata { pub enum ClassMetadata {
Unknown { name: String }, Unknown { name: String },
NetworkChangeCallback { name: String }, NetworkChangeCallback { name: String },
NetworkVarNames { name: String, type_name: String }, NetworkVarNames { name: String, type_name: String },
} }
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Deserialize, Serialize)]
pub struct Class { pub struct Class {
pub name: String, pub name: String,
pub module_name: String, pub module_name: String,
@@ -31,28 +30,28 @@ pub struct Class {
pub fields: Vec<ClassField>, pub fields: Vec<ClassField>,
} }
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Deserialize, Serialize)]
pub struct ClassField { pub struct ClassField {
pub name: String, pub name: String,
pub type_name: String, pub type_name: String,
pub offset: i32, pub offset: i32,
} }
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Deserialize, Serialize)]
pub struct Enum { pub struct Enum {
pub name: String, pub name: String,
pub alignment: u8, pub alignment: u8,
pub size: u16, pub size: i16,
pub members: Vec<EnumMember>, pub members: Vec<EnumMember>,
} }
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Deserialize, Serialize)]
pub struct EnumMember { pub struct EnumMember {
pub name: String, pub name: String,
pub value: i64, pub value: i64,
} }
#[derive(Clone, Debug, Deserialize, Serialize)] #[derive(Clone, Deserialize, Serialize)]
pub struct TypeScope { pub struct TypeScope {
pub module_name: String, pub module_name: String,
pub classes: Vec<Class>, pub classes: Vec<Class>,
@@ -85,10 +84,14 @@ fn read_class_binding(
let module_name = binding let module_name = binding
.module_name .module_name
.read_string(process) .read_string(process)
.map(|s| format!("{}.dll", s))?; .map(|s| format!("{}.so", s))?;
let name = binding.name.read_string(process)?.to_string(); 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 parent = binding.base_classes.non_null().and_then(|ptr| {
let base_class = ptr.read(process).ok()?; let base_class = ptr.read(process).ok()?;
let parent_class = base_class.prev.read(process).ok()?; let parent_class = base_class.prev.read(process).ok()?;
@@ -114,7 +117,7 @@ fn read_class_binding(
let metadata = read_class_binding_metadata(process, &binding)?; let metadata = read_class_binding_metadata(process, &binding)?;
debug!( debug!(
"found class: {} @ {:#X} (module name: {}) (parent name: {:?}) (metadata count: {}) (fields count: {})", "found class: {} at {:#X} (module name: {}) (parent name: {:?}) (metadata count: {}) (fields count: {})",
name, name,
binding_ptr.to_umem(), binding_ptr.to_umem(),
module_name, module_name,
@@ -140,7 +143,7 @@ fn read_class_binding_fields(
return Ok(Vec::new()); return Ok(Vec::new());
} }
(0..binding.field_count).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)?; let field = binding.fields.at(i as _).read(process)?;
if field.schema_type.is_null() { if field.schema_type.is_null() {
@@ -174,12 +177,12 @@ fn read_class_binding_metadata(
(0..binding.static_metadata_count).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)?; let metadata = binding.static_metadata.at(i as _).read(process)?;
if metadata.data.is_null() { if metadata.network_value.is_null() {
return Ok(acc); return Ok(acc);
} }
let name = metadata.name.read_string(process)?.to_string(); let name = metadata.name.read_string(process)?.to_string();
let network_value = metadata.data.read(process)?; let network_value = metadata.network_value.read(process)?;
let metadata = match name.as_str() { let metadata = match name.as_str() {
"MNetworkChangeCallback" => unsafe { "MNetworkChangeCallback" => unsafe {
@@ -215,20 +218,24 @@ fn read_enum_binding(
let binding = binding_ptr.read(process)?; let binding = binding_ptr.read(process)?;
let name = binding.name.read_string(process)?.to_string(); 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)?; let members = read_enum_binding_members(process, &binding)?;
debug!( debug!(
"found enum: {} @ {:#X} (alignment: {}) (members count: {})", "found enum: {} at {:#X} (alignment: {}) (members count: {})",
name, name,
binding_ptr.to_umem(), binding_ptr.to_umem(),
binding.alignment, binding.align_of,
binding.size, binding.size,
); );
Ok(Enum { Ok(Enum {
name, name,
alignment: binding.alignment, alignment: binding.align_of,
size: binding.enumerator_count, size: binding.enumerators_count,
members, members,
}) })
} }
@@ -241,7 +248,7 @@ fn read_enum_binding_members(
return Ok(Vec::new()); return Ok(Vec::new());
} }
(0..binding.enumerator_count).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 enumerator = binding.enumerators.at(i as _).read(process)?;
let name = enumerator.name.read_string(process)?.to_string(); let name = enumerator.name.read_string(process)?.to_string();
@@ -255,21 +262,15 @@ fn read_enum_binding_members(
} }
fn read_schema_system(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<SchemaSystem> { fn read_schema_system(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<SchemaSystem> {
let module = process.module_by_name("schemasystem.dll")?; let module = process.module_by_name("libschemasystem.so")?;
let buf = process.read_raw(module.base, module.size as _)?; let buf = process.read_raw(module.base, module.size as _)?;
let view = PeView::from_bytes(&buf)?; 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(Error::Other("unable to read schema system address"))?;
let mut save = [0; 2]; let schema_system: SchemaSystem = process.read(schema_system_addr)?;
if !view
.scanner()
.finds_code(pattern!("488905${'} 4c8d45"), &mut save)
{
return Err(Error::Other("unable to find schema system pattern"));
}
let schema_system: SchemaSystem = process.read(module.base + save[1])?;
if schema_system.num_registrations == 0 { if schema_system.num_registrations == 0 {
return Err(Error::Other("no schema system registrations found")); return Err(Error::Other("no schema system registrations found"));
@@ -311,7 +312,7 @@ fn read_type_scopes(
} }
debug!( debug!(
"found type scope: {} @ {:#X} (classes count: {}) (enums count: {})", "found type scope: {} at {:#X} (classes count: {}) (enums count: {})",
module_name, module_name,
type_scope_ptr.to_umem(), type_scope_ptr.to_umem(),
classes.len(), classes.len(),

49
src/config.rs Normal file
View File

@@ -0,0 +1,49 @@
use std::collections::HashMap;
use std::fs;
use std::sync::LazyLock;
use serde::{Deserialize, Serialize};
pub static CONFIG: LazyLock<Config> = LazyLock::new(|| {
let content = fs::read_to_string("config.json").unwrap();
serde_json::from_str(&content).unwrap()
});
#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "snake_case", tag = "type")]
pub enum Operation {
/// Adds the specified value to the current address.
Add { value: usize },
/// Resolves the absolute address of a RIP-relative address.
Rip {
/// The offset of the displacement value.
offset: Option<usize>,
/// The total length of the instruction.
len: Option<usize>,
},
/// Reads the value at the current address, treating it as a pointer.
Read,
/// Extracts a range of bytes from the current address and interprets them as a value.
Slice { start: usize, end: usize },
/// Subtracts the specified value from the current address.
Sub { value: usize },
}
#[derive(Debug, Deserialize, Serialize)]
pub struct Config {
pub executable: String,
pub signatures: Vec<HashMap<String, Vec<Signature>>>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct Signature {
pub name: String,
pub pattern: String,
pub operations: Vec<Operation>,
}

View File

@@ -13,19 +13,27 @@ pub enum Error {
#[error(transparent)] #[error(transparent)]
Memflow(#[from] memflow::error::Error), Memflow(#[from] memflow::error::Error),
#[error(transparent)]
Pelite(#[from] pelite::Error),
#[error(transparent)] #[error(transparent)]
Serde(#[from] serde_json::Error), Serde(#[from] serde_json::Error),
#[error("unable to parse signature")]
SignatureParseError,
#[error("unable to find signature for: {0}")]
SignatureNotFound(String),
#[error("{0}")] #[error("{0}")]
Other(&'static str), Other(&'static str),
} }
impl<T> From<memflow::error::PartialError<T>> for Error { impl<T> From<memflow::error::PartialError<T>> for Error {
#[inline] fn from(e: memflow::error::PartialError<T>) -> Self {
fn from(err: memflow::error::PartialError<T>) -> Self { Error::Memflow(e.into())
Error::Memflow(err.into()) }
}
impl From<skidscan::SignatureParseError> for Error {
fn from(_e: skidscan::SignatureParseError) -> Self {
Error::SignatureParseError
} }
} }

View File

@@ -1,19 +1,20 @@
use std::path::PathBuf; use std::path::PathBuf;
use std::str::FromStr;
use std::time::Instant; use std::time::Instant;
use clap::*; use clap::{ArgAction, Parser};
use log::{info, Level}; use log::{info, Level};
use memflow::prelude::v1::*; use memflow::prelude::v1::*;
use simplelog::{ColorChoice, TermLogger}; use simplelog::{ColorChoice, Config, TermLogger, TerminalMode};
use config::CONFIG;
use error::Result; use error::Result;
use output::Output; use output::Output;
mod analysis; mod analysis;
mod config;
mod error; mod error;
mod mem; mod mem;
mod output; mod output;
@@ -22,14 +23,6 @@ mod source2;
#[derive(Debug, Parser)] #[derive(Debug, Parser)]
#[command(author, version)] #[command(author, version)]
struct Args { struct Args {
/// The name of the memflow connector to use.
#[arg(short, long)]
connector: Option<String>,
/// Additional arguments to pass to the memflow connector.
#[arg(short = 'a', long)]
connector_args: Option<String>,
/// The types of files to generate. /// The types of files to generate.
#[arg(short, long, value_delimiter = ',', default_values = ["cs", "hpp", "json", "rs"])] #[arg(short, long, value_delimiter = ',', default_values = ["cs", "hpp", "json", "rs"])]
file_types: Vec<String>, file_types: Vec<String>,
@@ -42,10 +35,6 @@ struct Args {
#[arg(short, long, default_value = "output")] #[arg(short, long, default_value = "output")]
output: PathBuf, output: PathBuf,
/// The name of the game process.
#[arg(short, long, default_value = "cs2.exe")]
process_name: String,
/// Increase logging verbosity. Can be specified multiple times. /// Increase logging verbosity. Can be specified multiple times.
#[arg(short, action = ArgAction::Count)] #[arg(short, action = ArgAction::Count)]
verbose: u8, verbose: u8,
@@ -65,34 +54,18 @@ fn main() -> Result<()> {
TermLogger::init( TermLogger::init(
log_level.to_level_filter(), log_level.to_level_filter(),
Default::default(), Config::default(),
Default::default(), TerminalMode::Mixed,
ColorChoice::Auto, ColorChoice::Auto,
) )
.unwrap(); .unwrap();
let conn_args = args let os = memflow_native::create_os(&OsArgs::default(), LibArc::default())?;
.connector_args
.map(|s| ConnectorArgs::from_str(&s).expect("unable to parse connector arguments"))
.unwrap_or_default();
let os = if let Some(conn) = args.connector { let mut process = os.into_process_by_name(&CONFIG.executable)?;
let inventory = Inventory::scan();
inventory
.builder()
.connector(&conn)
.args(conn_args)
.os("win32")
.build()?
} else {
// Fallback to the native OS layer if no connector name was specified.
memflow_native::create_os(&Default::default(), Default::default())?
};
let mut process = os.into_process_by_name(&args.process_name)?;
let result = analysis::analyze_all(&mut process)?; let result = analysis::analyze_all(&mut process)?;
let output = Output::new(&args.file_types, args.indent_size, &args.output, &result)?; let output = Output::new(&args.file_types, args.indent_size, &args.output, &result)?;
output.dump_all(&mut process)?; output.dump_all(&mut process)?;

View File

@@ -41,7 +41,6 @@ impl<'a> Formatter<'a> {
Ok(()) Ok(())
} }
#[inline]
fn push_indentation(&mut self) { fn push_indentation(&mut self) {
if self.indent_level > 0 { if self.indent_level > 0 {
let indentation = " ".repeat(self.indent_level * self.indent_size); let indentation = " ".repeat(self.indent_level * self.indent_size);
@@ -51,7 +50,7 @@ impl<'a> Formatter<'a> {
} }
} }
impl<'a> Write for Formatter<'a> { impl Write for Formatter<'_> {
fn write_str(&mut self, s: &str) -> fmt::Result { fn write_str(&mut self, s: &str) -> fmt::Result {
let mut lines = s.lines().peekable(); let mut lines = s.lines().peekable();

View File

@@ -40,15 +40,12 @@ impl<'a> Item<'a> {
trait CodeWriter { trait CodeWriter {
fn write_cs(&self, fmt: &mut Formatter<'_>) -> fmt::Result; fn write_cs(&self, fmt: &mut Formatter<'_>) -> fmt::Result;
fn write_hpp(&self, fmt: &mut Formatter<'_>) -> fmt::Result; fn write_hpp(&self, fmt: &mut Formatter<'_>) -> fmt::Result;
fn write_json(&self, fmt: &mut Formatter<'_>) -> fmt::Result; fn write_json(&self, fmt: &mut Formatter<'_>) -> fmt::Result;
fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result; fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result;
} }
impl<'a> CodeWriter for Item<'a> { impl CodeWriter for Item<'_> {
fn write_cs(&self, fmt: &mut Formatter<'_>) -> fmt::Result { fn write_cs(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
match self { match self {
Item::Buttons(buttons) => buttons.write_cs(fmt), Item::Buttons(buttons) => buttons.write_cs(fmt),
@@ -101,7 +98,7 @@ impl<'a> Output<'a> {
out_dir: &'a Path, out_dir: &'a Path,
result: &'a AnalysisResult, result: &'a AnalysisResult,
) -> Result<Self> { ) -> Result<Self> {
fs::create_dir_all(&out_dir)?; fs::create_dir_all(out_dir)?;
Ok(Self { Ok(Self {
file_types, file_types,
@@ -138,7 +135,11 @@ impl<'a> Output<'a> {
.iter() .iter()
.find_map(|(module_name, offsets)| { .find_map(|(module_name, offsets)| {
let module = process.module_by_name(module_name).ok()?; let module = process.module_by_name(module_name).ok()?;
let offset = offsets.iter().find(|(name, _)| *name == "dwBuildNumber")?.1;
let offset = offsets
.iter()
.find(|offset| offset.name == "dwBuildNumber")?
.value;
process.read::<u32>(module.base + offset).ok() process.read::<u32>(module.base + offset).ok()
}) })

View File

@@ -14,8 +14,12 @@ impl CodeWriter for OffsetMap {
&format!("public static class {}", AsPascalCase(slugify(module_name))), &format!("public static class {}", AsPascalCase(slugify(module_name))),
false, false,
|fmt| { |fmt| {
for (name, value) in offsets { for offset in offsets {
writeln!(fmt, "public const nint {} = {:#X};", name, value)?; writeln!(
fmt,
"public const nint {} = {:#X};",
offset.name, offset.value
)?;
} }
Ok(()) Ok(())
@@ -40,8 +44,12 @@ impl CodeWriter for OffsetMap {
&format!("namespace {}", AsSnakeCase(slugify(module_name))), &format!("namespace {}", AsSnakeCase(slugify(module_name))),
false, false,
|fmt| { |fmt| {
for (name, value) in offsets { for offset in offsets {
writeln!(fmt, "constexpr std::ptrdiff_t {} = {:#X};", name, value)?; writeln!(
fmt,
"constexpr std::ptrdiff_t {} = {:#X};",
offset.name, offset.value
)?;
} }
Ok(()) Ok(())
@@ -70,8 +78,12 @@ impl CodeWriter for OffsetMap {
&format!("pub mod {}", AsSnakeCase(slugify(module_name))), &format!("pub mod {}", AsSnakeCase(slugify(module_name))),
false, false,
|fmt| { |fmt| {
for (name, value) in offsets { for offset in offsets {
writeln!(fmt, "pub const {}: usize = {:#X};", name, value)?; writeln!(
fmt,
"pub const {}: usize = {:#X};",
offset.name, offset.value
)?;
} }
Ok(()) Ok(())

View File

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

View File

@@ -6,6 +6,6 @@ use super::SchemaClassInfoData;
#[repr(C)] #[repr(C)]
pub struct SchemaBaseClassInfoData { pub struct SchemaBaseClassInfoData {
pub offset: u32, // 0x0000 pub offset: u32, // 0x0000
pad_0004: [u8; 4], // 0x0004 pad_0004: [u8; 0x4], // 0x0004
pub prev: Pointer64<SchemaClassInfoData>, // 0x0008 pub prev: Pointer64<SchemaClassInfoData>, // 0x0008
} }

View File

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

View File

@@ -1,6 +1,9 @@
use memflow::prelude::v1::*; use memflow::prelude::v1::*;
use super::*; use super::{
SchemaBaseClassInfoData, SchemaClassFieldData, SchemaMetadataEntryData, SchemaStaticFieldData,
SchemaSystemTypeScope, SchemaType,
};
pub type SchemaClassBinding = SchemaClassInfoData; pub type SchemaClassBinding = SchemaClassInfoData;
@@ -12,13 +15,13 @@ pub struct SchemaClassInfoData {
pub name: Pointer64<ReprCString>, // 0x0008 pub name: Pointer64<ReprCString>, // 0x0008
pub module_name: Pointer64<ReprCString>, // 0x0010 pub module_name: Pointer64<ReprCString>, // 0x0010
pub size: i32, // 0x0018 pub size: i32, // 0x0018
pub field_count: u16, // 0x001C pub fields_count: i16, // 0x001C
pub static_field_count: u16, // 0x001E pub static_fields_count: i16, // 0x001E
pub static_metadata_count: u16, // 0x0020 pub static_metadata_count: i16, // 0x0020
pub alignment: u8, // 0x0022 pub align_of: u8, // 0x0022
pub base_class_count: u8, // 0x0023 pub has_base_class: u8, // 0x0023
pub multiple_inheritance_depth: u16, // 0x0024 pub total_class_size: i16, // 0x0024
pub single_inheritance_depth: u16, // 0x0026 pub derived_class_size: i16, // 0x0026
pub fields: Pointer64<[SchemaClassFieldData]>, // 0x0028 pub fields: Pointer64<[SchemaClassFieldData]>, // 0x0028
pub static_fields: Pointer64<[SchemaStaticFieldData]>, // 0x0030 pub static_fields: Pointer64<[SchemaStaticFieldData]>, // 0x0030
pub base_classes: Pointer64<SchemaBaseClassInfoData>, // 0x0038 pub base_classes: Pointer64<SchemaBaseClassInfoData>, // 0x0038

View File

@@ -12,10 +12,10 @@ pub struct SchemaEnumInfoData {
pub name: Pointer64<ReprCString>, // 0x0008 pub name: Pointer64<ReprCString>, // 0x0008
pub module_name: Pointer64<ReprCString>, // 0x0010 pub module_name: Pointer64<ReprCString>, // 0x0010
pub size: u8, // 0x0018 pub size: u8, // 0x0018
pub alignment: u8, // 0x0019 pub align_of: u8, // 0x0019
pub flags: u16, // 0x001A pad_001a: [u8; 0x2], // 0x001A
pub enumerator_count: u16, // 0x001C pub enumerators_count: i16, // 0x001C
pub static_metadata_count: u16, // 0x001E pub static_metadata_count: i16, // 0x001E
pub enumerators: Pointer64<[SchemaEnumeratorInfoData]>, // 0x0020 pub enumerators: Pointer64<[SchemaEnumeratorInfoData]>, // 0x0020
pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0028 pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0028
pub type_scope: Pointer64<SchemaSystemTypeScope>, // 0x0030 pub type_scope: Pointer64<SchemaSystemTypeScope>, // 0x0030

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