Doomsday version 1.9.0-beta5

From Doomsday Wiki
(Redirected from Version 1.9.0-beta5)
Jump to: navigation, search
Doomsday 1.9.0-beta5
Release date: January 9, 2007
Focus: fix, refactor
Git tag: 1.9.0-beta5.0
Download:

deng Files

Release index

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 plugins.

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 classes if no binding for the given event exists in the active bindclass ([1])
  • 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".
  • ccmds with parameters missing space after autocompletion ([2])

File System

  • Fix crash at startup when no IWAD has been specified (after startup aborted by user). Also, when launching WolfenDoom without DOOM2.WAD ([3])?

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. ([4]) ([5])
    Cl_Frame2Received: Unknown delta type 5.
  • Incorrect sprites drawn on clientside (e.g. bullet puffs appear as Imps on clientside with jDoom). 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 [6]
  • Client cannot move after joining. Clmobj marked hidden, which prevented Cl_MovePlayer().
  • Dedicated server issues [7]: 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). ([8])
  • 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. ([9])
  • Segmentation violation: in Doomsday (Decor lights on surfaces with HOM fixes), while playing jDoom with PWAD Icarus.WAD (MAP01). ([10])
  • 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. ([11])
  • In message-response mode, the 'y', 'n' and Escape keys were not recognised. ([12])
  • Invalid character appended to message-response strings. ([13])

XG

  • Sectors with floor/ceiling wind would incorrectly affect mobjs when they were on a ledge above them. ([14])

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

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 reset textures when changing cvars 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: mobjs give this flag cannot be in-fought with by any other mobjs.
  • 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

Renderer

Linux/Unix

  • Added -glfinish: makes an extra call to glFinish() before swapping GL buffers. Intended to be a workaround for ATI driver problems. [15]