aboutsummaryrefslogtreecommitdiff
path: root/games/teeworlds
diff options
context:
space:
mode:
Diffstat (limited to 'games/teeworlds')
-rw-r--r--games/teeworlds/Makefile69
-rw-r--r--games/teeworlds/distinfo6
-rw-r--r--games/teeworlds/files/patch-default.bam76
-rw-r--r--games/teeworlds/pkg-descr16
-rw-r--r--games/teeworlds/pkg-plist158
5 files changed, 325 insertions, 0 deletions
diff --git a/games/teeworlds/Makefile b/games/teeworlds/Makefile
new file mode 100644
index 000000000000..7559d8c18589
--- /dev/null
+++ b/games/teeworlds/Makefile
@@ -0,0 +1,69 @@
+# New ports collection makefile for: teewars
+# Date created: 17 Feb 2008
+# Whom: Dmitry Marakasov <amdmi3@amdmi3.ru>
+#
+# $FreeBSD$
+#
+
+PORTNAME= teewars
+PORTVERSION= 0.3.4
+CATEGORIES= games
+MASTER_SITES= http://www.teewars.com/files/ \
+ http://www.amdmi3.ru/distfiles/
+DISTNAME= ${PORTNAME}-${PORTVERSION}-src
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} bam${EXTRACT_SUFX}
+
+MAINTAINER= amdmi3@amdmi3.ru
+COMMENT= Platform game featuring buggers equipped with weapons
+
+USE_ZIP= yes
+USE_PYTHON_BUILD= yes
+
+BAM= ${WRKDIR}/bam.bin
+BAM_TARGET= release
+
+OPTIONS= TEEWARS_SERVER_ONLY "Build dedicated server only" off
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_TEEWARS_SERVER_ONLY)
+BAM_TARGET= server_release
+PLIST_SUB+= CLIENT="@comment "
+.else
+LIB_DEPENDS+= portaudio.2:${PORTSDIR}/audio/portaudio2
+USE_GL= yes
+PLIST_SUB+= CLIENT=""
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/default.bam
+ @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' ${WRKSRC}/default.bam
+ @${REINPLACE_CMD} -e 's|\(s.cc.c_compiler = \).*|\1"${CC}"|; \
+ s|\(s.cc.cxx_compiler = \).*|\1"${CXX}"|; \
+ s|\(s.cc.flags = \).*|\1"${CFLAGS}"|; \
+ s|\(s.linker.linker = \).*|\1"${CXX}"|' \
+ ${WRKDIR}/bam/src/base.bam
+ @${FIND} ${WRKSRC}/src -name "*.c" -o -name "*.cpp" | \
+ ${XARGS} ${REINPLACE_CMD} -e 's|"data/|"${DATADIR}/|g'
+ @${REINPLACE_CMD} -e 's|"data/|"${DATADIR}/|g' ${WRKSRC}/datasrc/*
+
+# build bam executable - teewars own build system
+pre-build:
+ cd ${WRKDIR}/bam && ${CC} ${CFLAGS} src/tools/txt2c.c -o src/tools/txt2c
+ cd ${WRKDIR}/bam && src/tools/txt2c < src/base.bam > src/internal_base.h
+ cd ${WRKDIR}/bam && ${CC} ${CFLAGS} src/lua/src/*.c src/lua/src/lib/*.c \
+ src/*.c -Isrc/lua/include -o ${BAM} -lm ${PTHREAD_LIBS}
+
+# build teewars
+do-build:
+ cd ${WRKSRC} && ${BAM} ${BAM_TARGET}
+
+do-install:
+.if !defined(WITH_TEEWARS_SERVER_ONLY)
+ ${INSTALL_PROGRAM} ${WRKSRC}/teewars ${PREFIX}/bin
+.endif
+ ${INSTALL_PROGRAM} ${WRKSRC}/teewars_srv ${PREFIX}/bin
+ ${MKDIR} ${DATADIR}
+ @cd ${WRKSRC}/data && ${COPYTREE_SHARE} . ${DATADIR}/
+
+.include <bsd.port.post.mk>
diff --git a/games/teeworlds/distinfo b/games/teeworlds/distinfo
new file mode 100644
index 000000000000..2aa8a4040a79
--- /dev/null
+++ b/games/teeworlds/distinfo
@@ -0,0 +1,6 @@
+MD5 (teewars-0.3.4-src.zip) = ed56470043b0dc73caa55a741282c761
+SHA256 (teewars-0.3.4-src.zip) = 8ed3152a9fc631dce0c4da7ca991728895e2660b217bb26063c02503a36c0861
+SIZE (teewars-0.3.4-src.zip) = 4438820
+MD5 (bam.zip) = 91065fcce9296b7259d71ef6aafe347a
+SHA256 (bam.zip) = 616834108060c4f573d19dd087d6c4c5d5e40b8987002c9b9df089fb194fa71c
+SIZE (bam.zip) = 475348
diff --git a/games/teeworlds/files/patch-default.bam b/games/teeworlds/files/patch-default.bam
new file mode 100644
index 000000000000..b360144c23b0
--- /dev/null
+++ b/games/teeworlds/files/patch-default.bam
@@ -0,0 +1,76 @@
+--- default.bam.orig 2008-02-09 22:10:40.000000000 +0300
++++ default.bam 2008-02-18 00:06:31.000000000 +0300
+@@ -173,19 +173,20 @@
+ settings.cc.flags = "/wd4244"
+ else
+ settings.cc.flags = "-Wall"
+- settings.linker.flags = ""
++ settings.linker.flags = "-L/usr/local/lib/portaudio2 -L/usr/local/lib -pthread"
++ settings.linker.libs:add("z")
+ end
+
+ -- set some platform specific settings
+ settings.cc.includes:add("src")
+- settings.cc.includes:add("src/external/zlib")
++ settings.cc.includes:add("/usr/local/include/portaudio2")
++ settings.cc.includes:add("/usr/local/include")
+
+ if family == "unix" then
+ if platform == "macosx" then
+ glfw_platform = "macosx"
+ else
+ glfw_platform = "x11"
+- settings.linker.libs:add("pthread")
+ end
+ elseif family == "windows" then
+ glfw_platform = "win32"
+@@ -217,7 +218,6 @@
+ else
+ engine_settings.cc.flags = "-Wall -pedantic-errors"
+ end
+- engine_settings.linker.flags = ""
+ end
+
+ -- server
+@@ -237,10 +237,11 @@
+ client_settings.linker.frameworks:add("AudioToolbox")
+ client_settings.linker.frameworks:add("AudioUnit")
+ else
+- client_settings.linker.libs:add("asound")
+ client_settings.linker.libs:add("X11")
++ client_settings.linker.libs:add("Xxf86vm")
+ client_settings.linker.libs:add("GL")
+ client_settings.linker.libs:add("GLU")
++ client_settings.linker.libs:add("portaudio")
+ end
+ elseif family == "windows" then
+ client_settings.linker.libs:add("opengl32.lib")
+@@ -249,10 +250,8 @@
+ end
+
+ external_settings = settings:copy()
+- zlib = Compile(external_settings, Collect("src/engine/external/zlib/*.c"))
+ wavpack = Compile(external_settings, Collect("src/engine/external/wavpack/*.c"))
+ pnglite = Compile(external_settings, Collect("src/engine/external/pnglite/*.c"))
+- portaudio = Compile(external_settings, Collect("src/engine/external/pa.c"))
+
+ engine = Compile(engine_settings, Collect("src/engine/*.c"))
+ client = Compile(client_settings, Collect("src/engine/client/*.c"))
+@@ -280,7 +279,7 @@
+
+ -- build client, server and master server
+ client_exe = Link(client_settings, "teewars", game_shared, game_client,
+- engine, client, editor, glfw, portaudio, zlib, pnglite, wavpack,
++ engine, client, editor, glfw, pnglite, wavpack,
+ client_link_other)
+
+ server_exe = Link(server_settings, "teewars_srv", engine, server,
+@@ -326,7 +325,7 @@
+ release_settings.config_name = "release"
+ release_settings.config_ext = ""
+ release_settings.debug = 0
+-release_settings.cc.optimize = 1
++release_settings.cc.optimize = 0
+
+ DefaultTarget(build(debug_settings))
+ build(release_settings)
diff --git a/games/teeworlds/pkg-descr b/games/teeworlds/pkg-descr
new file mode 100644
index 000000000000..005c6a855e7d
--- /dev/null
+++ b/games/teeworlds/pkg-descr
@@ -0,0 +1,16 @@
+Teewars is a freeware online multiplayer game, designed as a crossover
+between Quake and Worms. Set on platform-based maps, players control
+a cute little bugger with guns to take out as many opponents as
+possible. The characters can jump but move more quickly using a
+grappling hook, swinging through the levels. It can also be used
+to lock other players to keep them near. The available weapons
+include a pistol, shotgun, grenade launcher and a hammer. The
+shooting and grappling direction is shown through a cursor, controlled
+by the mouse. A special power-up temporarily provides a ninja sword,
+used to slash through enemies. Each character has an amount of
+health and shield. Items scattered around include additional ammo,
+and health and shield bonuses. Unlike Worms, all the action that
+happens is fast-paced and happens in real-time. It supports CTF
+mode.
+
+WWW: http://www.teewars.com/
diff --git a/games/teeworlds/pkg-plist b/games/teeworlds/pkg-plist
new file mode 100644
index 000000000000..b8659e82d595
--- /dev/null
+++ b/games/teeworlds/pkg-plist
@@ -0,0 +1,158 @@
+%%CLIENT%%bin/teewars
+bin/teewars_srv
+%%DATADIR%%/audio/foley_body_impact-01.wv
+%%DATADIR%%/audio/foley_body_impact-02.wv
+%%DATADIR%%/audio/foley_body_impact-03.wv
+%%DATADIR%%/audio/foley_body_splat-01.wv
+%%DATADIR%%/audio/foley_body_splat-02.wv
+%%DATADIR%%/audio/foley_body_splat-03.wv
+%%DATADIR%%/audio/foley_body_splat-04.wv
+%%DATADIR%%/audio/foley_dbljump-01.wv
+%%DATADIR%%/audio/foley_dbljump-02.wv
+%%DATADIR%%/audio/foley_dbljump-03.wv
+%%DATADIR%%/audio/foley_foot_left-01.wv
+%%DATADIR%%/audio/foley_foot_left-02.wv
+%%DATADIR%%/audio/foley_foot_left-03.wv
+%%DATADIR%%/audio/foley_foot_left-04.wv
+%%DATADIR%%/audio/foley_foot_right-01.wv
+%%DATADIR%%/audio/foley_foot_right-02.wv
+%%DATADIR%%/audio/foley_foot_right-03.wv
+%%DATADIR%%/audio/foley_foot_right-04.wv
+%%DATADIR%%/audio/foley_land-01.wv
+%%DATADIR%%/audio/foley_land-02.wv
+%%DATADIR%%/audio/foley_land-03.wv
+%%DATADIR%%/audio/foley_land-04.wv
+%%DATADIR%%/audio/hook_attach-01.wv
+%%DATADIR%%/audio/hook_attach-02.wv
+%%DATADIR%%/audio/hook_attach-03.wv
+%%DATADIR%%/audio/hook_loop-01.wv
+%%DATADIR%%/audio/hook_loop-02.wv
+%%DATADIR%%/audio/sfx_ctf_cap_pl.wv
+%%DATADIR%%/audio/sfx_ctf_drop.wv
+%%DATADIR%%/audio/sfx_ctf_grab_en.wv
+%%DATADIR%%/audio/sfx_ctf_grab_pl.wv
+%%DATADIR%%/audio/sfx_ctf_rtn.wv
+%%DATADIR%%/audio/sfx_hit_strong-01.wv
+%%DATADIR%%/audio/sfx_hit_strong-02.wv
+%%DATADIR%%/audio/sfx_hit_weak-01.wv
+%%DATADIR%%/audio/sfx_hit_weak-02.wv
+%%DATADIR%%/audio/sfx_hit_weak-03.wv
+%%DATADIR%%/audio/sfx_msg-client.wv
+%%DATADIR%%/audio/sfx_msg-server.wv
+%%DATADIR%%/audio/sfx_pickup_arm-01.wv
+%%DATADIR%%/audio/sfx_pickup_arm-02.wv
+%%DATADIR%%/audio/sfx_pickup_arm-03.wv
+%%DATADIR%%/audio/sfx_pickup_arm-04.wv
+%%DATADIR%%/audio/sfx_pickup_gun.wv
+%%DATADIR%%/audio/sfx_pickup_hrt-01.wv
+%%DATADIR%%/audio/sfx_pickup_hrt-02.wv
+%%DATADIR%%/audio/sfx_pickup_launcher.wv
+%%DATADIR%%/audio/sfx_pickup_ninja.wv
+%%DATADIR%%/audio/sfx_pickup_sg.wv
+%%DATADIR%%/audio/sfx_spawn_wpn-01.wv
+%%DATADIR%%/audio/sfx_spawn_wpn-02.wv
+%%DATADIR%%/audio/sfx_spawn_wpn-03.wv
+%%DATADIR%%/audio/vo_teefault_cry-01.wv
+%%DATADIR%%/audio/vo_teefault_cry-02.wv
+%%DATADIR%%/audio/vo_teefault_ninja-01.wv
+%%DATADIR%%/audio/vo_teefault_ninja-02.wv
+%%DATADIR%%/audio/vo_teefault_ninja-03.wv
+%%DATADIR%%/audio/vo_teefault_ninja-04.wv
+%%DATADIR%%/audio/vo_teefault_pain_long-01.wv
+%%DATADIR%%/audio/vo_teefault_pain_long-02.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-01.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-02.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-03.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-04.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-05.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-06.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-07.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-08.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-09.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-10.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-11.wv
+%%DATADIR%%/audio/vo_teefault_pain_short-12.wv
+%%DATADIR%%/audio/vo_teefault_sledge-01.wv
+%%DATADIR%%/audio/vo_teefault_sledge-02.wv
+%%DATADIR%%/audio/vo_teefault_sledge-03.wv
+%%DATADIR%%/audio/vo_teefault_spawn-01.wv
+%%DATADIR%%/audio/vo_teefault_spawn-02.wv
+%%DATADIR%%/audio/vo_teefault_spawn-03.wv
+%%DATADIR%%/audio/vo_teefault_spawn-04.wv
+%%DATADIR%%/audio/vo_teefault_spawn-05.wv
+%%DATADIR%%/audio/vo_teefault_spawn-06.wv
+%%DATADIR%%/audio/vo_teefault_spawn-07.wv
+%%DATADIR%%/audio/wp_flump_explo-01.wv
+%%DATADIR%%/audio/wp_flump_explo-02.wv
+%%DATADIR%%/audio/wp_flump_explo-03.wv
+%%DATADIR%%/audio/wp_flump_launch-01.wv
+%%DATADIR%%/audio/wp_flump_launch-02.wv
+%%DATADIR%%/audio/wp_flump_launch-03.wv
+%%DATADIR%%/audio/wp_gun_fire-01.wv
+%%DATADIR%%/audio/wp_gun_fire-02.wv
+%%DATADIR%%/audio/wp_gun_fire-03.wv
+%%DATADIR%%/audio/wp_hammer_hit-01.wv
+%%DATADIR%%/audio/wp_hammer_hit-02.wv
+%%DATADIR%%/audio/wp_hammer_hit-03.wv
+%%DATADIR%%/audio/wp_hammer_swing-01.wv
+%%DATADIR%%/audio/wp_hammer_swing-02.wv
+%%DATADIR%%/audio/wp_hammer_swing-03.wv
+%%DATADIR%%/audio/wp_ninja_attack-01.wv
+%%DATADIR%%/audio/wp_ninja_attack-02.wv
+%%DATADIR%%/audio/wp_ninja_attack-03.wv
+%%DATADIR%%/audio/wp_ninja_attack-04.wv
+%%DATADIR%%/audio/wp_ninja_hit-01.wv
+%%DATADIR%%/audio/wp_ninja_hit-02.wv
+%%DATADIR%%/audio/wp_ninja_hit-03.wv
+%%DATADIR%%/audio/wp_ninja_hit-04.wv
+%%DATADIR%%/audio/wp_noammo-01.wv
+%%DATADIR%%/audio/wp_noammo-02.wv
+%%DATADIR%%/audio/wp_noammo-03.wv
+%%DATADIR%%/audio/wp_noammo-04.wv
+%%DATADIR%%/audio/wp_noammo-05.wv
+%%DATADIR%%/audio/wp_shotty_fire-01.wv
+%%DATADIR%%/audio/wp_shotty_fire-02.wv
+%%DATADIR%%/audio/wp_shotty_fire-03.wv
+%%DATADIR%%/audio/wp_switch-01.wv
+%%DATADIR%%/audio/wp_switch-02.wv
+%%DATADIR%%/audio/wp_switch-03.wv
+%%DATADIR%%/big_font.png
+%%DATADIR%%/browse_icons.png
+%%DATADIR%%/checker.png
+%%DATADIR%%/cloudmap.png
+%%DATADIR%%/debug_font.png
+%%DATADIR%%/emoticons.png
+%%DATADIR%%/game.png
+%%DATADIR%%/gui_cursor.png
+%%DATADIR%%/gui_logo.png
+%%DATADIR%%/maps/ctf1.map
+%%DATADIR%%/maps/ctf2.map
+%%DATADIR%%/maps/dm1.map
+%%DATADIR%%/maps/dm2.map
+%%DATADIR%%/maps/dm6.map
+%%DATADIR%%/moon.png
+%%DATADIR%%/mountain_paralax.png
+%%DATADIR%%/skins/bluekitty.png
+%%DATADIR%%/skins/bluestripe.png
+%%DATADIR%%/skins/brownbear.png
+%%DATADIR%%/skins/cammo.png
+%%DATADIR%%/skins/cammostripes.png
+%%DATADIR%%/skins/coala.png
+%%DATADIR%%/skins/default.png
+%%DATADIR%%/skins/limekitty.png
+%%DATADIR%%/skins/ninja.png
+%%DATADIR%%/skins/pinky.png
+%%DATADIR%%/skins/redbopp.png
+%%DATADIR%%/skins/redstripe.png
+%%DATADIR%%/skins/saddo.png
+%%DATADIR%%/skins/toptri.png
+%%DATADIR%%/skins/twinbop.png
+%%DATADIR%%/skins/twintri.png
+%%DATADIR%%/skins/warpaint.png
+%%DATADIR%%/snow.png
+%%DATADIR%%/stars.png
+%%DATADIR%%/sun.png
+@dirrm %%DATADIR%%/skins
+@dirrm %%DATADIR%%/maps
+@dirrm %%DATADIR%%/audio
+@dirrm %%DATADIR%%