|Initial release||Version 1 (2012-12-12, 7 years ago)|
|Written in||C, Assembly|
Doom32 is a executable hack created by Xttl and ConSiGno. An evolutionary iteration of Doom2-plus, it is derived from version 1.92.6 and provides additional increased static limits on top of what Doom2-plus provides to reduce loading times and to increase the size of levels that can be loaded in. It allows several WADs to be playable in the vanilla engine that previously required a limit-removing source port to be run.
Its exact file name is DOOM32.EXE.
Doom32 was made in response to a particular bug discovered  during the development of Back to Saturn X Episode 1. Called the PWAD size limit bug, the limited memory available to the lump stack, which is 64 kilobyte in size, caused issues as Back to Saturn X's PWAD needed more lumps than the 4046 that are available within this memory segment. On September 14, 2011, Xttl and ConSiGno announced in a Doomworld forums to have an executable hack ready that increased the limit of the lump stack to 512 KB, allowing BTSX to load its resources fully. The released version however was split in two separate WAD files, mitigating the issue and allowing to be fully compatible with DOOM2.EXE, and removing the need for the modified executable. Doom32 was worked on in private with the last change made on October 11, 2011.
Following Back to Saturn X's Episode 1 release on December 10, Doom32 was released on December 12, 2012 through this zone memory heapsize was increased from 8MB to 32MB, allowing larger levels to be loaded in memory without crashing the engine, allows far bigger -maxdemo's to be made, and to reduce loading times. It also forces OPL3 mode if the SoundBlaster option is selected., now based off Doom2-plus's increased static limits. In addition to the increased lump stack, the
- Doom32 inherits the raised static limits of Doom2-plus 1.92.6:
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
Additional raised limits
- The lump stack is increased from 64 KB to 512 KB, allowing more lumps (32768) to be loaded in
- The heapsize is increased from 8MB to 32MB which allows larger levels to be loaded and loading times reduced and allows far bigger -maxdemo's to be made
- Forced OPL3 option when SoundBlaster is selected; be sure to SET DMXOPTION="-opl3-phase" in order for this to work
|Source code genealogy|
|Based on||Name||Base for|