|Codebase||Doom128, gamesrc-ver-recreation, HERETIC.EXE|
|Developer(s)||Adam Bilbrough (Gibbon)|
|Initial release||10020222 (2022-02-10, 21 months ago)|
|Latest release||11022022 (2022-02-11, 21 months ago)|
|Written in||C, Assembly|
Heretic128 is a source modification created by Adam Bilbrough (Gibbon). It is derived from the recreated and reverse-engineered works of the gamesrc-ver-recreation project and Doom128 itself, providing further increased static limits to reduce the risk of crashes, premature program exits and certain visual problems, while maintaining full compatibility with the original executable, including the usage of the original DMX sound engine.
Its exact file names are:
- HER128_13.EXE for the Heretic: Shadow of the Serpent Riders version 1.3 executable
- HER128_10R.EXE for the registered version 1.0 executable
After releasing the Doom128 modification, Gibbon instantly went to work on making a version for Heretic for MS-DOS. The work done on Doom128 was used as a basis to increase the limits. A first release followed om February 10, 2022. It increased the limits imposed by Doom128 by a factor 16 and was built for version 1.3 of the executable.
A second release followed a day later, increasing the stack size to 4096 and fixing the Tutti-frutti effect bug, as well as increasing the limits for the original version 1.0 executable. A Doomworld thread discussing Heretic128 was made on February 17, 2022. 
The following static limits are raised in Heretic128.
limit : old * k = new ------------------------------------------------------- visplanes[MAXVISPLANES] : 1024 * 16 = 16384 drawsegs[MAXDRAWSEGS] : 2048 * 16 = 32768 SAVEGAMESIZE : Depends on version activeplats[MAXPLATS] : 7680 * 16 = 122880 vissprites[MAXVISSPRITE] : 1024 * 16 = 16384 linespeciallist[MAXLINEANIMS] : 16384 * 16 = 262144 openings[MAXOPENINGS] : 200 * 256 * 16 = 819200
- MAXOPENINGS relies on the SCREENWIDTH constant, which is 200 (from a 320x200 screen, which is what is used in Heretic.
- MAXSEGS relies on both the SCREENWIDTH and SCREENHEIGHT constant, divided by 2 + (SCREENWIDTH) / 2 + 1) * SCREENHEIGHT).
- SAVEGAMESIZE is also increased by a factor 16, but depends on the version used:
Heretic 1.0: SAVEGAMESIZE 0x20000 * 16 Heretic 1.3: SAVEGAMESIZE 0x30000 * 16
Outside of the raised limits, Heretic128 includes additional features:
- The lump stack is increased from 64 KB to 4096 KB, allowing more lumps to be loaded in
- R_CheckTextureNumForName error is now non fatal, taken from Crispy Doom
- The Tutti-frutti effect bug is fixed, taken from Crispy Doom and Russian Doom
|Source code genealogy|
|Based on||Name||Base for|