games/smc: Added to 12.1 repository

This commit is contained in:
Phillip Warner 2010-05-11 22:53:47 +02:00 committed by David Somero
parent d93495cdcf
commit 160c11c989
7 changed files with 199 additions and 0 deletions

25
games/smc/README Normal file
View file

@ -0,0 +1,25 @@
smc (Secret Maryo Chronicles)
Secret Maryo Chronicles is an Open Source two-dimensional platform game
with a style designed similar to classic sidescroller games such as Super
Mario Bros. It uses the platform independent library SDL and, since
version 0.98, the OpenGL accelerated Graphics Renderer. The game is
developed in C++.
** REQUIRES **
To compile this game you will need OpenGL (with hardware acceleration
enabled), CEGUI, and Boost. Make sure CEGUI is compiled *WITHOUT* DevIL
support (or just make sure it is not the default image codec) and *WITH*
either FreeImage or SILLY codec support (FreeImage is the most
recommended choice). Also, the background music for this game, if desired,
must be installed as a separate package. SlackBuilds for the music pack,
Boost, FreeImage, and CEGUI can all be found on SlackBuilds.org.
*NOTE* If you are using a Boost version prior to 1.36 you should try using
this SlackBuild without the boost patch by executing
PATCHBOOST=NO ./smc.SlackBuild
Please see readme-linux.txt in the docs directory of the source for more
information on this software.

3
games/smc/doinst.sh Normal file
View file

@ -0,0 +1,3 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications
fi

19
games/smc/slack-desc Normal file
View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
smc: smc (Secret Maryo Chronicles)
smc:
smc: Secret Maryo Chronicles is an Open Source two-dimensional platform
smc: game with a style designed similar to classic sidescroller games such
smc: as Super Mario Bros. It uses the platform independent library SDL
smc: and, since version 0.98, the OpenGL accelerated Graphics Renderer.
smc: The game is developed in C++.
smc: Requires OpenGL (with hardware acceleration), CEGUI (with FreeImage
smc: or SILLY support), and Boost. All other dependencies should be in
smc: stock Slackware. This package does NOT include the music pack.
smc: http://www.secretmaryo.org/

73
games/smc/smc.SlackBuild Normal file
View file

@ -0,0 +1,73 @@
#!/bin/sh
# Slackware build script for smc (Secret Maryo Chronicles)
# Written by Phillip Warner <pc_warner@yahoo.com>
PRGNAM=smc
VERSION=${VERSION:-1.6}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
# Say NO here if using boost < 1.36
PATCHBOOST=${PATCHBOOST:-YES}
set -e
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar -xvf $CWD/$PRGNAM-$VERSION.tar.bz2
if [ "$PATCHBOOST" == "YES" ]; then
patch -p0 < $CWD/smc1.6_boost1.36.patch
fi
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R a-s,u+rw,go-w .
./autogen.sh
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr
CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" force_arch="$ARCH" make
make install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object"| grep ELF | \
cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $TMP/$PRGNAM-$VERSION/docs/* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/usr/share/applications
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
mkdir -p $PKG/install
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

8
games/smc/smc.desktop Normal file
View file

@ -0,0 +1,8 @@
[Desktop Entry]
Name=Secret Maryo Chronicles
Comment=An Open Source 2-D platform game like Super Mario Bros.
Exec=smc
Icon=/usr/share/smc/icon/window_32.png
Terminal=false
Type=Application
Categories=Application;Game;

8
games/smc/smc.info Normal file
View file

@ -0,0 +1,8 @@
PRGNAM="smc"
VERSION="1.6"
HOMEPAGE="http://www.secretmaryo.org/"
DOWNLOAD="http://downloads.sourceforge.net/smclone/smc-1.6.tar.bz2"
MD5SUM="f3197a5e61c1899637ff1a2a858db226"
MAINTAINER="Phillip Warner"
EMAIL="pc_warner@yahoo.com"
APPROVED="David Somero"

View file

@ -0,0 +1,63 @@
diff -Naur smc-1.6-orig/src/core/game_core.cpp smc-1.6/src/core/game_core.cpp
--- smc-1.6-orig/src/core/game_core.cpp 2008-09-26 13:55:50.000000000 -0500
+++ smc-1.6/src/core/game_core.cpp 2008-10-12 22:01:35.000000000 -0500
@@ -1577,32 +1577,32 @@
if( fs::is_directory( *dir_itr ) )
{
// ignore hidden directories
- if( dir_itr->leaf().find( "." ) == 0 )
+ if( dir_itr->filename().find( "." ) == 0 )
{
continue;
}
if( with_directories )
{
- valid_files.push_back( dir + "/" + dir_itr->leaf() );
+ valid_files.push_back( dir + "/" + dir_itr->filename() );
}
// load all items from the sub-directory
if( search_in_sub_directories )
{
- vector<std::string> new_valid_files = Get_Directory_Files( dir + "/" + dir_itr->leaf(), file_type, with_directories );
+ vector<std::string> new_valid_files = Get_Directory_Files( dir + "/" + dir_itr->filename(), file_type, with_directories );
valid_files.insert( valid_files.end(), new_valid_files.begin(), new_valid_files.end() );
}
}
// valid file
- else if( file_type.empty() || dir_itr->leaf().rfind( file_type ) != string::npos )
+ else if( file_type.empty() || dir_itr->filename().rfind( file_type ) != string::npos )
{
- valid_files.push_back( dir + "/" + dir_itr->leaf() );
+ valid_files.push_back( dir + "/" + dir_itr->filename() );
}
}
catch( const std::exception &ex )
{
- printf( "%s %s\n", dir_itr->leaf().c_str(), ex.what() );
+ printf( "%s %s\n", dir_itr->filename().c_str(), ex.what() );
}
}
diff -Naur smc-1.6-orig/src/overworld/world_manager.cpp smc-1.6/src/overworld/world_manager.cpp
--- smc-1.6-orig/src/overworld/world_manager.cpp 2008-07-01 16:11:12.000000000 -0500
+++ smc-1.6/src/overworld/world_manager.cpp 2008-10-12 22:01:42.000000000 -0500
@@ -111,7 +111,7 @@
{
try
{
- string current_dir = dir_itr->leaf();
+ string current_dir = dir_itr->filename();
// only directories with an existing description
if( fs::is_directory( *dir_itr ) && File_Exists( dir + "/" + current_dir + "/description.xml" ) )
@@ -138,7 +138,7 @@
}
catch( const std::exception &ex )
{
- printf( "%s %s\n", dir_itr->leaf().c_str(), ex.what() );
+ printf( "%s %s\n", dir_itr->filename().c_str(), ex.what() );
}
}
}