This project is a series of feature set specifications for the Boom/MBF lineage of Doom source ports. The basic premise is to clarify and document the historical, under-specified, or non-documented features that were introduced in the more than 20 years of history that spans the Boom/MBF source port lineage, taking pre-existing documentation and modern source port behavior to clearly outline what specific functionality a port can, can't, should or shouldn't have.
This project aims for achieving the following formal goals:
- Serve as a hub of documentation for source port developer trying to implement new and old features associated with the Boom/MBF lineage in their ports.
- Serve as a hub of discussion for developers and modders to discuss the necessity, viability and standardization of new features.
- Serve as "single source of truth" for all future feature set standard documentation.
- Improve upon older documentation by way of:
4.1 Adding important details that were missing in the original documents, reducing undefined behavior as much as possible.
4.2 Modifying outdated documentation to reflect how modern source ports apply the given feature sets.
4.3 Create new documentation for features which previously did not have their own formal specifications.
Currently the following standards are present in this repository:
- Boom 2.02
- Work in progress.
- Expect further clarification upon vague, or otherwise non-specific descriptions of Boom features.
- MBF 2.03
- Work in progress.
- Expect further clarification upon vague, or otherwise non-specific descriptions of MBF features.
- MBF21 Revision 1.4
- Complete.
- ID24 0.99.2
- Mostly complete.
- Currently being improved upon by removing R&R/KEX-specific behavior.
- UMAPINFO Revision 2.2 (+ ID24 extensions)
- Work in progress.
- Currently being worked on to improve upon undefined behavior.
- DeHackEd
- Work in progress.
- DEHEXTRA
- Work in progress.
- DSDHackEd
- Work in progress.
- MUSINFO
- Complete.
Special thanks goes out to the creators of the following pieces of documentation:
Boom 2.02
Created by Jim Flynn, Stan Gula, Ty Halderman, Lee Killough, Rand Phares
Files: third_party/boomref.txt
MBF 2.03
Created by Lee Killough
Files: third_party/mbfedit.txt
UDMF 1.0
Created by James "Quasar" Haily, et al
Files: third_party/udmf10.txt
UMAPINFO
Created by Graf Zahl, et al
Files: third_party/umapinfo_rev2_2/**
MBF21
Created by XaserAcheron, Kraflab, et al
Files: third_party/mbf21/**
DSDHackEd
Created by Kraflab
Files: third_party/dsdhacked.md
ID24
Created by Ethan Watson
Files: third_party/id24/**