Sat Sep 9 07:10:34 2017 UTC ()
Rocks'n'Diamonds 4.0.0.2:

This release is mainly a bugfix release, but also contains the following changes and additions:
* fixed several bugs and problems with level template handling in the level editor
* fixed several problems with the undo/redo buttons under certain conditions
* fixed various other small and medium bugs (see commit history for details)
* improved menu screens navigation and level selection using the keyboard
* added option to use pre-defined level template for newly created levels
* added level template settings to editor/level configuration screen in editor
* added setup option to show/hide classic elements in the editor palette
* added setup option to enable/disable auto-incrementing solved levels
* added headless mode (no window) for automated tape tests using ���autotest���
* improved progress and summary output for automatic tape replay / testing


(adam)
diff -r1.51 -r1.52 pkgsrc/games/rocksndiamonds/Makefile
diff -r1.9 -r1.10 pkgsrc/games/rocksndiamonds/PLIST
diff -r1.27 -r1.28 pkgsrc/games/rocksndiamonds/distinfo
diff -r1.6 -r0 pkgsrc/games/rocksndiamonds/options.mk
diff -r1.11 -r0 pkgsrc/games/rocksndiamonds/patches/patch-ab
diff -r1.4 -r0 pkgsrc/games/rocksndiamonds/patches/patch-ac
diff -r1.4 -r0 pkgsrc/games/rocksndiamonds/patches/patch-ag
diff -r1.3 -r0 pkgsrc/games/rocksndiamonds/patches/patch-ah
diff -r1.8 -r0 pkgsrc/games/rocksndiamonds/patches/patch-ak
diff -r0 -r1.1 pkgsrc/games/rocksndiamonds/patches/patch-src_Makefile
diff -r0 -r1.1 pkgsrc/games/rocksndiamonds/patches/patch-src_libgame_joystick.c
diff -r0 -r1.1 pkgsrc/games/rocksndiamonds/patches/patch-src_libgame_joystick.h
diff -r0 -r1.1 pkgsrc/games/rocksndiamonds/patches/patch-src_libgame_system.c

cvs diff -r1.51 -r1.52 pkgsrc/games/rocksndiamonds/Makefile (expand / switch to unified diff)

--- pkgsrc/games/rocksndiamonds/Makefile 2015/04/25 14:23:03 1.51
+++ pkgsrc/games/rocksndiamonds/Makefile 2017/09/09 07:10:34 1.52
@@ -1,40 +1,37 @@ @@ -1,40 +1,37 @@
1# $NetBSD: Makefile,v 1.51 2015/04/25 14:23:03 tnn Exp $ 1# $NetBSD: Makefile,v 1.52 2017/09/09 07:10:34 adam Exp $
2 2
3DISTNAME= rocksndiamonds-3.3.1.2 3DISTNAME= rocksndiamonds-4.0.0.2
4PKGREVISION= 1 4CATEGORIES= games
5CATEGORIES= games x11 
6MASTER_SITES= http://www.artsoft.org/RELEASES/unix/rocksndiamonds/ 5MASTER_SITES= http://www.artsoft.org/RELEASES/unix/rocksndiamonds/
7 6
8MAINTAINER= pkgsrc-users@NetBSD.org 7MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://www.artsoft.org/rocksndiamonds/ 8HOMEPAGE= http://www.artsoft.org/rocksndiamonds/
10COMMENT= Game like Boulder Dash, Emerald Mine, or Sokoban 9COMMENT= Game like Boulder Dash, Emerald Mine, or Sokoban
11LICENSE= gnu-gpl-v2 10LICENSE= gnu-gpl-v2
12 11
 12USE_GAMESGROUP= yes
13USE_TOOLS+= gmake 13USE_TOOLS+= gmake
14 14
15INSTALLATION_DIRS+= bin ${PKGMANDIR}/man6 15INSTALLATION_DIRS+= bin
16 16
17BUILD_DEFS+= VARBASE SCORE_PATH 17BUILD_DEFS+= VARBASE SCORE_PATH
 18BUILD_DIRS= src
