[nexuiz-commits] r6903 - in branches/nexuiz-2.0/data: . gfx/menu/blueplastic gfx/menu/default gfx/menu/silver gfx/menu/simplygray gfx/menu/wickedblack gfx/menu/wickedblue gfx/menu/wickedgreen gfx/menu/wickedred gfx/menu/wickedwhite gfx/menu/wickedyellow gfx/menu/wickedz gfx/menu/xaw models/gibs qcsrc/client qcsrc/menu/nexuiz qcsrc/server sound/announcer/male sound/ctf sound/misc sound/player/pyria-skadi/coms sound/weapons textures

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Jun 7 15:04:35 EDT 2009


Author: div0
Date: 2009-06-07 15:04:32 -0400 (Sun, 07 Jun 2009)
New Revision: 6903

Added:
   branches/nexuiz-2.0/data/bots.txt
   branches/nexuiz-2.0/data/gfx/menu/blueplastic/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/default/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/silver/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/simplygray/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/wickedblack/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/wickedblue/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/wickedgreen/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/wickedred/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/wickedwhite/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/wickedyellow/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/wickedz/tooltip.tga
   branches/nexuiz-2.0/data/gfx/menu/xaw/tooltip.tga
   branches/nexuiz-2.0/data/models/gibs/arm.md3_0.skin
   branches/nexuiz-2.0/data/models/gibs/arm.md3_1.skin
   branches/nexuiz-2.0/data/models/gibs/arm.md3_2.skin
   branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_0.skin
   branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_1.skin
   branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_2.skin
   branches/nexuiz-2.0/data/models/gibs/chest.md3_0.skin
   branches/nexuiz-2.0/data/models/gibs/chest.md3_1.skin
   branches/nexuiz-2.0/data/models/gibs/chest.md3_2.skin
   branches/nexuiz-2.0/data/models/gibs/leg1.md3_0.skin
   branches/nexuiz-2.0/data/models/gibs/leg1.md3_1.skin
   branches/nexuiz-2.0/data/models/gibs/leg1.md3_2.skin
   branches/nexuiz-2.0/data/models/gibs/leg2.md3_0.skin
   branches/nexuiz-2.0/data/models/gibs/leg2.md3_1.skin
   branches/nexuiz-2.0/data/models/gibs/leg2.md3_2.skin
   branches/nexuiz-2.0/data/models/gibs/smallchest.md3_0.skin
   branches/nexuiz-2.0/data/models/gibs/smallchest.md3_1.skin
   branches/nexuiz-2.0/data/models/gibs/smallchest.md3_2.skin
   branches/nexuiz-2.0/data/qcsrc/client/rubble.qc
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_advanced.c
   branches/nexuiz-2.0/data/qcsrc/server/havocbot_ctf.qc
   branches/nexuiz-2.0/data/sound/announcer/male/amazing.ogg
   branches/nexuiz-2.0/data/sound/announcer/male/awesome.ogg
   branches/nexuiz-2.0/data/sound/ctf/blue_capture.wav
   branches/nexuiz-2.0/data/sound/ctf/blue_dropped.wav
   branches/nexuiz-2.0/data/sound/ctf/blue_returned.wav
   branches/nexuiz-2.0/data/sound/ctf/blue_taken.wav
   branches/nexuiz-2.0/data/sound/ctf/flag_respawn.wav
   branches/nexuiz-2.0/data/sound/ctf/red_capture.wav
   branches/nexuiz-2.0/data/sound/ctf/red_dropped.wav
   branches/nexuiz-2.0/data/sound/ctf/red_returned.wav
   branches/nexuiz-2.0/data/sound/ctf/red_taken.wav
   branches/nexuiz-2.0/data/sound/misc/shield_respawn.wav
   branches/nexuiz-2.0/data/sound/misc/strength_respawn.wav
   branches/nexuiz-2.0/data/sound/player/pyria-skadi/coms/needhelp2.ogg
   branches/nexuiz-2.0/data/sound/weapons/unavailable.wav
   branches/nexuiz-2.0/data/textures/bloodyskull_alien.tga
   branches/nexuiz-2.0/data/textures/bloodyskull_alien_glow.tga
   branches/nexuiz-2.0/data/textures/bloodyskull_robot.tga
   branches/nexuiz-2.0/data/textures/bloodyskull_robot_gloss.tga
   branches/nexuiz-2.0/data/textures/bloodyskull_robot_glow.tga
   branches/nexuiz-2.0/data/textures/meat_alien.tga
   branches/nexuiz-2.0/data/textures/meat_alien_gloss.tga
   branches/nexuiz-2.0/data/textures/meat_alien_glow.tga
   branches/nexuiz-2.0/data/textures/meat_alien_norm.tga
   branches/nexuiz-2.0/data/textures/meat_robot.tga
   branches/nexuiz-2.0/data/textures/meat_robot_gloss.tga
   branches/nexuiz-2.0/data/textures/meat_robot_glow.tga
   branches/nexuiz-2.0/data/textures/meat_robot_norm.tga
   branches/nexuiz-2.0/data/tooltips.db
Log:
add missing files


Added: branches/nexuiz-2.0/data/bots.txt
===================================================================
--- branches/nexuiz-2.0/data/bots.txt	                        (rev 0)
+++ branches/nexuiz-2.0/data/bots.txt	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1,21 @@
+//bot configuration: name model skin shirt-color pants-color team-override
+//default team values (team-override): 1 = red, 2 = blue, 3 = yellow, 4 = pink
+//use -1 for shirt-color or pants-color to get random colors
+Hellfire	carni	0	4	0	0
+Toxic	carni	1	14	7	0
+Discovery	crash	0	2	6	0
+Pegasus	grunt	0	13	11	0
+Eureka	headhunter	0	12	7	0
+Airhead	insurrectionist	0	11	1	0
+Gator	lurk	0	3	10	0
+Delirium	lurk	1	8	12	0
+Death	lycanthrope	0	4	11	0
+Scorcher	marine	0	13	13	0
+Necrotic	nexus	0	12	14	0
+Dominator	nexus	1	3	9	0
+Thunderstorm	nexus	2	13	6	0
+Mystery	pyria	0	9	14	0
+Lion	shock	0	0	4	0
+Sensible	skadi	0	9	9	0
+Shadow	specop	0	4	8	0
+Resurrection	visitant	0	1	1	0
\ No newline at end of file

