User Tools

Site Tools


version:1.9.0-beta6

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

version:1.9.0-beta6 [2017-03-23 07:02] skyjakeversion:1.9.0-beta6 [2017-03-23 07:07] (current) skyjake
Line 1: Line 1:
 +<- 1.9.0-beta5.1 ^ Versions ^ 1.9.0-beta6.1 ->
  
 +====== Version 1.9.0-beta6 ======
 +
 +#@Release_HTML~2009-02-25,1.9.0-beta6,1.9.0-beta6~@#
 +
 +These are the release notes for version 1.9.0-beta6 of the [[doomsday_engine]]. Beta 6 represents almost two years' worth of work toward the 1.9 series. A lot has changed under the hood, and there are quite a few visible changes as well. However, our work is still ongoing, so this release unfortunately has some [[#Known_problems|known issues]]. The biggest is perhaps multiplayer games, which are not working in this release. The next beta is planned to address network game issues only.
 +
 +Some highlights:
 +
 +  *  Redesigned, more powerful control bindings subsystem. Axis controls can be bound to player controls in the same way as keys. There is a stack of binding contexts that allows using the same key/control for multiple things depending on the game and UI state (see [[listbcontexts]]:[[ccmd]]).
 +  *  UI graphics tune-up. A new "busy" mode was added, replacing the old startup screen and progress bars. In the games, fonts are sharpened with HQ2x scaling.
 +  *  OpenGL rendering plugin integrated into the engine, and support for Direct3D dropped. This eases future development of the renderer significantly.
 +  *  BSP and gl node builder plugin integrated into the engine. Existing BSP and gl node data present in maps is now ignored, we opt to always build our own.
 +  *  New Materials system.
 +
 +
 +===== Upgrading =====
 +
 +
 +If you are upgrading an existing installation of Doomsday, note the following:
 +
 +  *  There has been numerous changes to the control bindings system. We recommend resetting your old bindings with the following console command:
 +  clearbindings; defaultbindings
 +
 +
 +==== Windows Vista ====
 +
 +Any existing Doomsday installation must be fully uninstalled prior to installing this release. The default runtime folder and location where Snowberry saves user profiles has been changed in this release. Doomsday now stores data separately for each user account.
 +
 +
 +===== Known problems =====
 +
 +
 +
 +==== Multiplayer games ====
 +
 +
 +Networked games are **NOT working** in this release. You are able to connect to a server but the client is unable to move.
 +
 +
 +==== Audio ====
 +
 +
 +The audio plugin system is not fully working in this release. Therefore we recommend that you allow Doomsday to use the default audio driver (SDL_mixer), and **NOT** an alternative plugin such as dsOpenAL and dsDirectSound.
 +
 +
 +==== Reported bugs ====
 +
 +
 +You can see a list of the bugs already reported in the [[http://sourceforge.net/tracker2/?limit=50&func=&group_id=74815&atid=542099&assignee=&status=1&category=&artgroup=678927&keyword=&submitter=&artifact_id=&limitz=10&assignee=&status=1&category=&artgroup=678927&submitter=&keyword=&artifact_id=&submit=Filter&limitz=50&mass_category=&mass_priority=&mass_resolution=&mass_assignee=&mass_artgroup=&mass_status=&mass_cannedresponse=|Beta 6 bug tracker]].
 +
 +
 +===== Fixes =====
 +
 +
 +==== Map format ====
 +
 +  *  Support for packed sidedefs. This method of storing sidedefs is used to extend the WAD format sidedef limit and at the same time, reduce the size of maps. Both DOOM2:Plutonia and DOOM2:TNT are once again fully playable.
 +  *  Fatal error when attempting to build sector line and subsector tables for maps with damaged/invalid data structures (e.g. STARGATE.wad http://sourceforge.net/tracker/index.php?func=detail&aid=1714610&group_id=74815). Relationships between subsectors/segs/sidedefs/linedefs read from the map data lumps are not assumed to be valid. Instead, determine the relationships at load time and repair where possible else output a warning and abort the map load attempt gracefully.
 +  *  Infinite loop when attempting to load 2002ado.zip::E3M5 caused by an oversight in the node builder.
 +
 +
 +==== Renderer ====
 +
 +  *  Numerous lighting inconsistencies between different world surfaces and objects.
 +  *  Player's in-void status was not reset on map load. This led to HOM in the sky until the player moved, if said player was in the void at the end of the last map.
 +  *  Algorithm used for determining the position of automatically calculated lights and halos on sprites was broken. This resulted in halos which suggested the light origin was always in the top left quarter of the sprite.
 +  *  Filters and special filter drawing, affecting the view border in all games.
 +  *  Emulate AASTINKY/AASHITTY (etc) texture handling used for DOOM.exe renderer effects.
 +  *  Texturing problems with maps built by Oblige (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1983920&group_id=74815).
 +  *  Until a mobj moved, the angle of all models used by it was incorrect (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1732097&group_id=74815).
 +  *  Game objects not drawn if the sector they are in is not visible (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1117470&group_id=74815).
 +  *  HQ2X "Smart Filtering" broken on Big Endian systems (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1498484&group_id=74815).
 +  *  Halo offset calculated incorrectly in LO_AddLuminous.
 +  *  Sky top colour was always determined from the original sky texture regardless whether a texture replacement was in use.
 +  *  Dynamic lights for palette-translated sprites were coloured according to the original (un-translated) sprites.
 +  *  High resolution textures/flats/patches/model skins not affected by [[rend-tex-gamma]].
 +  *  Drawing Models whose skin is determined by cycling through a range over time, would continue animating with the client paused.
 +  *  When drawing the console, if a background [[material]] is set, it would also be used on both the border and the shadow.
 +  *  Memory leak in BlackOutlines().
 +
 +
 +==== Audio ====
 +
 +  *  MIDI music broken when playback is attempted using the sdl_mixer driver.
 +  *  Subsector reverb values were calculated incorrectly (always indexed using a base of zero instead of the subsector->firstseg offset).
 +  *  Environmental audio effects were not affected by changes to the world when in-game.
 +
 +
 +==== Definitions ====
 +
 +  *  Memory allocated for [[line_type]] definitions was not being released on exit, causing a leak.
 +  *  Default shiny color for models left uninitialized for submodels four and above.
 +  *  [[line_type]] iparam flag fields read incorrectly.
 +
 +
 +==== Console ====
 +
 +  *  "Strange" keys in the console (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1671952&group_id=74815).
 +  *  Buffer overflow vulnerabilities relating to the console command line.
 +  *  Cursor height was not scaled correctly according to font size.
 +
 +
 +==== Dedicated console ====
 +
 +  *  Fatal error when trying to move the Doomsday Console whilst in dedicated console mode.
 +
 +
 +==== Misc ====
 +
 +  *  Segmentation violation when attempting to use the [[add]]/[[sub]] [[ccmd]]s without all needed paramaters.
 +
 +
 +==== Windows ====
 +
 +  *  Input events were being processed when the main window did not have focus (http://sourceforge.net/tracker/index.php?func=detail&aid=1097227&group_id=74815)
 +
 +
 +==== Unix ====
 +
 +  *  Endian issues in the TGA file reader/writer (http://sourceforge.net/tracker/index.php?func=detail&aid=1504116&group_id=74815).
 +
 +
 +==== Common code library ====
 +
 +
 +=== Automap ===
 +
 +  *  Issues with marked points. Now rotated with the map window and not the view frame, are always drawn at a readable scale.
 +  *  Free panning did not respect the rotation angle and instead used the untransformed X and Y world axes.
 +  *  Default colours not taken from the [[playpal|palette]] (http://sourceforge.net/tracker/index.php?func=detail&aid=2430153&group_id=74815).
 +
 +
 +=== UI ===
 +
 +  *  Expensive to calculate values, required for rendering the menu fog were unnecessarily calculated when the menu was not visible. (http://sourceforge.net/tracker/index.php?func=detail&aid=1671921&group_id=74815)
 +  *  "DG_PushMatrix:Stack overflow" thrown as the result of a logic error in the menu draw procedure (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1832104&group_id=74815).
 +  *  Position and size of the animated player preview visible in the player setup menu were not constant, when using custom sprites with very different dimensions and/or offsets.
 +
 +
 +=== XG ===
 +
 +  *  Use sound played when the player crosses a linedef whose type activation method is "player_cross" and one or more key requirements are set which the player does not have (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2001999&group_id=74815). The Use sound is no longer played in this instance.
 +  *  Segmentation violation when using the [[ccmd]]s: [[ccmd_move|move]], [[ccmd_move|movefloor]], [[ccmd_move|moveceil]] or [[ccmd_move|movesec]]. If a mode was not specified it would result in a segfault when trying to dereference a NULL sector ptr to determine its type in DMU.
 +  *  Potential buffer overflow vulnerabilities in XS_GetPlane and XS_GetType.
 +  *  If a map number is not set in an XG end_level line type the exit would take the player to the first map (instead of the next as defined by the map progression) (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1832045&group_id=74815).
 +  *  Giving armour using the XG power line type would only work as expected if the player had already picked up an armor item (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2530948&group_id=74815).
 +
 +
 +=== InFine ===
 +
 +  *  If a "Before" script is present for a given map, the music played during the map would be started twice, once before and then again after the script finishes (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1746520&group_id=74815).
 +
 +
 +==== jDoom ====
 +
 +  *  Crushing floors/ceilings would sometimes get stuck (e.g. in Ultimate DOOM::E2M2) (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1826502&group_id=74815).
 +  *  Health amount given upon pickup of a Supercharge incorrect (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1832103&group_id=74815).
 +  *  Relative spawn height for the Revenant's missle attacks incorrect (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1826502&group_id=74815).
 +  *  Various game objects not moving with the floor (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1661207&group_id=74815).
 +  *  Any mobj flagged with MF_SKULLFLY would stop moving if their trajectory would intercept another mobj flagged with MF_SPECIAL.
 +  *  Fatal error when attempting to use the console command [[give]] when not in-game.
 +  *  Fatal error if all of the player's weapons are changed so that they require ammo and the player completely runs out (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1667911&group_id=74815).
 +  *  Infinite loop when the player has no ammo of any kind and all player weapons require ammo.
 +  *  Blood spawned by P_DamageMobj even if no damage actually inflicted.
 +  *  Voodoo dolls effecting the "real" player's view bobbing.
 +  *  Able to shoot sky floors with lineattacks.
 +  *  Gap in the statusbar when icarus.wad is played and statusbar is not opaque (due to the ST_ARMS patch being smaller than the used in the IWADs).
 +  *  ST_ARMS positioning issues with the statusbar when playing the HACX mod.
 +  *  Missing skull cursor in the "ReadThis" screens.
 +  *  Attempts to save the game when a map is not loaded would result in the user being told they can't save because they are dead. Instead, display a more accurate/appropriate message.
 +  *  Method of circumventing cheat protection to allow the client the use of various automap cheats in multiplayer games (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2501751&group_id=74815).
 +  *  Attempting to commit suicide while already dead would ask the player to confirm, even though as they were already dead, suicide is not an option.
 +  *  Segmentation violation when a mobj attempts to change to a undefined pain state (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2131013&group_id=74815).
 +
 +
 +=== Unix ===
 +
 +  *  Incorrect random number look up table used within the game logic caused by a linking/scope issue which resulted in the engine-side table being used instead.
 +
 +
 +==== jHeretic ====
 +
 +  *  If conditions were right, D'Sparil teleporting would result in an infinite loop (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2000910&group_id=74815).
 +  *  Infinite loop when the player has no ammo of any kind and all player weapons require ammo.
 +  *  Fatal error when attempting to use the console command [[give]] when not in-game.
 +  *  Blood spawned by P_DamageMobj even if no damage actually inflicted.
 +  *  Firemace globes destroyed instantly on contact with the floor (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1673770&group_id=74815).
 +  *  The Blaster missile was not stored to saved games.
 +  *  Able to shoot sky floors with lineattacks.
 +  *  Attempts to save the game when a map is not loaded would result in the user being told they can't save because they are dead. Instead, display a more accurate/appropriate message.
 +  *  Method of circumventing cheat protection to allow the client the use of various automap cheats in multiplayer games (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2501751&group_id=74815).
 +  *  Attempting to commit suicide while already dead would ask the player to confirm, even though as they were already dead, suicide is not an option.
 +  *  Segmentation violation when a mobj attempts to change to a undefined pain state (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2131013&group_id=74815).
 +
 +
 +=== Unix ===
 +
 +  *  Incorrect random number look up table used within the game logic caused by a linking/scope issue which resulted in the engine-side table being used instead.
 +
 +
 +==== jHexen ====
 +
 +  *  Mobj vs polyobject collision detection. In beta5(.1) it is possible to walk right through them once they have moved from their starting position.
 +  *  Raising stairs in Hexen::MAP03 not working correctly (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1670861&group_id=74815).
 +  *  Clerics could not be damaged by their own throwing bombs.
 +  *  Infinite loop when the player has no ammo of any kind and all player weapons require ammo.
 +  *  Fatal error when attempting to use the console command [[give]] when not in-game.
 +  *  Blood spawned by P_DamageMobj even if no damage actually inflicted.
 +  *  After map load, the player's ready weapon would lower and then raise again.
 +  *  The Mage's Wand Missile and the Cleric's Flame Missile not stored to saved games.
 +  *  Able to shoot sky floors with lineattacks.
 +  *  Attempts to save the game when a map is not loaded would result in the user being told they can't save because they are dead. Instead, display a more accurate/appropriate message.
 +  *  Method of circumventing cheat protection to allow the client the use of various automap cheats in multiplayer games (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2501751&group_id=74815).
 +  *  Attempting to commit suicide while already dead would ask the player to confirm, even though as they were already dead, suicide is not an option.
 +  *  Segmentation violation when a mobj attempts to change to a undefined pain state (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2131013&group_id=74815).
 +
 +
 +==== dsDirectSound ====
 +
 +  *  Linear to logarithmic sound effect volume translation resulted in no audible sound if 3D sound positioning was enabled and the sound effects volume control was lower than maximum.
 +
 +
 +===== Changes =====
 +
 +  *  All game object origins, momentums and dimensions are now stored and manipulated with host system, floating point precision.
 +  *  Aureal 3D audio no longer supported, (via the old a3d plugin).
 +  *  Revised method for handling animated [[texture]]s and [[flat]]s to support the original DOOM engine behaviour.
 +  *  The lumps [[lump_pnames|PNAMES]] and [[lump_texture|TEXTURE1/2]] are no longer required.
 +
 +
 +==== DMU ====
 +
 +  *  Runtime aliases for DMU properties have been removed as they were an unnecessary complication.
 +  *  It is now possible to target a property of another DMU object that by inference, can be reached from the DMU object passed without explicitly specifying so. For example, if the referenced object is of type DMU_SUBSECTOR the properties of DMU_SECTOR are available without having to first retrieve either a ptr or index to the sector followed by a second DMU call to set/get the required property.
 +  *  Polyobjects are no longer accessed through DMU. Polyobjects are now public objects similar to mobjs.
 +  *  Revised DMU property names.
 +
 +
 +==== Map format ====
 +
 +  *  [[bsp]] data is no longer required/used by the map loader. New BSP data will be generated automatically by the engine.
 +  *  GL node data is now required in order to load a map and will be generated automatically by the engine.  The [[cvar]], [[bsp-build]] has been removed also.
 +  *  It is now possible to load a map with zero [[things]]. In this instance, a new player thing will be added to the map, located at [0, 0] on the world grid. In addition, the player will be changed to a camera automatically.
 +
 +
 +==== Renderer ====
 +
 +  *  [[open_gl]] renderer moved into the engine.
 +  *  [[direct3_d]] renderer is no longer available.
 +  *  Abstract flat management. Lump indices are no longer used as identifiers anywhere.
 +  *  Redesigned [[fakeradio]] back end.
 +    *  Now fully dynamic and updates in response to map geometry changes whilst in-game.
 +    *  Improved shadow edge generation. Now handles complex geometry much better, greatly reducing the frequency of glitches and other visual artifacts.
 +  *  Redesigned [[decoration]]s subsystem.
 +    *  Decoration origins are now plotted using a new three dimensional approach regardless of the surface they are attached to.
 +    *  Greatly improved performance in large maps by caching plotted decorations and maintaining lists of surfaces with decorations.
 +    *  Potentially allows for any object to be used as a decoration.
 +    *  Added lightlevel range limits to [[decoration]] definitions.
 +    *  Decoration origins for the current renderframe now generated once and used for the viewports of all local players.
 +  *  Redesigned [[lumobj]] management (dynamic lights).
 +    *  lumobjs are now projected using a new three dimensional approach regardless of the surface they are attached to.
 +    *  Revised memory management. Release all memory tied up in unused lumobjs when the current map is left.
 +    *  Removed fixed limit on the maximum number of visible lumobjs to be depth sorted.
 +    *  lumobjs for the current renderframe now generated once and used for the viewports of all local players.
 +  *  Lighting of all world surfaces and objects is now deferred until just before they are sent to the render lists.
 +  *  Changed [[rend-tex-gamma]]: [[cvar]] Now accepts a floating point value in the range [0...1].
 +  *  Changed maximum [[decoration]] distance from viewer to 2048 world units (was 1500). 
 +  *  Combined [[cvar]] //rend-light-decor-plane-far// and //rend-light-decor-wall-far//, renamed to [[rend-light-decor-far]].
 +  *  Combined [[cvar]] //rend-light-decor-plane-bright// and //rend-light-decor-wall-bright//, renamed to [[rend-light-decor-bright]].
 +  *  Renamed [[cvar]] "rend-glow-fog-bright" to "rend-light-fog-bright".
 +  *  Removed [[setgamma]]: [[ccmd]] Is now obsolete, instead use cvar [[rend-tex-gamma]] for changing texture gamma.
 +  *  Revised "torch light" works with any RGB colour rather than just white light.
 +  *  Remove black outlines from masked [[texture]]s similarly to [[sprite]]s.
 +  *  Changed, thing shadows are no longer drawn if the world is being drawn fully bright.
 +  *  Changed, thing shadows are no longer drawn if the surface they would appear on is glowing.
 +  *  Changed, it is now possible to enable/disable plane glows and dynamic lights independently.
 +  *  Changed, the lightgrid debug display is no longer flipped on the X and Y axes.
 +  *  Changed, always announce missing models in the console (was verbose >= 1).
 +
 +
 +==== Misc ====
 +
 +  *  Improved: Start up time.
 +    *  Redesigned algorithm for loading [[pnames]] and texture registration.
 +  *  Improved: Map load time improved further with large maps.
 +    *  Revised memory usage during BSP generation to reuse already allocated memory where possible.
 +    *  Redesigned [[subsector]], clockwise [[seg]] winding algorithm during [[bsp]] generation to traverse the newly created BSP.
 +    *  Collinear segs are only checked once per round of potential node partition evaluation in the BSP builder.
 +    *  Revised algorithm for building the [[subsector]] [[blockmap]].
 +    *  Make use of the [[blockmap]] to accelerate checking for overlapping linedefs.
 +    *  No pre-initialization is needed for [[fakeradio]] line neighbors.
 +    *  Enhanced algorithm for calculating vertex line owners, line angles are only calculated once for each line in an owner's list and the result cached for later use in the sorting stage.
 +    *  Re-designed algorithm for calculating sector reverb properties for environmental audio effects.
 +    *  Vertex sector owners are no longer needed and have been removed.
 +    *  Only look up surface material names once and use their symbolic names thereafter.
 +
 +
 +==== User interface ====
 +
 +  *  UI cursor is now scaled relatively to the window dimensions.
 +  *  [[ui-cursor-width]], [[ui-cursor-height]]: [[cvar]] Now specify relative scale multipliers.
 +  *  Display the ddkey name instead of the ASCII key code in CP_KeyGrabDrawer() (used to draw the console activation key).
 +
 +
 +==== Windows ====
 +
 +  *  The separate startup window containing messages printed during engine launch was removed.
 +  *  Numerous improvements to dedicated console, now behaves similarly to the "normal" Doomsday console (but in a text-mode console).
 +
 +
 +==== Mac OS X ====
 +
 +  *  The separate startup window containing messages printed during engine launch was removed.
 +
 +
 +==== Common code library ====
 +
 +
 +=== Automap ===
 +
 +  *  Lists introduced for faster rendering.
 +  *  All automap values are now extrapolated where suitable (view position, view rotation, view scale, window dimensions plus more).
 +  *  Automap now fades in/out smoothly when activated/deactivated.
 +  *  Map name was not displayed in all supported games. Map name is now scaled relative to display resolution and using the HUD scale multiplier (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1533383&group_id=74815).
 +  *  Removed the [[blockmap]] grid display. The engine now has a built-in blockmap viewer for debugging purposes making the old display redundant.
 +
 +
 +=== Chat ===
 +
 +  *  Chat between local players (including chat macros) is now supported (client-side).
 +
 +
 +=== UI ===
 +
 +  *  Changed [[menu-effects]]: [[cvar]] No longer controls whether the menu fog effect is enabled. Use [[menu-fog]] instead.
 +  *  Changed [[menu-fog]]: [[cvar]] Mode zero (o) now disables the menu fog. Indices for the other modes incremented by one.
 +
 +
 +=== XG ===
 +
 +  *  Thinking for [[xg_line_type]]s and [[xg_sector_type]]s now handled using the existing thinker mechanism.
 +
 +
 +==== jDoom ====
 +
 +  *  Greatly improved precaching.
 +  *  Various problems with [[voodoo_doll]]s not working as expected.
 +  *  Logic for mobjs to avoid dropoffs incorrect.
 +  *  If a mobj was damaged by a camera player, every time it entered it's pain state it would rotate towards the player.
 +  *  Added all [[value]]s currently available to values.ded
 +  *  Armour collectables (not the armour bonus) no longer receive lights and halos by default.
 +  *  Removed fixed limit on track numbers playable via the IDMUS cheat. Now all music tracks are playable, even ones added by addons.
 +  *  A dead player can now instigate the "reborn" process by using the "attack" control(s) in addition to "use".
 +  *  Players attempting to pickup items flagged as "special" lead to a "P_SpecialThing:Unknown gettable thing" critical error. Unknown items are now removed from the world but otherwise ignored) (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2431808&group_id=74815).
 +  *  [[conbg]]:[[ccmd]] now supports the paramaters "off" and (alias) "none" - remove the current background.
 +
 +
 +==== jHeretic ====
 +
 +  *  Re-licensed under the [[http://www.gnu.org/licenses/gpl-2.0.txt|GNU GPL v2 license]].
 +  *  Logic for mobjs to avoid dropoffs incorrect.
 +  *  If a mobj was damaged by a camera player, every time it entered it's pain state it would rotate towards the player.
 +  *  A dead player can now instigate the "reborn" process by using the "attack" control(s) in addition to "use".
 +  *  Players attempting to pickup items flagged as "special" lead to a "P_SpecialThing:Unknown gettable thing" critical error. Unknown items are now removed from the world but otherwise ignored) (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2431808&group_id=74815).
 +  *  [[conbg]]:[[ccmd]] now supports the paramaters "off" and (alias) "none" - remove the current background.
 +  *  The lump [[lump_autopage|AUTOPAGE]] is no longer required.
 +
 +
 +==== jHexen ====
 +
 +  *  Re-licensed under the [[http://www.gnu.org/licenses/gpl-2.0.txt|GNU GPL v2 license]].
 +  *  Logic for mobjs to avoid dropoffs incorrect.
 +  *  If a mobj was damaged by a camera player, every time it entered it's pain state it would rotate towards the player.
 +  *  A dead player can now instigate the "reborn" process by using the "attack" control(s) in addition to "use".
 +  *  Players attempting to pickup items flagged as "special" lead to a "P_SpecialThing:Unknown gettable thing" critical error. Unknown items are now removed from the world but otherwise ignored) (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=2431808&group_id=74815).
 +  *  [[conbg]]:[[ccmd]] now supports the paramaters "off" and (alias) "none" - remove the current background.
 +  *  The lumps [[lump_animdefs|ANIMDEFS]], [[lump_sndinfo|SNDINFO]] and [[lump_autopage|AUTOPAGE]] are no longer required.
 +
 +
 +===== New features =====
 +
 +  *  Moved [[bsp]] and [[glnode]] generation entirely into the engine. A bsp and glnode dataset will be generated automatically for all maps.
 +  *  Moved [[blockmap]] management entirely into the engine. A blockmap will be generated automatically for all maps. Redesigned interfaces for the various look up routines (such as "line of sight" and "within range of") to completely isolate from the games.
 +  *  Multiple local players.
 +    *  Added [[viewgrid]]:[[ccmd]] configure the viewgrid.
 +
 +
 +==== API ====
 +
 +  *  Implemented support for engine-side console command ([[ccmd]]) parameter validation and overloading. This improves robustness, security and simplifies implementation when multiple versions of a command are needed for similar functionality.  Currently, the old style of (local) per-ccmd parameter management can be requested by specifying a NULL parameter list when registering (note: use by remote client is disabled with this method).  The non-engine-validated method should be considered depreciated.
 +  *  Abstract [[material]]s system wraps [[texture]], [[flat]] and [[sprite]] management. All texture types can now be used interchangeably (flats on walls, textures on floors etc). In addition, texture and flat animation sequences (defined via [[group]] definitions) can now be mixed freely, allowing a single sequence to blend between any texture types freely (e.g. flat to texture to sprite to flat).
 +  *  Map building API allows [[plugin]]s to construct new maps dynamically at runtime.
 +
 +
 +==== Audio ====
 +
 +  *  Added [[pausemusic]]:[[ccmd]] Pause the currently playing music track.
 +
 +
 +==== DMU ====
 +
 +  *  Added new DMU sub-object iterators which are the preferred method of traversing e.g. the segs of a subsector. Use of these iterators will reduce overhead considerably compared to a "manual" traversal, referencing DMU objects incrementally by index/ptr.
 +
 +
 +==== Video ====
 +
 +  *  Fullscreen mode, [[color_depth]] (bits per pixel) and [[anisotropic_texture_filtering]] are now changeable at run time via the Doomsday Control Panel and console.
 +  *  Added [[togglefullscreen]]:[[ccmd]] Toggle between fullscreen and windowed mode.
 +  *  Added [[setbpp]]:[[ccmd]] Change color depth (bits per pixel), 32 or 16.
 +  *  Added [[vid-fullscreen]]:[[cvar]] Default value for fullscreen mode, 1= On.
 +  *  Added [[vid-bpp]]:[[cvar]] Default value for color depth (bits per pixel), 32 or 16.
 +  *  Take advantage of the relaxed non-power-of-two rule in later OpenGL implementations if available, to avoid resorting to resizing odd sized textures if not absolutely necessary (if enabled).
 +  *  Added [[-texnonpow2]] Enable use of non-power-of-two textures. Note some textures may still be resized if required.
 +
 +
 +==== Renderer ====
 +
 +  *  Added support for DOOM.exe rendering trick; non-clipping of middle [[material]]s on twosided [[linedef]]s by sky [[surface]] [[plane]]s.
 +  *  Added [[rend-tex-filter-anisotropic]]:[[cvar]] Level anisotropic texture filtering to use.
 +  *  Added [[bm_inv]]:[[blendmode]] Inverse blending.
 +  *  Added multiplicative blending mode for "torch light" (brightens surfaces as the viewplayer approaches them).
 +  *  Added short, two render frame delay to changes to the "torch light". This avoids the flickering and potential y-shear artefacts when vsync is disabled.
 +  *  Added interpolated smooth scrolling for moving surface materials.
 +  *  Added [[viewgrid]]:[[ccmd]] Configure the [[viewgrid]] setup.
 +  *  Added [[rend-light-attenuation]]:[[cvar]] Maximum light attenuation distance (default is 1024).
 +  *  Added [[rend-dev-nosprite]]:[[cvar]] Disable drawing of sprites and masked walls (default is off), not archived.
 +  *  Added [[rend-dev-surface-show-normals]]:[[cvar]] Enable drawing of world surface normals (default is off), not archived.
 +  *  Added [[rend-dev-vertex-show-indices]]:[[cvar]] Enable drawing of vertex indices (default is off), not archived.
 +  *  Added [[rend-dev-vertex-show-bars]]:[[cvar]] Enable drawing of vertex z axis bars (default is off), not archived.
 +
 +
 +==== Definitions ====
 +
 +  *  Added [[material]] definitions.
 +  *  Added [[sky]] definitions. Rather than define the sky properties for every map, each time directly in a [[map_info_ded_]] definition, instead; use a Sky definition, giving it a unique ID which is then used in the Map Info definition to link the two. This allows mod authors to patch just the Sky definitions without needing to touch/create Map Infos.
 +  *  [[detail]] and [[reflection]] definitions can now specify flags governing when the definition should be used.
 +  * [[texture_environment]]:Flat: Surfaces in a sector using the specified [[flat]] will affect the environmental audio effects heard within that sector.
 +
 +
 +==== File system ====
 +
 +  *  Added [[automatic_file_mapping_in_pk3]] for **/models** and **/sfx** in a [[zip]]/[[pk3]]
 +
 +
 +==== Misc ====
 +
 +  *  Added [[listmaterials]]:[[ccmd]] List all currently registered [[materials]].
 +  *  New [[blockmap]] display for debug purposes:
 +    *  Added [[rend-dev-blockmap-debug]]:[[cvar]] Show the blockmap display. 0= Disabled, 1= Show mobjs, 2= Show linedefs, 3= Show subsectors.
 +    *  Added [[rend-dev-blockmap-debug-size]]:[[cvar]] Size of the blockmap display.
 +
 +
 +==== Windows ====
 +
 +  *  Make use of multisampling to achieve fullscreen anti aliasing, if available.
 +
 +
 +==== Common code library ====
 +
 +
 +=== Save system ===
 +
 +  *  A new common save system based on that used previously by [[j_doom]].
 +    *  Intermittent **//Thing archive exhausted//** errors resolved (http://sourceforge.net/tracker/index.php?func=detail&aid=1654566&group_id=74815)
 +    *  **//Too many objects//** errors resolved (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1832104&group_id=74815).
 +    *  Fixed: Rarely, a thinker could be added twice to the thinker list, leading to problems later on.
 +
 +
 +=== Automap ===
 +
 +  *  Added [[rend-dev-freeze-map]]: [[cvar]]  1= Stop updating the map-specific rendering lists.
 +  *  Added a parallax scrolling background like in original [[heretic]]/[[hexen]].
 +  *  Added [[map-pan-speed]]: [[cvar]] Speed of panning.
 +  *  Added [[map-pan-resetonopen]]: [[cvar]] 1= Automatically reset the pan location when opening the automap (on by default).
 +  *  Added [[map-zoom-speed]]: [[cvar]] Speed of zooming.
 +  *  Added [[map-open-timer]]: [[cvar]] Number of seconds taken to open/close the automap (default is 0.3 seconds).
 +  *  Added [[map-customcolors]]: [[cvar]] Set behaviour of when to use the custom automap colors; 0=Never, 1=Automatically disable the user's defaults if the mod being played includes a custom [[playpal|palette]], 2=Always.
 +  *  Added [[map-mobj-r]]/g/b: [[cvar]] Set a custom color for things displayed in automap when the reveal all cheat is used.
 +
 +
 +=== Misc ===
 +
 +  *  Support for the particular way in which DOOM.exe animated flats (based on lump number) and textures (based on TEXTURE# definition id).
 +
 +
 +=== UI ===
 +
 +  *  Added new netgame scoreboard, available in all game types. The scoreboard can be made visible by pressing and holding the backslash key '\' (default).
 +  *  Added [[menu-hotkeys]]: [[cvar]] Enable hotkey navigation in the menu (default is on).
 +
 +
 +=== XG ===
 +
 +  *  [[wall_material_xg_class_]] can now specify whether middle [[material]]s on twosided [[linedef]]s should be stretched from floor to ceiling.
 +
 +
 +==== jDoom ====
 +
 +  *  Crosshair vitality. Colour the crosshair according to how near the player is to death. Available via the in-game HUD options menu and the [[view-cross-vitality]]:[[cvar]].
 +  *  Added [[hud-keys-combine]]:[[cvar]] 1= When drawing the fullscreen HUD, only draw one icon per key colour regardless whether the player has multiple keys/cards of the given colour (e.g. if the player has both a red key card and a red skull key, only one icon will be drawn). 0= Draw all owned keys. 
 +  *  Enhanced [[give]]:[[ccmd]] Can now be used to give individual ammos, keys and weapons (e.g., "give w1k2" will give to the console player weapon 1 and key 2). Health can also be given (e.g., "give h").
 +
 +
 +==== jHeretic ====
 +
 +  *  Crosshair vitality. Colour the crosshair according to how near the player is to death. Available via the in-game HUD options menu and the [[view-cross-vitality]]:[[cvar]].
 +  *  Enhanced [[give]]:[[ccmd]] Can now be used to give individual ammos, keys and weapons (e.g. "give w1k2" will give to the console player weapon 1 and key 2).
 +  *  Added [[server-game-coop-nodamage]]:[[cvar]] Disable friendly fire in co-op games, default to off.
 +  *  Added [[server-game-noteamdamage]]:[[cvar]] Disable friendly fire among players of the same color (team) during deathmatch, default to off.
 +
 +
 +==== jHexen ====
 +
 +  *  Crosshair vitality. Colour the crosshair according to how near the player is to death. Available via the in-game HUD options menu and the [[view-cross-vitality]]:[[cvar]].
 +  *  Random class selection via the menu when starting a new game.
 +  *  Enhanced [[give]]:[[ccmd]] Can now be used to give individual ammos, keys and weapons (e.g. "give w1k2" will give to the console player weapon 1 and key 2).