games/einstein: Added to 12.2 repository

This commit is contained in:
Erik Hanson 2010-05-12 23:29:18 +02:00 committed by Robby Workman
parent f790816ee1
commit e1ea50212b
12 changed files with 289 additions and 0 deletions

4
games/einstein/README Normal file
View file

@ -0,0 +1,4 @@
Einstein puzzle is a free cross-platform open source remake of old
DOS game Sherlock which was inspired by Albert Einstein's puzzle.
Einstein said that only those with an intelligence quotient of 98
percentile and higher should be able to solve it.

3
games/einstein/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 &> /dev/null
fi

View file

@ -0,0 +1,62 @@
#!/bin/sh
# Slackware build script for einstein
# Written by Erik Hanson erik@slackbuilds.org
PRGNAM=einstein
VERSION=2.0
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
fi
set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION-src.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Some patches from debian.
for PATCH in $CWD/patches/*.diff ; do
patch -p0 < $PATCH
done
# Build
make PREFIX="/usr" OPTIMIZE="$SLKCFLAGS"
# Install
install -D -s -m 0755 einstein $PKG/usr/games/einstein
install -D einstein.res $PKG/usr/share/einstein/res/einstein.res
install -D $CWD/einstein.desktop $PKG/usr/share/applications/einstein.desktop
install -D $CWD/einstein.png $PKG/usr/share/pixmaps/einstein.png
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README $CWD/patches $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

View file

@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Name=Einstein
Comment="Puzzle game inspired by Einstein's puzzle"
Exec=einstein
Icon=einstein
Terminal=false
Type=Application
Categories=Game;LogicGame;
StartupNotify=false

View file

@ -0,0 +1,8 @@
PRGNAM="einstein"
VERSION="2.0"
HOMEPAGE="http://games.flowix.com/en/index.html"
DOWNLOAD="http://games.flowix.com/files/einstein/einstein-2.0-src.tar.gz"
MD5SUM="c1d98e761c10af63f03462ead625f80c"
MAINTAINER="Erik Hanson"
EMAIL="erik@slackbuilds.org"
APPROVED="rworkman"

BIN
games/einstein/einstein.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 B

View file

@ -0,0 +1,108 @@
diff -ruN ../orig/einstein-2.0.dfsg.2/font.h ./font.h
--- ../orig/einstein-2.0.dfsg.2/font.h 2005-08-16 00:33:17.000000000 +0200
+++ ./font.h 2007-08-31 10:00:33.000000000 +0200
@@ -3,7 +3,7 @@
#include <string>
-#include <SDL_ttf.h>
+#include <SDL/SDL_ttf.h>
class Font
diff -ruN ../orig/einstein-2.0.dfsg.2/iconset.h ./iconset.h
--- ../orig/einstein-2.0.dfsg.2/iconset.h 2005-08-14 04:40:58.000000000 +0200
+++ ./iconset.h 2007-08-31 09:51:37.000000000 +0200
@@ -2,7 +2,7 @@
#define __ICONSET_H__
-#include <SDL.h>
+#include <SDL/SDL.h>
class IconSet
diff -ruN ../orig/einstein-2.0.dfsg.2/main.cpp ./main.cpp
--- ../orig/einstein-2.0.dfsg.2/main.cpp 2007-08-31 08:42:16.000000000 +0200
+++ ./main.cpp 2007-08-31 10:06:07.000000000 +0200
@@ -1,8 +1,8 @@
#include <stdlib.h>
#include <iostream>
-#include <SDL.h>
-#include <SDL_main.h>
-#include <SDL_ttf.h>
+#include <SDL/SDL.h>
+#include <SDL/SDL_main.h>
+#include <SDL/SDL_ttf.h>
#include "main.h"
#include "utils.h"
#include "storage.h"
diff -ruN ../orig/einstein-2.0.dfsg.2/screen.cpp ./screen.cpp
--- ../orig/einstein-2.0.dfsg.2/screen.cpp 2005-09-24 07:17:30.000000000 +0200
+++ ./screen.cpp 2007-08-31 09:52:07.000000000 +0200
@@ -1,4 +1,4 @@
-#include <SDL.h>
+#include <SDL/SDL.h>
#include "screen.h"
#include "exceptions.h"
#include "unicode.h"
diff -ruN ../orig/einstein-2.0.dfsg.2/screen.h ./screen.h
--- ../orig/einstein-2.0.dfsg.2/screen.h 2005-09-24 07:08:44.000000000 +0200
+++ ./screen.h 2007-08-31 09:52:26.000000000 +0200
@@ -2,7 +2,7 @@
#define __SCREEN_H__
-#include "SDL.h"
+#include "SDL/SDL.h"
#include <vector>
#include <list>
diff -ruN ../orig/einstein-2.0.dfsg.2/sound.cpp ./sound.cpp
--- ../orig/einstein-2.0.dfsg.2/sound.cpp 2005-09-24 08:32:07.000000000 +0200
+++ ./sound.cpp 2007-08-31 10:07:35.000000000 +0200
@@ -1,7 +1,7 @@
#include "sound.h"
#include <iostream>
-#include <SDL_events.h>
+#include <SDL/SDL_events.h>
#include "resources.h"
diff -ruN ../orig/einstein-2.0.dfsg.2/sound.h ./sound.h
--- ../orig/einstein-2.0.dfsg.2/sound.h 2005-09-24 08:24:20.000000000 +0200
+++ ./sound.h 2007-08-31 10:01:28.000000000 +0200
@@ -4,7 +4,7 @@
#include <string>
#include <map>
-#include <SDL_mixer.h>
+#include <SDL/SDL_mixer.h>
class Sound
diff -ruN ../orig/einstein-2.0.dfsg.2/utils.h ./utils.h
--- ../orig/einstein-2.0.dfsg.2/utils.h 2005-08-14 04:40:58.000000000 +0200
+++ ./utils.h 2007-08-31 09:52:39.000000000 +0200
@@ -1,7 +1,7 @@
#ifndef __UTILS_H__
#define __UTILS_H__
-#include <SDL.h>
+#include <SDL/SDL.h>
#include <string>
#ifdef WIN32
#include <sys/time.h>
diff -ruN ../orig/einstein-2.0.dfsg.2/widgets.h ./widgets.h
--- ../orig/einstein-2.0.dfsg.2/widgets.h 2005-09-24 08:11:11.000000000 +0200
+++ ./widgets.h 2007-08-31 09:59:58.000000000 +0200
@@ -4,7 +4,7 @@
#include <string>
#include <list>
#include <set>
-#include <SDL.h>
+#include <SDL/SDL.h>
#include "font.h"

View file

@ -0,0 +1,11 @@
--- ../orig/einstein-2.0.dfsg.2/main.cpp 2007-08-31 08:42:16.000000000 +0200
+++ main.cpp 2007-08-31 10:39:20.000000000 +0200
@@ -70,7 +70,7 @@
#ifdef __APPLE__
dirs.push_back(getResourcesPath(selfPath));
#else
- dirs.push_back(PREFIX L"/share/einstein/res");
+ dirs.push_back("/usr" L"/share/einstein/res");
dirs.push_back(fromMbcs(getenv("HOME")) + L"/.einstein/res");
#endif
#endif

View file

@ -0,0 +1,11 @@
--- ../orig/einstein-2.0/puzgen.cpp 2005-08-14 04:40:58.000000000 +0200
+++ puzgen.cpp 2007-08-31 08:42:16.000000000 +0200
@@ -313,6 +313,8 @@
void genPuzzle(SolvedPuzzle &puzzle, Rules &rules)
{
+ srand(time(NULL));
+
for (int i = 0; i < PUZZLE_SIZE; i++) {
for (int j = 0; j < PUZZLE_SIZE; j++)
puzzle[i][j] = j + 1;

View file

@ -0,0 +1,31 @@
--- ../orig/einstein-2.0/formatter.cpp 2005-08-14 04:40:58.000000000 +0200
+++ formatter.cpp 2007-08-31 08:42:16.000000000 +0200
@@ -58,7 +58,7 @@
if ((c.type == INT_ARG) || (c.type == STRING_ARG) ||
(c.type == FLOAT_ARG) || (c.type == DOUBLE_ARG))
{
- int no = (int)c.data;
+ long no = (long)c.data;
args[no - 1] = c.type;
}
}
@@ -123,7 +123,7 @@
std::wstring Formatter::format(std::vector<ArgValue*> &argValues) const
{
std::wstring s;
- int no;
+ long no;
for (int i = 0; i < commandsCnt; i++) {
Command *cmd = &commands[i];
@@ -135,8 +135,8 @@
case STRING_ARG:
case INT_ARG:
- no = (int)cmd->data - 1;
- if (no < (int)argValues.size())
+ no = (long)cmd->data - 1;
+ if (no < (long)argValues.size())
s += argValues[no]->format(cmd);
break;

View file

@ -0,0 +1,22 @@
--- ../orig/einstein-2.0.dfsg.2/descr.cpp 2007-08-31 11:02:45.000000000 +0200
+++ descr.cpp 2007-08-31 13:48:19.000000000 +0200
@@ -11,6 +11,7 @@
#include "convert.h"
#include "utils.h"
#include "tokenizer.h"
+#include "storage.h"
#define WIDTH 600
@@ -259,7 +260,10 @@
{
if (0 < line.length()) {
page->add(new Label(&font, offsetX, offsetY + curPosY,
- 255,255,255, line, false));
+ getStorage()->get(L"text_red", 0),
+ getStorage()->get(L"text_green", 0),
+ getStorage()->get(L"text_blue", 100),
+ line, false));
line.clear();
curPosY += 10 + charHeight;
lineWidth = 0;

19
games/einstein/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-----------------------------------------------------|
einstein: Einstein (Puzzle game inspired by Einstein's puzzle)
einstein:
einstein: Einstein puzzle is a free cross-platform open source remake of old
einstein: DOS game Sherlock which was inspired by Albert Einstein's puzzle.
einstein: Einstein said that only those with an intelligence quotient of 98
einstein: percentile and higher should be able to solve it.
einstein:
einstein:
einstein:
einstein:
einstein: