# Doom Legacy Changelog

## 1.44 SVN999 (2012-12-16)

### FEATURES 1.44 alpha4

- BEX files supported, with BEX flags, [STRINGS], [POINTER], [PARS], and include file.
- DEH and BEX names are now compared case insensitive.
- Support for multiple DEH and BEX files changing same items.
- Support for separate language BEX files as BEX_LANGUAGE compile option. An example french.bex is supplied, which can be modified for other languages. A command line switch will accept any language name and load that BEX file, or a default "lang.bex" file. Many error lines are not yet changable from english.
- DEH support now has a hashed lookup of the original strings, so it recognizes strings that were changed by DoomLegacy (DOS -> your os), or changed by a previous DEH file. This is also used by to recognize ult doom strings after the chex modifications have changed all the strings. Strings changed from two "%s" to one "%s", can now be handled, and DEH can change them again.
- PAR time not displayed when not valid. Limited SUCKS display, so can see 24 hour of elapsed time for most wads.
- Added verbose switchs as -v and -v2. Most of the print lines they control output to stderr. Verbose prints out the file strings for doomwaddir, home, config, and save files.
- The doomwaddir determination now looks for, DOOMWADDIR environment variable, a default wad directory and an alternate wad directory. When none exist it looks for the wads in the current directory.
  (Linux: /usr/local/share/games/doomwads or /usr/local/games/doomwads)
  (Windows: \doomwads or \games\doomwads).
- The home directory determination now looks for, HOME environment variable, or a default home directory. When none exist it uses the current directory for home.
  (Linux: /usr/local/home/legacyhome)
  (Windows: \legacyhome).
- Draw directly in 15, 16, 24, 32 bpp modes. Command line switches for bpp draw modes.
  - Switch "-highcolor" requests a 15 or 16 bpp draw mode.
  - Switch "-truecolor" requests a 24 or 32 bpp draw mode.
  - Switch "-native" requests the native drawing mode.
  - Switch "-bpp 15" requests a specific bpp mode (can be 8, 15, 16, 24, or 32).
- Extensive video reporting using verbose switches "-v" and "-v2".
- Improved fog sheets with color, shimmer and ripple. Mid texture determines the color of the fog, and the intensity of the shifting pattern. Fog is not finished.
- Effect menu has selections for Boom Deepwater colormap effect: Sector colormap (Boom colormap behaves same as Legacy colormaps), Boom visible colormap (where colormap is visible like in legacy), Boom colormap (where the colormap is not visible like in Boom), and Boom detect (which adjusts according to detected Boom and Legacy linedefs). The Boom colormap selections make the Boom deep water sectors appear normal until walked into, then the deepwater colormap will have global effect.
- CD-music is now makefile compile option. When disabled, all CD code is removed, including cd-volume controls. This allows compiling without some special libraries, that some interfaces require.
- Updated the fragglescript function docs to the actual code implementation.
- IPX network code is compile-time optional using the USE_IPX define in doomdef.h.
- Grabinput option provided. When enabled prevents mouse escape from the window and stops the most window manager intercept of key combinations.
- SDL Mouse motion option to select between absolute and relative mouse motion.
- Augmented translucent draw to handle alpha of 0..255 for all draw modes. Water can now be drawn with a nearly opaque translucent alpha.
- Change linedef decoding for new water and fog effects, affecting 301 (translucent water), 302 (fog), 304 (opaque water). Each of these can now select alpha and a fog mode selection (which ranges from clear to fog with distance effects). Water does not need to be crystal clear anymore.
- Add water and fog default controls that give new fog effects to older wads without the new fog selections.

### BUG FIXES 1.44, alpha4

- Stuck monsters, in wads like TNT, was fixed. In TNT, some monsters start positions are overlapped, and full speed impulse was needed to get them unstuck.
- Menus reorganized for multiplayer setup and compatibility with mods.
- Level names for TNT and Plutonia were not displayed due to old variable.
- TNT Map30 stair bug fixed. The stairs now rise same as in the original.
- TNT Map31 yellow key wad error detected and dynamically fixed. Now the player can finish the game, even on the original buggy TNT.
- Added Plutonia text that was missing.
- Fixed interference from French language mods upon DEH loads.
- DEH string replacement hardened against buffer overrun and attacks.
- Moved MF_FLOORHUGGER to MF2_FLOORHUGGER, and added code to distinguish between flag bits in old DEH files, that could be either MF_TRANSLUCENT or MF_FLOORHUGGER.
- Check if -devgame name if valid before use, to prevent segfaults.
- MAX_WADPATH size increased to 256. Use size limited copy and printf to most buffers to harden against long filenames and path strings in environment variables, command line switches, and files.
- Harden a net buffer string operation against buffer overflow.
- Fix net demo play function to write command as one string, so it would not execute partially written strings and fail. Command line specified -playdemo now works.
- Fixed compilation under windows, tested on Win98 using MinGW.
- Moved created dep files to directory outside of source.
- Under old Win32 version, a GlobalMemory call now uses an older version available on Win98.
- Fixed unsigned char usage that caused GCC 4 compiler complaints on lib calls.
- Fixed exec of config file on Win32 systems. It failed because the Execute string processing of backslash characters mangled windows directory strings that use backslash. Commands that have file names are prevented from processing backslash character codes.
- Prevent directory detection logic from returning "" as directory, that caused some savegames and config to be saved at the root directory.
- Fix nosound name conflict with Watcom nosound() function.
- A bad blockmap in the wad would cause zone memory corruption due to allocating and writing the blockmap based on inconsistent blockmap fields. Not running a node builder on a wad level would trigger this fault. Missing and bad blockmaps are now detected before allocating zone memory, and limits fixed to prevent exceeding the allocation.
- Added better ZONEID corruption detection and messages.
- Demo code made to stop interfering with savegame loading. The screen would wipe, and then wipe a second time and the controls would be useless.
- Demo code fixed to record and honor monster friction settings. Older demos need to use MBF monster friction or Doom no friction.
- Explicit check to prevent savegames over 99, and crash.
- Fixed segfault when executing command "teamplay 1" attempted to re-write const strings.
- Players locked together during spawn in deathmatch has been fixed. Player respawning now sets MF_SOLID flag to do CheckPosition test, so collision detection will work while they are still a corpse. Player corpse now honors cv_solidcorpse setting.
- Use of MAXINT on 32 bit fixed_t variables not safe on 64 bit machines. Created FIXED_MAX and FIXED_MIN that are safe.
- Search for lowest ceiling was flawed by an additional paranoid test that would also defeat a Boom search limit meant to prevent overflow. Removed the additional paranoid test.
- In Doom2 Map05, two doors to secret rooms would not work. If another door (1st of 4 doors on left) is opened first, then an extraneous tag 9 will move the floors of these two rooms like doors. Restored some tests that stopped the floors movement like the original, and the flawed Map05 is then playable.
- Revised vid structure to handle problems with Mac and direct video. The buffer width can be different than the screen width, to handle the Mac which pads the buffer lines to a power of 2. Fixes many common draw routines to increment by buffer width instead of screen width so they are correct for any driver buffer choice. Every draw routine fixed to draw correctly in all bpp modes.
- Fixed 16 bpp draw for 15 bpp and 16 bpp. Created new draw functions for those that were missing. Fixed translucent and fog draw using proportional addition of pixels. Fixed screen fade effects for 15/16 bpp drawing.
- Extensive rewrite of mode code in sdl port driver. It now handles all bpp mode requests. I_StartFrame no longer locks the video buffer.
- Fix green console to be more readable and not distort colors in 15..32 bpp. Dim background to 25% for higher contrast (gray green).
- Update linux xshm to latest interface and improve code. Can handle drawing in -native bpp mode, -highcolor, -truecolor modes, and using -bpp.
- Update linux ggi to latest interface and improve code. Can handle drawing in -highcolor, -truecolor modes, and using -bpp. Does not detect native bpp.
- Doom2 Map8 was dropping into secret level code, even though it is not a secret level.
- Skulls no longer spawn into void walls. Fixed skull spawning using a version of Boom code that checks on line crossings. Skull limit code made conditional on demoversion.
- Pain elementals fixed so if there is not room to spawn a skull, it silently removes the skull instead of sending it down to floor to explode. Conditional code is present for: (REMOVE) remove skull (like Edge), (KILL) explode in place (like prboom), (DAMAGE) explode on floor (previous Legacy).
- Increased the save game buffer reserved free space from 2K to 4K, and the header buffer size.
- Fixed Boom translucent linedef 260. Tagged lines now get the translucent effect too. Recognizes and uses named translucent lumps introduced by linedef 260. Analyzes Boom translucent lumps to get alpha for DRAW15, DRAW16, DRAW24, DRAW32, and opengl draw modes, which now work. Will draw using closest existing translucent implementation, or use analyzed alpha. Added TRANSLU_75 in RGB draw routines, to implement a 75/25% translucent draw. OpenGL does draw the translucent textures in BOOMEDIT.WAD.
- Boom deepwater colormap fixed. Effect menu has selections for Boom Deepwater colormap effect: Sector colormap, Boom visible colormap, or Boom colormap. The Boom colormap selection makes the Boom deep water sectors appear normal until walked into, and the deepwater colormap has global effect.
- Gave the Point pusher a square law effect (enabled by mbf_support), as in prboom (an MBF feature actually, Boom is not square law).
- Fix a Doom bug: cannot raise a door when ceiling action is in same sector. Add check to door logic that ceiling action being modified is a door action. This also prevents corruption of the ceiling action. Derived from prboom fixes doc (cph 2001/04/05).
- Fix signed mapthing_t angle that would create table lookup using negative index. It does not emulate the Doom buggy behavior. Note prboom fix doc (cph 2001/04/05), of Vanilla Doom bug found by Ville Vuorinen.
- Fix strcmp error in BEX parsing of FRAME and PARS. Fixes hg.wad, eye shooting missiles.
- Fix hardware render to draw translucent in distance order. This fixes BOOMEDIT.WAD.
- Boom deepwater colormap fixed in hardware renderer. Extend view_colormap to affect hardware render too.
- Fix buffer overrun of print strings by video card extensions. New functions will get the GL info strings, check renderer, and set gl_extensions string and oglflags, and also print extension strings on multiple lines, without buffer overrun.
- Fix buffer overruns caused by vsnprintf to buffer without string termination. New function will handle va_list printing to console.
- Fix hardware render so that colormaps affect objects too.
- Fix some floor and switch code to detect incomplete fragglescript created linedefs (no sidedefs, no frontsector), and skip secondary actions that would have segfault. Fix fragglescript to init more fields in temp linedef to some safe value, to prevent port dependent crashes.
- General cleanup on all fragglescript functions. Added many checks for valid mobj and fields that could segfault in fragglescript. Fixed much of fragglescript code fragility.
- Fix wipe for bpp draw.
- Make palette used by draw15, draw16, draw24, draw32, respond to gamma settings, and palette changes, such as palette flash, object pickup, damage red.
- Fix ouchface again, as previous fix was not complete. Ouchface is now visible for more than one tic, and works for self-damage too.
- Fix texture patch combiner to handle compressed patches. Compressed patches, which share some columns, caused the estimated size and memory allocation to be too small, and it would abort into using picture format instead. This fixes the elevator railings (SW1COMM) in Requiem.wad MAP08, which use compressed patches.
- Fix mouse event handling to add mouse motion, and rewrite of mouse handling. This fixes OpenBSD mouse problems.
- Fix opengl mode to switch video modes as other modes do.
- Status bar overlay in opengl mode was not positioned correctly. Fixed it so position is consistent for all video modes.
- A previous patch sped up P_CheckSector, but made it vulnerable to a second thing being removed by the player on a moving lift, resulting in a segfault. Instead, use the previous behavior of restarting from beginning of touching_thinglist.
- Fix bug introduced by BOOM_COLORMAP, which segfaults when restoring game saved during use of fixed_colormap.
- Allow Heretic and Blasphemer PWAD to fully use the SWITCHES lump without restricting it to only episode 4. Other ports do not have any restriction on Heretic use of the SWITCHES entries. Requested by a Heretic wad project. Checks for missing switch textures and defaults to use texture 1.
- Shortened some of the Boom Colormap Option text strings so they fit low-res screens. This affects saved configs.
- Add test for colormap fog using viewer_extracolormap. This is not very good fog but at least it works now as documented.
- Cleanup of hardware renderer code to make it easier to maintain. Cleanup of code in hw_cache, concerning bytepp, endian issues, and much better draw code for the various bytepp switches.
- Fix hardware draw of fx1 translucent. Fixes display of linedef 288 in opengl.
- Fix the hardware draw of Boom and view_colormap. Now see global colormap change with Boom deep water and colormap fog in opengl mode.
- Fix segfault in dsv4. When wrong buttons are pressed player is hurt. If they are pressed after getting the yellow key, then segfault. There is a mobj without a subsector, and script code must check first.
- Fixed the legacywad filename to use compatible allocation and usage so that a terminator of the string is not written into other data space. This caused segfault at program shutdown.
- Light calculations are now done internally in range 0..255.
- Chase camera is now fixed to be usable with splitscreen players, with the first player getting the chase camera. This could be expanded to allow two chase cameras now, but the chase camera gets hung up going through doorways, so I do not recommend it.
- Gun effect light is now 3/4 for colormap fog, and 1/2 for FF_FOG, instead of the previous none. Light precedence is now FF_FOG, colormap fog, translucent, normal.
- Rewrite all fog draw functions to new specifications and fog alpha. Create fog face sheets and fog join sheets.
- Fix split wall draws so that hardware renderer draws water sides with 3dfloor backsectors, and they are drawn translucent.
- Fix bug of -opengl in hw_cache introduced in svn973, triggered when imps shoot fireballs.

### FEATURES 1.44 alpha3

- Stop demos when menu opens.
- Voodoo doll damage effects upon players are restored.
- Voodoo doll mode control (Vanilla, Multispawn, Target, Auto).
- Voodoo doll telefrag instadeath control (Die, Damage, Zap).
- Remove hard limits for brain targets.
- Start game menu asks user "Abort this game. Y/N" when user is already in a game, and upon "YES" will abort the game and continue.
- Mouse will no longer change menu values without pushing a button.
- DoomLegacy demo format will have a header of version 144, and the characters "DL". DoomLegacy demos shall only use the one demo version number. Three later fields shall record the DoomLegacy VERSION, demoversion, and sub-demoversion numbers. Not yet enabled, alpha still writes demoversion 143.
- Changed to MBF style sector friction (from examination of Killough code in prboom), making DoomLegacy more consistent with DoomLegacy 2.0, prboom and other modern ports, with some fixes and differences. Water friction and Heretic friction are also converted to sector friction. Sectors get the friction and movefactor values at load time, and are updated whenever a flag or friction control changes. Finds stickiest friction on icy sector edge too. Independent friction for each 3dfloor slab. Old boom friction thinker code is compile-time conditional (FRICTIONTHINKER), and is only used for demos. Demos select appropriate friction code. Did not preserve perfect demo compatibility with Boom and prboom.
- Converted to independent player bob momentum of Killough, as in DoomLegacy 2.0, MBF and prboom, with fixes and adaptations. Compile-time conditional on BOB_MOM. Fixes many problems of previous bobbing, such as bobbing while riding conveyor, and interaction with friction.
- Monsters use same sector friction as players. Selection mechanism for monster friction (none, MBF, momentum). The MBF monster friction only gives the monster momentum on ice, and this creates surge when moving off ice, and stall when moving onto ice. Momentum monster friction selection accumulates momentum on every move, and fixes the surge and stall problems. Additional code to prevent hangups on dropoff ledges, get monster unstuck from edges, and to allow monsters to fall off conveyor belts.
- Create Adv Options menu, for monster friction, gravity, voodoo mode, voodoo insta-death, and door delay.

### BUG FIXES 1.44 alpha3

