[nexuiz-commits] r7399 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Aug 8 16:45:09 EDT 2009


Author: div0
Date: 2009-08-08 16:45:09 -0400 (Sat, 08 Aug 2009)
New Revision: 7399

Modified:
   trunk/data/qcsrc/server/cl_physics.qc
   trunk/data/qcsrc/server/progs.src
Log:
-DTETRIS: let konami code start tetris
otherwise: let konami code do impulse 99


Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc	2009-08-08 20:34:44 UTC (rev 7398)
+++ trunk/data/qcsrc/server/cl_physics.qc	2009-08-08 20:45:09 UTC (rev 7399)
@@ -476,6 +476,21 @@
 
 void Nixnex_GiveCurrentWeapon();
 .float() PlayerPhysplug;
+
+string specialcommand = "xwxwxsxsxaxdxaxdx1x ";
+.float specialcommand_pos;
+void SpecialCommand()
+{
+#ifdef TETRIS
+	TetrisImpulse();
+#else
+	if(sv_cheats || self.maycheat)
+		self.impulse = 99;
+	else
+		print("A hollow voice says \"Plugh\".\n");
+#endif
+}
+
 void SV_PlayerPhysics()
 {
 	local vector wishvel, wishdir, v;
@@ -483,12 +498,44 @@
 	string temps;
 	float buttons_prev;
 	float not_allowed_to_move;
+	string c;
 
+	buttons = self.BUTTON_ATCK + 2 * self.BUTTON_JUMP + 4 * self.BUTTON_ATCK2 + 8 * self.BUTTON_ZOOM + 16 * self.BUTTON_CROUCH + 32 * self.BUTTON_HOOK + 64 * self.BUTTON_USE + 128 * (self.movement_x < 0) + 256 * (self.movement_x > 0) + 512 * (self.movement_y < 0) + 1024 * (self.movement_y > 0);
+
+	if(!buttons)
+		c = "x";
+	else if(buttons == 1)
+		c = "1";
+	else if(buttons == 2)
+		c = " ";
+	else if(buttons == 128)
+		c = "s";
+	else if(buttons == 256)
+		c = "w";
+	else if(buttons == 512)
+		c = "a";
+	else if(buttons == 1024)
+		c = "d";
+	else
+		c = "?";
+
+	if(c == substring(specialcommand, self.specialcommand_pos, 1))
+	{
+		self.specialcommand_pos += 1;
+		if(self.specialcommand_pos >= strlen(specialcommand))
+		{
+			self.specialcommand_pos = 0;
+			SpecialCommand();
+			return;
+		}
+	}
+	else if(self.specialcommand_pos && (c != substring(specialcommand, self.specialcommand_pos - 1, 1)))
+		self.specialcommand_pos = 0;
+	
     if(self.PlayerPhysplug)
         if(self.PlayerPhysplug())
             return;
 
-	buttons = self.BUTTON_ATCK + 2 * self.BUTTON_JUMP + 4 * self.BUTTON_ATCK2 + 8 * self.BUTTON_ZOOM + 16 * self.BUTTON_CROUCH + 32 * self.BUTTON_HOOK + 64 * self.BUTTON_USE;
 	if(!sv_maxidle_spectatorsareidle || self.movetype == MOVETYPE_WALK)
 	{
 		if(buttons != self.buttons_old || self.movement != self.movement_old || self.v_angle != self.v_angle_old)

Modified: trunk/data/qcsrc/server/progs.src
===================================================================
--- trunk/data/qcsrc/server/progs.src	2009-08-08 20:34:44 UTC (rev 7398)
+++ trunk/data/qcsrc/server/progs.src	2009-08-08 20:45:09 UTC (rev 7399)
@@ -59,6 +59,7 @@
 
 g_subs.qc
 
+g_tetris.qc
 
 runematch.qc
 arena.qc
@@ -109,7 +110,6 @@
 
 t_items.qc
 cl_weapons.qc
-g_tetris.qc
 cl_impulse.qc
 
 ent_cs.qc



More information about the nexuiz-commits mailing list