Commit graph

14 commits

Author SHA1 Message Date
micha
4ba6e9a58e games/doomlegacy: Build fix
Remove "-march=native" option.
This should unbreak bulk builds on 32-bit ARM architectures.

Bump PKGREVISION.
2021-01-18 09:41:07 +00:00
micha
962093c957 games/doomlegacy: Update to 1.48.8
Doom Legacy Changelog

1.48.8 SVN1568 (2020-12-19)

FEATURES 1.48.8

  * Sky generation has gotten a Vanilla setting. Sky drawing (software
    draw) now puts a solid texture above and below the sky, and no
    longer tiles the sky. The OpenGL sky draw has separate sky draw
    behavior.
  * The mouse2 serial support has been expanded to handle PC mice,
    MouseSystems mice, and PS/2 mice, for SDL and Win32 ports. The PC
    and MS mice have been tested. If anyone has found a way to route a
    PS/2 mouse, possibly on USB, to a serial port input, please let us
    know.

BUG FIXES 1.48.8

  * A savegame buffer overflow was fixed. An overflow prevention test
    had been misplaced. such that it could be avoided in some
    conditions. Fixes BUG 0667.
  * Cleaned out some of the accumulated cruft in sky drawing. Fixed sky
    tiling, and then made changes to prevent sky tiling.
  * Changed the software mode sky drawing to TM_picture format. This
    eliminates the line artifacts that were drawn above and below the
    sky, and restores the vertical alignment.
  * Limited the software sky drawing to the texture, so to not tile the
    sky draw. Created a skytop_flat for above the sky, and a ground_flat
    for below the sky. These are drawn when the viewed sky exceeds the
    bounds of the sky texture. For now, these flats are created as solid
    textures. Hardware draw has a separate sky draw behavior.
  * In the case of 200 or 240 sized sky textures (Heretic and Legacy
    substitutes), fixed the texture sky height so that the correct size
    TM_picture is created. Fixes BUG 0668.
  * Changed the freedoom wad names, avoiding doom wad names as that was
    conflicting with doom2 gamemode. Freedoom: "freedoom2.wad",
    "freedoom.wad", and "fdoom2.wad". Ultimate freedoom:
    "freedoom1.wad", "freedu.wad", "fdoomu.wad".
  * Fixed BUG 0670, Monsters mysteriously disappearing, moving large
    distances into the void space.
    This bug was introduced in the moonwalk patch (SVN 1540) by copying
    the opposite direction calculation code from PrBoom. This was done
    in an effort to reduce differences that might lead to bugs. It
    replaced a table lookup implementation. However, the PrBoom
    calculation must be guarded against the value DI_NODIR, which the
    table implementation could handle inherently. Without that
    protection, an olddir of DI_NODIR introduced a direction of 12 into
    the logic, which can only handle directions of 0..7, with NODIR=8.
    Several times a game that 12 value would survive long enough to get
    used, which would be expressed as a wild walk movement.
  * Improved the large blockmap handling to deal with more issues of
    blockmap overflow in the presence of zennode blockmap compression.
    It can now handle more maps of the Lost Civilization wad, although
    some other issues are still present.
  * The mouse2 support was found to be disabled and missing for the SDL
    port. It has been fixed, and expanded to handle PC mice,
    MouseSystems mice, and PS/2 mice, for SDL Linux, SDL Windows, and
    Win32 ports. Fixes BUG 0669.
  * Made LOGMESSAGES work again, which writes debugging logs. Release
    binaries do not have this code. If DoomLegacy is compiled with
    LOGMESSAGES enabled (doomdef.h file), a log.txt file will be
    produced. This is currently enabled when compiled with DEBUG.
  * Fixed the overlapped string copies detected by GCC 10.
    Fixes BUG 0671, Michael Bäuerle.
  * Reduced warnings when compiling with GCC 10. This was mostly due to
    signed char being used as an index, which may cause problems on some
    platforms. Fixes BUG 0671.
2021-01-04 16:40:59 +00:00
micha
9f54af7a95 games/doomlegacy: Remove old patches
They were merged upstream.
Thanks wiz@ for pointing out that I forgot to delete them from CVS.
2020-10-29 09:03:24 +00:00
micha
30abea8da5 games/doomlegacy: Update to 1.48.6
Update pkgsrc patches and remove the ones that were merged upstream.