Added: branches/nexuiz-2.0/data/gfx/menu/blueplastic/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/blueplastic/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/default/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/default/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/silver/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/silver/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/simplygray/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/simplygray/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/wickedblack/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/wickedblack/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/wickedblue/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/wickedblue/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/wickedgreen/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/wickedgreen/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/wickedred/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/wickedred/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/wickedwhite/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/wickedwhite/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/wickedyellow/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/wickedyellow/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/wickedz/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/wickedz/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/gfx/menu/xaw/tooltip.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/gfx/menu/xaw/tooltip.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/models/gibs/arm.md3_0.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/arm.md3_0.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/arm.md3_0.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box03,textures/meat.tga
Cylinder11,textures/meat.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/arm.md3_1.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/arm.md3_1.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/arm.md3_1.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box03,textures/meat_robot.tga
Cylinder11,textures/meat_robot.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/arm.md3_2.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/arm.md3_2.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/arm.md3_2.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box03,textures/meat_alien.tga
Cylinder11,textures/meat_alien.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_0.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_0.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_0.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box03,textures/bloodyskull.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_1.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_1.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_1.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box03,textures/bloodyskull_robot.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_2.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_2.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/bloodyskull.md3_2.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box03,textures/bloodyskull_alien.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/chest.md3_0.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/chest.md3_0.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/chest.md3_0.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box02,textures/meat.tga
Cylinder06,textures/meat.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/chest.md3_1.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/chest.md3_1.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/chest.md3_1.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box02,textures/meat_robot.tga
Cylinder06,textures/meat_robot.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/chest.md3_2.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/chest.md3_2.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/chest.md3_2.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+Box02,textures/meat_alien.tga
Cylinder06,textures/meat_alien.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/leg1.md3_0.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/leg1.md3_0.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/leg1.md3_0.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+legs,textures/meat.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/leg1.md3_1.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/leg1.md3_1.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/leg1.md3_1.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+legs,textures/meat_robot.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/leg1.md3_2.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/leg1.md3_2.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/leg1.md3_2.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+legs,textures/meat_alien.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/leg2.md3_0.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/leg2.md3_0.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/leg2.md3_0.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+legs01,textures/meat.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/leg2.md3_1.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/leg2.md3_1.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/leg2.md3_1.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+legs01,textures/meat_robot.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/leg2.md3_2.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/leg2.md3_2.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/leg2.md3_2.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1 @@
+legs01,textures/meat_alien.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/smallchest.md3_0.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/smallchest.md3_0.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/smallchest.md3_0.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1,5 @@
+Box01,textures/meat.tga
+Cylinder02,textures/meat.tga
+Cylinder13,textures/meat.tga
+Cylinder14,textures/meat.tga
+Cylinder15,textures/meat.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/smallchest.md3_1.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/smallchest.md3_1.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/smallchest.md3_1.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1,5 @@
+Box01,textures/meat_robot.tga
+Cylinder02,textures/meat_robot.tga
+Cylinder13,textures/meat_robot.tga
+Cylinder14,textures/meat_robot.tga
+Cylinder15,textures/meat_robot.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/models/gibs/smallchest.md3_2.skin
===================================================================
--- branches/nexuiz-2.0/data/models/gibs/smallchest.md3_2.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/gibs/smallchest.md3_2.skin	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1,5 @@
+Box01,textures/meat_alien.tga
+Cylinder02,textures/meat_alien.tga
+Cylinder13,textures/meat_alien.tga
+Cylinder14,textures/meat_alien.tga
+Cylinder15,textures/meat_alien.tga
\ No newline at end of file

Added: branches/nexuiz-2.0/data/qcsrc/client/rubble.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/client/rubble.qc	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/client/rubble.qc	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1,34 @@
+.float creationtime;
+
+void RubbleDrop(entity list, void() deleteproc)
+{
+    float t,tt;
+    entity rub,old_rub;
+
+    rub = findchainentity(owner,list);
+    while(rub)
+    {
+        if(rub.creationtime > t)
+        {
+            old_rub = rub;
+            tt = t;
+        }
+        rub = rub.chain;
+    }
+
+    rub = self;
+    self = old_rub;
+    deleteproc();
+    self = rub;
+}
+
+entity RubbleNew(entity list)
+{
+    entity rub;
+
+    rub = spawn();
+    rub.creationtime = time;
+    rub.owner = list;
+
+    return rub;
+}

Added: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_advanced.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_advanced.c	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_advanced.c	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1,69 @@
+#ifdef INTERFACE
+CLASS(NexuizAdvancedDialog) EXTENDS(NexuizDialog)
+	METHOD(NexuizAdvancedDialog, fill, void(entity))
+	METHOD(NexuizAdvancedDialog, showNotify, void(entity))
+	METHOD(NexuizAdvancedDialog, close, void(entity))
+	ATTRIB(NexuizAdvancedDialog, title, string, "Advanced server settings")
+	ATTRIB(NexuizAdvancedDialog, color, vector, SKINCOLOR_DIALOG_ADVANCED)
+	ATTRIB(NexuizAdvancedDialog, intendedWidth, float, 0.5)
+	ATTRIB(NexuizAdvancedDialog, rows, float, 13)
+	ATTRIB(NexuizAdvancedDialog, columns, float, 3)
+	ATTRIB(NexuizAdvancedDialog, refilterEntity, entity, NULL)
+ENDCLASS(NexuizAdvancedDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void showNotifyNexuizAdvancedDialog(entity me)
+{
+	loadAllCvars(me);
+}
+
+void fillNexuizAdvancedDialog(entity me)
+{
+	entity e;
+	me.TR(me);
+		me.TD(me, 1, 1.2, makeNexuizTextLabel(0, "Game settings:"));
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 1.2, e = makeNexuizCheckBox(0, "sv_spectate", "Allow spectating"));
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Spawn shield:"));
+		me.TD(me, 1, 1.6, e = makeNexuizSlider(0, 15, 0.5, "g_spawnshieldtime"));
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Start delay:"));
+		me.TD(me, 1, 1.6, e = makeNexuizSlider(0, 30, 0.5, "g_start_delay"));
+	me.TR(me);
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Game speed:"));
+		me.TD(me, 1, 1.6, e = makeNexuizSlider(0.5, 2.0, 0.1, "slowmo"));
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 1.2, e = makeNexuizCheckBoxEx(2, 0, "g_antilag", "AntiLag"));
+	me.TR(me);
+	me.TR(me);
+		me.TD(me, 1, 1.2, makeNexuizTextLabel(0, "Teamplay settings:"));
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Friendly fire scale:"));
+		me.TD(me, 1, 1.6, e = makeNexuizSlider(0, 1.0, 0.05, "g_friendlyfire"));
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 1.2, e = makeNexuizTextLabel(0, "Mirror damage:"));
+		me.TD(me, 1, 1.6, e = makeNexuizSlider(0, 1.0, 0.05, "g_mirrordamage"));
+
+	me.gotoRC(me, me.rows - 1, 0);
+		me.TD(me, 1, me.columns, e = makeNexuizButton("OK", '0 0 0'));
+			e.onClick = Dialog_Close;
+			e.onClickEntity = me;
+}
+
+void closeNexuizAdvancedDialog(entity me)
+{
+	if(me.refilterEntity)
+		me.refilterEntity.refilter(me.refilterEntity);
+	closeDialog(me);
+}
+#endif

