Commit graph

1111 commits

Author SHA1 Message Date
Simon Howard
b5d0a04088 Use print() for Python 3 compatibility.
This doesn't get everything working in Python 3 yet but it's a
start.
2014-02-04 02:12:50 +00:00
Simon Howard
83a44dbc39 patches: Restore original wall62_2 patch.
commit ddb0c98a44 (a long, long time ago) changed the
wall62_2 patch to a new version that was supposedly better. But
really it is much worse: the colors just look washed out and ugly.
Restore the original version of this patch from before the change.
2014-02-04 02:03:02 +00:00
Simon Howard
472ec7e7e5 colormap: Fix generated COLORMAP size.
In this old Doomworld thread, shadow1013 pointed out that some tools,
such as SLADE, do not recognize COLORMAP lumps unless they are
exactly the right size:
http://www.doomworld.com/vb/freedoom/58317-colormap-generation-bug/
2014-02-04 01:41:54 +00:00
Simon Howard
acdf59e1f0 dmxgus: Tweak similarity groups for main instruments.
The main instrument groupings were already pretty good but there
was some room for improvement. The generated configuration sounds
pretty good now, even when using the 256KB config.
2014-01-31 05:40:13 +00:00
Simon Howard
75cedb7193 dmxgus: Add comparison MID generator script.
This script generates a MIDI file that plays all of the comparison
groups from config.py. This allows instruments to be compared, so
that similar-sounding instruments can be grouped together.
2014-01-31 05:38:44 +00:00
RedZTag
47f0e551a7 sprites: Minor sprite fixes.
There are a couple of floating pixels away from the sprite that don't
appear to be part of it in : SKELC2F8 & SKELC4F6 & SKELC5F5 & SKELC6F4
& SKELG2 & SKELH2 & SKELI4 & SKELK1. They were removed.

White pixel in the bottom left corner of POSSE3E7 & POSSF4F6. White
pixel top left in POSSH0. Recoloured 'white' blood pixels to shades of
red in POSSI0.

Removed out of place white pixels in TROOD4D6 & TROOD5 & TROOE5 &
TROOF5 & TROOG4G6.
2014-01-30 06:46:10 +00:00
Simon Howard
929701a95f musics: Replace dummy MIDI track.
The dummy music track is a silent MIDI file that is used when a music
resource is not present. The old one caused Vanilla Doom to lock up,
the new one does not do this.
2014-01-30 03:35:26 +00:00
Simon Howard
e384cd2f2d patches: Replace w103_[12].
I made these textures in the early days of the project and I'm pretty
sure the symbols came from an animation on a website I found. The
symbols are pretty generic alchemical symbols but it still bothers
me on the rare occasion that I see the textures used in a level.
Recreate them using some public domain imagery in their place.
2014-01-30 01:24:56 +00:00
Simon Howard
c2394e86f2 dmxgus: Add 'do not edit' message.
As the DMXGUS lump is autogenerated, add an explicit instruction not
to edit the lump, as someone might do so, naively seeking to improve
it.
2014-01-29 05:28:10 +00:00
Simon Howard
61aaeeed1d dmxgus: Improve percussion groupings.
Regroup GUS percussion instruments based on personally having listened
to the samples in the GUS instrument set and identifying similar-
sounding instruments.
2014-01-29 05:07:21 +00:00
Simon Howard
ba7d80a188 dmxgus: Fix numbering of percussion instruments.
The indices of the percussion instruments were all off-by-one. These
should be 128+genmidi number, but were 127+ by mistake. This
considerably improves the percussion in Freedoom when using GUS.
2014-01-29 04:56:29 +00:00
Simon Howard
50da8daf49 textures: Add missing TNT texture definitions.
Add FALL3 texture definition needed for TNT compatibility, and add
extra texture definitions so that all the patches required for TNT
compatibility are included in the PNAMES list (and IWAD). Add
symlinks for TNT sky patches that just point to sky patches that we
already have. Fixes #43.
2014-01-27 00:08:11 +00:00
Simon Howard
ddbd396688 textures: Add textures.cfg as make dependency.
If textures.cfg changes, rebuild all texture lumps.
2014-01-26 22:07:13 +00:00
Simon Howard
085ced2434 textures: Add missing Plutonia texture definitions.
The Plutonia WAD includes some extra textures (and associated patches)
compared to the original doom2.wad. Add these missing textures, with
dummy "Plutonia versions" of textures where they conflict with
existing ones, so that we include all patches needed for compatibility.
Fixes #42.
2014-01-26 22:04:46 +00:00
Simon Howard
140b805857 graphics: Fix PFUB1.
Extend screen to the full 320x200; somehow the original was only
314 pixels wide.
2014-01-25 05:55:07 +00:00
Mike Swanson
706633ec59 make: VERSION variable can be set either via git or the VERSION file
Change up the shell line so that it can fallback on the VERSION file
if building without a Git repository (eg, from a release tarball).

