Commit graph

41 commits

Author SHA1 Message Date
Steven Elliott
6a54471431
scripts: Add news-to-feed script (#1042)
Rather than maintaining feed.xml on the website manually the
news-to-feed script, added by this commit, will generate it based on
NEWS.adoc in this repository.

Also, make target news-to-feed has been added to run the script.
2023-07-30 15:03:10 -07:00
Simon Howard
413499b432
Merge pull request #983 from selliott512/fix-pngs
build: Add fix-pngs make target and scripts
2023-06-24 02:17:55 -04:00
Steven Elliott
98770096d3 scripts: Signed ints for grAb in fix-gfx-offsets
The fix-gfx-offsets script incorrectly used unsigned integers (I) when
interpreting grAb chunks, which resulted strange large values that are
close to 2^32 in buildcfg.txt. The fix is to use signed integers (i).
2023-06-17 18:03:20 -04:00
Steven Elliott
6e0dc42013 build: Add fix-pngs make target and scripts
Add scripts:
  fix-deutex-pngs - Apply the output of deutex to the build
  map-color-index - Map from one color index to another

Script fix-deutex-pngs is to standardize PNGs by applying the result of
the expanding IWADs produced with deutex to the build. It is invoked by
build target fix-deutex-pngs

Script map-color-index can map from one color index to another. Most
likely it will be used to map form legacy transparency 255 to similar
color 133, which can be done by build target
fix-legacy-transparency-pngs.
2023-06-17 15:52:14 -04:00
Steven Elliott
eeb52c5f1c build: Add test-vanilla-compliance
The test-vanilla-compliance build target (also invoked by the "test"
build target) and script can be used to test the level WAD files for
vanilla compliance. Also, a subset of the errors found can be fixed by
the "fix" build target. To summarize:
  make test                     # Run all tests
  make test-vanilla-compliance  # Run test-vanilla-compliance
  make fix                      # Run all fixes
  make fix-vanilla-compliance   # Run test-vanilla-compliance -f
2022-10-01 18:50:34 -04:00
Mike Swanson
79aa1e75b5 scripts/makejson: append newline to the end of the file 2019-09-17 19:25:32 -07:00
Mike Swanson
096f3418a6 scripts makefile: add back leading "v" to hardcoded version string
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.
2019-09-17 16:36:00 -07:00
Mike Swanson
6eef9be73a use python3 only for building
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.
2019-09-06 14:43:50 -07:00
Mike Swanson
180a11807b Retire VERSION file, put value into Makefile 2019-09-04 19:46:59 -07:00
Mike Swanson
4701d8f351 Blacken all Python files
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.
2019-09-04 19:36:23 -07:00
Mike Swanson
140f01f39a music-duplicates: python3 compatibility
Open files in binary mode instead of text mode.
2019-09-04 18:44:33 -07:00
Mike Swanson
a31450f5b9 Rename ULTDOOM/DOOM2 cpp defines to PHASE1/PHASE2
More self-consistent with out project, and those names dated before
Freedoom had a stronger identity.
2019-09-01 18:49:03 -07:00
Mike Swanson
d4c5b3ab48 simplecpp: keep blank lines 2019-09-01 17:24:25 -07:00
NickZ
257781dcd9
scripts: fix-gfx-offsets (#472) 2019-01-01 21:31:03 -08:00
Steven Elliott
9f48b64f43 Add fix-map-names script and build targets
Add scripts/fix-map-names to fix and test map names. Map names are
tested with make target "test-map-names" and fixed with "fix-map-names".
2019-01-01 17:30:29 -08:00
Simon Howard
d172ffd8ed build: Remove wadinfo-builder script.
The effect of this script should be a no-op and the script therefore
entirely redundant now that #487 and #489 have been merged. Fixes #485.
2017-09-07 20:17:44 -04:00
Mike Swanson
9c6c681276 Burn all GIFs: Convert everything to PNGs.
DeuTex 5 now supports these, and we can use real transparency indexes
in the files too, so no more ugly cyan background!
2017-07-18 22:26:52 -07:00
Mike Swanson
7dfc0ae15c musics: Rename *.mus to *.mid 2017-07-17 06:29:08 -07:00
Nick Zatkovich
b66ab3d298 fix wadinfo-builder to reflect new vile names 2017-07-17 01:06:17 -07:00
Mike Swanson
c67e8a566a Introduce measures to start building Zips deterministically.
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.
2017-02-22 11:44:50 -08:00
Mike Swanson
8835afef5f Copyright date bump and apply SPDX tags.
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...).
2017-02-15 16:41:53 -08:00
Simon Howard
e650048bce scripts: Remove sanity-check script.
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.
2015-12-24 13:30:01 +01:00
Simon Howard
7a8d676557 scripts: Update music-duplicates script.
This relied on reading the symlinks for some of its operation, which
no longer works; use a hash of the file contents instead.
2015-12-24 13:25:41 +01:00
Mike Swanson
dce96038db scripts: support the VILE[\] sprites in wadinfo-builder.py 2015-12-16 13:20:17 -08:00
Mike Swanson
c2e7f4a3ec makejson: fix the download URLs
Zalewa noted that the download URLs were incorrect; the subdirectory
is download, rather than downloads.
2015-06-06 18:05:39 -07:00
Mike Swanson
9b84cdebf0 Another year, another copyright date bump :) 2015-04-29 14:53:21 -07:00
Mike Swanson
863a08b0d4 Add json generator script and makefile target 2014-10-07 15:40:12 -07:00
Mike Swanson
b3fded3568 scripts/makepkgs: Fix grammar in error message 2014-10-05 03:09:42 -07:00
Mike Swanson
dfe26e5607 Update copyright strings 2014-09-18 11:51:03 -07:00
Simon Howard
cef9f4f804 scripts: Add music duplicates script.
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.
2014-02-14 04:39:51 +00:00
Simon Howard
9c576e4d20 build: Don't include dummy patches for sprites.
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.
2014-01-20 03:58:36 +00:00
Simon Howard
71b30afa92 textures: Only include patches needed by textures.
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.
2014-01-17 03:59:52 +00:00
Mike Swanson
65eec022ea Build separate Zips for doom/doom2 and FreeDM
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.
2014-01-07 17:45:41 -08:00
Mike Swanson
bfb95753bd Stop building resource PWADs and "make dist" generates a single Zip
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.
2014-01-06 22:34:47 -08:00
Mike Swanson
4619f5a4de Makefile: dist target works again
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.
2013-12-31 01:51:20 -08:00
Simon Howard
d6907ea974 build: Update Python scripts to work with Python 3.
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>
2010-11-09 23:11:11 +00:00
Simon Howard
64244d674a wadinfo-builder: Convert assignment overrides to lower case.
Fixes a bug with the Revenant rockets appearing as the "graphic not done
yet" stand-in, when the sprite was actually present.
2008-12-27 17:30:03 +00:00
Simon Howard
4a2af33288 Minor fix to wadinfo-builder script. 2008-12-24 22:47:36 +00:00
Simon Howard
5f299ad776 Move scripts that are part of the build system into scripts/. 2008-12-24 18:50:30 +00:00
Simon Howard
ece77ca176 Convert simplecpp script to Python. 2008-12-24 18:44:36 +00:00
Simon Howard
a1511aac95 Change build to use simplecpp for preprocessing, as this does not munge
up the configuration file.
2008-12-22 19:01:21 +00:00