
                        Doomsday Engine Change Log
                        ==========================
               Legend: + added, - fixed, * improved/changed

***
*** -=- THIS CHANGELOG IS DEPRECATED -=-
***
***  More recent history is at the Doomsday Engine Wiki:
***  http://dengine.net/dew/index.php?title=Category:Releases
***

Version 1.9.0
-------------
API:
+ DMU (Doomsday Map Update): map data objects are no longer directly accessible 
  from plugins; all changes go through DMU, and notifications are routed to the
  correct places inside the engine for efficient operation

User Interface:
* tweaks to the console appearance (new defaults for background picture, color,
  and alpha)
+ console uses the Doomsday title bar, which is visible in the other UI screens
* console: game information texts moved to the title bar 
+ control panel UI fades away to display the game view when adjusting gamma,
  contrast, and brightness
+ control panel offers 16:10 resolutions
- sliders now eat up/down keys (so the user isn't confused when the focus jumps
  to some other control when up/down is pressed in a slider)
- game view window is now resized in the ticker
- cursor offsets in menus, and save/load items
+ new console controls:
  F5: Clear console text buffer
  Alt + C: Clear command line
  Shift + cursorleft/cursorright: Move cursor to start/end of the command line
  Delete: Delete the character under the cursor
  Insert: Toggle character insert input mode. When off - new replaces old
  Shift + Tab: Use "other" unknown word autocompletion mode
  Right arrow: a "command history fill" to the command line (ala DOS command prompt)
  when the cursor is at the end of the command line
+ cvar 'con-move-speed': (0 - 1.0f) speed of console opening/closing
* improved: console history buffer uses different colours for items based on their
  type (yellow for commands, white for variables)

Resources:
* removed: Doomsday.wad is obsolete, all data is now loaded from Doomsday.PK3
+ new fixed and variable-width fonts (with normal, bold, and light variants)

Renderer:
+ bias lighting: direct sources and smooth sector lighting
- fixed usage of GL_ATI_texture_env_combine3 (caused problems with rendering 
  shiny surfaces)
* slightly more pronounced fakeradio (default darkness changed from 1.0 to 1.2)
+ cvar 'rend-bias-grid-multisample': multisample factor used when determining sector
  to lightgrid mapping. Larger values increase accuracy at the expense of map load times.
+ light range compression: increase light in dark sectors/decrease light in bright sectors
+ cvar 'rend-fog-default': default fog algorithm
+ Flaremaps: loaded from "Data/FlareMaps" - used for custom halos on objects
  (see Readme for details)
+ surface colours: individual walls and planes can be given a unqiue color.
  Wall section surface colors are blended between sections to achieve color fades.
  Surface colors and fades can be used to accurately recreate Doom64 style lighting.
+ alpha'd/blended midtextures on twosided linedefs
+ flag 'LUMF_DONTTURNHALO': disable the view angle rotation of halos and flares
  for this luminous object.
+ blendmode: BM_ZEROALPHA (GL_ONE, GL_ZERO) "draw with no translucency"
+ cvar 'rend-sprite-mode': 1 = draw sprites and masked walls with hard edges
- fixed: light & halo not centered to sprite correctly (BatmanTC, wall torches)
- fixed: mobj shadows sometimes rendered above the object casting the shadow
- fixed: animated textures/flats would flicker after a console RESET
- fixed: pegged middle textures "bouncing" on moving planes
+ cvar 'rend-dev-mobj-bbox': debugging aid - render mobj bounding boxes
  (sized to match the box used for collision detection) for debug.
+ cvar 'rend-dev-cull-subsectors': disable non-visible subsector culling for debug.
+ cvar 'rend-glow-scale': multiplier for wall glow height

Map Data:
* optimized allocation and handling of runtime map data (zblocks, levelstatic
  blocks, fast alloc mode), reduced map setup times significantly
* changed: expanded map structure element limits.
* changed: expanded blockmap limits by enlarging BLOCKMAP data at runtime
+ ccmd 'listmobjs': print a list of the mobj ids + names (if set via DED) to the console.
* changed: BSP data is no longer required to load maps if runtime node building is
  enabled (cvar 'bsp-build' = 1). This allows playing eg maps created by SLIGE without
  generating the BSP data prior to loading the map in Doomsday
* improved: map load time greatly improved with large maps
* improved: emulation of DOOM.exe faked sector-over-sector tricks
* improved: sectors now have three sound origins (center, floor, ceiling). Sector sounds
  are played from the most appropriate source.
* improved: fakeradio now handles complex geometry and DOOM.exe tricks better
* improved: fakeradio wall shadows are now affected by plane glows and the sky
- fixed: missing textures/flats nolonger cause a fatal error. Surfaces with an
  unknown/missing textures/flats are now rendered with a "Missing" texture
+ unknown/missing textures/flats are reported in the console after loading a map
+ cvar 'blockmap-build': when/if new data is generated (default = when needed)

Definitions:
- removed fixed limit on the number of particle generator stages
+ Light -> Halo radius : radius of halo
+ Light -> Flare map: the flare map to use for this light's halo. Either a path
  and resource name OR a built-in flare resource number
+ Decoration -> Light -> Flare map: same as above for light decorations.
* Decoration -> Light -> Flare texture: is depreciated. Use "Flare map" instead
+ Flag -> Info: text string containing a comment about this flag
+ DED reader: the "Copy"/"*" directive (used to initialize the current definition
  being read with the values of the last) can now be used with Mobj, State, Line and
  Sector (type) definitions.
- fixed: minor memory leaks concerning definition data

Engine:
* memory zone expands as necessary
- removed the "-maxzone" option as obsolete
+ option '-vdmap': map files in one directory to another directory
  (virtual directory mapping)
+ PK3 path mapping: files in 'keyword-named' folders in the root of a PK3
  mapped to directories (see Readme for details)
+ subdirectory "Auto" of the runtime directory mapped automatically to
  both "Defs/<Game>/Auto" and "Data/<Game>/Auto"
+ new DFN font format that supports RGBA bitmaps
+ DeHackED patches (.deh files) are now loaded automatically from Data/Game/Auto
  and from the root folder in PK3/ZIP archives.
- removed fixed limit on the number of opened files
- less chance of file name collisions thanks to CRC32 in Dir_FileID
- fixed: crash during startup when running with extra verbosity
- fixed: vsprintf security vulnerabilities (buffer overflow) on all platforms
  Thanks to the Gentoo crew, Florian Westphal and Alexey Dobriyan for their
  part in helping to resolve these issues.
* changed: always do a full texture reset after using the "lowres" ccmd
* changed: cameras can now move above/below the ceiling/floor unrestricted.
- fixed: auxiliary lump cache not checked for lump names when searching

Input/Controllers:
+ binding classes: multiple commands can be bound to the same event
+ ccmd 'enablebindclass': Enable/disable/toggle binding classes or view their status
+ ccmd 'listbindclasses': Print a list of available binding classes
* ccmd 'listbindings': List bindings in a specific binding class
  (eg 'listbindings map')
* ccmd 'bind': Bind a command for a specific binding class to a key/button
  (eg 'bind map +f follow')
* ccmd 'delbind': Delete a binding in a specific binding class
  (eg 'delbind map mpanup')

All Games:
+ game status cvars
  read-only cvars that show the status of various player/game values
  ('player-health' 'map-name' etc)
+ automap options menu
+ weapons options menu
+ customisable weapon change order preferences: via weapons menu and cvars
+ cvar 'player-weapon-nextmode': use custom order for next/previous weapon cycle
* changed: Automatic weapon switching has two modes: 1= If better 2= Always
+ The level title drawn when entering a map is now drawn with the patch used
  during intermissions (eg "WILV01") if it has been replaced in a PWAD. These
  custom patches take priority over patch replacement strings.
+ The level title patch draw during intermissions is drawn using the name set
  in the MapInfo defintion for the level. Intermission patches have priority
  over patch replacement strings.
* Improved menu "Patch Replacement" feature to better support PWADS with custom
  menu patches
+ menu widget for changing colors
+ cvars 'msg-color-x': Color used for HUD messages
+ cvar 'msg-align': Set the horizontal alignment of HUD messages
+ Fullscreen view with no HUD
+ Fullscreen view with 'floating' status bar
+ cvar 'hud-status-alpha': Alpha value of statusbar background
+ cvar 'hud-status-icon-a': Alpha value of statusbar icons/counters
+ cvar 'hud-color-a': Alpha value of fullscreen HUD counters
+ cvar 'hud-icon-alpha': Alpha value of fullscreen HUD icons
+ cvars 'menu-color2-X': Secondary colors used for menu text
+ cvar 'menu-slam': 'Slam' menu when opening/closing
+ cvar 'map-huddisplay': Set the HUD display mode while in the automap
  (0 = none, 1 = current HUD, 2 = statusbar)
+ cvar 'menu-quick-ask': Ask me to confirm when quick saving/loading
+ cvar 'server-game-monster-meleeattack-nomaxz': to disable the fix added in the lxDoom
  source release to prevent monsters melee attacks having infinite z range.
+ cvar 'server-game-radiusattack-nomaxz': all radius attacks are infinitely tall in netgames
+ menu-fog mode 3: "Grey fog"
+ menu-fog mode 4: "Darken"
* cheat 'reveal': 4 = show subsectors in automap
* removed fixed limit on the number of active plats
* removed fixed limit on the number of active switches
* removed MAX_ADJOINING_SECTORS fixed limit
* changed cvar 'msg-blink': number of tics to blink before fading to normal
* changed cvar 'menu-patch-replacement': 2= Use built-in patch replacement when available
* Improved cfg consistency between games
* Automap keys are bindable
* Automap colors can be customised via console, cfg files and the menu.
* Menu navigation keys are bindable
* Widget/Message response keys are bindable
* Save & Load slots are now sync'd in the menu
* changed: cvar 'ctl-look-speed' is now specified using a float value
* changed: ccmd 'spawnmobj' now accepts the mobj name as well as the mobj id
+ cvar 'ctl-turn-speed': controls player turn rate
- fixed: alignment in view border patch drawing

jDoom:
+ DOOM.exe compatibility options/fixes
  maxskulls: remove max LostSoul spawn limit on Pain Elementals (off by default)
  skullsinwalls: prevent LostSouls from being spawned inside walls (on by default)
  raiseghosts: prevent Archviles from raising ghosts (on by default)
  anybossdeath666: The death of ANY boss monster triggers a 666 special (off by default)
  monsters-stuckindoors: Monsters can get stuck in doortracks (off by default)
  objects-hangoverledges: Only some objects can hang over tall ledges (on by default)
  objects-clipping: Use EXACTLY DOOM's clipping code (off by default)
  zombiescanexit: Zombie players can exit levels (off by default)
  player-wallrun-northonly: Players can only wallrun North (off by default)
  objects-falloff: Objects fall under their own weight (on by default)
+ support for most of jHeretic's MF2_ flags: includes floorclip, floatbob etc
+ support the "skill 0 trick"
+ BOOM THING flags: "Not Deathmatch","Not Coop" supported
+ BOOM LINEDEF flags: "Pass Thru", "Any Trigger" supported
  "Any Trigger" overrides XG activation type requirements unless
  the "ltf2_override_any" flag is set in Flags2
+ BOOM "ANIMATED" lump support
+ BOOM "SWITCHES" lump support
+ ccmd 'suicide': commit suicide in non deathmatch games
+ ccmd 'exitlevel': exit the current level via the normal exit and go to the intermission
+ cvar 'map-babykeys': show key locations in the automap on easy skill
+ cvar 'hud-face': show Doom Guy's face in the fullscreen HUD
+ cvar 'server-game-mod-damage': Enemy (mob) damage modifier, multiplayer (1..100)
+ cvar 'server-game-mod-health': Enemy (mob) health modifier, multiplayer (1..20)
+ cvar 'server-game-respawn-monsters-nightmare': monsters respawn in Nightmare
  skill
+ cvar 'server-game-bfg-freeaim': Allow free-aim with BFG in multiplayer games
+ cvar 'player-berserkswitch': automatically switch to fists when collected
+ cvar 'player-death-lookup': makes the player look upwards when killed
- fixed: automatic weapon switching now works in Co-op games
- fixed: voodoo doll spawning bug exhibited on maps such as caesar.wad
+ Thing -> flags2 'mf2_radiusattacknomaxz': z dimension is ignored when calculating
  if a radius attack hits a mobj with this attribute (in PIT_RadiusAttack).
+ DeHackED: 'Misc' patches are fully supported
+ value 'Player|Green Armor Class': armor class of the Green Armor pickup
+ value 'Player|Blue Armor Class': armor class of the Blue Armor pickup
+ value 'Player|God Health': health displayed when in god mode
+ value 'Player|IDFA Armor': armor given with 'IDFA' cheat
+ value 'Player|IDKFA Armor': armor given with 'IDKFA' cheat
+ value 'Player|IDFA Armor Class': armor class given with 'IDFA' cheat
+ value 'Player|IDKFA Armor Class': armor class given with 'IDKFA' cheat
+ value 'MegaSphere|Give|Health': health given when MegaSphere collected
+ value 'SoulSphere|Give|Health': health given when SoulSphere collected
+ value 'SoulSphere|Give|Health Limit': max health when SoulSphere collected
* ccmd 'give': number (0-NUMWEAPONS) = give an individual weapon (as if found)
   f = give the player the power of flight
* removed fixed limit on number of boss brain spawnspots
* removed fixed limit on number of archived mobjs
- fixed: "Boss Brain doesn't die by rockets as easily" splash damage is considered to be
  infinetly tall when checking the boss brain
- fixed: Doom2 MAP30 could not be completed with game-corpse-time = 1
- fixed: soundtarget data is now saved. Fixes bug where monsters would forget where
  they heard the player(s) after a save
- fixed: tracer data is now saved. Fixes bug where the Archvile fire attack and the Revenant
  missile would loose their target when saving
- fixed: animated textures in TNT and Plutonia were messed up.
- fixed: DOOM logic error which prevented the GOTMEDINEED message from ever being used
- fixed: DOOM inversed test which prevented the OUCH face from ever being used

jHeretic:
+ Heretic.exe compatibility options/fixes
  monsters-stuckindoors: Monsters can get stuck in doortracks (off by default)
  objects-hangoverledges: Only some objects can hang over tall ledges (on by default)
  objects-clipping: Use EXACTLY DOOM's clipping code (off by default)
  player-wallrun-northonly: Players can only wallrun North (off by default)
  objects-falloff: Objects fall under their own weight (on by default)
* Uses jDoom's Menu code
  All features, cvars, ccmds from jDoom supported
* Uses jDoom's HUD message code (msg buffer)
  All features, cvars, ccmds from jDoom supported
+ BOOM "ANIMATED" lump support
+ BOOM "SWITCHES" lump support
+ ccmd 'suicide': commit suicide in non deathmatch games
+ ccmd 'hereticfont': Use the Heretic font in the console
+ ccmd 'exitlevel': exit the current level via the normal exit and go to the intermission
+ cvar 'map-babykeys': show key locations in the automap on easy skill
+ cvar 'hud-artifact': show the current artifact in the fullscreen HUD
+ cvar 'hud-keys': show keys in the fullscreen HUD
+ cvar 'hud-health': show health in the fullscreen HUD
+ cvar 'server-game-mod-damage': Enemy (mob) damage modifier, multiplayer (1..100)
+ cvar 'server-game-mod-health': Enemy (mob) health modifier, multiplayer (1..20)
+ cvar 'hud-inventory-timer': number of tics before the inventory auto-hides
+ Added patches for missing ASCII characters to jHeretic.wad
- fixed: lineattack weapons hit planes
- fixed: various alignment glitches in statusbar drawing
- fixed: float bobbing would not activate until the player moved in the X/Y dimension(s).
- fixed: soundtarget data is now saved. Fixes bug where monsters would forget where
  they heard the player(s) after a save.
+ Thing -> flags2 'mf2_radiusattacknomaxz': z dimension is ignored when calculating
  if a radius attack hits a mobj with this attribute (in PIT_RadiusAttack).
* removed fixed limit on number of archived mobjs
* changed: command-line option -ravpic is now -devparm 

jHexen:
* Uses jDoom's Menu code
  All features, cvars, ccmds from jDoom supported
* Uses jDoom's HUD message code (msg buffer)
  All features, cvars, ccmds from jDoom supported
+ ccmd 'hexenfont': Use the Hexen font in the console
+ cvar 'hud-artifact': show current artifact in fullscreen HUD
+ cvar 'hud-health': show health in fullscreen HUD
+ cvar 'hud-inventory-timer': number of tics before the inventory auto-hides
+ Added patches for missing ASCII characters to jHexen.wad
- fixed: players would continue receiving damage after a telporting out of a damaging
  sector with a Chaos Device, until they moved.
* changed: command-line option -ravpic is now -devparm 

XG:
* changed: the DD_XGDATA lump is now depreciated.
+ Line (type): XG line type definitions now have alternate names for the iparms.
  (see wiki for more details - http://dew.dengine.net)
+ line class "ltc_line_teleport": BOOM-style line->line (silent) teleport
+ line class "ltc_teleport"
* improved: line class "ltc_end_level": specify next level on exit (Ip3)
* improved: line classes "ltc_wall_texture" & "ltc_plane_texture": set the surface
  color, blendmode and alpha properties of the referenced surfaces.
* improved: line class "ltc_wall_texture" -> Set Mid If None: add/remove
  midtextures on twosided linedefs.
+ Added more XG_Dev messages. Reference types are printed by name instead of ID.
* fixed: bug that prevented sector chains from working correctly under certain circumstances
  (due to dummy activators in sector functions)
* fixed: XS_GetPlane - when a act_tag reference was specified it was incorrectly being
  compared to the regular sector tag during iteration.
* fixed: XS_GetPlane was incorrectly referencing sector tag 0 when called during XS_Trav
  functions which implicitly set ref data to zero when used in conjunction with spref_tagged_
  or spref_act_tagged_. Now checked with -1 and an XG_Dev warning message is printed.
* changed: ltc_mimic_sector was using the line's Act Tag when the mimic target reference was
  set to SPREF_ACT_TAGGED_ This is the opposite to the way it works with all other classes
  which use these data references. New sprefs have been added which retain this functionality.
  IF YOU'VE USED SPREF_ACT_TAGGED_FLOOR/CEILING AS THE MIMIC TARGET REFERENCE
  IN YOUR PWAD:
  Your PWAD will no longer work as expected and you should update and redistribute it.
* fixed: XSTrav_PlaneTexture - the XG_Dev message "couldn't find suitable" was printed
  even when a suitable reference WAS found.
* fixed: ltc_plane_move sector type was incorrectly being set to type 0 when the move finished
  if no end type change was specified. Result was sectors "losing" their type after a plane move.
+ Line type -> Act type: Set line type on activation
+ Line type -> Deact type: Set line type on deactivation
+ Flag 'ltf2_override_any': override BOOM 'Any Trigger' Linedef flag
+ line->line references (lrefs):
  lref_none
+ line->plane references (lprefs):
  lpref_back_floor
  lpref_back_ceiling
  lpref_thing_exist_floors
  lpref_thing_exist_ceilings
  lpref_thing_none_floors
  lpref_thing_none_ceilings
+ sector->plane references (sprefs):
  spref_back_floor
  spref_back_ceiling
+ line->sector references (lsrefs):
  lsref_none
  lsref_back
  lsref_thing_exist
  lsref_thing_none
+ light level reference (lightref):
  lightref_back

Multiplayer:
- fixed: skill selection not working via Game Setup menu

Linux:
+ SDL joystick support (by zachkeene)
- fixed: disappearing enemies in jHeretic and jHexen (fix by zachkeene)
* Build scripts require zip (package zip on Debian/Ubuntu)
- fixed: fixed some segfaults caused by missing data in *Nix builds.

Mac OS X:
* optimized release builds now work correctly
- fixed several endianness issues in model rendering, XG, WAV loading, buttons
- fixed: network games (now compatible with Win + Linux)
- fixed rendering of shiny models (multitex and non-multitex)
- fixed many minor compilation issues

Security:
- fixed: CVE-2006-1618 buffer overflow.

Version 1.8.6
-------------
+ "Flats" external resource category: defaults to "Data/Game/Flats/"
* external flats are searched first from "Data/Game/Flats/"
* PK3s can now be compressed (normal ZIP files)
* unlimited nesting of autoloads via Auto directory and virtual files
+ PK3 path mapping: files in the root of a PK3 mapped to the Auto
  directories (see Readme for details)
+ lump assembly prefixes (see Readme for details)
+ Reflection -> Min color: minimum RGB color for the reflection (to
  make the reflection visible even without regular sector light)
- fixed: model file hash reset properly when running 'reset'
- fixed: problem with multiple -file options

SDL_mixer:
* MUS data converted to MIDI is stored in the runtime directory instead
  of /tmp

Mac OS X:
+ MiniStart launcher
* music is played using QuickTime (MIDI problems resolved)
- multiple endianness issues fixed in texture/PK3/model handling


Version 1.8.5
-------------
+ surface reflections (shiny effects)
+ 'Reflection' definition
+ cvar 'rend-tex-shiny': enable surface reflections
+ Model -> Sub -> Shiny reaction: how much shiny textures react to angle
  changes
+ cvar 'rend-model-shiny-strength': shininess factor for all models (0..1)
+ Model -> Sub -> Blending mode: select a blending mode (bm_* flag)
+ bm_* flags in Flags.ded (blending modes)
+ ccmds 'conopen', 'conclose', 'contoggle': open/close console prompt
* detail textures can now use external resources instead of WAD lumps
  (Detail -> File)
* external resources can be located in relation to Doomsday base path
  (e.g. Shiny map = "Data/LightMaps/Shine")
- fixed: dynamic light clipping in the case where lights are in the same
  subsector with a polyobj

jHexen:
+ cvar 'hud-scale': scaling factor for HUD graphics and messages

Win32:
+ option '-nostwin': don't show the startup message dialog (quicker 
  startup)
