Doom Vanille

Doom Vanille is a source port created by Alexandre-Xavier Labonté-Lamoureux, otherwise known as AXDOOMER. It is derived from PCDoom-v2, itself a port of Linux Doom to DOS. It aims to enhance the stock executable with new features and fixes to reduce the risk of crashes, premature program exits and certain visual problems, while maintaining full compatibility with the original executable, including sound features of the DMX sound engine (but not DMX itself).

It has a version that increases static limits and adheres to the Doom2-plus template of raising limits, allowing several WADs to be playable in the vanilla engine that would previously require a limit-removing source port to run.

History
The first release was based on PCDoom on May 29, 2017 as version 666. It introduced new parameters for Doom:, , , and. Development for the port was slow, with a second release called version 667 on November 20, 2018. Version 668 took almost a year to release on October 14, 2019. It fixed a bug where grid lines were disappearing near the automap boundary and the executable with the extended limits is improved so it has less chance of crashing when saving the game.

It was in 2020 when Doom Vanille picked up pace. Version 669 released on May 24, 2020 is a maintenance release without changes, but 670 could be considered a major version. Released on May 30, 2020, it fixes a bug that prevented the Phase 1 IWAD of Freedoom from loading, but it also included a second executable, based on Doom2-plus limits by Andrey Budko (entryway).

The last and current release is version 671, from June 24, 2020. It contained the fix for the buffer overflow in and only comes with its static limits raised per Doom2-plus.

Features

 * Can run any version of the Doom IWADs without crashes
 * Will play if found but will not crash if it's missing
 * Ability to specify the IWAD you want using the parameter
 * No joystick support
 * Better floor and ceiling rendering
 * No lockups when too much lumps are loaded
 * Sound pitch is now working and can be activated with the or  parameters
 * Support for newschool deathmatch (Deathmatch 3.0) using
 * Hide par times in Final Doom because they are irrelevant
 * Display an error message when there are too many scrolling walls
 * Alternative Final Doom and Final Doom Anthology compatibility using the or  parameters
 * Support for maximum memory allocation with the parameter
 * Doesn't crash when mouse sensitivity is higher than 30
 * Sector tag 666 works correctly when a boss dies
 * Internal demos will not desync because of revenants
 * Comes in a Plus version which increases the static limits akin to Doom2-plus

Fixes
In addition to the new features, Doom Vanille addresses a host of bugs through a series of fixes:
 * The READ THIS menu or F1 won't crash The Ultimate Doom
 * Can load maps from MAP35 to MAP40 (no music index error)
 * Super shotgun firing frame fixed
 * Respawn fog at wrong location fixed
 * Unknown map things are ignored so maps with invalid things can be loaded
 * Crash when trying to open a single-sided "door" linedef was fixed
 * "Picked up a medikit that you REALLY need!" message fixed
 * Dead players don't make the "oof" sound after falling
 * Arch-vile fire spawned at the wrong location fixed
 * Fix messages not being displayed and locking up the game
 * Fix disappearing grid lines near the automap boundary

Raised limits
The following static limits are raised in Doom Vanille in the latest release: limit                        : old    * k   = new --- visplanes[MAXVISPLANES]      : 128    * 8   = 1024 drawsegs[MAXDRAWSEGS]        : 256    * 8   = 2048 SAVEGAMESIZE                 : 180224 * 16  = 2883584 activeplats[MAXPLATS]        : 30     * 256 = 7680 vissprites[MAXVISSPRITE]     : 128    * 8   = 1024 linespeciallist[MAXLINEANIMS] : 64    * 256 = 16384 openings[MAXOPENINGS]        : 16384  * 4   = 65536