Additionally, change the titlepic generation so that it uses this
single instance of setting VERSION rather than doing its own thing.
2014-01-22 19:32:25 -08:00
Mike Swanson
be70a52bec graphics: remove the date from the titlepic
This is a small step towards deterministic builds (#41). It's not very
useful information on its own: what it tells, you can gather by the
file modification date (which is preserved in the zip files), and even
better (the titlepic date was based on the builder's local time, not
UTC!). Some people have tended to refer to the date as well when
talking about what build they have, which is also unhelpful, multiple
commits can happen per day and the Version marker already uses git
describe for more accurate information.
2014-01-22 19:28:07 -08:00
Simon Howard
f99f800772 Merge branch 'master' of github.com:freedoom/freedoom 2014-01-23 03:09:33 +00:00
Protox
2af3361546 levels: Update DM22. 2014-01-23 03:09:00 +00:00
Mike Swanson
bb8a227c89 levels: allow wallrunning and move a teleporter pad
Rotated the level 270° to accomidate for a bug in the Doom engine that
allows superspeeds against some walls, abuse this bug in map01 on the
long edges :)

Also, move a teleporter exit in the Things room onto the pad sector
itself. This makes it so you don't just teleport back by strafing
right immediately.
2014-01-22 07:02:00 -08:00
Simon Howard
f76e05984a Fix git ignores for several generated files. 2014-01-22 05:47:06 +00:00
Catoptromancy
61644e2bec levels: Add Freedoom test level. 2014-01-22 05:44:26 +00:00
Simon Howard
693394f2f1 build: Fix M_STATUS text image.
The lump name in the config file was typoed as M_STATU, which was
incorrect.
2014-01-22 05:10:13 +00:00
Simon Howard
7b4a13bd7a build: Fix Makefile dependencies for freedoom.lmp.
The freedoom.lmp and freedm.lmp files must be created before the
wadinfo-builder script is run, otherwise these lumps might get
dummy substitutes.
2014-01-22 05:02:29 +00:00
Simon Howard
4a33ca69dc Merge branch 'master' of github.com:freedoom/freedoom 2014-01-22 04:55:13 +00:00
Simon Howard
8f2843caf7 patches: Add TNT Egyptian textures.
These are compatible recreations of the patch textures included in
tnt.wad for its Egyptian-themed MAP31.
2014-01-22 04:53:45 +00:00
Mike Swanson
4c4ad3ac37 Fix a botched merge conflict attempt
While harmless, my previous commit resolving a merge accidentally
resulted in Fabian's line being preserved at the end when it shouldn't
have been.
2014-01-20 06:30:26 -08:00
Mike Swanson
29695eb7ca Merge remote-tracking branch 'fabian/clean_pyc'
Conflicts:
	graphics/text/Makefile
2014-01-20 05:38:21 -08:00
Fabian Greffrath
d9c9b315e6 Remove Python byte-code in the clean rule. 2014-01-20 13:06:50 +01:00
Simon Howard
9c576e4d20 build: Don't include dummy patches for sprites.
Some of the textures in the textures configuration file use sprites
as patches. Because of this, the build system was inserting extra
dummy entries for these "missing" patches. Handle this corner case
and do not insert dummies for sprites. Fixes #40.
2014-01-20 03:58:36 +00:00
Simon Howard
92e475dc40 build: Fix Makefile dependencies for pnames.txt.
The wadinfo.txt files #include the pnames.txt file generated by the
texture builder: because of this, we must build subdirectories
before building the wadinfo.txt files.
2014-01-17 05:04:09 +00:00
Simon Howard
46568382e9 build: Include sprites in freedoom1.wad for compatibility.
The following unused sprites appeared in doom.wad: APBX, APLS, BOSF,
MANF. These are Doom 2 sprites. Although unused, they can be (and are)
used in mods. Include these in freedoom1.wad for compatibility.
This fixes #36.
2014-01-17 04:57:29 +00:00
Simon Howard
8e74d43b5f doc: Update BUILD-SYSTEM
Many of the details in this file are now obsolete. Update the
documentation to explain how things are now built (now that we have
a custom texture builder) and include details of some of the other
build scripts in subdirectories.
2014-01-17 04:33:35 +00:00
Simon Howard
71b30afa92 textures: Only include patches needed by textures.
Now that #1 is fixed, we can be certain that all patches needed for
compatibility are definitely being included in the PNAMES lists. It
therefore isn't necessary to include every patch in the patches/
directory in every WAD.

