15 Commits

Author SHA1 Message Date
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 35954 additions and 36395 deletions

View File

@@ -14,10 +14,11 @@ heck = "0.5"
log = "0.4" log = "0.4"
memflow = "0.2" memflow = "0.2"
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,24 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
namespace CS2Dumper { namespace CS2Dumper {
// Module: client.dll // Module: client.dll
public static class Buttons { public static class Buttons {
public const nint attack = 0x18067B0; public const nint attack = 0x38EF7F0;
public const nint attack2 = 0x1806840; public const nint attack2 = 0x38EF750;
public const nint back = 0x1806A80; public const nint back = 0x38EF3D0;
public const nint duck = 0x1806D50; public const nint duck = 0x38EEF30;
public const nint forward = 0x18069F0; public const nint forward = 0x38EF470;
public const nint jump = 0x1806CC0; public const nint jump = 0x38EEFD0;
public const nint left = 0x1806B10; public const nint left = 0x38EF330;
public const nint lookatweapon = 0x1A0CFA0; public const nint lookatweapon = 0x3902CD0;
public const nint reload = 0x1806720; public const nint reload = 0x38EF890;
public const nint right = 0x1806BA0; public const nint right = 0x38EF290;
public const nint showscores = 0x1A0CE80; public const nint showscores = 0x3902E10;
public const nint sprint = 0x1806690; public const nint sprint = 0x38EF930;
public const nint turnleft = 0x18068D0; public const nint turnleft = 0x38EF6B0;
public const nint turnright = 0x1806960; public const nint turnright = 0x38EF610;
public const nint use = 0x1806C30; public const nint use = 0x38EF070;
public const nint zoom = 0x1A0CF10; public const nint zoom = 0x3902D70;
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
#pragma once #pragma once
@@ -8,21 +8,21 @@
namespace cs2_dumper { namespace cs2_dumper {
// Module: client.dll // Module: client.dll
namespace buttons { namespace buttons {
constexpr std::ptrdiff_t attack = 0x18067B0; constexpr std::ptrdiff_t attack = 0x38EF7F0;
constexpr std::ptrdiff_t attack2 = 0x1806840; constexpr std::ptrdiff_t attack2 = 0x38EF750;
constexpr std::ptrdiff_t back = 0x1806A80; constexpr std::ptrdiff_t back = 0x38EF3D0;
constexpr std::ptrdiff_t duck = 0x1806D50; constexpr std::ptrdiff_t duck = 0x38EEF30;
constexpr std::ptrdiff_t forward = 0x18069F0; constexpr std::ptrdiff_t forward = 0x38EF470;
constexpr std::ptrdiff_t jump = 0x1806CC0; constexpr std::ptrdiff_t jump = 0x38EEFD0;
constexpr std::ptrdiff_t left = 0x1806B10; constexpr std::ptrdiff_t left = 0x38EF330;
constexpr std::ptrdiff_t lookatweapon = 0x1A0CFA0; constexpr std::ptrdiff_t lookatweapon = 0x3902CD0;
constexpr std::ptrdiff_t reload = 0x1806720; constexpr std::ptrdiff_t reload = 0x38EF890;
constexpr std::ptrdiff_t right = 0x1806BA0; constexpr std::ptrdiff_t right = 0x38EF290;
constexpr std::ptrdiff_t showscores = 0x1A0CE80; constexpr std::ptrdiff_t showscores = 0x3902E10;
constexpr std::ptrdiff_t sprint = 0x1806690; constexpr std::ptrdiff_t sprint = 0x38EF930;
constexpr std::ptrdiff_t turnleft = 0x18068D0; constexpr std::ptrdiff_t turnleft = 0x38EF6B0;
constexpr std::ptrdiff_t turnright = 0x1806960; constexpr std::ptrdiff_t turnright = 0x38EF610;
constexpr std::ptrdiff_t use = 0x1806C30; constexpr std::ptrdiff_t use = 0x38EF070;
constexpr std::ptrdiff_t zoom = 0x1A0CF10; constexpr std::ptrdiff_t zoom = 0x3902D70;
} }
} }

View File

@@ -1,20 +1,20 @@
{ {
"client.dll": { "client.dll": {
"attack": 25192368, "attack": 59701232,
"attack2": 25192512, "attack2": 59701072,
"back": 25193088, "back": 59700176,
"duck": 25193808, "duck": 59698992,
"forward": 25192944, "forward": 59700336,
"jump": 25193664, "jump": 59699152,
"left": 25193232, "left": 59700016,
"lookatweapon": 27316128, "lookatweapon": 59780304,
"reload": 25192224, "reload": 59701392,
"right": 25193376, "right": 59699856,
"showscores": 27315840, "showscores": 59780624,
"sprint": 25192080, "sprint": 59701552,
"turnleft": 25192656, "turnleft": 59700912,
"turnright": 25192800, "turnright": 59700752,
"use": 25193520, "use": 59699312,
"zoom": 27315984 "zoom": 59780464
} }
} }

View File

@@ -1,26 +1,26 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 = 0x18067B0; pub const attack: usize = 0x38EF7F0;
pub const attack2: usize = 0x1806840; pub const attack2: usize = 0x38EF750;
pub const back: usize = 0x1806A80; pub const back: usize = 0x38EF3D0;
pub const duck: usize = 0x1806D50; pub const duck: usize = 0x38EEF30;
pub const forward: usize = 0x18069F0; pub const forward: usize = 0x38EF470;
pub const jump: usize = 0x1806CC0; pub const jump: usize = 0x38EEFD0;
pub const left: usize = 0x1806B10; pub const left: usize = 0x38EF330;
pub const lookatweapon: usize = 0x1A0CFA0; pub const lookatweapon: usize = 0x3902CD0;
pub const reload: usize = 0x1806720; pub const reload: usize = 0x38EF890;
pub const right: usize = 0x1806BA0; pub const right: usize = 0x38EF290;
pub const showscores: usize = 0x1A0CE80; pub const showscores: usize = 0x3902E10;
pub const sprint: usize = 0x1806690; pub const sprint: usize = 0x38EF930;
pub const turnleft: usize = 0x18068D0; pub const turnleft: usize = 0x38EF6B0;
pub const turnright: usize = 0x1806960; pub const turnright: usize = 0x38EF610;
pub const r#use: usize = 0x1806C30; pub const r#use: usize = 0x38EF070;
pub const zoom: usize = 0x1A0CF10; pub const zoom: usize = 0x3902D70;
} }
} }

View File