- More checks against buggy wads.
- Fixed colormap name in colormap missing message.
- Fixed recognition of Plutonia.
- Make savegame loading tolerate of added control vars.
- Fix savegame restore of voodoo dolls to not modify players, fixing savegame load crashes under Linux 2.6.
- Remove hard limits for braintargets, similar to prboom. Prevents overrun of braintargets array.
- Fix vile revive monsters stuck together bug.
- Fix vile fire location bug.
- Timelimit fixed. Will now count minutes instead of tics.
- Fix game menus, so that the check for "already playing" will give the user an immediate message asking "Abort this game Y/N". Upon a YES it will quit the game and let the user continue.
- Fix mouse bugs in menus and reduce sensitivity. Fix so mouse cannot change values until button pushed, because previously one mouse slide could accidently change a dozen values.
- Fix fragglescript parsing to use safer, faster string handling code, to protect against overrun of strings. Simplify fragglescript function args concatenation.
- Fix code so savegame description allows spaces again.
- Fix Makefile to link MATH1 functions pow and powf, for pld-linux.
- Patches submitted by pld-linux to fix linux_x video, handle more video modes, and TrueColor.
- Linux 2.6 compile warning messages squashed, and smaller code.
- Fix TNT recognition.
- General repairs to linux_x directory. Update system calls to same changes as made recently to SDL. Fix prototype changes. Fix keyboard translation and event posting. Add X error handler code. Fix X joystick code. Verified to run Linux X11 in software mode.
- Fix spritelump array to be dynamic expanded, thus removing spritelump limits.
- Fix CheckCheat to avoid special keys being mistakenly recognized. The cheat code was seeing the 0 key =0x48 and LSHIFT key =0x0148 as the same.
- Fix more dehacked special string copies to use Z_Strdup, like the other fixes, so do not write const string.
- Fix mancubus fireballs going through walls. Fix bug of missiles exploding within walls instead of upon them.
- Fix demo code to better handle boom, prboom, demos. Correct the turn code to use relative turns for boom demos.
- Moved a Heretic chicken friction calc, which may have fixed a latent bug.
- 3dfloor opening code rewritten, simplified logic, moved redundant tests making it faster, and fixed an error.
- As suggested by Fraggle, use (width-offset) instead of offset when displaying a sprite frame flipped.

### FEATURES 1.44 alpha2

- Boom demo headers are now recognized and the demos play better. They will not stay in sync, but will no longer crash the engine.
- Revised game description tables now have three wad names for each game type, to recognize more naming variations.
- Sprites Limit: Adjust the number of sprites displayed by software renderer from 128 to 16384, depending upon where your machine bogs down.
- Removed sprite display limits in software renderer. The number of displayed sprites is dynamically adjusted according to the sprite count, and the user setting in the Effects menu. The menu control gives a soft limit from 128, upto 16384 sprites. The sprite display is hard limited to twice the user setting. When there are too many sprites, the nearest sprites have preference, the farther sprites have semi-random visibility (they flicker), so the player can sporatically see the sprites in the distance.
- Savegame size is now unlimited, and uses much smaller savegame buffer.
- Replaced the odd command line switches for game development with one switch that specifies the gamename.

### BUG FIXES 1.44 alpha2

- Z_Malloc memory locking, to protect the status bar textures from other routines using and releasing them.
- Bug fix on endian conversion for switch textures.
- Fixed the automap for screen sizes and splitscreen mode.
- Fixed splitscreen mode and splitscreen mode sound.
- Protect splitscreen mode setup from demos.
- Updated code to reduce compilation complaints from GCC 4.4.4.
- Fixed texture generation failures in caesar.wad, detect and replace PNG patches with a dummy, handle empty patches, and split posts longer than 255 bytes.
- Fixed crusher logic so that they will crush floating monsters too.
- Fixed game modes so is easier to understand names, and fixed bad test for heretic shareware.
- Fixed game recognition by Ultimate doom wad name.
- Fixed a number of nusance bugs in the savegame menu system.
- Display ".." as the UP-DIRECTORY menu entry.
- New directory can be created from DIR line and from any blank directory entry.
- Fixed "EMPTY SLOT" message being presented as a savegame name.
- Fixed very old segfault in savegames of DoomII MAP27, which opened a door by level logic instead of a line trigger. These failed after restoring a savegame. Fixed savegame to save and restore NULL ptrs for line and mapthings.

### FEATURES 1.44 alpha1

- New Effects menu, makes room for the additional user controls.
- Gamma generation: Gamma table is generated from the selected gamma function
  (Gamma, Gamma_black, Gamma_bright_black, Linear).
  The Gamma function has 25 gamma setpoints.
  The Gamma_black function has gamma and black level controls.
  The Gamma_bright_black function has gamma, black level, and bright level controls.
  The Linear function has two setpoint controls, each of which has 25 positions.
- Door delay: Option control that slows doors by x1.5, x2, etc. so that player has more time to get through them.
- SoftError: Many hard errors (fatal) have been changed to soft errors, where the user will get one message, and the game will be allowed to continue.
- Voodoo dolls added. The voodoo doll was an accident of the original Doom, that many wads made use of to trigger linedef actions. Extra player1 starts now create voodoo dolls, with the last being the actual player1 start position.
- Demo fixes. Demos that Legacy cannot play back are now recognized and rejected, so they do not crash the engine.
- Z_Malloc allocation compile options, user selectable in z_zone.c.
  PLAIN_MALLOC: Large memory, no reclaimation.
  TAGGED_MALLOC: Will free allocations according to tags kept in the allocations.
  ZONE_ZALLOC: Improved version of original zone allocation. Allocates from large pre-allocation of memory, with tags, and frees allocations according to tags.
  GROW_ZONE: Option on ZONE_ZALLOC that grows the memory usage when free blocks cannot be found. This is the default now.
  AGGRESSIVE_PURGE: Option on ZONE_ZALLOC that aggressively purges downgraded allocations instead of leaving them as cache. Mostly for testing memory usage code, but also usable for small memory.
- Texture generation now handles multi-patch transparent textures. The code selects between three rendering methods, one of which creates a single patch transparent 2-sided texture from the source multi-patch texture.
  This now software renders the gates in Phobia.wad correctly.
- Game determination characteristics and parameters are now in one table. This allows special game wads to be added easily without errors. The table specifies a Legacy support wad for the specific game that will now be automatically loaded (none exist yet).
- Savegame format now has a header that specifies the name, map number, time, the wad, and the command line switches. The savegame display shows the name, map, and time. Upon loading the savegame must match the current wad.
- Savegame format now records the endian and word size. Loading now detects these and other critical parameters to intercept incompatible savegames.
- Savegame now allows up to 99 savegames in one directory. This is a compile option.
- Savegame now supports savegame directories. You can have a separate savegame directory for each wad. This is a compile option.
- Hardware renderer now can display Boom colormaps.
- Hardware renderer now has lighting level variation with colormaps.
- Chexquest support is enhanced. The Doom pictures that are in the Chexquest wad are now blocked when in Chexquest game mode, along with blood splats and Doom episode names. Chexquest splats are less violent.
- Full international keyboard support (SDL).
- New joystick/gamepad code, should support all modern controllers (SDL).
- New FS functions.
- Audio output samplerate raised to 22 kHz.

### BUG FIXES 1.44 alpha1

