From d2f719171d607effd8e3db5a9ba69a8e4977a1a2 Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Tue, 29 Oct 2013 19:00:21 -0400 Subject: [PATCH] Fix GetEngineVersion ret values for MM:S 1.9.x on orangebox (bug 5967, r=asherkin). --- core/smn_halflife.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/core/smn_halflife.cpp b/core/smn_halflife.cpp index a8a51120..6adf7bda 100644 --- a/core/smn_halflife.cpp +++ b/core/smn_halflife.cpp @@ -530,7 +530,23 @@ static cell_t GuessSDKVersion(IPluginContext *pContext, const cell_t *params) static cell_t GetEngineVersion(IPluginContext *pContext, const cell_t *params) { - return g_SMAPI->GetSourceEngineBuild(); + int engineVer = g_SMAPI->GetSourceEngineBuild(); +#if defined METAMOD_PLAPI_VERSION + if (engineVer == SOURCE_ENGINE_ORANGEBOXVALVE_DEPRECATED) + { + const char *gamedir = g_SourceMod.GetGameFolderName(); + if (strcmp(gamedir, "tf") == 0) + return SOURCE_ENGINE_TF2; + else if (strcmp(gamedir, "cstrike") == 0) + return SOURCE_ENGINE_CSS; + else if (strcmp(gamedir, "dod") == 0) + return SOURCE_ENGINE_DODS; + else if (strcmp(gamedir, "hl2mp") == 0) + return SOURCE_ENGINE_HL2DM; + } +#endif + + return engineVer; } static cell_t IndexToReference(IPluginContext *pContext, const cell_t *params)