@@ -1,4 +1,4 @@
{ {
"build_number": 14009, "build_number": 14022,
"timestamp": "2024-05-24T10:58:30.509826500+00:00" "timestamp": "2024-07-22T10:50:13.060719885+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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 = 0x79E00; public const nint AnimationSystemUtils_001 = 0x1A5100;
public const nint AnimationSystem_001 = 0x748F0; public const nint AnimationSystem_001 = 0x1A4EF0;
} }
// Module: client.dll // Module: libclient.so
public static class ClientDll { public static class LibclientSo {
public const nint ClientToolsInfo_001 = 0x757C20; public const nint ClientToolsInfo_001 = 0xDCAE50;
public const nint EmptyWorldService001_Client = 0x4A10F0; public const nint EmptyWorldService001_Client = 0xAA8F30;
public const nint GameClientExports001 = 0x757C30; public const nint GameClientExports001 = 0xDCAA30;
public const nint LegacyGameUI001 = 0x8E1370; public const nint LegacyGameUI001 = 0xFAF340;
public const nint Source2Client002 = 0x757C40; public const nint Source2Client002 = 0xDCAA90;
public const nint Source2ClientConfig001 = 0x484E50; public const nint Source2ClientConfig001 = 0xA93D10;
public const nint Source2ClientPrediction001 = 0x7D4890; public const nint Source2ClientPrediction001 = 0xE60640;
public const nint Source2ClientUI001 = 0x8C7C30; public const nint Source2ClientUI001 = 0xF64140;
} }
// Module: engine2.dll // Module: libengine2.so
public static class Engine2Dll { public static class Libengine2So {
public const nint BenchmarkService001 = 0x17BE20; public const nint BenchmarkService001 = 0x217E20;
public const nint BugService001 = 0x17CF70; public const nint BugService001 = 0x214030;
public const nint ClientServerEngineLoopService_001 = 0x1F0F90; public const nint ClientServerEngineLoopService_001 = 0x1E48E0;
public const nint EngineGameUI001 = 0x126C20; public const nint EngineGameUI001 = 0x3A6AF0;
public const nint EngineServiceMgr001 = 0x1E0200; public const nint EngineServiceMgr001 = 0x1D3B70;
public const nint GameEventSystemClientV001 = 0x1E5380; public const nint GameEventSystemClientV001 = 0x1D8E50;
public const nint GameEventSystemServerV001 = 0x1E5390; public const nint GameEventSystemServerV001 = 0x1D8E60;
public const nint GameResourceServiceClientV001 = 0x1845F0; public const nint GameResourceServiceClientV001 = 0x219780;
public const nint GameResourceServiceServerV001 = 0x184600; public const nint GameResourceServiceServerV001 = 0x219790;
public const nint GameUIService_001 = 0x186FA0; public const nint GameUIService_001 = 0x221350;
public const nint HostStateMgr001 = 0x1E9B40; public const nint HostStateMgr001 = 0x1DF430;
public const nint INETSUPPORT_001 = 0xF5B90; public const nint INETSUPPORT_001 = 0x370CE0;
public const nint InputService_001 = 0x18CB20; public const nint InputService_001 = 0x225A20;
public const nint KeyValueCache001 = 0x1EC360; public const nint KeyValueCache001 = 0x1E1D80;
public const nint MapListService_001 = 0x19FCD0; public const nint MapListService_001 = 0x239FE0;
public const nint NetworkClientService_001 = 0x1A6F20; public const nint NetworkClientService_001 = 0x25CCF0;
public const nint NetworkP2PService_001 = 0x1AD750; public const nint NetworkP2PService_001 = 0x271FE0;
public const nint NetworkServerService_001 = 0x1B1C80; public const nint NetworkServerService_001 = 0x23E090;
public const nint NetworkService_001 = 0x1B6EC0; public const nint NetworkService_001 = 0x23D7B0;
public const nint RenderService_001 = 0x1B73B0; public const nint RenderService_001 = 0x277100;
public const nint ScreenshotService001 = 0x1B9D60; public const nint ScreenshotService001 = 0x279C40;
public const nint SimpleEngineLoopService_001 = 0x1FDAE0; public const nint SimpleEngineLoopService_001 = 0x1FA120;
public const nint SoundService_001 = 0x1BDFA0; public const nint SoundService_001 = 0x27DE40;
public const nint Source2EngineToClient001 = 0x66BF0; public const nint Source2EngineToClient001 = 0x2F7BC0;
public const nint Source2EngineToClientStringTable001 = 0x8F9D0; public const nint Source2EngineToClientStringTable001 = 0x2CE430;
public const nint Source2EngineToServer001 = 0x97060; public const nint Source2EngineToServer001 = 0x31E500;
public const nint Source2EngineToServerStringTable001 = 0xAE6C0; public const nint Source2EngineToServerStringTable001 = 0x300D90;
public const nint SplitScreenService_001 = 0x1C49B0; public const nint SplitScreenService_001 = 0x285460;
public const nint StatsService_001 = 0x1C7700; public const nint StatsService_001 = 0x288F90;
public const nint ToolService_001 = 0x1CC180; public const nint ToolService_001 = 0x28E0C0;
public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x1278A0; public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x3A6570;
public const nint VProfService_001 = 0x1CD5B0; public const nint VProfService_001 = 0x28F940;
} }
// Module: filesystem_stdio.dll // Module: libfilesystem_stdio.so
public static class FilesystemStdioDll { public static class LibfilesystemStdioSo {
public const nint VAsyncFileSystem2_001 = 0x67490; public const nint VAsyncFileSystem2_001 = 0x7D950;
public const nint VFileSystem017 = 0x67480; public const nint VFileSystem017 = 0x7D940;
} }
// Module: host.dll // Module: libhost.so
public static class HostDll { public static class LibhostSo {
public const nint DebugDrawQueueManager001 = 0x15170; public const nint DebugDrawQueueManager001 = 0xC5690;
public const nint GameModelInfo001 = 0x15720; public const nint GameModelInfo001 = 0xC0690;
public const nint GameSystem2HostHook = 0x15800; public const nint GameSystem2HostHook = 0xC0DD0;
public const nint HostUtils001 = 0x15FB0; public const nint HostUtils001 = 0xC1250;
public const nint PredictionDiffManager001 = 0x1AB00; public const nint PredictionDiffManager001 = 0xC21D0;
public const nint SaveRestoreDataVersion001 = 0x1C500; public const nint SaveRestoreDataVersion001 = 0xC41D0;
public const nint SinglePlayerSharedMemory001 = 0x1C510; public const nint SinglePlayerSharedMemory001 = 0xC4490;
public const nint Source2Host001 = 0x1C8A0; public const nint Source2Host001 = 0xC4BF0;
} }
// Module: imemanager.dll // Module: libinputsystem.so
public static class ImemanagerDll { public static class LibinputsystemSo {
public const nint IMEManager001 = 0xC470; public const nint InputStackSystemVersion001 = 0x11860;
public const nint InputSystemVersion001 = 0x12D50;
} }
// Module: inputsystem.dll // Module: liblocalize.so
public static class InputsystemDll { public static class LiblocalizeSo {
public const nint InputStackSystemVersion001 = 0x1850; public const nint Localize_001 = 0x1DBB0;
public const nint InputSystemVersion001 = 0x2A40;
} }
// Module: localize.dll // Module: libmatchmaking.so
public static class LocalizeDll { public static class LibmatchmakingSo {
public const nint Localize_001 = 0x3AE0; public const nint GameTypes001 = 0xF57E0;
public const nint MATCHFRAMEWORK_001 = 0x1CA5D0;
} }
// Module: matchmaking.dll // Module: libmaterialsystem2.so
public static class MatchmakingDll { public static class Libmaterialsystem2So {
public const nint GameTypes001 = 0x53910; public const nint FontManager_001 = 0x7B1E0;
public const nint MATCHFRAMEWORK_001 = 0x105780; public const nint MaterialUtils_001 = 0x65BB0;
public const nint PostProcessingSystem_001 = 0x8A6A0;
public const nint TextLayout_001 = 0x87C30;
public const nint VMaterialSystem2_001 = 0x2C800;
} }
// Module: materialsystem2.dll // Module: libmeshsystem.so
public static class Materialsystem2Dll { public static class LibmeshsystemSo {
public const nint FontManager_001 = 0x38430; public const nint MeshSystem001 = 0x97530;
public const nint MaterialUtils_001 = 0x4E380;
public const nint PostProcessingSystem_001 = 0x43330;
public const nint TextLayout_001 = 0x4AA40;
public const nint VMaterialSystem2_001 = 0x26760;
} }
// Module: meshsystem.dll // Module: libnetworksystem.so
public static class MeshsystemDll { public static class LibnetworksystemSo {
public const nint MeshSystem001 = 0xAA20; public const nint FlattenedSerializersVersion001 = 0x163920;
public const nint NetworkMessagesVersion001 = 0x18AC50;
public const nint NetworkSystemVersion001 = 0x1B4D50;
public const nint SerializedEntitiesVersion001 = 0x1CECD0;
} }
// Module: navsystem.dll // Module: libpanorama.so
public static class NavsystemDll { public static class LibpanoramaSo {
public const nint NavSystem001 = 0xC430; public const nint PanoramaUIEngine001 = 0x230A10;
} }
// Module: networksystem.dll // Module: libpanorama_text_pango.so
public static class NetworksystemDll { public static class LibpanoramaTextPangoSo {
public const nint FlattenedSerializersVersion001 = 0x7ED50; public const nint PanoramaTextServices001 = 0xBBAD0;
public const nint NetworkMessagesVersion001 = 0x9F7F0;
public const nint NetworkSystemVersion001 = 0xC0650;
public const nint SerializedEntitiesVersion001 = 0xD6790;
} }
// Module: panorama.dll // Module: libpanoramauiclient.so
public static class PanoramaDll { public static class LibpanoramauiclientSo {
public const nint PanoramaUIEngine001 = 0x611C0; public const nint PanoramaUIClient001 = 0x109990;
} }
// Module: panorama_text_pango.dll // Module: libparticles.so
public static class PanoramaTextPangoDll { public static class LibparticlesSo {
public const nint PanoramaTextServices001 = 0x4CBD0; public const nint ParticleSystemMgr003 = 0x20DAA0;
} }
// Module: panoramauiclient.dll // Module: libpulse_system.so
public static class PanoramauiclientDll { public static class LibpulseSystemSo {
public const nint PanoramaUIClient001 = 0x122B0; public const nint IPulseSystem_001 = 0x3F250;
} }
// Module: particles.dll // Module: librendersystemvulkan.so
public static class ParticlesDll { public static class LibrendersystemvulkanSo {
public const nint ParticleSystemMgr003 = 0x5C6D0; public const nint RenderDeviceMgr001 = 0x147B90;
public const nint RenderUtils_001 = 0xCB510;
} }
// Module: pulse_system.dll // Module: libresourcesystem.so
public static class PulseSystemDll { public static class LibresourcesystemSo {
public const nint IPulseSystem_001 = 0x3EC0; public const nint ResourceSystem013 = 0x30E70;
} }
// Module: rendersystemdx11.dll // Module: libscenefilecache.so
public static class Rendersystemdx11Dll { public static class LibscenefilecacheSo {
public const nint RenderDeviceMgr001 = 0x4FAA0; public const nint ResponseRulesCache001 = 0x89070;
public const nint RenderUtils_001 = 0x596B0; public const nint SceneFileCache002 = 0x85D30;
public const nint VRenderDeviceMgrBackdoor001 = 0x4FAB0;
} }
// Module: resourcesystem.dll // Module: libscenesystem.so
public static class ResourcesystemDll { public static class LibscenesystemSo {
public const nint ResourceSystem013 = 0x10C30; public const nint RenderingPipelines_001 = 0x137330;
public const nint SceneSystem_002 = 0x17AC60;
public const nint SceneUtils_001 = 0x1F5330;
} }
// Module: scenefilecache.dll // Module: libschemasystem.so
public static class ScenefilecacheDll { public static class LibschemasystemSo {
public const nint ResponseRulesCache001 = 0x3320; public const nint SchemaSystem_001 = 0x202A0;
public const nint SceneFileCache002 = 0x6BE0;
} }
// Module: scenesystem.dll // Module: libserver.so
public static class ScenesystemDll { public static class LibserverSo {
public const nint RenderingPipelines_001 = 0x9C390; public const nint EmptyWorldService001_Server = 0xBD0FE0;
public const nint SceneSystem_002 = 0xD3550; public const nint EntitySubclassUtilsV001 = 0x8DAFD0;
public const nint SceneUtils_001 = 0x14B530; public const nint NavGameTest001 = 0x1119DD0;
public const nint ServerToolsInfo_001 = 0xEE6D80;
public const nint Source2GameClients001 = 0xEE6D20;
public const nint Source2GameDirector001 = 0x738A60;
public const nint Source2GameEntities001 = 0xEE6D10;
public const nint Source2Server001 = 0xEE6A20;
public const nint Source2ServerConfig001 = 0xB6E550;
public const nint customnavsystem001 = 0x866340;
} }
// Module: schemasystem.dll // Module: libsoundsystem.so
public static class SchemasystemDll { public static class LibsoundsystemSo {
public const nint SchemaSystem_001 = 0xAB40; public const nint SoundOpSystem001 = 0x16C900;
public const nint SoundOpSystemEdit001 = 0xB59E0;
public const nint SoundSystem001 = 0x1DAE40;
public const nint VMixEditTool001 = 0x20DF30;
} }
// Module: server.dll // Module: libsteamaudio.so
public static class ServerDll { public static class LibsteamaudioSo {
public const nint EmptyWorldService001_Server = 0x5837F0; public const nint SteamAudio001 = 0x9EF00;
public const nint EntitySubclassUtilsV001 = 0x2BA100;
public const nint NavGameTest001 = 0xA64700;
public const nint ServerToolsInfo_001 = 0x8578E0;
public const nint Source2GameClients001 = 0x8578F0;
public const nint Source2GameDirector001 = 0x1223F0;
public const nint Source2GameEntities001 = 0x857900;
public const nint Source2Server001 = 0x857910;
public const nint Source2ServerConfig001 = 0x56FBD0;
public const nint customnavsystem001 = 0x228630;
} }
// Module: soundsystem.dll // Module: libtier0.so
public static class SoundsystemDll { public static class Libtier0So {
public const nint SoundOpSystem001 = 0x17F6A0; public const nint TestScriptMgr001 = 0x1C8D60;
public const nint SoundOpSystemEdit001 = 0x9CD60; public const nint VEngineCvar007 = 0xF20B0;
public const nint SoundSystem001 = 0x49730; public const nint VProcessUtils002 = 0x1A5B00;
public const nint VMixEditTool001 = 0x7A170; public const nint VStringTokenSystem001 = 0x1F8070;
} }
// Module: steamaudio.dll // Module: libv8system.so
public static class SteamaudioDll { public static class Libv8systemSo {
public const nint SteamAudio001 = 0x64A70; public const nint Source2V8System001 = 0x1B6F0;
} }
// Module: steamclient64.dll // Module: libvphysics2.so
public static class Steamclient64Dll { public static class Libvphysics2So {
public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x86CD70; public const nint VPhysics2_Handle_Interface_001 = 0xC4A60;
public const nint IVALIDATE001 = 0x871150; public const nint VPhysics2_Interface_001 = 0xC4650;
public const nint SteamClient006 = 0x6691F0;
public const nint SteamClient007 = 0x669200;
public const nint SteamClient008 = 0x669210;
public const nint SteamClient009 = 0x669220;
public const nint SteamClient010 = 0x669230;
public const nint SteamClient011 = 0x669240;
public const nint SteamClient012 = 0x669250;
public const nint SteamClient013 = 0x669260;
public const nint SteamClient014 = 0x669270;
public const nint SteamClient015 = 0x669280;
public const nint SteamClient016 = 0x669290;
public const nint SteamClient017 = 0x6692A0;
public const nint SteamClient018 = 0x6692B0;
public const nint SteamClient019 = 0x6692C0;
public const nint SteamClient020 = 0x6692D0;
public const nint SteamClient021 = 0x6692E0;
public const nint p2pvoice002 = 0xDAB90;
public const nint p2pvoicesingleton002 = 0xD7600;
} }
// Module: tier0.dll // Module: libvscript.so
public static class Tier0Dll { public static class LibvscriptSo {
public const nint TestScriptMgr001 = 0x149BF0; public const nint VScriptManager010 = 0x262D0;
public const nint VEngineCvar007 = 0x63C70;
public const nint VProcessUtils002 = 0x13A650;
public const nint VStringTokenSystem001 = 0x19E580;
} }
// Module: v8system.dll // Module: libworldrenderer.so
public static class V8systemDll { public static class LibworldrendererSo {
public const nint Source2V8System001 = 0x1AE0; public const nint WorldRendererMgr001 = 0xAEC80;
} }
// 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 = 0x11E0130;
} public const nint IVALIDATE001 = 0x11DBC00;
// Module: valve_wmf.dll public const nint SteamClient006 = 0xE6D620;
public static class ValveWmfDll { public const nint SteamClient007 = 0xE6D630;
public const nint VMediaFoundation001 = 0x12D0; public const nint SteamClient008 = 0xE6D640;
} public const nint SteamClient009 = 0xE6D650;
// Module: vphysics2.dll public const nint SteamClient010 = 0xE6D660;
public static class Vphysics2Dll { public const nint SteamClient011 = 0xE6D670;
public const nint VPhysics2_Handle_Interface_001 = 0x60C80; public const nint SteamClient012 = 0xE6D680;
public const nint VPhysics2_Interface_001 = 0x5C030; public const nint SteamClient013 = 0xE6D690;
} public const nint SteamClient014 = 0xE6D6A0;
// Module: vscript.dll public const nint SteamClient015 = 0xE6D6B0;
public static class VscriptDll { public const nint SteamClient016 = 0xE6D6E0;
public const nint VScriptManager010 = 0x32210; public const nint SteamClient017 = 0xE6D710;
} public const nint SteamClient018 = 0xE6D740;
// Module: vstdlib_s64.dll public const nint SteamClient019 = 0xE6D770;
public static class VstdlibS64Dll { public const nint SteamClient020 = 0xE6D7A0;
public const nint IVALIDATE001 = 0x24DE0; public const nint SteamClient021 = 0xE6D7D0;
public const nint VEngineCvar002 = 0x57A0; public const nint p2pvoice002 = 0x1834810;
} public const nint p2pvoicesingleton002 = 0x182CEA0;
// Module: worldrenderer.dll
public static class WorldrendererDll {
public const nint WorldRendererMgr001 = 0x22FD0;
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 = 0x79E00; constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x1A5100;
constexpr std::ptrdiff_t AnimationSystem_001 = 0x748F0; constexpr std::ptrdiff_t AnimationSystem_001 = 0x1A4EF0;
} }
// Module: client.dll // Module: libclient.so
namespace client_dll { namespace libclient_so {
constexpr std::ptrdiff_t ClientToolsInfo_001 = 0x757C20; constexpr std::ptrdiff_t ClientToolsInfo_001 = 0xDCAE50;
constexpr std::ptrdiff_t EmptyWorldService001_Client = 0x4A10F0; constexpr std::ptrdiff_t EmptyWorldService001_Client = 0xAA8F30;
constexpr std::ptrdiff_t GameClientExports001 = 0x757C30; constexpr std::ptrdiff_t GameClientExports001 = 0xDCAA30;
constexpr std::ptrdiff_t LegacyGameUI001 = 0x8E1370; constexpr std::ptrdiff_t LegacyGameUI001 = 0xFAF340;
constexpr std::ptrdiff_t Source2Client002 = 0x757C40; constexpr std::ptrdiff_t Source2Client002 = 0xDCAA90;
constexpr std::ptrdiff_t Source2ClientConfig001 = 0x484E50; constexpr std::ptrdiff_t Source2ClientConfig001 = 0xA93D10;
constexpr std::ptrdiff_t Source2ClientPrediction001 = 0x7D4890; constexpr std::ptrdiff_t Source2ClientPrediction001 = 0xE60640;
constexpr std::ptrdiff_t Source2ClientUI001 = 0x8C7C30; constexpr std::ptrdiff_t Source2ClientUI001 = 0xF64140;
} }
// Module: engine2.dll // Module: libengine2.so
namespace engine2_dll { namespace libengine2_so {
constexpr std::ptrdiff_t BenchmarkService001 = 0x17BE20; constexpr std::ptrdiff_t BenchmarkService001 = 0x217E20;
constexpr std::ptrdiff_t BugService001 = 0x17CF70; constexpr std::ptrdiff_t BugService001 = 0x214030;
constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1F0F90; constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1E48E0;
constexpr std::ptrdiff_t EngineGameUI001 = 0x126C20; constexpr std::ptrdiff_t EngineGameUI001 = 0x3A6AF0;
constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1E0200; constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1D3B70;
constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1E5380; constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1D8E50;
constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1E5390; constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1D8E60;
constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x1845F0; constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x219780;
constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x184600; constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x219790;
constexpr std::ptrdiff_t GameUIService_001 = 0x186FA0; constexpr std::ptrdiff_t GameUIService_001 = 0x221350;
constexpr std::ptrdiff_t HostStateMgr001 = 0x1E9B40; constexpr std::ptrdiff_t HostStateMgr001 = 0x1DF430;
constexpr std::ptrdiff_t INETSUPPORT_001 = 0xF5B90; constexpr std::ptrdiff_t INETSUPPORT_001 = 0x370CE0;
constexpr std::ptrdiff_t InputService_001 = 0x18CB20; constexpr std::ptrdiff_t InputService_001 = 0x225A20;
constexpr std::ptrdiff_t KeyValueCache001 = 0x1EC360; constexpr std::ptrdiff_t KeyValueCache001 = 0x1E1D80;
constexpr std::ptrdiff_t MapListService_001 = 0x19FCD0; constexpr std::ptrdiff_t MapListService_001 = 0x239FE0;
constexpr std::ptrdiff_t NetworkClientService_001 = 0x1A6F20; constexpr std::ptrdiff_t NetworkClientService_001 = 0x25CCF0;
constexpr std::ptrdiff_t NetworkP2PService_001 = 0x1AD750; constexpr std::ptrdiff_t NetworkP2PService_001 = 0x271FE0;
constexpr std::ptrdiff_t NetworkServerService_001 = 0x1B1C80; constexpr std::ptrdiff_t NetworkServerService_001 = 0x23E090;
constexpr std::ptrdiff_t NetworkService_001 = 0x1B6EC0; constexpr std::ptrdiff_t NetworkService_001 = 0x23D7B0;
constexpr std::ptrdiff_t RenderService_001 = 0x1B73B0; constexpr std::ptrdiff_t RenderService_001 = 0x277100;
constexpr std::ptrdiff_t ScreenshotService001 = 0x1B9D60; constexpr std::ptrdiff_t ScreenshotService001 = 0x279C40;
constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1FDAE0; constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1FA120;
constexpr std::ptrdiff_t SoundService_001 = 0x1BDFA0; constexpr std::ptrdiff_t SoundService_001 = 0x27DE40;
constexpr std::ptrdiff_t Source2EngineToClient001 = 0x66BF0; constexpr std::ptrdiff_t Source2EngineToClient001 = 0x2F7BC0;
constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x8F9D0; constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x2CE430;
constexpr std::ptrdiff_t Source2EngineToServer001 = 0x97060; constexpr std::ptrdiff_t Source2EngineToServer001 = 0x31E500;
constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0xAE6C0; constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0x300D90;
constexpr std::ptrdiff_t SplitScreenService_001 = 0x1C49B0; constexpr std::ptrdiff_t SplitScreenService_001 = 0x285460;
constexpr std::ptrdiff_t StatsService_001 = 0x1C7700; constexpr std::ptrdiff_t StatsService_001 = 0x288F90;
constexpr std::ptrdiff_t ToolService_001 = 0x1CC180; constexpr std::ptrdiff_t ToolService_001 = 0x28E0C0;
constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x1278A0; constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x3A6570;
constexpr std::ptrdiff_t VProfService_001 = 0x1CD5B0; constexpr std::ptrdiff_t VProfService_001 = 0x28F940;
} }
// Module: filesystem_stdio.dll // Module: libfilesystem_stdio.so
namespace filesystem_stdio_dll { namespace libfilesystem_stdio_so {
constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x67490; constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x7D950;
constexpr std::ptrdiff_t VFileSystem017 = 0x67480; constexpr std::ptrdiff_t VFileSystem017 = 0x7D940;
} }
// Module: host.dll // Module: libhost.so
namespace host_dll { namespace libhost_so {
constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0x15170; constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0xC5690;
constexpr std::ptrdiff_t GameModelInfo001 = 0x15720; constexpr std::ptrdiff_t GameModelInfo001 = 0xC0690;
constexpr std::ptrdiff_t GameSystem2HostHook = 0x15800; constexpr std::ptrdiff_t GameSystem2HostHook = 0xC0DD0;
constexpr std::ptrdiff_t HostUtils001 = 0x15FB0; constexpr std::ptrdiff_t HostUtils001 = 0xC1250;
constexpr std::ptrdiff_t PredictionDiffManager001 = 0x1AB00; constexpr std::ptrdiff_t PredictionDiffManager001 = 0xC21D0;
constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0x1C500; constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0xC41D0;
constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0x1C510; constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0xC4490;
constexpr std::ptrdiff_t Source2Host001 = 0x1C8A0; constexpr std::ptrdiff_t Source2Host001 = 0xC4BF0;
} }
// Module: imemanager.dll // Module: libinputsystem.so
namespace imemanager_dll { namespace libinputsystem_so {
constexpr std::ptrdiff_t IMEManager001 = 0xC470; constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x11860;
constexpr std::ptrdiff_t InputSystemVersion001 = 0x12D50;
} }
// Module: inputsystem.dll // Module: liblocalize.so
namespace inputsystem_dll { namespace liblocalize_so {
constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x1850; constexpr std::ptrdiff_t Localize_001 = 0x1DBB0;
constexpr std::ptrdiff_t InputSystemVersion001 = 0x2A40;
} }
// Module: localize.dll // Module: libmatchmaking.so
namespace localize_dll { namespace libmatchmaking_so {
constexpr std::ptrdiff_t Localize_001 = 0x3AE0; constexpr std::ptrdiff_t GameTypes001 = 0xF57E0;
constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x1CA5D0;
} }
// Module: matchmaking.dll // Module: libmaterialsystem2.so
namespace matchmaking_dll { namespace libmaterialsystem2_so {
constexpr std::ptrdiff_t GameTypes001 = 0x53910; constexpr std::ptrdiff_t FontManager_001 = 0x7B1E0;
constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x105780; constexpr std::ptrdiff_t MaterialUtils_001 = 0x65BB0;
constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x8A6A0;
constexpr std::ptrdiff_t TextLayout_001 = 0x87C30;
constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x2C800;
} }
// Module: materialsystem2.dll // Module: libmeshsystem.so
namespace materialsystem2_dll { namespace libmeshsystem_so {
constexpr std::ptrdiff_t FontManager_001 = 0x38430; constexpr std::ptrdiff_t MeshSystem001 = 0x97530;
constexpr std::ptrdiff_t MaterialUtils_001 = 0x4E380;
constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x43330;
constexpr std::ptrdiff_t TextLayout_001 = 0x4AA40;
constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x26760;
} }
// Module: meshsystem.dll // Module: libnetworksystem.so
namespace meshsystem_dll { namespace libnetworksystem_so {
constexpr std::ptrdiff_t MeshSystem001 = 0xAA20; constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x163920;
constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x18AC50;
constexpr std::ptrdiff_t NetworkSystemVersion001 = 0x1B4D50;
constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0x1CECD0;
} }
// Module: navsystem.dll // Module: libpanorama.so
namespace navsystem_dll { namespace libpanorama_so {
constexpr std::ptrdiff_t NavSystem001 = 0xC430; constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x230A10;
} }
// Module: networksystem.dll // Module: libpanorama_text_pango.so
namespace networksystem_dll { namespace libpanorama_text_pango_so {
constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x7ED50; constexpr std::ptrdiff_t PanoramaTextServices001 = 0xBBAD0;
constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x9F7F0;
constexpr std::ptrdiff_t NetworkSystemVersion001 = 0xC0650;
constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0xD6790;
} }
// Module: panorama.dll // Module: libpanoramauiclient.so
namespace panorama_dll { namespace libpanoramauiclient_so {
constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x611C0; constexpr std::ptrdiff_t PanoramaUIClient001 = 0x109990;
} }
// Module: panorama_text_pango.dll // Module: libparticles.so
namespace panorama_text_pango_dll { namespace libparticles_so {
constexpr std::ptrdiff_t PanoramaTextServices001 = 0x4CBD0; constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x20DAA0;
} }
// Module: panoramauiclient.dll // Module: libpulse_system.so
namespace panoramauiclient_dll { namespace libpulse_system_so {
constexpr std::ptrdiff_t PanoramaUIClient001 = 0x122B0; constexpr std::ptrdiff_t IPulseSystem_001 = 0x3F250;
} }
// Module: particles.dll // Module: librendersystemvulkan.so
namespace particles_dll { namespace librendersystemvulkan_so {
constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x5C6D0; constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x147B90;
constexpr std::ptrdiff_t RenderUtils_001 = 0xCB510;
} }
// Module: pulse_system.dll // Module: libresourcesystem.so
namespace pulse_system_dll { namespace libresourcesystem_so {
constexpr std::ptrdiff_t IPulseSystem_001 = 0x3EC0; constexpr std::ptrdiff_t ResourceSystem013 = 0x30E70;
} }
// Module: rendersystemdx11.dll // Module: libscenefilecache.so
namespace rendersystemdx11_dll { namespace libscenefilecache_so {
constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x4FAA0; constexpr std::ptrdiff_t ResponseRulesCache001 = 0x89070;
constexpr std::ptrdiff_t RenderUtils_001 = 0x596B0; constexpr std::ptrdiff_t SceneFileCache002 = 0x85D30;
constexpr std::ptrdiff_t VRenderDeviceMgrBackdoor001 = 0x4FAB0;
} }
// Module: resourcesystem.dll // Module: libscenesystem.so
namespace resourcesystem_dll { namespace libscenesystem_so {
constexpr std::ptrdiff_t ResourceSystem013 = 0x10C30; constexpr std::ptrdiff_t RenderingPipelines_001 = 0x137330;
constexpr std::ptrdiff_t SceneSystem_002 = 0x17AC60;
constexpr std::ptrdiff_t SceneUtils_001 = 0x1F5330;
} }
// Module: scenefilecache.dll // Module: libschemasystem.so
namespace scenefilecache_dll { namespace libschemasystem_so {
constexpr std::ptrdiff_t ResponseRulesCache001 = 0x3320; constexpr std::ptrdiff_t SchemaSystem_001 = 0x202A0;
constexpr std::ptrdiff_t SceneFileCache002 = 0x6BE0;
} }
// Module: scenesystem.dll // Module: libserver.so
namespace scenesystem_dll { namespace libserver_so {
constexpr std::ptrdiff_t RenderingPipelines_001 = 0x9C390; constexpr std::ptrdiff_t EmptyWorldService001_Server = 0xBD0FE0;
constexpr std::ptrdiff_t SceneSystem_002 = 0xD3550; constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x8DAFD0;
constexpr std::ptrdiff_t SceneUtils_001 = 0x14B530; constexpr std::ptrdiff_t NavGameTest001 = 0x1119DD0;
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0xEE6D80;
constexpr std::ptrdiff_t Source2GameClients001 = 0xEE6D20;
constexpr std::ptrdiff_t Source2GameDirector001 = 0x738A60;
constexpr std::ptrdiff_t Source2GameEntities001 = 0xEE6D10;
constexpr std::ptrdiff_t Source2Server001 = 0xEE6A20;
constexpr std::ptrdiff_t Source2ServerConfig001 = 0xB6E550;
constexpr std::ptrdiff_t customnavsystem001 = 0x866340;
} }
// Module: schemasystem.dll // Module: libsoundsystem.so
namespace schemasystem_dll { namespace libsoundsystem_so {
constexpr std::ptrdiff_t SchemaSystem_001 = 0xAB40; constexpr std::ptrdiff_t SoundOpSystem001 = 0x16C900;
constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0xB59E0;
constexpr std::ptrdiff_t SoundSystem001 = 0x1DAE40;
constexpr std::ptrdiff_t VMixEditTool001 = 0x20DF30;
} }
// Module: server.dll // Module: libsteamaudio.so
namespace server_dll { namespace libsteamaudio_so {
constexpr std::ptrdiff_t EmptyWorldService001_Server = 0x5837F0; constexpr std::ptrdiff_t SteamAudio001 = 0x9EF00;
constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x2BA100;
constexpr std::ptrdiff_t NavGameTest001 = 0xA64700;
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0x8578E0;
constexpr std::ptrdiff_t Source2GameClients001 = 0x8578F0;
constexpr std::ptrdiff_t Source2GameDirector001 = 0x1223F0;
constexpr std::ptrdiff_t Source2GameEntities001 = 0x857900;
constexpr std::ptrdiff_t Source2Server001 = 0x857910;
constexpr std::ptrdiff_t Source2ServerConfig001 = 0x56FBD0;
constexpr std::ptrdiff_t customnavsystem001 = 0x228630;
} }
// Module: soundsystem.dll // Module: libtier0.so
namespace soundsystem_dll { namespace libtier0_so {
constexpr std::ptrdiff_t SoundOpSystem001 = 0x17F6A0; constexpr std::ptrdiff_t TestScriptMgr001 = 0x1C8D60;
constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0x9CD60; constexpr std::ptrdiff_t VEngineCvar007 = 0xF20B0;
constexpr std::ptrdiff_t SoundSystem001 = 0x49730; constexpr std::ptrdiff_t VProcessUtils002 = 0x1A5B00;
constexpr std::ptrdiff_t VMixEditTool001 = 0x7A170; constexpr std::ptrdiff_t VStringTokenSystem001 = 0x1F8070;
} }
// Module: steamaudio.dll // Module: libv8system.so
namespace steamaudio_dll { namespace libv8system_so {
constexpr std::ptrdiff_t SteamAudio001 = 0x64A70; constexpr std::ptrdiff_t Source2V8System001 = 0x1B6F0;
} }
// Module: steamclient64.dll // Module: libvphysics2.so
namespace steamclient64_dll { namespace libvphysics2_so {
constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x86CD70; constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0xC4A60;
constexpr std::ptrdiff_t IVALIDATE001 = 0x871150; constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0xC4650;
constexpr std::ptrdiff_t SteamClient006 = 0x6691F0;
constexpr std::ptrdiff_t SteamClient007 = 0x669200;
constexpr std::ptrdiff_t SteamClient008 = 0x669210;
constexpr std::ptrdiff_t SteamClient009 = 0x669220;
constexpr std::ptrdiff_t SteamClient010 = 0x669230;
constexpr std::ptrdiff_t SteamClient011 = 0x669240;
constexpr std::ptrdiff_t SteamClient012 = 0x669250;
constexpr std::ptrdiff_t SteamClient013 = 0x669260;
constexpr std::ptrdiff_t SteamClient014 = 0x669270;
constexpr std::ptrdiff_t SteamClient015 = 0x669280;
constexpr std::ptrdiff_t SteamClient016 = 0x669290;
constexpr std::ptrdiff_t SteamClient017 = 0x6692A0;
constexpr std::ptrdiff_t SteamClient018 = 0x6692B0;
constexpr std::ptrdiff_t SteamClient019 = 0x6692C0;
constexpr std::ptrdiff_t SteamClient020 = 0x6692D0;
constexpr std::ptrdiff_t SteamClient021 = 0x6692E0;
constexpr std::ptrdiff_t p2pvoice002 = 0xDAB90;
constexpr std::ptrdiff_t p2pvoicesingleton002 = 0xD7600;
} }
// Module: tier0.dll // Module: libvscript.so
namespace tier0_dll { namespace libvscript_so {
constexpr std::ptrdiff_t TestScriptMgr001 = 0x149BF0; constexpr std::ptrdiff_t VScriptManager010 = 0x262D0;
constexpr std::ptrdiff_t VEngineCvar007 = 0x63C70;
constexpr std::ptrdiff_t VProcessUtils002 = 0x13A650;
constexpr std::ptrdiff_t VStringTokenSystem001 = 0x19E580;
} }
// Module: v8system.dll // Module: libworldrenderer.so
namespace v8system_dll { namespace libworldrenderer_so {
constexpr std::ptrdiff_t Source2V8System001 = 0x1AE0; constexpr std::ptrdiff_t WorldRendererMgr001 = 0xAEC80;
} }
// 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 = 0x11E0130;
} constexpr std::ptrdiff_t IVALIDATE001 = 0x11DBC00;
// Module: valve_wmf.dll constexpr std::ptrdiff_t SteamClient006 = 0xE6D620;
namespace valve_wmf_dll { constexpr std::ptrdiff_t SteamClient007 = 0xE6D630;
constexpr std::ptrdiff_t VMediaFoundation001 = 0x12D0; constexpr std::ptrdiff_t SteamClient008 = 0xE6D640;
} constexpr std::ptrdiff_t SteamClient009 = 0xE6D650;
// Module: vphysics2.dll constexpr std::ptrdiff_t SteamClient010 = 0xE6D660;
namespace vphysics2_dll { constexpr std::ptrdiff_t SteamClient011 = 0xE6D670;
constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0x60C80; constexpr std::ptrdiff_t SteamClient012 = 0xE6D680;
constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0x5C030; constexpr std::ptrdiff_t SteamClient013 = 0xE6D690;
} constexpr std::ptrdiff_t SteamClient014 = 0xE6D6A0;
// Module: vscript.dll constexpr std::ptrdiff_t SteamClient015 = 0xE6D6B0;
namespace vscript_dll { constexpr std::ptrdiff_t SteamClient016 = 0xE6D6E0;
constexpr std::ptrdiff_t VScriptManager010 = 0x32210; constexpr std::ptrdiff_t SteamClient017 = 0xE6D710;
} constexpr std::ptrdiff_t SteamClient018 = 0xE6D740;
// Module: vstdlib_s64.dll constexpr std::ptrdiff_t SteamClient019 = 0xE6D770;
namespace vstdlib_s64_dll { constexpr std::ptrdiff_t SteamClient020 = 0xE6D7A0;
constexpr std::ptrdiff_t IVALIDATE001 = 0x24DE0; constexpr std::ptrdiff_t SteamClient021 = 0xE6D7D0;
constexpr std::ptrdiff_t VEngineCvar002 = 0x57A0; constexpr std::ptrdiff_t p2pvoice002 = 0x1834810;
} constexpr std::ptrdiff_t p2pvoicesingleton002 = 0x182CEA0;
// Module: worldrenderer.dll
namespace worldrenderer_dll {
constexpr std::ptrdiff_t WorldRendererMgr001 = 0x22FD0;
} }
} }
} }

View File

