Heretic128
From DoomWiki.org
| Heretic128 | |
| Codebase | Doom128, gamesrc-ver-recreation, HERETIC.EXE |
|---|---|
| Developer(s) | Adam Bilbrough (Gibbon) |
| Initial release | 10020222 (2022-02-10, 4 years ago) |
| Latest release | 11022022 (2022-02-11, 4 years ago) |
| Development status | Active |
| Written in | C, Assembly |
| Target platform | DOS |
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.
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 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
History[edit]
After releasing the Doom128 modification, Gibbon instantly went to work on making a version for Heretic for 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 Doom32 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.[1]
Raised limits[edit]
The following static limits are raised in Heretic128:
limit : old * k = new ----------------------------------------------------- visplanes[MAXVISPLANES] : 1024 * 16 = 16384 drawsegs[MAXDRAWSEGS] : 2048 * 16 = 32768 SAVEGAMESIZE : 262144 activeplats[MAXPLATS] : 7680 * 16 = 122880 vissprites[MAXVISSPRITES] : 1024 * 16 = 16384 linespeciallist[MAXLINEANIMS] : 16384 * 16 = 262144 openings[MAXOPENINGS] : 65536 * 20 = 1310720
- MAXOPENINGS relies on the SCREENWIDTH constant, which is 320 (from a 320x200 screen, which is what is used in Heretic).
- MAXSEGS now relies on both the SCREENWIDTH and SCREENHEIGHT constants: (SCREENWIDTH / 2 + 1) * SCREENHEIGHT = 32200.
- SAVEGAMESIZE is increased to 0x40000, up from 0x30000 (Heretic 1.3) or 0x20000 (1.0).
Additional features[edit]
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
External links[edit]
References[edit]
| Source code genealogy | ||
|---|---|---|
| Based on | Name | Base for |
| Doom128 | Heretic128 | None |
| gamesrc-ver-recreation | ||
| HERETIC.EXE | ||
