diff options
author | B. Watson <yalhcru@gmail.com> | 2021-10-22 12:54:42 -0400 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-10-29 17:07:22 +0700 |
commit | 38a4d306e759c14babb0a31893f5ca1c70fcb8b3 (patch) | |
tree | d56e540d294afe7a07f667c172b7e9bc334b8a42 /games/megamario | |
parent | 682163cf3e5e65e6c1c715af6c76326238f5ae25 (diff) |
games/megamario: New-style icons, fix music.
Signed-off-by: B. Watson <yalhcru@gmail.com>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'games/megamario')
-rw-r--r-- | games/megamario/megamario.SlackBuild | 62 | ||||
-rw-r--r-- | games/megamario/megamario.desktop | 7 | ||||
-rw-r--r-- | games/megamario/megamario.info | 2 | ||||
-rw-r--r-- | games/megamario/megamario.png | bin | 0 -> 22961 bytes | |||
-rw-r--r-- | games/megamario/patches/compilefix.diff | 56 | ||||
-rw-r--r-- | games/megamario/patches/compilefix.diff.gz | bin | 0 -> 480 bytes | |||
-rw-r--r-- | games/megamario/patches/logfile.diff | 30 | ||||
-rw-r--r-- | games/megamario/patches/logfile.diff.gz | bin | 0 -> 454 bytes | |||
-rw-r--r-- | games/megamario/patches/oggmusic.diff.gz | bin | 0 -> 646 bytes | |||
-rw-r--r-- | games/megamario/patches/usemp3music.diff | 24 |
10 files changed, 48 insertions, 133 deletions
diff --git a/games/megamario/megamario.SlackBuild b/games/megamario/megamario.SlackBuild index 09993267ec455..063b32c654cba 100644 --- a/games/megamario/megamario.SlackBuild +++ b/games/megamario/megamario.SlackBuild @@ -6,11 +6,15 @@ # 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) PRGNAM=megamario VERSION=${VERSION:-1.7} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -22,9 +26,6 @@ if [ -z "$ARCH" ]; then esac 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 echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" 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 chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +# 20211025 bkw: gzip the patches. Don't trust git not to eat the \r +# characters, since it's configurable by whoever checks this out. # missing includes -patch -p1 < $CWD/patches/compilefix.diff +zcat $CWD/patches/compilefix.diff.gz | patch -p1 -# look for mp3music in DATADIR, not current dir -patch -p1 < $CWD/patches/usemp3music.diff +# Use ogg music rather than mp3, and look for music in DATADIR, not +# 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 -patch -p1 < $CWD/patches/logfile.diff +zcat $CWD/patches/logfile.diff.gz | patch -p1 # bin is hardcoded sed -i 's,\<bin\>,games,' Makefile @@ -102,15 +105,38 @@ make install \ PREFIX=$PKG/usr \ DATADIR="$PKG/$DATADIR" -# 'make install' doesn't install the high-quality mp3 music -cp -a mp3music $PKG/$DATADIR +# not doing a man page as there are no command-line options. + +# '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. -# 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 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 cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION diff --git a/games/megamario/megamario.desktop b/games/megamario/megamario.desktop index a20188f1bdc32..5d97c4e2aadb3 100644 --- a/games/megamario/megamario.desktop +++ b/games/megamario/megamario.desktop @@ -1,10 +1,9 @@ [Desktop Entry] -Exec=megamario %u +Exec=/usr/games/megamario Icon=megamario Type=Application Categories=Game;ArcadeGame; -Name=megamario -GenericName=Mega Mario +Name=MegaMario +GenericName=Mario Bros Clone GenericName[fr]=Clone de Mario Bros -GenericName[de]=Mega Mario StartupNotify=false diff --git a/games/megamario/megamario.info b/games/megamario/megamario.info index 367ca0cb96fa4..0b994fe04e5af 100644 --- a/games/megamario/megamario.info +++ b/games/megamario/megamario.info @@ -1,7 +1,7 @@ PRGNAM="megamario" VERSION="1.7" 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" DOWNLOAD_x86_64="" MD5SUM_x86_64="" diff --git a/games/megamario/megamario.png b/games/megamario/megamario.png Binary files differnew file mode 100644 index 0000000000000..c46c0ed78050b --- /dev/null +++ b/games/megamario/megamario.png diff --git a/games/megamario/patches/compilefix.diff b/games/megamario/patches/compilefix.diff deleted file mode 100644 index 1b115a3aa1760..0000000000000 --- a/games/megamario/patches/compilefix.diff +++ /dev/null @@ -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;
-
diff --git a/games/megamario/patches/compilefix.diff.gz b/games/megamario/patches/compilefix.diff.gz Binary files differnew file mode 100644 index 0000000000000..51f197caf60bc --- /dev/null +++ b/games/megamario/patches/compilefix.diff.gz diff --git a/games/megamario/patches/logfile.diff b/games/megamario/patches/logfile.diff deleted file mode 100644 index 741e0ffc8e66f..0000000000000 --- a/games/megamario/patches/logfile.diff +++ /dev/null @@ -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);
diff --git a/games/megamario/patches/logfile.diff.gz b/games/megamario/patches/logfile.diff.gz Binary files differnew file mode 100644 index 0000000000000..e7ab323c29a7d --- /dev/null +++ b/games/megamario/patches/logfile.diff.gz diff --git a/games/megamario/patches/oggmusic.diff.gz b/games/megamario/patches/oggmusic.diff.gz Binary files differnew file mode 100644 index 0000000000000..c6e3b13e33f9c --- /dev/null +++ b/games/megamario/patches/oggmusic.diff.gz diff --git a/games/megamario/patches/usemp3music.diff b/games/megamario/patches/usemp3music.diff deleted file mode 100644 index d284491e1b220..0000000000000 --- a/games/megamario/patches/usemp3music.diff +++ /dev/null @@ -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;
|