Path to this page:
Subject: CVS commit: pkgsrc/games/doomlegacy
From: Michael Baeuerle
Date: 2022-01-17 16:10:15
Message id: 20220117151015.D3E59FB24@cvs.NetBSD.org
Log Message:
games/doomlegacy: Update to 1.48.10
FEATURES 1.48.10
• Support for DeepBSP V4 extended nodes (based on crispy doom). Also ZDoom
extended nodes (based on code from woof 1.2.0), supporting uncompressed,
and compressed nodes (when zlib is present). Allows playing several wads,
such as Avactor, and Lost Civilization, that are otherwise playable by
DoomLegacy, but use extended nodes for several of their maps. Code provided
by Michael Bäuerle (FR_0095).
• Added the blockmap generation code provided by Michael Bäuerle (FR_0096).
Some of the code is borrowed from crispy doom, altered a bit by Michael
Bäuerle to suit DoomLegacy, and then totally mangled by WJ.
A blockmap control has been put into the menu.
□ Vanilla: Load the blockmap, preserves blockmap tricks.
□ Large: On large blockmaps (error prone), Generate the blockmap instead.
□ Generate: Always Generate a blockmap.
□ Auto: Try to Load the blockmap, upon significant errors then Generate a
blockmap.
• The hardware sky draw (OpenGL, etc.) now uses the extended textures. The
scaling and alignment of the sky in hardware draw has been made consistent
with software draw. The sky movement from head turning is greatly reduced.
There is still some horizontal wander.
The hardware sky still does not change when the player is Invulnerable. The
hardware draw sky does not support the necessary multiple colormaps right
now.
• A dehacked thing translation command line switch, -dehthing. This selects
the dehacked translation for thing numbers in the range 138 to 150. This
overrides the Automatic translation detection.
□ legacy : DoomLegacy untranslated
□ boom : translate things according to Boom
□ prboom : Boom and Beta things
□ ee : Eternity Engine things
• A separate supplementary wad is provided that has dog sprites and sounds.
Specified before a wad, it provides default dog sprites and sounds.
Specified after a wad, it replaces the dog sprites in a wad.
• More ports now allow a second mouse. This allows using PC, mousesystems,
and PS2 type mice. The ports that have the second mouse support are SDL,
WIN32, and X11.
• The Linux X11 port got a total rewrite of sfx sound. It previously was only
supporting OSS sound, and ESD sound. Can now select between OSS, ALSA, ESD,
PulseAudio, and JACK sound devices using the sound menu. For music, can now
select between MIDI, TiMidity, FluidSynth, external MIDI, FM_Synth, and
AWE32_Synth, using the sound menu. This depends upon which support got
compiled into the program, as selected in the make_options file.
Many of the options are untested. The last two Synth options depend on
older specific sound cards, and will not be included in released binaries.
I have not managed to get a FluidSynth installation to work, I don't have
an external MIDI device to test with, and JACK wants to take over the
entire sound system.
BUG FIXES 1.48.10
• Added failure detection for setting drawmode from config file. If the
config file drawmode fails then use a window at native bpp. This used to
fail ungracefully.
• Improved Gcc10 compilation, eliminating most of the nuisance messages.
Fixed usages of snprintf, and strncpy. Fixed bug 0671.
• The Clang compiler caught some mistakes. The old code probably did work.
Fixed bug 0672.
• Fixed where the program is stuck in client mode. Once having tried to
connect as client, the program would not go back to server mode, not even
when starting a netgame as server. A symptom was the player wait count
being initialized to 99. Fixed to set server mode. Fixes bug 0677.
• Players were kicked during netgame when their blood splat setting was
different than the server. As it was desireable to allow players to turn
off blood splats independently of the server setting, this was fixed by
making the off code call P_Random appropriately. This also fixes a demo
consistency error. Fixes bug 0678.
• Changed the netgame repair function to correctly report differences in
random number settings for the server. The message syntax was only
appropriate for the client, displaying reversed server/client values at the
server.
• Adding extended nodes fixed several bugs. Fixes bug #657, due to DeepBSP V4
extended nodes. Fixes the segfault in Eviternity.wad Map15 and Map32, due
to use of uncompressed ZDoom extended nodes.
• Fixed dehacked code to read Avactor.wad dehacked lump. Increased the
dehacked buffer length to 1028. Made all the string comparisons caseless.
Adopted some logic from PrBoom and Eternity regarding exiting sections on a
blank line. Detect "//" lines as comments.
• Fixed the hardware draw to clip lights at 0..255. Some wad editors put in a
default light value of 256. This fixes some wads, like Avactor.wad, which
has light values of 256 for some sectors. These would show up as black
sectors. Most ports allow the light field to exceed 255, allowing some
lighting tricks (that few wads take advantage of).
• In Avactor.wad, there are an excessive number of BSP partition lines that
miss the subsector. In this case the hardware draw BSP must determine if
the subsector poly is to the right, or to the left of the divide line. This
must match the BSP partitioning, as those poly will be assigned to the
front sector, and back sector. Sometimes it was testing a vertex on the
divline, leading to the poly being assigned to the wrong subsector. This
fixes a missing floor in Avactor.wad (Map04, sector 1757).
• Fixed some bad subsector draws for hardware-draw in Avactor.wad (Map05
sector 1502). These were using the wrong sector to draw the subsector. For
the polygons that do not have a linedef as a side, there must be a search
of all linedefs to find one that indentifies the sector that this subsector
is within. The test needed to be more robust for large maps.
• Lost Civilization uses some masked textures on upper textures and single
sided walls. This is not entirely valid usage, but it happens. The software
render draws black in the missing portions of the texture. With hardware
render, OpenGL, this shows sky through the wall. Fixed the hardware render
to also draw black in this usage.
• Fixed the menu selected extra dogs, to be spawned using the correct type
code. This fix was revised three times, as more problems with dehacked dogs
arose. Fixes bug 0681.
• Fixed the rocket in Valiant.wad. It uses dehacked thing numbers from Beta
versions, that are valid in PrBoom, but in Doom Legacy they match thing
numbers for Dogs, smoke, and other Legacy specific things.
Implemented dehacked detection that translates these to more appropriate
DoomLegacy things. This affects dehacked things in Lost Civilization,
Avactor, Valiant, and especially antaxyz.
• Always include the missing sprite detect, from Debug. Often the dog sprite
is missing from the wad.
• Made Voodoo card support optional. The base code is no longer tied to
support for Glide.
• Fix Load savegame menu controls to allow ESCAPE from the Load savegame
after changing to another directory.
Files: