Sprinkled Doom
From DoomWiki.org
| Sprinkled Doom | |
| |
| Codebase | Chocolate Doom, Chocolate Doom Plus, Doom32 |
|---|---|
| Developer(s) | Adam Bilbrough (Gibbon) |
| Initial release | 1.0 (2021-09-09, 4 years ago) |
| Latest release | 3.4.1 (2022-06-12, 3 years ago) |
| Development status | Active |
| Written in | C |
| Target platform | Cross-Platform |
| License | GPLv2+ |
| Website | Doomworld forums thread |
| Source Repository
(Git) |
SourceForge |
Sprinkled Doom is a source port developed by Adam Bilbrough (Gibbon), forked from Chocolate Doom and AxDoomer's version of Chocolate Doom Plus. It applies the raised static limits of Doom32 which are increased again to essentially remove all said limits on a 64-bit build of Chocolate Doom, and then applied for Doom, Doom II, Heretic, Hexen, and Strife through a file called dpplimits.h.
It is kept in sync with the main Chocolate Doom branch.
Contents
History[edit]
Development was discussed in a Doomworld thread titled: "Chocolate Doom Plus Plus."[1] On September 30, 2021 version 3.1.0 was released, containing bugfixes and support for the Sigil mapset. Previous versions of Sprinkled Doom applied the raised limits of Doom2-plus to a 64-bit build of Chocolate Doom and applied them for Doom, Doom II, Heretic, Hexen, and Strife.
From version 3.4.0 onwards, Doom32's limits are used and several are dynamically doubled, essentially making Sprinkled Doom a limit-removing port. File dpplimits.h is no longer used.
Main features[edit]
- All features from Chocolate Doom 3.0
- Raised static limits courtesy of Doom32 and multiplied for the following games:
- Doom
- Doom II
- Heretic
- Hexen
- Strife
- Heap and lump sizes are now based on the size of the WAD
- Extra gibs for Doom and Hexen, inspired by Nugget Doom (version 3.2.0)
- Support for the SIGIL mapset through a flag: -sigil
- Support for the No Rest for the Living expansion through a flag: -nrftl
- Support for the Crispy Doom level stat feature through a flag: -levelstat
- Minimal level stat support for Hexen
- A minimal launcher for all Sprinkled binaries that allows the loading of command line arguments
Static limits[edit]
Sprinkled Doom inherits some raised static limits of Doom32:
limit : old * k = new ------------------------------------------------------- visplanes[MAXVISPLANES] : 1024 1024 // dynamic allocation drawsegs[MAXDRAWSEGS] : 2048 2048 // dynamic allocation SAVEGAMESIZE : 2883584 4980736 // 0x4c0000 activeplats[MAXPLATS] : 7680 * 256 = 1966080 vissprites[MAXVISSPRITES] : 1024 1024 // dynamic allocation linespeciallist[MAXLINEANIMS] : 16384 = 16384 openings[MAXOPENINGS] : 65536 430080 // WIDESCREENWIDTH*256*4
Additional raised limits[edit]
- MAXDRAWSEGS, MAXVISPLANES and MAXVISSPRITES are dynamically doubled every time the limit is reached.
- MAXOPENINGS relies on the WIDESCREENWIDTH constant, which is 420.
- MAXSEGS also relies on WIDSCREENWIDTH: WIDESCREENWIDTH / 2 + 1 = 211.
Trivia[edit]
- The port was originally called Chocolate Doom Plus Plus as a token of respect towards AxDoomer's fork of Chocolate Doom Plus. The repository is still named after this.
External links[edit]
- Sprinkled Doom, latest binary, hosted at SourceForge
- Sprinkled Doom website with full description, manual, and changelog
References[edit]
| Source code genealogy | ||
|---|---|---|
| Based on | Name | Base for |
| Chocolate Doom | Sprinkled Doom | Active |
| Chocolate Doom Plus | ||
| Doom32 | ||