Doom Legacy Changelog

1.48.6 SVN1550 (2020-09-09)

FEATURES 1.48.6

  * DoomLegacy can read zip archives (Linux Only, enabled by compile option
    ZIPWAD). When an load file is a zip archive, all loadable files within the
    archive are loaded. When searching for a known file, zip archives of the
    same name (but with .zip) are also searched.
    This uses library libzip. When built with compile option ZIPWAD_OPTIONAL,
    DoomLegacy detects if the libzip library is present on the user machine.
    This allows DoomLegacy to run without the feature, when the user does not
    have libzip.
    A libzip before version 1.2 does not have a seek function. A compile
    option will provide our own zip_seek function, so libzip 1.0 can be used.
  * Recorded Demos now include both the Version and Revision numbers, so
    revision specific behaviors can be enabled. DoomLegacy 1.48.6 has modified
    its native demo format, which is revision specific. Older demo formats are
    still playable.
  * Recognize and handle DeePsea Tall patches. Enabled with compile option
    DEEPSEA_TALL_PATCH. Michael Bauerle submitted the orignial patch, derived
    from crispy doom.

BUG FIXES 1.48.6

  * DoomLegacy and PrBoom monster infighting does not have missile
    invulnerability between monsters of the same species. Some other ports
    (Boom, MBF, Eternity engine) do not have the infight test, so their
    monsters are always invulnerable to missiles from their own species.
    Added another item to the infight control to select the behavior.
    Implements "Full Infight" setting with missile damage (Legacy, PrBoom).
    Implements other infight settings without missile damage (Boom, MBF,
    Eternity).
    Fixes BUG 0664.

    Added MBF infight logic, thats stops monsters from firing on friends.
  * Legacy demo would fail to start due to blocking the textcmd that loads the
    map.

    The Legacy 1.48.4 demo was recorded with player 0 issuing the map textcmd.
    Player 0 was not in the game yet, and this was detected as a textcmd from
    a non-existant player, which got caught by new security code. For textcmd
    issued before player 0 is in the game, the demo needs to use SERVER_PID.
    Fixed demo read to redirect player 0 demo textcmd to SERVER_PID.

    DoomLegacy 1.48 has a single long combined textbuf, containing the textcmd
    from all players. Within the combined textbuf, there are individual
    textcmd marked with the player id. Individual textcmd are still limited to
    255 chars as in an ordinary textbuf. The DoomLegacy 1.48.6 demo format has
    been changed to store the entire combined textbuf buffer into the player 0
    slot.
    This is simpler for recording and playback, has the same effect, and
    allows SERVER_PID textcmd, which the previous demo format did not.

    The commands to create a player (and other server actions) are now issued
    by SERVER_PID, where in older demos they were issued by player 0, before
    player 0 existed. DoomLegacy 1.48 has better protection against malicious
    network traffic than previous versions, and checking textcmd validity is
    part of the security protection. This fixes demo playback to work with the
    security checking.

    Changed the SERVER_PID to 250 now, for future expansion of players.

    This fixes bug 0665.
  * Fixed the moonwalk bug, where monsters would sometimes walk backward. This
    was due to a bad translation of an everything-in-one-expression to more
    maintainable code.
  * Make an oof sound when hit a 2s line, just like when hit a 1s line.
    Adopted from PrBoom, a Killough enhancement.
  * Make optional, and disabled, some old development hacks.
    Option DEVPARM_LOADING:
    Loaded development wads from a special directory. This used switches
    -wart, -devgame (even older -shdev, -regdev, -comdev).
    Option WADFILE_RELOAD:
    If a filename started with a tilde "~", it was taken as an indication to
    reload the file on every lump access. This was to enable leaving doom
    running while changing wad files.
    Option LOADING_DISK_ICON:
    Not implemented in any port anyway.
  * The Full Graphics startup was fragile, requiring constant fixing. Video
    startup now changes directly to the config modes, which is faster and
    cleaner. Removed some antiquated code and interactions, adopting an
    interface that puts the main code in control.
  * Fixed the violet line, trees, and tall sprites of "Lost civilization" wad.
    This required being able to save the same texture as both a transparent
    patch texture, for drawing hanging vines, and as a picture format texture,
    for drawing tiled walls. This fixes Bug 0663.
  * The fast drawing of wall textures required them to be a power-of-2 in
    width, so they could be tiled. To handle the case where it is not a
    power-of-2 in width, it now uses a slower masked draw similar to that in
    PrBoom, which also handles a negative offset. This fixes the large tree in
    "Lost civilization".
  * Fixed some old code to use POSIX fcntl, which allows it to compile on
    SunOS. Patches submitted by Michael Bauerle. Fixes Bug 0666.
