mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2025-02-20 13:54:14 +01:00
Improve automatic engine detection for some games (nobug, irc r=asherkin).
--HG-- extra : rebase_source : a80a7c0a00956617e58ce5ba196d37fb474061f2
This commit is contained in:
parent
6992f85f87
commit
013c549090
@ -213,7 +213,7 @@ public:
|
||||
QueryValveInterface fileSystemFactory,
|
||||
void *pGlobals)
|
||||
{
|
||||
mm_backend = mm_DetermineBackend(engineFactory, game_name);
|
||||
mm_backend = mm_DetermineBackend(engineFactory, gamedll_qvi, game_name);
|
||||
|
||||
char error[255];
|
||||
if (mm_backend == MMBackend_UNKNOWN)
|
||||
|
@ -270,7 +270,7 @@ mm_GetGameName(char *buffer, size_t size)
|
||||
}
|
||||
|
||||
MetamodBackend
|
||||
mm_DetermineBackend(QueryValveInterface engineFactory, const char *game_name)
|
||||
mm_DetermineBackend(QueryValveInterface engineFactory, QueryValveInterface serverFactory, const char *game_name)
|
||||
{
|
||||
if (engineFactory("VEngineServer024", NULL) != NULL)
|
||||
{
|
||||
@ -287,14 +287,16 @@ mm_DetermineBackend(QueryValveInterface engineFactory, const char *game_name)
|
||||
else if (engineFactory("VEngineServer022", NULL) != NULL &&
|
||||
engineFactory("VEngineCvar007", NULL) != NULL)
|
||||
{
|
||||
if (strcmp(game_name, "berimbau") == 0)
|
||||
if (serverFactory("ServerGameClients004", NULL))
|
||||
{
|
||||
if (strcmp(game_name, "portal2") == 0)
|
||||
{
|
||||
return MMBackend_Portal2;
|
||||
}
|
||||
|
||||
return MMBackend_Blade;
|
||||
}
|
||||
if (strcmp(game_name, "portal2") == 0)
|
||||
{
|
||||
return MMBackend_Portal2;
|
||||
}
|
||||
|
||||
if (engineFactory("EngineTraceServer004", NULL) != NULL)
|
||||
{
|
||||
return MMBackend_AlienSwarm;
|
||||
@ -310,6 +312,7 @@ mm_DetermineBackend(QueryValveInterface engineFactory, const char *game_name)
|
||||
return MMBackend_Left4Dead2;
|
||||
}
|
||||
}
|
||||
|
||||
return MMBackend_Left4Dead;
|
||||
}
|
||||
else if (engineFactory("VEngineServer021", NULL) != NULL)
|
||||
|
@ -120,7 +120,7 @@ extern void
|
||||
mm_GetGameName(char *buffer, size_t size);
|
||||
|
||||
extern MetamodBackend
|
||||
mm_DetermineBackend(QueryValveInterface qvi, const char *game_name);
|
||||
mm_DetermineBackend(QueryValveInterface engineFactory, QueryValveInterface serverFactory, const char *game_name);
|
||||
|
||||
extern MetamodBackend mm_backend;
|
||||
|
||||
|
@ -90,7 +90,7 @@ public:
|
||||
{
|
||||
mm_GetGameName(game_name, sizeof(game_name));
|
||||
|
||||
mm_backend = mm_DetermineBackend(engineFactory, game_name);
|
||||
mm_backend = mm_DetermineBackend(engineFactory, gsFactory, game_name);
|
||||
}
|
||||
|
||||
if (mm_backend == MMBackend_UNKNOWN)
|
||||
|
Loading…
x
Reference in New Issue
Block a user