r5832 - in trunk/data: . gfx gfx/keys qcsrc/client qcsrc/common qcsrc/menu/nexuiz qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Feb 11 03:10:21 EST 2009
Author: div0
Date: 2009-02-11 03:10:12 -0500 (Wed, 11 Feb 2009)
New Revision: 5832
Added:
trunk/data/gfx/keys/
trunk/data/gfx/keys/key_backward.tga
trunk/data/gfx/keys/key_bg.tga
trunk/data/gfx/keys/key_crouch.tga
trunk/data/gfx/keys/key_forward.tga
trunk/data/gfx/keys/key_jump.tga
trunk/data/gfx/keys/key_left.tga
trunk/data/gfx/keys/key_right.tga
Modified:
trunk/data/defaultNexuiz.cfg
trunk/data/qcsrc/client/View.qc
trunk/data/qcsrc/client/sbar.qc
trunk/data/qcsrc/common/constants.qh
trunk/data/qcsrc/menu/nexuiz/dialog_settings_input.c
trunk/data/qcsrc/server/cl_client.qc
trunk/data/qcsrc/server/constants.qh
trunk/data/qcsrc/server/defs.qh
trunk/data/qcsrc/server/g_world.qc
Log:
showpressedkeys.
But... don't use a SLIDER for such a setting. Either make it radio buttons, or a single checkbox.
Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/defaultNexuiz.cfg 2009-02-11 08:10:12 UTC (rev 5832)
@@ -27,7 +27,7 @@
seta g_configversion 0
// default.cfg versioning (update using update-cvarcount.sh, run that every time after adding a new cvar)
-set cvar_check_default 9351678ef3ad9cea04f929f91bca7684
+set cvar_check_default 1e27a8f2f0ba60542af81e2272d39ad7
// Nexuiz version (formatted for machines)
// used to determine if a client version is compatible
@@ -1291,7 +1291,7 @@
seta cl_teamradar_scale 4096
seta cl_teamradar_rotation 0 "rotation mode: you set what points up. 0 = player, 1 = west, 2 = south, 3 = east, 4 = north"
seta cl_teamradar_size "128 128"
-seta cl_teamradar_position "0 0" "1 1 would be lower right corner, 0.5 0.5 the center (ARGH) :P"
+seta cl_teamradar_position "0 0" "1 0 would be upper right corner, 0.5 0.5 the center"
seta cl_teamradar_zoommode 0 "zoom mode: 0 = zoomed by default, 1 = zoomed when +zoom, 2 = always zoomed, 3 = always zoomed out"
alias cl_teamradar_rotate "toggle cl_teamradar_rotation 0 1 2 3 4"
@@ -1410,3 +1410,6 @@
seta cl_gentle 0 "client side gentle mode (only replaces gibs)"
seta sbar_increment_maptime 0 // set to 1 if you prefer an increasing timer
+
+seta cl_showpressedkeys 0 "Show which movement keys someone is pressing: 1 for spectating, 2 for always"
+set cl_showpressedkeys_position "1 0.8" "1 0 would be upper right corner, 0.5 0.5 the center"
Added: trunk/data/gfx/keys/key_backward.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/gfx/keys/key_backward.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/gfx/keys/key_bg.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/gfx/keys/key_bg.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/gfx/keys/key_crouch.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/gfx/keys/key_crouch.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/gfx/keys/key_forward.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/gfx/keys/key_forward.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/gfx/keys/key_jump.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/gfx/keys/key_jump.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/gfx/keys/key_left.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/gfx/keys/key_left.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/gfx/keys/key_right.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/gfx/keys/key_right.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/data/qcsrc/client/View.qc
===================================================================
--- trunk/data/qcsrc/client/View.qc 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/qcsrc/client/View.qc 2009-02-11 08:10:12 UTC (rev 5832)
@@ -413,6 +413,12 @@
teamradar_view();
}
+ if (cvar("cl_showpressedkeys")) // draw pressed keys when spectating and playing
+ {
+ if(spectatee_status > 0 || cvar("cl_showpressedkeys") >= 2)
+ Sbar_DrawPressedKeys();
+ }
+
// draw sbar
if(cvar("r_letterbox") == 0)
if(cvar("viewsize") < 120)
Modified: trunk/data/qcsrc/client/sbar.qc
===================================================================
--- trunk/data/qcsrc/client/sbar.qc 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/qcsrc/client/sbar.qc 2009-02-11 08:10:12 UTC (rev 5832)
@@ -1703,6 +1703,30 @@
return offset + sbar_fontsize_y * '0 1 0';
}
+void Sbar_DrawPressedKeys(void)
+{
+ vector pos, bgsize;
+ float center_y;
+ float pressedkeys;
+
+ pos = stov(cvar_string("cl_showpressedkeys_position"));
+
+ bgsize = '126 75 0';
+
+ pos = '1 0 0' * (vid_conwidth - bgsize_x) * pos_x
+ + '0 1 0' * (vid_conheight - bgsize_y) * pos_y;
+ pos -= '-15 -6 0'; // adjust to the origin of these numbers
+
+ pressedkeys = getstatf(STAT_PRESSED_KEYS);
+ drawpic(pos + '-15 -6 0', "gfx/keys/key_bg.tga", bgsize, '1 1 1', .1, DRAWFLAG_NORMAL);
+ drawpic(pos + ' 83.5 9 0', "gfx/keys/key_crouch.tga", ' 24 24 0', '1 1 1', .5 * ((pressedkeys & KEY_CROUCH) + 1), DRAWFLAG_NORMAL);
+ drawpic(pos + ' 32 -1.5 0', "gfx/keys/key_forward.tga", ' 32 32 0', '1 1 1', .5 * ((pressedkeys & KEY_FORWARD) + 1), DRAWFLAG_NORMAL);
+ drawpic(pos + '-11.5 9 0', "gfx/keys/key_jump.tga", ' 24 24 0', '1 1 1', .5 * ((pressedkeys & KEY_JUMP) + 1), DRAWFLAG_NORMAL);
+ drawpic(pos + ' -1 32 0', "gfx/keys/key_left.tga", ' 32 32 0', '1 1 1', .5 * ((pressedkeys & KEY_LEFT) + 1), DRAWFLAG_NORMAL);
+ drawpic(pos + ' 32 32 0', "gfx/keys/key_backward.tga", ' 32 32 0', '1 1 1', .5 * ((pressedkeys & KEY_BACKWARD) + 1), DRAWFLAG_NORMAL);
+ drawpic(pos + ' 65 32 0', "gfx/keys/key_right.tga", ' 32 32 0', '1 1 1', .5 * ((pressedkeys & KEY_RIGHT) + 1), DRAWFLAG_NORMAL);
+}
+
void Sbar_Draw (void)
{
float i;
Modified: trunk/data/qcsrc/common/constants.qh
===================================================================
--- trunk/data/qcsrc/common/constants.qh 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/qcsrc/common/constants.qh 2009-02-11 08:10:12 UTC (rev 5832)
@@ -214,6 +214,15 @@
const float K_MOUSE16 = 529;
///////////////////////////
+// keys pressed
+const float KEY_FORWARD = 1;
+const float KEY_BACKWARD = 2;
+const float KEY_LEFT = 4;
+const float KEY_RIGHT = 8;
+const float KEY_JUMP = 16;
+const float KEY_CROUCH = 32;
+
+///////////////////////////
// cvar constants
float CVAR_SAVE = 1;
@@ -231,6 +240,7 @@
const float STAT_GAMESTARTTIME = 37;
const float STAT_STRENGTH_FINISHED = 38;
const float STAT_INVINCIBLE_FINISHED = 39;
+const float STAT_PRESSED_KEYS = 42;
const float CTF_STATE_ATTACK = 1;
const float CTF_STATE_DEFEND = 2;
const float CTF_STATE_COMMANDER = 3;
Modified: trunk/data/qcsrc/menu/nexuiz/dialog_settings_input.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_settings_input.c 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_settings_input.c 2009-02-11 08:10:12 UTC (rev 5832)
@@ -71,5 +71,9 @@
e.addValue(e, "Short", "1");
e.addValue(e, "Long", "2");
e.configureNexuizTextSliderValues(e);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "cl_showpressedkeys", "Show pressed keys"));
+ e.noValue = 0;
+ e.yesValue = 2;
}
#endif
Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/qcsrc/server/cl_client.qc 2009-02-11 08:10:12 UTC (rev 5832)
@@ -1766,6 +1766,49 @@
zoomstate_set = 1;
}
+void GetPressedKeys(void) {
+ if (self.movement_x > 0) // get if movement keys are pressed
+ { // forward key pressed
+ self.pressedkeys |= KEY_FORWARD;
+ self.pressedkeys &~= KEY_BACKWARD;
+ }
+ else if (self.movement_x < 0)
+ { // backward key pressed
+ self.pressedkeys |= KEY_BACKWARD;
+ self.pressedkeys &~= KEY_FORWARD;
+ }
+ else
+ { // no x input
+ self.pressedkeys &~= KEY_FORWARD;
+ self.pressedkeys &~= KEY_BACKWARD;
+ }
+
+ if (self.movement_y > 0)
+ { // right key pressed
+ self.pressedkeys |= KEY_RIGHT;
+ self.pressedkeys &~= KEY_LEFT;
+ }
+ else if (self.movement_y < 0)
+ { // left key pressed
+ self.pressedkeys |= KEY_LEFT;
+ self.pressedkeys &~= KEY_RIGHT;
+ }
+ else
+ { // no y input
+ self.pressedkeys &~= KEY_RIGHT;
+ self.pressedkeys &~= KEY_LEFT;
+ }
+
+ if (self.BUTTON_JUMP) // get if jump and crouch keys are pressed
+ self.pressedkeys |= KEY_JUMP;
+ else
+ self.pressedkeys &~= KEY_JUMP;
+ if (self.BUTTON_CROUCH)
+ self.pressedkeys |= KEY_CROUCH;
+ else
+ self.pressedkeys &~= KEY_CROUCH;
+}
+
/*
======================
spectate mode routines
@@ -1781,6 +1824,7 @@
self.items = spectatee.items;
self.strength_finished = spectatee.strength_finished;
self.invincible_finished = spectatee.invincible_finished;
+ self.pressedkeys = spectatee.pressedkeys;
self.weapons = spectatee.weapons;
self.switchweapon = spectatee.switchweapon;
self.weapon = spectatee.weapon;
@@ -2449,7 +2493,7 @@
self.race_penalty_nagged = 0;
}
}
-
+ GetPressedKeys();
} else if (self.classname == "observer") {
//do nothing
} else if (self.classname == "spectator") {
Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/qcsrc/server/constants.qh 2009-02-11 08:10:12 UTC (rev 5832)
@@ -1,4 +1,4 @@
-string CVAR_CHECK_DEFAULT = "9351678ef3ad9cea04f929f91bca7684";
+string CVAR_CHECK_DEFAULT = "1e27a8f2f0ba60542af81e2272d39ad7";
string CVAR_CHECK_WEAPONS = "4cd91ef6c8a9627168a5e85f581e1e0f";
float FALSE = 0;
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/qcsrc/server/defs.qh 2009-02-11 08:10:12 UTC (rev 5832)
@@ -492,6 +492,7 @@
.float stat_sys_ticrate;
.float phase;
.float weapons;
+.float pressedkeys;
.float porto_forbidden;
Modified: trunk/data/qcsrc/server/g_world.qc
===================================================================
--- trunk/data/qcsrc/server/g_world.qc 2009-02-11 07:41:22 UTC (rev 5831)
+++ trunk/data/qcsrc/server/g_world.qc 2009-02-11 08:10:12 UTC (rev 5832)
@@ -547,6 +547,8 @@
addstat(STAT_STRENGTH_FINISHED, AS_FLOAT, strength_finished);
addstat(STAT_INVINCIBLE_FINISHED, AS_FLOAT, invincible_finished);
+ addstat(STAT_PRESSED_KEYS, AS_FLOAT, pressedkeys);
+
next_pingtime = time + 5;
InitializeEntity(self, cvar_changes_init, INITPRIO_CVARS);
More information about the nexuiz-commits
mailing list