From f043aadecfb0b440e9c0114e86e06a9e18f9d4ef Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 1 Mar 2008 20:29:22 +0000 Subject: [PATCH] For "full" IWADs, include all patches, instead of only patches found in TEXTURE1. --- Makefile | 8 +++++++- extract-pnames.pl | 42 ++++++++++++++++++++++++++++++++++-------- 2 files changed, 41 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 27463c13..006f69fa 100644 --- a/Makefile +++ b/Makefile @@ -40,8 +40,14 @@ textures/freedm/texture1.txt: textures/combined.txt textures/shareware/texture1.txt: textures/combined.txt $(CPP) -DSHAREWARE < $< > $@ -textures/%/pnames.txt: textures/%/texture1.txt +textures/shareware/pnames.txt: textures/shareware/texture1.txt ./extract-pnames.pl < $< > $@ +textures/doom/pnames.txt: textures/doom/texture1.txt + ./extract-pnames.pl -a > $@ +textures/doom2/pnames.txt: textures/doom2/texture1.txt + ./extract-pnames.pl -a > $@ +textures/freedm/pnames.txt: textures/freedm/texture1.txt + ./extract-pnames.pl -a > $@ # update wadinfo.txt diff --git a/extract-pnames.pl b/extract-pnames.pl index 7998c285..1e47df54 100755 --- a/extract-pnames.pl +++ b/extract-pnames.pl @@ -3,15 +3,41 @@ use strict; my %patches; -while (<>) { - if (/^\*/) { - my ($name) = /^\*\s+(\w+)/; - $name = uc $name; - $patches{$name} = 1; - } +# Parse a TEXTURE1 file and generate a list of patches + +sub parse_texture_file { + + while (<>) { + if (/^\*/) { + my ($name) = /^\*\s+(\w+)/; + $name = uc $name; + $patches{$name} = 1; + } + } + + print "; autogenerated patch list\n\n"; + + foreach (sort keys %patches) { print "$_\n"; } } -print "; autogenerated patch list\n\n"; +# Generate a full list of textures from the files in the +# patches/ directory -foreach (sort keys %patches) { print "$_\n"; } +sub list_all_textures { + print "; autogenerated patch list\n\n"; + + foreach my $file (glob("patches/*.gif")) { + if ($file =~ /\/(.*)\.gif/) { + print "$1\n"; + } + } +} + +if (scalar @ARGV == 0) { + parse_texture_file(); +} elsif ($ARGV[0] == "-a") { + list_all_textures(); +} else { + print "Usage: extract-pnames.pl [-a]\n"; +}