- ENDOOM lump updated with current information.
- Build process brought up to date: Automatic dependecy generation, serious Makefile cleanup, SDL as the default multimedia interface, LOTS of compile-time warnings fixed.
- 64-bit compatibility.
- Flat search logic once again honors the F_START, F_END, FF_START, FF_END markers. Only if it fails to find the flat within those bounds does it search the entire wad. At least one wad had an extraneous lump with the same name as a flat, and Legacy will now behave as well as other Doom ports.
- ZALLOC memory management fixed. It had a latent bug that would corrupt memory management for some aligned allocations. It also allocates more memory now, so larger levels can be handled.
- ZALLOC memory users fixed to protect their in-use allocations against accidental purging by other memory allocation calls. Added new classes of allocation tags and code to protect them. This fixed several bugs that would hit only certain wads.
- Z_Malloc tagging improvements to give cache preference to expensive combined multi-patch textures.
- Fixed memory leak when purging sectors at end of level.
- Time tick fixed so that it can handle time count overflow and wrapping.
- Replaced all uses of gets library function with fgets, which is much safer.
- New endian conversions, uses standardized, with most uses moved to wad reading functions, so should be endian-safe now (Mac users).
- Several vsprintf/vsnprintf-related potential crashing bugs fixed in the console code.
- Fixed bug where life and ammo status would have bad background after a save game.
- Fixed bug where things can overdraw the status bar. Added limit checks where things are split by a Legacy 3D floor.
- Fixed sound to work on both old SDL mixers (non-functional RWOPS) and new SDL with a working RWOPS. The SDL mixer version is detected at compile time.
- Heretic save game fixed so that it does not use up an inventory item.
- Heretic sound fixed. Heretic uses a different naming scheme for sound effects.
- Fixed the bug that was triggered by the big room in 3DHorror.wad. Limited the span code to valid span ranges, so such situations cannot accidently cause it to overwrite several arrays and other static memory.
- Prevent having a segfault for some wads with minor flaws, like using a Boom linedef 244 instead of 242. Tests the b-nodes index for being valid before using.
- Fixed Phobia segfaults due to a texture with one small patch.
- Fixed segfaults from low level draw clipping exceeding the bounds of an array. The callers are fixed to limit the width drawn.
- Wads with missing sprites will no longer cause segfaults.
- Fixed the fighting code to test some target ptrs before using them. This prevents segfaults during heavy monster in-fighting.
- Fix large vertical bars drawn in Phobia.wad map07. Software rendering calculations were overflowing due to the extreme height and depth of that room.
- Fixed clipping artifacts seen in Twilight.wad. Limit the x range earlier so do not exceed the screen width.
- Fixed Dehacked segfaults due to trying to overwrite const strings. Some compilers allow that, but not GCC on Linux.
- Hardware renderer fixed to use some of the same code fixes as the software render for things like 3Dfloor lighting. The hardware renderer now correctly lights things under 3D floors.
- Prevent segfault when 3Dfloor does not have a side texture.
- Display fog sheet in software renderer.
- Sprites behind a transparent wall are now displayed by hardware renderer.
- Fixed Medikit bug, from DoomWiki known Doom bugs list.
- Fixed ouch-face bug, from DoomWiki known Doom bugs list.
- Fixed blaze-door bug, from DoomWiki known Doom bugs list.
- Fixed monster-attacks-self bug, from DoomWiki known bugs list.
- Fixed boss-death bug, from DoomWiki known bugs list.
- Fixed sleeping-sargeant bug, from DoomWiki known bugs list.
- Finished buildstairs bug fix, from DoomWiki known bugs list.
- Display Chexquest goo splats, instead of the bloody splats from the legacy data wad. Chexquest table entry specifies that Chexquest wad has precedence.
- Fixed segfault due to lightlist bad value, seen in Chexquest-newmaps.
- Centered the scope crosshairs in Chexquest-newmaps. They were off to the left for some screen resolutions.
- Allow Chexquest-newmaps to access more than the 5 maps that Chexquest had. Use of the "-file" switch on command line allows all maps to be accessed.
- Fixed savegame code to handle more than 1023 thinkers. The hth2.wad saves 1899 thinkers.
- Number of colormaps increased to 64. The hth2.wad has 38 colormaps.
- Detect some buggy wad conditions and recover or gracefully exit. Detects bad linedef number, missing sidedefs, bad sector number, bad seg number.
- Fixed math overflow for large maps like Europe.wad MAP01 (which really is too large, but plays now). One corner of Europe.wad is beyond the blockmap and walls there are walk-thru.
- Fixed blockmap loading to deal with large maps like Europe.wad, which overflows the blockmap numbering x3. The code now detects the overflow and adds the missing upper bits of the blockmap numbering.
- Fixed the automap to handle large maps like Europe.wad. Math overflows are detected and the automap zoom is limited to avoid them.
- Fixed the automap to track the center of attention instead of the corner of the window. This keeps the map centered when zooming.

### KNOWN BUGS

- Sprites that fail to draw over the floor due to too many 3D floors close together. Seen in hth2.wad. Caused by the height of the nearby railing affecting the sorting of the sprite relative to the floor. Fixes to 3D depth sorting are already being investigated.
- When walking into water, when the eyes are right at the water level, it will display bad clipping above and below the water level. Occurs for both software renderer and the hardware renderer. A fixable cause has not been discovered yet.
- Under Linux the SDL port code works. The non-SDL port to X-Windows has problems with screen modes that cause it to fail.
- Corona on lights are misplaced when the wad replaces the sprite and the bright spot position is different. The Corona positions are from measuring the original doom sprite bright spot positions.
- Corona on far light is drawn over nearby solid object that partially blocks the view of the far light.
- The field-of-view clipping is clipping polygons at the edge of vision as if the player were looking straight ahead. This has not been fixed yet for player looking up and down.
- The hardware renderer BSP traversal is having rounding errors from sector splitting that show up as cracks in the floor.

## 1.43 Beta (2004-06-14)

### TODO

This release was primarily for Mac OS X, but had some small fixes that were carried into 1.44.

## 1.42 (2004-04-18)

### TODO

## 1.41 (2003-10-03)

### TODO

## 1.40 (2002-09-21)

### TODO

## 1.32 Beta 4 (2002-01-01)

### TODO

## 1.32 Beta 3 (2001-08)

       Lot of fixes as usual for a beta.

         - Translucent 3D water and 3D floors in hardware mode
         - Coloured sector lighting in hardware mode
         - New corona code
         - Improved load level time in hardware mode
         - Show a status of level load in hardware mode
         - now legacy can load skin using sprite keywork (original spec)
         - Use Transform and lighting in OpenGl
         - draw full screen when status bar is not scaled in hardware
         - fixed heretic weapon height in opengl/glide
         - fixed conflicting sector type 4 (heretic/doom)
         - fixed moving hanging mobj on platform (heretic e2m5)
         - fixed error message while saving
         - fixed crash of e3m8 in heretic caused by object 56 badly handled
         - fixed crosshair not showed when joining multiplayer game
         - fixed file search in windows version, was causing problem in
           multiplayer game with additional files
         - fixed option "se" not drawed is some video modes
         - fixed map30 savegame crash
         - fixed commander keen dead not open door
         - fixed player reset between secrets levels of doom2
         - fixed problem of map29 not loading
         - fixed timelimit cvar problem in menu
         - fixed quoted badly handled in responce file

      Shipped with Launcher 1.4
         - handle e?m? map name in heretic mode
         - added direct 3d sound switch in setup panel
         - now launcher encloses wad string between quotes to send
           parameter to legacy. This allows space and special
           characters in wad files
         - option are now saved when legacy is started

       Was in beta 2 but no doc updated
         - fixed joystickfreelook cvar not working
         - added little menu cosmetic that tell when the serverlist
           is empty and fixed little problem of refresh
         - fixed (one more time) angle prediction
         - added posibility to change death message by dehacked scipt
           and fixed some ones
         - added gr_coronasize in the menu
         - fixed final cast not showed corectely
         - fixed some problem with heretic final episode stuffs
         - fixed reset of weapons on doom2 map07, map12 and map21
         - fixed bug 427507 : doors no more turn corpse to giblet
         - fixed problem with load/save menu screen that screw up
           the texture cache in glide, and display badly in opengl
         - fixed 3D floors crash in software
         - improved heretic support :
           - fixed network not working
           - fixed height of weapons on heretic
           - fixed heretic invenory key handled in menu (bug 426338)
           - added native support of heretic1.wad

       Was in beta 1 but we forgot to mention it
         - removed main wad version checking
         - fixed cannot restart game after end of a episode

