A couple of scripts were not Python 3 compatible. Update smtextgen to
use print() instead of bare print, and update the texture build script
to use the correct binary mode for writing binary files.
On the dummy.wad level used as a stand-in for levels that don't
exist yet, show a computer sign on the wall that gives a brief
useful message encouraging people to contribute to the project.
Add some dummy texture entries that match the colormaps stored in the
single player IWADs. This allows levels that use colormaps to at least
be loaded in non-Boom compatible source ports, even though the rest of
the levels might not work properly. It doesn't seem to do any harm.
Having an arrow on the exit sign makes some levels confusing, as the
arrow can sometimes be pointing in the wrong direction or be
otherwise misleading. There is some discussion on Doomworld:
http://www.doomworld.com/vb/post/1303596
As the arrow version still looks quite nice, keep it around as a
second exit sign texture (EXITSGN2); include both the red and the
green versions.
Add FALL3 texture definition needed for TNT compatibility, and add
extra texture definitions so that all the patches required for TNT
compatibility are included in the PNAMES list (and IWAD). Add
symlinks for TNT sky patches that just point to sky patches that we
already have. Fixes#43.
The Plutonia WAD includes some extra textures (and associated patches)
compared to the original doom2.wad. Add these missing textures, with
dummy "Plutonia versions" of textures where they conflict with
existing ones, so that we include all patches needed for compatibility.
Fixes#42.
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.
Some build targets create multiple outputs, which can cause problems
when doing parallel builds. Clean up the build system so that all
subdir invocations come from the top-level Makefile and use $(MAKE).
Also fix the FREEDOOM/FREEDM lumps to really include the version
number by using $(shell ...) syntax.
Stop using deutex's built-in texture builder and generate our own
texture lumps. This is essential for compatibility reasons: the
entries in the texture/pnames lumps must match the order of those
in the original IWADs. Failure to match ordering means that some
well-known WADs (eg. DTWID) would not work with Freedoom.
This fixes#1, and also means that Freedoom can now be built in
parallel using make's '-j' option.