37 Commits

Author SHA1 Message Date
a2x
09413db57a Handle empty names and duplicate values in Rust generator 2024-05-24 21:09:25 +10:00
a2x
3f6c894097 Fix for latest game update 2024-05-24 11:30:54 +10:00
a2x
dd7299729a Add patterns for other fields in CNetworkGameClient 2024-05-24 10:26:56 +10:00
a2x
23b77e0347 Game update (14009) 2024-05-24 09:12:27 +10:00
a2x
84f5a7320b Game update (14008) 2024-05-10 09:31:00 +10:00
a2x
22d64f0c27 Game update (14006) 2024-05-08 13:46:35 +10:00
a2x
bf2ebb716f Show error message if pattern wasn't found 2024-05-08 13:45:58 +10:00
a2x
80724bf971 Merge pull request #147 from cycript/main
add pattern for ``CSoundService`` and ``EngineViewData``
2024-05-04 08:27:24 +10:00
cycript
e76b9c8aad add pattern for `CSoundService and EngineViewData` 2024-05-03 19:32:47 +05:30
a2x
256eaaa6c5 Game update (14005) (4) 2024-05-03 10:13:36 +10:00
a2x
90370a55e9 Game update (14005) (3) 2024-05-02 11:14:07 +10:00
a2x
ad9f1d6b9f Game update (14005) (2) 2024-05-01 10:28:09 +10:00
a2x
b0218519b5 Game update (14005) 2024-04-27 10:05:34 +10:00
a2x
96b0942a47 Game update (14004) 2024-04-26 14:16:36 +10:00
a2x
b51645de1b Game update (14003) 2024-04-23 20:43:14 +10:00
a2x
22fd5f79e6 Update README.md 2024-04-21 00:39:34 +10:00
a2x
d0c40c50cd Reorganize schema system structures into separate files 2024-04-21 00:33:24 +10:00
a2x
13b764854e Refactor argument parsing logic 2024-04-21 00:30:00 +10:00
a2x
bda7f86ef3 Game update (14002) 2024-04-17 18:48:13 +10:00
a2x
48de6c8005 Update README.md 2024-04-16 12:39:03 +10:00
a2x
80334adade Add pattern for dwWeaponC4 2024-04-10 11:20:31 +10:00
a2x
9b8bd68308 Update memory pool size calculation 2024-04-10 10:52:56 +10:00
a2x
1059075dda Fix recursion bug when reading parent class 2024-04-10 02:15:48 +10:00
a2x
8b1ecb7afb Refactor code writer and fix minor things
Also added the ability to specify which files should be generated based on their file type.

E.g. `cs2-dumper.exe -f hpp,json`
2024-04-10 01:11:25 +10:00
a2x
541f4acf1d Update rustfmt.toml 2024-04-09 20:42:12 +10:00
a2x
05656b4f0b Rename IsNull trait to PointerExt
This allows for more pointer extension methods to be added in the future.
2024-04-09 13:10:58 +10:00
a2x
4cdfd6c4a6 Update generated files 2024-04-08 17:13:48 +10:00
a2x
4944a3a630 Avoid generating files for empty modules 2024-04-07 18:23:52 +10:00
a2x
9f37324266 Fix for enum values that could be out of range for their datatype 2024-04-07 15:35:48 +10:00
a2x
7c9d594ca6 Fix issue causing missing schema entries 2024-04-07 03:26:07 +10:00
a2x
6d72c517ed Fix small naming inconsistencies 2024-04-06 12:47:06 +10:00
a2x
a59331af1f Remove bitflags dependency 2024-04-06 03:21:40 +10:00
a2x
ce0fb918ab Improve schema parsing 2024-04-06 03:20:54 +10:00
a2x
efe4775dc0 Merge pull request #108 from Txreq/escapeuse
Add token escaping for Rust output `r#use`
2024-04-05 00:43:39 +10:00
a2x
9362b0c113 Experimental fix for latest update 2024-04-04 23:42:40 +10:00
Txreq
c75480be3e Add token escaping for Rust output r#use 2024-04-04 07:38:06 +02:00
a2x
3a935f5d73 Refactor and move Linux code to separate branch 2024-04-03 03:13:57 +11:00
110 changed files with 36395 additions and 35954 deletions

View File