## 1.32 Beta 1 (2001-05-08)

       Added Heretic support it is already playable but still experimental
       see heretic note in legacy.txt for more

       - OPENGL/3DFX
         - added gr_coronasize cvar this allow to adjust coronas size
           to you screen size and your distance to the screen
         - fixed litle glide issues
         - fixed texturing problem in hardware mode with middle twosided texture
         - change the way legacy handle color in opengl/3dfx
           this allow better contrast
         - fixed little problem of backface culling of lights

       - SOUND
         - added support for 3D positional sound cards (now under Win32 only).
           See Legacy.txt for more details.

       - MULTIPLAYER
         - enable client angle prediction was removed from 1.31 by mistake
         - fixed some issues in network (game sometime lock)
         - implemented timeout detection and kick player if connection timeout

       - MISC
         - added cvar scalestatusbar so you can see it in original size
           or scaled to your resolution
         - Win32: added -nodinput command line parameter (use standard Windows
           mouse input instead of DirectInput) to resolve issues with some mouses
           under Win32 systems (like issues with mouse whell support under
           Win95/WinNT 4.0)

       - GAMEPLAY
         - joystick can be used for free look using joystickfreelook cvar
         - like in heretic now missile can now active weapons switches
         - suport heretic ambient sound

       - BUG FIXES
         - fixed little issue that allow to exitlevel even if allowexitlevel
           cvar was set to false

       - Known bug (don't mail us about it !)
         - in 3dfx/opengl :
           - splat/bullet hole have serious problems
           - water don't show properly
           - there is white dots around some wall/floors/ceiling
           - the lighting is slow (mainly on slow 3d cards or low end PC)
           - missing polygone/textures one some levels
             (need to be rebuild with new nodes builders like zennode or deepbsp)

## 1.31 (2000-12)

       - OPENGL/3DFX
         - no more coronas for mancubus balls
         - added light for revenent fireball, lost soul and candle
         - fixed full transparency of torch
         - make backface culling for lights

       - MULTIPLAYER
         - new menu option : create server and connect server
         - use masterserver to detect all server in the world !
         - added "internetserver" ,"masterserver" and "servername"
           to use in conjunction of new multplayer features
           see console.txt for more
         - no more palette change in splitscreen
         - fixed issues with netgame and dehacked (it is now copyed automaticaly
           like all wads)
         - deathmatch team-start-sectors can be created with normal deathmatch-
           starts in a sector. A sector/line-tag and a line with linedef-type
           1000-1031 prevents other teams from respawning there.

       - GAMEPLAY
         - when solidcorpse is true you can smash it and turn it to giblets !
         - adjust buchholz for suicide.
         - added FraggleScript scripting capability ! (as beta for now)
             Read the doc for more
         - added 3DFloors capability (as Beta for now)
             Read the doc for more

       - MISC
         - Legacy now detect free memory and allocate from 6 to 20 Mb
           The "-mb" option overwrite detection
         - remove limit of polygone pool
         - the STFB0 is now optinal in a skin replacement
         - allow use of joystick y axis for looking up/down just use mouselook cvar
         - added support of mouse wheel under WinNT
         - Support Dolby Surround sound (only for external decoder)
         - display #SECRETS and #MONSTERS on the overlay!  NOTE: add 'S' (secrets)
           and 'E' (monsters) to the "overlay" cvar for seing them.

       - BUG FIXES
         - fixed crash with splat on two sided wall
         - fixed little issue for look up/down of splitscreen player with keyboard
         - fixed splitscreen variable with demoplayback
         - fixed player viewpoint when using F12
         - removed monsters steping
         - fixed random crash in OpenGl/Glide when load level
         - fixed minor stuff to increase compatibility with old wad
         - fixed death meassages issues : telefraged and when weapon change before
           the player die

## 1.30 (2000-08)

       - VIDEO
         - Thierry Van Elsuwe (aka Hurdler) ported to OpenGL our glide code
           so Legacy have now OpenGL support with some new OpenGL specific
           features like FOV "what you want" (zooming),...
         - improve glide support, fixed all texture problem and so one
         - fixed many splats problem so now is enabled in the code
         - Opengl/3Dfx added new features like coronas and dynamic lighting
           (unfinished),... added new cvar for this at the same time.
         - fullscreen and windowed mode under Linux or Windows+OpenGL

       - MULTIPLAYER
         - Join in game : now you can join the game without a restart of the
           server.
         - added automatic file copy through network
         - added seconde mouse support for splitscreen
           read the legacy.txt for more about it
         - added support for ipx under win32
         - now the engine wrape around level in deathmatch no more final screen
           etc...
         - splitscreen variable can now be changed while in netgame

       - CONSOLE
         - added -noresetplayer to map command
           use this option to keep your weapon and keys through a map change
           it is used internaly by the engine for usual map change
         - added allowturbo and allowexitlevel cvar
         - added splats cvar to enable/disable splats
         - added translucency cvar so slow cumputer can disable translucentcy
         - added controlperkey cvar this allow you to enable/desable
           more than one control per keys
         - added screenlink cvar so you can enable the color melt screen link
         - added gimme map

       - MISC
         - Boom compatibility, except BEX and lindef 260, Thanks to SoM
         - impoved Linux support (similar to win32 one)
         - Dos version can now use winsock 2.0 (default in Win98)
           Thanks to the libsocket team
         - enable color blend for screen translation (was in the original sources)
         - added video menu and move some option there
         - support mouse wheel in win32 version thanks to Dominique Leger
         - added joystick hat support under win32
         - improved launcher for windows version

       - BUG FIXES
         - fixed some serious network issues
         - fixed multiple dehacked don't load
         - fixed can take the chainsaw in doom1 or udoom with next/prev weapon key
         - fixed can't save when use -warp or +map
         - fixed timedemo work now more than one time
         - fixed cdvolume bounds in win32 version
         - translucency now use colormaps
         - and fixed some more tiny bugs

       - Known bug (don't mail us about it !)
         - in 3dfx/opengl :
           - splat/bullet hole have serious problems
           - water don't show properly
           - monsters/sprite have feet(head) in ground
           - there is white dots around some wall/floors/ceiling
           - the lighting is slow (mainly on slow 3d cards or low end PC)
           - the light of sector is not correct !
           - missing polygone/textures one some levels
             (need to be rebuild with new nodes builders like zennode or deepbsp)

## 1.28 (1999-05-14)

       - FULL WIN32 PORT
         - no more compatibility problem with sound and graphics card
         - plays MIDI music through whatever MIDI output you have set
           (including software midi synthesizers like those of Yamaha)
         - uses TCP/IP network instead of IPX, allows internet play
         - includes a preview of the 3Dfx mode (that r_glide.dll file)

       - 3DFX BETA VERSION
         - you can choose between software or 3Dfx accelerated mode
           in the Doom Legacy Launcher 'Setup' panel, without the
           launcher, use "-3dfx" on the command-line
         - 3Dfx mode is available through the r_glide.dll, you need
           the latest Glide 3 drivers from www.3dfx.com
         - fixed shooting with mouselook, note you can fire at 90 degree
           up and down, but he sprites will look 'flat'
         - you can now change resolution at run time through the video
           modes menu (F5), just like in software mode
         - uses external r_glide.dll file : this WILL be a feature,
           because it allows for future extensions with OpenGL,
           Direct3D, or even hi-color software modes

       - COOL LAUNCHER
         - setup single and multiplayer games easily
         - add external wad files with file dialog
         - set your Preferred Weapons Order (tm) =)
         - easily switch between Doom1, Doom2 etc..
         - Demos section allows quick 'n easy playback of demos, the launcher
           saves the external files, and your comments into the demos!
         - forget about the command-line !

       - SPLITSCREEN !
         - two player game on one computer!
         - within a multiplayer game, any computer can 'host' 2 players
           thus with 2 computers, you can have a 4 player game !
         - when playing back a demo, type in 'splitscreen 1' at the
           console to show 2 views at the same time

       - TCP/IP MULTIPLAYER
         - Legacy now uses TCP/IP (DOS version also supports IPX)
         - '-connect' auto-detects the server on a LAN (when computers
           are directly connected together)
         - the server passes the list of files added with '-file' to the
           clients (but clients MUST have the file)
           Note: the files on each computer must have the same date or
           Legacy will stop with a warning message, you can disable date
           checking with '-notime' cmd-line option

       - DEMOS
         - demos can be recorded by only one player in a network game
           (use "stopdemo" to stop recording without quitting the game)
         - "playdemospeed" console variable allows faster playback of demos

       - CONSOLE
         - "addfile" and "map" commands can load skins while in game
         - "fastmonsters" : same as -fastparm parameter
         - "map" command enhanced :
            map <mapname[.wad]> [-skill <1..5>] [-monsters <0\1>]
            this allows to change skill and monsters at run time
            note : these two parameters are optional, if not specified the
                   current value is used
         - "timelimit" allows server to set a time limit on a level
         - "chasecam" activates or desactivate the chase-cam mode
         - "cam_height","cam_dist", "cam_speed"  to customize the chase-cam

       - GAME STUFF
         - display KEYS on the overlay!  NOTE: MAKE SURE TO ADD 'K' TO
           THE "overlay" CONSOLE VARIABLE IF YOU KEEP YOUR OLD CONFIGURATION
         - Next and Previous weapons controls added in 'Setup Controls' game menu
         - Legacy's 'true' water effect was enhanced with physics: press
           Jump button to swim up, or use mouselook, friction, gravity..

       - MISC
         - "-iwad xxx.wad" : you can keep all your original Doom versions
           in a single directory and choose which one to run with this switch
           (example: -iwad plutonia.wad)
         - "-file" searches for files recursively, starting at the directory
           where you run Doom Legacy, it will find files in any subdirectories
           THIS IS VERY USEFUL FOR MULTIPLAYER : for example, provided everyone
           has the 'hipafrag.wad' map, the server just types 'map hipafrag.wad'
           and all clients will load the map, even if they have placed the file
           in different directories
         - savegames enhanced (works better)

       - DOS VERSION ONLY
         - the DOS version supports both TCP/IP _AND_ IPX
           TCP/IP is used when you use the "-connect" or "-server" parameters
         - Joystick support enhanced, type "help use_joystick" at the console
           for more

       - FIXES
         - mouseaiming works better, and aim is now correct independently of the
           screen resolution
         - fixed crash when starting netgame in Cooperative and there are not
           enough player starts
         - fixed many problems.. (ok, bugs) with 1.27 and 1.28 betas
         - fixed 1.9 original bug : demos get out of synch if you go into the menu
           while recording

       - KNOWN BUGS
         - Alt-Tab/Alt-Escape in windows with 3Dfx preview may crash
         - Sometimes video modes are not detected when you start Legacy WIN32 from
           a fullscreen DOS box, just use Doom Legacy Launcher, damnit !

       - AND...
         - documented version 1.27 changes! see below

## 1.27 (1998-12)

       - GAME STUFF
         - new in-game menus allows setting console options easily

       - MULTIPLAYER
         - "deathmatch" console variable : change deathmatch mode
           at any time!
           deathmatch 0 = cooperative
           deathmatch 3 = deathmatch 2 + weapon stay (dm1+dm2)
         - fixed problem where 2 or more skins would have the same
           name, made it impossible to browse all skins in the
           multiplayer menu.
         - "fraglimit" : go to intermission after limit of frags is
           reached
         - the DOS version should work better with modem
           (using HX8 or SERSETUP)
         - the DOS version supports TCP/IP using __Winsock 1.0__ ONLY
           See section [5-5] of the main documentation

       - CONSOLE
         - pass console commands on the command-line using a "+"
           prefix, example:

               > legacy +color 7 +name "the killer"

         - human readable console variables, example:
              color red
              chasecam on

           instead of:
              color 4
              chasecam 1

           type "help <commandname>" to see possible values for each
           console variable, note the old system still works

         - "exitlevel" : ends level and goes to intermission, comes in
           handy when you get stuck in a level or you don't find the key
         - "bind" : attach console commands to a key, example:
              bind s "screenshot"
              bind h "sayteam help me guys!!"
         - "screenshot" command takes a screenshot, pssst: bind it
           or you will screenshot the console =)
         - "vid_ticrate" shows a graph of rendered frames timing
         - "save" command : saves game, works in multiplayer too
         - "load" command : load previously saved game, multiplayer too
         - "timedemo" : like -timedemo it will playback a demo as fast
           as possible to test the speed of the renderer
         - "map" and "addfile" commands now loads textures!
         - "sayteam" : sends a message only to your own team
         - added 3 new commands related to configuration :
           loadconfig   : load a previously saved config file
           saveconfig   : save the current config, you must give
                          an explicit file name
           changeconfig : switch to the config (saves current config, and
                          load another one)

       - EDITING
         - supports 'multipatch' textures on any 2-sided wall !
         - 5 new linedef types for translucent walls : 201 to 205

       - FIXES
         - fixed 32 skins limit, would not check for the limit,
           and crash if more than 32 skins used. No more crash but
           the limit is still 32 skins.
         - fixed bug in the display of frag in intermission in teamskin
         - fixed map7 bug when the 2 last babyspider die at same time
           (original 1.9 bug)
         - fixed gamma max value
         - fixed final pic shows in doom1 and bunny scroll
         - fixed "got unknow netcmd 109" when changing player config
         - many, many bugfixes and internal changes.

