
		     JoeQuake - Release Notes
		       --------------------
		   <http://joequake.quake1.net>

--------------------------------------------------------

First of all, JoeQuake is 90% ZQuake (http://zquake.frag.ru/)
and Fuhquake (http://www.fuhquake.net/)
So thanks to Tonik and Fuh for their great work!

--------------------------------------------------------

============
New cvars
============

r_explosiontype
Sets various types of explosions.
Values: 0 - normal, 1 - just sprite, 3 - just particles, 4 - slight blood.
Its value is 0 by default.

r_explosionlight
Turns explosion's light on/off, 1 by default.

r_rocketlight
Turns flying rocket's light on/off, 1 by default.

r_rockettrail
Sets flying rocket's trail:
0 - no trail, 1 - default trail, 2 - grenade trail.
Behaves differently when using QMB particles:
0 - no trail, 1 - default trail, 2 - darkplaces trail, 3 - Q3 trail.
Value is 1 by default.

r_grenadetrail
Sets flying grenade's trail:
0 - no trail, 1 - default trail, 2 - rocket trail.
Behaves differently when using QMB particles:
0 - no trail, 1 - default trail, 2 - darkplaces trail, 3 - Q3 trail.
Value is 1 by default.

cl_r2g
Replaces the rocket model with grenade, 0 by default.
(popular in deathmatch)

cl_truelightning
Makes the lightning gun's bolt more precise, 0 by default.
Can be 0.0 (off) - 1.0 (most precise).

cl_bobbing
Turns Quake3-style bobbing on, "0" by default.

cl_deadbodyfilter
Removes dead bodies (both for players and monsters).
When using with value 1, the dead body is to be removed in the last animation frame.
When using with value 2, it is removed immediately when the monster/player dies.
Its value is 0 (off) by default.

cl_gibfilter
Removes gibs if turned on, 0 (off) by default.

vid_hwgammacontrol
Turns gamma changing possibility on/off, 1 by default.
With using a value of "2", it applies gamma for windowed modes as well.

gamma and contrast (or gl_gamma and gl_contrast in GL)
One of the most important features. These are for your viewing pleasure :)

scr_scalemenu
Scales the menu to fit for any resolutions, 1 by default.

scr_centermenu
Makes the menu centered, 1 by default.

scr_centersbar
Makes the status bar (hud) centered, 0 by default.

cl_sbar
Toggles between transparent (0) and old/original (1) huds, 0 by default.

v_gunkick
Turns weapon's jarring every time when firing on/off, 0 by default.

r_powerupglow
Turns powerup glow around player's body on/off, 1 by default.

scr_consize
Adjust the console's size, 0.5 (half size) by default.
Can be 0.0 (nothing visible) - 1.0 (fully visble).
NOTE: when the console is pulled down, you can also adjust the size
with using the ctrl+up or ctrl+down keys.

scr_printstats
Print actual statistics (time, secrets, kills) to the upper right corner
of the screen, 1 by default.
Values: 0 - off, 1 - only time, 2 - time + kills + secrets, 3 - only time, but
only on if some reasonable event happens, 4 - same as 3, plus kills + secrets too.

scr_printstats_length
If scr_printstats is set to 2, the printing takes as long as it's set in this
cvar, 0.5 by default. The value represents seconds.

scr_printstats_style
Toggles between using HUD numbers or console characters when showing
scr_printstats' statistics. "0" (HUD-style) by deafult.

dem_rewind
Toggles between normal and backward demoplaying, 0 by default.
Only works when playing a demo.

show_speed and show_fps
Their functions speak for themselves.

r_fullbrightskins
Makes player(s)'s skins fullbright, 0 by default.

mapname
Contains actual map's name, for built-in use.

cl_bonusflash
Turns pickup flashes on/off, 1 by default.

cl_muzzleflash
Turns muzzle flashes (flashes when firing) on/off, 1 by default.

v_contentblend
Turns liquid blends on/off, 1 by default.

v_damagecshift
Turns damage flashes on/off, 1 by default.

v_quadcshift
Turns quad damage's blend on/off, 1 by default.

v_pentcsift
Turns pentagram's blend on/off, 1 by default.

v_ringcshift
Turns invisibilty's blend on/off, 1 by default.

v_suitcshift
Turns environment suit's blend on/off, 1 by default.

r_viewmodelsize
Adjust the amount of your weapon to be visible, 1 by default (fully visible).
Can be 0.0 (not visble, equals "r_drawviewmodel 0") - 1.0 (see above).
This is useful for people using bigger fovs than 90.

m_rate
Sets mouse rate. Only work when start with -dinput and -m_smooth.

m_showrate
Shows current mouse rate. Useful to set m_rate. Only work with -dinput -m_smooth.

cl_clock, cl_clock_x, cl_clock_y
Shows clock in the lower left corner. Position can be changed with the _x and _y
coordinates. There are 4 predefined clock formats. "0" by default.

crosshairsize
Sets the size of the crosshair, "1.0" by default.

crosshaircolor
Sets the color of the crosshair, "79" (red) by default.

cl_demospeed
Changes the playback speed of a demo, 1 by default.
Values < 1 mean slow motion, while > 1 result fast forward.

cl_maxfps
Customizes the maximal fps, 72 by default.
You are not allowed to raise this above 72 if you're playing single player or coop.

cl_advancedcompletion
Toggles between advanced and normal (old) command/cvar completion.
Its value is 1 by default.

cfg_savevars
Switch for the "writeconfig" command.
If set to 0 than writeconfig will save only archieved vars.
If 1, it'll save the ones which have other than default values.
And with value 2 it'll save ALL variables.

cl_confirmquit
Switch for confirmation when exiting, 0 means no confirmation required.
Its value is 1 by default.


The following ones are only work in GL:

gl_interpolate_animation and gl_interpolate_transform
fenix@io.com's popular model animation interpolation code, both are 1 by default.

gl_fb_bmodels
Turn fullbright polys on brush models on/off, 1 by default.

gl_fb_models
Turn fullbright polys on alias models on/off, 1 by default.

r_explosionlightcolor
Sets the color of explosions glows.
Only works if r_explosionlight is on.
Values: 0 - default, 1 - blue, 2 - red, 3 - purple, 4 - random.

r_rocketlightcolor
Sets the color of flying rockets glows.
Only works if r_rocketlight is on.
Values: same as for r_explosinlightcolor.

gl_conalpha
Sets the transparency of the console, 0.8 by default.
Can be 0.0 (totally transparent) - 1.0 (not transparent).

r_skybox
Sets a custom skybox, "" by default (no skybox).
See more info about this at the "loadsky" command.

r_ringalpha
Sets the transparency of your weapon model when you're invisible.
Default value is "0.4".

capture_codec
Contains the fourcc code of video codec's, 0 by default (no compression).
For example divx or xvid, etc.

capture_fps
Sets on how many frames/sec you wish the video to be captured.
It's 30.0 by default.

capture_dir
Sets the directory where avis to be saved during capturing.
"capture" by default.

capture_mp3
Turns mp3 audio compression on/off, 0 by default.

capture_mp3_kbps
Sets mp3 compression's bitrate, 128 by default.
Only works if capture_mp3 is 1 (trivial).

gl_externaltextures_world and gl_externaltextures_bmodels
Load external textures when set to "1".
textures for _world should be placed inside textures/ or textures/<mapname> dir
while textures for _bmodels should be placed inside textures/bmodels dir.
Both are 1 by default.

gl_consolefont
Specifies an external console charset.
Console charsets should be placed inside textures/charsets dir.

gl_smoothfont
Gets fonts look smoother, "1" by default.

gl_loadlitfiles
Loads static colored lights containing files (.lit) if "1".

gl_vertexlights
Turns vertex lighting on alias models on/off, "0" by default.

scr_sshot_type
Sets the type of screenshot image, "tga" by default.
Can be "tga" or "png".

gl_waterfog
Adds fog inside (not just water, but) all kinds of liquids, 1 by default.
Values: 0 - off, 2 - realistic, other - normal.

gl_waterfog_density
For further costumizing gl_waterfog, 1 by default.
Can be 0.0 (low amount of fog) - 1.0 (high amount of fog).

gl_caustics
Turns caustic underwater polygons on/off, 0 by default.

gl_detail
Turns bump mapping on/off, 0 by default.
Requires hi-end systems.

gl_solidparticles
If set to "1" classic particles are to be drawn with Z buffer bits.
On some video cards this helps to keep the fps high.
0 by default.

gl_part_explosions
Sets QMB explosions:
1 - normal, 2 - Q3 style.
0 by default.

gl_part_trails
Turns QMB trails on/off, 0 by default.

gl_part_spikes
Turns QMB spikes on/off, 0 by default.

gl_part_gunshots
Turns QMB gunshots on/off, 0 by default.

gl_part_blood
Sets QMB blood:
1 - normal, 2 - Q3 style.
0 by default.

gl_part_telesplash
Turns QMB teleport splashes on/off, 0 by default.

gl_part_blobs
Turns QMB spawn explosions on/off, 0 by default.

gl_part_lavasplash
Turns QMB lavasplashes on/off, 0 by default.

gl_part_inferno
Turns QMB style exploding sprite replacements on/off, 0 by default.

gl_part_flames
Turns QMB style torch flames on/off, 0 by default.

gl_part_spiketrails
Turns QMB underwater spike affected bubble trails on/off, 0 by default.

gl_bounceparticles
Turns bouncing chunks on/off, 1 by default.
Only works for QMB particles.

gl_clipparticles
If turned on, particles near you won't be drawn, and therefore
won't eat up the CPU. 0 by default.

crosshairalpha
Sets the transparency of your crosshair. Default value is "1.0".

crosshairimage
Sets an image as crosshair, "" (none) by default.
Crosshair images go to "crosshairs" subdirectory.

--------------------------------------------------------

============
New commands
============

cmdlist
Lists all console commands.

cvarlist
Lists all console variables.

gamedir <path>
Changes the mod's directory.
If you started Quake with e.g. -game ctf and during the game
you wish to play with an other mod, you can change it dinamically,
without quitting the game.
Relative pathnames like "newdir/ctf" are not allowed.

dir <wildcard>
Lists all files matching wildcard.
Works the same way like other shells' dir command.

demdir <wildcard>
The same as dir, except that this cmd is only for .dem files.
So please omit the .dem extension from the wildcard.

menu_demos
Pops up the Demos menu, the same as you enter it from the Main Menu

writeconfig <filename>
Writes a .cfg file with your actual game settings.

printtxt <filename>
Prints a text file into the console.
You can now read SDA demos' txt files without quitting the game :)

getcoords <filename>
Writes the player's origin into the given file or to "camfile.cam" if there
was no filename given.


The following ones are only work in GL:

loadsky <filename>
Loads a custom skybox.
As you know (or not) a skybox consists of 6 images (6 sides of a box).
To set a skybox, you only have to add the common name of these six files,
since they contain 2 characters of skybox extension at the end.
For example, you have a skybox called "day", you have six images called
dayrt, daybk, daylf, dayft, dayup, daydn.
Than you only have to use "loadsky day".
To get skyboxes, go to the FuhQuake page.
Skyboxes goes to "/env" directory.
This command also sets r_skybox's value. You can change skyboxes through
this cvar as well.

loadcharset <filename>
Loads an external console charset.
Console charsets should be placed inside textures/charsets dir.

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.

toggleparticles
Changes all gl_part_* vars' values to their opposite.
A pleasant way if you wouldn't like to set all variables one by one.

--------------------------------------------------------

==============
Other features
==============

Parameter completion

I think people will prefer this feature alot more to using dir or demdir.
Parameter completion means if you're using a command requiring a filename
(playdemo for exmaple), than when you're pressing TAB you're gonna get a list
of files matching to the written wildcard, just as dir or demdir.
For example you typed the following to the console:
]playdemo e1m1
After pressing TAB you're getting a list of all e1m1*.dem files.
The wildcard will be updated with the longest common string of the matching
filenames. If only one file was found, the wildcard's gonna be replaced with
that. It's that simple :) but it's handy imho.
Parameter completion works for the following commands:
playdemo, capture_start, capturedemo, printtxt, map, exec, load,
loadsky, r_skybox, loadcharset, gl_consolefont and crosshairimage.
None of them require any extension to be given, they'll automatically find
their filetypes.

