Difference between revisions of "Doom128"
From DoomWiki.org
[unchecked revision] | [checked revision] |
(replace defunct github links (the project has moved to sourceforge)) |
(fix wl) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{InfoboxSoftware |
|title = Doom128 | |title = Doom128 | ||
|baseparent = [[Doom32]], [[gamesrc-ver-recreation]] | |baseparent = [[Doom32]], [[gamesrc-ver-recreation]] | ||
Line 8: | Line 8: | ||
|initialdate = 2022-02-10 | |initialdate = 2022-02-10 | ||
|platform = DOS | |platform = DOS | ||
+ | |repourl = https://sourceforge.net/projects/doom-dos-ports/ | ||
}} | }} | ||
'''Doom128''' is a series of [[source modifications]] created by [[Adam Bilbrough (Gibbon)]]. It is derived from the recreated and reverse-engineered works of the [[gamesrc-ver-recreation]] project and [[Doom32]], 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. | '''Doom128''' is a series of [[source modifications]] created by [[Adam Bilbrough (Gibbon)]]. It is derived from the recreated and reverse-engineered works of the [[gamesrc-ver-recreation]] project and [[Doom32]], 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. | ||
Line 49: | Line 50: | ||
* The lump stack is increased from 64 KB to 4096 KB, allowing more lumps to be loaded in | * The lump stack is increased from 64 KB to 4096 KB, allowing more lumps to be loaded in | ||
* {{c|R_CheckTextureNumForName}} error is now non fatal, taken from [[Crispy Doom]] | * {{c|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]] | + | * The [[tutti-frutti effect]] bug is fixed, taken from Crispy Doom and [[International Doom|Russian Doom]] |
* The function {{c|R_DrawColumnLow}} is converted from assembly to C language and modified based off Russian Doom and Heretic | * The function {{c|R_DrawColumnLow}} is converted from assembly to C language and modified based off Russian Doom and Heretic | ||
Line 56: | Line 57: | ||
==External links== | ==External links== | ||
− | * [https://sourceforge.net/projects/doom-dos-ports | + | * [https://sourceforge.net/projects/doom-dos-ports/ Doom128] on {{wp|SourceForge}} |
==References== | ==References== | ||
Line 71: | Line 72: | ||
{{s-aft-cond|after=[[Strife128]]}} | {{s-aft-cond|after=[[Strife128]]}} | ||
{{s-end}} | {{s-end}} | ||
− | |||
[[Category:Source modifications]] | [[Category:Source modifications]] |
Latest revision as of 14:58, 5 November 2023
Doom128 | |
Codebase | Doom32, gamesrc-ver-recreation |
---|---|
Developer(s) | Adam Bilbrough (Gibbon) |
Initial release | 10022022 (2022-02-10, 2 years ago) |
Latest release | 18022022 (2022-02-18, 2 years ago) |
Development status | Active |
Written in | C, Assembly |
Target Platform | DOS |
Source Repository | https://sourceforge.net/projects/doom-dos-ports/ |
Doom128 is a series of source modifications created by Adam Bilbrough (Gibbon). It is derived from the recreated and reverse-engineered works of the gamesrc-ver-recreation project and Doom32, 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:
- DOOM128_UD19.EXE for the Ultimate Doom version of Doom 1.9
- DOOM128_D219R.EXE for Doom2 1.9 Registered
- DOOM128_F219.EXE for the Anthology version of Final Doom
Contents
History[edit]
Inspired and derived by the gamesrc-ver-recreation project, which aims to recreate and reverse-engineer various versions of DOOM.EXE, DOOM2.EXE, HERETIC.EXE and HEXEN.EXE for educational purposes, Gibbon set out to create the ultimate executable hack for MS-DOS. Doom32 was used as a basis to increase the limits. A first release followed on February 10, 2022. It increased the limits imposed by Doom32 by a factor 16 and provided DOOM128.EXE for Doom and Doom 2 1.9 and DOOM128F2.EXE for the Final Doom Anthology executable.
A second release followed a day later, increasing the stack size to 4096 and fixing the ouch face bug. A Doomworld thread discussing Doom128 was made on February 17, 2022. [1] A third release fixed the tutti-frutti bug and reverted the ouch face bug and increased the MINFRAGMENT from 64kb to 4MB.
Legacy[edit]
After the Doom128 release, Gibbon used the applied increased limits featured in that version as a base template to port over to other games that ran on the Doom engine, resulting in Heretic128, Hexen128 and Strife128 respectively.
Raised limits[edit]
The following static limits are raised in Doom128.
limit : old * k = new ------------------------------------------------------- visplanes[MAXVISPLANES] : 1024 * 16 = 16384 drawsegs[MAXDRAWSEGS] : 2048 * 16 = 32768 SAVEGAMESIZE : 2883584 * 16 = 46137344 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 Vanilla Doom)
- The MINFRAGMENT limit is increased from 64kb to 4MB utilizing the following constant:
* SCREENHEIGHT MINFRAGMENT 4096 * SCREENHEIGHT
Additional features[edit]
Outside of the raised limits, Doom128 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
- The function R_DrawColumnLow is converted from assembly to C language and modified based off Russian Doom and Heretic
Trivia[edit]
- DeHackEd isn't supported because the executable cannot be understood by DeHacked.
External links[edit]
References[edit]
Source code genealogy | ||
---|---|---|
Based on | Name | Base for |
Doom32 | Doom128 | Heretic128 |
gamesrc-ver-recreation | Hexen128 | |
Strife128 |