@@ -1,204 +1,187 @@
{ {
"animationsystem.dll": { "libanimationsystem.so": {
"AnimationSystemUtils_001": 499200, "AnimationSystemUtils_001": 1724672,
"AnimationSystem_001": 477424 "AnimationSystem_001": 1724144
}, },
"client.dll": { "libclient.so": {
"ClientToolsInfo_001": 7699488, "ClientToolsInfo_001": 14462544,
"EmptyWorldService001_Client": 4854000, "EmptyWorldService001_Client": 11177776,
"GameClientExports001": 7699504, "GameClientExports001": 14461488,
"LegacyGameUI001": 9311088, "LegacyGameUI001": 16446272,
"Source2Client002": 7699520, "Source2Client002": 14461584,
"Source2ClientConfig001": 4738640, "Source2ClientConfig001": 11091216,
"Source2ClientPrediction001": 8210576, "Source2ClientPrediction001": 15074880,
"Source2ClientUI001": 9206832 "Source2ClientUI001": 16138560
}, },
"engine2.dll": { "libengine2.so": {
"BenchmarkService001": 1556000, "BenchmarkService001": 2194976,
"BugService001": 1560432, "BugService001": 2179120,
"ClientServerEngineLoopService_001": 2035600, "ClientServerEngineLoopService_001": 1984736,
"EngineGameUI001": 1207328, "EngineGameUI001": 3828464,
"EngineServiceMgr001": 1966592, "EngineServiceMgr001": 1915760,
"GameEventSystemClientV001": 1987456, "GameEventSystemClientV001": 1936976,
"GameEventSystemServerV001": 1987472, "GameEventSystemServerV001": 1936992,
"GameResourceServiceClientV001": 1590768, "GameResourceServiceClientV001": 2201472,
"GameResourceServiceServerV001": 1590784, "GameResourceServiceServerV001": 2201488,
"GameUIService_001": 1601440, "GameUIService_001": 2233168,
"HostStateMgr001": 2005824, "HostStateMgr001": 1963056,
"INETSUPPORT_001": 1006480, "INETSUPPORT_001": 3607776,
"InputService_001": 1624864, "InputService_001": 2251296,
"KeyValueCache001": 2016096, "KeyValueCache001": 1973632,
"MapListService_001": 1703120, "MapListService_001": 2334688,
"NetworkClientService_001": 1732384, "NetworkClientService_001": 2477296,
"NetworkP2PService_001": 1759056, "NetworkP2PService_001": 2564064,
"NetworkServerService_001": 1776768, "NetworkServerService_001": 2351248,
"NetworkService_001": 1797824, "NetworkService_001": 2348976,
"RenderService_001": 1799088, "RenderService_001": 2584832,
"ScreenshotService001": 1809760, "ScreenshotService001": 2595904,
"SimpleEngineLoopService_001": 2087648, "SimpleEngineLoopService_001": 2072864,
"SoundService_001": 1826720, "SoundService_001": 2612800,
"Source2EngineToClient001": 420848, "Source2EngineToClient001": 3111872,
"Source2EngineToClientStringTable001": 588240, "Source2EngineToClientStringTable001": 2942000,
"Source2EngineToServer001": 618592, "Source2EngineToServer001": 3269888,
"Source2EngineToServerStringTable001": 714432, "Source2EngineToServerStringTable001": 3149200,
"SplitScreenService_001": 1853872, "SplitScreenService_001": 2643040,
"StatsService_001": 1865472, "StatsService_001": 2658192,
"ToolService_001": 1884544, "ToolService_001": 2678976,
"VENGINE_GAMEUIFUNCS_VERSION005": 1210528, "VENGINE_GAMEUIFUNCS_VERSION005": 3827056,
"VProfService_001": 1889712 "VProfService_001": 2685248
}, },
"filesystem_stdio.dll": { "libfilesystem_stdio.so": {
"VAsyncFileSystem2_001": 423056, "VAsyncFileSystem2_001": 514384,
"VFileSystem017": 423040 "VFileSystem017": 514368
}, },
"host.dll": { "libhost.so": {
"DebugDrawQueueManager001": 86384, "DebugDrawQueueManager001": 808592,
"GameModelInfo001": 87840, "GameModelInfo001": 788112,
"GameSystem2HostHook": 88064, "GameSystem2HostHook": 789968,
"HostUtils001": 90032, "HostUtils001": 791120,
"PredictionDiffManager001": 109312, "PredictionDiffManager001": 795088,
"SaveRestoreDataVersion001": 115968, "SaveRestoreDataVersion001": 803280,
"SinglePlayerSharedMemory001": 115984, "SinglePlayerSharedMemory001": 803984,
"Source2Host001": 116896 "Source2Host001": 805872
}, },
"imemanager.dll": { "libinputsystem.so": {
"IMEManager001": 50288 "InputStackSystemVersion001": 71776,
"InputSystemVersion001": 77136
}, },
"inputsystem.dll": { "liblocalize.so": {
"InputStackSystemVersion001": 6224, "Localize_001": 121776
"InputSystemVersion001": 10816
}, },
"localize.dll": { "libmatchmaking.so": {
"Localize_001": 15072 "GameTypes001": 1005536,
"MATCHFRAMEWORK_001": 1877456
}, },
"matchmaking.dll": { "libmaterialsystem2.so": {
"GameTypes001": 342288, "FontManager_001": 504288,
"MATCHFRAMEWORK_001": 1070976 "MaterialUtils_001": 416688,
"PostProcessingSystem_001": 566944,
"TextLayout_001": 556080,
"VMaterialSystem2_001": 182272
}, },
"materialsystem2.dll": { "libmeshsystem.so": {
"FontManager_001": 230448, "MeshSystem001": 619824
"MaterialUtils_001": 320384,
"PostProcessingSystem_001": 275248,
"TextLayout_001": 305728,
"VMaterialSystem2_001": 157536
}, },
"meshsystem.dll": { "libnetworksystem.so": {
"MeshSystem001": 43552 "FlattenedSerializersVersion001": 1456416,
"NetworkMessagesVersion001": 1616976,
"NetworkSystemVersion001": 1789264,
"SerializedEntitiesVersion001": 1895632
}, },
"navsystem.dll": { "libpanorama.so": {
"NavSystem001": 50224 "PanoramaUIEngine001": 2296336
}, },
"networksystem.dll": { "libpanorama_text_pango.so": {
"FlattenedSerializersVersion001": 519504, "PanoramaTextServices001": 768720
"NetworkMessagesVersion001": 653296,
"NetworkSystemVersion001": 788048,
"SerializedEntitiesVersion001": 878480
}, },
"panorama.dll": { "libpanoramauiclient.so": {
"PanoramaUIEngine001": 397760 "PanoramaUIClient001": 1087888
}, },
"panorama_text_pango.dll": { "libparticles.so": {
"PanoramaTextServices001": 314320 "ParticleSystemMgr003": 2153120
}, },
"panoramauiclient.dll": { "libpulse_system.so": {
"PanoramaUIClient001": 74416 "IPulseSystem_001": 258640
}, },
"particles.dll": { "librendersystemvulkan.so": {
"ParticleSystemMgr003": 378576 "RenderDeviceMgr001": 1342352,
"RenderUtils_001": 832784
}, },
"pulse_system.dll": { "libresourcesystem.so": {
"IPulseSystem_001": 16064 "ResourceSystem013": 200304
}, },
"rendersystemdx11.dll": { "libscenefilecache.so": {
"RenderDeviceMgr001": 326304, "ResponseRulesCache001": 561264,
"RenderUtils_001": 366256, "SceneFileCache002": 548144
"VRenderDeviceMgrBackdoor001": 326320
}, },
"resourcesystem.dll": { "libscenesystem.so": {
"ResourceSystem013": 68656 "RenderingPipelines_001": 1274672,
"SceneSystem_002": 1551456,
"SceneUtils_001": 2052912
}, },
"scenefilecache.dll": { "libschemasystem.so": {
"ResponseRulesCache001": 13088, "SchemaSystem_001": 131744
"SceneFileCache002": 27616
}, },
"scenesystem.dll": { "libserver.so": {
"RenderingPipelines_001": 639888, "EmptyWorldService001_Server": 12390368,
"SceneSystem_002": 865616, "EntitySubclassUtilsV001": 9285584,
"SceneUtils_001": 1357104 "NavGameTest001": 17931728,
"ServerToolsInfo_001": 15625600,
"Source2GameClients001": 15625504,
"Source2GameDirector001": 7572064,
"Source2GameEntities001": 15625488,
"Source2Server001": 15624736,
"Source2ServerConfig001": 11986256,
"customnavsystem001": 8807232
}, },
"schemasystem.dll": { "libsoundsystem.so": {
"SchemaSystem_001": 43840 "SoundOpSystem001": 1493248,
"SoundOpSystemEdit001": 743904,
"SoundSystem001": 1945152,
"VMixEditTool001": 2154288
}, },
"server.dll": { "libsteamaudio.so": {
"EmptyWorldService001_Server": 5781488, "SteamAudio001": 651008
"EntitySubclassUtilsV001": 2859264,
"NavGameTest001": 10897152,
"ServerToolsInfo_001": 8747232,
"Source2GameClients001": 8747248,
"Source2GameDirector001": 1188848,
"Source2GameEntities001": 8747264,
"Source2Server001": 8747280,
"Source2ServerConfig001": 5700560,
"customnavsystem001": 2262576
}, },
"soundsystem.dll": { "libtier0.so": {
"SoundOpSystem001": 1570464, "TestScriptMgr001": 1871200,
"SoundOpSystemEdit001": 642400, "VEngineCvar007": 991408,
"SoundSystem001": 300848, "VProcessUtils002": 1727232,
"VMixEditTool001": 500080 "VStringTokenSystem001": 2064496
}, },
"steamaudio.dll": { "libv8system.so": {
"SteamAudio001": 412272 "Source2V8System001": 112368
}, },
"steamclient64.dll": { "libvphysics2.so": {
"CLIENTENGINE_INTERFACE_VERSION005": 8834416, "VPhysics2_Handle_Interface_001": 805472,
"IVALIDATE001": 8851792, "VPhysics2_Interface_001": 804432
"SteamClient006": 6722032,
"SteamClient007": 6722048,
"SteamClient008": 6722064,
"SteamClient009": 6722080,
"SteamClient010": 6722096,
"SteamClient011": 6722112,
"SteamClient012": 6722128,
"SteamClient013": 6722144,
"SteamClient014": 6722160,
"SteamClient015": 6722176,
"SteamClient016": 6722192,
"SteamClient017": 6722208,
"SteamClient018": 6722224,
"SteamClient019": 6722240,
"SteamClient020": 6722256,
"SteamClient021": 6722272,
"p2pvoice002": 895888,
"p2pvoicesingleton002": 882176
}, },
"tier0.dll": { "libvscript.so": {
"TestScriptMgr001": 1350640, "VScriptManager010": 156368
"VEngineCvar007": 408688,
"VProcessUtils002": 1287760,
"VStringTokenSystem001": 1697152
}, },
"v8system.dll": { "libworldrenderer.so": {
"Source2V8System001": 6880 "WorldRendererMgr001": 715904
}, },
"valve_avi.dll": { "steamclient.so": {
"VAvi001": 12176 "CLIENTENGINE_INTERFACE_VERSION005": 18743600,
}, "IVALIDATE001": 18725888,
"valve_wmf.dll": { "SteamClient006": 15128096,
"VMediaFoundation001": 4816 "SteamClient007": 15128112,
}, "SteamClient008": 15128128,
"vphysics2.dll": { "SteamClient009": 15128144,
"VPhysics2_Handle_Interface_001": 396416, "SteamClient010": 15128160,
"VPhysics2_Interface_001": 376880 "SteamClient011": 15128176,
}, "SteamClient012": 15128192,
"vscript.dll": { "SteamClient013": 15128208,
"VScriptManager010": 205328 "SteamClient014": 15128224,
}, "SteamClient015": 15128240,
"vstdlib_s64.dll": { "SteamClient016": 15128288,
"IVALIDATE001": 151008, "SteamClient017": 15128336,
"VEngineCvar002": 22432 "SteamClient018": 15128384,
}, "SteamClient019": 15128432,
"worldrenderer.dll": { "SteamClient020": 15128480,
"WorldRendererMgr001": 143312 "SteamClient021": 15128528,
"p2pvoice002": 25380880,
"p2pvoicesingleton002": 25349792
} }
} }

View File

