summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/smc/README16
-rw-r--r--games/smc/smc.SlackBuild35
2 files changed, 37 insertions, 14 deletions
diff --git a/games/smc/README b/games/smc/README
index a1cfb3ec33..21f7187b7b 100644
--- a/games/smc/README
+++ b/games/smc/README
@@ -8,9 +8,10 @@ game is developed in C++.
Notes:
-Older versions of smc came without the music, so there used to be a
-separate smc_music package. This is no longer the case: this build
-includes the background music at the highest quality available.
+The default keyboard controls are arrows to move, A to run, S to jump,
+and Enter to use an item or (in the Overworld) start a level. See
+/usr/doc/smc-$VERSION/controls.html and the in-game Options -> Keyboard
+menu for more information.
To compile this game you will need CEGUI0.7. Make sure CEGUI0.7 is
compiled after FreeImage, as this needs a CEGUI0.7 with FreeImage support
@@ -20,12 +21,3 @@ if available).
Unfortunately, as of this writing, it's impossible to install both CEGUI
and CEGUI0.7 at the same time, so make sure CEGUI (the 0.8 version)
isn't installed or you'll end up with a mess.
-
-If you get compile errors related to CEGUI's NullRenderer, rebuild
-CEGUI0.7 using the latest SlackBuild (older ones were missing NullRenderer
-support).
-
-When running, the game emits CEGUI::InvalidRequestException messages on
-its stderr. These are harmless and can be ignored: they're caused by
-the CEGUI library searching for files in the current directory before
-looking in the game directory at /usr/share/smc.
diff --git a/games/smc/smc.SlackBuild b/games/smc/smc.SlackBuild
index 535eae45c8..4e7d37d72a 100644
--- a/games/smc/smc.SlackBuild
+++ b/games/smc/smc.SlackBuild
@@ -1,7 +1,9 @@
#!/bin/sh
# Slackware build script for smc (Secret Maryo Chronicles)
-# Originally written by Phillip Warner <pc_warner@yahoo.com>
+# Originally written by Phillip Warner.
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# Modified by B. Watson, for post-1.9 git snapshot and Slack 14.1.
# - removed boost patch (no longer needed)
@@ -12,9 +14,20 @@
# because it's an optional dep for CEGUI0.7. This build needs CEGUI0.7
# with FreeImage support compiled in.
+# 20160809 bkw:
+# - modified for Slack 14.2, specifically the game's fonts were causing
+# issues with fontconfig.
+# - BUILD=2
+# - remove stale stuff from README, add note about the default controls,
+# because I spent 20 minutes trying to figure out how to enter the
+# first level (it's the Enter key, or whatever "use item" is bound
+# to... NOT the jump button like it is in actual Mario games!)
+# - remove original author's email
+# - add WTFPL license
+
PRGNAM=smc
VERSION=${VERSION:-20140328}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -71,6 +84,24 @@ CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" force_arch="$ARCH" make
make install-strip DESTDIR=$PKG
+# The fonts included in the game cause 14.2's fontconfig to fail,
+# making the game freeze up with a black screen when you first run it.
+# the fonts are old versions of DejaVuSans and DejaVuSansBold, so I tried
+# symlinking the ones in Slackware's dejavu-fonts-ttf, but got the same
+# result. So, I tried fonts from liberation-fonts-ttf and they work
+# fine, though the game's appearance changes a little (IMO it's actually
+# nicer-looking).
+# The correct way to fix this would be to patch fontconfig, since it's
+# a regression (14.1's fontconfig handled the game's fonts just fine).
+# But that'll likely have to wait for the next Slackware release, a
+# few years from now.
+
+rm -f $PKG/usr/share/$PRGNAM/gui/font/*.ttf
+ln -s /usr/share/fonts/TTF/LiberationSans-Regular.ttf \
+ $PKG/usr/share/$PRGNAM/gui/font/default.ttf
+ln -s /usr/share/fonts/TTF/LiberationSans-Bold.ttf \
+ $PKG/usr/share/$PRGNAM/gui/font/default_bold.ttf
+
mkdir -p $PKG/usr/share/applications
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop