================================================================================

Revision 5: July 17, 2012

New Features:
----------------
1)  Game command supports extra parameters ("game warpspasm -quoth", etc.)
2)  ALT-ENTER switches between fullscreen and windowed mode.
3)  Major video capture improvements.
4)  "timedemo" closes the console.
5)  "folder" command highlights last file created (screenshot, video, demo, ..)
6)  Video restart is vastly faster (from RemakeQuake engine or Quakespasm?)
7)  Save games are instant (MH).
8)  Rewired video restart to keep the current window.
9)  CTRL-M mutes or unmutes sound.
10) Fixed lighting bug reported by Sock.
11) "envmap" command works correctly, writes TGA files.

The Google VP80 codec is also known as WebM.  You can install this video codec
from http://www.optimasc.com/products/vp8vfw/index.html

Video Capture
----------------
12) Video capture uses best installed codec (order: vp80, xvid, divx, none)
13) "capturedemo" shows progress % in window caption
14) capturedemo aborts demo playback if it couldn't capture
15) +capturedemo in your command line makes engine quit after capture
16) "bind <key> capturevideo toggle" 

Several touchups and bug-fixes (plenty).  See quakedef.h for list. Many are from
either the RemakeQuake engine or Quakespasm or found by MH, szo or myself and
noted in the FitzQuake 0.85 release thread or at the Inside3D tutorial section.

-- Baker

================================================================================

Revision 2:  July 3, 2012

Necros wanted -sndspeed command line param.  Valid values: 44100, 22050, 11025

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

Revision 1:  July 2, 2012

Fixed light color.  It was not getting reset consistently resulting in full
light on models.

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

Fitzquake Mark V, June 29, 2012


This is a modification of FitzQuake 0.85 by John Fitzgibbons with bug-fixes,
some developer oriented tools, some user oriented fixes and features and a few
content creation extras (alpha texture support, rotation, scrolling textures,
sphere mapped textures, custom liquid blend colors, r_waterripple).  Includes
Quakespasm "wrong content protection", MH dynamic light speed up.

Source and distribution are GPL version 3 and included with this zip.

Quick list of things to try:

tool_texturepointer 1
tool_inspector 1 (do impulse 9 and change your weapon)
r_texprefix_envmap "window" and load the start map; look at window.
r_texprefix_scrollx "c" and load the start map.

scrollx_ textures can be used for billboards, surfaces that appear to be
continually moving, etc.  envmap_ textures work well for metallic trim,
Alpha textures default to "{" like the RMQ Engine but the prefix can be
changed via r_texprefix_fence.

More things to try:

type copy in the console.  Paste your text in notepad.
type copyscreen in console.  Paste screenshot in graphics editor.
type copy ents in console.  Paste text into notepad.
type folder in the console.  Quake folder opens.

Type fov 120 or fov 130 and look at your weapon.  Looks normal.

type r_waterripple 3 in the console.  Look at water.  Then ...
type gl_subdivide_size 16 in the console.  Look at water again with
r_waterripple on.  (Feature works best on water vised maps.)

bind "capturevideo toggle" to a key.  Record some video.  First time
starts it, second time stops it.  Type "folder".

Everything went through some exhaustive "quality assurance" making sure
all features function right even with FitzQuake niceties like r_showtris.

Although the above extras are nice, the emphasis of this mini-project
was implementing a list of bug-fixes that have surfaced in the knowledge
pool in recent days, documenting them heavily in code and applying them
to FitzQuake.


-- Baker

Project files:
----------------
MSVC6, Codeblocks, Microsoft Visual Studio C++ 2008 Express.  Your choice.
CodeBlocks is free (CodeBlocks + MinGW download).  So is 2008 C++ Express.

Easy to compile.


Code Features:
----------------
Every new feature is an #ifdef ... #endif block.  In fact changing a single 1 to
a zero builds into FitzQuake 0.85.  Ripping features or unravelling how
they are implemented is a breeze.  See quakedef.h.  Most features can be disabled
by commenting out a single line, I say "most" because a few features depend on
another feature being enabled.  There are few of those.


Engine Features:
----------------

See home page or quakedef.h but this includes a considerable quantity of bug
fixes.  And ...

1)  External .mdl texture support
2)  Support for alpha mask textures (fence textures). Palette color 255.
3)  Single pass video startup (read's config file early)
4)  Texture pointer (in console: tool_texturepointer 1 and point at surfaces)
5)  Entity inspector (console: tool_inspector 1; change weapon different info)
6)  Video capture (bind k "capturevideo toggle" press k to start/stop capture)

(Get the xvid codec.  See home page.)

7)  Record demos at any time.  Record/play demos across maps.  Pause key pauses.
8)  "copy", "copy ents", "copyscreen" ... copy stuff to clipboard.
9)  "folder" command opens relevant folder in explorer.
10) External .ent support and Quakespasm "wrong content protection".
11) Contrast ability using contrast cvar in console (0.5 to 1.5)
12) Rotation support.  And smooth rotation sv_protocol 668.
13) freezeall command.  Freezes everything except players.
14) ping in scoreboard, NAT fix, support for ip:port.  Other network fixes.
15) Never needs max_edicts set.  Never needs -mem set. (Yet uses only 64MB).
16) System clock fix.  Fixes a dual-core/quad-core timing in oldy Quake.
17) [Stencil] shadows on submodels (platforms, etc); flicker fix (polyoffset).
18) MH's dynamic light speed up.  NVIDIA and Intels benefit huge, ATI barely.
19) chase_mode command.  Use in conjunction with chase_active 1.
20) Better weapon positioning and FOV (field of view) never changes appearance.
21) Liquid customization and water ripple support.
22) Scrolling texture support, sphere-mapped texture support.
23) Size console with CTRL + UP and CTRL + DOWN
24) Best weapon command.  Loc support.  Talk macros support.
25) Support for 5 mouse buttons. Windows key or Sticky keys won't annoy you.
26) sv_cheats support.  Set to 0 so no renegade coop friend starts ruining the
	map with noclipping/godmoding and shooting you with rockets.  Wish that
	could stop impulse 9 or impulse -1.  But it can't, that's the progs.
27) r_lockfrustum, r_lockpvs, etc.
	
Up next:  FitzQuake Mark VI .... 


Baker's Acknowlegements
--------------------------------------------------------------------------------
The below plus MH, Spike, R00k, JP Grossman, szo and the Quakespasm team,
LordHavoc, frag.machine, goldenboy, Reckless, MDave, Jozsef Szalontai, Avirox, 
Phoenix QER, VVD, QIP Quake, FrikaC and listening to Necros and Spirit discuss 
engine gripes/limitations and things Bengt Jardrup helped me (or warned me about)
with when I first started engine coding and the constant bedrock of support by
my friends at QuakeOne.com (Mindzfield, Phenom, Solecord, Peg/Polarite, others).
... and obviously John Fitzgibbons ;-)



John Fitzgibbon's Acknowlegements
--------------------------------------------------------------------------------

id Software, LordHavoc, Bengt Jardrup, Baker, Aardappel, SmallPileOfGibs, FrikaC,
Vondur, JPL, Negke, preach, Topaz, Tomaz, Tonik, Radix, EvilTypeGuy, NightBringer, 
MH, Tyrann, Spirit, Fett, Maddes, Craig Wills, Heffo, Riot, Gleeb, Speedy, 
people in #flipcode, & others for their feedback, tutorials, code, testing, 
and assistance.



Copyright / Permissions
--------------------------------------------------------------------------------

Copyright (C) 1996-2001 Id Software, Inc.
Copyright (C) 2002-2012 John Fitzgibbons and others

This program is free software; you can redistribute it and/or modify it under 
the terms of the GNU General Public License as published by the Free Software 
Foundation; either version 3 of the License, or (at your option) any later 
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY 
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE.

See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with 
this program; if not, write to the Free Software Foundation, Inc., 59 Temple 
Place - Suite 330, Boston, MA  02111-1307, USA.
