Commit graph

391 commits

Author SHA1 Message Date
Simon Howard
e38f120768 demos: Add stopgap demos for FreeDM.
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.
2014-02-13 01:59:58 +00:00
Simon Howard
6469238566 dehacked: Change intermission/story text.
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.
2014-02-09 22:01:23 +00:00
Simon Howard
ee03fb7b62 dehacked: Change Freedoom monster names.
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".
2014-02-09 20:59:49 +00:00
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
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
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
f76e05984a Fix git ignores for several generated files. 2014-01-22 05:47:06 +00: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
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
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
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
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
Simon Howard
91890ea915 dehacked: Add level names for FreeDM. 2014-01-12 04:16:32 +00:00
Simon Howard
ec9dcdd073 dehacked: Add dehacked file for FreeDM.
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.
2014-01-10 03:23:33 +00:00
Mike Swanson
c47a48975e Remove .gitignore from the contents of a .gitignore 2014-01-06 21:33:41 -08:00
Mike Swanson
c24337a00d Change Freedoom URL to GitHub 2014-01-01 15:01:46 -08:00
Simon Howard
813bd24655 dehacked: Add par time for MAP19.
Playthrough time for current version of MAP19 by Catoptromancy.
2014-01-01 02:44:41 +00:00
Simon Howard
5e37faf12f dehacked: Fix [strings].
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.
2014-01-01 01:48:09 +00:00
Simon Howard
950602dc4a dehacked: Add par times.
These are based on Catoptromancy's playthrough demos for the current
levels and (where not yet available) his older demos for the 0.7
release.
2014-01-01 01:41:25 +00:00
Catoptromancy
71d7922528 lumps: Record new Boom 2.02 demos for Doom 1 and 2. 2013-12-30 15:17:22 -08:00
Simon Howard
04e3c071a1 dehacked: Add name for E1M6.
This gives us a full set of level names for episode 1.
2013-12-30 22:57:01 +00:00
Simon Howard
54d41e44ee dehacked: Add level names.
These are some initial level names based on discussion on the Doomworld
Freedoom forum thread found here:
http://www.doomworld.com/vb/freedoom/66592-lets-name-freedooms-levels/
2013-12-30 22:36:52 +00:00
Simon Howard
17e44757cb dehacked: Add intermission text screens.
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.
2013-12-30 22:32:13 +00:00
Simon Howard
90fed22627 colormaps: Generate colormaps programatically.
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).
2013-12-22 17:07:17 +00:00
RjY
2aaad3eea8 Merge branch 'double_impact'
Conflicts:
	graphics/text/config.py
	lumps/fraggle/freedoom.bex
2013-12-18 12:20:45 +00:00
Simon Howard
1891b5e40b textgen: Set level names from DEHACKED lump.
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.
2013-12-14 16:34:01 -05:00
RjY
85a2eb44e2 text/dehacked: Double Impact map names, E4 episode title 2013-12-10 15:46:00 +00:00
RjY
f7674a2462 lumps: dmxgus: add .gitignore for ultramid.ini 2013-03-15 12:00:53 +00:00
Simon Howard
9a6a3b13b3 lumps: Add Makefile I forgot to include.
This was supposed to be in the previous commit.
2013-03-05 02:26:44 +00:00
Simon Howard
64198d7af1 lumps: Autogenerate optimized DMXGUS lump.
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.
2013-03-02 21:44:09 +00:00
Simon Howard
184be5bf61 Truncate playpal-base.lmp to just the main palette.
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.
2013-02-26 02:24:34 +00:00
Simon Howard
f5f2a419b5 Offset (almost) all instruments down one octave.
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.
2013-01-22 23:10:21 +00:00
RjY
4a46c23fde dehacked: do not refer to blue armour
Freedoom's "blue" armour is not actually blue. Avoid the issue
by calling the two types of armour "light" and "heavy" instead.
2012-05-18 20:22:56 +01:00
Simon Howard
a1608b3fc3 dmxgus: Add first attempt at GUS config.
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.
2012-01-09 22:30:38 +00:00
Simon Howard
b108fea226 genmidi: Fix waveform warnings for some instruments.
This tweaks some of the problem instruments to use only OPL2
waveforms, silencing the warnings and improving playback.
2012-01-07 00:15:02 +00:00
Simon Howard
04dd837169 genmidi: Pedantic fix to README
Thanks andrewj.
2012-01-04 16:54:48 +00:00
Simon Howard
ac1d81b4ff genmidi: Import remaining horncomposer changes.
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
2012-01-04 04:57:14 +00:00
Simon Howard
13df5cd47b genmidi: Detect null instruments when dumping. 2012-01-04 04:18:06 +00:00
Simon Howard
507931694e genmidi: Add some missing percussion instruments.
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.
2012-01-04 04:15:37 +00:00
Simon Howard
b6b9cf999e genmidi: Output fixed_note as constant value.
Generate output that uses the more readable constants from midi.py instead
of just a MIDI note number.
2012-01-04 01:47:49 +00:00
Simon Howard
b0253e3176 genmidi: Add GENMIDI dump script.
Helper script to dump the contents of a GENMIDI file into separate
SBI files and a configuration matching the format of config.py.
2012-01-04 01:36:49 +00:00
Simon Howard
3b96d7f1de genmidi: Split off GENMIDI code into separate file.
Split out code for handling the GENMIDI format into a separate genmidi.py
file. Add routine to load the contents of a GENMIDI lump.
2012-01-04 01:20:38 +00:00