Maps and Demos menu

JoeQuake added two new menus to Quake:
The Maps menu contains a list of all available maps in the actual path
including inside pak files as well.
The Demos menu gives you a shell about all the Quake subdirectories, and you
may browse between these dirs and watch demos in any folder.

Video Options menu (GL only)

Just like the FPS Settings menu in ZQuake/FuhQuake, I also made my similar
video settings menu. The main difference compared to the above mentioned
engines is that I used video quality options instead of deathmatch/gameplay
settings.

32bit textures support (GL only) -- 100% FuhQuake stuff

The whole function copied from FuhQuake. I've only added TGA and PNG support,
but not JPEG/JPG. The handling of directories is purely the same as in FuhQuake:
All textures go to a "textures" folder, which can contain subfolders:
"bmodels" for brush model textures, "models" for alias model textures,
"wad" for hud pictures, "gfx" for menu pictures. Can also contain map name
folders, so than the textures for that map will be loaded from there.
The only difference to FuhQuake is that JoeQuake doesn't use map groups,
so don't try "exmy" folder for id1 maps as you did in FuhQuake.

I can only provide a few hud textures made by myself, but if you want more,
head over to the FuhQuake page and download the installer which contain lots
of cool textures to plenty of maps, status bar images, new menu pictures etc.
You can also get textures from the Quake Retexturing project:
http://www.quake.cz/winclan/qe1