2020-10-21 11:43:31 +00:00
micha
2c55ea3fe0 games/doomlegacy: Build fix for SunOS
Link missing network libraries.
2020-06-19 09:52:22 +00:00
micha
f84a97b325 games/doomlegacy: Build fix for SunOS
Use master server TCP patches for UDP too.
2020-06-18 10:14:54 +00:00
micha
cdf4643309 games/doomlegacy: Build fix for SunOS
Use portable fcntl() instead of ioctl() for non-blocking mode of socket
(for all operating systems that are relevant for pkgsrc).
2020-06-17 16:16:57 +00:00
micha
14883311a1 games/doomlegacy: Build fix for Solaris
Use native inet_aton() on Solaris.
Solaris has inet_aton() in libresolv since version 2.6 from 1997.

No revision bump because this only affects the Solaris build that was
broken before.
2020-06-15 10:32:52 +00:00
micha
2207ee50c3 games/doomlegacy: Build fix for SunOS
The type label_t is not available on all OS, e.g. on SmartOS.
labelforname() is an unused function and the only place where label_t is
used. Commented out with new patch.

Bump PKGREVISION because C source file has changed.
2020-06-10 15:35:01 +00:00
micha
6cfc199079 games/doomlegacy: Add link to upstream ticket in patches 2020-05-20 16:04:12 +00:00
micha
b6583c350b games/doomlegacy: Update to 1.48.4
pkgsrc changes:
- Patches for NetBSD support removed (merged upstream)
- Define "SOLARIS" for SunOS based operating systems
- MESSAGE replaced by file "share/doc/doomlegacy/INSTALL.pkgsrc"
- Man page is now installed in section 6
- Patch to disable launcher replaced by startscript
  (upstream suggested to use an unsupported option for this purpose)
- Patch for extended node support added (Feature request #95)
  Supported formats: DeeP V4, ZDoom uncompressed, ZDoom compressed
  Without this patch the engine may crash with unsupported node formats
- Patch for local blockmap creation added
  Command line option "-blockmap" added for activation (no automatic mode)

The extended node and blockmap patches allow to play modern PWADs like NOVA III
and Lost Civilization.

Upstream changelog since 1.47.2 is very long, refer to this page:
http://doomlegacy.sourceforge.net/docs/whatsnew.html
2020-05-19 11:20:16 +00:00
nia
eadd216a68 *: Convert broken sourceforge HOMEPAGEs back to http 2020-03-20 11:57:22 +00:00
rillig
b686dd9180 all: migrate several HOMEPAGEs to https
pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
2020-01-18 23:30:43 +00:00
micha
f532242fd9 games/doomlegacy: import doomlegacy-1.47.2
This is one of the most popular Doom source ports.
It enhances Doom with things like:
- Free Look
- OpenGL renderer
- Heretic support,
- TCP/IP networking
and much more.

Doom Legacy can play Doom, Boom, Marine's Best Friend (MBF), and Heretic maps.
In addition to the original games by id Software and Raven Software, there are
hundreds of free, fan-made maps available on the Internet. These maps are
typically distributed as PWAD files, which are not fully self-contained.
For each game you will also need the corresponding IWAD data file, which
contains all the graphics, wall and floor textures, sounds, and music for that
game. For example, if you want to play Doom II maps, you'll need the IWAD file
doom2.wad, or one of the free replacements.

Legacy has implemented the fundamental and de-facto-standard Boom extensions,
and the Marine's Best Friend (MBF) extensions. Legacy also has implemented
among other things 3D floors, swimmable water and other special effects using
extended linedef codes, and supports the FraggleScript scripting language.

This package contains the SDL build of Doom Legacy.
2019-06-17 13:53:22 +00:00