- fixed amb1237 part 1 - maplists.cfg missing could cause ReadMapList() to fail

- fixed amb1237 part 2 - nextmap could fail in certain cases with mapchooser present

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401789
This commit is contained in:
David Anderson 2007-12-10 22:20:53 +00:00
parent 7847e6e2e8
commit 1904348efc
2 changed files with 18 additions and 17 deletions

View File

@ -524,10 +524,6 @@ private:
if ((fp = fopen(pMapList->path, "rt")) == NULL)
{
char error_msg[255];
strncopy(error_msg, "Unknown error", sizeof(error_msg));
g_LibSys.GetPlatformError(error_msg, sizeof(error_msg));
g_Logger.LogError("ReadMapList(): Could not open file \"%s\": %s\n", pMapList->path, error_msg);
return false;
}
@ -658,6 +654,7 @@ static cell_t SetMapListCompatBind(IPluginContext *pContext, const cell_t *param
pContext->LocalToString(params[1], &name);
pContext->LocalToString(params[2], &file);
s_MapLists.UpdateCache();
s_MapLists.AddOrUpdateDefault(name, file);
return 1;

View File

@ -96,19 +96,6 @@ public OnConfigsExecuted()
// not in mapcyclefile. So we keep it set to the last expected nextmap. - ferret
if (strcmp(lastMap, currentMap) == 0)
{
if (ReadMapList(g_MapList,
g_MapListSerial,
"mapcyclefile",
MAPLIST_FLAG_CLEARARRAY|MAPLIST_FLAG_NO_DEFAULT)
== INVALID_HANDLE)
{
if (g_MapListSerial == -1)
{
LogError("FATAL: Cannot load map cycle. Nextmap not loaded.");
SetFailState("Mapcycle Not Found");
}
}
FindAndSetNextMap();
}
}
@ -213,6 +200,10 @@ public Action:UserMsg_VGUIMenu(UserMsg:msg_id, Handle:bf, const players[], playe
if (!IsMapValid(map))
{
if (g_MapPos == -1)
{
FindAndSetNextMap();
}
GetArrayString(g_MapList, g_MapPos, map, sizeof(map));
}
@ -244,6 +235,19 @@ public Action:Timer_ChangeMap(Handle:timer, Handle:dp)
FindAndSetNextMap()
{
if (ReadMapList(g_MapList,
g_MapListSerial,
"mapcyclefile",
MAPLIST_FLAG_CLEARARRAY|MAPLIST_FLAG_NO_DEFAULT)
== INVALID_HANDLE)
{
if (g_MapListSerial == -1)
{
LogError("FATAL: Cannot load map cycle. Nextmap not loaded.");
SetFailState("Mapcycle Not Found");
}
}
new mapCount = GetArraySize(g_MapList);
decl String:mapName[32];