On Sat, Sep 21, 2019 at 12:29:59PM +0200, Solene Rapenne wrote:
> On Tue, Aug 20, 2019 at 05:40:50PM +1000, Jonathan Gray wrote:
> > On Tue, Aug 20, 2019 at 09:43:48AM +0300, ???????????? wrote:
> > > Hello,
> > > When I start eduke32 with LD_PRELOAD=/usr/X11R6/lib/libGL.so.17.0  so it
> > > can run in opengl,
> > > on ion fury it freezes after starting the game and whole machine becomes
> > > unresponsive for some time. I can ssh to it from my cell phone after some
> > > time. Here is screenshot of dmesg:
> > > 
> > > https://yadi.sk/i/C6NSFEqjxuchoA
> > > 
> > > Here is dmesg after reboot: https://pastebin.com/HiHp8DUQ
> > > 
> > > Help. please.
> > > Thanks.
> > 
> > Why are you using LD_PRELOAD?  OpenGL should work without that.
> > eduke32 will dlopen libGL.so after libGL.so.1 can't be opened going by
> > source/glad/src/glad.c.
> > 
> > Are you using the version of eduke32 in ports?  It is quite old and
> > ion fury had the initial release a few days ago.
> > 
> > Can you reproduce this with any other game supported by eduke32?
> > I don't have ion fury but have the rest (and duke3d shareware
> > is installed when installing the eduke32 package).
> > 
> > Here is an update to the latest eduke32 which has some graphical
> > glitches on the title screen with duke3d shareware with inteldrm.
> > Not sure if the xmp bits are properly built for the tracker music
> > in ion fury.
> > 
> 
> With your patch I can play Ion Fury, sounds works but there is no music.
> 
>   Generating voxel models for Polymost. This may take a while...
>   Initializing music...
>   Initializing sound... 64 voices, 2 channels, 16-bit 48000 Hz
>   MV_PlayXMP: libxmp-lite support not included in this binary.
>   MV_PlayXMP: libxmp-lite support not included in this binary.
>   Line 1637, starttrackslot: invalid level 25 or null music for volume 0 
> level 25
>   Cache time: 939ms
> 
> The duke nukem shareware works too, I did not see any glitch.
> My graphic card from dmesg:
> 
> "Intel UHD Graphics 620" rev 0x07 at pci0 dev 2 function 0 not configured
> inteldrm0 at pci0 dev 2 function 0 "Intel UHD Graphics 620" rev 0x07
> 
> I don't know if this is expected, but I was only able to play Ion Fury 
> smoothly
> in 640x480, eduke32 was always near 98% of cpu usage, at higher resolution it
> was not playable at all. This is curious given my cpu is a i7-8550U 1.80GHz.
> 

Here is a diff to build with HAVE_XMP=1 and FURY=1.

This changes the binary to 'fury' and isn't intended to support duke3d
from what I understand, so isn't something that should be committed.

Building with FURY=1 disables the polymer OpenGL renderer so this may
help with running at higher resolutions.

ifeq ($(FURY),1)
    APPNAME := Ion Fury
    APPBASENAME := fury
    STANDALONE := 1
    POLYMER := 0
    USE_LIBVPX := 0
    NETCODE := 0
    SIMPLE_MENU := 1
endif

Index: Makefile
===================================================================
RCS file: /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    21 Sep 2019 11:25:53 -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 =                20190919
+RTAG =         8133
 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 <r...@slipgate.org>
 
@@ -35,9 +34,9 @@ LIB_DEPENDS = archivers/lz4 \
 LIB_DEPENDS += x11/gtk+2
 WANTLIB +=     gtk-x11-2.0
 
-RUN_DEPENDS =  games/duke3ddata
+#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
 
@@ -47,8 +46,9 @@ MAKE_FLAGS += PRETTY_OUTPUT=0 \
                CXX="${CXX}" \
                STRIP=true \
                PACKAGE_REPOSITORY=1 \
-               HAVE_XMP=0 \
-               NOASM=1
+               HAVE_XMP=1 \
+               NOASM=1 \
+               FURY=1
 MAKE_FILE =    GNUmakefile
 USE_GMAKE =    Yes
 NO_TEST =      Yes
@@ -68,7 +68,7 @@ post-extract:
        rm ${WRKSRC}/source/build/include/lz4.h ${WRKSRC}/source/build/src/lz4.c
 
 do-install:
-       ${INSTALL_PROGRAM} ${WRKBUILD}/eduke32 ${PREFIX}/bin
+       ${INSTALL_PROGRAM} ${WRKBUILD}/fury ${PREFIX}/bin
        ${INSTALL_PROGRAM} ${WRKBUILD}/mapster32 ${PREFIX}/bin
        ${INSTALL_DATA_DIR} ${PREFIX}/share/duke3d
        ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/eduke32
Index: distinfo
===================================================================
RCS file: /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    21 Sep 2019 11:09:56 -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_20190919-8133.tar.xz) = 
cDN6tkDOIywyEd2Lo15hzVi5Wb6FafmUi+xqdvFpkFg=
+SIZE (eduke32_src_20190919-8133.tar.xz) = 15940944
Index: patches/patch-Common_mak
===================================================================
RCS file: /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    21 Sep 2019 11:12:32 -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))
+@@ -706,7 +706,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: /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   21 Sep 2019 11:12:41 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-GNUmakefile,v 1.2 2018/0
 Index: GNUmakefile
 --- GNUmakefile.orig
 +++ GNUmakefile
-@@ -161,7 +161,6 @@ engine_objs := \
+@@ -272,7 +272,6 @@ engine_objs := \
      textfont.cpp \
      smalltextfont.cpp \
      kplib.cpp \
@@ -11,7 +11,7 @@ Index: GNUmakefile
      osd.cpp \
      pragmas.cpp \
      scriptfile.cpp \
-@@ -581,7 +580,7 @@ ifeq ($(SUBPLATFORM),LINUX)
+@@ -709,7 +708,7 @@ ifeq ($(SUBPLATFORM),LINUX)
  endif
  
  ifeq ($(PLATFORM),BSD)
@@ -20,12 +20,20 @@ Index: GNUmakefile
  endif
  
  ifeq ($(PLATFORM),DARWIN)
-@@ -755,7 +754,7 @@ endif
+@@ -883,7 +882,7 @@ 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) \
+@@ -891,6 +890,7 @@ COMPILERFLAGS += \
+     -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: /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   20 Aug 2019 06:26:39 -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: /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   21 Sep 2019 11:24:56 -0000
@@ -1,5 +1,5 @@
 @comment $OpenBSD: PLIST,v 1.4 2018/09/04 12:46:12 espie Exp $
-@bin bin/eduke32
+@bin bin/fury
 @bin bin/mapster32
 share/doc/eduke32/
 share/doc/eduke32/buildlic.txt
Index: pkg/README
===================================================================
RCS file: /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  20 Aug 2019 06:28:20 -0000
@@ -1,4 +1,6 @@
-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
@@ -20,5 +22,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.

Reply via email to