r5124 - in branches/nexuiz-2.0: . Docs Docs/htmlfiles data data/gfx data/models data/models/player data/models/sprites data/qcsrc/common data/qcsrc/menu/nexuiz data/scripts data/sound/misc data/sound/player data/sound/player/marine/coms data/sound/player/specop/coms data/sound/weapons data/textures misc modelsource

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Nov 27 09:24:49 EST 2008


Author: div0
Date: 2008-11-27 09:24:49 -0500 (Thu, 27 Nov 2008)
New Revision: 5124

Added:
   branches/nexuiz-2.0/Docs/faq.html
   branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.merge-left.r0
   branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.merge-right.r5119
   branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.working
   branches/nexuiz-2.0/Docs/irc.html
   branches/nexuiz-2.0/Docs/say-esc.html
   branches/nexuiz-2.0/data/check-sounds.sh
   branches/nexuiz-2.0/data/gfx/sb_flag_blue_shielded.tga
   branches/nexuiz-2.0/data/gfx/sb_flag_red_shielded.tga
   branches/nexuiz-2.0/data/models/player/crash.zym.sounds
   branches/nexuiz-2.0/data/models/player/grunt.zym.sounds
   branches/nexuiz-2.0/data/models/portal.md3_0.skin
   branches/nexuiz-2.0/data/models/portal.md3_1.skin
   branches/nexuiz-2.0/data/models/portal.md3_2.skin
   branches/nexuiz-2.0/data/models/sprites/as-defend_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/as-destroy_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/as-push_frame0.tga
   branches/nexuiz-2.0/data/qcsrc/common/items.qc
   branches/nexuiz-2.0/data/qcsrc/common/items.qh
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_multiplayer_join_serverinfo.c
   branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/playerlist.c
   branches/nexuiz-2.0/data/scripts/portals.shader
   branches/nexuiz-2.0/data/sound/misc/armor10.wav
   branches/nexuiz-2.0/data/sound/player/marine/coms/teamshoot4.ogg
   branches/nexuiz-2.0/data/sound/player/slime.wav
   branches/nexuiz-2.0/data/sound/player/specop/coms/taunt4.ogg
   branches/nexuiz-2.0/data/sound/player/specop/coms/teamshoot4.ogg
   branches/nexuiz-2.0/data/sound/weapons/brass1.ogg
   branches/nexuiz-2.0/data/sound/weapons/brass2.ogg
   branches/nexuiz-2.0/data/sound/weapons/brass3.ogg
   branches/nexuiz-2.0/data/sound/weapons/casings1.ogg
   branches/nexuiz-2.0/data/sound/weapons/casings2.ogg
   branches/nexuiz-2.0/data/sound/weapons/casings3.ogg
   branches/nexuiz-2.0/data/sound/weapons/crylink_fire2.ogg
   branches/nexuiz-2.0/data/sound/weapons/crylink_impact.ogg
   branches/nexuiz-2.0/data/sound/weapons/crylink_impact2.ogg
   branches/nexuiz-2.0/data/sound/weapons/flac_fire.ogg
   branches/nexuiz-2.0/data/sound/weapons/flacexp1.ogg
   branches/nexuiz-2.0/data/sound/weapons/flacexp2.ogg
   branches/nexuiz-2.0/data/sound/weapons/flacexp3.ogg
   branches/nexuiz-2.0/data/sound/weapons/rocket_mode.ogg
   branches/nexuiz-2.0/data/sound/weapons/seeker_fire.ogg
   branches/nexuiz-2.0/data/sound/weapons/seekerexp1.ogg
   branches/nexuiz-2.0/data/sound/weapons/seekerexp2.ogg
   branches/nexuiz-2.0/data/sound/weapons/seekerexp3.ogg
   branches/nexuiz-2.0/data/sound/weapons/tag_fire.ogg
   branches/nexuiz-2.0/data/sound/weapons/tag_impact.ogg
   branches/nexuiz-2.0/data/sound/weapons/tag_rocket_fly.wav
   branches/nexuiz-2.0/data/sound/weapons/tagexp1.ogg
   branches/nexuiz-2.0/data/sound/weapons/tagexp2.ogg
   branches/nexuiz-2.0/data/sound/weapons/tagexp3.ogg
   branches/nexuiz-2.0/data/textures/marine_gloss.tga
   branches/nexuiz-2.0/data/textures/marine_norm.tga
   branches/nexuiz-2.0/misc/assault-circuit-board-creator.pl
   branches/nexuiz-2.0/misc/bsptool.pl
   branches/nexuiz-2.0/misc/sb-flag-shielded.svg
   branches/nexuiz-2.0/modelsource/portal_source.7z
   branches/nexuiz-2.0/readme.html
Log:
forgotten files


