X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_world.qc;h=c8405e0a01e45c72f65f96d6c85ab89153b4268d;hb=275db1b1d382ef40155eeb44fae62ae5f1087029;hp=5b34926fcc1214b7af2e6c3f6e88582cf1fda9e0;hpb=c22038abdfd83ca05144b972680a75c67f4c5e6f;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/g_world.qc b/qcsrc/server/g_world.qc index 5b34926fc..c8405e0a0 100644 --- a/qcsrc/server/g_world.qc +++ b/qcsrc/server/g_world.qc @@ -474,6 +474,12 @@ void cvar_changes_init() BADCVAR("g_grappling_hook"); BADCVAR("g_jetpack"); + // temporary for testing + // TODO remove before 0.8.3 release + BADCVAR("g_ca_weaponarena"); + BADCVAR("g_freezetag_weaponarena"); + BADCVAR("g_lms_weaponarena"); + #undef BADPRESUFFIX #undef BADPREFIX #undef BADCVAR @@ -860,8 +866,14 @@ spawnfunc(worldspawn) continue; if(argv(0) == "cd") { + string trackname = argv(2); LOG_INFO("Found ^1UNSUPPORTED^7 cd loop command in .cfg file; put this line in mapinfo instead:"); - LOG_INFO(" cdtrack ", argv(2)); + LOG_INFO(" cdtrack ", trackname); + if (cvar_value_issafe(trackname)) + { + string newstuff = strcat(clientstuff, "cd loop \"", trackname, "\"\n"); + strcpy(clientstuff, newstuff); + } } else if(argv(0) == "fog") { @@ -984,22 +996,27 @@ float Map_Count, Map_Current; string Map_Current_Name; // NOTE: this now expects the map list to be already tokenized and the count in Map_Count -float GetMaplistPosition() +int GetMaplistPosition() { - float pos, idx; - string map; - - map = GetMapname(); - idx = autocvar_g_maplist_index; + string map = GetMapname(); + int idx = autocvar_g_maplist_index; if(idx >= 0) + { if(idx < Map_Count) + { if(map == argv(idx)) + { return idx; + } + } + } - for(pos = 0; pos < Map_Count; ++pos) + for(int pos = 0; pos < Map_Count; ++pos) + { if(map == argv(pos)) return pos; + } // resume normal maplist rotation if current map is not in g_maplist return idx; @@ -1219,7 +1236,8 @@ void Maplist_Init() cvar_set("g_maplist", MapInfo_ListAllAllowedMaps(MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags() | MAPINFO_FLAG_NOAUTOMAPLIST)); if(autocvar_g_maplist_shuffle) ShuffleMaplist(); - localcmd("\nmenu_cmd sync\n"); + if(!server_is_dedicated) + localcmd("\nmenu_cmd sync\n"); Map_Count = tokenizebyseparator(autocvar_g_maplist, " "); } if(Map_Count == 0) @@ -1233,10 +1251,8 @@ void Maplist_Init() string GetNextMap() { - float nextMap; - Maplist_Init(); - nextMap = -1; + float nextMap = -1; if(nextMap == -1) if(autocvar_g_maplist_shuffle > 0) @@ -1331,9 +1347,7 @@ void GotoNextMap(float reinit) return; alreadychangedlevel = true; - string nextMap; - - nextMap = GetNextMap(); + string nextMap = GetNextMap(); if(nextMap == "") error("Everything is broken - cannot find a next map. Please report this to the developers."); Map_Goto(reinit);