Added: branches/nexuiz-2.0/data/qcsrc/server/havocbot_ctf.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/havocbot_ctf.qc	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/server/havocbot_ctf.qc	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1,705 @@
+
+#define HAVOCBOT_ROLE_NONE 		0
+#define HAVOCBOT_CTF_ROLE_DEFENSE	2
+#define HAVOCBOT_CTF_ROLE_MIDDLE	4
+#define HAVOCBOT_CTF_ROLE_OFFENSE	8
+#define HAVOCBOT_CTF_ROLE_CARRIER	16
+#define HAVOCBOT_CTF_ROLE_RETRIEVER	32
+#define HAVOCBOT_CTF_ROLE_ESCORT	64
+
+.void() havocbot_role;
+.void() havocbot_previous_role;
+
+void() havocbot_role_ctf_middle;
+void() havocbot_role_ctf_defense;
+void() havocbot_role_ctf_offense;
+void() havocbot_role_ctf_carrier;
+void() havocbot_role_ctf_retriever;
+void() havocbot_role_ctf_escort;
+
+void(entity bot) havocbot_ctf_reset_role;
+void(float ratingscale, vector org, float sradius) havocbot_goalrating_items;
+void(float ratingscale, vector org, float sradius) havocbot_goalrating_enemyplayers;
+
+.float havocbot_cantfindflag;
+.float havocbot_role_timeout;
+.entity ctf_worldflagnext;
+
+vector havocbot_ctf_middlepoint;
+float havocbot_ctf_middlepoint_radius;
+entity ctf_worldflaglist;
+
+entity havocbot_ctf_find_flag(entity bot)
+{
+	entity f;
+	f = ctf_worldflaglist;
+	while (f)
+	{
+		if (bot.team == f.team)
+			return f;
+		f = f.ctf_worldflagnext;
+	}
+	return world;
+};
+
+entity havocbot_ctf_find_enemy_flag(entity bot)
+{
+	entity f;
+	f = ctf_worldflaglist;
+	while (f)
+	{
+		if (bot.team != f.team)
+			return f;
+		f = f.ctf_worldflagnext;
+	}
+	return world;
+};
+
+float havocbot_ctf_teamcount(entity bot, vector org, float radius)
+{
+	if not(teams_matter)
+		return 0;
+
+	float c;
+	entity head;
+
+	FOR_EACH_PLAYER(head)
+	{
+		if(head.team!=bot.team || head.deadflag != DEAD_NO || head == bot)
+			continue;
+
+		if(vlen(head.origin - org) < radius)
+			++c;
+	}
+
+	return c;
+};
+
+void havocbot_goalrating_ctf_ourflag(float ratingscale)
+{
+	local entity head;
+	head = ctf_worldflaglist;
+	while (head)
+	{
+		if (self.team == head.team)
+			break;
+		head = head.ctf_worldflagnext;
+	}
+	if (head)
+		navigation_routerating(head, ratingscale, 10000);
+};
+
+void havocbot_goalrating_ctf_ourbase(float ratingscale)
+{
+	if not(bot_waypoints_for_items)
+	{
+		havocbot_goalrating_ctf_ourflag(ratingscale);
+		return;
+	}
+
+	local entity head;
+	head = ctf_worldflaglist;
+	while (head)
+	{
+		if (self.team == head.team)
+			break;
+		head = head.ctf_worldflagnext;
+	}
+	if not(head)
+		return;
+
+	// dropped_origin is set by ctf code whenever the flag is picked up
+	head = findradius(head.dropped_origin, 100);
+	while(head)
+	{
+		if(head.classname=="waypoint")
+		{
+			navigation_routerating(head, ratingscale, 10000);
+			return;
+		}
+		head=head.chain;
+	}
+};
+
+void havocbot_goalrating_ctf_enemyflag(float ratingscale)
+{
+	local entity head;
+	head = ctf_worldflaglist;
+	while (head)
+	{
+		if (self.team != head.team)
+			break;
+		head = head.ctf_worldflagnext;
+	}
+	if (head)
+		navigation_routerating(head, ratingscale, 10000);
+};
+
+void havocbot_goalrating_ctf_enemybase(float ratingscale)
+{
+	if not(bot_waypoints_for_items)
+	{
+		havocbot_goalrating_ctf_enemyflag(ratingscale);
+		return;
+	}
+
+	local entity head;
+
+	head = havocbot_ctf_find_enemy_flag(self);
+
+	if not(head)
+		return;
+
+	head = findradius(head.dropped_origin, 100);
+	while(head)
+	{
+		if(head.classname=="waypoint")
+		{
+			navigation_routerating(head, ratingscale, 10000);
+			return;
+		}
+		head=head.chain;
+	}
+};
+
+void havocbot_goalrating_ctf_ourstolenflag(float ratingscale)
+{
+	local entity mf;
+
+	mf = havocbot_ctf_find_flag(self);
+
+	if(mf.cnt == FLAG_BASE)
+		return;
+
+	navigation_routerating(mf, ratingscale, 10000);
+};
+
+void havocbot_goalrating_ctf_droppedflags(float ratingscale, vector org, float radius)
+{
+	local entity head;
+	head = ctf_worldflaglist;
+	while (head)
+	{
+		// flag is out in the field
+		if(head.cnt != FLAG_BASE)
+		if(head.tag_entity==world)	// dropped
+		{
+			if(radius)
+			{
+				if(vlen(org-head.origin)<radius)
+					navigation_routerating(head, ratingscale, 10000);
+			}
+			else
+				navigation_routerating(head, ratingscale, 10000);
+		}
+
+		head = head.ctf_worldflagnext;
+	}
+};
+
+void havocbot_goalrating_ctf_carrieritems(float ratingscale, vector org, float sradius)
+{
+	local entity head;
+	local float t;
+	head = findchainfloat(bot_pickup, TRUE);
+	while (head)
+	{
+		// gather health and armor only
+		if (head.solid)
+		if (head.health || head.armorvalue)
+		if (vlen(head.origin - org) < sradius)
+		{
+			// get the value of the item
+			t = head.bot_pickupevalfunc(self, head) * 0.0001;
+			if (t > 0)
+				navigation_routerating(head, t * ratingscale, 500);
+		}
+		head = head.chain;
+	}
+};
+
+void havocbot_role_ctf_setrole(entity bot, float role)
+{
+	dprint(strcat(bot.netname," switched to "));
+	switch(role)
+	{
+		case HAVOCBOT_CTF_ROLE_CARRIER:
+			dprint("carrier");
+			bot.havocbot_role = havocbot_role_ctf_carrier;
+			bot.havocbot_role_timeout = 0;
+			bot.havocbot_cantfindflag = time + 10;
+			break;
+		case HAVOCBOT_CTF_ROLE_DEFENSE:
+			dprint("defense");
+			bot.havocbot_role = havocbot_role_ctf_defense;
+			bot.havocbot_role_timeout = 0;
+			break;
+		case HAVOCBOT_CTF_ROLE_MIDDLE:
+			dprint("middle");
+			bot.havocbot_role = havocbot_role_ctf_middle;
+			bot.havocbot_role_timeout = 0;
+			break;
+		case HAVOCBOT_CTF_ROLE_OFFENSE:
+			dprint("offense");
+			bot.havocbot_role = havocbot_role_ctf_offense;
+			bot.havocbot_role_timeout = 0;
+			break;
+		case HAVOCBOT_CTF_ROLE_RETRIEVER:
+			dprint("retriever");
+			bot.havocbot_previous_role = bot.havocbot_role;
+			bot.havocbot_role = havocbot_role_ctf_retriever;
+			bot.havocbot_role_timeout = time + 10;
+			break;
+		case HAVOCBOT_CTF_ROLE_ESCORT:
+			dprint("escort");
+			bot.havocbot_previous_role = bot.havocbot_role;
+			bot.havocbot_role = havocbot_role_ctf_escort;
+			bot.havocbot_role_timeout = time + 30;
+			break;
+	}
+	dprint("\n");
+};
+
+void havocbot_role_ctf_carrier()
+{
+	if(self.deadflag != DEAD_NO)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.flagcarried == world)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.bot_strategytime < time)
+	{
+		self.bot_strategytime = time + cvar("bot_ai_strategyinterval");
+
+		navigation_goalrating_start();
+		havocbot_goalrating_ctf_ourbase(50000);
+
+		if(self.health<100)
+			havocbot_goalrating_ctf_carrieritems(1000, self.origin, 1000);
+
+		navigation_goalrating_end();
+
+		if (self.navigation_hasgoals)
+			self.havocbot_cantfindflag = time + 10;
+		else if (time > self.havocbot_cantfindflag)
+		{
+			// Can't navigate to my own base, suicide!
+			// TODO: drop it and wander around
+			Damage(self, self, self, 100000, DEATH_KILL, self.origin, '0 0 0');
+			return;
+		}
+	}
+};
+
+void havocbot_role_ctf_escort()
+{
+	local entity mf, ef;
+
+	if(self.deadflag != DEAD_NO)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.flagcarried)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_CARRIER);
+		return;
+	}
+
+	// If enemy flag is back on the base switch to previous role
+	ef = havocbot_ctf_find_enemy_flag(self);
+	if(ef.cnt==FLAG_BASE)
+	{
+		self.havocbot_role = self.havocbot_previous_role;
+		self.havocbot_role_timeout = 0;
+		return;
+	}
+
+	// If the flag carrier reached the base switch to defense
+	mf = havocbot_ctf_find_flag(self);
+	if(mf.cnt!=FLAG_BASE)
+	if(vlen(ef.origin - mf.dropped_origin) < 300)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_DEFENSE);
+		return;
+	}
+
+	// Set the role timeout if necessary
+	if (!self.havocbot_role_timeout)
+	{
+		self.havocbot_role_timeout = time + random() * 30 + 60;
+	}
+
+	// If nothing happened just switch to previous role
+	if (time > self.havocbot_role_timeout)
+	{
+		self.havocbot_role = self.havocbot_previous_role;
+		self.havocbot_role_timeout = 0;
+		return;
+	}
+
+	// Chase the flag carrier
+	if (self.bot_strategytime < time)
+	{
+		self.bot_strategytime = time + cvar("bot_ai_strategyinterval");
+		navigation_goalrating_start();
+		havocbot_goalrating_ctf_enemyflag(30000);
+		havocbot_goalrating_ctf_ourstolenflag(40000);
+		havocbot_goalrating_items(10000, self.origin, 10000);
+		navigation_goalrating_end();
+	}
+};
+
+void havocbot_role_ctf_offense()
+{
+	local entity mf, ef;
+	local vector pos;
+
+	if(self.deadflag != DEAD_NO)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.flagcarried)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_CARRIER);
+		return;
+	}
+
+	// Check flags
+	mf = havocbot_ctf_find_flag(self);
+	ef = havocbot_ctf_find_enemy_flag(self);
+
+	// Own flag stolen
+	if(mf.cnt!=FLAG_BASE)
+	{
+		if(mf.tag_entity)
+			pos = mf.tag_entity.origin;
+		else
+			pos = mf.origin;
+
+		// Try to get it if closer than the enemy base
+		if(vlen(self.origin-ef.dropped_origin)>vlen(self.origin-pos))
+		{
+			havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_RETRIEVER);
+			return;
+		}
+	}
+
+	// Escort flag carrier
+	if(ef.cnt!=FLAG_BASE)
+	{
+		if(ef.tag_entity)
+			pos = ef.tag_entity.origin;
+		else
+			pos = ef.origin;
+
+		if(vlen(pos-mf.dropped_origin)>700)
+		{
+			havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_ESCORT);
+			return;
+		}
+	}
+
+	// About to fail, switch to middlefield
+	if(self.health<50)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_MIDDLE);
+		return;
+	}
+
+	// Set the role timeout if necessary
+	if (!self.havocbot_role_timeout)
+		self.havocbot_role_timeout = time + 120;
+
+	if (time > self.havocbot_role_timeout)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.bot_strategytime < time)
+	{
+		self.bot_strategytime = time + cvar("bot_ai_strategyinterval");
+		navigation_goalrating_start();
+		havocbot_goalrating_ctf_ourstolenflag(50000);
+		havocbot_goalrating_ctf_enemybase(20000);
+		havocbot_goalrating_items(5000, self.origin, 1000);
+		havocbot_goalrating_items(1000, self.origin, 10000);
+		navigation_goalrating_end();
+	}
+};
+
+// Retriever (temporary role):
+void havocbot_role_ctf_retriever()
+{
+	local entity mf;
+
+	if(self.deadflag != DEAD_NO)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.flagcarried)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_CARRIER);
+		return;
+	}
+
+	// If flag is back on the base switch to previous role
+	mf = havocbot_ctf_find_flag(self);
+	if(mf.cnt==FLAG_BASE)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (!self.havocbot_role_timeout)
+		self.havocbot_role_timeout = time + 20;
+
+	if (time > self.havocbot_role_timeout)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.bot_strategytime < time)
+	{
+		local float radius;
+		radius = 10000;
+
+		self.bot_strategytime = time + cvar("bot_ai_strategyinterval");
+		navigation_goalrating_start();
+		havocbot_goalrating_ctf_ourstolenflag(50000);
+		havocbot_goalrating_ctf_droppedflags(40000, self.origin, radius);
+		havocbot_goalrating_ctf_enemybase(30000);
+		havocbot_goalrating_items(500, self.origin, radius);
+		navigation_goalrating_end();
+	}
+};
+
+void havocbot_role_ctf_middle()
+{
+	local entity mf;
+
+	if(self.deadflag != DEAD_NO)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.flagcarried)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_CARRIER);
+		return;
+	}
+
+	mf = havocbot_ctf_find_flag(self);
+	if(mf.cnt!=FLAG_BASE)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_RETRIEVER);
+		return;
+	}
+
+	if (!self.havocbot_role_timeout)
+		self.havocbot_role_timeout = time + 10;
+
+	if (time > self.havocbot_role_timeout)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.bot_strategytime < time)
+	{
+		local vector org;
+
+		org = havocbot_ctf_middlepoint;
+		org_z = self.origin_z;
+
+		self.bot_strategytime = time + cvar("bot_ai_strategyinterval");
+		navigation_goalrating_start();
+		havocbot_goalrating_ctf_ourstolenflag(50000);
+		havocbot_goalrating_ctf_droppedflags(30000, self.origin, 10000);
+		havocbot_goalrating_enemyplayers(10000, org, havocbot_ctf_middlepoint_radius * 0.5);
+		havocbot_goalrating_items(5000, org, havocbot_ctf_middlepoint_radius * 0.5);
+		havocbot_goalrating_items(2500, self.origin, 10000);
+		havocbot_goalrating_ctf_enemybase(2500);
+		navigation_goalrating_end();
+	}
+};
+
+void havocbot_role_ctf_defense()
+{
+	local entity mf;
+
+	if(self.deadflag != DEAD_NO)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+
+	if (self.flagcarried)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_CARRIER);
+		return;
+	}
+
+	// If own flag was captured
+	mf = havocbot_ctf_find_flag(self);
+	if(mf.cnt!=FLAG_BASE)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_RETRIEVER);
+		return;
+	}
+
+	if (!self.havocbot_role_timeout)
+		self.havocbot_role_timeout = time + 30;
+
+	if (time > self.havocbot_role_timeout)
+	{
+		havocbot_ctf_reset_role(self);
+		return;
+	}
+	if (self.bot_strategytime < time)
+	{
+		local float radius;
+		local vector org;
+
+		org = mf.dropped_origin;
+		radius = havocbot_ctf_middlepoint_radius;
+
+		self.bot_strategytime = time + cvar("bot_ai_strategyinterval");
+		navigation_goalrating_start();
+
+		// if enemies are closer to our base, go there
+		local entity head, closestplayer;
+		local float distance, bestdistance;
+		distance = 10000;
+		FOR_EACH_PLAYER(head)
+		{
+			if(head.deadflag!=DEAD_NO)
+				continue;
+
+			distance = vlen(org - head.origin);
+			if(distance<bestdistance)
+			{
+				closestplayer = head;
+				bestdistance = distance;
+			}
+		}
+
+		if(closestplayer)
+		if(closestplayer.team!=self.team)
+		if(vlen(org - self.origin)>1000)
+		if(checkpvs(self.origin,closestplayer)||random()<0.5)
+			havocbot_goalrating_ctf_ourbase(30000);
+
+		havocbot_goalrating_ctf_ourstolenflag(20000);
+		havocbot_goalrating_ctf_droppedflags(20000, org, radius);
+		havocbot_goalrating_enemyplayers(15000, org, radius);
+		havocbot_goalrating_items(10000, org, radius);
+		havocbot_goalrating_items(5000, self.origin, 10000);
+		navigation_goalrating_end();
+	}
+};
+
+void havocbot_calculate_middlepoint()
+{
+	entity f;
+	vector p1, p2;
+
+	f = ctf_worldflaglist;
+	while (f)
+	{
+		if(p1)
+			p2 = f.origin;
+		else
+			p1 = f.origin;
+
+		f = f.ctf_worldflagnext;
+	}
+	havocbot_ctf_middlepoint = p1 + ((p2-p1) * 0.5);
+	havocbot_ctf_middlepoint_radius	 = vlen(p2-p1) * 0.5;
+};
+
+void havocbot_ctf_reset_role(entity bot)
+{
+	local float cdefense, cmiddle, coffense;
+	local entity mf, ef, head;
+	local float c;
+
+	if(self.deadflag != DEAD_NO)
+		return;
+
+	if(vlen(havocbot_ctf_middlepoint)==0)
+		havocbot_calculate_middlepoint();
+
+	// Check ctf flags
+	if (self.flagcarried)
+	{
+		havocbot_role_ctf_setrole(self, HAVOCBOT_CTF_ROLE_CARRIER);
+		return;
+	}
+
+	mf = havocbot_ctf_find_flag(bot);
+	ef = havocbot_ctf_find_enemy_flag(bot);
+
+	// Retrieve stolen flag
+	if(mf.cnt!=FLAG_BASE)
+	{
+		havocbot_role_ctf_setrole(bot, HAVOCBOT_CTF_ROLE_RETRIEVER);
+		return;
+	}
+
+	// If enemy flag is taken go to the middle to intercept pursuers
+	if(ef.cnt!=FLAG_BASE)
+	{
+		havocbot_role_ctf_setrole(bot, HAVOCBOT_CTF_ROLE_MIDDLE);
+		return;
+	}
+
+	// if there is only me on the team switch to offense
+	c = 0;
+	FOR_EACH_PLAYER(head)
+	if(head.team==self.team)
+		++c;
+
+	if(c==1)
+	{
+		havocbot_role_ctf_setrole(bot, HAVOCBOT_CTF_ROLE_OFFENSE);
+		return;
+	}
+
+	// Evaluate best position to take
+	// Count mates on middle position
+	cmiddle = havocbot_ctf_teamcount(bot, havocbot_ctf_middlepoint, havocbot_ctf_middlepoint_radius * 0.5);
+
+	// Count mates on defense position
+	cdefense = havocbot_ctf_teamcount(bot, mf.dropped_origin, havocbot_ctf_middlepoint_radius * 0.5);
+
+	// Count mates on offense position
+	coffense = havocbot_ctf_teamcount(bot, ef.dropped_origin, havocbot_ctf_middlepoint_radius);
+
+	if(cdefense<=coffense)
+		havocbot_role_ctf_setrole(bot, HAVOCBOT_CTF_ROLE_DEFENSE);
+	else if(coffense<=cmiddle)
+		havocbot_role_ctf_setrole(bot, HAVOCBOT_CTF_ROLE_OFFENSE);
+	else
+		havocbot_role_ctf_setrole(bot, HAVOCBOT_CTF_ROLE_MIDDLE);
+};
+
+void havocbot_chooserole_ctf()
+{
+	havocbot_ctf_reset_role(self);
+};

