	Q2K4 - Yet another GLQuake-based engine
	<http://www.inovagames.com/q2k4>


=============
   What is
=============


	Q2K4 is my own port of the original source code. Basically, I
	gathered a lot of fixes, cool features from other engines and
	even some code from	myself (which you can easily distinguish
	from the rest because it's really buggy). My goal is to make
	a cool engine for modding and learn OpenGL programming.


=============
  Features
=============

Version 1.96 (2005-09-05)
	* Experimental MD3 support (unstable yet). See q2k4.ls for configurable flags for MD3 models;
	* Hunk memory usage can be monitorated by log (log_hunkuse 1 turns log on);
	* Better memory management (replaced a good bunch of malloc() by hunk memory alloc calls);
	* dyntex now can have up to 512 x 512 pixels (better image, can slow a lot the FPS);
	* Double texture resolution and resampling from MHQuake. Toggled by r_dbltexsize and LameScript
	support (see section "filters", key "dblsize" in q2k4.ls for examples);
	* r_theme cvar now can be bypassed just setting it to "".


Version 1.88 (2005-04-25)
    * Fixed (hopefully) the multitexture bug;
    * Added command line option to turn stencil buffer off (-nostencil);
    * Renamed the r_textdir cvar to r_theme (works exactly in the same way);
    * External texture loading now tries to load directly from the game dir
    root if the file is not found into the theme dir (avoiding duplicated
    textures across theme folders);
    * Improved sky warp (thanks MH again);
    * Dyntex size (and thus resolution) now is controlled by a cvar (r_dyntexsize,
    valid values are: 16, 64, 128 (default) or 256);
    * Network protocol message to set the dyntex coordinates and angles
    (WARNING: stills experimental and too buggy) - see below for details;
    * Added support to MOVETYPE_FOLLOW (from DarkPlaces - thanks LordHavoc);
    * Added texture filtering support (thanks MH);
    * Added support to LameScript (an exclusive feature from Q2K4). Now a bunch
    of information that used to be hardcoded can be freely changed using Notepad.
    See README.TXT for details.

Version 1.71 (2005-02-15)
	* Added the built-in QuakeC function checkextension to comply with mods which use it.
	Also, Q2K4 now has its own extension list (see below);
	* Fixed bug that prevented the engine to load really small textures (smaller than 8x8
	pixels). This was the "unknown bug in the Q2K4 QuakeC" mentioned below that prevented
	Q2K4 to load and run Kinn's "Marcher Fortress" map with the embedded progs.dat;
	* The infamous gl_ztrick cvar is back, since the engine became more unstable without
	it (at least in my system, your mileage may vary);
	* Fullbright texture generation is automatically disabled for external textures (TGA,
	PNG, JPEG). This fixes the bug in the q2k4demo map where you could see the same
	fullbright textures for animated buttons if you changed the value of r_textdir;
	* Fixed engine crash when loading a theme without skyboxes but the skybox cvar was "1";
	* Fixed not reloading sky textures when changed theme;
	* Q2K4 now forces a cache flush if the r_textdir cvar changes, so model skins are
	updated. This obviously has some performance impact, but only in the very specific
	case of changing themes;
	* Disabled support for IPX & modem network in Q2K4. Now only TCP/IP is available for
	multiplayer;
	* Q2K4 now is built with several compiler otimizations for code size and speed enabled.
	As result, the executable is about 25% smaller.

version 1.62 (2005-01-20)
	* extended several engine limits to run really big maps (like Kinn's
	"Marcher Fortress");
	* Q2K4 won't use 8 bit extensions (3DFX legacy) by default. You must
	force it with "-use8bit" in the command line;
	* extended multitexture support to use GL_ARB_Multitexture when available
	(can increase noticeably your fps - your milleage may vary) - original code
	from Tomazquake;
	* experimental dynamic texture generation (see below for more details);
	* cvar gl_ztrick killed (was trashing the dyn tex code), now engine clears
	the Z-buffer every frame;
	* fixed (and tested with a REALLY big map) the coordinate system limit (16384
	opposed to the original 4096 limit);
	* changed gl_flashblend default to 0, now saves to config.cfg;
	* Enabled (and changed) some Q2 effects: EF_DARKFIELD (now is an orange
	thick particle field),EF_DARKLIGHT (now is a electric gloom),EF_LIGHT , EF_NODRAW;
	* fixed water warp ignoring partially cvar r_waterwarp
	* JPG texture loading support (uses jpeglib);
	* PNG texture loading support (uses libpng);
	* Dropped PCX support;
	* multi skin load for MD2 player models (see below how to use);
	* sky textures now can use external PNG, TGA or JPG images (see how to below);
	* sky layers scrolling speed controlled by cvars (skyspeed0, skyspeed1);
	* scrollable textures (see below how to use);
	* fixed the "envmap" command (now works off screen and save .raw (RGB) images for while);
	* added "listmaps" command (original code by Shadowalker)
	* added per-polygon collision detection (original code by Rich Whitehouse<thefatal@telefragged.com>, see more below)

Version 1.40 (2004-11-20)
	* MIDI playback support (from Hexen II code);
	* Water ripple (from QBism & QuakeForge);
	* Original id's mirror code fixed;
	* MD2 support changed to load player models skins;
	* Small QuakeC interpreter improvements from TomazQuake;
	* QuakeC file I/O and string manipulation functions from TomazQuake/FrikaC;
	* .ms2 file creation removed (no more glquake dir)
	* Support for transparent textures (see below for how to use);
	* Up to 9999 screenshots in their own "shots" dir (q2k40000.tga, ...);
	* Fix to "SZ_GetSpace: overflow without allowoverflow set" in E1M7;
	* Q2K4 don't try to rotate the worldspawn anymore (like in E3M3);
	* Corrected the menu crashing bug;
	* fix for NAT from ProQuake;

version 1.25 (2004-07-11)

	* AVI capture support (code from QuakeDoneQuick team);
	* High resolution textures loading (up to 4096 x 4096 pixels) -
	  adapted from MrG's original code;
	* MP3 load and playback (mono channels only, can be any sample frequency) -
	  adapted from Heffo's original code;
	* Memory leak bugfix (from original Lord Havoc's code);
	* Movement interpolation fix (from the QER Team);
	* Stencil buffer shadow code from MrG (originally Quake2 code).

version 1.19 (2004-06-12)

	* Lord Havoc's Colored light tutorial
	* Phoenix's interpolation tutorial ( I messed up something and
	  the large delta prevention code is broken, I'll fix in the
	  next release - I hope :/ )
	* Compiler (MSVC6) warnings fix on the original code
	* Item bobbing and rotation controlled by cvar.
	* Some cvar's changed to save status in config.cfg (r_shadows,
	gl_wateralpha, etc). No more hassle with this.
	* Muff's improved shadow code
	* FrikaC's chase camera fix
	* Old mlook command replaced by cvar (in_mlook, default is 1)
	* Quake 2 rotating brush code
	* Lord Havoc's bmodel bound box fix
	* Ugly original GLQuake water warping toggle by cvar (r_waterwarp)
	* Tomaz/Brambo's improved fog code (uses the same cvars as TomazQuake,
	  last configuration is stored in config.cfg)
	* underliquid color-shifted fog
	* Full bright textures toggled by cvar (gl_fullbright)
	* Sprite orientation fix
	* My own coordinate extension code, allows really BIG maps
	  (no more 4096 units limits). Network compatibility is automatic
	  for legacy servers, but old clients cannot connect. Still
	  needs work to fix render limits (see "Known Bugs").
	* PCX/TGA loading code from TomazQuake, changed to support
	texture themes (use r_textdir cvar to change textures, skins,
	console, charset - default is "main")
	* Lord Havoc's MD2 support (+ shadow fix & colored light code
	  from TomazQuake)
	* Quake 2 skyboxes, controlled by cvars (r_textdir & skyname)


