Unify map lookup logic across tf2esque engines. (fixes #927) (#931)

This commit is contained in:
Nicholas Hastings 2019-01-07 18:17:28 -05:00 committed by GitHub
parent 3e454db2d8
commit a2246af121
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1266,19 +1266,26 @@ SMFindMapResult CHalfLife2::FindMap(const char *pMapName, char *pFoundMap, size_
return SMFindMapResult::FuzzyMatch; return SMFindMapResult::FuzzyMatch;
} }
#elif SOURCE_ENGINE == SE_TF2 || SOURCE_ENGINE == SE_BMS #elif SOURCE_ENGINE == SE_TF2 || SOURCE_ENGINE == SE_CSS || SOURCE_ENGINE == SE_DODS || SOURCE_ENGINE == SE_HL2DM \
static char szTemp[PLATFORM_MAX_PATH]; || SOURCE_ENGINE == SE_SDK2013 || SOURCE_ENGINE == SE_BMS
if (pFoundMap == NULL) static IVEngineServer *engine23 = (IVEngineServer *)(g_SMAPI->GetEngineFactory()("VEngineServer023", nullptr));
if (engine23)
{ {
ke::SafeStrcpy(szTemp, SM_ARRAYSIZE(szTemp), pMapName); static char szTemp[PLATFORM_MAX_PATH];
pFoundMap = szTemp; if (pFoundMap == NULL)
nMapNameMax = 0; {
} ke::SafeStrcpy(szTemp, SM_ARRAYSIZE(szTemp), pMapName);
pFoundMap = szTemp;
nMapNameMax = 0;
}
return static_cast<SMFindMapResult>(engine->FindMap(pFoundMap, static_cast<int>(nMapNameMax))); return static_cast<SMFindMapResult>(engine->FindMap(pFoundMap, static_cast<int>(nMapNameMax)));
#elif SOURCE_ENGINE == SE_CSS || SOURCE_ENGINE == SE_DODS || SOURCE_ENGINE == SE_HL2DM || SOURCE_ENGINE == SE_SDK2013 }
static IVEngineServer *engine21 = (IVEngineServer *)(g_SMAPI->GetEngineFactory()("VEngineServer021", nullptr)); else
return engine21->IsMapValid(pMapName) == 0 ? SMFindMapResult::NotFound : SMFindMapResult::Found; {
static IVEngineServer *engine21 = (IVEngineServer *)(g_SMAPI->GetEngineFactory()("VEngineServer021", nullptr));
return engine21->IsMapValid(pMapName) == 0 ? SMFindMapResult::NotFound : SMFindMapResult::Found;
}
#else #else
return engine->IsMapValid(pMapName) == 0 ? SMFindMapResult::NotFound : SMFindMapResult::Found; return engine->IsMapValid(pMapName) == 0 ? SMFindMapResult::NotFound : SMFindMapResult::Found;
#endif #endif