ASCIIDOC and ASCIIDOC_MAN have been added, which default to the
(Python-based) reference implementation, but may be changed to
asciidoctor simply.
The manpages have been modified to use single-line section headings
for AsciiDoctor compatibility.
With WAD merging with certain Doom 2 mods (eg,
doom2/Ports/megawads/strg), using a sprite in this texture causes some
engines to crash on loading the game. The mod makes up its new BOSF*
sprites but omits BOSFA0, which caused our game to crash when trying
to load Freedoom with Struggle.
This can break Plutonia mod compatibility a bit if they try to replace
this sprite too, but let’s hope that will not happen.
Current Desktop Entry and AppStream standards recommend using
reverse-DNS for all relevant files under them.
Adds some more scaffolding targets for install/uninstall, but there
aren’t easy text transformations to the new names.
Bunch of logic to use XDG_DATA_HOME or fallback according to the
actual XDG recommendations.
Use an array to build up paths (can be edited easily in the future or
for whatever custom purpose), which shellcheck warned is a bash-ism,
so change the script interpreter to bash as well. Let’s hope that
doesn’t break anyone (does anyone lack bash even if they don’t use it
as their shell?)
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.
Engines such as Odamex may not have a default search path and simply
search for freedoom1.wad relative to the current directory. This can
cause an unexpected WAD file not found error when executing the freedoom
script.
This issue is mitigated by setting a default DOOMWADPATH environment
variable with sensible search paths, if it is not already set. All
engines listed in the PORTS variable support the DOOMWADPATH environment
variable, which makes it a simple and convenient way of helping prevent
this error.
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").
PORT is too generic, especially if refering to TCP/UDP ports, and if
those are set, the freedoom script may not work properly. DOOMPORT is
a reasonable alternative.
Also includes a change to the top-level Makefile to accommodate new
target names. Moved the installation variable settings close to the
install targets.
Now that we always include all textures in every IWAD, the configuration
is significantly simpler. The #defines we previously used to control
the conditional logic are now redundant.
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.
We have been operating since the beginning with the idea of only
including matching compatible textures for Phase 1 and 2 based on the
textures that appeared in Doom 1 and 2, including keeping some
exclusive to each game.
This is artifically limiting to map creators and there is no good
reason to keep it this way. Fixes#588