On Fri, 1 Mar 2019 23:03:00 +0000
Stuart Henderson wrote:
> On 2019/03/01 23:49, Charlene Wendling wrote:
> >
> > > http://build-failures.rhaalovely.net/powerpc/2019-02-04/games/spacehulk.log
> > > http://build-failures.rhaalovely.net/sparc64/2019-02-03/games/spacehulk.log
> >
> > It was just a single missing header. While doing a checkup of the
> > port, i noticed that WANTLIB needed a major refresh as well.
> >
> > It builds and works fine on macppc [1] and amd64.
>
> Hmm, at some points in the code it's using srand (via setSeed) to try
> to set a specific seed from a save file, presumably to recreate game
> state. If that's correct then this should be patched to use
> srand_deterministic(), see rand(3) for an explanation.
Thanks! It's the case.
In WRKSRC/src/datastoring.cpp, DataStoring::LoadFromContent calls DataStoring::LoadGameManager, fetching the seed from the given
save file.
I've changed the patch accordingly.
>
> > Any comment?
> >
> > Charlène.
> >
> > [1] https://bsd.network/@julianaito/101677613297792800
> >
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/spacehulk/Makefile,v
retrieving revision 1.19
diff -u -p -u -p -r1.19 Makefile
--- Makefile 24 Oct 2018 14:28:04 -0000 1.19
+++ Makefile 1 Mar 2019 23:47:58 -0000
@@ -4,7 +4,7 @@ COMMENT= total conversion of the Space H
DISTNAME= spacehulk-1.5-beta1
PKGNAME= spacehulk-1.5beta1
-REVISION = 9
+REVISION = 10
CATEGORIES= games x11
HOMEPAGE= http://r.vinot.free.fr/spacehulk/
@@ -12,10 +12,11 @@ HOMEPAGE= http://r.vinot.free.fr/spacehu
# GPL
PERMIT_PACKAGE_CDROM= Yes
-WANTLIB += GL ICE SM X11 X11-xcb Xau Xcursor Xdamage Xdmcp Xext Xfixes
-WANTLIB += Xft Xi Xinerama Xmu Xrandr Xrender Xt Xxf86vm c drm expat
-WANTLIB += fontconfig freetype glapi jpeg lcms m mng png pthread
-WANTLIB += ${COMPILER_LIBCXX} xcb xcb-dri2 xcb-glx z
+WANTLIB += ${COMPILER_LIBCXX} GL ICE SM X11 X11-xcb Xcursor Xdamage
+WANTLIB += Xext Xfixes Xft Xi Xinerama Xmu Xrandr Xrender Xt Xxf86vm
+WANTLIB += c drm expat fontconfig freetype glapi jpeg lcms m mng
+WANTLIB += png16 xcb xcb-dri2 xcb-dri3 xcb-glx xcb-present xcb-sync
+WANTLIB += xcb-xfixes xshmfence z
COMPILER = base-clang ports-gcc base-gcc
Index: patches/patch-src_rand_h
===================================================================
RCS file: patches/patch-src_rand_h
diff -N patches/patch-src_rand_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_rand_h 1 Mar 2019 23:47:58 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+ports-gcc fix: error: 'srand' was not declared in this scope
+Also, the seed value comes from savefiles, we need to use
+the deterministic algorithm.
+Index: src/rand.h
+--- src/rand.h.orig
++++ src/rand.h
+@@ -1,12 +1,14 @@
+ #ifndef _RAND_H_
+ #define _RAND_H_
+
++#include <stdlib.h>
++
+ class Rand {
+ public:
+ static int seedvalue;
+ static int roll(int n, bool store=true);
+ static int simpleroll(int n);
+- static void setSeed(int s) {seedvalue=s; srand(s);}
++ static void setSeed(int s) {seedvalue=s; srand_deterministic(s);}
+ };
+
+
No comments:
Post a Comment