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.
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.
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.
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.
Regroup GUS percussion instruments based on personally having listened
to the samples in the GUS instrument set and identifying similar-
sounding 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.
Add FALL3 texture definition needed for TNT compatibility, and add
extra texture definitions so that all the patches required for TNT
compatibility are included in the PNAMES list (and IWAD). Add
symlinks for TNT sky patches that just point to sky patches that we
already have. Fixes#43.
The Plutonia WAD includes some extra textures (and associated patches)
compared to the original doom2.wad. Add these missing textures, with
dummy "Plutonia versions" of textures where they conflict with
existing ones, so that we include all patches needed for compatibility.
Fixes#42.
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.
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.
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.
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.
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.
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.
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.
Now that #1 is fixed, we can be certain that all patches needed for
compatibility are definitely being included in the PNAMES lists. It
therefore isn't necessary to include every patch in the patches/
directory in every WAD.
Extend the build-textures script to generate a text file containing
the list of PNAMES, and include this from the main config file. That
way, each IWAD only gets the patches it explicitly needs.
Some build targets create multiple outputs, which can cause problems
when doing parallel builds. Clean up the build system so that all
subdir invocations come from the top-level Makefile and use $(MAKE).
Also fix the FREEDOOM/FREEDM lumps to really include the version
number by using $(shell ...) syntax.
Stop using deutex's built-in texture builder and generate our own
texture lumps. This is essential for compatibility reasons: the
entries in the texture/pnames lumps must match the order of those
in the original IWADs. Failure to match ordering means that some
well-known WADs (eg. DTWID) would not work with Freedoom.
This fixes#1, and also means that Freedoom can now be built in
parallel using make's '-j' option.
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>
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>
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.
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.
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/
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.
As part of #10, link in some music tracks to fit FreeDM's levels,
using some of the currently-unused MIDI tracks in the tree. The
choices are made based on my own subjective opinion to try to fit
the levels we have.
DM17 is still missing music, and there is no music for the empty
level slots. Generally, the best music tracks have been used for
the early levels and the later ones are not as good. There's still
a lot of room for improvement.