From c633044cc890e295f153d441eac7800c6226c5c7 Mon Sep 17 00:00:00 2001 From: Henrik Grimler Date: Sat, 10 Jul 2021 22:32:51 +0200 Subject: [PATCH] dmagnetic: add magnetic-scrolls script for downloading games Helper script for downloading the game files, through a TUI. Also update some patch offsets while we are at it. --- packages/dmagnetic/Makefile.patch | 20 ----- packages/dmagnetic/build.sh | 8 ++ .../change-prefix.patch.beforehostbuild | 72 ++++++--------- packages/dmagnetic/magnetic-scrolls.in | 87 +++++++++++++++++++ .../dmagnetic/use-dMagnetic-from-PATH.patch | 6 +- 5 files changed, 126 insertions(+), 67 deletions(-) delete mode 100644 packages/dmagnetic/Makefile.patch create mode 100644 packages/dmagnetic/magnetic-scrolls.in diff --git a/packages/dmagnetic/Makefile.patch b/packages/dmagnetic/Makefile.patch deleted file mode 100644 index 0d1dcc17b..000000000 --- a/packages/dmagnetic/Makefile.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ./Makefile~ 2020-12-24 08:43:57.000000000 +0100 -+++ ./Makefile 2020-12-26 16:37:35.799980999 +0100 -@@ -24,9 +24,14 @@ - #OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - PREFIX?=/usr/local --INSTALLBIN=$(PREFIX)/bin --INSTALLSHARE=$(PREFIX)/share/games --INSTALLMAN=$(PREFIX)/share/man -+DESTDIR?= -+BINDIR=$(PREFIX)/bin -+SHAREDIR=$(PREFIX)/share/games -+MANDIR=$(PREFIX)/share/man -+ -+INSTALLBIN=$(DESTDIR)$(BINDIR) -+INSTALLSHARE=$(DESTDIR)$(SHAREDIR) -+INSTALLMAN=$(DESTDIR)$(MANDIR) - - CC?=gcc - AR?=ar diff --git a/packages/dmagnetic/build.sh b/packages/dmagnetic/build.sh index fe4f01b4c..ebde1c40b 100644 --- a/packages/dmagnetic/build.sh +++ b/packages/dmagnetic/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Interpreter for classic text adventure games and interac TERMUX_PKG_LICENSE="BSD 2-Clause" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=0.31 +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://www.dettus.net/dMagnetic/dMagnetic_${TERMUX_PKG_VERSION}.tar.bz2 TERMUX_PKG_SHA256=1a0356f04d3a5e252225b0fd38b9047957f292f67338ba83579958b46f184139 TERMUX_PKG_BUILD_IN_SRC=true @@ -19,3 +20,10 @@ termux_step_post_configure() { # find our host-built dMagnetic export PATH=$TERMUX_PKG_HOSTBUILD_DIR:$PATH } + +termux_step_post_make_install() { + sed "s%@TERMUX_PREFIX@%$TERMUX_PREFIX%g" \ + $TERMUX_PKG_BUILDER_DIR/magnetic-scrolls.in \ + > $TERMUX_PREFIX/bin/magnetic-scrolls + chmod 700 $TERMUX_PREFIX/bin/magnetic-scrolls +} diff --git a/packages/dmagnetic/change-prefix.patch.beforehostbuild b/packages/dmagnetic/change-prefix.patch.beforehostbuild index 6d5d43d82..1134d23cd 100644 --- a/packages/dmagnetic/change-prefix.patch.beforehostbuild +++ b/packages/dmagnetic/change-prefix.patch.beforehostbuild @@ -1,8 +1,8 @@ ---- ../dMagnetic.c.orig 2020-12-30 19:08:07.506951052 +0100 -+++ ./src/toplevel/dMagnetic.c 2020-12-30 19:19:37.249849770 +0100 -@@ -162,8 +162,21 @@ - fprintf(stderr,"*****************************************\n"); - fprintf(stderr,"\n"); +--- ./src/toplevel/dMagnetic.c.orig 2021-06-23 20:13:37.000000000 +0000 ++++ ./src/toplevel/dMagnetic.c 2021-07-10 20:09:18.905961467 +0000 +@@ -130,8 +130,21 @@ + { + dMagnetic_helpscreens_header(); #define LOCNUM 14 - const char *locations[LOCNUM]={"/etc/","/usr/local/share/","/usr/local/share/games/","/usr/local/share/dMagnetic/","/usr/local/games/","/usr/local/games/dMagnetic/","/usr/share/","/usr/share/games/","/usr/share/dMagnetic/","/usr/games/","/usr/games/dMagnetic/","/usr/share/doc/dmagnetic/","/usr/pkg/share/doc/dMagnetic/", - "./"}; // this should always be the last one. @@ -24,19 +24,8 @@ f_inifile=NULL; if (f_inifile==NULL) ---- ../README.txt.orig 2020-12-30 19:24:18.486339201 +0100 -+++ ./README.txt 2020-12-30 19:24:48.622986868 +0100 -@@ -56,7 +56,7 @@ - - Alternatively, you can select the .mag files like this: - --% ./dMagnetic -ini dMagnetic.ini -mag /usr/local/share/games/pawn.mag -+% ./dMagnetic -ini dMagnetic.ini -mag @TERMUX_PREFIX@/share/games/pawn.mag - - TO SEE GRAPHICS IN WONDERLAND OR ANY GAME FROM THE MAGNETIC SCROLLS COLLECTION, - you have to type in 'GRAPHICS'. To see the EGA version of those pictures, run ---- ../dMagneticini.5.orig 2020-12-30 19:24:36.349661263 +0100 -+++ ./dMagneticini.5 2020-12-30 19:24:48.622986868 +0100 +--- ./dMagneticini.5.orig 2021-06-23 20:13:37.000000000 +0000 ++++ ./dMagneticini.5 2021-07-10 20:09:18.905961467 +0000 @@ -32,7 +32,7 @@ .Pp rows=40 @@ -55,7 +44,7 @@ .br pawngfx=/home/games/magneticscrolls/pawn.gfx .br -@@ -200,11 +200,11 @@ +@@ -215,11 +215,11 @@ .br [FILES] .br @@ -70,9 +59,9 @@ .br ;pawnd64=/d64/PAWN1.d64,/d64/PAWN2.d64 .br -@@ -216,13 +216,13 @@ +@@ -233,13 +233,13 @@ .br - ;pawnatarixl=/atr/PAWN1.ATR,/atr/PAWN2.ATR + ;pawnappleii=/nib/pawn.nib .br -guildmag=/usr/local/share/games/magneticscrolls/guild.mag +guildmag=@TERMUX_PREFIX@/share/games/magneticscrolls/guild.mag @@ -88,9 +77,9 @@ .br ;guild64=/d64/GUILD1.d64,/d64/GUILD2.d64 .br -@@ -234,11 +234,11 @@ +@@ -253,11 +253,11 @@ .br - ;guildatarixl=/atr/GUILD1.ATR,/atr/GUILD2.ATR + ;guildappleii=/nib/guild.nib .br -jinxtermag=/usr/local/share/games/magneticscrolls/jinxter.mag +jinxtermag=@TERMUX_PREFIX@/share/games/magneticscrolls/jinxter.mag @@ -103,9 +92,9 @@ .br ;jinxterd64=/d64/JINXTER1.d64,/d64/JINXTER2.d64 .br -@@ -250,13 +250,13 @@ +@@ -271,13 +271,13 @@ .br - ;jinxteratarixl=/atr/JINXTER1.ATR,/atr/JINXTER2.ATR + ;jinxterappleii=/nib/jinxter1.nib,/nib/jinxter2.nib .br -corruptionmag=/usr/local/share/games/magneticscrolls/ccorrupt.mag +corruptionmag=@TERMUX_PREFIX@/share/games/magneticscrolls/ccorrupt.mag @@ -121,9 +110,9 @@ .br ;corruptiond64=/d64/CORRUPT1.d64,/d64/CORRUPT2.d64 .br -@@ -266,13 +266,13 @@ +@@ -289,13 +289,13 @@ .br - ;corruptionarchimedes=/adf/CORRUPTIONarchimedes.adf + ;corruptionappleii=/2mg/corruptA.2mg,/2mg/corruptB.2mg,/2mg/corruptC.2mg .br -fishmag=/usr/local/share/games/magneticscrolls/fish.mag +fishmag=@TERMUX_PREFIX@/share/games/magneticscrolls/fish.mag @@ -139,7 +128,7 @@ .br ;fishd64=/d64/FISH1.d64,/d64/FISH2.d64 .br -@@ -282,13 +282,13 @@ +@@ -305,13 +305,13 @@ .br ;fisharchimedes=/adf/FISHarchimedes.adf .br @@ -157,7 +146,7 @@ .br ;mythamstradcpc=/dsk/MYTH1.DSK,/dsk/MYTH2.DSK .br -@@ -296,11 +296,11 @@ +@@ -319,11 +319,11 @@ .br ;mytharchimedes=/adf/MYTHarchimedes.adf .br @@ -172,19 +161,14 @@ .br [RANDOM] .br ---- ../dMagnetic_helpscreens.c.orig 2021-02-11 07:39:20.978080747 +0000 -+++ ./src/toplevel/dMagnetic_helpscreens.c 2021-02-11 07:40:23.946167143 +0000 -@@ -67,10 +67,10 @@ - } tGameInfo; +--- ./README.txt.orig 2021-06-23 20:13:37.000000000 +0000 ++++ ./README.txt 2021-07-10 20:09:18.905961467 +0000 +@@ -59,7 +59,7 @@ - const tPlatformInfo cdMagnetic_platformInfo[NUMPLATFORMS]={ -- {"mag", "/usr/local/share/games/magneticscrolls/", ".mag" ,0,0,1,1, PLATFORM_MAG, "-mag MAGFILE.mag"}, -- {"gfx", "/usr/local/share/games/magneticscrolls/", ".gfx" ,0,0,1,1, PLATFORM_GFX, "-gfx GFXFILE.gfx"}, -+ {"mag", "@TERMUX_PREFIX@/share/games/magneticscrolls/", ".mag" ,0,0,1,1, PLATFORM_MAG, "-mag MAGFILE.mag"}, -+ {"gfx", "@TERMUX_PREFIX@/share/games/magneticscrolls/", ".gfx" ,0,0,1,1, PLATFORM_GFX, "-gfx GFXFILE.gfx"}, - {"msdos", "/MSDOS/C/", "" ,1,0,1,0, PLATFORM_MSDOS, "-msdosdir DIRECTORY/"}, -- {"tworsc", "/usr/local/share/games/", "TWO.RSC",0,1,1,0, PLATFORM_TWORSC, "-tworsc DIRECTORY/TWO.RSC"}, -+ {"tworsc", "@TERMUX_PREFIX@/share/games/", "TWO.RSC",0,1,1,0, PLATFORM_TWORSC, "-tworsc DIRECTORY/TWO.RSC"}, - {"d64", "/8/", ".D64" ,1,0,2,0, PLATFORM_D64, "-d64 IMAGE1.d64,IMAGE2.d64"}, - {"amstradcpc", "/dsk/amstradcpc/", ".DSK" ,1,0,2,0, PLATFORM_AMSTRADCPC, "-amstradcpc IMAGE1.DSK,IMAGE2.DSK"}, - {"spectrum", "/dsk/spectrum/", ".DSK" ,0,0,1,0, PLATFORM_SPECTRUM, "-spectrum IMAGE.DSK"}, + Alternatively, you can select the .mag files like this: + +-% ./dMagnetic -ini dMagnetic.ini -mag /usr/local/share/games/pawn.mag ++% ./dMagnetic -ini dMagnetic.ini -mag @TERMUX_PREFIX@/share/games/pawn.mag + + TO SEE GRAPHICS IN WONDERLAND OR ANY GAME FROM THE MAGNETIC SCROLLS COLLECTION, + you have to type in 'GRAPHICS'. To see the EGA version of those pictures, run diff --git a/packages/dmagnetic/magnetic-scrolls.in b/packages/dmagnetic/magnetic-scrolls.in new file mode 100644 index 000000000..a4dce657b --- /dev/null +++ b/packages/dmagnetic/magnetic-scrolls.in @@ -0,0 +1,87 @@ +# Tool for downloading scrolls for dMagnetic from +# https://msmemorial.if-legends.org/memorial.php + +set -e -u + +: "${TMPDIR:="@TERMUX_PREFIX@/tmp"}" + +FG_GAMEFOLDER=@TERMUX_PREFIX@/share/games/magneticscrolls +mkdir -p $FG_GAMEFOLDER + +FG_TMPFILE=$TMPDIR/dmagnetic + +#--backtitle "dMagnetic scrolls" \ +set +e +dialog \ + --title "Select scroll" --clear \ + --radiolist "Choose scroll to play, select with space" 0 0 0 \ + "The Pawn" "Trapped - Destiny of Good...or Evil?" off \ + "The Guild of Thieves" "Why buy this game when you can steal it?" off \ + "Jinxter" "Every silver lining has a cloud..." off \ + "Corruption" "In the real world the good guys rarely win." off \ + "Fish!" "One Nibble and You're Hooked." off \ + "Myth" "It's not easy being a God..." off \ + "Wonderland" "Dream the dream... Live the dream..." off \ + 2> $FG_TMPFILE + +retval=$? +set -e +clear + +case $retval in + 0) + FG_GAME=`cat $FG_TMPFILE`;; + 1) + # Cancel pressed + exit;; + 255) + # Esc pressed + exit;; +esac + +case $FG_GAME in + "The Pawn") + FG_FILEDOWNLOAD=https://msmemorial.if-legends.org/download.php?pawnall.zip + FG_GAMENAME=pawn + ;; + "The Guild of Thieves") + FG_FILEDOWNLOAD=https://msmemorial.if-legends.org/download.php?guildall.zip + FG_GAMENAME=guild + ;; + "Jinxter") + FG_FILEDOWNLOAD=https://msmemorial.if-legends.org/download.php?jinxterall.zip + FG_GAMENAME=jinxter + ;; + "Corruption") + FG_FILEDOWNLOAD=https://msmemorial.if-legends.org/download.php?corrmwall.zip + FG_GAMENAME=corruption + ;; + "Fish!") + FG_FILEDOWNLOAD=https://msmemorial.if-legends.org/download.php?fishall.zip + FG_GAMENAME=fish + ;; + "Myth") + FG_FILEDOWNLOAD=https://msmemorial.if-legends.org/download.php?mythall.zip + FG_GAMENAME=myth + ;; + "Wonderland") + FG_FILEDOWNLOAD=https://msmemorial.if-legends.org/download.php?wonderall.zip + FG_GAMENAME=wonder + ;; + *) + echo "Error: unknown game." + exit 1 + ;; +esac + +FG_FILENAME=`basename $FG_FILEDOWNLOAD` +mkdir -p $FG_GAMEFOLDER/saves +cd $FG_GAMEFOLDER +if [ ! -f "${FG_FILEDOWNLOAD#*\?}" ]; then + curl --referer https://msmemorial.if-legends.org/memorial.php \ + "$FG_FILEDOWNLOAD" -o "${FG_FILEDOWNLOAD#*\?}" +fi +unzip -o "${FG_FILEDOWNLOAD#*\?}" + +echo "${FG_GAME} has been downloaded and installed!" +echo "You can now start the game with \"dMagnetic ${FG_GAME}\"" diff --git a/packages/dmagnetic/use-dMagnetic-from-PATH.patch b/packages/dmagnetic/use-dMagnetic-from-PATH.patch index 6774a9ac7..fa0f5e990 100644 --- a/packages/dmagnetic/use-dMagnetic-from-PATH.patch +++ b/packages/dmagnetic/use-dMagnetic-from-PATH.patch @@ -1,6 +1,6 @@ ---- ../Makefile.orig 2021-02-11 07:22:47.083353961 +0000 -+++ ./Makefile 2021-02-11 07:24:28.119942571 +0000 -@@ -110,7 +110,7 @@ +--- ./Makefile.orig 2021-06-23 20:13:37.000000000 +0000 ++++ ./Makefile 2021-07-10 21:09:12.768295842 +0000 +@@ -106,7 +106,7 @@ $(LINK) $(LDFLAGS) -o $@ $(OBJ_LOADER) $(OBJ_LINEA) $(OBJ_VM68K) $(OBJ_GUI) $(OBJ_TOPLEVEL) dMagnetic.ini: dMagnetic