diff options
author | B. Watson <yalhcru@gmail.com> | 2012-01-15 23:28:24 -0600 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2012-01-15 23:28:24 -0600 |
commit | 2aff3f9702072535e392ee1625562231c3f687b4 (patch) | |
tree | 086ceb243a2f3073d684493cebee0ef8198316be | |
parent | 9daa6f9f29d694e2482ca75bce19a19dabfaed81 (diff) | |
download | slackbuilds-2aff3f9702072535e392ee1625562231c3f687b4.tar.gz |
games/skulltag: Added (port iof the original Doom and Doom II)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r-- | games/skulltag/README | 28 | ||||
-rw-r--r-- | games/skulltag/README_docs.txt | 3 | ||||
-rw-r--r-- | games/skulltag/doinst.sh | 1 | ||||
-rw-r--r-- | games/skulltag/skulltag.SlackBuild | 151 | ||||
-rw-r--r-- | games/skulltag/skulltag.desktop | 8 | ||||
-rw-r--r-- | games/skulltag/skulltag.info | 16 | ||||
-rw-r--r-- | games/skulltag/skulltag.ini | 266 | ||||
-rw-r--r-- | games/skulltag/skulltag.png | bin | 0 -> 2639 bytes | |||
-rw-r--r-- | games/skulltag/skulltag.sh | 12 | ||||
-rw-r--r-- | games/skulltag/slack-desc | 19 |
10 files changed, 504 insertions, 0 deletions
diff --git a/games/skulltag/README b/games/skulltag/README new file mode 100644 index 0000000000..bcfd2124d3 --- /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 0000000000..3bdf40b572 --- /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 0000000000..9f7b586b1b --- /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 0000000000..ae3c89b1b4 --- /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 0000000000..3fc4ee6597 --- /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 0000000000..35e909c4b5 --- /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 0000000000..bd4a5901ad --- /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 Binary files differnew file mode 100644 index 0000000000..8a556a2512 --- /dev/null +++ b/games/skulltag/skulltag.png diff --git a/games/skulltag/skulltag.sh b/games/skulltag/skulltag.sh new file mode 100644 index 0000000000..d8c1a668d7 --- /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 0000000000..6a57167292 --- /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: |