## 1.25 (1998-08-25)

        NOTE! The chasecam key is now '/' slash on the keypad, and it
              is available only in '-devparm' mode.

        - SKINS !!! : a skin is basically a full sprite replacement
          for the player, with optional specific sounds (hurt, death,
          jump etc..) and optional status bar face to go with it.

          Skins are simple wad files, that can be added with '-file'
          on the command line, and you can have as many skins as you
          want into a wadfile, so prepare for skinspacks galore!

          With Doomatic (our deathmatch launcher), the copying of
          files to other players is automatic, so the skins are
          automatically copied to other players. Using your pre-
          ferred deathmatch launcher, just make sure everybody
          have the skins wads.

          Skins work in single player too, you can admire your skin
          while in chasecam mode (use '/' slash key on keypad while
          in -devparm mode).

        - TEAMPLAY and TEAMSKIN deathmatch modes : you know about
          teamplay, teamskin is like teamplay, but using skins to
          identify teams instead of the color. Of course the frag
          rankings and intermission are updated to show team scores.
          Plus, there's a 'teamdamage' console variable that allows
          to choose whether your team partners get hurt when you
          shoot'em or not. Quake's teamplay is Legacy's teamplay
          with 'teamdamage' at 0.

          Cool! 'teamdamage' also works in cooperative, so in
          cooperative you can choose whether you can hurt your
          coop partners or not.

          Like in Quake, the armor is always damaged in teamplay
          if you hurt your partners.

          When you are hurt by a partner, and teamdamage is off,
          you won't see blood and the screen won't go red.

        - NETWORK IMPROVED : the 'slow turn' seems to be fixed now.
          Even better, we can call this the 'angle-turn client
          prediction' as your view now moves _before_ the server
          receives it. As you move around the view quicly in multiplayer,
          it is now smoother, especially in higher resolutions.
          Please tell us how you feel the improvement!

        Console:
        --------
        - viewheight : set the height of view, if you want to see what a Leprechaun
                       sees, just lower that! It's good to frag those giant marines
                       when you're a little teeny-weeny Leprechaun, heheheeee
        - skin,teamplay,teamdamage : for teamplay modes
        - frags,teamfrags : these shows the original Doom frag table, and also for
                            teams vs teams !
        - memfree,help : see what memory is used in Doom's heap, see how much physical
                         memory is left after you run Legacy.
        - addfile : completes 'map' command, loads external pwads at run time, currently
                    able to load the sprites, sounds, musics, flats, and maps,... but
                    not new textures (to do). Also to do is load the skins in pwads
                    at run time.

        Editing:
        --------
        - 'hall of mirrors' removed (thanks to Demiurg and his cool rivbrid.wad which
          looks really nice)

        - visplanes limit increased (should be plenty) (thanks to Russel and his huge
          pract.wad that broke Legacy's 256 drawsegs and 256 visplanes with... up to
          896 drawsegs at once (2sided lines), and 380+ visplanes when flying above the
          map with 'IDFLY' !!!)

        Misc:
        -----
        - dehacked patches files with .DEH extension can be added
          after '-file', which makes it very easy to use patches
          with your usual deathmatch launcher (it doesn't have
          to know about the dehacked, then, and Doomatic will
          copy the dehacked patches automatically since it is
          part of the wad files).

        - end sequence (finale) fixed for higher resolutions
          (thanks Kege)

        - 'splash' sounds when walking and jumping in water

        - can't cheat anymore by jumping in dangerous fluids to
          avoid the damage as it does more damage now.
          This makes a lot of deathtag levels playable again
          with Legacy (as lava was used to prevent scoring unless
          you have got the 'steel boots' armor)

        - testing deathmatch maps alone using '-deathmatch -warp'
          didn't work in last version, now fixed

        - that horrible 'SIGSEGV' bug due to a faulty CD-library,
          fixed.

        - other little goodies you'll find yourself...

