r4895 - in branches/nexuiz-2.0: . data/gfx/menu/default data/gfx/menu/silver data/gfx/menu/simplygray data/gfx/menu/wickedblack data/gfx/menu/wickedblue data/gfx/menu/wickedgreen data/gfx/menu/wickedred data/gfx/menu/wickedwhite data/gfx/menu/wickedyellow data/gfx/menu/wickedz data/gfx/menu/xaw data/qcsrc/menu data/qcsrc/menu/nexuiz data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Oct 26 15:01:49 EDT 2008


Author: div0
Date: 2008-10-26 15:01:48 -0400 (Sun, 26 Oct 2008)
New Revision: 4895

Added:
   branches/nexuiz-2.0/data/gfx/menu/default/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/silver/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/simplygray/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/wickedred/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/wickedz/skinpreview.jpg
   branches/nexuiz-2.0/data/gfx/menu/xaw/skinpreview.jpg
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings_audio.c
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/skinlist.c
Modified:
   branches/nexuiz-2.0/.patchsets
   branches/nexuiz-2.0/changes-since-last-release
   branches/nexuiz-2.0/data/gfx/menu/silver/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/simplygray/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/wickedred/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/wickedz/skinvalues.txt
   branches/nexuiz-2.0/data/gfx/menu/xaw/skinvalues.txt
   branches/nexuiz-2.0/data/qcsrc/menu/classes.c
   branches/nexuiz-2.0/data/qcsrc/menu/gamecommand.qc
   branches/nexuiz-2.0/data/qcsrc/menu/menu.qc
   branches/nexuiz-2.0/data/qcsrc/menu/menu.qh
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings.c
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings_misc.c
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/mainwindow.c
   branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc
Log:
r4889 | div0 | 2008-10-26 17:06:54 +0100 (Sun, 26 Oct 2008) | 2 lines
more changes
r4890 | div0 | 2008-10-26 17:45:55 +0100 (Sun, 26 Oct 2008) | 2 lines
skin selector by Ronan
r4891 | tzork | 2008-10-26 18:08:59 +0100 (Sun, 26 Oct 2008) | 1 line
Give seeker missiles some size so they can be shot.
r4892 | div0 | 2008-10-26 19:27:00 +0100 (Sun, 26 Oct 2008) | 2 lines
improve skin selector
r4893 | div0 | 2008-10-26 19:28:28 +0100 (Sun, 26 Oct 2008) | 2 lines
warn fixes
r4894 | div0 | 2008-10-26 20:00:43 +0100 (Sun, 26 Oct 2008) | 2 lines
update the menu skins

Modified: branches/nexuiz-2.0/.patchsets
===================================================================
--- branches/nexuiz-2.0/.patchsets	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/.patchsets	2008-10-26 19:01:48 UTC (rev 4895)
@@ -1,2 +1,2 @@
 master = svn://svn.icculus.org/nexuiz/trunk
-revisions_applied = 1-4887
+revisions_applied = 1-4894

Modified: branches/nexuiz-2.0/changes-since-last-release
===================================================================
--- branches/nexuiz-2.0/changes-since-last-release	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/changes-since-last-release	2008-10-26 19:01:48 UTC (rev 4895)
@@ -1,5 +1,8 @@
-CHANGES since 2.4.2 to r4746:
+CHANGES since 2.4.2 to r4887:
 compat-q3a: switch crylink/hagar, as crylink is closer to BFG and hagar is closer to Plasmagun
+game: airshot announcer
+game: alternate HUD is now default
+game: antilag improved
 game: assault bugfixed
 game: cmd maplist improved
 game: colors improved (TODO credit sev in nexuiz-credits.txt!)
@@ -9,7 +12,7 @@
 game: command nospectators
 game: command vlogin must be used instead of vdo login now
 game: command weapbest
-game: more crosshairs
+game: crosshairs added
 game: crylink bounce does half damage
 game: crylink primary does 2 cells
 game: crylink weakened
@@ -26,7 +29,8 @@
 game: cvar g_maxplayers
 game: cvar g_spawn_furthest
 game: cvar g_spawnpoints_auto_move_out_of_solid
-game: cvar g_tourney*
+game: cvar g_start_delay
+game: cvar g_warmup
 game: cvar g_weaponreplace_*
 game: cvar sv_gentle
 game: cvar sv_maxidle
@@ -44,7 +48,7 @@
 game: hook is no longer "seta"
 game: hook jitter-less
 game: hook sky-attach bug fixed
-game: improved weapon system, new weapons Port-O-Launch and MinstaNex; now up to 24 weapons supported
+game: improved weapon system, new weapons Port-O-Launch, MinstaNex, On-hand hook, TAG Seeker, HLAC; now up to 24 weapons supported
 game: item respawn: 20s for 50health and 25armor
 game: kick banned players also when they try to talk
 game: lemmings countdown ;)
@@ -57,11 +61,13 @@
 game: new tokenizer fixing weirdly split kick reasons/vote commands
 game: performance improved (fteqcc -O3)
 game: race game type
+game: rocket launcher detonation fixed when button was pressed only for a very short time
 game: scoreboard improved
 game: scores per-team
 game: sounds: model specific player sounds
 game: sv_foginterval
 game: team radar (sv_cmd bbox, sv_cmd radarmap commands to create/debug it!)
