Commit graph

41 commits

Author SHA1 Message Date
Mike Swanson
85549628fd textures: redefine A-BROWN4 so it doesn’t use BOSFA0
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.
2019-09-08 00:39:55 -07:00
Mike Swanson
f778320662 textures: cleanup textures.cfg again, tabs keep sneaking in here 2019-09-08 00:07:47 -07:00
Mike Swanson
ffc974d3df textures: use "mkdir -p" when creating directories
would error out otherwise if the directories already existed (eg, a
non-clean build)
2019-09-07 23:56:44 -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
Steven Elliott
b2ca8cbfde Organize .gitignore
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.
2019-09-05 07:09:47 -05: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
eca25952ad make: use $(RM) for removing files
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").
2019-09-04 14:22:49 -07:00
Simon Howard
340faf1205 textures: Strip out now-unused #defines from cfg.
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.
2019-09-01 20:56:40 -04:00
Mike Swanson
2e7bde78db textures: include almost all textures in all IWADs
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
2019-09-01 01:16:49 -07:00
Mike Swanson
6566845f05 patches: use a single patch for SKY4 instead of multiple
Some mods (eg, crusades.wad) try to use SKY4 to (re)define other
textures, which doesn’t work in vanilla Doom, and the normal E4 sky
ends up creating a medusa effect.

While it is sad to see our light source go, reducing the effectiveness
of Double Impact’s lighting effects built into some of the maps, we
should prefer mod compatibility with Ultimate Doom.

Resolves #589
2019-08-24 15:37:53 -07:00
Kevin Caccamo
a66ba0bba5 levels: replace all {S,W,B}FALL textures
Replace all {S,W,B}FALL textures in the levels with their animated
equivalents, and remove {S,W,B}FALL from textures.cfg.

The {S,W,B}FALL were leftovers from when Freedoom had the goal of
being Boom-compatible instead of vanilla-compatible.

Also, rebuild these levels' nodes and reject tables with ZenNode.
2017-12-31 12:28:53 -08:00
Kevin Caccamo
3ad60ff9c8 textures: add AQSUPP13
I cut this out from AQSUPP01
2017-12-14 03:56:35 +00:00
Kevin Caccamo
4bb84b07cc textures: add 8-row freetonia textures
These are 8-row versions of the Freedoom/Plutonia brick textures.
2017-12-14 03:56:35 +00:00
Kevin Caccamo
1ed5898ec7 textures: add some custom textures
flats: add FCGRATE1 and FCGRATE2
patches: add CEILVINE and CGRATE1
buildcfg: add new flats to build config
textures.cfg: add new textures to build config

FCGRATE1, FCGRATE2, and CGRATE1 are my own work.
t.v. gave permission to use CEILVINE in Freedoom:
https://www.doomworld.com/forum/topic/45052-tnt-support/?do=findComment&comment=765129
2017-12-14 03:56:35 +00:00
Kevin Caccamo
eddabd36df textures.cfg: fix AQTRIM05
AQTRIM05 was missing one row.
2017-12-13 23:10:57 +00:00
Kevin Caccamo
e905009e1e textures.cfg: Add/reorganize definitions
Add missing TNT texture definitions
Re-organize existing TNT/Plutonia definitions

Rename MC1 to P-DBRAN1
Rename MC20 to P-DBRAN4

Fix SLAD11
Add T-SLDRP3 (TNT SLADRIP3)
Add SW{1,2}TSTON (TNT SW{1,2}GSTON)
2017-09-15 23:32:06 -04:00
Simon Howard
54cab94257 textures: Don't include sprites in pnames list.
A useful vanilla-compatible trick is that it's possible to include
sprites as patches inside texture definitions. It turns out that
both Final Doom IWADs added textures which do this, and Freedoom
inherits this as a result. We shouldn't include these sprites in the
pnames.txt that gets generated for inclusion in wadinfo.txt, since
they're already defined in wadinfo.txt under [sprites] and won't
be found under patches/ anyway.

