📦 Game Update 13952

This commit is contained in:
a2x 2023-09-30 12:40:34 +10:00
parent b61d63b6ef
commit 5963b4fef0
19 changed files with 210 additions and 195 deletions

View File

@ -1733,6 +1733,7 @@ public static class C_CSGameRules {
public const nint m_nCTTeamIntroVariant = 0xEB0; public const nint m_nCTTeamIntroVariant = 0xEB0;
public const nint m_bTeamIntroPeriod = 0xEB4; public const nint m_bTeamIntroPeriod = 0xEB4;
public const nint m_flLastPerfSampleTime = 0x1E70; public const nint m_flLastPerfSampleTime = 0x1E70;
public const nint m_bSkipNextPerfSample = 0x1E78;
} }
public static class C_CSGameRulesProxy { public static class C_CSGameRulesProxy {

View File

@ -1737,6 +1737,7 @@ namespace C_CSGameRules {
constexpr std::ptrdiff_t m_nCTTeamIntroVariant = 0xEB0; constexpr std::ptrdiff_t m_nCTTeamIntroVariant = 0xEB0;
constexpr std::ptrdiff_t m_bTeamIntroPeriod = 0xEB4; constexpr std::ptrdiff_t m_bTeamIntroPeriod = 0xEB4;
constexpr std::ptrdiff_t m_flLastPerfSampleTime = 0x1E70; constexpr std::ptrdiff_t m_flLastPerfSampleTime = 0x1E70;
constexpr std::ptrdiff_t m_bSkipNextPerfSample = 0x1E78;
} }
namespace C_CSGameRulesProxy { namespace C_CSGameRulesProxy {

View File

@ -1553,6 +1553,7 @@
"m_bMatchWaitingForResume": 89, "m_bMatchWaitingForResume": 89,
"m_bPlayAllStepSoundsOnServer": 154, "m_bPlayAllStepSoundsOnServer": 154,
"m_bServerPaused": 68, "m_bServerPaused": 68,
"m_bSkipNextPerfSample": 7800,
"m_bSpawnedTerrorHuntHeavy": 3221, "m_bSpawnedTerrorHuntHeavy": 3221,
"m_bSwitchingTeamsAtRoundReset": 3435, "m_bSwitchingTeamsAtRoundReset": 3435,
"m_bTCantBuy": 2536, "m_bTCantBuy": 2536,

View File

@ -1735,6 +1735,7 @@ pub mod C_CSGameRules {
pub const m_nCTTeamIntroVariant: usize = 0xEB0; pub const m_nCTTeamIntroVariant: usize = 0xEB0;
pub const m_bTeamIntroPeriod: usize = 0xEB4; pub const m_bTeamIntroPeriod: usize = 0xEB4;
pub const m_flLastPerfSampleTime: usize = 0x1E70; pub const m_flLastPerfSampleTime: usize = 0x1E70;
pub const m_bSkipNextPerfSample: usize = 0x1E78;
} }
pub mod C_CSGameRulesProxy { pub mod C_CSGameRulesProxy {

View File

@ -15,34 +15,34 @@ public static class client_dll {
} }
public static class engine2_dll { public static class engine2_dll {
public const nint SimpleEngineLoopService_001 = 0x1E47A0; public const nint SimpleEngineLoopService_001 = 0x1E4F40;
public const nint ClientServerEngineLoopService_001 = 0x1DA470; public const nint ClientServerEngineLoopService_001 = 0x1DAC10;
public const nint KeyValueCache001 = 0x1D6810; public const nint KeyValueCache001 = 0x1D6FB0;
public const nint HostStateMgr001 = 0x1D4220; public const nint HostStateMgr001 = 0x1D49C0;
public const nint GameEventSystemServerV001 = 0x1CF640; public const nint GameEventSystemServerV001 = 0x1CFDE0;
public const nint GameEventSystemClientV001 = 0x1CF630; public const nint GameEventSystemClientV001 = 0x1CFDD0;
public const nint EngineServiceMgr001 = 0x1CAF50; public const nint EngineServiceMgr001 = 0x1CB6F0;
public const nint VProfService_001 = 0x1B8CE0; public const nint VProfService_001 = 0x1B8D20;
public const nint ToolService_001 = 0x1B7A40; public const nint ToolService_001 = 0x1B7A80;
public const nint StatsService_001 = 0x1B2CC0; public const nint StatsService_001 = 0x1B2D00;
public const nint SplitScreenService_001 = 0x1AFF30; public const nint SplitScreenService_001 = 0x1AFF70;
public const nint SoundService_001 = 0x1AAA80; public const nint SoundService_001 = 0x1AAAC0;
public const nint ScreenshotService001 = 0x1A6950; public const nint ScreenshotService001 = 0x1A6990;
public const nint RenderService_001 = 0x1A3CB0; public const nint RenderService_001 = 0x1A3CF0;
public const nint NetworkService_001 = 0x1A37C0; public const nint NetworkService_001 = 0x1A3800;
public const nint NetworkServerService_001 = 0x19E860; public const nint NetworkServerService_001 = 0x19E8A0;
public const nint NetworkP2PService_001 = 0x19A270; public const nint NetworkP2PService_001 = 0x19A2B0;
public const nint NetworkClientService_001 = 0x193EA0; public const nint NetworkClientService_001 = 0x193EE0;
public const nint MapListService_001 = 0x18CEE0; public const nint MapListService_001 = 0x18CF20;
public const nint InputService_001 = 0x17AC50; public const nint InputService_001 = 0x17AC70;
public const nint GameUIService_001 = 0x175710; public const nint GameUIService_001 = 0x175730;
public const nint GameResourceServiceServerV001 = 0x173470; public const nint GameResourceServiceServerV001 = 0x173490;
public const nint GameResourceServiceClientV001 = 0x173460; public const nint GameResourceServiceClientV001 = 0x173480;
public const nint BugService001 = 0x16C490; public const nint BugService001 = 0x16C4B0;
public const nint BenchmarkService001 = 0x16AC60; public const nint BenchmarkService001 = 0x16AC80;
public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x118380; public const nint VENGINE_GAMEUIFUNCS_VERSION005 = 0x1183A0;
public const nint EngineGameUI001 = 0x117640; public const nint EngineGameUI001 = 0x117660;
public const nint INETSUPPORT_001 = 0xE6E20; public const nint INETSUPPORT_001 = 0xE6E40;
public const nint Source2EngineToServerStringTable001 = 0xA18A0; public const nint Source2EngineToServerStringTable001 = 0xA18A0;
public const nint Source2EngineToServer001 = 0x8B6D0; public const nint Source2EngineToServer001 = 0x8B6D0;
public const nint Source2EngineToClientStringTable001 = 0x840D0; public const nint Source2EngineToClientStringTable001 = 0x840D0;
@ -152,16 +152,16 @@ public static class schemasystem_dll {
} }
public static class server_dll { public static class server_dll {
public const nint NavGameTest001 = 0xA2B2F0; public const nint NavGameTest001 = 0xA2D390;
public const nint ServerToolsInfo_001 = 0x82F8A0; public const nint ServerToolsInfo_001 = 0x831940;
public const nint Source2GameClients001 = 0x82F8B0; public const nint Source2GameClients001 = 0x831950;
public const nint Source2GameEntities001 = 0x82F8C0; public const nint Source2GameEntities001 = 0x831960;
public const nint Source2Server001 = 0x82F8D0; public const nint Source2Server001 = 0x831970;
public const nint EmptyWorldService001_Server = 0x584620; public const nint EmptyWorldService001_Server = 0x586680;
public const nint Source2ServerConfig001 = 0x564630; public const nint Source2ServerConfig001 = 0x566690;
public const nint EntitySubclassUtilsV001 = 0x2C6980; public const nint EntitySubclassUtilsV001 = 0x2C89A0;
public const nint customnavsystem001 = 0x243400; public const nint customnavsystem001 = 0x245420;
public const nint Source2GameDirector001 = 0x13E9A0; public const nint Source2GameDirector001 = 0x13ED30;
} }
public static class soundsystem_dll { public static class soundsystem_dll {

View File

@ -19,34 +19,34 @@ namespace client_dll {
} }
namespace engine2_dll { namespace engine2_dll {
constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1E47A0; constexpr std::ptrdiff_t SimpleEngineLoopService_001 = 0x1E4F40;
constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1DA470; constexpr std::ptrdiff_t ClientServerEngineLoopService_001 = 0x1DAC10;
constexpr std::ptrdiff_t KeyValueCache001 = 0x1D6810; constexpr std::ptrdiff_t KeyValueCache001 = 0x1D6FB0;
constexpr std::ptrdiff_t HostStateMgr001 = 0x1D4220; constexpr std::ptrdiff_t HostStateMgr001 = 0x1D49C0;
constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1CF640; constexpr std::ptrdiff_t GameEventSystemServerV001 = 0x1CFDE0;
constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1CF630; constexpr std::ptrdiff_t GameEventSystemClientV001 = 0x1CFDD0;
constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1CAF50; constexpr std::ptrdiff_t EngineServiceMgr001 = 0x1CB6F0;
constexpr std::ptrdiff_t VProfService_001 = 0x1B8CE0; constexpr std::ptrdiff_t VProfService_001 = 0x1B8D20;
constexpr std::ptrdiff_t ToolService_001 = 0x1B7A40; constexpr std::ptrdiff_t ToolService_001 = 0x1B7A80;
constexpr std::ptrdiff_t StatsService_001 = 0x1B2CC0; constexpr std::ptrdiff_t StatsService_001 = 0x1B2D00;
constexpr std::ptrdiff_t SplitScreenService_001 = 0x1AFF30; constexpr std::ptrdiff_t SplitScreenService_001 = 0x1AFF70;
constexpr std::ptrdiff_t SoundService_001 = 0x1AAA80; constexpr std::ptrdiff_t SoundService_001 = 0x1AAAC0;
constexpr std::ptrdiff_t ScreenshotService001 = 0x1A6950; constexpr std::ptrdiff_t ScreenshotService001 = 0x1A6990;
constexpr std::ptrdiff_t RenderService_001 = 0x1A3CB0; constexpr std::ptrdiff_t RenderService_001 = 0x1A3CF0;
constexpr std::ptrdiff_t NetworkService_001 = 0x1A37C0; constexpr std::ptrdiff_t NetworkService_001 = 0x1A3800;
constexpr std::ptrdiff_t NetworkServerService_001 = 0x19E860; constexpr std::ptrdiff_t NetworkServerService_001 = 0x19E8A0;
constexpr std::ptrdiff_t NetworkP2PService_001 = 0x19A270; constexpr std::ptrdiff_t NetworkP2PService_001 = 0x19A2B0;
constexpr std::ptrdiff_t NetworkClientService_001 = 0x193EA0; constexpr std::ptrdiff_t NetworkClientService_001 = 0x193EE0;
constexpr std::ptrdiff_t MapListService_001 = 0x18CEE0; constexpr std::ptrdiff_t MapListService_001 = 0x18CF20;
constexpr std::ptrdiff_t InputService_001 = 0x17AC50; constexpr std::ptrdiff_t InputService_001 = 0x17AC70;
constexpr std::ptrdiff_t GameUIService_001 = 0x175710; constexpr std::ptrdiff_t GameUIService_001 = 0x175730;
constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x173470; constexpr std::ptrdiff_t GameResourceServiceServerV001 = 0x173490;
constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x173460; constexpr std::ptrdiff_t GameResourceServiceClientV001 = 0x173480;
constexpr std::ptrdiff_t BugService001 = 0x16C490; constexpr std::ptrdiff_t BugService001 = 0x16C4B0;
constexpr std::ptrdiff_t BenchmarkService001 = 0x16AC60; constexpr std::ptrdiff_t BenchmarkService001 = 0x16AC80;
constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x118380; constexpr std::ptrdiff_t VENGINE_GAMEUIFUNCS_VERSION005 = 0x1183A0;
constexpr std::ptrdiff_t EngineGameUI001 = 0x117640; constexpr std::ptrdiff_t EngineGameUI001 = 0x117660;
constexpr std::ptrdiff_t INETSUPPORT_001 = 0xE6E20; constexpr std::ptrdiff_t INETSUPPORT_001 = 0xE6E40;
constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0xA18A0; constexpr std::ptrdiff_t Source2EngineToServerStringTable001 = 0xA18A0;
constexpr std::ptrdiff_t Source2EngineToServer001 = 0x8B6D0; constexpr std::ptrdiff_t Source2EngineToServer001 = 0x8B6D0;
constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x840D0; constexpr std::ptrdiff_t Source2EngineToClientStringTable001 = 0x840D0;
@ -156,16 +156,16 @@ namespace schemasystem_dll {
} }
namespace server_dll { namespace server_dll {
constexpr std::ptrdiff_t NavGameTest001 = 0xA2B2F0; constexpr std::ptrdiff_t NavGameTest001 = 0xA2D390;
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0x82F8A0; constexpr std::ptrdiff_t ServerToolsInfo_001 = 0x831940;
constexpr std::ptrdiff_t Source2GameClients001 = 0x82F8B0; constexpr std::ptrdiff_t Source2GameClients001 = 0x831950;
constexpr std::ptrdiff_t Source2GameEntities001 = 0x82F8C0; constexpr std::ptrdiff_t Source2GameEntities001 = 0x831960;
constexpr std::ptrdiff_t Source2Server001 = 0x82F8D0; constexpr std::ptrdiff_t Source2Server001 = 0x831970;
constexpr std::ptrdiff_t EmptyWorldService001_Server = 0x584620; constexpr std::ptrdiff_t EmptyWorldService001_Server = 0x586680;
constexpr std::ptrdiff_t Source2ServerConfig001 = 0x564630; constexpr std::ptrdiff_t Source2ServerConfig001 = 0x566690;
constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x2C6980; constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x2C89A0;
constexpr std::ptrdiff_t customnavsystem001 = 0x243400; constexpr std::ptrdiff_t customnavsystem001 = 0x245420;
constexpr std::ptrdiff_t Source2GameDirector001 = 0x13E9A0; constexpr std::ptrdiff_t Source2GameDirector001 = 0x13ED30;
} }
namespace soundsystem_dll { namespace soundsystem_dll {

View File

@ -14,38 +14,38 @@
"Source2ClientUI001": 8895136 "Source2ClientUI001": 8895136
}, },
"engine2_dll": { "engine2_dll": {
"BenchmarkService001": 1485920, "BenchmarkService001": 1485952,
"BugService001": 1492112, "BugService001": 1492144,
"ClientServerEngineLoopService_001": 1942640, "ClientServerEngineLoopService_001": 1944592,
"EngineGameUI001": 1144384, "EngineGameUI001": 1144416,
"EngineServiceMgr001": 1879888, "EngineServiceMgr001": 1881840,
"GameEventSystemClientV001": 1898032, "GameEventSystemClientV001": 1899984,
"GameEventSystemServerV001": 1898048, "GameEventSystemServerV001": 1900000,
"GameResourceServiceClientV001": 1520736, "GameResourceServiceClientV001": 1520768,
"GameResourceServiceServerV001": 1520752, "GameResourceServiceServerV001": 1520784,
"GameUIService_001": 1529616, "GameUIService_001": 1529648,
"HostStateMgr001": 1917472, "HostStateMgr001": 1919424,
"INETSUPPORT_001": 945696, "INETSUPPORT_001": 945728,
"InputService_001": 1551440, "InputService_001": 1551472,
"KeyValueCache001": 1927184, "KeyValueCache001": 1929136,
"MapListService_001": 1625824, "MapListService_001": 1625888,
"NetworkClientService_001": 1654432, "NetworkClientService_001": 1654496,
"NetworkP2PService_001": 1679984, "NetworkP2PService_001": 1680048,
"NetworkServerService_001": 1697888, "NetworkServerService_001": 1697952,
"NetworkService_001": 1718208, "NetworkService_001": 1718272,
"RenderService_001": 1719472, "RenderService_001": 1719536,
"ScreenshotService001": 1730896, "ScreenshotService001": 1730960,
"SimpleEngineLoopService_001": 1984416, "SimpleEngineLoopService_001": 1986368,
"SoundService_001": 1747584, "SoundService_001": 1747648,
"Source2EngineToClient001": 370480, "Source2EngineToClient001": 370480,
"Source2EngineToClientStringTable001": 540880, "Source2EngineToClientStringTable001": 540880,
"Source2EngineToServer001": 571088, "Source2EngineToServer001": 571088,
"Source2EngineToServerStringTable001": 661664, "Source2EngineToServerStringTable001": 661664,
"SplitScreenService_001": 1769264, "SplitScreenService_001": 1769328,
"StatsService_001": 1780928, "StatsService_001": 1780992,
"ToolService_001": 1800768, "ToolService_001": 1800832,
"VENGINE_GAMEUIFUNCS_VERSION005": 1147776, "VENGINE_GAMEUIFUNCS_VERSION005": 1147808,
"VProfService_001": 1805536 "VProfService_001": 1805600
}, },
"filesystem_stdio_dll": { "filesystem_stdio_dll": {
"VAsyncFileSystem2_001": 421184, "VAsyncFileSystem2_001": 421184,
@ -130,16 +130,16 @@
"SchemaSystem_001": 43072 "SchemaSystem_001": 43072
}, },
"server_dll": { "server_dll": {
"EmptyWorldService001_Server": 5785120, "EmptyWorldService001_Server": 5793408,
"EntitySubclassUtilsV001": 2910592, "EntitySubclassUtilsV001": 2918816,
"NavGameTest001": 10662640, "NavGameTest001": 10670992,
"ServerToolsInfo_001": 8583328, "ServerToolsInfo_001": 8591680,
"Source2GameClients001": 8583344, "Source2GameClients001": 8591696,
"Source2GameDirector001": 1304992, "Source2GameDirector001": 1305904,
"Source2GameEntities001": 8583360, "Source2GameEntities001": 8591712,
"Source2Server001": 8583376, "Source2Server001": 8591728,
"Source2ServerConfig001": 5654064, "Source2ServerConfig001": 5662352,
"customnavsystem001": 2372608 "customnavsystem001": 2380832
}, },
"soundsystem_dll": { "soundsystem_dll": {
"SoundOpSystem001": 1401040, "SoundOpSystem001": 1401040,

View File

@ -17,34 +17,34 @@ pub mod client_dll {
} }
pub mod engine2_dll { pub mod engine2_dll {
pub const SimpleEngineLoopService_001: usize = 0x1E47A0; pub const SimpleEngineLoopService_001: usize = 0x1E4F40;
pub const ClientServerEngineLoopService_001: usize = 0x1DA470; pub const ClientServerEngineLoopService_001: usize = 0x1DAC10;
pub const KeyValueCache001: usize = 0x1D6810; pub const KeyValueCache001: usize = 0x1D6FB0;
pub const HostStateMgr001: usize = 0x1D4220; pub const HostStateMgr001: usize = 0x1D49C0;
pub const GameEventSystemServerV001: usize = 0x1CF640; pub const GameEventSystemServerV001: usize = 0x1CFDE0;
pub const GameEventSystemClientV001: usize = 0x1CF630; pub const GameEventSystemClientV001: usize = 0x1CFDD0;
pub const EngineServiceMgr001: usize = 0x1CAF50; pub const EngineServiceMgr001: usize = 0x1CB6F0;
pub const VProfService_001: usize = 0x1B8CE0; pub const VProfService_001: usize = 0x1B8D20;
pub const ToolService_001: usize = 0x1B7A40; pub const ToolService_001: usize = 0x1B7A80;
pub const StatsService_001: usize = 0x1B2CC0; pub const StatsService_001: usize = 0x1B2D00;
pub const SplitScreenService_001: usize = 0x1AFF30; pub const SplitScreenService_001: usize = 0x1AFF70;
pub const SoundService_001: usize = 0x1AAA80; pub const SoundService_001: usize = 0x1AAAC0;
pub const ScreenshotService001: usize = 0x1A6950; pub const ScreenshotService001: usize = 0x1A6990;
pub const RenderService_001: usize = 0x1A3CB0; pub const RenderService_001: usize = 0x1A3CF0;
pub const NetworkService_001: usize = 0x1A37C0; pub const NetworkService_001: usize = 0x1A3800;
pub const NetworkServerService_001: usize = 0x19E860; pub const NetworkServerService_001: usize = 0x19E8A0;
pub const NetworkP2PService_001: usize = 0x19A270; pub const NetworkP2PService_001: usize = 0x19A2B0;
pub const NetworkClientService_001: usize = 0x193EA0; pub const NetworkClientService_001: usize = 0x193EE0;
pub const MapListService_001: usize = 0x18CEE0; pub const MapListService_001: usize = 0x18CF20;
pub const InputService_001: usize = 0x17AC50; pub const InputService_001: usize = 0x17AC70;
pub const GameUIService_001: usize = 0x175710; pub const GameUIService_001: usize = 0x175730;
pub const GameResourceServiceServerV001: usize = 0x173470; pub const GameResourceServiceServerV001: usize = 0x173490;
pub const GameResourceServiceClientV001: usize = 0x173460; pub const GameResourceServiceClientV001: usize = 0x173480;
pub const BugService001: usize = 0x16C490; pub const BugService001: usize = 0x16C4B0;
pub const BenchmarkService001: usize = 0x16AC60; pub const BenchmarkService001: usize = 0x16AC80;
pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x118380; pub const VENGINE_GAMEUIFUNCS_VERSION005: usize = 0x1183A0;
pub const EngineGameUI001: usize = 0x117640; pub const EngineGameUI001: usize = 0x117660;
pub const INETSUPPORT_001: usize = 0xE6E20; pub const INETSUPPORT_001: usize = 0xE6E40;
pub const Source2EngineToServerStringTable001: usize = 0xA18A0; pub const Source2EngineToServerStringTable001: usize = 0xA18A0;
pub const Source2EngineToServer001: usize = 0x8B6D0; pub const Source2EngineToServer001: usize = 0x8B6D0;
pub const Source2EngineToClientStringTable001: usize = 0x840D0; pub const Source2EngineToClientStringTable001: usize = 0x840D0;
@ -154,16 +154,16 @@ pub mod schemasystem_dll {
} }
pub mod server_dll { pub mod server_dll {
pub const NavGameTest001: usize = 0xA2B2F0; pub const NavGameTest001: usize = 0xA2D390;
pub const ServerToolsInfo_001: usize = 0x82F8A0; pub const ServerToolsInfo_001: usize = 0x831940;
pub const Source2GameClients001: usize = 0x82F8B0; pub const Source2GameClients001: usize = 0x831950;
pub const Source2GameEntities001: usize = 0x82F8C0; pub const Source2GameEntities001: usize = 0x831960;
pub const Source2Server001: usize = 0x82F8D0; pub const Source2Server001: usize = 0x831970;
pub const EmptyWorldService001_Server: usize = 0x584620; pub const EmptyWorldService001_Server: usize = 0x586680;
pub const Source2ServerConfig001: usize = 0x564630; pub const Source2ServerConfig001: usize = 0x566690;
pub const EntitySubclassUtilsV001: usize = 0x2C6980; pub const EntitySubclassUtilsV001: usize = 0x2C89A0;
pub const customnavsystem001: usize = 0x243400; pub const customnavsystem001: usize = 0x245420;
pub const Source2GameDirector001: usize = 0x13E9A0; pub const Source2GameDirector001: usize = 0x13ED30;
} }
pub mod soundsystem_dll { pub mod soundsystem_dll {

View File

@ -1,14 +1,14 @@
public static class client_dll { public static class client_dll {
public const nint entityList = 0x178C878; public const nint entityList = 0x178C8A8;
public const nint globalVars = 0x168FCC8; public const nint globalVars = 0x168FCE8;
public const nint interfaceLinkList = 0x1972A38; public const nint interfaceLinkList = 0x1972A68;
public const nint localPlayerController = 0x17DB0F8; public const nint localPlayerController = 0x17DB128;
public const nint localPlayerPawn = 0x1879BE8; public const nint localPlayerPawn = 0x1879C18;
public const nint viewAngles = 0x18D9590; public const nint viewAngles = 0x18D95C0;
public const nint viewMatrix = 0x187A6D0; public const nint viewMatrix = 0x187A700;
} }
public static class engine2_dll { public static class engine2_dll {
public const nint networkGameClient = 0x489AB0; public const nint networkGameClient = 0x48AAB0;
public const nint networkGameClient_signOnState = 0x240; public const nint networkGameClient_signOnState = 0x240;
} }

View File

@ -3,16 +3,16 @@
#include <cstddef> #include <cstddef>
namespace client_dll { namespace client_dll {
constexpr std::ptrdiff_t entityList = 0x178C878; constexpr std::ptrdiff_t entityList = 0x178C8A8;
constexpr std::ptrdiff_t globalVars = 0x168FCC8; constexpr std::ptrdiff_t globalVars = 0x168FCE8;
constexpr std::ptrdiff_t interfaceLinkList = 0x1972A38; constexpr std::ptrdiff_t interfaceLinkList = 0x1972A68;
constexpr std::ptrdiff_t localPlayerController = 0x17DB0F8; constexpr std::ptrdiff_t localPlayerController = 0x17DB128;
constexpr std::ptrdiff_t localPlayerPawn = 0x1879BE8; constexpr std::ptrdiff_t localPlayerPawn = 0x1879C18;
constexpr std::ptrdiff_t viewAngles = 0x18D9590; constexpr std::ptrdiff_t viewAngles = 0x18D95C0;
constexpr std::ptrdiff_t viewMatrix = 0x187A6D0; constexpr std::ptrdiff_t viewMatrix = 0x187A700;
} }
namespace engine2_dll { namespace engine2_dll {
constexpr std::ptrdiff_t networkGameClient = 0x489AB0; constexpr std::ptrdiff_t networkGameClient = 0x48AAB0;
constexpr std::ptrdiff_t networkGameClient_signOnState = 0x240; constexpr std::ptrdiff_t networkGameClient_signOnState = 0x240;
} }

View File

@ -1,15 +1,15 @@
{ {
"client_dll": { "client_dll": {
"entityList": 24692856, "entityList": 24692904,
"globalVars": 23657672, "globalVars": 23657704,
"interfaceLinkList": 26683960, "interfaceLinkList": 26684008,
"localPlayerController": 25014520, "localPlayerController": 25014568,
"localPlayerPawn": 25664488, "localPlayerPawn": 25664536,
"viewAngles": 26056080, "viewAngles": 26056128,
"viewMatrix": 25667280 "viewMatrix": 25667328
}, },
"engine2_dll": { "engine2_dll": {
"networkGameClient": 4758192, "networkGameClient": 4762288,
"networkGameClient_signOnState": 576 "networkGameClient_signOnState": 576
} }
} }

View File

@ -1,16 +1,16 @@
#![allow(non_snake_case, non_upper_case_globals)] #![allow(non_snake_case, non_upper_case_globals)]
pub mod client_dll { pub mod client_dll {
pub const entityList: usize = 0x178C878; pub const entityList: usize = 0x178C8A8;
pub const globalVars: usize = 0x168FCC8; pub const globalVars: usize = 0x168FCE8;
pub const interfaceLinkList: usize = 0x1972A38; pub const interfaceLinkList: usize = 0x1972A68;
pub const localPlayerController: usize = 0x17DB0F8; pub const localPlayerController: usize = 0x17DB128;
pub const localPlayerPawn: usize = 0x1879BE8; pub const localPlayerPawn: usize = 0x1879C18;
pub const viewAngles: usize = 0x18D9590; pub const viewAngles: usize = 0x18D95C0;
pub const viewMatrix: usize = 0x187A6D0; pub const viewMatrix: usize = 0x187A700;
} }
pub mod engine2_dll { pub mod engine2_dll {
pub const networkGameClient: usize = 0x489AB0; pub const networkGameClient: usize = 0x48AAB0;
pub const networkGameClient_signOnState: usize = 0x240; pub const networkGameClient_signOnState: usize = 0x240;
} }

View File

@ -1309,6 +1309,7 @@ public static class CCSGameRules {
public const nint m_fTeamIntroPeriodEnd = 0x17F0; public const nint m_fTeamIntroPeriodEnd = 0x17F0;
public const nint m_bPlayedTeamIntroVO = 0x17F4; public const nint m_bPlayedTeamIntroVO = 0x17F4;
public const nint m_flLastPerfSampleTime = 0x27B0; public const nint m_flLastPerfSampleTime = 0x27B0;
public const nint m_bSkipNextPerfSample = 0x27B8;
} }
public static class CCSGameRulesProxy { public static class CCSGameRulesProxy {

View File

@ -1313,6 +1313,7 @@ namespace CCSGameRules {
constexpr std::ptrdiff_t m_fTeamIntroPeriodEnd = 0x17F0; constexpr std::ptrdiff_t m_fTeamIntroPeriodEnd = 0x17F0;
constexpr std::ptrdiff_t m_bPlayedTeamIntroVO = 0x17F4; constexpr std::ptrdiff_t m_bPlayedTeamIntroVO = 0x17F4;
constexpr std::ptrdiff_t m_flLastPerfSampleTime = 0x27B0; constexpr std::ptrdiff_t m_flLastPerfSampleTime = 0x27B0;
constexpr std::ptrdiff_t m_bSkipNextPerfSample = 0x27B8;
} }
namespace CCSGameRulesProxy { namespace CCSGameRulesProxy {

View File

@ -1110,6 +1110,7 @@
"m_bScrambleTeamsOnRestart": 3563, "m_bScrambleTeamsOnRestart": 3563,
"m_bServerPaused": 216, "m_bServerPaused": 216,
"m_bServerVoteOnReset": 3881, "m_bServerVoteOnReset": 3881,
"m_bSkipNextPerfSample": 10168,
"m_bSpawnedTerrorHuntHeavy": 3369, "m_bSpawnedTerrorHuntHeavy": 3369,
"m_bSwapTeamsOnRestart": 3564, "m_bSwapTeamsOnRestart": 3564,
"m_bSwitchingTeamsAtRoundReset": 5331, "m_bSwitchingTeamsAtRoundReset": 5331,

View File

@ -1311,6 +1311,7 @@ pub mod CCSGameRules {
pub const m_fTeamIntroPeriodEnd: usize = 0x17F0; pub const m_fTeamIntroPeriodEnd: usize = 0x17F0;
pub const m_bPlayedTeamIntroVO: usize = 0x17F4; pub const m_bPlayedTeamIntroVO: usize = 0x17F4;
pub const m_flLastPerfSampleTime: usize = 0x27B0; pub const m_flLastPerfSampleTime: usize = 0x27B0;
pub const m_bSkipNextPerfSample: usize = 0x27B8;
} }
pub mod CCSGameRulesProxy { pub mod CCSGameRulesProxy {

View File

@ -17,15 +17,15 @@ pub fn dump_interfaces(builders: &mut Vec<FileBuilderEnum>, process: &Process) -
if let Some(create_interface_export) = module.export("CreateInterface") { if let Some(create_interface_export) = module.export("CreateInterface") {
let create_interface_address = process.resolve_rip(create_interface_export.va)?; let create_interface_address = process.resolve_rip(create_interface_export.va)?;
let mut interface_registry = process let mut interface_registry_ptr = process
.read_memory::<usize>(create_interface_address) .read_memory::<usize>(create_interface_address)
.unwrap_or(0); .unwrap_or(0);
while interface_registry != 0 { while interface_registry_ptr != 0 {
let interface_ptr = process.read_memory::<usize>(interface_registry)?; let interface_ptr = process.read_memory::<usize>(interface_registry_ptr)?;
let interface_version_name_ptr = let interface_version_name_ptr =
process.read_memory::<usize>(interface_registry + 0x8)?; process.read_memory::<usize>(interface_registry_ptr + 0x8)?;
let interface_version_name = process.read_string(interface_version_name_ptr, 64)?; let interface_version_name = process.read_string(interface_version_name_ptr, 64)?;
@ -41,7 +41,8 @@ pub fn dump_interfaces(builders: &mut Vec<FileBuilderEnum>, process: &Process) -
.or_default() .or_default()
.push((interface_version_name, interface_ptr - module.address())); .push((interface_version_name, interface_ptr - module.address()));
interface_registry = process.read_memory::<usize>(interface_registry + 0x10)?; interface_registry_ptr =
process.read_memory::<usize>(interface_registry_ptr + 0x10)?;
} }
} }
} }

View File

@ -8,6 +8,7 @@ pub enum Error {
ModuleNotFound, ModuleNotFound,
PatternNotFound, PatternNotFound,
ProcessNotFound, ProcessNotFound,
SectionNotFound,
SerdeError(serde_json::Error), SerdeError(serde_json::Error),
Utf8Error(std::string::FromUtf8Error), Utf8Error(std::string::FromUtf8Error),
WindowsError(windows::core::Error), WindowsError(windows::core::Error),
@ -44,6 +45,7 @@ impl std::fmt::Display for Error {
Self::ModuleNotFound => write!(fmt, "Module not found"), Self::ModuleNotFound => write!(fmt, "Module not found"),
Self::PatternNotFound => write!(fmt, "Pattern not found"), Self::PatternNotFound => write!(fmt, "Pattern not found"),
Self::ProcessNotFound => write!(fmt, "Process not found"), Self::ProcessNotFound => write!(fmt, "Process not found"),
Self::SectionNotFound => write!(fmt, "Section not found"),
Self::SerdeError(err) => write!(fmt, "Serde error: {}", err), Self::SerdeError(err) => write!(fmt, "Serde error: {}", err),
Self::Utf8Error(err) => write!(fmt, "UTF-8 error: {}", err), Self::Utf8Error(err) => write!(fmt, "UTF-8 error: {}", err),
Self::WindowsError(err) => write!(fmt, "Windows error: {}", err), Self::WindowsError(err) => write!(fmt, "Windows error: {}", err),

View File

@ -18,8 +18,8 @@ pub struct Export {
#[derive(Debug)] #[derive(Debug)]
pub struct Section { pub struct Section {
pub name: String, pub name: String,
pub start_rva: usize, pub start_va: usize,
pub end_rva: usize, pub end_va: usize,
pub size: usize, pub size: usize,
} }
@ -61,7 +61,7 @@ impl<'a> Module<'a> {
let size = nt_headers.OptionalHeader.SizeOfImage; let size = nt_headers.OptionalHeader.SizeOfImage;
let exports = unsafe { Self::parse_exports(process, address, size, nt_headers)? }; let exports = unsafe { Self::parse_exports(process, address, size, nt_headers)? };
let sections = unsafe { Self::parse_sections(nt_headers) }; let sections = unsafe { Self::parse_sections(address, nt_headers) };
Ok(Self { Ok(Self {
address, address,
@ -177,7 +177,7 @@ impl<'a> Module<'a> {
Ok(exports) Ok(exports)
} }
unsafe fn parse_sections(nt_headers: &IMAGE_NT_HEADERS64) -> Vec<Section> { unsafe fn parse_sections(address: usize, nt_headers: &IMAGE_NT_HEADERS64) -> Vec<Section> {
let optional_header_ptr = &nt_headers.OptionalHeader as *const _ as *const u8; let optional_header_ptr = &nt_headers.OptionalHeader as *const _ as *const u8;
let section_header_ptr = optional_header_ptr let section_header_ptr = optional_header_ptr
@ -198,12 +198,16 @@ impl<'a> Module<'a> {
let start_rva = section.VirtualAddress as usize; let start_rva = section.VirtualAddress as usize;
let end_rva = start_rva + section.Misc.VirtualSize as usize; let end_rva = start_rva + section.Misc.VirtualSize as usize;
let start_va = address + start_rva;
let end_va = address + end_rva;
let size = section.SizeOfRawData as usize; let size = section.SizeOfRawData as usize;
Section { Section {
name, name,
start_rva, start_va,
end_rva, end_va,
size, size,
} }
}) })