Difference between revisions of "Heretic128"

From DoomWiki.org

[checked revision][unchecked revision]
m (Additional features)
(replace defunct github links (the project has moved to sourceforge))
Line 51: Line 51:
  
 
==External links==
 
==External links==
* [https://github.com/atsb/Heretic128/ Heretic128 homepage], hosted by {{wp|GitHub}}
+
* [https://sourceforge.net/projects/doom-dos-ports/files/ Heretic128 sources and binaries] on {{wp|SourceForge}}
* [https://github.com/atsb/HERETIC128/releases/tag/11022022 Heretic128 February 11, 2022 binaries], hosted by GitHub
 
* [https://github.com/atsb/HERETIC128/releases/tag/10022022 Heretic128 February 10, 2022 binaries], hosted by GitHub
 
  
 
==References==
 
==References==

Revision as of 08:17, 27 May 2023

Heretic128
Codebase Doom128, gamesrc-ver-recreation, HERETIC.EXE
Developer(s) Adam Bilbrough (Gibbon)
Initial release 10020222 (2022-02-10, 2 years ago)
Latest release 11022022 (2022-02-11, 2 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

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. [1]

Raised limits

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

Additional features

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

References

  1. Doomworld forums thread
Source code genealogy
Based on Name Base for
Doom128 Heretic128 None
gamesrc-ver-recreation
HEXEN.EXE