+game: teamkill and typekill complaints
 game: texturecompression for lightmaps off (workaround for OS X bug)
 game: timeout feature
 game: turrets
@@ -88,6 +94,7 @@
 mapping: field team on items
 mapping: LOD for misc_models and similar entities
 mapping: mapname.cfg is deprecated. Use clientsettemp_for_type and cdtrack in mapname.mapinfo
+mapping: turrets
 mapping: triggers now MUST be common/trigger; their exact shape now works (no longer their bbox)
 mapping: zeroradiant support, bugfix patchset updated
 map: reslimed: less distracting fog
@@ -98,6 +105,7 @@
 menu: input box margin now in chars, not percent
 menu: mouse fixed in -game pro
 menu: new playermodel previews (sev)
+menu: new skin "wickedz"
 menu: play button in map info
 menu: server favorites
 menu: weapon priority dialog

Copied: branches/nexuiz-2.0/data/gfx/menu/default/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/default/skinpreview.jpg)
===================================================================
(Binary files differ)

Copied: branches/nexuiz-2.0/data/gfx/menu/silver/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/silver/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/silver/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/silver/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/silver/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -15,6 +15,8 @@
 COLOR_DIALOG_USERBIND           '1 1 1'
 COLOR_DIALOG_SINGLEPLAYER       '1 1 0.95'
 COLOR_DIALOG_CREDITS            '0.7 0.7 1'
+COLOR_DIALOG_WEAPONS            '0.8 0.8 0.8'
+COLOR_DIALOG_RADAR              '0.8 0.8 0.8'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
@@ -86,6 +88,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -139,6 +142,7 @@
 //   uses "scrollbar" images
 COLOR_SCROLLBAR_N               '1 1 1'
 COLOR_SCROLLBAR_F               '1 1 1'
+COLOR_SCROLLBAR_C               '1 1 1'
 COLOR_SCROLLBAR_S               '1 1 1'
 WIDTH_SCROLLBAR                 16
 
@@ -149,6 +153,8 @@
 COLOR_SERVERLIST_MEDPING        '1 1 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.2
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/simplygray/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/simplygray/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/simplygray/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/simplygray/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/simplygray/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -15,6 +15,8 @@
 COLOR_DIALOG_USERBIND           '0.7 0.7 0.7'
 COLOR_DIALOG_SINGLEPLAYER       '0.9 0.9 0.9'
 COLOR_DIALOG_CREDITS            '0.7 0.7 0.7'
+COLOR_DIALOG_WEAPONS            '0.7 0.7 0.7'
+COLOR_DIALOG_RADAR              '0.7 0.7 0.7'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
@@ -86,6 +88,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -139,6 +142,7 @@
 //   uses "scrollbar" images
 COLOR_SCROLLBAR_N               '1 1 1'
 COLOR_SCROLLBAR_F               '1 1 1'
+COLOR_SCROLLBAR_C               '1 1 1'
 COLOR_SCROLLBAR_S               '1 1 1'
 WIDTH_SCROLLBAR                 16
 
@@ -149,6 +153,8 @@
 COLOR_SERVERLIST_MEDPING        '1 1 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.2
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/wickedblack/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -16,6 +16,8 @@
 COLOR_DIALOG_MAPINFO            '1 1 1'
 COLOR_DIALOG_USERBIND           '1 1 1'
 COLOR_DIALOG_SINGLEPLAYER       '1 1 1'
+COLOR_DIALOG_WEAPONS            '1 0.7 0.7'
+COLOR_DIALOG_RADAR              '1 1 1'
 COLOR_DIALOG_CREDITS            '1 1 1'
 
 // nexposee positions of windows (they are the scale transformation
@@ -88,6 +90,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -140,8 +143,8 @@
 // item: scrollbar
 //   uses "scrollbar" images
 COLOR_SCROLLBAR_N               '1 1 1'
+COLOR_SCROLLBAR_F               '0.75 0.75 0.75'
 COLOR_SCROLLBAR_C               '1 1 1'
-COLOR_SCROLLBAR_F               '0.75 0.75 0.75'
 COLOR_SCROLLBAR_S               '1 1 1'
 WIDTH_SCROLLBAR                 16
 
@@ -152,6 +155,8 @@
 COLOR_SERVERLIST_MEDPING        '1 0.75 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/wickedblue/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -17,6 +17,8 @@
 COLOR_DIALOG_USERBIND           '0.5 0.75 1'
 COLOR_DIALOG_SINGLEPLAYER       '0.5 0.75 1'
 COLOR_DIALOG_CREDITS            '0.5 0.75 1'
+COLOR_DIALOG_WEAPONS            '0.5 0.75 1'
+COLOR_DIALOG_RADAR              '0.5 0.75 1'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
@@ -88,6 +90,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -152,6 +155,8 @@
 COLOR_SERVERLIST_MEDPING        '1 0.75 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/wickedgreen/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -17,6 +17,8 @@
 COLOR_DIALOG_USERBIND           '0.5 1 0'
 COLOR_DIALOG_SINGLEPLAYER       '0.5 1 0'
 COLOR_DIALOG_CREDITS            '0.5 1 0'
