Hi, I would like a review / ok from another porter to commit that.
Thanks 2014-07-11 12:19 GMT+02:00 Jonathan Armani <d...@asystant.net>: > Hi, > > Tested ok on amd64 and diff looks good. > I'm not sure the tweaks in MESSAGE are still revelant, but it can be > adjusted later. > > Does someone have an idea for SDL_VIDEO_X11_DGAMOUSE ? A problem without > gfx_noclip 0 ? > > ok armani@ > > > 2014-05-08 18:42 GMT+02:00 Donovan Watteau <tso...@gmail.com>: > >> Hi, >> >> The following diff updates Teeworlds to 0.6.2. >> >> In early 2012, I sent an update from teeworlds-0.5.2 to 0.6.1 to >> armani@. But today, 0.5.2 is still the tree, so I'd like to take >> its maintainership. >> >> Here are the changes: >> - don't bother building on strict-alignment archs. On loongson, both >> the client and the server SIGBUS during startup, and looking at the >> code it seems that it will crash on anything not x86 or ppc. >> - don't include an extra copy of DejaVuSans.ttf. >> - use audio/wavpack, not an internal copy. >> - make sure an internal zlib is never used. >> - invoke "bam" with -a, to make sure that it will abort on error. >> - don't enforce the stack protector, base gcc(1) enables it wherever >> it's possible. >> - fix endianness detection (my macppc is no longer supported, but >> two years ago this patch was required). >> - drop patch-src_engine_client_ec_snd_c. At first, I ported it to >> teeworlds-0.6.2, but actually this patch makes audio much worse >> for me, and I can't observe anymore the crash it was supposed >> to fix. >> >> Index: Makefile >> =================================================================== >> RCS file: /cvs/ports/games/teeworlds/Makefile,v >> retrieving revision 1.17 >> diff -u -p -r1.17 Makefile >> --- Makefile 9 Aug 2013 19:04:49 -0000 1.17 >> +++ Makefile 8 May 2014 16:16:48 -0000 >> @@ -1,60 +1,69 @@ >> # $OpenBSD: Makefile,v 1.17 2013/08/09 19:04:49 ajacoutot Exp $ >> >> -COMMENT = platform game featuring buggers equipped with weapons >> +# Crashes on strict-alignment archs, see: src/base/system.c:164 >> +ONLY_FOR_ARCHS= amd64 i386 powerpc >> >> -V = 0.5.2 >> -DISTNAME = teeworlds-${V}-src >> -PKGNAME = teeworlds-${V} >> -REVISION = 4 >> -CATEGORIES = games >> +COMMENT= platform game featuring buggers equipped with weapons >> >> -MAINTAINER = Jonathan Armani <arm...@openbsd.org> >> -HOMEPAGE = http://www.teeworlds.com/ >> +V= 0.6.2 >> +DISTNAME= teeworlds-${V}-source >> +PKGNAME= teeworlds-${V} >> +CATEGORIES= games >> >> -BAM_VERSION = 0.2.0 >> -BAM_WRKSRC = ${WRKSRC}/bam-${BAM_VERSION} >> -BAM_TARGET = release >> +HOMEPAGE= http://www.teeworlds.com/ >> >> -MASTER_SITES = http://www.teeworlds.com/files/ >> -DISTFILES = ${DISTNAME}${EXTRACT_SUFX} >> bam-${BAM_VERSION}${EXTRACT_SUFX} >> +MAINTAINER= Donovan Watteau <tso...@gmail.com> >> >> -# GPLv2 >> -PERMIT_PACKAGE_CDROM = Yes >> +BAM_VERSION= 0.4.0 >> +BAM_WRKSRC= ${WRKSRC}/bam-${BAM_VERSION} >> >> -WANTLIB = GL GLU SDL X11 c m pthread stdc++ z >> -LIB_DEPENDS = devel/sdl >> +MASTER_SITES= http://www.teeworlds.com/files/ >> +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} >> bam-${BAM_VERSION}${EXTRACT_SUFX} >> >> -MODULES = lang/python >> +# BSD-like >> +PERMIT_PACKAGE_CDROM= Yes >> >> -NO_TEST = Yes >> +WANTLIB= GL GLU SDL X11 c freetype m pthread stdc++ wavpack z >> >> -GAMEDIR = ${PREFIX}/share/teeworlds >> +LIB_DEPENDS= audio/wavpack \ >> + devel/sdl >> >> -SUBST_VARS = CC CXX CFLAGS >> +MODULES= lang/python >> + >> +SUBST_VARS= CC CXX CFLAGS CXXFLAGS X11BASE >> + >> +NO_TEST= Yes >> >> post-extract: >> @mv ${WRKDIR}/bam-${BAM_VERSION} ${BAM_WRKSRC} >> >> pre-configure: >> - ${SUBST_CMD} ${WRKSRC}/src/engine/e_engine.c \ >> - ${WRKSRC}/scripts/make_src.py \ >> + @${SUBST_CMD} ${WRKSRC}/src/engine/shared/storage.cpp \ >> + ${WRKSRC}/src/game/client/gameclient.cpp \ >> + ${WRKSRC}/scripts/build.py \ >> + ${WRKSRC}/scripts/compiler.py \ >> ${WRKSRC}/scripts/font_installer.sh \ >> - ${WRKSRC}/default.bam \ >> + ${WRKSRC}/scripts/make_src.py \ >> + ${WRKSRC}/bam.lua \ >> ${BAM_WRKSRC}/make_unix.sh \ >> - ${BAM_WRKSRC}/src/driver_gcc.bam \ >> - ${BAM_WRKSRC}/src/base.bam >> + ${BAM_WRKSRC}/src/driver_gcc.lua \ >> + ${BAM_WRKSRC}/src/base.lua >> + # Make sure internal wavpack and zlib can't be picked up >> + rm -rf ${WRKSRC}/src/engine/external/{wavpack,zlib} >> + # Don't provide an extra copy of DejaVu >> + rm -rf ${WRKSRC}/data/fonts >> >> # build bam executable - teeworlds own build system >> pre-build: >> cd ${BAM_WRKSRC} && /bin/sh -v make_unix.sh >> >> do-build: >> - cd ${WRKSRC} && CC=${CC} ${BAM_WRKSRC}/src/bam -v ${BAM_TARGET} >> + cd ${WRKSRC} && CC=${CC} ${BAM_WRKSRC}/bam -a -v release >> wavpack=${LOCALBASE} >> >> do-install: >> ${INSTALL_PROGRAM} ${WRKSRC}/teeworlds ${PREFIX}/bin >> ${INSTALL_PROGRAM} ${WRKSRC}/teeworlds_srv ${PREFIX}/bin >> - ${INSTALL_DATA_DIR} ${GAMEDIR} >> - cd ${WRKSRC}; tar cf - data | tar xf - -C ${GAMEDIR} >> + ${INSTALL_DATA_DIR} ${PREFIX}/share/teeworlds >> + cd ${WRKSRC}; tar cf - data | tar xf - -C >> ${PREFIX}/share/teeworlds >> >> .include <bsd.port.mk> >> Index: distinfo >> =================================================================== >> RCS file: /cvs/ports/games/teeworlds/distinfo,v >> retrieving revision 1.4 >> diff -u -p -r1.4 distinfo >> --- distinfo 9 Aug 2013 19:04:49 -0000 1.4 >> +++ distinfo 8 May 2014 16:16:48 -0000 >> @@ -1,4 +1,4 @@ >> -SHA256 (bam-0.2.0.tar.gz) = 72zdwd9HsNgQYmUDPvTlXmHeyr8ieaKs1/3wFmM8B1g= >> -SHA256 (teeworlds-0.5.2-src.tar.gz) = >> GBGnG/mhRwx6aTCANXREkvPoUK790S8bwiP7hdmM9MA= >> -SIZE (bam-0.2.0.tar.gz) = 162342 >> -SIZE (teeworlds-0.5.2-src.tar.gz) = 6393472 >> +SHA256 (bam-0.4.0.tar.gz) = Xk5JILTSZdpYL2Z3TpseyN37513cAo+6hsEvaG6hjbM= >> +SHA256 (teeworlds-0.6.2-source.tar.gz) = >> AAYbMDd1l6YYEO2j3F3gyq1DnKhRy47rvkFS5Phh4q8= >> +SIZE (bam-0.4.0.tar.gz) = 206780 >> +SIZE (teeworlds-0.6.2-source.tar.gz) = 9179568 >> Index: patches/patch-bam-0_2_0_make_unix_sh >> =================================================================== >> RCS file: patches/patch-bam-0_2_0_make_unix_sh >> diff -N patches/patch-bam-0_2_0_make_unix_sh >> --- patches/patch-bam-0_2_0_make_unix_sh 9 Aug 2013 19:04:49 -0000 >> 1.3 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,10 +0,0 @@ >> -$OpenBSD: patch-bam-0_2_0_make_unix_sh,v 1.3 2013/08/09 19:04:49 >> ajacoutot Exp $ >> ---- bam-0.2.0/make_unix.sh.orig Thu Jan 8 13:07:44 2009 >> -+++ bam-0.2.0/make_unix.sh Sun Feb 8 18:11:29 2009 >> -@@ -1,4 +1,4 @@ >> - #!/bin/sh >> --gcc -Wall -ansi -pedantic src/tools/txt2c.c -o src/tools/txt2c >> -+${CC} ${CFLAGS} -Wall -ansi -pedantic src/tools/txt2c.c -o >> src/tools/txt2c >> - src/tools/txt2c src/base.bam src/driver_gcc.bam src/driver_cl.bam > >> src/internal_base.h >> --gcc -Wall -ansi -pedantic src/lua/*.c src/*.c -o src/bam -I src/lua -lm >> -lpthread -O2 $* >> -+${CC} ${CFLAGS} -Wall -ansi -pedantic src/lua/*.c src/*.c -o src/bam -I >> src/lua -lm -lpthread $* >> Index: patches/patch-bam-0_2_0_src_base_bam >> =================================================================== >> RCS file: patches/patch-bam-0_2_0_src_base_bam >> diff -N patches/patch-bam-0_2_0_src_base_bam >> --- patches/patch-bam-0_2_0_src_base_bam 18 Jan 2009 17:53:36 >> -0000 1.1.1.1 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,12 +0,0 @@ >> -$OpenBSD: patch-bam-0_2_0_src_base_bam,v 1.1.1.1 2009/01/18 17:53:36 >> ajacoutot Exp $ >> ---- bam-0.2.0/src/base.bam.orig Fri Jan 16 18:46:07 2009 >> -+++ bam-0.2.0/src/base.bam Fri Jan 16 18:46:33 2009 >> -@@ -589,7 +589,7 @@ end >> - @END]]-- >> - function OptFindCompiler() >> - local check = function(option, settings) >> -- if ExecuteSilent("g++ -v") == 0 then >> -+ if ExecuteSilent("${CXX} -v") == 0 then >> - option.value = "gcc" >> - elseif ExecuteSilent("cl") == 0 then >> - option.value = "cl" >> Index: patches/patch-bam-0_2_0_src_context_h >> =================================================================== >> RCS file: patches/patch-bam-0_2_0_src_context_h >> diff -N patches/patch-bam-0_2_0_src_context_h >> --- patches/patch-bam-0_2_0_src_context_h 8 Feb 2009 22:31:58 -0000 >> 1.1 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,24 +0,0 @@ >> -$OpenBSD: patch-bam-0_2_0_src_context_h,v 1.1 2009/02/08 22:31:58 >> ajacoutot Exp $ >> - >> -Fix bus error on sparc64. >> - >> ---- bam-0.2.0/src/context.h.orig Mon Feb 9 00:11:33 2009 >> -+++ bam-0.2.0/src/context.h Mon Feb 9 00:09:59 2009 >> -@@ -5,7 +5,7 @@ struct TARGET >> - { >> - struct NODE *node; >> - struct TARGET *next; >> --}; >> -+} __attribute__((packed)); >> - >> - struct CONTEXT >> - { >> -@@ -24,7 +24,7 @@ struct CONTEXT >> - >> - volatile int current_cmd_num; >> - int num_commands; >> --}; >> -+} __attribute__((packed)); >> - >> - const char *context_get_path(lua_State *L); >> - struct CONTEXT *context_get_pointer(lua_State *L); >> Index: patches/patch-bam-0_2_0_src_driver_gcc_bam >> =================================================================== >> RCS file: patches/patch-bam-0_2_0_src_driver_gcc_bam >> diff -N patches/patch-bam-0_2_0_src_driver_gcc_bam >> --- patches/patch-bam-0_2_0_src_driver_gcc_bam 18 Jan 2009 17:53:36 >> -0000 1.1.1.1 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,14 +0,0 @@ >> -$OpenBSD: patch-bam-0_2_0_src_driver_gcc_bam,v 1.1.1.1 2009/01/18 >> 17:53:36 ajacoutot Exp $ >> ---- bam-0.2.0/src/driver_gcc.bam.orig Fri Jan 16 18:44:47 2009 >> -+++ bam-0.2.0/src/driver_gcc.bam Fri Jan 16 18:45:47 2009 >> -@@ -82,8 +82,8 @@ end >> - function SetDriversGCC(settings) >> - if settings.cc then >> - settings.cc.extension = ".o" >> -- settings.cc.c_compiler = "gcc" >> -- settings.cc.cxx_compiler = "g++" >> -+ settings.cc.c_compiler = "${CC} ${CFLAGS}" >> -+ settings.cc.cxx_compiler = "${CXX} ${CFLAGS}" >> - settings.cc.DriverCTest = DriverCTest_GCC >> - settings.cc.DriverC = DriverC_GCC >> - settings.cc.DriverCXX = DriverCXX_GCC >> Index: patches/patch-bam-0_2_0_src_main_c >> =================================================================== >> RCS file: patches/patch-bam-0_2_0_src_main_c >> diff -N patches/patch-bam-0_2_0_src_main_c >> --- patches/patch-bam-0_2_0_src_main_c 8 Feb 2009 16:54:54 -0000 >> 1.1 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,37 +0,0 @@ >> -$OpenBSD: patch-bam-0_2_0_src_main_c,v 1.1 2009/02/08 16:54:54 ajacoutot >> Exp $ >> ---- bam-0.2.0/src/main.c.orig Sun Feb 8 18:09:12 2009 >> -+++ bam-0.2.0/src/main.c Sun Feb 8 18:10:27 2009 >> -@@ -986,8 +986,8 @@ int register_lua_globals(struct CONTEXT *context) >> - >> - /* set paths */ >> - { >> -- char cwd[512]; >> -- getcwd(cwd, 512); >> -+ char cwd[1024]; >> -+ getcwd(cwd, 1024); >> - >> - lua_pushstring(context->lua, CONTEXT_LUA_PATH); >> - lua_pushstring(context->lua, context->script_directory); >> -@@ -1131,17 +1131,17 @@ static int bam(const char *scriptfile, const >> char **ta >> - >> - /* fetch script directory */ >> - { >> -- char cwd[512]; >> -- char path[512]; >> -+ char cwd[1024]; >> -+ char path[1024]; >> - >> -- getcwd(cwd, 512); >> -- if(path_directory(context.filename, path, 512)) >> -+ getcwd(cwd, 1024); >> -+ if(path_directory(context.filename, path, 1024)) >> - { >> - printf("crap error1\n"); >> - *((int*)0) = 0; >> - } >> - >> -- if(path_join(cwd, path, context.script_directory, 512)) >> -+ if(path_join(cwd, path, context.script_directory, 1024)) >> - { >> - printf("crap error2\n"); >> - *((int*)0) = 0; >> Index: patches/patch-bam-0_2_0_src_node_h >> =================================================================== >> RCS file: patches/patch-bam-0_2_0_src_node_h >> diff -N patches/patch-bam-0_2_0_src_node_h >> --- patches/patch-bam-0_2_0_src_node_h 8 Feb 2009 22:31:58 -0000 >> 1.1 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,24 +0,0 @@ >> -$OpenBSD: patch-bam-0_2_0_src_node_h,v 1.1 2009/02/08 22:31:58 ajacoutot >> Exp $ >> - >> -Fix bus error on sparc64. >> - >> ---- bam-0.2.0/src/node.h.orig Mon Feb 9 00:11:20 2009 >> -+++ bam-0.2.0/src/node.h Mon Feb 9 00:10:15 2009 >> -@@ -9,7 +9,7 @@ struct DEPENDENCY >> - { >> - struct NODE *node; >> - struct DEPENDENCY *next; >> --}; >> -+} __attribute__((packed)); >> - >> - #define USE_NODE_RB >> - >> -@@ -55,7 +55,7 @@ struct NODE >> - unsigned int counted:1; >> - >> - volatile unsigned int workstatus:2; /* 0 = undone, 1 = in the >> workings, 2 = done*/ >> --}; >> -+} __attribute__((packed)); >> - >> - struct HEAP; >> - struct GRAPH; >> Index: patches/patch-bam-0_4_0_make_unix_sh >> =================================================================== >> RCS file: patches/patch-bam-0_4_0_make_unix_sh >> diff -N patches/patch-bam-0_4_0_make_unix_sh >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-bam-0_4_0_make_unix_sh 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,13 @@ >> +$OpenBSD$ >> + >> +Don't hardcode compiler path and flags. >> + >> +--- bam-0.4.0/make_unix.sh.orig Mon Aug 9 20:08:24 2010 >> ++++ bam-0.4.0/make_unix.sh Sat Mar 17 15:05:51 2012 >> +@@ -1,4 +1,4 @@ >> + #!/bin/sh >> +-gcc -Wall -ansi -pedantic src/tools/txt2c.c -o src/tools/txt2c >> ++${CC} ${CFLAGS} -Wall -ansi -pedantic src/tools/txt2c.c -o >> src/tools/txt2c >> + src/tools/txt2c src/base.lua src/tools.lua src/driver_gcc.lua >> src/driver_cl.lua > src/internal_base.h >> +-gcc -Wall -ansi -pedantic src/*.c src/lua/*.c -o bam -I src/lua -lm >> -lpthread -ldl -O2 -rdynamic $* >> ++${CC} ${CFLAGS} -Wall -ansi -pedantic src/*.c src/lua/*.c -o bam -I >> src/lua -lm -lpthread -rdynamic $* >> Index: patches/patch-bam-0_4_0_src_driver_gcc_lua >> =================================================================== >> RCS file: patches/patch-bam-0_4_0_src_driver_gcc_lua >> diff -N patches/patch-bam-0_4_0_src_driver_gcc_lua >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-bam-0_4_0_src_driver_gcc_lua 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,52 @@ >> +$OpenBSD$ >> + >> +Don't hardcode compiler path and flags. >> + >> +--- bam-0.4.0/src/driver_gcc.lua.orig Mon Aug 9 20:08:24 2010 >> ++++ bam-0.4.0/src/driver_gcc.lua Sat Mar 17 15:14:24 2012 >> +@@ -13,7 +13,6 @@ function DriverGCC_Get(exe, cache_name, flags_name) >> + local f = cc.flags:ToString() >> + f = f .. cc[flags_name]:ToString() >> + if settings.debug > 0 then f = f .. "-g " end >> +- if settings.optimize > 0 then f = f .. "-O2 " end >> + >> + cache.str = cc[exe] .. " " .. f .. "-c " .. d .. >> i .. " -o " >> + end >> +@@ -27,7 +26,7 @@ function DriverGCC_CTest(code, options) >> + f:write(code) >> + f:write("\n") >> + f:close() >> +- local ret = ExecuteSilent("gcc _test.c -o _test " .. options) >> ++ local ret = ExecuteSilent("${CC} _test.c -o _test " .. options) >> + os.remove("_test.c") >> + os.remove("_test") >> + return ret==0 >> +@@ -80,8 +79,8 @@ end >> + function SetDriversGCC(settings) >> + if settings.cc then >> + settings.cc.extension = ".o" >> +- settings.cc.exe_c = "gcc" >> +- settings.cc.exe_cxx = "g++" >> ++ settings.cc.exe_c = "${CC} ${CFLAGS}" >> ++ settings.cc.exe_cxx = "${CXX} ${CXXFLAGS}" >> + settings.cc.DriverCTest = DriverGCC_CTest >> + settings.cc.DriverC = DriverGCC_Get("exe_c", "_c_cache", >> "flags_c") >> + settings.cc.DriverCXX = DriverGCC_Get("exe_cxx", >> "_cxx_cache", "flags_cxx") >> +@@ -89,7 +88,7 @@ function SetDriversGCC(settings) >> + >> + if settings.link then >> + settings.link.extension = "" >> +- settings.link.exe = "g++" >> ++ settings.link.exe = "${CXX}" >> + settings.link.Driver = DriverGCC_Link >> + end >> + >> +@@ -108,7 +107,7 @@ function SetDriversGCC(settings) >> + settings.dll.prefix = "" >> + settings.dll.extension = ".so" >> + end >> +- settings.dll.exe = "g++" >> ++ settings.dll.exe = "${CXX}" >> + settings.dll.Driver = DriverGCC_DLL >> + end >> + end >> Index: patches/patch-bam_lua >> =================================================================== >> RCS file: patches/patch-bam_lua >> diff -N patches/patch-bam_lua >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-bam_lua 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,73 @@ >> +$OpenBSD$ >> + >> +- Don't enforce stack protector >> +- Don't hardcode python >> +- Make it possible to use wavpack as an external dependency (from Debian) >> +- Fix zlib external dependency (from Debian) >> + >> +--- bam.lua.orig Wed May 1 13:47:39 2013 >> ++++ bam.lua Thu May 8 16:13:57 2014 >> +@@ -7,12 +7,12 @@ Import("other/freetype/freetype.lua") >> + --- Setup Config ------- >> + config = NewConfig() >> + config:Add(OptCCompiler("compiler")) >> +-config:Add(OptTestCompileC("stackprotector", "int main(){return 0;}", >> "-fstack-protector -fstack-protector-all")) >> + config:Add(OptTestCompileC("minmacosxsdk", "int main(){return 0;}", >> "-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk")) >> + config:Add(OptTestCompileC("macosxppc", "int main(){return 0;}", "-arch >> ppc")) >> + config:Add(OptLibrary("zlib", "zlib.h", false)) >> + config:Add(SDL.OptFind("sdl", true)) >> + config:Add(FreeType.OptFind("freetype", true)) >> ++config:Add(OptLibrary("wavpack", "wavpack/wavpack.h", false)) >> + config:Finalize("config.lua") >> + >> + -- data compiler >> +@@ -20,7 +20,7 @@ function Script(name) >> + if family == "windows" then >> + return str_replace(name, "/", "\\") >> + end >> +- return "python " .. name >> ++ return "${MODPY_BIN} " .. name >> + end >> + >> + function CHash(output, ...) >> +@@ -157,9 +157,6 @@ function build(settings) >> + settings.cc.flags:Add("-isysroot >> /Developer/SDKs/MacOSX10.5.sdk") >> + settings.link.flags:Add("-isysroot >> /Developer/SDKs/MacOSX10.5.sdk") >> + end >> +- elseif config.stackprotector.value == 1 then >> +- settings.cc.flags:Add("-fstack-protector", >> "-fstack-protector-all") >> +- settings.link.flags:Add("-fstack-protector", >> "-fstack-protector-all") >> + end >> + end >> + >> +@@ -187,7 +184,7 @@ function build(settings) >> + end >> + >> + -- compile zlib if needed >> +- if config.zlib.value == 1 then >> ++ if config.zlib.value then >> + settings.link.libs:Add("z") >> + if config.zlib.include_path then >> + settings.cc.includes:Add(config.zlib.include_path) >> +@@ -198,8 +195,20 @@ function build(settings) >> + settings.cc.includes:Add("src/engine/external/zlib") >> + end >> + >> ++ -- compile wavpack if needed >> ++ if config.wavpack.value then >> ++ settings.link.libs:Add("wavpack") >> ++ if config.wavpack.include_path then >> ++ >> settings.cc.includes:Add(config.wavpack.include_path .. "/include") >> ++ >> settings.link.libpath:Add(config.wavpack.include_path .. "/lib") >> ++ end >> ++ wavpack = {} >> ++ else >> ++ wavpack = Compile(settings, >> Collect("src/engine/external/wavpack/*.c")) >> ++ settings.cc.includes:Add("src/engine/external") >> ++ end >> ++ >> + -- build the small libraries >> +- wavpack = Compile(settings, >> Collect("src/engine/external/wavpack/*.c")) >> + pnglite = Compile(settings, >> Collect("src/engine/external/pnglite/*.c")) >> + >> + -- build game components >> Index: patches/patch-default_bam >> =================================================================== >> RCS file: patches/patch-default_bam >> diff -N patches/patch-default_bam >> --- patches/patch-default_bam 5 Apr 2009 16:59:40 -0000 1.2 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,21 +0,0 @@ >> -$OpenBSD: patch-default_bam,v 1.2 2009/04/05 16:59:40 ajacoutot Exp $ >> ---- default.bam.orig Thu Mar 5 11:41:17 2009 >> -+++ default.bam Thu Mar 5 11:41:53 2009 >> -@@ -15,7 +15,7 @@ function Script(name) >> - if family == "windows" then >> - return str_replace(name, "/", "\\") >> - end >> -- return "python " .. name >> -+ return "${MODPY_BIN} " .. name >> - end >> - >> - function CHash(output, ...) >> -@@ -128,7 +128,7 @@ function build(settings) >> - settings.link.frameworks:Add("Carbon") >> - settings.link.frameworks:Add("AppKit") >> - else >> -- settings.link.libs:Add("pthread") >> -+ settings.link.flags:Add("-pthread") >> - end >> - elseif family == "windows" then >> - settings.link.libs:Add("gdi32") >> Index: patches/patch-scripts_build_py >> =================================================================== >> RCS file: patches/patch-scripts_build_py >> diff -N patches/patch-scripts_build_py >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-scripts_build_py 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,12 @@ >> +$OpenBSD$ >> +--- scripts/build.py.orig Sun Jul 31 23:17:00 2011 >> ++++ scripts/build.py Sat Mar 17 15:19:47 2012 >> +@@ -276,7 +276,7 @@ if flag_make_release: >> + os.chdir(src_dir_teeworlds) >> + command = '"%s/%s/scripts/make_release.py" %s %s' % (work_dir, >> src_dir_teeworlds, version_teeworlds, platform) >> + if os.name != "nt": >> +- command = "python %s" % command >> ++ command = "${MODPY_BIN} %s" % command >> + if os.system(command) != 0: >> + bail("failed to make a relase of %s" % name) >> + final_output = "FAIL" >> Index: patches/patch-scripts_compiler_py >> =================================================================== >> RCS file: patches/patch-scripts_compiler_py >> diff -N patches/patch-scripts_compiler_py >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-scripts_compiler_py 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,9 @@ >> +$OpenBSD$ >> +--- scripts/compiler.py.orig Sun Jul 31 23:17:00 2011 >> ++++ scripts/compiler.py Sat Mar 17 15:22:43 2012 >> +@@ -1,4 +1,4 @@ >> +-#!/usr/bin/python >> ++#!${MODPY_BIN} >> + >> + import sys >> + import struct >> Index: patches/patch-scripts_font_installer_sh >> =================================================================== >> RCS file: >> /cvs/ports/games/teeworlds/patches/patch-scripts_font_installer_sh,v >> retrieving revision 1.1.1.1 >> diff -u -p -r1.1.1.1 patch-scripts_font_installer_sh >> --- patches/patch-scripts_font_installer_sh 18 Jan 2009 17:53:36 >> -0000 1.1.1.1 >> +++ patches/patch-scripts_font_installer_sh 8 May 2014 16:16:48 -0000 >> @@ -1,6 +1,6 @@ >> $OpenBSD: patch-scripts_font_installer_sh,v 1.1.1.1 2009/01/18 17:53:36 >> ajacoutot Exp $ >> ---- scripts/font_installer.sh.orig Fri Jan 16 17:18:33 2009 >> -+++ scripts/font_installer.sh Fri Jan 16 17:18:51 2009 >> +--- scripts/font_installer.sh.orig Sun Jul 31 23:17:00 2011 >> ++++ scripts/font_installer.sh Sat Mar 17 15:19:57 2012 >> @@ -1,3 +1,3 @@ >> echo Generating .fnts... >> ../../font_generator/a.out >> Index: patches/patch-scripts_make_src_py >> =================================================================== >> RCS file: patches/patch-scripts_make_src_py >> diff -N patches/patch-scripts_make_src_py >> --- patches/patch-scripts_make_src_py 18 Jan 2009 17:53:36 -0000 >> 1.1.1.1 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,12 +0,0 @@ >> -$OpenBSD: patch-scripts_make_src_py,v 1.1.1.1 2009/01/18 17:53:36 >> ajacoutot Exp $ >> ---- scripts/make_src.py.orig Fri Jan 16 17:17:44 2009 >> -+++ scripts/make_src.py Fri Jan 16 17:18:15 2009 >> -@@ -34,7 +34,7 @@ os.chdir(root_dir) >> - if 1: >> - os.system("svn export svn://svn.teeworlds.com/teeworlds/%s >> teeworlds" % svn_tree) >> - os.chdir("teeworlds") >> -- os.system("python scripts/make_release.py %s src" % version) >> -+ os.system("${MODPY_BIN} scripts/make_release.py %s src" % version) >> - os.chdir(root_dir) >> - for f in os.listdir("teeworlds"): >> - if "teeworlds" in f and "src" in f and (".zip" in f or >> ".tar.gz" in f): >> Index: patches/patch-src_base_detect_h >> =================================================================== >> RCS file: patches/patch-src_base_detect_h >> diff -N patches/patch-src_base_detect_h >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-src_base_detect_h 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,24 @@ >> +$OpenBSD$ >> + >> +Fix endianness detection. >> + >> +--- src/base/detect.h.orig Wed May 1 13:47:39 2013 >> ++++ src/base/detect.h Thu May 8 14:52:51 2014 >> +@@ -79,14 +79,15 @@ >> + /* use gcc endianness definitions when available */ >> + #if defined(__GNUC__) && !defined(__APPLE__) && !defined(__MINGW32__) >> && !defined(__sun) >> + #if defined(__FreeBSD__) || defined(__OpenBSD__) >> ++ #include <sys/types.h> >> + #include <sys/endian.h> >> + #else >> + #include <endian.h> >> + #endif >> + >> +- #if __BYTE_ORDER == __LITTLE_ENDIAN >> ++ #if BYTE_ORDER == LITTLE_ENDIAN >> + #define CONF_ARCH_ENDIAN_LITTLE 1 >> +- #elif __BYTE_ORDER == __BIG_ENDIAN >> ++ #elif BYTE_ORDER == BIG_ENDIAN >> + #define CONF_ARCH_ENDIAN_BIG 1 >> + #endif >> + #endif >> Index: patches/patch-src_engine_client_ec_snd_c >> =================================================================== >> RCS file: patches/patch-src_engine_client_ec_snd_c >> diff -N patches/patch-src_engine_client_ec_snd_c >> --- patches/patch-src_engine_client_ec_snd_c 10 Feb 2009 00:32:43 >> -0000 1.1 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,38 +0,0 @@ >> -$OpenBSD: patch-src_engine_client_ec_snd_c,v 1.1 2009/02/10 00:32:43 >> sthen Exp $ >> ---- src/engine/client/ec_snd.c.orig Tue Jan 27 11:41:17 2009 >> -+++ src/engine/client/ec_snd.c Tue Jan 27 12:30:08 2009 >> -@@ -139,10 +139,19 @@ static int iabs(int i) >> - >> - static void mix(short *final_out, unsigned frames) >> - { >> -- int mix_buffer[MAX_FRAMES*2] = {0}; >> -- int i, s; >> -+ int *mix_buffer; >> -+ int i, s, mix_buffer_size; >> - int master_vol; >> - >> -+ mix_buffer_size = frames * 2 * sizeof(int); >> -+ mix_buffer = malloc(mix_buffer_size); >> -+ if (mix_buffer == NULL) >> -+ { >> -+ printf("malloc failed"); >> -+ return; >> -+ } >> -+ bzero(mix_buffer, mix_buffer_size); >> -+ >> - /* aquire lock while we are mixing */ >> - lock_wait(sound_lock); >> - >> -@@ -239,6 +248,12 @@ static void mix(short *final_out, unsigned frames) >> - #if defined(CONF_ARCH_ENDIAN_BIG) >> - swap_endian(final_out, sizeof(short), frames * 2); >> - #endif >> -+ >> -+ if(mix_buffer != NULL) { >> -+ free(mix_buffer); >> -+ mix_buffer = NULL; >> -+ } >> -+ >> - } >> - >> - static void sdlcallback(void *unused, Uint8 *stream, int len) >> Index: patches/patch-src_engine_client_sound_cpp >> =================================================================== >> RCS file: patches/patch-src_engine_client_sound_cpp >> diff -N patches/patch-src_engine_client_sound_cpp >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-src_engine_client_sound_cpp 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,82 @@ >> +$OpenBSD$ >> + >> +Make it possible to compile with an external and newer wavpack. >> +From Debian. >> + >> +--- src/engine/client/sound.cpp.orig Wed May 1 13:47:39 2013 >> ++++ src/engine/client/sound.cpp Thu May 8 16:00:47 2014 >> +@@ -13,7 +13,7 @@ >> + #include "sound.h" >> + >> + extern "C" { // wavpack >> +- #include <engine/external/wavpack/wavpack.h> >> ++ #include <wavpack/wavpack.h> >> + } >> + #include <math.h> >> + >> +@@ -328,17 +328,14 @@ void CSound::RateConvert(int SampleID) >> + pSample->m_NumFrames = NumFrames; >> + } >> + >> +-int CSound::ReadData(void *pBuffer, int Size) >> +-{ >> +- return io_read(ms_File, pBuffer, Size); >> +-} >> +- >> + int CSound::LoadWV(const char *pFilename) >> + { >> + CSample *pSample; >> + int SampleID = -1; >> + char aError[100]; >> + WavpackContext *pContext; >> ++ char aWholePath[1024]; >> ++ IOHANDLE File; >> + >> + // don't waste memory on sound when we are stress testing >> + if(g_Config.m_DbgStress) >> +@@ -351,19 +348,23 @@ int CSound::LoadWV(const char *pFilename) >> + if(!m_pStorage) >> + return -1; >> + >> +- ms_File = m_pStorage->OpenFile(pFilename, IOFLAG_READ, >> IStorage::TYPE_ALL); >> +- if(!ms_File) >> ++ File = m_pStorage->OpenFile(pFilename, IOFLAG_READ, >> IStorage::TYPE_ALL, aWholePath, sizeof(aWholePath)); >> ++ if(!File) >> + { >> + dbg_msg("sound/wv", "failed to open file. filename='%s'", >> pFilename); >> + return -1; >> + } >> ++ else >> ++ { >> ++ io_close(File); >> ++ } >> + >> + SampleID = AllocID(); >> + if(SampleID < 0) >> + return -1; >> + pSample = &m_aSamples[SampleID]; >> + >> +- pContext = WavpackOpenFileInput(ReadData, aError); >> ++ pContext = WavpackOpenFileInput(aWholePath, aError, OPEN_2CH_MAX, >> 0); >> + if (pContext) >> + { >> + int m_aSamples = WavpackGetNumSamples(pContext); >> +@@ -419,9 +420,6 @@ int CSound::LoadWV(const char *pFilename) >> + dbg_msg("sound/wv", "failed to open %s: %s", pFilename, >> aError); >> + } >> + >> +- io_close(ms_File); >> +- ms_File = NULL; >> +- >> + if(g_Config.m_Debug) >> + dbg_msg("sound/wv", "loaded %s", pFilename); >> + >> +@@ -526,8 +524,6 @@ void CSound::StopAll() >> + } >> + lock_release(m_SoundLock); >> + } >> +- >> +-IOHANDLE CSound::ms_File = 0; >> + >> + IEngineSound *CreateEngineSound() { return new CSound; } >> + >> Index: patches/patch-src_engine_client_sound_h >> =================================================================== >> RCS file: patches/patch-src_engine_client_sound_h >> diff -N patches/patch-src_engine_client_sound_h >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-src_engine_client_sound_h 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,18 @@ >> +$OpenBSD$ >> + >> +Make it possible to compile with an external and newer wavpack. >> +From Debian. >> + >> +--- src/engine/client/sound.h.orig Wed May 1 13:47:39 2013 >> ++++ src/engine/client/sound.h Thu May 8 15:58:08 2014 >> +@@ -21,10 +21,6 @@ class CSound : public IEngineSound (public) >> + >> + static void RateConvert(int SampleID); >> + >> +- // TODO: Refactor: clean this mess up >> +- static IOHANDLE ms_File; >> +- static int ReadData(void *pBuffer, int Size); >> +- >> + virtual bool IsSoundEnabled() { return m_SoundEnabled != 0; } >> + >> + virtual int LoadWV(const char *pFilename); >> Index: patches/patch-src_engine_e_engine_c >> =================================================================== >> RCS file: patches/patch-src_engine_e_engine_c >> diff -N patches/patch-src_engine_e_engine_c >> --- patches/patch-src_engine_e_engine_c 18 Jan 2009 17:53:36 -0000 >> 1.1.1.1 >> +++ /dev/null 1 Jan 1970 00:00:00 -0000 >> @@ -1,12 +0,0 @@ >> -$OpenBSD: patch-src_engine_e_engine_c,v 1.1.1.1 2009/01/18 17:53:36 >> ajacoutot Exp $ >> ---- src/engine/e_engine.c.orig Fri Jan 16 17:15:42 2009 >> -+++ src/engine/e_engine.c Fri Jan 16 17:16:30 2009 >> -@@ -13,7 +13,7 @@ >> - #include "e_linereader.h" >> - >> - /* compiled-in data-dir path */ >> --#define DATA_DIR "data" >> -+#define DATA_DIR "${PREFIX}/share/teeworlds/data" >> - >> - static JOBPOOL hostlookuppool; >> - static int engine_find_datadir(char *argv0); >> Index: patches/patch-src_engine_shared_storage_cpp >> =================================================================== >> RCS file: patches/patch-src_engine_shared_storage_cpp >> diff -N patches/patch-src_engine_shared_storage_cpp >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-src_engine_shared_storage_cpp 8 May 2014 16:16:48 -0000 >> @@ -0,0 +1,12 @@ >> +$OpenBSD$ >> +--- src/engine/shared/storage.cpp.orig Sun Jul 31 23:17:00 2011 >> ++++ src/engine/shared/storage.cpp Sat Mar 17 15:21:21 2012 >> +@@ -5,7 +5,7 @@ >> + #include "linereader.h" >> + >> + // compiled-in data-dir path >> +-#define DATA_DIR "data" >> ++#define DATA_DIR "${PREFIX}/share/teeworlds/data" >> + >> + class CStorage : public IStorage >> + { >> Index: patches/patch-src_game_client_gameclient_cpp >> =================================================================== >> RCS file: patches/patch-src_game_client_gameclient_cpp >> diff -N patches/patch-src_game_client_gameclient_cpp >> --- /dev/null 1 Jan 1970 00:00:00 -0000 >> +++ patches/patch-src_game_client_gameclient_cpp 8 May 2014 >> 16:16:48 -0000 >> @@ -0,0 +1,24 @@ >> +$OpenBSD$ >> + >> +Don't require a local copy of DejavuSans.ttf. >> + >> +--- src/game/client/gameclient.cpp.orig Wed May 1 13:47:39 2013 >> ++++ src/game/client/gameclient.cpp Thu May 8 16:59:57 2014 >> +@@ -240,7 +240,7 @@ void CGameClient::OnInit() >> + // load default font >> + static CFont *pDefaultFont = 0; >> + char aFilename[512]; >> +- IOHANDLE File = Storage()->OpenFile("fonts/DejaVuSans.ttf", >> IOFLAG_READ, IStorage::TYPE_ALL, aFilename, sizeof(aFilename)); >> ++ IOHANDLE File = >> Storage()->OpenFile("${X11BASE}/lib/X11/fonts/TTF/DejaVuSans.ttf", >> IOFLAG_READ, IStorage::TYPE_ALL, aFilename, sizeof(aFilename)); >> + if(File) >> + { >> + io_close(File); >> +@@ -248,7 +248,7 @@ void CGameClient::OnInit() >> + TextRender()->SetDefaultFont(pDefaultFont); >> + } >> + if(!pDefaultFont) >> +- Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, >> "gameclient", "failed to load font. filename='fonts/DejaVuSans.ttf'"); >> ++ Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, >> "gameclient", "failed to load font. filename='DejaVuSans.ttf'"); >> + >> + // init all components >> + for(int i = m_All.m_Num-1; i >= 0; --i) >> Index: pkg/DESCR >> =================================================================== >> RCS file: /cvs/ports/games/teeworlds/pkg/DESCR,v >> retrieving revision 1.1.1.1 >> diff -u -p -r1.1.1.1 DESCR >> --- pkg/DESCR 18 Jan 2009 17:53:36 -0000 1.1.1.1 >> +++ pkg/DESCR 8 May 2014 16:16:48 -0000 >> @@ -1,3 +1,3 @@ >> -Teeworlds is a free online multiplayer game, available for all major >> -operating systems. Battle with up to 16 players in a variety of game >> +Teeworlds is a free online multiplayer game, available for all major >> +operating systems. Battle with up to 16 players in a variety of game >> modes, including Team Deathmatch and Capture The Flag. >> Index: pkg/PLIST >> =================================================================== >> RCS file: /cvs/ports/games/teeworlds/pkg/PLIST,v >> retrieving revision 1.1.1.1 >> diff -u -p -r1.1.1.1 PLIST >> --- pkg/PLIST 18 Jan 2009 17:53:36 -0000 1.1.1.1 >> +++ pkg/PLIST 8 May 2014 16:16:48 -0000 >> @@ -34,6 +34,7 @@ share/teeworlds/data/audio/hook_loop-02. >> share/teeworlds/data/audio/hook_noattach-01.wv >> share/teeworlds/data/audio/hook_noattach-02.wv >> share/teeworlds/data/audio/hook_noattach-03.wv >> +share/teeworlds/data/audio/music_menu.wv >> share/teeworlds/data/audio/sfx_ctf_cap_pl.wv >> share/teeworlds/data/audio/sfx_ctf_drop.wv >> share/teeworlds/data/audio/sfx_ctf_grab_en.wv >> @@ -45,6 +46,7 @@ share/teeworlds/data/audio/sfx_hit_weak- >> share/teeworlds/data/audio/sfx_hit_weak-02.wv >> share/teeworlds/data/audio/sfx_hit_weak-03.wv >> share/teeworlds/data/audio/sfx_msg-client.wv >> +share/teeworlds/data/audio/sfx_msg-highlight.wv >> share/teeworlds/data/audio/sfx_msg-server.wv >> share/teeworlds/data/audio/sfx_pickup_arm-01.wv >> share/teeworlds/data/audio/sfx_pickup_arm-02.wv >> @@ -137,73 +139,317 @@ share/teeworlds/data/blob.png >> share/teeworlds/data/browse_icons.png >> share/teeworlds/data/console.png >> share/teeworlds/data/console_bar.png >> +share/teeworlds/data/countryflags/ >> +share/teeworlds/data/countryflags/AD.png >> +share/teeworlds/data/countryflags/AE.png >> +share/teeworlds/data/countryflags/AF.png >> +share/teeworlds/data/countryflags/AG.png >> +share/teeworlds/data/countryflags/AI.png >> +share/teeworlds/data/countryflags/AL.png >> +share/teeworlds/data/countryflags/AM.png >> +share/teeworlds/data/countryflags/AO.png >> +share/teeworlds/data/countryflags/AR.png >> +share/teeworlds/data/countryflags/AS.png >> +share/teeworlds/data/countryflags/AT.png >> +share/teeworlds/data/countryflags/AU.png >> +share/teeworlds/data/countryflags/AW.png >> +share/teeworlds/data/countryflags/AX.png >> +share/teeworlds/data/countryflags/AZ.png >> +share/teeworlds/data/countryflags/BA.png >> +share/teeworlds/data/countryflags/BB.png >> +share/teeworlds/data/countryflags/BD.png >> +share/teeworlds/data/countryflags/BE.png >> +share/teeworlds/data/countryflags/BF.png >> +share/teeworlds/data/countryflags/BG.png >> +share/teeworlds/data/countryflags/BH.png >> +share/teeworlds/data/countryflags/BI.png >> +share/teeworlds/data/countryflags/BJ.png >> +share/teeworlds/data/countryflags/BL.png >> +share/teeworlds/data/countryflags/BM.png >> +share/teeworlds/data/countryflags/BN.png >> +share/teeworlds/data/countryflags/BO.png >> +share/teeworlds/data/countryflags/BR.png >> +share/teeworlds/data/countryflags/BS.png >> +share/teeworlds/data/countryflags/BT.png >> +share/teeworlds/data/countryflags/BW.png >> +share/teeworlds/data/countryflags/BY.png >> +share/teeworlds/data/countryflags/BZ.png >> +share/teeworlds/data/countryflags/CA.png >> +share/teeworlds/data/countryflags/CC.png >> +share/teeworlds/data/countryflags/CD.png >> +share/teeworlds/data/countryflags/CF.png >> +share/teeworlds/data/countryflags/CG.png >> +share/teeworlds/data/countryflags/CH.png >> +share/teeworlds/data/countryflags/CI.png >> +share/teeworlds/data/countryflags/CK.png >> +share/teeworlds/data/countryflags/CL.png >> +share/teeworlds/data/countryflags/CM.png >> +share/teeworlds/data/countryflags/CN.png >> +share/teeworlds/data/countryflags/CO.png >> +share/teeworlds/data/countryflags/CR.png >> +share/teeworlds/data/countryflags/CU.png >> +share/teeworlds/data/countryflags/CV.png >> +share/teeworlds/data/countryflags/CW.png >> +share/teeworlds/data/countryflags/CX.png >> +share/teeworlds/data/countryflags/CY.png >> +share/teeworlds/data/countryflags/CZ.png >> +share/teeworlds/data/countryflags/DE.png >> +share/teeworlds/data/countryflags/DJ.png >> +share/teeworlds/data/countryflags/DK.png >> +share/teeworlds/data/countryflags/DM.png >> +share/teeworlds/data/countryflags/DO.png >> +share/teeworlds/data/countryflags/DZ.png >> +share/teeworlds/data/countryflags/EC.png >> +share/teeworlds/data/countryflags/EE.png >> +share/teeworlds/data/countryflags/EG.png >> +share/teeworlds/data/countryflags/EH.png >> +share/teeworlds/data/countryflags/ER.png >> +share/teeworlds/data/countryflags/ES.png >> +share/teeworlds/data/countryflags/ET.png >> +share/teeworlds/data/countryflags/FI.png >> +share/teeworlds/data/countryflags/FJ.png >> +share/teeworlds/data/countryflags/FK.png >> +share/teeworlds/data/countryflags/FM.png >> +share/teeworlds/data/countryflags/FO.png >> +share/teeworlds/data/countryflags/FR.png >> +share/teeworlds/data/countryflags/GA.png >> +share/teeworlds/data/countryflags/GB.png >> +share/teeworlds/data/countryflags/GD.png >> +share/teeworlds/data/countryflags/GE.png >> +share/teeworlds/data/countryflags/GF.png >> +share/teeworlds/data/countryflags/GG.png >> +share/teeworlds/data/countryflags/GH.png >> +share/teeworlds/data/countryflags/GI.png >> +share/teeworlds/data/countryflags/GL.png >> +share/teeworlds/data/countryflags/GM.png >> +share/teeworlds/data/countryflags/GN.png >> +share/teeworlds/data/countryflags/GP.png >> +share/teeworlds/data/countryflags/GQ.png >> +share/teeworlds/data/countryflags/GR.png >> +share/teeworlds/data/countryflags/GS.png >> +share/teeworlds/data/countryflags/GT.png >> +share/teeworlds/data/countryflags/GU.png >> +share/teeworlds/data/countryflags/GW.png >> +share/teeworlds/data/countryflags/GY.png >> +share/teeworlds/data/countryflags/HK.png >> +share/teeworlds/data/countryflags/HN.png >> +share/teeworlds/data/countryflags/HR.png >> +share/teeworlds/data/countryflags/HT.png >> +share/teeworlds/data/countryflags/HU.png >> +share/teeworlds/data/countryflags/ID.png >> +share/teeworlds/data/countryflags/IE.png >> +share/teeworlds/data/countryflags/IL.png >> +share/teeworlds/data/countryflags/IM.png >> +share/teeworlds/data/countryflags/IN.png >> +share/teeworlds/data/countryflags/IO.png >> +share/teeworlds/data/countryflags/IQ.png >> +share/teeworlds/data/countryflags/IR.png >> +share/teeworlds/data/countryflags/IS.png >> +share/teeworlds/data/countryflags/IT.png >> +share/teeworlds/data/countryflags/JE.png >> +share/teeworlds/data/countryflags/JM.png >> +share/teeworlds/data/countryflags/JO.png >> +share/teeworlds/data/countryflags/JP.png >> +share/teeworlds/data/countryflags/KE.png >> +share/teeworlds/data/countryflags/KG.png >> +share/teeworlds/data/countryflags/KH.png >> +share/teeworlds/data/countryflags/KI.png >> +share/teeworlds/data/countryflags/KM.png >> +share/teeworlds/data/countryflags/KN.png >> +share/teeworlds/data/countryflags/KP.png >> +share/teeworlds/data/countryflags/KR.png >> +share/teeworlds/data/countryflags/KW.png >> +share/teeworlds/data/countryflags/KY.png >> +share/teeworlds/data/countryflags/KZ.png >> +share/teeworlds/data/countryflags/LA.png >> +share/teeworlds/data/countryflags/LB.png >> +share/teeworlds/data/countryflags/LC.png >> +share/teeworlds/data/countryflags/LI.png >> +share/teeworlds/data/countryflags/LK.png >> +share/teeworlds/data/countryflags/LR.png >> +share/teeworlds/data/countryflags/LS.png >> +share/teeworlds/data/countryflags/LT.png >> +share/teeworlds/data/countryflags/LU.png >> +share/teeworlds/data/countryflags/LV.png >> +share/teeworlds/data/countryflags/LY.png >> +share/teeworlds/data/countryflags/MA.png >> +share/teeworlds/data/countryflags/MC.png >> +share/teeworlds/data/countryflags/MD.png >> +share/teeworlds/data/countryflags/ME.png >> +share/teeworlds/data/countryflags/MF.png >> +share/teeworlds/data/countryflags/MG.png >> +share/teeworlds/data/countryflags/MH.png >> +share/teeworlds/data/countryflags/MK.png >> +share/teeworlds/data/countryflags/ML.png >> +share/teeworlds/data/countryflags/MM.png >> +share/teeworlds/data/countryflags/MN.png >> +share/teeworlds/data/countryflags/MO.png >> +share/teeworlds/data/countryflags/MP.png >> +share/teeworlds/data/countryflags/MQ.png >> +share/teeworlds/data/countryflags/MR.png >> +share/teeworlds/data/countryflags/MS.png >> +share/teeworlds/data/countryflags/MT.png >> +share/teeworlds/data/countryflags/MU.png >> +share/teeworlds/data/countryflags/MV.png >> +share/teeworlds/data/countryflags/MW.png >> +share/teeworlds/data/countryflags/MX.png >> +share/teeworlds/data/countryflags/MY.png >> +share/teeworlds/data/countryflags/MZ.png >> +share/teeworlds/data/countryflags/NA.png >> +share/teeworlds/data/countryflags/NC.png >> +share/teeworlds/data/countryflags/NE.png >> +share/teeworlds/data/countryflags/NF.png >> +share/teeworlds/data/countryflags/NG.png >> +share/teeworlds/data/countryflags/NI.png >> +share/teeworlds/data/countryflags/NL.png >> +share/teeworlds/data/countryflags/NO.png >> +share/teeworlds/data/countryflags/NP.png >> +share/teeworlds/data/countryflags/NR.png >> +share/teeworlds/data/countryflags/NU.png >> +share/teeworlds/data/countryflags/NZ.png >> +share/teeworlds/data/countryflags/OM.png >> +share/teeworlds/data/countryflags/PA.png >> +share/teeworlds/data/countryflags/PE.png >> +share/teeworlds/data/countryflags/PF.png >> +share/teeworlds/data/countryflags/PG.png >> +share/teeworlds/data/countryflags/PH.png >> +share/teeworlds/data/countryflags/PK.png >> +share/teeworlds/data/countryflags/PL.png >> +share/teeworlds/data/countryflags/PM.png >> +share/teeworlds/data/countryflags/PN.png >> +share/teeworlds/data/countryflags/PR.png >> +share/teeworlds/data/countryflags/PT.png >> +share/teeworlds/data/countryflags/PW.png >> +share/teeworlds/data/countryflags/PY.png >> +share/teeworlds/data/countryflags/QA.png >> +share/teeworlds/data/countryflags/RE.png >> +share/teeworlds/data/countryflags/RO.png >> +share/teeworlds/data/countryflags/RS.png >> +share/teeworlds/data/countryflags/RU.png >> +share/teeworlds/data/countryflags/RW.png >> +share/teeworlds/data/countryflags/SA.png >> +share/teeworlds/data/countryflags/SB.png >> +share/teeworlds/data/countryflags/SC.png >> +share/teeworlds/data/countryflags/SD.png >> +share/teeworlds/data/countryflags/SE.png >> +share/teeworlds/data/countryflags/SG.png >> +share/teeworlds/data/countryflags/SH.png >> +share/teeworlds/data/countryflags/SI.png >> +share/teeworlds/data/countryflags/SK.png >> +share/teeworlds/data/countryflags/SL.png >> +share/teeworlds/data/countryflags/SM.png >> +share/teeworlds/data/countryflags/SN.png >> +share/teeworlds/data/countryflags/SO.png >> +share/teeworlds/data/countryflags/SR.png >> +share/teeworlds/data/countryflags/SS.png >> +share/teeworlds/data/countryflags/ST.png >> +share/teeworlds/data/countryflags/SV.png >> +share/teeworlds/data/countryflags/SX.png >> +share/teeworlds/data/countryflags/SY.png >> +share/teeworlds/data/countryflags/SZ.png >> +share/teeworlds/data/countryflags/TC.png >> +share/teeworlds/data/countryflags/TD.png >> +share/teeworlds/data/countryflags/TF.png >> +share/teeworlds/data/countryflags/TG.png >> +share/teeworlds/data/countryflags/TH.png >> +share/teeworlds/data/countryflags/TJ.png >> +share/teeworlds/data/countryflags/TK.png >> +share/teeworlds/data/countryflags/TL.png >> +share/teeworlds/data/countryflags/TM.png >> +share/teeworlds/data/countryflags/TN.png >> +share/teeworlds/data/countryflags/TO.png >> +share/teeworlds/data/countryflags/TR.png >> +share/teeworlds/data/countryflags/TT.png >> +share/teeworlds/data/countryflags/TV.png >> +share/teeworlds/data/countryflags/TW.png >> +share/teeworlds/data/countryflags/TZ.png >> +share/teeworlds/data/countryflags/UA.png >> +share/teeworlds/data/countryflags/UG.png >> +share/teeworlds/data/countryflags/US.png >> +share/teeworlds/data/countryflags/UY.png >> +share/teeworlds/data/countryflags/UZ.png >> +share/teeworlds/data/countryflags/VA.png >> +share/teeworlds/data/countryflags/VC.png >> +share/teeworlds/data/countryflags/VE.png >> +share/teeworlds/data/countryflags/VG.png >> +share/teeworlds/data/countryflags/VI.png >> +share/teeworlds/data/countryflags/VN.png >> +share/teeworlds/data/countryflags/VU.png >> +share/teeworlds/data/countryflags/WF.png >> +share/teeworlds/data/countryflags/WS.png >> +share/teeworlds/data/countryflags/XEN.png >> +share/teeworlds/data/countryflags/XNI.png >> +share/teeworlds/data/countryflags/XSC.png >> +share/teeworlds/data/countryflags/XWA.png >> +share/teeworlds/data/countryflags/YE.png >> +share/teeworlds/data/countryflags/ZA.png >> +share/teeworlds/data/countryflags/ZM.png >> +share/teeworlds/data/countryflags/ZW.png >> +share/teeworlds/data/countryflags/default.png >> +share/teeworlds/data/countryflags/index.txt >> share/teeworlds/data/debug_font.png >> +share/teeworlds/data/demo_buttons.png >> share/teeworlds/data/editor/ >> share/teeworlds/data/editor/background.png >> share/teeworlds/data/editor/checker.png >> share/teeworlds/data/editor/cursor.png >> +share/teeworlds/data/editor/desert_main.rules >> share/teeworlds/data/editor/entities.png >> +share/teeworlds/data/editor/grass_main.rules >> +share/teeworlds/data/editor/jungle_main.rules >> +share/teeworlds/data/editor/winter_main.rules >> share/teeworlds/data/emoticons.png >> -share/teeworlds/data/fonts/ >> -share/teeworlds/data/fonts/default_font10.png >> -share/teeworlds/data/fonts/default_font10.tfnt >> -share/teeworlds/data/fonts/default_font10_b.png >> -share/teeworlds/data/fonts/default_font11.png >> -share/teeworlds/data/fonts/default_font11.tfnt >> -share/teeworlds/data/fonts/default_font11_b.png >> -share/teeworlds/data/fonts/default_font12.png >> -share/teeworlds/data/fonts/default_font12.tfnt >> -share/teeworlds/data/fonts/default_font12_b.png >> -share/teeworlds/data/fonts/default_font13.png >> -share/teeworlds/data/fonts/default_font13.tfnt >> -share/teeworlds/data/fonts/default_font13_b.png >> -share/teeworlds/data/fonts/default_font14.png >> -share/teeworlds/data/fonts/default_font14.tfnt >> -share/teeworlds/data/fonts/default_font14_b.png >> -share/teeworlds/data/fonts/default_font15.png >> -share/teeworlds/data/fonts/default_font15.tfnt >> -share/teeworlds/data/fonts/default_font15_b.png >> -share/teeworlds/data/fonts/default_font16.png >> -share/teeworlds/data/fonts/default_font16.tfnt >> -share/teeworlds/data/fonts/default_font16_b.png >> -share/teeworlds/data/fonts/default_font17.png >> -share/teeworlds/data/fonts/default_font17.tfnt >> -share/teeworlds/data/fonts/default_font17_b.png >> -share/teeworlds/data/fonts/default_font18.png >> -share/teeworlds/data/fonts/default_font18.tfnt >> -share/teeworlds/data/fonts/default_font18_b.png >> -share/teeworlds/data/fonts/default_font19.png >> -share/teeworlds/data/fonts/default_font19.tfnt >> -share/teeworlds/data/fonts/default_font19_b.png >> -share/teeworlds/data/fonts/default_font20.png >> -share/teeworlds/data/fonts/default_font20.tfnt >> -share/teeworlds/data/fonts/default_font20_b.png >> -share/teeworlds/data/fonts/default_font36.png >> -share/teeworlds/data/fonts/default_font36.tfnt >> -share/teeworlds/data/fonts/default_font36_b.png >> -share/teeworlds/data/fonts/default_font8.png >> -share/teeworlds/data/fonts/default_font8.tfnt >> -share/teeworlds/data/fonts/default_font8_b.png >> -share/teeworlds/data/fonts/default_font9.png >> -share/teeworlds/data/fonts/default_font9.tfnt >> -share/teeworlds/data/fonts/default_font9_b.png >> +share/teeworlds/data/file_icons.png >> share/teeworlds/data/game.png >> +share/teeworlds/data/gui_buttons.png >> share/teeworlds/data/gui_cursor.png >> +share/teeworlds/data/gui_icons.png >> share/teeworlds/data/gui_logo.png >> +share/teeworlds/data/languages/ >> +share/teeworlds/data/languages/belarusian.txt >> +share/teeworlds/data/languages/bosnian.txt >> +share/teeworlds/data/languages/brazilian_portuguese.txt >> +share/teeworlds/data/languages/bulgarian.txt >> +share/teeworlds/data/languages/czech.txt >> +share/teeworlds/data/languages/danish.txt >> +share/teeworlds/data/languages/dutch.txt >> +share/teeworlds/data/languages/finnish.txt >> +share/teeworlds/data/languages/french.txt >> +share/teeworlds/data/languages/german.txt >> +share/teeworlds/data/languages/hungarian.txt >> +share/teeworlds/data/languages/index.txt >> +share/teeworlds/data/languages/italian.txt >> +share/teeworlds/data/languages/kyrgyz.txt >> +share/teeworlds/data/languages/norwegian.txt >> +share/teeworlds/data/languages/polish.txt >> +share/teeworlds/data/languages/portuguese.txt >> +share/teeworlds/data/languages/romanian.txt >> +share/teeworlds/data/languages/russian.txt >> +share/teeworlds/data/languages/serbian.txt >> +share/teeworlds/data/languages/slovak.txt >> +share/teeworlds/data/languages/spanish.txt >> +share/teeworlds/data/languages/swedish.txt >> +share/teeworlds/data/languages/turkish.txt >> +share/teeworlds/data/languages/ukrainian.txt >> share/teeworlds/data/mapres/ >> share/teeworlds/data/mapres/bg_cloud1.png >> share/teeworlds/data/mapres/bg_cloud2.png >> share/teeworlds/data/mapres/bg_cloud3.png >> +share/teeworlds/data/mapres/desert_doodads.png >> share/teeworlds/data/mapres/desert_main.png >> share/teeworlds/data/mapres/desert_mountains.png >> +share/teeworlds/data/mapres/desert_mountains2.png >> share/teeworlds/data/mapres/desert_sun.png >> +share/teeworlds/data/mapres/generic_deathtiles.png >> share/teeworlds/data/mapres/generic_unhookable.png >> share/teeworlds/data/mapres/grass_doodads.png >> share/teeworlds/data/mapres/grass_main.png >> +share/teeworlds/data/mapres/jungle_background.png >> +share/teeworlds/data/mapres/jungle_deathtiles.png >> share/teeworlds/data/mapres/jungle_doodads.png >> share/teeworlds/data/mapres/jungle_main.png >> -share/teeworlds/data/mapres/jungle_night.png >> -share/teeworlds/data/mapres/jungle_night2.png >> +share/teeworlds/data/mapres/jungle_midground.png >> +share/teeworlds/data/mapres/jungle_unhookables.png >> share/teeworlds/data/mapres/moon.png >> share/teeworlds/data/mapres/mountains.png >> share/teeworlds/data/mapres/snow.png >> @@ -211,12 +457,17 @@ share/teeworlds/data/mapres/stars.png >> share/teeworlds/data/mapres/sun.png >> share/teeworlds/data/mapres/winter_doodads.png >> share/teeworlds/data/mapres/winter_main.png >> +share/teeworlds/data/mapres/winter_mountains.png >> +share/teeworlds/data/mapres/winter_mountains2.png >> +share/teeworlds/data/mapres/winter_mountains3.png >> share/teeworlds/data/maps/ >> share/teeworlds/data/maps/ctf1.map >> share/teeworlds/data/maps/ctf2.map >> share/teeworlds/data/maps/ctf3.map >> share/teeworlds/data/maps/ctf4.map >> share/teeworlds/data/maps/ctf5.map >> +share/teeworlds/data/maps/ctf6.map >> +share/teeworlds/data/maps/ctf7.map >> share/teeworlds/data/maps/dm1.map >> share/teeworlds/data/maps/dm2.map >> share/teeworlds/data/maps/dm6.map >> >> >