Added: branches/nexuiz-2.0/data/sound/announcer/male/amazing.ogg
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/announcer/male/amazing.ogg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/announcer/male/awesome.ogg
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/announcer/male/awesome.ogg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/blue_capture.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/blue_capture.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/blue_dropped.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/blue_dropped.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/blue_returned.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/blue_returned.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/blue_taken.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/blue_taken.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/flag_respawn.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/flag_respawn.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/red_capture.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/red_capture.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/red_dropped.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/red_dropped.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/red_returned.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/red_returned.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/ctf/red_taken.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/ctf/red_taken.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/misc/shield_respawn.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/misc/shield_respawn.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/misc/strength_respawn.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/misc/strength_respawn.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/player/pyria-skadi/coms/needhelp2.ogg
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/player/pyria-skadi/coms/needhelp2.ogg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/sound/weapons/unavailable.wav
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/sound/weapons/unavailable.wav
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/bloodyskull_alien.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/bloodyskull_alien.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/bloodyskull_alien_glow.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/bloodyskull_alien_glow.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/bloodyskull_robot.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/bloodyskull_robot.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/bloodyskull_robot_gloss.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/bloodyskull_robot_gloss.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/bloodyskull_robot_glow.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/bloodyskull_robot_glow.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/meat_alien.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/meat_alien.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/meat_alien_gloss.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/meat_alien_gloss.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/meat_alien_glow.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/meat_alien_glow.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/meat_alien_norm.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/meat_alien_norm.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/meat_robot.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/meat_robot.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/meat_robot_gloss.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/meat_robot_gloss.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/meat_robot_glow.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/meat_robot_glow.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/textures/meat_robot_norm.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/textures/meat_robot_norm.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/tooltips.db
===================================================================
--- branches/nexuiz-2.0/data/tooltips.db	                        (rev 0)
+++ branches/nexuiz-2.0/data/tooltips.db	2009-06-07 19:04:32 UTC (rev 6903)
@@ -0,0 +1,204 @@
+0
+\NexuizSingleplayerDialog\Play the singleplayer campaign or instant action matches against bots
+
+
+\NexuizMultiplayerDialog\Play online, against your friends in LAN, view demos or change player settings
+\NexuizMultiplayerDialog/Servers\Find servers to play on
+\menu_slist_showempty\Show empty servers
+\menu_slist_showfull\Show full servers that have no slots available
+\net_slist_pause\Pause updating the server list to prevent servers from "jumping around"
+\NexuizMultiplayerDialog/Info\Show more information about the currently highlighted server
+\NexuizMultiplayerDialog/Bookmark\Bookmark the currently highlighted server so that it's faster to find in the future
+\NexuizMultiplayerDialog/Havoc\Change to Havoc mode which has some modifications to the gameplay
+\NexuizMultiplayerDialog/Create\Host your own game
+\NexuizMultiplayerDialog/Demos\Browse and view demos
+\NexuizMultiplayerDialog/Player Setup\Customize your player settings
+
+\NexuizTeamSelectDialog/join 'best' team (auto-select)\Autoselect team (recommended)
+\NexuizTeamSelectDialog/red\Join the red team
+\NexuizTeamSelectDialog/blue\Join the blue team
+\NexuizTeamSelectDialog/yellow\Join the yellow team
+\NexuizTeamSelectDialog/pink\Join the pink team
+
+\timelimit_override\Timelimit in minutes that when hit, will end the match
+\fraglimit_override\The amount of frags needed before the match will end
+\menu_maxplayers\The maximum amount of players or bots that can be connected to your server at once
+\bot_number\Amount of bots on your server
+\skill\Specify how experienced the bots will be
+\g_maplist_votable\Number of maps that are shown in the map voting at the end of a match
+\sv_vote_simple_majority_factor\Simple majority wins a vote
+\NexuizMultiplayerDialog/Advanced settings...\Advanced server settings
+\NexuizMultiplayerDialog/Mutators...\Mutators and weapon arenas
+\g_cloaked\All players are almost invisible
+\g_footsteps\Enable footstep sounds
+\g_midair\Only possible to inflict damage on your enemy while he's airborn
+\g_vampire\Damage done to your enemy gets added to your own health
+\g_bloodloss\Amount of health below which your player gets stunned because of blood loss
+\sv_gravity\Make things fall to the ground slower, lower value means lower gravity
+\g_grappling_hook\Players spawn with the grappling hook
+\g_jetpack\Players spawn with the jetpack
+\g_laserguided_missile\Rockets can be steered using a laser pointer
+\g_pinata\Players will drop all weapons they possessed when they are killed
+\g_weapon_stay\Weapons stay after they are picked up
+\g_weaponarena\Selecting a weapon arena will give all players that wepon at spawn as well as unlimited ammo, and disable all other weapon pickups.
+\menu_weaponarena_with_laser\Also enable the laser in the weapon arena
+\g_minstagib\Players will be given the Minstanex, which is a railgun with infinite damage. If the player runs out of ammo, he will have 10 seconds to find some or if he fails to do so, face death. The secondary fire mode is a laser which does not inflict any damage and is good for doing trickjumps.
+\g_nixnex\No items Nexuiz - instead of pickup items, everyone plays with the same weapon. After some time, a countdown will start, after which everyone will switch to another weapon.
+\g_nixnex_with_laser\Always carry the laser as an additional weapon in NixNex
+\NexuizMultiplayerDialog/All\Select all maps
+\NexuizMultiplayerDialog/None\Unselect all maps
+
+
+\NexuizMultiplayerDialog/Timedemo\Benchmark how fast your computer can run the highlighted demo
+
+\fov\Field of vision in degrees from 60 to 130, default is 90
+\cl_bobcycle\View bobbing frequency, disable for no bobbing
+\cl_zoomfactor\How big the zoom factor is when the zoom button is pressed
+\cl_zoomsensitivity\How zoom changes sensitivity, from 0 (lower sensitivity) to 1 (no sensitivity change)
+\cl_zoomspeed\How fast the view will be zoomed, disable to zoom instantly
+\NexuizMultiplayerDialog/Weapon settings...\Set your most preferred weapons, autoswitch and weapon model settings
+
+\cl_weaponpriority_useforcycling\Make use of the list above when cycling through weapons with the mouse wheel
+\cl_autoswitch\Automatically switch to newly picked up weapons if they are better than what you are carrying
+\r_drawviewmodel\Draw the weapon model
+
+\crosshair_per_weapon\Set a different crosshair for each weapon, good if you play without weapon models
+\crosshair_color_override\Also set the color of the crosshair depending on the weapon you are currently holding
+\crosshair_size\Adjust the size of the crosshair
+\crosshair_color_alpha\Adjust the opacity of the crosshair
+\crosshair_color_red\Red color component of the crosshair color
+\crosshair_color_green\Green color component of the crosshair color
+\crosshair_color_blue\Blue color component of the crosshair color
+\sbar_hudselector\Use the old HUD layout
+\NexuizMultiplayerDialog/Radar, HUD & Waypoints...\Adjust the radar and waypoint settings
+\_cl_name\Name under which you will appear in the game
+
+\NexuizSettingsDialog\Change the game settings
+\NexuizCreditsDialog\The Nexuiz credits
+\NexuizTeamSelectDialog\-
+\NexuizMutatorsDialog\-
+\NexuizMapInfoDialog\-
+\NexuizUserbindEditDialog\-
+\NexuizWinnerDialog\-
+\NexuizWeaponsDialog\-
+\NexuizRadarDialog\-
+\NexuizServerInfoDialog\-
+\NexuizCvarsDialog\-
+\NexuizCvarsDialog\-
+
+\NexuizQuitDialog\Quit the game
+\NexuizQuitDialog/Yes\Back to work...
+\NexuizQuitDialog/No\I got some more fragging to do!
+
+\NexuizSettingsDialog/Input\Input settings
+\sensitivity\Mouse speed multiplier
+\menu_mouse_speed\Mouse speed multiplier in the menu, does not affect aiming in the game
+\m_filter\Smoothes the mouse movement, but makes aiming slightly less responsive
+\m_pitch\Invert mouse movement on the Y-axis
+\vid_dgamouse\Make use of DGA mouse input
+\con_closeontoggleconsole\Allow the console toggling bind to also close the console
+\sbar_showbinds\Enable display of keybinds, short for a shorter string and long to display longer strings
+\cl_showpressedkeys\Show which movement keys the player is pressing
+
+\NexuizSettingsDialog/Video\Video settings
+\vid_width\Screen resolution
+\vid_bitsperpixel\How many bits per pixel (BPP) to render at, 32 is recommended
+\vid_fullscreen\Enable fullscreen mode
+\vid_vsync\Enable vertical synchronization to prevent tearing, will cap your fps to the screen refresh rate (default: disabled)
+\r_glsl\Enable OpenGL 2.0 pixel shaders for lightning (default: enabled)
+\r_coronas_occlusionquery\Fade coronas according to visibility (default: enabled)
+\gl_vbo\Make use of Vertex Buffer Objects to store static geometry in video memory for faster rendering (default: Vertex and Triangles)
+\r_depthfirst\Eliminate overdraw by rendering a depth-only version of the scene before the normal rendering starts (default: disabled)
+\gl_texturecompression\Compress the textures for video cards with small amounts of video memory available (default: None)
+\gl_finish\Make the CPU wait for the GPU to finish each frame, can help with some strange input or video lag on some machines (default: disabled)
+\v_brightness\Brightness of black
+\v_contrast\Brightness of white
+\v_gamma\Inverse gamma correction value, a brightness effect that does not affect white or black
+\v_contrastboost\By how much to multiply the contrast in dark areas
+\r_glsl_saturation\Saturation adjustment (0 = gray, 1 = normal, 2 = oversaturated), note that it might decrease performance by a lot to set this to anything other than 1
+\v_glslgamma\Enable use of GLSL to apply gamma correction, note that it might decrease performance by a lot (default: disabled)
+\r_ambient\Ambient lighting, if set too high it tends to make light on maps look dull and flat (default: 4)
+\r_hdr_scenebrightness\Global rendering brightness (default: 1)
+\vid_samples\Enable 4x antialiasing, which smooths the edges of 3D geometry. Note that it might decrease performance by quite a lot (default: off)
+\v_flipped\Poor man's left handed mode
+
+\NexuizSettingsDialog/Effects\Effect settings
+\r_subdivisions_tolerance\Tweak this slider to change the smoothness of the curves on the map
+\gl_picmip\Tweak this slider to change the sharpness of the textures. Lowering it will effectively reduce texture memory usage, but make the textures appear very blurry.
+\r_picmipworld\If set, only reduce the texture quality of models
+\mod_q3bsp_nolightmaps\Use high resolution lightmaps, which will look pretty but use up some extra video memory (default: enabled)
+\cl_particles_quality\Multiplier for amount of particles. Less means less particles, which in turn gives for better performance (default: 0.5)
+\r_drawparticles_drawdistance\Particles further away than this will not be drawn
+\cl_decals\Enable decals (bullet holes and blood)
+\r_drawdecals_drawdistance\Decals further away than this will not be drawn
+\cl_decals_time\Time in seconds before decals fade away
+\cl_gentle\Replace blood and gibs with content that does not have any gore effects
+\cl_nogibs\Reduce the amount of gibs or remove them completely
+\v_kicktime\How long a view kick from damage lasts
+\gl_texture_anisotropy\Anisotropic filtering quality
+\r_glsl_deluxemapping\Use per-pixel lighting effects
+\r_shadow_gloss\Enable the use of glossmaps on textures that support it
+\gl_flashblend\Enable faster but uglier dynamic lights by rendering bright coronas instead of real dynamic lights
+\r_shadow_realtime_dlight\Enable rendering of dynamic lights such as explosions and rocket lights
+\r_shadow_realtime_dlight_shadows\Enable rendering of shadows from dynamic lights
+\r_shadow_realtime_world\Enable rendering of full realtime world lighting on maps that support it. Note that this might have a big impact on performance.
+\r_shadow_realtime_world_shadows\Enable rendering of shadows from realtime world lights
+\r_shadow_usenormalmap\Enable use of directional shading on textures
+\r_showsurfaces\Disable textures completely for very slow hardware. This gives a huge performance boost, but looks very ugly.
+\r_glsl_offsetmapping\Offset mapping effect that will make textures with bumpmaps appear like they "pop out" of the in fact flat 2D surface
+\r_glsl_offsetmapping_reliefmapping\Higher quality offset mapping, which also has a huge impact on performance
+\r_water\Reflection and refraction quality, has a huge impact on performance on maps with reflecting surfaces
+\r_coronas\Enable corona flares around certain lights
+\r_bloom\Enable bloom effect, which brightens the neighboring pixels of very bright pixels. Has a big impact on performance.
+\r_hdr\Higher quality version of bloom, which has a huge impact on performance.
+
+\NexuizSettingsDialog/Audio\Audio settings
+\bgmvolume\Volume of background music
+\volume\Volume of sound effects
+\snd_staticvolume\Volume of ambient sound effects
+\snd_worldchannel0volume\Volume of info entities
+\snd_entchannel3volume\Volume of item pickups and respawns
+\snd_csqcchannel6volume\Volume of pain sounds
+\snd_snd_entchannel7volume\Volume of player sounds
+\snd_playerchannel4volume\Volume of shots
+\snd_playerchannel2volume\Volume of voices
+\snd_entchannel1volume\Volume of weapons
+\snd_speed\Sound output frequency
+\snd_channels\Number of channels for the sound output
+\snd_swapstereo\Swap left/right channels
+\snd_spatialization_control\Enable spatialization (blend the right and left channel slightly to decrease stereo separation a bit for headphones)
+\cl_voice_directional\Enable directional voices
+\cl_voice_directional_taunt_attenuation\Define the distance from which taunts can be heared
+\cl_autotaunt\Automatically taunt enemies when fragging them
+\cl_sound_maptime_warning\Announcer sound telling you the remaining minutes of the match
+\cl_hitsound\Play a hit notifier sound when you have hit an enemy
+
+\NexuizSettingsDialog/Network\Network settings
+\cl_movement\Enable clientside movement prediction
+\cl_nolerp\Enable network update smoothing
+\shownetgraph\Show a graph of packet sizes and other information
+\_cl_rate\Specify your network speed with this slider
+\cl_netfps\How many input packets to send to the server each second
+\cl_curl_maxdownloads\Maximum number of concurrent HTTP/FTP downloads
+\cl_curl_maxspeed\Maximum download speed
+\cl_port\Force client to use chosen port unless it is set to 0
+
+\NexuizSettingsDialog/Misc\Misc settings
+\showtime\Show current time of day, useful on screenshots
+\showdate\Show current date, useful on screenshots
+\showfps\Show your rendered frames per second
+\showspeed\Show your current speed
+\showtopspeed\Show your top speed, kept on the screen for a maximum of 3 seconds
+
+\NexuizSettingsDialog/Advanced settings...\Advanced settings where you can tweak every single variable of the game
+
+\cl_teamradar_position\-
+\cl_teamradar_size\-
+\cl_teamradar_zoommode\-
+\cl_teamradar_rotation\-
+\cl_teamradar_scale\-
+\cl_teamradar_size\-
+\cl_teamradar_foreground_alpha\-
+\cl_teamradar_background_alpha\-
+\cl_hidewaypoints\-
+\cl_shownames\-



More information about the nexuiz-commits mailing list