pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

refkeen: update to refkeen-20201016



Module Name:	pkgsrc-wip
Committed By:	Yorick Hardy <yorickhardy%gmail.com@localhost>
Pushed By:	yhardy
Date:		Sun Nov 29 22:01:27 2020 +0200
Changeset:	3fbe592707b1bc20df49b9b3323de719f6d41bba

Modified Files:
	refkeen/Makefile
	refkeen/PLIST
	refkeen/distinfo

Log Message:
refkeen: update to refkeen-20201016

Notes: the Catacomb 3D engines are now all available in the single
executable "reflection-catacomb" and support for Wolfenstein 3D
has been added with the executable "reflection-wolf3d".

---------
Changelog
---------

Oct 16, 2020 (v0.31.0):

* Support more than one possible filename for game data and EXE names.
Following this, a file named "NOAH3D.EXE" can now be identified as
a part of Super 3-D Noah's Ark, in addition to "NOAH3DOS.EXE".
This refers just to the matching DOS executable.
File integrity check is done using the size and crc32.
* Additionally, again thanks to the above, support for the
Spear of Destiny Mission Packs is now in. Reason it's related
is that the file extension of the mission-specific game data can vary,
depending on the game installation being in use and its current state.
For all missions (including the original), .SOD and .SD4 are valid
file extensions. Other allowed extensions: .SD1 for the base game,
.SD2 for mission 2 and .SD3 for mission 3.
* Note that as a side-effect, data integrity checks are now done for all
game data (graphics, maps, sounds) read from the Wolfenstein 3D codebase.
In addition to earlier uses of it, the hidden "manualgamevergame" setting
can now be used to disable this, albeit this might make it impossible
to properly start Super 3-D Noah's Ark or any of the Spear of Destiny
missions, depending on the filenames.
* Add support for more versions of Wolfenstein 3D, again by using code from
gamesrc-ver-recreation. This covers Apogee 6-episodes versions 1.1, 1.2 and
1.4, two GT Interactive releases, an id Software release, Apogee 3-episodes
versions 1.2 and 1.4, an Imagineer version and the March '92 prototype.
(Thanks to the wolf3denginepatches repository and Chris for assistance.)
* Add detection of Wolfenstein 3D as it used to be offered via the
last incarnation of 3drealms.com, either on its own or as a part
of the 3D Realms Anthology. (Thanks Lunick.)
* Add detection of Wolfenstein 3D, Spear of Destiny and Super 3-D Noah's Ark
as currently available from GOG.com. (Thanks WayneCa and chungy.)
* Improve detection of game installations which is done by inspecting
the Windows Registry. Basically, this is now done by attempting to
inspect data for 32-bit and 64-bit applications altogether, while
additionally still trying to get data with SHGetValue as usual.
* Wolf3D: The UPLOAD macro was replaced with an UPLOAD variable.
* Internally rename the wl1ap12 namespace to wl6ap11, and do the same with
other mentions of such strings. Most noticeable impact is probably
that when separate Wolf3D EXEs are build, reflection-wl6ap11 is
created instead of reflection-wl6ap12.
* Typo fix: Do show "Wolfenstein 3D Shareware v1.4 (Local)" when referring
to shareware v1.4, instead of mistakenly mentioning v1.2 in the string.
* Use a bit shorter descriptions for certain Wolfenstein 3D and
Spear of Destiny versions, so they can fit as launcher titles
(BE_Launcher_Handler_SupportedGameVersionSelection).
* Add high level XMS and EMS implementations, use them in Wolf3D's
Page Manager, and also remove the REFKEEN_SIMPLIFIED/NOEMS/NOXMS
implementations from Wolf3D. (Thanks Blzut3.)
* Wolf3D: Following the removal of the REFKEEN_SIMPLIFIED-specific code
from id_pm.c, pointers can now be appropriately converted in ShapeTest.
* A small fix for using page up/down in the launcher while
none of the menu items can be selected.
* A couple of fixes for bugs introduced after the audio mixer refactoring,
specific to runs without the audio subsystem.
* Separate more audio and timing related code into more files, while reducing
direct references to SDL (albeit it's still used in the same manner).
* Generally, continue splitting the contents of be_cross_fs.c and
making other restructurings and differing changes related to this code.
* Wolf3D: Fix a possible buffer overflow in US_CheckParm, reproduced by
passing an argument with no alphabetical character. A good example is
the second argument in the following arguments string: "-tedlevel 1".
* Make the codebase more usable with Visual Studio.
* Launcher: Add a missing comment about the impact of the
scale type setting on the border porches.
* Bug fix: Conditionally hide or show the mouse cursor after
toggling fullscreen, depending on game-specific setups.
* Fix an instance in which the in-game contents don't get
appropriately resized after toggling fullscreen.
* Wolf3D: Make the mouse cursor usable while the game
is paused, if a fullscreen isn't used.
* Other misc. fixes/changes.

Sep 28, 2020 (v0.30.1):

* Don't show controller settings specific to the Catacombs for Wolf3D.
* When letting the user choose a root drive on Windows for locating
game data, append a backslash. For instance, use "C:\" instead of "C:".
Otherwise, the wrong locations may get accessed with _topendir.
* Fix dir resource leak in BEL_Cross_DirSelection_PrepareDirsAndGetNames.
* Wolf3D: Fix the occurrence of a stale menu item in the
main menu for the GOODTIMES and SPEAR versions.
* Improve the scrolling in the launcher a little bit,
mostly while pressing on up/down.

Sep 26, 2020 (v0.30.0):

* 6-years anniversary release.
* Initial support for Wolfenstein 3D, Spear of Destiny
(minus the mission packs) and Super 3-D Noah's Ark (DOS version).
For Wolfenstein 3D, this covers all known shareware Apogee versions
which allow cheating, as well as 6-episodes Activision version 1.4.
For Spear of Destiny, this covers FormGen demo version 1.0 and
Activision version 1.4. For Super 3-D Noah's Ark, this covers
the one known version.
* Note that for technical reasons, the Spear of Destiny mission packs
cannot be loaded as-is.
* Additionally, Super 3-D Noah's Ark can only be loaded if the original
EXE for DOS is found and named "noah3dos.exe". That's because this is
the way it's currently offered from Steam, and right now, there's no
good way of supporting detection of the same data with another file name.
* Currently unsupported in all games from the modified Wolfenstein 3D codebase:
Game saving/loading, modern game controller scheme, probably more.
* The rate of palette updates in Wolfenstein 3D is at least somewhat imprecise.
* VSync was changed to be disabled by default for now. There are other
potential problems with timing in Wolfenstein 3D, which might partially
be related to instances in which the game tries to render more often
than the host display's refresh rate.
* It is now possible to make a single exe that can be used for starting any
of the supported Catacomb titles. It is identified as "Reflection Catacomb".
This requires building the code as C++, since it makes use of namespacing.
* The exact same method can be used for building a single exe covering
all currently supported versions of Wolfenstein 3D, Spear of Destiny
and Super 3-D Noah's Ark. This exe is identified
as "Reflection Wolfenstein 3D".
* Template instantiations of reads and writes are now done
from the game-specific code, so be_cross_fs.c doesn't need
to include kd_def.h/c3_def.h/def.h.
* Game definition structs were moved to separate headers.
* 256-colors VGA graphics can now be drawn for Wolfenstein 3D.
This was done with a subset of the existing EGA drawing routines as a base.
* The overscan border is now shown only if aspect correction is toggled on.
An original goal of the aspect correction toggle was to make the source ports
more usable with displays that have a greater risk of screen burn-in.
* Refactor the audio mixing code, so PC Speaker, AdLib / OPL and
digitized sounds can be concurrently played back in Wolfenstein 3D.
There's now a single audio mixer callback which can obtain data
from multiple sound sources, resample the inputs to the output
sampling rate and then mix them after resampling.
* Use a pre-calculated sintable array for the Catacombs, as well as
Wolfenstein 3D. It is present in a newly added fixed_sintable.c file.
This fixes possible rendering errors, as well as errors related to gameplay.
The source of the problem (as checked with one of the Catacombs)
was that sintable[90] could be set to 0x10000, while it was
rather set to 0xFFFF with the original executables.
* Switch to Nuked OPL3 for OPL emulation.
* Make it possible to toggle fullscreen via a key combo. This combo should
generally be Alt+Enter. While untested, Command+Enter should be used on macOS.
* Revert to updating ticks (e.g., the games' TimeCount variables) from the
main thread instead of the SDL audio callback thread, albeit with the
code in general still being closer to the later revisions.
* Migrate to CMake for building the executables.
* Other varying fixes and modifications.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=3fbe592707b1bc20df49b9b3323de719f6d41bba

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 refkeen/Makefile | 15 ++++++---------
 refkeen/PLIST    |  6 ++----
 refkeen/distinfo |  8 ++++----
 3 files changed, 12 insertions(+), 17 deletions(-)

diffs:
diff --git a/refkeen/Makefile b/refkeen/Makefile
index 2482201e8c..c1481083c3 100644
--- a/refkeen/Makefile
+++ b/refkeen/Makefile
@@ -1,7 +1,6 @@
 # $NetBSD: Makefile,v 1.1 2015/08/19 19:21:33 yhardy Exp $
-https://github.com/NY00123/refkeen/archive/release-20170401.tar.gz
 
-DISTNAME=	refkeen-20190125
+DISTNAME=	refkeen-20201016
 GITHUB_PROJECT=	refkeen
 CATEGORIES=	games
 MASTER_SITES=	${MASTER_SITE_GITHUB:=NY00123/}
@@ -12,20 +11,18 @@ HOMEPAGE=	https://github.com/NY00123/refkeen/
 COMMENT=	Port of Keen Dreams, Catacomb 3-D and The Catacomb Adventure Series
 LICENSE=	gnu-gpl-v2
 
-MAKE_FILE=	GNUmakefile
-USE_TOOLS+=	gmake
+USE_CMAKE=	yes
+USE_LANGUAGES=	c c++
 
-REFKEEN_PROGS+=	reflection-cat3d
-REFKEEN_PROGS+=	reflection-catabyss
-REFKEEN_PROGS+=	reflection-catapoc
-REFKEEN_PROGS+=	reflection-catarm
+REFKEEN_PROGS+=	reflection-catacomb
 REFKEEN_PROGS+=	reflection-kdreams
+REFKEEN_PROGS+=	reflection-wolf3d
 
 INSTALLATION_DIRS=	bin share/doc/${PKGNAME}
 
 do-install:
 	for prog in ${REFKEEN_PROGS}; do \
-		${INSTALL_PROGRAM} ${WRKSRC}/src/$$prog ${DESTDIR}${PREFIX}/bin/; \
+		${INSTALL_PROGRAM} ${WRKSRC}/$$prog ${DESTDIR}${PREFIX}/bin/; \
 	done
 	${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/share/doc/${PKGNAME}/
 
diff --git a/refkeen/PLIST b/refkeen/PLIST
index f19eb466c2..9e094adf37 100644
--- a/refkeen/PLIST
+++ b/refkeen/PLIST
@@ -1,7 +1,5 @@
 @comment $NetBSD: PLIST,v 1.1 2015/08/19 19:21:33 yhardy Exp $
-bin/reflection-cat3d
-bin/reflection-catabyss
-bin/reflection-catapoc
-bin/reflection-catarm
+bin/reflection-catacomb
 bin/reflection-kdreams
+bin/reflection-wolf3d
 share/doc/${PKGNAME}/README.md
diff --git a/refkeen/distinfo b/refkeen/distinfo
index ddd9010380..fddecaf7a9 100644
--- a/refkeen/distinfo
+++ b/refkeen/distinfo
@@ -1,6 +1,6 @@
 $NetBSD: distinfo,v 1.1 2015/08/19 19:21:33 yhardy Exp $
 
-SHA1 (refkeen-20190125.tar.gz) = 080ec587ec91e9b1452f44e0f09d35905d4eed60
-RMD160 (refkeen-20190125.tar.gz) = 9ec0b892d8c7056d2f9d68cd636a80f7a760c9f4
-SHA512 (refkeen-20190125.tar.gz) = ab9a5097e994621c338b93d109ff28951a63edac2b91b78e45686a906e03c37d74f0341ee5367f13f5924ddf02878514b0559834b35f31d4b10edaf7059d8694
-Size (refkeen-20190125.tar.gz) = 3868047 bytes
+SHA1 (refkeen-20201016.tar.gz) = 45eff0f606cc864981b7b00eb308b5f33aeaafee
+RMD160 (refkeen-20201016.tar.gz) = 7ef6f40d3656a2ae163dc4bc99fff19510bd9fe7
+SHA512 (refkeen-20201016.tar.gz) = a37b6b761dfc99d2e855fef8a076aa507b0a79e5294129f331d735a015855b3d68c5caf6dcec5fb45daea47b8d64741855b04f887f29c67355c60f94ec30ecfa
+Size (refkeen-20201016.tar.gz) = 4154662 bytes


Home | Main Index | Thread Index | Old Index