Extend the build-textures script to generate a text file containing
the list of PNAMES, and include this from the main config file. That
way, each IWAD only gets the patches it explicitly needs.
2014-01-17 03:59:52 +00:00
Catoptromancy
8226ee624d levels: Update DM19.
Fixes #31, and tweaks items and player starts.
2014-01-17 03:29:05 +00:00
Simon Howard
3fe7362c95 levels: Add DM20 level.
This is an old deathmatch level I made years ago.
2014-01-17 03:24:07 +00:00
Simon Howard
64801c1b45 build: Fix 'make clean'.
lumps/Makefile has been removed, but we were still trying to
make clean in that directory.
2014-01-17 01:23:34 +00:00
Simon Howard
d241e7f326 build: Fix 'make -j' handling.
Some build targets create multiple outputs, which can cause problems
when doing parallel builds. Clean up the build system so that all
subdir invocations come from the top-level Makefile and use $(MAKE).
Also fix the FREEDOOM/FREEDM lumps to really include the version
number by using $(shell ...) syntax.
2014-01-16 06:30:15 +00:00
Simon Howard
d9b4c2530a Merge branch 'master' of github.com:freedoom/freedoom 2014-01-16 04:39:07 +00:00
Simon Howard
82d90f8e8a textures: Rewrite Freedoom's texture build system.
Stop using deutex's built-in texture builder and generate our own
texture lumps. This is essential for compatibility reasons: the
entries in the texture/pnames lumps must match the order of those
in the original IWADs. Failure to match ordering means that some
well-known WADs (eg. DTWID) would not work with Freedoom.

This fixes #1, and also means that Freedoom can now be built in
parallel using make's '-j' option.
2014-01-16 04:18:22 +00:00
Protox
cbbb851d36 levels: new e2m1
Replaces the old map that copied the themes from the original Doom
E2M1, this is an original concept instead.

Signed-off-by: Mike Swanson <mikeonthecomputer@gmail.com>
2014-01-15 05:47:27 -08:00
Protox
462d079e38 levels: updated e1m6
Add monsters throughout the map, keyed door flags and the keys
themselves, and all-around fleshes it out. Resolves #33

Signed-off-by: Mike Swanson <mikeonthecomputer@gmail.com>
2014-01-15 04:56:27 -08:00
Simon Howard
1325800e86 graphics: Add animation for E3 end screen.
Use the END0-END6 graphics to make the marine on the PFUB2 animate,
firing a few shots towards the boss corpse.
2014-01-13 04:10:26 +00:00
Simon Howard
ebb999f995 graphics: Add endgame screen graphics.
Freedoom Phase 1 needs endgame screens for the ends of episodes
2, 3 and 4. Add some basic screens that are essentially just
screenshots from level 8 of each episode. Set END0-END6 to be the
dummy empty graphic so that the game doesn't crash after E3.

This (for the time being) fixes the most egregious problems in #32.
2014-01-13 03:07:14 +00:00
Mike Swanson
63567a234e README: Reflect name changes, use simpler language, talk about FreeDM
Freedoom has grown to no longer focus on any single IWAD anymore, in
addition to becoming more of its own entity than a simple Doom-clone.

Use somewhat simpler language in the README, rather than bombing with
a technical term like IWAD right from the start, in addition to
explaining a bit more about what being Doom-compatible means.

The FreeDM project has spent a bit too much time in the shadows, even
moreso than the more recent Ultimate Doom-compatible IWAD. Give it
some spot light in the README and officially document its special
adherance to vanilla-compatibility.

Finally, lowercase "free software", even the FSF doesn't capitalize it
and we aren't writing in German in this document.
2014-01-11 21:07:34 -08:00
Mike Swanson
89daa45840 The Great IWAD Renaming: unique file names for Freedoom
After some discussion and consensus[1], Freedoom's IWADs are now
uniquely named independently of Doom's file names:
 * freedoom1.wad: Phase 1
 * freedoom2.wad: Phase 2

The original intention was that Freedoom would be a complete drop-in
replacement for Doom, so that you can just use Freedoom's doom2.wad
rather than id Software's. What has happened, however, is that people
often desire to have Freedoom installed alongside Doom, and try to
uniquely identify it via filenames for multiplayer servers. This has
resulted in lengthy lists of unofficial IWAD file names implemented by
many engines to locate Freedoom, combined with gamers' personal
opinions on just how they should be renamed.

Even the Debian project, normally not one to modify upstream sources
so drastically, has been renaming our doom2.wad to freedoom.wad,
presumably so that Doom II can be installed simultaneously with
game-data-packager.

Given a free software engine, we can instead standardize on unique
names apart from Doom and get the majority of engines in use changed
over to these ones; users with engines that don't recognize the names
can instead use the near-universal -iwad command-line parameter, or
rename the files back to doom.wad or doom2.wad as needed.

[1] http://www.doomworld.com/vb/freedoom/66856-bikeshedding-renaming-freedooms-iwads/
2014-01-11 21:07:34 -08:00
Simon Howard
91890ea915 dehacked: Add level names for FreeDM. 2014-01-12 04:16:32 +00:00
Simon Howard
f21c24de36 levels: Swap DM15 and DM24.
DM24 has a secret exit, which causes the level to reset as it's not a
level that is supposed to have a secret exit. Swap it with DM15 so that
the levels progress through the MAP31/MAP32 secret levels.
This fixes #29.
2014-01-12 03:56:49 +00:00
Protox
fc2f648ac7 levels: Update DM16.
This was supposed to be in my previous commit but I accidentally
missed it out.
2014-01-12 02:46:36 +00:00
Protox
42fb083f18 levels: Add new deathmatch levels.
These new FreeDM levels fill all of the remaining slots.
2014-01-12 02:45:14 +00:00