Coloured lights (GL only)

Both dynamic and static colored lights are available in JoeQuake.
You can choose from various colors to set your explosion or rocket lightning.
For static colored lights, you can find a .lit files (files containing the color
information for maps) package on the FuhQuake page.

Avi capturing (GL only)

JoeQuake uses avi capturing written by Anthony Bailey.
An important thing you should know about: this is mainly for capturing demos,
not gameplay.
Sound issues: capturing supports 22KHz sounds too, but I personally don't
recommend recording the audio on that sample. The reason is that all the Quake
sounds are originally recorded on 11KHz, and simply playing them on higher sample
doesn't actually make them sound better. If you want to use 22 or 44 KHz sounds
at any price, I advise you to get a good editor (like SoundForge), and resample
the audio using that.

Commands history

Added from [sons]Quake.
The last 64 console lines are stored in a file cmdhist.dat in the main Quake
folder, so than you can use cmd history after quitting/restarting the game.

Demoplaying from .dz files

You may now use .dz files as playdemo command's parameter, it'll be
automatically extracted and played. Works from the Demos menu too.
NOTE: make sure the dzip binary (dzip.exe or dzip-linux, comes with the zip)
is present in your main Quake folder.

--------------------------------------------------------

================
NOTE for linux GLX users
================

You need to have GLX installed and set up correctly. To install GLX, you need
to download the GLX drivers from your graphic card manufacturer's home page.
You also need to have libfmod-3.73.so (or later), since JQ supports Nehahra.
You can get it from http://www.fmod.org/

--------------------------------------------------------

================
Licence and Warranty
================

I'm not knowing much about laws and stuff, but I'm including a gnu.txt in the
zip and also provide the source code as well, so it should be okay. You are free
to redistribute or modify JoeQuake as you wish.

--------------------------------------------------------

I would like to thank the following people for using their codes:
A. "Fuh" Nourai, for every tiny FuhQuake addition
Anton "Tonik" Gavrilov, for every tiny ZQuake addition
fenix@io.com, for alias model interpolation
LordHavoc, for lerping alias model textures
Alexander Kovalchuk, for plenty of [sons]Quake additions
Anthony Bailey, for the avi capturing code
Slawomir Mazurek, for his help on linux


I would also like to thank the following people for inspiring, giving ideas:
Attila Csernyik
Thomas Stubgaard
Denis Nazarov
Martin Selinus
Nolan Pflug


Jozsef Szalontai
joe_quake@hotmail.com