==============
 Instructions
==============

	.: LameScript support :.
	Starting from version 1.88 several informations that used to be hardcoded
	into the executable were moved to a simple to edit text file. Modders now
	can add new models and textures and change specific particularities. If
	you run Q2K4 without the script the engine won't crash, but things will
	surely looks strange (such torchs with shadows and looking pale, for
	example). A sample file is provided with the binary, but you can edit your
	own version at your will.

	1.1 LameScript format
	Q2K4 now looks for a file called q2k4.ls from the game directory (id1 if
	you are not using the -game command line option). It's a simple text
	file in the following format:

	section
	{
	key=value;
	key2=value1,value2,value3,value4;
	key3=value5*,value6;
	}

	Comments are signed with a '#' as the first character in the line, and
	are allowed inside the section blocks. All pairs key/value(s) MUST be placed
	inside a section. Sections names MUST be unique, but you can repeat the key
	name along several sections. Key names MUST be unique inside the same section.
	Keys MUST have at least one value. Values can be terminated with a wildcard
	'*', allowing to cover multiple values using only a radix.

	1.2 q2k4.ls sections

	A minimal q2k4.ls file must have the following content:

	---CUT HERE---
	models
	{
		fullbright=progs/laser.mdl,progs/lavaball.mdl,progs/flame*,progs/bolt*,;
		noshadows=progs/v_*,progs/missile.mdl,progs/laser.mdl,progs/lavaball.mdl,progs/gib*,progs/flame*,progs/bolt*,;
		doublesize=progs/eyes.mdl;
	}
	---CUT HERE---

	The "models" section above tells which models are rendered in fullbright
	("fullbright" key), without shadows ("noshadows" key) and twice the real
	size ("doublesize").

	Additionally, these are the optional sections supported in the current
	version of Q2K4:

	1.2.1 filters

	These are graphic filters applied to textures, similar to those found in
	graphic editors such PhotoShop or PaintShop Pro. The filters are applied
	during the texture loading, so there's no overhead during game. These are
	the supported filters:

	emboss: applies the emboss effect, making textures to look "grainy" or "rusty";
	edge: applies the edge detection effect, amplifing the texture contrast;
	blur: applies blurring to the texture, lowering the details;
	light: applies a lighter blur effect to texture.

	For a example in how to apply filters to a texture, see the accompaining q2k4.ls
	file.

	.: Using dyntexs in your mod/map :.
	DISCLAIMER: the dyntex feature stills experimental. There are lots
	of bugs remaining (such the flickering in sky textures or the dramatic
	fps drop in	low end video cards only to mention a few), altough things
	probally won't change from the modder perspective. Use it at your own
	risk.

	Starting from version 1.88 you can change, via network protocol message,
	the coordinates and angles from which the dyntex is renderized, allowing
	a simple way to change the texture content. Using a good dose of imagination
	and lots QuakeC things like Q3:A-style teleporters are now a possibility.
	To check a real example of security camera (with sources for both map and
	QuakeC available), download the demo2.zip.

	.: Q2K4 extensions list :.
	Now Q2K4 supports the checkextension() built-in QuakeC function, a simple
	mechanism originally implemented in the DarkPlaces engine and followed by others
	ports of the Quake engine, allowing the QuakeC coder to check if non-standard
	features are available.	For more information about the DarkPlaces checkextension,
	visit the DarkPlaces project site:

	http://icculus.org/twilight/darkplaces/

	Following the proposed standard, this is the list of features available
	only in Q2K4:

	Q2K4_PERPOLYCOLLISION

		Means that the engine does collision detection in a per polygon level (the Quake
		engine originally used bound boxes for collision detection, a faster but less
		precise method)

	Q2K4_DYNTEX

		Means that the engine supports view rendering into textures

	Q2K4_EF_PARTICLES

		Means that the engine supports the modified EF_DARKLIGHT and EF_DARKFIELD particle
		effects

	Q2K4_EF_ELECTRIC_GLOOM

		Means that the engine supports the "electric gloom" entitity effect

	Q2K4_Q2PLAYERMODEL

		Means that the engine is able to correctly load Quake 2 player models and their
		skins, as long they follow the default naming convention (skin0.*, skin1.*, etc)

	Q2K4_THEMEDIR

		Means that the engine supports separated artworks directories for maps, models,
		sprites and 2D graphics in general

	Q2K4_SND_MIDI

		Means that the engine supports MIDI playback

	Q2K4_ITEMFX

		Means that the engine supports control of item effects by cvar values

	Q2K4_SND_MP3

		Means that the engine supports MP3 playback

	.: New engine limits :.
	These are some new engine limits:
		- file handles: increased from 10 to 100;
		- default hunk memory: from 16Mb to 32Mb;
		- max dynamic entities: from 600 to 2048;
		- max network message length: from 8Kb to 16Kb;
		- max static entities: from 128 to 256;
		- max map leafs: from 8192 to 32768;
		- max lightmaps: from 64 to 256;
		- temporary entities: from 64 to 256;
		- max network datagram: from 1024 (good old modem times) to 8192;
		- skybox limits: now is the renderer limit plus 256 units.

	.: support to GL_ARB_Multitexture :.

	Now if available this extension is used, allowing to render the scene in 1 single
	pass (most of time). This can be traduced in some extra fps. Q2K4 stills supporting
	the original GL_SGIS_Multitexture.

	.: experimental dynamic texture support :.

	As the title suggests, this is not ready for use yet. Basically, if the engine finds
	a texture called "dyntex" and the cvar r_dyntexenable is 1, the view from the fixed
	coordinate (0, 0, 0) and angles (0, 0, 0) will be displayed instead the normal texture.
	To make it really useful some network protocol changes are needed (if you look closely
	to the screenshots in the site you'll notice that dynamic entities don't show in the
	texture because the server don't send them to the client). The fixed size of texture
	is 128x128 (which is a good compromise between quality and performance). The update
	frequency is controled by the cvar r_dyntexfps (default value is 10 Hz, enough to most
	the cases). As you may expect, dyntexs can become a hit in the performance if high
	update rates are used. Future versions of Q2K4 will bring a complete solution, but
	for now I would like to hear some feedback about performance with these default values.

	.: Quake 2 effects enabled :.

	EF_DARKFIELD = no, it's not the "darkness"  effect. Instead, I tought would be better
	(and easier to code) a funky orange particle cloud. With some imagination, looks like
	fire. Well, many imagination...

	EF_DARKLIGHT = again, this is not the original effect, but this time it's a really
	cool replacement: an impressive electric glow is spawned. I made a little change in
	the shambler QuakeC to use this effect, and boy! Looks really cool.

	EF_LIGHT, EF_NODRAW = these are the only two which works as expected: either a fix
	(and boring) light, or total invisibility to the entity (invisible scrags would be a
	interesting challenge... ).

	.: per-polygon collision detection :.
	Both Quake 1 and Quake 2 engines use "bound-box" to detect when entities
	(monsters, rockets, etc) "touch" each other. This can lead to really wrong
	detection results (watch the second looped demo, when the player grabs the
	supernailgun and kills the ogre before it appears, just hitting the bound
	box). Q2K4 now supports per-polygon collision detection, allowing you for
	example to shoot a nail through an ogre's legs (making the game a bit more
	challenging and realistic). The per-polygon collision detection can be
	toggled on and off at will by this cvar:

	sv_perpoly_collision <0|1 (default)>

	.: scrollable textures :.
	Anyone remember from the original DOOM a "scary faces" texture that slowly
	scrolled to the left ? It is a shame a superior engine like Quake cannot
	do simple but cool effects like that. Well, at least THIS effect now works
	in Q2K4. To make a texture scroll you must rename it like this:

	@<direction><speed>texturename

	Where "@" is the magic character that tells Q2K4 this is a scrollable texture,
	"direction" is a digit from 0 to 7 telling the scrolling direction (0 = N,
	1 = NE, 2 = E, 3 = SE, 4 = S, 5 = SW, 6 = W, 7 = NW) and "speed" is, duh!
	the scrolling speed (from 1 to 9). So, if you want to make a blood river
	texture scrolling at full speed to north, rename it to:

	@09bloodriver

	.: sky textures in PNG, TGA or JPG and (almost) any size :.
	You can replace the sky* textures with bigger and more colorful textures
	(up to 1024 x 512 pixels) as long the width / height proportion of 2 is
	kept. Also, the pixel in the top left corner of image is assumed as the
	"null" color for the inferior layer. See the "Artwork theme support" section
	for how to replace textures. Tip: JPEG images are AWFUL to skyboxes; try to
	use PNG or TGA images instead.

	.: MD2 player models (with multiple skins) :.
	Starting in Q2K4 1.40 you could load Q2 players models as long you had a
	" skin.<tga|pcx>" in the equivalent art theme dir. Now in Q2K4 1.62 you can
	have MD2 player models with multiple skins. Just follow these instructions,
	assuming your game folder is "id1" and your theme folder is "main":

	  - put the tris.md2 into the id1/models/players/<modelname> folder;

	  - rename all skins to skin0, skin1, skin2, etc. and convert it from PCX
	  to PNG, TGA or JPEG (remember, Q2K4 no longer loads PCX images). After
	  this, put all skin files in main/models/players/<modelname>. You can use
	  textures with bigger dimensions than the original, allowing more detailed
	  skins;

	  - now Q2K4 is able to find both MD2 and skins.

	Of course, this alone will not replace the blocky-ass Quake 1 player model,
	since the weapon model is not loaded (yet) and the QuakeC must be changed.

	.: JPEG & PNG textures support :.
	Starting in Q2K4 1.62 you can load map textures, model skins, 2D artwork and
	skyboxes in JPEG and PNG formats, besides the TGA support. PCX image loading
	support was discontinued due poor performance and untamed bugs (if somebody
	really want  ye olde PCX support back send me an e-mail and I may try to fix
	it, but no promises). Just follow instructions in the "Artwork theme support"
	section below. You can use textures with bigger dimensions than the original
	ones, allowing a greater detail level.

	.: Transparent textures :.
	In order to make a texture transparent in Q2K4, simply add a "%" at the begin
	of the texture name. So, if you have a texture called "coolwindow" and wants to
	make it partially transparent, just rename it to "%coolwindow". Optionally, you
	can define a 1-digit number after "%" to define how much transparent the texture
	is. If not defined, Q2K4 assumes a 50% transparent image.

	You can also have animated transparent images. Instead putting the "%" as the
	first character in the name, put it at the third position. So, if you have the
	following textures:

	+0monitor +1monitor +2monitor +3monitor

	You can define these textures are transparent just renaming to:
	+0%monitor +1%monitor +2%monitor +3%monitor

	If you want to define how much transparent the texture is, change to:
	+0%2monitor +1%2monitor +2%2monitor +3%2monitor (makes the animated texture 20%
	visible). Of course, you cannot change the transparency values between frames
	or Q2K4 won't recognize the animation sequence, probally leading to a error.

	Use transparent textures carefully; DO NOT USE THEM IN THE MAP HULL. The Quake 1
	engine (and consequently Q2K4) was not designed to support it. Typical use of
	transparent	textures are BSP models (windows, computer monitors, and like). See
	the "Known bugs" section for some problems with the current implementation of
	transparent	textures.

	.: MIDI playback :.
	Works just like in Hexen II. Put your .mid files into <gamedir>/midi folder.
	The following commands and cvars are supported:
	- bgmtype: tells the background music type. Values are "cd" (default) or "midi";
	- midi_volume [volume]: .mid playback volume (from 0 to 100). Default is "100";
	- midi_play <filename>: plays the given file;
	- midi_pause: pause/unpause the current music;
	- midi_stop: ends the current music execution.
	Also, there is support to play .mid files on map loading. Just define
	a "midi" tag in the worldspawn entity containing the .mid file you want
	to play.

	.: AVI capture :.

	Pretty much the same thing as in JoeQuake, except that Q2K4 creates
	a "capture" folder under the current game folder (id1 by default).
	The same cvars are valid:

	- capture_codec
	Contains the fourcc code of video codec's, 0 by default (no compression).
	Valid values are for example "divx" or "xvid" (you need to install the
	codec first, of course). I strongly recommend: DO NOT USE "0" or Q2K4
	will eat all your hard drive quickly.

	- capture_fps
	Sets on how many frames/sec you wish the video to be captured.
	It's 30.0 by default.
	NOTE: this variable changes host_framerate's value during recording.

	Also, the following commands works in Q2K4 too:

	- capture_start <filename>
	Starts capturing an .avi file.

	- capture_stop
	Stops capturing.

	- capturedemo <filename>
	Starts playing a demo and starts capturing it also with the same name.

	As noted in JoeQuake's readme file, it's always a good idea first to
	record a demo and after record the AVI file using capturedemo. And
	lower screen resolutions are better if you don't have a really good
	video card and/or CPU.


	.: MP3 load and playback :.

	There are no special commands or cvars, just replace any .wav file
	with a mono channel	MP3 (stereo samples are not supported, but hey,
	this is Quake, not WinAmp). Although the engine will resample high
	quality sound automatically, it's a better idea use 11KHz samples
	(default Quake's rate) for space saving. I haven't tested MP3 reading
	from .pak files	but it should work normally. Also, keep in mind that
	although the used codec is GPL code, the MP3 compression format itself
	is not	free. For more details check out http://www.mp3licencing.com.

	On a side note, I played with Ogg Vorbis support, but this bloated
	the .exe (I used the static lib version) so I dropped all the stuff.
	I can give a try later in the DLL version if enough people ask for
	it or if some lawyer hit my	door because the MP3 stuff.


	.: Item bobbing and rotation control :.

	You are no more limited to the old boring spinning items! Now
	you can have spinning AND / OR bobbing items. You can even have
	static items! Just select the desired combination:

		- cl_itemfx 0: only rotate, works as original Quake (default)
		- cl_itemfx 1: rotate & bobs item
		- cl_itemfx 2: only bobs the item
		- cl_itemfx 3: no rotation or bobbing (static items)

	.: Rotating brushes :.

	Now you can have brushes (bmodels) which correctly rotates,
	including their bound boxes. With little effort you can make
	spinning doors, machinery, etc. See the func_rotating.qc file
	for more info.

	.: Coordinates extended (no more 4096 units map limits) :.

	Stills experimental code, but stable enough to use. Now you
	can make that Everquest-like mod you always wanted. There
	is a issue with the render (some really big maps don't render
	totally), but all the rest works fine. You won't fall off the
	map, trust me. :) UPDATE: The render limitation issue was in
	fact a TEST MAP limitation. The engine correctly renders
	beyond 4096 units.

	WARNING: Q2K4 network compatibility is partial. This means
	you can connect to a legacy Quake server using Q2K4, but a
	legacy client CANNOT connect to a Q2K4 server.

	.: Artwork theme support :.

	Okay, that's a step ahead the original code from the tutorials
	and other engines. Now there is a new cvar (r_textdir)
	which contains the root directory from which all artwork is
	loaded (for .BSP, .MDL, .MD2 models, and also console background
	and charset). The default value is "main". So, if you want to
	use a new CONBACK.TGA (or .PCX), put it in

		<quakedir>id1\main

	You can change "id1" to your mod's directory of course, and
	change the r_textdir value for anything different from "main"
	(for example, "rusted" for really old-looking textures). It's
	a good way to make old levels look really different, or to
	make maps (and models, too) change aspect via QuakeC (just
	setting the cvar before calling changelevel()).

	For .BSP models, put the replacement textures in

		<quakedir>id1\main\maps

	For .MDL models skins, put the replacement textures in

		<quakedir>id1\main\progs

	Use the same convention from TomazQuake (model name + skin
	number.TGA or .PCX). For instance, use player_0.tga for a
	new player skin.

	For .MD2 models skins, the path is:

		<quakedir>id1\main\models\monsters\<monstername>

	For example, let's say you are using the Quake 2 gunner
	monster	model in your mod. You must put the skin (skin.*)
	at:

		<quakedir>id1\main\models\monsters\gunner

	Of course, you can also use a .TGA replacement of the
	same dimensions.

	.: Skyboxes :.

	Skyboxes are also stored into themes directories, and
	additionally you can change the sky name through the
	skyname cvar. Q2K4 looks for skyboxes textures into a
	"env" dir under the theme dir. The naming convention is
	the same as	in other engines (sky name + "lf", "rt", "up",
	"dn", "ft" or "bk").