+COLOR_DIALOG_WEAPONS            '0.5 1 0'
+COLOR_DIALOG_RADAR              '0.5 1 0'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
@@ -88,6 +90,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -152,6 +155,8 @@
 COLOR_SERVERLIST_MEDPING        '1 0.75 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/wickedred/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/wickedred/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/wickedred/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedred/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedred/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -17,6 +17,8 @@
 COLOR_DIALOG_USERBIND           '1 0 0'
 COLOR_DIALOG_SINGLEPLAYER       '1 0 0'
 COLOR_DIALOG_CREDITS            '1 0 0'
+COLOR_DIALOG_WEAPONS            '1 0 0'
+COLOR_DIALOG_RADAR              '1 0 0'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
@@ -88,6 +90,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -152,6 +155,8 @@
 COLOR_SERVERLIST_MEDPING        '1 0.75 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/wickedwhite/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -17,6 +17,8 @@
 COLOR_DIALOG_USERBIND           '1 1 1'
 COLOR_DIALOG_SINGLEPLAYER       '1 1 1'
 COLOR_DIALOG_CREDITS            '1 1 1'
+COLOR_DIALOG_WEAPONS            '1 1 1'
+COLOR_DIALOG_RADAR              '1 1 1'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
@@ -88,6 +90,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -140,8 +143,8 @@
 // item: scrollbar
 //   uses "scrollbar" images
 COLOR_SCROLLBAR_N               '1 1 1'
+COLOR_SCROLLBAR_F               '0.75 0.75 0.75'
 COLOR_SCROLLBAR_C               '1 1 1'
-COLOR_SCROLLBAR_F               '0.75 0.75 0.75'
 COLOR_SCROLLBAR_S               '1 1 1'
 WIDTH_SCROLLBAR                 16
 
@@ -152,6 +155,8 @@
 COLOR_SERVERLIST_MEDPING        '1 0.75 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/wickedyellow/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -17,6 +17,8 @@
 COLOR_DIALOG_USERBIND           '1 0.875 0'
 COLOR_DIALOG_SINGLEPLAYER       '1 0.875 0'
 COLOR_DIALOG_CREDITS            '1 0.875 0'
+COLOR_DIALOG_WEAPONS            '1 0.875 0'
+COLOR_DIALOG_RADAR              '1 0.875 0'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
@@ -88,6 +90,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -152,6 +155,8 @@
 COLOR_SERVERLIST_MEDPING        '1 0.875 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/wickedz/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/wickedz/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/wickedz/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedz/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedz/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -29,23 +29,17 @@
 COLOR_DIALOG_USERBIND           '0.4 0.8 0.9'
 COLOR_DIALOG_SINGLEPLAYER       '0.4 0.8 0.9'
 COLOR_DIALOG_CREDITS            '0.4 0.8 0.9'
+COLOR_DIALOG_WEAPONS            '0.4 0.8 0.9'
+COLOR_DIALOG_RADAR              '0.4 0.8 0.9'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
-// 0 0 0 = Left Top size??
-
 POSITION_DIALOG_MULTIPLAYER     '0.8 0.4 0'
 POSITION_DIALOG_SINGLEPLAYER    '0.2 0.4 0'
 POSITION_DIALOG_SETTINGS        '0.5 1 0'
 POSITION_DIALOG_CREDITS         '-0.05 1.2 0'
 POSITION_DIALOG_QUIT            '1.05 1.2 0'
 
-//POSITION_DIALOG_MULTIPLAYER     '0.9 0.5 0'
-//POSITION_DIALOG_SINGLEPLAYER    '0.1 0.1 0'
-//POSITION_DIALOG_SETTINGS        '0.1 0.9 0'
-//POSITION_DIALOG_CREDITS         '0.3 1.2 0'
-//POSITION_DIALOG_QUIT            '0.9 1.2 0'
-
 // mouse
 //   uses "cursor" images
 SIZE_CURSOR                     '32 32 0'
@@ -63,7 +57,8 @@
 // item: button
 //   uses "button" images
 //   uses "buttongray" images
-
+//   uses "bigbutton" images
+//   uses "bigbuttongray" images
 COLOR_BUTTON_N                  '0.5 0.3 0'	// Default Color
 COLOR_BUTTON_C                  '0.6 0.4 0.1'	// Selected
 COLOR_BUTTON_F                  '0.45 0.55 0.45'// Focused / hover
@@ -107,6 +102,7 @@
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
 //   uses "inputbox" images
@@ -171,6 +167,8 @@
 COLOR_SERVERLIST_MEDPING        '1 0.75 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.4
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
 //   uses "slider" images

Copied: branches/nexuiz-2.0/data/gfx/menu/xaw/skinpreview.jpg (from rev 4894, trunk/data/gfx/menu/xaw/skinpreview.jpg)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/gfx/menu/xaw/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/xaw/skinvalues.txt	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/gfx/menu/xaw/skinvalues.txt	2008-10-26 19:01:48 UTC (rev 4895)
@@ -6,15 +6,17 @@
 HEIGHT_ZOOMEDTITLE              0
 
 // the individual dialog background colors
-COLOR_DIALOG_MAPINFO            '1 1 1'
 COLOR_DIALOG_MULTIPLAYER        '1 1 1'
-COLOR_DIALOG_MUTATORS           '1 1 1'
-COLOR_DIALOG_QUIT               '1 0 0'
 COLOR_DIALOG_SETTINGS           '1 1 1'
 COLOR_DIALOG_TEAMSELECT         '1 1 1'