Added: branches/nexuiz-2.0/Docs/faq.html
===================================================================
--- branches/nexuiz-2.0/Docs/faq.html	                        (rev 0)
+++ branches/nexuiz-2.0/Docs/faq.html	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,318 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<meta name="author" content="Tyler Mulligan of www.detrition.net a.k.a -z- of www.nexuizninjaz.com" />
+<meta name="Description" content="Nexuiz is a free open-source fast paced first person shooter (FPS) that runs on Windows, Linux and OSX.  Nexuiz utilizes the darkplaces engine modeled after the Quake series." />
+<meta name="Keywords" content="Nexuiz, Nexiuz, first person shooter, darkplaces, open-source game, open source game, free game, linux game, deathmatch, death match, ctf, quake, alientrap, alien trap, ninjaz" />
+<title>Nexuiz - A free open-source fast paced first person shooter (FPS) for Windows, Linux and OSX</title>
+<link rel="stylesheet" href="htmlfiles/style.css" type="text/css"></link>
+<link rel="shortcut icon" href="favicon.ico"></link>
+</head>
+<body>
+<div id="container">
+	<div id="left">
+		<div id="logo">
+
+			<a href="http://www.nexuiz.com" title="Nexuiz - Simple, fast, intense and completely free"><img src="htmlfiles/img/nexuiz_logo.jpg" alt="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." width="201" height="193" border="0" title="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." /></a>
+		</div>
+		<!-- Sidebar -->
+	  <div id="sidebar">
+			<a href="news.php" title="Latest Nexuiz News"><img src="htmlfiles/img/headers/latest_news.gif" alt="Latest News" width="168" height="16" border="0" class="imgHeader" style="margin-top:0;" title="Latest Nexuiz News" /></a>
+			<div id="news">
+			  <div class="newsPost">
+						<h1><a href="http://nexuiz.com/news.php" title="Two Nexuiz 1v1 Tourneys">nexuiz.com/news - for nexuiz news updates</a></h1>
+			  </div>
+		</div>
+			<!-- Downloads -->
+			<a href="downloads.php" title="Nexuiz Downloads (Game, Maps)"><img src="htmlfiles/img/headers/downloads.gif" alt="Downloads" width="145" height="15" border="0" class="imgHeader" title="Downloads" /></a>
+			<a id="download_nexuiz" href="http://downloads.sourceforge.net/nexuiz/nexuiz-242.zip" title="Download Nexuiz from Source Forge - Left Click">&nbsp;</a>
+			<!--<a id="download_q3_mappack" href="http://downloads.sourceforge.net/nexuiz/nexmappack_r2.zip" title="Download Nexuiz Q3 Mappack from Source
+			Forge - Left Click">&nbsp;</a>-->
+			<h2 class="page"><a href="http://nexuiz.com/downloads.php" title="Nexuiz Download Mirrors">Mirrors -&gt;</a></h2>
+			<!-- Help Wanted -->
+
+			<img src="htmlfiles/img/headers/help_wanted.gif" alt="Help Wanted" width="165" height="15" class="imgHeader" title="Help Wanted" />			
+			<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="donate_form"> <input name="cmd" value="_s-xclick" type="hidden" />
+			<a id="donate" href="javascript:document.donate_form.submit();" title="Help The Aliens, Please Donate">&nbsp;</a>
+			<noscript>
+				<!-- It not an elegant solution but I don't expect many users to arrive with JS turned off -->
+				<input name="submit" type="image" src="htmlfiles/img/donate_button_noscript.jpg" alt="Help this project - Donate to the aliens" width="166" height="43" /> 
+			</noscript>
+			<h2 class="page"><a href="http://nexuiz.com/donators.php" title="Those who have donated to Nexuiz">Donators -&gt;</a></h2>
+			<input name="encrypted" value="-----BEGIN PKCS7-----MIIHBgYJKoZIhvcNAQcEoIIG9zCCBvMCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBfp40KRLmnxKPY06C4gjvEiWZchbxK6bgD7ZdjhdWO5Vbwo4T4Ro+HE041PVVqIxPlJgO80l3aQpBtfhC66FfM2kIF1BjLs1zzhQM89XoPGViS3e4kbmzxkMnpdiZFmOsR5Fs5NJYiVaMnVGcoQ+K3+KsyOehZGket7GwUeNFMRzELMAkGBSsOAwIaBQAwgYMGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIb1QeJqVIc5SAYOPcI23W84XMGt8mSfHE1Gf0/GZAM7NvqLiHF0BeaecRW1Bc85O0tL9OduZiraGf7WVnAmP5kp1D0irXsA5+N2l15WADxwNQ/GoCAU293l0dAQ7Qy4F3vh6eSii18MaH2KCCA4cwggODMIIC7KADAgECAgEAMA0GCSqGSIb3DQEBBQUAMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTAeFw0wNDAyMTMxMDEzMTVaFw0zNTAyMTMxMDEzMTVaMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwUdO3fxEzEtcnI7ZKZL412XvZPugoni7i7D7prCe0AtaHTc97CYgm7NsAtJyxNLixmhLV8pyIEaiHXWAh8fPKW+R017+EmXrr9EaquPmsVvTywAAE1PMNOKqo2kl4Gxiz9zZqIajOm1fZGWcGS0f5JQ2kBqNbvbg2/Za+GJ/qwUCAwEAAaOB7jCB6zAdBgNVHQ4EFgQUlp98u8ZvF71ZP1LXChvsENZklGswgbsGA1UdIwSBszCBsIAUlp98u8ZvF71ZP1LXChvsENZklGuhgZSkgZEwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAgV86VpqAWuXvX6Oro4qJ1tYVIT5DgWpE692Ag422H7yRIr/9j/iKG4Thia/Oflx4TdL+IFJBAyPK9v6zZNZtBgPBynXb048hsP16l2vi0k5Q2JKiPDsEfBhGI+HnxLXEaUWAcVfCsQFvd2A1sxRr67ip5y2wwBelUecP3AjJ+YcxggGaMIIBlgIBATCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA1MDUxMjE5MDQ0OFowIwYJKoZIhvcNAQkEMRYEFC7mlfdaA7Pg2eBhxI5xQTe7ydTtMA0GCSqGSIb3DQEBAQUABIGAfR38tX84huxk9JjvhggcSMxzHbmDxpxInBU6/lbyqAu7iT5KJn7rcJgaH5ZVyKNoNQLGp9IxweBrcMiYUQNVxShm9+hunXhQmj5r7AMGaxNZ0mE8mQRW1ZTaz7TLz1HkDFA+R0Dm8HYyDQA4L505cBiWNEsKC17VwNK1G7CEVvA=-----END PKCS7-----" type="hidden" /></form>
+			
+		  <!-- Created By -->
+		  <img src="htmlfiles/img/headers/created_by.gif" alt="Created By" width="145" height="15" class="imgHeader" title="Created By" />
+
+	  <a id="alien_trap" href="http://www.alientrap.org" title="Developed by Alien Trap" target="_blank">&nbsp;</a>	  </div>
+		<!-- end sidebar -->	</div><!-- end left -->
+	<div id="right">
+		<div id="header">
+			<a href="http://nexuiz.com" title="Nexuiz - Simple, fast, intense and completely free"><img src="htmlfiles/img/nexuiz_header.jpg" alt="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." width="766" height="107" border="0" title="Nexuiz - Simple, fast, intense and completely free" /></a>
+		</div>
+		<div id="menu">
+			<ul>
+
+				<li class="first"><a href="../readme.html" title="Nexuiz - Latest News">About </a></li>
+				<li><a href="basics.html" title="Nexuiz - Media (Screenshots, videos and graphics)">Nexuiz Basics</a></li>
+				<li><a href="say-esc.html" title="Nexuiz Information  (General, System Requirements)">Say Escapes</a></li>
+				<li><a href="irc.html" title="Nexuiz - Downloads (Game, Maps)">IRC</a></li>
+				<li><a href="faq.html" title="Official Nexuiz FAQ">FAQ</a></li>
+				<li class="first"></li>
+				<li class="first"></li>
+				<li class="first"></li>
+		  </ul>		</div>
+		<p id="tagline">Nexuiz is a <b>free</b> open-source first person shooter that runs on <b>Windows</b>, <b>Linux</b> and <b>OSX</b>.</p>
+	  <div id="content">
+		  <div class="body"> <br />
+		      <center>
+		        <h1><a name="AFT-top" id="AFT-top">Nexuiz 3 FAQ</a></h1>
+	        </center>
+		      <center>
+		        <a class="link" href="http://nexuiz.com">http://nexuiz.com</a>&nbsp;&nbsp;<a class="link" href="http://alientrap.org">http://alientrap.org</a>
+	        </center>
+		      <hr />
+              <!--  AFT Table of Contents (auto generated) -->
+              <ul>
+                <li> <a class="link" href="#Troubleshooting">Troubleshooting</a></li>
+                <ul>
+                  <li> <a class="link" href="#How do I install Nexuiz?">How do I install Nexuiz?</a></li>
+                  <li> <a class="link" href="#When I start Nexuiz all I see is a black screen or a black screen with some checkered squares">When I start Nexuiz all I see is a black screen or a black screen with some checkered squares</a></li>
+                  <li> <a class="link" href="#When i start Nexuiz my screen is flickering">When i start Nexuiz my screen is flickering</a></li>
+                  <li> <a class="link" href="#How can I speed up my frame rate?">How can I speed up my frame rate?</a></li>
+                  <li> <a class="link" href="#The sound is broken, it crackles and stutters">The sound is broken, it crackles and stutters</a></li>
+                  <li> <a class="link" href="#Mouse is too slow and sensitivity is at top (on Mac / Linux)">Mouse is too slow and sensitivity is at top (on Mac / Linux)</a></li>
+                  <li> <a class="link" href="#I can't switch to 32 bit color depth (on Windows)">I can't switch to 32 bit color depth (on Windows)</a></li>
+                  <li> <a class="link" href="#When I join a server or after a map change I see nothing but a black screen, but I can still move and shoot">When I join a server or after a map change I see nothing but a black screen, but I can still move and shoot</a></li>
+                  <li> <a class="link" href="#How to report crashes">How to report crashes</a></li>
+                  <li> <a class="link" href="#Where can i get more help?">Where can i get more help?</a></li>
+                </ul>
+                <li> <a class="link" href="#General questions">General questions</a></li>
+                <ul>
+                  <li> <a class="link" href="#How do I install new maps?">How do I install new maps?</a></li>
+                  <li> <a class="link" href="#How can I place a shortcut to Nexuiz on my Linux desktop?">How can I place a shortcut to Nexuiz on my Linux desktop?</a></li>
+                  <li> <a class="link" href="#How do I open the console?">How do I open the console?</a></li>
+                  <li> <a class="link" href="#What console commands/variables are there?">What console commands/variables are there?</a></li>
+                  <li> <a class="link" href="#How can I activate colors in my name?">How can I activate colors in my name?</a></li>
+                  <li> <a class="link" href="#How do i watch/record demos?">How do i watch/record demos?</a></li>
+                </ul>
+                <li> <a class="link" href="#Server setup">Server setup</a></li>
+                <ul>
+                  <li> <a class="link" href="#How do I start a server?">How do I start a server?</a></li>
+                  <li> <a class="link" href="#Which ports do I have to open in firewall/forward from my router to run a server?">Which ports do I have to open in firewall/forward from my router to run a server?</a></li>
+                  <li> <a class="link" href="#Is there some kind of rcon?">Is there some kind of rcon?</a></li>
+                  <li> <a class="link" href="#How can i kick people who are using special characters in their names?">How can i kick people who are using special characters in their names?</a></li>
+                </ul>
+                <li> <a class="link" href="#Development">Development</a></li>
+                <ul>
+                  <li> <a class="link" href="#How do i set up gtkradiant to create/edit Nexuiz maps?">How do i set up gtkradiant to create/edit Nexuiz maps?</a></li>
+                  <li> <a class="link" href="#Where can i get latest development versions of the source code?">Where can i get latest development versions of the source code?</a> </li>
+                </ul>
+              </ul>
+              <hr />
+              <!-- Start SectLevel1 -->
+              <h2><a name="Troubleshooting" id="Troubleshooting">Troubleshooting</a></h2>
+              <!-- Start SectLevel2 -->
+              <h3><a name="How do I install Nexuiz?" id="How do I install Nexuiz?">How do I install Nexuiz?</a></h3>
+              <p class="Body"> Just unzip the <tt>nexuiz-&lt;version&gt;.zip</tt> file. You can do this with any archive program (like <a class="link" href="http://7zip.org">7zip</a>). It's very important to keep the directory structure while unpacking (in WinZip this option is called &quot;Use folder names&quot;). The directory structure should look like this afterwards: </p>
+              <div class="block">
+                <pre>
+Nexuiz/
+|-- Docs/
+|   |-- *
+|   `-- server/
+|       `-- *
+|-- data/
+|   |-- common-spog.pk3
+|   `-- data*.pk3
+|-- pro/
+|   `-- data*.pk3
+|-- Nexuiz.app/
+|   `-- *
+|-- Nexuiz-SDL.app/
+|   `-- *
+|-- sources/
+|   `-- *
+|-- *.exe
+|-- *.dll
+`-- nexuiz-linux-*
+            </pre>
+              </div>
+              <p></p>
+              <!--End Section 2-->
+              <h3><a name="When I start Nexuiz all I see is a black screen or a black screen with some checkered squares" id="When I start Nexuiz all I see is a black screen or a black screen with some checkered squares">When I start Nexuiz all I see is a black screen or a black screen with some checkered squares</a></h3>
+              <p class="Body"> This happens when the engine can't load the data*.pk3 file or has trouble to initialize OpenGL. The reasons could be: </p>
+              <ol>
+                <li> you unpacked the zip file without folder names (see <a class="link" href="#How do I install Nexuiz?">How do I install Nexuiz?</a>)</li>
+                <li> on Linux: the current directory is not your Nexuiz/ folder. See <a class="link" href="#How can I place a shortcut to Nexuiz on my Linux desktop?">How can I place a shortcut to Nexuiz on my Linux desktop?</a> on how to fix this</li>
+                <li> on Mac: you tried to extract and move the files from a Nexuiz update and it deleted the old files. When using the mac GUI please be sure to move only the files not the folders as that will delete the old files or use the mv console command which will not delete the old files</li>
+                <li> the engine could not initialize OpenGL. Please install the latest drivers for your graphic card. You will probably find one for your card there: <a class="link" href="http://intel.com">intel</a> <a class="link" href="http://ati.com">ati</a> <a class="link" href="http://nvidia.com">nvidia</a></li>
+                <li> your download might be corrupted, please download Nexuiz again</li>
+              </ol>
+              <p></p>
+              <!--End Section 2-->
+              <h3><a name="When i start Nexuiz my screen is flickering" id="When i start Nexuiz my screen is flickering">When i start Nexuiz my screen is flickering</a></h3>
+              <p class="Body"> This in known to happen on Windows with Intel grahpic chips and is a bug in the graphics drivers. A workaround is to set <tt>Flip-Policiy</tt> to <tt>blit</tt>. Open the control panel, there should be an icon called <tt>Intel(R) GMA driver</tt> (or something like that), double click it. Click on <tt>3D Settings</tt> to find the screen with that settings. </p>
+              <!--End Section 2-->
+              <h3><a name="How can I speed up my frame rate?" id="How can I speed up my frame rate?">How can I speed up my frame rate?</a></h3>
+              <p class="Body"> You can choose predefined performance settings in the <tt>Settings / Video</tt> menu. <tt>Normal</tt> is the default, <tt>Medium</tt> and <tt>Low</tt> run faster while <tt>High</tt>, <tt>Ultra</tt> and <tt>Ultimate</tt> enable more features you might want to test if you have a high end graphic card. Or you can dis/enable single features. The greatest performance boost can be achieved by turning off dynamic lights and shadows in the <tt>Settings / Effects</tt> menu. Bloom is also quite resource intensive. Other fps boots include disabling <tt>Deluxemapping</tt> and <tt>Coronas</tt>. On older graphics cards or on-board/notebook chips with little video ram you can try to lower the texture quality in the <tt>Settings / Video</tt> menu. Some graphic cards (mostly ATI or quite old cards) run A LOT faster if you disable the <tt>Vertex Buffer Objects</tt> in the <tt>Settings / Video</tt> menu. An other thing that can greatly help on such cards is to disable the <tt>OpenGL 2.0 Shaders</tt>. Having that option enabled is faster on most cards however thats why both are active by default. </p>
+              <!--End Section 2-->
+              <h3><a name="The sound is broken, it crackles and stutters" id="The sound is broken, it crackles and stutters">The sound is broken, it crackles and stutters</a></h3>
+              <p class="Body"> Try run <tt>nexuiz-sdl.exe</tt> instead of <tt>nexuiz.exe</tt> (on Windows). Adding the command line options <tt>-sndspeed 48000</tt> and/or <tt>-sndstereo</tt> can also help on some systems (on Linux, Mac, Windows). </p>
+              <!--End Section 2-->
+              <h3><a name="Mouse is too slow and sensitivity is at top (on Mac / Linux)" id="Mouse is too slow and sensitivity is at top (on Mac / Linux)">Mouse is too slow and sensitivity is at top (on Mac / Linux)</a></h3>
+              <p class="Body"> Mac: The default mouse acceleration on Mac is very high and strange. The Nexuiz defaults work fine with it but some mouse drivers seem to 'correct' the mouse acceleration and conflict with the Nexuiz defaults. Try to disable the option <tt>Turn off OS mouse acceleration</tt> in the <tt>Settings / Input</tt> menu. Or the same via console: <tt>apple_mouse_noaccel 0; vid_restart</tt> (<a class="link" href="#How do I open the console?">How do I open the console?</a>) Linux: A similar problem can arise on Linux. Its also <tt>Turn off OS mouse acceleration</tt> in the <tt>Settings / Input</tt> menu but the console command is different: <tt>vid_dga 0; vid_restart</tt> (<a class="link" href="#How do I open the console?">How do I open the console?</a>) </p>
+              <!--End Section 2-->
+              <h3><a name="I can't switch to 32 bit color depth (on Windows)" id="I can't switch to 32 bit color depth (on Windows)">I can't switch to 32 bit color depth (on Windows)</a></h3>
+              <p class="Body"> Check if your desktop color depth is set to 32 bits per pixel. If it's just set to 16, Nexuiz can't switch to 32 bit mode. </p>
+              <!--End Section 2-->
+              <h3><a name="When I join a server or after a map change I see nothing but a black screen, but I can still move and shoot" id="When I join a server or after a map change I see nothing but a black screen, but I can still move and shoot">When I join a server or after a map change I see nothing but a black screen, but I can still move and shoot</a></h3>
+              <p class="Body"> This is probably because you don't have the map that's running on the server. As Nexuiz supports map/content download the server might not be be setup (correctly) to support this and you will have to get the map the old fashioned way. Those servers should have a download URL in their name or welcome message. There is also a <a class="link" href="http://alientrap.org/wiki/pmwiki.php?n=Main.CustomMaps">wiki page</a> dedicated to new maps. For Linux users: you need to have libcurl installed, otherwise you won't be able to download any maps. libcurl should be available in any Linux distribution, just search for &quot;libcurl&quot; and install it in your distribution's package manager. </p>
+              <!--End Section 2-->
+              <h3><a name="How to report crashes" id="How to report crashes">How to report crashes</a></h3>
+              <p class="Body"> Alientrap wants to ensure everyone has a pleasent time playing Nexuiz, so if you have problems we would like to ask you to report them and thus help solve them. Especially crash reports can be very helpful. See below for how to contact Alientrap (<a class="link" href="#Where can i get more help?">Where can i get more help?</a>) </p>
+              <p class="Body"> On Mac: IS THERE A EASY WAY? </p>
+              <p class="Body"> On Linux: In a xterm, <tt>cd</tt> into your Nexuiz installation directory, start <tt>catchsegv ./nexuiz-linux-686-sdl -condebug -developer &gt; crash.txt 2&gt;&amp;1</tt> and give the file crash.txt to the developers. Note that you can also use <tt>./nexuiz-linux-686-glx</tt> or if you have a 64bit system <tt>./nexuiz-linux-x86_64-sdl</tt> and <tt>./nexuiz-linux-x86_64-glx</tt> </p>
+              <p class="Body"> On Windows: Click Start-&gt;Run, and enter drwtsn32, click Ok in the next window, run Nexuiz and wait for the crash. Then go to <tt>C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson</tt> there should be a file called &quot;drwtsn32.log&quot;, give that file along with the engine's build date to the developers. You'll see that date when you open the ingame console (<a class="link" href="#How do I open the console?">How do I open the console?</a>). Note that some folders of that path may be hidden or have a translated name if you're using a non-english windows. </p>
+              <!--End Section 2-->
+              <h3><a name="Where can i get more help?" id="Where can i get more help?">Where can i get more help?</a></h3>
+              <p class="Body"> Visit <a class="link" href="http://alientrap.org/forum">the official Nexuiz forum</a> there is a <a class="link" href="http://alientrap.org/forum/viewforum.php?f=3">support and bug report area</a>. Or get on <a class="link" href="http://en.wikipedia.org/wiki/Internet_Relay_Chat">IRC</a> to chat with other or ask for help. There is the normal users channel (irc://irc.quakenet.org/nexuiz) and the developers channel (irc://irc.anynet.org/alientrap) </p>
+              <!--End Section 2-->
+              <!-- End SectLevel2 -->
+              <!--End Section 1-->
+              <h2><a name="General questions" id="General questions">General questions</a></h2>
+              <!-- Start SectLevel2 -->
+              <h3><a name="How do I install new maps?" id="How do I install new maps?">How do I install new maps?</a></h3>
+              <p class="Body"> Maps usually ship as *.pk3 file. All you have to do is to copy this file to the <tt>Nexuiz/data/</tt> (on Linux, Mac, Windows) OR <tt>~/.nexuiz/data/</tt> (on Linux, Mac) directory. Map packages that were downloaded from a server during playing end up in <tt>Nexuiz/data/dlcache/</tt> or <tt>~/.nexuiz/data/dlcache/</tt> and are only used till you exit Nexuiz. If you want to play them localy or use them to setup a server of your own you can &quot;accept&quot; the packages by moving it one level up - right next to your config.cfg. </p>
+              <!--End Section 2-->
+              <h3><a name="How can I place a shortcut to Nexuiz on my Linux desktop?" id="How can I place a shortcut to Nexuiz on my Linux desktop?">How can I place a shortcut to Nexuiz on my Linux desktop?</a></h3>
+              <p class="Body"> Use the script <tt>nexuiz-linux-sdl.sh</tt> or <tt>nexuiz-linux-glx.sh</tt> instead of the binaries. The scripts will use the correct <tt>working directory</tt>,choose the right version (32 or 64 bit) and also allow you to start a extra X server. </p>
+              <!--End Section 2-->
+              <h3><a name="How do I open the console?" id="How do I open the console?">How do I open the console?</a></h3>
+              <p class="Body"> Press <tt>[shift]+[escape]</tt>. To close it press <tt>[escape]</tt>. While playing ` or ^ will also open the console. </p>
+              <!--End Section 2-->
+              <h3><a name="What console commands/variables are there?" id="What console commands/variables are there?">What console commands/variables are there?</a></h3>
+              <p class="Body"> You can get a list of variables by entering <tt>cvarlist</tt> on the console (<a class="link" href="#How do I open the console?">How do I open the console?</a>). <tt>cmdlist</tt> will give you a list of available commands. An annotated version of that output can be found at the <a class="link" href="http://alientrap.org/wiki/pmwiki.php?n=Main.ConsoleCommands">Nexuiz wiki</a>. </p>
+              <!--End Section 2-->
+              <h3><a name="How can I activate colors in my name?" id="How can I activate colors in my name?">How can I activate colors in my name?</a></h3>
+              <p class="Body"> Colors can be used in nicknames and chat messages by typing ^ followed by a number between 0 and 9. </p>
+              <!-- 2 columns -->
+              <center>
+                <table cellspacing="0">
+                  <caption>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                  </caption>
+                  <tr>
+                    <th> code </th>
+                    <th> color&nbsp;&nbsp; </th>
+                  </tr>
+                  <tr>
+                    <td> ^0 </td>
+                    <td> black&nbsp;&nbsp; </td>
+                  </tr>
+                  <tr>
+                    <td> ^1 </td>
+                    <td> red&nbsp;&nbsp;</td>
+                  </tr>
+                  <tr>
+                    <td> ^2 </td>
+                    <td> green&nbsp;&nbsp; </td>
+                  </tr>
+                  <tr>
+                    <td> ^3 </td>
+                    <td> yellow&nbsp;&nbsp; </td>
+                  </tr>
+                  <tr>
+                    <td> ^4 </td>
+                    <td> blue&nbsp;&nbsp; </td>
+                  </tr>
+                  <tr>
+                    <td> ^5 </td>
+                    <td> aqua&nbsp;&nbsp; </td>
+                  </tr>
+                  <tr>
+                    <td> ^6 </td>
+                    <td> pink&nbsp;&nbsp; </td>
+                  </tr>
+                  <tr>
+                    <td> ^7 </td>
+                    <td> white&nbsp;&nbsp; </td>
+                  </tr>
+                  <tr>
+                    <td> ^8 </td>
+                    <td> light grey&nbsp;&nbsp;</td>
+                  </tr>
+                  <tr>
+                    <td> ^9 </td>
+                    <td> dark grey&nbsp;&nbsp; </td>
+                  </tr>
+                </table>
+              </center>
+              <!--End Section 2-->
+              <h3><a name="How do i watch/record demos?" id="How do i watch/record demos?">How do i watch/record demos?</a></h3>
+              <p class="Body"> After the menu redesign in Nexuiz 2.4 there is no demo menu anymore for the time being. To watch a demo type <tt>ply &lt;demos/name&gt;</tt> in the console (<a class="link" href="#How do I open the console?">How do I open the console?</a>). To automaticly record a demo each time you play enable the option <tt>Demo recording</tt> in the <tt>Settings / Misc</tt> menu. Of if you just want to record some matches open the console and type <tt>rec &lt;demos/name&gt;</tt> before playing. That is before starting a game or connecting to a server. The demo file will then be stored in <tt>Nexuiz/data/demos/&lt;name&gt;.dem</tt> (on Windows) or <tt>~/.nexuiz/data/demos/&lt;name&gt;.dem</tt> (on Linux, Mac). If you downloaded a demo, copy it to <tt>Nexuiz/data/demos/&lt;name&gt;.dem</tt> (on Linux, Mac, Windows) or <tt>~/.nexuiz/data/demos/&lt;name&gt;.dem</tt> (on Linux, Mac). You might have to create this directory if you have never recorded a demo before. You can list all your demo files by typing <tt>dem</tt> on the console. Some useful key bindings for viewing demos are listed <a class="link" href="http://www.alientrap.org/forum/viewtopic.php?p=357#357">here</a>. A simple way to automatically record demos can be found <a class="link" href="http://www.alientrap.org/forum/viewtopic.php?t=90">here</a> </p>
+              <!--End Section 2-->
+              <!-- End SectLevel2 -->
+              <!--End Section 1-->
+              <h2><a name="Server setup" id="Server setup">Server setup</a></h2>
+              <!-- Start SectLevel2 -->
+              <h3><a name="How do I start a server?" id="How do I start a server?">How do I start a server?</a></h3>
+              <p class="Body"> Use the <tt>Multiplayer / Create</tt> menu to start a <tt>listen server</tt>. You will always have to play yourself in a <tt>listen server</tt>. If you want to create a server without being forced to play yourself please take a look at the file <tt>readme.txt</tt> in the <tt>Docs/server/</tt> directory where the <tt>dedicated server</tt> is explained. </p>
+              <!--End Section 2-->
+              <h3><a name="Which ports do I have to open in firewall/forward from my router to run a server?" id="Which ports do I have to open in firewall/forward from my router to run a server?">Which ports do I have to open in firewall/forward from my router to run a server?</a></h3>
+              <p class="Body"> The default port is 26000 UDP. You can change that in the <tt>Multiplayer / Create</tt> menu or by starting Nexuiz with the parameter <tt>-port &lt;port&gt;</tt> or having a line <tt>port &lt;port&gt;</tt> in the server config file. If you follow the tutorial mentioned above you do not need this command line argument as it will be done in the config file created for the server. To add the command line argument on Windows, create a new shortcut to <tt>nexuiz.exe</tt> or <tt>nexuiz-dedicated.exe</tt> and right click on it. Select properties and <tt>-port &lt;port&gt;</tt> in the &quot;Target:&quot; line. Be sure that the &quot;Start in:&quot; line contains the full path to your Nexuiz folder and click &quot;OK&quot;. The parameter will be used if you start Nexuiz via that new shortcut. </p>
+              <!--End Section 2-->
+              <h3><a name="Is there some kind of rcon?" id="Is there some kind of rcon?">Is there some kind of rcon?</a></h3>
+              <p class="Body"> Yes starting with Nexuiz 2.0 there is rcon (QuakeWorld compatible). To use it you must enter <tt>rcon_password &lt;password&gt;</tt> in the server console or server config file. The Nexuiz client has to set the same password in the same fashion. You can then issue commands with <tt>rcon &lt;command&gt;</tt> if you are connected to the server or will have to set <tt>rcon_address &lt;ip/hostname&gt;</tt> or <tt>rcon_address &lt;ip/hostname&gt;:&lt;port&gt;</tt> to point to the server. There are also external rcon tools but make sure you use a QW compatible rcon tool. </p>
+              <!--End Section 2-->
+              <h3><a name="How can i kick people who are using special characters in their names?" id="How can i kick people who are using special characters in their names?">How can i kick people who are using special characters in their names?</a></h3>
+              <p class="Body"> Enter <tt>status</tt> at the server console. You will see a list of all players. In front of their names you will see a number (the player id). You can kick the player you don't like with <tt>kick # &lt;player id&gt; &lt;reason&gt;</tt> (notice the space after #). </p>
+              <!--End Section 2-->
+              <!-- End SectLevel2 -->
+              <!--End Section 1-->
+              <h2><a name="Development" id="Development">Development</a></h2>
+              <!-- Start SectLevel2 -->
+              <h3><a name="How do i set up gtkradiant to create/edit Nexuiz maps?" id="How do i set up gtkradiant to create/edit Nexuiz maps?">How do i set up gtkradiant to create/edit Nexuiz maps?</a></h3>
+              <p class="Body"> There's a <a class="link" href="http://www.alientrap.org/forum/viewtopic.php?t=10">guide</a> on gtkradiant setup in the forums. There are also <a class="link" href="http://www.alientrap.org/forum/viewtopic.php?p=33">Windows tool</a> that will help you to setup gtkradiant 1.4 and a <a class="link" href="http://www.alientrap.org/forum/viewtopic.php?p=841">Linux script</a> to configure gtkradiant 1.5. </p>
+              <!--End Section 2-->
+              <h3><a name="Where can i get latest development versions of the source code?" id="Where can i get latest development versions of the source code?">Where can i get latest development versions of the source code?</a></h3>
+              <p class="Body"> <strong>Engine:</strong> instructions are available at <a class="link" href="http://icculus.org/twilight/darkplaces/download.html">http://icculus.org/twilight/darkplaces/download.html</a> look for <tt>Accessing the SVN server</tt> (you will need a <a class="link" href="http://subversion.tigris.org/project_packages.html">svn client</a>, beta builds are available <a class="link" href="http://icculus.org/twilight/darkplaces/files/">here</a>) </p>
+              <p class="Body"> <strong>Game data:</strong> to check out the Nexuiz svn, you'll need a <a class="link" href="http://subversion.tigris.org/project_packages.html">svn client</a>. To check out the repository with a command line svn client, do </p>
+            <div class="block">
+              <pre>
+svn co svn://svn.icculus.org/nexuiz/trunk/</pre>
+            </div>
+	    To compile the game code you need <a class="link" href="http://sourceforge.net/project/showfiles.php?group_id=116842&amp;package_id=129507">fteqcc</a>.  Just download it and run it twice, once in <tt>data/qcsrc/menu</tt> and once in <tt>data/qcsrc/server</tt>.
+        </div>
+		  <p>&nbsp;</p>
+		<p><br style="clear:left" />
+        </p>
+	  </div>
+	  <!-- end content -->
+		<div id="footer">
+			<p id="ninja"><a href="http://www.detrition.net" title="Tyler Mulligan's Working Portfolio" target="_blank">page created by</a> <a href="http://www.nexuizninjaz.com" title="Nexuiz Ninjaz - Practicing the ninja arts of Nexuiz" target="_blank">a ninja</a></p>
+			<ul>
+
+				<li class="first"><a href="http://alientrap.org/nexuiz/news.php" title="Nexuiz - Latest News">News</a></li>
+				<li><a href="http://alientrap.org/nexuiz/media.php" title="Nexuiz - Media (Screenshots, videos and graphics)">Media</a></li>
+				<li><a href="http://alientrap.org/nexuiz/information.php" title="Nexuiz Information  (General, System Requirements)">Info</a></li>
+				<li><a href="http://alientrap.org/nexuiz/team.php" title="The Nexuiz Team">Team</a></li>
+				<li><a href="http://alientrap.org/nexuiz/links.php" title="Nexuiz Links">Links</a></li>
+				<li><a href="http://alientrap.org/forum/index.php?c=3" title="Official Nexuiz Forums" target="_blank">Forums</a></li>
+				<li><a href="http://planetnexuiz.com/ladder/" title="Nexuiz Ladder" target="_blank">Ladder</a></li>
+				<li><a href="http://planetnexuiz.com/tourney/" title="Nexuiz Tournaments" target="_blank">Tournament</a></li>
+				<li class="first"></li>
+		  </ul>		</div><!-- end footer -->
+		<p class="subFooter">Come to the Nexuiz IRC channel: <a href="irc://irc.quakenet.org/nexuiz" title="#nexuiz on irc.quakenet.org">#nexuiz on irc.quakenet.org</a> or the team channel: <a href="irc://irc.anynet.org/alientrap" title="#alientrap on irc.anynet.org">#alientrap on irc.anynet.org</a></p>
+
+		<div id="valid">
+			<a id="valid_css" href="http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Falientrap.org%2Fnexuiz%2Findex.php">&nbsp;</a>
+			<a id="valid_xhtml" href="http://validator.w3.org/check?uri=http%3A%2F%2Falientrap.org%2Fnexuiz%2Findex.php">&nbsp;</a>
+			<p>&copy; 2004-2008 Nexuiz.com</p>
+		</div>
+	</div><!-- end right -->
+</div>
+</body>
+</html>

Added: branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.merge-left.r0
===================================================================

Added: branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.merge-right.r5119
===================================================================
--- branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.merge-right.r5119	                        (rev 0)
+++ branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.merge-right.r5119	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,183 @@
+#--- AFT (Almost Free Text) source file for Nexuiz Basics Guide
+#--- WARNING: ALWAYS RUN AFT TWICE! (otherwise the toc is missing/not up to date)
+#--- use AFT v5.096 or later (http://www.maplefish.com/todd/aft.html)
+
+*Title: Nexuiz Basics explained
+			http://nexuiz.com	http://alientrap.org
+
+------
+
+This file attempts to cover all of the fundamental principles and techniques for playing Nexuiz in particular, though it will largely apply to any first person shooter.
+
+*_Getting Comfortable_
+
+The most important thing when playing is 'to feel good'.  You need to be comfortable with how the game feels, and how it works, in order to play well.  This means being able to concentrate on the game play itself, without being disturbed by in-game distractions or by various sorts of handicaps.  This guide provides a systematic but very brief introduction to Nexuiz, with a view to increasing your effectiveness in-game, straight off the mark.
+
+
+**''Reducing Clutter''
+Especially when playing against others the first thing you need to ensure is that you can hear and see well.  Although music can enhance the feeling of a game by complementing the action, it can also obscure the sounds of other events - such as players shooting at you or picking up items nearby.  For this reason, many people turn off music while playing (set ''music'' in the ''settings/misc'' menu to ''off'').  You can also improve your ability to hear in-game events by simply using headphones instead of speakers.  Headphones muffle external noises around you, and also make it easier to hear faint noises in the game.  Because of this, you can hear others more easily, and thus react better.
+
+Similarly, eye-candy can make the game very appealing to look at, but can also act to obscure in-game events - the flares and smoke caused by rockets, for example, can make spotting your target much more difficult in the heat of battle.  Eye-candy also incurs performance hits on slower machines, which can make playing difficult.  Bloom might be nice to look at, but it is often just distracting when playing.  So again, many players disable some of the visual effects, so as to make the game easier to play in this regard (things to turn off include ''Bloom'', ''HDR'', ''Gloss'', ''Coronas'' and all the Realtime stuff in the ''settings/effects'' menu).  Although it may seem as if removing visual (and audio) effects will make the game less immersive by reducing the mood which the game designers were aiming for, in the long run it will make it much more rewarding and fun to play.  Darkness and shadows can create creepiness and realism, but you simply don't notice these things in a fast-paced multi player battle.  On the contrary, they make it harder to spot opponents or items and end up being frustrating.  Better to play the game in campaign mode with full visual effects to see how pretty it can be, and then, once you're over the initial craving for eye-candy, start tuning the game to be more functional in multi player.
+
+In this regard, one of the first things to adjust is the brightness and contrast (in the ''settings/video'' menu), so that shadows are not too impenetrable, and areas of alternating light and dark don't create difficulties in tracking opponents.  It's also worthwhile to try increasing you field of view (fov) - the amount you can see to the left and right.  By default, Nexuiz uses a fov of 90 degrees.  Increasing this improves your peripheral vision, but also makes everything seem smaller and thus reduces your ability to aim.  Decreasing it has the opposite effect.  Most gamers find a nice balance somewhere around fov 100-120.  You can find the fov control in the ''multiplayer/player setup'' menu.
+
+
+**''Controlling Your Character''
+Another thing which will greatly improve the game experience is to have comfortable movement controls, and to be able to get to the 'right gun' quickly.  In terms of movement, there's no need to stick to the game defaults for controlling your character.  Some people like to jump with space; some with mouse2.  Some like inverted mouse, and some can't use it.  Some use WASD for forward, left, back, right; some use ESDF or even 8456.  Use whatever you feel good with.
+
+In terms of weapon controls, try to get out of the habit of using the mouse's scroll-wheel to select which weapon to use.  This is a very slow and unreliable way of changing weapons, and in a fast-paced deathmatch your ability to correctly and immediately pick the most appropriate gun for the job is critical.  For example, if you hit someone pretty hard with the rocket launcher, and he has taken a lot of damage, you should switch to the shotgun or machine gun to finish him off, rather than worrying about whether you'll be able to hit him again with the slower and more inaccurate rockets.  Using the mouse wheel to switch may well take too long, and you also have to keep an eye on the weapons as they scroll by (unless your mouse has very good scroll feedback, ''and'' you've memorized the order of weapons, ''and'' you know which weapons you currently have, ''and'' you can figure out on the fly how many scrolls you need to get to the shotgun!).  On the other hand, if you have configured, say, the G key to switch to the shotgun, you can easily switch quickly and reliably, and finish him off in an instant.  For this reason, it's extremely helpful to configure weapon-selection keys around the ones you use for moving.  It's also obviously handy to use a similar layout in all the games you play.  For example, you can have G as the key for 'all shotgun like weapons' in each game.  All 'rocket like' weapons can go on R, and all 'sniper guns' on T, and so on - or whatever suits you!  This way you do not need to think about which key you need for which gun - just what you want to do.  You can change those ''key bindings'' in the ''settings/input'' menu.
+
+Finally, adjust your mouse sensitivity.  Sensitivity controls how much (or fast) your view turns when moving the mouse.  You can make it high sensitivity, which means you need to move the mouse only a short distance to turn fast or far; or you can make it low sensitivity, so that you turn slowly and have to move the mouse further.  A high sensitivity reduces the need to lift and reposition the mouse, and it will help you when doing lots of turns.  A low sensitivity will help you to aim more easily, and also make your aim more steady if you are nervous and have slightly shaky hands.  For the most part, the level of sensitivity you choose depends on how you aim.  This is a very personal thing and you will have to see what you like - again, select the setting which is most comfortable for you.  However, a good rule of thumb when you're learning to play is to configure your sensitivity a little lower than you're comfortable with, and try to get used to it.  After a few hours you will probably find that you have acclimatized, and are aiming better than before.  Keep reducing the sensitivity below your comfort zone until you are happy with your aim, or until it definitely becomes too low for you.  You'd be surprised the difference this makes.  Also consider that you can either use your wrist or your arm to aim - and you'll probably do one or the other more naturally.  Using the wrist is more exact, and thus high sensitivity is found more often among wrist aimers; using the arm involves more mouse movements, and so low sensitivity is common to arm aimers.  As a rule of thumb your sensitivity should be set so that you can comfortably perform a 180 degree turn with one sweep of your mouse.  The sensitivity setting can be found in the ''settings/input'' menu.
+
+
+*_Playing_
+
+**''Identifying Your Opponent''
+Depending on the game mode played you either fight for yourself against all others (sometimes there is just one other player to play against) or its your team vs the other team(s).  Pay attention to the welcoming screen it will tell you what gamemode is being played.  You can find an explaination of those at the end of this guide.
+If its a team match you might have to choose a team or you could be automatically assigned to a team when you join the match.  If you have to choose yourself its best to just use the |Auto| button!  It will assign you to the smallest team or if the teams have the same size to the one that has less points.  Only use the specific team buttons if you REALLY want to join that team.  You can press F5 to bring up the team selection dialog or instead of pressing F5 and clicking on the |Auto| button you can also press F6, thats a shortcut for the |Auto| button.  If you are unsure about which team you are in look at your gun or at the scoreboard, which by default will be shown when you press ''TAB''.  The weapon color and the color behind your name is your team color.  Try to only hit the OTHER team(s) :).
+
+**''Hitting Your Opponent''
+Once you're comfortable with your controls and your mouse, you should already find it easier to hit your opponents.  And, if you've bound keys to each of the weapons, you can accurately pick which one to use.  But to know which weapon to select, and to get the most out of it, you must understand the advantages and the use of each.
+
+When you use direct-hit (hitscan) weapons like the shotgun, machine gun, or nex, you 'just' have to directly aim with the crosshair and hit fire.  Obviously this can be much harder than it sounds, particularly when both you and your opponent are moving.  Therefore, you should use geometry to your advantage, to reduce the relative movement between you as much as possible, so that you have as much time as possible to aim.  When someone is moving from one side of your view to the other it is harder to aim at him than when is moving towards or away from you.  In the latter case he will hardly change his position relative to yours, and this gives you more time to aim at him.  In the former, his position is changing a lot, and so you have to react to how he moves very quickly and accurately to ensure a good shot.  The same principle applies when your opponent uses a jump pad.  He will prescribe a trajectory in the air, and at its highest point he will stop for a moment.  It is easier to aim at him at this point than when he is accelerating off the jump-pad.
+
+In addition to using geometry to your advantage, when you're moving relative to your opponent it is sometimes easier to ''not'' aim with the mouse, but rather to leave it steady at the right height, and use the strafe buttons to move your cross hair onto him.  If you have the advantage of his not seeing you, or being unable to shoot at you, or even if you simply have a health and armor advantage over him, you can even just aim at some point and wait for him to walk into your cross hair.  However, always bear in mind that people will generally move unpredictably so as to lessen their chances of being hit - so unless you're sure of where he's going, don't sacrifice your own movement advantage for a hit that might never come.
+
+Using projectiles weapons such as the mortar, rocket launcher, and electro, can be both easier and harder than using hitscan weapons.  You must still consider the same geometric factors, but you also have to keep in mind that your projectile will take some time to travel the distance between you and your opponent.  In that time they will continue moving!  So it's absolutely no use to aim directly at them.  It will take some experience with each weapon, and with getting used to how people move, but you should eventually develop a good instinct for where your opponent will be at the time when your projectile will land (and where the projectile itself will land), and thus be able to 'lead' him when you aim.  If your target moves to the right, aim further to the right and press fire.  Also consider that almost all projectiles will explode when they hit something hard, and that explosion will also cause damage to players nearby (splash damage).  You can use splash damage to your advantage, so that rather than trying to predict the exact spot at which to aim your projectile (which is very difficult), you can aim at the general area of floor or wall where you expect your opponent to be and let the splash damage do its work.  Along these lines, you'll find that it's much easier to aim at his feet and use the splash damage from the explosion on the floor than it is to hit him directly.
+
+Also bear in mind that people try to evade projectiles; and it is even comparatively easy to do this at distance.  If you fire to their left they will see it coming, and change direction to the right.  You can use this to your advantage by boxing them in with explosions - just fire another one to their right.  If you correctly place both projectiles, they will be unable to evade the splash damage from one of them.  Either they will avoid the first and be hit by the second, or they will backtrack to avoid the second and be hit by the first.  Or, even better, they'll not see the first one at all and be hit directly.
+
+A special feature in Nexuiz is that walls do not block explosions, so you can't hide behind them.  Similarly, if you know that someone is on the floor above you, shoot at the ceiling, and with a little luck the explosion might hurt him.  This ''can'' be changed by a server admin, but the default allows for more fun; and it's also nice to see how good people are at guessing where their opponents are.
+
+**''Controlling The Map''
+To put up a good fight you need to survive an attack, so make sure you pick up health and armor lying around the map.  This will also ensure that your opponents are deprived of these, so it will be easier for you to frag them.  To do this effectively you will have to learn where those items are, and try to get them before someone else does.  Armor and health items reappear 30 seconds after they were taken.  You can use this to your advantage by timing your pickups - look at the scoreboard to see the current map time, and then use this to predict when items will respawn.  This way, you can develop patterns on the map so that you're always around when an item respawns.  However, be careful - patterns make you predictable, and your opponent can also use the timer!  If you keep grabbing the armor or health, he will use this against you by lying an ambush.
+
+The health and armor system in Nexuiz is different to other games in that it tends toward an equilibrium of 100 health and 100 armor.  You can collect as much health and armor as you like, but it will degenerate toward these values.  The more health and armor you have, the faster it will degenerate - but when you pick them up the degeneration stops momentarily.  Because of this, you can't just load up on health and armor and head off into battle - you need to constantly replenish to remain strong.  On the converse, though, when your health is below 100 it will slowly ''re''generate (armor will not).  The lower it is, the faster it will replenish.  This regeneration stops for a few seconds if you are hurt, so just running away after a fight is not usually enough to restore you to useful levels again - you have to wait a while to regain your full health, and so picking up health after a fight is still important.
+
+In regard to the previous point of working a map to control items, and also shooting at where your opponent will be, it's important to try to predict where on the map your opponents are even when you can't directly see them.  First, try to listen for them; secondly, learn the maps so you know the most useful routes and the most popular areas to which people tend to gravitate.  It gives you a marked advantage to be able to say, "I saw or heard someone pick up an armor, so they must be at such-and-such location, and from there he can only go to this place or that place." Just shooting something to the likely places your opponent will be - a rocket or a grenade for example - can often result in either a surprise kill, or in surprise damage which you can then follow up.  Don't underestimate how likely a well-aimed educated guess is to hit someone.  Maybe he'll walk into it - rockets can be hard to see coming, and grenades lying on the floor or spammed into a small space can be really hard to avoid.  Once you've hurt him you'll hear the tink of your damage, and you will also know for sure were he is and can finish him off.  You can pretty much 'lock down' a map by picking up items, and making sure others have a hard time getting around which will also mess with their concentration.
+
+**''Using Weapons Effectively''
+Among the items you can pick up are the weapons.  Some of them are very unique to Nexuiz, and to get the most out of them you need to be familiar with every aspect of how they work - including the rate of fire, the damage per hit, the spread and speed of the payload, and so on.
+
+Almost all weapons in Nexuiz have two firing modes, so make sure you know both.  You normally (depending on game-mode) start equipped with two weapons: the laser and the shotgun, so we'll start with these.  You can bind these weapons to a key at the ''settings/input'' menu or in the console using the command ''bind key "impulse _n_"'', where n is the number of the weapon, below.
+
+	*The laser is not often used as a weapon, as it does not do much damage - but it's a useful tool to move around the map, because it has a significant push.  The 'explosion' from its projectile will push you and other players around a lot.  The trick to using it to move around is to use this push to gain speed or to do huge jumps.  For an easy start, take the laser, look down at the floor, and press fire.  It will push you high into the air.  If you press jump and fire at the same time, you will get even higher - but it depends on the timing, and, for more advanced jumps, also on the angle you fire at the floor, as well as how fast and in which direction you move.  Play around with it, and watch others, and you will learn a very useful skill in Nexuiz.  The secondary fire mode of the laser switches back to the last used weapon.  The laser does not use up any ammo.
+
+	*The grappling hook is an other movement tool.  The primary mode attaches itself to all sorts of solid objects will pull you there to move through the map like spider man.  You can get very fast that way or reach spots you would not get to by other means.  The secondary firemode drops a small gravity bomb that will affect enemy players and also releases a lot of smoke which will make you harder to see and hit.  The gravity bomb uses cell ammo.
+
+	*The port-o-launch is the perfection of movement.  The grenade it launches creates two portals.  On first impact it creates the entrace portal, on secondary impact the exit portal.  If you enter the first one you (or others and also projectiles!!) will be teleported to the secondary portal.  As the first portal will teleport everything it can't be hit but the second portal is quite fragile and thanks to the used wormhole technology will take the other poral along if it lost too much energy.  The wormhole is also the reason why the portals energy decays after some time.  You can replentish the energy by simply teleporting something thru it.
+
+	*The shotgun is very similar to that of other games.  It shoots several hitscan pellets with a high spread, so it does very high damage at close range, but becomes very inaccurate at distance.  It is also very useful to knock opponents out after you already hit them hard with a rocket or other projectile, and subsequently closed to a distance where these are no longer as useful, because it's hard to miss with at close range.  The primary fire mode fires once with a short reload, while the secondary fire mode shoots three very quick shots, but with a long reload afterwards.  Starting with Nexuiz 2.3 the secondary firemode will also have a higher spread so the primary is useful for a longer distance then the secondary firemode.  The shotgun uses pellet ammo which is not shared with any other weapons.
+
+	*The machinegun is also quite self-explanatory.  It shoots hitscan bullets (do not get fooled by the eyecandy from the tracers, the mg IS HITSCAN it hits the moment you press fire were you aim) at a high rate of fire, and can do significant damage.  The primary fire mode has a high spread and is thus quite inaccurate - but it fires very fast and deals more damage per second than any other weapon.  It is therefore devastating when used at close quarters.  One of the machinegun's unique features is that the first bullet after pressing fire does more damage than the rest - keep this in mind when using it.  The secondary fire mode is much slower, but more accurate, and does even more damage per bullet, the same as the primary modes ''first'' bullets.  It is therefore very useful as an improvised sniper weapon for long range kills.  Like the shotgun, it is an excellent finishing weapon, but its effective use relies heavily on a good, steady aim.  The machinegun uses bullet ammo which is not shared with any other weapons.
+
+	*The HLAC (heavy laser assault cannon) is a similar gun but fires highly accelerated laser bolts at an insane refire rate.  The bolds explode on impact and for some extra damage the secondary firemode files several of them at once.  This is only gun that has reduced spread when crouching!  Beware of your cell ammo, this baby eats it like crazy.
+
+	*The mortar is a grenade-launcher on steroids.  Both firing modes shoot a fast-moving projectile grenade which is influenced by gravity, and thus moves in a trajectory.  The primary fire mode shoots grenades that explode on impact while the secondary fire mode shoots grenades which will bounce off objects, and either explode on contact with an other player, or after a few seconds if they are not triggered.  The grenades' arc makes them harder to aim, but also hard to dodge.  Since they deal quite high damage, with an excellent rate of fire, the mortar is a solid all-round weapon once you've got the hang of aiming it.  The mortar uses rocket ammo which is shared with the rocket launcher and the hagar.
+
+	*The electro is a rather underestimated gun.  Contrary to its name, it does not deal electricity damage, but rather fires plasma - understanding this will help you to use it well.  The primary fire mode shoots a plasma projectile which does quite high damage on impact.  It also explodes rather like a rocket or grenade, and is quite comparable in use to the Quake 2 rocket launcher.  The secondary fire mode spits out balls of contained plasma that will bounce like grenades, and deal similarly high damage.  Those blobs have a short trajectory and so do not get very far - but they're useful for blocking a way, or for spamming around your opponent so that he is hedged in by them.  If you use the primary fire mode to hit these contained plasma blobs, they will explode more violently then without, causing a lot of damage.  This combo is very effective in corridors and small rooms.  The electro uses cell ammo which is shared with the crylink and the nex.
+
+	*The crylink is comparable to the shotgun, except that it is not hitscan but shoots plasma projectiles; so it's harder to aim but also does more damage.  The primary fire mode shoots several projectiles at a high rate of fire and narrow spread, while the secondary fire mode has a wider, horizontal spread and lower rate of fire.  The crylink uses cell ammo which is shared with the electro and the nex.
+
+	*The nex is a powerful sniper weapon.  Its primary fire mode fires a hitscan antimatter lance for significant damage, but requires a very precise aim, and has a relatively long reload time.  The secondary fire mode activates zoom.  The nex uses cell ammo which is shared with the crylink and the electro.
+
+	*The minsta nex is the snipers wet dream.  Simiar to the nex but MUCH more powerful.  One hit, one kill, no kidding!  The secondary firemode is identical to the lasers primary shot.  Back in the glory days this gun was used to train steady aim and fast movement.
+
+	*The hagar can be compared to the plasma gun from Quake3.  It has a very high rate of fire, with moderate damage, and some splash damage.  The primary fire mode shoots small projectile missiles at high speed and an extraordinary rate of fire.  The secondary fire mode shoots the same missiles, but at a slower speed and rate of fire, and without the instant trigger.  This means that they will bounce once when hitting a floor or wall, giving you the opportunity to fire around corners, or double your chances to hit someone by spamming an area.  The hagar uses rocket ammo which is shared with the mortar and the rocket launcher.
+
+	*The rocket launcher is a little different from that of other games, in that the rockets move relatively slowly.  The primary fire mode shoots a slow-moving, high-damage rocket projectile at a medium rate of fire.  The secondary fire mode will explode all your rockets at once.  This means that you don't need to hit your opponent directly - just get the rocket ''near'' him, and use the secondary fire to cause splash damage which will badly hurt him.  The rocket launcher uses rocket ammo which is shared with the mortar and the hagar.
+
+	*The t.a.g. seeker is a unique weapon system.  The primary fire mode launcher a small tagging device.  If it hits someone it will automatically release several target seeking rockets that will follow the tagged one for quite a while.  Its fun watching them run!  The secondary firemode launches small rockets that explode after a few meters and thus create a sort of explosion shield that will severly damage everyone in its radius and also stops in comming tag-rockets.
+
+Now that you know all the guns you also have to understand that in Nexuiz each projectile can be set off by explostions.  So its possible to blow up the rocket an opponent is shooting at you.  So a good strategy against someone with a rocketlauncher is to spam him with the hagar.  Chances are high you make his own rocket explode and hurt him!  This is also the primary way to make sure the t.a.g. seekers rockets do not hit you!
+Also not that some objects are affected / pushed by explosion like the keys in Keyhunt or the flags in Capture the Flag.
+
+**''Using Jumping Effectively''
+You will need to be able to get around the map quickly and efficiently if you are to hunt down your opponents, and collect items well.  As already mentioned, the laser is useful for jumping and gaining speed - but you can use all explosive weapons for a similar effect.  Other weapons, however, will cause more damage to your health, and not all offer the same strong push as the laser.  The rocket launcher will push you twice as far, but you will also take ''lots'' more damage.  The mortar has the same push as the laser, but its explosion is bigger so the timing and the right angle are less of an issue.  For this reason, the mortar is better for a beginner to learn these sorts of jumps.
+
+You should also know that you gain a bit extra speed moving forward simply by jumping.  When you walk, there is friction from the floor which keeps you at a constant speed.  If you jump as you walk, the amount you touch the floor is considerably less, and so the friction does not slow you down as much.  The longer you jump, the faster you go.  The most simple way to do this is to run forward, jump, and then while you are in the air release and repress/hold the jump button.  Your character will jump again the moment you land, without you having to worry about timing hitting the jump key.  Just repeat it a few times and you will notice you get faster and faster.  Unlike other games, Nexuiz does not need you to do this with strange key combinations or even with circular movements of the mouse - trying to do these will generally make you slower.  The only time that strafe-jumping (holding one of the strafe-keys while jumping) is useful is for the very first jump you make.  This can increase your jump speed a little - although not by much.
+
+Another useful thing to know about movement is that if you run and jump, you can release the forward key and instead press the left or right key, and turn your mouse in the same direction.  Doing so will turn or 'bend' your jump in this direction.  This is a useful trick to get around corners, to become less predictable, and also to avoid having to stop jumping to change direction.
+
+Both the speed jumping and the turning require a certain amount of practice, but they are easy to learn - especially compared to the trick jumping found in games like Quake 3 CPMA or Enemy Territory.  However, there is another trick in Nexuiz that does not need any practice at all: the ramp jump.  Just walk up a ramp or slope, and jump.  That jump will get you higher and further than if you had jumped on flat ground.  You can reach some interesting spots by doing this, and ramp jumps can be effectively combined with speed jumping to achieve some remarkable acrobatics which can be very useful for taking shortcuts and thus dominating a map effectively.  It takes some time to learn the good spots were these four tricks can be used to the maximum effectiveness - again, experiment yourself, watch others, and ask around in-game or on the Nexuiz forums (http://www.alientrap.org/forum).
+
+**''The Console''
+Games generally have a great many settings which can be changed or tweaked to give you the best advantage.  A lot of these aren't included in the game menus, which are limited by space and intended to give only a quick and compact view of the most important options.  For all the other variables, you have the in-game console.  This is like a command line inside the game.  You can enter commands to connect to a server, vote for options on the server, or to change variables like your name or various graphic effects.  You can access the console by pressing shift-escape, and you can close it again by pressing escape.  Lots of info is available on the official Nexuiz forum regarding the effective use of the console, but probably the most important in multiplayer is using it for voting, which will be briefly covered here:
+
+When you are on a server, open the console and type ''vhelp''.  This will display a short help regarding voting, and also tell you what can be voted on on the server.  By default, things you can vote for include the timelimit and the map played.  By entering ''vcall timelimit -1'' you call a vote to set the timelimit to -1, which means to end the current map and play the next one.  Or, as another example, ''vcall chmap aggressor'' will start a vote to switch to the map 'Aggressor'.  This vote is printed to every player on the server, who can then accept or reject it.  To accept a vote, press F1 (or type in ''vyes'' at the console); to reject it, press F2 (or enter ''vno'' at the console).  If more then 50% of the players currently on the server accept a vote, the vote is passed and whichever setting has been polled will change.  And in this example the current map will end and the next map will begin.  It does not hurt to tell people to press F1/F2, as some still do not know about it.
+
+**''Game Types''
+Nexuiz supports several different game modes and some smaller changes called mutators.  Both are displayed when you connect to a server.
+
+**''Modes''
+	*Deathmatch (DM) is the most simple game mode.  It is a free-for-all fragfest with every man for himself.  All items are free to grab, and the player with the most frags will win (either by hitting the frag limit, or when the time limit expires).
+
+	*Team Deathmatch (TDM) is similar, but pits teams of players against each other.  Only shoot players with a different color than yourself.  Look at your gun to see your color.  The team with the most frags wins.
+
+	*Capture The Flag (CTF) is a team match in which you have two teams, two bases, and two flags.  You have to get into the enemy base, grab their flag, and bring it back to your own flag to score.  Scoring gives the most points, normal fragging and returning the flag gives some points.  The team with the most points wins.  CTF is a surprisingly complicated game mode, so see the comprehensive CTF guide in the Nexuiz forum for more information ({+http://alientrap.org/forum/viewtopic.php?t=849+}).
+
+	*Minstagib is an improved instagib.  You can pick up lives, so you can survive two shots, and you can pick up an item to become almost invisible.  This is were the minstanex got its name from.
+
+	*Runematch places five runes into the map in addition to the normal items.  A rune gives you a bonus but also a curse - but you only get points for fragging if you carry a rune, so make sure you have one.  You also get points for fragging a rune carrier, and for just holding a rune (but fragging is the quicker way to gain points).  The player with the most points wins.
+
+	*Domination (DOM) is also a team mode.  Throughout the map are domination points.  Touch them and your team will own that point.  You get points for each second you own such a domination point.  Touch points the other team holds to turn it into your own.  The team with the most points wins.
+
+	*Last Man Standing (LMS) puts all players into a map without any items.  Each player has several lives, and starts with all weapons when he spawns.  Each time you are fragged you lose a life.  The winner is the last surviving player.
+
+	*Arena mode is similar to deathmatch, but it only puts two players into a map, with the others waiting in a queue.  When one of both is fragged the next one in the queue will play against the winner.
+
+	*Keyhunt (KH) is a new team mode in Nexuiz 2.3.  Each team has one key and the goal is the collect all keys.  The team with the most points wins.  You get small points for fragging, fragging a keycarrier and picking up a key but you should go for the BIG points you get when ''one team has all the keys and all the keycarriers meet''.  Of cource it also works when ONE player gets all the keys for his team but this is ''much'' harder.
+
+	*Onslaught (ONS) is a new team mode in Nexuiz 2.4.  Each team has a powergenerator and the goal is to destroy the enemies generator.  Each generator and all except one checkpoint in the map are protected by an forcefield which is powered by nearby checkpoint.  Your team has to start at the one unprotected checkpoint and work your way up to the enemies generator.  Find the perfect balance between attacking the enemies checkpoints/generator and protecting your own.
+
+	*Assault (AS) is a similar team mode and also new in Nexuiz 2.4.  There are objects in the map, only one is active at a time and you have to complete that one to unlock the next objective.  One round ends if the last objective is completed or timelimit is hit.  After the round the teams swap the attackers/defender roles.
+
+	*Race is a new mode for all the quick people in Nexuiz 2.5.  The goal is to race through the level as fast as possible.  A timer is set off at the startline and stopped at the endline.  Checkpoints in between give you an update on your time and compared to the top player.  There are three different race modes:
+
+		*Qualifying mode saves each player's fastest lap time and the player with the fastest time wins. When you die, you respawn in front of the startline.  Players can't interact in this mode. They walk through eachother and can't shoot at the others.
+
+		*Race mode is won by the player who makes a certain count of laps first.  Players can interact and kill eachother.  When killed, you respawn in front of the last checkpoint you went through.
+
+		*Mixed mode has the players first compete in qualifying mode for a certain time, or until they are all ready, then the game switches to race mode.  The fastest player in qualifying mode is the first to spawn in race mode and so on. 
+
+**''Mutators''
+	*The hook mutator will add an off-hand hook which can be used like the grappling hook but can be used while you whield other guns.  Fire the hook at a ceiling or wall using the key configured through the menu or bound using ''bind "key" "+hook"''.  Hold down this key while the hook is attached to be pulled toward it.
+
+	*Laser-guided rockets will give you a laser dot on the rocket launcher which you can use to guide the most recently fired rocket.
+
+	*Vampire will add whatever damage you do to your opponent to your own health.
+
+	*Nixnex will remove normal guns from the map and give all players the same gun.  That gun is changed after a while.
+
+	*Footsteps will add footstep sounds to your movements.
+
+	*Weapon Arena equips everyone with the ''arena gun'' choosen by the server admin.
+
+There are some more of these mutators, but those are the most important ones.
+
+A list of useful links:
+	*The official Nexuiz forum: {+http://alientrap.org/forum+}
+
+	*The semiofficial Nexuiz wiki: {+http://alientrap.org/wiki+}
+
+	*The official Nexuiz ladder: {+http://planetnexuiz.com/ladder+}
+
+	*The Official Nexuiz tournaments: {+http://planetnexuiz.com/tourney+}
+
+	*General Nexuiz Tips and Tricks: {+http://alientrap.org/forum/viewtopic.php?t=90+}
+
+	*How to get more help via IRC: {+http://alientrap.org/forum/viewtopic.php?t=497+}
+
+	*CTF guide and ctf MAPS guide: {+http://alientrap.org/forum/viewtopic.php?t=849+}
+
+	*Team communication explained: {+http://alientrap.org/forum/viewtopic.php?t=555+}
+
+	*A few useful jumps: http://esteel.planetnexuiz.de/nexuiz/demos/jumps.pk3  (copy the file into Nexuiz/data and you should find the demos in the demos menu)
+
+	*FPS settings: {+http://alientrap.org/forum/viewtopic.php?t=1628+}
+
+	*A list of all available variables in Nexuiz: {+http://alientrap.org/wiki/pmwiki.php?n=Main.GameTweaks+}
+
+	*A list of all available commands in Nexuiz: {+http://alientrap.org/wiki/pmwiki.php?n=Main.ConsoleCommands+}
+
+	*Some info about generic strategy in games: {+http://alientrap.org/forum/viewtopic.php?t=3496+}

Added: branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.working
===================================================================
--- branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.working	                        (rev 0)
+++ branches/nexuiz-2.0/Docs/htmlfiles/basics.aft.working	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,134 @@
+#--- AFT (Almost Free Text) source file for Nexuiz Basics Guide
+#--- WARNING: ALWAYS RUN AFT TWICE! (otherwise the toc is missing/not up to date)
+#--- use AFT v5.096 or later (http://www.maplefish.com/todd/aft.html)
+
+*Title: Nexuiz Basics explained
+			http://nexuiz.com	http://alientrap.org
+
+------
+
+This file attempts to cover all of the fundamental principles and techniques for playing Nexuiz in particular, though it will largely apply to any first person shooter.
+
+*_Getting Comfortable_
+
+The most important thing when playing is 'to feel good'.  You need to be comfortable with how the game feels, and how it works, in order to play well.  This means being able to concentrate on the game play itself, without being disturbed by in-game distractions or by various sorts of handicaps.  This guide provides a systematic but very brief introduction to Nexuiz, with a view to increasing your effectiveness in-game, straight off the mark.
+
+
+**''Reducing Clutter''
+Especially when playing against others the first thing you need to ensure is that you can hear and see well.  Although music can enhance the feeling of a game by complementing the action, it can also obscure the sounds of other events - such as players shooting at you or picking up items nearby.  For this reason, many people turn off music while playing (set ''music'' in the ''settings/misc'' menu to ''off'').  You can also improve your ability to hear in-game events by simply using headphones instead of speakers.  Headphones muffle external noises around you, and also make it easier to hear faint noises in the game.  Because of this, you can hear others more easily, and thus react better.
+
+Similarly, eye-candy can make the game very appealing to look at, but can also act to obscure in-game events - the flares and smoke caused by rockets, for example, can make spotting your target much more difficult in the heat of battle.  Eye-candy also incurs performance hits on slower machines, which can make playing difficult.  Bloom might be nice to look at, but it is often just distracting when playing.  So again, many players disable some of the visual effects, so as to make the game easier to play in this regard (things to turn off include ''Bloom'', ''HDR'', ''Gloss'', ''Coronas'' and all the Realtime stuff in the ''settings/effects'' menu).  Although it may seem as if removing visual (and audio) effects will make the game less immersive by reducing the mood which the game designers were aiming for, in the long run it will make it much more rewarding and fun to play.  Darkness and shadows can create creepiness and realism, but you simply don't notice these things in a fast-paced multi player battle.  On the contrary, they make it harder to spot opponents or items and end up being frustrating.  Better to play the game in campaign mode with full visual effects to see how pretty it can be, and then, once you're over the initial craving for eye-candy, start tuning the game to be more functional in multi player.
+
+In this regard, one of the first things to adjust is the brightness and contrast (in the ''settings/video'' menu), so that shadows are not too impenetrable, and areas of alternating light and dark don't create difficulties in tracking opponents.  It's also worthwhile to try increasing you field of view (fov) - the amount you can see to the left and right.  By default, Nexuiz uses a fov of 90 degrees.  Increasing this improves your peripheral vision, but also makes everything seem smaller and thus reduces your ability to aim.  Decreasing it has the opposite effect.  Most gamers find a nice balance somewhere around fov 100-120.  You can find the fov control in the ''multiplayer/player setup'' menu.
+
+
+**''Controlling Your Character''
+Another thing which will greatly improve the game experience is to have comfortable movement controls, and to be able to get to the 'right gun' quickly.  In terms of movement, there's no need to stick to the game defaults for controlling your character.  Some people like to jump with space; some with mouse2.  Some like inverted mouse, and some can't use it.  Some use WASD for forward, left, back, right; some use ESDF or even 8456.  Use whatever you feel good with.
+
+In terms of weapon controls, try to get out of the habit of using the mouse's scroll-wheel to select which weapon to use.  This is a very slow and unreliable way of changing weapons, and in a fast-paced deathmatch your ability to correctly and immediately pick the most appropriate gun for the job is critical.  For example, if you hit someone pretty hard with the rocket launcher, and he has taken a lot of damage, you should switch to the shotgun or machine gun to finish him off, rather than worrying about whether you'll be able to hit him again with the slower and more inaccurate rockets.  Using the mouse wheel to switch may well take too long, and you also have to keep an eye on the weapons as they scroll by (unless your mouse has very good scroll feedback, ''and'' you've memorized the order of weapons, ''and'' you know which weapons you currently have, ''and'' you can figure out on the fly how many scrolls you need to get to the shotgun!).  On the other hand, if you have configured, say, the G key to switch to the shotgun, you can easily switch quickly and reliably, and finish him off in an instant.  For this reason, it's extremely helpful to configure weapon-selection keys around the ones you use for moving.  It's also obviously handy to use a similar layout in all the games you play.  For example, you can have G as the key for 'all shotgun like weapons' in each game.  All 'rocket like' weapons can go on R, and all 'sniper guns' on T, and so on - or whatever suits you!  This way you do not need to think about which key you need for which gun - just what you want to do.  You can change those ''key bindings'' in the ''settings/input'' menu.
+
+Finally, adjust your mouse sensitivity.  Sensitivity controls how much (or fast) your view turns when moving the mouse.  You can make it high sensitivity, which means you need to move the mouse only a short distance to turn fast or far; or you can make it low sensitivity, so that you turn slowly and have to move the mouse further.  A high sensitivity reduces the need to lift and reposition the mouse, and it will help you when doing lots of turns.  A low sensitivity will help you to aim more easily, and also make your aim more steady if you are nervous and have slightly shaky hands.  For the most part, the level of sensitivity you choose depends on how you aim.  This is a very personal thing and you will have to see what you like - again, select the setting which is most comfortable for you.  However, a good rule of thumb when you're learning to play is to configure your sensitivity a little lower than you're comfortable with, and try to get used to it.  After a few hours you will probably find that you have acclimatized, and are aiming better than before.  Keep reducing the sensitivity below your comfort zone until you are happy with your aim, or until it definitely becomes too low for you.  You'd be surprised the difference this makes.  Also consider that you can either use your wrist or your arm to aim - and you'll probably do one or the other more naturally.  Using the wrist is more exact, and thus high sensitivity is found more often among wrist aimers; using the arm involves more mouse movements, and so low sensitivity is common to arm aimers.  As a rule of thumb your sensitivity should be set so that you can comfortably perform a 180 degree turn with one sweep of your mouse.  The sensitivity setting can be found in the ''settings/input'' menu.
+
+
+*_Playing_
+
+**''Identifying Your Opponent''
+Depending on the game mode played you either fight for yourself against all others (sometimes there is just one other player to play against) or its your team vs the other team(s).  Pay attention to the welcoming screen it will tell you what gamemode is being played.  You can find an explaination of those at the end of this guide.
+If its a team match you might have to choose a team or you could be automatically assigned to a team when you join the match.  If you have to choose yourself its best to just use the |Auto| button!  It will assign you to the smallest team or if the teams have the same size to the one that has less points.  Only use the specific team buttons if you REALLY want to join that team.  You can press F5 to bring up the team selection dialog or instead of pressing F5 and clicking on the |Auto| button you can also press F6, thats a shortcut for the |Auto| button.  If you are unsure about which team you are in look at your gun or at the scoreboard, which by default will be shown when you press ''TAB''.  The weapon color and the color behind your name is your team color.  Try to only hit the OTHER team(s) :).
+
+**''Hitting Your Opponent''
+Once you're comfortable with your controls and your mouse, you should already find it easier to hit your opponents.  And, if you've bound keys to each of the weapons, you can accurately pick which one to use.  But to know which weapon to select, and to get the most out of it, you must understand the advantages and the use of each.
+
+When you use direct-hit (hitscan) weapons like the shotgun, machine gun, or nex, you 'just' have to directly aim with the crosshair and hit fire.  Obviously this can be much harder than it sounds, particularly when both you and your opponent are moving.  Therefore, you should use geometry to your advantage, to reduce the relative movement between you as much as possible, so that you have as much time as possible to aim.  When someone is moving from one side of your view to the other it is harder to aim at him than when is moving towards or away from you.  In the latter case he will hardly change his position relative to yours, and this gives you more time to aim at him.  In the former, his position is changing a lot, and so you have to react to how he moves very quickly and accurately to ensure a good shot.  The same principle applies when your opponent uses a jump pad.  He will prescribe a trajectory in the air, and at its highest point he will stop for a moment.  It is easier to aim at him at this point than when he is accelerating off the jump-pad.
+
+In addition to using geometry to your advantage, when you're moving relative to your opponent it is sometimes easier to ''not'' aim with the mouse, but rather to leave it steady at the right height, and use the strafe buttons to move your cross hair onto him.  If you have the advantage of his not seeing you, or being unable to shoot at you, or even if you simply have a health and armor advantage over him, you can even just aim at some point and wait for him to walk into your cross hair.  However, always bear in mind that people will generally move unpredictably so as to lessen their chances of being hit - so unless you're sure of where he's going, don't sacrifice your own movement advantage for a hit that might never come.
+
+Using projectiles weapons such as the mortar, rocket launcher, and electro, can be both easier and harder than using hitscan weapons.  You must still consider the same geometric factors, but you also have to keep in mind that your projectile will take some time to travel the distance between you and your opponent.  In that time they will continue moving!  So it's absolutely no use to aim directly at them.  It will take some experience with each weapon, and with getting used to how people move, but you should eventually develop a good instinct for where your opponent will be at the time when your projectile will land (and where the projectile itself will land), and thus be able to 'lead' him when you aim.  If your target moves to the right, aim further to the right and press fire.  Also consider that almost all projectiles will explode when they hit something hard, and that explosion will also cause damage to players nearby (splash damage).  You can use splash damage to your advantage, so that rather than trying to predict the exact spot at which to aim your projectile (which is very difficult), you can aim at the general area of floor or wall where you expect your opponent to be and let the splash damage do its work.  Along these lines, you'll find that it's much easier to aim at his feet and use the splash damage from the explosion on the floor than it is to hit him directly.
+
+Also bear in mind that people try to evade projectiles; and it is even comparatively easy to do this at distance.  If you fire to their left they will see it coming, and change direction to the right.  You can use this to your advantage by boxing them in with explosions - just fire another one to their right.  If you correctly place both projectiles, they will be unable to evade the splash damage from one of them.  Either they will avoid the first and be hit by the second, or they will backtrack to avoid the second and be hit by the first.  Or, even better, they'll not see the first one at all and be hit directly.
+
+A special feature in Nexuiz is that walls do not block explosions, so you can't hide behind them.  Similarly, if you know that someone is on the floor above you, shoot at the ceiling, and with a little luck the explosion might hurt him.  This ''can'' be changed by a server admin, but the default allows for more fun; and it's also nice to see how good people are at guessing where their opponents are.
+
+**''Controlling The Map''
+To put up a good fight you need to survive an attack, so make sure you pick up health and armor lying around the map.  This will also ensure that your opponents are deprived of these, so it will be easier for you to frag them.  To do this effectively you will have to learn where those items are, and try to get them before someone else does.  Armor and health items reappear 30 seconds after they were taken.  You can use this to your advantage by timing your pickups - look at the scoreboard to see the current map time, and then use this to predict when items will respawn.  This way, you can develop patterns on the map so that you're always around when an item respawns.  However, be careful - patterns make you predictable, and your opponent can also use the timer!  If you keep grabbing the armor or health, he will use this against you by lying an ambush.
+
+The health and armor system in Nexuiz is different to other games in that it tends toward an equilibrium of 100 health and 100 armor.  You can collect as much health and armor as you like, but it will degenerate toward these values.  The more health and armor you have, the faster it will degenerate - but when you pick them up the degeneration stops momentarily.  Because of this, you can't just load up on health and armor and head off into battle - you need to constantly replenish to remain strong.  On the converse, though, when your health is below 100 it will slowly ''re''generate (armor will not).  The lower it is, the faster it will replenish.  This regeneration stops for a few seconds if you are hurt, so just running away after a fight is not usually enough to restore you to useful levels again - you have to wait a while to regain your full health, and so picking up health after a fight is still important.
+
+In regard to the previous point of working a map to control items, and also shooting at where your opponent will be, it's important to try to predict where on the map your opponents are even when you can't directly see them.  First, try to listen for them; secondly, learn the maps so you know the most useful routes and the most popular areas to which people tend to gravitate.  It gives you a marked advantage to be able to say, "I saw or heard someone pick up an armor, so they must be at such-and-such location, and from there he can only go to this place or that place." Just shooting something to the likely places your opponent will be - a rocket or a grenade for example - can often result in either a surprise kill, or in surprise damage which you can then follow up.  Don't underestimate how likely a well-aimed educated guess is to hit someone.  Maybe he'll walk into it - rockets can be hard to see coming, and grenades lying on the floor or spammed into a small space can be really hard to avoid.  Once you've hurt him you'll hear the tink of your damage, and you will also know for sure were he is and can finish him off.  You can pretty much 'lock down' a map by picking up items, and making sure others have a hard time getting around which will also mess with their concentration.
+
+**''Using Weapons Effectively''
+Among the items you can pick up are the weapons.  Some of them are very unique to Nexuiz, and to get the most out of them you need to be familiar with every aspect of how they work - including the rate of fire, the damage per hit, the spread and speed of the payload, and so on.
+
+Almost all weapons in Nexuiz have two firing modes, so make sure you know both.  You normally (depending on game-mode) start equipped with two weapons: the laser and the shotgun, so we'll start with these.  You can bind these weapons to a key at the ''settings/input'' menu or in the console using the command ''bind key "impulse _n_"'', where n is the number of the weapon, below.
+
+	*The laser is not often used as a weapon, as it does not do much damage - but it's a useful tool to move around the map, because it has a significant push.  The 'explosion' from its projectile will push you and other players around a lot.  The trick to using it to move around is to use this push to gain speed or to do huge jumps.  For an easy start, take the laser, look down at the floor, and press fire.  It will push you high into the air.  If you press jump and fire at the same time, you will get even higher - but it depends on the timing, and, for more advanced jumps, also on the angle you fire at the floor, as well as how fast and in which direction you move.  Play around with it, and watch others, and you will learn a very useful skill in Nexuiz.  The secondary fire mode of the laser switches back to the last used weapon.  The laser does not use up any ammo.
+
+	*The shotgun is very similar to that of other games.  It shoots several hitscan pellets with a high spread, so it does very high damage at close range, but becomes very inaccurate at distance.  It is also very useful to knock opponents out after you already hit them hard with a rocket or other projectile, and subsequently closed to a distance where these are no longer as useful, because it's hard to miss with at close range.  The primary fire mode fires once with a short reload, while the secondary fire mode shoots three very quick shots, but with a long reload afterwards.  Starting with Nexuiz 2.3 the secondary firemode will also have a higher spread so the primary is useful for a longer distance then the secondary firemode.  The shotgun uses pellet ammo which is not shared with any other weapons.
+
+	*The machinegun is also quite self-explanatory.  It shoots hitscan bullets (do not get fooled by the eyecandy from the tracers, the mg IS HITSCAN it hits the moment you press fire were you aim) at a high rate of fire, and can do significant damage.  The primary fire mode has a high spread and is thus quite inaccurate - but it fires very fast and deals more damage per second than any other weapon.  It is therefore devastating when used at close quarters.  One of the machinegun's unique features is that the first bullet after pressing fire does more damage than the rest - keep this in mind when using it.  The secondary fire mode is much slower, but more accurate, and does even more damage per bullet, the same as the primary modes ''first'' bullets.  It is therefore very useful as an improvised sniper weapon for long range kills.  Like the shotgun, it is an excellent finishing weapon, but its effective use relies heavily on a good, steady aim.  The machinegun uses bullet ammo which is not shared with any other weapons.
+
+	*The mortar is a grenade-launcher on steroids.  Both firing modes shoot a fast-moving projectile grenade which is influenced by gravity, and thus moves in a trajectory.  The primary fire mode shoots grenades that explode on impact while the secondary fire mode shoots grenades which will bounce off objects, and either explode on contact with an other player, or after a few seconds if they are not triggered.  The grenades' arc makes them harder to aim, but also hard to dodge.  Since they deal quite high damage, with an excellent rate of fire, the mortar is a solid all-round weapon once you've got the hang of aiming it.  The mortar uses rocket ammo which is shared with the rocket launcher and the hagar.
+
+	*The electro is a rather underestimated gun.  Contrary to its name, it does not deal electricity damage, but rather fires plasma - understanding this will help you to use it well.  The primary fire mode shoots a plasma projectile which does quite high damage on impact.  It also explodes rather like a rocket or grenade, and is quite comparable in use to the Quake 2 rocket launcher.  The secondary fire mode spits out balls of contained plasma that will bounce like grenades, and deal similarly high damage.  Those blobs have a short trajectory and so do not get very far - but they're useful for blocking a way, or for spamming around your opponent so that he is hedged in by them.  If you use the primary fire mode to hit these contained plasma blobs, they will explode more violently then without, causing a lot of damage.  This combo is very effective in corridors and small rooms.  The electro uses cell ammo which is shared with the crylink and the nex.
+
+	*The crylink is comparable to the shotgun, except that it is not hitscan but shoots plasma projectiles; so it's harder to aim but also does more damage.  The primary fire mode shoots several projectiles at a high rate of fire and narrow spread, while the secondary fire mode has a wider, horizontal spread and lower rate of fire.  The crylink uses cell ammo which is shared with the electro and the nex.
+
+	*The nex is a powerful sniper weapon.  Its primary fire mode fires a hitscan antimatter lance for significant damage, but requires a very precise aim, and has a relatively long reload time.  The secondary fire mode activates zoom.  The nex uses cell ammo which is shared with the crylink and the electro.
+
+	*The hagar can be compared to the plasma gun from Quake3.  It has a very high rate of fire, with moderate damage, and some splash damage.  The primary fire mode shoots small projectile missiles at high speed and an extraordinary rate of fire.  The secondary fire mode shoots the same missiles, but at a slower speed and rate of fire, and without the instant trigger.  This means that they will bounce once when hitting a floor or wall, giving you the opportunity to fire around corners, or double your chances to hit someone by spamming an area.  The hagar uses rocket ammo which is shared with the mortar and the rocket launcher.
+
+	*The rocket launcher is a little different from that of other games, in that the rockets move relatively slowly.  The primary fire mode shoots a slow-moving, high-damage rocket projectile at a medium rate of fire.  The secondary fire mode will explode all your rockets at once.  This means that you don't need to hit your opponent directly - just get the rocket ''near'' him, and use the secondary fire to cause splash damage which will badly hurt him.  The rocket launcher uses rocket ammo which is shared with the mortar and the hagar.
+
+Now that you know all the guns you also have to understand that in Nexuiz each projectile can be set off by explostions.  So its possible to blow up the rocket an opponent is shooting at you.  So a good strategy against someone with a rocketlauncher is to spam him with the hagar.  Chances are high you make his own rocket explode and hurt him!
+
+**''Using Jumping Effectively''
+You will need to be able to get around the map quickly and efficiently if you are to hunt down your opponents, and collect items well.  As already mentioned, the laser is useful for jumping and gaining speed - but you can use all explosive weapons for a similar effect.  Other weapons, however, will cause more damage to your health, and not all offer the same strong push as the laser.  The rocket launcher will push you twice as far, but you will also take ''lots'' more damage.  The mortar has the same push as the laser, but its explosion is bigger so the timing and the right angle are less of an issue.  For this reason, the mortar is better for a beginner to learn these sorts of jumps.
+
+You should also know that you gain a bit extra speed moving forward simply by jumping.  When you walk, there is friction from the floor which keeps you at a constant speed.  If you jump as you walk, the amount you touch the floor is considerably less, and so the friction does not slow you down as much.  The longer you jump, the faster you go.  The most simple way to do this is to run forward, jump, and then while you are in the air release and repress/hold the jump button.  Your character will jump again the moment you land, without you having to worry about timing hitting the jump key.  Just repeat it a few times and you will notice you get faster and faster.  Unlike other games, Nexuiz does not need you to do this with strange key combinations or even with circular movements of the mouse - trying to do these will generally make you slower.  The only time that strafe-jumping (holding one of the strafe-keys while jumping) is useful is for the very first jump you make.  This can increase your jump speed a little - although not by much.
+
+Another useful thing to know about movement is that if you run and jump, you can release the forward key and instead press the left or right key, and turn your mouse in the same direction.  Doing so will turn or 'bend' your jump in this direction.  This is a useful trick to get around corners, to become less predictable, and also to avoid having to stop jumping to change direction.
+
+Both the speed jumping and the turning require a certain amount of practice, but they are easy to learn - especially compared to the trick jumping found in games like Quake 3 CPMA or Enemy Territory.  However, there is another trick in Nexuiz that does not need any practice at all: the ramp jump.  Just walk up a ramp or slope, and jump.  That jump will get you higher and further than if you had jumped on flat ground.  You can reach some interesting spots by doing this, and ramp jumps can be effectively combined with speed jumping to achieve some remarkable acrobatics which can be very useful for taking shortcuts and thus dominating a map effectively.  It takes some time to learn the good spots were these four tricks can be used to the maximum effectiveness - again, experiment yourself, watch others, and ask around in-game or on the Nexuiz forums (http://www.alientrap.org/forum).
+
+**''The Console''
+Games generally have a great many settings which can be changed or tweaked to give you the best advantage.  A lot of these aren't included in the game menus, which are limited by space and intended to give only a quick and compact view of the most important options.  For all the other variables, you have the in-game console.  This is like a command line inside the game.  You can enter commands to connect to a server, vote for options on the server, or to change variables like your name or various graphic effects.  You can access the console by pressing shift-escape, and you can close it again by pressing escape.  Lots of info is available on the official Nexuiz forum regarding the effective use of the console, but probably the most important in multiplayer is using it for voting, which will be briefly covered here:
+
+When you are on a server, open the console and type ''vhelp''.  This will display a short help regarding voting, and also tell you what can be voted on on the server.  By default, things you can vote for include the timelimit and the map played.  By entering ''vcall timelimit -1'' you call a vote to set the timelimit to -1, which means to end the current map and play the next one.  Or, as another example, ''vcall chmap aggressor'' will start a vote to switch to the map 'Aggressor'.  This vote is printed to every player on the server, who can then accept or reject it.  To accept a vote, press F1 (or type in ''vyes'' at the console); to reject it, press F2 (or enter ''vno'' at the console).  If more then 50% of the players currently on the server accept a vote, the vote is passed and whichever setting has been polled will change.  And in this example the current map will end and the next map will begin.  It does not hurt to tell people to press F1/F2, as some still do not know about it.
+
+**''Game Types''
+Nexuiz supports several different game modes and some smaller changes called mutators.  Both are displayed when you connect to a server.
+
+**''Modes''
+	*Deathmatch (DM) is the most simple game mode.  It is a free-for-all fragfest with every man for himself.  All items are free to grab, and the player with the most frags will win (either by hitting the frag limit, or when the time limit expires).
+	*Team Deathmatch (TDM) is similar, but pits teams of players against each other.  Only shoot players with a different color than yourself.  Look at your gun to see your color.  The team with the most frags wins.
+	*Capture The Flag (CTF) is a team match in which you have two teams, two bases, and two flags.  You have to get into the enemy base, grab their flag, and bring it back to your own flag to score.  Scoring gives the most points, normal fragging and returning the flag gives some points.  The team with the most points wins.  CTF is a surprisingly complicated game mode, so see the comprehensive CTF guide in the Nexuiz forum for more information ({+http://alientrap.org/forum/viewtopic.php?t=849+}).
+	*Instagib removes all items from the map, and equips everyone with a nexgun.  One hit will kill, and this means some very fast action.  The player with the most frags wins.
+	*Minstagib is an improved instagib.  You can pick up lives, so you can survive two shots, and you can pick up an item to become almost invisible.  The secondary fire mode is the laser, so you can laser jump around the map.
+	*Runematch places five runes into the map in addition to the normal items.  A rune gives you a bonus but also a curse - but you only get points for fragging if you carry a rune, so make sure you have one.  You also get points for fragging a rune carrier, and for just holding a rune (but fragging is the quicker way to gain points).  The player with the most points wins.
+	*Domination is also a team mode.  Throughout the map are domination points.  Touch them and your team will own that point.  You get points for each second you own such a domination point.  Touch points the other team holds to turn it into your own.  The team with the most points wins.
+	*Last Man Standing (LMS) puts all players into a map without any items.  Each player has several lives, and starts with all weapons when he spawns.  Each time you are fragged you lose a life.  The winner is the last surviving player.
+	*Arena mode is similar to deathmatch, but it only puts two players into a map, with the others waiting in a queue.  When one of both is fragged the next one in the queue will play against the winner.
+	*Keyhunt (KH) is a new team mode in Nexuiz 2.3.  Each team has one key and the goal is the collect all keys.  The team with the most points wins.  You get small points for fragging, fragging a keycarrier and picking up a key but you should go for the BIG points you get when ''one team has all the keys and all the keycarriers meet''.  Of cource it also works when ONE player gets all the keys for his team but this is ''much'' harder.
+
+**''Mutators''
+	*The hook mutator will add grappling hook which can be used to move through the map like spider man.  Fire the hook at a ceiling or wall using the key configured through the menu or bound using ''bind "key" "+hook"''.  Hold down this key while the hook is attached to be pulled toward it.
+	*Laser-guided rockets will give you a laser dot which you can use to guide the most recently fired rocket.
+	*Vampire will add whatever damage you do to your opponent to your own health.
+	*Nixnex will remove normal guns from the map and give all players the same gun.  That gun is changed after a while.
+	*Footsteps will add footstep sounds to your movements.
+There are some more of these mutators, but those are the most important ones.
+
+A list of useful links:
+	*The official Nexuiz forum: {+http://alientrap.org/forum+}
+	*The semiofficial Nexuiz wiki: {+http://alientrap.org/wiki+}
+	*The official Nexuiz ladder: {+http://planetnexuiz.com/ladder+}
+	*The Official Nexuiz tournaments: {+http://planetnexuiz.com/tourney+}
+	*General Nexuiz Tips and Tricks: {+http://alientrap.org/forum/viewtopic.php?t=90+}
+	*How to get more help via IRC: {+http://alientrap.org/forum/viewtopic.php?t=497+}
+	*CTF guide and ctf MAPS guide: {+http://alientrap.org/forum/viewtopic.php?t=849+}
+	*Team communication explained: {+http://alientrap.org/forum/viewtopic.php?t=555+}
+	*A few useful jumps: http://esteel.planetnexuiz.de/nexuiz/demos/jumps.pk3  (copy the file into Nexuiz/data and you should find the demos in the demos menu)
+	*FPS settings: {+http://alientrap.org/forum/viewtopic.php?t=1628+}
+	*A list of all available variables in Nexuiz: {+http://alientrap.org/wiki/pmwiki.php?n=Main.GameTweaks+}
+	*A list of all available commands in Nexuiz: {+http://alientrap.org/wiki/pmwiki.php?n=Main.ConsoleCommands+}
+	*Some info about generic strategy in games: {+http://alientrap.org/forum/viewtopic.php?t=3496+}

Added: branches/nexuiz-2.0/Docs/irc.html
===================================================================
--- branches/nexuiz-2.0/Docs/irc.html	                        (rev 0)
+++ branches/nexuiz-2.0/Docs/irc.html	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<meta name="author" content="Tyler Mulligan of www.detrition.net a.k.a -z- of www.nexuizninjaz.com" />
+<meta name="Description" content="Nexuiz is a free open-source fast paced first person shooter (FPS) that runs on Windows, Linux and OSX.  Nexuiz utilizes the darkplaces engine modeled after the Quake series." />
+<meta name="Keywords" content="Nexuiz, Nexiuz, first person shooter, darkplaces, open-source game, open source game, free game, linux game, deathmatch, death match, ctf, quake, alientrap, alien trap, ninjaz" />
+<title>Nexuiz - A free open-source fast paced first person shooter (FPS) for Windows, Linux and OSX</title>
+<link rel="stylesheet" href="htmlfiles/style.css" type="text/css"></link>
+<link rel="shortcut icon" href="favicon.ico"></link>
+</head>
+<body>
+<div id="container">
+	<div id="left">
+		<div id="logo">
+
+			<a href="http://www.nexuiz.com" title="Nexuiz - Simple, fast, intense and completely free"><img src="htmlfiles/img/nexuiz_logo.jpg" alt="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." width="201" height="193" border="0" title="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." /></a>
+		</div>
+		<!-- Sidebar -->
+	  <div id="sidebar">
+			<a href="news.php" title="Latest Nexuiz News"><img src="htmlfiles/img/headers/latest_news.gif" alt="Latest News" width="168" height="16" border="0" class="imgHeader" style="margin-top:0;" title="Latest Nexuiz News" /></a>
+			<div id="news">
+			  <div class="newsPost">
+						<h1><a href="http://nexuiz.com/news.php" title="Two Nexuiz 1v1 Tourneys">nexuiz.com/news - for nexuiz news updates</a></h1>
+			  </div>
+		</div>
+			<!-- Downloads -->
+			<a href="downloads.php" title="Nexuiz Downloads (Game, Maps)"><img src="htmlfiles/img/headers/downloads.gif" alt="Downloads" width="145" height="15" border="0" class="imgHeader" title="Downloads" /></a>
+			<a id="download_nexuiz" href="http://downloads.sourceforge.net/nexuiz/nexuiz-242.zip" title="Download Nexuiz from Source Forge - Left Click">&nbsp;</a>
+			<!--<a id="download_q3_mappack" href="http://downloads.sourceforge.net/nexuiz/nexmappack_r2.zip" title="Download Nexuiz Q3 Mappack from Source
+			Forge - Left Click">&nbsp;</a>-->
+			<h2 class="page"><a href="http://nexuiz.com/downloads.php" title="Nexuiz Download Mirrors">Mirrors -&gt;</a></h2>
+			<!-- Help Wanted -->
+
+			<img src="htmlfiles/img/headers/help_wanted.gif" alt="Help Wanted" width="165" height="15" class="imgHeader" title="Help Wanted" />			
+			<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="donate_form"> <input name="cmd" value="_s-xclick" type="hidden" />
+			<a id="donate" href="javascript:document.donate_form.submit();" title="Help The Aliens, Please Donate">&nbsp;</a>
+			<noscript>
+				<!-- It not an elegant solution but I don't expect many users to arrive with JS turned off -->
+				<input name="submit" type="image" src="htmlfiles/img/donate_button_noscript.jpg" alt="Help this project - Donate to the aliens" width="166" height="43" /> 
+			</noscript>
+			<h2 class="page"><a href="http://nexuiz.com/donators.php" title="Those who have donated to Nexuiz">Donators -&gt;</a></h2>
+			<input name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----" type="hidden" /></form>
+			
+		  <!-- Created By -->
+		  <img src="htmlfiles/img/headers/created_by.gif" alt="Created By" width="145" height="15" class="imgHeader" title="Created By" />
+
+	  <a id="alien_trap" href="http://www.alientrap.org" title="Developed by Alien Trap" target="_blank">&nbsp;</a>	  </div>
+		<!-- end sidebar -->	</div><!-- end left -->
+	<div id="right">
+		<div id="header">
+			<a href="http://nexuiz.com" title="Nexuiz - Simple, fast, intense and completely free"><img src="htmlfiles/img/nexuiz_header.jpg" alt="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." width="766" height="107" border="0" title="Nexuiz - Simple, fast, intense and completely free" /></a>
+		</div>
+		<div id="menu">
+			<ul>
+
+				<li class="first"><a href="../readme.html" title="Nexuiz - Latest News">About </a></li>
+				<li><a href="basics.html" title="Nexuiz - Media (Screenshots, videos and graphics)">Nexuiz Basics</a></li>
+				<li><a href="say-esc.html" title="Nexuiz Information  (General, System Requirements)">Say Escapes</a></li>
+				<li><a href="irc.html" title="Nexuiz - Downloads (Game, Maps)">IRC</a></li>
+				<li><a href="faq.html" title="Official Nexuiz FAQ">FAQ</a></li>
+				<li class="first"></li>
+				<li class="first"></li>
+				<li class="first"></li>
+				<li class="first"></li>
+		  </ul>		</div>
+		<p id="tagline">Nexuiz is a <b>free</b> open-source first person shooter that runs on <b>Windows</b>, <b>Linux</b> and <b>OSX</b>.</p>
+	  <div id="content">
+	    <p><strong>The official Nexuiz irc channel:</strong><br />
+	      #nexuiz - <a href="irc://irc.quakenet.org/nexuiz">irc://irc.quakenet.org/nexuiz</a> </p>
+		  <p><strong>Main nexuiz related channels:</strong><br />
+		    #Nexuiz.Admins - <a href="irc://irc.quakenet.org/nexuiz.admins">irc://irc.quakenet.org/nexuiz.admins </a><br />
+#Nexuiz.Clans - <a href="irc://irc.quakenet.org/nexuiz.clans">irc://irc.quakenet.org/nexuiz.clans </a><br />
+#Nexuiz.Editing - <a href="irc://irc.quakenet.org/nexuiz.editing">irc://irc.quakenet.org/nexuiz.editing </a><br />
+#Nexuiz.Pickup - <a href="irc://irc.quakenet.org/nexuiz.pickup">irc://irc.quakenet.org/nexuiz.pickup </a><br />
+#Nexuiz.Tourney - <a href="irc://irc.quakenet.org/nexuiz.tourney">irc://irc.quakenet.org/nexuiz.tourney </a></p>
+		  <p>Need some more help? Try this <a href="http://alientrap.org/forum/viewtopic.php?t=497">post</a>.  </p>
+		  <p><br style="clear:left" />
+        </p>
+	  </div>
+	  <!-- end content -->
+		<div id="footer">
+			<p id="ninja"><a href="http://www.detrition.net" title="Tyler Mulligan's Working Portfolio" target="_blank">page created by</a> <a href="http://www.nexuizninjaz.com" title="Nexuiz Ninjaz - Practicing the ninja arts of Nexuiz" target="_blank">a ninja</a></p>
+			<ul>
+
+				<li class="first"><a href="http://alientrap.org/nexuiz/news.php" title="Nexuiz - Latest News">News'</a></li>
+				<li><a href="http://alientrap.org/nexuiz/media.php" title="Nexuiz - Media (Screenshots, videos and graphics)">Media</a></li>
+				<li><a href="http://alientrap.org/nexuiz/information.php" title="Nexuiz Information  (General, System Requirements)">Info</a></li>
+				<li><a href="http://alientrap.org/nexuiz/team.php" title="The Nexuiz Team">Team</a></li>
+				<li><a href="http://alientrap.org/nexuiz/links.php" title="Nexuiz Links">Links</a></li>
+				<li><a href="http://alientrap.org/forum/index.php?c=3" title="Official Nexuiz Forums" target="_blank">Forums</a></li>
+				<li><a href="http://planetnexuiz.com/ladder/" title="Nexuiz Ladder" target="_blank">Ladder</a></li>
+				<li><a href="http://planetnexuiz.com/tourney/" title="Nexuiz Tournaments" target="_blank">Tournament</a></li>
+				<li class="first"></li>
+		  </ul>		</div><p class="subFooter">Come to the Nexuiz IRC channel: <a href="irc://irc.quakenet.org/nexuiz" title="#nexuiz on irc.quakenet.org">#nexuiz on irc.quakenet.org</a> or the team channel: <a href="irc://irc.anynet.org/alientrap" title="#alientrap on irc.anynet.org">#alientrap on irc.anynet.org</a></p>
+
+		<div id="valid">
+			<a id="valid_css" href="http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Falientrap.org%2Fnexuiz%2Findex.php">&nbsp;</a>
+			<a id="valid_xhtml" href="http://validator.w3.org/check?uri=http%3A%2F%2Falientrap.org%2Fnexuiz%2Findex.php">&nbsp;</a>
+			<p>&copy; 2004-2008 Nexuiz.com</p>
+		</div>
+	</div><!-- end right -->
+</div>
+</body>
+</html>

Added: branches/nexuiz-2.0/Docs/say-esc.html
===================================================================
--- branches/nexuiz-2.0/Docs/say-esc.html	                        (rev 0)
+++ branches/nexuiz-2.0/Docs/say-esc.html	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<meta name="author" content="Tyler Mulligan of www.detrition.net a.k.a -z- of www.nexuizninjaz.com" />
+<meta name="Description" content="Nexuiz is a free open-source fast paced first person shooter (FPS) that runs on Windows, Linux and OSX.  Nexuiz utilizes the darkplaces engine modeled after the Quake series." />
+<meta name="Keywords" content="Nexuiz, Nexiuz, first person shooter, darkplaces, open-source game, open source game, free game, linux game, deathmatch, death match, ctf, quake, alientrap, alien trap, ninjaz" />
+<title>Nexuiz - A free open-source fast paced first person shooter (FPS) for Windows, Linux and OSX</title>
+<link rel="stylesheet" href="htmlfiles/style.css" type="text/css"></link>
+<link rel="shortcut icon" href="favicon.ico"></link>
+</head>
+<body>
+<div id="container">
+	<div id="left">
+		<div id="logo">
+
+			<a href="http://www.nexuiz.com" title="Nexuiz - Simple, fast, intense and completely free"><img src="htmlfiles/img/nexuiz_logo.jpg" alt="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." width="201" height="193" border="0" title="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." /></a>
+		</div>
+		<!-- Sidebar -->
+	  <div id="sidebar">
+			<a href="news.php" title="Latest Nexuiz News"><img src="htmlfiles/img/headers/latest_news.gif" alt="Latest News" width="168" height="16" border="0" class="imgHeader" style="margin-top:0;" title="Latest Nexuiz News" /></a>
+			<div id="news">
+			  <div class="newsPost">
+						<h1><a href="http://nexuiz.com/news.php" title="Two Nexuiz 1v1 Tourneys">nexuiz.com/news - for nexuiz news updates</a></h1>
+			  </div>
+		</div>
+			<!-- Downloads -->
+			<a href="downloads.php" title="Nexuiz Downloads (Game, Maps)"><img src="htmlfiles/img/headers/downloads.gif" alt="Downloads" width="145" height="15" border="0" class="imgHeader" title="Downloads" /></a>
+			<a id="download_nexuiz" href="http://downloads.sourceforge.net/nexuiz/nexuiz-242.zip" title="Download Nexuiz from Source Forge - Left Click">&nbsp;</a>
+			<!--<a id="download_q3_mappack" href="http://downloads.sourceforge.net/nexuiz/nexmappack_r2.zip" title="Download Nexuiz Q3 Mappack from Source
+			Forge - Left Click">&nbsp;</a>-->
+			<h2 class="page"><a href="http://nexuiz.comdownloads.php" title="Nexuiz Download Mirrors">Mirrors -&gt;</a></h2>
+			<!-- Help Wanted -->
+
+			<img src="htmlfiles/img/headers/help_wanted.gif" alt="Help Wanted" width="165" height="15" class="imgHeader" title="Help Wanted" />			
+			<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="donate_form"> <input name="cmd" value="_s-xclick" type="hidden" />
+			<a id="donate" href="javascript:document.donate_form.submit();" title="Help The Aliens, Please Donate">&nbsp;</a>
+			<noscript>
+				<!-- It not an elegant solution but I don't expect many users to arrive with JS turned off -->
+				<input name="submit" type="image" src="htmlfiles/img/donate_button_noscript.jpg" alt="Help this project - Donate to the aliens" width="166" height="43" /> 
+			</noscript>
+			<h2 class="page"><a href="http://nexuiz.com/donators.php" title="Those who have donated to Nexuiz">Donators -&gt;</a></h2>
+			<input name="encrypted" value="-----BEGIN PKCS7-----MIIHBgYJKoZIhvcNAQcEoIIG9zCCBvMCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBfp40KRLmnxKPY06C4gjvEiWZchbxK6bgD7ZdjhdWO5Vbwo4T4Ro+HE041PVVqIxPlJgO80l3aQpBtfhC66FfM2kIF1BjLs1zzhQM89XoPGViS3e4kbmzxkMnpdiZFmOsR5Fs5NJYiVaMnVGcoQ+K3+KsyOehZGket7GwUeNFMRzELMAkGBSsOAwIaBQAwgYMGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIb1QeJqVIc5SAYOPcI23W84XMGt8mSfHE1Gf0/GZAM7NvqLiHF0BeaecRW1Bc85O0tL9OduZiraGf7WVnAmP5kp1D0irXsA5+N2l15WADxwNQ/GoCAU293l0dAQ7Qy4F3vh6eSii18MaH2KCCA4cwggODMIIC7KADAgECAgEAMA0GCSqGSIb3DQEBBQUAMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTAeFw0wNDAyMTMxMDEzMTVaFw0zNTAyMTMxMDEzMTVaMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwUdO3fxEzEtcnI7ZKZL412XvZPugoni7i7D7prCe0AtaHTc97CYgm7NsAtJyxNLixmhLV8pyIEaiHXWAh8fPKW+R017+EmXrr9EaquPmsVvTywAAE1PMNOKqo2kl4Gxiz9zZqIajOm1fZGWcGS0f5JQ2kBqNbvbg2/Za+GJ/qwUCAwEAAaOB7jCB6zAdBgNVHQ4EFgQUlp98u8ZvF71ZP1LXChvsENZklGswgbsGA1UdIwSBszCBsIAUlp98u8ZvF71ZP1LXChvsENZklGuhgZSkgZEwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAgV86VpqAWuXvX6Oro4qJ1tYVIT5DgWpE692Ag422H7yRIr/9j/iKG4Thia/Oflx4TdL+IFJBAyPK9v6zZNZtBgPBynXb048hsP16l2vi0k5Q2JKiPDsEfBhGI+HnxLXEaUWAcVfCsQFvd2A1sxRr67ip5y2wwBelUecP3AjJ+YcxggGaMIIBlgIBATCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA1MDUxMjE5MDQ0OFowIwYJKoZIhvcNAQkEMRYEFC7mlfdaA7Pg2eBhxI5xQTe7ydTtMA0GCSqGSIb3DQEBAQUABIGAfR38tX84huxk9JjvhggcSMxzHbmDxpxInBU6/lbyqAu7iT5KJn7rcJgaH5ZVyKNoNQLGp9IxweBrcMiYUQNVxShm9+hunXhQmj5r7AMGaxNZ0mE8mQRW1ZTaz7TLz1HkDFA+R0Dm8HYyDQA4L505cBiWNEsKC17VwNK1G7CEVvA=-----END PKCS7-----" type="hidden" /></form>
+			
+		  <!-- Created By -->
+		  <img src="htmlfiles/img/headers/created_by.gif" alt="Created By" width="145" height="15" class="imgHeader" title="Created By" />
+
+	  <a id="alien_trap" href="http://www.alientrap.org" title="Developed by Alien Trap" target="_blank">&nbsp;</a>	  </div>
+		<!-- end sidebar -->	</div><!-- end left -->
+	<div id="right">
+		<div id="header">
+			<a href="http://nexuiz.com" title="Nexuiz - Simple, fast, intense and completely free"><img src="htmlfiles/img/nexuiz_header.jpg" alt="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." width="766" height="107" border="0" title="Nexuiz - Simple, fast, intense and completely free" /></a>
+		</div>
+		<div id="menu">
+			<ul>
+
+				<li class="first"><a href="../readme.html" title="Nexuiz - Latest News">About </a></li>
+				<li><a href="basics.html" title="Nexuiz - Media (Screenshots, videos and graphics)">Nexuiz Basics</a></li>
+				<li><a href="say-esc.html" title="Nexuiz Information  (General, System Requirements)">Say Escapes</a></li>
+				<li><a href="irc.html" title="Nexuiz - Downloads (Game, Maps)">IRC</a></li>
+				<li><a href="faq.html" title="Official Nexuiz FAQ">FAQ</a></li>
+				<li class="first"></li>
+				<li class="first"></li>
+				<li class="first"></li>
+				<li class="first"></li>
+		  </ul>		</div>
+		<p id="tagline">Nexuiz is a <b>free</b> open-source first person shooter that runs on <b>Windows</b>, <b>Linux</b> and <b>OSX</b>.</p>
+	  <div id="content">
+		  <p>In a message you &quot;say&quot;, you can use the following escapes: </p>
+		  <ul>
+		    <li>%% literal percent sign</li>
+	    <li>%a current armor value </li>
+	    <li>%h current health </li>
+	    <li>%w current weapon </li>
+	    <li>%W current ammo type </li>
+	    <li>%x name of entity pointed at </li>
+	    <li>%p name of player you look at </li>
+	    <li>%l current location</li>
+	    <li>%y location pointed at </li>
+	    <li>%d location last died at </li>
+	    </ul>
+		  <p>The latter three need location data or use nearby weapons instead. Location data are entities of type target_location with a netname that replaces the escape. </p>
+		  <p>The location entity for a point is chosen by the following algorithm: </p>
+		  <p>&nbsp; </p>
+		  <ul>
+		    <li>- the closest four entities are found </li>
+	    <li>- of these, the first one which is actually VISIBLE to the point is chosen </li>
+	    <li>- if there is no line of sight from the point to any of the four location </li>
+	    <li>entities, the closest one is chosen </li>
+	    <li> </li>
+	    </ul>
+		  <p>Of course you can use these escapes in key bindings and aliases; examples:</p>
+		  <ul>
+		    <li>alias asay_ctf_flagcarrier &quot;say_team flag carrier at %y&quot; </li>
+	    <li>alias asay_ctf_haveflag &quot;say_team (%l) have the flag&quot; </li>
+	    <li>alias asay_willgo &quot;say_team will go to %y&quot; </li>
+	    <li>alias asay_support &quot;say_team (%l) need help, %h%%&quot; </li>
+	    <li>alias asay_killed &quot;say_team got killed at %d&quot; </li>
+	    <li>alias asay_noammo &quot;say_team (%l) need %W for %w&quot; </li>
+	    <li>alias asay_drop &quot;say_team (%l) dropped %w ; impulse 17&quot; </li>
+	    </ul>
+		  <p>&nbsp; </p>
+		  <p><br style="clear:left" />
+        </p>
+	  </div>
+	  <!-- end content -->
+		<div id="footer">
+			<p id="ninja"><a href="http://www.detrition.net" title="Tyler Mulligan's Working Portfolio" target="_blank">page created by</a> <a href="http://www.nexuizninjaz.com" title="Nexuiz Ninjaz - Practicing the ninja arts of Nexuiz" target="_blank">a ninja</a></p>
+			<ul>
+
+				<li class="first"><a href="http://alientrap.org/nexuiz/news.php" title="Nexuiz - Latest News">News</a></li>
+				<li><a href="http://alientrap.org/nexuiz/media.php" title="Nexuiz - Media (Screenshots, videos and graphics)">Media</a></li>
+				<li><a href="http://alientrap.org/nexuiz/information.php" title="Nexuiz Information  (General, System Requirements)">Info</a></li>
+				<li><a href="http://alientrap.org/nexuiz/team.php" title="The Nexuiz Team">Team</a></li>
+				<li><a href="http://alientrap.org/nexuiz/links.php" title="Nexuiz Links">Links</a></li>
+				<li><a href="http://alientrap.org/forum/index.php?c=3" title="Official Nexuiz Forums" target="_blank">Forums</a></li>
+				<li><a href="http://planetnexuiz.com/ladder/" title="Nexuiz Ladder" target="_blank">Ladder</a></li>
+				<li><a href="http://planetnexuiz.com/tourney/" title="Nexuiz Tournaments" target="_blank">Tournament</a></li>
+				<li class="first"></li>
+		  </ul>		</div><p class="subFooter">Come to the Nexuiz IRC channel: <a href="irc://irc.quakenet.org/nexuiz" title="#nexuiz on irc.quakenet.org">#nexuiz on irc.quakenet.org</a> or the team channel: <a href="irc://irc.anynet.org/alientrap" title="#alientrap on irc.anynet.org">#alientrap on irc.anynet.org</a></p>
+
+		<div id="valid">
+			<a id="valid_css" href="http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Falientrap.org%2Fnexuiz%2Findex.php">&nbsp;</a>
+			<a id="valid_xhtml" href="http://validator.w3.org/check?uri=http%3A%2F%2Falientrap.org%2Fnexuiz%2Findex.php">&nbsp;</a>
+			<p>&copy; 2004-2008 Nexuiz.com</p>
+		</div>
+	</div><!-- end right -->
+</div>
+</body>
+</html>

Added: branches/nexuiz-2.0/data/check-sounds.sh
===================================================================
--- branches/nexuiz-2.0/data/check-sounds.sh	                        (rev 0)
+++ branches/nexuiz-2.0/data/check-sounds.sh	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+allsounds=`find sound -name .svn -prune -o \( -name \*.ogg -o -name \*.wav \) -print`
+for S in $allsounds; do
+	SND=${S#sound/}
+	SND=${SND%.*}
+	if [ -f "sound/$SND.ogg" ] && [ -f "sound/$SND.wav" ]; then
+		echo "$SND exists twice"
+	fi
+	case "$SND" in
+		player/*/*)
+			# verified by .sounds file check
+			;;
+		ambient/*)
+			# maps can use them always
+			;;
+		weather/*)
+			# maps can use them always
+			;;
+		cdtracks/*)
+			# maps can use them always
+			;;
+		misc/footstep*)
+			;;
+		misc/metalfootstep*)
+			;;
+		misc/hitground*)
+			;;
+		misc/metalhitground*)
+			;;
+		misc/talk*) # engine
+			;;
+		*)
+			if ! grep -Er '"'$SND'\.(ogg|wav)"' qcsrc/server >/dev/null; then
+				echo "$S ($SND) is unused by the code"
+			fi
+			;;
+	esac
+done
+
+LF="
+"
+allsounds="$LF`find sound/player -mindepth 2 -name .svn -prune -o \( -name \*.ogg -o -name \*.wav \) -print`$LF"
+remainingsounds=$allsounds
+psoundfile()
+{
+	snd=$1
+	pat="$LF$snd$LF"
+	case "$allsounds" in
+		*$pat*)
+			case "$remainingsounds" in
+				*$pat*)
+					remainingsounds=${remainingsounds%%$pat*}$LF${remainingsounds#*$pat}
+					;;
+			esac
+			return 0
+			;;
+		*)
+			return 1
+			;;
+	esac
+}
+psoundtry()
+{
+	s=$1
+	psoundfile "$s.ogg" || psoundfile "$s.wav"
+}
+psound()
+{
+	s=$1
+	if psoundtry "$s"; then
+		:
+	else
+		echo "$S references nonexisting sound $s"
+	fi
+}
+
+for S in models/player/*.sounds sound/player/default.sounds; do
+	if [ "$S" = "sound/player/default.sounds" ] || [ -f "${S#.sounds}" ]; then
+		while read -r TITLE SOUND COUNT; do
+			case "$TITLE" in
+				//*)
+					good=false
+					case "$COUNT" in
+						0)
+							if psoundtry "$SOUND"; then
+								good=false
+							fi
+							;;
+						*)
+							for i in `seq 1 $COUNT`; do
+								if psoundtry "$SOUND$i"; then
+									good=true
+								fi
+							done
+							;;
+					esac
+					if $good; then
+						echo "$S references existing sound $SOUND but commented out"
+					fi
+					;;
+				*[!a-z0-9]*)
+					echo "Unknown identifier $TITLE in $S"
+					;;
+				*)
+					case "$COUNT" in
+						0)
+							psound "$SOUND"
+							;;
+						*)
+							for i in `seq 1 $COUNT`; do
+								psound "$SOUND$i"
+							done
+							;;
+					esac
+					;;
+			esac
+		done < "$S"
+	else
+		echo "$S exists for nonexisting player model"
+	fi
+done
+for S in $remainingsounds; do
+	echo "$S is not used by any player model"
+done
+
+# tag check
+for S in models/player/*.sounds; do echo -n `head -n 1 "$S"`"  "; md5sum "$S"; done | sort

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


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

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


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

Added: branches/nexuiz-2.0/data/models/player/crash.zym.sounds
===================================================================
--- branches/nexuiz-2.0/data/models/player/crash.zym.sounds	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/player/crash.zym.sounds	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,32 @@
+//TAG: soldier
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/soldier/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/soldier/coms/attackinfive 0
+coverme sound/player/soldier/coms/coverme 0
+defend sound/player/soldier/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/carni-lycan/player/flagcarriertakingdamage 0
+freelance sound/player/soldier/coms/freelance 2
+//getflag sound/player/carni-lycan/player/getflag 0
+//incoming sound/player/soldier/coms/incoming 0
+meet sound/player/soldier/coms/meet 0
+needhelp sound/player/soldier/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/soldier/coms/seenflag 0
+taunt sound/player/soldier/coms/taunt 3
+teamshoot sound/player/soldier/coms/teamshoot 3
+death sound/player/soldier/player/death 3
+drown sound/player/soldier/player/drown 0
+//fall sound/player/carni-lycan/player/fall 0
+falling sound/player/soldier/player/falling 0
+gasp sound/player/soldier/player/gasp 0
+jump sound/player/soldier/player/jump 0
+pain25 sound/player/soldier/player/pain25 0
+pain50 sound/player/soldier/player/pain50 0
+pain75 sound/player/soldier/player/pain75 0
+pain100 sound/player/soldier/player/pain100 0

Added: branches/nexuiz-2.0/data/models/player/grunt.zym.sounds
===================================================================
--- branches/nexuiz-2.0/data/models/player/grunt.zym.sounds	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/player/grunt.zym.sounds	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,32 @@
+//TAG: carni-lycan
+//affirmative sound/player/carni-lycan/player/affirmative 0
+attack sound/player/carni-lycan/coms/attack 0
+//attacking sound/player/carni-lycan/player/attacking 0
+attackinfive sound/player/carni-lycan/coms/attackinfive 0
+coverme sound/player/carni-lycan/coms/coverme 0
+defend sound/player/carni-lycan/coms/defend 0
+//defending sound/player/carni-lycan/player/defending 0
+//droppedflag sound/player/carni-lycan/player/droppedflag 0
+//flagcarriertakingdamage sound/player/carni-lycan/player/flagcarriertakingdamage 0
+freelance sound/player/carni-lycan/coms/freelance 2
+//getflag sound/player/carni-lycan/player/getflag 0
+incoming sound/player/carni-lycan/coms/incoming 0
+meet sound/player/carni-lycan/coms/meet 0
+needhelp sound/player/carni-lycan/coms/needhelp 2
+//negative sound/player/carni-lycan/player/negative 0
+//onmyway sound/player/carni-lycan/player/onmyway 0
+//roaming sound/player/carni-lycan/player/roaming 0
+//seenenemy sound/player/carni-lycan/player/seenenemy 0
+seenflag sound/player/carni-lycan/coms/seenflag 0
+taunt sound/player/carni-lycan/coms/taunt 3
+teamshoot sound/player/carni-lycan/coms/teamshoot 3
+death sound/player/carni-lycan/player/death 3
+drown sound/player/carni-lycan/player/drown 0
+//fall sound/player/carni-lycan/player/fall 0
+falling sound/player/carni-lycan/player/falling 0
+gasp sound/player/carni-lycan/player/gasp 0
+jump sound/player/carni-lycan/player/jump 0
+pain25 sound/player/carni-lycan/player/pain25 0
+pain50 sound/player/carni-lycan/player/pain50 0
+pain75 sound/player/carni-lycan/player/pain75 0
+pain100 sound/player/carni-lycan/player/pain100 0

Added: branches/nexuiz-2.0/data/models/portal.md3_0.skin
===================================================================
--- branches/nexuiz-2.0/data/models/portal.md3_0.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/portal.md3_0.skin	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,2 @@
+portal,textures/portals/portals_red.tga
+vortex,portals_red_vortex

Added: branches/nexuiz-2.0/data/models/portal.md3_1.skin
===================================================================
--- branches/nexuiz-2.0/data/models/portal.md3_1.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/portal.md3_1.skin	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,2 @@
+portal,textures/portals/portals_blue.tga
+vortex,portals_blue_vortex

Added: branches/nexuiz-2.0/data/models/portal.md3_2.skin
===================================================================
--- branches/nexuiz-2.0/data/models/portal.md3_2.skin	                        (rev 0)
+++ branches/nexuiz-2.0/data/models/portal.md3_2.skin	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,2 @@
+portal,textures/portals/portals_inactive.tga
+vortex,portals_inactive_vortex

Added: branches/nexuiz-2.0/data/models/sprites/as-defend_frame0.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/models/sprites/as-defend_frame0.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/models/sprites/as-destroy_frame0.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/models/sprites/as-destroy_frame0.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/models/sprites/as-push_frame0.tga
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/data/models/sprites/as-push_frame0.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/data/qcsrc/common/items.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/common/items.qc	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/common/items.qc	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,133 @@
+// WEAPON PLUGIN SYSTEM
+entity weapon_info[24];
+entity dummy_weapon_info;
+
+void register_weapon_real(float id, float(float) func, float ammotype, float i, float normalweapon, float canclimb, float pickupbasevalue, string modelname, string shortname, string wname)
+{
+	entity e;
+	weapon_info[id - 1] = e = spawn();
+	e.classname = "weapon_info";
+	e.weapon = id;
+	e.weapons = power2of(id - 1);
+	e.netname = shortname;
+	e.message = wname;
+	e.items = ammotype;
+	e.weapon_func = func;
+	e.mdl = modelname;
+	e.model = strzone(strcat("models/weapons/g_", modelname, ".md3"));
+	e.spawnflags = 0;
+	if(normalweapon)
+		e.spawnflags |= WEPSPAWNFLAG_NORMAL;
+	if(canclimb)
+		e.spawnflags |= WEPSPAWNFLAG_CANCLIMB;
+	e.impulse = i;
+	e.bot_pickupbasevalue = pickupbasevalue;
+}
+float w_null(float dummy)
+{
+	return 0;
+}
+void register_weapons_done()
+{
+	entity wi;
+
+	dummy_weapon_info = spawn();
+	dummy_weapon_info.classname = "weapon_info";
+	dummy_weapon_info.weapon = 0;
+	dummy_weapon_info.weapons = 0;
+	dummy_weapon_info.netname = "@!#%'n Tuba";
+	dummy_weapon_info.items = 0;
+	dummy_weapon_info.weapon_func = w_null;
+	dummy_weapon_info.mdl = "";
+	dummy_weapon_info.model = "";
+	dummy_weapon_info.spawnflags = 0;
+	dummy_weapon_info.impulse = -1;
+	dummy_weapon_info.bot_pickupbasevalue = 0;
+
+	float i;
+	weaponpriority_hudselector_0 = "";
+	for(i = 24; i >= 1; --i)
+		if(weapon_info[i-1])
+			weaponpriority_hudselector_0 = strcat(weaponpriority_hudselector_0, " ", ftos(i));
+
+	float imp;
+	weaponpriority_hudselector_1 = "";
+	for(i = 1; i <= 24; ++i)
+	{
+		wi = weapon_info[i-1];
+		if(wi && wi.impulse == 0)
+			weaponpriority_hudselector_1 = strcat(weaponpriority_hudselector_1, " ", ftos(i));
+	}
+	for(imp = 9; imp > 0; --imp)
+		for(i = 1; i <= 24; ++i)
+		{
+			wi = weapon_info[i-1];
+			if(wi && wi.impulse == imp)
+				weaponpriority_hudselector_1 = strcat(weaponpriority_hudselector_1, " ", ftos(i));
+		}
+
+	weaponpriority_hudselector_0 = strzone(substring(weaponpriority_hudselector_0, 1, strlen(weaponpriority_hudselector_0) - 1));
+	weaponpriority_hudselector_1 = strzone(substring(weaponpriority_hudselector_1, 1, strlen(weaponpriority_hudselector_1) - 1));
+}
+entity get_weaponinfo(float id)
+{
+	entity w;
+	if(id < WEP_FIRST || id > WEP_LAST)
+		return dummy_weapon_info;
+	w = weapon_info[id - 1];
+	if(w)
+		return w;
+	return dummy_weapon_info;
+}
+string W_FixWeaponOrder(string order, float complete)
+{
+	return fixPriorityList(order, WEP_FIRST, WEP_LAST, complete);
+}
+
+// FTEQCC SUCKS // #ifdef SVQC
+// FTEQCC SUCKS // #define register_weapon(id,func,ammotype,i,normalweapon,canclimb,pickupbasevalue,modelname,shortname,wname) \
+// FTEQCC SUCKS // 	register_weapon_real(id,func,ammotype,i,normalweapon,canclimb,pickupbasevalue,modelname,shortname,wname)
+// FTEQCC SUCKS // #else
+// FTEQCC SUCKS // // no weapon funcs here!
+// FTEQCC SUCKS // #define register_weapon(id,func,ammotype,i,normalweapon,canclimb,pickupbasevalue,modelname,shortname,wname) \
+// FTEQCC SUCKS // 	register_weapon_real(id,w_null,ammotype,i,normalweapon,canclimb,pickupbasevalue,modelname,shortname,wname)
+// FTEQCC SUCKS // #endif
+// put this code back in if fteqcc gets fixed
+
+#define register_weapon register_weapon_real
+float(float) w_laser;
+float(float) w_shotgun;
+float(float) w_uzi;
+float(float) w_glauncher;
+float(float) w_electro;
+float(float) w_crylink;
+float(float) w_nex;
+float(float) w_hagar;
+float(float) w_rlauncher;
+float(float) w_porto;
+float(float) w_minstanex;
+float(float) w_hook;
+float(float) w_seeker;
+float(float) w_hlac;
+// I know this causes lots of warnings, but well, alternative code is above - use that code if fteqcc got fixed
+
+void RegisterWeapons()
+{
+	// %weaponaddpoint
+	register_weapon(WEP_LASER,            w_laser,     0,              1, 1, 1,     0, "laser",     "laser",           "Laser");
+	register_weapon(WEP_SHOTGUN,          w_shotgun,   IT_SHELLS,      2, 1, 0,  2500, "shotgun",   "shotgun",         "Shotgun");
+	register_weapon(WEP_UZI,              w_uzi,       IT_NAILS,       3, 1, 0,  5000, "uzi",       "uzi",             "Machine Gun");
+	register_weapon(WEP_GRENADE_LAUNCHER, w_glauncher, IT_ROCKETS,     4, 1, 1,  5000, "gl",        "grenadelauncher", "Mortar");
+	register_weapon(WEP_ELECTRO,          w_electro,   IT_CELLS,       5, 1, 0,  5000, "electro",   "electro",         "Electro");
+	register_weapon(WEP_CRYLINK,          w_crylink,   IT_CELLS,       6, 1, 0,  5000, "crylink",   "crylink",         "Crylink");
+	register_weapon(WEP_NEX,              w_nex,       IT_CELLS,       7, 1, 0, 10000, "nex",       "nex",             "Nex");
+	register_weapon(WEP_HAGAR,            w_hagar,     IT_ROCKETS,     8, 1, 1,  5000, "hagar",     "hagar",           "Hagar");
+	register_weapon(WEP_ROCKET_LAUNCHER,  w_rlauncher, IT_ROCKETS,     9, 1, 1, 10000, "rl",        "rocketlauncher",  "Rocket Launcher");
+	register_weapon(WEP_PORTO,            w_porto,     IT_SUPERWEAPON, 0, 0, 0,     0, "porto" ,    "porto",           "Port-O-Launch");
+	register_weapon(WEP_MINSTANEX,        w_minstanex, IT_CELLS,       7, 0, 1, 10000, "minstanex", "minstanex",       "MinstaNex");
+	register_weapon(WEP_HOOK,             w_hook,      IT_CELLS,       0, 0, 1,     0, "hookgun",   "hook",            "Grappling Hook");
+	register_weapon(WEP_SEEKER,           w_seeker,    IT_ROCKETS,     8, 1, 0,     0, "seeker",    "seeker",          "T.A.G. Seeker");
+	register_weapon(WEP_HLAC,             w_hlac,      IT_CELLS,       6, 1, 0,     0, "hlac",      "hlac",            "Heavy Laser Assault Cannon");
+
+	register_weapons_done();
+}

Added: branches/nexuiz-2.0/data/qcsrc/common/items.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/common/items.qh	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/common/items.qh	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,77 @@
+// Weapon indexes
+// %weaponaddpoint
+float WEP_FIRST				=  1;
+float WEP_LASER				=  1; float WEPBIT_LASER			= 1; // always: 2^(w-1)
+float WEP_SHOTGUN			=  2; float WEPBIT_SHOTGUN			= 2;
+float WEP_UZI				=  3; float WEPBIT_UZI				= 4;
+float WEP_GRENADE_LAUNCHER	=  4; float WEPBIT_GRENADE_LAUNCHER	= 8;
+float WEP_ELECTRO			=  5; float WEPBIT_ELECTRO			= 16;
+float WEP_CRYLINK			=  6; float WEPBIT_CRYLINK			= 32;
+float WEP_NEX				=  7; float WEPBIT_NEX				= 64;
+float WEP_HAGAR				=  8; float WEPBIT_HAGAR			= 128;
+float WEP_ROCKET_LAUNCHER	=  9; float WEPBIT_ROCKET_LAUNCHER	= 256;
+float WEP_PORTO				= 10; float WEPBIT_PORTO			= 512;
+float WEP_MINSTANEX			= 11; float WEPBIT_MINSTANEX		= 1024;
+float WEP_HOOK     			= 12; float WEPBIT_HOOK     		= 2048;
+float WEP_HLAC			    = 13; float WEPBIT_HLAC		        = 4096;
+float WEP_SEEKER			= 14; float WEPBIT_SEEKER		    = 8192;
+float WEP_LAST				= 14; float WEPBIT_ALL              = 16383;
+float WEP_COUNT             = 15;
+
+float	IT_UNLIMITED_WEAPON_AMMO  = 1;
+// when this bit is set, using a weapon does not reduce ammo. Checkpoints can give this powerup.
+float	IT_UNLIMITED_SUPERWEAPONS = 2;
+// when this bit is set, using a superweapon does not throw it away. Checkpoints can give this powerup.
+float	IT_UNLIMITED_AMMO         = 3;
+// both of these combined
+float	IT_CTF_SHIELDED           = 4; // set for the flag shield
+float	IT_SHELLS				= 256;
+float	IT_NAILS				= 512;
+float	IT_ROCKETS				= 1024;
+float	IT_CELLS				= 2048;
+float	IT_SUPERWEAPON			= 4096;
+float	IT_AMMO					= 7936;
+float	IT_STRENGTH				= 8192;
+float	IT_INVINCIBLE			= 16384;
+float	IT_HEALTH				= 32768;
+// union:
+	// for items:
+	float	IT_KEY1					= 131072;
+	float	IT_KEY2					= 262144;
+	// for players:
+	float	IT_RED_FLAG_TAKEN		= 32768;
+	float	IT_RED_FLAG_LOST		= 65536;
+	float	IT_RED_FLAG_CARRING		= 98304;
+	float	IT_BLUE_FLAG_TAKEN		= 131072;
+	float	IT_BLUE_FLAG_LOST		= 262144;
+	float	IT_BLUE_FLAG_CARRING	= 393216;
+// end
+float	IT_5HP					= 524288;
+float	IT_25HP					= 1048576;
+float	IT_ARMOR_SHARD			= 2097152;
+float	IT_ARMOR				= 4194304;
+
+// variables:
+string weaponpriority_hudselector_0;
+string weaponpriority_hudselector_1;
+
+// functions:
+entity get_weaponinfo(float id);
+string W_FixWeaponOrder(string order, float complete);
+void RegisterWeapons();
+
+#define WEPSPAWNFLAG_NORMAL 1
+#define WEPSPAWNFLAG_CANCLIMB 2
+
+// entity properties of weaponinfo:
+.float weapon; // WEP_...
+.float weapons; // WEPBIT_...
+.string netname; // short name
+.string message; // human readable name
+.float items; // IT_...
+.float(float) weapon_func; // w_...
+.string mdl; // modelname without g_, v_, w_
+.string model; // full name of g_ model
+.float spawnflags; // WEPSPAWNFLAG_... combined
+.float impulse; // weapon impulse
+.float bot_pickupbasevalue; // bot weapon priority

Added: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_multiplayer_join_serverinfo.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_multiplayer_join_serverinfo.c	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/dialog_multiplayer_join_serverinfo.c	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,186 @@
+#ifdef INTERFACE
+CLASS(NexuizServerInfoDialog) EXTENDS(NexuizDialog)
+	METHOD(NexuizServerInfoDialog, fill, void(entity))
+	METHOD(NexuizServerInfoDialog, loadServerInfo, void(entity, float))
+	ATTRIB(NexuizServerInfoDialog, title, string, "Server Information")
+	ATTRIB(NexuizServerInfoDialog, color, vector, SKINCOLOR_DIALOG_SERVERINFO)
+	ATTRIB(NexuizServerInfoDialog, intendedWidth, float, 0.60)
+	ATTRIB(NexuizServerInfoDialog, rows, float, 11)
+	ATTRIB(NexuizServerInfoDialog, columns, float, 12)
+
+	ATTRIB(NexuizServerInfoDialog, currentServerName, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerCName, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerType, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerMap, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerPlayers, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerNumPlayers, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerNumBots, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerMod, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerVersion, string, string_null)
+	ATTRIB(NexuizServerInfoDialog, currentServerPing, string, string_null)
+
+	ATTRIB(NexuizServerInfoDialog, nameLabel, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, cnameLabel, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, typeLabel, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, mapLabel, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, rawPlayerList, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, numPlayersLabel, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, numBotsLabel, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, modLabel, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, versionLabel, entity, NULL)
+	ATTRIB(NexuizServerInfoDialog, pingLabel, entity, NULL)
+ENDCLASS(NexuizServerInfoDialog)
+
+float SLIST_FIELD_NAME;
+float SLIST_FIELD_CNAME;
+float SLIST_FIELD_QCSTATUS;
+float SLIST_FIELD_MAP;
+float SLIST_FIELD_PLAYERS;
+float SLIST_FIELD_NUMHUMANS;
+float SLIST_FIELD_MAXPLAYERS;
+float SLIST_FIELD_NUMBOTS;
+float SLIST_FIELD_MOD;
+float SLIST_FIELD_PING;
+string CURRENT_IP; //used by join button
+void Join_Click(entity me);
+#endif
+
+#ifdef IMPLEMENTATION
+void loadServerInfoNexuizServerInfoDialog(entity me, float i)
+{
+	float m;
+	string s, typestr, versionstr, numh, maxp;
+
+	SLIST_FIELD_NAME = gethostcacheindexforkey("name");
+	me.currentServerName = strzone(gethostcachestring(SLIST_FIELD_NAME, i));
+	me.nameLabel.setText(me.nameLabel, me.currentServerName);
+
+	SLIST_FIELD_CNAME = gethostcacheindexforkey("cname");
+	me.currentServerCName = strzone(gethostcachestring(SLIST_FIELD_CNAME, i));
+	CURRENT_IP = me.currentServerCName; //used by join button
+	me.cnameLabel.setText(me.cnameLabel, me.currentServerCName);
+
+	SLIST_FIELD_QCSTATUS = gethostcacheindexforkey("qcstatus");
+	s = gethostcachestring(SLIST_FIELD_QCSTATUS, i);
+	m = tokenizebyseparator(s, ":");
+	if(m > 1)
+	{
+		typestr = argv (0);
+		versionstr = argv(1);
+	}
+	else
+	{
+		typestr = "N.A.";
+		versionstr = "N.A.";
+	}
+	me.currentServerType = strzone(typestr);
+	me.typeLabel.setText(me.typeLabel, me.currentServerType);
+
+
+	SLIST_FIELD_MAP = gethostcacheindexforkey("map");
+	me.currentServerMap = strzone(gethostcachestring(SLIST_FIELD_MAP, i));
+	me.mapLabel.setText(me.mapLabel, me.currentServerMap);
+
+	SLIST_FIELD_PLAYERS = gethostcacheindexforkey("players");
+	me.currentServerPlayers = strzone(gethostcachestring(SLIST_FIELD_PLAYERS, i));
+	me.rawPlayerList.setPlayerList(me.rawPlayerList, me.currentServerPlayers);
+
+	SLIST_FIELD_NUMHUMANS = gethostcacheindexforkey("numhumans");
+	numh = ftos(gethostcachenumber(SLIST_FIELD_NUMHUMANS, i));
+	SLIST_FIELD_MAXPLAYERS = gethostcacheindexforkey("maxplayers");
+	maxp = ftos(gethostcachenumber(SLIST_FIELD_MAXPLAYERS, i));
+	me.currentServerNumPlayers = strzone(strcat(numh,"/",maxp));
+	me.numPlayersLabel.setText(me.numPlayersLabel, me.currentServerNumPlayers);
+
+	SLIST_FIELD_NUMBOTS = gethostcacheindexforkey("numbots");
+	s = ftos(gethostcachenumber(SLIST_FIELD_NUMBOTS, i));
+	me.currentServerNumBots = strzone(s);
+	me.numBotsLabel.setText(me.numBotsLabel, me.currentServerNumBots);
+
+	SLIST_FIELD_MOD = gethostcacheindexforkey("mod");
+	me.currentServerMod = strzone(gethostcachestring(SLIST_FIELD_MOD, i));
+	me.modLabel.setText(me.modLabel, me.currentServerMod);
+
+	me.currentServerVersion = strzone(versionstr);
+	me.versionLabel.setText(me.versionLabel, me.currentServerVersion);
+
+	SLIST_FIELD_PING = gethostcacheindexforkey("ping");
+	s = ftos(gethostcachenumber(SLIST_FIELD_PING, i));
+	me.currentServerPing = strzone(s);
+	me.pingLabel.setText(me.pingLabel, me.currentServerPing);
+}
+
+void fillNexuizServerInfoDialog(entity me)
+{
+	entity e;
+	me.TR(me);
+		me.TD(me, 1, me.columns, e = makeNexuizTextLabel(0.5, ""));
+			e.colorL = SKINCOLOR_SERVERINFO_NAME;
+			e.allowCut = 1;
+			me.nameLabel = e;
+	me.TR(me);
+		me.TD(me, 1, me.columns, e = makeNexuizTextLabel(0.5, ""));
+			e.colorL = SKINCOLOR_SERVERINFO_IP;
+			e.allowCut = 1;
+			me.cnameLabel = e;
+
+	me.TR(me);
+		me.TD(me, 1, 6, e = makeNexuizTextLabel(0, "Players:"));
+	me.TR(me);
+		me.TD(me, me.rows - 4, 5.5, e = makeNexuizPlayerList());
+			me.rawPlayerList = e;
+
+	me.gotoRC(me, 1, 6); me.setFirstColumn(me, me.currentColumn);
+
+	me.TR(me);
+		me.TD(me, 1, 1.75, e = makeNexuizTextLabel(0, "Type:"));
+		me.TD(me, 1, 4.5, e = makeNexuizTextLabel(0, ""));
+			e.allowCut = 1;
+			me.typeLabel = e;
+	me.TR(me);
+		me.TD(me, 1, 1.75, e = makeNexuizTextLabel(0, "Map:"));
+		me.TD(me, 1, 4.5, e = makeNexuizTextLabel(0, ""));
+			e.allowCut = 1;
+			me.mapLabel = e;
+	me.TR(me);
+		me.TD(me, 1, 1.75, e = makeNexuizTextLabel(0, "Players:"));
+		me.TD(me, 1, 4.5, e = makeNexuizTextLabel(0, ""));
+			e.allowCut = 1;
+			me.numPlayersLabel = e;
+	me.TR(me);
+		me.TD(me, 1, 1.75, e = makeNexuizTextLabel(0, "Bots:"));
+		me.TD(me, 1, 4.5, e = makeNexuizTextLabel(0, ""));
+			e.allowCut = 1;
+			me.numBotsLabel = e;
+	me.TR(me);
+		me.TD(me, 1, 1.75, e = makeNexuizTextLabel(0, "Mod:"));
+		me.TD(me, 1, 4.5, e = makeNexuizTextLabel(0, ""));
+			e.allowCut = 1;
+			me.modLabel = e;
+	me.TR(me);
+		me.TD(me, 1, 1.75, e = makeNexuizTextLabel(0, "Version:"));
+		me.TD(me, 1, 4.5, e = makeNexuizTextLabel(0, ""));
+			e.allowCut = 1;
+			me.versionLabel = e;
+	me.TR(me);
+		me.TD(me, 1, 1.75, e = makeNexuizTextLabel(0, "Ping:"));
+		me.TD(me, 1, 4.5, e = makeNexuizTextLabel(0, ""));
+			e.allowCut = 1;
+			me.pingLabel = e;
+
+	me.gotoRC(me, me.rows - 1, 0);
+
+		me.TD(me, 1, me.columns - 6, e = makeNexuizButton("OK", '0 0 0'));
+			e.onClick = Dialog_Close;
+			e.onClickEntity = me;
+		me.TD(me, 1, me.columns - 6, e = makeNexuizButton("Join!", '0 0 0'));
+			e.onClick = Join_Click;
+			e.onClickEntity = me;
+}
+
+void Join_Click(entity me)
+{
+	localcmd("connect ", CURRENT_IP, "\n");
+}
+
+#endif

Added: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/playerlist.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/playerlist.c	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/playerlist.c	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,88 @@
+#ifdef INTERFACE
+CLASS(NexuizPlayerList) EXTENDS(NexuizListBox)
+	ATTRIB(NexuizPlayerList, rowsPerItem, float, 1)
+	METHOD(NexuizPlayerList, resizeNotify, void(entity, vector, vector, vector, vector))
+	METHOD(NexuizPlayerList, drawListBoxItem, void(entity, float, vector, float))
+	ATTRIB(NexuizPlayerList, realFontSize, vector, '0 0 0')
+	ATTRIB(NexuizPlayerList, columnNameOrigin, float, 0)
+	ATTRIB(NexuizPlayerList, columnNameSize, float, 0)
+	ATTRIB(NexuizPlayerList, realUpperMargin, float, 0)
+	ATTRIB(NexuizPlayerList, origin, vector, '0 0 0')
+	ATTRIB(NexuizPlayerList, itemAbsSize, vector, '0 0 0')
+	METHOD(NexuizPlayerList, setPlayerList, void(entity, string))
+	METHOD(NexuizPlayerList, getPlayerList, string(entity, float, float))
+	ATTRIB(NexuizPlayerList, playerList, float, -1)
+ENDCLASS(NexuizPlayerList)
+entity makeNexuizPlayerList();
+#endif
+
+#ifdef IMPLEMENTATION
+
+#define PLAYERPARM_SCORE 0
+#define PLAYERPARM_PING 1
+#define PLAYERPARM_NAME 2
+#define PLAYERPARM_COUNT 3
+
+entity makeNexuizPlayerList()
+{
+	entity me;
+	me = spawnNexuizPlayerList();
+	me.configureNexuizListBox(me);
+	return me;
+}
+
+void setPlayerListNexuizPlayerList(entity me, string plist)
+{
+	dprint(plist,"------------\n");
+
+	float buf,i;
+	string s;
+
+	buf = buf_create();
+	me.nItems = tokenizebyseparator(plist, "\n");
+	for(i = 0; i < me.nItems; ++i)
+	{
+		bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_NAME, argv(i)); // -666 100 "^4Nex ^2Player"
+	}
+
+	for(i = 0; i < me.nItems; ++i)
+	{
+		s = bufstr_get(buf, i * PLAYERPARM_COUNT + PLAYERPARM_NAME);
+		tokenize_sane(s);
+		bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_SCORE, argv(0)); // -666
+		bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_PING,  argv(1)); // 100
+		bufstr_set(buf, i * PLAYERPARM_COUNT + PLAYERPARM_NAME,  argv(2)); // ^4Nex ^2Player
+	}
+	me.playerList = buf;
+}
+
+string getPlayerListNexuizPlayerList(entity me, float i, float key)
+{
+	return bufstr_get(me.playerList, i * PLAYERPARM_COUNT + key);
+}
+
+void resizeNotifyNexuizPlayerList(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.columnNameOrigin = me.realFontSize_x;
+	me.columnNameSize = 1 - 2 * me.realFontSize_x;
+}
+
+void drawListBoxItemNexuizPlayerList(entity me, float i, vector absSize, float isSelected)
+{
+	string s;
+
+	s = me.getPlayerList(me, i, PLAYERPARM_NAME);
+
+	s = draw_TextShortenToWidth(s, me.columnNameSize / me.realFontSize_x, 1);
+	draw_Text(me.realUpperMargin2 * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 1) * me.realFontSize_x)) * eX, s, me.realFontSize, SKINCOLOR_MAPLIST_AUTHOR, 1, 1);
+}
+
+#endif

Added: branches/nexuiz-2.0/data/scripts/portals.shader
===================================================================
--- branches/nexuiz-2.0/data/scripts/portals.shader	                        (rev 0)
+++ branches/nexuiz-2.0/data/scripts/portals.shader	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,32 @@
+portals_red_vortex
+{
+	cull none
+	deformVertexes wave 100 sin 1.5 0.6 0 1.5
+	{
+		map textures/portals/portals_red_vortex.tga
+		tcMod rotate 10
+		blendfunc blend
+	}
+}
+
+portals_blue_vortex
+{
+	cull none
+	deformVertexes wave 100 sin 1.5 0.6 0 1.5
+	{
+		map textures/portals/portals_blue_vortex.tga
+		tcMod rotate 10
+		blendfunc blend
+	}
+}
+
+portals_inactive_vortex
+{
+	cull none
+	deformVertexes wave 100 sin 1.5 0.6 0 1.5
+	{
+		map textures/portals/portals_inactive_vortex.tga
+		tcMod rotate 10
+		blendfunc blend
+	}
+}

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


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

Added: branches/nexuiz-2.0/data/sound/player/marine/coms/teamshoot4.ogg
===================================================================
(Binary files differ)


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

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


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

Added: branches/nexuiz-2.0/data/sound/player/specop/coms/taunt4.ogg
===================================================================
(Binary files differ)


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

Added: branches/nexuiz-2.0/data/sound/player/specop/coms/teamshoot4.ogg
===================================================================
(Binary files differ)


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

Added: branches/nexuiz-2.0/misc/assault-circuit-board-creator.pl
===================================================================
--- branches/nexuiz-2.0/misc/assault-circuit-board-creator.pl	                        (rev 0)
+++ branches/nexuiz-2.0/misc/assault-circuit-board-creator.pl	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,278 @@
+#!/usr/bin/perl
+
+# script that creates an "assault circuit"
+
+use strict;
+use warnings;
+
+my @objectives = @ARGV;
+
+if(!@objectives)
+{
+	print STDERR <<EOF;
+Assault Circuit Board Creator
+
+Usage: 
+  [brushprimit=1 \\]
+  [ofs_x=offset \\]
+  [ofs_y=offset \\]
+  [ofs_z=offset \\]
+  perl $0 breakables1[,buttons1] breakables2[,buttons2] breakables3[,buttons3] ... \\
+  > file.map
+
+Example:
+  ofs_z=1024 perl $0 1 1 3,2 1 > assault.map
+EOF
+	exit 1;
+}
+
+my $bp = $ENV{brushprimit};
+my @ofs = ($ENV{ofs_x} || 0, $ENV{ofs_y} || 0, $ENV{ofs_z} || 0);
+
+my $BRUSHDEF_START = $bp ? "{\nbrushDef\n{" : "{";
+my $BRUSHDEF_END   = $bp ? "}\n}" : "}";
+my $BRUSHDEF_PRE   = $bp ? "( ( 0.03125 0 -0 ) ( -0 0.03125 0 ) ) " : "";
+my $BRUSHDEF_POST  = $bp ? " 0 0 0" : " 0 0 0 0.500000 0.500000 0 0 0";
+
+sub BrushRectangle($@@)
+{
+    my ($shader, $x0, $y0, $z0, $x1, $y1, $z1) = @_;
+    return <<EOF;
+$BRUSHDEF_START
+( $x1 $y1 $z1 ) ( $x1 $y0 $z1 ) ( $x0 $y1 $z1 ) $BRUSHDEF_PRE$shader$BRUSHDEF_POST
+( $x1 $y1 $z1 ) ( $x0 $y1 $z1 ) ( $x1 $y1 $z0 ) $BRUSHDEF_PRE$shader$BRUSHDEF_POST
+( $x1 $y1 $z1 ) ( $x1 $y1 $z0 ) ( $x1 $y0 $z1 ) $BRUSHDEF_PRE$shader$BRUSHDEF_POST
+( $x0 $y0 $z0 ) ( $x1 $y0 $z0 ) ( $x0 $y1 $z0 ) $BRUSHDEF_PRE$shader$BRUSHDEF_POST
+( $x0 $y0 $z0 ) ( $x0 $y0 $z1 ) ( $x1 $y0 $z0 ) $BRUSHDEF_PRE$shader$BRUSHDEF_POST
+( $x0 $y0 $z0 ) ( $x0 $y1 $z0 ) ( $x0 $y0 $z1 ) $BRUSHDEF_PRE$shader$BRUSHDEF_POST
+$BRUSHDEF_END
+EOF
+}
+
+sub Entity(%)
+{
+	my (%h) = @_;
+	my @brushes = ();
+	if(ref $h{model} eq 'ARRAY')
+	{
+		@brushes = @{$h{model}};
+		delete $h{model};
+	}
+	return join "", ("{\n", (map { qq{"$_" "$h{$_}"\n} } keys %h), @brushes, "}\n");
+	# "
+}
+
+sub FindDamage($)
+{
+	my ($cnt) = @_;
+
+	my $dmg;
+
+	# 1. divisible by 10?
+	$dmg = (1 + int(10 / $cnt)) * 10;
+	return $dmg
+		if $dmg * ($cnt - 1) < 100;
+
+	# 2. divisible by 5?
+	$dmg = (1 + int(20 / $cnt)) * 5;
+	return $dmg
+		if $dmg * ($cnt - 1) < 100;
+
+	# 3. divisible by 2?
+	$dmg = (1 + int(50 / $cnt)) * 2;
+	return $dmg
+		if $dmg * ($cnt - 1) < 100;
+
+	# 4. divisible by 1?
+	$dmg = (1 + int(100 / $cnt));
+	return $dmg
+		if $dmg * ($cnt - 1) < 100;
+
+	# 5. give up
+	return (100 / $cnt + 100 / ($cnt + 1)) / 2;
+}
+
+sub ObjectiveSpawns($@)
+{
+	my ($target, $x, $y, $z) = @_;
+
+	my @l = ();
+
+	$z -= 64;
+
+	for(1..6)
+	{
+		my $xx = $x - 32;
+		my $yy = $y + ($_ - 3.5) * 64;
+		my $zz = $z - 8 - 32; # align feet to 64-grid
+		push @l, Entity
+			classname => "info_player_attacker",
+			target => $target,
+			origin => "$xx $yy $zz";
+
+		$xx = $x + 32;
+		push @l, Entity
+			classname => "info_player_defender",
+			target => $target,
+			origin => "$xx $yy $zz";
+	}
+
+	return @l;
+}
+
+my @assault_entities = ();
+
+my $obj_prev = undef;
+my $des_prev = undef;
+
+my @prevorigin = @ofs;
+
+for my $i(0.. at objectives - 1)
+{
+	my @origin =
+	(
+		$ofs[0] + ($i + 1) * 256,
+		$ofs[1] + 0,
+		$ofs[2] + 0
+	);
+
+	my $count = $objectives[$i];
+	$count =~ /^(\d+)(?:,(\d+))?$/s
+		or die "Invalid count spec: must be number or number,number";
+	my $count_destroy = $1;
+	my $count_push = $2 || 0;
+	$count = $count_destroy + $count_push;
+
+	my $obj = "obj$i";
+	my $des = "obj$i\_destructible";
+	my $dec = "obj$i\_decrease";
+
+	if($i == 0)
+	{
+		push @assault_entities, Entity
+			classname => "target_assault_roundstart",
+			target => $obj,
+			target2 => $des,
+			origin => "@prevorigin";
+	}
+	else
+	{
+		push @assault_entities, Entity
+			classname => "target_objective",
+			targetname => $obj_prev,
+			target => $obj,
+			target2 => $des,
+			origin => "@prevorigin";
+
+		push @assault_entities, ObjectiveSpawns $obj_prev, @prevorigin;
+
+		push @assault_entities, Entity
+			classname => "func_assault_wall",
+			target => $obj_prev,
+			model => [
+				BrushRectangle
+					"dsi/dsiglass",
+					$origin[0] - 128 - 32,
+					$origin[1] - 512,
+					$origin[2] - 512,
+					$origin[0] - 128 + 32,
+					$origin[1] + 512,
+					$origin[2] + 512
+			];
+	}
+
+	@prevorigin = @origin;
+
+	$origin[2] += 64;
+
+	my $dmg = FindDamage($count);
+
+	push @assault_entities, Entity
+		classname => "target_objective_decrease",
+		targetname => $dec,
+		target => $obj,
+		dmg => $dmg,
+		origin => "@origin";
+
+	$origin[2] += 64;
+
+	for(1..$count_destroy)
+	{
+		push @assault_entities, Entity
+			classname => "func_assault_destructible",
+			targetname => $des,
+			target => $dec,
+			health => 1000,
+			mdl => "rocket_explode",
+			count => 1,
+			noise => "weapons/rocket_impact.wav",
+			dmg => 50,
+			dmg_edge => 0,
+			dmg_radius => 150,
+			dmg_force => 200,
+			model => [
+				BrushRectangle
+					"dsi/cretebase",
+					$origin[0] - 16,
+					$origin[1] - 16,
+					$origin[2] - 16,
+					$origin[0] + 16,
+					$origin[1] + 16,
+					$origin[2] + 16
+			];
+
+		$origin[2] += 64;
+	}
+
+	for(1..$count_push)
+	{
+		push @assault_entities, Entity
+			classname => "func_button",
+			target => $dec,
+			angle => -2,
+			model => [
+				BrushRectangle
+					"dsi/dablue",
+					$origin[0] - 16,
+					$origin[1] - 16,
+					$origin[2] - 16,
+					$origin[0] + 16,
+					$origin[1] + 16,
+					$origin[2] + 16
+			];
+
+		$origin[2] += 64;
+	}
+
+	$obj_prev = $obj;
+	$des_prev = $des;
+}
+
+my $obj = "roundend";
+my @origin =
+(
+	$ofs[0] + (@objectives + 1) * 256,
+	$ofs[1] + 0,
+	$ofs[2] + 0
+);
+
+push @assault_entities, Entity
+	classname => "target_objective",
+	targetname => $obj_prev,
+	target => $obj,
+	origin => "@prevorigin";
+
+push @assault_entities, ObjectiveSpawns $obj_prev, @prevorigin;
+
+push @assault_entities, Entity
+	classname => "target_assault_roundend",
+	targetname => $obj,
+	origin => "@origin";
+
+my $map = join "",
+(
+	Entity(classname => "worldspawn"),
+	@assault_entities
+);
+
+print $map;

Added: branches/nexuiz-2.0/misc/bsptool.pl
===================================================================
--- branches/nexuiz-2.0/misc/bsptool.pl	                        (rev 0)
+++ branches/nexuiz-2.0/misc/bsptool.pl	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,86 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+my $msg = "";
+
+my $fn = shift @ARGV;
+open my $fh, "<", $fn
+	or die "$fn: $!";
+
+read $fh, my $header, 8;
+
+die "Invalid BSP format"
+	if $header ne "IBSP\x2e\x00\x00\x00";
+
+my @lumpname = qw/entities textures planes nodes leafs leaffaces leafbrushes models brushes brushsides vertices triangles effects faces lightmaps lightgrid pvs advertisements/;
+my %lumpid = map { $lumpname[$_] => $_ } 0.. at lumpname-1;
+
+my @bsp;
+
+for(0..16)
+{
+	read $fh, my $lump, 8;
+	my ($offset, $length) = unpack "VV", $lump;
+
+	print "BSP lump $_ ($lumpname[$_]): offset $offset length $length\n";
+	push @bsp, [$offset, $length, undef];
+}
+
+for(@bsp)
+{
+	my ($offset, $length, $data) = @$_;
+	seek $fh, $offset, 0;
+	read $fh, $data, $length;
+	length $data == $length
+		or die "Incomplete BSP lump at $offset\n";
+	$_->[2] = $data;
+}
+
+for(@ARGV)
+{
+	if(/^-x(.*)$/)
+	{
+		my $id = $lumpid{$1};
+		die "invalid lump $1 to remove"
+			unless defined $id;
+		$bsp[$id]->[2] = "";
+	}
+	elsif(/^-m(.*)$/)
+	{
+		$msg = $1;
+	}
+	elsif(/^-e(.*)$/) # extract lump
+	{
+		my $id = $lumpid{$1};
+		die "invalid lump $1 to extract"
+			unless defined $id;
+		print $bsp[$id]->[2];
+	}
+	elsif(/^-o(.*)$/)
+	{
+		open my $fh, ">", $1
+			or die "$1: $!";
+		print $fh $header;
+		my $pos = 17 * 8 + tell($fh) + length $msg;
+		for(@bsp)
+		{
+			$_->[0] = $pos;
+			$_->[1] = length $_->[2];
+			$pos += $_->[1];
+			print $fh pack "VV", $_->[0], $_->[1];
+		}
+		print $fh $msg;
+		for(@bsp)
+		{
+			print $fh $_->[2];
+		}
+	}
+}
+
+# TODO:
+#   features like:
+#     externalize lightmaps
+#     decimate light grid
+#     edit lightmaps/grid

Added: branches/nexuiz-2.0/misc/sb-flag-shielded.svg
===================================================================
--- branches/nexuiz-2.0/misc/sb-flag-shielded.svg	                        (rev 0)
+++ branches/nexuiz-2.0/misc/sb-flag-shielded.svg	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="503"
+   height="470"
+   version="1.0"
+   sodipodi:docbase="/home/users4/ommz/polzer/WWW/temp/running-marine"
+   sodipodi:docname="sb-flag-shielded.svg"
+   inkscape:export-filename="/home/users4/ommz/polzer/WWW/temp/running-marine/flag-carrying-blue.png"
+   inkscape:export-xdpi="13.401096"
+   inkscape:export-ydpi="13.401096"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 235 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="503 : 235 : 1"
+       inkscape:persp3d-origin="251.5 : 156.66667 : 1"
+       id="perspective31" />
+    <linearGradient
+       id="linearGradient3763">
+      <stop
+         style="stop-color:red;stop-opacity:1;"
+         offset="0"
+         id="stop3765" />
+      <stop
+         id="stop3775"
+         offset="0.33000001"
+         style="stop-color:yellow;stop-opacity:1;" />
+      <stop
+         style="stop-color:red;stop-opacity:1;"
+         offset="0.66000003"
+         id="stop3777" />
+      <stop
+         style="stop-color:yellow;stop-opacity:1;"
+         offset="1"
+         id="stop3767" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2801">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop2803" />
+      <stop
+         id="stop2809"
+         offset="0.94999999"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop2805" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2801"
+       id="linearGradient2844"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.539066,0,0,1.902367,2.172742,-512.696)"
+       x1="-0.064449146"
+       y1="134.97579"
+       x2="499.41825"
+       y2="134.97579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2801"
+       id="linearGradient3780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.376665,0,0,1.902367,2.162274,-512.696)"
+       x1="-0.064449146"
+       y1="134.97579"
+       x2="499.41825"
+       y2="134.97579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2801"
+       id="linearGradient3788"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.450701,0,0,1.902367,2.167046,-512.696)"
+       x1="-0.064449146"
+       y1="134.97579"
+       x2="499.41825"
+       y2="134.97579" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2801"
+       id="linearGradient3793"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.450701,0,0,1.902367,2.167046,-512.696)"
+       x1="-0.064449146"
+       y1="134.97579"
+       x2="499.41825"
+       y2="134.97579" />
+    <mask
+       maskUnits="userSpaceOnUse"
+       id="mask3790">
+      <rect
+         transform="matrix(0,1,-1,0,0,0)"
+         style="opacity:1;fill:url(#linearGradient3793);fill-opacity:1;stroke:none;stroke-width:7.87110186;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect1878"
+         width="225.11722"
+         height="511.84491"
+         x="2.137996"
+         y="-511.84491" />
+    </mask>
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="765"
+     inkscape:window-width="1019"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="true"
+     grid_units="mm"
+     inkscape:grid-points="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:grid-bbox="true"
+     inkscape:zoom="0.83829788"
+     inkscape:cx="322.19322"
+     inkscape:cy="177.03021"
+     inkscape:window-x="26"
+     inkscape:window-y="68"
+     inkscape:current-layer="svg2">
+    <inkscape:grid
+       id="GridFromPre046Settings"
+       type="xygrid"
+       originx="0px"
+       originy="0px"
+       spacingx="1.25mm"
+       spacingy="1.25mm"
+       color="#0000ff"
+       empcolor="#0000ff"
+       opacity="0.2"
+       empopacity="0.4"
+       empspacing="5"
+       units="mm"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <path
+     id="path3671"
+     d="M 255.85515,350.70413 L 303.78699,157.89205 C 279.41205,151.31245 254.49331,152.73143 229.45669,147.96063 C 205.35465,141.96902 175.2267,125.93279 175.2267,125.93279 L 159.24707,190.21293 C 159.24707,190.21293 189.38206,206.22082 213.48411,212.21243 C 237.58615,218.20404 271.73733,218.17728 271.73733,218.17728 L 239.78511,346.70922"
+     style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+     mask="none" />
+  <path
+     style="opacity:1;fill:#aa0000;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="M 233.59375,27.09375 C 117.46186,27.09375 23.21875,121.33686 23.21875,237.46875 C 23.218748,353.60065 117.46186,447.84375 233.59375,447.84375 C 349.72564,447.84374 444,353.60064 444,237.46875 C 444,121.33687 349.72564,27.09375 233.59375,27.09375 z M 233.59375,71.375 C 325.27682,71.375 399.6875,145.78568 399.6875,237.46875 C 399.6875,279.3234 384.20404,317.59332 358.625,346.8125 L 124.28125,112.5 C 153.50236,86.913055 191.73187,71.375 233.59375,71.375 z M 108.59375,128.125 L 342.96875,362.46875 C 313.74534,388.06512 275.46426,403.5625 233.59375,403.5625 C 141.91068,403.56249 67.5,329.15182 67.5,237.46875 C 67.499999,195.61411 83.014714,157.34418 108.59375,128.125 z"
+     id="path3211" />
+</svg>

Added: branches/nexuiz-2.0/modelsource/portal_source.7z
===================================================================
(Binary files differ)


Property changes on: branches/nexuiz-2.0/modelsource/portal_source.7z
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/nexuiz-2.0/readme.html
===================================================================
--- branches/nexuiz-2.0/readme.html	                        (rev 0)
+++ branches/nexuiz-2.0/readme.html	2008-11-27 14:24:49 UTC (rev 5124)
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<meta name="author" content="Tyler Mulligan of www.detrition.net a.k.a -z- of www.nexuizninjaz.com" />
+<meta name="Description" content="Nexuiz is a free open-source fast paced first person shooter (FPS) that runs on Windows, Linux and OSX.  Nexuiz utilizes the darkplaces engine modeled after the Quake series." />
+<meta name="Keywords" content="Nexuiz, Nexiuz, first person shooter, darkplaces, open-source game, open source game, free game, linux game, deathmatch, death match, ctf, quake, alientrap, alien trap, ninjaz" />
+<title>Nexuiz - A free open-source fast paced first person shooter (FPS) for Windows, Linux and OSX</title>
+<link rel="stylesheet" href="Docs/htmlfiles/style.css" type="text/css"></link>
+<link rel="shortcut icon" href="favicon.ico"></link>
+</head>
+<body>
+<div id="container">
+	<div id="left">
+		<div id="logo">
+
+			<a href="http://www.nexuiz.com" title="Nexuiz - Simple, fast, intense and completely free"><img src="Docs/htmlfiles/img/nexuiz_logo.jpg" alt="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." width="201" height="193" border="0" title="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." /></a>
+		</div>
+		<!-- Sidebar -->
+	  <div id="sidebar">
+			<a href="news.php" title="Latest Nexuiz News"><img src="Docs/htmlfiles/img/headers/latest_news.gif" alt="Latest News" width="168" height="16" border="0" class="imgHeader" style="margin-top:0;" title="Latest Nexuiz News" /></a>
+			<div id="news">
+			  <div class="newsPost">
+						<h1><a href="http://nexuiz.com/news.php" title="Two Nexuiz 1v1 Tourneys">nexuiz.com/news - for nexuiz news updates</a></h1>
+			  </div>
+		</div>
+			<!-- Downloads -->
+			<a href="downloads.php" title="Nexuiz Downloads (Game, Maps)"><img src="Docs/htmlfiles/img/headers/downloads.gif" alt="Downloads" width="145" height="15" border="0" class="imgHeader" title="Downloads" /></a>
+			<a id="download_nexuiz" href="http://downloads.sourceforge.net/nexuiz/nexuiz-242.zip" title="Download Nexuiz from Source Forge - Left Click">&nbsp;</a>
+			<!--<a id="download_q3_mappack" href="http://downloads.sourceforge.net/nexuiz/nexmappack_r2.zip" title="Download Nexuiz Q3 Mappack from Source
+			Forge - Left Click">&nbsp;</a>-->
+			<h2 class="page"><a href="http://nexuiz.com/downloads.php" title="Nexuiz Download Mirrors">Mirrors -&gt;</a></h2>
+			<!-- Help Wanted -->
+			
+			<img src="Docs/htmlfiles/img/headers/help_wanted.gif" alt="Help Wanted" width="165" height="15" class="imgHeader" title="Help Wanted" />			
+			<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="donate_form"> <input name="cmd" value="_s-xclick" type="hidden" />
+			<a id="donate" href="javascript:document.donate_form.submit();" title="Help The Aliens, Please Donate">&nbsp;</a>
+			<noscript>
+				<!-- It not an elegant solution but I don't expect many users to arrive with JS turned off -->
+                <input name="submit" type="image" src="Docs/htmlfiles/img/donate_button_noscript.jpg" alt="Help this project - Donate to the aliens" width="166" height="43" />
+</noscript>
+			<h2 class="page"><a href="http://nexuiz.com/donators.php" title="Those who have donated to Nexuiz">Donators -&gt;</a></h2>
+			<input name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----" type="hidden" /></form>
+			
+		  <!-- Created By -->
+		  <img src="Docs/htmlfiles/img/headers/created_by.gif" alt="Created By" width="145" height="15" class="imgHeader" title="Created By" />
+
+	  <a id="alien_trap" href="http://www.alientrap.org" title="Developed by Alien Trap" target="_blank">&nbsp;</a>	  </div>
+		<!-- end sidebar -->	</div><!-- end left -->
+	<div id="right">
+		<div id="header">
+			<a href="http://nexuiz.com" title="Nexuiz - Simple, fast, intense and completely free"><img src="Docs/htmlfiles/img/nexuiz_header.jpg" alt="Nexuiz is a free open-source fast paced first person shooter that runs on Windows, Linux and OSX." width="766" height="107" border="0" title="Nexuiz - Simple, fast, intense and completely free" /></a>
+		</div>
+		<div id="menu">
+			<ul>
+
+				<li class="first"><a href="readme.html" title="Nexuiz - Latest News">About </a></li>
+				<li><a href="Docs/basics.html" title="Nexuiz - Media (Screenshots, videos and graphics)">Nexuiz Basics</a></li>
+				<li><a href="Docs/say-esc.html" title="Nexuiz Information  (General, System Requirements)">Say Escapes</a></li>
+				<li><a href="Docs/irc.html" title="Nexuiz - Downloads (Game, Maps)">IRC</a></li>
+				<li><a href="Docs/faq.html" title="Official Nexuiz FAQ">FAQ</a></li>
+				<li class="first"></li>
+		  </ul>		</div>
+		<p id="tagline">Nexuiz is a <b>free</b> open-source first person shooter that runs on <b>Windows</b>, <b>Linux</b> and <b>OSX</b>.</p>
+	  <div id="content">
+		  <p>Nexuiz is  a fast paced  3d deathmatch game  project created online by a team of developers called <a href="http://www.alientrap.org" title="Alientrap - Online video game creation and collaboration" target="_blank">Alientrap</a>. It is available for download for Windows, Mac, and Linux (all the same archive).</p>
+		<p>The first version was released May 31st 2005, released entirely GPL and free over the net, a first for a project of its kind. Since then it has been downloaded over 1.5 million times, and the game is still being updated and developed, currently at version 2.4 and new releases being developed.</p>
+			<p>With an advanced UI the user can select between over a dozen different player models with an average of two skins for each and can connect to our master server to play people from all over the world. The game's content and source are released under the <a href="http://www.gnu.org/"><span class="linktext">The GNU General Public License (GPL) is one of the most common open-source licenses and was the license id Software chose to release the Quake1 engine under </span>GPL</a>, meaning it is entirely free and any of it can be used in other free projects, even if modified. This is a first for any large game project of its type. We hope this will support the free game community and encourage more GPL projects.</p>
+	  <p>If you would like to support the project please see its website for donating:<br /> 
+	    <a href="https://www.paypal.com/ca/cgi-bin/webscr?cmd=_flow&SESSION=IkbSiO6w4rlHaKCfSGGBCFlYXxl9q4yyRG5SnQe6yiMr9KHfUGyEUtYu_Jm&dispatch=5885d80a13c0db1f38432c9462fe731381a7a80e09148cd4af2c34b16e5a6822"><span class="linktext">PayPal - Donate to the aliens!</span></a></p>
+	        <p><br style="clear:left" />
+        </p>
+	  </div>
+	  <!-- end content -->
+		<div id="footer">
+			<p id="ninja"><a href="http://www.detrition.net" title="Tyler Mulligan's Working Portfolio" target="_blank">page created by</a> <a href="http://www.nexuizninjaz.com" title="Nexuiz Ninjaz - Practicing the ninja arts of Nexuiz" target="_blank">a ninja</a></p>
+			<ul>
+
+				<li class="first"><a href="http://alientrap.org/nexuiz/news.php" title="Nexuiz - Latest News">News</a></li>
+				<li><a href="http://alientrap.org/nexuiz/media.php" title="Nexuiz - Media (Screenshots, videos and graphics)">Media</a></li>
+				<li><a href="http://alientrap.org/nexuiz/information.php" title="Nexuiz Information  (General, System Requirements)">Info</a></li>
+				<li><a href="http://alientrap.org/nexuiz/team.php" title="The Nexuiz Team">Team</a></li>
+				<li><a href="http://alientrap.org/nexuiz/links.php" title="Nexuiz Links">Links</a></li>
+				<li><a href="http://alientrap.org/forum/index.php?c=3" title="Official Nexuiz Forums" target="_blank">Forums</a></li>
+				<li><a href="http://planetnexuiz.com/ladder/" title="Nexuiz Ladder" target="_blank">Ladder</a></li>
+				<li><a href="http://planetnexuiz.com/tourney/" title="Nexuiz Tournaments" target="_blank">Tournament</a></li>
+				<li class="first"></li>
+				</ul>		</div><!-- end footer -->
+		<p class="subFooter">Come to the Nexuiz IRC channel: <a href="irc://irc.quakenet.org/nexuiz" title="#nexuiz on irc.quakenet.org">#nexuiz on irc.quakenet.org</a> or the team channel: <a href="irc://irc.anynet.org/alientrap" title="#alientrap on irc.anynet.org">#alientrap on irc.anynet.org</a></p>
+
+		<div id="valid">
+			<a id="valid_css" href="http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Falientrap.org%2Fnexuiz%2Findex.php">&nbsp;</a>
+			<a id="valid_xhtml" href="http://validator.w3.org/check?uri=http%3A%2F%2Falientrap.org%2Fnexuiz%2Findex.php">&nbsp;</a>
+			<p>&copy; 2004-2008 Nexuiz.com</p>
+		</div>
+	</div><!-- end right -->
+</div>
+</body>
+</html>




More information about the nexuiz-commits mailing list