This reverts the code changes from
2019-09-05T02:46:59Z!mikeonthecomputer@gmail.com. Keeps the "v" from
appearing in file names, while still being a bit nice to see on the
title screen.
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.
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 at least lays some groundwork for doing so, by gathering archive
members by wildcard expansion rather than zip's -r parameter (which
uses file system order -- essentially random), combined with LC_ALL=C
so that locale sorting orders don't matter either. zip's -X option is
also used so no Unix metadata (UIDs, GIDs, modes) are saved in the
archive.
To really complete the effect, faketime should be used to deal with
file timestamps. Requiring faketime to do `make dist` seems too
extreme to me, so I'm leaving it out, but the general idea is to run a
command such as:
faketime -f "$(TZ=UTC date -d "@$(git show -q --format=format:%ct)" \
"+%Y-%m-%d %H:%M:%S")" \
make dist
This does also assume that zip's default compression algorithm never
changes (eg, from DEFLATE to BZip2 or LZMA), or never releases an
improved version (eg, a better DEFLATE). It's not perfect, but this
should be good enough.
The tags are shorthand for the license of each file and avoid
copying the full license text into each one (and avoids having
to manually update the dates in each one...).
This script was previously used for checking the correctness of the
assignment list files used for coordination of work in the earlier
stages of the project. As these files were removed over a year ago
in commit 7df4a6881c, this script is
now obsolete.
We have lots of music tracks serving double duty for multiple levels,
but it's hard to tell which are the missing ones at a glance. Use
some heuristics to identify duplicated tracks and print a report on
what we still need.
Some of the textures in the textures configuration file use sprites
as patches. Because of this, the build system was inserting extra
dummy entries for these "missing" patches. Handle this corner case
and do not insert dummies for sprites. Fixes#40.
Now that #1 is fixed, we can be certain that all patches needed for
compatibility are definitely being included in the PNAMES lists. It
therefore isn't necessary to include every patch in the patches/
directory in every WAD.
Extend the build-textures script to generate a text file containing
the list of PNAMES, and include this from the main config file. That
way, each IWAD only gets the patches it explicitly needs.
Consensus shows that the change in
2014-01-07T06:34:47Z!mikeonthecomputer@gmail.com was a bit too
extreme. Keep FreeDM as its own special thing, being much more focused
on multiplayer than the other IWADs, as well as being the
vanilla-compatible IWAD.
The resource PWADs have been around for a very long time and dated
from before Freedoom was capable of running as a complete IWAD on its
own. Few people ever cared about these files, as evident by a lack of
reports about freedoom_levels.wad not even being correct.
Additionally, the separate Zips for each IWAD is gone. With that,
Freedoom will be distributed as a single Zip file only that includes
all of the subprojects.
For now, Make is dependent on being run inside of the git repository,
at least if something like `make VERSION=3.14` isn't used. Will be
nice in the future if it can read from the VERSION file as a fallback.
Python 3 makes a number of changes to the language and breaks backward
compatibility with Python 2 in some places. This change updates the
Python scripts used in the build system to work with Python 3,
although the updated scripts still run in Python 2 as well. Most of
the changes are minor; the biggest changes are to the palette /
colormap generation scripts.
Signed-off-by: Simon Howard <fraggle@gmail.com>