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_LICENSE="BSD 2-Clause"
TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=0.31 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_SRCURL=https://www.dettus.net/dMagnetic/dMagnetic_${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_SHA256=1a0356f04d3a5e252225b0fd38b9047957f292f67338ba83579958b46f184139 TERMUX_PKG_SHA256=1a0356f04d3a5e252225b0fd38b9047957f292f67338ba83579958b46f184139
TERMUX_PKG_BUILD_IN_SRC=true TERMUX_PKG_BUILD_IN_SRC=true
@ -19,3 +20,10 @@ termux_step_post_configure() {
# find our host-built dMagnetic # find our host-built dMagnetic
export PATH=$TERMUX_PKG_HOSTBUILD_DIR:$PATH 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.orig 2021-06-23 20:13:37.000000000 +0000
+++ ./src/toplevel/dMagnetic.c 2020-12-30 19:19:37.249849770 +0100 +++ ./src/toplevel/dMagnetic.c 2021-07-10 20:09:18.905961467 +0000
@@ -162,8 +162,21 @@ @@ -130,8 +130,21 @@
fprintf(stderr,"*****************************************\n"); {
fprintf(stderr,"\n"); dMagnetic_helpscreens_header();
#define LOCNUM 14 #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/", - 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. - "./"}; // this should always be the last one.
@ -24,19 +24,8 @@
f_inifile=NULL; f_inifile=NULL;
if (f_inifile==NULL) if (f_inifile==NULL)
--- ../README.txt.orig 2020-12-30 19:24:18.486339201 +0100 --- ./dMagneticini.5.orig 2021-06-23 20:13:37.000000000 +0000
+++ ./README.txt 2020-12-30 19:24:48.622986868 +0100 +++ ./dMagneticini.5 2021-07-10 20:09:18.905961467 +0000
@@ -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
@@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
.Pp .Pp
rows=40 rows=40
@ -55,7 +44,7 @@
.br .br
pawngfx=/home/games/magneticscrolls/pawn.gfx pawngfx=/home/games/magneticscrolls/pawn.gfx
.br .br
@@ -200,11 +200,11 @@ @@ -215,11 +215,11 @@
.br .br
[FILES] [FILES]
.br .br
@ -70,9 +59,9 @@
.br .br
;pawnd64=/d64/PAWN1.d64,/d64/PAWN2.d64 ;pawnd64=/d64/PAWN1.d64,/d64/PAWN2.d64
.br .br
@@ -216,13 +216,13 @@ @@ -233,13 +233,13 @@
.br .br
;pawnatarixl=/atr/PAWN1.ATR,/atr/PAWN2.ATR ;pawnappleii=/nib/pawn.nib
.br .br
-guildmag=/usr/local/share/games/magneticscrolls/guild.mag -guildmag=/usr/local/share/games/magneticscrolls/guild.mag
+guildmag=@TERMUX_PREFIX@/share/games/magneticscrolls/guild.mag +guildmag=@TERMUX_PREFIX@/share/games/magneticscrolls/guild.mag
@ -88,9 +77,9 @@
.br .br
;guild64=/d64/GUILD1.d64,/d64/GUILD2.d64 ;guild64=/d64/GUILD1.d64,/d64/GUILD2.d64
.br .br
@@ -234,11 +234,11 @@ @@ -253,11 +253,11 @@
.br .br
;guildatarixl=/atr/GUILD1.ATR,/atr/GUILD2.ATR ;guildappleii=/nib/guild.nib
.br .br
-jinxtermag=/usr/local/share/games/magneticscrolls/jinxter.mag -jinxtermag=/usr/local/share/games/magneticscrolls/jinxter.mag
+jinxtermag=@TERMUX_PREFIX@/share/games/magneticscrolls/jinxter.mag +jinxtermag=@TERMUX_PREFIX@/share/games/magneticscrolls/jinxter.mag
@ -103,9 +92,9 @@
.br .br
;jinxterd64=/d64/JINXTER1.d64,/d64/JINXTER2.d64 ;jinxterd64=/d64/JINXTER1.d64,/d64/JINXTER2.d64
.br .br
@@ -250,13 +250,13 @@ @@ -271,13 +271,13 @@
.br .br
;jinxteratarixl=/atr/JINXTER1.ATR,/atr/JINXTER2.ATR ;jinxterappleii=/nib/jinxter1.nib,/nib/jinxter2.nib
.br .br
-corruptionmag=/usr/local/share/games/magneticscrolls/ccorrupt.mag -corruptionmag=/usr/local/share/games/magneticscrolls/ccorrupt.mag
+corruptionmag=@TERMUX_PREFIX@/share/games/magneticscrolls/ccorrupt.mag +corruptionmag=@TERMUX_PREFIX@/share/games/magneticscrolls/ccorrupt.mag
@ -121,9 +110,9 @@
.br .br
;corruptiond64=/d64/CORRUPT1.d64,/d64/CORRUPT2.d64 ;corruptiond64=/d64/CORRUPT1.d64,/d64/CORRUPT2.d64
.br .br
@@ -266,13 +266,13 @@ @@ -289,13 +289,13 @@
.br .br
;corruptionarchimedes=/adf/CORRUPTIONarchimedes.adf ;corruptionappleii=/2mg/corruptA.2mg,/2mg/corruptB.2mg,/2mg/corruptC.2mg
.br .br
-fishmag=/usr/local/share/games/magneticscrolls/fish.mag -fishmag=/usr/local/share/games/magneticscrolls/fish.mag
+fishmag=@TERMUX_PREFIX@/share/games/magneticscrolls/fish.mag +fishmag=@TERMUX_PREFIX@/share/games/magneticscrolls/fish.mag
@ -139,7 +128,7 @@
.br .br
;fishd64=/d64/FISH1.d64,/d64/FISH2.d64 ;fishd64=/d64/FISH1.d64,/d64/FISH2.d64
.br .br
@@ -282,13 +282,13 @@ @@ -305,13 +305,13 @@
.br .br
;fisharchimedes=/adf/FISHarchimedes.adf ;fisharchimedes=/adf/FISHarchimedes.adf
.br .br
@ -157,7 +146,7 @@
.br .br
;mythamstradcpc=/dsk/MYTH1.DSK,/dsk/MYTH2.DSK ;mythamstradcpc=/dsk/MYTH1.DSK,/dsk/MYTH2.DSK
.br .br
@@ -296,11 +296,11 @@ @@ -319,11 +319,11 @@
.br .br
;mytharchimedes=/adf/MYTHarchimedes.adf ;mytharchimedes=/adf/MYTHarchimedes.adf
.br .br
@ -172,19 +161,14 @@
.br .br
[RANDOM] [RANDOM]
.br .br
--- ../dMagnetic_helpscreens.c.orig 2021-02-11 07:39:20.978080747 +0000 --- ./README.txt.orig 2021-06-23 20:13:37.000000000 +0000
+++ ./src/toplevel/dMagnetic_helpscreens.c 2021-02-11 07:40:23.946167143 +0000 +++ ./README.txt 2021-07-10 20:09:18.905961467 +0000
@@ -67,10 +67,10 @@ @@ -59,7 +59,7 @@
} tGameInfo;
const tPlatformInfo cdMagnetic_platformInfo[NUMPLATFORMS]={ Alternatively, you can select the .mag files like this:
- {"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"}, -% ./dMagnetic -ini dMagnetic.ini -mag /usr/local/share/games/pawn.mag
+ {"mag", "@TERMUX_PREFIX@/share/games/magneticscrolls/", ".mag" ,0,0,1,1, PLATFORM_MAG, "-mag MAGFILE.mag"}, +% ./dMagnetic -ini dMagnetic.ini -mag @TERMUX_PREFIX@/share/games/pawn.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/"}, TO SEE GRAPHICS IN WONDERLAND OR ANY GAME FROM THE MAGNETIC SCROLLS COLLECTION,
- {"tworsc", "/usr/local/share/games/", "TWO.RSC",0,1,1,0, PLATFORM_TWORSC, "-tworsc DIRECTORY/TWO.RSC"}, you have to type in 'GRAPHICS'. To see the EGA version of those pictures, run
+ {"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"},

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.orig 2021-06-23 20:13:37.000000000 +0000
+++ ./Makefile 2021-02-11 07:24:28.119942571 +0000 +++ ./Makefile 2021-07-10 21:09:12.768295842 +0000
@@ -110,7 +110,7 @@ @@ -106,7 +106,7 @@
$(LINK) $(LDFLAGS) -o $@ $(OBJ_LOADER) $(OBJ_LINEA) $(OBJ_VM68K) $(OBJ_GUI) $(OBJ_TOPLEVEL) $(LINK) $(LDFLAGS) -o $@ $(OBJ_LOADER) $(OBJ_LINEA) $(OBJ_VM68K) $(OBJ_GUI) $(OBJ_TOPLEVEL)
dMagnetic.ini: dMagnetic dMagnetic.ini: dMagnetic