Import other stuff.

master
Simon Howard 2006-05-09 16:20:42 +00:00
parent e98e2f465e
commit 36658bee0e
3275 changed files with 56431 additions and 0 deletions

33
COPYING Normal file
View File

@ -0,0 +1,33 @@
Copyright (c) 2001-2005 Contributors to the Freedoom project.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of the freedoom project nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
For a list of contributors to the freedoom project, see the file
CREDITS.

505
CREDITS Normal file
View File

@ -0,0 +1,505 @@
F: cph
N: Colin Phipps
S: cph
E: cph@cph.demon.co.uk
W: http://www.cph.demon.co.uk/
D: Binary lumps (playpal, colormap etc)
F: julian
N: Julian Aubourg
S: Julian
E: julian@doomworld.com
D: Sprites, Stories, Textures
F: mellow
S: Captain Mellow
E: captainmellow@yahoo.com
D: Textures, Music
F: nb_nmare
N: Nick Baker
S: NightMare
E: nick@frad.org
D: Textures
F: tarin
S: Tarin
E: tarin@paci-fist.net
D: Textures, Sprites, Website design
F: linguica
N: Andrew Stine
S: Linguica
E: linguica@doomworld.com
D: Textures
F: godcells
N: Emmanuel Rousseau
S: GodCells
E: Emmanuel_Rousseau@uqac.ca
D: Levels, Sprites
F: andrewb
N: Andrew Bassett
S: andrewb
E: orangejuices@icqmail.com
D: Music
F: ravage
S: ravage
E: dragon_69283@yahoo.com
D: Sprites
F: archvile46
S: archvile46
E: pudge@att.net
D: levels
F: tony
S: tony
E: awalker@air-internet.com
D: textures
F: beefstupid
S: Dr. Beefstupid
E: shurkama@farts.com
D: sounds
F: spaceforce
S: spaceforce
E: spaceforce@snohost.com
D: levels
F: cheapalert
S: CheapAlert
E: cheapalert@gmail.com
D: graphics
F: shadowrunner
N: Michael T. Cole
S: ShadowRunner
E: Clansr03@yahoo.com
D: levels
F: kurt
N: Kurt Kesler
E: kesler@fidnet.com
D: sprites
F: isle
S: Isle
E: isle_bot@hotmail.com
D: Textures
F: ola
N: Ola Bjorling
S: Citrus
E: ukiro@ukiro.com
D: Textures
F: zarcyb
S: ZarcyB
E: korgon_iii@hotmail.com
D: Textures
F: diluted
S: diluted
E: shaggs2dope_00@hotmail.com
D: Textures
F: metabolist
S: metabolist
E: sewoodman@talk21.com
D: levels, music
F: espi
S: Espi
E: esa.repo@phnet.fi
D: (a lot of) Textures
F: ralphis
N: Ralph Vickers
S: Ralphis
E: ralphis@slipgate.org
D: Music
F: doom2tr
N: Doom 2 Retexturing Project
E: doom2textures@justmail.de
W: http://www.quake.cz/winclan/doom2/
F: sirfragsalot
S: Sir Fragsalot
E: bssrpantella@hotmail.com
D: Stories, Sprites
F: jstepp
N: Jeremy Stepp
E: jeremystepp@hotmail.com
D: textures
F: oblivion
N: Nicholai Main
S: Oblivion
E: uzi666@juno.com
D: levels, fog colormap
F: kman
S: KMan
E: kman@valveworld.com
D: textures, sprites
F: mystic
S: mystic
E: murray6@blueyonder.co.uk
D: levels
F: jonr
N: Jon Rimmer
S: Amtiskaw
S: Jon_R
E: jonr@frad.org
W: http://destruct.alkali.org/
D: Textures
F: rms
N: Richard M. Stallman
E: rms@gnu.org
W: http://www.gnu.org/
D: Thanks go to RMS for letting us use his image for the boss brain :)
F: vicious
N: Vincent Fong
S: Vicious
E: vincentfong@freecall-uk.co.uk
D: Musics
F: tobester
N: Toby Collins Jr.
S: tobester
E: tobester666@yahoo.com
D: Music
F: locust
N: Andrew Francis
S: locust
E: locust@iinet.net.au
D: textures
F: airraid
S: AirRaid
E: airraid666@yahoo.com
D: Sprites, Levels, Textures
F: pov
N: Iikka Keranen
D: POVDoom Sprites
F: jayextee
S: Jayextee
E: Jxt@Misery.co.uk
D: Graphics
F: enjay
S: Enjay
E: Enjay001@hotmail.com
D: Sounds
F: jond
N: Jon Dowland
E: spambox@alcopop.org
W: http://jon.dowland.name/
D: Admin, textures, web scripts, levels, hires zealotism, sounds
F: rancor
S: Malice Rancor
E: malicerancor@hotmail.com
D: Sprites
F: dsells
N: Dale Sells
S: mmnpsrsoskl
E: mmnpsrsoskl@hotmail.com
D: Textures, graphics
F: meathead
S: Meat_Head
E: Forbidden_Planet@prodigy.net
D: Textures
F: kaiser
S: kaiser
E: kaiser@newdoom.com
D: levels
F: slayer226
S: Slayer226
E: slayer226@hotmail.com
D: Textures
F: ebola
S: Ebola
E: ebola_kaell@home.se
D: Textures, Sprites
F: zeurkous
S: Zeurkous
E: de_zeurkous@zonnet.nl
D: Sprites, Textures
F: fredrik
N: Fredrik Johansson
E: fred@frad.org
W: http://www.doomworld.com/fredrik/
D: Textures, Sprites
F: lazer
S: Lazer
E: dafshin@mediaone.net
D: Textures, Levels
F: lut
N: Steve Dudzik
S: Lut
E: toruonda@home.com
D: Sprites, Levels
F: chang
N: Joseph Chang
E: jchang@optusnet.com.au
D: Sprites
F: csabo
S: Csabo
E: wadedit@marchmail.com
D: Music
F: draconio
S: Draconio
E: draconio2001@yahoo.com
D: Sounds
F: mewse
N: Dave Kiddell
S: Mewse
E: umkiddel@cc.umanitoba.ca
W: http://mewse.alkali.org/
D: Graphics, Mewse!
F: deathmaster213
S: Deathmaster213
E: deathmaster213@hotmail.com
D: Art/Textures
F: hyena
S: Hyena
E: trwhite@fgbc.org
D: Sounds, Musics, Sprites, Levels
F: nrkn
S: Nrkn
E: nrkn@ihug.co.nz
D: Textures
F: picklehammer
N: Tyler Pantella
S: Pickle Hammer
E: pickle_hammer@hotmail.com
D: Musics
F: saint_of_killers
N: Alberto Bonis
S: Saint of Killers
E: alberto.bonis@libero.it
D: Sprites/Art
F: geekmarine
S: GeekMarine
E: cooljohn@birdmail.com
D: Sprites, Sounds
N: Tom Robinson
E: tom@alkali.org
W: http://www.junked.org/
D: A chunk of perl code
N: Patrick "Amarande" Kalinauskas
F: amarande
S: Amarande
E: amarande@lunasanguine.com
D: Levels
F: cacodemon_leader
N: Sean Gauthier
S: Cacodemon Leader
E: gauthier.home@sympatico.ca
D: Levels
F: spike
N: Luke Cama
S: Spike
E: spikeycool@hotmail.com
D: Sounds
F: maonth
S: Shaviro
E: maonth@nautrup.com
D: Textures
F: nightfang
S: Nightfang
E: nightfang@truelights.com
D: Sprites
F: mdenham
S: MDenham
E: tathetriam@aol.com
D: Levels
F: damienc
S: DamienC
E: hcapello@home.com
D: Sprites
F: spinspyder
S: SpinSpyder
E: blcrowley@hotmail.com
D: Sprites
F: sgtcrispy
S: SgtCrispy
E: sha_nigtha@yahoo.com
D: Sounds
F: submerge
S: Submerge
E: submerge_527@hotmail.com
D: Sounds, Sprites
F: adamizer
S: Adamizer
E: adamizer9000@yahoo.com
D: Sprites
N: Dan L'Ecuyer
E: dlecuyer@tbase.com
D: GENMIDI Lump
F: ajapted
N: Andrew Apted
E: ajapted@netspace.net.au
D: Graphics, Levels, Patches, Sprites
F: zigmund
S: Zigmund
E: z_ozwell@hotmail.com
D: Levels
F: kinkyfriend
S: kinkyfriend
N: Patrick Westermark
E: kinkyfriend85@hotmail.com
D: Graphics
F: railgunner
S: Railgunner
E: pcclassix@the-any-key.com
D: Sprites, Levels
F: bastetfurry
S: bastetfurry
E: bastetfurry@nachtkatzen.de
D: Levels
F: lurker
S: Lurker
E: ssjtrunks37@hotmail.com
D: Levels, Sprites, Sounds
F: darkstalker
S: DarkStalker
E: darkstalker81@hotmail.com
D: Textures
F: scubasteve
S: Scuba Steve
E: ray_stantz@hotmail.com
D: Sprites, graphics
F: torn
N: Kim Bach
S: Torn
E: Tornthedark@hotmail.com
D: Levels
F: cyb
N: Mike Watson
S: Cyb
E: cyb@frad.org
W: http://cyb.alkali.org/
D: Levels, Sprites, Lumps
N: Wouter van Oortmerssen
S: Aardappel
E: aardappel@planetquake.com
D: Conceptual Work and realisation
N: Alex Mao
S: Arioch
E: arioch@despayre.org
D: Long term server hosting
N: Bill Koch
S: Bloodshedder
E: bloodshedder@doomcenter.com
D: sound effects
N: Corwin Brence
S: WildWeasel
E: wildweasel_lemon@hotmail.com
D: sound effects
F: wildman
S: WildMan
N: Rick Clark
E: rickclark58@yahoo.com
D: Levels
F: sargebaldy
S: sargebaldy
N: Owen Lloyd
E: lloydo@onid.orst.edu
D: levels
F: david_a
N: David Aramant
E: david_a00@excite.com
D: Sprites
F: silverwyvern
S: Silverwyvern
E: cindymcc@nbnet.nb.ca
D: Graphics (skies)
F: mouse
S: mouse
S: lilwhitemouse
E: lilwhitemo@midmaine.com
D: Sprites
F: fraggle
N: Simon Howard
S: fraggle
E: fraggle@alkali.org
W: http://www.soulsphere.org/
D: Chief Administrator, textures, sprites
F: joed
N: Joe Dowland
E: spambox@alcopop.org
D: sounds
F: gargoylol
S: gargoylol
D: sounds

1237
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

2
HEADER.html Normal file
View File

@ -0,0 +1,2 @@
<h1>deutex tree</h1>
<p>Confused? Better head back to <a href="/">the main page</a>.</p>

168
Makefile Normal file
View File

