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.
This commit is contained in:
Henrik Grimler 2021-07-10 22:32:51 +02:00
parent 114ae3dfec
commit c633044cc8
5 changed files with 126 additions and 67 deletions

View File

@ -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

View File

@ -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
}

View File

@ -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

View File

@ -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}\""

View File

@ -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