This fixes#1489, where the keys were being obscured by the menu skull
that is drawn on the help screen by vanilla Doom. Rather than just
shuffle around the contents of the help screen, I opted to simplify it
by removing a lot of the clutter.
The old help screen was created before the Freedoom manual was added, so
there's no need for us to include every in-game item. Instead, we can
delegate to the manual by including a link to it, and cut things back to
just a small selection of example items.
A generic term like this isn’t really suitable for trademark, nor
likely to ever be disputed. The community and the engine both heavily
bias toward “episode” and indeed most other games do.
Closes: #682
Python 2 is very near end-of-life, and Python3-compatible changes to a
few scripts introduced compatibility problems with 2.7 again. It went
unnoticed for me since my system symlinks "python" to "python3", but
it broke the build on systems where that symlink is still python2. At
this point in time, I feel it is worth targetting modern Python and
forgetting about 2.7.
Organize .gitignore by moving all patterns into a top level sorted
.gitignore file. With this change both "git status" and
"git-ls-ignore-index" should return cleanly. The later checks if any
files in the index are ignored.
Using the black code reformatter, pass it over all our Python files.
This allows for a consistent style across the code base.
Exception: lumps/dmxgus/stats.py, for readability.
This is one of the built-in variables for Make and can increase
portability on different operating systems (eg, on Windows, the
built-in $(RM) may be defined as "del" instead of "rm -f").
Deduplicates effort from copying between multiple patch files, and we
now have unique outputs for each of our IWADs.
Having just "No Clipping 1 = idclip" proved to be troublesome with at
least prboom-plus, the engine running its cheat detecting twice and
becoming unable to activate no-clipping mode. Worked around it by
also defining "No Clipping 2 = idspispopd", restoring that cheat's
functionality in most source ports and keeping both variants unique.
Chocolate Doom will only use the "idclip" version.
Might have been a nice idea to be able to run under absolutely any
Doom engine, this has caused problems with PrBoom-Plus for
compatibility, with that engine detecting our game as a BFG Edition
IWAD and applying certain workarounds that don’t actually make sense
in this case.
It is a rather niche use case to run under BFG Edition, and proper
PrBoom-Plus compatibility is much preferred.
Some of the sprites have changed since the help screen was first put
together and are now overlapping with each other slightly. In
particular the box of shells is overlapping with the weapon above it.
Adjust positions by a couple of pixels and give some extra space.
DOOM2.WAD contains a MAP33, which is being represented here as only
the dummy map, and also M_EPI1 and M_EPI2 lumps for the “Hell on Earth”
and “No Rest for the Living” texts, both of which are now replicated
here as well (using “Phase 2” and “The Missing Levels” as names instead).
No, we still don’t plan on having a real MAP33, the inclusion here is
only to avoid engine crashes.
Fixes: #533
Ref: #529
There are a few lumps added to the Doom IWADs required by the BFG Edition
of the game that would cause it to crash abnormally if the IWADs were
replaced by Freedoom. We add these news graphics lumps to the game here.
BFG Edition also changes m_gdhigh to "Fullscreen:" and m_scrnsz to
"Gamepad:", neither change of which will ever be reflected in Freedoom,
but it won't crash in this engine anymore.
Closes: #529