Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
detailed_list_of_changes_in_doomsday_version_1_9.7 [2012-02-28 15:43] – /* Engine */ skyjake | version:detailed_list_of_changes_in_doomsday_version_1.9.7 [2017-03-23 06:45] (current) – ↷ Page name changed from version:detailed_list_of_changes_in_doomsday_version_1_9.7 to version:detailed_list_of_changes_in_doomsday_version_1.9.7 skyjake | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | This article lists the important changes in [[version: | ||
+ | |||
+ | |||
+ | ====== Fixes during Candidate phase ====== | ||
+ | |||
+ | |||
+ | * [367] regression: blank screen on client | ||
+ | * player thing angle not updating in automap | ||
+ | * [367] regression: missing/ | ||
+ | * Hexen: pottery explode sound gets a channel but doesn' | ||
+ | * Doom: Use Patch Replacement with the weapon slot indicators | ||
+ | * fixed infinite loop when -iwad equals the Doomsday install dir | ||
+ | * material subsystem causes fatal errors in dedicated mode | ||
+ | * clientside InFine [with client skip] | ||
+ | * resource namespace population issues [F_MatchFileName matching partial paths] | ||
+ | * busy mode progress animation jumps arounds [anim logic] | ||
+ | * -file arguments interpreted too late | ||
+ | * -vdmap' | ||
+ | * color palette not found [with model resource packs] | ||
+ | * Hexen/ | ||
+ | * server needs to send material Id dictionary to clients | ||
+ | * [376] Chex Quest: unable to find a font at startup | ||
+ | * getting stuck in monsters [prevent clientside overlaps] | ||
+ | * [376] slow addon loading [with numerous zips] | ||
+ | * Hexen: Bishop missiles need to be locally spawned (NetSv/Cl) | ||
+ | * Hexen: skies do not scroll | ||
+ | * Hexen: no music beyond title | ||
+ | * replacement sprites scaled to dimensions of iwad original | ||
+ | * server should send state/ | ||
+ | * Doom: Archvile resurrects something => engine shutdown [needs percent-encoded de::Uri] | ||
+ | * mismanagement of GL_TEXTURE_2D state in model renderer | ||
+ | * Doom: Doom title screen displayed when playing Doom II [resource search path order] | ||
+ | * [381] regression: control panel slider/list buttons ineffective | ||
+ | * [381] regression: control panel does not fade away | ||
+ | * include man page in .deb | ||
+ | * include readme.txt in Windows installer | ||
+ | * bump minor game plugin versions | ||
+ | * multiplayer: | ||
+ | * compare ac/ | ||
+ | * increase netbuffer max size (up to 4 MB msgs now supported) | ||
+ | * disable bindings for MP chat if there is only one player in game | ||
+ | * aspect correct view window geometry | ||
+ | * zero player control when receiving conflicting input (turn left & right at the same time) | ||
+ | * automap: background does not cover entire view | ||
+ | * segfault at startup [startup fonts not installed on Unix] | ||
+ | * automap: player marker not smoothed/ | ||
+ | * Doom: sound effect missing for screen resize | ||
+ | * intermission: | ||
+ | * Snowberry: Chex Quest profile appears above " | ||
+ | * Snowberry: default game mode selection for TNT and Plutonia incorrect | ||
+ | * automap: missing "All marks cleared" | ||
+ | * sky models not rendered | ||
+ | * [395] regression: HacX fails to start [missing mappoint font] | ||
+ | * Doom|Heretic: | ||
+ | * Unix: textures/ | ||
+ | * [402] regression: dedicated server resource access failures [loads fonts; fails to find doomsday.ded; | ||
+ | * Heretic|Hexen: | ||
+ | * enforce ban on all GL/window access from busy worker | ||
+ | * world time is not paused during game saves [commit 4b1a62ff] | ||
+ | * game endings should loop forever [with NoSkip => script not stopped at end] | ||
+ | * SDL: capslock behavior to match Windows: behaves like a normal key | ||
+ | * menu buttons do not reflect the current state of their cvars (e.g., ctl-run) | ||
+ | * prevent iterating through entire disk file tree during DD_LocateAllGameResourcesWorker() [e.g., -iwad (homedir)/ | ||
+ | * automap: default zoom level at map start [now closer to vanilla Doom; not identical, though] | ||
+ | * input: track sharp input toggle states during busy mode (keys, buttons) | ||
+ | * defer GL calls when not in main thread | ||
+ | * Doom: missing enemies during the end game cast call | ||
+ | * Heretic automap: font tracking state mismanagement [missing calls to FR_Push/ | ||
+ | * finale events handled in the wrong order [Doom 2 cast call] | ||
+ | * " | ||
+ | * [402] regression: HacX: Password map object is broken [state lookup logic mismatches, DED Reader vs DEH Reader] | ||
+ | * Doom: don't let floating monsters float into an invalid position after a valid XY move [verified in Doom 2 map30] | ||
+ | * automap: panning in " | ||
+ | * Hexen: falling scream not played in single-player games | ||
+ | * [395] regression: movement controls stuck at map start | ||
+ | * Hexen: standing on a mobj allows walking through walls | ||
+ | * Hexen: no view bobbing when walking on mobjs [e.g., barrels in DK map17] | ||
+ | * Enemies embedded in one another cannot separate [caused by game-mobj-fracepsilon] | ||
+ | * Doom: Flying enemies get stuck on one another [mf2_passmobj] | ||
+ | * multiple simultaneous " | ||
+ | * update readme | ||
+ | * WARNING: Phase 1 of game resource loading does not presently prioritize ZIP [no longer applicable] | ||
+ | * -iwad failed locating iwads in root of Doomsday install dir | ||
+ | * investigate possible dedicated server memory leak [disabled fast zmallocs] | ||
+ | * memory zone functionality and performance: | ||
+ | * mobj <-> polyobj collisions thrust mobj at an incorrect angle (+inconsistent damage) [polyobj seg-> | ||
+ | * Hexen: text mispositioned on the end game finale | ||
+ | * Hexen: Korax' | ||
+ | * upon fatal error an attempt is made to return to ringzero [should simply shutdown; the implicit " | ||
+ | * Game Menu|Hexen: character selection menu draws player sprite in wrong pos | ||
+ | * Game Menu: main page objects not positioned exactly the same as the original games' | ||
+ | * rend-dev-wireframe 1 will only affect player view; added mode 2 for wire framing the UI/fonts | ||
+ | |||
+ | |||
+ | ====== Fixes ====== | ||
+ | |||
+ | |||
+ | ===== Engine ===== | ||
+ | |||
+ | * [[: | ||
+ | * Console background flicker during fade-in whilst resizing. http:// | ||
+ | * Buffer overflow using [[:ccmd]] [[: | ||
+ | * Single line of HOM along the right/ | ||
+ | * [[: | ||
+ | * Particle textures not reloaded after a resolution change. | ||
+ | * " | ||
+ | * Font kerning on Patch based fonts loaded using the " | ||
+ | * "" | ||
+ | * Patches prepared using the " | ||
+ | * Bilinear filtering of UI Patches determined by the " | ||
+ | * Byte under/ | ||
+ | |||
+ | |||
+ | ==== Windows ==== | ||
+ | |||
+ | * Removed include of the MSVC-specific strsafe.h from engine/ | ||
+ | |||
+ | |||
+ | ===== Common code library ===== | ||
+ | |||
+ | * Restored original behavior of automap cheats in single player. http:// | ||
+ | * When using lookspring the view pitch would not center when side-stepping left. | ||
+ | * Do not do the text glitter/ | ||
+ | * Menu text shadow effect does not work. | ||
+ | * Chat widget sometimes drawn over the message log making it difficult to read. | ||
+ | * Buffer overflow vulnerability in WI_DrawParamText. | ||
+ | * When drawing paramater text blocks as used with the [[: | ||
+ | |||
+ | |||
+ | ==== InFine ==== | ||
+ | |||
+ | * Script command ' | ||
+ | * Menu trigger not enabled by default (as specified in the documentation). | ||
+ | |||
+ | |||
+ | ===== All games ===== | ||
+ | |||
+ | * Further tweaked player/mobj movement friction and deceleration. | ||
+ | * Other HUD displays were being drawn behind the " | ||
+ | * "In helpscreens 'any key' no longer advances" | ||
+ | * After a teleport the player' | ||
+ | |||
+ | |||
+ | ===== DOOM ===== | ||
+ | |||
+ | * HUD weapons vertically offset four pixels lower than in the original game when using the statusbar-span view. | ||
+ | * "IDMUS cheat broken (not DOOM2)" | ||
+ | * Both the idclip and idspispopd cheats worked in all variants of DOOM. | ||
+ | * Flickering of the Tower of Babel on the episode two intermission (present in the original game). | ||
+ | * Dynamically spawned BOSSTARGETs (e.g., using the [[:ccmd]] [[: | ||
+ | * Upon loading a saved game duplicate BOSSTARGETs would be spawned. Note that this would have no visible effect on gameplay. | ||
+ | * At easy skill modes, the boss brain will only spit a BOSSCUBE every other time A_BrainSpit is called. However the value used to keep track of this was not stored in saved games. | ||
+ | * Fullscreen HUD counters drawn using the menu text shadow and type-in effect if enabled. | ||
+ | * Teleporting voodoodolls would affect the real player' | ||
+ | |||
+ | |||
+ | ===== Heretic ===== | ||
+ | |||
+ | * The current item display on the fullscreen HUD cannot be enabled/ | ||
+ | * With the auto-hide HUD enabled cycling through the inventory would not automatically unhide. | ||
+ | * The menu color widget did not display an alpha slider when setting the fullscreen HUD text color. | ||
+ | * Teleporting voodoodolls would affect the real player' | ||
+ | |||
+ | |||
+ | ===== Hexen ===== | ||
+ | |||
+ | * Fatal error attempting to play Deathkings of the Dark Citadel (Rend_RenderSkyHemisphere: | ||
+ | * The current item display on the fullscreen HUD cannot be enabled/ | ||
+ | * With the auto-hide HUD enabled cycling through the inventory would not automatically unhide. | ||
+ | * Minor alpha blending artefacts when using a translucent statusbar and the automap is open. | ||
+ | * The menu color widget did not display an alpha slider when setting the fullscreen HUD text color. | ||
+ | |||
+ | |||
+ | ====== Changes ====== | ||
+ | |||
+ | |||
+ | ===== API ===== | ||
+ | |||
+ | * View window is now specified in viewport coordinates (formerly fixed 320x200). | ||
+ | * Before calling game-side drawing routines the engine now configures the orthographic projection in the viewport coordinate space (formerly fixed 320x200). It is now the responsibility of the game to scale the coordinate space if/as required. | ||
+ | * Added DDKEY_PRINT plus DDKEY_CAPSLOCK and implemented support in the SDL, Win32 and DirectInput wrappers (fixes http:// | ||
+ | |||
+ | |||
+ | ===== Engine ===== | ||
+ | |||
+ | * If support is available; make use of the relaxed OpenGL requirement for non-power-of-two textures. If present this negates the need to resize textures, consequently resulting in higher quality textures in-game (especially noticeable on small, odd-sized textures such as those used in the various game HUD displays). | ||
+ | * Removed the splitting of large Patch and Raw format graphics into two textures. Back when this was implemented the maximum texture dimensions supported by many GL implementations was considerably smaller than is common today. So to preserve quality Doomsday would split " | ||
+ | * New equalization algorithm used on detail textures during load which balances them toward the optimum average and amplifies the hi/low variance to achieve better results (with poor source textures) when rendering. Note this does not mean that artists no longer have to take care to do this during the creation process. A well authored detail texture will produce far better results than a bad one relying on this algorithm. Verbose messages will be added to the log detailing what was done to each detail texture. | ||
+ | * When loading Patch format graphics with both the " | ||
+ | * Added a nearest neighbor image scaling algorithm for use with tiny graphics (w*h < 16) rather than hq2x. The hq2x algorithm can do nothing to help graphics this small and better results can be obtained with a simple nearest neighbor. | ||
+ | * When loading sprites add an additonal 1 texel border around the graphic which is then scaled and clipped out at render time. This addresses various GL filtering issues where a sprite contains color information in the edge texels. | ||
+ | * Disabled the BlackOutlines algorithm previously used on Patch format graphics with the " | ||
+ | * Replaced 3D projection/ | ||
+ | * New approach to drawing the player weapon sprites which aims to preserve the original aspect ratio. If the window dimension aspect ratio is equal or near to the original ratio, psprites will be stretched to fill the screen. If not, psprites will be centralized and scaled to fit while maintaining the original aspect ratio. This means that by default anything between 4:3 and 16:10 will be stretched while everything else will be scaled to fit. This behavior can be overridden with the new [[:cvar]] [[: | ||
+ | * Resolution independent aspect-correct drawing of the view border/ | ||
+ | * Renamed command line option " | ||
+ | * Tweaked console min-height to leave a gap 1/4th of line height above the command line. | ||
+ | * [[:cvar]]s [[: | ||
+ | * Use the same equation for calculating shadow darkness for mobjs as used with fakeradio. Default value for [[: | ||
+ | * Use a slightly larger offset for mobj shadows to help avoid z-fighting. | ||
+ | * Long walls no longer receive slightly larger [[: | ||
+ | * Disabled lightgrid z-biasing as it does not work particularly well currently. | ||
+ | * Renamed [[:cvar]] " | ||
+ | * Removed [[:ccmd]] " | ||
+ | |||
+ | |||
+ | ==== Win32 ==== | ||
+ | |||
+ | * When running in windowed mode, use the dimensions of the virtual desktop for window position and sizing purposes (formerly used the dimensions of the primary display, fixes http:// | ||
+ | |||
+ | |||
+ | ===== Common code library ===== | ||
+ | |||
+ | * New approach to drawing various HUD elements which aims to preserve the original aspect ratio. If the window dimension aspect ratio is equal or near to the original ratio, the element will be stretched. If not, the element will be centralized and scaled to fit while maintaining the original aspect ratio. This means that by default anything between 4:3 and 16:10 will be stretched while everything else will be scaled to fit (unless overridden). | ||
+ | * Menu (override: [[:cvar]] [[: | ||
+ | * Statusbar (override: [[:cvar]] [[: | ||
+ | * Finale (override: [[:cvar]] [[: | ||
+ | * Resolution independent aspect-correct drawing of the message log, crosshair, map title/ | ||
+ | * Improved animation between view sizes to include HUD display modes. | ||
+ | * Minor reorganisation of the HUD menu. | ||
+ | * Added a separate slider for crosshair opacity and removed the alpha slider from the color selection widget. It was not immediately obvious that when vitality color was enabled that the opacity could be set independently. | ||
+ | * Reordered items, grouping together player message options. | ||
+ | * Added a slider to the Messages section for message scale. | ||
+ | * [[:ccmd]]s [[: | ||
+ | |||
+ | |||
+ | ==== InFine ==== | ||
+ | |||
+ | * Command " | ||
+ | |||
+ | |||
+ | ==== Automap ==== | ||
+ | |||
+ | * Improved drawing of marked points by projecting them onto the edges of the view window (they are always in-view regardless of scale or position). | ||
+ | * Scale up the width of lines drawn to 1/1.6 of their visible width at 320x200. | ||
+ | |||
+ | |||
+ | ===== All games ===== | ||
+ | |||
+ | * The map title display is now drawn for each viewport instead of one over all viewports. | ||
+ | * [[:cvar]] [[: | ||
+ | * Removed [[:ccmd]] " | ||
+ | * Removed [[:ccmd]] " | ||
+ | * PrtSc key now bound by default to take a screenshot. | ||
+ | * The gravity multiplier ([[:cvar]] [[: | ||
+ | * Changed maximum movement speed for camera players, allowing them to move almost twice as fast as non-camera players when running. | ||
+ | |||
+ | |||
+ | ===== DOOM ===== | ||
+ | |||
+ | * Changed the default colors for the menu, fullscreen HUD to better match the original Patches. | ||
+ | * Changed the built-in Patch replacement strings for the main menu load/save items and the headings on the load/save menus to better match the original patches. | ||
+ | * The kills/ | ||
+ | * Draw all owned keys on the statusbar if not [[:cvar]] [[: | ||
+ | |||
+ | |||
+ | ===== Heretic ===== | ||
+ | |||
+ | * The kills/ | ||
+ | |||
+ | |||
+ | ===== Hexen ===== | ||
+ | |||
+ | * Position the inventory left/right indicators relative to the number of visible slots when using the fullscreen HUD. | ||
+ | |||
+ | |||
+ | ====== New features ====== | ||
+ | |||
+ | |||
+ | ===== Engine ===== | ||
+ | |||
+ | * [[:cvar]] [[: | ||
+ | * Monitor vsync is used automatically on Windows and Mac OS X for smoother screen refresh. | ||
+ | |||
+ | |||
+ | ==== Win32 ==== | ||
+ | |||
+ | * Added [[: | ||
+ | |||
+ | |||
+ | ===== All games ===== | ||
+ | |||
+ | * [[:cvar]] [[: | ||
+ | * [[:cvar]] [[: | ||
+ | * The help screens shown when selecting " | ||
+ | * Sequential cycling of player weapons using next/prev until the current weapon is fully lowered (for example, if the player owns weapons one through four and four is currently readied; cycling the previous weapon three times in quick succession will select weapon one). Added " | ||
+ | |||
+ | |||
+ | ===== Common Code Library ===== | ||
+ | |||
+ | |||
+ | ==== InFine ==== | ||
+ | |||
+ | * Added command " | ||
+ | |||
+ | |||