This eliminates another author-name directory. PLAYPAL and COLORMAP
generation are separate operations that are really only very vaguely
related to one another. Move these into separate, logically-named
directories.
As part of this we eliminate the symlinks for the PLAYPAL and various
colormap lump files, and instead copy these into the parent directory
for use by deutex. This brings further progress on #202.
- Remove the extraneous secret room accessible right from the start.
- Increase the floor height of sector holding the red fake key, so it
is better visible from the outside.
- Entirely remove the dull rectangular sector that once surrounded the
Doom logo.
- Change the texture of the wall leading to the backpack secret.
- Remove the teleport from the super-secret room (accessible from the
backpack secret) that lead to the northern-most sector behind the
bars, instead add a switch to the super-secret room to lower the three
bars on the left of that sector.
- The three bars on the right of that sector are now lowered when the
switch lowering the fake red key and unveiling the real red key is
activated.
- Move the invisible secret switch revealing the rocket launcher
secret to the switch at the northern end of the northern-most
corridor (it is still hard enough to discover, after all).
- The three eastern blue bars are now directly switchable (just as
their western counterparts), remove switches from the walls on
either sides.
- Turn the sector surrounding the yellow key back into damaging lava
(it is in a hell area after all), but leave it escapable.
- Also, turn the sector surrounding the rocket launcher back into
damaging nukage.
- Replace the two Barons guarding the red key by Cacodemons.
- Replace a stuck demon in the yellow key area by a Chaingunner.
- Change linedef on lift into yellow/red key area to type 88.
- Baptize the map "Waste Water Basin" in 'lumps/fraggle/freedoom.bex'.
TODO: Thing placement!
A fairly short unskilled demo played with keyboard-only. Although the
map doesn't actually fully work in vanilla, I got killed before
problems would actually arise by playing it back in vanilla.
Division behaves differently in Python 2 and Python 3; in Python 3, an
integer is converted to a float when divided. To get consistent and
deterministic behavior regardless of the version of Python being used,
use the // integer division operator for this one calculation.
A couple of scripts were not Python 3 compatible. Update smtextgen to
use print() instead of bare print, and update the texture build script
to use the correct binary mode for writing binary files.
Tweak the code used to build the GENMIDI Lump so that it properly
supports Python 3 for build. Tested use cases were:
* Normal build
* a2i-to-sbi script to convert AdTrack2 instruments to SBI format
* dumpgenmidi script to dump the instruments from a GENMIDI lump.
* Running genmidi.py, sbi_file.py, a2i_file.py standalone to print the
contents of files in their respective formats.
The Wolfenstein 3D homages have been removed, and these names were
also based on Wolf3D. Removing them to make it clearer that the
levels need new names.
In ZDoom-based ports, this removes the text intermission screens
that are intended to show story text (which is redundant for FreeDM).
It also makes the game loop back to MAP01 after MAP30 so that you can
keep playing endlessly.
Unfortunately this doesn't work in Odamex or ZDaemon, but it has been
tested in ZDoom and Zandronum. Odamex and ZDaemon are based on an
older version of ZDoom that does not support the newer MAPINFO
syntax, only an older, Hexen-style syntax. This old syntax does not
appear to be sufficient to accomplish what is desired here - at least,
not without potentially breaking things like Dehacked patches that
change the level name.
This fixes#111.
Github now provides encrypted https: access to its github.io pages.
Use the https: equivalent URL instead of the unencrypted http:
version. Update the CREDIT screen text to do the same.
The C5TEXT and C6TEXT messages had custom messages for particular
levels that are no longer present in those slots now that the FreeDM
level order has changed. Change these so that they just match the
message shown for the other story screens instead.
On the dummy.wad level used as a stand-in for levels that don't
exist yet, show a computer sign on the wall that gives a brief
useful message encouraging people to contribute to the project.
ZDoom's dehacked parser actually is stricter than some other source
ports in requiring that these headers must be present if the
"Patch File for DeHackEd" header is present, and rejects files that
are missing them. Add these in so that the dehacked lumps load
properly.
Add some dummy texture entries that match the colormaps stored in the
single player IWADs. This allows levels that use colormaps to at least
be loaded in non-Boom compatible source ports, even though the rest of
the levels might not work properly. It doesn't seem to do any harm.
Having an arrow on the exit sign makes some levels confusing, as the
arrow can sometimes be pointing in the wrong direction or be
otherwise misleading. There is some discussion on Doomworld:
http://www.doomworld.com/vb/post/1303596
As the arrow version still looks quite nice, keep it around as a
second exit sign texture (EXITSGN2); include both the red and the
green versions.
BEX allows long string replacements to be continued onto multiple
lines by appending a \ to the end of the line to indicate that the
string continues on the next line. Make use of this syntax to split
some of the really long string replacements and make the DEHACKED
lumps more readable.
Chocolate Doom now has BEX [STRINGS] section support, but it must
be enabled using a magic comment inside the file. Add this comment
to the Freedoom DEHACKED lumps.
This commit applies a new ordering for FreeDM's levels, designed by Protox
and preserving the existing names and music used for the levels.
This Doomworld thread has some more information:
http://www.doomworld.com/vb/freedoom/69435-proposed-map-lineup-for-freedm/
Five of the existing levels were moved as they were judged not to meet
quality standards.
Summary of changes:
DM01 - Renamed to DM01
DM02 - Removed
DM03 - Renamed to DM15
DM04 - Renamed to DM08
DM05 - Renamed to DM27
DM06 - Renamed to DM18
DM07 - Renamed to DM07
DM08 - Renamed to DM10
DM09 - Renamed to DM28
DM10 - Renamed to DM13
DM11 - Removed
DM12 - Renamed to DM14
DM13 - Renamed to DM02
DM14 - Renamed to DM21
DM15 - Renamed to DM29
DM16 - Renamed to DM22
DM17 - Renamed to DM24
DM18 - Renamed to DM03
DM19 - Removed
DM20 - Removed
DM21 - Renamed to DM06
DM22 - Renamed to DM25
DM23 - Renamed to DM12
DM24 - Renamed to DM11
DM25 - Renamed to DM09
DM26 - Removed
DM27 - Renamed to DM17
DM28 - Renamed to DM23
DM29 - Renamed to DM04
DM30 - Renamed to DM30
DM31 - Renamed to DM16
DM32 - Renamed to DM26
DM33 - Renamed to DM05
DM34 - Renamed to DM31
DM35 - Renamed to DM32
This music sounded really horrible with Freedoom's GENMIDI lump, which
was a shame because this is a really beautiful level. So adjust a
couple of the more prominent instruments used for this music track:
* Instrument 104 (Sci-fi):
This instrument was using a frequency multiplier that put it 2
octaves and a 5th above, making it (intentionally, because it's
a "sci-fi" effect?) discordant. Rework this so that it isn't
discordant any more.
* Instrument 51 (SynthStrings #1):
This had a slow attack phase which had the effect of offsetting
the notes slightly, so that they seemed out of sync. Adjust this
and also increase the feedback so that the instrument sounds more
"stringy" (?)
Some of the instruments were using OPL3 waveforms, but GENMIDI is
for OPL2 chips and these are not necessarily supported. Adjust the
instrument settings to only use the original four OPL2 waveforms,
while trying to maintain something resembling the same sound.