* crashes are handled more gracefully
- fixed: vcbuild.bat didn't include resources in Doomsday.exe and 
  drD3D.dll, which meant that the startup window and the drD3D config 
  dialog were missing


Version 1.8.4
-------------
* shiny texture coordinates are calculated using a simplified algorithm
- fixed: shiny texture coordinate 'warparound' artifact
- fixed: FakeRadio hanged in maps with some unusual map geometry

Win32:
+ vcbuild.bat: builds everything from the command line
* built using Visual C++ Toolkit 2003, available from:
  http://msdn.microsoft.com/visualc/vctoolkit2003/


Version 1.8.3
-------------
+ Generator -> Stage -> Spin resistance { 0 0 }: factors for slowing down
  particle spinning (0..1)
- fixed: model skin wrapping
- fixed: halo origin calculation for high-resolution sprites
- keycode handling in console/UI didn't always use the keymap

jDoom:
- fixed: crushed barrels now explode correctly and don't become gibs

Linux:
* MIDI music player defaults to SDL_mixer's default implementation
  (DENG_MIDI_CMD can be used to specify an external player)
* fixed-point math using inline assembler like in Windows (courtesy of
  Lukasz Stelmach)

Mac OS X:
* a native build that runs on Mac OS X 10.3 
* now compiles with Xcode
- fixed various glitches with regards to loading of plugins


Version 1.8.2
-------------
- fixed: segfault when starting a new game during demo playback
- fixed: instant camera position changes during demo playback
- fixed: console font disappearance
+ added control panel setting for rend-tex-filter-smart
- adjusted particle Z coordinate when touching a plane
- fixed fatal error when building GL nodes for a map in the end of the 
  data lump directory

Mac OS X:
- fixed endianness problem with MUS-to-MIDI conversion


Version 1.8.1
-------------
* it is no longer possible to turn off camera smoothing
- cvar 'rend-camera-smooth' was hidden
- fixed: game event smoothing now operates seamlessly regardless of the
  framerate
- fixed: camera position smoothing wasn't synced correctly to frames
- fixed: segfault related to sight checking over large distances (e.g.
  TNT map 27)
+ dpMapLoad: glBSP 1.96 as a plugin, run on the fly when necessary
+ rend-halo-realistic: use only more realistic halos (slightly smaller,
  dimmer), no secondary lens flares; enabled by default
- fixed: Map Info -> Execute
- fixed: FakeRadio bug where vertical shadows were rendered above and
  under the left and right edge of an opening in a straight wall
- GL must not be loaded at all in dedicated mode
- file finder had problems descending into subdirectories
- input events are processed immediately: mouse lag is gone both in the
  game and in the UI
- mouse filter is more careful not to ever lose any mickeys
- all pending ticcmds are always processed immediately (excessive
  buffering no longer a danger)
- fixed several endianness issues to allow building on a big endian arch
* tuned up handling of ticcmds during transfer from client to server
* particle movement is smoothed (except flat particles that contact 
  a surface)
* mouse look is always as smooth as it can be
* all games use the same keyboard look scheme (jDoom's was different)
* framerate is measured more accurately
+ ccmd 'message': display a local game message

Common:
* more unified handling of ticcmds
+ cvar 'player-move-speed': player movement speed modifier (0..1)

jDoom:
- fixed: '-warp' made fonts disappear

jHeretic/jHexen:
- fixed: when a demo stops continue with a running InFine sequence

Win32:
- too many console messages caused a crash during startup (extra verbosity)
- crash when starting in dedicated mode

Linux:
+ environment variable DENG_MIDI_CMD: play MIDI music using this program
  (defaults to "timidity")
+ '--without-(game)' configuration option skips (game)
+ '--without-opengl' configuration option removes all OpenGL support
  from the build (for dedicated servers)
- color adjustments are now working (vid-gamma et al.)
- demo file names were formed incorrectly

Mac OS X:
- pretty much everything can be compiled and run on Mac OS X with the
  help of fink and Apple's X11 server (except netgames, don't go there)


Version 1.8.0
-------------
- fixed: game clock must not be running while map is being loaded
- fixed: mobj Z coordinate when sector has a fake floor


