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:
RevisionActionfile
1.13modifypkgsrc/games/doomlegacy/Makefile
1.3modifypkgsrc/games/doomlegacy/PLIST
1.12modifypkgsrc/games/doomlegacy/distinfo
1.1removepkgsrc/games/doomlegacy/files/p_blockmap.c
1.1removepkgsrc/games/doomlegacy/files/p_blockmap.h
1.1removepkgsrc/games/doomlegacy/files/p_extnodes.c
1.1removepkgsrc/games/doomlegacy/files/p_extnodes.h
1.4removepkgsrc/games/doomlegacy/patches/patch-src_Makefile
1.2removepkgsrc/games/doomlegacy/patches/patch-src_am__map.c
1.2removepkgsrc/games/doomlegacy/patches/patch-src_doomdata.h
1.2removepkgsrc/games/doomlegacy/patches/patch-src_dstrings.c
1.4removepkgsrc/games/doomlegacy/patches/patch-src_p__local.h
1.4removepkgsrc/games/doomlegacy/patches/patch-src_p__setup.c
1.3removepkgsrc/games/doomlegacy/patches/patch-src_r__defs.h