[nexuiz-commits] r8642 - in trunk/data: . qcsrc/common qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Feb 13 09:31:34 EST 2010
Author: fruitiex
Date: 2010-02-13 09:31:34 -0500 (Sat, 13 Feb 2010)
New Revision: 8642
Modified:
trunk/data/defaultNexuiz.cfg
trunk/data/qcsrc/common/gamecommand.qc
trunk/data/qcsrc/common/util.qh
trunk/data/qcsrc/server/clientcommands.qc
trunk/data/qcsrc/server/g_world.qc
trunk/data/qcsrc/server/gamecommand.qc
trunk/data/qcsrc/server/miscfunctions.qc
Log:
Merge branch 'fruitiex/nexrun'
Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg 2010-02-13 14:08:35 UTC (rev 8641)
+++ trunk/data/defaultNexuiz.cfg 2010-02-13 14:31:34 UTC (rev 8642)
@@ -1057,6 +1057,7 @@
alias vdoend "vdo endmatch"
alias lsmaps "cmd lsmaps" // lists all maps on server (for vmap, suggestmap, vnextmap)
+alias lsnewmaps "cmd lsnewmaps" // lists all maps on server that do not yet have a record set (race/cts)
bind F1 vyes
bind F2 vno
Modified: trunk/data/qcsrc/common/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/common/gamecommand.qc 2010-02-13 14:08:35 UTC (rev 8641)
+++ trunk/data/qcsrc/common/gamecommand.qc 2010-02-13 14:31:34 UTC (rev 8642)
@@ -199,6 +199,7 @@
print(" maplist cleanup\n");
print(" maplist maplist\n");
print(" maplist lsmaps\n");
+ print(" maplist lsnewmaps\n");
print(" addtolist variable addedvalue\n");
print(" records\n");
print(" rankings (map argument optional)\n");
@@ -260,6 +261,10 @@
print(lsmaps_reply);
return TRUE;
}
+ else if(argv(1) == "lsnewmaps") {
+ print(lsnewmaps_reply);
+ return TRUE;
+ }
}
else if(argc >= 3 && argv(0) == "red")
{
Modified: trunk/data/qcsrc/common/util.qh
===================================================================
--- trunk/data/qcsrc/common/util.qh 2010-02-13 14:08:35 UTC (rev 8641)
+++ trunk/data/qcsrc/common/util.qh 2010-02-13 14:31:34 UTC (rev 8642)
@@ -174,7 +174,8 @@
float compressShotOrigin(vector v);
vector decompressShotOrigin(float f);
-string records_reply, rankings_reply, lsmaps_reply, maplist_reply; // cached replies
+string rankings_reply, lsmaps_reply, lsnewmaps_reply, maplist_reply; // cached replies
+string records_reply[10];
float RandomSelection_totalweight;
float RandomSelection_best_priority;
Modified: trunk/data/qcsrc/server/clientcommands.qc
===================================================================
--- trunk/data/qcsrc/server/clientcommands.qc 2010-02-13 14:08:35 UTC (rev 8641)
+++ trunk/data/qcsrc/server/clientcommands.qc 2010-02-13 14:31:34 UTC (rev 8642)
@@ -123,6 +123,7 @@
void SV_ParseClientCommand(string s) {
string cmd;
float tokens;
+ float i;
entity e;
tokens = tokenize_console(s);
@@ -308,8 +309,11 @@
sprint(self, maplist_reply);
} else if(cmd == "lsmaps") {
sprint(self, lsmaps_reply);
+ } else if(cmd == "lsnewmaps") {
+ sprint(self, lsnewmaps_reply);
} else if(cmd == "records") {
- sprint(self, records_reply);
+ for(i = 0; i < 10; ++i)
+ sprint(self, records_reply[i]);
} else if(cmd == "rankings") {
sprint(self, rankings_reply);
} else if(cmd == "voice") {
Modified: trunk/data/qcsrc/server/g_world.qc
===================================================================
--- trunk/data/qcsrc/server/g_world.qc 2010-02-13 14:08:35 UTC (rev 8641)
+++ trunk/data/qcsrc/server/g_world.qc 2010-02-13 14:31:34 UTC (rev 8642)
@@ -638,6 +638,7 @@
detect_maptype();
lsmaps_reply = "^7Maps available: ";
+ lsnewmaps_reply = "^7Maps without a record set: ";
for(i = 0, j = 0; i < MapInfo_count; ++i)
{
if(MapInfo_Get_ByID(i))
@@ -649,9 +650,16 @@
col = "^3";
++j;
lsmaps_reply = strcat(lsmaps_reply, col, MapInfo_Map_bspname, " ");
+ if(g_race && !stof(db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, RACE_RECORD, "time"))))
+ lsnewmaps_reply = strcat(lsnewmaps_reply, col, MapInfo_Map_bspname, " ");
+ else if(g_cts && !stof(db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, CTS_RECORD, "time"))))
+ lsnewmaps_reply = strcat(lsnewmaps_reply, col, MapInfo_Map_bspname, " ");
}
}
lsmaps_reply = strzone(strcat(lsmaps_reply, "\n"));
+ if (!g_race && !g_cts)
+ lsnewmaps_reply = "Need to be playing race or CTS for lsnewmaps to work.";
+ lsnewmaps_reply = strzone(strcat(lsnewmaps_reply, "\n"));
maplist_reply = "^7Maps in list: ";
n = tokenize_console(cvar_string("g_maplist"));
@@ -670,7 +678,11 @@
maplist_reply = strzone(strcat(maplist_reply, "\n"));
MapInfo_ClearTemps();
- records_reply = strzone(getrecords());
+ for(i = 0; i < 10; ++i)
+ {
+ records_reply[i] = strzone(getrecords(i));
+ }
+
rankings_reply = strzone(getrankings());
ClientInit_Spawn();
Modified: trunk/data/qcsrc/server/gamecommand.qc
===================================================================
--- trunk/data/qcsrc/server/gamecommand.qc 2010-02-13 14:08:35 UTC (rev 8641)
+++ trunk/data/qcsrc/server/gamecommand.qc 2010-02-13 14:31:34 UTC (rev 8642)
@@ -920,9 +920,10 @@
}
if (argv(0) == "records")
{
- strunzone(records_reply);
- records_reply = strzone(getrecords());
- print(records_reply);
+ //strunzone(records_reply);
+ //records_reply = strzone(getrecords()); // these should be cached at worldspawn, right?
+ for (i = 0; i < 10; ++i)
+ print(records_reply[i]);
return;
}
if (argv(0) == "rankings")
Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc 2010-02-13 14:08:35 UTC (rev 8641)
+++ trunk/data/qcsrc/server/miscfunctions.qc 2010-02-13 14:31:34 UTC (rev 8642)
@@ -2113,7 +2113,7 @@
print(s, "\n");
}
-string getrecords()
+string getrecords(float page) // 50 records per page
{
float rec;
string h;
@@ -2127,7 +2127,7 @@
if (g_ctf)
{
- for (i = 0; i < MapInfo_count; ++i)
+ for (i = page * 200; i < MapInfo_count && i < page * 200 + 200; ++i)
{
if (MapInfo_Get_ByID(i))
{
@@ -2143,7 +2143,7 @@
if (g_race)
{
- for (i = 0; i < MapInfo_count; ++i)
+ for (i = page * 200; i < MapInfo_count && i < page * 200 + 200; ++i)
{
if (MapInfo_Get_ByID(i))
{
@@ -2159,7 +2159,7 @@
if (g_cts)
{
- for (i = 0; i < MapInfo_count; ++i)
+ for (i = page * 200; i < MapInfo_count && i < page * 200 + 200; ++i)
{
if (MapInfo_Get_ByID(i))
{
@@ -2175,10 +2175,10 @@
MapInfo_ClearTemps();
- if (s == "")
+ if (s == "" && page == 0)
return "No records are available on this server.\n";
else
- return strcat("Records on this server:\n", s);
+ return s;
}
string getrankings()
More information about the nexuiz-commits
mailing list