+COLOR_DIALOG_QUIT               '1 0 0'
+COLOR_DIALOG_MUTATORS           '1 1 1'
+COLOR_DIALOG_MAPINFO            '1 1 1'
 COLOR_DIALOG_USERBIND           '1 1 1'
 COLOR_DIALOG_SINGLEPLAYER       '1 1 1'
 COLOR_DIALOG_CREDITS            '1 1 1'
+COLOR_DIALOG_WEAPONS            '1 1 1'
+COLOR_DIALOG_RADAR              '1 1 1'
 
 // nexposee positions of windows (they are the scale transformation
 // centers, NOT the actual positions of the windows!)
@@ -25,13 +27,13 @@
 POSITION_DIALOG_QUIT            '0.9 1.2 0'
 
 // mouse
-//   uses cursor.tga
+//   uses "cursor" images
 SIZE_CURSOR                     '32 32 0'
 OFFSET_CURSOR                   '0.5 0.5 0'
 ALPHA_CURSOR_INTRO              1
 
 // general
-//   uses background.tga
+//   uses "background" images
 //   uses "background_ingame" images
 ALPHA_BACKGROUND_INGAME         0
 ALPHA_DISABLED                  0.2
@@ -39,10 +41,10 @@
 ALPHA_TEXT                      0.7
 
 // item: button
-//   uses button.tga
-//   uses buttongray.tga
-//   uses bigbutton.tga
-//   uses bigbuttongray.tga
+//   uses "button" images
+//   uses "buttongray" images
+//   uses "bigbutton" images
+//   uses "bigbuttongray" images
 COLOR_BUTTON_N                  '1 1 1'
 COLOR_BUTTON_C                  '1 1 1'
 COLOR_BUTTON_F                  '1 1 1'
@@ -58,15 +60,12 @@
 ALPHA_CAMPAIGN_DESCRIPTION      0.7
 
 // item: checkbox
-//   uses checkbox.tga
+//   uses "checkbox" images
 COLOR_CHECKBOX_N                '1 1 1'
 COLOR_CHECKBOX_C                '1 1 1'
 COLOR_CHECKBOX_F                '1 1 1'
 COLOR_CHECKBOX_D                '1 1 1'
 
-// item: crosshair button
-//   uses crosshairbutton.tga
-
 // item: credits list
 COLOR_CREDITS_TITLE             '1 1 1'
 ALPHA_CREDITS_TITLE             1
@@ -77,18 +76,22 @@
 ROWS_CREDITS                    10
 WIDTH_CREDITS                   0.75
 
+// item: crosshair button
+//   uses "crosshairbutton" images
+
 // item: dialog
-//   uses border.tga
-//   uses closebutton.tga
+//   uses "border" images
+//   uses "closebutton" images
 MARGIN_TOP                      8
 MARGIN_BOTTOM                   8
 MARGIN_LEFT                     8
 MARGIN_RIGHT                    8
 MARGIN_COLUMNS                  4
 MARGIN_ROWS                     4
+HEIGHT_DIALOGBORDER             1
 
 // item: input box
-//   uses inputbox.tga
+//   uses "inputbox" images
 COLOR_INPUTBOX_N                '1 1 1'
 COLOR_INPUTBOX_F                '1 1 1'
 MARGIN_INPUTBOX_CHARS           1
@@ -117,28 +120,29 @@
 ALPHAS_MAINMENU                 '1 1 1'
 
 // item: player color button
-//   uses colorbutton.tga
-//   uses color.tga
+//   uses "colorbutton" images
+//   uses "color" images
 
 // item: player model
 COLOR_MODELTITLE                '1 1 1'
 ALPHA_MODELTITLE                1
 
 // item: player name editor
-//   uses charmap.tga
-//   uses charmapbutton.tga
+//   uses "charmap" images
+//   uses "charmapbutton" images
 
 // item: radio button
-//   uses radiobutton.tga
+//   uses "radiobutton" images
 COLOR_RADIOBUTTON_N             '1 1 1'
 COLOR_RADIOBUTTON_C             '1 1 1'
 COLOR_RADIOBUTTON_F             '1 1 1'
 COLOR_RADIOBUTTON_D             '1 1 1'
 
 // item: scrollbar
-//   uses scrollbar.tga
+//   uses "scrollbar" images
 COLOR_SCROLLBAR_N               '1 1 1'
 COLOR_SCROLLBAR_F               '1 1 1'
+COLOR_SCROLLBAR_C               '1 1 1'
 COLOR_SCROLLBAR_S               '1 1 1'
 WIDTH_SCROLLBAR                 16
 
@@ -149,9 +153,11 @@
 COLOR_SERVERLIST_MEDPING        '1 1 0'
 COLOR_SERVERLIST_HIGHPING       '1 0 0'
 ALPHA_SERVERLIST_HIGHPING       0.2
+ALPHA_SERVERLIST_FAVORITE       0.8
+COLOR_SERVERLIST_FAVORITE       '1 1 1'
 
 // item: slider
-//   uses slider.tga
+//   uses "slider" images
 COLOR_SLIDER_N                  '1 1 1'
 COLOR_SLIDER_C                  '1 1 1'
 COLOR_SLIDER_F                  '1 1 1'

