Skip to content

Commit

Permalink
Added The Slimy Lichmummy (TSL).
Browse files Browse the repository at this point in the history
Also, slightly altered ToME4 and labelnation.
  • Loading branch information
leycec committed Oct 9, 2012
1 parent 6b7b8ca commit 64eef3c
Show file tree
Hide file tree
Showing 7 changed files with 202 additions and 11 deletions.
2 changes: 1 addition & 1 deletion .gitignore
@@ -1,7 +1,7 @@
# ====================[ .gitignore ]====================
#
# --------------------( SYNOPSIS )--------------------
# Avoid committing all paths matching the following glob expressions.
# Avoid committing paths matching the following glob expressions.

# ....................{ TEMPORARIES }....................
*~
Expand Down
19 changes: 10 additions & 9 deletions app-text/labelnation/labelnation-1.212.ebuild
@@ -1,18 +1,19 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=4

# Enforce Bash scrictness.
set -e

# While the installed "labelnation" script requires only Python 2.x, the
# installed "csv_to_ln" script requires at least Python 2.3. Since
# "python.eclass" fails with error for less than Python 2.5, use that instead.
PYTHON_DEPEND="2:2.5"

# "labelnation" installs only stand-alone scripts.
# "labelnation" installs only Python 2.x-specific stand-alone scripts.
SUPPORT_PYTHON_ABIS=
#Python 2.x-specific
#RESTRICT_PYTHON_ABIS="3.*"
RESTRICT_PYTHON_ABIS="3.*"

inherit python

Expand All @@ -34,9 +35,9 @@ src_prepare() {
}

