JHexen Version History
======================
Legend: + added, - fixed, * improved/changed

Version 0.99.4
--------------
+ cvar maulatortime: Dark Servant lifetime, in seconds (cheat, only effective 
  in single-player games)
+ chandeliers, torches and the like emit light from the right place
+ showmana 2: mana shown above health in the lower left corner
- binding to events that begin the same way ("d" and "down") works
- psprites positioned correctly with a scaled down status bar


Version 0.99.3
--------------
+ cvars r_flarefar and r_flarenear: fade out flares that are too close (good
  values are for example far:100 near:50, or far:200 near:100)
+ cvar r_ambient: minimum light level
+ cvar dclickuse: double clicked Forward or Strafe equals Use
* Doomsday updated to work with JHeretic
- crash with "listbindings" and other long, one-word commands (!)
- automap background texture
- DrawRealPatch() complained about too small buffers (now clips the data)


Version 0.99.2
--------------
+ sounds can be resampled to 22 or 44 kHz and/or 16 bits (the original sounds
  are 8 bit/11 kHz, so don't expect any miracles) in the Sound menu
+ cvars s_resample, s_16bit
+ crosshair selection in the Gameplay menu
+ option -outlines: do not perform texture outline coloring
+ option -nomixer: disable (CD volume) mixer
+ action commands can have aliases 
+ action command without prefix (+ or -) switch the action on/off
+ ccmd actions: list all the action commands
+ ccmd clearbinds: delete all bindings
+ ccmd safebind(r): bind a command to an event, if the event is unbound
- sfx volume with 2D sounds
- default controls aren't forced in some cases (now uses 'safebind')
- demos won't get out of sync with 3D sounds
- when console opens, all actions will stop
- slightly faster texture loading 
- the black console edge is in the right place

D3D renderer:
+ option -badtexalpha: use more bits for texture color, less for alpha


Version 0.99.1
--------------
New features:
- support for DirectSound3D, EAX 2.0 and A3D 3.0 
- 3D sounds (new functions added to the Doomsday API)
- sound reverberation parameters (with EAX or A3D) automatically calculated 
  for each sector in a map
- thunder and ambient sounds can have 3D sources
- sprites (all mobjs) lit by dynamic lights (sprlight)
- Direct3D renderer supports palettized textures (only without alpha)
- Cleric weapon 4: ghosts are luminous
- graphics effects menu for easier config
- borderupd and r_texquality added to graphics menu
- sound menu has 3D sound and reverb options
- cvar dlfactor: intensity of dynamic lights 
- support for glBSP (http://www.netspace.net.au/~ajapted/glbsp.html)
- no limit for the number of sounds being played (in theory)
- textypes.txt: a rough categorization of textures (metal, rock, wood, cloth)
  for reverb effects
- Michael Lossos's additions to JHexen.dll: cvars demoDisabled, 
  overrideHubMsg, n_mobDamage, n_mobHealth and co-op kill counting

Fixes:
- no unnecessary zero color masking for textures
- scrolling floor textures (didn't work in 0.99.0)
- dynamic light color calculations
- dynamic lights rendered with Z bias to avoid Z-buffer fighting
- far clip distance moved farther (Seven Portals end ravine rendered 
  correctly)
- things in the Controls menu have defaults
- correct clipping with all FOV angles
- textures loaded as 32-bit RGB(A) if possible (renderer decides which format
  is actually used)
- higher mouse sensitivities possible (when using menus)
- spralign: player sprite not in the way


Version 0.99.0
--------------
Doomsday engine:
- a 3D engine especially to be used with Doom-engine games
- based on code extracted from the Hexen 1.1 source
- the low-level rendering code is in a separate DLL (the DGL)
- renderers for OpenGL and Direct3D
- -game: the game DLL to use
- -gl: the rendering DLL to use (defaults to drOpenGL.dll)
- largely rewritten texture management
- support for palettized textures (OpenGL) (-paltex, r_paletted)
- no more black outlines around sprites, letters, etc.
- texture quality (resolution) control (r_texquality)
- networking code updated to simulate a client/server system
- cvar n_model: select the networking model (0=peer-to-peer, 2=sim.cl/sv)
- jtNet 2.0: network games setup in the console (DirectX 6 required)
- network players can chat in the console (ccmd chat)
- chat messages have proper player names (n_plrname)
- console font customizable (ccmd font)
- minor console enhancements (e.g. background zooming)
- CD volume control
- fog control (ccmd fog), but mainly for testing...
- binding any console commands to any input events (keys, mouse, joystick)
- all controls are commands: start turning left is "+left", "-left" stops
- console aliases: create an alias for a command
- ccmd after: execute a command after waiting a given number of ticks
- ccmd setgamma, cvar r_gamma: gamma correction control from the console
- enhanced lens flares (e.g. support for more than one flare texture)
- OpenGL slowdown with flares fixed
- ccmd flareconfig: list or change the lens flare positions, textures, sizes
  and intensities
- config files (.cfg) are now just collections of console commands
- ccmd exec: read a config file and execute the commands in it
- support for 32 joystick buttons and 8-dir point-of-view
- FPS counter fixed: maximum is now 35 (game clock ticks at 35 Hz)
- different console variable types (byte, int, float, string)
- color depth can be changed (-bpp)
- cvar r_fov: camera field-of-view angle
- autoexec.cfg
- console commands and variables are case-independent
- a number of new console commands/variables

JHexen:
- uses the Doomsday engine, JHexen is a DLL
- CD volume added to the sound menu
- new control config menu
- look around with the POV control (povlook)
- monster projectiles have the proper speed (not too fast at steep angles)
- player color can be freely chosen in multiplayer games (n_color)
- ccmd hexenfont: use the Hexen font in the console
- hexen.cfg obsolete, the new config file is jhexen.cfg
- jhexen.cfg has comments to clarify the usage of the variables
- a number of new console commands/variables

drD3D:
- -texbits: texture color depth (16 or 32)
- -zbits: Z-buffer depth
- -driver: choose the driver to use, if several are usable (e.g. -driver 3dfx)
- -nodither: disable dithering

drOpenGL:
- software rendering isn't allowed, unless -allowsoftware is used

Special thanks to:
	Michael Lossos for network testing
		

Version 0.98.4 (beta)
---------------------
New features:
- lens flares (cvars: flares, flaresize, flareintensity)
- support for up to 28 joystick buttons and a 4-dir POV control
- more joystick controls (flying, strafing, inventory)
- ccmd help: help about ccmds and cvars, e.g. 'help listfiles'
- cvar immediateuse: use an item immediately when choosing one from the 
  inventory
- ccmd crosshair (6 crosshairs, size and color)
- console variables: lookspeed, spralign

Fixes:
- hit monsters above/under you
- maxdl works properly
- psprites won't get stretched with a scaled-down status bar

Thanks to:
	William Mull
	Marc Torres


Version 0.98.3 (beta)
---------------------
New features:
- ccmd scriptinfo: query script status
- lump dumping (ccmd dump + -dumplump option)
- -novideo option (handy with -dumplump)
- revised data loading system (flats/sprites merged with existing data)
- ccmd unload: unload a data file at runtime (even hexen.wad)
- ccmd listfiles: list currently loaded data files
- console commands: clear, suicide
- some sprites are aligned to the view plane (e.g. Afrits, fog clouds)
- luminous bridge sparkles
- full 3D aiming (shoot straight up/down, for example)
- cvar sprblend: sprite blending (additive explosions, default: yes)
- hotkeys for all items (Mystic Urn, torch, Krater of Might, Dark Servant and
  Boots of Speed added)
- key config: assigning multiple controls to the same key allowed (again), 
  trying to assign a control to the tilde key deletes the current assignment
- more mouse and joystick controls
- joystick look
- controls for changing to next/previous weapon
- option to disable autoaim (not in demos)
- ccmd recorddemo: in-game demo recording
- ccmd stopdemo: stop demo playback/recording
- configurable demo stop key (was hardcoded to Q)
- demo stop key can be used to stop demo playback
- cvar completionmode: controls how console word completion is done
- ccmd cd: 'cd map' will play the current map's track, 'cd map #' will play 
  the specified map's track
- an icon for Windows

Fixes:
- a rare crash when a bottle bounces of a wall (happens in original Hexen)
- no looking when paused/dead
- CD player
- ccmd cd: resume works, info is more informative now
- possibly a fix for the occasional 'quiet sounds' bug
- maximum number of sound channels is 16, not 8 (also with 'sndchannels')

Thanks to everybody who helped/made suggestions/etc.


Version 0.98.2 (beta)
---------------------
New features:
- console customization: bgalpha, bglight, bgflat, bgturn
- console: word completion with Tab
- no hardcoded maximum demo size
- cvar maxdl: maximum number of dynamic lights

Fixes:
- the savegame bug (protection against bad archiveNums)
- proper lookdir reset when player spawns
- occasional crash when using ccmd 'reset'

Thanks to:
	Dave "NivRaC" Turner
	Ssabre of the Dragonrealm


Version 0.98.1 (beta)
---------------------
New features:
- runtime wad/lump loading (commands: load, reset)
- larger, colored dynamic lights (looks good...)
- hexen.cfg: default_wads: list of WADs to load by default
- console commands: class, clip, give, god, kill, midi, pig, playdemo, reveal,
  runscript, warp, where
- configurable key repeat (cvars keywait1/2, keyrepeat_wait1/2 in hexen.cfg)
- cvar icecorpse: frozen monsters translucent? (default: no)
- ice chunks are translucent
- simplesky looks the same as normal sky but is rendered differently

Fixes:
- sfx played at the correct volume (louder)
- sound code fixed again (no more crashes)
- yellow messages echoed
- finale: last screen fade in with cleric and mage
- automap: had wrong colors + map cheat mode 2
- minor things (e.g. numpad enter, console shift, item pickup flash color)

Thanks to:
	Ozkan Sezer
	Dave "NivRaC" Turner
	Ssabre of the Dragonrealm


Version 0.98 (beta)
-------------------
- Windows NT compatible (tested with NT4+SP5)
- DirectX 3 compatible
- sound code fixed (hopefully no more Aureal-related crashes)
- resolution menu
- default resolution in hexen.cfg
- -width and -height work again
- game window sized correctly with -nofullscreen
- pause key can be configured (but not to the Pause key)
- scrolling key config menu
- sprites aren't forced to stay under ceilings
- darker and a bit thicker fog (matches the sky)
- mouse cursor hidden *after* network init (duh)
- save/load menu slightly nicer to use
- all messages are echoed to the console (cvar: echomsg)
- textures reloaded automatically when gamma correction changes
- simplesky cvar for those who have problems with the sky
- sprite color translation tables in use
- console commands: pause, cheat

Thanks to:
	Robin McLeod
	longbreath
	Marc Torres
	Dehumaniser
	Igor V. Spiridonov


Version 0.97.2 (beta)
---------------------
- dynamic lights no longer flicker badly when seen for the first time
- -nosound and -nosfx work
- startup message font renderer modified
- maxvissprites set to 1024
- small lighting adjustments
- mouse button for moving backward
- inverse mlook option
- several controls can't be assigned to a single key any more
- floors and ceilings don't break up in the distance nearly as much as before
  (e.g. on maps 8 and 12)
- dynamic lights rendered with correct intensity

Thanks go to:
	Ozkan Sezer
	longbreath
	Daniel E. Cobos
	Robin McLeod
	Jan Pear


Version 0.97.1 (beta)
---------------------
- configurable item hotkeys
- mlook key and mouse button
- lookspring
- ravpic cvar (no need to use -ravpic any more)
- taking screenshots should work in all situations
- backslashes are now shown as normal slashes in the console (instead of being
  skipped over)
- network game start code has been changed

Thanks go to:
	slamdrew
	Marc Torres


Version 0.96 (beta)
-------------------
- ice chunks fly off in the correct directions (damn you MSVC)
- help screen crash fixed
- old Hexen save games are working
- increased mouse sensitivity
- automap has a proper border in the bottom
- no menu fadeout after viewing an info screen

Thanks go to:
	Andrew Stine
	Ryan Stotts
	Dave Turner


Version 0.95 (beta)
-------------------
Initial release.
