These are a few very short demos recorded on FreeDM maps that do not
currently have any open bugs. This does not fix#15 but at least the
game won't crash in Vanilla for the time being, until we record some
proper deathmatch demos.
Use new "Phase 2" name and just refer to "episode n" rather than
"Freedoom episode n". Don't refer to "the elite guard" as we don't
have a story or know who they are, and give MAP07/MAP12 names based
on the text. Rewrite C6TEXT entirely to match the current MAP31/MAP32.
Some of these names do not match the sprites that we currently have
in the IWADs. Change to be more fitting names. Remove "hell" or
"undead" references as it's not clear that Freedoom's story has a
hell theme, and use "minigun" instead of "mini-gun".
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.
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.
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.
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.
FreeDM has different levels and therefore needs a different BEX
patch to the main project. Update the text generator to generate the
level name graphics for FreeDM based on the new BEX file.
Oops. Boom's dehacked parser requires an empty line to end the [pars]
section, otherwise the entire following section is interpreted as
par time instructions.
This replaces the default text screens with text screens more
relevant to Freedoom's level progression. The Double Impact end
text screen is imported in a modified form, and the episode 1-3
text screens ought to be considered temporary.
This replaces the statically generated colormaps with equivalent
colormap lumps that are generated by the colormap.py script (which now
has parameters to control the generated colormap).
Use the DEHACKED lump as a source of truth for level names, and set
the textgen configuration accordingly. Make the current level names
in the DEHACKED lump upper case so that the current ExMy/MAPxy names
look correct.
Replace the current poor-quality handcrafted GUS configuration with
a script that programatically generates an optimized configuration
file based on statistical analysis of music from various popular WAD
files.
The PLAYPAL generation script (playpal.py) generates the full PLAYPAL
lump from the base file, but this actually contained all the palettes.
Truncate to just the main one.
Thanks to Fabian Greffrath for reporting this.
With a couple of exceptions, the majority of OPL instruments sound
better when adjusted down by one octave. It seems likely that the
original BSD instruments were supposed to sound this way and we've
been playing the wrong notes all this time.
This is a functioning (but awful) configuration file for the
Gravis Ultrasound card, which is usually stored in the IWAD as
DMXGUS / DMXGUSC. I constructed this by hand, and at least it's
better than nothing. Also included is a sanity check script that
checks the configuration will fit in the memory limits of the card.
This adds the remaining changes from horncomposer's modified version
of the old GENMIDI lump. Details from his accompanying text file
follow:
2/6/11- Replaced Electric Piano 2 (patch 5) - with the high pitched attack :)
Replaced Acoustic Piano (patch 0) - Serves as model for other pianos
Replaced Bright Acoustic Piano (patch 1)
Replaced Electric Grand Piano (patch 2)
Replaced Honky-tonk piano (patch 3) - Added "out of tune"
Accidentally discovered a good Electic Piano 1 (patch 4) - with chorus
This adds a good number of the missing percussion instruments. These
come from a dump of Matt Cadirao (horncomposer)'s modified version of
the old GENMIDI lump.