This should help as a step towards resolving #485.
2017-09-04 13:35:45 -04:00
Kevin Caccamo
f05fd8963d textures.cfg: Add MC1 and MC20
These patches are needed for Plutonia compatibility
2017-07-14 07:41:54 -04:00
Kevin Caccamo
79e597ea8f textures.cfg: fix DBRAIN animation.
Set DBRAIN1's size to 64x32, and remove MC patches from it.
2017-07-14 07:41:54 -04:00
Mike Swanson
c6235d6ffc Makefile: Make sure all built files are removed in make clean. 2017-02-19 12:22:57 -08:00
Mike Swanson
a0e65f7fed Remove Boom special colormaps.
We’re not a Boom IWAD anymore, we can get rid of these.
2017-02-19 12:04:58 -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
Mike Swanson
9d1754c32e textures.cfg: Fix offset of BOSFA0 in A-BROWN4.
Fixes #367
2017-02-11 18:38:25 -08:00
Ayub Ahmed
9cbbbefab6 Aquatex fix (#324)
Redefine all of the new aquatex textures to be 128px tall.

This avoid tutti-frutti in vanilla Doom, where textures do not tile
property unless their heights are a multiple of 128.
2016-10-23 02:31:53 -04:00
Ayub Ahmed
9936ed7833 Add Aquatex textures
These are textures by @jmickle66666666 who has given permission
for them to be submitted to the project.
2016-10-15 23:53:49 -04:00
Simon Howard
991ff8180e textures: Clean up textures.cfg.
The formatting on this file was all over the place. Reformat all lines
to consistent, fixed columns and remove all tab characters.
2015-12-24 17:40:43 +01:00
Simon Howard
0822248318 textures: Add Doom 1 versions of conflicting textures.
Some textures which appear in both doom.wad and doom2.wad are defined
differently in each. We were always using the same definition in both
Phase 1 and Phase 2, causing compatibility problems with some levels
which expected a particular version of the texture.

To resolve, add both versions of the conflicting textures, controlled by
a new DOOM1_VERSIONS #define that allows which the version to be
selected. Use the doom.wad versions for Freedoom: Phase 1, and the
doom2.wad versions for Freedoom: Phase 2. This resolves part of #194.
2015-12-24 17:17:01 +01:00
Simon Howard
254602c6db lumps: Add README files for some directories.
These deserve to be documented.
2015-12-24 12:29:25 +01:00
Simon Howard
7902096915 lumps: Eliminate symlinks for texture lumps.
Copy these to the parent directory to avoid needing symlinks.
More progress towards #202.
2015-12-24 11:26:31 +01:00
Simon Howard
02bd566362 Update other scripts to support Python 3 build.
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.
2014-10-28 03:55:43 +00:00
Simon Howard
977ea8090b patches: Add dummy level sign.
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.
2014-09-29 04:33:38 +00:00
Simon Howard
335927bd5c textures: Add dummy entries for colormaps.
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.
2014-09-22 00:18:20 +00:00
Jeremy Elder
e40ae42637 patches: Remove arrow from exit sign.
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.
2014-09-13 23:18:07 -04:00
Simon Howard
d102be8d9e patches: Add plain color textures.
These are new textures that just contain flat plain colors.
2014-09-06 22:09:08 -04:00
Simon Howard
50da8daf49 textures: Add missing TNT texture definitions.
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.
2014-01-27 00:08:11 +00:00
Simon Howard
ddbd396688 textures: Add textures.cfg as make dependency.
If textures.cfg changes, rebuild all texture lumps.
2014-01-26 22:07:13 +00:00
Simon Howard
085ced2434 textures: Add missing Plutonia texture definitions.
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.
2014-01-26 22:04:46 +00:00
Simon Howard
f76e05984a Fix git ignores for several generated files. 2014-01-22 05:47:06 +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
Simon Howard
d241e7f326 build: Fix 'make -j' handling.
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.
2014-01-16 06:30:15 +00:00
Simon Howard
82d90f8e8a textures: Rewrite Freedoom's texture build system.
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.
2014-01-16 04:18:22 +00:00