games/megamario: New-style icons, fix music.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
682163cf3e
commit
38a4d306e7
|
@ -6,11 +6,15 @@
|
||||||
|
|
||||||
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||||||
|
|
||||||
|
# 20211022 bkw: BUILD=2
|
||||||
|
# - new-style icons.
|
||||||
|
# - make the in-game music work (by transcoding it to ogg).
|
||||||
|
|
||||||
cd $(dirname $0) ; CWD=$(pwd)
|
cd $(dirname $0) ; CWD=$(pwd)
|
||||||
|
|
||||||
PRGNAM=megamario
|
PRGNAM=megamario
|
||||||
VERSION=${VERSION:-1.7}
|
VERSION=${VERSION:-1.7}
|
||||||
BUILD=${BUILD:-1}
|
BUILD=${BUILD:-2}
|
||||||
TAG=${TAG:-_SBo}
|
TAG=${TAG:-_SBo}
|
||||||
PKGTYPE=${PKGTYPE:-tgz}
|
PKGTYPE=${PKGTYPE:-tgz}
|
||||||
|
|
||||||
|
@ -22,9 +26,6 @@ if [ -z "$ARCH" ]; then
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
|
|
||||||
# the name of the created package would be, and then exit. This information
|
|
||||||
# could be useful to other scripts.
|
|
||||||
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
|
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
|
||||||
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
|
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -66,20 +67,22 @@ unzip $CWD/$ZIPFILE -x '*.exe' '*.dll' \
|
||||||
log.txt data/save.sav data/levels/1/1 data/levels/11/mai
|
log.txt data/save.sav data/levels/1/1 data/levels/11/mai
|
||||||
|
|
||||||
chown -R root:root .
|
chown -R root:root .
|
||||||
find -L . \
|
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
|
||||||
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
|
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
|
||||||
-o -perm 511 \) -exec chmod 755 {} \; -o \
|
|
||||||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
# 20211025 bkw: gzip the patches. Don't trust git not to eat the \r
|
||||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
# characters, since it's configurable by whoever checks this out.
|
||||||
|
|
||||||
# missing includes
|
# missing includes
|
||||||
patch -p1 < $CWD/patches/compilefix.diff
|
zcat $CWD/patches/compilefix.diff.gz | patch -p1
|
||||||
|
|
||||||
# look for mp3music in DATADIR, not current dir
|
# Use ogg music rather than mp3, and look for music in DATADIR, not
|
||||||
patch -p1 < $CWD/patches/usemp3music.diff
|
# current dir. Slackware's sdl has a libSDL_mixer.so that doesn't
|
||||||
|
# support mp3, so we have to convert to sometime it does support.
|
||||||
|
zcat $CWD/patches/oggmusic.diff.gz | patch -p1
|
||||||
|
|
||||||
# write log.txt to ~/.megamario/, not current dir
|
# write log.txt to ~/.megamario/, not current dir
|
||||||
patch -p1 < $CWD/patches/logfile.diff
|
zcat $CWD/patches/logfile.diff.gz | patch -p1
|
||||||
|
|
||||||
# bin is hardcoded
|
# bin is hardcoded
|
||||||
sed -i 's,\<bin\>,games,' Makefile
|
sed -i 's,\<bin\>,games,' Makefile
|
||||||
|
@ -102,15 +105,38 @@ make install \
|
||||||
PREFIX=$PKG/usr \
|
PREFIX=$PKG/usr \
|
||||||
DATADIR="$PKG/$DATADIR"
|
DATADIR="$PKG/$DATADIR"
|
||||||
|
|
||||||
# 'make install' doesn't install the high-quality mp3 music
|
# not doing a man page as there are no command-line options.
|
||||||
cp -a mp3music $PKG/$DATADIR
|
|
||||||
|
# 'make install' doesn't install the high-quality mp3 music. We have
|
||||||
|
# to transcode them to ogg anyway. Sadly we're converting from one
|
||||||
|
# lossy codec to another... while we're at it, get rid of the embedded
|
||||||
|
# video frames in some of the mp3s, which the game never displays.
|
||||||
|
# The converted music is ~17% smaller than the original mp3 music.
|
||||||
|
OGGDIR=$PKG/$DATADIR/oggmusic
|
||||||
|
mkdir -p $OGGDIR
|
||||||
|
cp -a mp3music/*.dat $OGGDIR
|
||||||
|
totalcount="$( /bin/ls -1 mp3music/*.mp3 | wc -l )"
|
||||||
|
for song in mp3music/*.mp3; do
|
||||||
|
echo "===> [$((++count))/$totalcount] transcoding $song"
|
||||||
|
ffmpeg -loglevel 16 -i "$song" -vn -b:a 128k \
|
||||||
|
"$OGGDIR/$( basename "$song" .mp3 )".ogg
|
||||||
|
done
|
||||||
|
|
||||||
# upstream's .desktop fails to validate, use our own fixed one.
|
# upstream's .desktop fails to validate, use our own fixed one.
|
||||||
# the icon is upstream's.
|
|
||||||
# not doing a man page as there are no command-line options.
|
|
||||||
mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps
|
mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps
|
||||||
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
|
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
|
||||||
cat $PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
|
|
||||||
|
# the icon was made from upstream's player2l.png and full_pipe_left.png.
|
||||||
|
# native size is 80x80.
|
||||||
|
for i in 32 48 64 80; do
|
||||||
|
px=$( basename $i | cut -d. -f1 )
|
||||||
|
size=${px}x${px}
|
||||||
|
dir=$PKG/usr/share/icons/hicolor/$size/apps
|
||||||
|
mkdir -p $dir
|
||||||
|
convert -resize $size $CWD/$PRGNAM.png $dir/$PRGNAM.png
|
||||||
|
done
|
||||||
|
|
||||||
|
ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
|
||||||
|
|
||||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION
|
cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Exec=megamario %u
|
Exec=/usr/games/megamario
|
||||||
Icon=megamario
|
Icon=megamario
|
||||||
Type=Application
|
Type=Application
|
||||||
Categories=Game;ArcadeGame;
|
Categories=Game;ArcadeGame;
|
||||||
Name=megamario
|
Name=MegaMario
|
||||||
GenericName=Mega Mario
|
GenericName=Mario Bros Clone
|
||||||
GenericName[fr]=Clone de Mario Bros
|
GenericName[fr]=Clone de Mario Bros
|
||||||
GenericName[de]=Mega Mario
|
|
||||||
StartupNotify=false
|
StartupNotify=false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
PRGNAM="megamario"
|
PRGNAM="megamario"
|
||||||
VERSION="1.7"
|
VERSION="1.7"
|
||||||
HOMEPAGE="http://mmario.sourceforge.net/index.htm"
|
HOMEPAGE="http://mmario.sourceforge.net/index.htm"
|
||||||
DOWNLOAD="http://downloads.sourceforge.net/project/mmario/Mega%20Mario%20Full%20Game/Mega%20Mario%20v1.7%20%28Full%20Game%2C%20high%20Quality%20music%29/MegaMario_v1.7_full.zip"
|
DOWNLOAD="https://downloads.sourceforge.net/project/mmario/Mega%20Mario%20Full%20Game/Mega%20Mario%20v1.7%20%28Full%20Game%2C%20high%20Quality%20music%29/MegaMario_v1.7_full.zip"
|
||||||
MD5SUM="9550b20f7c2754cd8f94ebf309becf62"
|
MD5SUM="9550b20f7c2754cd8f94ebf309becf62"
|
||||||
DOWNLOAD_x86_64=""
|
DOWNLOAD_x86_64=""
|
||||||
MD5SUM_x86_64=""
|
MD5SUM_x86_64=""
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
|
@ -1,56 +0,0 @@
|
||||||
diff -Naur a/src/SDL_gfxPrimitives.c b/src/SDL_gfxPrimitives.c
|
|
||||||
--- a/src/SDL_gfxPrimitives.c 2007-03-07 10:35:26.000000000 -0500
|
|
||||||
+++ b/src/SDL_gfxPrimitives.c 2016-08-14 15:36:20.470686223 -0400
|
|
||||||
@@ -10,6 +10,7 @@
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <string.h>
|
|
||||||
+#include <limits.h>
|
|
||||||
|
|
||||||
#include "SDL_gfxPrimitives.h"
|
|
||||||
#include "SDL_gfxPrimitives_font.h"
|
|
||||||
diff -Naur a/src/global.cpp b/src/global.cpp
|
|
||||||
--- a/src/global.cpp 2007-03-07 10:34:56.000000000 -0500
|
|
||||||
+++ b/src/global.cpp 2016-08-14 15:39:23.252692634 -0400
|
|
||||||
@@ -9,7 +9,7 @@
|
|
||||||
|
|
||||||
#include "Global.h"
|
|
||||||
#include "unixutils.h"
|
|
||||||
-
|
|
||||||
+#include <limits.h>
|
|
||||||
|
|
||||||
|
|
||||||
SDL_Surface *screen;
|
|
||||||
diff -Naur a/src/levels.cpp b/src/levels.cpp
|
|
||||||
--- a/src/levels.cpp 2007-03-07 10:35:04.000000000 -0500
|
|
||||||
+++ b/src/levels.cpp 2016-08-14 15:38:08.660690018 -0400
|
|
||||||
@@ -6,6 +6,7 @@
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
+#include <limits.h>
|
|
||||||
#include "Global.h"
|
|
||||||
#include "unixutils.h"
|
|
||||||
|
|
||||||
diff -Naur a/src/main.cpp b/src/main.cpp
|
|
||||||
--- a/src/main.cpp 2007-03-07 10:35:04.000000000 -0500
|
|
||||||
+++ b/src/main.cpp 2016-08-14 15:38:42.660691210 -0400
|
|
||||||
@@ -10,6 +10,7 @@
|
|
||||||
#include "iniparser.h"
|
|
||||||
#include "unixutils.h"
|
|
||||||
#include <time.h>
|
|
||||||
+#include <limits.h>
|
|
||||||
|
|
||||||
|
|
||||||
bool running;
|
|
||||||
diff -Naur a/src/menu.cpp b/src/menu.cpp
|
|
||||||
--- a/src/menu.cpp 2007-03-07 10:35:10.000000000 -0500
|
|
||||||
+++ b/src/menu.cpp 2016-08-14 15:40:10.108694278 -0400
|
|
||||||
@@ -7,6 +7,7 @@
|
|
||||||
|
|
||||||
#include "Global.h"
|
|
||||||
#include "unixutils.h"
|
|
||||||
+#include <limits.h>
|
|
||||||
|
|
||||||
bool hideMenu;
|
|
||||||
|
|
Binary file not shown.
|
@ -1,30 +0,0 @@
|
||||||
diff -Naur a/src/main.cpp b/src/main.cpp
|
|
||||||
--- a/src/main.cpp 2007-03-07 10:35:04.000000000 -0500
|
|
||||||
+++ b/src/main.cpp 2016-08-14 16:53:05.113847723 -0400
|
|
||||||
@@ -47,21 +47,24 @@
|
|
||||||
NoFrameCheck = 1;
|
|
||||||
|
|
||||||
NoFrameCheck = 1;
|
|
||||||
+ out_logfile.open ("log.txt");
|
|
||||||
|
|
||||||
#else /* defined __unix__ */
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
+ char logfile[MAX_PATH];
|
|
||||||
char *home_dir = get_homedir();
|
|
||||||
snprintf(szIniFile, MAX_PATH, "%s/.megamario",
|
|
||||||
home_dir? home_dir:".");
|
|
||||||
check_and_create_dir(szIniFile);
|
|
||||||
snprintf(szIniFile, MAX_PATH, "%s/.megamario/mario.ini",
|
|
||||||
home_dir? home_dir:".");
|
|
||||||
-
|
|
||||||
+ snprintf(logfile, MAX_PATH, "%s/.megamario/log.txt",
|
|
||||||
+ home_dir? home_dir:".");
|
|
||||||
+ out_logfile.open (logfile);
|
|
||||||
#endif /* defined __unix__ */
|
|
||||||
|
|
||||||
- out_logfile.open ("log.txt");
|
|
||||||
|
|
||||||
dictionary * d = iniparser_new(szIniFile);
|
|
||||||
pixelation = iniparser_getboolean (d, "Mario:Pixelation", 1);
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,24 +0,0 @@
|
||||||
diff -Naur a/src/functions.cpp b/src/functions.cpp
|
|
||||||
--- a/src/functions.cpp 2007-03-07 10:34:56.000000000 -0500
|
|
||||||
+++ b/src/functions.cpp 2016-08-14 16:26:04.208790873 -0400
|
|
||||||
@@ -447,7 +447,7 @@
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- sprintf(tmp, "mp3music/%s",filename);
|
|
||||||
+ sprintf(tmp, DATADIR "mp3music/%s",filename);
|
|
||||||
tmp[strlen(tmp)-3]='m';
|
|
||||||
tmp[strlen(tmp)-2]='p';
|
|
||||||
tmp[strlen(tmp)-1]='3';
|
|
||||||
diff -Naur a/src/main.cpp b/src/main.cpp
|
|
||||||
--- a/src/main.cpp 2007-03-07 10:35:04.000000000 -0500
|
|
||||||
+++ b/src/main.cpp 2016-08-14 16:25:41.230790067 -0400
|
|
||||||
@@ -413,7 +413,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
fstream fin;
|
|
||||||
-fin.open("mp3music/music_available.dat",ios::in);
|
|
||||||
+fin.open(DATADIR "mp3music/music_available.dat",ios::in);
|
|
||||||
if( fin.is_open() )
|
|
||||||
{
|
|
||||||
HighQualityMusicFound=1;
|
|
Loading…
Reference in New Issue