#!/bin/sh

# Contributor: Alexander Markov <apsheronets@gmail.com>
# Teeworlds is a fast-paced sidescrolling multiplayer-only shoot 'em up game. The game features cartoon-themed graphics and physics, and relies heavily on classic shooter weaponry and gameplay.
# http://www.teeworlds.com/

pkgname=teeworlds
pkgver=0.4.2
pkgrel=1
arch=i486
startdir=`pwd`

# Make temporary directories
mkdir src/
mkdir pkg/

# Download sources
wget -c "http://www.teeworlds.com/files/${pkgname}-${pkgver}-src.tar.gz"
# Download bam
wget -c "http://www.teeworlds.com/files/bam.zip"
# Download icon
wget http://komar.nonlogic.org/darcs/slaxbuilds/teeworlds/teeworlds.desktop
wget http://komar.nonlogic.org/darcs/slaxbuilds/teeworlds/teeworlds.png

# Extract sources
tar -xf ${pkgname}-${pkgver}-src.tar.gz -C src/
# Extract bam
unzip bam.zip -d src/

# Build bam (used to build teewars)
cd ${startdir}/src/bam
./make_unix.sh || exit

# Build teeworlds
cd ${startdir}/src/${pkgname}-${pkgver}-src/
sed -i -e "s#data/#/usr/share/teeworlds/#g" \
	datasrc/data.ds \
	src/engine/e_map.c \
	src/engine/client/ec_client.c \
	src/engine/server/es_server.c \
	src/game/editor/ed_editor.cpp \
	src/game/client/gc_hooks.cpp \
	src/game/client/gc_map_image.cpp \
	src/game/client/gc_skin.cpp || exit
../bam/src/bam server_release client_release || exit

# Install data files
mkdir -p ${startdir}/pkg/usr/share/${pkgname}
cp -r ${startdir}/src/${pkgname}-${pkgver}-src/data/* \
	${startdir}/pkg/usr/share/$pkgname || exit

install -Dm755 ${startdir}/src/${pkgname}-${pkgver}-src/${pkgname} \
	${startdir}/pkg/usr/bin/${pkgname} || exit
install -Dm755 ${startdir}/src/${pkgname}-${pkgver}-src/${pkgname}_srv \
	${startdir}/pkg/usr/bin/${pkgname}_srv || exit

install -Dm644 ${startdir}/src/${pkgname}.desktop \
	${startdir}/pkg/usr/share/applications/${pkgname}.desktop || exit
install -Dm644 ${startdir}/src/${pkgname}.png \
	${startdir}/pkg/usr/share/pixmaps/${pkgname}.png || exit
install -Dm644 ${startdir}/src/${pkgname}-${pkgver}-src/license.txt \
	${startdir}/pkg/usr/share/licenses/${pkgname}/license.txt || exit

cd ${startdir}/

# Copy slaxbuild
mkdir -p ${startdir}/pkg/usr/src/slaxbuilds/
cp $0 ${startdir}/pkg/usr/src/slaxbuilds/

# Clean
find ${startdir}/pkg/ -type d | xargs chmod -v 755;
find ${startdir}/pkg/usr/man/ -type l -name "*.gz" | xargs -r gunzip -f
find ${startdir}/pkg/usr/man/ ! -type l -name "*.gz" | xargs -r gunzip
find ${startdir}/pkg/ | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded

# Make module
dir2lzm ${startdir}/pkg/ ${startdir}/${pkgname}-${pkgver}-${arch}-${pkgrel}.lzm && echo || exit

echo 'Remove temporary files (pkg/ and src/)'
rm -r ${startdir}/pkg/ ${startdir}/src/
