On Mon, Dec 23, 2019 at 07:41:32PM +0100, Solene Rapenne wrote:
> This patch updates eduke32 to last version and enable playing Ion Fury
>
> most of the diff comes from the following thread
> https://marc.info/?l=openbsd-misc&m=156907261602397&w=2
>
> tested Ion Fury, works fine on an old T400 (smooth if
> I disabled sound...) but smooth on a T480, it's really CPU intensive
>
> duke32 shareware data still works fine out of the box
Thanks for this Solene. I haven't a chance to look at this until after
Christmas, though.
-Ryan
>
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/games/eduke32/Makefile,v
> retrieving revision 1.22
> diff -u -p -r1.22 Makefile
> --- Makefile 14 Jul 2019 02:16:51 -0000 1.22
> +++ Makefile 23 Dec 2019 17:41:58 -0000
> @@ -1,15 +1,14 @@
> # $OpenBSD: Makefile,v 1.22 2019/07/14 02:16:51 naddy Exp $
>
> COMMENT = Enhanced Duke Nukem 3D engine
> -RDATE = 20171105
> -RTAG = 6496
> +RDATE = 20191222
> +RTAG = 8494
> DISTNAME = eduke32_src_${RDATE}-${RTAG}
> PKGNAME = eduke32-2.0.0.${RTAG}
> -REVISION = 3
> EXTRACT_SUFX = .tar.xz
> CATEGORIES = games x11
>
> -HOMEPAGE = http://www.eduke32.com/
> +HOMEPAGE = https://www.eduke32.com/
>
> MAINTAINER = Ryan Freeman <[email protected]>
>
> @@ -37,9 +36,9 @@ WANTLIB += gtk-x11-2.0
>
> RUN_DEPENDS = games/duke3ddata
>
> -MASTER_SITES =
> http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
> +MASTER_SITES =
> https://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/
>
> -COMPILER = base-clang ports-gcc
> +COMPILER = ports-gcc
>
> # make sure we can see compilation output, respect CC/CXX, don't strip!
> MAKE_FLAGS += PRETTY_OUTPUT=0 \
> @@ -47,7 +46,6 @@ MAKE_FLAGS += PRETTY_OUTPUT=0 \
> CXX="${CXX}" \
> STRIP=true \
> PACKAGE_REPOSITORY=1 \
> - HAVE_XMP=0 \
> NOASM=1
> MAKE_FILE = GNUmakefile
> USE_GMAKE = Yes
> Index: distinfo
> ===================================================================
> RCS file: /home/cvs/ports/games/eduke32/distinfo,v
> retrieving revision 1.4
> diff -u -p -r1.4 distinfo
> --- distinfo 22 Nov 2017 03:43:46 -0000 1.4
> +++ distinfo 23 Dec 2019 17:33:22 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (eduke32_src_20171105-6496.tar.xz) =
> 1+MCe1npolXkOvGK6Jtk+THxlaIL9kwoTLKYpdkMPrI=
> -SIZE (eduke32_src_20171105-6496.tar.xz) = 14351444
> +SHA256 (eduke32_src_20191222-8494.tar.xz) =
> RaI1M725fVdITdOus9lSZQQspn1R/PfxFpUugWTOcww=
> +SIZE (eduke32_src_20191222-8494.tar.xz) = 15951736
> Index: patches/patch-Common_mak
> ===================================================================
> RCS file: /home/cvs/ports/games/eduke32/patches/patch-Common_mak,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-Common_mak
> --- patches/patch-Common_mak 22 Nov 2017 03:43:46 -0000 1.1
> +++ patches/patch-Common_mak 23 Dec 2019 17:35:22 -0000
> @@ -3,7 +3,7 @@ $OpenBSD: patch-Common_mak,v 1.1 2017/11
> Index: Common.mak
> --- Common.mak.orig
> +++ Common.mak
> -@@ -638,7 +638,7 @@ ifeq (0,$(RELEASE))
> +@@ -710,7 +710,7 @@ ifeq (0,$(RELEASE))
> F_NO_STACK_PROTECTOR :=
> else
> ifeq (0,$(CLANG))
> @@ -11,4 +11,4 @@ Index: Common.mak
> + #COMMONFLAGS += -funswitch-loops
> endif
>
> - ifeq (0,$(DEBUGANYWAY))
> + ifeq (0,$(FORCEDEBUG))
> Index: patches/patch-GNUmakefile
> ===================================================================
> RCS file: /home/cvs/ports/games/eduke32/patches/patch-GNUmakefile,v
> retrieving revision 1.2
> diff -u -p -r1.2 patch-GNUmakefile
> --- patches/patch-GNUmakefile 17 Jul 2018 07:56:44 -0000 1.2
> +++ patches/patch-GNUmakefile 23 Dec 2019 17:35:27 -0000
> @@ -3,15 +3,15 @@ $OpenBSD: patch-GNUmakefile,v 1.2 2018/0
> Index: GNUmakefile
> --- GNUmakefile.orig
> +++ GNUmakefile
> -@@ -161,7 +161,6 @@ engine_objs := \
> - textfont.cpp \
> - smalltextfont.cpp \
> +@@ -240,7 +240,6 @@ engine_objs := \
> + hightile.cpp \
> + klzw.cpp \
> kplib.cpp \
> - lz4.c \
> - osd.cpp \
> - pragmas.cpp \
> - scriptfile.cpp \
> -@@ -581,7 +580,7 @@ ifeq ($(SUBPLATFORM),LINUX)
> + md4.cpp \
> + mhk.cpp \
> + miniz.c \
> +@@ -684,7 +683,7 @@ ifeq ($(SUBPLATFORM),LINUX)
> endif
>
> ifeq ($(PLATFORM),BSD)
> @@ -20,12 +20,19 @@ Index: GNUmakefile
> endif
>
> ifeq ($(PLATFORM),DARWIN)
> -@@ -755,7 +754,7 @@ endif
> +@@ -851,13 +850,14 @@ endif
>
> #### Final setup
>
> --COMPILERFLAGS += -I$(engine_inc) -I$(mact_inc) -I$(audiolib_inc)
> -I$(enet_inc)
> -+COMPILERFLAGS := -I$(engine_inc) -I$(mact_inc) -I$(audiolib_inc)
> -I$(enet_inc) $(COMPILERFLAGS)
> +-COMPILERFLAGS += \
> ++COMPILERFLAGS := \
> + -I$(engine_inc) \
> + -I$(mact_inc) \
> + -I$(audiolib_inc) \
> + -I$(glad_inc) \
> + -I$(voidwrap_inc) \
> + -MP -MMD \
> ++ $(COMPILERFLAGS)
>
> -
> - ##### Recipes
> + ifneq (0,$(USE_PHYSFS))
> + COMPILERFLAGS += -I$(physfs_inc) -DUSE_PHYSFS
> Index: patches/patch-source_build_Dependencies_mak
> ===================================================================
> RCS file: patches/patch-source_build_Dependencies_mak
> diff -N patches/patch-source_build_Dependencies_mak
> --- patches/patch-source_build_Dependencies_mak 22 Nov 2017 03:43:46
> -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,22 +0,0 @@
> -$OpenBSD: patch-source_build_Dependencies_mak,v 1.1 2017/11/22 03:43:46
> kirby Exp $
> -
> -Index: source/build/Dependencies.mak
> ---- source/build/Dependencies.mak.orig
> -+++ source/build/Dependencies.mak
> -@@ -19,7 +19,7 @@ $(ENGINE_OBJ)/hash.$o: $(ENGINE_SRC)/hash.cpp $(ENGINE
> - $(ENGINE_OBJ)/colmatch.$o: $(ENGINE_SRC)/colmatch.cpp
> - $(ENGINE_OBJ)/mhk.$o: $(ENGINE_SRC)/mhk.cpp
> - $(ENGINE_OBJ)/palette.$o: $(ENGINE_SRC)/palette.cpp $(ENGINE_INC)/palette.h
> --$(ENGINE_OBJ)/polymost.$o: $(ENGINE_SRC)/polymost.cpp $(ENGINE_INC)/lz4.h
> $(ENGINE_INC)/compat.h $(ENGINE_INC)/build.h $(ENGINE_INC)/buildtypes.h
> $(ENGINE_SRC)/engine_priv.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/hightile.h
> $(ENGINE_INC)/mdsprite.h $(ENGINE_INC)/texcache.h
> -+$(ENGINE_OBJ)/polymost.$o: $(ENGINE_SRC)/polymost.cpp
> $(ENGINE_INC)/compat.h $(ENGINE_INC)/build.h $(ENGINE_INC)/buildtypes.h
> $(ENGINE_SRC)/engine_priv.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/hightile.h
> $(ENGINE_INC)/mdsprite.h $(ENGINE_INC)/texcache.h
> - $(ENGINE_OBJ)/texcache.$o: $(ENGINE_SRC)/texcache.cpp
> $(ENGINE_INC)/texcache.h $(ENGINE_INC)/polymost.h $(ENGINE_INC)/dxtfilter.h
> $(ENGINE_INC)/kplib.h
> - $(ENGINE_OBJ)/dxtfilter.$o: $(ENGINE_SRC)/dxtfilter.cpp
> $(ENGINE_INC)/dxtfilter.h $(ENGINE_INC)/texcache.h
> - $(ENGINE_OBJ)/hightile.$o: $(ENGINE_SRC)/hightile.cpp $(ENGINE_INC)/kplib.h
> $(ENGINE_INC)/hightile.h
> -@@ -29,7 +29,6 @@ $(ENGINE_OBJ)/textfont.$o: $(ENGINE_SRC)/textfont.cpp
> - $(ENGINE_OBJ)/smalltextfont.$o: $(ENGINE_SRC)/smalltextfont.cpp
> - $(ENGINE_OBJ)/glbuild.$o: $(ENGINE_SRC)/glbuild.cpp $(ENGINE_INC)/glbuild.h
> $(ENGINE_INC)/baselayer.h
> - $(ENGINE_OBJ)/kplib.$o: $(ENGINE_SRC)/kplib.cpp $(ENGINE_INC)/compat.h
> $(ENGINE_INC)/kplib.h
> --$(ENGINE_OBJ)/lz4.$o: $(ENGINE_SRC)/lz4.c $(ENGINE_INC)/lz4.h
> - $(ENGINE_OBJ)/md4.$o: $(ENGINE_SRC)/md4.cpp $(ENGINE_INC)/md4.h
> - $(ENGINE_OBJ)/osd.$o: $(ENGINE_SRC)/osd.cpp $(ENGINE_INC)/build.h
> $(ENGINE_INC)/buildtypes.h $(ENGINE_INC)/osd.h $(ENGINE_INC)/compat.h
> $(ENGINE_INC)/baselayer.h
> - $(ENGINE_OBJ)/pragmas.$o: $(ENGINE_SRC)/pragmas.cpp $(ENGINE_INC)/compat.h
> Index: patches/patch-source_build_include_compat_h
> ===================================================================
> RCS file: patches/patch-source_build_include_compat_h
> diff -N patches/patch-source_build_include_compat_h
> --- patches/patch-source_build_include_compat_h 10 Jul 2018 13:53:29
> -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,18 +0,0 @@
> -$OpenBSD: patch-source_build_include_compat_h,v 1.1 2018/07/10 13:53:29
> naddy Exp $
> -
> -Cast to int32_t to match the return type of the SSE2-optimized function
> -on amd64. This fixes errors on other LP64-clang archs:
> -non-constant-expression cannot be narrowed from type 'long' to 'int32_t'
> -
> -Index: source/build/include/compat.h
> ---- source/build/include/compat.h.orig
> -+++ source/build/include/compat.h
> -@@ -606,7 +606,7 @@ static FORCE_INLINE int32_t Blrintf(const float x)
> - return n;
> - }
> - #else
> --#define Blrintf lrintf
> -+#define Blrintf(x) static_cast<int32_t>(lrintf(x))
> - #endif
> -
> - #if defined(__arm__)
> Index: pkg/DESCR
> ===================================================================
> RCS file: /home/cvs/ports/games/eduke32/pkg/DESCR,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 DESCR
> --- pkg/DESCR 17 Jul 2012 21:29:50 -0000 1.1.1.1
> +++ pkg/DESCR 23 Dec 2019 16:57:15 -0000
> @@ -2,16 +2,17 @@ Source-port of the venerable Duke Nukem
> game engine. Besides increasing portability, the engine adds new
> renderers, in-game configurability, console, plus extended editing and
> scripting capabilities. Networking for dukematches and coop play is
> -fully functional.
> +fully functional.
>
> The engine supports the following games:
> -(from http://wiki.eduke32.com/wiki/Frequently_Asked_Questions)
> +(from https://wiki.eduke32.com/wiki/Frequently_Asked_Questions)
> * Duke Nukem 3D Shareware Version
> * Duke Nukem 3D
> * Duke Nukem 3D: Atomic Edition
> +* Ion Fury
> * NAM (Note: you must rename GAME.CON from NAM to NAM.CON)
> -* Napalm (Wal-Mart only version of NAM, some .GRP differences between
> +* Napalm (Wal-Mart only version of NAM, some .GRP differences between
> the two releases)
> -* WWII GI (Limited Support using NAM mode as a base)
> +* WWII GI (Limited Support using NAM mode as a base)
>
> -"EDuke32 makes sandwiches!"
> +"EDuke32 makes sandwiches!"
> Index: pkg/PLIST
> ===================================================================
> RCS file: /home/cvs/ports/games/eduke32/pkg/PLIST,v
> retrieving revision 1.4
> diff -u -p -r1.4 PLIST
> --- pkg/PLIST 4 Sep 2018 12:46:12 -0000 1.4
> +++ pkg/PLIST 23 Dec 2019 16:57:15 -0000
> @@ -5,6 +5,7 @@ share/doc/eduke32/
> share/doc/eduke32/buildlic.txt
> share/doc/eduke32/gpl-2.0.txt
> share/doc/pkg-readmes/${PKGSTEM}
> +share/duke3d/
> share/duke3d/SEHELP.HLP
> share/duke3d/STHELP.HLP
> share/duke3d/m32help.hlp
> Index: pkg/README
> ===================================================================
> RCS file: /home/cvs/ports/games/eduke32/pkg/README,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 README
> --- pkg/README 17 Jul 2012 21:29:50 -0000 1.1.1.1
> +++ pkg/README 23 Dec 2019 17:28:02 -0000
> @@ -1,9 +1,12 @@
> -Shareware Duke Nukem 3D data has been installed to:
> +$OpenBSD$
> +
> +Shareware Duke Nukem 3D data has been installed to:
> ${PREFIX}/share/duke3d/
>
> -You may also copy your registered version data files (or any other
> -Duke Nukem 3D retail copies, such as the Atomic Edition) to a local
> -directory such as ~/duke3d/, and run eduke32 from within that directory:
> +You may also copy your registered version data files, or any other
> +Duke Nukem 3D retail copies (such as the Atomic Edition) or Ion Fury game
> +files to a local directory such as ~/duke3d/, and run eduke32 from within
> +that directory:
>
> % cd ~/duke3d/ && eduke32
>
> @@ -20,5 +23,5 @@ ${PREFIX}/share/examples/eduke32/
>
> Licenses are found under ${PREFIX}/share/doc/eduke32/
>
> -http://wiki.eduke32.com/ contains a large resource of information on
> +https://wiki.eduke32.com contains a large resource of information on
> how to make full use of the eduke32 engine and mapster32 editor.