src_install() {
# "labelnation" provides no makefiles, so this is it.
dobin csv_to_ln labelnation
dodoc README
docinto examples
dodoc examples/*
# "labelnation" bundles no makefiles, so this is it.
dobin csv_to_ln labelnation
dodoc README
docinto examples
dodoc examples/*
}
2 changes: 1 addition & 1 deletion games-roguelike/tome4/tome4-1.0.0_beta41-r4.ebuild
Expand Up @@ -138,6 +138,6 @@ src_install() {
exeinto "${tome4_home}"
doexe t-engine

# Force games-specific user and group permissions.
# Force game-specific user and group permissions.
prepgamesdirs
}
1 change: 1 addition & 0 deletions games-roguelike/tsl/Manifest
@@ -0,0 +1 @@
DIST tsl-0.40.tar.gz 325267 SHA256 95c4d3e8abd6a4a13a851f154adee6888800ec74b13ae773bb5d6bcef1a7c70a SHA512 a46a8afc67470c1f364b2870d305dc5c45c8f31bd12afa01c5c8044fff2e53a6489af9bd946bd0507b896241ada5dedf63b8f9077df2426abd71669d75ea93ae WHIRLPOOL be45f3e47ee1c9b1534658792519edf2b0a6c79814ffcc5edc81b43c1fbb6b9bad089af60bc15cc348f25991f752a1716a1c4060f0f1031add298e88b6d1b869
22 changes: 22 additions & 0 deletions games-roguelike/tsl/metadata.xml
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<email>leycec@gmail.com</email>
<name>leycec</name>
</maintainer>
<longdescription>The Slimy Lichmummy (TSL) is an adventure game by Ulf Åström, similar in style to the classic "Rogue".

You play the role of an adventurer exploring a bleak and hostile world. Battle peculiar beasts and overcome sinister traps. Improve your character by replacing body parts with machinery. This is no ordinary "fantasy" setting. Everyone loses, everyone dies.

TSL has quick gameplay and high replay value. Each game is randomly generated and has different levels, item and monster placement. Turn-based gameplay gives you ample time to think about each move. There is more than one way to deal with each situation. There is no need to "grind" and "level up" - only player skill counts. You start each game with the accumulated knowledge of previous sessions.

TSL is not easy and forgiving - it is actively trying to kill you and requires great skill to outsmart. Death is permanent: when you die, there is no way to bring a character back. While this might sound discouraging at first, the appeal lies in the trial and error, discovery itself. Even death tries to be fair and educational: every time you die, you will know what killed you and learn not to do that again. Eventually you will master the rules.

TSL has a delicious grayscale interface (using Allegro for graphics or curses for textmode).
</longdescription>
<use>
<flag name="allegro">Build Allegro-driven GUI</flag>
<flag name="ncurses">Build ncurses-driven CLI</flag>
</use>
</pkgmetadata>
100 changes: 100 additions & 0 deletions games-roguelike/tsl/tsl-0.40.ebuild
@@ -0,0 +1,100 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4

# Enforce Bash strictness.
set -e

inherit games

DESCRIPTION="The Slimy Lichmummy, an adventure game similar in style to the classic Rogue"
HOMEPAGE="http://www.happyponyland.net/roguelike.php"
SRC_URI="http://www.happyponyland.net/files/${P}.tar.gz"

LICENSE="tsl"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="allegro ncurses"
REQUIRED_USE="|| ( allegro ncurses )"

RDEPEND="
virtual/libc
allegro? ( media-libs/allegro )
ncurses? ( sys-libs/ncurses )
"

# TSL leverages shell scripts explicitly calling "gcc". We are most displeased.
DEPEND="${RDEPEND}
sys-devel/gcc
"

src_prepare() {
# Inject user $CFLAGS into the TSL shell scripts.
sed -ie 's~^\(gcc.*\)\\$~\1 '"${CFLAGS}"' \\~' *.sh
}

# Technically, we should be running "nbuild.php" to rebuild TSL shell scripts on
# a per-system basis. But that requires adding a build-time PHP dependency,
# which smacks of overkill. For now, just run the bundled shell scripts.
src_compile() {
# If the current requests requests both graphical and console builds, rename
# the executable output by the latter but not former. The former retains the
# default executable filename, as expected.
if use allegro && use ncurses; then
einfo 'Compiling console interface...'
./build_console.sh
mv tsl tsl_console
einfo 'Compiling graphical interface...'
./build_gui.sh
# Otherwise, accept the default executable of "tsl".
elif use allegro; then
einfo 'Compiling graphical interface...'
./build_gui.sh
else # use ncurses
einfo 'Compiling console interface...'
./build_console.sh
fi
}

src_install() {
# The console build is entirely self-contained in the compiled executable.
# Install such executable directly, if compiled.
if use ncurses; then
if use allegro
then dogamesbin tsl_console
else dogamesbin tsl
fi
fi

# The graphical build requires assets external to the compiled executable.
# Install such files in a dedicated directory, if compiled.
if use allegro; then
# Install graphical assets.
local tsl_home="${GAMES_PREFIX}/${PN}"
insinto "${tsl_home}"
doins *.{png,tga}

# Install the graphical executable, which expects to be executed from
# within such directory.
exeinto "${tsl_home}"
doexe tsl

# Since "games_make_wrapper" fails to produce a working wrapper, do so
# manually.
cat <<EOF > tsl_wrapper
#!/bin/sh
cd "${tsl_home}"
./tsl
EOF
newgamesbin tsl_wrapper tsl
fi

# Install documentation and configuration examples.
dodoc CHANGES.TXT README.TXT
docinto examples
dodoc tsl_conf_*

# Force game-specific user and group permissions.
prepgamesdirs
}
67 changes: 67 additions & 0 deletions licenses/tsl
@@ -0,0 +1,67 @@
This is The Slimy Lichmummy (TSL).
It can be retrieved from www.happyponyland.net.
Copyright Ulf Åström (ulf.astrom@gmail.com)

TSL is not free software. For several reasons I have not placed it
under any conventional open source license. I might do so in the
future, but for now the following shall apply:

The source code is provided so you can compile it on any architecture
and verify what runs inside your computer.

You may distribute unmodified copies of the source package.

I don't really mind unofficial patches or ports, but I prefer if you
contact me first.

You are not allowed to sell TSL in any form (source code or binaries).

TSL comes with no warranty. Use it at your own risk.

Some parts of the program are licensed under other conditions:

mt19937ar.c is distributed under a BSD license; see COPYING_MT.TXT for details.

The font is a modified "Terminus". See OFL.TXT for details.
TSL contains a Mersenne-Twister implementation (mt19937ar.c).

A C-program for MT19937, with initialization improved 2002/1/26.
Coded by Takuji Nishimura and Makoto Matsumoto.

Before using, initialize the state by using init_genrand(seed)
or init_by_array(init_key, key_length).

Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Any feedback is very welcome.
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)

0 comments on commit 64eef3c

Please sign in to comment.