[nexuiz-commits] r8087 - trunk/data/qcsrc/client
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Oct 10 14:12:12 EDT 2009
Author: fruitiex
Date: 2009-10-10 14:12:12 -0400 (Sat, 10 Oct 2009)
New Revision: 8087
Modified:
trunk/data/qcsrc/client/Defs.qc
trunk/data/qcsrc/client/Main.qc
trunk/data/qcsrc/client/sbar.qc
Log:
clientside personal records system for race/cts
Modified: trunk/data/qcsrc/client/Defs.qc
===================================================================
--- trunk/data/qcsrc/client/Defs.qc 2009-10-09 20:54:09 UTC (rev 8086)
+++ trunk/data/qcsrc/client/Defs.qc 2009-10-10 18:12:12 UTC (rev 8087)
@@ -221,6 +221,7 @@
// database for misc stuff
float tempdb;
+float ClientProgsDB;
vector hook_shotorigin;
#ifdef BLURTEST
Modified: trunk/data/qcsrc/client/Main.qc
===================================================================
--- trunk/data/qcsrc/client/Main.qc 2009-10-09 20:54:09 UTC (rev 8086)
+++ trunk/data/qcsrc/client/Main.qc 2009-10-10 18:12:12 UTC (rev 8087)
@@ -65,6 +65,7 @@
binddb = db_create();
tempdb = db_create();
+ ClientProgsDB = db_load("client.db");
compressShortVector_init();
drawfont = 0;
@@ -167,6 +168,8 @@
remove(players);
db_close(binddb);
db_close(tempdb);
+ db_save(ClientProgsDB, "client.db");
+ db_close(ClientProgsDB);
cvar_clientsettemp_restore();
Modified: trunk/data/qcsrc/client/sbar.qc
===================================================================
--- trunk/data/qcsrc/client/sbar.qc 2009-10-09 20:54:09 UTC (rev 8086)
+++ trunk/data/qcsrc/client/sbar.qc 2009-10-10 18:12:12 UTC (rev 8087)
@@ -33,6 +33,7 @@
void CSQC_ctf_hudreset();
void CSQC_ctf_hud();
void CSQC_nb_hud();
+void CSQC_race_hud();
void MapVote_Draw();
void Sbar_FinaleOverlay()
{
@@ -2712,6 +2713,8 @@
CSQC_ctf_hud();
else if(gametype == GAME_NEXBALL)
CSQC_nb_hud();
+ else if(gametype == GAME_CTS || gametype == GAME_RACE)
+ CSQC_race_hud();
}
return;
}
@@ -3014,3 +3017,32 @@
if (stat_items & IT_KEY1)
drawpic(pos, "gfx/hud/sb_nexball_carrying", '80 34 0', '1 1 1', 1, DRAWFLAG_NORMAL);
}
+
+void CSQC_race_hud(void)
+{
+ entity me;
+ me = (spectatee_status > 0) ? playerslots[spectatee_status - 1] : playerslots[player_localentnum - 1];
+ float crecordtime, score;
+ score = me.(scores[ps_primary]);
+
+ string rr;
+ if(gametype == GAME_CTS)
+ rr = CTS_RECORD;
+ else
+ rr = RACE_RECORD;
+ crecordtime = stof(db_get(ClientProgsDB, strcat(shortmapname, rr, "time")));
+
+ if(score && score < crecordtime || !crecordtime)
+ db_put(ClientProgsDB, strcat(shortmapname, rr, "time"), ftos(score));
+
+ vector pos;
+ pos_x = 4;
+ pos_y = vid_conheight - 46;
+
+ float pmin, psec, pmsec;
+ pmin = floor(crecordtime/(60 * TIME_FACTOR));
+ psec = floor((crecordtime - pmin*(60 * TIME_FACTOR))/TIME_FACTOR);
+ pmsec = crecordtime - pmin*60*TIME_FACTOR - psec*TIME_FACTOR;
+
+ drawstring(pos, strcat("Personal best: ", ftos(pmin),":", ftos(psec),":",ftos(pmsec)), '12 12 0', '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);
+}
More information about the nexuiz-commits
mailing list