[nexuiz-commits] r6266 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Tue Mar 24 07:00:38 EDT 2009
Author: div0
Date: 2009-03-24 07:00:37 -0400 (Tue, 24 Mar 2009)
New Revision: 6266
Modified:
trunk/data/qcsrc/server/campaign.qc
Log:
allow leaving campaign again :P
Modified: trunk/data/qcsrc/server/campaign.qc
===================================================================
--- trunk/data/qcsrc/server/campaign.qc 2009-03-24 10:07:06 UTC (rev 6265)
+++ trunk/data/qcsrc/server/campaign.qc 2009-03-24 11:00:37 UTC (rev 6266)
@@ -9,14 +9,14 @@
string campaign_index_var;
float checkrules_equality;
-void CampaignBailout(string s)
+float CampaignBailout(string s)
{
- cvar_set("g_campaign", "0");
cvar = cvar_builtin;
cvar_string = cvar_string_builtin;
cvar_set = cvar_set_builtin;
+ cvar_set("g_campaign", "0");
print("campaign initialization failed: ", s, "\n");
- return;
+ return 1;
}
string cvar_campaignwrapper_list; // string of format ; var value; var value; var value;
@@ -47,6 +47,19 @@
//print(cvar_campaignwrapper_list, "\n");
}
+float Campaign_Invalid()
+{
+ string thismapname, wantedmapname;
+ thismapname = GetMapname();
+ wantedmapname = campaign_gametype[0];
+ if(MapInfo_CurrentGametype() != MapInfo_Type_FromString(wantedmapname))
+ return CampaignBailout("wrong game type!");
+ wantedmapname = campaign_mapname[0];
+ if(wantedmapname != thismapname)
+ return CampaignBailout(strcat("wrong map: ", wantedmapname, " != ", thismapname));
+ return 0;
+}
+
void CampaignPreInit()
{
float baseskill;
@@ -56,7 +69,12 @@
campaign_index_var = strzone(strcat("g_campaign", campaign_name, "_index"));
CampaignFile_Load(campaign_level, 2);
if(campaign_entries < 1)
- return CampaignBailout("unknown map");
+ {
+ CampaignBailout("unknown map");
+ return;
+ }
+ if(Campaign_Invalid())
+ return;
baseskill = cvar("g_campaign_skill");
baseskill = baseskill + campaign_botskill[0];
@@ -88,14 +106,8 @@
void CampaignPostInit()
{
// now some sanity checks
- string thismapname, wantedmapname;
- thismapname = GetMapname();
- wantedmapname = campaign_gametype[0];
- if(MapInfo_CurrentGametype() != MapInfo_Type_FromString(wantedmapname))
- return CampaignBailout("wrong game type!");
- wantedmapname = campaign_mapname[0];
- if(wantedmapname != thismapname)
- return CampaignBailout(strcat("wrong map: ", wantedmapname, " != ", thismapname));
+ if(Campaign_Invalid())
+ return;
cvar_set("fraglimit", ftos(campaign_fraglimit[0]));
cvar_set("timelimit", "0");
}
More information about the nexuiz-commits
mailing list