## 1.24 (1998-07-19)

        - added CD Audio music, along with console commands 'play','stop',
          'info', etc. CD Music volume is in the sounds menu (F4).

          Note: cd audio and midi music are separate, and can be active
                at the same time. This is useful if, like me, you have
                some 'ambiance sound' cd's like sounds of storm, rain..
                you can use it to add ambiance, while still listening to
                the midi music.

                Usually, you will want to turn either the music or CD
                audio volume to zero.

        - some minor changes in the network, we noticed a serious problem
          with FAST machines & SLOW network cards, seems to work fine now.
        - fixed the backspace problem in the chat
        - fixed problem with some playback of lmp version 1.20
        - warp parameter work again with doom1 and ultimate
        - fixed switch textures that didn't 'switch' in ultimate doom.
        - fixed stupid bug with the statusbar numbers not refreshing.
        - the 'map' console command now works in multiplayer.
        - blood sprite changed so it looks better when staying longer
        - bloodtime is now a network variable, the server sets it for
          everybody
        - added gravity variable

## 1.23 (1998-07-17)

This version was a 'source release' for some projects, it was a work in progress, not released on the site.

## 1.22 (1998-06-05)

        - the slow turning left & right is fixed. Sorry we have forget to
          put the right code in the release.
        - added command "say" and "sayto". This fix chat problem.
        - word wraping in the console.
        - fixed problems with the new head up display.
        - fixed shift key problem.

## 1.21 (1998-05-25)

     Network:
        - the slow turning left & right is fixed
        - playing back demos of the latest version, along with the support
          for v1.12 demos didn't work : fixed. If you happened to record
          demos and thought they didn't work, they will now playback cor-
          rectly as they were recorded properly.
        - now SERSETUP works.. but more work need to be done, especially
          testing it , so please mail us how it worked for U !!
          Check LEGACY.TXT section 5/6 for more.

     Video:
        - fixed a nasty bug with getting the vesa extended modes. On some
          cards like Matrox Millenium it either showed less video modes,
          or didn't work at all.

     Misc:
        - fixed 'netgame' name used for savegames sometimes.
        - starting a game with more players than deathmatch starts will
          not crash anymore.. but some players will be spawned at the
          same point and will be stuck (yes it is a quickfix, this
          problem arises only at the very beginning of the game,
          usually there is always a dm start free)
        - the demons are opaque.. and the spectres translucent.
        - removed the "F***" word from fragging messages by request

## 1.20 Undocumented

        - Doom Legacy supports 64 deathmatch starts (the original game
          used up to 10 dmstarts)

        - height checks added for melee attacks: so monsters can't hit you
          if they are not on the same level, when using short range attacks.

        - when you are under Invisibility (blur sphere) and it is running out,
          you will switch between hi translucency and low translucency, and
          only when the invisibility is fully finished, you become opaque.

        - Supports FLATS and SPRITES in pwad, from the very old 'dmadds' pwads
          up to the latest dehacked patches using sprite renaming.

          See EDITING.TXT for more about using sprites/flats in pwad.

        - Can replace only some frames of a sprite in a pwad.

        - Sprites/Textures in a pwad are not supported at run-time using
          the map command, to do. Flats in pwad work at run-time.

        - the automap displays the right player colors

        - savegame buffer upped to 512kb

        - supports multiple dehacked eg: -dehacked one.deh two.deh three.deh

        - supports DIGMID (digital midi) using the sound.cfg

## 1.20 (1998-05-19)

     NOTE: THIS IS NOT COMPLETE AT ALL, WE WILL DOCUMENT THE CHANGES OF
           VERSION 1.2 AS SOON AS POSSIBLE, THERE ARE MANY ONES! BUT WE
           GOTTA RELEASE..

     Engine/Game:
        - Added the Doom Console! Enter commands and change game var-
          iables at any time! If you are not used to it, the console
          will allow you to be a 'Doom power user' ! We have worked
          a lot on the console itself, and have implemented a basic
          set of commands and variables. In the future we will be
          able to add any kind of commands easily. Any command or
          variable that you'd like? We are open to suggestions.

          Check the console section for more about all the commands
          available.

        - Finally improved and fixed the translucency on sprites:
          - the spectres (pink like demons) are really hard to see
          - translucency on torches is now correct, only the flame
            part is translucent
          - most projectiles are now brighter : the translucency
            used to diminish the colours intensity, now they look
            as bright as the original game
          - each sprite, and each frame can use a different trans-
            lucency eg: the bullet puffs are more translucent than
            the fireballs, the plasma bullets gets more translucent
            as they disappear
          - the blur sphere will make you as translucent as the
            pink demons, which means very hard to see! So the blur
            sphere item will probably become a strategic weapon!

     Multiplayer/Network:
        - Totally rewritten the network code of Doom : the method
          is now a very basic implementation of Client/Server. It uses
          less transfer, and allow up to 32 players simultaneously.
          Actually there is one drawback : you have to be sure that
          the server is fast enough, and doesn't slowdown, because
          if the server slows down, everybody in the game experience
          the 'lag'.

        - We have cleaned up the intermission screen with the death-
          match scores. It displays now several kinds of rankings,
          including the death rankings :) See Section [5-9] of the
          main documentation.

          We will document these scoring modes better in the future.
          Please note that this was quickly added: we can add any type
          of scoring system provided it's interesting enough, and
          funny :)

        - The deathmatch rankings are now automatically displayed when
          you are dead, until you respawn.

     Demos:
        - When playing back a demo, it tells the name of the player
          you are looking at when pressing F12. It is also displayed
          white in the deathmatch rankings. When you are actually
          playing, it is always YOUR name that is displayed white in
          the deathmatch rankings.

     Miscellaneous:
        - The old sky textures are stretched and displayed right. It
          doesn't look great, but that's better than nothing.
        - The jump key is no more repeatable. If you keep it pressed,
          the marine will jump only once.
        - Restored the sound caching system: if soundprecache is set
          to false, it will not load all the sounds at startup, but
          only when needed.
        - Restored the original game title screen, since there is now
          the Doom Legacy logo at the game startup screen. Phew! I'm
          happy to see that great titlepic of Doom1 back!

     Bugfixes:
        - Items under crushing sectors that could not be picked up is
          fixed. A ridiculous test == should have been <=, arh!
          Fixed the crushing ceilings that didn't crush too.
        - The game can now be started in standard VGA 320*200 on
          older non-vesa graphic cards.
        - Fixed an important bug with memory usage under Windows and
          OS2 systems, please tell is if it works under WinNT !
          We have tested it under OS2 and it works now perfectly!
        - Fixed Win95 asking for 'switch to DOS mode'.

     In development:
        - Started working on hicolor : the engine will use HICOLOR
          textures, instead of simply converting the 256color graphics
          to hicolor.

        - The console border graphics, and the loading screen picture
          were done in a hurry, I have to finish them.

        - Finish that damn water, arh! We have to make a simple editor
          for this. The tools will be developed under Windows.

