Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37560513
en ru br
Репозитории ALT
S:0.7.5-alt2
5.1: 0.5.1-alt1
www.altlinux.org/Changes

Группа :: Игры/Аркады
Пакет: teeworlds

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: teeworlds-0.5.1-extlibs.patch
Скачать


diff -Naur teeworlds-0.5.1-src.orig/default.bam teeworlds-0.5.1-src/default.bam
--- teeworlds-0.5.1-src.orig/default.bam	2009-01-25 14:50:33.000000000 +0100
+++ teeworlds-0.5.1-src/default.bam	2009-03-09 12:48:10.000000000 +0100
@@ -7,6 +7,8 @@
 config:Add(OptFindCompiler())
 config:Add(OptTestCompileC("stackprotector", "int main(){return 0;}", "-fstack-protector -fstack-protector-all"))
 config:Add(OptFindLibrary("zlib", "zlib.h", false))
+config:Add(OptFindLibrary("wavpack", "wavpack/wavpack.h", false))
+config:Add(OptFindLibrary("pnglite", "sys/types.h", false))
 config:Add(SDL.OptFind("sdl", true))
 config:Finalize("config.bam")
 
@@ -151,8 +153,29 @@
 	end
 
 	-- build the small libraries
-	wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
-	pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
+	-- compile wavpack if needed
+	if config.wavpack.value == 1 then
+		settings.link.libs:Add("wavpack")
+		if config.wavpack.include_path then
+			settings.cc.includes:Add(config.wavpack.include_path)
+		end
+		wavpack = {}
+	else
+		wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
+		settings.cc.includes:Add("src/engine/external")
+	end
+
+	-- compile pnglite if needed
+	if config.pnglite.value == 1 then
+		settings.link.libs:Add("pnglite")
+		if config.pnglite.include_path then
+			settings.cc.includes:Add(config.pnglite.include_path)
+		end
+		pnglite = {}
+	else
+		pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
+		settings.cc.includes:Add("src/engine/external/pnglite")
+	end
 	
 	-- build game components
 	engine_settings = settings:Copy()
diff -Naur teeworlds-0.5.1-src.orig/src/engine/client/ec_gfx.c teeworlds-0.5.1-src/src/engine/client/ec_gfx.c
--- teeworlds-0.5.1-src.orig/src/engine/client/ec_gfx.c	2009-01-25 14:50:33.000000000 +0100
+++ teeworlds-0.5.1-src/src/engine/client/ec_gfx.c	2009-03-09 12:48:39.000000000 +0100
@@ -18,7 +18,7 @@
 #endif
 
 #include <base/system.h>
-#include <engine/external/pnglite/pnglite.h>
+#include <pnglite.h>
 
 #include <engine/e_client_interface.h>
 #include <engine/e_engine.h>
diff -Naur teeworlds-0.5.1-src.orig/src/engine/client/ec_snd.c teeworlds-0.5.1-src/src/engine/client/ec_snd.c
--- teeworlds-0.5.1-src.orig/src/engine/client/ec_snd.c	2009-01-25 14:50:33.000000000 +0100
+++ teeworlds-0.5.1-src/src/engine/client/ec_snd.c	2009-03-09 12:55:19.000000000 +0100
@@ -6,7 +6,7 @@
 
 #include "SDL.h"
 
-#include <engine/external/wavpack/wavpack.h>
+#include <wavpack/wavpack.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
@@ -358,19 +358,12 @@
 	snd->num_frames = num_frames;
 }
 
-
-static IOHANDLE file = NULL;
-
-static int read_data(void *buffer, int size)
-{
-	return io_read(file, buffer, size);
-}
-
 int snd_load_wv(const char *filename)
 {
 	SAMPLE *snd;
 	int sid = -1;
 	char error[100];
+	char completefilename[512];
 	WavpackContext *context;
 	
 	/* don't waste memory on sound when we are stress testing */
@@ -381,19 +374,13 @@
 	if(!sound_enabled)
 		return 1;
 
-	file = engine_openfile(filename, IOFLAG_READ); /* TODO: use system.h stuff for this */
-	if(!file)
-	{
-		dbg_msg("sound/wv", "failed to open %s", filename);
-		return -1;
-	}
-
 	sid = snd_alloc_id();
 	if(sid < 0)
 		return -1;
 	snd = &samples[sid];
 
-	context = WavpackOpenFileInput(read_data, error);
+	engine_getpath(completefilename, sizeof(completefilename), filename, IOFLAG_READ);
+	context = WavpackOpenFileInput(completefilename, error, 0, 0);
 	if (context)
 	{
 		int samples = WavpackGetNumSamples(context);
@@ -410,7 +397,7 @@
 
 		if(snd->channels > 2)
 		{
-			dbg_msg("sound/wv", "file is not mono or stereo. filename='%s'", filename);
+			dbg_msg("sound/wv", "failed to open %s: %s", completefilename, error);
 			return -1;
 		}
 
@@ -448,9 +435,6 @@
 		dbg_msg("sound/wv", "failed to open %s: %s", filename, error);
 	}
 
-	io_close(file);
-	file = NULL;
-
 	if(config.debug)
 		dbg_msg("sound/wv", "loaded %s", filename);
 
diff -Naur teeworlds-0.5.1-src.orig/src/tools/dilate.c teeworlds-0.5.1-src/src/tools/dilate.c
--- teeworlds-0.5.1-src.orig/src/tools/dilate.c	2009-01-25 14:50:33.000000000 +0100
+++ teeworlds-0.5.1-src/src/tools/dilate.c	2009-03-09 12:56:50.000000000 +0100
@@ -1,6 +1,9 @@
 /* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
 
-#include "../engine/external/pnglite/pnglite.c"
+#include <sys/types.h>
+#include <string.h>
+#include <stdio.h>
+#include <pnglite.h>
 
 typedef struct pixel_t
 {
diff -Naur teeworlds-0.5.1-src.orig/src/tools/tileset_borderfix.c teeworlds-0.5.1-src/src/tools/tileset_borderfix.c
--- teeworlds-0.5.1-src.orig/src/tools/tileset_borderfix.c	2009-01-25 14:50:33.000000000 +0100
+++ teeworlds-0.5.1-src/src/tools/tileset_borderfix.c	2009-03-09 12:57:14.000000000 +0100
@@ -1,6 +1,9 @@
 /* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
 
-#include "../engine/external/pnglite/pnglite.c"
+#include <sys/types.h>
+#include <string.h>
+#include <stdio.h>
+#include <pnglite.h>
 
 typedef struct pixel_t
 {
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin