/-----------\
  CHANGELOG
\-----------/

v0.71
=====
- Fix crash in SDL renderer triggered by certain screen resolutions
- Update FSF address in license text

v0.70
=====
- Fix 'Cache_Dealloc:: not allocated' error on invalid QW skins
- Fix some translucent alias model rendering bugs in the x86 assembly
- Fix some invalid GL api usage (thanks Jelle Raaijmakers)

v0.69
=====
- Add support for scaling the software renderer output by a factor of 2 or 4
- Add translucent HUD support ("scr_sbaralpha")
- Add support for OpenGL vertex program animation interpolation
- Add support for OpenGL fragment program water surface warping
- Add support for OpenGL buffer objects to improve rendering performance
- Add support for DXT texture compression (greatly helps low-memory systems)
- Add vsync support for most platforms ("vid_vsync")
- Add anisotropic filtering for OpenGL ("gl_texture_anisotropy")
- Add back the vid mode test functionality
- Add cl_maxpitch and cl_minpitch console variables (default 90/-90)
- Improve FOV calculations to work better with widescreen aspect ratios
- Improved dynamic lighting performance on OpenGL (removed redundant updates)
- Fix a few software renderer entity alpha bugs
- Fix a few more texture reloading bugs in OpenGL
- Fix framerate on windows when compiled with SDL video/input
- Fix a few model/sprite clipping bugs the could crash the software renderer

v0.68
=====
- Fix compilation of x86 on unix variant when using ASM
- Fix the assembly patch process for translucent alias models
- Fix crash caused by missing flush of overflow sfx on level change
- Fix crash caused by missing flush of overflow models on level change
- Fix gl texture leak when alias models are pushed out of the cache due
  to memory pressure.
- Make the default zone size relative to the overall memory size

v.067
=====
- Added (finally) loading new mods at runtime with the 'game' command.
- Added ability to play music tracks from sound files.  Currently ogg
  (vorbis), mp3, flac and wav are supported.
- Add some auto-detection of quake installation directory (windows).
  If the game is started without specifying the base directory and the
  working directory is not a valid basedir, the game will try to check
  if you have a copy of Quake in Steam and use that.
- Improved console tab completion for commands with multiple arguments
- Fixed overflowing the sound effects cache
- Improved detection of local network address
- Improved reliability of game discovery via broadcast on LANs
- Fixed fullbright textures on player skins
- Added a pulseaudio sound driver, now the default on Linux.
- Fixes for minor audio artifacts in looping sounds
- Fix crash in NQ dedicated server
- Higher quality (resolution) underwater warping in software renderer
- Fix particle sizes in software and GL
- Make a fixed size LRU cache of textures in GLQuake and free unused textures

v0.66
=====
- Reworked video mode setting, now uses vid_width, vid_height, etc. cvars
- Added menu for manually specifying windowed mode resolution
- Improved window focus handling with respect to mouse/keyboard grabs
- Improved window icon handling in SDL/X11 environments
- Implement improved quality water warp effect from FQ and others.
- Fixed silly bug which was making OpenGL mode changes stupidly slow
- Fixed crash that could happen when a BSP has missing textures

v0.65
=====
- Fix crash in the software renderer
- Fix transparent menupics on the video options menu

v0.64
=====
- Entity alpha support via FitzQuake protocol
- FitzQuake protocol (666) is now the default for NQ
- Coloured lighting, fog and skybox support in the OpenGL renderer
- Alpha blending (water/slime/lava/tele + entities) (GL + SW)
- Fence texture support (GL + SW)
- Fixed non-64x64 turbulent surfaces in the software renderer
- Improved sky in GL (from FitzQuake/Quakespasm)
- Alias model lighting interpolation (from Darkplaces)
- Automatic adjustment of r_maxsurfs / r_maxedges in the software renderer
- Model interpolation now works in QW as well

v0.63
=====
- OpenGL renderer improvements:
  - Much improved speed by batching drawing operations
  - Fullbright pixels now properly rendered
  - If 3+ texture units are available, all materials can be drawn in a single pass
  - Improved fidelity of model skins when NPoT textures unavailable
- Fix some of the rough edges on mouse grab handling
- Fixed bug where red/alt console text was not being rendered
- New 'hudscale' command to scale the size of HUD elements (status bar, etc.)
- Fixed crosshair rendering for 'crosshair 2'
- Fixed custom QW skin loading on PPC
- Updated build system to enable a 'legacy' Universal build on OSX 10.5 and
    an x64-only build on modern OSX systems.
- Added a custom Icon for Windows/OSX builds

v0.62
=====
- Model animation/movement interpolation (r_lerpmodels, r_lerpmove cvars)
- SDL video/input/sound target, now default for MacOS instead of X11.
- sndio sound target for OpenBSD (thanks Tony Spets/Jacob Meuser)
- Support for BJP1/2/3 and FITZ(666) network/demo protocols
- Support for Darkplaces and RMQ style BSP2/2PSB file formats
- Work around buggy timers on some windows systems/drivers (thanks MH!)
- Removed vid_win dependency on SciTech MGL (thanks MH!)
- Netmasks can be used with qwsv's addip/removeip; e.g. "addip 192.168.0.0/24"
- Fixed remote screenshots from QWSV
- Improved build system including new OSX, Win64, SDL targets
- Lots more code sharing between NQ/QW
- Use non-power-of-two OpenGL textures when extension is available
- New cvar "m_freelook" to replace need for manual editing "+mlook" in config
- Improvements to handling of GL textures
- Support changing video mode in GLQuake/GLQWCL (finally!)
- Ten years since v0.61!

v0.61
=====
- Fix QWSV command line parsing
- Attempt to detect when X86 assembler files should be used

v0.60
=====
- Fix video buffer overrun when rendering endtitle in low-res vid mode
- Reduce the load timeout when a changelevel fails

v0.59
=====
- Various improvements to the windows video code
  - Start in windowed mode to avoid extra mode changes on the monitor
  - Fix logic for mouse grab and release when console or menu is active
- Fix handling of sound files with incorrect headers (fixes SoE crash)
- Increase software renderer's MAX_MOD_KNOWN (fixes Contract Revoked crash)
- Various other minor cleanups and code improvements

v0.58
=====
- Various net fixes and cleanups from O.Sezer
- Fixed mouse wheel support with MS "Direct Input" and made direct input the
  default (disable with -nodinput).
- Added some cross compiling support to the main makefile (MinGW32 target)
- Remove the MAX_PRSTR limit (was set too low anyway) 

v0.57
=====
- Various 64 bit correctness fixes. All executables now work at least on 64 bit
  Linux, as long as you build with USE_X86_ASM=N.
- Removed a few pieces of dead/legacy code. No more "-record" and "-playback"
  options (net_vcr) and no more IPX or Serial/Modem networking either.
- Fixed a fairly rare memory corruption issue due to poor handling of BSPs
  having more than one sky texture in glquake.
- Various other minor fixes and code cleanups.

v0.56
=====
- Added "-developer" command line argument (equivalent to "developer 1" at the
  console, but activates very early during startup)
- "-w" is equivalent to "-window" on the command line
- Fixed potential crash on startup when hostname is not set
- Various fixes for big-endian builds
- Now works on Linux/PPC!

v0.55
=====
- Fix a crash provoked by the qd100qlite2 mod
- Refactor the cdaudio system, adding a BSD driver
- Allow user to add custom data/config files in $HOME/.tyrquake
- Add console stretch effect ("gl_constretch 1" to enable)
- Makefile cleanups to aid customisations for packagers

v0.54
=====
- Remove some no longer required rendering code paths (gl_texsort 0,
  _gl_sky_mtex 0, _gl_lightmap_sort 1)
- Use API generated OpenGL texture handles, instead of our own. This is my
  first baby step before looking at some decent texture management.
- Share a few more files between NQ/QW
- Improved build dependencies to handle moved files

v0.53
=====
- Add command argument completion for changelevel
- Re-organised the build system, proper auto dependency generation
- Fixed sound issue when compiling with GCC 4.1 (compiler bug)
- Fix QW option menu, "use mouse" option now usable.
- Fix "particle's look like triangles" GL renderer bug

v0.52
=====
- move cmd.[ch] into common directories
- increase clipnode limit to 65520 (was 32767)

v0.51
=====
- Work around problems with MinGW upgrade
- Merge sv_move, r_alias and r_sprite into common
- STree api additions and cleanups
- Replace old completion framework completely with strees
- Other minor fixes and source formatting changes

v0.50
=====
- Added command argument completion infrastructure
- Added argument completion for map, playdemo and timedemo commands

v0.49
=====
- Better fix for glXGetProcAddress ABI issues on Linux
- Add "maplist" command - lists maps in the current path(s)
- Enable command completion after ';' on a line
- Fix problem with really long GL extension strings (e.g. NVidia/Linux)

v0.48
=====
- Save mlook state to config.cfg
- Make mousewheel work in Linux
- Make CD volume control work in Linux
- Make gamma controls work in Linux/Windows GLQuake
- Thanks to Stephen A for supplying the patches used as a basis for the above
  (and Ozkan for some of the original work)

v0.47
=====
- Add fullscreen modes to software quake in Linux
- Added r_drawflat to glquake, glqwcl
- Fixed r_waterwarp in glquake (though it still looks crap)
- Multitexture improvements (sky, also usable with gl_texsort 1)
- Add rendering of collision hulls (via cvar _gl_drawhull for now)

v0.46
=====
- Fixed default vidmodes in windows, software NQ/QW (broken in v0.0.39 I think)
- Fixed sound channel selection broken in v0.45
- Fixed scaling of non-default sized console backgrounds

v0.45
=====
- Changed to a simpler version numbering system (fits the console better too!)
- Makefile tweaks; can optionally build with no intel asm files now.
- Started moving around bits of the net code. No behaviour changes intended.
- Con_Printf only triggers screen updates with "\n" now.
- Various other aimless code cleanups (comments, preprocessor bits)

v0.0.44
=======
- Fix the previous SV_TouchLinks fix (oops!)
- Make AllocBlock more efficient for huge maps

v0.0.43
=======
- Fixed a rare crash in SV_TouchLinks

v0.0.42
=======
- Increased max verticies/triangles on mdls

v0.0.41
=======
- fixed marksurfaces overflow in bsp loading code (fixes visual corruption on
  some very large maps)

v0.0.40
=======
- added the high-res modes to the QW software renderer as well
- fixed a rendering bug when cl_bobcycle was set to zero

v0.0.39
=======
- Hacked in support for higher res windowed modes in software renderer. Only in
  NQ for now, add to QW later.
- gl_model.c now a shared file
- Random cleanups

v0.0.38
=======
- Fixed a corruption/crash bug in model.c/gl_model.c bsp loading code.

v0.0.37
=======
- Cleaned up the tab-completion code a bit

v0.0.36 (and earlier)
=======
- Re-indent code to my liking
- Make changes to compile using gcc/mingw/msys
- Fix hundreds of warnings spit out by the compiler
- Lots of work on eliminating duplication of code (much more to do too!)
- Tried to reduce the enormous number of exported variables/functions.
- Fixed some of the input handling under Linux...
- Fixed initialisation order of OSS sound driver
- Hacked a max texture size detection fix in (should be using proxy textures?)
- Replaced SGIS multitexturing with ARB multitexture
- Added cvars "r_lockpvs" and "r_lockfrustum"
- Enhanced the console tab completion
- Bumped the edict limit up to 2048; various other limits bumped also...
- lots of other trivial things I've probably completely forgotten in the many
  months I've been picking over the code trying to learn more about it
