From 9a5d6957b963bc7ead3ab2192d6e4736fad58a12 Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Sat, 20 Mar 2010 11:08:48 -0400 Subject: [PATCH 1/4] Fixed bad caller crash with HookEntityOutput (bug 4311, r=fyren) --- extensions/sdktools/output.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/extensions/sdktools/output.cpp b/extensions/sdktools/output.cpp index 830ff529..d2de0f17 100644 --- a/extensions/sdktools/output.cpp +++ b/extensions/sdktools/output.cpp @@ -199,6 +199,11 @@ void EntityOutputManager::ShutdownFireEventDetour() void EntityOutputManager::FireEventDetour(void *pOutput, CBaseEntity *pActivator, CBaseEntity *pCaller, float fDelay) { + if (!pCaller) + { + return; + } + char sOutput[20]; Q_snprintf(sOutput, sizeof(sOutput), "%x", pOutput); From 7ef8b415bb2f813bd871e8b901afadbcd29e4753 Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Tue, 23 Mar 2010 19:42:58 -0400 Subject: [PATCH 2/4] Added Gamerules SDKCall support to CSPromod gamedata (bug 4320, r=pred) --- gamedata/sdktools.games/game.cspromod.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gamedata/sdktools.games/game.cspromod.txt b/gamedata/sdktools.games/game.cspromod.txt index be0ab562..7391c870 100644 --- a/gamedata/sdktools.games/game.cspromod.txt +++ b/gamedata/sdktools.games/game.cspromod.txt @@ -95,6 +95,10 @@ "windows" "6" "linux" "6" } + "g_pGameRules" + { + "windows" "2" + } } "Signatures" { @@ -122,6 +126,16 @@ "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x2A\x85\xC9\x57\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\xFF\x2A\x2A\x2A\x83\xC0\x2A\xC1\xE0\x2A\x8B\x3C\x30\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x2A\x2A\x8B\x2D\x2A\x2A\x2A\x2A\xEB\x2A\x8D\x2A\x2A\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x11\x39" "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" } + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2" + } + "g_pGameRules" + { + "library" "server" + "linux" "@g_pGameRules" + } } } } From 3e96b1617a53842a5a26373666b7749e5a571e23 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Sun, 4 Apr 2010 23:51:20 -0700 Subject: [PATCH 3/4] Added obsidian to list of games which need menu redraws (thread 123237, r=me). --- gamedata/core.games/common.games.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/gamedata/core.games/common.games.txt b/gamedata/core.games/common.games.txt index ee1bf1ae..62cee74a 100644 --- a/gamedata/core.games/common.games.txt +++ b/gamedata/core.games/common.games.txt @@ -163,6 +163,7 @@ "game" "FortressForever" "game" "zps" "game" "gesource" + "game" "obsidian" } "Keys" From db6881b7e33db5a20468a0b8cea50fd70c1a9837 Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Mon, 19 Apr 2010 10:38:50 -0400 Subject: [PATCH 4/4] Updated Empires gamedata for Empires 2.25a release (bug 4108, r=fyren) --- gamedata/sdktools.games/engine.ep2.txt | 2 -- gamedata/sdktools.games/game.empires.txt | 39 +++++++++++++++++++++++- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/gamedata/sdktools.games/engine.ep2.txt b/gamedata/sdktools.games/engine.ep2.txt index 621d6348..6b1f1204 100644 --- a/gamedata/sdktools.games/engine.ep2.txt +++ b/gamedata/sdktools.games/engine.ep2.txt @@ -72,7 +72,6 @@ { "game" "ageofchivalry" "game" "zps" - "game" "empires" "game" "pvkii" } @@ -100,7 +99,6 @@ { "game" "ageofchivalry" "game" "zps" - "game" "empires" "game" "pvkii" } diff --git a/gamedata/sdktools.games/game.empires.txt b/gamedata/sdktools.games/game.empires.txt index 872b8390..f838cf15 100644 --- a/gamedata/sdktools.games/game.empires.txt +++ b/gamedata/sdktools.games/game.empires.txt @@ -11,7 +11,7 @@ "Games" { - /* Empires 2.24 */ + /* Empires 2.25 */ "empires" { @@ -102,6 +102,43 @@ "windows" "23" "linux" "24" } + "PlayerRunCmd" + { + "windows" "373" + "linux" "374" + } + "FireOutputBackup" + { + "windows" "6" + "linux" "10" + } + } + "Signatures" + { + "DispatchSpawn" + { + "library" "server" + "windows" "\x53\x55\x56\x8B\x74\x24\x10\x57\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x64\x8B\xCB" + "linux" "@_Z13DispatchSpawnP11CBaseEntity" + } + "CreateEntityByName" + { + "library" "server" + "windows" "\x56\x8B\x74\x24\x0C\x57\x8B\x7C\x24\x0C\x83\xFE\xFF\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2" + "linux" "@_Z18CreateEntityByNamePKci" + } + "FindEntityByClassname" + { + "library" "server" + "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x04\xEB\x2A\x39\x2A\x2A\x74\x2A\x53" + "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" + } + "FireOutput" + { + "library" "server" + "windows" "\x55\x8B\xEC\x83\x2A\x2A\x81\xEC\x2A\x2A\x2A\x2A\x53\x56\x8B\x71\x2A\x57\x89" + "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" + } } } }