From 80334adade8cf8f3cf80d9b999423436fca6ff1b Mon Sep 17 00:00:00 2001 From: a2x <45197573+a2x@users.noreply.github.com> Date: Wed, 10 Apr 2024 11:20:31 +1000 Subject: [PATCH] Add pattern for `dwWeaponC4` --- output/offsets.cs | 3 ++- output/offsets.hpp | 3 ++- output/offsets.json | 3 ++- output/offsets.rs | 5 +++-- src/analysis/offsets.rs | 3 ++- src/analysis/schemas.rs | 7 ++++++- 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/output/offsets.cs b/output/offsets.cs index f637fb4..c3d43b1 100644 --- a/output/offsets.cs +++ b/output/offsets.cs @@ -1,5 +1,5 @@ // Generated using https://github.com/a2x/cs2-dumper -// 2024-04-08 07:10:44.298916800 UTC +// 2024-04-10 01:18:49.435410600 UTC namespace CS2Dumper.Offsets { // Module: client.dll @@ -20,6 +20,7 @@ namespace CS2Dumper.Offsets { public const nint dwViewAngles = 0x192F940; public const nint dwViewMatrix = 0x19231B0; public const nint dwViewRender = 0x19239B0; + public const nint dwWeaponC4 = 0x18C5210; } // Module: engine2.dll public static class Engine2Dll { diff --git a/output/offsets.hpp b/output/offsets.hpp index 6449e03..a60b758 100644 --- a/output/offsets.hpp +++ b/output/offsets.hpp @@ -1,5 +1,5 @@ // Generated using https://github.com/a2x/cs2-dumper -// 2024-04-08 07:10:44.298916800 UTC +// 2024-04-10 01:18:49.435410600 UTC #pragma once @@ -25,6 +25,7 @@ namespace cs2_dumper { constexpr std::ptrdiff_t dwViewAngles = 0x192F940; constexpr std::ptrdiff_t dwViewMatrix = 0x19231B0; constexpr std::ptrdiff_t dwViewRender = 0x19239B0; + constexpr std::ptrdiff_t dwWeaponC4 = 0x18C5210; } // Module: engine2.dll namespace engine2_dll { diff --git a/output/offsets.json b/output/offsets.json index 4fb24e7..957b685 100644 --- a/output/offsets.json +++ b/output/offsets.json @@ -15,7 +15,8 @@ "dwSensitivity_sensitivity": 64, "dwViewAngles": 26409280, "dwViewMatrix": 26358192, - "dwViewRender": 26360240 + "dwViewRender": 26360240, + "dwWeaponC4": 25973264 }, "engine2.dll": { "dwBuildNumber": 5330276, diff --git a/output/offsets.rs b/output/offsets.rs index 5362c70..82a9158 100644 --- a/output/offsets.rs +++ b/output/offsets.rs @@ -1,7 +1,7 @@ // Generated using https://github.com/a2x/cs2-dumper -// 2024-04-08 07:10:44.298916800 UTC +// 2024-04-10 01:18:49.435410600 UTC -#![allow(non_upper_case_globals, non_camel_case_types, unused)] +#![allow(non_upper_case_globals, unused)] pub mod cs2_dumper { pub mod offsets { @@ -23,6 +23,7 @@ pub mod cs2_dumper { pub const dwViewAngles: usize = 0x192F940; pub const dwViewMatrix: usize = 0x19231B0; pub const dwViewRender: usize = 0x19239B0; + pub const dwWeaponC4: usize = 0x18C5210; } // Module: engine2.dll pub mod engine2_dll { diff --git a/src/analysis/offsets.rs b/src/analysis/offsets.rs index 7599743..71bfb1e 100644 --- a/src/analysis/offsets.rs +++ b/src/analysis/offsets.rs @@ -70,7 +70,7 @@ macro_rules! pattern_map { pattern_map! { client => { - "dwCSGOInput" => pattern!("4c8b0d${*{'}} 488d045b") => Some(|view, map, rva| { + "dwCSGOInput" => pattern!("488905${'} 488d05${} 48890d${} 488905${} 488d05") => Some(|view, map, rva| { let mut save = [0; 2]; if view.scanner().finds_code(pattern!("498d81u4 4803c7"), &mut save) { @@ -92,6 +92,7 @@ pattern_map! { "dwSensitivity_sensitivity" => pattern!("ff50u1 4c8bc6 488d55? 488bcf e8${} 84c0 0f85${} 4c8d45? 8bd3 488bcf e8${} e9${} f30f1006") => None, "dwViewMatrix" => pattern!("488d0d${'} 48c1e006") => None, "dwViewRender" => pattern!("488905${'} 488bc8 4885c0") => None, + "dwWeaponC4" => pattern!("488b15${'} ffc0 8905${} 488bc7") => None, }, engine2 => { "dwBuildNumber" => pattern!("8905${'} 488d0d${} ff15${} e9") => None, diff --git a/src/analysis/schemas.rs b/src/analysis/schemas.rs index 04a16c3..2c9b6ea 100644 --- a/src/analysis/schemas.rs +++ b/src/analysis/schemas.rs @@ -93,7 +93,12 @@ fn read_class_binding( let base_class = ptr.read(process).ok()?; let parent_class = base_class.prev.read(process).ok()?; - let module_name = parent_class.module_name.read_string(process).ok()?.to_string(); + let module_name = parent_class + .module_name + .read_string(process) + .ok()? + .to_string(); + let name = parent_class.name.read_string(process).ok()?.to_string(); Some(Box::new(Class {