Modified: branches/nexuiz-2.0/data/qcsrc/menu/classes.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/classes.c	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/qcsrc/menu/classes.c	2008-10-26 19:01:48 UTC (rev 4895)
@@ -27,6 +27,7 @@
 #include "nexuiz/dialog_settings.c"
 #include "nexuiz/dialog_settings_video.c"
 #include "nexuiz/dialog_settings_effects.c"
+#include "nexuiz/dialog_settings_audio.c"
 #include "nexuiz/dialog_settings_misc.c"
 #include "nexuiz/dialog_multiplayer.c"
 #include "nexuiz/dialog_multiplayer_playersetup.c"
@@ -50,6 +51,7 @@
 #include "nexuiz/dialog_multiplayer_create_mapinfo.c"
 #include "nexuiz/gametypebutton.c"
 #include "nexuiz/maplist.c"
+#include "nexuiz/skinlist.c"
 #include "nexuiz/image.c"
 #include "nexuiz/crosshairbutton.c"
 #include "nexuiz/playermodel.c"

Modified: branches/nexuiz-2.0/data/qcsrc/menu/gamecommand.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/gamecommand.qc	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/qcsrc/menu/gamecommand.qc	2008-10-26 19:01:48 UTC (rev 4895)
@@ -61,6 +61,12 @@
 		return;
 	}
 
+	if(argv(0) == "skinselect")
+	{
+		m_goto_skin_selector();
+		return;
+	}
+
 	if(argv(0) == "dumptree")
 	{
 		_dumptree_space = "";

Modified: branches/nexuiz-2.0/data/qcsrc/menu/menu.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/menu.qc	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/qcsrc/menu/menu.qc	2008-10-26 19:01:48 UTC (rev 4895)
@@ -408,6 +408,33 @@
 	}
 };
 
+void m_activate_window(entity wnd)
+{
+	entity par;
+	par = wnd.parent;
+	if(par)
+		m_activate_window(par);
+
+	if(par.instanceOfModalController)
+	{
+		// tabs
+		par.initializeDialog(par, wnd);
+	}
+	else if(par.instanceOfNexposee)
+	{
+		// nexposee (sorry for violating abstraction here)
+		par.selectedChild = wnd;
+		par.animationState = 1;
+		setFocusContainer(par, NULL);
+	}
+	else if(par.instanceOfContainer)
+	{
+		// other containers
+		if(par.focused)
+			par.setFocus(par, wnd);
+	}
+}
+
 void(string itemname) m_goto =
 {
 	entity e;
@@ -419,18 +446,26 @@
 			m_hide();
 		else
 		{
-			main.initializeDialog(main, main.firstChild);
+			m_activate_window(main.mainNexposee);
 			m_display();
 		}
 	}
 	else
 	{
 		e = findstring(NULL, name, itemname);
-		if(e && e.parent == main)
+		if(e)
 		{
 			m_hide();
-			main.initializeDialog(main, e);
+			m_activate_window(e);
 			m_display();
 		}
 	}
 }
+
+void() m_goto_skin_selector =
+{
+	if(!menuInitialized)
+		return;
+	// TODO add code to switch back to the skin selector (no idea how to do it now)
+	m_goto("skinselector");
+}

Modified: branches/nexuiz-2.0/data/qcsrc/menu/menu.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/menu.qh	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/qcsrc/menu/menu.qh	2008-10-26 19:01:48 UTC (rev 4895)
@@ -29,6 +29,7 @@
 void m_hide();
 void m_display();
 void m_goto(string name);
+void m_goto_skin_selector();
 .string name;
 
 entity keyGrabber;

Modified: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings.c	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings.c	2008-10-26 19:01:48 UTC (rev 4895)
@@ -18,6 +18,7 @@
 		me.TD(me, 1, 1, mc.makeTabButton(mc, "Input",   makeNexuizInputSettingsTab()));
 		me.TD(me, 1, 1, mc.makeTabButton(mc, "Video",   makeNexuizVideoSettingsTab()));
 		me.TD(me, 1, 1, mc.makeTabButton(mc, "Effects", makeNexuizEffectsSettingsTab()));
+		me.TD(me, 1, 1, mc.makeTabButton(mc, "Audio",   makeNexuizAudioSettingsTab()));
 		me.TD(me, 1, 1, mc.makeTabButton(mc, "Misc",    makeNexuizMiscSettingsTab()));
 	me.TR(me);
 	me.TR(me);