Version 1.8.0-rc3
-----------------
* use TCP connection for sending reliable data (game setup, etc.)
- ccmd 'listmaps' was missing
- fixed: FakeRadio bug where narrow shadows stretch beyond parent edge
- fixed: mouse wheel events in Linux
- fixed: opening control panel in dedicated mode

InFine:
+ 'XImage' command: set an external graphics resource to a Rect


Version 1.8.0-rc2
-----------------
+ control panel text has its own color (not just white)
* maximum frame rate limited to 200
* movement of missiles and other such objects is now smoothed
* network setup screens revised
* modems, serial links and IPX no longer supported (only TCP/IP)
- ccmd 'playsound' was missing
- things didn't follow moving planes smoothly
- fixed an input event processing bug that caused duplicated events


Version 1.8.0-rc1
-----------------
! Release Candidate
! features from alpha-2 and alpha-3 are *not included*
* Linux now officially supported (no MIDI music, joysticks)
+ control panel settings for FakeRadio
+ rend-fakeradio-darkness
* rend-camera-smooth now affects 3D model animation, monster movement
* artifact bobbing (Heretic/Hexen) completely smooth
* 3D model spinning completely smooth
* key repeat uses milliseconds (input-key-delay)
* network code uses TCP sockets and UDP packets, DirectPlay ditched
- savegame directory creation bug fixed
- PK3 reader supports files created with Info-ZIP that contain extra
  field data
- OpenGL display resolution change sometimes didn't update viewport
- FakeRadio shadows are not rendered when light amplification is active


Version 1.8.alpha-3
-------------------
! Alpha Release
+ multiple viewports
+ local players are automatically assigned to different viewports
+ ccmd 'viewgrid': set up the viewport grid
+ clientside turning/looking
* basic toggle controls once again included in ticcmds
* distinction between stick and pointer controller axes
* engine handles all controls


Version 1.8.alpha-2
-------------------
! Alpha Release
* controller axes can be bound to specific local players
* engine handles all controls (incomplete)
* 'walk' and 'sidestep' axis controls can be bound (partially implemented)
+ 'bindaxis' command: bind a controller axis to an axis control (e.g.
  "bindaxis mouse-y walk")
- fixed: sound system (on Win32), may still crash during shutdown
- removed obsolete settings from the Control Panel


Version 1.8.alpha-1
-------------------
! Alpha Release
+ Linux support
+ accurate measurement of time (variable-length ticks); game code still
  untouched, uses 35 Hz legacy timing
* independent input->ticcmd generator (stub only)
* now uses the SDL library (http://www.libsdl.org/)

Renderer:
+ FakeRadio: simulated radiosity lighting (cvar 'rend-fakeradio')
+ smart texture filtering (modified hq2x, 'rend-tex-filter-smart')
- removed smooth camera hack ('rend-camera-smooth')

Network:
* portable low-level implementation (TCP/UDP sockets), needs testing!


Version 1.7.15
--------------
+ merged some interesting stuff from 1.8/nix: FakeRadio, sky color
* use the "no compression" hint when loading lightmaps
* increased maximum number of particle generators to 256
- fixed State -> Execute definition patching

jDoom:
+ option '-nodefaultfx': skip default Lights.ded and Particles.ded


Version 1.7.14-4
----------------
+ cmd 'playsound': play a sound effect locally
+ Map Info -> Execute: execute a console command after map setup (i.e.
  also after loading a savegame)
+ Map Info -> Sky Model -> Execute: execute a console command every time
  the sky model's frame number changes
+ State -> Execute: execute a console command when a mobj enters this 
  state (NOTE: player HUD weapons are not real mobjs, so this has no 
  effect with psprite states)


Version 1.7.14-3
----------------
+ cmd 'listmaps': print all loaded maps and the WAD files where they 
  are from
- fixed: 'df_worldtime' was behaving strangely
- fixed: 873878: Ogg/Mp3 in PK3 Virtual Folder Structure Not Playing

jDoom:
+ cvar 'menu-quitsound': play a random sound when quitting


Version 1.7.14
--------------
! Maintenance Release
+ Model -> Sub -> Skin file: file name of the skin (can be anything; use
  this if it isn't possible to use the model's skin list)
+ Map Info -> Sky Model -> Layer: associate sky model with a sky layer;
  model is hidden if sky layer is not enabled
+ Generator -> Submodel: submodel # to use as generator origin
+ particle generator sounds: Sound, Volume, Hit sound, Hit volume added
  to Generator -> Stage
+ Generator -> Init Vector Rnd: init-time random component of Vector
+ Generator -> Stage -> Force: linear force
+ model flag 'df_notexcomp': disable texture compression for all skins
  of the associated model
+ model flag 'df_worldtime': model's interpos depends on world time
+ generator flag 'gnf_srcdir': rotate particle vector
+ generator flag 'gnf_extra': additional generator for a mobj state
+ cvar 'rend-tex-filter': use bilinear filtering on textures
* a particle generator can have up to 32 stages
* models close to the viewpoint won't disappear
* max number of data files increased from 128 to 1024 (-file)
- fixed: crash when map doesn't have any REJECT data
- fixed: confusion/crash when requesting a lump with no name
- fixed: edge artifacts around translucent sprites
- fixed: sfx sometimes pop with the default sound driver (DS8)
- fixed: loading DEDs from virtual directories
- fixed: particle center offset angle
- fixed: loading order of 3D models (mixed up demon/spectre skins)
- fixed: lighting on vertically inverted models
- quietly allow the use of undefined sprite frames (object hidden)

jDoom:
* "Read This" screens are not affected by menu-scale, skull hidden

jHeretic:
- game can only be saved during normal game play
- fixed: cycling down from Elvenwand skips Staff (bug 813773)

jHexen:
+ lava and fire textures glow
* support for the Hexen 4-level demo


Version 1.7.13
--------------
! Maintenance Release
* model offset and scale are interpolated (Model -> Offset XYZ,
  Model -> Scale XYZ)
* overridden model defs are no longer loaded at all (bug 760099)
* number of screenshots is not limited to 100
* screenshot file names are selected according to game mode
- fixed: semicolon in bindings (key name "smcln")
- fixed: music volume = zero prevents songs from changing
- fixed: halos flicker sometimes through doors
- a shadow is not rendered if it would be above the object
- fixed: crash when loading external resources of color-mapped sprites

Network:
- fixed: player gets stuck in enemies
- fixed: player gets stuck in a moving plane (elevator, door)
- fixed: crash in clmobj handling
- fixed: recording demos with multiple local players
- fixed: clientside jumping power, jumping enabled
- fixed: player start spot selection (especially TNT/Plutonia)
- fixed: mobj Z coordinates were sometimes incorrect on clientside
- fixed: server didn't increase client's bandwidth rating, ever
- fixed: WAD warning box in Client Setup screen was in the wrong place
- fixed: halos weren't always displayed correctly on clientside

drD3D:
+ option -triple: enable triple buffering in fullscreen mode

XG:
- XG should always be disabled on clientside

jDoom:
+ cvar 'map-door-colors': show colors of locked doors in automap
+ cvar 'map-door-glow': locked doors have a glow around them (1=normal)
* Plutonia/TNT will automatically set rend-sky-full
- fixed: bullet puffs in face (bug 740767)
- fixed: main menu item spacing too tight
- fixed: STARMS was used in the status bar when in deathmatch

jHeretic:
+ cvar 'player-jump-power'

jHexen:
+ cvar 'player-jump-power'


Version 1.7.12
--------------
+ option -leaveramp: don't reset color settings back to previous values
  at shutdown
+ JWADs: IWAD supplements (uses normal WAD loading order)
+ Data\Graphics directory: Doomsday's graphics resources (UI textures)
+ cvars 'ui-cursor-width', 'ui-cursor-height': UI mouse cursor size
+ added new cvar controls to the Control Panel (e.g. multitex, HUD mirror)
* the first incarnation of the Doomsday UI theme, "Gradient", was 
  replaced with a much more polished theme, "Plastic"
* UI mouse cursor size and movement depend on display resolution
* music data will not be cached into the memory zone while loading 
  (large MP3s wasted a lot of space) 
* paths that contain the base path are normally printed without the base
- removed obsolete settings from Control Panel
- removed detail texture maximum distance cvar and Control Panel slider
- removed cvars 'rend-light-clip', 'rend-light-shrink'
- fixed: possible crash in Con_Error()

Definitions:
+ DED version 6: semicolons are optional (the default is 6)
+ added Defs/Doomsday.ded: include definitions shared by all games
+ 'Top map', 'Bottom map', 'Side map' added to Light defs and
  Decoration:Light defs (name of lightmap to use; empty means default,
  "-" is none)
+ particle types pt_modelNN: use 3D model ID = "ParticleNN" 
+ particle flags ptf_zeroyaw, ptf_zeropitch, ptf_rndyaw, ptf_rndpitch
+ 'Frame', 'End frame', 'Spin' added to Generator:Stage
+ up to 32 sky models can be defined in a Map Info definition
+ added an ID key to the Model definition
* flags can be defined using this syntax: Flags = flag1 | flag2 | flag3;
  (flag prefixes must be omitted)
* Defs/Doomsday.ded is always read first
* Flag definitions moved to Defs/Flags.ded
* XG definitions moved to Defs/XG.ded
* maximum number of submodels is now 8
* Map Info definitions can be copied
* 'InFine' is an alternative name for the 'Finale' definition

Network:
- fixed: server increased a client's bandwidth rating too rapidly

Sound:
* sounds from PWADs are not replaced with automatic external resources

Refresh:
+ named Model definitions (Model:ID), not assigned to any state
+ lightmap resources are read from the Data\x\LightMaps directory
+ texture/flat animation sequences defined using Group defs (Anim.ded)
+ "tgf_smooth": interpolate between steps in texture/flat animation
+ particle generator flag "gnf_group": triggered by all in the flat's
  animation group
+ particle generator flags "gnf_blendsub", "gnf_blendrsub": subtractive
  blending for particles
+ particle generator flags "gnf_blendmul", "gnf_blendimul": normal and
  inverse multiplicative blending for particles
+ option -nohighpat: disable high-resolution patches
* weapon model skins are precached
* texture/flat groups can be used purely for precaching
* detail texture contrast is preprocessed: there will be multiple 
  instances of the same texture with different contrast levels (needs
  a bit more memory but allows faster rendering)
* 8-bit particle textures are interpreted as pure alpha data
* PCX images aren't loaded redundantly from virtual files  
- fixed: PWAD test when loading highres flats and patches (-pwadtex)
- fixed: particles sliding over ledges
- fixed: Generator Center angle (Y) offset was ignored with mobj sources

Renderer:
+ sky models
+ particle models
+ blending modes: subtract, reverse subtract, multiply, inverse multiply
+ cvar 'rend-glow-fog-bright': wall glow brightness in fog
+ cvar 'rend-model-shiny-multitex': render shiny skins using 
  multitexturing
+ cvar 'rend-model-mirror-hud': mirror HUD weapon models
+ cvar 'rend-model-spin-speed': rotation speed for models with "df_spin"
+ cvar 'rend-dev-wireframe': render player view in wireframe mode
+ cvar 'rend-dev-freeze': stop updating rendering lists (for debugging)
* renderer uses multitexturing for detail textures, dynamic lights,
  interpolated texture animation and model shiny skins
* shiny skins are correctly masked by alpha in main skin
* plane glow on models is stronger than before
* if multitexturing is available, masked walls will get one dynamic 
  light (previously masked walls were not lit by dynlights)
* dynamic light polygons are no longer clipped
* calculations to determine surfaces affected by a dynamic light are
  more accurate (light has a better chance to be visible)
* light decoration brightness decreases as surface/view angle grows
- removed option -maxor: clipper has now unlimited nodes
- fixed: leaking lights (impossible route detection)
- fixed: stray pixels along polygon edges in dynamically lit areas
- fixed: detail texture blending when fog is enabled
- fixed: object shadows weren't affected by fog
- fixed: skymask holes in skyfixed sectors
- fixed: shiny skins on HUD models
- fixed: console text gibberish on the first time the console is drawn
- fixed: cvar 'rend-tex' (render with textures)
- fixed: shadows fade away smoothly at maximum distance

drOpenGL:
+ support for multitexturing
+ NV_texture_env_combine4 or ATI_texture_env_combine3 required when 
  rendering dynamic lights with multitexturing
+ support for SGIS_generate_mipmap
+ support for EXT_blend_subtract
+ support for EXT_texture_compression_s3tc
+ option -notexcomp: disable texture compression
+ option -novtxar: disable vertex arrays
+ option -nosgm: disable SGIS_generate_mipmap
* vertex arrays are disabled by default if driver's OpenGL version is
  older than 1.3 (otherwise enabled)
* texture compression disabled by default (use -texcomp to enable)

drD3D:
+ support for multitexturing

Games:
+ cvar 'server-game-cheat': allow cheat commands "god", "noclip", "give"
  in netgames

jDoom:
+ "Patch Replacement" strings (see Defs\jDoom\Values.ded)
+ cvar 'menu-patch-replacement': enable or disable replacement strings
+ cvar 'menu-glitter': letters glow as they are typed in
+ fonts precached during startup
+ crosshair alpha slider added to the HUD menu
+ some light decorations (Doom1Lights.ded + BSTONE3, BRICKLIT)
* titlescreen sequence defined as an InFine script (ID = "title")
* menu text has properly sized capital letters
- fixed: intermissions/finales in Plut/TNT

jHeretic:
+ some light decorations (based on Isegrim's defs)
* player mobj selector is set to match currently used weapon
* titlescreen sequence defined as an InFine script (ID = "title")

jHexen:
+ some light decorations (based on Isegrim's defs)
* player mobj selector is set to match currently used weapon
* titlescreen sequence defined as an InFine script (ID = "title")

InFine:
+ cmd 'startinf (scriptid)' (and 'stopinf')
+ gradient rectangles
+ object rotation (pics, text objects, rectangles)
+ command "ScaleXY (handle) (x) (y)"
+ command "Rect (handle) (x) (y) (w) (h)"
+ command "FillColor (h) (TOP/BOTTOM/BOTH) (r) (g) (b) (a)"
+ command "EdgeColor (h) (TOP/BOTTOM/BOTH) (r) (g) (b) (a)"
+ condition "MODE:(game-mode)"
+ command "ELSE"
+ command "DO" ... ";" (nestable blocks)
+ command "PlayDemo (filename)"
+ command "Cmd (console command)"
+ command "OnKey (key-ident) (marker)": jump to marker when key pressed
+ command "UnsetKey (key-ident)"
+ commands "Events", "NoEvents": enable/disable interactive mode
+ commands "Trigger", "NoTrigger": enable/disable menu triggering mode
* generic object commands: "Del", "X", "Y", "Sx", "Sy", "Scale", "Angle"
  "ScaleXY", "RGB", "Alpha"
* old pic/text commands that should no longer be used: "DelPic", 
  "DelText", "TextRGB", "TextAlpha", "Tx", "Ty", "TSx", "TSy", 
  "TextScale"
* InFine can run in overlay mode (e.g. during GS_LEVEL)
* InFine states are nested (script -> demo -> script -> demo -> etc.)
- fixed: "WaitText" timing with \w, \W, \p, \P
- fixed: "SoundAt" volume

XG:
+ line class "ltc_mimic_sector"
+ new sprefs
+ cvar 'xg-dev': print XG event messages to the console
- fixed: sector floor/ceiling chain touch test


Version 1.7.11
--------------
! Bugfixes Only
* revised server delta generation: fixed-size frames, prioritized 
  contents, sounds are stored inside frames (not separate packets),
  redundant missile coordinates not sent
* server refuses connection if new client's ID already in use
* revised clientside handling of frames: collision detection for 
  movement prediction, missiles hidden on impact
* revised low-level networking: implement confirmed/ordered packets 
  manually, detect duplicates, Huffman encoding (60%-70% compression)
+ cmd 'huffman': print Huffman efficiency and number of bytes sent
* mobj translucency 0-255 (selector still overrides)
* mobj floatbobbing is done by engine (clientside), DDMF_BOB added
* client is allowed some movement while airborne (easier jumping)
* by default, external resources are no longer loaded for textures from
  PWADs; use the -pwadtex option to change this 
  (cvar 'rend-tex-external-always')
* console command line cursor can be moved left and right
* default key repeat interval is now 3 tics (was 4)
* braces { and } are equivalent to quotes, e.g.:
  "alias init-map03 {after 1 {warp 5}}"
* cmd 'listcmds' prints a description for each command
+ cmd 'toggle': toggle a cvar's value between zero and nonzero
+ cmd 'if': execute a command if the condition is true (tests cvar 
  values)
* max number of light decorations increased to 16 per texture
- fixed: occlusion for planes exactly at eye-Z
- fixed: client was sending too much data (now it's about 0.3 KB/s)
- included DED files are read immediately after the Include directive
  has been encountered
- fixed: pausing the game also stops spinning models, floatbob
- external music was not loaded correctly from virtual files
- fixed: clientside mobjs and players on moving planes
- fixed: external sound resources reloaded every time the sound starts
- fixed: tracking of currently playing sounds
- fixed: floorclip values were restricted to 64 in mobj deltas
- fixed: client stepup limit is now exactly 24 units
- fixed: coord/offset problems if same sprite used in game and HUD
- missing upper texture in a skyceiling sector replaced with the 
  backsector's ceiling (was just blank white)
- fixed: base path validation (could be missing a slash)
- fixed: path of CPHelp.txt was sometimes not translated
- fixed: mobj translucency didn't affect the shadow
- fixed: incoming message queue protected by a mutex
- music is not restarted if it's already playing
- fixed: finding model files/skins with base-relative paths
  
jDoom:
* savegames stored in game mode specific subdirs (mixups now avoided)
+ cvar 'view-bob-weapon-switch-lower': if zero, HUD weapon is not 
  lowered during a weapon switch
+ value 'Weapon Info|*|Static': if nonzero, HUD weapon is not lowered
  during a weapon switch
* game-corpse-time: corpses fade smoothly 
- fixed: button deactivation sound
- fixed: crash when "kill" used when not in a map

jHeretic:
* savegames stored in game mode specific subdirs (mixups now avoided)
* game-corpse-time: corpses fade smoothly 
- fixed: button deactivation sound
- fixed: Speed + Use Artifact made the player jump
- fixed: on clientside, wind didn't affect player (e.g. E1M1)
  
jHexen:
* savegames stored in game mode specific subdirs (mixups now avoided)
+ option -savedir: set savegame directory
- fixed: polyobj destination/speed for sliding doors (e.g. map05)
- fixed: restoring polyobjs and hidden mobjs from saved map
- fixed: problem with excessive sound sequence repeat (e.g. map12)
- fixed: torch light for remote players
- fixed: no mobjs spawned when dedicated server starts
- clientside powers were not correctly set to zero at death, map change
- clientside Wings of Wrath icon didn't rotate when flying
- fixed: dedicated server deadlock when monsters don't find any players
- fixed: crash when minotaur vanishes and master is dead
- fixed: 'use artifact' sounds not audible on clientside
- fixed: crash when "kill" used when not in a map
- fixed: screen border flicker in fullscreen mode (again)
- fixed: floatbobbing objects go through the floor
- Deathkings map36: playerstart group >4 accepted

InFine:
* server sends condition truth values to clients (secret, leavehub)

XG:
- when loading a savegame, line activators were not correctly restored

drD3D:
- fixed a problem with mode selection (refresh rates)

Installer:
- fixed: pressing Enter after typing a path closed the installer dialog
- glBSP run with the -fresh option to avoid bad BSP data


Version 1.7.10
--------------
+ support for ZIP/PK3 files (no compression!), can be loaded like WAD 
  files (-file, load; no unload, though), contents added to the virtual
  file hierarchy (package root dir => Doomsday base dir)
+ after runtime directory has been searched, data files are also 
  searched from the default data directory (e.g. Data\jDoom\):
  "-file Test.wad" will load Data\jDoom\Test.wad
+ WAD, LMP, PK3 and ZIP files from the Data\Game\Auto directory are 
  always loaded automatically
+ WAD/PK3 files can be loaded from virtual files (inside PK3s)
+ IncludeIf and SkipIf directives can also test for game modes, e.g.
  "SkipIf Not doom1-ultimate"
+ light decorations (dynlights on textures/flats), "Decoration" defs
+ cvar group 'rend-light-decor'
+ sprite frames can be replaced with external resources (Patches)
+ raw screens can be replaced with external resources (Patches)
+ -maxtex option: set maximum texture size ("-maxtex 128")
+ sound flag 'sf_dontstop' (0x20): sound does not stop even if emitter 
  is destroyed (sound cannot be stopped until it finishes normally)
* faster 3D model loading during startup
* rend-camera-smooth: Z-movement of planes is also smoothed
* default dynlight brightness increased to 0.75 (rend-light-bright)
* default halo brightness decreased to 35 (rend-halo-bright)
- halo distance measured in 3D: no excess brightness when viewed from 
  above/below
- fixed: sprites were sometimes clipped by a sky ceiling
- fixed: problems with rend-light-num 

jDoom:
+ light decorations for all switches, many textures and some flats of 
  Doom 1
* barrel/rocket explosions continue even after barrel/rocket is gone 
  (barexp uses sf_dontstop)
* Pause key is now the default binding for pause (was P)

jHeretic:
- fixed: interlude screen wouldn't show seconds if they're zero

jHexen:
* Pause key is now the default binding for pause (was P)
- fixed: weapon pieces bob only partially
- fixed: screen border flicker in fullscreen mode


Version 1.7.9
-------------
+ external resource locator (in Data\Game\: Textures\, Patches\, Music\
  and Sfx\) with game mode subdirs (see readme)
+ high-resolution patches (e.g. menu graphics, game fonts, background 
  pictures)
+ netgame server info includes: game mode (e.g. doom1-ultimate, 
  doom2-plut, hexen), game config, IWAD, PWADs, player names
+ info about network setup added to cphelp.txt, shows up during setup
+ cvar 'server-player-limit': maximum number of clients
+ cvar 'rend-light-wall-angle': intensity of angle-based wall lighting
+ cvar 'input-mouse-filter': average mouse X/Y axis values
+ model flag 'df_dim' (0x1000000): model is never rendered fullbright
+ cmds 'movefloor', 'moveceil', 'movesec': move a sector's plane(s)
* low-level networking updated to DirectX 8
* improved network setup GUI
* client can only connect to servers in the same game mode
* cmd 'net' prints usage info
* cvar 'net-ip-port' is the local TCP/IP port
* "Filter mouse movement" added to Control Panel's Input page
* -nohightex now only affects wall textures and flats
* crosshair color alpha (cmd "crosshair color", var "view-cross-a")
- fixed: client was able to connect to a server running a different game
- fixed: aborted client connection crashed the server
- potential problem handling client connections fixed
- fixed: fullbrightness didn't affect particles
- DirectSound 8: fixed a problem with buffer loading; using -csd should 
  no longer be necessary
- Sound definition patching fixed (Ext/Group keys were ignored)
- fixed bug 712332: when server pauses a netgame, all clients will pause

KickStart:
* Cheb's KickStart v2.09 replaces the ancient v1.6

jDoom:
+ game modes: doom1-share, doom1, doom1-ultimate, doom2, doom2-plut, 
  doom2-tnt
+ automap added to Options -> Controls (under Misc.)
+ cvar game-corpse-sliding: corpses slide down stairs and ledges 
  (defaults to zero due to some bad behaviour; e.g. exit room of D2/22)
* cvar game-corpsetime renamed to game-corpse-time
- fixed bug 734892: sides with bogus sectors
- A_Tracer() used to spawn puffs that were identical to bullet puffs, 
  this caused complications with particle generators

jHeretic:
+ game modes: heretic-share, heretic (normal registered), heretic-ext 
  (has episodes 4, 5)

jHexen:
+ game modes: hexen, hexen-dk (Death Kings of Dark Citadel)
- fixed: sound sequence delays with repeating sounds (sequence updater
  didn't get correct information about currently playing sound effects)
  
drOpenGL/drD3D:
+ -refresh option
* closest available refresh rate selected


Version 1.7.8
-------------
+ new master server mechanism (uses HTTP)
+ cvar net-master-path (default: "/master.php"): location of the master
  server at 'net-master-address' (default: "www.doomsdayhq.com")
+ cmd "net announce": send a server announcement to the master (if 
  server-public is nonzero, announcements are made automatically at two
  minute intervals)
* cvar net-master-port (default: 0): usually zero or 80
* clientside player coords override serverside coords under normal
  circumstances (maxdif checks removed)
* if one part of a psprite is fullbright, the whole psprite will be
- fixed: psprites were rendered with depth testing enabled; Doom plasma 
  rifle fire anim was broken
- fixed: clientside player animation didn't finish anim sequence
- fixed: line flags weren't updated on clientside (e.g. in Hexen map13)
- fixed: minor edge artifact with multipart psprites (e.g. in jDoom)

jDoom:
* lineattack weapons hit planes (pistol, shotguns, chaingun) 
- fixed: lineattack check for hitting sky planes, skyhack walls
- map31 and map32 no longer assumed to exist: Doom2.wad "00f6d407" 
  should work 
- weapon psprite timings (in Objects.ded) adjusted for super shotgun,
  rocket launcher: muzzle flash was out-of-sync by 1-2 tics

jHexen:
- fixed: dedicated server tried to draw teleport gfx and crashed
- fixed: scripted + yellow messages not shown on clientside
- fixed: client crashes when changing level
- fixed: status bar flicker

jtNet2:
- old master server stuff removed


Version 1.7.7
-------------
+ switch texture pairs (SW1/SW2) are precached at the same time
+ "Generator:Stage:Radius rnd": Randomness of particle radius
+ sound-info shows sound names as well as ID numbers
+ support for textured particles
* flat particles stick to planes
- high-resolution flats with 4 channels (alpha) were loaded incorrectly
- sector lightlevel overflow in sectordelta (e.g. on jHexen map 26)
- alternative texture path must be tried first when loading hires images
  (-texdir2)

jDoom:
* cvar player-air-movement: player movement speed while airborne 
  (0-32); use only small values in netgames
  
jHeretic:
- blinking statbar borders fixed

