r5920 - in trunk/data: . qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sun Feb 22 07:45:42 EST 2009
Author: div0
Date: 2009-02-22 07:45:42 -0500 (Sun, 22 Feb 2009)
New Revision: 5920
Modified:
trunk/data/defaultNexuiz.cfg
trunk/data/qcsrc/server/ctf.qc
trunk/data/qcsrc/server/miscfunctions.qc
trunk/data/qcsrc/server/race.qc
Log:
also write a record marker for CTF (so one can extract record runs from demos)
Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg 2009-02-21 23:10:29 UTC (rev 5919)
+++ trunk/data/defaultNexuiz.cfg 2009-02-22 12:45:42 UTC (rev 5920)
@@ -530,6 +530,7 @@
// fun for server admins
set g_ctf_flag_mdl_red "models/ctf/flags.md3"
set g_ctf_flag_mdl_blue "models/ctf/flags.md3"
+set g_ctf_captimerecord_allow_assisted 0 "if enabled, assisted CTF records (with other players on the server) are recorded too"
exec ctfscoring-div0.cfg
Modified: trunk/data/qcsrc/server/ctf.qc
===================================================================
--- trunk/data/qcsrc/server/ctf.qc 2009-02-21 23:10:29 UTC (rev 5919)
+++ trunk/data/qcsrc/server/ctf.qc 2009-02-22 12:45:42 UTC (rev 5920)
@@ -427,7 +427,7 @@
{
return;
}
- if(player_count - currentbots <= 1) // at most one human
+ if(cvar("g_ctf_captimerecord_allow_assisted") || player_count - currentbots <= 1) // at most one human
{
t = time - other.flagcarried.flagpickuptime;
s = ftos_decimals(t, 2);
@@ -444,7 +444,7 @@
flagcaptimerecord = t;
db_put(ServerProgsDB, strcat(GetMapname(), "/captimerecord/time"), ftos(t));
db_put(ServerProgsDB, strcat(GetMapname(), "/captimerecord/netname"), h1);
- GameLogEcho(strcat(":recordset:", ftos(other.playerid), ":", ftos(t)));
+ write_recordmarker(other, time - t, t);
}
else if (t < flagcaptimerecord)
{
@@ -452,7 +452,7 @@
flagcaptimerecord = t;
db_put(ServerProgsDB, strcat(GetMapname(), "/captimerecord/time"), ftos(t));
db_put(ServerProgsDB, strcat(GetMapname(), "/captimerecord/netname"), h1);
- GameLogEcho(strcat(":recordset:", ftos(other.playerid), ":", ftos(t)));
+ write_recordmarker(other, time - t, t);
}
else
{
Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc 2009-02-21 23:10:29 UTC (rev 5919)
+++ trunk/data/qcsrc/server/miscfunctions.qc 2009-02-22 12:45:42 UTC (rev 5920)
@@ -2004,3 +2004,15 @@
end_dz = vlen(vecxy) / vlen(velxy) * vel_z - (end_z - start_z);
zcurveparticles(effectno, start, end, end_dz, vlen(vel));
}
+
+string GetGametype(); // g_world.qc
+void write_recordmarker(entity pl, float tstart, float dt)
+{
+ GameLogEcho(strcat(":recordset:", ftos(pl.playerid), ":", ftos(dt / 10)));
+
+ // also write a marker into demo files for demotc-race-record-extractor to find
+ stuffcmd(pl,
+ strcat(
+ strcat("//", strconv(2, 0, 0, GetGametype()), " RECORD SET ", mmsss(dt * 10)),
+ " ", ftos(tstart), " ", ftos(dt), "\n"));
+}
Modified: trunk/data/qcsrc/server/race.qc
===================================================================
--- trunk/data/qcsrc/server/race.qc 2009-02-21 23:10:29 UTC (rev 5919)
+++ trunk/data/qcsrc/server/race.qc 2009-02-22 12:45:42 UTC (rev 5920)
@@ -152,8 +152,7 @@
bprint(e.netname, "^7 set the all-time fastest lap record with ", mmsss(t), "\n");
db_put(ServerProgsDB, strcat(GetMapname(), "/racerecord/time"), ftos(t));
db_put(ServerProgsDB, strcat(GetMapname(), "/racerecord/netname"), e.netname);
- GameLogEcho(strcat(":recordset:", ftos(e.playerid), ":", ftos(t / 10)));
- stuffcmd(e, strcat("//RACE RECORD SET ", mmsss(t), "\n"));
+ write_recordmarker(e, time - t/10, t/10);
}
else if(t < grecordtime)
{
@@ -163,8 +162,7 @@
bprint(e.netname, "^7 broke ", grecordholder, "^7's all-time fastest lap record with ", mmsss(t), "\n");
db_put(ServerProgsDB, strcat(GetMapname(), "/racerecord/time"), ftos(t));
db_put(ServerProgsDB, strcat(GetMapname(), "/racerecord/netname"), e.netname);
- GameLogEcho(strcat(":recordset:", ftos(e.playerid), ":", ftos(t / 10)));
- stuffcmd(e, strcat("//RACE RECORD SET ", mmsss(t), "\n"));
+ write_recordmarker(e, time - t/10, t/10);
}
else
{
More information about the nexuiz-commits
mailing list