string GetMapname();
string GetGametype();
-void GotoNextMap();
+void GotoNextMap(float reinit);
void ShuffleMaplist()
-float() DoNextMapOverride;
+float(float reinit) DoNextMapOverride;
void SetDefaultAlpha()
{
MapInfo_Enumerate();
MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
- if(!DoNextMapOverride())
- GotoNextMap();
+ if(!DoNextMapOverride(1))
+ GotoNextMap(1);
return;
}
localcmd("\nsettemp_restore\n");
}
-void Map_Goto()
+void Map_Goto(float reinit)
{
GameResetCfg();
- MapInfo_LoadMap(getmapname_stored);
+ MapInfo_LoadMap(getmapname_stored, reinit);
}
// return codes of map selectors:
return "";
}
-float DoNextMapOverride()
+float DoNextMapOverride(float reinit)
{
if(autocvar_g_campaign)
{
if(MapInfo_CheckMap(autocvar_nextmap))
{
Map_Goto_SetStr(autocvar_nextmap);
- Map_Goto();
+ Map_Goto(reinit);
alreadychangedlevel = TRUE;
return TRUE;
}
return FALSE;
}
-void GotoNextMap()
+void GotoNextMap(float reinit)
{
//string nextmap;
//float n, nummaps;
error("Everything is broken - not even the default map list works. Please report this to the developers.");
}
}
- Map_Goto();
+ Map_Goto(reinit);
}
}
FixClientCvars(other);
Map_Goto_SetStr(mapvote_maps[mappos]);
- Map_Goto();
+ Map_Goto(0);
alreadychangedlevel = TRUE;
return TRUE;
}
}
mapvote_initialized = TRUE;
- if(DoNextMapOverride())
+ if(DoNextMapOverride(0))
return;
if(!autocvar_g_maplist_votable || player_count <= 0)
{
- GotoNextMap();
+ GotoNextMap(0);
return;
}
MapVote_Init();
cvar_set("timelimit", "-1");
if(mapvote_initialized || alreadychangedlevel)
{
- if(DoNextMapOverride())
+ if(DoNextMapOverride(0))
return "Map switch initiated.";
else
return "Hm... no. For some reason I like THIS map more.";