## 1.12 (1998-03-06)

     As you can see, we've taken some time to write a better docu-
     mentation, we hope you'll appreciate, and read the full doc
     before sending us reports about bugs/trouble shooting.

     Engine/Game:
        - You can now shoot up and down, in the free look direction!
        - You can shoot the ceiling and the floor, and see the puffs
          of smoke.
        - Doom didnt draw the puffs of smoke when shooting on some
          walls in open areas, this is now fixed!
        - Autoaim on/off. When autoaim is off, you can still use the
          freelook to shoot up and down, but only when there's nothing
          to aim in front of you.
        - Crosshair preference : Off, Cross, Angle, or Point. It's drawn
          a little translucent too.
        - Added jump ability, key mappable in the menu of course.
        - Can walk under and over monsters/inanimate objects.
          All Doom things (sprites) are now collision-checked in real 3d,
          thus things can stay on top of other things, monsters and player
          avatar can walk/fly over stacked things and so on...
          Eg: we've tested a 'solid corpse' feature and all the corpses
          were stacking one on another in maps with lots of ennemies!
        - Added transparency on other sprites, as requested : arachno,
          barons, caco and mancubus projectiles, the lost soul, blood
          'puffs', eye in symbol, demon (big boss) spawn fire.

     Multiplayer/Network:
        - You can now frag with the barrels!!! For the frag artists out
          there, now you're rewarded by your talent! Let me explain:
          when you shoot a barrel, and then later one or more guys die
          by the explosion of the barrels, you get the frags!!! This
          works like dominoes too : whatever number of barrels they are,
          they all know who caused the first explosion! Now there should
          be a special deathmatch mode with respawning barrels :) !!!
        - Fixed a bug that MAY have caused some 'consistancy failures'
          with more than 4 players (the more players, the more this bug
          happened).

     Demos:
        - Demos now record the mouse look, change of color, change of
          name, and the messages (talk key) when multiplayer!!
        - Demos now record the timer, so you don't need to set -timer
          when you playback the demo.
        - Demos are somewhat 'compressed' and takes less space.
        - Fixed demos not being recorded when you exited using F10 key.
        - The 'q' key no longer ends a demo recording. Too many times
          someones presses this key by error. Now use 'F10' to end a
          demo (or quit from the menu).
        - Older demos may not run well. We don't like putting a lot of
          dirty code for the sake of backward compatibility. Especially
          now with the mouse aiming, old demos just look crap! They're
          always looking straight ahead! Anyway, before sending your
          bug reports : we're trying all we can to keep the compatibilty,
          we know a lot of old demos don't playback well now... we're
          trying to fix that. For now, just keep your old exes to play
          your old demos!
        - Fixed a bug with demos not recording the right name for the
          Deathmatch Rankings.
        - Demos doesn't record pause now.

     New mappable controls (Setup Controls menu):

        The Setup Controls menu has been reworked. It now accepts a lot
        more combinations. eg: you can now 'Backward' and 'Use' with one
        key.

        - Weapon Keys !!! Map your preferred weapons to easily accessible
          keys!
        - Deathmatch Rankings (it was stuck to 'f', now mappable)
        - Talk key (used to be 't') now mappable.
        - F11 : gamma key is back, I removed the key when I put the gamma
          in the menu, but then I could have let the key. I restored it.
        - Jump key, everybody on da plasma at map01!

     Menus keys remapped:
        - F5 (used to be lowdetail) : since lowdetail is no more useful,
          this key activates the Video Options menu.
        - F7 (used to be endgame) : now calls the main Options menu.

     Miscellaneous:
        - Added joystick support : useless but demanded... so there you
          have it, and since we don't do it half : you have support
          for the 'hat' plus 6 joystick buttons. Check the 'Joystick
          Support' section for more.
        - Removed the translucency from 2sided walls. There still need
          to do an 'editing' support for this, so that new-made levels
          can use it...work in progress.
        - As requested, a '-fuzzy' parameter disables the translucency
          and restores the old spectre 'fuzz' effect. Hey! We DO KNOW
          that translucency is too low on the spectres (ie: too much
          visible), but that's another problem! As we have tested, the
          spectres look MUCH better with a high translucency than with
          the old fuzz effect...
        - Can now use keypad arrows in the menu, as requested.
        - A new cheat to fly around levels, this is NOT FOR MUTLIPLAYER.
          Don't mail us to know about it, we won't tell you!!!
        - Added 'crunchy' sound when a sector crushes a dead corpse :)
        - Restored the ENDOOM screen ('beg' end screen).
        - Ctrl-C no longer interrupts the game, as requested, now use
          Ctrl-Break to cleanly exit at any time.

     Bugfixes:
        - Fixed autodetection of Ultimate Doom, however it stills shows
          'Doom Registered Startup' on the title bar.
        - Some new features like rocket trails were disabled when playing
          back an old demo, but wasn't restored when starting a new game.
          Fixed. (this was a problem with in-game demo sequences)
        - Fixed the problem with people having 'detaillevel 1' in their
          default.cfg. The game exited with an error message.
        - Fixed the messages was offset a little in some resolutions.
        - Fixed the config not saved when playing back or recording
          a demo.
        - Fixed the 'RROCK17' texture not found with Doom1/Doom Ultimate.
        - Fixed a bug with 'french' keymap used when it should not. Now
          use it only for the french version, so you have 'qwerty' keymap
          when entering messages, American people happy?
        - Some other boooring little bugs crushed with our mighty feet.

     In development:
        - Transparent water in development (test it at map30)
          this is unfinished and given as a 'preview shot', if you
          like/dislike please mail us!! We think that it looks
          much better than Quake2's transparent water. If you dont
          think so, mail us, but then please read first the
          following!

          SNEAK PREVIEW HINT:

          To see it, with Doom2, go at map30. Right now, its slower
          than it could be so don't look at the speed, it will be
          done a faster way later.. just wanted to do a fast preview
          so that you can tell us what you think about it!!

          Still to do : all kinds of sounds when walking/jumping into
          water, new colors when underwater, different sound when
          under water, new sprites when shooting into water and so on...

        - Chase cam! Use the 'c' key when in '-devparm' mode to test
          this. Remember: its just a quick addition, unfinished.
          Anyway real cool to look at demos with this.

        - Solid corpses : corpses stack one on another. This will be
          implemented as a multiplayer option for fun deathmatches.

          SNEAK PREVIEW HINT:

          For now, you can test it with the -solidcorpse option.

          Consider this as a quick way to see the new walk over/under
          possibilities.

          New problems arise in this mode, sometimes you're blocked
          by corpses, and there should be a way to clear out the path!

        - Better things-on-top-of-things handling : if you walk over
          a monster and the monster moves, you should move with it.
          That's not implemented right now: if the monster move,
          you fall.

        - Some kind of detection of the old skys, disabling the sky
          from moving when mouse looking or something like that...

## 1.11 (1998-02-14)

        - Full support SVGA : can switch to any VESA2 mode with the good
          aspect ratio, can switch video mode in the menu, save video mode
          in default config
        - We have added - Transparence - , better say 'translucency', which
          replace the old 'partial invisibility' effect. A selection of
          objects are now transparent : BFG and Plasma balls, monsters fireball,
          bullet puff, ...
        - Full setup controls from the game menu, much better than 'setup',
          now you can assign any 'control' to any key/mousebutton or joybutton.
          Assign mouse and keys to anything.
        - Free look : look up and down like Heretic (mouse supported).
        - Multiplayer menu: choose your preferred color and enter your name.
          The name of the players are displayed in the deathmatch rankings,
          and also when receiving messages. You can change your color at any
          time while playing a net game (your name too)!

     Mutliplayers News
        - We have added support for 8 player. We could not test it much, but
          it seems to work fine now.
          Test it, and send us a report if it run great. Thanks.
          However you'll need a deathmatch launcher which supports more
          than 4 players... why not try our great launcher called 'Doomatic'?
        - We have added 7 'deathmatch' colors (for a total 11 colors).
        - We have added 'preferred weapons order'. However we didn't finish
          it at the time you read this, so its not configurable in the menu
          right now , but you can edit the default.cfg (hint)

     Compatibility support
        - can load demos of doom v1.9, some new additions are automatically
          disabled when playing back older demos so that they run fine.
        - Support dehacked patches : use -dehacked <filename.deh>
          If you like superweapons patches, and the like, it should work
          no problem with our support. The difference is that now you don't
          need  to patch the exe.

     Minor news
        - play demos from any directory (eg: -playdemo demos\cooldemo)
        - show player's statusbar and hear player's sounds when changing the
          viewpoint while looking at a demo (F12)
        - autorun toggle (menu)
        - mouselook toggle (menu)
        - mouselook y sensitivity (menu)
        - invert mouse for mouselook (menu)
        - Load MIDI file in wad (autodetect if is MUS or MID)
          This one is for you wad creators : just insert a MID as a raw
          file in place of a 'D_XXXX' resource and it works.
        - Some network optimisations (but run only with doomatic).

     Know bugs:
        - Yes, there's transparency on 2sided walls, but be reassured, this
          is a simple 'quicktest' feature, to see what it looks like,
          we've left it until the next version so that you can see it.
        - When a 'marine' is translucent (pickup blur sphere), it looks
          like a green marine... instead of using the player color. todo..
        - You'll have only access to 320x200 video mode, if you don't run
          a VESA2 driver (we don't support mode-X VGA 'tweaked' modes...)
          UNIVBE is recommended, you can use S3VBE20 (freeware) if you have
          an S3 card..
        - automap is not aspect ratio correct in modes like 320x400
        - the intermission screen might display garbage or even crash the game,
          when playing more than 4 players
        - if you use Doomatic : we added the name and preferred colors in
          Doomatic, at that time doom sources were not released... but now
          that we have added name and color in Doom LEGACY, these settings in
          Doomatic don't have effect
        - no win95 specific code, we might do a simple support for win95,
          eg: a setup/launcher program. If you really need something for w95,
          try to convince us!!
        - no waitvbl (no pageflipping)