Copied: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings_audio.c (from rev 4894, trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c)
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings_audio.c	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings_audio.c	2008-10-26 19:01:48 UTC (rev 4895)
@@ -0,0 +1,129 @@
+#ifdef INTERFACE
+CLASS(NexuizAudioSettingsTab) EXTENDS(NexuizTab)
+	METHOD(NexuizAudioSettingsTab, fill, void(entity))
+	ATTRIB(NexuizAudioSettingsTab, title, string, "Audio")
+	ATTRIB(NexuizAudioSettingsTab, intendedWidth, float, 0.9)
+	ATTRIB(NexuizAudioSettingsTab, rows, float, 15)
+	ATTRIB(NexuizAudioSettingsTab, columns, float, 6.5)
+ENDCLASS(NexuizAudioSettingsTab)
+entity makeNexuizAudioSettingsTab();
+#endif
+
+#ifdef IMPLEMENTATION
+entity makeNexuizAudioSettingsTab()
+{
+	entity me;
+	me = spawnNexuizAudioSettingsTab();
+	me.configureDialog(me);
+	return me;
+}
+
+void fillNexuizAudioSettingsTab(entity me)
+{
+	entity e, s;
+
+	me.TR(me);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "bgmvolume");
+		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Music:"));
+		me.TD(me, 1, 2, s);
+	me.TR(me);
+	me.TR(me);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "volume");
+		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Master:"));
+		me.TD(me, 1, 2, s);
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_staticvolume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Ambient:"));
+		makeMulti(s, "snd_entchannel2volume");
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_worldchannel0volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Info:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel3volume");
+		makeMulti(s, "snd_playerchannel0volume snd_playerchannel3volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Items:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_playerchannel6volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Pain:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_playerchannel7volume");
+		makeMulti(s, "snd_entchannel7volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Player:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel4volume");
+		makeMulti(s, "snd_playerchannel4volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Shots:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_playerchannel2volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Voice:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_playerchannel1volume");
+		makeMulti(s, "snd_playerchannel5volume snd_entchannel1volume snd_entchannel5volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Weapons:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+
+	me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
+		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Frequency:"));
+		me.TD(me, 1, 2, e = makeNexuizTextSlider("snd_speed"));
+			e.addValue(e, "8 kHz", "8000");
+			e.addValue(e, "11.025 kHz", "11025");
+			e.addValue(e, "16 kHz", "16000");
+			e.addValue(e, "22.05 kHz", "22050");
+			e.addValue(e, "24 kHz", "24000");
+			e.addValue(e, "32 kHz", "32000");
+			e.addValue(e, "44.1 kHz", "44100");
+			e.addValue(e, "48 kHz", "48000");
+			e.configureNexuizTextSliderValues(e);
+	me.TR(me);
+		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Channels:"));
+		me.TD(me, 1, 2, e = makeNexuizTextSlider("snd_channels"));
+			e.addValue(e, "Mono", "1");
+			e.addValue(e, "Stereo", "2");
+			e.addValue(e, "2.1", "3");
+			e.addValue(e, "3.1", "4");
+			e.addValue(e, "4.1", "5");
+			e.addValue(e, "5.1", "6");
+			e.addValue(e, "6.1", "7");
+			e.addValue(e, "7.1", "8");
+			e.configureNexuizTextSliderValues(e);
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 2.8, e = makeNexuizCheckBox(0, "snd_swapstereo", "Swap Stereo"));
+	me.TR(me);
+	
+
+	me.gotoRC(me, me.rows - 1, 0);
+		me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "snd_restart", COMMANDBUTTON_APPLY));
+}
+#endif

Modified: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings_misc.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings_misc.c	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_settings_misc.c	2008-10-26 19:01:48 UTC (rev 4895)
@@ -17,117 +17,21 @@
 	me.configureDialog(me);
 	return me;
 }
-entity makeNexuizDemoListbox()
-{
-	entity me;
-	me = spawnListBox();
-	me.configureListBox(me, 16, 0.1);
-	return me;
-}
 void fillNexuizMiscSettingsTab(entity me)
 {
-	entity e, s;
+	entity e;
+	entity sk;
 
 	me.TR(me);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "bgmvolume");
-		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Music:"));
-		me.TD(me, 1, 2, s);
+		me.TD(me, 1, 3, e = makeNexuizTextLabel(0, "Menu skins:"));
 	me.TR(me);
-	me.TR(me);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "volume");
-		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Master:"));
-		me.TD(me, 1, 2, s);
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_staticvolume");
-		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Ambient:"));
-		makeMulti(s, "snd_entchannel2volume");
-		me.TD(me, 1, 2, s);
-		setDependentStringNotEqual(e, "volume", "0");
-		setDependentStringNotEqual(s, "volume", "0");
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_worldchannel0volume");
-		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Info:"));
-		me.TD(me, 1, 2, s);
-		setDependentStringNotEqual(e, "volume", "0");
-		setDependentStringNotEqual(s, "volume", "0");
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel3volume");
-		makeMulti(s, "snd_playerchannel0volume snd_playerchannel3volume");
-		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Items:"));
-		me.TD(me, 1, 2, s);
-		setDependentStringNotEqual(e, "volume", "0");
-		setDependentStringNotEqual(s, "volume", "0");
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_playerchannel6volume");
-		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Pain:"));
-		me.TD(me, 1, 2, s);
-		setDependentStringNotEqual(e, "volume", "0");
-		setDependentStringNotEqual(s, "volume", "0");
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_playerchannel7volume");
-		makeMulti(s, "snd_entchannel7volume");
-		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Player:"));
-		me.TD(me, 1, 2, s);
-		setDependentStringNotEqual(e, "volume", "0");
-		setDependentStringNotEqual(s, "volume", "0");
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel4volume");
-		makeMulti(s, "snd_playerchannel4volume");
-		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Shots:"));
-		me.TD(me, 1, 2, s);
-		setDependentStringNotEqual(e, "volume", "0");
-		setDependentStringNotEqual(s, "volume", "0");
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_playerchannel2volume");
-		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Voice:"));
-		me.TD(me, 1, 2, s);
-		setDependentStringNotEqual(e, "volume", "0");
-		setDependentStringNotEqual(s, "volume", "0");
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_playerchannel1volume");
-		makeMulti(s, "snd_playerchannel5volume snd_entchannel1volume snd_entchannel5volume");
-		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Weapons:"));
-		me.TD(me, 1, 2, s);
-		setDependentStringNotEqual(e, "volume", "0");
-		setDependentStringNotEqual(s, "volume", "0");
-
+		me.TD(me, me.rows - 2, 3, sk = makeNexuizSkinList());		
+	me.gotoRC(me, me.rows - 1, 0);
+		me.TD(me, 1, 3, e = makeNexuizButton("Apply immediately", '0 0 0'));
+			e.onClick = SetSkin_Click;
+			e.onClickEntity = sk;
+		
 	me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