==========================
 Known bugs & limitations
==========================

	- (DEAD) Skybox PCX support is broken. Works fine with TGA.
	- (DEAD) The coordinate extension code works fine, but the render
	  engine still capping the world coordinates at 8192 units;
	- (DEAD) Once loaded, you cannot change a .mdl or .md2 skin. It's
	  not exactly a bug, but the way Quake works. I may end up
	  creating a way to flush the model cache via QuakeC to
	  avoid this problem;
	- (DEAD) There are conditions when changing the sky box name and
	loading a level makes Q2K4 to crash;
	- (DEAD) Transparent textures are rendered WITHOUT depth buffer
	test, which leads to incorrect exibition. It will be fixed
	in the next release (i hope);
	- per-poly collision does not work for .MD2 models. I'll try
	to extend the support in next versions. Meanwhile, the original
	boundbox collision code is used for .MD2 models;
	- in some maps, particles are rendered as triangles. I was not
	able so far to isolate the reason of this bug;
	- dynamic textures won't show entities which aren't in the
	client's PVS (possible visible set). To fix it requires a good
	change in the network code and the way the server works, so may
	take some time to be fixed;
	- (DEAD) there is an unknown QuakeC bug in Q2K4 which prevents it to
	run a few mods, such Kinn's "Marcher Fortress" map. The problem
	is restrict to the embedded QuakeC, not with the map itself.

==============
 Legal stuff
==============

	This code is released under the GPL license. This code is NOT
	well tested; I am NOT liable for anything that may (or may NOT)
	happen with your computer, dog, cat, hamster, girlfriend, etc.


=======================================
 Unknown bugs, contacts, suggestions ?
=======================================


	Mail me: carloshp@centroin.com.br

	I would appreciate some	feedback regarding performance and
	compatibility problems,	although I cannot guarantee when or
	if I will be able to fix them.
  