From 44bacdc067f337a5aa951a42bd59748bd5832b5c Mon Sep 17 00:00:00 2001
From: Nicholas Hastings <nshastings@gmail.com>
Date: Mon, 14 Sep 2015 09:56:06 -0400
Subject: [PATCH] Fix recent regression with finding engine ptr on CS:S, DoD:S,
 HL2:DM.

They are still only have engine v21, not yet v22 (let alone v23).
---
 core/sourcemm_api.cpp | 10 +++++++---
 public/smsdk_ext.cpp  | 10 +++++++---
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/core/sourcemm_api.cpp b/core/sourcemm_api.cpp
index 285b44b3..37debb78 100644
--- a/core/sourcemm_api.cpp
+++ b/core/sourcemm_api.cpp
@@ -78,11 +78,15 @@ bool SourceMod_Core::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen
 		engine = (IVEngineServer *)ismm->GetEngineFactory()("VEngineServer022", nullptr);
 		if (!engine)
 		{
-			if (error && maxlen)
+			engine = (IVEngineServer *)ismm->GetEngineFactory()("VEngineServer021", nullptr);
+			if (!engine)
 			{
-				ismm->Format(error, maxlen, "Could not find interface: VEngineServer023 or VEngineServer022");
+				if (error && maxlen)
+				{
+					ismm->Format(error, maxlen, "Could not find interface: VEngineServer023 or VEngineServer022");
+				}
+				return false;
 			}
-			return false;
 		}
 	}
 #else
diff --git a/public/smsdk_ext.cpp b/public/smsdk_ext.cpp
index f88972b5..7a3cd2f8 100644
--- a/public/smsdk_ext.cpp
+++ b/public/smsdk_ext.cpp
@@ -348,11 +348,15 @@ bool SDKExtension::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen,
 		engine = (IVEngineServer *) ismm->GetEngineFactory()("VEngineServer022", nullptr);
 		if (!engine)
 		{
-			if (error && maxlen)
+			engine = (IVEngineServer *) ismm->GetEngineFactory()("VEngineServer021", nullptr);
+			if (!engine)
 			{
-				ismm->Format(error, maxlen, "Could not find interface: VEngineServer023 or VEngineServer022");
+				if (error && maxlen)
+				{
+					ismm->Format(error, maxlen, "Could not find interface: VEngineServer023 or VEngineServer022");
+				}
+				return false;
 			}
-			return false;
 		}
 	}
 #else