From 2b8038d700f1b7c5367e07d61a53fa6d9ba67ee9 Mon Sep 17 00:00:00 2001 From: Paul Clothier Date: Tue, 17 Apr 2012 22:27:03 -0400 Subject: [PATCH] Fixed IServer in SDKTools on Windows. --- gamedata/sdktools.games/engine.ep2valve.txt | 4 +-- gamedata/sdktools.games/game.cstrike.txt | 36 +++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/gamedata/sdktools.games/engine.ep2valve.txt b/gamedata/sdktools.games/engine.ep2valve.txt index 3741724e..d3bfc53a 100644 --- a/gamedata/sdktools.games/engine.ep2valve.txt +++ b/gamedata/sdktools.games/engine.ep2valve.txt @@ -146,7 +146,7 @@ * the expected code. A pointer to sv (IServer interface) is used * here. */ - "CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8" + "CreateFakeClient_Windows" "\x55\x8B\xEC\x8B\x45\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0" } "Offsets" @@ -154,7 +154,7 @@ /* Offset into IVEngineServer::CreateFakeClient */ "sv" { - "windows" "6" + "windows" "8" } } diff --git a/gamedata/sdktools.games/game.cstrike.txt b/gamedata/sdktools.games/game.cstrike.txt index 4c5cfd70..27d4c0be 100644 --- a/gamedata/sdktools.games/game.cstrike.txt +++ b/gamedata/sdktools.games/game.cstrike.txt @@ -177,6 +177,42 @@ } } + "#default" + { + "Keys" + { + /* Signature for the beginning of IVEngineServer::CreateFakeClient. + * + * The engine binary is not actually scanned in order to look for + * this. SourceHook is used to used to determine the address of the + * function and this signature is used to verify that it contains + * the expected code. A pointer to sv (IServer interface) is used + * here. + */ + "CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8" + } + + "Offsets" + { + /* Offset into IVEngineServer::CreateFakeClient */ + "sv" + { + "windows" "6" + } + } + + "Signatures" + { + /* CBaseServer object for IServer interface */ + "sv" + { + "library" "engine" + "linux" "@sv" + "mac" "@sv" + } + } + } + "#default" { "Signatures"