- 1.9.0-beta1...4 ^ Versions ^ 1.9.0-beta5.1 ->
====== Version 1.9.0-beta5 ======
#@Release_HTML~2007-01-09,1.9.0-beta5,1.9.0-beta5~@#
1.9.0-beta5 has a dual focus. One priority is to fix longstanding multiplayer and networking bugs. The other priority is to refactor the engine and its public API to be more clearly separated from the games, and to allow future development of the engine without breaking [[game_plugin]]s.
There is a huge list of changes for this release, as one can expect after a 7 month development period.
===== Upgrading =====
**Do not** install over Beta 4 or a release older than that. You will more than likely face strange problems if you do. (Installing over Beta 5 release candidates is OK.) If you want to retain your old Beta 4 installation, just install Beta 5 into a new folder.
===== Known Problems =====
During the release candidate phase there were several issues with clients connecting to a server, where other clients sometimes crashed, or the new client was denied access due to a "ghost" player left behind by a client that had previously exited the game via crashing. Even though many reasons for these crashes were found and eliminated, there may still be circumstances where crashes on client joining occur.
===== Fixes =====
==== Console ====
* Fixed issue which when executing the bind console command on events in bindclass id 0 it would execute on all classes for the given event binding.
* Fixed problem of repeat-event binding commands being executed from lower [[bind_class|bind classes]] if no binding for the given event exists in the active bindclass (http://sourceforge.net/tracker/?func=detail&aid=1526697&group_id=74815&atid=542099)
* Fixed control binding issue. Unbinding a control in the "game" binding class resulted in the control bindings of all classes for the given event to be unbound.
* Remote commands (after "login") don't work. All seem to be denied ("cannot be executed via ???"), even "logout".
* [[ccmd]]s with parameters missing space after autocompletion (http://sourceforge.net/tracker/?func=detail&aid=1532009&group_id=74815&atid=542099)
==== File System ====
* Fix crash at startup when no [[iwad]] has been specified (after startup aborted by user). Also, when launching [[wolfen_doom]] without [[doom2.wad]] (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1496661&group_id=74815)?
==== Networking ====
* Maximum display refresh rate was affecting the maximum rate of network message reception, causing delays to build up when maximum refresh rate was low.
* Network packet reception problem, where a partially received message caused the recipient to prematurely close the connection.
* Client crashing when another client connects. (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1019136&group_id=74815) (http://sourceforge.net/tracker/?func=detail&atid=542099&aid=1496666&group_id=74815) Cl_Frame2Received: Unknown delta type 5.
* Incorrect sprites drawn on clientside (e.g. bullet puffs appear as [[imp]]s on clientside with [[j_doom]]). This was fixed by making sure that mobjs in the NULL state (state zero) or whose state really is a NULL pointer never get rendered.
* Invisible monsters and objects. Clientside objects are shown when all the required info has been received, not when a Create Mobj delta is received. The Create Mobj delta may get lost, so it isn't very reliable.
* Fixed problem where lots of mobjs are created and destroyed in a rapid succession (e.g., firing lots of plasma), on clientside some of the bullets may get stuck in the air and never get deleted.
* Client doesn't realize game is paused http://sourceforge.net/tracker/index.php?func=detail&aid=1019045&group_id=74815&atid=542099
* Client cannot move after joining. Clmobj marked hidden, which prevented Cl_MovePlayer()
.
* Dedicated server issues http://sourceforge.net/tracker/index.php?func=detail&aid=1538861&group_id=74815&atid=542099: dedicated server tried to enable fog.
* Fixed server-forced client position changes. Now uses TCP. Can handle many simultaneous changes that occur before the client has acknowledged the old ones.
==== Renderer ====
* Fog broken under (*NIX). (http://sourceforge.net/tracker/?func=detail&aid=1515883&group_id=74815&atid=542099)
* [[texture_compression]] enabled by default (if available) with the OpenGL renderer. Use [[-notexcomp]] to disable it.
* When consoleplayer is a camera, freezing the render lists should ignore changes to the player's "in-void" status (sky "flashing" when moving between indoor/outdoor areas while the lists are frozen).
* Masked mid textures set as glowing did not work. (http://sourceforge.net/tracker/?func=detail&aid=1582440&group_id=74815&atid=542099)
* Segmentation violation: in Doomsday (Decor lights on surfaces with HOM fixes), while playing jDoom with PWAD Icarus.WAD (MAP01). (http://sourceforge.net/tracker/?func=detail&aid=1529799&group_id=74815&atid=542099)
* Segmentation violation: deleting a bias source while the render lists are frozen.
* View angle handling. Trembling etc. when fractional ticks are rendered. View locking.
* Fixed bug with plane glows not affecting models.
* [[rend-ambient-light]]: [[cvar]] was being reset on level load.
==== Mac OS X ====
* Segmentation violation: changing on/off cvars via the menu.
==== Common Code Library ====
=== Menu ===
* Substrings of mixed-case strings aligned incorrectly when centrally aligned. (http://sourceforge.net/tracker/?func=detail&aid=1533377&group_id=74815&atid=542099)
* In message-response mode, the 'y', 'n' and Escape keys were not recognised. (http://sourceforge.net/tracker/?func=detail&aid=1497854&group_id=74815&atid=542099)
* Invalid character appended to message-response strings. (http://sourceforge.net/tracker/?func=detail&aid=1497853&group_id=74815&atid=542099)
=== XG ===
* [[sector]]s with floor/ceiling [[wind]] would incorrectly affect [[mobj]]s when they were on a ledge above them. (http://sourceforge.net/tracker/?func=detail&aid=927603&group_id=74815&atid=542099)
===== Changes =====
* Resource files packaged into PK3s in the installed file tree.
* Source code directory structure reorganized. New modular structure separates the components of the project (engine, games, plugins) cleanly, allows defining a strict public API, and is generally more future-proof.
* Moved all console command and console variable help strings to external files (e.g., cphelp.txt) which are read at runtime.
==== Console ====
* Console performance increased significantly.
* Renamed [[ccmd]]: [[actions]] to [[listactions]].
==== File system ====
* Even better protection against file name conflicts in detecting which files have been already loaded (using MD5 hashes).
* Removed a fixed limit of files that can be loaded.
* Removed a fixed 64 file limit in WAD initialization.
==== Input/Controls ====
* Much improved mouse filtering for smoother mouse movement.
==== Misc ====
* Map load times have been further reduced.
* Re-implemented the entire threading system to utilise SDL threads on all platforms, and make it 64bit clean. --Yagisan
==== Renderer ====
* HUD weapons sprites are now lit similarly to world sprites.
* It is no longer necessary to manually [[texreset|reset textures]] when changing [[cvar]]s affecting [[texture_quality]], either via the console or the [[doomsday_control_panel]].
* Removed a fixed limit on the number of frames in wall/texture animations defined via [[ded]] [[group]] definitions. The previous limit was 64.
==== Mac OS X ====
* Made sure MP3 music works in OS X with QuickTime.
* The distribution .dmg has a much improved appearance.
===== New features =====
==== Definitions ====
* Added MF3_NOINFIGHT: [[mobj]]s give this flag cannot be in-fought with by any other [[mobj]]s.
* [[state]] flag "statef_fullbright": if set, a [[mobj]] in this state is rendered full-bright.
* [[state]] flag "statef_noautolight": if set, a [[mobj]] in this state (that also has the "statef_fullbright" flag set) will NOT receive an automatically calculated light and halo. This does not affect manually defined, [[light]] definitions.
==== Misc ====
* [[loadhelp]]: [[ccmd]] reload the help file (contains help information displayed in the [[console]] and the [[doomsday_control_panel]].
==== Renderer ====
* [[rend-mobj-light-auto]]: [[cvar]] enable automatically calculated lights for mobjs.
* [[rend-sprite-alpha]]: [[cvar]] enable variable translucency on sprites.
* [[rend-dev-sky]]: [[cvar]] render the sky as a solid surface (for debug).
* [[rend-dev-tex-showfix]]: [[cvar]] render surfaces which Doomsday has automatically fixed for missing textures (HOM fixes) using the "missing" texture (for debug).
* [[rend-tex]]: [[cvar]] added render mode 2 to aid lighting debug.
==== Linux/Unix ====
* Added [[-glfinish]]: makes an extra call to glFinish()
before swapping GL buffers. Intended to be a workaround for ATI driver problems. http://ati.cchtml.com/show_bug.cgi?id=122