-		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Frequency:"));
-		me.TD(me, 1, 2, e = makeNexuizTextSlider("snd_speed"));
-			e.addValue(e, "8 kHz", "8000");
-			e.addValue(e, "11.025 kHz", "11025");
-			e.addValue(e, "16 kHz", "16000");
-			e.addValue(e, "22.05 kHz", "22050");
-			e.addValue(e, "24 kHz", "24000");
-			e.addValue(e, "32 kHz", "32000");
-			e.addValue(e, "44.1 kHz", "44100");
-			e.addValue(e, "48 kHz", "48000");
-			e.configureNexuizTextSliderValues(e);
-	me.TR(me);
-		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Channels:"));
-		me.TD(me, 1, 2, e = makeNexuizTextSlider("snd_channels"));
-			e.addValue(e, "Mono", "1");
-			e.addValue(e, "Stereo", "2");
-			e.addValue(e, "2.1", "3");
-			e.addValue(e, "3.1", "4");
-			e.addValue(e, "4.1", "5");
-			e.addValue(e, "5.1", "6");
-			e.addValue(e, "6.1", "7");
-			e.addValue(e, "7.1", "8");
-			e.configureNexuizTextSliderValues(e);
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		me.TD(me, 1, 2.8, e = makeNexuizCheckBox(0, "snd_swapstereo", "Swap Stereo"));
-	me.TR(me);
-	me.TR(me);
 		me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "cl_autodemo", "Demo recording"));
 	me.TR(me);
 	me.TR(me);
@@ -148,8 +52,5 @@
 		me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "3", "km/h"));
 		me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "4", "mph"));
 		me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "5", "knots"));
-
-	me.gotoRC(me, me.rows - 1, 0);
-		me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "snd_restart", COMMANDBUTTON_APPLY));
 }
 #endif

Modified: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/mainwindow.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/mainwindow.c	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/mainwindow.c	2008-10-26 19:01:48 UTC (rev 4895)
@@ -7,6 +7,7 @@
 	ATTRIB(MainWindow, userbindEditDialog, entity, NULL)
 	ATTRIB(MainWindow, winnerDialog, entity, NULL)
 	ATTRIB(MainWindow, radarDialog, entity, NULL)
+	ATTRIB(MainWindow, mainNexposee, entity, NULL)
 	ATTRIB(MainWindow, fadedAlpha, float, SKINALPHA_BEHIND)
 ENDCLASS(MainWindow)
 #endif
@@ -53,7 +54,7 @@
 	i.configureDialog(i);
 	me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
 