@@ -1,246 +1,224 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 = 0x79E00; pub const AnimationSystemUtils_001: usize = 0x1A5100;
pub const AnimationSystem_001: usize = 0x748F0; pub const AnimationSystem_001: usize = 0x1A4EF0;
} }
// Module: client.dll // Module: libclient.so
pub mod client_dll { pub mod libclient_so {
pub const ClientToolsInfo_001: usize = 0x757C20; pub const ClientToolsInfo_001: usize = 0xDCAE50;
pub const EmptyWorldService001_Client: usize = 0x4A10F0; pub const EmptyWorldService001_Client: usize = 0xAA8F30;
pub const GameClientExports001: usize = 0x757C30; pub const GameClientExports001: usize = 0xDCAA30;
pub const LegacyGameUI001: usize = 0x8E1370; pub const LegacyGameUI001: usize = 0xFAF340;
pub const Source2Client002: usize = 0x757C40; pub const Source2Client002: usize = 0xDCAA90;
pub const Source2ClientConfig001: usize = 0x484E50; pub const Source2ClientConfig001: usize = 0xA93D10;
pub const Source2ClientPrediction001: usize = 0x7D4890; pub const Source2ClientPrediction001: usize = 0xE60640;
pub const Source2ClientUI001: usize = 0x8C7C30; pub const Source2ClientUI001: usize = 0xF64140;
} }
// Module: engine2.dll // Module: libengine2.so
pub mod engine2_dll { pub mod libengine2_so {
pub const BenchmarkService001: usize = 0x17BE20; pub const BenchmarkService001: usize = 0x217E20;
pub const BugService001: usize = 0x17CF70; pub const BugService001: usize = 0x214030;
pub const ClientServerEngineLoopService_001: usize = 0x1F0F90; pub const ClientServerEngineLoopService_001: usize = 0x1E48E0;
pub const EngineGameUI001: usize = 0x126C20; pub const EngineGameUI001: usize = 0x3A6AF0;
pub const EngineServiceMgr001: usize = 0x1E0200; pub const EngineServiceMgr001: usize = 0x1D3B70;
pub const GameEventSystemClientV001: usize = 0x1E5380; pub const GameEventSystemClientV001: usize = 0x1D8E50;
pub const GameEventSystemServerV001: usize = 0x1E5390; pub const GameEventSystemServerV001: usize = 0x1D8E60;
pub const GameResourceServiceClientV001: usize = 0x1845F0; pub const GameResourceServiceClientV001: usize = 0x219780;
pub const GameResourceServiceServerV001: usize = 0x184600; pub const GameResourceServiceServerV001: usize = 0x219790;
pub const GameUIService_001: usize = 0x186FA0; pub const GameUIService_001: usize = 0x221350;
pub const HostStateMgr001: usize = 0x1E9B40; pub const HostStateMgr001: usize = 0x1DF430;
pub const INETSUPPORT_001: usize = 0xF5B90; pub const INETSUPPORT_001: usize = 0x370CE0;
pub const InputService_001: usize = 0x18CB20; pub const InputService_001: usize = 0x225A20;
pub const KeyValueCache001: usize = 0x1EC360; pub const KeyValueCache001: usize = 0x1E1D80;
pub const MapListService_001: usize = 0x19FCD0; pub const MapListService_001: usize = 0x239FE0;
pub const NetworkClientService_001: usize = 0x1A6F20; pub const NetworkClientService_001: usize = 0x25CCF0;
pub const NetworkP2PService_001: usize = 0x1AD750; pub const NetworkP2PService_001: usize = 0x271FE0;
pub const NetworkServerService_001: usize = 0x1B1C80; pub const NetworkServerService_001: usize = 0x23E090;
pub const NetworkService_001: usize = 0x1B6EC0; pub const NetworkService_001: usize = 0x23D7B0;
pub const RenderService_001: usize = 0x1B73B0; pub const RenderService_001: usize = 0x277100;
pub const ScreenshotService001: usize = 0x1B9D60; pub const ScreenshotService001: usize = 0x279C40;
pub const SimpleEngineLoopService_001: usize = 0x1FDAE0; pub const SimpleEngineLoopService_001: usize = 0x1FA120;
pub const SoundService_001: usize = 0x1BDFA0; pub const SoundService_001: usize = 0x27DE40;
pub const Source2EngineToClient001: usize = 0x66BF0; pub const Source2EngineToClient001: usize = 0x2F7BC0;
pub const Source2EngineToClientStringTable001: usize = 0x8F9D0; pub const Source2EngineToClientStringTable001: usize = 0x2CE430;
pub const Source2EngineToServer001: usize = 0x97060; pub const Source2EngineToServer001: usize = 0x31E500;
pub const Source2EngineToServerStringTable001: usize = 0xAE6C0; pub const Source2EngineToServerStringTable001: usize = 0x300D90;
pub const SplitScreenService_001: usize = 0x1C49B0; pub const SplitScreenService_001: usize = 0x285460;
pub const StatsService_001: usize = 0x1C7700; pub const StatsService_001: usize = 0x288F90;
pub const ToolService_001: usize = 0x1CC180; pub const ToolService_001: usize = 0x28E0C0;
pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x1278A0; pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x3A6570;
pub const VProfService_001: usize = 0x1CD5B0; pub const VProfService_001: usize = 0x28F940;
} }
// Module: filesystem_stdio.dll // Module: libfilesystem_stdio.so
pub mod filesystem_stdio_dll { pub mod libfilesystem_stdio_so {
pub const VAsyncFileSystem2_001: usize = 0x67490; pub const VAsyncFileSystem2_001: usize = 0x7D950;
pub const VFileSystem017: usize = 0x67480; pub const VFileSystem017: usize = 0x7D940;
} }
// Module: host.dll // Module: libhost.so
pub mod host_dll { pub mod libhost_so {
pub const DebugDrawQueueManager001: usize = 0x15170; pub const DebugDrawQueueManager001: usize = 0xC5690;
pub const GameModelInfo001: usize = 0x15720; pub const GameModelInfo001: usize = 0xC0690;
pub const GameSystem2HostHook: usize = 0x15800; pub const GameSystem2HostHook: usize = 0xC0DD0;
pub const HostUtils001: usize = 0x15FB0; pub const HostUtils001: usize = 0xC1250;
pub const PredictionDiffManager001: usize = 0x1AB00; pub const PredictionDiffManager001: usize = 0xC21D0;
pub const SaveRestoreDataVersion001: usize = 0x1C500; pub const SaveRestoreDataVersion001: usize = 0xC41D0;
pub const SinglePlayerSharedMemory001: usize = 0x1C510; pub const SinglePlayerSharedMemory001: usize = 0xC4490;
pub const Source2Host001: usize = 0x1C8A0; pub const Source2Host001: usize = 0xC4BF0;
} }
// Module: imemanager.dll // Module: libinputsystem.so
pub mod imemanager_dll { pub mod libinputsystem_so {
pub const IMEManager001: usize = 0xC470; pub const InputStackSystemVersion001: usize = 0x11860;
pub const InputSystemVersion001: usize = 0x12D50;
} }
// Module: inputsystem.dll // Module: liblocalize.so
pub mod inputsystem_dll { pub mod liblocalize_so {
pub const InputStackSystemVersion001: usize = 0x1850; pub const Localize_001: usize = 0x1DBB0;
pub const InputSystemVersion001: usize = 0x2A40;
} }
// Module: localize.dll // Module: libmatchmaking.so
pub mod localize_dll { pub mod libmatchmaking_so {
pub const Localize_001: usize = 0x3AE0; pub const GameTypes001: usize = 0xF57E0;
pub const MATCHFRAMEWORK_001: usize = 0x1CA5D0;
} }
// Module: matchmaking.dll // Module: libmaterialsystem2.so
pub mod matchmaking_dll { pub mod libmaterialsystem2_so {
pub const GameTypes001: usize = 0x53910; pub const FontManager_001: usize = 0x7B1E0;
pub const MATCHFRAMEWORK_001: usize = 0x105780; pub const MaterialUtils_001: usize = 0x65BB0;
pub const PostProcessingSystem_001: usize = 0x8A6A0;
pub const TextLayout_001: usize = 0x87C30;
pub const VMaterialSystem2_001: usize = 0x2C800;
} }
// Module: materialsystem2.dll // Module: libmeshsystem.so
pub mod materialsystem2_dll { pub mod libmeshsystem_so {
pub const FontManager_001: usize = 0x38430; pub const MeshSystem001: usize = 0x97530;
pub const MaterialUtils_001: usize = 0x4E380;
pub const PostProcessingSystem_001: usize = 0x43330;
pub const TextLayout_001: usize = 0x4AA40;
pub const VMaterialSystem2_001: usize = 0x26760;
} }
// Module: meshsystem.dll // Module: libnetworksystem.so
pub mod meshsystem_dll { pub mod libnetworksystem_so {
pub const MeshSystem001: usize = 0xAA20; pub const FlattenedSerializersVersion001: usize = 0x163920;
pub const NetworkMessagesVersion001: usize = 0x18AC50;
pub const NetworkSystemVersion001: usize = 0x1B4D50;
pub const SerializedEntitiesVersion001: usize = 0x1CECD0;
} }
// Module: navsystem.dll // Module: libpanorama.so
pub mod navsystem_dll { pub mod libpanorama_so {
pub const NavSystem001: usize = 0xC430; pub const PanoramaUIEngine001: usize = 0x230A10;
} }
// Module: networksystem.dll // Module: libpanorama_text_pango.so
pub mod networksystem_dll { pub mod libpanorama_text_pango_so {
pub const FlattenedSerializersVersion001: usize = 0x7ED50; pub const PanoramaTextServices001: usize = 0xBBAD0;
pub const NetworkMessagesVersion001: usize = 0x9F7F0;
pub const NetworkSystemVersion001: usize = 0xC0650;
pub const SerializedEntitiesVersion001: usize = 0xD6790;
} }
// Module: panorama.dll // Module: libpanoramauiclient.so
pub mod panorama_dll { pub mod libpanoramauiclient_so {
pub const PanoramaUIEngine001: usize = 0x611C0; pub const PanoramaUIClient001: usize = 0x109990;
} }
// Module: panorama_text_pango.dll // Module: libparticles.so
pub mod panorama_text_pango_dll { pub mod libparticles_so {
pub const PanoramaTextServices001: usize = 0x4CBD0; pub const ParticleSystemMgr003: usize = 0x20DAA0;
} }
// Module: panoramauiclient.dll // Module: libpulse_system.so
pub mod panoramauiclient_dll { pub mod libpulse_system_so {
pub const PanoramaUIClient001: usize = 0x122B0; pub const IPulseSystem_001: usize = 0x3F250;
} }
// Module: particles.dll // Module: librendersystemvulkan.so
pub mod particles_dll { pub mod librendersystemvulkan_so {
pub const ParticleSystemMgr003: usize = 0x5C6D0; pub const RenderDeviceMgr001: usize = 0x147B90;
pub const RenderUtils_001: usize = 0xCB510;
} }
// Module: pulse_system.dll // Module: libresourcesystem.so
pub mod pulse_system_dll { pub mod libresourcesystem_so {
pub const IPulseSystem_001: usize = 0x3EC0; pub const ResourceSystem013: usize = 0x30E70;
} }
// Module: rendersystemdx11.dll // Module: libscenefilecache.so
pub mod rendersystemdx11_dll { pub mod libscenefilecache_so {
pub const RenderDeviceMgr001: usize = 0x4FAA0; pub const ResponseRulesCache001: usize = 0x89070;
pub const RenderUtils_001: usize = 0x596B0; pub const SceneFileCache002: usize = 0x85D30;
pub const VRenderDeviceMgrBackdoor001: usize = 0x4FAB0;
} }
// Module: resourcesystem.dll // Module: libscenesystem.so
pub mod resourcesystem_dll { pub mod libscenesystem_so {
pub const ResourceSystem013: usize = 0x10C30; pub const RenderingPipelines_001: usize = 0x137330;
pub const SceneSystem_002: usize = 0x17AC60;
pub const SceneUtils_001: usize = 0x1F5330;
} }
// Module: scenefilecache.dll // Module: libschemasystem.so
pub mod scenefilecache_dll { pub mod libschemasystem_so {
pub const ResponseRulesCache001: usize = 0x3320; pub const SchemaSystem_001: usize = 0x202A0;
pub const SceneFileCache002: usize = 0x6BE0;
} }
// Module: scenesystem.dll // Module: libserver.so
pub mod scenesystem_dll { pub mod libserver_so {
pub const RenderingPipelines_001: usize = 0x9C390; pub const EmptyWorldService001_Server: usize = 0xBD0FE0;
pub const SceneSystem_002: usize = 0xD3550; pub const EntitySubclassUtilsV001: usize = 0x8DAFD0;
pub const SceneUtils_001: usize = 0x14B530; pub const NavGameTest001: usize = 0x1119DD0;
pub const ServerToolsInfo_001: usize = 0xEE6D80;
pub const Source2GameClients001: usize = 0xEE6D20;
pub const Source2GameDirector001: usize = 0x738A60;
pub const Source2GameEntities001: usize = 0xEE6D10;
pub const Source2Server001: usize = 0xEE6A20;
pub const Source2ServerConfig001: usize = 0xB6E550;
pub const customnavsystem001: usize = 0x866340;
} }
// Module: schemasystem.dll // Module: libsoundsystem.so
pub mod schemasystem_dll { pub mod libsoundsystem_so {
pub const SchemaSystem_001: usize = 0xAB40; pub const SoundOpSystem001: usize = 0x16C900;
pub const SoundOpSystemEdit001: usize = 0xB59E0;
pub const SoundSystem001: usize = 0x1DAE40;
pub const VMixEditTool001: usize = 0x20DF30;
} }
// Module: server.dll // Module: libsteamaudio.so
pub mod server_dll { pub mod libsteamaudio_so {
pub const EmptyWorldService001_Server: usize = 0x5837F0; pub const SteamAudio001: usize = 0x9EF00;
pub const EntitySubclassUtilsV001: usize = 0x2BA100;
pub const NavGameTest001: usize = 0xA64700;
pub const ServerToolsInfo_001: usize = 0x8578E0;
pub const Source2GameClients001: usize = 0x8578F0;
pub const Source2GameDirector001: usize = 0x1223F0;
pub const Source2GameEntities001: usize = 0x857900;
pub const Source2Server001: usize = 0x857910;
pub const Source2ServerConfig001: usize = 0x56FBD0;
pub const customnavsystem001: usize = 0x228630;
} }
// Module: soundsystem.dll // Module: libtier0.so
pub mod soundsystem_dll { pub mod libtier0_so {
pub const SoundOpSystem001: usize = 0x17F6A0; pub const TestScriptMgr001: usize = 0x1C8D60;
pub const SoundOpSystemEdit001: usize = 0x9CD60; pub const VEngineCvar007: usize = 0xF20B0;
pub const SoundSystem001: usize = 0x49730; pub const VProcessUtils002: usize = 0x1A5B00;
pub const VMixEditTool001: usize = 0x7A170; pub const VStringTokenSystem001: usize = 0x1F8070;
} }
// Module: steamaudio.dll // Module: libv8system.so
pub mod steamaudio_dll { pub mod libv8system_so {
pub const SteamAudio001: usize = 0x64A70; pub const Source2V8System001: usize = 0x1B6F0;
} }
// Module: steamclient64.dll // Module: libvphysics2.so
pub mod steamclient64_dll { pub mod libvphysics2_so {
pub const CLIENTENGINE_INTERFACE_VERSION005: usize = 0x86CD70; pub const VPhysics2_Handle_Interface_001: usize = 0xC4A60;
pub const IVALIDATE001: usize = 0x871150; pub const VPhysics2_Interface_001: usize = 0xC4650;
pub const SteamClient006: usize = 0x6691F0;
pub const SteamClient007: usize = 0x669200;
pub const SteamClient008: usize = 0x669210;
pub const SteamClient009: usize = 0x669220;
pub const SteamClient010: usize = 0x669230;
pub const SteamClient011: usize = 0x669240;
pub const SteamClient012: usize = 0x669250;
pub const SteamClient013: usize = 0x669260;
pub const SteamClient014: usize = 0x669270;
pub const SteamClient015: usize = 0x669280;
pub const SteamClient016: usize = 0x669290;
pub const SteamClient017: usize = 0x6692A0;
pub const SteamClient018: usize = 0x6692B0;
pub const SteamClient019: usize = 0x6692C0;
pub const SteamClient020: usize = 0x6692D0;
pub const SteamClient021: usize = 0x6692E0;
pub const p2pvoice002: usize = 0xDAB90;
pub const p2pvoicesingleton002: usize = 0xD7600;
} }
// Module: tier0.dll // Module: libvscript.so
pub mod tier0_dll { pub mod libvscript_so {
pub const TestScriptMgr001: usize = 0x149BF0; pub const VScriptManager010: usize = 0x262D0;
pub const VEngineCvar007: usize = 0x63C70;
pub const VProcessUtils002: usize = 0x13A650;
pub const VStringTokenSystem001: usize = 0x19E580;
} }
// Module: v8system.dll // Module: libworldrenderer.so
pub mod v8system_dll { pub mod libworldrenderer_so {
pub const Source2V8System001: usize = 0x1AE0; pub const WorldRendererMgr001: usize = 0xAEC80;
} }
// 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 = 0x11E0130;
} pub const IVALIDATE001: usize = 0x11DBC00;
// Module: valve_wmf.dll pub const SteamClient006: usize = 0xE6D620;
pub mod valve_wmf_dll { pub const SteamClient007: usize = 0xE6D630;
pub const VMediaFoundation001: usize = 0x12D0; pub const SteamClient008: usize = 0xE6D640;
} pub const SteamClient009: usize = 0xE6D650;
// Module: vphysics2.dll pub const SteamClient010: usize = 0xE6D660;
pub mod vphysics2_dll { pub const SteamClient011: usize = 0xE6D670;
pub const VPhysics2_Handle_Interface_001: usize = 0x60C80; pub const SteamClient012: usize = 0xE6D680;
pub const VPhysics2_Interface_001: usize = 0x5C030; pub const SteamClient013: usize = 0xE6D690;
} pub const SteamClient014: usize = 0xE6D6A0;
// Module: vscript.dll pub const SteamClient015: usize = 0xE6D6B0;
pub mod vscript_dll { pub const SteamClient016: usize = 0xE6D6E0;
pub const VScriptManager010: usize = 0x32210; pub const SteamClient017: usize = 0xE6D710;
} pub const SteamClient018: usize = 0xE6D740;
// Module: vstdlib_s64.dll pub const SteamClient019: usize = 0xE6D770;
pub mod vstdlib_s64_dll { pub const SteamClient020: usize = 0xE6D7A0;
pub const IVALIDATE001: usize = 0x24DE0; pub const SteamClient021: usize = 0xE6D7D0;
pub const VEngineCvar002: usize = 0x57A0; pub const p2pvoice002: usize = 0x1834810;
} pub const p2pvoicesingleton002: usize = 0x182CEA0;
// Module: worldrenderer.dll
pub mod worldrenderer_dll {
pub const WorldRendererMgr001: usize = 0x22FD0;
} }
} }
} }

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: animationsystem.dll // Module: libanimationsystem.so
// Classes count: 401 // Classes count: 401
// Enums count: 77 // Enums count: 77
public static class AnimationsystemDll { public static class LibanimationsystemSo {
// Alignment: 4 // Alignment: 4
// Members count: 17 // Members count: 17
public enum SeqCmd_t : uint { public enum SeqCmd_t : uint {
@@ -850,9 +850,9 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CIntAnimParameter { public static class CIntAnimParameter {
public const nint m_defaultValue = 0x80; // int32 public const nint m_defaultValue = 0x78; // int32
public const nint m_minValue = 0x84; // int32 public const nint m_minValue = 0x7C; // int32
public const nint m_maxValue = 0x88; // int32 public const nint m_maxValue = 0x80; // int32
} }
// Parent: CNmEvent // Parent: CNmEvent
// Fields count: 1 // Fields count: 1
@@ -1039,7 +1039,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmPassthroughNode__CDefinition { public static class CNmPassthroughNode__CDefinition {
public const nint m_nChildNodeIdx = 0x10; // int16 public const nint m_nChildNodeIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -1182,8 +1182,8 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class AnimationSnapshot_t { public static class AnimationSnapshot_t {
public const nint m_nEntIndex = 0x110; // int32 public const nint m_nEntIndex = 0x108; // int32
public const nint m_modelName = 0x118; // CUtlString public const nint m_modelName = 0x110; // CUtlString
} }
// Parent: CNmValueNode__CDefinition // Parent: CNmValueNode__CDefinition
// Fields count: 0 // Fields count: 0
@@ -1211,7 +1211,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmVirtualParameterTargetNode__CDefinition { public static class CNmVirtualParameterTargetNode__CDefinition {
public const nint m_nChildNodeIdx = 0x10; // int16 public const nint m_nChildNodeIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -1232,8 +1232,8 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CVectorAnimParameter { public static class CVectorAnimParameter {
public const nint m_defaultValue = 0x80; // Vector public const nint m_defaultValue = 0x78; // Vector
public const nint m_bInterpolate = 0x8C; // bool public const nint m_bInterpolate = 0x84; // bool
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -1271,17 +1271,17 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmTransitionNode__CDefinition { public static class CNmTransitionNode__CDefinition {
public const nint m_targetCNmStateNodeIdx = 0x10; // int16 public const nint m_targetCNmStateNodeIdx = 0xA; // int16
public const nint m_durationOverrideNodeIdx = 0x12; // int16 public const nint m_durationOverrideNodeIdx = 0xC; // int16
public const nint m_syncEventOffsetOverrideNodeIdx = 0x14; // int16 public const nint m_syncEventOffsetOverrideNodeIdx = 0xE; // int16
public const nint m_startBoneMaskNodeIdx = 0x16; // int16 public const nint m_startBoneMaskNodeIdx = 0x10; // int16
public const nint m_flDuration = 0x18; // float32 public const nint m_flDuration = 0x14; // float32
public const nint m_boneMaskBlendInTimePercentage = 0x1C; // NmPercent_t public const nint m_boneMaskBlendInTimePercentage = 0x18; // NmPercent_t
public const nint m_syncEventOffset = 0x20; // float32 public const nint m_syncEventOffset = 0x1C; // float32
public const nint m_transitionOptions = 0x24; // CNmTransitionNode::TransitionOptions_t public const nint m_transitionOptions = 0x20; // CNmTransitionNode::TransitionOptions_t
public const nint m_targetSyncIDNodeIdx = 0x26; // int16 public const nint m_targetSyncIDNodeIdx = 0x22; // int16
public const nint m_blendWeightEasing = 0x28; // NmEasingOperation_t public const nint m_blendWeightEasing = 0x24; // NmEasingOperation_t
public const nint m_rootMotionBlend = 0x29; // NmRootMotionBlendMode_t public const nint m_rootMotionBlend = 0x25; // NmRootMotionBlendMode_t
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -1486,7 +1486,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmVirtualParameterFloatNode__CDefinition { public static class CNmVirtualParameterFloatNode__CDefinition {
public const nint m_nChildNodeIdx = 0x10; // int16 public const nint m_nChildNodeIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
@@ -1767,13 +1767,13 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CDampedPathAnimMotorUpdater { public static class CDampedPathAnimMotorUpdater {
public const nint m_flAnticipationTime = 0x2C; // float32 public const nint m_flAnticipationTime = 0x20; // float32
public const nint m_flMinSpeedScale = 0x30; // float32 public const nint m_flMinSpeedScale = 0x24; // float32
public const nint m_hAnticipationPosParam = 0x34; // CAnimParamHandle public const nint m_hAnticipationPosParam = 0x28; // CAnimParamHandle
public const nint m_hAnticipationHeadingParam = 0x36; // CAnimParamHandle public const nint m_hAnticipationHeadingParam = 0x2A; // CAnimParamHandle
public const nint m_flSpringConstant = 0x38; // float32 public const nint m_flSpringConstant = 0x2C; // float32
public const nint m_flMinSpringTension = 0x3C; // float32 public const nint m_flMinSpringTension = 0x30; // float32
public const nint m_flMaxSpringTension = 0x40; // float32 public const nint m_flMaxSpringTension = 0x34; // float32
} }
// Parent: CModelConfigElement // Parent: CModelConfigElement
// Fields count: 1 // Fields count: 1
@@ -1789,7 +1789,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmVirtualParameterBoneMaskNode__CDefinition { public static class CNmVirtualParameterBoneMaskNode__CDefinition {
public const nint m_nChildNodeIdx = 0x10; // int16 public const nint m_nChildNodeIdx = 0xA; // int16
} }
// Parent: CUnaryUpdateNode // Parent: CUnaryUpdateNode
// Fields count: 2 // Fields count: 2
@@ -1947,16 +1947,16 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmStateNode__CDefinition { public static class CNmStateNode__CDefinition {
public const nint m_nChildNodeIdx = 0x10; // int16 public const nint m_nChildNodeIdx = 0xA; // int16
public const nint m_entryEvents = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> public const nint m_entryEvents = 0x10; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
public const nint m_executeEvents = 0x38; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> public const nint m_executeEvents = 0x30; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
public const nint m_exitEvents = 0x58; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> public const nint m_exitEvents = 0x50; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
public const nint m_timedRemainingEvents = 0x78; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t> public const nint m_timedRemainingEvents = 0x70; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
public const nint m_timedElapsedEvents = 0x90; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t> public const nint m_timedElapsedEvents = 0x88; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
public const nint m_nLayerWeightNodeIdx = 0xA8; // int16 public const nint m_nLayerWeightNodeIdx = 0xA0; // int16
public const nint m_nLayerRootMotionWeightNodeIdx = 0xAA; // int16 public const nint m_nLayerRootMotionWeightNodeIdx = 0xA2; // int16
public const nint m_nLayerBoneMaskNodeIdx = 0xAC; // int16 public const nint m_nLayerBoneMaskNodeIdx = 0xA4; // int16
public const nint m_bIsOffState = 0xAE; // bool public const nint m_bIsOffState = 0xA6; // bool
} }
// Parent: CNmVectorValueNode__CDefinition // Parent: CNmVectorValueNode__CDefinition
// Fields count: 1 // Fields count: 1
@@ -1964,7 +1964,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmVirtualParameterVectorNode__CDefinition { public static class CNmVirtualParameterVectorNode__CDefinition {
public const nint m_nChildNodeIdx = 0x10; // int16 public const nint m_nChildNodeIdx = 0xA; // int16
} }
// Parent: CMotionMetricEvaluator // Parent: CMotionMetricEvaluator
// Fields count: 1 // Fields count: 1
@@ -2164,11 +2164,11 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmClipNode__CDefinition { public static class CNmClipNode__CDefinition {
public const nint m_nPlayInReverseValueNodeIdx = 0x10; // int16 public const nint m_nPlayInReverseValueNodeIdx = 0xA; // int16
public const nint m_nResetTimeValueNodeIdx = 0x12; // int16 public const nint m_nResetTimeValueNodeIdx = 0xC; // int16
public const nint m_bSampleRootMotion = 0x14; // bool public const nint m_bSampleRootMotion = 0xE; // bool
public const nint m_bAllowLooping = 0x15; // bool public const nint m_bAllowLooping = 0xF; // bool
public const nint m_nDataSlotIdx = 0x16; // int16 public const nint m_nDataSlotIdx = 0x10; // int16
} }
// Parent: CAnimParameterBase // Parent: CAnimParameterBase
// Fields count: 6 // Fields count: 6
@@ -2176,12 +2176,12 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CConcreteAnimParameter { public static class CConcreteAnimParameter {
public const nint m_previewButton = 0x70; // AnimParamButton_t public const nint m_previewButton = 0x6C; // AnimParamButton_t
public const nint m_eNetworkSetting = 0x74; // AnimParamNetworkSetting public const nint m_eNetworkSetting = 0x70; // AnimParamNetworkSetting
public const nint m_bUseMostRecentValue = 0x78; // bool public const nint m_bUseMostRecentValue = 0x74; // bool
public const nint m_bAutoReset = 0x79; // bool public const nint m_bAutoReset = 0x75; // bool
public const nint m_bGameWritable = 0x7A; // bool public const nint m_bGameWritable = 0x76; // bool
public const nint m_bGraphWritable = 0x7B; // bool public const nint m_bGraphWritable = 0x77; // bool
} }
// Parent: CModelConfigElement // Parent: CModelConfigElement
// Fields count: 2 // Fields count: 2
@@ -2369,7 +2369,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CSymbolAnimParameter { public static class CSymbolAnimParameter {
public const nint m_defaultValue = 0x80; // CGlobalSymbol public const nint m_defaultValue = 0x78; // CGlobalSymbol
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -2711,14 +2711,14 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CJumpHelperUpdateNode { public static class CJumpHelperUpdateNode {
public const nint m_hTargetParam = 0xA8; // CAnimParamHandle public const nint m_hTargetParam = 0xA1; // CAnimParamHandle
public const nint m_flOriginalJumpMovement = 0xAC; // Vector public const nint m_flOriginalJumpMovement = 0xA4; // Vector
public const nint m_flOriginalJumpDuration = 0xB8; // float32 public const nint m_flOriginalJumpDuration = 0xB0; // float32
public const nint m_flJumpStartCycle = 0xBC; // float32 public const nint m_flJumpStartCycle = 0xB4; // float32
public const nint m_flJumpEndCycle = 0xC0; // float32 public const nint m_flJumpEndCycle = 0xB8; // float32
public const nint m_eCorrectionMethod = 0xC4; // JumpCorrectionMethod public const nint m_eCorrectionMethod = 0xBC; // JumpCorrectionMethod
public const nint m_bTranslationAxis = 0xC8; // bool[3] public const nint m_bTranslationAxis = 0xC0; // bool[3]
public const nint m_bScaleSpeed = 0xCB; // bool public const nint m_bScaleSpeed = 0xC3; // bool
} }
// Parent: CNmBoolValueNode__CDefinition // Parent: CNmBoolValueNode__CDefinition
// Fields count: 0 // Fields count: 0
@@ -3246,7 +3246,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CPathAnimMotorUpdaterBase { public static class CPathAnimMotorUpdaterBase {
public const nint m_bLockToPath = 0x20; // bool public const nint m_bLockToPath = 0x19; // bool
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -3332,11 +3332,11 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CAddUpdateNode { public static class CAddUpdateNode {
public const nint m_footMotionTiming = 0x8C; // BinaryNodeChildOption public const nint m_footMotionTiming = 0x88; // BinaryNodeChildOption
public const nint m_bApplyToFootMotion = 0x90; // bool public const nint m_bApplyToFootMotion = 0x8C; // bool
public const nint m_bApplyChannelsSeparately = 0x91; // bool public const nint m_bApplyChannelsSeparately = 0x8D; // bool
public const nint m_bUseModelSpace = 0x92; // bool public const nint m_bUseModelSpace = 0x8E; // bool
public const nint m_bApplyScale = 0x93; // bool public const nint m_bApplyScale = 0x8F; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -3409,9 +3409,9 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CEnumAnimParameter { public static class CEnumAnimParameter {
public const nint m_defaultValue = 0x88; // uint8 public const nint m_defaultValue = 0x80; // uint8
public const nint m_enumOptions = 0x90; // CUtlVector<CUtlString> public const nint m_enumOptions = 0x88; // CUtlVector<CUtlString>
public const nint m_vecEnumReferenced = 0xA8; // CUtlVector<uint64> public const nint m_vecEnumReferenced = 0xA0; // CUtlVector<uint64>
} }
// Parent: CAnimTagBase // Parent: CAnimTagBase
// Fields count: 1 // Fields count: 1
@@ -3419,7 +3419,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CHandshakeAnimTagBase { public static class CHandshakeAnimTagBase {
public const nint m_bIsDisableTag = 0x50; // bool public const nint m_bIsDisableTag = 0x49; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -3554,8 +3554,8 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CAnimUpdateNodeBase { public static class CAnimUpdateNodeBase {
public const nint m_nodePath = 0x18; // CAnimNodePath public const nint m_nodePath = 0x14; // CAnimNodePath
public const nint m_networkMode = 0x48; // AnimNodeNetworkMode public const nint m_networkMode = 0x44; // AnimNodeNetworkMode
public const nint m_name = 0x50; // CUtlString public const nint m_name = 0x50; // CUtlString
} }
// Parent: CAnimActionUpdater // Parent: CAnimActionUpdater
@@ -3630,8 +3630,8 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CMorphSetData { public static class CMorphSetData {
public const nint m_nWidth = 0x10; // int32 public const nint m_nWidth = 0xC; // int32
public const nint m_nHeight = 0x14; // int32 public const nint m_nHeight = 0x10; // int32
public const nint m_bundleTypes = 0x18; // CUtlVector<MorphBundleType_t> public const nint m_bundleTypes = 0x18; // CUtlVector<MorphBundleType_t>
public const nint m_morphDatas = 0x30; // CUtlVector<CMorphData> public const nint m_morphDatas = 0x30; // CUtlVector<CMorphData>
public const nint m_pTextureAtlas = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase> public const nint m_pTextureAtlas = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase>
@@ -3807,13 +3807,13 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CAnimationGroup { public static class CAnimationGroup {
public const nint m_nFlags = 0x10; // uint32 public const nint m_nFlags = 0xC; // uint32
public const nint m_name = 0x18; // CBufferString public const nint m_name = 0x10; // CBufferString
public const nint m_localHAnimArray_Handle = 0x60; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>> public const nint m_localHAnimArray_Handle = 0x58; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>>
public const nint m_includedGroupArray_Handle = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>> public const nint m_includedGroupArray_Handle = 0x70; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
public const nint m_directHSeqGroup_Handle = 0x90; // CStrongHandle<InfoForResourceTypeCSequenceGroupData> public const nint m_directHSeqGroup_Handle = 0x88; // CStrongHandle<InfoForResourceTypeCSequenceGroupData>
public const nint m_decodeKey = 0x98; // CAnimKeyData public const nint m_decodeKey = 0x90; // CAnimKeyData
public const nint m_szScripts = 0x110; // CUtlVector<CBufferString> public const nint m_szScripts = 0x108; // CUtlVector<CBufferString>
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4296,10 +4296,10 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CFloatAnimParameter { public static class CFloatAnimParameter {
public const nint m_fDefaultValue = 0x80; // float32 public const nint m_fDefaultValue = 0x78; // float32
public const nint m_fMinValue = 0x84; // float32 public const nint m_fMinValue = 0x7C; // float32
public const nint m_fMaxValue = 0x88; // float32 public const nint m_fMaxValue = 0x80; // float32
public const nint m_bInterpolate = 0x8C; // bool public const nint m_bInterpolate = 0x84; // bool
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4545,9 +4545,9 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmLayerBlendNode__CDefinition { public static class CNmLayerBlendNode__CDefinition {
public const nint m_nBaseNodeIdx = 0x10; // int16 public const nint m_nBaseNodeIdx = 0xA; // int16
public const nint m_bOnlySampleBaseRootMotion = 0x12; // bool public const nint m_bOnlySampleBaseRootMotion = 0xC; // bool
public const nint m_layerDefinition = 0x18; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t> public const nint m_layerDefinition = 0x10; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t>
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4572,10 +4572,10 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CSubtractUpdateNode { public static class CSubtractUpdateNode {
public const nint m_footMotionTiming = 0x8C; // BinaryNodeChildOption public const nint m_footMotionTiming = 0x88; // BinaryNodeChildOption
public const nint m_bApplyToFootMotion = 0x90; // bool public const nint m_bApplyToFootMotion = 0x8C; // bool
public const nint m_bApplyChannelsSeparately = 0x91; // bool public const nint m_bApplyChannelsSeparately = 0x8D; // bool
public const nint m_bUseModelSpace = 0x92; // bool public const nint m_bUseModelSpace = 0x8E; // bool
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4620,13 +4620,13 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CBoneMaskUpdateNode { public static class CBoneMaskUpdateNode {
public const nint m_nWeightListIndex = 0x8C; // int32 public const nint m_nWeightListIndex = 0x88; // int32
public const nint m_flRootMotionBlend = 0x90; // float32 public const nint m_flRootMotionBlend = 0x8C; // float32
public const nint m_blendSpace = 0x94; // BoneMaskBlendSpace public const nint m_blendSpace = 0x90; // BoneMaskBlendSpace
public const nint m_footMotionTiming = 0x98; // BinaryNodeChildOption public const nint m_footMotionTiming = 0x94; // BinaryNodeChildOption
public const nint m_bUseBlendScale = 0x9C; // bool public const nint m_bUseBlendScale = 0x98; // bool
public const nint m_blendValueSource = 0xA0; // AnimValueSource public const nint m_blendValueSource = 0x9C; // AnimValueSource
public const nint m_hBlendParameter = 0xA4; // CAnimParamHandle public const nint m_hBlendParameter = 0xA0; // CAnimParamHandle
} }
// Parent: CAnimUpdateNodeBase // Parent: CAnimUpdateNodeBase
// Fields count: 0 // Fields count: 0
@@ -4725,7 +4725,7 @@ namespace CS2Dumper.Schemas {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
public static class CBoolAnimParameter { public static class CBoolAnimParameter {
public const nint m_bDefaultValue = 0x80; // bool public const nint m_bDefaultValue = 0x78; // bool
} }
// Parent: CAnimTagBase // Parent: CAnimTagBase
// Fields count: 6 // Fields count: 6
@@ -4784,7 +4784,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmChildGraphNode__CDefinition { public static class CNmChildGraphNode__CDefinition {
public const nint m_nChildGraphIdx = 0x10; // int16 public const nint m_nChildGraphIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4801,7 +4801,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmVirtualParameterIDNode__CDefinition { public static class CNmVirtualParameterIDNode__CDefinition {
public const nint m_nChildNodeIdx = 0x10; // int16 public const nint m_nChildNodeIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -5084,7 +5084,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
public static class CNmVirtualParameterBoolNode__CDefinition { public static class CNmVirtualParameterBoolNode__CDefinition {
public const nint m_nChildNodeIdx = 0x10; // int16 public const nint m_nChildNodeIdx = 0xA; // int16
} }
// Parent: CUnaryUpdateNode // Parent: CUnaryUpdateNode
// Fields count: 3 // Fields count: 3

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: animationsystem.dll // Module: libanimationsystem.so
// Classes count: 401 // Classes count: 401
// Enums count: 77 // Enums count: 77
namespace animationsystem_dll { namespace libanimationsystem_so {
// Alignment: 4 // Alignment: 4
// Members count: 17 // Members count: 17
enum class SeqCmd_t : uint32_t { enum class SeqCmd_t : uint32_t {
@@ -855,9 +855,9 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CIntAnimParameter { namespace CIntAnimParameter {
constexpr std::ptrdiff_t m_defaultValue = 0x80; // int32 constexpr std::ptrdiff_t m_defaultValue = 0x78; // int32
constexpr std::ptrdiff_t m_minValue = 0x84; // int32 constexpr std::ptrdiff_t m_minValue = 0x7C; // int32
constexpr std::ptrdiff_t m_maxValue = 0x88; // int32 constexpr std::ptrdiff_t m_maxValue = 0x80; // int32
} }
// Parent: CNmEvent // Parent: CNmEvent
// Fields count: 1 // Fields count: 1
@@ -1044,7 +1044,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmPassthroughNode__CDefinition { namespace CNmPassthroughNode__CDefinition {
constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildNodeIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -1187,8 +1187,8 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace AnimationSnapshot_t { namespace AnimationSnapshot_t {
constexpr std::ptrdiff_t m_nEntIndex = 0x110; // int32 constexpr std::ptrdiff_t m_nEntIndex = 0x108; // int32
constexpr std::ptrdiff_t m_modelName = 0x118; // CUtlString constexpr std::ptrdiff_t m_modelName = 0x110; // CUtlString
} }
// Parent: CNmValueNode__CDefinition // Parent: CNmValueNode__CDefinition
// Fields count: 0 // Fields count: 0
@@ -1216,7 +1216,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmVirtualParameterTargetNode__CDefinition { namespace CNmVirtualParameterTargetNode__CDefinition {
constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildNodeIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -1237,8 +1237,8 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CVectorAnimParameter { namespace CVectorAnimParameter {
constexpr std::ptrdiff_t m_defaultValue = 0x80; // Vector constexpr std::ptrdiff_t m_defaultValue = 0x78; // Vector
constexpr std::ptrdiff_t m_bInterpolate = 0x8C; // bool constexpr std::ptrdiff_t m_bInterpolate = 0x84; // bool
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -1276,17 +1276,17 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmTransitionNode__CDefinition { namespace CNmTransitionNode__CDefinition {
constexpr std::ptrdiff_t m_targetCNmStateNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_targetCNmStateNodeIdx = 0xA; // int16
constexpr std::ptrdiff_t m_durationOverrideNodeIdx = 0x12; // int16 constexpr std::ptrdiff_t m_durationOverrideNodeIdx = 0xC; // int16
constexpr std::ptrdiff_t m_syncEventOffsetOverrideNodeIdx = 0x14; // int16 constexpr std::ptrdiff_t m_syncEventOffsetOverrideNodeIdx = 0xE; // int16
constexpr std::ptrdiff_t m_startBoneMaskNodeIdx = 0x16; // int16 constexpr std::ptrdiff_t m_startBoneMaskNodeIdx = 0x10; // int16
constexpr std::ptrdiff_t m_flDuration = 0x18; // float32 constexpr std::ptrdiff_t m_flDuration = 0x14; // float32
constexpr std::ptrdiff_t m_boneMaskBlendInTimePercentage = 0x1C; // NmPercent_t constexpr std::ptrdiff_t m_boneMaskBlendInTimePercentage = 0x18; // NmPercent_t
constexpr std::ptrdiff_t m_syncEventOffset = 0x20; // float32 constexpr std::ptrdiff_t m_syncEventOffset = 0x1C; // float32
constexpr std::ptrdiff_t m_transitionOptions = 0x24; // CNmTransitionNode::TransitionOptions_t constexpr std::ptrdiff_t m_transitionOptions = 0x20; // CNmTransitionNode::TransitionOptions_t
constexpr std::ptrdiff_t m_targetSyncIDNodeIdx = 0x26; // int16 constexpr std::ptrdiff_t m_targetSyncIDNodeIdx = 0x22; // int16
constexpr std::ptrdiff_t m_blendWeightEasing = 0x28; // NmEasingOperation_t constexpr std::ptrdiff_t m_blendWeightEasing = 0x24; // NmEasingOperation_t
constexpr std::ptrdiff_t m_rootMotionBlend = 0x29; // NmRootMotionBlendMode_t constexpr std::ptrdiff_t m_rootMotionBlend = 0x25; // NmRootMotionBlendMode_t
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -1491,7 +1491,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmVirtualParameterFloatNode__CDefinition { namespace CNmVirtualParameterFloatNode__CDefinition {
constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildNodeIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
@@ -1772,13 +1772,13 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CDampedPathAnimMotorUpdater { namespace CDampedPathAnimMotorUpdater {
constexpr std::ptrdiff_t m_flAnticipationTime = 0x2C; // float32 constexpr std::ptrdiff_t m_flAnticipationTime = 0x20; // float32
constexpr std::ptrdiff_t m_flMinSpeedScale = 0x30; // float32 constexpr std::ptrdiff_t m_flMinSpeedScale = 0x24; // float32
constexpr std::ptrdiff_t m_hAnticipationPosParam = 0x34; // CAnimParamHandle constexpr std::ptrdiff_t m_hAnticipationPosParam = 0x28; // CAnimParamHandle
constexpr std::ptrdiff_t m_hAnticipationHeadingParam = 0x36; // CAnimParamHandle constexpr std::ptrdiff_t m_hAnticipationHeadingParam = 0x2A; // CAnimParamHandle
constexpr std::ptrdiff_t m_flSpringConstant = 0x38; // float32 constexpr std::ptrdiff_t m_flSpringConstant = 0x2C; // float32
constexpr std::ptrdiff_t m_flMinSpringTension = 0x3C; // float32 constexpr std::ptrdiff_t m_flMinSpringTension = 0x30; // float32
constexpr std::ptrdiff_t m_flMaxSpringTension = 0x40; // float32 constexpr std::ptrdiff_t m_flMaxSpringTension = 0x34; // float32
} }
// Parent: CModelConfigElement // Parent: CModelConfigElement
// Fields count: 1 // Fields count: 1
@@ -1794,7 +1794,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmVirtualParameterBoneMaskNode__CDefinition { namespace CNmVirtualParameterBoneMaskNode__CDefinition {
constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildNodeIdx = 0xA; // int16
} }
// Parent: CUnaryUpdateNode // Parent: CUnaryUpdateNode
// Fields count: 2 // Fields count: 2
@@ -1952,16 +1952,16 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmStateNode__CDefinition { namespace CNmStateNode__CDefinition {
constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildNodeIdx = 0xA; // int16
constexpr std::ptrdiff_t m_entryEvents = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> constexpr std::ptrdiff_t m_entryEvents = 0x10; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
constexpr std::ptrdiff_t m_executeEvents = 0x38; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> constexpr std::ptrdiff_t m_executeEvents = 0x30; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
constexpr std::ptrdiff_t m_exitEvents = 0x58; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> constexpr std::ptrdiff_t m_exitEvents = 0x50; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
constexpr std::ptrdiff_t m_timedRemainingEvents = 0x78; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t> constexpr std::ptrdiff_t m_timedRemainingEvents = 0x70; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
constexpr std::ptrdiff_t m_timedElapsedEvents = 0x90; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t> constexpr std::ptrdiff_t m_timedElapsedEvents = 0x88; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
constexpr std::ptrdiff_t m_nLayerWeightNodeIdx = 0xA8; // int16 constexpr std::ptrdiff_t m_nLayerWeightNodeIdx = 0xA0; // int16
constexpr std::ptrdiff_t m_nLayerRootMotionWeightNodeIdx = 0xAA; // int16 constexpr std::ptrdiff_t m_nLayerRootMotionWeightNodeIdx = 0xA2; // int16
constexpr std::ptrdiff_t m_nLayerBoneMaskNodeIdx = 0xAC; // int16 constexpr std::ptrdiff_t m_nLayerBoneMaskNodeIdx = 0xA4; // int16
constexpr std::ptrdiff_t m_bIsOffState = 0xAE; // bool constexpr std::ptrdiff_t m_bIsOffState = 0xA6; // bool
} }
// Parent: CNmVectorValueNode__CDefinition // Parent: CNmVectorValueNode__CDefinition
// Fields count: 1 // Fields count: 1
@@ -1969,7 +1969,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmVirtualParameterVectorNode__CDefinition { namespace CNmVirtualParameterVectorNode__CDefinition {
constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildNodeIdx = 0xA; // int16
} }
// Parent: CMotionMetricEvaluator // Parent: CMotionMetricEvaluator
// Fields count: 1 // Fields count: 1
@@ -2169,11 +2169,11 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmClipNode__CDefinition { namespace CNmClipNode__CDefinition {
constexpr std::ptrdiff_t m_nPlayInReverseValueNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nPlayInReverseValueNodeIdx = 0xA; // int16
constexpr std::ptrdiff_t m_nResetTimeValueNodeIdx = 0x12; // int16 constexpr std::ptrdiff_t m_nResetTimeValueNodeIdx = 0xC; // int16
constexpr std::ptrdiff_t m_bSampleRootMotion = 0x14; // bool constexpr std::ptrdiff_t m_bSampleRootMotion = 0xE; // bool
constexpr std::ptrdiff_t m_bAllowLooping = 0x15; // bool constexpr std::ptrdiff_t m_bAllowLooping = 0xF; // bool
constexpr std::ptrdiff_t m_nDataSlotIdx = 0x16; // int16 constexpr std::ptrdiff_t m_nDataSlotIdx = 0x10; // int16
} }
// Parent: CAnimParameterBase // Parent: CAnimParameterBase
// Fields count: 6 // Fields count: 6
@@ -2181,12 +2181,12 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CConcreteAnimParameter { namespace CConcreteAnimParameter {
constexpr std::ptrdiff_t m_previewButton = 0x70; // AnimParamButton_t constexpr std::ptrdiff_t m_previewButton = 0x6C; // AnimParamButton_t
constexpr std::ptrdiff_t m_eNetworkSetting = 0x74; // AnimParamNetworkSetting constexpr std::ptrdiff_t m_eNetworkSetting = 0x70; // AnimParamNetworkSetting
constexpr std::ptrdiff_t m_bUseMostRecentValue = 0x78; // bool constexpr std::ptrdiff_t m_bUseMostRecentValue = 0x74; // bool
constexpr std::ptrdiff_t m_bAutoReset = 0x79; // bool constexpr std::ptrdiff_t m_bAutoReset = 0x75; // bool
constexpr std::ptrdiff_t m_bGameWritable = 0x7A; // bool constexpr std::ptrdiff_t m_bGameWritable = 0x76; // bool
constexpr std::ptrdiff_t m_bGraphWritable = 0x7B; // bool constexpr std::ptrdiff_t m_bGraphWritable = 0x77; // bool
} }
// Parent: CModelConfigElement // Parent: CModelConfigElement
// Fields count: 2 // Fields count: 2
@@ -2374,7 +2374,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CSymbolAnimParameter { namespace CSymbolAnimParameter {
constexpr std::ptrdiff_t m_defaultValue = 0x80; // CGlobalSymbol constexpr std::ptrdiff_t m_defaultValue = 0x78; // CGlobalSymbol
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -2716,14 +2716,14 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CJumpHelperUpdateNode { namespace CJumpHelperUpdateNode {
constexpr std::ptrdiff_t m_hTargetParam = 0xA8; // CAnimParamHandle constexpr std::ptrdiff_t m_hTargetParam = 0xA1; // CAnimParamHandle
constexpr std::ptrdiff_t m_flOriginalJumpMovement = 0xAC; // Vector constexpr std::ptrdiff_t m_flOriginalJumpMovement = 0xA4; // Vector
constexpr std::ptrdiff_t m_flOriginalJumpDuration = 0xB8; // float32 constexpr std::ptrdiff_t m_flOriginalJumpDuration = 0xB0; // float32
constexpr std::ptrdiff_t m_flJumpStartCycle = 0xBC; // float32 constexpr std::ptrdiff_t m_flJumpStartCycle = 0xB4; // float32
constexpr std::ptrdiff_t m_flJumpEndCycle = 0xC0; // float32 constexpr std::ptrdiff_t m_flJumpEndCycle = 0xB8; // float32
constexpr std::ptrdiff_t m_eCorrectionMethod = 0xC4; // JumpCorrectionMethod constexpr std::ptrdiff_t m_eCorrectionMethod = 0xBC; // JumpCorrectionMethod
constexpr std::ptrdiff_t m_bTranslationAxis = 0xC8; // bool[3] constexpr std::ptrdiff_t m_bTranslationAxis = 0xC0; // bool[3]
constexpr std::ptrdiff_t m_bScaleSpeed = 0xCB; // bool constexpr std::ptrdiff_t m_bScaleSpeed = 0xC3; // bool
} }
// Parent: CNmBoolValueNode__CDefinition // Parent: CNmBoolValueNode__CDefinition
// Fields count: 0 // Fields count: 0
@@ -3251,7 +3251,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CPathAnimMotorUpdaterBase { namespace CPathAnimMotorUpdaterBase {
constexpr std::ptrdiff_t m_bLockToPath = 0x20; // bool constexpr std::ptrdiff_t m_bLockToPath = 0x19; // bool
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -3337,11 +3337,11 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CAddUpdateNode { namespace CAddUpdateNode {
constexpr std::ptrdiff_t m_footMotionTiming = 0x8C; // BinaryNodeChildOption constexpr std::ptrdiff_t m_footMotionTiming = 0x88; // BinaryNodeChildOption
constexpr std::ptrdiff_t m_bApplyToFootMotion = 0x90; // bool constexpr std::ptrdiff_t m_bApplyToFootMotion = 0x8C; // bool
constexpr std::ptrdiff_t m_bApplyChannelsSeparately = 0x91; // bool constexpr std::ptrdiff_t m_bApplyChannelsSeparately = 0x8D; // bool
constexpr std::ptrdiff_t m_bUseModelSpace = 0x92; // bool constexpr std::ptrdiff_t m_bUseModelSpace = 0x8E; // bool
constexpr std::ptrdiff_t m_bApplyScale = 0x93; // bool constexpr std::ptrdiff_t m_bApplyScale = 0x8F; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -3414,9 +3414,9 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CEnumAnimParameter { namespace CEnumAnimParameter {
constexpr std::ptrdiff_t m_defaultValue = 0x88; // uint8 constexpr std::ptrdiff_t m_defaultValue = 0x80; // uint8
constexpr std::ptrdiff_t m_enumOptions = 0x90; // CUtlVector<CUtlString> constexpr std::ptrdiff_t m_enumOptions = 0x88; // CUtlVector<CUtlString>
constexpr std::ptrdiff_t m_vecEnumReferenced = 0xA8; // CUtlVector<uint64> constexpr std::ptrdiff_t m_vecEnumReferenced = 0xA0; // CUtlVector<uint64>
} }
// Parent: CAnimTagBase // Parent: CAnimTagBase
// Fields count: 1 // Fields count: 1
@@ -3424,7 +3424,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CHandshakeAnimTagBase { namespace CHandshakeAnimTagBase {
constexpr std::ptrdiff_t m_bIsDisableTag = 0x50; // bool constexpr std::ptrdiff_t m_bIsDisableTag = 0x49; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -3559,8 +3559,8 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CAnimUpdateNodeBase { namespace CAnimUpdateNodeBase {
constexpr std::ptrdiff_t m_nodePath = 0x18; // CAnimNodePath constexpr std::ptrdiff_t m_nodePath = 0x14; // CAnimNodePath
constexpr std::ptrdiff_t m_networkMode = 0x48; // AnimNodeNetworkMode constexpr std::ptrdiff_t m_networkMode = 0x44; // AnimNodeNetworkMode
constexpr std::ptrdiff_t m_name = 0x50; // CUtlString constexpr std::ptrdiff_t m_name = 0x50; // CUtlString
} }
// Parent: CAnimActionUpdater // Parent: CAnimActionUpdater
@@ -3635,8 +3635,8 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CMorphSetData { namespace CMorphSetData {
constexpr std::ptrdiff_t m_nWidth = 0x10; // int32 constexpr std::ptrdiff_t m_nWidth = 0xC; // int32
constexpr std::ptrdiff_t m_nHeight = 0x14; // int32 constexpr std::ptrdiff_t m_nHeight = 0x10; // int32
constexpr std::ptrdiff_t m_bundleTypes = 0x18; // CUtlVector<MorphBundleType_t> constexpr std::ptrdiff_t m_bundleTypes = 0x18; // CUtlVector<MorphBundleType_t>
constexpr std::ptrdiff_t m_morphDatas = 0x30; // CUtlVector<CMorphData> constexpr std::ptrdiff_t m_morphDatas = 0x30; // CUtlVector<CMorphData>
constexpr std::ptrdiff_t m_pTextureAtlas = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase> constexpr std::ptrdiff_t m_pTextureAtlas = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase>
@@ -3812,13 +3812,13 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CAnimationGroup { namespace CAnimationGroup {
constexpr std::ptrdiff_t m_nFlags = 0x10; // uint32 constexpr std::ptrdiff_t m_nFlags = 0xC; // uint32
constexpr std::ptrdiff_t m_name = 0x18; // CBufferString constexpr std::ptrdiff_t m_name = 0x10; // CBufferString
constexpr std::ptrdiff_t m_localHAnimArray_Handle = 0x60; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>> constexpr std::ptrdiff_t m_localHAnimArray_Handle = 0x58; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>>
constexpr std::ptrdiff_t m_includedGroupArray_Handle = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>> constexpr std::ptrdiff_t m_includedGroupArray_Handle = 0x70; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
constexpr std::ptrdiff_t m_directHSeqGroup_Handle = 0x90; // CStrongHandle<InfoForResourceTypeCSequenceGroupData> constexpr std::ptrdiff_t m_directHSeqGroup_Handle = 0x88; // CStrongHandle<InfoForResourceTypeCSequenceGroupData>
constexpr std::ptrdiff_t m_decodeKey = 0x98; // CAnimKeyData constexpr std::ptrdiff_t m_decodeKey = 0x90; // CAnimKeyData
constexpr std::ptrdiff_t m_szScripts = 0x110; // CUtlVector<CBufferString> constexpr std::ptrdiff_t m_szScripts = 0x108; // CUtlVector<CBufferString>
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4301,10 +4301,10 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CFloatAnimParameter { namespace CFloatAnimParameter {
constexpr std::ptrdiff_t m_fDefaultValue = 0x80; // float32 constexpr std::ptrdiff_t m_fDefaultValue = 0x78; // float32
constexpr std::ptrdiff_t m_fMinValue = 0x84; // float32 constexpr std::ptrdiff_t m_fMinValue = 0x7C; // float32
constexpr std::ptrdiff_t m_fMaxValue = 0x88; // float32 constexpr std::ptrdiff_t m_fMaxValue = 0x80; // float32
constexpr std::ptrdiff_t m_bInterpolate = 0x8C; // bool constexpr std::ptrdiff_t m_bInterpolate = 0x84; // bool
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4550,9 +4550,9 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmLayerBlendNode__CDefinition { namespace CNmLayerBlendNode__CDefinition {
constexpr std::ptrdiff_t m_nBaseNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nBaseNodeIdx = 0xA; // int16
constexpr std::ptrdiff_t m_bOnlySampleBaseRootMotion = 0x12; // bool constexpr std::ptrdiff_t m_bOnlySampleBaseRootMotion = 0xC; // bool
constexpr std::ptrdiff_t m_layerDefinition = 0x18; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t> constexpr std::ptrdiff_t m_layerDefinition = 0x10; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t>
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4577,10 +4577,10 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CSubtractUpdateNode { namespace CSubtractUpdateNode {
constexpr std::ptrdiff_t m_footMotionTiming = 0x8C; // BinaryNodeChildOption constexpr std::ptrdiff_t m_footMotionTiming = 0x88; // BinaryNodeChildOption
constexpr std::ptrdiff_t m_bApplyToFootMotion = 0x90; // bool constexpr std::ptrdiff_t m_bApplyToFootMotion = 0x8C; // bool
constexpr std::ptrdiff_t m_bApplyChannelsSeparately = 0x91; // bool constexpr std::ptrdiff_t m_bApplyChannelsSeparately = 0x8D; // bool
constexpr std::ptrdiff_t m_bUseModelSpace = 0x92; // bool constexpr std::ptrdiff_t m_bUseModelSpace = 0x8E; // bool
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4625,13 +4625,13 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CBoneMaskUpdateNode { namespace CBoneMaskUpdateNode {
constexpr std::ptrdiff_t m_nWeightListIndex = 0x8C; // int32 constexpr std::ptrdiff_t m_nWeightListIndex = 0x88; // int32
constexpr std::ptrdiff_t m_flRootMotionBlend = 0x90; // float32 constexpr std::ptrdiff_t m_flRootMotionBlend = 0x8C; // float32
constexpr std::ptrdiff_t m_blendSpace = 0x94; // BoneMaskBlendSpace constexpr std::ptrdiff_t m_blendSpace = 0x90; // BoneMaskBlendSpace
constexpr std::ptrdiff_t m_footMotionTiming = 0x98; // BinaryNodeChildOption constexpr std::ptrdiff_t m_footMotionTiming = 0x94; // BinaryNodeChildOption
constexpr std::ptrdiff_t m_bUseBlendScale = 0x9C; // bool constexpr std::ptrdiff_t m_bUseBlendScale = 0x98; // bool
constexpr std::ptrdiff_t m_blendValueSource = 0xA0; // AnimValueSource constexpr std::ptrdiff_t m_blendValueSource = 0x9C; // AnimValueSource
constexpr std::ptrdiff_t m_hBlendParameter = 0xA4; // CAnimParamHandle constexpr std::ptrdiff_t m_hBlendParameter = 0xA0; // CAnimParamHandle
} }
// Parent: CAnimUpdateNodeBase // Parent: CAnimUpdateNodeBase
// Fields count: 0 // Fields count: 0
@@ -4730,7 +4730,7 @@ namespace cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
namespace CBoolAnimParameter { namespace CBoolAnimParameter {
constexpr std::ptrdiff_t m_bDefaultValue = 0x80; // bool constexpr std::ptrdiff_t m_bDefaultValue = 0x78; // bool
} }
// Parent: CAnimTagBase // Parent: CAnimTagBase
// Fields count: 6 // Fields count: 6
@@ -4789,7 +4789,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmChildGraphNode__CDefinition { namespace CNmChildGraphNode__CDefinition {
constexpr std::ptrdiff_t m_nChildGraphIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildGraphIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4806,7 +4806,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmVirtualParameterIDNode__CDefinition { namespace CNmVirtualParameterIDNode__CDefinition {
constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildNodeIdx = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -5089,7 +5089,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
namespace CNmVirtualParameterBoolNode__CDefinition { namespace CNmVirtualParameterBoolNode__CDefinition {
constexpr std::ptrdiff_t m_nChildNodeIdx = 0x10; // int16 constexpr std::ptrdiff_t m_nChildNodeIdx = 0xA; // int16
} }
// Parent: CUnaryUpdateNode // Parent: CUnaryUpdateNode
// Fields count: 3 // Fields count: 3

View File

@@ -1,5 +1,5 @@
{ {
"animationsystem.dll": { "libanimationsystem.so": {
"classes": { "classes": {
"AimCameraOpFixedSettings_t": { "AimCameraOpFixedSettings_t": {
"fields": { "fields": {
@@ -207,8 +207,8 @@
}, },
"AnimationSnapshot_t": { "AnimationSnapshot_t": {
"fields": { "fields": {
"m_modelName": 280, "m_modelName": 272,
"m_nEntIndex": 272 "m_nEntIndex": 264
}, },
"metadata": [ "metadata": [
{ {
@@ -274,11 +274,11 @@
}, },
"CAddUpdateNode": { "CAddUpdateNode": {
"fields": { "fields": {
"m_bApplyChannelsSeparately": 145, "m_bApplyChannelsSeparately": 141,
"m_bApplyScale": 147, "m_bApplyScale": 143,
"m_bApplyToFootMotion": 144, "m_bApplyToFootMotion": 140,
"m_bUseModelSpace": 146, "m_bUseModelSpace": 142,
"m_footMotionTiming": 140 "m_footMotionTiming": 136
}, },
"metadata": [ "metadata": [
{ {
@@ -1017,8 +1017,8 @@
"CAnimUpdateNodeBase": { "CAnimUpdateNodeBase": {
"fields": { "fields": {
"m_name": 80, "m_name": 80,
"m_networkMode": 72, "m_networkMode": 68,
"m_nodePath": 24 "m_nodePath": 20
}, },
"metadata": [ "metadata": [
{ {
@@ -1173,13 +1173,13 @@
}, },
"CAnimationGroup": { "CAnimationGroup": {
"fields": { "fields": {
"m_decodeKey": 152, "m_decodeKey": 144,
"m_directHSeqGroup_Handle": 144, "m_directHSeqGroup_Handle": 136,
"m_includedGroupArray_Handle": 120, "m_includedGroupArray_Handle": 112,
"m_localHAnimArray_Handle": 96, "m_localHAnimArray_Handle": 88,
"m_nFlags": 16, "m_nFlags": 12,
"m_name": 24, "m_name": 16,
"m_szScripts": 272 "m_szScripts": 264
}, },
"metadata": [ "metadata": [
{ {
@@ -1452,13 +1452,13 @@
}, },
"CBoneMaskUpdateNode": { "CBoneMaskUpdateNode": {
"fields": { "fields": {
"m_bUseBlendScale": 156, "m_bUseBlendScale": 152,
"m_blendSpace": 148, "m_blendSpace": 144,
"m_blendValueSource": 160, "m_blendValueSource": 156,
"m_flRootMotionBlend": 144, "m_flRootMotionBlend": 140,
"m_footMotionTiming": 152, "m_footMotionTiming": 148,
"m_hBlendParameter": 164, "m_hBlendParameter": 160,
"m_nWeightListIndex": 140 "m_nWeightListIndex": 136
}, },
"metadata": [ "metadata": [
{ {
@@ -1494,7 +1494,7 @@
}, },
"CBoolAnimParameter": { "CBoolAnimParameter": {
"fields": { "fields": {
"m_bDefaultValue": 128 "m_bDefaultValue": 120
}, },
"metadata": [ "metadata": [
{ {
@@ -1610,12 +1610,12 @@
}, },
"CConcreteAnimParameter": { "CConcreteAnimParameter": {
"fields": { "fields": {
"m_bAutoReset": 121, "m_bAutoReset": 117,
"m_bGameWritable": 122, "m_bGameWritable": 118,
"m_bGraphWritable": 123, "m_bGraphWritable": 119,
"m_bUseMostRecentValue": 120, "m_bUseMostRecentValue": 116,
"m_eNetworkSetting": 116, "m_eNetworkSetting": 112,
"m_previewButton": 112 "m_previewButton": 108
}, },
"metadata": [ "metadata": [
{ {
@@ -1721,13 +1721,13 @@
}, },
"CDampedPathAnimMotorUpdater": { "CDampedPathAnimMotorUpdater": {
"fields": { "fields": {
"m_flAnticipationTime": 44, "m_flAnticipationTime": 32,
"m_flMaxSpringTension": 64, "m_flMaxSpringTension": 52,
"m_flMinSpeedScale": 48, "m_flMinSpeedScale": 36,
"m_flMinSpringTension": 60, "m_flMinSpringTension": 48,
"m_flSpringConstant": 56, "m_flSpringConstant": 44,
"m_hAnticipationHeadingParam": 54, "m_hAnticipationHeadingParam": 42,
"m_hAnticipationPosParam": 52 "m_hAnticipationPosParam": 40
}, },
"metadata": [ "metadata": [
{ {
@@ -1878,9 +1878,9 @@
}, },
"CEnumAnimParameter": { "CEnumAnimParameter": {
"fields": { "fields": {
"m_defaultValue": 136, "m_defaultValue": 128,
"m_enumOptions": 144, "m_enumOptions": 136,
"m_vecEnumReferenced": 168 "m_vecEnumReferenced": 160
}, },
"metadata": [ "metadata": [
{ {
@@ -1963,10 +1963,10 @@
}, },
"CFloatAnimParameter": { "CFloatAnimParameter": {
"fields": { "fields": {
"m_bInterpolate": 140, "m_bInterpolate": 132,
"m_fDefaultValue": 128, "m_fDefaultValue": 120,
"m_fMaxValue": 136, "m_fMaxValue": 128,
"m_fMinValue": 132 "m_fMinValue": 124
}, },
"metadata": [ "metadata": [
{ {
@@ -2302,7 +2302,7 @@
}, },
"CHandshakeAnimTagBase": { "CHandshakeAnimTagBase": {
"fields": { "fields": {
"m_bIsDisableTag": 80 "m_bIsDisableTag": 73
}, },
"metadata": [ "metadata": [
{ {
@@ -2394,9 +2394,9 @@
}, },
"CIntAnimParameter": { "CIntAnimParameter": {
"fields": { "fields": {
"m_defaultValue": 128, "m_defaultValue": 120,
"m_maxValue": 136, "m_maxValue": 128,
"m_minValue": 132 "m_minValue": 124
}, },
"metadata": [ "metadata": [
{ {
@@ -2424,14 +2424,14 @@
}, },
"CJumpHelperUpdateNode": { "CJumpHelperUpdateNode": {
"fields": { "fields": {
"m_bScaleSpeed": 203, "m_bScaleSpeed": 195,
"m_bTranslationAxis": 200, "m_bTranslationAxis": 192,
"m_eCorrectionMethod": 196, "m_eCorrectionMethod": 188,
"m_flJumpEndCycle": 192, "m_flJumpEndCycle": 184,
"m_flJumpStartCycle": 188, "m_flJumpStartCycle": 180,
"m_flOriginalJumpDuration": 184, "m_flOriginalJumpDuration": 176,
"m_flOriginalJumpMovement": 172, "m_flOriginalJumpMovement": 164,
"m_hTargetParam": 168 "m_hTargetParam": 161
}, },
"metadata": [ "metadata": [
{ {
@@ -2837,8 +2837,8 @@
"m_FlexRules": 128, "m_FlexRules": 128,
"m_bundleTypes": 24, "m_bundleTypes": 24,
"m_morphDatas": 48, "m_morphDatas": 48,
"m_nHeight": 20, "m_nHeight": 16,
"m_nWidth": 16, "m_nWidth": 12,
"m_pTextureAtlas": 72 "m_pTextureAtlas": 72
}, },
"metadata": [ "metadata": [
@@ -3125,7 +3125,7 @@
}, },
"CNmChildGraphNode__CDefinition": { "CNmChildGraphNode__CDefinition": {
"fields": { "fields": {
"m_nChildGraphIdx": 16 "m_nChildGraphIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3157,11 +3157,11 @@
}, },
"CNmClipNode__CDefinition": { "CNmClipNode__CDefinition": {
"fields": { "fields": {
"m_bAllowLooping": 21, "m_bAllowLooping": 15,
"m_bSampleRootMotion": 20, "m_bSampleRootMotion": 14,
"m_nDataSlotIdx": 22, "m_nDataSlotIdx": 16,
"m_nPlayInReverseValueNodeIdx": 16, "m_nPlayInReverseValueNodeIdx": 10,
"m_nResetTimeValueNodeIdx": 18 "m_nResetTimeValueNodeIdx": 12
}, },
"metadata": [ "metadata": [
{ {
@@ -3375,9 +3375,9 @@
}, },
"CNmLayerBlendNode__CDefinition": { "CNmLayerBlendNode__CDefinition": {
"fields": { "fields": {
"m_bOnlySampleBaseRootMotion": 18, "m_bOnlySampleBaseRootMotion": 12,
"m_layerDefinition": 24, "m_layerDefinition": 16,
"m_nBaseNodeIdx": 16 "m_nBaseNodeIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3418,7 +3418,7 @@
}, },
"CNmPassthroughNode__CDefinition": { "CNmPassthroughNode__CDefinition": {
"fields": { "fields": {
"m_nChildNodeIdx": 16 "m_nChildNodeIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3511,16 +3511,16 @@
}, },
"CNmStateNode__CDefinition": { "CNmStateNode__CDefinition": {
"fields": { "fields": {
"m_bIsOffState": 174, "m_bIsOffState": 166,
"m_entryEvents": 24, "m_entryEvents": 16,
"m_executeEvents": 56, "m_executeEvents": 48,
"m_exitEvents": 88, "m_exitEvents": 80,
"m_nChildNodeIdx": 16, "m_nChildNodeIdx": 10,
"m_nLayerBoneMaskNodeIdx": 172, "m_nLayerBoneMaskNodeIdx": 164,
"m_nLayerRootMotionWeightNodeIdx": 170, "m_nLayerRootMotionWeightNodeIdx": 162,
"m_nLayerWeightNodeIdx": 168, "m_nLayerWeightNodeIdx": 160,
"m_timedElapsedEvents": 144, "m_timedElapsedEvents": 136,
"m_timedRemainingEvents": 120 "m_timedRemainingEvents": 112
}, },
"metadata": [ "metadata": [
{ {
@@ -3620,17 +3620,17 @@
}, },
"CNmTransitionNode__CDefinition": { "CNmTransitionNode__CDefinition": {
"fields": { "fields": {
"m_blendWeightEasing": 40, "m_blendWeightEasing": 36,
"m_boneMaskBlendInTimePercentage": 28, "m_boneMaskBlendInTimePercentage": 24,
"m_durationOverrideNodeIdx": 18, "m_durationOverrideNodeIdx": 12,
"m_flDuration": 24, "m_flDuration": 20,
"m_rootMotionBlend": 41, "m_rootMotionBlend": 37,
"m_startBoneMaskNodeIdx": 22, "m_startBoneMaskNodeIdx": 16,
"m_syncEventOffset": 32, "m_syncEventOffset": 28,
"m_syncEventOffsetOverrideNodeIdx": 20, "m_syncEventOffsetOverrideNodeIdx": 14,
"m_targetCNmStateNodeIdx": 16, "m_targetCNmStateNodeIdx": 10,
"m_targetSyncIDNodeIdx": 38, "m_targetSyncIDNodeIdx": 34,
"m_transitionOptions": 36 "m_transitionOptions": 32
}, },
"metadata": [ "metadata": [
{ {
@@ -3652,7 +3652,7 @@
}, },
"CNmVirtualParameterBoneMaskNode__CDefinition": { "CNmVirtualParameterBoneMaskNode__CDefinition": {
"fields": { "fields": {
"m_nChildNodeIdx": 16 "m_nChildNodeIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3664,7 +3664,7 @@
}, },
"CNmVirtualParameterBoolNode__CDefinition": { "CNmVirtualParameterBoolNode__CDefinition": {
"fields": { "fields": {
"m_nChildNodeIdx": 16 "m_nChildNodeIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3676,7 +3676,7 @@
}, },
"CNmVirtualParameterFloatNode__CDefinition": { "CNmVirtualParameterFloatNode__CDefinition": {
"fields": { "fields": {
"m_nChildNodeIdx": 16 "m_nChildNodeIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3688,7 +3688,7 @@
}, },
"CNmVirtualParameterIDNode__CDefinition": { "CNmVirtualParameterIDNode__CDefinition": {
"fields": { "fields": {
"m_nChildNodeIdx": 16 "m_nChildNodeIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3700,7 +3700,7 @@
}, },
"CNmVirtualParameterTargetNode__CDefinition": { "CNmVirtualParameterTargetNode__CDefinition": {
"fields": { "fields": {
"m_nChildNodeIdx": 16 "m_nChildNodeIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3712,7 +3712,7 @@
}, },
"CNmVirtualParameterVectorNode__CDefinition": { "CNmVirtualParameterVectorNode__CDefinition": {
"fields": { "fields": {
"m_nChildNodeIdx": 16 "m_nChildNodeIdx": 10
}, },
"metadata": [ "metadata": [
{ {
@@ -3791,7 +3791,7 @@
}, },
"CPathAnimMotorUpdaterBase": { "CPathAnimMotorUpdaterBase": {
"fields": { "fields": {
"m_bLockToPath": 32 "m_bLockToPath": 25
}, },
"metadata": [ "metadata": [
{ {
@@ -4757,10 +4757,10 @@
}, },
"CSubtractUpdateNode": { "CSubtractUpdateNode": {
"fields": { "fields": {
"m_bApplyChannelsSeparately": 145, "m_bApplyChannelsSeparately": 141,
"m_bApplyToFootMotion": 144, "m_bApplyToFootMotion": 140,
"m_bUseModelSpace": 146, "m_bUseModelSpace": 142,
"m_footMotionTiming": 140 "m_footMotionTiming": 136
}, },
"metadata": [ "metadata": [
{ {
@@ -4772,7 +4772,7 @@
}, },
"CSymbolAnimParameter": { "CSymbolAnimParameter": {
"fields": { "fields": {
"m_defaultValue": 128 "m_defaultValue": 120
}, },
"metadata": [ "metadata": [
{ {
@@ -4939,8 +4939,8 @@
}, },
"CVectorAnimParameter": { "CVectorAnimParameter": {
"fields": { "fields": {
"m_bInterpolate": 140, "m_bInterpolate": 132,
"m_defaultValue": 128 "m_defaultValue": 120
}, },
"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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: animationsystem.dll // Module: libanimationsystem.so
// Classes count: 401 // Classes count: 401
// Enums count: 77 // Enums count: 77
pub mod animationsystem_dll { pub mod libanimationsystem_so {
// Alignment: 4 // Alignment: 4
// Members count: 17 // Members count: 17
#[repr(u32)] #[repr(u32)]
@@ -930,9 +930,9 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CIntAnimParameter { pub mod CIntAnimParameter {
pub const m_defaultValue: usize = 0x80; // int32 pub const m_defaultValue: usize = 0x78; // int32
pub const m_minValue: usize = 0x84; // int32 pub const m_minValue: usize = 0x7C; // int32
pub const m_maxValue: usize = 0x88; // int32 pub const m_maxValue: usize = 0x80; // int32
} }
// Parent: CNmEvent // Parent: CNmEvent
// Fields count: 1 // Fields count: 1
@@ -1119,7 +1119,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmPassthroughNode__CDefinition { pub mod CNmPassthroughNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0x10; // int16 pub const m_nChildNodeIdx: usize = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -1262,8 +1262,8 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod AnimationSnapshot_t { pub mod AnimationSnapshot_t {
pub const m_nEntIndex: usize = 0x110; // int32 pub const m_nEntIndex: usize = 0x108; // int32
pub const m_modelName: usize = 0x118; // CUtlString pub const m_modelName: usize = 0x110; // CUtlString
} }
// Parent: CNmValueNode__CDefinition // Parent: CNmValueNode__CDefinition
// Fields count: 0 // Fields count: 0
@@ -1291,7 +1291,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmVirtualParameterTargetNode__CDefinition { pub mod CNmVirtualParameterTargetNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0x10; // int16 pub const m_nChildNodeIdx: usize = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -1312,8 +1312,8 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CVectorAnimParameter { pub mod CVectorAnimParameter {
pub const m_defaultValue: usize = 0x80; // Vector pub const m_defaultValue: usize = 0x78; // Vector
pub const m_bInterpolate: usize = 0x8C; // bool pub const m_bInterpolate: usize = 0x84; // bool
} }
// Parent: None // Parent: None
// Fields count: 3 // Fields count: 3
@@ -1351,17 +1351,17 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmTransitionNode__CDefinition { pub mod CNmTransitionNode__CDefinition {
pub const m_targetCNmStateNodeIdx: usize = 0x10; // int16 pub const m_targetCNmStateNodeIdx: usize = 0xA; // int16
pub const m_durationOverrideNodeIdx: usize = 0x12; // int16 pub const m_durationOverrideNodeIdx: usize = 0xC; // int16
pub const m_syncEventOffsetOverrideNodeIdx: usize = 0x14; // int16 pub const m_syncEventOffsetOverrideNodeIdx: usize = 0xE; // int16
pub const m_startBoneMaskNodeIdx: usize = 0x16; // int16 pub const m_startBoneMaskNodeIdx: usize = 0x10; // int16
pub const m_flDuration: usize = 0x18; // float32 pub const m_flDuration: usize = 0x14; // float32
pub const m_boneMaskBlendInTimePercentage: usize = 0x1C; // NmPercent_t pub const m_boneMaskBlendInTimePercentage: usize = 0x18; // NmPercent_t
pub const m_syncEventOffset: usize = 0x20; // float32 pub const m_syncEventOffset: usize = 0x1C; // float32
pub const m_transitionOptions: usize = 0x24; // CNmTransitionNode::TransitionOptions_t pub const m_transitionOptions: usize = 0x20; // CNmTransitionNode::TransitionOptions_t
pub const m_targetSyncIDNodeIdx: usize = 0x26; // int16 pub const m_targetSyncIDNodeIdx: usize = 0x22; // int16
pub const m_blendWeightEasing: usize = 0x28; // NmEasingOperation_t pub const m_blendWeightEasing: usize = 0x24; // NmEasingOperation_t
pub const m_rootMotionBlend: usize = 0x29; // NmRootMotionBlendMode_t pub const m_rootMotionBlend: usize = 0x25; // NmRootMotionBlendMode_t
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -1566,7 +1566,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmVirtualParameterFloatNode__CDefinition { pub mod CNmVirtualParameterFloatNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0x10; // int16 pub const m_nChildNodeIdx: usize = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 8 // Fields count: 8
@@ -1847,13 +1847,13 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CDampedPathAnimMotorUpdater { pub mod CDampedPathAnimMotorUpdater {
pub const m_flAnticipationTime: usize = 0x2C; // float32 pub const m_flAnticipationTime: usize = 0x20; // float32
pub const m_flMinSpeedScale: usize = 0x30; // float32 pub const m_flMinSpeedScale: usize = 0x24; // float32
pub const m_hAnticipationPosParam: usize = 0x34; // CAnimParamHandle pub const m_hAnticipationPosParam: usize = 0x28; // CAnimParamHandle
pub const m_hAnticipationHeadingParam: usize = 0x36; // CAnimParamHandle pub const m_hAnticipationHeadingParam: usize = 0x2A; // CAnimParamHandle
pub const m_flSpringConstant: usize = 0x38; // float32 pub const m_flSpringConstant: usize = 0x2C; // float32
pub const m_flMinSpringTension: usize = 0x3C; // float32 pub const m_flMinSpringTension: usize = 0x30; // float32
pub const m_flMaxSpringTension: usize = 0x40; // float32 pub const m_flMaxSpringTension: usize = 0x34; // float32
} }
// Parent: CModelConfigElement // Parent: CModelConfigElement
// Fields count: 1 // Fields count: 1
@@ -1869,7 +1869,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmVirtualParameterBoneMaskNode__CDefinition { pub mod CNmVirtualParameterBoneMaskNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0x10; // int16 pub const m_nChildNodeIdx: usize = 0xA; // int16
} }
// Parent: CUnaryUpdateNode // Parent: CUnaryUpdateNode
// Fields count: 2 // Fields count: 2
@@ -2027,16 +2027,16 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmStateNode__CDefinition { pub mod CNmStateNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0x10; // int16 pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_entryEvents: usize = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> pub const m_entryEvents: usize = 0x10; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_executeEvents: usize = 0x38; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> pub const m_executeEvents: usize = 0x30; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_exitEvents: usize = 0x58; // CUtlLeanVectorFixedGrowable<CGlobalSymbol> pub const m_exitEvents: usize = 0x50; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_timedRemainingEvents: usize = 0x78; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t> pub const m_timedRemainingEvents: usize = 0x70; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
pub const m_timedElapsedEvents: usize = 0x90; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t> pub const m_timedElapsedEvents: usize = 0x88; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
pub const m_nLayerWeightNodeIdx: usize = 0xA8; // int16 pub const m_nLayerWeightNodeIdx: usize = 0xA0; // int16
pub const m_nLayerRootMotionWeightNodeIdx: usize = 0xAA; // int16 pub const m_nLayerRootMotionWeightNodeIdx: usize = 0xA2; // int16
pub const m_nLayerBoneMaskNodeIdx: usize = 0xAC; // int16 pub const m_nLayerBoneMaskNodeIdx: usize = 0xA4; // int16
pub const m_bIsOffState: usize = 0xAE; // bool pub const m_bIsOffState: usize = 0xA6; // bool
} }
// Parent: CNmVectorValueNode__CDefinition // Parent: CNmVectorValueNode__CDefinition
// Fields count: 1 // Fields count: 1
@@ -2044,7 +2044,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmVirtualParameterVectorNode__CDefinition { pub mod CNmVirtualParameterVectorNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0x10; // int16 pub const m_nChildNodeIdx: usize = 0xA; // int16
} }
// Parent: CMotionMetricEvaluator // Parent: CMotionMetricEvaluator
// Fields count: 1 // Fields count: 1
@@ -2244,11 +2244,11 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmClipNode__CDefinition { pub mod CNmClipNode__CDefinition {
pub const m_nPlayInReverseValueNodeIdx: usize = 0x10; // int16 pub const m_nPlayInReverseValueNodeIdx: usize = 0xA; // int16
pub const m_nResetTimeValueNodeIdx: usize = 0x12; // int16 pub const m_nResetTimeValueNodeIdx: usize = 0xC; // int16
pub const m_bSampleRootMotion: usize = 0x14; // bool pub const m_bSampleRootMotion: usize = 0xE; // bool
pub const m_bAllowLooping: usize = 0x15; // bool pub const m_bAllowLooping: usize = 0xF; // bool
pub const m_nDataSlotIdx: usize = 0x16; // int16 pub const m_nDataSlotIdx: usize = 0x10; // int16
} }
// Parent: CAnimParameterBase // Parent: CAnimParameterBase
// Fields count: 6 // Fields count: 6
@@ -2256,12 +2256,12 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CConcreteAnimParameter { pub mod CConcreteAnimParameter {
pub const m_previewButton: usize = 0x70; // AnimParamButton_t pub const m_previewButton: usize = 0x6C; // AnimParamButton_t
pub const m_eNetworkSetting: usize = 0x74; // AnimParamNetworkSetting pub const m_eNetworkSetting: usize = 0x70; // AnimParamNetworkSetting
pub const m_bUseMostRecentValue: usize = 0x78; // bool pub const m_bUseMostRecentValue: usize = 0x74; // bool
pub const m_bAutoReset: usize = 0x79; // bool pub const m_bAutoReset: usize = 0x75; // bool
pub const m_bGameWritable: usize = 0x7A; // bool pub const m_bGameWritable: usize = 0x76; // bool
pub const m_bGraphWritable: usize = 0x7B; // bool pub const m_bGraphWritable: usize = 0x77; // bool
} }
// Parent: CModelConfigElement // Parent: CModelConfigElement
// Fields count: 2 // Fields count: 2
@@ -2449,7 +2449,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CSymbolAnimParameter { pub mod CSymbolAnimParameter {
pub const m_defaultValue: usize = 0x80; // CGlobalSymbol pub const m_defaultValue: usize = 0x78; // CGlobalSymbol
} }
// Parent: None // Parent: None
// Fields count: 4 // Fields count: 4
@@ -2791,14 +2791,14 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CJumpHelperUpdateNode { pub mod CJumpHelperUpdateNode {
pub const m_hTargetParam: usize = 0xA8; // CAnimParamHandle pub const m_hTargetParam: usize = 0xA1; // CAnimParamHandle
pub const m_flOriginalJumpMovement: usize = 0xAC; // Vector pub const m_flOriginalJumpMovement: usize = 0xA4; // Vector
pub const m_flOriginalJumpDuration: usize = 0xB8; // float32 pub const m_flOriginalJumpDuration: usize = 0xB0; // float32
pub const m_flJumpStartCycle: usize = 0xBC; // float32 pub const m_flJumpStartCycle: usize = 0xB4; // float32
pub const m_flJumpEndCycle: usize = 0xC0; // float32 pub const m_flJumpEndCycle: usize = 0xB8; // float32
pub const m_eCorrectionMethod: usize = 0xC4; // JumpCorrectionMethod pub const m_eCorrectionMethod: usize = 0xBC; // JumpCorrectionMethod
pub const m_bTranslationAxis: usize = 0xC8; // bool[3] pub const m_bTranslationAxis: usize = 0xC0; // bool[3]
pub const m_bScaleSpeed: usize = 0xCB; // bool pub const m_bScaleSpeed: usize = 0xC3; // bool
} }
// Parent: CNmBoolValueNode__CDefinition // Parent: CNmBoolValueNode__CDefinition
// Fields count: 0 // Fields count: 0
@@ -3326,7 +3326,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CPathAnimMotorUpdaterBase { pub mod CPathAnimMotorUpdaterBase {
pub const m_bLockToPath: usize = 0x20; // bool pub const m_bLockToPath: usize = 0x19; // bool
} }
// Parent: None // Parent: None
// Fields count: 7 // Fields count: 7
@@ -3412,11 +3412,11 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CAddUpdateNode { pub mod CAddUpdateNode {
pub const m_footMotionTiming: usize = 0x8C; // BinaryNodeChildOption pub const m_footMotionTiming: usize = 0x88; // BinaryNodeChildOption
pub const m_bApplyToFootMotion: usize = 0x90; // bool pub const m_bApplyToFootMotion: usize = 0x8C; // bool
pub const m_bApplyChannelsSeparately: usize = 0x91; // bool pub const m_bApplyChannelsSeparately: usize = 0x8D; // bool
pub const m_bUseModelSpace: usize = 0x92; // bool pub const m_bUseModelSpace: usize = 0x8E; // bool
pub const m_bApplyScale: usize = 0x93; // bool pub const m_bApplyScale: usize = 0x8F; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -3489,9 +3489,9 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CEnumAnimParameter { pub mod CEnumAnimParameter {
pub const m_defaultValue: usize = 0x88; // uint8 pub const m_defaultValue: usize = 0x80; // uint8
pub const m_enumOptions: usize = 0x90; // CUtlVector<CUtlString> pub const m_enumOptions: usize = 0x88; // CUtlVector<CUtlString>
pub const m_vecEnumReferenced: usize = 0xA8; // CUtlVector<uint64> pub const m_vecEnumReferenced: usize = 0xA0; // CUtlVector<uint64>
} }
// Parent: CAnimTagBase // Parent: CAnimTagBase
// Fields count: 1 // Fields count: 1
@@ -3499,7 +3499,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CHandshakeAnimTagBase { pub mod CHandshakeAnimTagBase {
pub const m_bIsDisableTag: usize = 0x50; // bool pub const m_bIsDisableTag: usize = 0x49; // bool
} }
// Parent: None // Parent: None
// Fields count: 1 // Fields count: 1
@@ -3634,8 +3634,8 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CAnimUpdateNodeBase { pub mod CAnimUpdateNodeBase {
pub const m_nodePath: usize = 0x18; // CAnimNodePath pub const m_nodePath: usize = 0x14; // CAnimNodePath
pub const m_networkMode: usize = 0x48; // AnimNodeNetworkMode pub const m_networkMode: usize = 0x44; // AnimNodeNetworkMode
pub const m_name: usize = 0x50; // CUtlString pub const m_name: usize = 0x50; // CUtlString
} }
// Parent: CAnimActionUpdater // Parent: CAnimActionUpdater
@@ -3710,8 +3710,8 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CMorphSetData { pub mod CMorphSetData {
pub const m_nWidth: usize = 0x10; // int32 pub const m_nWidth: usize = 0xC; // int32
pub const m_nHeight: usize = 0x14; // int32 pub const m_nHeight: usize = 0x10; // int32
pub const m_bundleTypes: usize = 0x18; // CUtlVector<MorphBundleType_t> pub const m_bundleTypes: usize = 0x18; // CUtlVector<MorphBundleType_t>
pub const m_morphDatas: usize = 0x30; // CUtlVector<CMorphData> pub const m_morphDatas: usize = 0x30; // CUtlVector<CMorphData>
pub const m_pTextureAtlas: usize = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase> pub const m_pTextureAtlas: usize = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase>
@@ -3887,13 +3887,13 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CAnimationGroup { pub mod CAnimationGroup {
pub const m_nFlags: usize = 0x10; // uint32 pub const m_nFlags: usize = 0xC; // uint32
pub const m_name: usize = 0x18; // CBufferString pub const m_name: usize = 0x10; // CBufferString
pub const m_localHAnimArray_Handle: usize = 0x60; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>> pub const m_localHAnimArray_Handle: usize = 0x58; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>>
pub const m_includedGroupArray_Handle: usize = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>> pub const m_includedGroupArray_Handle: usize = 0x70; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
pub const m_directHSeqGroup_Handle: usize = 0x90; // CStrongHandle<InfoForResourceTypeCSequenceGroupData> pub const m_directHSeqGroup_Handle: usize = 0x88; // CStrongHandle<InfoForResourceTypeCSequenceGroupData>
pub const m_decodeKey: usize = 0x98; // CAnimKeyData pub const m_decodeKey: usize = 0x90; // CAnimKeyData
pub const m_szScripts: usize = 0x110; // CUtlVector<CBufferString> pub const m_szScripts: usize = 0x108; // CUtlVector<CBufferString>
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4376,10 +4376,10 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CFloatAnimParameter { pub mod CFloatAnimParameter {
pub const m_fDefaultValue: usize = 0x80; // float32 pub const m_fDefaultValue: usize = 0x78; // float32
pub const m_fMinValue: usize = 0x84; // float32 pub const m_fMinValue: usize = 0x7C; // float32
pub const m_fMaxValue: usize = 0x88; // float32 pub const m_fMaxValue: usize = 0x80; // float32
pub const m_bInterpolate: usize = 0x8C; // bool pub const m_bInterpolate: usize = 0x84; // bool
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4625,9 +4625,9 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmLayerBlendNode__CDefinition { pub mod CNmLayerBlendNode__CDefinition {
pub const m_nBaseNodeIdx: usize = 0x10; // int16 pub const m_nBaseNodeIdx: usize = 0xA; // int16
pub const m_bOnlySampleBaseRootMotion: usize = 0x12; // bool pub const m_bOnlySampleBaseRootMotion: usize = 0xC; // bool
pub const m_layerDefinition: usize = 0x18; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t> pub const m_layerDefinition: usize = 0x10; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t>
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4652,10 +4652,10 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CSubtractUpdateNode { pub mod CSubtractUpdateNode {
pub const m_footMotionTiming: usize = 0x8C; // BinaryNodeChildOption pub const m_footMotionTiming: usize = 0x88; // BinaryNodeChildOption
pub const m_bApplyToFootMotion: usize = 0x90; // bool pub const m_bApplyToFootMotion: usize = 0x8C; // bool
pub const m_bApplyChannelsSeparately: usize = 0x91; // bool pub const m_bApplyChannelsSeparately: usize = 0x8D; // bool
pub const m_bUseModelSpace: usize = 0x92; // bool pub const m_bUseModelSpace: usize = 0x8E; // bool
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4700,13 +4700,13 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CBoneMaskUpdateNode { pub mod CBoneMaskUpdateNode {
pub const m_nWeightListIndex: usize = 0x8C; // int32 pub const m_nWeightListIndex: usize = 0x88; // int32
pub const m_flRootMotionBlend: usize = 0x90; // float32 pub const m_flRootMotionBlend: usize = 0x8C; // float32
pub const m_blendSpace: usize = 0x94; // BoneMaskBlendSpace pub const m_blendSpace: usize = 0x90; // BoneMaskBlendSpace
pub const m_footMotionTiming: usize = 0x98; // BinaryNodeChildOption pub const m_footMotionTiming: usize = 0x94; // BinaryNodeChildOption
pub const m_bUseBlendScale: usize = 0x9C; // bool pub const m_bUseBlendScale: usize = 0x98; // bool
pub const m_blendValueSource: usize = 0xA0; // AnimValueSource pub const m_blendValueSource: usize = 0x9C; // AnimValueSource
pub const m_hBlendParameter: usize = 0xA4; // CAnimParamHandle pub const m_hBlendParameter: usize = 0xA0; // CAnimParamHandle
} }
// Parent: CAnimUpdateNodeBase // Parent: CAnimUpdateNodeBase
// Fields count: 0 // Fields count: 0
@@ -4805,7 +4805,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
// MPropertyFriendlyName // MPropertyFriendlyName
pub mod CBoolAnimParameter { pub mod CBoolAnimParameter {
pub const m_bDefaultValue: usize = 0x80; // bool pub const m_bDefaultValue: usize = 0x78; // bool
} }
// Parent: CAnimTagBase // Parent: CAnimTagBase
// Fields count: 6 // Fields count: 6
@@ -4864,7 +4864,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmChildGraphNode__CDefinition { pub mod CNmChildGraphNode__CDefinition {
pub const m_nChildGraphIdx: usize = 0x10; // int16 pub const m_nChildGraphIdx: usize = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 2 // Fields count: 2
@@ -4881,7 +4881,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmVirtualParameterIDNode__CDefinition { pub mod CNmVirtualParameterIDNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0x10; // int16 pub const m_nChildNodeIdx: usize = 0xA; // int16
} }
// Parent: None // Parent: None
// Fields count: 5 // Fields count: 5
@@ -5164,7 +5164,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MGetKV3ClassDefaults // MGetKV3ClassDefaults
pub mod CNmVirtualParameterBoolNode__CDefinition { pub mod CNmVirtualParameterBoolNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0x10; // int16 pub const m_nChildNodeIdx: usize = 0xA; // int16
} }
// Parent: CUnaryUpdateNode // Parent: CUnaryUpdateNode
// Fields count: 3 // Fields count: 3

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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: engine2.dll // Module: libengine2.so
// Classes count: 44 // Classes count: 44
// 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
@@ -174,10 +174,10 @@ namespace CS2Dumper.Schemas {
// 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
@@ -211,7 +211,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

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 44
// 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
@@ -179,10 +179,10 @@ namespace cs2_dumper {
// 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
@@ -216,7 +216,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

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"
@@ -98,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
@@ -224,10 +224,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"

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 44
// 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
@@ -181,10 +181,10 @@ pub mod cs2_dumper {
// 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
@@ -218,7 +218,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

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
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 {

View File

@@ -1,5 +1,5 @@
{ {
"networksystem.dll": { "libnetworksystem.so": {
"classes": { "classes": {
"ChangeAccessorFieldPathIndex_t": { "ChangeAccessorFieldPathIndex_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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 {

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 {

View File

@@ -1,5 +1,5 @@
{ {
"panorama.dll": { "libpanorama.so": {
"classes": {}, "classes": {},
"enums": { "enums": {
"ELayoutNodeType": { "ELayoutNodeType": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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)]

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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: pulse_system.dll // Module: libpulse_system.so
// Classes count: 108 // Classes count: 108
// Enums count: 9 // Enums count: 9
public static class PulseSystemDll { public static class LibpulseSystemSo {
// Alignment: 4 // Alignment: 4
// Members count: 6 // Members count: 6
public enum EPulseGraphExecutionHistoryFlag : uint { public enum EPulseGraphExecutionHistoryFlag : uint {
@@ -908,7 +908,7 @@ namespace CS2Dumper.Schemas {
// MPulseDomainHookInfo // MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
public static class CPulseGraphInstance_TestDomain_Derived { public static class CPulseGraphInstance_TestDomain_Derived {
public const nint m_nInstanceValueX = 0x120; // int32 public const nint m_nInstanceValueX = 0x11C; // int32
} }
// Parent: CPulseCell_Inflow_BaseEntrypoint // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4 // Fields count: 4
@@ -1199,7 +1199,7 @@ namespace CS2Dumper.Schemas {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
public static class CPulseTurtleGraphicsCursor { public static class CPulseTurtleGraphicsCursor {
public const nint m_Color = 0xA0; // Color public const nint m_Color = 0x9E; // Color
public const nint m_vPos = 0xA4; // Vector2D public const nint m_vPos = 0xA4; // Vector2D
public const nint m_flHeadingDeg = 0xAC; // float32 public const nint m_flHeadingDeg = 0xAC; // float32
public const nint m_bPenUp = 0xB0; // bool public const nint m_bPenUp = 0xB0; // 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: pulse_system.dll // Module: libpulse_system.so
// Classes count: 108 // Classes count: 108
// Enums count: 9 // Enums count: 9
namespace pulse_system_dll { namespace libpulse_system_so {
// Alignment: 4 // Alignment: 4
// Members count: 6 // Members count: 6
enum class EPulseGraphExecutionHistoryFlag : uint32_t { enum class EPulseGraphExecutionHistoryFlag : uint32_t {
@@ -913,7 +913,7 @@ namespace cs2_dumper {
// MPulseDomainHookInfo // MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
namespace CPulseGraphInstance_TestDomain_Derived { namespace CPulseGraphInstance_TestDomain_Derived {
constexpr std::ptrdiff_t m_nInstanceValueX = 0x120; // int32 constexpr std::ptrdiff_t m_nInstanceValueX = 0x11C; // int32
} }
// Parent: CPulseCell_Inflow_BaseEntrypoint // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4 // Fields count: 4
@@ -1204,7 +1204,7 @@ namespace cs2_dumper {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
namespace CPulseTurtleGraphicsCursor { namespace CPulseTurtleGraphicsCursor {
constexpr std::ptrdiff_t m_Color = 0xA0; // Color constexpr std::ptrdiff_t m_Color = 0x9E; // Color
constexpr std::ptrdiff_t m_vPos = 0xA4; // Vector2D constexpr std::ptrdiff_t m_vPos = 0xA4; // Vector2D
constexpr std::ptrdiff_t m_flHeadingDeg = 0xAC; // float32 constexpr std::ptrdiff_t m_flHeadingDeg = 0xAC; // float32
constexpr std::ptrdiff_t m_bPenUp = 0xB0; // bool constexpr std::ptrdiff_t m_bPenUp = 0xB0; // bool

View File

@@ -1,5 +1,5 @@
{ {
"pulse_system.dll": { "libpulse_system.so": {
"classes": { "classes": {
"CBasePulseGraphInstance": { "CBasePulseGraphInstance": {
"fields": {}, "fields": {},
@@ -1272,7 +1272,7 @@
}, },
"CPulseGraphInstance_TestDomain_Derived": { "CPulseGraphInstance_TestDomain_Derived": {
"fields": { "fields": {
"m_nInstanceValueX": 288 "m_nInstanceValueX": 284
}, },
"metadata": [ "metadata": [
{ {
@@ -1390,7 +1390,7 @@
}, },
"CPulseTurtleGraphicsCursor": { "CPulseTurtleGraphicsCursor": {
"fields": { "fields": {
"m_Color": 160, "m_Color": 158,
"m_bPenUp": 176, "m_bPenUp": 176,
"m_flHeadingDeg": 172, "m_flHeadingDeg": 172,
"m_vPos": 164 "m_vPos": 164

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 108 // Classes count: 108
// Enums count: 9 // Enums count: 9
pub mod pulse_system_dll { pub mod libpulse_system_so {
// Alignment: 4 // Alignment: 4
// Members count: 6 // Members count: 6
#[repr(u32)] #[repr(u32)]
@@ -920,7 +920,7 @@ pub mod cs2_dumper {
// MPulseDomainHookInfo // MPulseDomainHookInfo
// MPulseLibraryBindings // MPulseLibraryBindings
pub mod CPulseGraphInstance_TestDomain_Derived { pub mod CPulseGraphInstance_TestDomain_Derived {
pub const m_nInstanceValueX: usize = 0x120; // int32 pub const m_nInstanceValueX: usize = 0x11C; // int32
} }
// Parent: CPulseCell_Inflow_BaseEntrypoint // Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4 // Fields count: 4
@@ -1211,7 +1211,7 @@ pub mod cs2_dumper {
// Metadata: // Metadata:
// MPulseLibraryBindings // MPulseLibraryBindings
pub mod CPulseTurtleGraphicsCursor { pub mod CPulseTurtleGraphicsCursor {
pub const m_Color: usize = 0xA0; // Color pub const m_Color: usize = 0x9E; // Color
pub const m_vPos: usize = 0xA4; // Vector2D pub const m_vPos: usize = 0xA4; // Vector2D
pub const m_flHeadingDeg: usize = 0xAC; // float32 pub const m_flHeadingDeg: usize = 0xAC; // float32
pub const m_bPenUp: usize = 0xB0; // bool pub const m_bPenUp: usize = 0xB0; // 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 {

View File

@@ -1,5 +1,5 @@
{ {
"rendersystemdx11.dll": { "librendersystemvulkan.so": {
"classes": { "classes": {
"RenderInputLayoutField_t": { "RenderInputLayoutField_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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: resourcesystem.dll // Module: libresourcesystem.so
// Classes count: 58 // Classes count: 58
// 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 {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 58 // Classes count: 58
// 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 {

View File

@@ -1,5 +1,5 @@
{ {
"resourcesystem.dll": { "libresourcesystem.so": {
"classes": { "classes": {
"AABB_t": { "AABB_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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 58 // Classes count: 58
// 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)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: soundsystem.dll // Module: libsoundsystem.so
// Classes count: 63 // Classes count: 63
// Enums count: 18 // Enums count: 18
public static class SoundsystemDll { public static class LibsoundsystemSo {
// Alignment: 4 // Alignment: 4
// Members count: 2 // Members count: 2
public enum EMode_t : uint { public enum EMode_t : 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper { namespace cs2_dumper {
namespace schemas { namespace schemas {
// Module: soundsystem.dll // Module: libsoundsystem.so
// Classes count: 63 // Classes count: 63
// Enums count: 18 // Enums count: 18
namespace soundsystem_dll { namespace libsoundsystem_so {
// Alignment: 4 // Alignment: 4
// Members count: 2 // Members count: 2
enum class EMode_t : uint32_t { enum class EMode_t : uint32_t {

View File

@@ -1,5 +1,5 @@
{ {
"soundsystem.dll": { "libsoundsystem.so": {
"classes": { "classes": {
"CAudioEmphasisSample": { "CAudioEmphasisSample": {
"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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 63 // Classes count: 63
// Enums count: 18 // Enums count: 18
pub mod soundsystem_dll { pub mod libsoundsystem_so {
// Alignment: 4 // Alignment: 4
// Members count: 2 // Members count: 2
#[repr(u32)] #[repr(u32)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
namespace CS2Dumper.Schemas { namespace CS2Dumper.Schemas {
// Module: vphysics2.dll // Module: libvphysics2.so
// Classes count: 88 // Classes count: 88
// 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 {
@@ -202,8 +202,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

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 88
// 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 {
@@ -207,8 +207,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

View File

@@ -1,5 +1,5 @@
{ {
"vphysics2.dll": { "libvphysics2.so": {
"classes": { "classes": {
"CFeIndexedJiggleBone": { "CFeIndexedJiggleBone": {
"fields": { "fields": {
@@ -226,8 +226,8 @@
}, },
"FeBuildBoxRigid_t": { "FeBuildBoxRigid_t": {
"fields": { "fields": {
"m_nPriority": 64, "m_nPriority": 52,
"m_nVertexMapHash": 68 "m_nVertexMapHash": 56
}, },
"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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 88
// 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)]
@@ -207,8 +207,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

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 13
public enum ObjectTypeFlags_t : uint { public enum ObjectTypeFlags_t : 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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
#pragma once #pragma once
@@ -7,10 +7,10 @@
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: 13
enum class ObjectTypeFlags_t : uint32_t { enum class ObjectTypeFlags_t : uint32_t {

View File

@@ -1,5 +1,5 @@
{ {
"worldrenderer.dll": { "libworldrenderer.so": {
"classes": { "classes": {
"AggregateLODSetup_t": { "AggregateLODSetup_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-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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: 13
#[repr(u32)] #[repr(u32)]

View File

@@ -1,50 +1,47 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 = 0x1A0D080; public const nint dwCSGOInput = 0x38FD6C0;
public const nint dwEntityList = 0x19A3328; public const nint dwEntityList = 0x37601C8;
public const nint dwGameEntitySystem = 0x1AC2018; public const nint dwGameEntitySystem = 0x3A28720;
public const nint dwGameEntitySystem_getHighestEntityIndex = 0x1510; public const nint dwGameEntitySystem_highestEntityIndex = 0x1540;
public const nint dwGameRules = 0x1A00D08; public const nint dwGameRules = 0x38F0840;
public const nint dwGlobalVars = 0x1801BF0; public const nint dwGlobalVars = 0x371F0B8;
public const nint dwGlowManager = 0x1A00420; public const nint dwGlowManager = 0x38F0750;
public const nint dwLocalPlayerController = 0x19F3298; public const nint dwLocalPlayerController = 0x38D58B8;
public const nint dwLocalPlayerPawn = 0x180DB18; public const nint dwLocalPlayerPawn = 0x38F6508;
public const nint dwPlantedC4 = 0x1A0A3F8; public const nint dwPlantedC4 = 0x390A758;
public const nint dwPrediction = 0x180D9D0; public const nint dwPrediction = 0x38F63C0;
public const nint dwSensitivity = 0x1A019B8; public const nint dwSensitivity = 0x38F4888;
public const nint dwSensitivity_sensitivity = 0x40; public const nint dwSensitivity_sensitivity = 0x40;
public const nint dwViewAngles = 0x1A12498; public const nint dwViewAngles = 0x3902AE8;
public const nint dwViewMatrix = 0x1A052D0; public const nint dwViewMatrix = 0x38F6D60;
public const nint dwViewRender = 0x1A05AE0; public const nint dwViewRender = 0x38F6F10;
public const nint dwWeaponC4 = 0x19A71B0;
} }
// Module: engine2.dll // Module: libengine2.so
public static class Engine2Dll { public static class Libengine2So {
public const nint dwBuildNumber = 0x51E784; public const nint dwBuildNumber = 0x793914;
public const nint dwEngineViewData = 0x5DA9DC; public const nint dwNetworkGameClient = 0x7942E8;
public const nint dwNetworkGameClient = 0x51DB58; public const nint dwNetworkGameClient_clientTickCount = 0x188;
public const nint dwNetworkGameClient_clientTickCount = 0x178; public const nint dwNetworkGameClient_deltaTick = 0x298;
public const nint dwNetworkGameClient_deltaTick = 0x278; public const nint dwNetworkGameClient_isBackgroundMap = 0x2814A7;
public const nint dwNetworkGameClient_isBackgroundMap = 0x28145F; public const nint dwNetworkGameClient_localPlayer = 0x108;
public const nint dwNetworkGameClient_localPlayer = 0xF0; public const nint dwNetworkGameClient_maxClients = 0x290;
public const nint dwNetworkGameClient_maxClients = 0x270; public const nint dwNetworkGameClient_serverTickCount = 0x184;
public const nint dwNetworkGameClient_serverTickCount = 0x174; public const nint dwNetworkGameClient_signOnState = 0x280;
public const nint dwNetworkGameClient_signOnState = 0x260; public const nint dwWindowHeight = 0x79D4C4;
public const nint dwSoundService = 0x5DA940; public const nint dwWindowWidth = 0x79D4C0;
public const nint dwWindowHeight = 0x5DE2B4;
public const nint dwWindowWidth = 0x5DE2B0;
} }
// Module: inputsystem.dll // Module: libinputsystem.so
public static class InputsystemDll { public static class LibinputsystemSo {
public const nint dwInputSystem = 0x387D0; public const nint dwInputSystem = 0x41160;
} }
// Module: matchmaking.dll // Module: libmatchmaking.so
public static class MatchmakingDll { public static class LibmatchmakingSo {
public const nint dwGameTypes = 0x1D2290; public const nint dwGameTypes = 0x3360A0;
public const nint dwGameTypes_mapName = 0x1D23B0; public const nint dwGameTypes_mapName = 0x3361C0;
} }
} }

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 UTC
#pragma once #pragma once
@@ -7,50 +7,47 @@
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 = 0x1A0D080; constexpr std::ptrdiff_t dwCSGOInput = 0x38FD6C0;
constexpr std::ptrdiff_t dwEntityList = 0x19A3328; constexpr std::ptrdiff_t dwEntityList = 0x37601C8;
constexpr std::ptrdiff_t dwGameEntitySystem = 0x1AC2018; constexpr std::ptrdiff_t dwGameEntitySystem = 0x3A28720;
constexpr std::ptrdiff_t dwGameEntitySystem_getHighestEntityIndex = 0x1510; constexpr std::ptrdiff_t dwGameEntitySystem_highestEntityIndex = 0x1540;
constexpr std::ptrdiff_t dwGameRules = 0x1A00D08; constexpr std::ptrdiff_t dwGameRules = 0x38F0840;
constexpr std::ptrdiff_t dwGlobalVars = 0x1801BF0; constexpr std::ptrdiff_t dwGlobalVars = 0x371F0B8;
constexpr std::ptrdiff_t dwGlowManager = 0x1A00420; constexpr std::ptrdiff_t dwGlowManager = 0x38F0750;
constexpr std::ptrdiff_t dwLocalPlayerController = 0x19F3298; constexpr std::ptrdiff_t dwLocalPlayerController = 0x38D58B8;
constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x180DB18; constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x38F6508;
constexpr std::ptrdiff_t dwPlantedC4 = 0x1A0A3F8; constexpr std::ptrdiff_t dwPlantedC4 = 0x390A758;
constexpr std::ptrdiff_t dwPrediction = 0x180D9D0; constexpr std::ptrdiff_t dwPrediction = 0x38F63C0;
constexpr std::ptrdiff_t dwSensitivity = 0x1A019B8; constexpr std::ptrdiff_t dwSensitivity = 0x38F4888;
constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40; constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40;
constexpr std::ptrdiff_t dwViewAngles = 0x1A12498; constexpr std::ptrdiff_t dwViewAngles = 0x3902AE8;
constexpr std::ptrdiff_t dwViewMatrix = 0x1A052D0; constexpr std::ptrdiff_t dwViewMatrix = 0x38F6D60;
constexpr std::ptrdiff_t dwViewRender = 0x1A05AE0; constexpr std::ptrdiff_t dwViewRender = 0x38F6F10;
constexpr std::ptrdiff_t dwWeaponC4 = 0x19A71B0;
} }
// Module: engine2.dll // Module: libengine2.so
namespace engine2_dll { namespace libengine2_so {
constexpr std::ptrdiff_t dwBuildNumber = 0x51E784; constexpr std::ptrdiff_t dwBuildNumber = 0x793914;
constexpr std::ptrdiff_t dwEngineViewData = 0x5DA9DC; constexpr std::ptrdiff_t dwNetworkGameClient = 0x7942E8;
constexpr std::ptrdiff_t dwNetworkGameClient = 0x51DB58; constexpr std::ptrdiff_t dwNetworkGameClient_clientTickCount = 0x188;
constexpr std::ptrdiff_t dwNetworkGameClient_clientTickCount = 0x178; constexpr std::ptrdiff_t dwNetworkGameClient_deltaTick = 0x298;
constexpr std::ptrdiff_t dwNetworkGameClient_deltaTick = 0x278; constexpr std::ptrdiff_t dwNetworkGameClient_isBackgroundMap = 0x2814A7;
constexpr std::ptrdiff_t dwNetworkGameClient_isBackgroundMap = 0x28145F; constexpr std::ptrdiff_t dwNetworkGameClient_localPlayer = 0x108;
constexpr std::ptrdiff_t dwNetworkGameClient_localPlayer = 0xF0; constexpr std::ptrdiff_t dwNetworkGameClient_maxClients = 0x290;
constexpr std::ptrdiff_t dwNetworkGameClient_maxClients = 0x270; constexpr std::ptrdiff_t dwNetworkGameClient_serverTickCount = 0x184;
constexpr std::ptrdiff_t dwNetworkGameClient_serverTickCount = 0x174; constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x280;
constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x260; constexpr std::ptrdiff_t dwWindowHeight = 0x79D4C4;
constexpr std::ptrdiff_t dwSoundService = 0x5DA940; constexpr std::ptrdiff_t dwWindowWidth = 0x79D4C0;
constexpr std::ptrdiff_t dwWindowHeight = 0x5DE2B4;
constexpr std::ptrdiff_t dwWindowWidth = 0x5DE2B0;
} }
// Module: inputsystem.dll // Module: libinputsystem.so
namespace inputsystem_dll { namespace libinputsystem_so {
constexpr std::ptrdiff_t dwInputSystem = 0x387D0; constexpr std::ptrdiff_t dwInputSystem = 0x41160;
} }
// Module: matchmaking.dll // Module: libmatchmaking.so
namespace matchmaking_dll { namespace libmatchmaking_so {
constexpr std::ptrdiff_t dwGameTypes = 0x1D2290; constexpr std::ptrdiff_t dwGameTypes = 0x3360A0;
constexpr std::ptrdiff_t dwGameTypes_mapName = 0x1D23B0; constexpr std::ptrdiff_t dwGameTypes_mapName = 0x3361C0;
} }
} }
} }

View File

@@ -1,43 +1,130 @@
{ {
"client.dll": { "libclient.so": [
"dwCSGOInput": 27316352, {
"dwEntityList": 26882856, "name": "dwCSGOInput",
"dwGameEntitySystem": 28057624, "value": 59758272
"dwGameEntitySystem_getHighestEntityIndex": 5392, },
"dwGameRules": 27266312, {
"dwGlobalVars": 25172976, "name": "dwEntityList",
"dwGlowManager": 27264032, "value": 58065352
"dwLocalPlayerController": 27210392, },
"dwLocalPlayerPawn": 25221912, {
"dwPlantedC4": 27304952, "name": "dwGameEntitySystem",
"dwPrediction": 25221584, "value": 60983072
"dwSensitivity": 27269560, },
"dwSensitivity_sensitivity": 64, {
"dwViewAngles": 27337880, "name": "dwGameEntitySystem_highestEntityIndex",
"dwViewMatrix": 27284176, "value": 5440
"dwViewRender": 27286240, },
"dwWeaponC4": 26898864 {
}, "name": "dwGameRules",
"engine2.dll": { "value": 59705408
"dwBuildNumber": 5367684, },
"dwEngineViewData": 6138332, {
"dwNetworkGameClient": 5364568, "name": "dwGlobalVars",
"dwNetworkGameClient_clientTickCount": 376, "value": 57798840
"dwNetworkGameClient_deltaTick": 632, },
"dwNetworkGameClient_isBackgroundMap": 2626655, {
"dwNetworkGameClient_localPlayer": 240, "name": "dwGlowManager",
"dwNetworkGameClient_maxClients": 624, "value": 59705168
"dwNetworkGameClient_serverTickCount": 372, },
"dwNetworkGameClient_signOnState": 608, {
"dwSoundService": 6138176, "name": "dwLocalPlayerController",
"dwWindowHeight": 6152884, "value": 59594936
"dwWindowWidth": 6152880 },
}, {
"inputsystem.dll": { "name": "dwLocalPlayerPawn",
"dwInputSystem": 231376 "value": 59729160
}, },
"matchmaking.dll": { {
"dwGameTypes": 1909392, "name": "dwPlantedC4",
"dwGameTypes_mapName": 1909680 "value": 59811672
} },
{
"name": "dwPrediction",
"value": 59728832
},
{
"name": "dwSensitivity",
"value": 59721864
},
{
"name": "dwSensitivity_sensitivity",
"value": 64
},
{
"name": "dwViewAngles",
"value": 59779816
},
{
"name": "dwViewMatrix",
"value": 59731296
},
{
"name": "dwViewRender",
"value": 59731728
}
],
"libengine2.so": [
{
"name": "dwBuildNumber",
"value": 7944468
},
{
"name": "dwNetworkGameClient",
"value": 7946984
},
{
"name": "dwNetworkGameClient_clientTickCount",
"value": 392
},
{
"name": "dwNetworkGameClient_deltaTick",
"value": 664
},
{
"name": "dwNetworkGameClient_isBackgroundMap",
"value": 2626727
},
{
"name": "dwNetworkGameClient_localPlayer",
"value": 264
},
{
"name": "dwNetworkGameClient_maxClients",
"value": 656
},
{
"name": "dwNetworkGameClient_serverTickCount",
"value": 388
},
{
"name": "dwNetworkGameClient_signOnState",
"value": 640
},
{
"name": "dwWindowHeight",
"value": 7984324
},
{
"name": "dwWindowWidth",
"value": 7984320
}
],
"libinputsystem.so": [
{
"name": "dwInputSystem",
"value": 266592
}
],
"libmatchmaking.so": [
{
"name": "dwGameTypes",
"value": 3367072
},
{
"name": "dwGameTypes_mapName",
"value": 3367360
}
]
} }

View File

@@ -1,54 +1,51 @@
// Generated using https://github.com/a2x/cs2-dumper // Generated using https://github.com/a2x/cs2-dumper
// 2024-05-24 10:58:30.509826500 UTC // 2024-07-22 10:50:13.060719885 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 = 0x1A0D080; pub const dwCSGOInput: usize = 0x38FD6C0;
pub const dwEntityList: usize = 0x19A3328; pub const dwEntityList: usize = 0x37601C8;
pub const dwGameEntitySystem: usize = 0x1AC2018; pub const dwGameEntitySystem: usize = 0x3A28720;
pub const dwGameEntitySystem_getHighestEntityIndex: usize = 0x1510; pub const dwGameEntitySystem_highestEntityIndex: usize = 0x1540;
pub const dwGameRules: usize = 0x1A00D08; pub const dwGameRules: usize = 0x38F0840;
pub const dwGlobalVars: usize = 0x1801BF0; pub const dwGlobalVars: usize = 0x371F0B8;
pub const dwGlowManager: usize = 0x1A00420; pub const dwGlowManager: usize = 0x38F0750;
pub const dwLocalPlayerController: usize = 0x19F3298; pub const dwLocalPlayerController: usize = 0x38D58B8;
pub const dwLocalPlayerPawn: usize = 0x180DB18; pub const dwLocalPlayerPawn: usize = 0x38F6508;
pub const dwPlantedC4: usize = 0x1A0A3F8; pub const dwPlantedC4: usize = 0x390A758;
pub const dwPrediction: usize = 0x180D9D0; pub const dwPrediction: usize = 0x38F63C0;
pub const dwSensitivity: usize = 0x1A019B8; pub const dwSensitivity: usize = 0x38F4888;
pub const dwSensitivity_sensitivity: usize = 0x40; pub const dwSensitivity_sensitivity: usize = 0x40;
pub const dwViewAngles: usize = 0x1A12498; pub const dwViewAngles: usize = 0x3902AE8;
pub const dwViewMatrix: usize = 0x1A052D0; pub const dwViewMatrix: usize = 0x38F6D60;
pub const dwViewRender: usize = 0x1A05AE0; pub const dwViewRender: usize = 0x38F6F10;
pub const dwWeaponC4: usize = 0x19A71B0;
} }
// Module: engine2.dll // Module: libengine2.so
pub mod engine2_dll { pub mod libengine2_so {
pub const dwBuildNumber: usize = 0x51E784; pub const dwBuildNumber: usize = 0x793914;
pub const dwEngineViewData: usize = 0x5DA9DC; pub const dwNetworkGameClient: usize = 0x7942E8;
pub const dwNetworkGameClient: usize = 0x51DB58; pub const dwNetworkGameClient_clientTickCount: usize = 0x188;
pub const dwNetworkGameClient_clientTickCount: usize = 0x178; pub const dwNetworkGameClient_deltaTick: usize = 0x298;
pub const dwNetworkGameClient_deltaTick: usize = 0x278; pub const dwNetworkGameClient_isBackgroundMap: usize = 0x2814A7;
pub const dwNetworkGameClient_isBackgroundMap: usize = 0x28145F; pub const dwNetworkGameClient_localPlayer: usize = 0x108;
pub const dwNetworkGameClient_localPlayer: usize = 0xF0; pub const dwNetworkGameClient_maxClients: usize = 0x290;
pub const dwNetworkGameClient_maxClients: usize = 0x270; pub const dwNetworkGameClient_serverTickCount: usize = 0x184;
pub const dwNetworkGameClient_serverTickCount: usize = 0x174; pub const dwNetworkGameClient_signOnState: usize = 0x280;
pub const dwNetworkGameClient_signOnState: usize = 0x260; pub const dwWindowHeight: usize = 0x79D4C4;
pub const dwSoundService: usize = 0x5DA940; pub const dwWindowWidth: usize = 0x79D4C0;
pub const dwWindowHeight: usize = 0x5DE2B4;
pub const dwWindowWidth: usize = 0x5DE2B0;
} }
// Module: inputsystem.dll // Module: libinputsystem.so
pub mod inputsystem_dll { pub mod libinputsystem_so {
pub const dwInputSystem: usize = 0x387D0; pub const dwInputSystem: usize = 0x41160;
} }
// Module: matchmaking.dll // Module: libmatchmaking.so
pub mod matchmaking_dll { pub mod libmatchmaking_so {
pub const dwGameTypes: usize = 0x1D2290; pub const dwGameTypes: usize = 0x3360A0;
pub const dwGameTypes_mapName: usize = 0x1D23B0; pub const dwGameTypes_mapName: usize = 0x3361C0;
} }
} }
} }

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 8B 15 ? ? ? ? 48 89 83 ? ? ? ? 48 85 D2")
.scan(&buf)
.and_then(|result| process.read_addr64_rip(module.base + result).ok())
.ok_or_else(|| 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,150 +1,266 @@
use std::collections::BTreeMap; use std::collections::BTreeMap;
use std::mem;
use std::str::FromStr;
use log::{debug, error}; 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) {
error!("unable to find pattern: {}", name);
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!("488d0d${'} e8${} 488d05${} 48c705[8] 488905${} 488d0d${} 488d05") => Some(|view, map, rva| {
let mut save = [0; 2];
if view.scanner().finds_code(pattern!("f2410f108430u4"), &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!("48891d${'} ff15${} 84c0") => None,
"dwGlobalVars" => pattern!("48890d${'} 488941") => None,
"dwGlowManager" => pattern!("488b05${'} c3 cccccccccccccccc 8b41") => None,
"dwLocalPlayerController" => pattern!("488905${'} 8b9e") => None,
"dwPlantedC4" => pattern!("488b15${'} 41ffc0") => None,
"dwPrediction" => pattern!("488d05${'} c3 cccccccccccccccc 4883ec? 8b0d") => Some(|_view, map, rva| {
map.insert("dwLocalPlayerPawn".to_string(), rva + 0x148);
}),
"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${} 488bc6 488934ea 488b6c24? c686[5] 80be") => None,
},
engine2 => {
"dwBuildNumber" => pattern!("8905${'} 488d0d${} ff15${}") => None,
"dwNetworkGameClient" => pattern!("48893d${'} 488d15") => None,
"dwNetworkGameClient_clientTickCount" => pattern!("8b81u4 c3 cccccccccccccccccc 8b81${} c3 cccccccccccccccccc 83b9") => None,
"dwNetworkGameClient_deltaTick" => pattern!("8983u4 40b7") => None,
"dwNetworkGameClient_isBackgroundMap" => pattern!("0fb681u4 c3 cccccccccccccccc 0fb681${} c3 cccccccccccccccc 48895c24") => None,
"dwNetworkGameClient_localPlayer" => pattern!("4883c0u1 488d0440 8b0cc1") => Some(|_view, map, rva| {
// .text 48 83 C0 0A | add rax, 0Ah
// .text 48 8D 04 40 | lea rax, [rax + rax * 2]
// .text 8B 0C C1 | mov ecx, [rcx + rax * 8]
map.insert("dwNetworkGameClient_localPlayer".to_string(), (rva + (rva * 2)) * 8);
}),
"dwNetworkGameClient_maxClients" => pattern!("8b81u4 c3cccccccccccccccccc 8b81${} ffc0") => None,
"dwNetworkGameClient_serverTickCount" => pattern!("8b81u4 c3 cccccccccccccccccc 83b9") => None,
"dwNetworkGameClient_signOnState" => pattern!("448b81u4 488d0d") => None,
"dwSoundService" => pattern!("488905${'} 4c8d4424? 488d05") => Some(|_view, map, rva| {
map.insert("dwEngineViewData".to_string(), rva + 0x9C);
}),
"dwWindowHeight" => pattern!("8b05${'} 8903") => None,
"dwWindowWidth" => pattern!("8b05${'} 8907") => None,
},
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()
.map_or_else(|_| result.to_umem() as u32, |v| v);
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,7 +84,7 @@ 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();
@@ -118,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,
@@ -144,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() {
@@ -178,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 {
@@ -226,17 +225,17 @@ fn read_enum_binding(
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,
}) })
} }
@@ -249,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();
@@ -263,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_else(|| 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${'} 4c8d0d${} 0fb645? 4c8d45? 33f6"),
&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"));
@@ -319,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

@@ -53,7 +53,7 @@ impl CodeWriter for Vec<Button> {
BTreeMap::from_iter([("client.dll", buttons)]) BTreeMap::from_iter([("client.dll", buttons)])
}; };
fmt.write_str(&serde_json::to_string_pretty(&content).expect("unable to serialize json")) fmt.write_str(&serde_json::to_string_pretty(&content).expect("failed to serialize"))
} }
fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result { fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result {

View File

@@ -15,7 +15,6 @@ impl<'a> Formatter<'a> {
} }
} }
// TODO: Refactor this.
pub fn block<F>(&mut self, heading: &str, semicolon: bool, f: F) -> fmt::Result pub fn block<F>(&mut self, heading: &str, semicolon: bool, f: F) -> fmt::Result
where where
F: FnOnce(&mut Self) -> fmt::Result, F: FnOnce(&mut Self) -> fmt::Result,
@@ -42,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);

View File

@@ -76,7 +76,7 @@ impl CodeWriter for InterfaceMap {
}) })
.collect(); .collect();
fmt.write_str(&serde_json::to_string_pretty(&content).expect("unable to serialize json")) fmt.write_str(&serde_json::to_string_pretty(&content).expect("failed to serialize"))
} }
fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result { fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result {

View File

@@ -135,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(())
@@ -55,7 +63,7 @@ impl CodeWriter for OffsetMap {
} }
fn write_json(&self, fmt: &mut Formatter<'_>) -> fmt::Result { fn write_json(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
fmt.write_str(&serde_json::to_string_pretty(self).expect("unable to serialize json")) fmt.write_str(&serde_json::to_string_pretty(self).expect("failed to serialize"))
} }
fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result { fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
@@ -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

@@ -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

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