@ -0,0 +1,168 @@
# date of the last release:
#LAST_RELEASE_DATE = "dec 25 2004"
LAST_RELEASE_DATE = "dec 25 2005"
WADS_DIR=/tmp/freedoom-wads
CPP=tools/simplecpp
DEUTEX=tools/deutex
DEUTEX_BASIC_ARGS=-fullsnd -noshrink -rgb 0 255 255
DEUTEX_ARGS=$(DEUTEX_BASIC_ARGS) -doom2 bootstrap/
OBJS = \
$(WADS_DIR)/freedoom.wad \
$(WADS_DIR)/freedoom_graphics.wad \
$(WADS_DIR)/freedoom_levels.wad \
$(WADS_DIR)/freedoom_sprites.wad \
$(WADS_DIR)/freedoom_sounds.wad \
$(WADS_DIR)/freedoom_textures.wad \
$(WADS_DIR)/doom1.wad \
$(WADS_DIR)/doom2.wad
# disable this for now
# $(WADS_DIR)/freedoom_hires.zip
usebuild :
@echo please use the ./build wrapper script
all : $(OBJS)
subdirs:
make -C graphics/titlepic
make -C lumps
# this is a useless dependency to force builds
force:
# build texture1.txt for different builds
textures/doom2/texture1.txt: textures/combined.txt
$(CPP) -DDOOM1 -DDOOM2 < $< > $@
textures/doom/texture1.txt: textures/combined.txt
$(CPP) -DDOOM1 < $< > $@
textures/shareware/texture1.txt: textures/combined.txt
$(CPP) -DSHAREWARE < $< > $@
textures/%/pnames.txt: textures/%/texture1.txt
./extract-pnames.pl < $< > $@
$(WADS_DIR):
mkdir $@
# update wadinfo.txt
wadinfo.txt: buildcfg.txt force textures/doom2/pnames.txt
$(CPP) -P -DDOOM2 < $< | ./wadinfo-builder.pl > $@
wadinfo_ulatest.txt: buildcfg.txt force textures/doom/pnames.txt
$(CPP) -P -DDOOM1 < $< | ./wadinfo-builder.pl -since $(LAST_RELEASE_DATE) > $@
wadinfo_latest.txt: buildcfg.txt force textures/doom2/pnames.txt
$(CPP) -P -DDOOM2 < $< | ./wadinfo-builder.pl -since $(LAST_RELEASE_DATE) > $@
wadinfo_sw.txt: buildcfg.txt force textures/shareware/pnames.txt
$(CPP) -P -DSHAREWARE < $< | ./wadinfo-builder.pl -dummy > $@
wadinfo_iwad.txt: buildcfg.txt force textures/doom2/pnames.txt
$(CPP) -P -DDOOM2 < $< | ./wadinfo-builder.pl -dummy > $@
%.wad.gz: %.wad
gzip < $< > $@
chmod o-r $<
md5sum $<.gz > $<.md5sum
rm -f $<
#---------------------------------------------------------
# incremental wad
latest/ulatest.wad: wadinfo_ulatest.txt subdirs force
# TODO: check this
ln -sf doom/texture1.txt textures/texture1.txt
rm -f $@
$(DEUTEX) $(DEUTEX_BASIC_ARGS) -doom bootstrap/ -textures -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_ulatest.txt $@
latest/latest.wad: wadinfo_latest.txt subdirs force
ln -sf doom2/texture1.txt textures/texture1.txt
rm -f $@
$(DEUTEX) $(DEUTEX_BASIC_ARGS) -doom2 bootstrap/ -textures -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_latest.txt $@
#---------------------------------------------------------
# build wad
$(WADS_DIR)/freedoom.wad: wadinfo.txt subdirs force $(WADS_DIR)
ln -sf doom2/texture1.txt textures/texture1.txt
rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -textures -lumps -patch -flats -sounds -musics -graphics -sprites -build wadinfo.txt $@
#---------------------------------------------------------
# iwad
$(WADS_DIR)/doom2.wad: wadinfo_iwad.txt subdirs force $(WADS_DIR)
ln -sf doom2/texture1.txt textures/texture1.txt
rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -iwad -textures -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_iwad.txt $@
#---------------------------------------------------------
# graphics wad
$(WADS_DIR)/freedoom_graphics.wad : wadinfo.txt subdirs force $(WADS_DIR)
rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -graphics -build wadinfo.txt $@
#---------------------------------------------------------
# build levels wad
$(WADS_DIR)/freedoom_levels.wad : wadinfo.txt force $(WADS_DIR)
rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -levels -build wadinfo.txt $@
#---------------------------------------------------------
# build texture wad
$(WADS_DIR)/freedoom_textures.wad : wadinfo.txt force $(WADS_DIR)
ln -sf doom2/texture1.txt textures/texture1.txt
rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -textures -patch -flats -build wadinfo.txt $@
#---------------------------------------------------------
# build sprites wad
$(WADS_DIR)/freedoom_sprites.wad : wadinfo.txt force $(WADS_DIR)
rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -sprites -build wadinfo.txt $@
#---------------------------------------------------------
# build sounds wad
$(WADS_DIR)/freedoom_sounds.wad : wadinfo.txt force $(WADS_DIR)
rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -sounds -musics -build wadinfo.txt $@
#---------------------------------------------------------
# shareware iwad
#
# deutex doesnt allow redirects for the filenames in the texture
# entries, so we have to change the texture1 symlink to point
# to the shareware wad
$(WADS_DIR)/doom1.wad : wadinfo_sw.txt force $(WADS_DIR)
ln -sf shareware/texture1.txt textures/texture1.txt
rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -iwad -build wadinfo_sw.txt $@
#---------------------------------------------------------
# hires texture zip
HIRES_SRC=$(wildcard patches_hi/*.png) $(wildcard flats_hi/*.png)
HIRES_TGA=$(HIRES_SRC:%.png=.tga/%.tga)
.tga/%.tga : %.png
pngtopnm < $< | ppmtotga > $@
$(WADS_DIR)/freedoom_hires.zip : $(HIRES_TGA) $(WADS_DIR)
rm -f $(WADS_DIR)/freedoom_hires.zip
zip -j $(WADS_DIR)/freedoom_hires.zip $(HIRES_TGA) > /dev/null
dist : $(OBJS)
./makepkgs $(OBJS)

27
NEWS Normal file
View File

@ -0,0 +1,27 @@
2006.03.03 v0.4.1
Bugfix release: a texture error prevented 0.4 from working properly in
some ports (prboom 2.2, eternity, possibly other early boom
derivatives). I have also taken this opportunity to update the
resource wads.
2005.12.27 v0.4
A belated christmas release: three new levels, a handful of new sounds
and a lot of work behind the scenes.
2004.12.25 v0.3
This Christmas release features new levels and sprites as well as
fixes for various bugs.
2003.12.10 v0.2
Changes in this release are mostly bugfixes. There are some new
sprites, however, and two new levels. This release is
celebrate Doom's 10th Anniversary.
2003.04.16 v0.1
Initial release

13
README-dist Normal file
View File

@ -0,0 +1,13 @@
Freedoom is a project to create a complete Doom II-compatible
IWAD file which is Free Software.
The IWAD file is the file used by Doom which contains all the
game data (graphics, sound effects, music, etc.). While the
Doom source code is Free, you currently still need one of the
proprietary IWAD files from id in order to play Doom. Freedoom
aims to create a Free alternative. Combined with the GPL-licensed
Doom source code this will result in a complete Free Doom-based
game.
For more information, see http://freedoom.sf.net/

68
README.txt Normal file
View File

@ -0,0 +1,68 @@
NB: This is all out of date now. I need to update it at some point
COPYING
The modified BSD license the freedoom material is under
ChangeLog
List of changes
CREDITS
List of contributors
flats
Floor textures
The files in this directory are symlinks into subdirectories (1
directory for each author)
flats_hi
See patches_hi. High resolution flats.
graphics
Graphics for menu, heads up display and status bar, etc.
levels
levels.
Currently we have 32 randomly generated slige levels here :)
lumps
miscellaneous lumps. PLAYPAL and COLORMAP are assigned to cph.
musics
musics.
patches
Patches for wall textures.
Organised the same as for flats.
patches_hi
High resolution wall patches. These are in .png format, and are
converted to tga by the build script
sounds
Sounds
sprites
Sprites
We currently have the enemy sprites from Iikka keranens Povdoom in
here, these may be only temporary
textures
Texture definitions - for TEXTURE1 and PNAMES
Build system:
Makefile
Build makefile. Build everything or just certain bits
build
Wrapper script for make. Redirect all stdout and stderr messages
to build.output
buildcfg.txt
The combined build spec file. Features specific to Doom1/Doom2/
shareware builds are specified with #defines. This file is parsed
by cpp (the GNU C PreProcessor) which generates the appropriate
wadinfo.txt for the type of wad wanted. The file is also passed
through wadinfo-builder.pl, which comments out all lines which
refer to resources which have not yet been submitted (so the wad
can still be built).
wadinfo.txt
The deutex build file for the main build. Do not edit this file
directly; use buildcfg.txt
wadinfo_sw.txt
The deutex build file for the shareware build. Do not edit this
file directly; use buildcfg.txt
wadinfo_iwad.txt
The deutex build file for the iwad build. Do not edit this file
directly; use buildcfg.txt. This is the same as wadinfo.txt except
instead of missing resources being commented out, they are linked
to dummy replacements.

18
TODO Normal file
View File

@ -0,0 +1,18 @@
* Rework texture build system to be automatic:
For shareware build, extract a list of textures used in the
shareware wad levels. Build the shareware wad containing only
these textures.
For the full build, include all textures.
This removes the need to fiddle the textures around whenever a
new wad is added to the shareware build and also should make
the wad more compact.
* Make textures be in alphabetical order.
* Split up sprites so their offsets are stored with the image files.
* Add Deathmatch IWAD build?

200
Time/CTime.pm Normal file
View File

@ -0,0 +1,200 @@
package Time::CTime;
require 5.000;
use Time::Timezone;
use Time::CTime;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(ctime asctime strftime);
@EXPORT_OK = qw(asctime_n ctime_n @DoW @MoY @DayOfWeek @MonthOfYear);
use strict;
# constants
use vars qw(@DoW @DayOfWeek @MoY @MonthOfYear %strftime_conversion $VERSION);
use vars qw($template $sec $min $hour $mday $mon $year $wday $yday $isdst);
$VERSION = 99.06_22_01;
CONFIG: {
@DoW = qw(Sun Mon Tue Wed Thu Fri Sat);
@DayOfWeek = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);
@MoY = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
@MonthOfYear = qw(January February March April May June
July August September October November December);
%strftime_conversion = (
'%', sub { '%' },
'a', sub { $DoW[$wday] },
'A', sub { $DayOfWeek[$wday] },
'b', sub { $MoY[$mon] },
'B', sub { $MonthOfYear[$mon] },
'c', sub { asctime_n($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst, "") },
'd', sub { sprintf("%02d", $mday); },
'D', sub { sprintf("%02d/%02d/%02d", $mon+1, $mday, $year%100) },
'e', sub { sprintf("%2d", $mday); },
'f', sub { fracprintf ("%3.3f", $sec); },
'F', sub { fracprintf ("%6.6f", $sec); },
'h', sub { $MoY[$mon] },
'H', sub { sprintf("%02d", $hour) },
'I', sub { sprintf("%02d", $hour % 12 || 12) },
'j', sub { sprintf("%03d", $yday + 1) },
'k', sub { sprintf("%2d", $hour); },
'l', sub { sprintf("%2d", $hour % 12 || 12) },
'm', sub { sprintf("%02d", $mon+1); },
'M', sub { sprintf("%02d", $min) },
'n', sub { "\n" },
'o', sub { sprintf("%d%s", $mday, (($mday < 20 && $mday > 3) ? 'th' : ($mday%10 == 1 ? "st" : ($mday%10 == 2 ? "nd" : ($mday%10 == 3 ? "rd" : "th"))))) },
'p', sub { $hour > 11 ? "PM" : "AM" },
'r', sub { sprintf("%02d:%02d:%02d %s", $hour % 12 || 12, $min, $sec, $hour > 11 ? 'PM' : 'AM') },
'R', sub { sprintf("%02d:%02d", $hour, $min) },
'S', sub { sprintf("%02d", $sec) },
't', sub { "\t" },
'T', sub { sprintf("%02d:%02d:%02d", $hour, $min, $sec) },
'U', sub { wkyr(0, $wday, $yday) },
'w', sub { $wday },
'W', sub { wkyr(1, $wday, $yday) },
'y', sub { sprintf("%02d",$year%100) },
'Y', sub { $year + 1900 },
'x', sub { sprintf("%02d/%02d/%02d", $mon + 1, $mday, $year%100) },
'X', sub { sprintf("%02d:%02d:%02d", $hour, $min, $sec) },
'Z', sub { &tz2zone(undef,undef,$isdst) }
);
}
sub fracprintf {
my($t,$s) = @_;
my($p) = sprintf($t, $s-int($s));
$p=~s/^0+//;
$p;
}
sub asctime_n {
my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst, $TZname) = @_;
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst, $TZname) = localtime($sec) unless defined $min;
$year += 1900;
$TZname .= ' '
if $TZname;
sprintf("%s %s %2d %2d:%02d:%02d %s%4d",
$DoW[$wday], $MoY[$mon], $mday, $hour, $min, $sec, $TZname, $year);
}
sub asctime
{
return asctime_n(@_)."\n";
}
# is this formula right?
sub wkyr {
my($wstart, $wday, $yday) = @_;
$wday = ($wday + 7 - $wstart) % 7;
return int(($yday - $wday + 13) / 7 - 1);
}
# ctime($time)
sub ctime {
my($time) = @_;
asctime(localtime($time), &tz2zone(undef,$time));
}
sub ctime_n {
my($time) = @_;
asctime_n(localtime($time), &tz2zone(undef,$time));
}
# strftime($template, @time_struct)
#
# Does not support locales
sub strftime {
local ($template, $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = @_;
undef $@;
$template =~ s/%([%aAbBcdDefFhHIjklmMnopQrRStTUwWxXyYZ])/&{$Time::CTime::strftime_conversion{$1}}()/egs;
die $@ if $@;
return $template;
}
1;
__DATA__
=head1 NAME
Time::CTime -- format times ala POSIX asctime
=head1 SYNOPSIS
use Time::CTime
print ctime(time);
print asctime(localtime(time));
print strftime(template, localtime(time));
=head2 strftime conversions
%% PERCENT
%a day of the week abbr
%A day of the week
%b month abbr
%B month
%c ctime format: Sat Nov 19 21:05:57 1994
%d DD
%D MM/DD/YY
%e numeric day of the month
%f floating point seconds (milliseconds): .314
%F floating point seconds (microseconds): .314159
%h month abbr
%H hour, 24 hour clock, leading 0's)
%I hour, 12 hour clock, leading 0's)
%j day of the year
%k hour
%l hour, 12 hour clock
%m month number, starting with 1
%M minute, leading 0's
%n NEWLINE
%o ornate day of month -- "1st", "2nd", "25th", etc.
%p AM or PM
%r time format: 09:05:57 PM
%R time format: 21:05
%S seconds, leading 0's
%t TAB
%T time format: 21:05:57
%U week number, Sunday as first day of week
%w day of the week, numerically, Sunday == 0
%W week number, Monday as first day of week
%x date format: 11/19/94
%X time format: 21:05:57
%y year (2 digits)
%Y year (4 digits)
%Z timezone in ascii. eg: PST
=head1 DESCRIPTION
This module provides routines to format dates. They correspond
to the libc routines. &strftime() supports a pretty good set of
coversions -- more than most C libraries.
strftime supports a pretty good set of conversions.
The POSIX module has very similar functionality. You should consider
using it instead if you do not have allergic reactions to system
libraries.
=head1 GENESIS
Written by David Muir Sharnoff <muir@idiom.com>.
The starting point for this package was a posting by
Paul Foley <paul@ascent.com>
=head1 LICENSE
Copyright (C) 1996-1999 David Muir Sharnoff. License hereby
granted for anyone to use, modify or redistribute this module at
their own risk. Please feed useful changes back to muir@idiom.com.

78
Time/DaysInMonth.pm Normal file
View File

@ -0,0 +1,78 @@
package Time::DaysInMonth;
use Carp;
require 5.000;
@ISA = qw(Exporter);
@EXPORT = qw(days_in is_leap);
@EXPORT_OK = qw(%mltable);
use strict;
use vars qw($VERSION %mltable);
$VERSION = 99.1117;
CONFIG: {
%mltable = qw(
1 31
3 31
4 30
5 31
6 30
7 31
8 31
9 30
10 31
11 30
12 31);
}
sub days_in
{
# Month is 1..12
my ($year, $month) = @_;
return $mltable{$month+0} unless $month == 2;
return 28 unless &is_leap($year);
return 29;
}
sub is_leap
{
my ($year) = @_;
return 0 unless $year % 4 == 0;
return 1 unless $year % 100 == 0;
return 0 unless $year % 400 == 0;
return 1;
}
1;
__DATA__
=head1 NAME
Time::DaysInMonth -- simply report the number of days in a month
=head1 SYNOPSIS
use Time::DaysInMonth;
$days = days_in($year, $month_1_to_12);
$leapyear = is_leap($year);
=head1 DESCRIPTION
DaysInMonth is simply a package to report the number of days in
a month. That's all it does. Really!
=head1 AUTHOR
David Muir Sharnoff <muir@idiom.com>
=head1 LICENSE
Copyright (C) 1996-1999 David Muir Sharnoff. License hereby
granted for anyone to use, modify or redistribute this module at
their own risk. Please feed useful changes back to muir@idiom.com.

206
Time/JulianDay.pm Normal file
View File

@ -0,0 +1,206 @@
package Time::JulianDay;
require 5.000;
use Carp;
use Time::Timezone;
@ISA = qw(Exporter);
@EXPORT = qw(julian_day inverse_julian_day day_of_week
jd_secondsgm jd_secondslocal
jd_timegm jd_timelocal
gm_julian_day local_julian_day
);
@EXPORT_OK = qw($brit_jd);
use strict;
use integer;
# constants
use vars qw($brit_jd $jd_epoch $jd_epoch_remainder $VERSION);
$VERSION = 99.061501;
# calculate the julian day, given $year, $month and $day
sub julian_day
{
my($year, $month, $day) = @_;
my($tmp);
use Carp;
# confess() unless defined $day;
$tmp = $day - 32075
+ 1461 * ( $year + 4800 - ( 14 - $month ) / 12 )/4
+ 367 * ( $month - 2 + ( ( 14 - $month ) / 12 ) * 12 ) / 12
- 3 * ( ( $year + 4900 - ( 14 - $month ) / 12 ) / 100 ) / 4
;
return($tmp);
}
sub gm_julian_day
{
my($secs) = @_;
my($sec, $min, $hour, $mon, $year, $day, $month);
($sec, $min, $hour, $day, $mon, $year) = gmtime($secs);
$month = $mon + 1;
$year += 1900;
return julian_day($year, $month, $day)
}
sub local_julian_day
{
my($secs) = @_;
my($sec, $min, $hour, $mon, $year, $day, $month);
($sec, $min, $hour, $day, $mon, $year) = localtime($secs);
$month = $mon + 1;
$year += 1900;
return julian_day($year, $month, $day)
}
sub day_of_week
{
my ($jd) = @_;
return (($jd + 1) % 7); # calculate weekday (0=Sun,6=Sat)
}
# The following defines the first day that the Gregorian calendar was used
# in the British Empire (Sep 14, 1752). The previous day was Sep 2, 1752
# by the Julian Calendar. The year began at March 25th before this date.
$brit_jd = 2361222;
# Usage: ($year,$month,$day) = &inverse_julian_day($julian_day)
sub inverse_julian_day
{
my($jd) = @_;
my($jdate_tmp);
my($m,$d,$y);
carp("warning: julian date $jd pre-dates British use of Gregorian calendar\n")
if ($jd < $brit_jd);
$jdate_tmp = $jd - 1721119;
$y = (4 * $jdate_tmp - 1)/146097;
$jdate_tmp = 4 * $jdate_tmp - 1 - 146097 * $y;
$d = $jdate_tmp/4;
$jdate_tmp = (4 * $d + 3)/1461;
$d = 4 * $d + 3 - 1461 * $jdate_tmp;
$d = ($d + 4)/4;
$m = (5 * $d - 3)/153;
$d = 5 * $d - 3 - 153 * $m;
$d = ($d + 5) / 5;
$y = 100 * $y + $jdate_tmp;
if($m < 10) {
$m += 3;
} else {
$m -= 9;
++$y;
}
return ($y, $m, $d);
}
{
my($sec, $min, $hour, $day, $mon, $year) = gmtime(0);
$year += 1900;
if ($year == 1970 && $mon == 0 && $day == 1) {
# standard unix time format
$jd_epoch = 2440588;
} else {
$jd_epoch = julian_day($year, $mon+1, $day);
}
$jd_epoch_remainder = $hour*3600 + $min*60 + $sec;
}
sub jd_secondsgm
{
my($jd, $hr, $min, $sec) = @_;
my($r) = (($jd - $jd_epoch) * 86400
+ $hr * 3600 + $min * 60
- $jd_epoch_remainder);
no integer;
return ($r + $sec);
use integer;
}
sub jd_secondslocal
{
my($jd, $hr, $min, $sec) = @_;
my $jds = jd_secondsgm($jd, $hr, $min, $sec);
return $jds - tz_local_offset($jds);
}
# this uses a 0-11 month to correctly reverse localtime()
sub jd_timelocal
{
my ($sec,$min,$hours,$mday,$mon,$year) = @_;
$year += 1900 unless $year > 1000;
my $jd = julian_day($year, $mon+1, $mday);
my $jds = jd_secondsgm($jd, $hours, $min, $sec);
return $jds - tz_local_offset($jds);
}
# this uses a 0-11 month to correctly reverse gmtime()
sub jd_timegm
{
my ($sec,$min,$hours,$mday,$mon,$year) = @_;
$year += 1900 unless $year > 1000;
my $jd = julian_day($year, $mon+1, $mday);
return jd_secondsgm($jd, $hours, $min, $sec);
}
1;
__DATA__
=head1 NAME
Time::JulianDay -- Julian calendar manipulations
=head1 SYNOPSIS
use Time::JulianDay
$jd = julian_day($year, $month_1_to_12, $day)
$jd = local_julian_day($seconds_since_1970);
$jd = gm_julian_day($seconds_since_1970);
($year, $month_1_to_12, $day) = inverse_julian_day($jd)
$dow = day_of_week($jd)
print (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$dow];
$seconds_since_jan_1_1970 = jd_secondslocal($jd, $hour, $min, $sec)
$seconds_since_jan_1_1970 = jd_secondsgm($jd, $hour, $min, $sec)
$seconds_since_jan_1_1970 = jd_timelocal($sec,$min,$hours,$mday,$month_0_to_11,$year)
$seconds_since_jan_1_1970 = jd_timegm($sec,$min,$hours,$mday,$month_0_to_11,$year)
=head1 DESCRIPTION
JulianDay is a package that manipulates dates as number of days since
some time a long time ago. It's easy to add and subtract time
using julian days...
The day_of_week returned by day_of_week() is 0 for Sunday, and 6 for
Saturday and everything else is in between.
=head1 GENESIS
Written by David Muir Sharnoff <muir@idiom.com> with help from
previous work by
Kurt Jaeger aka PI <zrzr0111@helpdesk.rus.uni-stuttgart.de>
based on postings from: Ian Miller <ian_m@cix.compulink.co.uk>;
Gary Puckering <garyp%cognos.uucp@uunet.uu.net>
based on Collected Algorithms of the ACM ?;
and the unknown-to-me author of Time::Local.
=head1 LICENSE
Copyright (C) 1996-1999 David Muir Sharnoff. License hereby
granted for anyone to use, modify or redistribute this module at
their own risk. Please feed useful changes back to muir@idiom.com.

1254
Time/ParseDate.pm Normal file

File diff suppressed because it is too large Load Diff

283
Time/Timezone.pm Normal file
View File

@ -0,0 +1,283 @@
package Time::Timezone;
require 5.002;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(tz2zone tz_local_offset tz_offset tz_name);
@EXPORT_OK = qw();
use Carp;
use strict;
# Parts stolen from code by Paul Foley <paul@ascent.com>
use vars qw($VERSION);
$VERSION = 2003.0211;
sub tz2zone
{
my($TZ, $time, $isdst) = @_;
use vars qw(%tzn_cache);
$TZ = defined($ENV{'TZ'}) ? ( $ENV{'TZ'} ? $ENV{'TZ'} : 'GMT' ) : ''
unless $TZ;
# Hack to deal with 'PST8PDT' format of TZ
# Note that this can't deal with all the esoteric forms, but it
# does recognize the most common: [:]STDoff[DST[off][,rule]]
if (! defined $isdst) {
my $j;
$time = time() unless $time;
($j, $j, $j, $j, $j, $j, $j, $j, $isdst) = localtime($time);
}
if (defined $tzn_cache{$TZ}->[$isdst]) {
return $tzn_cache{$TZ}->[$isdst];
}
if ($TZ =~ /^
( [^:\d+\-,] {3,} )
( [+-] ?
\d {1,2}
( : \d {1,2} ) {0,2}
)
( [^\d+\-,] {3,} )?
/x
) {
$TZ = $isdst ? $4 : $1;
$tzn_cache{$TZ} = [ $1, $4 ];
} else {
$tzn_cache{$TZ} = [ $TZ, $TZ ];
}
return $TZ;
}
sub tz_local_offset
{
my ($time) = @_;
$time = time() unless $time;
my (@l) = localtime($time);
my $isdst = $l[8] || 0;
my $tzenv = defined($ENV{TZ}) ? $ENV{TZ} : "__notz";
if ($Timezone::tz_local{$tzenv} &&
defined($Timezone::tz_local{$tzenv}[$isdst])) {
return $Timezone::tz_local{$tzenv}[$isdst];
}
$Timezone::tz_local{$tzenv}[$isdst] = &calc_off($time);
return $Timezone::tz_local{$tzenv}[$isdst];
}
sub calc_off
{
my ($time) = @_;
my (@l) = localtime($time);
my (@g) = gmtime($time);
my $off;
$off = $l[0] - $g[0]
+ ($l[1] - $g[1]) * 60
+ ($l[2] - $g[2]) * 3600;
# subscript 7 is yday.
if ($l[7] == $g[7]) {
# done
} elsif ($l[7] == $g[7] + 1) {
$off += 86400;
} elsif ($l[7] == $g[7] - 1) {
$off -= 86400;
} elsif ($l[7] < $g[7]) {
# crossed over a year boundry!
# localtime is beginning of year, gmt is end
# therefore local is ahead
$off += 86400;
} else {
$off -= 86400;
}
return $off;
}
# constants
# The rest of the file comes from Graham Barr <bodg@tiuk.ti.com>
CONFIG: {
use vars qw(%dstZone %zoneOff %dstZoneOff %Zone);
%dstZone = (
# "ndt" => -2*3600-1800, # Newfoundland Daylight
"adt" => -3*3600, # Atlantic Daylight
"edt" => -4*3600, # Eastern Daylight
"cdt" => -5*3600, # Central Daylight
"mdt" => -6*3600, # Mountain Daylight
"pdt" => -7*3600, # Pacific Daylight
"ydt" => -8*3600, # Yukon Daylight
"hdt" => -9*3600, # Hawaii Daylight
"bst" => +1*3600, # British Summer
"mest" => +2*3600, # Middle European Summer
"met dst" => +2*3600, # Middle European Summer
"sst" => +2*3600, # Swedish Summer
"fst" => +2*3600, # French Summer
"wadt" => +8*3600, # West Australian Daylight
# "cadt" => +10*3600+1800, # Central Australian Daylight
"eadt" => +11*3600, # Eastern Australian Daylight
"nzdt" => +13*3600, # New Zealand Daylight
);
%Zone = (
"gmt" => 0, # Greenwich Mean
"ut" => 0, # Universal (Coordinated)
"utc" => 0,
"wet" => 0, # Western European
"wat" => -1*3600, # West Africa
"at" => -2*3600, # Azores
# For completeness. BST is also British Summer, and GST is also Guam Standard.
# "bst" => -3*3600, # Brazil Standard
# "gst" => -3*3600, # Greenland Standard
# "nft" => -3*3600-1800,# Newfoundland
# "nst" => -3*3600-1800,# Newfoundland Standard
"ast" => -4*3600, # Atlantic Standard
"est" => -5*3600, # Eastern Standard
"cst" => -6*3600, # Central Standard
"cest" => +2*3600, # Central European Summer
"mst" => -7*3600, # Mountain Standard
"pst" => -8*3600, # Pacific Standard
"yst" => -9*3600, # Yukon Standard
"hst" => -10*3600, # Hawaii Standard
"cat" => -10*3600, # Central Alaska
"ahst" => -10*3600, # Alaska-Hawaii Standard
"nt" => -11*3600, # Nome
"idlw" => -12*3600, # International Date Line West
"cet" => +1*3600, # Central European
"met" => +1*3600, # Middle European
"mewt" => +1*3600, # Middle European Winter
"swt" => +1*3600, # Swedish Winter
"fwt" => +1*3600, # French Winter
"eet" => +2*3600, # Eastern Europe, USSR Zone 1
"bt" => +3*3600, # Baghdad, USSR Zone 2
# "it" => +3*3600+1800,# Iran
"zp4" => +4*3600, # USSR Zone 3
"zp5" => +5*3600, # USSR Zone 4
"ist" => +5*3600+1800,# Indian Standard
"zp6" => +6*3600, # USSR Zone 5
# For completeness. NST is also Newfoundland Stanard, and SST is also Swedish Summer.
# "nst" => +6*3600+1800,# North Sumatra
# "sst" => +7*3600, # South Sumatra, USSR Zone 6
"wast" => +7*3600, # West Australian Standard
# "jt" => +7*3600+1800,# Java (3pm in Cronusland!)
"cct" => +8*3600, # China Coast, USSR Zone 7
"jst" => +9*3600, # Japan Standard, USSR Zone 8
# "cast" => +9*3600+1800,# Central Australian Standard
"east" => +10*3600, # Eastern Australian Standard
"gst" => +10*3600, # Guam Standard, USSR Zone 9
"nzt" => +12*3600, # New Zealand
"nzst" => +12*3600, # New Zealand Standard
"idle" => +12*3600, # International Date Line East
);
%zoneOff = reverse(%Zone);
%dstZoneOff = reverse(%dstZone);
# Preferences
$zoneOff{0} = 'gmt';
$dstZoneOff{3600} = 'bst';
}
sub tz_offset
{
my ($zone, $time) = @_;
return &tz_local_offset() unless($zone);
$time = time() unless $time;
my(@l) = localtime($time);
my $dst = $l[8];
$zone = lc $zone;
if ($zone =~ /^([\-\+]\d{3,4})$/) {
my $sign = $1 < 0 ? -1 : 1 ;
my $v = abs(0 + $1);
return $sign * 60 * (int($v / 100) * 60 + ($v % 100));
} elsif (exists $dstZone{$zone} && ($dst || !exists $Zone{$zone})) {
return $dstZone{$zone};
} elsif(exists $Zone{$zone}) {
return $Zone{$zone};
}
undef;
}
sub tz_name
{
my ($off, $time) = @_;
$time = time() unless $time;
my(@l) = localtime($time);
my $dst = $l[8];
if (exists $dstZoneOff{$off} && ($dst || !exists $zoneOff{$off})) {
return $dstZoneOff{$off};
} elsif (exists $zoneOff{$off}) {
return $zoneOff{$off};
}
sprintf("%+05d", int($off / 60) * 100 + $off % 60);
}
1;
__DATA__
=head1 NAME
Time::Timezone -- miscellaneous timezone manipulations routines
=head1 SYNOPSIS
use Time::Timezone;
print tz2zone();
print tz2zone($ENV{'TZ'});
print tz2zone($ENV{'TZ'}, time());
print tz2zone($ENV{'TZ'}, undef, $isdst);
$offset = tz_local_offset();
$offset = tz_offset($TZ);
=head1 DESCRIPTION
This is a collection of miscellaneous timezone manipulation routines.
C<tz2zone()> parses the TZ environment variable and returns a timezone
string suitable for inclusion in L<date>-like output. It opionally takes
a timezone string, a time, and a is-dst flag.
C<tz_local_offset()> determins the offset from GMT time in seconds. It
only does the calculation once.
C<tz_offset()> determines the offset from GMT in seconds of a specified
timezone.
C<tz_name()> determines the name of the timezone based on its offset
=head1 AUTHORS
Graham Barr <bodg@tiuk.ti.com>
David Muir Sharnoff <muir@idiom.com>
Paul Foley <paul@ascent.com>
=head1 LICENSE
David Muir Sharnoff disclaims any copyright and puts his contribution
to this module in the public domain.

1103
attic/ChangeLog Normal file

File diff suppressed because it is too large Load Diff

96
attic/build Normal file
View File

@ -0,0 +1,96 @@
#!/bin/sh
# OLD BUILD SCRIPT
# THIS IS DEPRECATED, USE 'make'
echo "use make"
exit
export DOOMWADDIR="/usr/share/games/doom"
# create the dynamic titlepic :)
cd graphics/titlepic
./create_caption
cd ../..
# update wadinfo.txt
./wadinfo-builder.pl < wadinfo.txt.real > wadinfo.txt
#---------------------------------------------------------
# build wad
echo "** main build **" > build.output
echo "** main build **" > build.errors
echo "main build"
rm -f wads/freedoom.wad
deutex -rgb 0 255 255 -lumps -patch -flats -sounds -musics -graphics -sprites -build wadinfo.txt wads/freedoom.wad >> build.output 2>> build.errors
# gzip wad
gzip < wads/freedoom.wad > wads/freedoom.wad.gz
#---------------------------------------------------------
# build levels wad
echo "** levels build **" >> build.output
echo "** levels build **" >> build.errors
echo "levels build"
rm -f wads/freedoom_levels.wad
deutex -levels -build wadinfo.txt wads/freedoom_levels.wad >> build.output 2>> build.errors
# gzip
gzip < wads/freedoom_levels.wad > wads/freedoom_levels.wad.gz
#---------------------------------------------------------
# build texture wad
echo "** textures build **" >> build.output
echo "** textures build **" >> build.errors
echo "texture build"
rm -f wads/freedoom_textures.wad
deutex -rgb 0 255 255 -patch -flats -build wadinfo.txt wads/freedoom_textures.wad >> build.output 2>> build.errors
gzip < wads/freedoom_textures.wad > wads/freedoom_textures.wad.gz
#---------------------------------------------------------
# build sprites wad
echo "** sprites build **" >> build.output
echo "** sprites build **" >> build.errors
echo "sprites build"
rm -f wads/freedoom_sprites.wad
deutex -sprites -rgb 0 255 255 -build wadinfo.txt wads/freedoom_sprites.wad >> build.output 2>> build.errors
gzip < wads/freedoom_sprites.wad > wads/freedoom_sprites.wad.gz
#---------------------------------------------------------
# build sounds wad
echo "** sounds build **" >> build.output
echo "** sounds build **" >> build.errors
echo "sounds build"
rm -f wads/freedoom_sounds.wad
deutex -sounds -musics -build wadinfo.txt wads/freedoom_sounds.wad >> build.output 2>> build.errors
echo "gzipping"
gzip < wads/freedoom_sounds.wad > wads/freedoom_sounds.wad.gz
# output
cat build.output build.errors
# md5sum
cd wads
md5sum `ls *.wad *.wad.gz` > freedoom.md5sum
cd ..

34
attic/findlinks.pl Normal file
View File

@ -0,0 +1,34 @@
#!/usr/bin/perl
sub do_dir {
my ($dir, $extn) = @_;
my @files = glob("$dir/*.$extn");
my %spriteowners = {};
print "[$dir]\n\n";
foreach (@files) {
my $link = readlink ($_);
next if (!$link);
my ($owner) = $link;
my $base = $_;
$base =~ s/^\w*\///;
$base =~ s/\.$extn//;
$owner =~ s/\/.*$//;
print "$base: $owner\n";
}
print "\n";
}
do_dir "graphics", "gif";
do_dir "levels", "wad";
do_dir "sprites", "gif";
do_dir "flats", "gif";
do_dir "patches", "gif";
do_dir "lumps", "lmp";

53
attic/graf-extract.pl Executable file
View File

@ -0,0 +1,53 @@
#!/usr/bin/perl
#
# extract graphic offsets for graphics and sprites
# replace entries in the shareware wadinfo.txt with the appropriate
# lines from the main wadinfo.txt
open(WADINFO, "wadinfo.txt.in") or die "cant open wadinfo.txt";
my %resdata;
my $grafmode = 0;
while(<WADINFO>) {
chomp;
s/\#.*$//; # comments
next if (/^\s*$/);
if (/\[.*\]/) {
my $section = $_;
$section =~ s/\[(.*)\]/$1/;
$grafmode = $section eq "graphics" || $section eq "sprites";
} elsif ($grafmode) {
$sprname = lc $_;
$sprname =~ s/\s.*$//;
$resdata{$sprname} = $_;
}
}
close(WADINFO);
open(WADINFO, "wadinfo_sw.txt.in.in") or die "cant open wadinfo_sw.txt";
while (<WADINFO>) {
chomp;
if (/\s*\#.*$/ || /^\s*$/) {
} elsif (/\[.*\]/) {
my $section = $_;
$section =~ s/\[(.*)\]/$1/;
$grafmode = $section eq "graphics" || $section eq "sprites";
} elsif ($grafmode) {
$sprname = lc $_;
$sprname =~ s/\s.*$//;
if ($resdata{$sprname}) {
$_ = $resdata{$sprname} . "\t\t# forwarded from wadinfo.txt";
}
}
print "$_\n";
}
close(WADINFO);

View File

@ -0,0 +1 @@
graf-extract.pl

135
attic/hires.pl Normal file
View File

@ -0,0 +1,135 @@
#!/usr/bin/perl
#
# front end part of the hires patch->texture convertor to be
#
use strict;
my %textures;
my %patches;
sub file_date {
my ($file) = @_;
return 0;
}
sub get_patches {
open(PATCHES, "textures/patchsizes") or die "cant open patchsizes";
%patches = {};
foreach (<PATCHES>) {
chomp;
my @fields = split(/\s+/);
my $file = "patches_hi/$fields[0].png";
my $newpatch = {
name => $fields[0],
width => $fields[1],
height => $fields[2],
file => $file,
exists => -e $file,
date => file_date($file)+1,
};
# store in hash
$patches{$fields[0]} = $newpatch;
}
close(PATCHES);
}
sub get_textures {
open(TEXTURES, "textures/combined/texture1.txt") or die "cant open texture1.txt";
%textures = {};
my $curtext = undef;
foreach(<TEXTURES>) {
chomp;
next if (/^\#/ || /^\;/ || /^\s*$/);
$_ = lc $_;
my @fields = split(/\s+/);
if ($fields[0] eq "\*") {
# another patch
my $newpatch = {
patch => $patches{$fields[1]},
x => $fields[2],
y => $fields[3],
};
my $curpatches = $curtext->{patches};
push(@$curpatches, $newpatch);
} else {
# new texture
my $file = "patches_hi/.tga/$fields[0]";
my $patchlist = [];
$curtext = {
name => $fields[0],
file => $file,
width => $fields[1],
height => $fields[2],
date => file_date($file),
patches => $patchlist,
};
# get file date of existing file?
$textures{$fields[0]} = $curtext;
}
}
close(TEXTURES);
}
sub build_texture {
my ($this) = @_;
print "build texture $this->{name}\n";
}
sub dep_loop {
mainloop: foreach (keys %textures) {
my $this = $textures{$_};
my $patchlist = $this->{patches};
my $uptodate = 1;
#print "$_: " . @$patchlist . "\n";
foreach (@$patchlist) {
#print $this->{name} . " : " . $_->{patch}->{name} . "\n";
if (!$_->{patch}->{exists}) {
# a patch is missing, cant build this
#print $this->{name} . ": patch missing\n";
next mainloop;
}
if ($_->{patch}->{date} > $this->{date}) {
# if the date of one of the patches is
# newer than the date of the produced
# texture file, this is not up to date
$uptodate = 0;
}
}
if (!$uptodate) {
build_texture($this);
} else {
#print $this->{name} . ": up to date\n";
}
}
}
get_patches;
get_textures;
dep_loop;

23
attic/hires_build.pl Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/perl
#
# Convert all pngs to tgas
#
# clear out old tgas
`rm hires/*.tga`;
# get list of input files
@files = (glob ("flats_hi/*.png"), glob ("patches_hi/*.png"));
foreach(@files) {
$tgafile = $_;
$tgafile =~ s/.*\///;
$tgafile =~ s/png$/tga/;
$cmd = "pngtopnm < $_ | ppmtotga > hires/$tgafile 2>/dev/null";
#print "$cmd\n";
`$cmd`;
}

View File

@ -0,0 +1 @@
hires_build.pl

View File

@ -0,0 +1,10 @@
#!/usr/bin/perl
use strict;
while (<>) {
chomp;
`grep $_ CREDITS`;
print "$_ not found\n" if $?;
}

View File

@ -0,0 +1,21 @@
#!/usr/bin/perl
use strict;
my %people = {};
foreach (glob("*/*.*")) {
my $pointto = readlink($_);
if (!$pointto) {
print STDERR "$_ not a link\n";
} else {
my ($person) = ($pointto =~ /^(\w+)\//);
$people{$person} = 1 if $person;
}
}
foreach (keys %people) {
print "$_\n";
}

1
attic/people/notfound Normal file
View File

@ -0,0 +1 @@
doom2tr not found

73
attic/people/peoplelist Normal file
View File

@ -0,0 +1,73 @@
deathmaster213
darkstalker
spike
titlepic
tarin
airraid
bastetfurry
ravage
sirfragsalot
kaiser
ralphis
amarande
doom2
picklehammer
cph
doom2tr
fraggle
jond
espi
scubasteve
isle
archvile46
spinspyder
ajapted
wildweasel
lurker
railgunner
jayextee
andrewb
tobester
jonr
wildman
slayer226
csabo
meathead
edd
cacodemon_leader
nightfang
cyb
linguica
hyena
fredrik
locust
dsells
kurt
adamizer
draconio
rancor
mouse
enjay
mystic
torn
mellow
vicious
saint_of_killers
bloodshedder
submerge
sgtcrispy
kman
metabolist
HASH(0x80fbb0c)
julian
oblivion
mewse
ebola
nb_nmare
zigmund
lazer
zeurkous
maonth
jstepp
nrkn
geekmarine

11
attic/psconv.pl Normal file
View File

@ -0,0 +1,11 @@
#!/usr/bin/perl
#
# get dimensions of all patches
# run file -L patches/*.gif and pipe through this
while (<>) {
chomp;
s/^(.*)\.gif.*\s(\d+)\ x\ (\d+)$/$1\ $2\ $3/;
print "$_\n";
}

Binary file not shown.

View File

@ -0,0 +1,114 @@
// -*- C++ -*-
//
// This reads the wadinfo.txt and outputs a new wadinfo.txt
// with the appropriate lines commented out for files which
// do not yet exist. This is so that wadinfo.txt can be
// automagically updated as we get more textures.
//
// This is also further proof that I need to learn perl.
//
// By Simon Howard (fraggle)
//
#include <stdio.h>
#include <string.h>
#include <dirent.h>
//
// check if a file exists in a subdirectory
// this ignores extension
// eg. if we do file_exists("flats", "ceil5_1")
// and a file flats/ceil5_1.gif exists it willl return 1
//
static int file_exists(char *dirname, char *filename)
{
DIR *dir;
struct dirent *direntry;
dir = opendir(dirname);
if(!dir) {
fprintf(stderr, "cannot open dir: %s\n", dirname);
exit(-1);
}
while(direntry = readdir(dir)) {
if(!strncasecmp(direntry->d_name, filename, strlen(filename))
&& direntry->d_name[strlen(filename)] == '.') {
closedir(dir);
return 1;
}
}
closedir(dir);
return 0;
}
int main(int argc, char *argv[])
{
char *section = NULL;
while(!feof(stdin)) {
char buffer[128];
char file[128];
buffer[0] = '\0';
fgets(buffer, 126, stdin);
{
char *p;
for(p=buffer+strlen(buffer)-1; p >= buffer; p--) {
if(isprint(*p))
break;
*p = '\0';
}
}
// comments and empty lines pass through
if(buffer[0] == '#' || buffer[0] == '\0') {
puts(buffer);
continue;
}
// section header
if(buffer[0] == '[') {
if(section)
free(section);
section = strdup(buffer+1);
*strchr(section, ']') = '\0';
puts(buffer);
if(!strcmp(section, "texture1") ||
!strcmp(section, "texture2")) {
strcpy(section, "textures");
}
continue;
}
// copy first word of the buffer
// into a second buffer
{
char *f, *b;
for(b=buffer, f=file;
!isspace(*b) && *b;)
*f++ = *b++;
*f = '\0';
}
if(!section || file_exists(section, file)) {
puts(buffer);
} else {
printf("#%s\n", buffer);
}
}
}

2638
attic/wadinfo.txt.in Normal file

File diff suppressed because it is too large Load Diff

1213
attic/wadinfo_sw.txt.in Normal file

File diff suppressed because it is too large Load Diff

1213
attic/wadinfo_sw.txt.in.in Normal file

File diff suppressed because it is too large Load Diff

10
bootstrap/README.txt Normal file
View File

@ -0,0 +1,10 @@
This is a bootstrap wad. deutex requires an IWAD to build wads. This
wad contains all the lumps deutex needs: PLAYPAL (the freedoom PLAYPAL),
an empty TEXTURE1 lump and a PNAMES lump with one lump in (deutex needs
PNAMES lumps to have at least one entry)
deutex includes all textures from the parent iwad when building wads so
it is important the bootstrap wad has as few textures as possible.

BIN
bootstrap/doom2.wad Normal file

Binary file not shown.

17
build Executable file
View File

@ -0,0 +1,17 @@
#!/bin/sh
#
# build wrapper
# this runs make, redirecting all output to build.output for the
# public to see. a tail process is spawned in the background
# to send the output to the console as well.
export VERSION="0.4"
if [ x$* == x ] ; then
# make all $* >> build.output 2>&1
make latest/latest.wad.gz $* 2>&1 | tee build.output
make latest/ulatest.wad.gz $* 2>&1 | tee -a build.output
else
make $* 2>&1 | tee build.output
fi

293
build.output Normal file
View File

@ -0,0 +1,293 @@
tools/simplecpp -DDOOM1 -DDOOM2 < textures/combined.txt > textures/doom2/texture1.txt
./extract-pnames.pl < textures/doom2/texture1.txt > textures/doom2/pnames.txt
tools/simplecpp -P -DDOOM2 < buildcfg.txt | ./wadinfo-builder.pl > wadinfo.txt
make -C graphics/titlepic
make[1]: Entering directory `/home/groups/f/fr/freedoom/htdocs/deutex/graphics/titlepic'
./create_caption
make[1]: Leaving directory `/home/groups/f/fr/freedoom/htdocs/deutex/graphics/titlepic'
make -C lumps
make[1]: Entering directory `/home/groups/f/fr/freedoom/htdocs/deutex/lumps'
echo 0.4 > freedoom.lmp
make[1]: Leaving directory `/home/groups/f/fr/freedoom/htdocs/deutex/lumps'
ln -sf doom2/texture1.txt textures/texture1.txt
rm -f /tmp/freedoom-wads/freedoom.wad
tools/deutex -fullsnd -noshrink -rgb 0 255 255 -doom2 bootstrap/ -textures -lumps -patch -flats -sounds -musics -graphics -sprites -build wadinfo.txt /tmp/freedoom-wads/freedoom.wad
DeuTex 4.4.0 Copyright 1994,95 O.Montanuy, Copyright 1999-2000 A.Majorel
Ported to DOS, Unix, OS/2, Linux, SGiX, DEC Alpha.
Thanx to M.Mathews, P.Allansson, C.Rossi, J.Bonfield, U.Munk.
This program is freeware.
Type "deutex --help" to get the list of commands.
Saving complete sounds.
Transparent colour is R=0 G=255 B=255
Main directory: bootstrap/.
Select textures
Select lumps
Select patches
Select flats
Select sounds
Select musics
Select graphics
Select sprites
Translating wadinfo.txt into a PWAD /tmp/freedoom-wads/freedoom.wad
Reading WAD bootstrap//doom2.wad: (3 entries)
Creating PWAD /tmp/freedoom-wads/freedoom.wad
Color palette is Doom
Making Lumps
Making Texture1
Read 493 Textures in ./textures/texture1.txt
Making Pnames
Making Sounds
Making Musics
Making Graphics
Warning: GIF support may go away in the future (see
Warning: http://lpf.ai.mit.edu/Patents/Gif/Gif.html).
Warning: Switch to PPM or BMP.
Warning: Color quantisation is slow. Use ppmquant.
Making Sprites
Making Wall Patches
Making Flats
WAD is complete: size 9964932 bytes.
rm -f /tmp/freedoom-wads/freedoom_graphics.wad
tools/deutex -fullsnd -noshrink -rgb 0 255 255 -doom2 bootstrap/ -graphics -build wadinfo.txt /tmp/freedoom-wads/freedoom_graphics.wad
DeuTex 4.4.0 Copyright 1994,95 O.Montanuy, Copyright 1999-2000 A.Majorel
Ported to DOS, Unix, OS/2, Linux, SGiX, DEC Alpha.
Thanx to M.Mathews, P.Allansson, C.Rossi, J.Bonfield, U.Munk.
This program is freeware.
Type "deutex --help" to get the list of commands.
Saving complete sounds.
Transparent colour is R=0 G=255 B=255
Main directory: bootstrap/.
Select graphics
Translating wadinfo.txt into a PWAD /tmp/freedoom-wads/freedoom_graphics.wad
Reading WAD bootstrap//doom2.wad: (3 entries)
Creating PWAD /tmp/freedoom-wads/freedoom_graphics.wad
Color palette is Doom
Making Graphics
Warning: GIF support may go away in the future (see
Warning: http://lpf.ai.mit.edu/Patents/Gif/Gif.html).
Warning: Switch to PPM or BMP.
Warning: Color quantisation is slow. Use ppmquant.
WAD is complete: size 497028 bytes.
rm -f /tmp/freedoom-wads/freedoom_levels.wad
tools/deutex -fullsnd -noshrink -rgb 0 255 255 -doom2 bootstrap/ -levels -build wadinfo.txt /tmp/freedoom-wads/freedoom_levels.wad
DeuTex 4.4.0 Copyright 1994,95 O.Montanuy, Copyright 1999-2000 A.Majorel
Ported to DOS, Unix, OS/2, Linux, SGiX, DEC Alpha.
Thanx to M.Mathews, P.Allansson, C.Rossi, J.Bonfield, U.Munk.
This program is freeware.
Type "deutex --help" to get the list of commands.
Saving complete sounds.
Transparent colour is R=0 G=255 B=255
Main directory: bootstrap/.
Select levels
Translating wadinfo.txt into a PWAD /tmp/freedoom-wads/freedoom_levels.wad
Reading WAD bootstrap//doom2.wad: (3 entries)
Creating PWAD /tmp/freedoom-wads/freedoom_levels.wad
Reading WAD ./levels/map01.wad: (11 entries)
Reading WAD ./levels/map02.wad: (11 entries)
Reading WAD ./levels/map03.wad: (11 entries)
Reading WAD ./levels/map04.wad: (11 entries)
Reading WAD ./levels/map05.wad: (11 entries)
Reading WAD ./levels/map06.wad: (11 entries)
Reading WAD ./levels/map07.wad: (11 entries)
Reading WAD ./levels/map10.wad: (11 entries)
Reading WAD ./levels/map11.wad: (11 entries)
Reading WAD ./levels/map12.wad: (11 entries)
Reading WAD ./levels/map13.wad: (11 entries)
Reading WAD ./levels/map16.wad: (11 entries)
Reading WAD ./levels/map17.wad: (11 entries)
Reading WAD ./levels/map18.wad: (11 entries)
Reading WAD ./levels/map20.wad: (11 entries)
Reading WAD ./levels/map21.wad: (11 entries)
Reading WAD ./levels/map22.wad: (11 entries)
Reading WAD ./levels/map23.wad: (11 entries)
Reading WAD ./levels/map25.wad: (11 entries)
Reading WAD ./levels/map26.wad: (11 entries)
Reading WAD ./levels/map27.wad: (11 entries)
Reading WAD ./levels/map29.wad: (11 entries)
Reading WAD ./levels/map30.wad: (11 entries)
Reading WAD ./levels/map31.wad: (11 entries)
Reading WAD ./levels/map32.wad: (17 entries)
WAD is complete: size 7475816 bytes.
rm -f /tmp/freedoom-wads/freedoom_sprites.wad
tools/deutex -fullsnd -noshrink -rgb 0 255 255 -doom2 bootstrap/ -sprites -build wadinfo.txt /tmp/freedoom-wads/freedoom_sprites.wad
DeuTex 4.4.0 Copyright 1994,95 O.Montanuy, Copyright 1999-2000 A.Majorel
Ported to DOS, Unix, OS/2, Linux, SGiX, DEC Alpha.
Thanx to M.Mathews, P.Allansson, C.Rossi, J.Bonfield, U.Munk.
This program is freeware.
Type "deutex --help" to get the list of commands.
Saving complete sounds.
Transparent colour is R=0 G=255 B=255
Main directory: bootstrap/.
Select sprites
Translating wadinfo.txt into a PWAD /tmp/freedoom-wads/freedoom_sprites.wad
Reading WAD bootstrap//doom2.wad: (3 entries)
Creating PWAD /tmp/freedoom-wads/freedoom_sprites.wad
Color palette is Doom
Making Sprites
Warning: GIF support may go away in the future (see
Warning: http://lpf.ai.mit.edu/Patents/Gif/Gif.html).
Warning: Switch to PPM or BMP.
WAD is complete: size 1795312 bytes.
rm -f /tmp/freedoom-wads/freedoom_sounds.wad
tools/deutex -fullsnd -noshrink -rgb 0 255 255 -doom2 bootstrap/ -sounds -musics -build wadinfo.txt /tmp/freedoom-wads/freedoom_sounds.wad
DeuTex 4.4.0 Copyright 1994,95 O.Montanuy, Copyright 1999-2000 A.Majorel
Ported to DOS, Unix, OS/2, Linux, SGiX, DEC Alpha.
Thanx to M.Mathews, P.Allansson, C.Rossi, J.Bonfield, U.Munk.
This program is freeware.
Type "deutex --help" to get the list of commands.
Saving complete sounds.
Transparent colour is R=0 G=255 B=255
Main directory: bootstrap/.
Select sounds
Select musics
Translating wadinfo.txt into a PWAD /tmp/freedoom-wads/freedoom_sounds.wad
Reading WAD bootstrap//doom2.wad: (3 entries)
Creating PWAD /tmp/freedoom-wads/freedoom_sounds.wad
Making Sounds
Making Musics
WAD is complete: size 2200156 bytes.
ln -sf doom2/texture1.txt textures/texture1.txt
rm -f /tmp/freedoom-wads/freedoom_textures.wad
tools/deutex -fullsnd -noshrink -rgb 0 255 255 -doom2 bootstrap/ -textures -patch -flats -build wadinfo.txt /tmp/freedoom-wads/freedoom_textures.wad
DeuTex 4.4.0 Copyright 1994,95 O.Montanuy, Copyright 1999-2000 A.Majorel
Ported to DOS, Unix, OS/2, Linux, SGiX, DEC Alpha.
Thanx to M.Mathews, P.Allansson, C.Rossi, J.Bonfield, U.Munk.
This program is freeware.
Type "deutex --help" to get the list of commands.
Saving complete sounds.
Transparent colour is R=0 G=255 B=255
Main directory: bootstrap/.
Select textures
Select patches
Select flats
Translating wadinfo.txt into a PWAD /tmp/freedoom-wads/freedoom_textures.wad
Reading WAD bootstrap//doom2.wad: (3 entries)
Creating PWAD /tmp/freedoom-wads/freedoom_textures.wad
Color palette is Doom
Making Texture1
Read 493 Textures in ./textures/texture1.txt
Making Pnames
Making Wall Patches
Warning: GIF support may go away in the future (see
Warning: http://lpf.ai.mit.edu/Patents/Gif/Gif.html).
Warning: Switch to PPM or BMP.
Making Flats
WAD is complete: size 5374624 bytes.
tools/simplecpp -DSHAREWARE < textures/combined.txt > textures/shareware/texture1.txt
./extract-pnames.pl < textures/shareware/texture1.txt > textures/shareware/pnames.txt
tools/simplecpp -P -DSHAREWARE < buildcfg.txt | ./wadinfo-builder.pl -dummy > wadinfo_sw.txt
ln -sf shareware/texture1.txt textures/texture1.txt
rm -f /tmp/freedoom-wads/doom1.wad
tools/deutex -fullsnd -noshrink -rgb 0 255 255 -doom2 bootstrap/ -iwad -build wadinfo_sw.txt /tmp/freedoom-wads/doom1.wad
DeuTex 4.4.0 Copyright 1994,95 O.Montanuy, Copyright 1999-2000 A.Majorel
Ported to DOS, Unix, OS/2, Linux, SGiX, DEC Alpha.
Thanx to M.Mathews, P.Allansson, C.Rossi, J.Bonfield, U.Munk.
This program is freeware.
Type "deutex --help" to get the list of commands.
Saving complete sounds.
Transparent colour is R=0 G=255 B=255
Main directory: bootstrap/.
Build an IWAD file.
Translating wadinfo_sw.txt into a IWAD /tmp/freedoom-wads/doom1.wad
Reading WAD bootstrap//doom2.wad: (3 entries)
Creating IWAD /tmp/freedoom-wads/doom1.wad
Reading WAD ./levels/e1m1.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/e1m3.wad: (11 entries)
Reading WAD ./levels/e1m4.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/e1m6.wad: (11 entries)
Reading WAD ./levels/e1m7.wad: (11 entries)
Reading WAD ./levels/e1m8.wad: (11 entries)
Reading WAD ./levels/e1m9.wad: (17 entries)
Color palette is Doom
Making Lumps
Making Texture1
Read 182 Textures in ./textures/texture1.txt
Making Pnames
Making Sounds
Making Musics
Making Graphics
Warning: GIF support may go away in the future (see
Warning: http://lpf.ai.mit.edu/Patents/Gif/Gif.html).
Warning: Switch to PPM or BMP.
Warning: Color quantisation is slow. Use ppmquant.
Making Sprites
Making Wall Patches
Making Flats
Warning: Could not find file ./flats/dummy.wad, .ppm, .bmp or .gif
WAD is complete: size 5437044 bytes.
tools/simplecpp -P -DDOOM2 < buildcfg.txt | ./wadinfo-builder.pl -dummy > wadinfo_iwad.txt
ln -sf doom2/texture1.txt textures/texture1.txt
rm -f /tmp/freedoom-wads/doom2.wad
tools/deutex -fullsnd -noshrink -rgb 0 255 255 -doom2 bootstrap/ -iwad -textures -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_iwad.txt /tmp/freedoom-wads/doom2.wad
DeuTex 4.4.0 Copyright 1994,95 O.Montanuy, Copyright 1999-2000 A.Majorel
Ported to DOS, Unix, OS/2, Linux, SGiX, DEC Alpha.
Thanx to M.Mathews, P.Allansson, C.Rossi, J.Bonfield, U.Munk.
This program is freeware.
Type "deutex --help" to get the list of commands.
Saving complete sounds.
Transparent colour is R=0 G=255 B=255
Main directory: bootstrap/.
Build an IWAD file.
Select textures
Select lumps
Select patches
Select flats
Select sounds
Select musics
Select graphics
Select sprites
Select levels
Translating wadinfo_iwad.txt into a IWAD /tmp/freedoom-wads/doom2.wad
Reading WAD bootstrap//doom2.wad: (3 entries)
Creating IWAD /tmp/freedoom-wads/doom2.wad
Reading WAD ./levels/map01.wad: (11 entries)
Reading WAD ./levels/map02.wad: (11 entries)
Reading WAD ./levels/map03.wad: (11 entries)
Reading WAD ./levels/map04.wad: (11 entries)
Reading WAD ./levels/map05.wad: (11 entries)
Reading WAD ./levels/map06.wad: (11 entries)
Reading WAD ./levels/map07.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/map10.wad: (11 entries)
Reading WAD ./levels/map11.wad: (11 entries)
Reading WAD ./levels/map12.wad: (11 entries)
Reading WAD ./levels/map13.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/map16.wad: (11 entries)
Reading WAD ./levels/map17.wad: (11 entries)
Reading WAD ./levels/map18.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/map20.wad: (11 entries)
Reading WAD ./levels/map21.wad: (11 entries)
Reading WAD ./levels/map22.wad: (11 entries)
Reading WAD ./levels/map23.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/map25.wad: (11 entries)
Reading WAD ./levels/map26.wad: (11 entries)
Reading WAD ./levels/map27.wad: (11 entries)
Reading WAD ./levels/dummy.wad: (11 entries)
Reading WAD ./levels/map29.wad: (11 entries)
Reading WAD ./levels/map30.wad: (11 entries)
Reading WAD ./levels/map31.wad: (11 entries)
Reading WAD ./levels/map32.wad: (17 entries)
Color palette is Doom
Making Lumps
Making Texture1
Read 493 Textures in ./textures/texture1.txt
Making Pnames
Making Sounds
Making Musics
Making Graphics
Warning: GIF support may go away in the future (see
Warning: http://lpf.ai.mit.edu/Patents/Gif/Gif.html).
Warning: Switch to PPM or BMP.
Warning: Color quantisation is slow. Use ppmquant.
Making Sprites
Making Wall Patches
Making Flats
Warning: Could not find file ./flats/dummy.wad, .ppm, .bmp or .gif
WAD is complete: size 18219048 bytes.

2852
buildcfg.txt Normal file

File diff suppressed because it is too large Load Diff

418
cleanup/duplicates.txt Normal file
View File

@ -0,0 +1,418 @@
01fca24a7c6abc3c548505d69388cc98 ./sprites/saint_of_killers/oldspos/sposg3g7.gif
01fca24a7c6abc3c548505d69388cc98 ./sprites/saint_of_killers/pretouchup/sposg3g7.gif
02b6dbf8a23e45fc5da4c99dc56ac9ef ./sprites/fredrik/skula8a2.gif
02b6dbf8a23e45fc5da4c99dc56ac9ef ./sprites/fredrik/skulb8b2.gif
02d99201c34c571c0959d6296e652381 ./patches/fredrik/new/patches/wall23_1.gif
02d99201c34c571c0959d6296e652381 ./patches/fredrik/wall23_1.gif
03d5cfb9281eaae99e895148eea36408 ./sprites/mouse/bspib4b6.gif
03d5cfb9281eaae99e895148eea36408 ./sprites/mouse/bspie4e6.gif
041368788ebd17a0ebff225a74b2886c ./sprites/scubasteve/sarga4a6.gif
041368788ebd17a0ebff225a74b2886c ./sprites/scubasteve/sargd4d6.gif
041368788ebd17a0ebff225a74b2886c ./sprites/scubasteve/sarge4e6.gif
041368788ebd17a0ebff225a74b2886c ./sprites/scubasteve/sargf4f6.gif
041368788ebd17a0ebff225a74b2886c ./sprites/scubasteve/sargg4g6.gif
0634a92b6d31954264831f3075ffaae2 ./sprites/saint_of_killers/spos_pre_touchup2/sposd5.gif
0634a92b6d31954264831f3075ffaae2 ./sprites/saint_of_killers/spos_pre_touchup/sposd5.gif
06f8ff103564d80d8a2cb517f01ab1ef ./sprites/linguica/bossa4.gif
06f8ff103564d80d8a2cb517f01ab1ef ./sprites/linguica/bossh4.gif
07602a9c5eda88fd5063c11ea7e2a78c ./sprites/saint_of_killers/oldspos/sposg5.gif
07602a9c5eda88fd5063c11ea7e2a78c ./sprites/saint_of_killers/pretouchup/sposg5.gif
0baf9a8aef04cdb45a2d0e39538a5d2f ./sprites/railgunner/new/graphics/stfkill2.gif
0baf9a8aef04cdb45a2d0e39538a5d2f ./sprites/railgunner/new/graphics/stfouch2.gif
0e9f223e3578e6a45ccfc80832fe8d42 ./patches/fredrik/new/hekawoof/patches/tp5_1.gif
0e9f223e3578e6a45ccfc80832fe8d42 ./patches/fredrik/tp5_1.gif
0ed7c2999400d26d34a81a682e09bb99 ./sprites/scubasteve/pisga0.gif
0ed7c2999400d26d34a81a682e09bb99 ./sprites/scubasteve/pisge0.gif
116fe0ffcc16f8684beab64d31970dc0 ./sprites/chang/plsgb0.gif
116fe0ffcc16f8684beab64d31970dc0 ./sprites/chang/rubyplas/rplgb0.gif
13e07c23f6e579f2749ccefd4d1bcd52 ./sprites/saint_of_killers/oldspos/sposg2g8.gif
13e07c23f6e579f2749ccefd4d1bcd52 ./sprites/saint_of_killers/pretouchup/sposg2g8.gif
1410c4a3b03bf44c38a3b0fc4883b480 ./patches/fredrik/new/hekawoof/patches/rw10_3.gif
1410c4a3b03bf44c38a3b0fc4883b480 ./patches/fredrik/rw10_3.gif
1427c3dc480ae27c030d9d8fb6dd48f0 ./sprites/saint_of_killers/spos_pre_touchup2/sposc5.gif
1427c3dc480ae27c030d9d8fb6dd48f0 ./sprites/saint_of_killers/spos_pre_touchup/sposc5.gif
1460953a34901ec70eabdddaa271eafc ./sprites/saint_of_killers/spos_pre_touchup2/sposb1.gif
1460953a34901ec70eabdddaa271eafc ./sprites/saint_of_killers/spos_pre_touchup/sposb1.gif
19850c4d6b36a933c60e720c164551bf ./sprites/julian/bskua0.gif
19850c4d6b36a933c60e720c164551bf ./sprites/julian/bskub0.gif
1b471b33bc50fbd45e7a0c9d475e9853 ./sprites/linguica/bossa8.gif
1b471b33bc50fbd45e7a0c9d475e9853 ./sprites/linguica/bossh8.gif
1c17ddcbe61f81073cc31049733aa2fc ./flats/espi/floor7_2.gif
1c17ddcbe61f81073cc31049733aa2fc ./patches/espi/floor7_2.gif
1cec1ad836e4147bc1ebf7d935c21e32 ./patches/fredrik/new/hekawoof/patches/rw25_1.gif
1cec1ad836e4147bc1ebf7d935c21e32 ./patches/fredrik/rw25_1.gif
1d792bef88ce6a925765caeb52999bac ./patches/fredrik/new/hekawoof/patches/w113_2.gif
1d792bef88ce6a925765caeb52999bac ./patches/fredrik/w113_2.gif
1d7bb5d2891d234402c18b79955e45c0 ./sprites/ajapted/sswve5.gif
1d7bb5d2891d234402c18b79955e45c0 ./sprites/ajapted/sswvf5.gif
1dc96653939d9639dbbcde2873d87954 ./sprites/nightfang/heada3a7.gif
1dc96653939d9639dbbcde2873d87954 ./sprites/nightfang/heade3e7.gif
1fd5807034e2cd0df0b4bf0785b42dbd ./patches/fredrik/new/hekawoof/patches/rp2_2.gif
1fd5807034e2cd0df0b4bf0785b42dbd ./patches/fredrik/rp2_2.gif
1fe41be9d72a992518425a1c81df6313 ./sprites/fredrik/misga0.gif
1fe41be9d72a992518425a1c81df6313 ./sprites/fredrik/misgb0.gif
2025483eb161e8e77ff4e3d57a3c16c1 ./sprites/railgunner/new/graphics/stfkill4.gif
2025483eb161e8e77ff4e3d57a3c16c1 ./sprites/railgunner/new/graphics/stfouch4.gif
20f95a35299d0869d85fb2b72d35d199 ./flats/tarin/cail1_3x.gif
20f95a35299d0869d85fb2b72d35d199 ./flats/tarin/ceil1_3.gif
21f8bc967bb537e46b4392682f27ac42 ./sprites/espi/pisga0.gif
21f8bc967bb537e46b4392682f27ac42 ./sprites/espi/pisge0.gif
226531c256a7ddd2fd7fec6baea6a0c1 ./graphics/kinkyfriend/stfst21.gif
226531c256a7ddd2fd7fec6baea6a0c1 ./graphics/kinkyfriend/stfst22.gif
24c3a187f11eeed877942ced80c0499f ./graphics/ajapted/brdr_b.gif
24c3a187f11eeed877942ced80c0499f ./graphics/ajapted/brdr_t.gif
24e9dc4e785b6354cae41e064754d933 ./patches/fredrik/new/hekawoof/patches/tp7_2.gif
24e9dc4e785b6354cae41e064754d933 ./patches/fredrik/tp7_2.gif
26b7edda248b06e5d4ea6775c4cc7f01 ./sprites/scubasteve/sarga2a8.gif
26b7edda248b06e5d4ea6775c4cc7f01 ./sprites/scubasteve/sargd2d8.gif
26b7edda248b06e5d4ea6775c4cc7f01 ./sprites/scubasteve/sarge2e8.gif
26b7edda248b06e5d4ea6775c4cc7f01 ./sprites/scubasteve/sargf2f8.gif
26b7edda248b06e5d4ea6775c4cc7f01 ./sprites/scubasteve/sargg2g8.gif
279e425a020ceec7a031adaabc3f0c35 ./sprites/scubasteve/sargm0.gif
279e425a020ceec7a031adaabc3f0c35 ./sprites/scubasteve/sargn0.gif
2814a315bc3b64b363cc5796ee3bb14f ./sprites/saint_of_killers/spos_pre_touchup2/sposa1.gif
2814a315bc3b64b363cc5796ee3bb14f ./sprites/saint_of_killers/spos_pre_touchup/sposa1.gif
28870f49460e9ae3d12aeae1527abad8 ./sprites/fredrik/skulc8c2.gif
28870f49460e9ae3d12aeae1527abad8 ./sprites/fredrik/skuld8d2.gif
28d91e5e9eebe76a7040df67f1d2d7e3 ./sprites/railgunner/new/graphics/stkeys0.gif
28d91e5e9eebe76a7040df67f1d2d7e3 ./sprites/railgunner/new/graphics/stkeys3.gif
2a4e3ccabcd26f1b635b45bc82bdbb47 ./sprites/mouse/bspib2b8.gif
2a4e3ccabcd26f1b635b45bc82bdbb47 ./sprites/mouse/bspie2e8.gif
2af229a8ce70eb5852c450577aad38b7 ./sprites/railgunner/new/graphics/stkeys2.gif
2af229a8ce70eb5852c450577aad38b7 ./sprites/railgunner/new/graphics/stkeys5.gif
2c42d89202a98f1b7f086ce19bb7cade ./sprites/saint_of_killers/oldspos/sposg1.gif
2c42d89202a98f1b7f086ce19bb7cade ./sprites/saint_of_killers/pretouchup/sposg1.gif
2d38144157cf64f0366c389867b82fee ./sprites/saint_of_killers/oldspos/sposp0.gif
2d38144157cf64f0366c389867b82fee ./sprites/saint_of_killers/pretouchup/sposp0.gif
2d38144157cf64f0366c389867b82fee ./sprites/saint_of_killers/spos_pre_touchup/sposp0.gif
2f9087853a9016aab91e0eb4cf961669 ./sprites/geekmarine/cpose1.gif
2f9087853a9016aab91e0eb4cf961669 ./sprites/geekmarine/cposf1.gif
2fdd58848fe5f3106eaec4c099ddacd7 ./sprites/mouse/bspia2a8.gif
2fdd58848fe5f3106eaec4c099ddacd7 ./sprites/mouse/bspid2d8.gif
2fe627e9be9824fd9b31a90f0bc69e3d ./sprites/saint_of_killers/spos_pre_touchup2/sposa4a6.gif
2fe627e9be9824fd9b31a90f0bc69e3d ./sprites/saint_of_killers/spos_pre_touchup/sposa4a6.gif
30244c4e522814e7fd28a2a495a857b4 ./patches/fredrik/new/hekawoof/patches/tp7_1.gif
30244c4e522814e7fd28a2a495a857b4 ./patches/fredrik/tp7_1.gif
331842a7913ebe8e74d269eecbbf821a ./flats/fraggle/flat23.gif
331842a7913ebe8e74d269eecbbf821a ./patches/fraggle/w13_1.gif
3375dfc9ec269bf38afd87fea7d8955d ./sprites/fredrik/green/shtgb0.gif
3375dfc9ec269bf38afd87fea7d8955d ./sprites/fredrik/shtga0.gif
3375dfc9ec269bf38afd87fea7d8955d ./sprites/fredrik/shtgb0.gif
3613ee55bf0e3e90f992b2e5a5f8ae17 ./sprites/saint_of_killers/oldspos/sposk0.gif
3613ee55bf0e3e90f992b2e5a5f8ae17 ./sprites/saint_of_killers/pretouchup/sposk0.gif
38ea558f82ae947ba38403af027ff4f5 ./patches/fredrik/new/hekawoof/patches/tp3_2.gif
38ea558f82ae947ba38403af027ff4f5 ./patches/fredrik/tp3_2.gif
3984cdebbfe63cf90d475a73b7ee309d ./sprites/fredrik/oldskag/bfe1f0.gif
3984cdebbfe63cf90d475a73b7ee309d ./sprites/fredrik/oldskag/bfe2d0.gif
398a46ce77b48f439e1dddfe771efd53 ./patches/fredrik/new/hekawoof/patches/w113_1.gif
398a46ce77b48f439e1dddfe771efd53 ./patches/fredrik/w113_1.gif
3bdfe8fc1b912b96dc0f07af6d13f82d ./graphics/ajapted/brdr_bl.gif
3bdfe8fc1b912b96dc0f07af6d13f82d ./graphics/ajapted/brdr_br.gif
3bdfe8fc1b912b96dc0f07af6d13f82d ./graphics/ajapted/brdr_tl.gif
3bdfe8fc1b912b96dc0f07af6d13f82d ./graphics/ajapted/brdr_tr.gif
3ee3f0f4323abcdead9cb762a332db75 ./patches/fredrik/new/hekawoof/patches/rp2_1.gif
3ee3f0f4323abcdead9cb762a332db75 ./patches/fredrik/rp2_1.gif
406a49d131e90eee8500f694cb0ba2d0 ./sprites/linguica/bossa6.gif
406a49d131e90eee8500f694cb0ba2d0 ./sprites/linguica/bossh6.gif
41751713b64b5d882fd3f827457684b9 ./patches/fredrik/new/hekawoof/patches/wall62_2.gif
41751713b64b5d882fd3f827457684b9 ./patches/fredrik/wall62_2.gif
421e36b4c4aabb13069ca750859e4d95 ./sprites/pov/skula5.gif
421e36b4c4aabb13069ca750859e4d95 ./sprites/pov/skulb5.gif
424c3585651971b6329c476756a77047 ./patches/maonth/support2.gif
424c3585651971b6329c476756a77047 ./patches/maonth/support2x.gif
45f5aedb86c8ed061f78a39dc51be796 ./patches/fredrik/new/hekawoof/patches/tp3_1.gif
45f5aedb86c8ed061f78a39dc51be796 ./patches/fredrik/tp3_1.gif
467a5612480bf2701838a291b4e58106 ./flats/fraggle/slime11.gif
467a5612480bf2701838a291b4e58106 ./flats/fraggle/slime12.gif
4794ca578df723e75062519e1ae24a21 ./sprites/saint_of_killers/oldspos/sposh0.gif
4794ca578df723e75062519e1ae24a21 ./sprites/saint_of_killers/pretouchup/sposh0.gif
47e3977e97bf36ddd4244888eb7e3109 ./sprites/mouse/bspic4c6.gif
47e3977e97bf36ddd4244888eb7e3109 ./sprites/mouse/bspif4f6.gif
49484f9d0857206a570315783d8a319d ./sprites/railgunner/gspcrip/sprites/sht2a0.gif
49484f9d0857206a570315783d8a319d ./sprites/railgunner/gspcrip/sprites/sht2i0.gif
49484f9d0857206a570315783d8a319d ./sprites/railgunner/gspcrip/sprites/sht2j0.gif
4af8081bbd64bbed3eb5a50fa2adad5c ./sprites/saint_of_killers/oldspos/sposg4g6.gif
4af8081bbd64bbed3eb5a50fa2adad5c ./sprites/saint_of_killers/pretouchup/sposg4g6.gif
4ee5b5ed7c0d72d1e74e84cf4f7475e4 ./sprites/saint_of_killers/spos_pre_touchup2/spose1.gif
4ee5b5ed7c0d72d1e74e84cf4f7475e4 ./sprites/saint_of_killers/spos_pre_touchup/spose1.gif
4fd51390824c62bf8457f5939e48d798 ./sprites/fraggle/keeng0.gif
4fd51390824c62bf8457f5939e48d798 ./sprites/fraggle/keenk0.gif
501733dd082f836d531d03b979158037 ./patches/fredrik/new/hekawoof/patches/support2.gif
501733dd082f836d531d03b979158037 ./patches/fredrik/support2.gif
50e6f0a5c0f4f5c9ba77fcd8390a12d2 ./flats/espi/lavab.gif
50e6f0a5c0f4f5c9ba77fcd8390a12d2 ./flats/espi/lavad.gif
5383c26da8ec7b50737a73c1e4d135d1 ./sprites/mouse/bspia3a7.gif
5383c26da8ec7b50737a73c1e4d135d1 ./sprites/mouse/bspid3d7.gif
540f151642a34153a82b86bc5d93a811 ./patches/fredrik/new/patches/wall22_1.gif
540f151642a34153a82b86bc5d93a811 ./patches/fredrik/wall22_1.gif
54ba82b14a7c49629d3513694381839e ./sprites/mouse/bspic3c7.gif
54ba82b14a7c49629d3513694381839e ./sprites/mouse/bspif3f7.gif
54beb24eea81421056317634d92d9673 ./sprites/railgunner/new/graphics/stfkill1.gif
54beb24eea81421056317634d92d9673 ./sprites/railgunner/new/graphics/stfouch1.gif
54fe3cc5bbc321b74d85a54ef37c3072 ./sprites/saint_of_killers/spos_pre_touchup2/sposf1.gif
54fe3cc5bbc321b74d85a54ef37c3072 ./sprites/saint_of_killers/spos_pre_touchup/sposf1.gif
5867ade3888ced110875b23508bf4f30 ./sprites/saint_of_killers/spos_pre_touchup2/sposb4b6.gif
5867ade3888ced110875b23508bf4f30 ./sprites/saint_of_killers/spos_pre_touchup/sposb4b6.gif
5940f7b46a543b61ad239ae938e20822 ./sprites/mellow/shtga0.gif
5940f7b46a543b61ad239ae938e20822 ./sprites/mellow/shtgb0.gif
5940f7b46a543b61ad239ae938e20822 ./sprites/mellow/shtgc0.gif
59c32abec8b72a0b7d1f54d3bcc5952c ./sprites/saint_of_killers/spos_pre_touchup2/spose4e6.gif
59c32abec8b72a0b7d1f54d3bcc5952c ./sprites/saint_of_killers/spos_pre_touchup/spose4e6.gif
5ab708b6d153c10f9014fc40a4085bdb ./sprites/fredrik/oldskag/bfgga0.gif
5ab708b6d153c10f9014fc40a4085bdb ./sprites/fredrik/oldskag/bfggb0.gif
5ab708b6d153c10f9014fc40a4085bdb ./sprites/fredrik/oldskag/bfggc0.gif
5ba26880290e419d6dab198440479a62 ./sprites/julian/yskua0.gif
5ba26880290e419d6dab198440479a62 ./sprites/julian/yskub0.gif
5c55a24cc144ee399f9f7c5ce3d1ccef ./sprites/saint_of_killers/spos_pre_touchup2/sposc1.gif
5c55a24cc144ee399f9f7c5ce3d1ccef ./sprites/saint_of_killers/spos_pre_touchup/sposc1.gif
5f8d14f21037cc8cc9c995a0bec789ea ./sprites/linguica/bossa3.gif
5f8d14f21037cc8cc9c995a0bec789ea ./sprites/linguica/bossh3.gif
5f8d85b64ef674fe48d1fb78a7093088 ./sprites/railgunner/bfe1c0.gif
5f8d85b64ef674fe48d1fb78a7093088 ./sprites/railgunner/bfe2b0.gif
5face6d07c3844728019dc08c4207aeb ./patches/fredrik/new/hekawoof/patches/wall02_3.gif
5face6d07c3844728019dc08c4207aeb ./patches/fredrik/wall02_3.gif
6250366273e69dc0f34075d998eb84d1 ./sprites/chang/plsfb0.gif
6250366273e69dc0f34075d998eb84d1 ./sprites/chang/rubyplas/rplgf0.gif
634826635baa47c17ce30b521d10011b ./sprites/nightfang/heada5.gif
634826635baa47c17ce30b521d10011b ./sprites/nightfang/heade5.gif
6410e1a70de656b3b8296b21948fa65b ./sprites/nightfang/headb4b6.gif
6410e1a70de656b3b8296b21948fa65b ./sprites/nightfang/headf4f6.gif
647de645d159ae398145d2ba90dcb22a ./patches/fredrik/new/hekawoof/patches/rw38_3.gif
647de645d159ae398145d2ba90dcb22a ./patches/fredrik/rw38_3.gif
6624d5c60a6ea68c761525bfdd955310 ./sprites/linguica/bossf4.gif
6624d5c60a6ea68c761525bfdd955310 ./sprites/linguica/bossg4.gif
6fd2186f387e4459e4b7db31c78de694 ./patches/fredrik/new/hekawoof/patches/w113_3.gif
6fd2186f387e4459e4b7db31c78de694 ./patches/fredrik/w113_3.gif
706bab3a05dd062b37c7d9f2848f664f ./graphics/ajapted/m_lgttl.gif
706bab3a05dd062b37c7d9f2848f664f ./graphics/ajapted/m_loadg.gif
72d7e9cde4b60b9658eb97182c1ef425 ./sprites/nrkn/tblub0.gif
72d7e9cde4b60b9658eb97182c1ef425 ./sprites/nrkn/tblud0.gif
73045256ed427b77d30b72034a9a940e ./sprites/saint_of_killers/spos_pre_touchup2/spose5.gif
73045256ed427b77d30b72034a9a940e ./sprites/saint_of_killers/spos_pre_touchup/spose5.gif
7a0fce46761fc529d3c8682a662e31ea ./sprites/saint_of_killers/spos_pre_touchup2/sposd4d6.gif
7a0fce46761fc529d3c8682a662e31ea ./sprites/saint_of_killers/spos_pre_touchup/sposd4d6.gif
7a288410a2b9e9abf5701d1b70828a3d ./sprites/railgunner/new/graphics/stfst00.gif
7a288410a2b9e9abf5701d1b70828a3d ./sprites/railgunner/new/graphics/stfst01.gif
7a288410a2b9e9abf5701d1b70828a3d ./sprites/railgunner/new/graphics/stfst02.gif
7c700f1b85fca697a380fd056004523f ./sprites/saint_of_killers/oldspos/sposr0.gif
7c700f1b85fca697a380fd056004523f ./sprites/saint_of_killers/pretouchup/sposr0.gif
7c700f1b85fca697a380fd056004523f ./sprites/saint_of_killers/spos_pre_touchup/sposr0.gif
7d1a3c195682befb5b8865e92ba3282e ./sprites/railgunner/new/graphics/stfkill0.gif
7d1a3c195682befb5b8865e92ba3282e ./sprites/railgunner/new/graphics/stfouch0.gif
7d6a0f42a386e7c4b42ef479dc84fc0a ./sprites/nightfang/heada1.gif
7d6a0f42a386e7c4b42ef479dc84fc0a ./sprites/nightfang/heade1.gif
82521ebf395cb245a1a6cdf99bb00f57 ./sprites/geekmarine/cpose2e8.gif
82521ebf395cb245a1a6cdf99bb00f57 ./sprites/geekmarine/cposf2f8.gif
82c325b24535c88f7731cd78824304c7 ./sprites/saint_of_killers/spos_pre_touchup2/spose2e8.gif
82c325b24535c88f7731cd78824304c7 ./sprites/saint_of_killers/spos_pre_touchup/spose2e8.gif
842da23e95798a850bb059d808b6d4df ./sprites/geekmarine/cpose3e7.gif
842da23e95798a850bb059d808b6d4df ./sprites/geekmarine/cposf3f7.gif
8666f6349110fd18e29da5da9c7d4658 ./graphics/ajapted/brdr_l.gif
8666f6349110fd18e29da5da9c7d4658 ./graphics/ajapted/brdr_r.gif
8671f07f720ef3aeac379539b0f8df88 ./sprites/saint_of_killers/oldspos/sposi0.gif
8671f07f720ef3aeac379539b0f8df88 ./sprites/saint_of_killers/pretouchup/sposi0.gif
86dbf88737e52b254ac4513923977422 ./sprites/nightfang/headc5.gif
86dbf88737e52b254ac4513923977422 ./sprites/nightfang/headd5.gif
8732ace72553071ad26c887d00f697fd ./sprites/fraggle/keenh0.gif
8732ace72553071ad26c887d00f697fd ./sprites/fraggle/keenj0.gif
886ae5d4fe257cab2a0d7708439b791b ./sprites/saint_of_killers/oldspos/sposm0.gif
886ae5d4fe257cab2a0d7708439b791b ./sprites/saint_of_killers/pretouchup/sposm0.gif
8ac92f4031693c263dce1b2385a65d5e ./sprites/fredrik/skulc1.gif
8ac92f4031693c263dce1b2385a65d5e ./sprites/fredrik/skuld1.gif
8aec8fcd94594422deb660b5222f3527 ./sprites/airraid/new/pol4a0.gif
8aec8fcd94594422deb660b5222f3527 ./sprites/airraid/pol4a0.gif
8af3d92e7b722cb3795d4462d2060935 ./sprites/saint_of_killers/spos_pre_touchup2/sposd3d7.gif
8af3d92e7b722cb3795d4462d2060935 ./sprites/saint_of_killers/spos_pre_touchup/sposd3d7.gif
8d27d6c8ca6e2473a5661cd11f9b4a86 ./patches/fredrik/new/hekawoof/patches/rp1_2.gif
8d27d6c8ca6e2473a5661cd11f9b4a86 ./patches/fredrik/rp1_2.gif
8dc5bd99423f3a50491992f5073e882e ./patches/fredrik/new/hekawoof/patches/tp5_3.gif
8dc5bd99423f3a50491992f5073e882e ./patches/fredrik/tp5_3.gif
8f197668b754c18b24fd2810c3b767ab ./sprites/saint_of_killers/spos_pre_touchup2/sposd1.gif
8f197668b754c18b24fd2810c3b767ab ./sprites/saint_of_killers/spos_pre_touchup/sposd1.gif
8f47c93abf88a5bc04d302c9f1c3a7e2 ./sprites/fredrik/skula5.gif
8f47c93abf88a5bc04d302c9f1c3a7e2 ./sprites/fredrik/skulb5.gif
8f47c93abf88a5bc04d302c9f1c3a7e2 ./sprites/fredrik/skulc5.gif
8f47c93abf88a5bc04d302c9f1c3a7e2 ./sprites/fredrik/skuld5.gif
91506a810224a78549f461aa4a69aee5 ./patches/spinspyder/rw48_1.gif
91506a810224a78549f461aa4a69aee5 ./patches/spinspyder/rw48_3.gif
9447fc5536e5bbe302da8c9d03c7e70f ./sprites/nightfang/heada4a6.gif
9447fc5536e5bbe302da8c9d03c7e70f ./sprites/nightfang/heade4e6.gif
94ee75f7652d705fa76ab758466b8cff ./sprites/geekmarine/cpose4e6.gif
94ee75f7652d705fa76ab758466b8cff ./sprites/geekmarine/cposf4f6.gif
952264e44140f3c6644e541ae6b7a70e ./sprites/saint_of_killers/oldspos/sposu0.gif
952264e44140f3c6644e541ae6b7a70e ./sprites/saint_of_killers/pretouchup/sposu0.gif
952264e44140f3c6644e541ae6b7a70e ./sprites/saint_of_killers/spos_pre_touchup/sposu0.gif
967f58108e1d980b42a4693665e9fbff ./sprites/julian/rskua0.gif
967f58108e1d980b42a4693665e9fbff ./sprites/julian/rskub0.gif
96f38dd2770a617d92117f00774837ab ./sprites/saint_of_killers/spos_pre_touchup2/spose3e7.gif
96f38dd2770a617d92117f00774837ab ./sprites/saint_of_killers/spos_pre_touchup/spose3e7.gif
98596e30688315d5695598b933119a5c ./sprites/geekmarine/cpost0.gif
98596e30688315d5695598b933119a5c ./sprites/saint_of_killers/playw0.gif
985e5445b55f3bd16e536a23094953d7 ./sprites/scubasteve/sarga5.gif
985e5445b55f3bd16e536a23094953d7 ./sprites/scubasteve/sargd5.gif
985e5445b55f3bd16e536a23094953d7 ./sprites/scubasteve/sarge5.gif
985e5445b55f3bd16e536a23094953d7 ./sprites/scubasteve/sargf5.gif
985e5445b55f3bd16e536a23094953d7 ./sprites/scubasteve/sargg5.gif
98ba8af3770b6df6358c16a7daf28b19 ./sprites/chang/plsfa0.gif
98ba8af3770b6df6358c16a7daf28b19 ./sprites/chang/rubyplas/rplgd0.gif
98d958d6b84b8b5ec6f45e75daebc212 ./flats/espi/blood2.gif
98d958d6b84b8b5ec6f45e75daebc212 ./flats/espi/bloodb.gif
9c59247a19c2134614fc69e02351bb16 ./flats/espi/lava4.gif
9c59247a19c2134614fc69e02351bb16 ./flats/espi/lavaa.gif
9ca5c8c34e224fac2fea6f57401af323 ./sprites/saint_of_killers/spos_pre_touchup2/sposd2d8.gif
9ca5c8c34e224fac2fea6f57401af323 ./sprites/saint_of_killers/spos_pre_touchup/sposd2d8.gif
9ea5f6d88fb85336d785c6d93bf2161f ./patches/fredrik/new/hekawoof/patches/wall02_1.gif
9ea5f6d88fb85336d785c6d93bf2161f ./patches/fredrik/wall02_1.gif
a0a9a5de6e51f7c411fb9f906ec639f7 ./sprites/fredrik/oldskag/bfe1e0.gif
a0a9a5de6e51f7c411fb9f906ec639f7 ./sprites/fredrik/oldskag/bfe2c0.gif
a183c9546434c89972ea59b83afeff52 ./sprites/geekmarine/cpose5.gif
a183c9546434c89972ea59b83afeff52 ./sprites/geekmarine/cposf5.gif
a1a3446546a0b877e0b3ef31b6b5cdcc ./sprites/linguica/bossn0.gif
a1a3446546a0b877e0b3ef31b6b5cdcc ./sprites/linguica/bosso0.gif
a326e76d80fb927b17c348fadca15539 ./graphics/jayextee/stcfn048.gif
a326e76d80fb927b17c348fadca15539 ./graphics/jayextee/stcfn079.gif
a5a99d5c47858679cedf57b909084b94 ./sprites/railgunner/new/graphics/m_lgttl.gif
a5a99d5c47858679cedf57b909084b94 ./sprites/railgunner/new/graphics/m_loadg.gif
a6051a274e49cf44394cd3352cd2d11c ./sprites/saint_of_killers/oldspos/sposj0.gif
a6051a274e49cf44394cd3352cd2d11c ./sprites/saint_of_killers/pretouchup/sposj0.gif
a6c79f919ed1373f1420242b3cf069d7 ./sprites/linguica/bossa2.gif
a6c79f919ed1373f1420242b3cf069d7 ./sprites/linguica/bossh2.gif
aabae9b04732cbef24052b1bfcb60b65 ./sprites/saint_of_killers/spos_pre_touchup2/sposf2f8.gif
aabae9b04732cbef24052b1bfcb60b65 ./sprites/saint_of_killers/spos_pre_touchup/sposf2f8.gif
abfe50bc22d88cad87ae81ad185ad75e ./sprites/espi/pisgb0.gif
abfe50bc22d88cad87ae81ad185ad75e ./sprites/espi/pisgd0.gif
ac5a9210bce3498518c2bbb1ecb5ca33 ./patches/fredrik/new/hekawoof/patches/tp5_2.gif
ac5a9210bce3498518c2bbb1ecb5ca33 ./patches/fredrik/tp5_2.gif
b2c4c608a50159734e009471211974e1 ./sprites/mouse/bspib3b7.gif
b2c4c608a50159734e009471211974e1 ./sprites/mouse/bspie3e7.gif
b4559ba40542bcb92cec818a1a0f1aa3 ./sprites/scubasteve/sarga1.gif
b4559ba40542bcb92cec818a1a0f1aa3 ./sprites/scubasteve/sargg1.gif
b53703952ecc673fa63b33f637c53949 ./patches/fredrik/new/hekawoof/patches/rp2_3.gif
b53703952ecc673fa63b33f637c53949 ./patches/fredrik/rp2_3.gif
b6a8aa5dd1cab75d8df00b16a5b175ad ./sprites/railgunner/new/graphics/stfevl3.gif
b6a8aa5dd1cab75d8df00b16a5b175ad ./sprites/railgunner/new/graphics/stfst32.gif
b98b692f091b265ae03103666ba8bb54 ./patches/fredrik/new/hekawoof/patches/rw25_3.gif
b98b692f091b265ae03103666ba8bb54 ./patches/fredrik/rw25_3.gif
b9eeaa8aec9a0100f236dd373e68ff53 ./sprites/fraggle/keenf0.gif
b9eeaa8aec9a0100f236dd373e68ff53 ./sprites/fraggle/keenl0.gif
ba88245e54af0162b597704dc31e98d5 ./sprites/nightfang/heada2a8.gif
ba88245e54af0162b597704dc31e98d5 ./sprites/nightfang/heade2e8.gif
bac6836d4369d84d5b65507a9e8cc85e ./sprites/linguica/sargf1.gif
bac6836d4369d84d5b65507a9e8cc85e ./sprites/linguica/sargf2.gif
bc77592e58545e7e7ef6414445a45df5 ./sprites/nightfang/headb5.gif
bc77592e58545e7e7ef6414445a45df5 ./sprites/nightfang/headf5.gif
bcc8cd00efb38c10c2df4add6af0e5e7 ./patches/fredrik/new/hekawoof/patches/tp5_4.gif
bcc8cd00efb38c10c2df4add6af0e5e7 ./patches/fredrik/tp5_4.gif
bcfe92bfe975d01039c920d8f7e33abd ./patches/fredrik/new/hekawoof/patches/rp1_1.gif
bcfe92bfe975d01039c920d8f7e33abd ./patches/fredrik/rp1_1.gif
bd7573217d517d44198df1e079c61930 ./graphics/ajapted/m_saveg.gif
bd7573217d517d44198df1e079c61930 ./graphics/ajapted/m_sgttl.gif
bdfe84d36a8d78d6c372bc02c9167a6b ./sprites/railgunner/new/graphics/m_option.gif
bdfe84d36a8d78d6c372bc02c9167a6b ./sprites/railgunner/new/graphics/m_optttl.gif
c0c6de9def67392f7e9f4c2df4a8adea ./patches/fredrik/new/hekawoof/patches/rw10_4.gif
c0c6de9def67392f7e9f4c2df4a8adea ./patches/fredrik/rw10_4.gif
c1d4de9bb746ba9dac636e6c6c96d1b9 ./sprites/fredrik/bfe1e0.gif
c1d4de9bb746ba9dac636e6c6c96d1b9 ./sprites/fredrik/bfe2c0.gif
c1eed2f139bc1df997af053159053d5a ./sprites/nrkn/tgrnb0.gif
c1eed2f139bc1df997af053159053d5a ./sprites/nrkn/tgrnd0.gif
c24bcd041e28168083fa842b1b6c51ac ./sprites/mouse/bspia4a6.gif
c24bcd041e28168083fa842b1b6c51ac ./sprites/mouse/bspid4d6.gif
c3bccec65f5648ae7a2d3a8b08d0d4fc ./sprites/railgunner/gspcrip/sprites/chgga0.gif
c3bccec65f5648ae7a2d3a8b08d0d4fc ./sprites/railgunner/gspcrip/sprites/chggb0.gif
c51b09f00d5a130300101e0385cbe49e ./sprites/fredrik/bfe1f0.gif
c51b09f00d5a130300101e0385cbe49e ./sprites/fredrik/bfe2d0.gif
c8eacb0b770d1e880079b654060b1347 ./sprites/railgunner/gspcrip/sprites/sht2b0.gif
c8eacb0b770d1e880079b654060b1347 ./sprites/railgunner/gspcrip/sprites/sht2h0.gif
cbc4c01c63fdce510cdda1c3e2cad920 ./sprites/railgunner/bfe1b0.gif
cbc4c01c63fdce510cdda1c3e2cad920 ./sprites/railgunner/bfe2a0.gif
cd2434142b05a73f0a7d6c5e269b6e57 ./sprites/scubasteve/sarga3a7.gif
cd2434142b05a73f0a7d6c5e269b6e57 ./sprites/scubasteve/sargd3d7.gif
cd2434142b05a73f0a7d6c5e269b6e57 ./sprites/scubasteve/sarge3e7.gif
cd2434142b05a73f0a7d6c5e269b6e57 ./sprites/scubasteve/sargf3f7.gif
cd2434142b05a73f0a7d6c5e269b6e57 ./sprites/scubasteve/sargg3g7.gif
cde1112dd88cf00bc504fd6813855d35 ./patches/fredrik/new/hekawoof/patches/wall02_2.gif
cde1112dd88cf00bc504fd6813855d35 ./patches/fredrik/wall02_2.gif
d34e8c750bf72a0dbc8f5003cfcdb991 ./patches/spinspyder/wolf4.gif
d34e8c750bf72a0dbc8f5003cfcdb991 ./patches/spinspyder/wolf7.gif
d3c6784ec57b961e4386eb0754376fb2 ./patches/mellow/rwdm11b.gif
d3c6784ec57b961e4386eb0754376fb2 ./patches/mellow/rwdm11d.gif
d449012e97f339265735bc0b3efe31c9 ./sprites/linguica/bossa7.gif
d449012e97f339265735bc0b3efe31c9 ./sprites/linguica/bossh7.gif
d7c9ee2e91d2a733457e4b49947008e7 ./sprites/fredrik/skulb6b4.gif
d7c9ee2e91d2a733457e4b49947008e7 ./sprites/fredrik/skulc6c4.gif
d7c9ee2e91d2a733457e4b49947008e7 ./sprites/fredrik/skuld6d4.gif
d7fe5b8f77637f75d806a876661a003f ./sprites/saint_of_killers/oldspos/sposs0.gif
d7fe5b8f77637f75d806a876661a003f ./sprites/saint_of_killers/pretouchup/sposs0.gif
d7fe5b8f77637f75d806a876661a003f ./sprites/saint_of_killers/spos_pre_touchup/sposs0.gif
d876ed2338b48cb804d66f5ec49a3a9e ./sprites/saint_of_killers/spos_pre_touchup2/sposb2b8.gif
d876ed2338b48cb804d66f5ec49a3a9e ./sprites/saint_of_killers/spos_pre_touchup/sposb2b8.gif
d9b791cc9469f457bbb58e3929ba4513 ./patches/fredrik/new/hekawoof/patches/rw25_4.gif
d9b791cc9469f457bbb58e3929ba4513 ./patches/fredrik/rw25_4.gif
db3910c703b722fa5d67d4bfdbad7c3a ./patches/fredrik/new/hekawoof/patches/rw10_2.gif
db3910c703b722fa5d67d4bfdbad7c3a ./patches/fredrik/rw10_2.gif
dd66e17b564728ed57aea215c0d64bfd ./sprites/saint_of_killers/spos_pre_touchup2/sposc2c8.gif
dd66e17b564728ed57aea215c0d64bfd ./sprites/saint_of_killers/spos_pre_touchup/sposc2c8.gif
de9d85ed8d18de9ff0a9302bf483395a ./patches/fredrik/new/hekawoof/patches/tp2_1.gif
de9d85ed8d18de9ff0a9302bf483395a ./patches/fredrik/tp2_1.gif
df0f0c21f613c212c01ec20e1ce09cf3 ./patches/fredrik/new/patches/wall23_2.gif
df0f0c21f613c212c01ec20e1ce09cf3 ./patches/fredrik/wall23_2.gif
df7a46d335471446200e1a0d7435dce7 ./sprites/saint_of_killers/oldspos/sposn0.gif
df7a46d335471446200e1a0d7435dce7 ./sprites/saint_of_killers/pretouchup/sposn0.gif
df7a46d335471446200e1a0d7435dce7 ./sprites/saint_of_killers/spos_pre_touchup/sposn0.gif
df7fdd0485b37052dd9e44db8a364ba3 ./sprites/railgunner/new/graphics/m_saveg.gif
df7fdd0485b37052dd9e44db8a364ba3 ./sprites/railgunner/new/graphics/m_sgttl.gif
e1bf8a0cd4bfe99775d9b7da22a5ddde ./sprites/railgunner/new/graphics/stkeys1.gif
e1bf8a0cd4bfe99775d9b7da22a5ddde ./sprites/railgunner/new/graphics/stkeys4.gif
e2626e14acaaa88a492d57281b84febc ./patches/fredrik/new/hekawoof/patches/rw25_2.gif
e2626e14acaaa88a492d57281b84febc ./patches/fredrik/rw25_2.gif
e64c474b410848effaf60a1a93db2dee ./sprites/linguica/bossa1.gif
e64c474b410848effaf60a1a93db2dee ./sprites/linguica/bossh1.gif
e6f0e15c8f56b55db0c39cef1b16cc31 ./sprites/saint_of_killers/spos_pre_touchup2/sposa5.gif
e6f0e15c8f56b55db0c39cef1b16cc31 ./sprites/saint_of_killers/spos_pre_touchup/sposa5.gif
e706930a93481398d0b4d55c5b08bbbe ./sprites/chang/plsga0.gif
e706930a93481398d0b4d55c5b08bbbe ./sprites/chang/rubyplas/rplga0.gif
e8f6ab615c41c14e6a6ba6eed30d251e ./patches/fredrik/new/hekawoof/patches/tp2_2.gif
e8f6ab615c41c14e6a6ba6eed30d251e ./patches/fredrik/tp2_2.gif
ea2df314da6e032ec4549b3a5c45f87c ./sprites/railgunner/new/graphics/m_newg.gif
ea2df314da6e032ec4549b3a5c45f87c ./sprites/railgunner/new/graphics/m_ngame.gif
eab10d0bba171ef39de004bec62b8a84 ./sprites/railgunner/bfe1e0.gif
eab10d0bba171ef39de004bec62b8a84 ./sprites/railgunner/bfe1f0.gif
eab10d0bba171ef39de004bec62b8a84 ./sprites/railgunner/bfe2d0.gif
eb43d0b4da495bafbeabbaa7ee194b28 ./sprites/saint_of_killers/oldspos/spost0.gif
eb43d0b4da495bafbeabbaa7ee194b28 ./sprites/saint_of_killers/pretouchup/spost0.gif
eb43d0b4da495bafbeabbaa7ee194b28 ./sprites/saint_of_killers/spos_pre_touchup/spost0.gif
eb7ed1e4e71514a79e8318205b614352 ./sprites/fredrik/skulc7c3.gif
eb7ed1e4e71514a79e8318205b614352 ./sprites/fredrik/skuld7d3.gif
ebbe9b205d64d7e78eef58518d055b81 ./sprites/railgunner/new/graphics/stfkill3.gif
ebbe9b205d64d7e78eef58518d055b81 ./sprites/railgunner/new/graphics/stfouch3.gif
ebe3f45b1b8adab4715239e78dda2659 ./sprites/pov/skulc5.gif
ebe3f45b1b8adab4715239e78dda2659 ./sprites/pov/skuld5.gif
eef26ce24f511d4542a90051b6207aa3 ./flats/tarin/floor4_8.gif
eef26ce24f511d4542a90051b6207aa3 ./patches/tarin/wall03_7.gif
f127debe8e6038c4ef771c2f8a30e7ad ./patches/fredrik/new/hekawoof/patches/rp2_4.gif
f127debe8e6038c4ef771c2f8a30e7ad ./patches/fredrik/rp2_4.gif
f14003ba23c0c04932c216f8c8a64f8b ./patches/fredrik/new/hekawoof/patches/wall62_1.gif
f14003ba23c0c04932c216f8c8a64f8b ./patches/fredrik/wall62_1.gif
f214bdab35431bac82a6416f74a999b8 ./sprites/saint_of_killers/oldspos/sposq0.gif
f214bdab35431bac82a6416f74a999b8 ./sprites/saint_of_killers/pretouchup/sposq0.gif
f214bdab35431bac82a6416f74a999b8 ./sprites/saint_of_killers/spos_pre_touchup/sposq0.gif
f3c1902d16b69cad511b1b09ad4700ed ./sprites/railgunner/bfe1d0.gif
f3c1902d16b69cad511b1b09ad4700ed ./sprites/railgunner/bfe2c0.gif
f69fcf3d5cb33c795d00076d767a7e31 ./sprites/linguica/bossa5.gif
f69fcf3d5cb33c795d00076d767a7e31 ./sprites/linguica/bossh5.gif
fae14e8f612fabcb95bef25b6af01507 ./graphics/dummy.gif
fae14e8f612fabcb95bef25b6af01507 ./patches/dummy.gif
fae14e8f612fabcb95bef25b6af01507 ./sprites/dummy-blank.gif
fba87cbfd9f1195993ee375828180279 ./flats/espi/blood3.gif
fba87cbfd9f1195993ee375828180279 ./flats/espi/bloodd.gif
fcb8d28c22aefea98e1e093cc22b74d2 ./sprites/geekmarine/cposs0.gif
fcb8d28c22aefea98e1e093cc22b74d2 ./sprites/saint_of_killers/playt0.gif
fdc44edc7913a30dc48e75c3e83fd60d ./sprites/saint_of_killers/oldspos/sposo0.gif
fdc44edc7913a30dc48e75c3e83fd60d ./sprites/saint_of_killers/pretouchup/sposo0.gif
fdc44edc7913a30dc48e75c3e83fd60d ./sprites/saint_of_killers/spos_pre_touchup/sposo0.gif
fef590d14e8267a5e37d61c2e7b34f08 ./patches/fredrik/new/hekawoof/patches/rw10_1.gif
fef590d14e8267a5e37d61c2e7b34f08 ./patches/fredrik/rw10_1.gif
ff71d43ab323ce1f026ff1fbda1298e2 ./sprites/saint_of_killers/spos_pre_touchup2/sposb5.gif
ff71d43ab323ce1f026ff1fbda1298e2 ./sprites/saint_of_killers/spos_pre_touchup/sposb5.gif
ff79b03f5ce8d52ba9087ea56a13cf7c ./sprites/saint_of_killers/oldspos/sposl0.gif
ff79b03f5ce8d52ba9087ea56a13cf7c ./sprites/saint_of_killers/pretouchup/sposl0.gif

View File

@ -0,0 +1,19 @@
#!/usr/bin/env ruby
IO.popen("find -type f -name '*.gif' | xargs md5sum |sort") do |proc|
lastline = ''
lastsum = ''
proc.each_line do |s|
s =~ /^(\w+)/
sum = $1
if sum == lastsum
print lastline
puts s
lastline = ''
else
lastsum = sum
lastline = s
end
end
end

41
cleanup/find-redundant.rb Normal file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env ruby
#
# Find possibly redundant files for removal
valid_files = {}
# all files in the top level dir
for file in Dir.glob("*")
valid_files[File.expand_path(file)] = 1
end
# all files in immediate subdirs and the files they link to
for file in Dir.glob("*/*")
stat = File.lstat(file)
if stat.symlink?
valid_files[File.expand_path(file)] = 1
linked = File.readlink(file)
linked = File.dirname(file) + "/" + linked
linked = File.expand_path(linked)
valid_files[linked] = 1
end
end
# seek out invalid files and build a list
puts "<ul>"
IO.popen("find") do |proc|
proc.each_line do |s|
s = s.chomp
s.sub!(/^\.\//, '')
# ignore text files, non-file
if s !~ /txt$/i && File.stat(s).file? && !valid_files[File.expand_path(s)]
puts "<li> <a href='#{s}'>#{s}</a>"
end
end
end
puts "</ul>"

3578
cleanup/gif-md5sums Normal file

File diff suppressed because it is too large Load Diff

2028
cleanup/maybe_redundant.html Normal file

File diff suppressed because it is too large Load Diff

103
deutex_noshrink_patch Normal file
View File

@ -0,0 +1,103 @@
diff -u deutex-4.4.0/src/deutex.c deutex/deutex-4.4.0/src/deutex.c
--- deutex-4.4.0/src/deutex.c 2000-01-03 11:32:47.000000000 -0500
+++ deutex/deutex-4.4.0/src/deutex.c 2002-08-06 11:24:12.000000000 -0400
@@ -85,6 +85,7 @@
static Bool fullSND;
static Bool WSafe;
static Bool George;
+Bool shrink_sounds = 1;
#endif /*DeuTex*/
char trnR,trnG,trnB;
picture_format_t picture_format = PF_NORMAL;
@@ -454,6 +455,11 @@
((int)trnR&0xFF),((int)trnG&0xFF),((int)trnB&0xFF));
(void)argc;
}
+void COMnoshrink(int argc, const char *argv[])
+{
+ shrink_sounds = 0;
+ (void)argc;(void)argv;
+}
void COMle (int argc, const char *argv[])
{
@@ -726,6 +732,7 @@
{OPT,0,"wav", COMwave, NULL, "save sound as wave (.wav)"},
{OPT,0,"voc", COMvoc, NULL, "save sound as voc (.voc)"},
{OPT,0,"fullsnd", COMfullsnd,NULL, "save sound lumps beyond declared length"},
+ {OPT,0,"noshrink", COMnoshrink,NULL, "do not adjust sound effects to be 11025 Hz always"},
{OPT,0,"levels", COMlevel, NULL, "select levels"},
{OPT,0,"lumps", COMlump , NULL, "select lumps"},
diff -u deutex-4.4.0/src/sound.c deutex/deutex-4.4.0/src/sound.c
--- deutex-4.4.0/src/sound.c 1999-12-30 18:20:22.000000000 -0500
+++ deutex/deutex-4.4.0/src/sound.c 2002-08-06 11:27:33.000000000 -0400
@@ -30,6 +30,8 @@
#include "sound.h"
#include "text.h"
+extern Bool shrink_sounds;
+
/*compile only for DeuTex*/
#if defined DeuTex
@@ -402,31 +404,39 @@
case SNDVOC: data=SNDloadVocFile(file,&datasize,&speed);break;
default: Bug("sndcw");
}
- rate = (11025L<<8)/((Int32)speed);
- soundsize= (datasize*rate)>>8;
- rate = ((Int32)speed<<8)/11025L;
- if(speed>11025)
- { Warning("shrinking %ld to 11025 sample/s",speed);
- for(s=0;s<soundsize;s++)
- { d= (s*rate)>>8; /* (s*((Int32)speed))/11025;*/
- data[s]= data[d];
+
+ if (shrink_sounds) {
+ rate = (11025L<<8)/((Int32)speed);
+ soundsize= (datasize*rate)>>8;
+ rate = ((Int32)speed<<8)/11025L;
+ if(speed>11025)
+ { Warning("shrinking %ld to 11025 sample/s",speed);
+ for(s=0;s<soundsize;s++)
+ { d= (s*rate)>>8; /* (s*((Int32)speed))/11025;*/
+ data[s]= data[d];
+ }
+ data=(char *)Realloc(data,soundsize);
}
- data=(char *)Realloc(data,soundsize);
- }
- else if(speed < 11025)
- { Warning("expanding %ld to 11025 sample/s",speed);
- data=(char *)Realloc(data,soundsize);
- for(s=soundsize-1;s>=0;s--)
- { d= (s*rate)>>8;
- data[s]= data[d];
+ else if(speed < 11025)
+ { Warning("expanding %ld to 11025 sample/s",speed);
+ data=(char *)Realloc(data,soundsize);
+ for(s=soundsize-1;s>=0;s--)
+ { d= (s*rate)>>8;
+ data[s]= data[d];
+ }
}
+ else /*11025*/
+ { soundsize=datasize;
+ }
+
+ speed = 11025;
+ } else { /* shrink_sounds */
+ soundsize = datasize;
}
- else /*11025*/
- { soundsize=datasize;
- }
+
if(soundsize>0)
{ size= WADRwriteShort(info,3);
- size+=WADRwriteShort(info,11025);
+ size+=WADRwriteShort(info,speed);
size+=WADRwriteLong(info,soundsize);
size+=WADRwriteBytes(info,data,soundsize);
}

17
extract-pnames.pl Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env perl
use strict;
my %patches;
while (<>) {
if (/^\*/) {
my ($name) = /^\*\s+(\w+)/;
$name = uc $name;
$patches{$name} = 1;
}
}
print "; autogenerated patch list\n\n";
foreach (sort keys %patches) { print "$_\n"; }

BIN
flats/airraid/ceil3_1.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
flats/airraid/ceil3_2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
flats/airraid/ceil3_3.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
flats/airraid/ceil3_4.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
flats/airraid/ceil4_1.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
flats/airraid/ceil4_2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
flats/airraid/ceil4_3.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
flats/airraid/comp01.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
flats/airraid/flat10.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
flats/airraid/flat22.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
flats/airraid/flat3.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
flats/airraid/flat5.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
flats/airraid/flat5_4.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
flats/airraid/flat9.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
flats/airraid/floor1_6.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
flats/airraid/floor1_7.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
flats/airraid/mflr8_2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

5
flats/airraid/readme.txt Normal file
View File

@ -0,0 +1,5 @@
Hey. Some more flats done.
The rrock14 flat is a direct rip from nb_nmares rw23_3 wall patch.
AirRaid

BIN
flats/airraid/rrock01.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
flats/airraid/rrock02.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
flats/airraid/rrock14.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
flats/airraid/rrock19.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
flats/airraid/rrock20.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
flats/airraid/tlite6_4.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

1
flats/blood1.gif Symbolic link
View File

@ -0,0 +1 @@
espi/blood1.gif

1
flats/blood2.gif Symbolic link
View File

@ -0,0 +1 @@
espi/blood2.gif

1
flats/blood3.gif Symbolic link
View File

@ -0,0 +1 @@
espi/blood3.gif

1
flats/blooda.gif Symbolic link
View File

@ -0,0 +1 @@
espi/blooda.gif

1
flats/bloodb.gif Symbolic link
View File

@ -0,0 +1 @@
espi/bloodb.gif

1
flats/bloodc.gif Symbolic link
View File

@ -0,0 +1 @@
espi/bloodc.gif

1
flats/bloodd.gif Symbolic link
View File

@ -0,0 +1 @@
espi/bloodd.gif

1
flats/bloode.gif Symbolic link
View File

@ -0,0 +1 @@
espi/bloode.gif

1
flats/ceil1_1.gif Symbolic link
View File

@ -0,0 +1 @@
maonth/ceil1_1.gif

1
flats/ceil1_2.gif Symbolic link
View File

@ -0,0 +1 @@
tarin/ceil1_2.gif

1
flats/ceil1_3.gif Symbolic link
View File

@ -0,0 +1 @@
tarin/ceil1_3.gif

1
flats/ceil3_1.gif Symbolic link
View File

@ -0,0 +1 @@
espi/ceil3_1.gif

1
flats/ceil3_2.gif Symbolic link
View File

@ -0,0 +1 @@
espi/ceil3_2.gif

1
flats/ceil3_3.gif Symbolic link
View File

@ -0,0 +1 @@
espi/ceil3_3.gif

1
flats/ceil3_4.gif Symbolic link
View File

@ -0,0 +1 @@
espi/ceil3_4.gif

1
flats/ceil3_5.gif Symbolic link
View File

@ -0,0 +1 @@
espi/ceil3_5.gif

1
flats/ceil3_6.gif Symbolic link
View File

@ -0,0 +1 @@
espi/ceil3_6.gif

1
flats/ceil4_1.gif Symbolic link
View File

@ -0,0 +1 @@
airraid/ceil4_1.gif

1
flats/ceil4_2.gif Symbolic link
View File

@ -0,0 +1 @@
airraid/ceil4_2.gif

1
flats/ceil4_3.gif Symbolic link
View File

@ -0,0 +1 @@
airraid/ceil4_3.gif

1
flats/ceil5_1.gif Symbolic link
View File

@ -0,0 +1 @@
tarin/ceil5_1.gif

1
flats/ceil5_2.gif Symbolic link
View File

@ -0,0 +1 @@
espi/ceil5_2.gif

1
flats/comp01.gif Symbolic link
View File

@ -0,0 +1 @@
airraid/comp01.gif

1
flats/cons1_1.gif Symbolic link
View File

@ -0,0 +1 @@
locust/cons1_1.gif

1
flats/cons1_5.gif Symbolic link
View File

@ -0,0 +1 @@
locust/cons1_5.gif

1
flats/cons1_7.gif Symbolic link
View File

@ -0,0 +1 @@
locust/cons1_7.gif

1
flats/cons1_9.gif Symbolic link
View File

@ -0,0 +1 @@
locust/cons1_9.gif

1
flats/cratop1.gif Symbolic link
View File

@ -0,0 +1 @@
fredrik/cratop1.gif

1
flats/cratop2.gif Symbolic link
View File

@ -0,0 +1 @@
fredrik/cratop2.gif

1
flats/dem1_1.gif Symbolic link
View File

@ -0,0 +1 @@
espi/dem1_1.gif

1
flats/dem1_2.gif Symbolic link
View File

@ -0,0 +1 @@
espi/dem1_2.gif

1
flats/dem1_3.gif Symbolic link
View File

@ -0,0 +1 @@
espi/dem1_3.gif

Some files were not shown because too many files have changed in this diff Show More