-	n = spawnNexuizNexposee();
+	me.mainNexposee = n = spawnNexuizNexposee();
 	/*
 		if(checkextension("DP_GECKO_SUPPORT"))
 		{

Copied: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/skinlist.c (from rev 4894, trunk/data/qcsrc/menu/nexuiz/skinlist.c)
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/skinlist.c	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/skinlist.c	2008-10-26 19:01:48 UTC (rev 4895)
@@ -0,0 +1,156 @@
+#ifdef INTERFACE
+CLASS(NexuizSkinList) EXTENDS(NexuizListBox)
+	METHOD(NexuizSkinList, configureNexuizSkinList, void(entity))
+	ATTRIB(NexuizSkinList, rowsPerItem, float, 4)
+	METHOD(NexuizSkinList, resizeNotify, void(entity, vector, vector, vector, vector))
+	METHOD(NexuizSkinList, drawListBoxItem, void(entity, float, vector, float))
+	METHOD(NexuizSkinList, getSkins, void(entity))
+	METHOD(NexuizSkinList, setSkin, void(entity))
+	METHOD(NexuizSkinList, loadCvars, void(entity))
+	METHOD(NexuizSkinList, saveCvars, void(entity))
+	METHOD(NexuizSkinList, skinName, string(entity, float))
+	METHOD(NexuizSkinList, clickListBoxItem, void(entity, float, vector))
+	METHOD(NexuizSkinList, keyDown, float(entity, float, float, float))
+	METHOD(NexuizSkinList, destroy, void(entity))
+
+	ATTRIB(NexuizSkinList, skinlist, float, -1)
+	ATTRIB(NexuizSkinList, realFontSize, vector, '0 0 0')
+	ATTRIB(NexuizSkinList, columnPreviewOrigin, float, 0)
+	ATTRIB(NexuizSkinList, columnPreviewSize, float, 0)
+	ATTRIB(NexuizSkinList, columnNameOrigin, float, 0)
+	ATTRIB(NexuizSkinList, columnNameSize, float, 0)
+	ATTRIB(NexuizSkinList, realUpperMargin, float, 0)	
+	ATTRIB(NexuizSkinList, origin, vector, '0 0 0')
+	ATTRIB(NexuizSkinList, itemAbsSize, vector, '0 0 0')
+
+	ATTRIB(NexuizSkinList, lastClickedSkin, float, -1)
+	ATTRIB(NexuizSkinList, lastClickedTime, float, 0)
+
+	ATTRIB(NexuizSkinList, name, string, "skinselector")
+ENDCLASS(NexuizSkinList)
+
+entity makeNexuizSkinList();
+void SetSkin_Click(entity btn, entity me);
+#endif
+
+#ifdef IMPLEMENTATION
+
+entity makeNexuizSkinList()
+{
+	entity me;
+	me = spawnNexuizSkinList();
+	me.configureNexuizSkinList(me);
+	return me;
+}
+
+void configureNexuizSkinListNexuizSkinList(entity me)
+{
+	me.configureNexuizListBox(me);
+	me.getSkins(me);
+	me.loadCvars(me);
+}
+
+void loadCvarsNexuizSkinList(entity me)
+{
+	string s;
+	float i, n;
+	s = cvar_string("menu_skin");
+	n = me.nItems;
+	for(i = 0; i < n; ++i)
+	{
+		if(me.skinName(me, i) == s)
+		{
+			me.selectedItem = i;
+			break;
+		}
+	}
+}
+
+void saveCvarsNexuizSkinList(entity me)
+{
+	cvar_set("menu_skin", me.skinName(me, me.selectedItem));
+}
+
+string skinNameNexuizSkinList(entity me, float i)
+{
+	string s;
+	s = search_getfilename(me.skinlist, i);
+	s = substring(s, 9, strlen(s) - 9 - 15);  // gfx/menu/, skinvalues.txt
+	return s;
+}
+
+void getSkinsNexuizSkinList(entity me)
+{
+	me.skinlist = search_begin("gfx/menu/*/skinvalues.txt", TRUE, TRUE);
+	me.nItems = search_getsize(me.skinlist);
+}
+
+void destroyNexuizSkinList(entity me)
+{
+	search_end(me.skinlist);
+}
+
+void resizeNotifyNexuizSkinList(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
+{
+	me.origin = absOrigin;
+	me.itemAbsSize = '0 0 0';
+	resizeNotifyNexuizListBox(me, relOrigin, relSize, absOrigin, absSize);
+
+	me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize_y * me.itemHeight));
+	me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize_x * (1 - me.controlWidth)));
+	me.realUpperMargin = 0.5 * (1 - me.realFontSize_y);
+
+	me.columnPreviewOrigin = 0;
+	me.columnPreviewSize = me.itemAbsSize_y / me.itemAbsSize_x * 4 / 3;
+	me.columnNameOrigin = me.columnPreviewOrigin + me.columnPreviewSize + me.realFontSize_x;
+	me.columnNameSize = 1 - me.columnPreviewSize - 2 * me.realFontSize_x;
+}
+
+void drawListBoxItemNexuizSkinList(entity me, float i, vector absSize, float isSelected)
+{
+	string s;
+	
+	if(isSelected)
+		draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
+		
+	s = me.skinName(me, i);
+	draw_Picture(me.columnPreviewOrigin * eX, strcat("/gfx/menu/", s, "/skinpreview"), me.columnPreviewSize * eX + eY, '1 1 1', 1);
+	
+	s = draw_TextShortenToWidth(s, me.columnNameSize / me.realFontSize_x, 0);
+	draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0) * me.realFontSize_x)) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+}
+
+void setSkinNexuizSkinList(entity me)
+{
+	me.saveCvars(me);
+	localcmd("\nmenu_restart\ntogglemenu\ndefer 0.1 \"menu_cmd skinselect\"\n");
+}
+
+void SetSkin_Click(entity btn, entity me)
+{
+	me.setSkin(me);
+}
+
+void clickListBoxItemNexuizSkinList(entity me, float i, vector where)
+{
+	if(i == me.lastClickedSkin)
+		if(time < me.lastClickedTime + 0.3)
+		{
+			// DOUBLE CLICK!
+			me.setSelected(me, i);
+			me.setSkin(me);
+		}
+	me.lastClickedSkin = i;
+	me.lastClickedTime = time;
+}
+
+float keyDownNexuizSkinList(entity me, float scan, float ascii, float shift)
+{
+	if(scan == K_ENTER) {
+		me.setSkin(me);
+		return 1;
+	}
+	else
+		return keyDownListBox(me, scan, ascii, shift);
+}
+#endif

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc	2008-10-26 19:00:43 UTC (rev 4894)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc	2008-10-26 19:01:48 UTC (rev 4895)
@@ -196,7 +196,7 @@
 
     setorigin (missile, w_shotorg);
     setmodel  (missile, "models/tagrocket.md3");
-    setsize (missile, '0 0 0', '0 0 0');
+    setsize (missile, '-2 -2 -2', '2 2 2');
 
 
     missile.movetype    = MOVETYPE_FLYMISSILE;// MOVETYPE_TOSS;




More information about the nexuiz-commits mailing list