r3844 - in trunk/data: . qcsrc/menu qcsrc/menu/nexuiz qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Jul 18 03:33:04 EDT 2008


Author: div0
Date: 2008-07-18 03:33:01 -0400 (Fri, 18 Jul 2008)
New Revision: 3844

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/menu/item.c
   trunk/data/qcsrc/menu/menu.qc
   trunk/data/qcsrc/menu/nexuiz/credits.c
   trunk/data/qcsrc/menu/nexuiz/maplist.c
   trunk/data/qcsrc/server/cl_physics.qc
   trunk/data/qcsrc/server/defs.qh
   trunk/data/qcsrc/server/miscfunctions.qc
Log:
sv_pogostick, sv_doublejump, add destructors to menu (to delete string buffers)


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2008-07-17 06:24:17 UTC (rev 3843)
+++ trunk/data/defaultNexuiz.cfg	2008-07-18 07:33:01 UTC (rev 3844)
@@ -157,6 +157,9 @@
 // use default physics
 exec physicsQBR.cfg
 
+set sv_pogostick 0 // don't require releasing the space bar for jumping again
+set sv_doublejump 0 // allow Quake 2-style double jumps
+
 seta sv_precacheplayermodels 1
 seta sv_precacheweapons 0
 seta sv_precacheitems 0

Modified: trunk/data/qcsrc/menu/item.c
===================================================================
--- trunk/data/qcsrc/menu/item.c	2008-07-17 06:24:17 UTC (rev 3843)
+++ trunk/data/qcsrc/menu/item.c	2008-07-18 07:33:01 UTC (rev 3844)
@@ -14,6 +14,7 @@
 	METHOD(Item, showNotify, void(entity))
 	METHOD(Item, hideNotify, void(entity))
 	METHOD(Item, toString, string(entity))
+	METHOD(Item, destroy, void(entity))
 	ATTRIB(Item, focused, float, 0)
 	ATTRIB(Item, focusable, float, 0)
 	ATTRIB(Item, parent, entity, NULL)
@@ -21,6 +22,11 @@
 #endif
 
 #ifdef IMPLEMENTATION
+void destroyItem(entity me)
+{
+	// free memory associated with me
+}
+
 void relinquishFocusItem(entity me)
 {
 	if(me.parent)

Modified: trunk/data/qcsrc/menu/menu.qc
===================================================================
--- trunk/data/qcsrc/menu/menu.qc	2008-07-17 06:24:17 UTC (rev 3843)
+++ trunk/data/qcsrc/menu/menu.qc	2008-07-18 07:33:01 UTC (rev 3844)
@@ -389,7 +389,14 @@
 
 void() m_shutdown =
 {
+	entity e;
+
 	m_hide();
+	for(e = NULL; (e = nextent(e)) != NULL; )
+	{
+		if(e.destroy)
+			e.destroy(e);
+	}
 };
 
 void(string itemname) m_goto =

Modified: trunk/data/qcsrc/menu/nexuiz/credits.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/credits.c	2008-07-17 06:24:17 UTC (rev 3843)
+++ trunk/data/qcsrc/menu/nexuiz/credits.c	2008-07-18 07:33:01 UTC (rev 3844)
@@ -6,6 +6,7 @@
 	METHOD(NexuizCreditsList, drawListBoxItem, void(entity, float, vector, float))
 	METHOD(NexuizCreditsList, resizeNotify, void(entity, vector, vector, vector, vector))
 	METHOD(NexuizCreditsList, keyDown, float(entity, float, float, float))
+	METHOD(NexuizCreditsList, destroy, void(entity))
 
 	ATTRIB(NexuizCreditsList, realFontSize, vector, '0 0 0')
 	ATTRIB(NexuizCreditsList, realUpperMargin, float, 0)
@@ -30,6 +31,10 @@
 	me.bufferIndex = buf_load("nexuiz-credits.txt");
 	me.nItems = buf_getsize(me.bufferIndex);
 }
+void destroyNexuizCreditsList(entity me)
+{
+	buf_del(me.bufferIndex);
+}
 void drawNexuizCreditsList(entity me)
 {
 	float i;

Modified: trunk/data/qcsrc/menu/nexuiz/maplist.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/maplist.c	2008-07-17 06:24:17 UTC (rev 3843)
+++ trunk/data/qcsrc/menu/nexuiz/maplist.c	2008-07-18 07:33:01 UTC (rev 3844)
@@ -39,6 +39,8 @@
 
 	ATTRIB(NexuizMapList, typeToSearchString, string, string_null)
 	ATTRIB(NexuizMapList, typeToSearchTime, float, 0)
+
+	METHOD(NexuizMapList, destroy, void(entity))
 ENDCLASS(NexuizMapList)
 entity makeNexuizMapList();
 void MapList_All(entity btn, entity me);
@@ -47,6 +49,11 @@
 #endif
 
 #ifdef IMPLEMENTATION
+void destroyNexuizMapList(entity me)
+{
+	MapInfo_Shutdown();
+}
+
 entity makeNexuizMapList()
 {
 	entity me;

Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc	2008-07-17 06:24:17 UTC (rev 3843)
+++ trunk/data/qcsrc/server/cl_physics.qc	2008-07-18 07:33:01 UTC (rev 3844)
@@ -46,8 +46,9 @@
 	if (!(self.flags & FL_ONGROUND))
 		return;
 
-	if (!(self.flags & FL_JUMPRELEASED))
-		return;
+	if(!sv_pogostick)
+		if (!(self.flags & FL_JUMPRELEASED))
+			return;
 
 	if(g_runematch)
 	{
@@ -231,6 +232,14 @@
 
 	if(self.classname == "player")
 	{
+		if(sv_doublejump)
+		{
+			self.flags = self.flags - (self.flags & FL_ONGROUND);
+			tracebox(self.origin + '0 0 1', self.mins, self.maxs, self.origin - '0 0 2', MOVE_NORMAL, self);
+			if(trace_fraction < 1 && trace_plane_normal_z > 0.7)
+				self.flags = self.flags | FL_ONGROUND;
+		}
+
 		if (self.BUTTON_JUMP)
 			PlayerJump ();
 		else

Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh	2008-07-17 06:24:17 UTC (rev 3843)
+++ trunk/data/qcsrc/server/defs.qh	2008-07-18 07:33:01 UTC (rev 3844)
@@ -436,6 +436,9 @@
 float sv_maxidle;
 float sv_maxidle_spectatorsareidle;
 
+float sv_pogostick;
+float sv_doublejump;
+
 float next_pingtime;
 
 .float captures;

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2008-07-17 06:24:17 UTC (rev 3843)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2008-07-18 07:33:01 UTC (rev 3844)
@@ -769,6 +769,8 @@
 	g_tourney = cvar("g_tourney");
 	sv_maxidle = cvar("sv_maxidle");
 	sv_maxidle_spectatorsareidle = cvar("sv_maxidle_spectatorsareidle");
+	sv_pogostick = cvar("sv_pogostick");
+	sv_doublejump = cvar("sv_doublejump");
 
 	g_pickup_shells                    = cvar("g_pickup_shells");
 	g_pickup_shells_max                = cvar("g_pickup_shells_max");




More information about the nexuiz-commits mailing list