1.1 --- a/core/GameConfigs.cpp Tue Dec 04 03:29:02 2007 +0000
1.2 +++ b/core/GameConfigs.cpp Tue Dec 04 15:27:04 2007 +0000
1.3 @@ -51,6 +51,7 @@
1.4 IGameConfig *g_pGameConf = NULL;
1.5 char g_Game[256];
1.6 char g_GameDesc[256] = {'!', '\0'};
1.7 +char g_GameName[256] = {'$', '\0'};
1.8
1.9 #define PSTATE_NONE 0
1.10 #define PSTATE_GAMES 1
1.11 @@ -131,7 +132,8 @@
1.12 if ((strcmp(name, "*") == 0)
1.13 || (strcmp(name, "#default") == 0)
1.14 || (strcasecmp(name, g_Game) == 0)
1.15 - || (strcasecmp(name, g_GameDesc) == 0))
1.16 + || (strcasecmp(name, g_GameDesc) == 0)
1.17 + || (strcasecmp(name, g_GameName) == 0))
1.18 {
1.19 bShouldBeReadingDefault = true;
1.20 m_ParseState = PSTATE_GAMEDEFS;
1.21 @@ -271,7 +273,10 @@
1.22 sm_trie_replace(m_pKeys, key, (void *)id);
1.23 } else if (m_ParseState == PSTATE_GAMEDEFS_SUPPORTED) {
1.24 if (strcmp(key, "game") == 0
1.25 - && (strcasecmp(value, g_Game) == 0 || strcasecmp(value, g_GameDesc) == 0))
1.26 + && (strcasecmp(value, g_Game) == 0
1.27 + || strcasecmp(value, g_GameDesc) == 0
1.28 + || strcasecmp(value, g_GameName) == 0)
1.29 + )
1.30 {
1.31 bShouldBeReadingDefault = true;
1.32 }
1.33 @@ -585,6 +590,17 @@
1.34
1.35 strncopy(g_Game, g_SourceMod.GetGameFolderName(), sizeof(g_Game));
1.36 strncopy(g_GameDesc + 1, SERVER_CALL(GetGameDescription)(), sizeof(g_GameDesc) - 1);
1.37 +
1.38 + KeyValues *pGameInfo = new KeyValues("GameInfo");
1.39 + if (pGameInfo->LoadFromFile(basefilesystem, "gameinfo.txt"))
1.40 + {
1.41 + const char *str;
1.42 + if ((str = pGameInfo->GetString("game", NULL)) != NULL)
1.43 + {
1.44 + strncopy(g_GameName + 1, str, sizeof(g_GameName) - 1);
1.45 + }
1.46 + }
1.47 + pGameInfo->deleteThis();
1.48 }
1.49
1.50 void GameConfigManager::OnSourceModAllInitialized()