@@ -14,11 +14,10 @@ heck = "0.5"
log = "0.4"
memflow = "0.2"
memflow-native = { git = "https://github.com/memflow/memflow-native" }
pelite = "0.10"
phf = { version = "0.11", features = ["macros"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
skidscan = "2.0"
skidscan-macros = "0.1"
simplelog = "0.12"
thiserror = "1.0"

View File

@@ -1,8 +1,8 @@
# cs2-dumper
An external Counter-Strike 2 offset/interface dumper for Linux.
An external offset/interface dumper for Counter-Strike 2, with support for both Windows & Linux. Powered by [memflow](https://github.com/memflow/memflow).
**Note:** This branch will likely not be kept up-to-date by myself. Pull requests are welcome!
The native Linux version is available in the [linux](https://github.com/a2x/cs2-dumper/tree/linux) branch.
## Getting Started
@@ -13,21 +13,24 @@ toolchain must be installed.
## Usage
1. Ensure the game process is running (Being in the main menu should suffice).
2. Run the `cs2-dumper` executable.
2. Run the `cs2-dumper` executable (Note that some memflow connectors may require elevated privileges).
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
- `-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`.
- `-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`.
- `-p, --process-name <process-name>`: The name of the game process. Default: `cs2.exe`.
- `-v...`: Increase logging verbosity. Can be specified multiple times.
- `-h, --help`: Print help.
- `-V, --version`: Print version.
## Running Tests
To run tests, use the following command: `cargo test -- --nocapture`.
## License
Licensed under the MIT license ([LICENSE](./LICENSE)).

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
{
"libanimationsystem.so": {
"animationsystem.dll": {
"classes": {
"AimCameraOpFixedSettings_t": {
"fields": {
@@ -207,8 +207,8 @@
},
"AnimationSnapshot_t": {
"fields": {
"m_modelName": 272,
"m_nEntIndex": 264
"m_modelName": 280,
"m_nEntIndex": 272
},
"metadata": [
{
@@ -274,11 +274,11 @@
},
"CAddUpdateNode": {
"fields": {
"m_bApplyChannelsSeparately": 141,
"m_bApplyScale": 143,
"m_bApplyToFootMotion": 140,
"m_bUseModelSpace": 142,
"m_footMotionTiming": 136
"m_bApplyChannelsSeparately": 145,
"m_bApplyScale": 147,
"m_bApplyToFootMotion": 144,
"m_bUseModelSpace": 146,
"m_footMotionTiming": 140
},
"metadata": [
{
@@ -1017,8 +1017,8 @@
"CAnimUpdateNodeBase": {
"fields": {
"m_name": 80,
"m_networkMode": 68,
"m_nodePath": 20
"m_networkMode": 72,
"m_nodePath": 24
},
"metadata": [
{
@@ -1173,13 +1173,13 @@
},
"CAnimationGroup": {
"fields": {
"m_decodeKey": 144,
"m_directHSeqGroup_Handle": 136,
"m_includedGroupArray_Handle": 112,
"m_localHAnimArray_Handle": 88,
"m_nFlags": 12,
"m_name": 16,
"m_szScripts": 264
"m_decodeKey": 152,
"m_directHSeqGroup_Handle": 144,
"m_includedGroupArray_Handle": 120,
"m_localHAnimArray_Handle": 96,
"m_nFlags": 16,
"m_name": 24,
"m_szScripts": 272
},
"metadata": [
{
@@ -1452,13 +1452,13 @@
},
"CBoneMaskUpdateNode": {
"fields": {
"m_bUseBlendScale": 152,
"m_blendSpace": 144,
"m_blendValueSource": 156,
"m_flRootMotionBlend": 140,
"m_footMotionTiming": 148,
"m_hBlendParameter": 160,
"m_nWeightListIndex": 136
"m_bUseBlendScale": 156,
"m_blendSpace": 148,
"m_blendValueSource": 160,
"m_flRootMotionBlend": 144,
"m_footMotionTiming": 152,
"m_hBlendParameter": 164,
"m_nWeightListIndex": 140
},
"metadata": [
{
@@ -1494,7 +1494,7 @@
},
"CBoolAnimParameter": {
"fields": {
"m_bDefaultValue": 120
"m_bDefaultValue": 128
},
"metadata": [
{
@@ -1610,12 +1610,12 @@
},
"CConcreteAnimParameter": {
"fields": {
"m_bAutoReset": 117,
"m_bGameWritable": 118,
"m_bGraphWritable": 119,
"m_bUseMostRecentValue": 116,
"m_eNetworkSetting": 112,
"m_previewButton": 108
"m_bAutoReset": 121,
"m_bGameWritable": 122,
"m_bGraphWritable": 123,
"m_bUseMostRecentValue": 120,
"m_eNetworkSetting": 116,
"m_previewButton": 112
},
"metadata": [
{
@@ -1721,13 +1721,13 @@
},
"CDampedPathAnimMotorUpdater": {
"fields": {
"m_flAnticipationTime": 32,
"m_flMaxSpringTension": 52,
"m_flMinSpeedScale": 36,
"m_flMinSpringTension": 48,
"m_flSpringConstant": 44,
"m_hAnticipationHeadingParam": 42,
"m_hAnticipationPosParam": 40
"m_flAnticipationTime": 44,
"m_flMaxSpringTension": 64,
"m_flMinSpeedScale": 48,
"m_flMinSpringTension": 60,
"m_flSpringConstant": 56,
"m_hAnticipationHeadingParam": 54,
"m_hAnticipationPosParam": 52
},
"metadata": [
{
@@ -1878,9 +1878,9 @@
},
"CEnumAnimParameter": {
"fields": {
"m_defaultValue": 128,
"m_enumOptions": 136,
"m_vecEnumReferenced": 160
"m_defaultValue": 136,
"m_enumOptions": 144,
"m_vecEnumReferenced": 168
},
"metadata": [
{
@@ -1963,10 +1963,10 @@
},
"CFloatAnimParameter": {
"fields": {
"m_bInterpolate": 132,
"m_fDefaultValue": 120,
"m_fMaxValue": 128,
"m_fMinValue": 124
"m_bInterpolate": 140,
"m_fDefaultValue": 128,
"m_fMaxValue": 136,
"m_fMinValue": 132
},
"metadata": [
{
@@ -2302,7 +2302,7 @@
},
"CHandshakeAnimTagBase": {
"fields": {
"m_bIsDisableTag": 73
"m_bIsDisableTag": 80
},
"metadata": [
{
@@ -2394,9 +2394,9 @@
},
"CIntAnimParameter": {
"fields": {
"m_defaultValue": 120,
"m_maxValue": 128,
"m_minValue": 124
"m_defaultValue": 128,
"m_maxValue": 136,
"m_minValue": 132
},
"metadata": [
{
@@ -2424,14 +2424,14 @@
},
"CJumpHelperUpdateNode": {
"fields": {
"m_bScaleSpeed": 195,
"m_bTranslationAxis": 192,
"m_eCorrectionMethod": 188,
"m_flJumpEndCycle": 184,
"m_flJumpStartCycle": 180,
"m_flOriginalJumpDuration": 176,
"m_flOriginalJumpMovement": 164,
"m_hTargetParam": 161
"m_bScaleSpeed": 203,
"m_bTranslationAxis": 200,
"m_eCorrectionMethod": 196,
"m_flJumpEndCycle": 192,
"m_flJumpStartCycle": 188,
"m_flOriginalJumpDuration": 184,
"m_flOriginalJumpMovement": 172,
"m_hTargetParam": 168
},
"metadata": [
{
@@ -2837,8 +2837,8 @@
"m_FlexRules": 128,
"m_bundleTypes": 24,
"m_morphDatas": 48,
"m_nHeight": 16,
"m_nWidth": 12,
"m_nHeight": 20,
"m_nWidth": 16,
"m_pTextureAtlas": 72
},
"metadata": [
@@ -3125,7 +3125,7 @@
},
"CNmChildGraphNode__CDefinition": {
"fields": {
"m_nChildGraphIdx": 10
"m_nChildGraphIdx": 16
},
"metadata": [
{
@@ -3157,11 +3157,11 @@
},
"CNmClipNode__CDefinition": {
"fields": {
"m_bAllowLooping": 15,
"m_bSampleRootMotion": 14,
"m_nDataSlotIdx": 16,
"m_nPlayInReverseValueNodeIdx": 10,
"m_nResetTimeValueNodeIdx": 12
"m_bAllowLooping": 21,
"m_bSampleRootMotion": 20,
"m_nDataSlotIdx": 22,
"m_nPlayInReverseValueNodeIdx": 16,
"m_nResetTimeValueNodeIdx": 18
},
"metadata": [
{
@@ -3375,9 +3375,9 @@
},
"CNmLayerBlendNode__CDefinition": {
"fields": {
"m_bOnlySampleBaseRootMotion": 12,
"m_layerDefinition": 16,
"m_nBaseNodeIdx": 10
"m_bOnlySampleBaseRootMotion": 18,
"m_layerDefinition": 24,
"m_nBaseNodeIdx": 16
},
"metadata": [
{
@@ -3418,7 +3418,7 @@
},
"CNmPassthroughNode__CDefinition": {
"fields": {
"m_nChildNodeIdx": 10
"m_nChildNodeIdx": 16
},
"metadata": [
{
@@ -3511,16 +3511,16 @@
},
"CNmStateNode__CDefinition": {
"fields": {
"m_bIsOffState": 166,
"m_entryEvents": 16,
"m_executeEvents": 48,
"m_exitEvents": 80,
"m_nChildNodeIdx": 10,
"m_nLayerBoneMaskNodeIdx": 164,
"m_nLayerRootMotionWeightNodeIdx": 162,
"m_nLayerWeightNodeIdx": 160,
"m_timedElapsedEvents": 136,
"m_timedRemainingEvents": 112
"m_bIsOffState": 174,
"m_entryEvents": 24,
"m_executeEvents": 56,
"m_exitEvents": 88,
"m_nChildNodeIdx": 16,
"m_nLayerBoneMaskNodeIdx": 172,
"m_nLayerRootMotionWeightNodeIdx": 170,
"m_nLayerWeightNodeIdx": 168,
"m_timedElapsedEvents": 144,
"m_timedRemainingEvents": 120
},
"metadata": [
{
@@ -3620,17 +3620,17 @@
},
"CNmTransitionNode__CDefinition": {
"fields": {
"m_blendWeightEasing": 36,
"m_boneMaskBlendInTimePercentage": 24,
"m_durationOverrideNodeIdx": 12,
"m_flDuration": 20,
"m_rootMotionBlend": 37,
"m_startBoneMaskNodeIdx": 16,
"m_syncEventOffset": 28,
"m_syncEventOffsetOverrideNodeIdx": 14,
"m_targetCNmStateNodeIdx": 10,
"m_targetSyncIDNodeIdx": 34,
"m_transitionOptions": 32
"m_blendWeightEasing": 40,
"m_boneMaskBlendInTimePercentage": 28,
"m_durationOverrideNodeIdx": 18,
"m_flDuration": 24,
"m_rootMotionBlend": 41,
"m_startBoneMaskNodeIdx": 22,
"m_syncEventOffset": 32,
"m_syncEventOffsetOverrideNodeIdx": 20,
"m_targetCNmStateNodeIdx": 16,
"m_targetSyncIDNodeIdx": 38,
"m_transitionOptions": 36
},
"metadata": [
{
@@ -3652,7 +3652,7 @@
},
"CNmVirtualParameterBoneMaskNode__CDefinition": {
"fields": {
"m_nChildNodeIdx": 10
"m_nChildNodeIdx": 16
},
"metadata": [
{
@@ -3664,7 +3664,7 @@
},
"CNmVirtualParameterBoolNode__CDefinition": {
"fields": {
"m_nChildNodeIdx": 10
"m_nChildNodeIdx": 16
},
"metadata": [
{
@@ -3676,7 +3676,7 @@
},
"CNmVirtualParameterFloatNode__CDefinition": {
"fields": {
"m_nChildNodeIdx": 10
"m_nChildNodeIdx": 16
},
"metadata": [
{
@@ -3688,7 +3688,7 @@
},
"CNmVirtualParameterIDNode__CDefinition": {
"fields": {
"m_nChildNodeIdx": 10
"m_nChildNodeIdx": 16
},
"metadata": [
{
@@ -3700,7 +3700,7 @@
},
"CNmVirtualParameterTargetNode__CDefinition": {
"fields": {
"m_nChildNodeIdx": 10
"m_nChildNodeIdx": 16
},
"metadata": [
{
@@ -3712,7 +3712,7 @@
},
"CNmVirtualParameterVectorNode__CDefinition": {
"fields": {
"m_nChildNodeIdx": 10
"m_nChildNodeIdx": 16
},
"metadata": [
{
@@ -3791,7 +3791,7 @@
},
"CPathAnimMotorUpdaterBase": {
"fields": {
"m_bLockToPath": 25
"m_bLockToPath": 32
},
"metadata": [
{
@@ -4757,10 +4757,10 @@
},
"CSubtractUpdateNode": {
"fields": {
"m_bApplyChannelsSeparately": 141,
"m_bApplyToFootMotion": 140,
"m_bUseModelSpace": 142,
"m_footMotionTiming": 136
"m_bApplyChannelsSeparately": 145,
"m_bApplyToFootMotion": 144,
"m_bUseModelSpace": 146,
"m_footMotionTiming": 140
},
"metadata": [
{
@@ -4772,7 +4772,7 @@
},
"CSymbolAnimParameter": {
"fields": {
"m_defaultValue": 120
"m_defaultValue": 128
},
"metadata": [
{
@@ -4939,8 +4939,8 @@
},
"CVectorAnimParameter": {
"fields": {
"m_bInterpolate": 132,
"m_defaultValue": 120
"m_bInterpolate": 140,
"m_defaultValue": 128
},
"metadata": [
{

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libanimationsystem.so
// Module: animationsystem.dll
// Classes count: 401
// Enums count: 77
pub mod libanimationsystem_so {
pub mod animationsystem_dll {
// Alignment: 4
// Members count: 17
#[repr(u32)]
@@ -930,9 +930,9 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MPropertyFriendlyName
pub mod CIntAnimParameter {
pub const m_defaultValue: usize = 0x78; // int32
pub const m_minValue: usize = 0x7C; // int32
pub const m_maxValue: usize = 0x80; // int32
pub const m_defaultValue: usize = 0x80; // int32
pub const m_minValue: usize = 0x84; // int32
pub const m_maxValue: usize = 0x88; // int32
}
// Parent: CNmEvent
// Fields count: 1
@@ -1119,7 +1119,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmPassthroughNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_nChildNodeIdx: usize = 0x10; // int16
}
// Parent: None
// Fields count: 2
@@ -1262,8 +1262,8 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod AnimationSnapshot_t {
pub const m_nEntIndex: usize = 0x108; // int32
pub const m_modelName: usize = 0x110; // CUtlString
pub const m_nEntIndex: usize = 0x110; // int32
pub const m_modelName: usize = 0x118; // CUtlString
}
// Parent: CNmValueNode__CDefinition
// Fields count: 0
@@ -1291,7 +1291,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmVirtualParameterTargetNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_nChildNodeIdx: usize = 0x10; // int16
}
// Parent: None
// Fields count: 5
@@ -1312,8 +1312,8 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MPropertyFriendlyName
pub mod CVectorAnimParameter {
pub const m_defaultValue: usize = 0x78; // Vector
pub const m_bInterpolate: usize = 0x84; // bool
pub const m_defaultValue: usize = 0x80; // Vector
pub const m_bInterpolate: usize = 0x8C; // bool
}
// Parent: None
// Fields count: 3
@@ -1351,17 +1351,17 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmTransitionNode__CDefinition {
pub const m_targetCNmStateNodeIdx: usize = 0xA; // int16
pub const m_durationOverrideNodeIdx: usize = 0xC; // int16
pub const m_syncEventOffsetOverrideNodeIdx: usize = 0xE; // int16
pub const m_startBoneMaskNodeIdx: usize = 0x10; // int16
pub const m_flDuration: usize = 0x14; // float32
pub const m_boneMaskBlendInTimePercentage: usize = 0x18; // NmPercent_t
pub const m_syncEventOffset: usize = 0x1C; // float32
pub const m_transitionOptions: usize = 0x20; // CNmTransitionNode::TransitionOptions_t
pub const m_targetSyncIDNodeIdx: usize = 0x22; // int16
pub const m_blendWeightEasing: usize = 0x24; // NmEasingOperation_t
pub const m_rootMotionBlend: usize = 0x25; // NmRootMotionBlendMode_t
pub const m_targetCNmStateNodeIdx: usize = 0x10; // int16
pub const m_durationOverrideNodeIdx: usize = 0x12; // int16
pub const m_syncEventOffsetOverrideNodeIdx: usize = 0x14; // int16
pub const m_startBoneMaskNodeIdx: usize = 0x16; // int16
pub const m_flDuration: usize = 0x18; // float32
pub const m_boneMaskBlendInTimePercentage: usize = 0x1C; // NmPercent_t
pub const m_syncEventOffset: usize = 0x20; // float32
pub const m_transitionOptions: usize = 0x24; // CNmTransitionNode::TransitionOptions_t
pub const m_targetSyncIDNodeIdx: usize = 0x26; // int16
pub const m_blendWeightEasing: usize = 0x28; // NmEasingOperation_t
pub const m_rootMotionBlend: usize = 0x29; // NmRootMotionBlendMode_t
}
// Parent: None
// Fields count: 7
@@ -1566,7 +1566,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmVirtualParameterFloatNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_nChildNodeIdx: usize = 0x10; // int16
}
// Parent: None
// Fields count: 8
@@ -1847,13 +1847,13 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CDampedPathAnimMotorUpdater {
pub const m_flAnticipationTime: usize = 0x20; // float32
pub const m_flMinSpeedScale: usize = 0x24; // float32
pub const m_hAnticipationPosParam: usize = 0x28; // CAnimParamHandle
pub const m_hAnticipationHeadingParam: usize = 0x2A; // CAnimParamHandle
pub const m_flSpringConstant: usize = 0x2C; // float32
pub const m_flMinSpringTension: usize = 0x30; // float32
pub const m_flMaxSpringTension: usize = 0x34; // float32
pub const m_flAnticipationTime: usize = 0x2C; // float32
pub const m_flMinSpeedScale: usize = 0x30; // float32
pub const m_hAnticipationPosParam: usize = 0x34; // CAnimParamHandle
pub const m_hAnticipationHeadingParam: usize = 0x36; // CAnimParamHandle
pub const m_flSpringConstant: usize = 0x38; // float32
pub const m_flMinSpringTension: usize = 0x3C; // float32
pub const m_flMaxSpringTension: usize = 0x40; // float32
}
// Parent: CModelConfigElement
// Fields count: 1
@@ -1869,7 +1869,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmVirtualParameterBoneMaskNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_nChildNodeIdx: usize = 0x10; // int16
}
// Parent: CUnaryUpdateNode
// Fields count: 2
@@ -2027,16 +2027,16 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmStateNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_entryEvents: usize = 0x10; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_executeEvents: usize = 0x30; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_exitEvents: usize = 0x50; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_timedRemainingEvents: usize = 0x70; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
pub const m_timedElapsedEvents: usize = 0x88; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
pub const m_nLayerWeightNodeIdx: usize = 0xA0; // int16
pub const m_nLayerRootMotionWeightNodeIdx: usize = 0xA2; // int16
pub const m_nLayerBoneMaskNodeIdx: usize = 0xA4; // int16
pub const m_bIsOffState: usize = 0xA6; // bool
pub const m_nChildNodeIdx: usize = 0x10; // int16
pub const m_entryEvents: usize = 0x18; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_executeEvents: usize = 0x38; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_exitEvents: usize = 0x58; // CUtlLeanVectorFixedGrowable<CGlobalSymbol>
pub const m_timedRemainingEvents: usize = 0x78; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
pub const m_timedElapsedEvents: usize = 0x90; // CUtlLeanVectorFixedGrowable<CNmStateNode::TimedEvent_t>
pub const m_nLayerWeightNodeIdx: usize = 0xA8; // int16
pub const m_nLayerRootMotionWeightNodeIdx: usize = 0xAA; // int16
pub const m_nLayerBoneMaskNodeIdx: usize = 0xAC; // int16
pub const m_bIsOffState: usize = 0xAE; // bool
}
// Parent: CNmVectorValueNode__CDefinition
// Fields count: 1
@@ -2044,7 +2044,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmVirtualParameterVectorNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_nChildNodeIdx: usize = 0x10; // int16
}
// Parent: CMotionMetricEvaluator
// Fields count: 1
@@ -2244,11 +2244,11 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmClipNode__CDefinition {
pub const m_nPlayInReverseValueNodeIdx: usize = 0xA; // int16
pub const m_nResetTimeValueNodeIdx: usize = 0xC; // int16
pub const m_bSampleRootMotion: usize = 0xE; // bool
pub const m_bAllowLooping: usize = 0xF; // bool
pub const m_nDataSlotIdx: usize = 0x10; // int16
pub const m_nPlayInReverseValueNodeIdx: usize = 0x10; // int16
pub const m_nResetTimeValueNodeIdx: usize = 0x12; // int16
pub const m_bSampleRootMotion: usize = 0x14; // bool
pub const m_bAllowLooping: usize = 0x15; // bool
pub const m_nDataSlotIdx: usize = 0x16; // int16
}
// Parent: CAnimParameterBase
// Fields count: 6
@@ -2256,12 +2256,12 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CConcreteAnimParameter {
pub const m_previewButton: usize = 0x6C; // AnimParamButton_t
pub const m_eNetworkSetting: usize = 0x70; // AnimParamNetworkSetting
pub const m_bUseMostRecentValue: usize = 0x74; // bool
pub const m_bAutoReset: usize = 0x75; // bool
pub const m_bGameWritable: usize = 0x76; // bool
pub const m_bGraphWritable: usize = 0x77; // bool
pub const m_previewButton: usize = 0x70; // AnimParamButton_t
pub const m_eNetworkSetting: usize = 0x74; // AnimParamNetworkSetting
pub const m_bUseMostRecentValue: usize = 0x78; // bool
pub const m_bAutoReset: usize = 0x79; // bool
pub const m_bGameWritable: usize = 0x7A; // bool
pub const m_bGraphWritable: usize = 0x7B; // bool
}
// Parent: CModelConfigElement
// Fields count: 2
@@ -2449,7 +2449,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MPropertyFriendlyName
pub mod CSymbolAnimParameter {
pub const m_defaultValue: usize = 0x78; // CGlobalSymbol
pub const m_defaultValue: usize = 0x80; // CGlobalSymbol
}
// Parent: None
// Fields count: 4
@@ -2791,14 +2791,14 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CJumpHelperUpdateNode {
pub const m_hTargetParam: usize = 0xA1; // CAnimParamHandle
pub const m_flOriginalJumpMovement: usize = 0xA4; // Vector
pub const m_flOriginalJumpDuration: usize = 0xB0; // float32
pub const m_flJumpStartCycle: usize = 0xB4; // float32
pub const m_flJumpEndCycle: usize = 0xB8; // float32
pub const m_eCorrectionMethod: usize = 0xBC; // JumpCorrectionMethod
pub const m_bTranslationAxis: usize = 0xC0; // bool[3]
pub const m_bScaleSpeed: usize = 0xC3; // bool
pub const m_hTargetParam: usize = 0xA8; // CAnimParamHandle
pub const m_flOriginalJumpMovement: usize = 0xAC; // Vector
pub const m_flOriginalJumpDuration: usize = 0xB8; // float32
pub const m_flJumpStartCycle: usize = 0xBC; // float32
pub const m_flJumpEndCycle: usize = 0xC0; // float32
pub const m_eCorrectionMethod: usize = 0xC4; // JumpCorrectionMethod
pub const m_bTranslationAxis: usize = 0xC8; // bool[3]
pub const m_bScaleSpeed: usize = 0xCB; // bool
}
// Parent: CNmBoolValueNode__CDefinition
// Fields count: 0
@@ -3326,7 +3326,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CPathAnimMotorUpdaterBase {
pub const m_bLockToPath: usize = 0x19; // bool
pub const m_bLockToPath: usize = 0x20; // bool
}
// Parent: None
// Fields count: 7
@@ -3412,11 +3412,11 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CAddUpdateNode {
pub const m_footMotionTiming: usize = 0x88; // BinaryNodeChildOption
pub const m_bApplyToFootMotion: usize = 0x8C; // bool
pub const m_bApplyChannelsSeparately: usize = 0x8D; // bool
pub const m_bUseModelSpace: usize = 0x8E; // bool
pub const m_bApplyScale: usize = 0x8F; // bool
pub const m_footMotionTiming: usize = 0x8C; // BinaryNodeChildOption
pub const m_bApplyToFootMotion: usize = 0x90; // bool
pub const m_bApplyChannelsSeparately: usize = 0x91; // bool
pub const m_bUseModelSpace: usize = 0x92; // bool
pub const m_bApplyScale: usize = 0x93; // bool
}
// Parent: None
// Fields count: 1
@@ -3489,9 +3489,9 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MPropertyFriendlyName
pub mod CEnumAnimParameter {
pub const m_defaultValue: usize = 0x80; // uint8
pub const m_enumOptions: usize = 0x88; // CUtlVector<CUtlString>
pub const m_vecEnumReferenced: usize = 0xA0; // CUtlVector<uint64>
pub const m_defaultValue: usize = 0x88; // uint8
pub const m_enumOptions: usize = 0x90; // CUtlVector<CUtlString>
pub const m_vecEnumReferenced: usize = 0xA8; // CUtlVector<uint64>
}
// Parent: CAnimTagBase
// Fields count: 1
@@ -3499,7 +3499,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CHandshakeAnimTagBase {
pub const m_bIsDisableTag: usize = 0x49; // bool
pub const m_bIsDisableTag: usize = 0x50; // bool
}
// Parent: None
// Fields count: 1
@@ -3634,8 +3634,8 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CAnimUpdateNodeBase {
pub const m_nodePath: usize = 0x14; // CAnimNodePath
pub const m_networkMode: usize = 0x44; // AnimNodeNetworkMode
pub const m_nodePath: usize = 0x18; // CAnimNodePath
pub const m_networkMode: usize = 0x48; // AnimNodeNetworkMode
pub const m_name: usize = 0x50; // CUtlString
}
// Parent: CAnimActionUpdater
@@ -3710,8 +3710,8 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CMorphSetData {
pub const m_nWidth: usize = 0xC; // int32
pub const m_nHeight: usize = 0x10; // int32
pub const m_nWidth: usize = 0x10; // int32
pub const m_nHeight: usize = 0x14; // int32
pub const m_bundleTypes: usize = 0x18; // CUtlVector<MorphBundleType_t>
pub const m_morphDatas: usize = 0x30; // CUtlVector<CMorphData>
pub const m_pTextureAtlas: usize = 0x48; // CStrongHandle<InfoForResourceTypeCTextureBase>
@@ -3887,13 +3887,13 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CAnimationGroup {
pub const m_nFlags: usize = 0xC; // uint32
pub const m_name: usize = 0x10; // CBufferString
pub const m_localHAnimArray_Handle: usize = 0x58; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>>
pub const m_includedGroupArray_Handle: usize = 0x70; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
pub const m_directHSeqGroup_Handle: usize = 0x88; // CStrongHandle<InfoForResourceTypeCSequenceGroupData>
pub const m_decodeKey: usize = 0x90; // CAnimKeyData
pub const m_szScripts: usize = 0x108; // CUtlVector<CBufferString>
pub const m_nFlags: usize = 0x10; // uint32
pub const m_name: usize = 0x18; // CBufferString
pub const m_localHAnimArray_Handle: usize = 0x60; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimData>>
pub const m_includedGroupArray_Handle: usize = 0x78; // CUtlVector<CStrongHandle<InfoForResourceTypeCAnimationGroup>>
pub const m_directHSeqGroup_Handle: usize = 0x90; // CStrongHandle<InfoForResourceTypeCSequenceGroupData>
pub const m_decodeKey: usize = 0x98; // CAnimKeyData
pub const m_szScripts: usize = 0x110; // CUtlVector<CBufferString>
}
// Parent: None
// Fields count: 2
@@ -4376,10 +4376,10 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MPropertyFriendlyName
pub mod CFloatAnimParameter {
pub const m_fDefaultValue: usize = 0x78; // float32
pub const m_fMinValue: usize = 0x7C; // float32
pub const m_fMaxValue: usize = 0x80; // float32
pub const m_bInterpolate: usize = 0x84; // bool
pub const m_fDefaultValue: usize = 0x80; // float32
pub const m_fMinValue: usize = 0x84; // float32
pub const m_fMaxValue: usize = 0x88; // float32
pub const m_bInterpolate: usize = 0x8C; // bool
}
// Parent: None
// Fields count: 2
@@ -4625,9 +4625,9 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmLayerBlendNode__CDefinition {
pub const m_nBaseNodeIdx: usize = 0xA; // int16
pub const m_bOnlySampleBaseRootMotion: usize = 0xC; // bool
pub const m_layerDefinition: usize = 0x10; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t>
pub const m_nBaseNodeIdx: usize = 0x10; // int16
pub const m_bOnlySampleBaseRootMotion: usize = 0x12; // bool
pub const m_layerDefinition: usize = 0x18; // CUtlLeanVectorFixedGrowable<CNmLayerBlendNode::LayerDefinition_t>
}
// Parent: None
// Fields count: 2
@@ -4652,10 +4652,10 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CSubtractUpdateNode {
pub const m_footMotionTiming: usize = 0x88; // BinaryNodeChildOption
pub const m_bApplyToFootMotion: usize = 0x8C; // bool
pub const m_bApplyChannelsSeparately: usize = 0x8D; // bool
pub const m_bUseModelSpace: usize = 0x8E; // bool
pub const m_footMotionTiming: usize = 0x8C; // BinaryNodeChildOption
pub const m_bApplyToFootMotion: usize = 0x90; // bool
pub const m_bApplyChannelsSeparately: usize = 0x91; // bool
pub const m_bUseModelSpace: usize = 0x92; // bool
}
// Parent: None
// Fields count: 2
@@ -4700,13 +4700,13 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CBoneMaskUpdateNode {
pub const m_nWeightListIndex: usize = 0x88; // int32
pub const m_flRootMotionBlend: usize = 0x8C; // float32
pub const m_blendSpace: usize = 0x90; // BoneMaskBlendSpace
pub const m_footMotionTiming: usize = 0x94; // BinaryNodeChildOption
pub const m_bUseBlendScale: usize = 0x98; // bool
pub const m_blendValueSource: usize = 0x9C; // AnimValueSource
pub const m_hBlendParameter: usize = 0xA0; // CAnimParamHandle
pub const m_nWeightListIndex: usize = 0x8C; // int32
pub const m_flRootMotionBlend: usize = 0x90; // float32
pub const m_blendSpace: usize = 0x94; // BoneMaskBlendSpace
pub const m_footMotionTiming: usize = 0x98; // BinaryNodeChildOption
pub const m_bUseBlendScale: usize = 0x9C; // bool
pub const m_blendValueSource: usize = 0xA0; // AnimValueSource
pub const m_hBlendParameter: usize = 0xA4; // CAnimParamHandle
}
// Parent: CAnimUpdateNodeBase
// Fields count: 0
@@ -4805,7 +4805,7 @@ pub mod cs2_dumper {
// MGetKV3ClassDefaults
// MPropertyFriendlyName
pub mod CBoolAnimParameter {
pub const m_bDefaultValue: usize = 0x78; // bool
pub const m_bDefaultValue: usize = 0x80; // bool
}
// Parent: CAnimTagBase
// Fields count: 6
@@ -4864,7 +4864,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmChildGraphNode__CDefinition {
pub const m_nChildGraphIdx: usize = 0xA; // int16
pub const m_nChildGraphIdx: usize = 0x10; // int16
}
// Parent: None
// Fields count: 2
@@ -4881,7 +4881,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmVirtualParameterIDNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_nChildNodeIdx: usize = 0x10; // int16
}
// Parent: None
// Fields count: 5
@@ -5164,7 +5164,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CNmVirtualParameterBoolNode__CDefinition {
pub const m_nChildNodeIdx: usize = 0xA; // int16
pub const m_nChildNodeIdx: usize = 0x10; // int16
}
// Parent: CUnaryUpdateNode
// Fields count: 3

View File

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

View File

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

View File

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

View File

@@ -1,26 +1,26 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, unused)]
pub mod cs2_dumper {
// Module: client.dll
pub mod buttons {
pub const attack: usize = 0x38EF7F0;
pub const attack2: usize = 0x38EF750;
pub const back: usize = 0x38EF3D0;
pub const duck: usize = 0x38EEF30;
pub const forward: usize = 0x38EF470;
pub const jump: usize = 0x38EEFD0;
pub const left: usize = 0x38EF330;
pub const lookatweapon: usize = 0x3902CD0;
pub const reload: usize = 0x38EF890;
pub const right: usize = 0x38EF290;
pub const showscores: usize = 0x3902E10;
pub const sprint: usize = 0x38EF930;
pub const turnleft: usize = 0x38EF6B0;
pub const turnright: usize = 0x38EF610;
pub const r#use: usize = 0x38EF070;
pub const zoom: usize = 0x3902D70;
pub const attack: usize = 0x18067B0;
pub const attack2: usize = 0x1806840;
pub const back: usize = 0x1806A80;
pub const duck: usize = 0x1806D50;
pub const forward: usize = 0x18069F0;
pub const jump: usize = 0x1806CC0;
pub const left: usize = 0x1806B10;
pub const lookatweapon: usize = 0x1A0CFA0;
pub const reload: usize = 0x1806720;
pub const right: usize = 0x1806BA0;
pub const showscores: usize = 0x1A0CE80;
pub const sprint: usize = 0x1806690;
pub const turnleft: usize = 0x18068D0;
pub const turnright: usize = 0x1806960;
pub const r#use: usize = 0x1806C30;
pub const zoom: usize = 0x1A0CF10;
}
}

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
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libengine2.so
// Module: engine2.dll
// Classes count: 44
// Enums count: 4
public static class Libengine2So {
public static class Engine2Dll {
// Alignment: 4
// Members count: 3
public enum EntityDormancyType_t : uint {
@@ -51,10 +51,10 @@ namespace CS2Dumper.Schemas {
// Parent: EventSimulate_t
// Fields count: 4
public static class EventPostAdvanceTick_t {
public const nint m_nCurrentTick = 0x2C; // int32
public const nint m_nCurrentTickThisFrame = 0x30; // int32
public const nint m_nTotalTicksThisFrame = 0x34; // int32
public const nint m_nTotalTicks = 0x38; // int32
public const nint m_nCurrentTick = 0x30; // int32
public const nint m_nCurrentTickThisFrame = 0x34; // int32
public const nint m_nTotalTicksThisFrame = 0x38; // int32
public const nint m_nTotalTicks = 0x3C; // int32
}
// Parent: None
// Fields count: 1
@@ -174,10 +174,10 @@ namespace CS2Dumper.Schemas {
// Parent: EventSimulate_t
// Fields count: 4
public static class EventAdvanceTick_t {
public const nint m_nCurrentTick = 0x2C; // int32
public const nint m_nCurrentTickThisFrame = 0x30; // int32
public const nint m_nTotalTicksThisFrame = 0x34; // int32
public const nint m_nTotalTicks = 0x38; // int32
public const nint m_nCurrentTick = 0x30; // int32
public const nint m_nCurrentTickThisFrame = 0x34; // int32
public const nint m_nTotalTicksThisFrame = 0x38; // int32
public const nint m_nTotalTicks = 0x3C; // int32
}
// Parent: None
// Fields count: 0
@@ -211,7 +211,7 @@ namespace CS2Dumper.Schemas {
public const nint m_LoopState = 0x0; // EngineLoopState_t
public const nint m_flRealTime = 0x28; // float32
public const nint m_flFrameTime = 0x2C; // float32
public const nint m_bScheduleSendTickPacket = 0x30; // bool
public const nint m_flWhenScheduleSendTickPacket = 0x30; // float64
}
// Parent: EventAdvanceTick_t
// Fields count: 0

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libengine2.so
// Module: engine2.dll
// Classes count: 44
// Enums count: 4
namespace libengine2_so {
namespace engine2_dll {
// Alignment: 4
// Members count: 3
enum class EntityDormancyType_t : uint32_t {
@@ -56,10 +56,10 @@ namespace cs2_dumper {
// Parent: EventSimulate_t
// Fields count: 4
namespace EventPostAdvanceTick_t {
constexpr std::ptrdiff_t m_nCurrentTick = 0x2C; // int32
constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x30; // int32
constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x34; // int32
constexpr std::ptrdiff_t m_nTotalTicks = 0x38; // int32
constexpr std::ptrdiff_t m_nCurrentTick = 0x30; // int32
constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x34; // int32
constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x38; // int32
constexpr std::ptrdiff_t m_nTotalTicks = 0x3C; // int32
}
// Parent: None
// Fields count: 1
@@ -179,10 +179,10 @@ namespace cs2_dumper {
// Parent: EventSimulate_t
// Fields count: 4
namespace EventAdvanceTick_t {
constexpr std::ptrdiff_t m_nCurrentTick = 0x2C; // int32
constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x30; // int32
constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x34; // int32
constexpr std::ptrdiff_t m_nTotalTicks = 0x38; // int32
constexpr std::ptrdiff_t m_nCurrentTick = 0x30; // int32
constexpr std::ptrdiff_t m_nCurrentTickThisFrame = 0x34; // int32
constexpr std::ptrdiff_t m_nTotalTicksThisFrame = 0x38; // int32
constexpr std::ptrdiff_t m_nTotalTicks = 0x3C; // int32
}
// Parent: None
// Fields count: 0
@@ -216,7 +216,7 @@ namespace cs2_dumper {
constexpr std::ptrdiff_t m_LoopState = 0x0; // EngineLoopState_t
constexpr std::ptrdiff_t m_flRealTime = 0x28; // float32
constexpr std::ptrdiff_t m_flFrameTime = 0x2C; // float32
constexpr std::ptrdiff_t m_bScheduleSendTickPacket = 0x30; // bool
constexpr std::ptrdiff_t m_flWhenScheduleSendTickPacket = 0x30; // float64
}
// Parent: EventAdvanceTick_t
// Fields count: 0

View File

@@ -1,5 +1,5 @@
{
"libengine2.so": {
"engine2.dll": {
"classes": {
"CEmptyEntityInstance": {
"fields": {},
@@ -70,10 +70,10 @@
},
"EventAdvanceTick_t": {
"fields": {
"m_nCurrentTick": 44,
"m_nCurrentTickThisFrame": 48,
"m_nTotalTicks": 56,
"m_nTotalTicksThisFrame": 52
"m_nCurrentTick": 48,
"m_nCurrentTickThisFrame": 52,
"m_nTotalTicks": 60,
"m_nTotalTicksThisFrame": 56
},
"metadata": [],
"parent": "EventSimulate_t"
@@ -98,9 +98,9 @@
"EventClientFrameSimulate_t": {
"fields": {
"m_LoopState": 0,
"m_bScheduleSendTickPacket": 48,
"m_flFrameTime": 44,
"m_flRealTime": 40
"m_flRealTime": 40,
"m_flWhenScheduleSendTickPacket": 48
},
"metadata": [],
"parent": null
@@ -224,10 +224,10 @@
},
"EventPostAdvanceTick_t": {
"fields": {
"m_nCurrentTick": 44,
"m_nCurrentTickThisFrame": 48,
"m_nTotalTicks": 56,
"m_nTotalTicksThisFrame": 52
"m_nCurrentTick": 48,
"m_nCurrentTickThisFrame": 52,
"m_nTotalTicks": 60,
"m_nTotalTicksThisFrame": 56
},
"metadata": [],
"parent": "EventSimulate_t"

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libengine2.so
// Module: engine2.dll
// Classes count: 44
// Enums count: 4
pub mod libengine2_so {
pub mod engine2_dll {
// Alignment: 4
// Members count: 3
#[repr(u32)]
@@ -58,10 +58,10 @@ pub mod cs2_dumper {
// Parent: EventSimulate_t
// Fields count: 4
pub mod EventPostAdvanceTick_t {
pub const m_nCurrentTick: usize = 0x2C; // int32
pub const m_nCurrentTickThisFrame: usize = 0x30; // int32
pub const m_nTotalTicksThisFrame: usize = 0x34; // int32
pub const m_nTotalTicks: usize = 0x38; // int32
pub const m_nCurrentTick: usize = 0x30; // int32
pub const m_nCurrentTickThisFrame: usize = 0x34; // int32
pub const m_nTotalTicksThisFrame: usize = 0x38; // int32
pub const m_nTotalTicks: usize = 0x3C; // int32
}
// Parent: None
// Fields count: 1
@@ -181,10 +181,10 @@ pub mod cs2_dumper {
// Parent: EventSimulate_t
// Fields count: 4
pub mod EventAdvanceTick_t {
pub const m_nCurrentTick: usize = 0x2C; // int32
pub const m_nCurrentTickThisFrame: usize = 0x30; // int32
pub const m_nTotalTicksThisFrame: usize = 0x34; // int32
pub const m_nTotalTicks: usize = 0x38; // int32
pub const m_nCurrentTick: usize = 0x30; // int32
pub const m_nCurrentTickThisFrame: usize = 0x34; // int32
pub const m_nTotalTicksThisFrame: usize = 0x38; // int32
pub const m_nTotalTicks: usize = 0x3C; // int32
}
// Parent: None
// Fields count: 0
@@ -218,7 +218,7 @@ pub mod cs2_dumper {
pub const m_LoopState: usize = 0x0; // EngineLoopState_t
pub const m_flRealTime: usize = 0x28; // float32
pub const m_flFrameTime: usize = 0x2C; // float32
pub const m_bScheduleSendTickPacket: usize = 0x30; // bool
pub const m_flWhenScheduleSendTickPacket: usize = 0x30; // float64
}
// Parent: EventAdvanceTick_t
// Fields count: 0

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libhost.so
// Module: host.dll
// Classes count: 2
// Enums count: 0
public static class LibhostSo {
public static class HostDll {
// Parent: CAnimScriptBase
// Fields count: 1
public static class EmptyTestScript {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libhost.so
// Module: host.dll
// Classes count: 2
// Enums count: 0
namespace libhost_so {
namespace host_dll {
// Parent: CAnimScriptBase
// Fields count: 1
namespace EmptyTestScript {

View File

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

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libhost.so
// Module: host.dll
// Classes count: 2
// Enums count: 0
pub mod libhost_so {
pub mod host_dll {
// Parent: CAnimScriptBase
// Fields count: 1
pub mod EmptyTestScript {

View File

@@ -1,4 +1,4 @@
{
"build_number": 14022,
"timestamp": "2024-07-22T10:50:13.060719885+00:00"
"build_number": 14009,
"timestamp": "2024-05-24T10:58:30.509826500+00:00"
}

View File

@@ -1,220 +1,242 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Interfaces {
// Module: libanimationsystem.so
public static class LibanimationsystemSo {
public const nint AnimationSystemUtils_001 = 0x1A5100;
public const nint AnimationSystem_001 = 0x1A4EF0;
// Module: animationsystem.dll
public static class AnimationsystemDll {
public const nint AnimationSystemUtils_001 = 0x79E00;
public const nint AnimationSystem_001 = 0x748F0;
}
// Module: libclient.so
public static class LibclientSo {
public const nint ClientToolsInfo_001 = 0xDCAE50;
public const nint EmptyWorldService001_Client = 0xAA8F30;
public const nint GameClientExports001 = 0xDCAA30;
public const nint LegacyGameUI001 = 0xFAF340;
public const nint Source2Client002 = 0xDCAA90;
public const nint Source2ClientConfig001 = 0xA93D10;
public const nint Source2ClientPrediction001 = 0xE60640;
public const nint Source2ClientUI001 = 0xF64140;
// Module: client.dll
public static class ClientDll {
public const nint ClientToolsInfo_001 = 0x757C20;
public const nint EmptyWorldService001_Client = 0x4A10F0;
public const nint GameClientExports001 = 0x757C30;
public const nint LegacyGameUI001 = 0x8E1370;
public const nint Source2Client002 = 0x757C40;
public const nint Source2ClientConfig001 = 0x484E50;
public const nint Source2ClientPrediction001 = 0x7D4890;
public const nint Source2ClientUI001 = 0x8C7C30;
}
// Module: libengine2.so
public static class Libengine2So {
public const nint BenchmarkService001 = 0x217E20;
public const nint BugService001 = 0x214030;
public const nint ClientServerEngineLoopService_001 = 0x1E48E0;
public const nint EngineGameUI001 = 0x3A6AF0;
public const nint EngineServiceMgr001 = 0x1D3B70;
public const nint GameEventSystemClientV001 = 0x1D8E50;
public const nint GameEventSystemServerV001 = 0x1D8E60;
public const nint GameResourceServiceClientV001 = 0x219780;
public const nint GameResourceServiceServerV001 = 0x219790;
public const nint GameUIService_001 = 0x221350;
public const nint HostStateMgr001 = 0x1DF430;
public const nint INETSUPPORT_001 = 0x370CE0;
public const nint InputService_001 = 0x225A20;
public const nint KeyValueCache001 = 0x1E1D80;
public const nint MapListService_001 = 0x239FE0;
public const nint NetworkClientService_001 = 0x25CCF0;
public const nint NetworkP2PService_001 = 0x271FE0;
public const nint NetworkServerService_001 = 0x23E090;
public const nint NetworkService_001 = 0x23D7B0;
public const nint RenderService_001 = 0x277100;
public const nint ScreenshotService001 = 0x279C40;
public const nint SimpleEngineLoopService_001 = 0x1FA120;
public const nint SoundService_001 = 0x27DE40;
public const nint Source2EngineToClient001 = 0x2F7BC0;
public const nint Source2EngineToClientStringTable001 = 0x2CE430;
public const nint Source2EngineToServer001 = 0x31E500;
public const nint Source2EngineToServerStringTable001 = 0x300D90;
public const nint SplitScreenService_001 = 0x285460;
public const nint StatsService_001 = 0x288F90;
public const nint ToolService_001 = 0x28E0C0;
public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x3A6570;
public const nint VProfService_001 = 0x28F940;
// Module: engine2.dll
public static class Engine2Dll {
public const nint BenchmarkService001 = 0x17BE20;
public const nint BugService001 = 0x17CF70;
public const nint ClientServerEngineLoopService_001 = 0x1F0F90;
public const nint EngineGameUI001 = 0x126C20;
public const nint EngineServiceMgr001 = 0x1E0200;
public const nint GameEventSystemClientV001 = 0x1E5380;
public const nint GameEventSystemServerV001 = 0x1E5390;
public const nint GameResourceServiceClientV001 = 0x1845F0;
public const nint GameResourceServiceServerV001 = 0x184600;
public const nint GameUIService_001 = 0x186FA0;
public const nint HostStateMgr001 = 0x1E9B40;
public const nint INETSUPPORT_001 = 0xF5B90;
public const nint InputService_001 = 0x18CB20;
public const nint KeyValueCache001 = 0x1EC360;
public const nint MapListService_001 = 0x19FCD0;
public const nint NetworkClientService_001 = 0x1A6F20;
public const nint NetworkP2PService_001 = 0x1AD750;
public const nint NetworkServerService_001 = 0x1B1C80;
public const nint NetworkService_001 = 0x1B6EC0;
public const nint RenderService_001 = 0x1B73B0;
public const nint ScreenshotService001 = 0x1B9D60;
public const nint SimpleEngineLoopService_001 = 0x1FDAE0;
public const nint SoundService_001 = 0x1BDFA0;
public const nint Source2EngineToClient001 = 0x66BF0;
public const nint Source2EngineToClientStringTable001 = 0x8F9D0;
public const nint Source2EngineToServer001 = 0x97060;
public const nint Source2EngineToServerStringTable001 = 0xAE6C0;
public const nint SplitScreenService_001 = 0x1C49B0;
public const nint StatsService_001 = 0x1C7700;
public const nint ToolService_001 = 0x1CC180;
public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x1278A0;
public const nint VProfService_001 = 0x1CD5B0;
}
// Module: libfilesystem_stdio.so
public static class LibfilesystemStdioSo {
public const nint VAsyncFileSystem2_001 = 0x7D950;
public const nint VFileSystem017 = 0x7D940;
// Module: filesystem_stdio.dll
public static class FilesystemStdioDll {
public const nint VAsyncFileSystem2_001 = 0x67490;
public const nint VFileSystem017 = 0x67480;
}
// Module: libhost.so
public static class LibhostSo {
public const nint DebugDrawQueueManager001 = 0xC5690;
public const nint GameModelInfo001 = 0xC0690;
public const nint GameSystem2HostHook = 0xC0DD0;
public const nint HostUtils001 = 0xC1250;
public const nint PredictionDiffManager001 = 0xC21D0;
public const nint SaveRestoreDataVersion001 = 0xC41D0;
public const nint SinglePlayerSharedMemory001 = 0xC4490;
public const nint Source2Host001 = 0xC4BF0;
// Module: host.dll
public static class HostDll {
public const nint DebugDrawQueueManager001 = 0x15170;
public const nint GameModelInfo001 = 0x15720;
public const nint GameSystem2HostHook = 0x15800;
public const nint HostUtils001 = 0x15FB0;
public const nint PredictionDiffManager001 = 0x1AB00;
public const nint SaveRestoreDataVersion001 = 0x1C500;
public const nint SinglePlayerSharedMemory001 = 0x1C510;
public const nint Source2Host001 = 0x1C8A0;
}
// Module: libinputsystem.so
public static class LibinputsystemSo {
public const nint InputStackSystemVersion001 = 0x11860;
public const nint InputSystemVersion001 = 0x12D50;
// Module: imemanager.dll
public static class ImemanagerDll {
public const nint IMEManager001 = 0xC470;
}
// Module: liblocalize.so
public static class LiblocalizeSo {
public const nint Localize_001 = 0x1DBB0;
// Module: inputsystem.dll
public static class InputsystemDll {
public const nint InputStackSystemVersion001 = 0x1850;
public const nint InputSystemVersion001 = 0x2A40;
}
// Module: libmatchmaking.so
public static class LibmatchmakingSo {
public const nint GameTypes001 = 0xF57E0;
public const nint MATCHFRAMEWORK_001 = 0x1CA5D0;
// Module: localize.dll
public static class LocalizeDll {
public const nint Localize_001 = 0x3AE0;
}
// Module: libmaterialsystem2.so
public static class Libmaterialsystem2So {
public const nint FontManager_001 = 0x7B1E0;
public const nint MaterialUtils_001 = 0x65BB0;
public const nint PostProcessingSystem_001 = 0x8A6A0;
public const nint TextLayout_001 = 0x87C30;
public const nint VMaterialSystem2_001 = 0x2C800;
// Module: matchmaking.dll
public static class MatchmakingDll {
public const nint GameTypes001 = 0x53910;
public const nint MATCHFRAMEWORK_001 = 0x105780;
}
// Module: libmeshsystem.so
public static class LibmeshsystemSo {
public const nint MeshSystem001 = 0x97530;
// Module: materialsystem2.dll
public static class Materialsystem2Dll {
public const nint FontManager_001 = 0x38430;
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: libnetworksystem.so
public static class LibnetworksystemSo {
public const nint FlattenedSerializersVersion001 = 0x163920;
public const nint NetworkMessagesVersion001 = 0x18AC50;
public const nint NetworkSystemVersion001 = 0x1B4D50;
public const nint SerializedEntitiesVersion001 = 0x1CECD0;
// Module: meshsystem.dll
public static class MeshsystemDll {
public const nint MeshSystem001 = 0xAA20;
}
// Module: libpanorama.so
public static class LibpanoramaSo {
public const nint PanoramaUIEngine001 = 0x230A10;
// Module: navsystem.dll
public static class NavsystemDll {
public const nint NavSystem001 = 0xC430;
}
// Module: libpanorama_text_pango.so
public static class LibpanoramaTextPangoSo {
public const nint PanoramaTextServices001 = 0xBBAD0;
// Module: networksystem.dll
public static class NetworksystemDll {
public const nint FlattenedSerializersVersion001 = 0x7ED50;
public const nint NetworkMessagesVersion001 = 0x9F7F0;
public const nint NetworkSystemVersion001 = 0xC0650;
public const nint SerializedEntitiesVersion001 = 0xD6790;
}
// Module: libpanoramauiclient.so
public static class LibpanoramauiclientSo {
public const nint PanoramaUIClient001 = 0x109990;
// Module: panorama.dll
public static class PanoramaDll {
public const nint PanoramaUIEngine001 = 0x611C0;
}
// Module: libparticles.so
public static class LibparticlesSo {
public const nint ParticleSystemMgr003 = 0x20DAA0;
// Module: panorama_text_pango.dll
public static class PanoramaTextPangoDll {
public const nint PanoramaTextServices001 = 0x4CBD0;
}
// Module: libpulse_system.so
public static class LibpulseSystemSo {
public const nint IPulseSystem_001 = 0x3F250;
// Module: panoramauiclient.dll
public static class PanoramauiclientDll {
public const nint PanoramaUIClient001 = 0x122B0;
}
// Module: librendersystemvulkan.so
public static class LibrendersystemvulkanSo {
public const nint RenderDeviceMgr001 = 0x147B90;
public const nint RenderUtils_001 = 0xCB510;
// Module: particles.dll
public static class ParticlesDll {
public const nint ParticleSystemMgr003 = 0x5C6D0;
}
// Module: libresourcesystem.so
public static class LibresourcesystemSo {
public const nint ResourceSystem013 = 0x30E70;
// Module: pulse_system.dll
public static class PulseSystemDll {
public const nint IPulseSystem_001 = 0x3EC0;
}
// Module: libscenefilecache.so
public static class LibscenefilecacheSo {
public const nint ResponseRulesCache001 = 0x89070;
public const nint SceneFileCache002 = 0x85D30;
// Module: rendersystemdx11.dll
public static class Rendersystemdx11Dll {
public const nint RenderDeviceMgr001 = 0x4FAA0;
public const nint RenderUtils_001 = 0x596B0;
public const nint VRenderDeviceMgrBackdoor001 = 0x4FAB0;
}
// Module: libscenesystem.so
public static class LibscenesystemSo {
public const nint RenderingPipelines_001 = 0x137330;
public const nint SceneSystem_002 = 0x17AC60;
public const nint SceneUtils_001 = 0x1F5330;
// Module: resourcesystem.dll
public static class ResourcesystemDll {
public const nint ResourceSystem013 = 0x10C30;
}
// Module: libschemasystem.so
public static class LibschemasystemSo {
public const nint SchemaSystem_001 = 0x202A0;
// Module: scenefilecache.dll
public static class ScenefilecacheDll {
public const nint ResponseRulesCache001 = 0x3320;
public const nint SceneFileCache002 = 0x6BE0;
}
// Module: libserver.so
public static class LibserverSo {
public const nint EmptyWorldService001_Server = 0xBD0FE0;
public const nint EntitySubclassUtilsV001 = 0x8DAFD0;
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: scenesystem.dll
public static class ScenesystemDll {
public const nint RenderingPipelines_001 = 0x9C390;
public const nint SceneSystem_002 = 0xD3550;
public const nint SceneUtils_001 = 0x14B530;
}
// Module: libsoundsystem.so
public static class LibsoundsystemSo {
public const nint SoundOpSystem001 = 0x16C900;
public const nint SoundOpSystemEdit001 = 0xB59E0;
public const nint SoundSystem001 = 0x1DAE40;
public const nint VMixEditTool001 = 0x20DF30;
// Module: schemasystem.dll
public static class SchemasystemDll {
public const nint SchemaSystem_001 = 0xAB40;
}
// Module: libsteamaudio.so
public static class LibsteamaudioSo {
public const nint SteamAudio001 = 0x9EF00;
// Module: server.dll
public static class ServerDll {
public const nint EmptyWorldService001_Server = 0x5837F0;
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: libtier0.so
public static class Libtier0So {
public const nint TestScriptMgr001 = 0x1C8D60;
public const nint VEngineCvar007 = 0xF20B0;
public const nint VProcessUtils002 = 0x1A5B00;
public const nint VStringTokenSystem001 = 0x1F8070;
// Module: soundsystem.dll
public static class SoundsystemDll {
public const nint SoundOpSystem001 = 0x17F6A0;
public const nint SoundOpSystemEdit001 = 0x9CD60;
public const nint SoundSystem001 = 0x49730;
public const nint VMixEditTool001 = 0x7A170;
}
// Module: libv8system.so
public static class Libv8systemSo {
public const nint Source2V8System001 = 0x1B6F0;
// Module: steamaudio.dll
public static class SteamaudioDll {
public const nint SteamAudio001 = 0x64A70;
}
// Module: libvphysics2.so
public static class Libvphysics2So {
public const nint VPhysics2_Handle_Interface_001 = 0xC4A60;
public const nint VPhysics2_Interface_001 = 0xC4650;
// Module: steamclient64.dll
public static class Steamclient64Dll {
public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x86CD70;
public const nint IVALIDATE001 = 0x871150;
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: libvscript.so
public static class LibvscriptSo {
public const nint VScriptManager010 = 0x262D0;
// Module: tier0.dll
public static class Tier0Dll {
public const nint TestScriptMgr001 = 0x149BF0;
public const nint VEngineCvar007 = 0x63C70;
public const nint VProcessUtils002 = 0x13A650;
public const nint VStringTokenSystem001 = 0x19E580;
}
// Module: libworldrenderer.so
public static class LibworldrendererSo {
public const nint WorldRendererMgr001 = 0xAEC80;
// Module: v8system.dll
public static class V8systemDll {
public const nint Source2V8System001 = 0x1AE0;
}
// Module: steamclient.so
public static class SteamclientSo {
public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x11E0130;
public const nint IVALIDATE001 = 0x11DBC00;
public const nint SteamClient006 = 0xE6D620;
public const nint SteamClient007 = 0xE6D630;
public const nint SteamClient008 = 0xE6D640;
public const nint SteamClient009 = 0xE6D650;
public const nint SteamClient010 = 0xE6D660;
public const nint SteamClient011 = 0xE6D670;
public const nint SteamClient012 = 0xE6D680;
public const nint SteamClient013 = 0xE6D690;
public const nint SteamClient014 = 0xE6D6A0;
public const nint SteamClient015 = 0xE6D6B0;
public const nint SteamClient016 = 0xE6D6E0;
public const nint SteamClient017 = 0xE6D710;
public const nint SteamClient018 = 0xE6D740;
public const nint SteamClient019 = 0xE6D770;
public const nint SteamClient020 = 0xE6D7A0;
public const nint SteamClient021 = 0xE6D7D0;
public const nint p2pvoice002 = 0x1834810;
public const nint p2pvoicesingleton002 = 0x182CEA0;
// Module: valve_avi.dll
public static class ValveAviDll {
public const nint VAvi001 = 0x2F90;
}
// Module: valve_wmf.dll
public static class ValveWmfDll {
public const nint VMediaFoundation001 = 0x12D0;
}
// Module: vphysics2.dll
public static class Vphysics2Dll {
public const nint VPhysics2_Handle_Interface_001 = 0x60C80;
public const nint VPhysics2_Interface_001 = 0x5C030;
}
// Module: vscript.dll
public static class VscriptDll {
public const nint VScriptManager010 = 0x32210;
}
// Module: vstdlib_s64.dll
public static class VstdlibS64Dll {
public const nint IVALIDATE001 = 0x24DE0;
public const nint VEngineCvar002 = 0x57A0;
}
// 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
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,220 +7,242 @@
namespace cs2_dumper {
namespace interfaces {
// Module: libanimationsystem.so
namespace libanimationsystem_so {
constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x1A5100;
constexpr std::ptrdiff_t AnimationSystem_001 = 0x1A4EF0;
// Module: animationsystem.dll
namespace animationsystem_dll {
constexpr std::ptrdiff_t AnimationSystemUtils_001 = 0x79E00;
constexpr std::ptrdiff_t AnimationSystem_001 = 0x748F0;
}
// Module: libclient.so
namespace libclient_so {
constexpr std::ptrdiff_t ClientToolsInfo_001 = 0xDCAE50;
constexpr std::ptrdiff_t EmptyWorldService001_Client = 0xAA8F30;
constexpr std::ptrdiff_t GameClientExports001 = 0xDCAA30;
constexpr std::ptrdiff_t LegacyGameUI001 = 0xFAF340;
constexpr std::ptrdiff_t Source2Client002 = 0xDCAA90;
constexpr std::ptrdiff_t Source2ClientConfig001 = 0xA93D10;
constexpr std::ptrdiff_t Source2ClientPrediction001 = 0xE60640;
constexpr std::ptrdiff_t Source2ClientUI001 = 0xF64140;
// Module: client.dll
namespace client_dll {
constexpr std::ptrdiff_t ClientToolsInfo_001 = 0x757C20;
constexpr std::ptrdiff_t EmptyWorldService001_Client = 0x4A10F0;
constexpr std::ptrdiff_t GameClientExports001 = 0x757C30;
constexpr std::ptrdiff_t LegacyGameUI001 = 0x8E1370;
constexpr std::ptrdiff_t Source2Client002 = 0x757C40;
constexpr std::ptrdiff_t Source2ClientConfig001 = 0x484E50;
constexpr std::ptrdiff_t Source2ClientPrediction001 = 0x7D4890;
constexpr std::ptrdiff_t Source2ClientUI001 = 0x8C7C30;
}
// Module: libengine2.so
namespace libengine2_so {
constexpr std::ptrdiff_t BenchmarkService001 = 0x217E20;
constexpr std::ptrdiff_t BugService001 = 0x214030;
constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1E48E0;
constexpr std::ptrdiff_t EngineGameUI001 = 0x3A6AF0;
constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1D3B70;
constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1D8E50;
constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1D8E60;
constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x219780;
constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x219790;
constexpr std::ptrdiff_t GameUIService_001 = 0x221350;
constexpr std::ptrdiff_t HostStateMgr001 = 0x1DF430;
constexpr std::ptrdiff_t INETSUPPORT_001 = 0x370CE0;
constexpr std::ptrdiff_t InputService_001 = 0x225A20;
constexpr std::ptrdiff_t KeyValueCache001 = 0x1E1D80;
constexpr std::ptrdiff_t MapListService_001 = 0x239FE0;
constexpr std::ptrdiff_t NetworkClientService_001 = 0x25CCF0;
constexpr std::ptrdiff_t NetworkP2PService_001 = 0x271FE0;
constexpr std::ptrdiff_t NetworkServerService_001 = 0x23E090;
constexpr std::ptrdiff_t NetworkService_001 = 0x23D7B0;
constexpr std::ptrdiff_t RenderService_001 = 0x277100;
constexpr std::ptrdiff_t ScreenshotService001 = 0x279C40;
constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1FA120;
constexpr std::ptrdiff_t SoundService_001 = 0x27DE40;
constexpr std::ptrdiff_t Source2EngineToClient001 = 0x2F7BC0;
constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x2CE430;
constexpr std::ptrdiff_t Source2EngineToServer001 = 0x31E500;
constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0x300D90;
constexpr std::ptrdiff_t SplitScreenService_001 = 0x285460;
constexpr std::ptrdiff_t StatsService_001 = 0x288F90;
constexpr std::ptrdiff_t ToolService_001 = 0x28E0C0;
constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x3A6570;
constexpr std::ptrdiff_t VProfService_001 = 0x28F940;
// Module: engine2.dll
namespace engine2_dll {
constexpr std::ptrdiff_t BenchmarkService001 = 0x17BE20;
constexpr std::ptrdiff_t BugService001 = 0x17CF70;
constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1F0F90;
constexpr std::ptrdiff_t EngineGameUI001 = 0x126C20;
constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1E0200;
constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1E5380;
constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1E5390;
constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x1845F0;
constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x184600;
constexpr std::ptrdiff_t GameUIService_001 = 0x186FA0;
constexpr std::ptrdiff_t HostStateMgr001 = 0x1E9B40;
constexpr std::ptrdiff_t INETSUPPORT_001 = 0xF5B90;
constexpr std::ptrdiff_t InputService_001 = 0x18CB20;
constexpr std::ptrdiff_t KeyValueCache001 = 0x1EC360;
constexpr std::ptrdiff_t MapListService_001 = 0x19FCD0;
constexpr std::ptrdiff_t NetworkClientService_001 = 0x1A6F20;
constexpr std::ptrdiff_t NetworkP2PService_001 = 0x1AD750;
constexpr std::ptrdiff_t NetworkServerService_001 = 0x1B1C80;
constexpr std::ptrdiff_t NetworkService_001 = 0x1B6EC0;
constexpr std::ptrdiff_t RenderService_001 = 0x1B73B0;
constexpr std::ptrdiff_t ScreenshotService001 = 0x1B9D60;
constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1FDAE0;
constexpr std::ptrdiff_t SoundService_001 = 0x1BDFA0;
constexpr std::ptrdiff_t Source2EngineToClient001 = 0x66BF0;
constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x8F9D0;
constexpr std::ptrdiff_t Source2EngineToServer001 = 0x97060;
constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0xAE6C0;
constexpr std::ptrdiff_t SplitScreenService_001 = 0x1C49B0;
constexpr std::ptrdiff_t StatsService_001 = 0x1C7700;
constexpr std::ptrdiff_t ToolService_001 = 0x1CC180;
constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x1278A0;
constexpr std::ptrdiff_t VProfService_001 = 0x1CD5B0;
}
// Module: libfilesystem_stdio.so
namespace libfilesystem_stdio_so {
constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x7D950;
constexpr std::ptrdiff_t VFileSystem017 = 0x7D940;
// Module: filesystem_stdio.dll
namespace filesystem_stdio_dll {
constexpr std::ptrdiff_t VAsyncFileSystem2_001 = 0x67490;
constexpr std::ptrdiff_t VFileSystem017 = 0x67480;
}
// Module: libhost.so
namespace libhost_so {
constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0xC5690;
constexpr std::ptrdiff_t GameModelInfo001 = 0xC0690;
constexpr std::ptrdiff_t GameSystem2HostHook = 0xC0DD0;
constexpr std::ptrdiff_t HostUtils001 = 0xC1250;
constexpr std::ptrdiff_t PredictionDiffManager001 = 0xC21D0;
constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0xC41D0;
constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0xC4490;
constexpr std::ptrdiff_t Source2Host001 = 0xC4BF0;
// Module: host.dll
namespace host_dll {
constexpr std::ptrdiff_t DebugDrawQueueManager001 = 0x15170;
constexpr std::ptrdiff_t GameModelInfo001 = 0x15720;
constexpr std::ptrdiff_t GameSystem2HostHook = 0x15800;
constexpr std::ptrdiff_t HostUtils001 = 0x15FB0;
constexpr std::ptrdiff_t PredictionDiffManager001 = 0x1AB00;
constexpr std::ptrdiff_t SaveRestoreDataVersion001 = 0x1C500;
constexpr std::ptrdiff_t SinglePlayerSharedMemory001 = 0x1C510;
constexpr std::ptrdiff_t Source2Host001 = 0x1C8A0;
}
// Module: libinputsystem.so
namespace libinputsystem_so {
constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x11860;
constexpr std::ptrdiff_t InputSystemVersion001 = 0x12D50;
// Module: imemanager.dll
namespace imemanager_dll {
constexpr std::ptrdiff_t IMEManager001 = 0xC470;
}
// Module: liblocalize.so
namespace liblocalize_so {
constexpr std::ptrdiff_t Localize_001 = 0x1DBB0;
// Module: inputsystem.dll
namespace inputsystem_dll {
constexpr std::ptrdiff_t InputStackSystemVersion001 = 0x1850;
constexpr std::ptrdiff_t InputSystemVersion001 = 0x2A40;
}
// Module: libmatchmaking.so
namespace libmatchmaking_so {
constexpr std::ptrdiff_t GameTypes001 = 0xF57E0;
constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x1CA5D0;
// Module: localize.dll
namespace localize_dll {
constexpr std::ptrdiff_t Localize_001 = 0x3AE0;
}
// Module: libmaterialsystem2.so
namespace libmaterialsystem2_so {
constexpr std::ptrdiff_t FontManager_001 = 0x7B1E0;
constexpr std::ptrdiff_t MaterialUtils_001 = 0x65BB0;
constexpr std::ptrdiff_t PostProcessingSystem_001 = 0x8A6A0;
constexpr std::ptrdiff_t TextLayout_001 = 0x87C30;
constexpr std::ptrdiff_t VMaterialSystem2_001 = 0x2C800;
// Module: matchmaking.dll
namespace matchmaking_dll {
constexpr std::ptrdiff_t GameTypes001 = 0x53910;
constexpr std::ptrdiff_t MATCHFRAMEWORK_001 = 0x105780;
}
// Module: libmeshsystem.so
namespace libmeshsystem_so {
constexpr std::ptrdiff_t MeshSystem001 = 0x97530;
// Module: materialsystem2.dll
namespace materialsystem2_dll {
constexpr std::ptrdiff_t FontManager_001 = 0x38430;
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: libnetworksystem.so
namespace libnetworksystem_so {
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: meshsystem.dll
namespace meshsystem_dll {
constexpr std::ptrdiff_t MeshSystem001 = 0xAA20;
}
// Module: libpanorama.so
namespace libpanorama_so {
constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x230A10;
// Module: navsystem.dll
namespace navsystem_dll {
constexpr std::ptrdiff_t NavSystem001 = 0xC430;
}
// Module: libpanorama_text_pango.so
namespace libpanorama_text_pango_so {
constexpr std::ptrdiff_t PanoramaTextServices001 = 0xBBAD0;
// Module: networksystem.dll
namespace networksystem_dll {
constexpr std::ptrdiff_t FlattenedSerializersVersion001 = 0x7ED50;
constexpr std::ptrdiff_t NetworkMessagesVersion001 = 0x9F7F0;
constexpr std::ptrdiff_t NetworkSystemVersion001 = 0xC0650;
constexpr std::ptrdiff_t SerializedEntitiesVersion001 = 0xD6790;
}
// Module: libpanoramauiclient.so
namespace libpanoramauiclient_so {
constexpr std::ptrdiff_t PanoramaUIClient001 = 0x109990;
// Module: panorama.dll
namespace panorama_dll {
constexpr std::ptrdiff_t PanoramaUIEngine001 = 0x611C0;
}
// Module: libparticles.so
namespace libparticles_so {
constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x20DAA0;
// Module: panorama_text_pango.dll
namespace panorama_text_pango_dll {
constexpr std::ptrdiff_t PanoramaTextServices001 = 0x4CBD0;
}
// Module: libpulse_system.so
namespace libpulse_system_so {
constexpr std::ptrdiff_t IPulseSystem_001 = 0x3F250;
// Module: panoramauiclient.dll
namespace panoramauiclient_dll {
constexpr std::ptrdiff_t PanoramaUIClient001 = 0x122B0;
}
// Module: librendersystemvulkan.so
namespace librendersystemvulkan_so {
constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x147B90;
constexpr std::ptrdiff_t RenderUtils_001 = 0xCB510;
// Module: particles.dll
namespace particles_dll {
constexpr std::ptrdiff_t ParticleSystemMgr003 = 0x5C6D0;
}
// Module: libresourcesystem.so
namespace libresourcesystem_so {
constexpr std::ptrdiff_t ResourceSystem013 = 0x30E70;
// Module: pulse_system.dll
namespace pulse_system_dll {
constexpr std::ptrdiff_t IPulseSystem_001 = 0x3EC0;
}
// Module: libscenefilecache.so
namespace libscenefilecache_so {
constexpr std::ptrdiff_t ResponseRulesCache001 = 0x89070;
constexpr std::ptrdiff_t SceneFileCache002 = 0x85D30;
// Module: rendersystemdx11.dll
namespace rendersystemdx11_dll {
constexpr std::ptrdiff_t RenderDeviceMgr001 = 0x4FAA0;
constexpr std::ptrdiff_t RenderUtils_001 = 0x596B0;
constexpr std::ptrdiff_t VRenderDeviceMgrBackdoor001 = 0x4FAB0;
}
// Module: libscenesystem.so
namespace libscenesystem_so {
constexpr std::ptrdiff_t RenderingPipelines_001 = 0x137330;
constexpr std::ptrdiff_t SceneSystem_002 = 0x17AC60;
constexpr std::ptrdiff_t SceneUtils_001 = 0x1F5330;
// Module: resourcesystem.dll
namespace resourcesystem_dll {
constexpr std::ptrdiff_t ResourceSystem013 = 0x10C30;
}
// Module: libschemasystem.so
namespace libschemasystem_so {
constexpr std::ptrdiff_t SchemaSystem_001 = 0x202A0;
// Module: scenefilecache.dll
namespace scenefilecache_dll {
constexpr std::ptrdiff_t ResponseRulesCache001 = 0x3320;
constexpr std::ptrdiff_t SceneFileCache002 = 0x6BE0;
}
// Module: libserver.so
namespace libserver_so {
constexpr std::ptrdiff_t EmptyWorldService001_Server = 0xBD0FE0;
constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x8DAFD0;
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: scenesystem.dll
namespace scenesystem_dll {
constexpr std::ptrdiff_t RenderingPipelines_001 = 0x9C390;
constexpr std::ptrdiff_t SceneSystem_002 = 0xD3550;
constexpr std::ptrdiff_t SceneUtils_001 = 0x14B530;
}
// Module: libsoundsystem.so
namespace libsoundsystem_so {
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: schemasystem.dll
namespace schemasystem_dll {
constexpr std::ptrdiff_t SchemaSystem_001 = 0xAB40;
}
// Module: libsteamaudio.so
namespace libsteamaudio_so {
constexpr std::ptrdiff_t SteamAudio001 = 0x9EF00;
// Module: server.dll
namespace server_dll {
constexpr std::ptrdiff_t EmptyWorldService001_Server = 0x5837F0;
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: libtier0.so
namespace libtier0_so {
constexpr std::ptrdiff_t TestScriptMgr001 = 0x1C8D60;
constexpr std::ptrdiff_t VEngineCvar007 = 0xF20B0;
constexpr std::ptrdiff_t VProcessUtils002 = 0x1A5B00;
constexpr std::ptrdiff_t VStringTokenSystem001 = 0x1F8070;
// Module: soundsystem.dll
namespace soundsystem_dll {
constexpr std::ptrdiff_t SoundOpSystem001 = 0x17F6A0;
constexpr std::ptrdiff_t SoundOpSystemEdit001 = 0x9CD60;
constexpr std::ptrdiff_t SoundSystem001 = 0x49730;
constexpr std::ptrdiff_t VMixEditTool001 = 0x7A170;
}
// Module: libv8system.so
namespace libv8system_so {
constexpr std::ptrdiff_t Source2V8System001 = 0x1B6F0;
// Module: steamaudio.dll
namespace steamaudio_dll {
constexpr std::ptrdiff_t SteamAudio001 = 0x64A70;
}
// Module: libvphysics2.so
namespace libvphysics2_so {
constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0xC4A60;
constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0xC4650;
// Module: steamclient64.dll
namespace steamclient64_dll {
constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x86CD70;
constexpr std::ptrdiff_t IVALIDATE001 = 0x871150;
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: libvscript.so
namespace libvscript_so {
constexpr std::ptrdiff_t VScriptManager010 = 0x262D0;
// Module: tier0.dll
namespace tier0_dll {
constexpr std::ptrdiff_t TestScriptMgr001 = 0x149BF0;
constexpr std::ptrdiff_t VEngineCvar007 = 0x63C70;
constexpr std::ptrdiff_t VProcessUtils002 = 0x13A650;
constexpr std::ptrdiff_t VStringTokenSystem001 = 0x19E580;
}
// Module: libworldrenderer.so
namespace libworldrenderer_so {
constexpr std::ptrdiff_t WorldRendererMgr001 = 0xAEC80;
// Module: v8system.dll
namespace v8system_dll {
constexpr std::ptrdiff_t Source2V8System001 = 0x1AE0;
}
// Module: steamclient.so
namespace steamclient_so {
constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x11E0130;
constexpr std::ptrdiff_t IVALIDATE001 = 0x11DBC00;
constexpr std::ptrdiff_t SteamClient006 = 0xE6D620;
constexpr std::ptrdiff_t SteamClient007 = 0xE6D630;
constexpr std::ptrdiff_t SteamClient008 = 0xE6D640;
constexpr std::ptrdiff_t SteamClient009 = 0xE6D650;
constexpr std::ptrdiff_t SteamClient010 = 0xE6D660;
constexpr std::ptrdiff_t SteamClient011 = 0xE6D670;
constexpr std::ptrdiff_t SteamClient012 = 0xE6D680;
constexpr std::ptrdiff_t SteamClient013 = 0xE6D690;
constexpr std::ptrdiff_t SteamClient014 = 0xE6D6A0;
constexpr std::ptrdiff_t SteamClient015 = 0xE6D6B0;
constexpr std::ptrdiff_t SteamClient016 = 0xE6D6E0;
constexpr std::ptrdiff_t SteamClient017 = 0xE6D710;
constexpr std::ptrdiff_t SteamClient018 = 0xE6D740;
constexpr std::ptrdiff_t SteamClient019 = 0xE6D770;
constexpr std::ptrdiff_t SteamClient020 = 0xE6D7A0;
constexpr std::ptrdiff_t SteamClient021 = 0xE6D7D0;
constexpr std::ptrdiff_t p2pvoice002 = 0x1834810;
constexpr std::ptrdiff_t p2pvoicesingleton002 = 0x182CEA0;
// Module: valve_avi.dll
namespace valve_avi_dll {
constexpr std::ptrdiff_t VAvi001 = 0x2F90;
}
// Module: valve_wmf.dll
namespace valve_wmf_dll {
constexpr std::ptrdiff_t VMediaFoundation001 = 0x12D0;
}
// Module: vphysics2.dll
namespace vphysics2_dll {
constexpr std::ptrdiff_t VPhysics2_Handle_Interface_001 = 0x60C80;
constexpr std::ptrdiff_t VPhysics2_Interface_001 = 0x5C030;
}
// Module: vscript.dll
namespace vscript_dll {
constexpr std::ptrdiff_t VScriptManager010 = 0x32210;
}
// Module: vstdlib_s64.dll
namespace vstdlib_s64_dll {
constexpr std::ptrdiff_t IVALIDATE001 = 0x24DE0;
constexpr std::ptrdiff_t VEngineCvar002 = 0x57A0;
}
// Module: worldrenderer.dll
namespace worldrenderer_dll {
constexpr std::ptrdiff_t WorldRendererMgr001 = 0x22FD0;
}
}
}

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libmaterialsystem2.so
// Module: materialsystem2.dll
// Classes count: 13
// Enums count: 5
namespace libmaterialsystem2_so {
namespace materialsystem2_dll {
// Alignment: 4
// Members count: 4
enum class VertJustification_e : uint32_t {

View File

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

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libmaterialsystem2.so
// Module: materialsystem2.dll
// Classes count: 13
// Enums count: 5
pub mod libmaterialsystem2_so {
pub mod materialsystem2_dll {
// Alignment: 4
// Members count: 4
#[repr(u32)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libnetworksystem.so
// Module: networksystem.dll
// Classes count: 1
// Enums count: 0
public static class LibnetworksystemSo {
public static class NetworksystemDll {
// Parent: None
// Fields count: 1
public static class ChangeAccessorFieldPathIndex_t {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libnetworksystem.so
// Module: networksystem.dll
// Classes count: 1
// Enums count: 0
namespace libnetworksystem_so {
namespace networksystem_dll {
// Parent: None
// Fields count: 1
namespace ChangeAccessorFieldPathIndex_t {

View File

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

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libnetworksystem.so
// Module: networksystem.dll
// Classes count: 1
// Enums count: 0
pub mod libnetworksystem_so {
pub mod networksystem_dll {
// Parent: None
// Fields count: 1
pub mod ChangeAccessorFieldPathIndex_t {

View File

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

View File

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

View File

@@ -1,130 +1,43 @@
{
"libclient.so": [
{
"name": "dwCSGOInput",
"value": 59758272
"client.dll": {
"dwCSGOInput": 27316352,
"dwEntityList": 26882856,
"dwGameEntitySystem": 28057624,
"dwGameEntitySystem_getHighestEntityIndex": 5392,
"dwGameRules": 27266312,
"dwGlobalVars": 25172976,
"dwGlowManager": 27264032,
"dwLocalPlayerController": 27210392,
"dwLocalPlayerPawn": 25221912,
"dwPlantedC4": 27304952,
"dwPrediction": 25221584,
"dwSensitivity": 27269560,
"dwSensitivity_sensitivity": 64,
"dwViewAngles": 27337880,
"dwViewMatrix": 27284176,
"dwViewRender": 27286240,
"dwWeaponC4": 26898864
},
{
"name": "dwEntityList",
"value": 58065352
"engine2.dll": {
"dwBuildNumber": 5367684,
"dwEngineViewData": 6138332,
"dwNetworkGameClient": 5364568,
"dwNetworkGameClient_clientTickCount": 376,
"dwNetworkGameClient_deltaTick": 632,
"dwNetworkGameClient_isBackgroundMap": 2626655,
"dwNetworkGameClient_localPlayer": 240,
"dwNetworkGameClient_maxClients": 624,
"dwNetworkGameClient_serverTickCount": 372,
"dwNetworkGameClient_signOnState": 608,
"dwSoundService": 6138176,
"dwWindowHeight": 6152884,
"dwWindowWidth": 6152880
},
{
"name": "dwGameEntitySystem",
"value": 60983072
"inputsystem.dll": {
"dwInputSystem": 231376
},
{
"name": "dwGameEntitySystem_highestEntityIndex",
"value": 5440
},
{
"name": "dwGameRules",
"value": 59705408
},
{
"name": "dwGlobalVars",
"value": 57798840
},
{
"name": "dwGlowManager",
"value": 59705168
},
{
"name": "dwLocalPlayerController",
"value": 59594936
},
{
"name": "dwLocalPlayerPawn",
"value": 59729160
},
{
"name": "dwPlantedC4",
"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
"matchmaking.dll": {
"dwGameTypes": 1909392,
"dwGameTypes_mapName": 1909680
}
],
"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,51 +1,54 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, unused)]
pub mod cs2_dumper {
pub mod offsets {
// Module: libclient.so
pub mod libclient_so {
pub const dwCSGOInput: usize = 0x38FD6C0;
pub const dwEntityList: usize = 0x37601C8;
pub const dwGameEntitySystem: usize = 0x3A28720;
pub const dwGameEntitySystem_highestEntityIndex: usize = 0x1540;
pub const dwGameRules: usize = 0x38F0840;
pub const dwGlobalVars: usize = 0x371F0B8;
pub const dwGlowManager: usize = 0x38F0750;
pub const dwLocalPlayerController: usize = 0x38D58B8;
pub const dwLocalPlayerPawn: usize = 0x38F6508;
pub const dwPlantedC4: usize = 0x390A758;
pub const dwPrediction: usize = 0x38F63C0;
pub const dwSensitivity: usize = 0x38F4888;
// Module: client.dll
pub mod client_dll {
pub const dwCSGOInput: usize = 0x1A0D080;
pub const dwEntityList: usize = 0x19A3328;
pub const dwGameEntitySystem: usize = 0x1AC2018;
pub const dwGameEntitySystem_getHighestEntityIndex: usize = 0x1510;
pub const dwGameRules: usize = 0x1A00D08;
pub const dwGlobalVars: usize = 0x1801BF0;
pub const dwGlowManager: usize = 0x1A00420;
pub const dwLocalPlayerController: usize = 0x19F3298;
pub const dwLocalPlayerPawn: usize = 0x180DB18;
pub const dwPlantedC4: usize = 0x1A0A3F8;
pub const dwPrediction: usize = 0x180D9D0;
pub const dwSensitivity: usize = 0x1A019B8;
pub const dwSensitivity_sensitivity: usize = 0x40;
pub const dwViewAngles: usize = 0x3902AE8;
pub const dwViewMatrix: usize = 0x38F6D60;
pub const dwViewRender: usize = 0x38F6F10;
pub const dwViewAngles: usize = 0x1A12498;
pub const dwViewMatrix: usize = 0x1A052D0;
pub const dwViewRender: usize = 0x1A05AE0;
pub const dwWeaponC4: usize = 0x19A71B0;
}
// Module: libengine2.so
pub mod libengine2_so {
pub const dwBuildNumber: usize = 0x793914;
pub const dwNetworkGameClient: usize = 0x7942E8;
pub const dwNetworkGameClient_clientTickCount: usize = 0x188;
pub const dwNetworkGameClient_deltaTick: usize = 0x298;
pub const dwNetworkGameClient_isBackgroundMap: usize = 0x2814A7;
pub const dwNetworkGameClient_localPlayer: usize = 0x108;
pub const dwNetworkGameClient_maxClients: usize = 0x290;
pub const dwNetworkGameClient_serverTickCount: usize = 0x184;
pub const dwNetworkGameClient_signOnState: usize = 0x280;
pub const dwWindowHeight: usize = 0x79D4C4;
pub const dwWindowWidth: usize = 0x79D4C0;
// Module: engine2.dll
pub mod engine2_dll {
pub const dwBuildNumber: usize = 0x51E784;
pub const dwEngineViewData: usize = 0x5DA9DC;
pub const dwNetworkGameClient: usize = 0x51DB58;
pub const dwNetworkGameClient_clientTickCount: usize = 0x178;
pub const dwNetworkGameClient_deltaTick: usize = 0x278;
pub const dwNetworkGameClient_isBackgroundMap: usize = 0x28145F;
pub const dwNetworkGameClient_localPlayer: usize = 0xF0;
pub const dwNetworkGameClient_maxClients: usize = 0x270;
pub const dwNetworkGameClient_serverTickCount: usize = 0x174;
pub const dwNetworkGameClient_signOnState: usize = 0x260;
pub const dwSoundService: usize = 0x5DA940;
pub const dwWindowHeight: usize = 0x5DE2B4;
pub const dwWindowWidth: usize = 0x5DE2B0;
}
// Module: libinputsystem.so
pub mod libinputsystem_so {
pub const dwInputSystem: usize = 0x41160;
// Module: inputsystem.dll
pub mod inputsystem_dll {
pub const dwInputSystem: usize = 0x387D0;
}
// Module: libmatchmaking.so
pub mod libmatchmaking_so {
pub const dwGameTypes: usize = 0x3360A0;
pub const dwGameTypes_mapName: usize = 0x3361C0;
// Module: matchmaking.dll
pub mod matchmaking_dll {
pub const dwGameTypes: usize = 0x1D2290;
pub const dwGameTypes_mapName: usize = 0x1D23B0;
}
}
}

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libpanorama.so
// Module: panorama.dll
// Classes count: 0
// Enums count: 2
public static class LibpanoramaSo {
public static class PanoramaDll {
// Alignment: 4
// Members count: 13
public enum ELayoutNodeType : uint {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libpanorama.so
// Module: panorama.dll
// Classes count: 0
// Enums count: 2
namespace libpanorama_so {
namespace panorama_dll {
// Alignment: 4
// Members count: 13
enum class ELayoutNodeType : uint32_t {

View File

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

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libpanorama.so
// Module: panorama.dll
// Classes count: 0
// Enums count: 2
pub mod libpanorama_so {
pub mod panorama_dll {
// Alignment: 4
// Members count: 13
#[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
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libpulse_system.so
// Module: pulse_system.dll
// Classes count: 108
// Enums count: 9
public static class LibpulseSystemSo {
public static class PulseSystemDll {
// Alignment: 4
// Members count: 6
public enum EPulseGraphExecutionHistoryFlag : uint {
@@ -908,7 +908,7 @@ namespace CS2Dumper.Schemas {
// MPulseDomainHookInfo
// MPulseLibraryBindings
public static class CPulseGraphInstance_TestDomain_Derived {
public const nint m_nInstanceValueX = 0x11C; // int32
public const nint m_nInstanceValueX = 0x120; // int32
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4
@@ -1199,7 +1199,7 @@ namespace CS2Dumper.Schemas {
// Metadata:
// MPulseLibraryBindings
public static class CPulseTurtleGraphicsCursor {
public const nint m_Color = 0x9E; // Color
public const nint m_Color = 0xA0; // Color
public const nint m_vPos = 0xA4; // Vector2D
public const nint m_flHeadingDeg = 0xAC; // float32
public const nint m_bPenUp = 0xB0; // bool

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libpulse_system.so
// Module: pulse_system.dll
// Classes count: 108
// Enums count: 9
namespace libpulse_system_so {
namespace pulse_system_dll {
// Alignment: 4
// Members count: 6
enum class EPulseGraphExecutionHistoryFlag : uint32_t {
@@ -913,7 +913,7 @@ namespace cs2_dumper {
// MPulseDomainHookInfo
// MPulseLibraryBindings
namespace CPulseGraphInstance_TestDomain_Derived {
constexpr std::ptrdiff_t m_nInstanceValueX = 0x11C; // int32
constexpr std::ptrdiff_t m_nInstanceValueX = 0x120; // int32
}
// Parent: CPulseCell_Inflow_BaseEntrypoint
// Fields count: 4
@@ -1204,7 +1204,7 @@ namespace cs2_dumper {
// Metadata:
// MPulseLibraryBindings
namespace CPulseTurtleGraphicsCursor {
constexpr std::ptrdiff_t m_Color = 0x9E; // Color
constexpr std::ptrdiff_t m_Color = 0xA0; // Color
constexpr std::ptrdiff_t m_vPos = 0xA4; // Vector2D
constexpr std::ptrdiff_t m_flHeadingDeg = 0xAC; // float32
constexpr std::ptrdiff_t m_bPenUp = 0xB0; // bool

View File

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

View File

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

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: librendersystemvulkan.so
// Module: rendersystemdx11.dll
// Classes count: 3
// Enums count: 5
public static class LibrendersystemvulkanSo {
public static class Rendersystemdx11Dll {
// Alignment: 4
// Members count: 13
public enum RenderPrimitiveType_t : uint {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: librendersystemvulkan.so
// Module: rendersystemdx11.dll
// Classes count: 3
// Enums count: 5
namespace librendersystemvulkan_so {
namespace rendersystemdx11_dll {
// Alignment: 4
// Members count: 13
enum class RenderPrimitiveType_t : uint32_t {

View File

@@ -1,5 +1,5 @@
{
"librendersystemvulkan.so": {
"rendersystemdx11.dll": {
"classes": {
"RenderInputLayoutField_t": {
"fields": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: librendersystemvulkan.so
// Module: rendersystemdx11.dll
// Classes count: 3
// Enums count: 5
pub mod librendersystemvulkan_so {
pub mod rendersystemdx11_dll {
// Alignment: 4
// Members count: 13
#[repr(u32)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libresourcesystem.so
// Module: resourcesystem.dll
// Classes count: 58
// Enums count: 2
public static class LibresourcesystemSo {
public static class ResourcesystemDll {
// Alignment: 1
// Members count: 9
public enum FuseVariableType_t : byte {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libresourcesystem.so
// Module: resourcesystem.dll
// Classes count: 58
// Enums count: 2
namespace libresourcesystem_so {
namespace resourcesystem_dll {
// Alignment: 1
// Members count: 9
enum class FuseVariableType_t : uint8_t {

View File

@@ -1,5 +1,5 @@
{
"libresourcesystem.so": {
"resourcesystem.dll": {
"classes": {
"AABB_t": {
"fields": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libresourcesystem.so
// Module: resourcesystem.dll
// Classes count: 58
// Enums count: 2
pub mod libresourcesystem_so {
pub mod resourcesystem_dll {
// Alignment: 1
// Members count: 9
#[repr(u8)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libscenesystem.so
// Module: scenesystem.dll
// Classes count: 9
// Enums count: 1
public static class LibscenesystemSo {
public static class ScenesystemDll {
// Alignment: 1
// Members count: 4
public enum DisableShadows_t : byte {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libscenesystem.so
// Module: scenesystem.dll
// Classes count: 9
// Enums count: 1
namespace libscenesystem_so {
namespace scenesystem_dll {
// Alignment: 1
// Members count: 4
enum class DisableShadows_t : uint8_t {

View File

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

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libscenesystem.so
// Module: scenesystem.dll
// Classes count: 9
// Enums count: 1
pub mod libscenesystem_so {
pub mod scenesystem_dll {
// Alignment: 1
// Members count: 4
#[repr(u8)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libschemasystem.so
// Module: schemasystem.dll
// Classes count: 7
// Enums count: 2
public static class LibschemasystemSo {
public static class SchemasystemDll {
// Alignment: 1
// Members count: 81
public enum fieldtype_t : byte {
@@ -137,7 +137,7 @@ namespace CS2Dumper.Schemas {
// Metadata:
// MGetKV3ClassDefaults
public static class CExampleSchemaVData_PolymorphicDerivedA {
public const nint m_nDerivedA = 0xC; // int32
public const nint m_nDerivedA = 0x10; // int32
}
// Parent: None
// Fields count: 1
@@ -153,7 +153,7 @@ namespace CS2Dumper.Schemas {
// Metadata:
// MGetKV3ClassDefaults
public static class CExampleSchemaVData_PolymorphicDerivedB {
public const nint m_nDerivedB = 0xC; // int32
public const nint m_nDerivedB = 0x10; // int32
}
// Parent: None
// Fields count: 1

View File

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

View File

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

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libschemasystem.so
// Module: schemasystem.dll
// Classes count: 7
// Enums count: 2
pub mod libschemasystem_so {
pub mod schemasystem_dll {
// Alignment: 1
// Members count: 81
#[repr(u8)]
@@ -142,7 +142,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CExampleSchemaVData_PolymorphicDerivedA {
pub const m_nDerivedA: usize = 0xC; // int32
pub const m_nDerivedA: usize = 0x10; // int32
}
// Parent: None
// Fields count: 1
@@ -158,7 +158,7 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod CExampleSchemaVData_PolymorphicDerivedB {
pub const m_nDerivedB: usize = 0xC; // int32
pub const m_nDerivedB: usize = 0x10; // int32
}
// Parent: None
// 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
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libsoundsystem.so
// Module: soundsystem.dll
// Classes count: 63
// Enums count: 18
public static class LibsoundsystemSo {
public static class SoundsystemDll {
// Alignment: 4
// Members count: 2
public enum EMode_t : uint {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libsoundsystem.so
// Module: soundsystem.dll
// Classes count: 63
// Enums count: 18
namespace libsoundsystem_so {
namespace soundsystem_dll {
// Alignment: 4
// Members count: 2
enum class EMode_t : uint32_t {

View File

@@ -1,5 +1,5 @@
{
"libsoundsystem.so": {
"soundsystem.dll": {
"classes": {
"CAudioEmphasisSample": {
"fields": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libsoundsystem.so
// Module: soundsystem.dll
// Classes count: 63
// Enums count: 18
pub mod libsoundsystem_so {
pub mod soundsystem_dll {
// Alignment: 4
// Members count: 2
#[repr(u32)]

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libvphysics2.so
// Module: vphysics2.dll
// Classes count: 88
// Enums count: 2
public static class Libvphysics2So {
public static class Vphysics2Dll {
// Alignment: 4
// Members count: 3
public enum JointMotion_t : uint {
@@ -202,8 +202,8 @@ namespace CS2Dumper.Schemas {
// Metadata:
// MGetKV3ClassDefaults
public static class FeBuildBoxRigid_t {
public const nint m_nPriority = 0x34; // int32
public const nint m_nVertexMapHash = 0x38; // uint32
public const nint m_nPriority = 0x40; // int32
public const nint m_nVertexMapHash = 0x44; // uint32
}
// Parent: None
// Fields count: 3

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libvphysics2.so
// Module: vphysics2.dll
// Classes count: 88
// Enums count: 2
namespace libvphysics2_so {
namespace vphysics2_dll {
// Alignment: 4
// Members count: 3
enum class JointMotion_t : uint32_t {
@@ -207,8 +207,8 @@ namespace cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
namespace FeBuildBoxRigid_t {
constexpr std::ptrdiff_t m_nPriority = 0x34; // int32
constexpr std::ptrdiff_t m_nVertexMapHash = 0x38; // uint32
constexpr std::ptrdiff_t m_nPriority = 0x40; // int32
constexpr std::ptrdiff_t m_nVertexMapHash = 0x44; // uint32
}
// Parent: None
// Fields count: 3

View File

@@ -1,5 +1,5 @@
{
"libvphysics2.so": {
"vphysics2.dll": {
"classes": {
"CFeIndexedJiggleBone": {
"fields": {
@@ -226,8 +226,8 @@
},
"FeBuildBoxRigid_t": {
"fields": {
"m_nPriority": 52,
"m_nVertexMapHash": 56
"m_nPriority": 64,
"m_nVertexMapHash": 68
},
"metadata": [
{

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libvphysics2.so
// Module: vphysics2.dll
// Classes count: 88
// Enums count: 2
pub mod libvphysics2_so {
pub mod vphysics2_dll {
// Alignment: 4
// Members count: 3
#[repr(u32)]
@@ -207,8 +207,8 @@ pub mod cs2_dumper {
// Metadata:
// MGetKV3ClassDefaults
pub mod FeBuildBoxRigid_t {
pub const m_nPriority: usize = 0x34; // int32
pub const m_nVertexMapHash: usize = 0x38; // uint32
pub const m_nPriority: usize = 0x40; // int32
pub const m_nVertexMapHash: usize = 0x44; // uint32
}
// Parent: None
// Fields count: 3

View File

@@ -1,11 +1,11 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
namespace CS2Dumper.Schemas {
// Module: libworldrenderer.so
// Module: worldrenderer.dll
// Classes count: 23
// Enums count: 1
public static class LibworldrendererSo {
public static class WorldrendererDll {
// Alignment: 4
// Members count: 13
public enum ObjectTypeFlags_t : uint {

View File

@@ -1,5 +1,5 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#pragma once
@@ -7,10 +7,10 @@
namespace cs2_dumper {
namespace schemas {
// Module: libworldrenderer.so
// Module: worldrenderer.dll
// Classes count: 23
// Enums count: 1
namespace libworldrenderer_so {
namespace worldrenderer_dll {
// Alignment: 4
// Members count: 13
enum class ObjectTypeFlags_t : uint32_t {

View File

@@ -1,5 +1,5 @@
{
"libworldrenderer.so": {
"worldrenderer.dll": {
"classes": {
"AggregateLODSetup_t": {
"fields": {

View File

@@ -1,14 +1,14 @@
// Generated using https://github.com/a2x/cs2-dumper
// 2024-07-22 10:50:13.060719885 UTC
// 2024-05-24 10:58:30.509826500 UTC
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
pub mod cs2_dumper {
pub mod schemas {
// Module: libworldrenderer.so
// Module: worldrenderer.dll
// Classes count: 23
// Enums count: 1
pub mod libworldrenderer_so {
pub mod worldrenderer_dll {
// Alignment: 4
// Members count: 13
#[repr(u32)]

View File

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

View File

@@ -2,29 +2,36 @@ use log::debug;
use memflow::prelude::v1::*;
use serde::{Deserialize, Serialize};
use pelite::pattern;
use pelite::pe64::{Pe, PeView};
use skidscan_macros::signature;
use serde::{Deserialize, Serialize};
use crate::error::{Error, Result};
use crate::source2::KeyButton;
#[derive(Deserialize, Serialize)]
#[derive(Debug, Deserialize, Serialize)]
pub struct Button {
pub name: String,
pub value: u32,
}
pub fn buttons(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<Vec<Button>> {
let module = process.module_by_name("libclient.so")?;
let module = process.module_by_name("client.dll")?;
let buf = process.read_raw(module.base, module.size as _)?;
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 view = PeView::from_bytes(&buf)?;
read_buttons(process, &module, list_addr)
let mut save = [0; 2];
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(
@@ -44,7 +51,7 @@ fn read_buttons(
((cur_button.address() - module.base) + offset_of!(KeyButton.state) as i64) as u32;
debug!(
"found button: {} at {:#X} ({} + {:#X})",
"found button: {} @ {:#X} ({} + {:#X})",
name,
value as u64 + module.base.to_umem(),
module.name,

View File

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

View File

@@ -1,266 +1,150 @@
use std::collections::BTreeMap;
use std::mem;
use std::str::FromStr;
use log::{debug, error};
use memflow::prelude::v1::*;
use serde::{Deserialize, Serialize};
use pelite::pattern;
use pelite::pattern::{save_len, Atom};
use pelite::pe64::{Pe, PeView};
use crate::config::{Operation, Signature, CONFIG};
use crate::error::{Error, Result};
use phf::{phf_map, Map};
pub type OffsetMap = BTreeMap<String, Vec<Offset>>;
use crate::error::Result;
#[derive(Deserialize, Serialize)]
pub struct Offset {
pub name: String,
pub value: u32,
pub type OffsetMap = BTreeMap<String, BTreeMap<String, u32>>;
macro_rules! pattern_map {
($($module:ident => {
$($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> {
let mut map = BTreeMap::new();
for (module_name, sigs) in CONFIG.signatures.iter().flatten() {
let modules: [(&str, fn(PeView) -> BTreeMap<String, u32>); 4] = [
("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 buf = process.read_raw(module.base, module.size as _)?;
let mut offsets: Vec<_> = sigs
.iter()
.filter_map(|sig| match read_offset(process, &module, sig) {
Ok(offset) => Some(offset),
Err(err) => {
error!("{}", err);
let view = PeView::from_bytes(&buf)?;
None
}
})
.collect();
if !offsets.is_empty() {
offsets.sort_unstable_by(|a, b| a.name.cmp(&b.name));
map.insert(module_name.to_string(), offsets);
}
map.insert(module_name.to_string(), offsets(view));
}
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,23 +5,24 @@ use log::debug;
use memflow::prelude::v1::*;
use serde::{Deserialize, Serialize};
use pelite::pattern;
use pelite::pe64::{Pe, PeView};
use skidscan_macros::signature;
use serde::{Deserialize, Serialize};
use crate::error::{Error, Result};
use crate::source2::*;
pub type SchemaMap = BTreeMap<String, (Vec<Class>, Vec<Enum>)>;
#[derive(Clone, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub enum ClassMetadata {
Unknown { name: String },
NetworkChangeCallback { name: String },
NetworkVarNames { name: String, type_name: String },
}
#[derive(Clone, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Class {
pub name: String,
pub module_name: String,
@@ -30,28 +31,28 @@ pub struct Class {
pub fields: Vec<ClassField>,
}
#[derive(Clone, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct ClassField {
pub name: String,
pub type_name: String,
pub offset: i32,
}
#[derive(Clone, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Enum {
pub name: String,
pub alignment: u8,
pub size: i16,
pub size: u16,
pub members: Vec<EnumMember>,
}
#[derive(Clone, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct EnumMember {
pub name: String,
pub value: i64,
}
#[derive(Clone, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct TypeScope {
pub module_name: String,
pub classes: Vec<Class>,
@@ -84,7 +85,7 @@ fn read_class_binding(
let module_name = binding
.module_name
.read_string(process)
.map(|s| format!("{}.so", s))?;
.map(|s| format!("{}.dll", s))?;
let name = binding.name.read_string(process)?.to_string();
@@ -117,7 +118,7 @@ fn read_class_binding(
let metadata = read_class_binding_metadata(process, &binding)?;
debug!(
"found class: {} at {:#X} (module name: {}) (parent name: {:?}) (metadata count: {}) (fields count: {})",
"found class: {} @ {:#X} (module name: {}) (parent name: {:?}) (metadata count: {}) (fields count: {})",
name,
binding_ptr.to_umem(),
module_name,
@@ -143,7 +144,7 @@ fn read_class_binding_fields(
return Ok(Vec::new());
}
(0..binding.fields_count).try_fold(Vec::new(), |mut acc, i| {
(0..binding.field_count).try_fold(Vec::new(), |mut acc, i| {
let field = binding.fields.at(i as _).read(process)?;
if field.schema_type.is_null() {
@@ -177,12 +178,12 @@ fn read_class_binding_metadata(
(0..binding.static_metadata_count).try_fold(Vec::new(), |mut acc, i| {
let metadata = binding.static_metadata.at(i as _).read(process)?;
if metadata.network_value.is_null() {
if metadata.data.is_null() {
return Ok(acc);
}
let name = metadata.name.read_string(process)?.to_string();
let network_value = metadata.network_value.read(process)?;
let network_value = metadata.data.read(process)?;
let metadata = match name.as_str() {
"MNetworkChangeCallback" => unsafe {
@@ -225,17 +226,17 @@ fn read_enum_binding(
let members = read_enum_binding_members(process, &binding)?;
debug!(
"found enum: {} at {:#X} (alignment: {}) (members count: {})",
"found enum: {} @ {:#X} (alignment: {}) (members count: {})",
name,
binding_ptr.to_umem(),
binding.align_of,
binding.alignment,
binding.size,
);
Ok(Enum {
name,
alignment: binding.align_of,
size: binding.enumerators_count,
alignment: binding.alignment,
size: binding.enumerator_count,
members,
})
}
@@ -248,7 +249,7 @@ fn read_enum_binding_members(
return Ok(Vec::new());
}
(0..binding.enumerators_count).try_fold(Vec::new(), |mut acc, i| {
(0..binding.enumerator_count).try_fold(Vec::new(), |mut acc, i| {
let enumerator = binding.enumerators.at(i as _).read(process)?;
let name = enumerator.name.read_string(process)?.to_string();
@@ -262,15 +263,21 @@ fn read_enum_binding_members(
}
fn read_schema_system(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<SchemaSystem> {
let module = process.module_by_name("libschemasystem.so")?;
let module = process.module_by_name("schemasystem.dll")?;
let buf = process.read_raw(module.base, module.size as _)?;
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 view = PeView::from_bytes(&buf)?;
let schema_system: SchemaSystem = process.read(schema_system_addr)?;
let mut save = [0; 2];
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 {
return Err(Error::Other("no schema system registrations found"));
@@ -312,7 +319,7 @@ fn read_type_scopes(
}
debug!(
"found type scope: {} at {:#X} (classes count: {}) (enums count: {})",
"found type scope: {} @ {:#X} (classes count: {}) (enums count: {})",
module_name,
type_scope_ptr.to_umem(),
classes.len(),

View File

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

View File

@@ -1,20 +1,19 @@
use std::path::PathBuf;
use std::str::FromStr;
use std::time::Instant;
use clap::{ArgAction, Parser};
use clap::*;
use log::{info, Level};
use memflow::prelude::v1::*;
use simplelog::{ColorChoice, Config, TermLogger, TerminalMode};
use simplelog::{ColorChoice, TermLogger};
use config::CONFIG;
use error::Result;
use output::Output;
mod analysis;
mod config;
mod error;
mod mem;
mod output;
@@ -23,6 +22,14 @@ mod source2;
#[derive(Debug, Parser)]
#[command(author, version)]
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.
#[arg(short, long, value_delimiter = ',', default_values = ["cs", "hpp", "json", "rs"])]
file_types: Vec<String>,
@@ -35,6 +42,10 @@ struct Args {
#[arg(short, long, default_value = "output")]
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.
#[arg(short, action = ArgAction::Count)]
verbose: u8,
@@ -54,18 +65,34 @@ fn main() -> Result<()> {
TermLogger::init(
log_level.to_level_filter(),
Config::default(),
TerminalMode::Mixed,
Default::default(),
Default::default(),
ColorChoice::Auto,
)
.unwrap();
let os = memflow_native::create_os(&OsArgs::default(), LibArc::default())?;
let conn_args = args
.connector_args
.map(|s| ConnectorArgs::from_str(&s).expect("unable to parse connector arguments"))
.unwrap_or_default();
let mut process = os.into_process_by_name(&CONFIG.executable)?;
let os = if let Some(conn) = args.connector {
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 output = Output::new(&args.file_types, args.indent_size, &args.output, &result)?;
output.dump_all(&mut process)?;

View File

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

View File

@@ -15,6 +15,7 @@ impl<'a> Formatter<'a> {
}
}
// TODO: Refactor this.
pub fn block<F>(&mut self, heading: &str, semicolon: bool, f: F) -> fmt::Result
where
F: FnOnce(&mut Self) -> fmt::Result,
@@ -41,6 +42,7 @@ impl<'a> Formatter<'a> {
Ok(())
}
#[inline]
fn push_indentation(&mut self) {
if self.indent_level > 0 {
let indentation = " ".repeat(self.indent_level * self.indent_size);

View File

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

View File

@@ -135,11 +135,7 @@ impl<'a> Output<'a> {
.iter()
.find_map(|(module_name, offsets)| {
let module = process.module_by_name(module_name).ok()?;
let offset = offsets
.iter()
.find(|offset| offset.name == "dwBuildNumber")?
.value;
let offset = offsets.iter().find(|(name, _)| *name == "dwBuildNumber")?.1;
process.read::<u32>(module.base + offset).ok()
})

View File

@@ -14,12 +14,8 @@ impl CodeWriter for OffsetMap {
&format!("public static class {}", AsPascalCase(slugify(module_name))),
false,
|fmt| {
for offset in offsets {
writeln!(
fmt,
"public const nint {} = {:#X};",
offset.name, offset.value
)?;
for (name, value) in offsets {
writeln!(fmt, "public const nint {} = {:#X};", name, value)?;
}
Ok(())
@@ -44,12 +40,8 @@ impl CodeWriter for OffsetMap {
&format!("namespace {}", AsSnakeCase(slugify(module_name))),
false,
|fmt| {
for offset in offsets {
writeln!(
fmt,
"constexpr std::ptrdiff_t {} = {:#X};",
offset.name, offset.value
)?;
for (name, value) in offsets {
writeln!(fmt, "constexpr std::ptrdiff_t {} = {:#X};", name, value)?;
}
Ok(())
@@ -63,7 +55,7 @@ impl CodeWriter for OffsetMap {
}
fn write_json(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
fmt.write_str(&serde_json::to_string_pretty(self).expect("failed to serialize"))
fmt.write_str(&serde_json::to_string_pretty(self).expect("unable to serialize json"))
}
fn write_rs(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
@@ -78,12 +70,8 @@ impl CodeWriter for OffsetMap {
&format!("pub mod {}", AsSnakeCase(slugify(module_name))),
false,
|fmt| {
for offset in offsets {
writeln!(
fmt,
"pub const {}: usize = {:#X};",
offset.name, offset.value
)?;
for (name, value) in offsets {
writeln!(fmt, "pub const {}: usize = {:#X};", name, value)?;
}
Ok(())

View File

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

View File

@@ -8,6 +8,6 @@ pub struct SchemaClassFieldData {
pub name: Pointer64<ReprCString>, // 0x0000
pub schema_type: Pointer64<SchemaType>, // 0x0008
pub single_inheritance_offset: i32, // 0x0010
pub metadata_count: i32, // 0x0014
pub metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
pub static_metadata_count: i32, // 0x0014
pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
}

View File

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

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