18 19
19SHARESUBDIR= share/rocksndiamonds 20SHARESUBDIR= share/rocksndiamonds
20SHAREDIR= ${PREFIX}/${SHARESUBDIR} 21SHAREDIR= ${PREFIX}/${SHARESUBDIR}
21 22SCORE_PATH= ${VARBASE}/games/rocksndiamonds
22SCORE_PATH= ${VARBASE}/games/rocksndiamonds 
23 
24REQD_DIRS+= ${SHARESUBDIR} 23REQD_DIRS+= ${SHARESUBDIR}
25 24
26USE_GAMESGROUP= yes 
27 
28OWN_DIRS_PERMS+= ${SCORE_PATH:Q} 25OWN_DIRS_PERMS+= ${SCORE_PATH:Q}
29OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE} 26OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE}
30OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores 27OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores
31OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} 750 28OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} 750
32OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_boulderdash 29OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_boulderdash
33OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE} 30OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE}
34OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_emerald_mine 31OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_emerald_mine
35OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE} 32OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE}
36OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_sokoban 33OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_sokoban
37OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE} 34OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE}
38OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_supaplex 35OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_supaplex
39OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE} 36OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE}
40OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/rnd_tutorial_aaron_davidson 37OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/rnd_tutorial_aaron_davidson
@@ -45,45 +42,35 @@ OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_G @@ -45,45 +42,35 @@ OWN_DIRS_PERMS+= ${GAMES_USER} ${GAMES_G
45.include "../../mk/bsd.prefs.mk" 42.include "../../mk/bsd.prefs.mk"
46 43
47.if ${OPSYS} != "Darwin" 44.if ${OPSYS} != "Darwin"
48SPECIAL_PERMS= bin/rocksndiamonds ${SETGID_GAMES_PERMS} 45SPECIAL_PERMS= bin/rocksndiamonds ${SETGID_GAMES_PERMS}
49.endif 46.endif
50 47
51PLIST_SRC= PLIST ${WRKDIR}/PLIST.F 48PLIST_SRC= PLIST ${WRKDIR}/PLIST.F
52 49
53.if (${MACHINE} == "i386" || ${MACHINE} == "prep" || ${MACHINE} == "cats" || \ 50.if (${MACHINE} == "i386" || ${MACHINE} == "prep" || ${MACHINE} == "cats" || \
54 ${MACHINE} == "shark") 51 ${MACHINE} == "shark")
55MAKE_FLAGS+= JOYSTICK=-DHAVE_JOYSTICK 52MAKE_FLAGS+= JOYSTICK=-DHAVE_JOYSTICK
56.endif 53.endif
57 54
58MAKE_FLAGS+= CC=${CC:Q} 
59MAKE_FLAGS+= MAKE=${MAKE_PROGRAM:Q} 
60MAKE_FLAGS+= X11_PATH=${X11BASE} 
61MAKE_FLAGS+= RO_GAME_DIR=${PREFIX}/share/rocksndiamonds 55MAKE_FLAGS+= RO_GAME_DIR=${PREFIX}/share/rocksndiamonds
62MAKE_FLAGS+= RW_GAME_DIR=${SCORE_PATH:Q} 56MAKE_FLAGS+= RW_GAME_DIR=${SCORE_PATH:Q}
63MAKE_FLAGS+= X11_INCL= 57MAKE_FLAGS+= TARGET=sdl2
64MAKE_FLAGS+= X11_LIBS=-lX11 
65 
66.include "options.mk" 
67 58
68do-install: 59do-install:
69 ${INSTALL_PROGRAM} ${WRKSRC}/rocksndiamonds ${DESTDIR}${PREFIX}/bin/ 60 ${INSTALL_PROGRAM} ${WRKSRC}/rocksndiamonds ${DESTDIR}${PREFIX}/bin/
70 ${INSTALL_MAN} ${WRKSRC}/rocksndiamonds.1 \ 
71 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6/rocksndiamonds.6 
72 ${INSTALL_DATA_DIR} ${DESTDIR}${SHAREDIR} 
73 # auto-generated PLIST 61 # auto-generated PLIST
74 rm -f ${WRKDIR}/PLIST.F 62 rm -f ${WRKDIR}/PLIST.F
75 set -e; \ 63 ${RUN} cd ${WRKSRC} && for d in sounds graphics levels music; do \
76 cd ${WRKSRC} && \ 64 find "$${d}" -type d -print | while read s; do \
77 for d in sounds graphics levels music; do \ 65 ${INSTALL_DATA_DIR} ${DESTDIR}${SHAREDIR}/"$${s}"; \
78 find "$${d}" -type d -print | while read subdir; do \ 66 done; \
79 ${INSTALL_DATA_DIR} \ 67 find "$${d}" -type f -print | while read f; do \
80 ${DESTDIR}${SHAREDIR}/"$${subdir}"; \ 68 ${INSTALL_DATA} "$${f}" ${DESTDIR}${SHAREDIR}/"$${f}"; \
81 done ; \ 69 ${ECHO} ${SHARESUBDIR}/"$${f}" >> ${WRKDIR}/PLIST.F; \
82 find "$${d}" -type f -print | while read f; do \ 70 done; \
83 ${INSTALL_DATA} "$${f}" \ 
84 ${DESTDIR}${SHAREDIR}/"$${f}"; \ 
85 ${ECHO} ${SHARESUBDIR}/"$${f}" >> ${WRKDIR}/PLIST.F;\ 
86 done ; \ 
87 done 71 done
88 72
 73.include "../../audio/SDL2_mixer/buildlink3.mk"
 74.include "../../graphics/SDL2_image/buildlink3.mk"
 75.include "../../net/SDL2_net/buildlink3.mk"
89.include "../../mk/bsd.pkg.mk" 76.include "../../mk/bsd.pkg.mk"

cvs diff -r1.9 -r1.10 pkgsrc/games/rocksndiamonds/PLIST (expand / switch to unified diff)

--- pkgsrc/games/rocksndiamonds/PLIST 2006/07/22 23:16:42 1.9
+++ pkgsrc/games/rocksndiamonds/PLIST 2017/09/09 07:10:34 1.10
@@ -1,3 +1,2 @@ @@ -1,3 +1,2 @@
1@comment $NetBSD: PLIST,v 1.9 2006/07/22 23:16:42 heinz Exp $ 1@comment $NetBSD: PLIST,v 1.10 2017/09/09 07:10:34 adam Exp $
2bin/rocksndiamonds 2bin/rocksndiamonds
3man/man6/rocksndiamonds.6 

cvs diff -r1.27 -r1.28 pkgsrc/games/rocksndiamonds/distinfo (expand / switch to unified diff)

--- pkgsrc/games/rocksndiamonds/distinfo 2015/11/03 20:57:03 1.27
+++ pkgsrc/games/rocksndiamonds/distinfo 2017/09/09 07:10:34 1.28
@@ -1,11 +1,10 @@ @@ -1,11 +1,10 @@
1$NetBSD: distinfo,v 1.27 2015/11/03 20:57:03 agc Exp $ 1$NetBSD: distinfo,v 1.28 2017/09/09 07:10:34 adam Exp $
2 2
3SHA1 (rocksndiamonds-3.3.1.2.tar.gz) = 14afa84205f4fbba6e774a232d39961160030744 3SHA1 (rocksndiamonds-4.0.0.2.tar.gz) = 9f19c740bf6fdc13a8559647ebd49131fdb469f8
4RMD160 (rocksndiamonds-3.3.1.2.tar.gz) = e901cf7ba00a4f8de7b747b1ffbbd54eb4a56617 4RMD160 (rocksndiamonds-4.0.0.2.tar.gz) = f865b343b07494644c16b21853b1c93b68ff9e58
5SHA512 (rocksndiamonds-3.3.1.2.tar.gz) = b627e4a8e2f03dc380b5a111cc42f296b283e63b20e019f522a8a1431fe9c138eb0dc7aa0fa03dd843c3a93bcd0a90704e651f5a590cb7d4c3e3b46976125755 5SHA512 (rocksndiamonds-4.0.0.2.tar.gz) = caab7693b37e1fa535c42e7b54eac618adeaffa31c93e70d0eeb1be438efe8a576cca8ddf37b0dec9dab8dceb85785b587eebffc26feae02de4cfd66a5386d3a
6Size (rocksndiamonds-3.3.1.2.tar.gz) = 2614904 bytes 6Size (rocksndiamonds-4.0.0.2.tar.gz) = 3522458 bytes
7SHA1 (patch-ab) = 0b364394ae03f31c9ed966039f2f2cd2e054bca1 7SHA1 (patch-src_Makefile) = 702af16aeb41f10d3ea995ad8c5c2a43f3ce9a0e
8SHA1 (patch-ac) = 9cbf5ff897cae129455081c941d7ae355b525d1b 8SHA1 (patch-src_libgame_joystick.c) = 152bfcca101d5b66838d68532fbd76599297a6ef
9SHA1 (patch-ag) = c9c500490948a03b6f5e2fa409f52112edbf7e92 9SHA1 (patch-src_libgame_joystick.h) = 05122ba22e0e46ba9cf12cecef710c1d591c096e
10SHA1 (patch-ah) = 584b406eef29b2849f7fc42181a7b9f29e6c9c69 10SHA1 (patch-src_libgame_system.c) = 02fd27e60d02a61d0ad4e7f3e19825088374d696
11SHA1 (patch-ak) = ec80d7e32285a827afacfda4f17e686f2876fd14 

File Deleted: pkgsrc/games/rocksndiamonds/Attic/options.mk

File Deleted: pkgsrc/games/rocksndiamonds/patches/Attic/patch-ab

File Deleted: pkgsrc/games/rocksndiamonds/patches/Attic/patch-ac

File Deleted: pkgsrc/games/rocksndiamonds/patches/Attic/patch-ag

File Deleted: pkgsrc/games/rocksndiamonds/patches/Attic/patch-ah

File Deleted: pkgsrc/games/rocksndiamonds/patches/Attic/patch-ak

File Added: pkgsrc/games/rocksndiamonds/patches/patch-src_Makefile
$NetBSD: patch-src_Makefile,v 1.1 2017/09/09 07:10:34 adam Exp $

Append to CFLAGS and LDFLAGS.

--- src/Makefile.orig	2017-03-15 20:15:06.000000000 +0000
+++ src/Makefile
@@ -117,8 +117,10 @@ SYS_LDFLAGS := $(shell echo $(SYS_LDFLAG
 OPTIONS = -O3 -Wall
 endif
 
-CFLAGS = $(OPTIONS) $(SYS_CFLAGS)  $(EXTRA_CFLAGS) $(CONFIG)
-LDFLAGS =           $(SYS_LDFLAGS) $(EXTRA_LDFLAGS) -lm
+# pkgsrc presets those variables, so use '+=' to append to them
+# flags for debugging or optimisation may be supplied from the pkgsrc Makefile
+CFLAGS += $(SYS_CFLAGS)  $(EXTRA_CFLAGS) $(CONFIG)
+LDFLAGS += $(SYS_LDFLAGS) $(EXTRA_LDFLAGS) -lm
 
 
 SRCS =	main.c		\

File Added: pkgsrc/games/rocksndiamonds/patches/patch-src_libgame_joystick.c
$NetBSD: patch-src_libgame_joystick.c,v 1.1 2017/09/09 07:10:34 adam Exp $

Allow joystick on NetBSD.

--- src/libgame/joystick.c.orig	2015-10-20 21:58:08.000000000 +0000
+++ src/libgame/joystick.c
@@ -9,12 +9,13 @@
 // joystick.c
 // ============================================================================
 
-#if defined(PLATFORM_FREEBSD)
+#include "misc.h"
+
+#if defined(PLATFORM_FREEBSD) || (defined(PLATFORM_NETBSD) && defined(HAVE_JOYSTICK))
 #include <machine/joystick.h>
 #endif
 
 #include "joystick.h"
-#include "misc.h"
 
 
 /* ========================================================================= */

File Added: pkgsrc/games/rocksndiamonds/patches/patch-src_libgame_joystick.h
$NetBSD: patch-src_libgame_joystick.h,v 1.1 2017/09/09 07:10:34 adam Exp $

Allow joystick on NetBSD.

--- src/libgame/joystick.h.orig	2015-10-20 21:58:08.000000000 +0000
+++ src/libgame/joystick.h
@@ -19,7 +19,7 @@
 #define	JOYSTICK_ACTIVE		(1 << 1)
 #define JOYSTICK_ACTIVATED	(JOYSTICK_AVAILABLE | JOYSTICK_ACTIVE)
 
-#if defined(PLATFORM_FREEBSD)
+#if defined(PLATFORM_FREEBSD) || (defined(PLATFORM_NETBSD) && defined(HAVE_JOYSTICK))
 #define DEV_JOYSTICK_0		"/dev/joy0"
 #define DEV_JOYSTICK_1		"/dev/joy1"
 #define DEV_JOYSTICK_2		"/dev/joy2"

File Added: pkgsrc/games/rocksndiamonds/patches/patch-src_libgame_system.c
$NetBSD: patch-src_libgame_system.c,v 1.1 2017/09/09 07:10:34 adam Exp $

InitJoystick will be called more than once, so reset the state
variable 'joystick' only if there's no joystick available (yet).

--- src/libgame/system.c.orig	2017-03-15 20:15:06.000000000 +0000
+++ src/libgame/system.c
@@ -1603,9 +1603,10 @@ void InitJoysticks()
 #endif
 
   /* always start with reliable default values */
-  joystick.status = JOYSTICK_NOT_AVAILABLE;
+  if (joystick.status == JOYSTICK_NOT_AVAILABLE) {
   for (i = 0; i < MAX_PLAYERS; i++)
     joystick.fd[i] = -1;		/* joystick device closed */
+  }
 
   SDLInitJoysticks();
 }