aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2012-01-15 23:28:24 -0600
committerRobby Workman <rworkman@slackbuilds.org>2012-01-15 23:28:24 -0600
commit2aff3f9702072535e392ee1625562231c3f687b4 (patch)
tree086ceb243a2f3073d684493cebee0ef8198316be /games
parent9daa6f9f29d694e2482ca75bce19a19dabfaed81 (diff)
games/skulltag: Added (port iof the original Doom and Doom II)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'games')
-rw-r--r--games/skulltag/README28
-rw-r--r--games/skulltag/README_docs.txt3
-rw-r--r--games/skulltag/doinst.sh1
-rw-r--r--games/skulltag/skulltag.SlackBuild151
-rw-r--r--games/skulltag/skulltag.desktop8
-rw-r--r--games/skulltag/skulltag.info16
-rw-r--r--games/skulltag/skulltag.ini266
-rw-r--r--games/skulltag/skulltag.pngbin0 -> 2639 bytes
-rw-r--r--games/skulltag/skulltag.sh12
-rw-r--r--games/skulltag/slack-desc19
10 files changed, 504 insertions, 0 deletions
diff --git a/games/skulltag/README b/games/skulltag/README
new file mode 100644
index 000000000000..bcfd2124d382
--- /dev/null
+++ b/games/skulltag/README
@@ -0,0 +1,28 @@
+Skulltag is a port for the original Doom and Doom II by id Software.
+
+Skulltag brings classic Doom into the 21st century, maintaining the
+essence of what has made Doom great for so many years and, at the same
+time, adding new features to modernize it, creating a fresh, fun new
+experience.
+
+Skulltag has no external build dependencies, but it benefits greatly from
+the use of doomseeker (a server browser, *much* nicer than skulltag's
+built-in server browser).
+
+You'll also need the game data (WAD file) from one of the following:
+
+Doom II v1.9 (DOOM2.WAD)
+Ultimate Doom v1.9 (DOOM.WAD)
+Final Doom: TNT Evilution v1.9 (TNT.WAD)
+Final Doom: The Plutonia Experiment v1.9 (PLUTONIA.WAD)
+FreeDoom >=0.6.2 (FREEDOOM.WAD, see freedoom package)
+Heretic (HERETIC.WAD)
+Hexen (HEXEN.WAD)
+Chex Quest 3 (CHEX3.WAD)
+Strife (STRIFE1.WAD)
+
+Place the WAD file(s) in /usr/share/games/doom. The filenames can be
+all lowercase (doom.wad) or all uppercase (DOOM.WAD).
+
+Skulltag doesn't allow playing with shareware Doom, Heretic, or Hexen
+data files.
diff --git a/games/skulltag/README_docs.txt b/games/skulltag/README_docs.txt
new file mode 100644
index 000000000000..3bdf40b57279
--- /dev/null
+++ b/games/skulltag/README_docs.txt
@@ -0,0 +1,3 @@
+
+Skulltag doesn't ship with any documentation. Instead, use the Skulltag Wiki
+at http://www.skulltag.com/ for all your documentation needs.
diff --git a/games/skulltag/doinst.sh b/games/skulltag/doinst.sh
new file mode 100644
index 000000000000..9f7b586b1ba4
--- /dev/null
+++ b/games/skulltag/doinst.sh
@@ -0,0 +1 @@
+# FIXME: placeholder
diff --git a/games/skulltag/skulltag.SlackBuild b/games/skulltag/skulltag.SlackBuild
new file mode 100644
index 000000000000..ae3c89b1b409
--- /dev/null
+++ b/games/skulltag/skulltag.SlackBuild
@@ -0,0 +1,151 @@
+#!/bin/sh
+
+# Slackware build script for skulltag
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+PRGNAM=skulltag
+VERSION=${VERSION:-098d}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ LIBDIRSUFFIX=""
+ TARARCH=x86
+elif [ "$ARCH" = "i686" ]; then
+ LIBDIRSUFFIX=""
+ TARARCH=x86
+elif [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+ TARARCH=x86_64
+else
+ echo "Unsupported ARCH '$ARCH'. Supported ARCH values are 'i486' 'i686' 'x86_64'"
+ exit 1
+fi
+
+set -e
+
+# This is closed-source software. 3 tarballs here:
+# BASE: platform-independent data, mostly goes in usr/share/skulltag
+# GAME: game binary + a couple of shared libs.
+# FMOD: old version of shared lib required for the game bin. The fmodapi
+# from SBo can't be used because it's too new. Note that our default
+# skulltag.ini has fmodapi *disabled* (in favor of emulated OPL), and
+# enabling fmodapi from the in-game menus doesn't work (no music heard).
+# This fmodapi shared lib exists *just* to make the damn game runnable.
+
+BASE=$CWD/st-v${VERSION}_linux-base.tar.bz2
+GAME=$CWD/st-v${VERSION}_linux-$TARARCH.tar.bz2
+FMOD=$CWD/fmodapi42416linux$LIBDIRSUFFIX.tar.gz
+
+# The shared libs will all be installed in usr/lib$LIBDIRSUFFIX/skulltag/
+# so as not to interfere with the system lib dir. The game binary will also go
+# there, with a wrapper script to set LD_LIBRARY_PATH.
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir -p $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+tar xvf $BASE
+tar xvf $GAME
+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 {} \;
+
+mkdir -p \
+ $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM \
+ $PKG/usr/bin \
+ $PKG/usr/share/$PRGNAM \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+
+mv $PRGNAM $PRGNAM-server *.so $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
+install -m0644 *.pk3 $PKG/usr/share/$PRGNAM
+install -m0644 *.txt $PKG/usr/doc/$PRGNAM-$VERSION
+
+# The announcer and skins stuff seems like it ought to go in
+# /usr/share/$PRGNAM (same as the .pk3 files), but strace shows
+# that it looks in /usr/lib$LIBDIRSUFFIX/$PRGNAM, and I can't find
+# a way to change it in the config file.
+chmod 0644 announcer/* skins/*
+cp -a announcer skins $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
+
+mkdir fmod
+cd fmod
+tar xvf $FMOD
+install -m0755 \
+ fmodapi*/api/lib*/libfmodex$LIBDIRSUFFIX-*.so \
+ $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
+
+sed "s,@LIB@,lib$LIBDIRSUFFIX,g" < $CWD/$PRGNAM.sh > $PKG/usr/bin/$PRGNAM
+chmod 755 $PKG/usr/bin/$PRGNAM
+ln -s $PRGNAM $PKG/usr/bin/$PRGNAM-server
+
+# The included ini file changes the following program defaults:
+
+# - Sets the skulltag master server to master.skulltag.net (this is the
+# correct skullag_masterip since October 2011).
+
+# - Sets the savegame path to ~/.skulltag. The default savegame path in
+# the skulltag binary is ~.skulltag (missing the slash), which creates
+# savegames in a subdirectory of the current dir (confusing for us
+# CLI users). This issue has been fixed upstream in the current
+# dev snapshot.
+
+# - Searches for wads and other files in /usr/share/skulltag (since
+# that's where this package installs skulltag's .pk3 data) and
+# /usr/share/games/doom (for compatibility with existing SBo zdoom
+# package)
+
+# - Disables FMOD audio (use emulated OPL instead, since FMOD doesn't seem
+# to actually work)
+
+# - Uses ALSA instead of OSS as the default audio output device. OSS has been
+# deprecated for maybe 10 years now, it's beyond me why app developers
+# continue to make it the default.
+
+# The wrapper script will copy the default .ini to ~/.skulltag/skulltag.ini
+# if it doesn't already exist.
+
+cat $CWD/$PRGNAM.ini > $PKG/usr/share/$PRGNAM/$PRGNAM.ini.default
+
+# The program ships with no useful documentation. Users are expected to use
+# the wiki, so let's give the user the URL.
+cat $CWD/README_docs.txt > $PKG/usr/doc/$PRGNAM-$VERSION/README_docs.txt
+
+# PNG icon converted from a GIF on skulltag.com
+mkdir -p $PKG/usr/share/pixmaps
+cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
+
+# .desktop is a modified copy of zdoom.desktop
+mkdir -p $PKG/usr/share/applications
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+
+mkdir -p $PKG/usr/share/applications
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+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.${PKGTYPE:-tgz}
diff --git a/games/skulltag/skulltag.desktop b/games/skulltag/skulltag.desktop
new file mode 100644
index 000000000000..3fc4ee65971c
--- /dev/null
+++ b/games/skulltag/skulltag.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=SkullTag
+GenericName=Enhanced Doom Engine
+Icon=skulltag
+Exec=skulltag %F
+Terminal=false
+Categories=Game;ActionGame;
diff --git a/games/skulltag/skulltag.info b/games/skulltag/skulltag.info
new file mode 100644
index 000000000000..35e909c4b5a3
--- /dev/null
+++ b/games/skulltag/skulltag.info
@@ -0,0 +1,16 @@
+PRGNAM="skulltag"
+VERSION="098d"
+HOMEPAGE="http://www.skulltag.com/"
+DOWNLOAD="http://www.skulltag.com/download/files/release/st-v098d_linux-base.tar.bz2 \
+ http://www.skulltag.com/download/files/release/st-v098d_linux-x86.tar.bz2 \
+ http://www.fmod.org/index.php/release/version/fmodapi42416linux.tar.gz"
+MD5SUM="afe482e04ce3f51c94915e07c3aff3b0 \
+ faa005fc5b44da424d87d6a17eaafccb \
+ 00b157e8d09d539b0a7023c48b71422a"
+DOWNLOAD_x86_64="http://www.skulltag.com/download/files/release/st-v098d_linux-x86_64.tar.bz2 \
+ http://www.fmod.org/index.php/release/version/fmodapi42416linux64.tar.gz"
+MD5SUM_x86_64="46e677cc851698ac101d42b6140b6047 \
+ 70b2a6a2618ee9823ab564b4e945c885"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
+APPROVED="rworkman"
diff --git a/games/skulltag/skulltag.ini b/games/skulltag/skulltag.ini
new file mode 100644
index 000000000000..bd4a5901adda
--- /dev/null
+++ b/games/skulltag/skulltag.ini
@@ -0,0 +1,266 @@
+# This file was generated by Skulltag 0.98d on Sun Dec 25 07:02:20 2011
+
+# These are the directories to automatically search for IWADs.
+# Each directory should be on a separate line, preceded by Path=
+[IWADSearch.Directories]
+Path=.
+Path=$DOOMWADDIR
+Path=~/.skulltag
+Path=/usr/share/games/doom
+Path=/usr/share/skulltag
+
+# These are the directories to search for wads added with the -file
+# command line parameter, if they cannot be found with the path
+# as-is. Layout is the same as for IWADSearch.Directories
+[FileSearch.Directories]
+Path=.
+Path=$DOOMWADDIR
+Path=~/.skulltag
+Path=/usr/share/games/doom
+Path=/usr/share/skulltag
+
+# Files to automatically execute when running the corresponding game.
+# Each file should be on its own line, preceded by Path=
+
+[Doom.AutoExec]
+Path=~/.skulltag/autoexec.cfg
+
+[Heretic.AutoExec]
+Path=~/.skulltag/autoexec.cfg
+
+[Hexen.AutoExec]
+Path=~/.skulltag/autoexec.cfg
+
+[Strife.AutoExec]
+Path=~/.skulltag/autoexec.cfg
+
+[Chex.AutoExec]
+Path=~/.skulltag/autoexec.cfg
+
+# WAD files to always load. These are loaded after the IWAD but before
+# any files added with -file. Place each file on its own line, preceded
+# by Path=
+[Global.Autoload]
+
+# Wad files to automatically load depending on the game and IWAD you are
+# playing. You may have have files that are loaded for all similar IWADs
+# (the game) and files that are only loaded for particular IWADs. For example,
+# any files listed under Doom.Autoload will be loaded for any version of Doom,
+# but files listed under Doom2.Autoload will only load when you are
+# playing Doom 2.
+
+[Doom.Autoload]
+
+[Doom1.Autoload]
+
+[Doom2.Autoload]
+
+[TNT.Autoload]
+
+[Plutonia.Autoload]
+
+[Freedoom.Autoload]
+
+[Freedoom1.Autoload]
+
+[FreeDM.Autoload]
+
+[Heretic.Autoload]
+
+[Hexen.Autoload]
+
+[HexenDK.Autoload]
+
+[HexenDemo.Autoload]
+
+[Strife.Autoload]
+
+[Chex.Autoload]
+
+[Chex3.Autoload]
+
+[AlreadyRemovedZDoomGLSettings]
+
+[LastRun]
+Version=210
+
+[GlobalSettings]
+vid_winscale=1
+fullscreen=false
+vid_renderer=0
+mouse_capturemode=1
+joy_upspeed=-1
+joy_sidespeed=1
+joy_forwardspeed=-1
+joy_pitchspeed=-0.75
+joy_yawspeed=-1
+joy_speedmultiplier=1
+joy_dialthreshold=0
+joy_sliderthreshold=0
+joy_zrotthreshold=0.15
+joy_yrotthreshold=0.15
+joy_xrotthreshold=0.15
+joy_zthreshold=0.15
+joy_ythreshold=0.15
+joy_xthreshold=0.15
+joy_dial=0
+joy_slider=0
+joy_zrot=2
+joy_yrot=0
+joy_xrot=0
+joy_zaxis=4
+joy_yaxis=3
+joy_xaxis=1
+joy_guid={00000000-0000-0000-0000-000000000000}
+use_joystick=false
+sdl_nokeyrepeat=false
+m_filter=false
+m_noprescale=false
+use_mouse=true
+gl_vid_allowsoftware=false
+gl_vid_multisample=0
+bgamma=1
+ggamma=1
+rgamma=1
+vid_displaybits=8
+showendoom=0
+cl_allowmultipleannouncersounds=true
+cl_alwaysplayfragsleft=false
+con_ctrl_d=
+defaultiwad=
+queryiwad=true
+cl_capfps=false
+nofilecompression=false
+autosavecount=4
+disableautosave=0
+autosavenum=0
+smooth_mouse=false
+m_side=2
+m_forward=1
+m_yaw=1
+m_pitch=1
+lookstrafe=false
+freelook=false
+invertmouse=false
+cl_run=false
+demo_compress=true
+save_dir=~/.skulltag
+longsavemessages=true
+storesavepic=true
+screenshot_dir=
+screenshot_type=png
+screenshot_quiet=false
+vid_tft=false
+show_messages=true
+mouse_sensitivity=1
+png_gamma=0
+png_level=5
+nomonsterinterpolation=false
+chase_dist=90
+chase_height=-8
+telezoom=true
+cl_noprediction=false
+cl_oldfreelooklimit=false
+r_columnmethod=1
+screenblocks=11
+r_smoothlighting=false
+snd_flipstereo=false
+snd_channels=32
+r_drawspectatingstring=true
+sv_showwarnings=false
+skulltag_masterip=master.skulltag.net
+Gamma=1
+vid_nowidescreen=false
+vid_refreshrate=0
+vid_vsync=false
+vid_defbits=8
+vid_defheight=480
+vid_defwidth=640
+map_point_coordinates=true
+crosshairgrow=false
+crosshairscale=false
+crosshairhealth=true
+crosshaircolor=ff 00 00
+crosshair=0
+gl_usearrays=false
+gl_texture_hqresize_targets=7
+gl_texture_hqresize_maxinputsize=512
+gl_texture_hqresize=0
+gl_distfog=70
+gl_lights_additive=false
+gl_light_ambient=20
+gl_light_particles=true
+gl_light_sprites=true
+gl_lights_size=1
+gl_lights_intensity=1
+gl_lights_checkside=true
+gl_bulletlight=true
+gl_attachedlights=true
+gl_lights=true
+vid_contrast=1
+vid_brightness=0
+gl_vid_compatibility=false
+gl_nogl=false
+gl_plane_reflection=true
+r_mirror_recursions=4
+gl_blendcolormaps=true
+gl_mask_threshold=0.5
+gl_nearclip=5
+gl_no_skyclear=false
+gl_glow_shader=true
+gl_brightmap_shader=false
+gl_colormap_shader=false
+gl_fog_shader=false
+gl_warp_shader=false
+gl_sky_detail=16
+gl_billboard_mode=0
+gl_particles_style=2
+gl_sprite_blend=false
+gl_usecolorblending=true
+gl_clamp_per_texture=false
+gl_texture_format=0
+gl_texture_filter=0
+gl_texture_filter_anisotropic=1
+gl_render_precise=false
+gl_fakecontrast=true
+gl_seamless=false
+gl_render_segs=false
+gl_mirror_envmap=true
+snd_waterlp=250
+snd_midipatchset=
+snd_output_format=PCM-16
+snd_speakermode=Auto
+snd_resampler=Linear
+snd_waterreverb=true
+snd_hrtf=false
+snd_buffercount=0
+snd_driver=0
+snd_musicvolume=0.5
+snd_sfxvolume=1
+snd_output=ALSA
+snd_buffersize=0
+snd_samplerate=0
+mod_autochip_scan_threshold=12
+mod_autochip_size_scan=500
+mod_autochip_size_force=100
+mod_autochip=false
+mod_interp=1
+mod_volramp=0
+mod_samplerate=0
+mod_dumb=true
+snd_mididevice=-3
+timidity_frequency=22050
+timidity_pipe=60
+timidity_mastervolume=1
+timidity_byteswap=false
+timidity_8bit=false
+timidity_stereo=true
+timidity_reverb=0
+timidity_chorus=0
+timidity_extargs=
+timidity_exe=timidity
+opl_onechip=false
+spc_amp=1.875
+
+[GlobalSettings.Unknown]
+
diff --git a/games/skulltag/skulltag.png b/games/skulltag/skulltag.png
new file mode 100644
index 000000000000..8a556a251280
--- /dev/null
+++ b/games/skulltag/skulltag.png
Binary files differ
diff --git a/games/skulltag/skulltag.sh b/games/skulltag/skulltag.sh
new file mode 100644
index 000000000000..d8c1a668d7de
--- /dev/null
+++ b/games/skulltag/skulltag.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# First time user runs the game, make sure they get an .ini file
+# that knows where to find skulltag.pk3 and friends.
+if [ ! -e ~/.skulltag/skulltag.ini ]; then
+ mkdir -p ~/.skulltag
+ cat /usr/share/skulltag/skulltag.ini.default > ~/.skulltag/skulltag.ini
+fi
+
+DIR=/usr/@LIB@/skulltag
+export LD_LIBRARY_PATH=$DIR
+exec $DIR/`basename $0` "$@"
diff --git a/games/skulltag/slack-desc b/games/skulltag/slack-desc
new file mode 100644
index 000000000000..6a57167292ea
--- /dev/null
+++ b/games/skulltag/slack-desc
@@ -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------------------------------------------------------|
+skulltag: Skulltag (port for the original Doom and Doom II by id Software)
+skulltag:
+skulltag: Skulltag brings classic Doom into the 21st century, maintaining the
+skulltag: essence of what has made Doom great for so many years and, at the
+skulltag: same time, adding new features to modernize it, creating a fresh,
+skulltag: fun new experience.
+skulltag:
+skulltag:
+skulltag:
+skulltag:
+skulltag: