Gentoo Archives: gentoo-commits

From: "Azamat H. Hackimov" <winterheart@××××××.ru>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gamerlay:master commit in: games-action/teeworlds/files/, games-action/teeworlds/
Date: Tue, 26 Apr 2011 10:25:15
Message-Id: 3c42289e889f9406b82f9201ccc16ece7506eb3f.winterheart@gentoo
1 commit: 3c42289e889f9406b82f9201ccc16ece7506eb3f
2 Author: Azamat H. Hackimov <azamat.hackimov <AT> gmail <DOT> com>
3 AuthorDate: Tue Apr 26 10:24:57 2011 +0000
4 Commit: Azamat H. Hackimov <winterheart <AT> gentoo <DOT> ru>
5 CommitDate: Tue Apr 26 10:24:57 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gamerlay.git;a=commit;h=3c42289e
7
8 [games-action/teeworlds] teeworlds 0.6.0 from #363395
9
10 (Portage version: 2.1.9.42/git/Linux x86_64, RepoMan options: --force, unsigned Manifest commit)
11
12 ---
13 .../teeworlds-0.6.0-001-use-system-wavpack.patch | 105 +++++++++
14 ...lds-0.6.0-002-fixed-wavpack-sound-loading.patch | 110 ++++++++++
15 .../teeworlds-0.6.0-003-use-system-pnglite.patch | 113 ++++++++++
16 games-action/teeworlds/files/teeworlds.xpm | 229 ++++++++++++++++++++
17 games-action/teeworlds/metadata.xml | 15 ++
18 games-action/teeworlds/teeworlds-0.6.0.ebuild | 93 ++++++++
19 6 files changed, 665 insertions(+), 0 deletions(-)
20
21 diff --git a/games-action/teeworlds/files/teeworlds-0.6.0-001-use-system-wavpack.patch b/games-action/teeworlds/files/teeworlds-0.6.0-001-use-system-wavpack.patch
22 new file mode 100644
23 index 0000000..4391172
24 --- /dev/null
25 +++ b/games-action/teeworlds/files/teeworlds-0.6.0-001-use-system-wavpack.patch
26 @@ -0,0 +1,105 @@
27 +From 5c5171d2de5f4d3b7926f16faa70b16ccf434c86 Mon Sep 17 00:00:00 2001
28 +From: xalduin <xalduin@×××××.com>
29 +Date: Sat, 12 Feb 2011 22:22:02 -0500
30 +Subject: [PATCH 1/3] Will now use system wavpack and zlib libraries if available when
31 + compiling
32 +
33 +---
34 + bam.lua | 15 +++++++++++++--
35 + src/engine/client/sound.cpp | 10 +++++++++-
36 + 2 files changed, 22 insertions(+), 3 deletions(-)
37 +
38 +diff --git a/bam.lua b/bam.lua
39 +index 0c953e8..ade4ae4 100644
40 +--- a/bam.lua
41 ++++ b/bam.lua
42 +@@ -9,6 +9,7 @@ config = NewConfig()
43 + config:Add(OptCCompiler("compiler"))
44 + config:Add(OptTestCompileC("stackprotector", "int main(){return 0;}", "-fstack-protector -fstack-protector-all"))
45 + config:Add(OptLibrary("zlib", "zlib.h", false))
46 ++config:Add(OptLibrary("wavpack", "wavpack/wavpack.h", false))
47 + config:Add(SDL.OptFind("sdl", true))
48 + config:Add(FreeType.OptFind("freetype", true))
49 + config:Finalize("config.lua")
50 +@@ -165,7 +166,7 @@ function build(settings)
51 + end
52 +
53 + -- compile zlib if needed
54 +- if config.zlib.value == 1 then
55 ++ if config.zlib.value == true then
56 + settings.link.libs:Add("z")
57 + if config.zlib.include_path then
58 + settings.cc.includes:Add(config.zlib.include_path)
59 +@@ -176,8 +177,18 @@ function build(settings)
60 + settings.cc.includes:Add("src/engine/external/zlib")
61 + end
62 +
63 ++ if config.wavpack.value == true then
64 ++ settings.link.libs:Add("wavpack")
65 ++ if config.wavpack.include_path then
66 ++ settings.cc.includes:Add(config.wavpack.include_path)
67 ++ end
68 ++ wavpack = {}
69 ++ else
70 ++ wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
71 ++ settings.cc.includes:Add("src/engine/external/") --The header is wavpack/wavpack.h so include the external folder
72 ++ end
73 ++
74 + -- build the small libraries
75 +- wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
76 + pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
77 +
78 + -- build game components
79 +diff --git a/src/engine/client/sound.cpp b/src/engine/client/sound.cpp
80 +index 55ca293..e38ad32 100644
81 +--- a/src/engine/client/sound.cpp
82 ++++ b/src/engine/client/sound.cpp
83 +@@ -10,7 +10,7 @@
84 + #include "sound.h"
85 +
86 + extern "C" { // wavpack
87 +- #include <engine/external/wavpack/wavpack.h>
88 ++ #include <wavpack/wavpack.h>
89 + }
90 + #include <math.h>
91 +
92 +@@ -328,19 +328,25 @@ int CSound::LoadWV(const char *pFilename)
93 + if(!m_pStorage)
94 + return -1;
95 +
96 ++ #ifndef WAVPACK_H
97 + ms_File = m_pStorage->OpenFile(pFilename, IOFLAG_READ, IStorage::TYPE_ALL);
98 + if(!ms_File)
99 + {
100 + dbg_msg("sound/wv", "failed to open file. filename='%s'", pFilename);
101 + return -1;
102 + }
103 ++ #endif
104 +
105 + SampleID = AllocID();
106 + if(SampleID < 0)
107 + return -1;
108 + pSample = &m_aSamples[SampleID];
109 +
110 ++ #ifndef WAVPACK_H
111 + pContext = WavpackOpenFileInput(ReadData, aError);
112 ++ #else
113 ++ pContext = WavpackOpenFileInput(pFilename, aError, 0, 0);
114 ++ #endif
115 + if (pContext)
116 + {
117 + int m_aSamples = WavpackGetNumSamples(pContext);
118 +@@ -395,8 +401,10 @@ int CSound::LoadWV(const char *pFilename)
119 + dbg_msg("sound/wv", "failed to open %s: %s", pFilename, aError);
120 + }
121 +
122 ++ #ifndef WAVPACK_H
123 + io_close(ms_File);
124 + ms_File = NULL;
125 ++ #endif
126 +
127 + if(g_Config.m_Debug)
128 + dbg_msg("sound/wv", "loaded %s", pFilename);
129 +--
130 +1.7.3.4
131 +
132
133 diff --git a/games-action/teeworlds/files/teeworlds-0.6.0-002-fixed-wavpack-sound-loading.patch b/games-action/teeworlds/files/teeworlds-0.6.0-002-fixed-wavpack-sound-loading.patch
134 new file mode 100644
135 index 0000000..206bc6a
136 --- /dev/null
137 +++ b/games-action/teeworlds/files/teeworlds-0.6.0-002-fixed-wavpack-sound-loading.patch
138 @@ -0,0 +1,110 @@
139 +From 5a5322491704c14f5aed72148db6b134484cedec Mon Sep 17 00:00:00 2001
140 +From: xalduin <xalduin@×××××.com>
141 +Date: Sat, 12 Feb 2011 23:58:55 -0500
142 +Subject: [PATCH 2/3] Fixed wavpack sound loading
143 +
144 +---
145 + src/engine/client/sound.cpp | 56 ++++++++++++++++++++++++++++++++++++++----
146 + 1 files changed, 50 insertions(+), 6 deletions(-)
147 +
148 +diff --git a/src/engine/client/sound.cpp b/src/engine/client/sound.cpp
149 +index e38ad32..6101602 100644
150 +--- a/src/engine/client/sound.cpp
151 ++++ b/src/engine/client/sound.cpp
152 +@@ -49,6 +49,54 @@ struct CVoice
153 + int m_X, m_Y;
154 + } ;
155 +
156 ++#ifdef WAVPACK_H
157 ++static int32_t ReadBytes(void *pFile, void *pBuffer, int32_t Size)
158 ++{
159 ++ return (int32_t)io_read((IOHANDLE)pFile, pBuffer, Size);
160 ++}
161 ++static uint32_t GetPos(void *pFile)
162 ++{
163 ++ return (uint32_t)io_tell((IOHANDLE)pFile);
164 ++}
165 ++static int SetPosAbs(void *pFile, uint32_t Offset)
166 ++{
167 ++ return io_seek((IOHANDLE)pFile, Offset, IOSEEK_START);
168 ++}
169 ++static int SetPosRel(void *pFile, int32_t Offset, int Mode)
170 ++{
171 ++ switch(Mode)
172 ++ {
173 ++ case SEEK_SET:
174 ++ Mode = IOSEEK_START;
175 ++ break;
176 ++ case SEEK_CUR:
177 ++ Mode = IOSEEK_CUR;
178 ++ break;
179 ++ case SEEK_END:
180 ++ Mode = IOSEEK_END;
181 ++ }
182 ++ return io_seek((IOHANDLE)pFile, Offset, Mode);
183 ++}
184 ++
185 ++//TODO: Fix if 'real' functionality is needed by the wavpack header
186 ++static int PushBackByte(void *pFile, int Char)
187 ++{
188 ++ return io_seek((IOHANDLE)pFile, -1, IOSEEK_CUR);
189 ++}
190 ++static uint32_t GetLength(void *pFile)
191 ++{
192 ++ return (uint32_t)io_length((IOHANDLE)pFile);
193 ++}
194 ++// Essentially assuming this to always be true, should fix if this isn't the case
195 ++static int CanSeek(void *pFile)
196 ++{
197 ++ return pFile != NULL;
198 ++}
199 ++static WavpackStreamReader CWavpackReader = {
200 ++ ReadBytes, GetPos, SetPosAbs, SetPosRel, PushBackByte, GetLength, CanSeek, 0
201 ++};
202 ++#endif
203 ++
204 + static CSample m_aSamples[NUM_SAMPLES] = { {0} };
205 + static CVoice m_aVoices[NUM_VOICES] = { {0} };
206 + static CChannel m_aChannels[NUM_CHANNELS] = { {255, 0} };
207 +@@ -328,14 +376,12 @@ int CSound::LoadWV(const char *pFilename)
208 + if(!m_pStorage)
209 + return -1;
210 +
211 +- #ifndef WAVPACK_H
212 + ms_File = m_pStorage->OpenFile(pFilename, IOFLAG_READ, IStorage::TYPE_ALL);
213 + if(!ms_File)
214 + {
215 + dbg_msg("sound/wv", "failed to open file. filename='%s'", pFilename);
216 + return -1;
217 + }
218 +- #endif
219 +
220 + SampleID = AllocID();
221 + if(SampleID < 0)
222 +@@ -345,7 +391,7 @@ int CSound::LoadWV(const char *pFilename)
223 + #ifndef WAVPACK_H
224 + pContext = WavpackOpenFileInput(ReadData, aError);
225 + #else
226 +- pContext = WavpackOpenFileInput(pFilename, aError, 0, 0);
227 ++ pContext = WavpackOpenFileInputEx(&CWavpackReader, ms_File, 0, aError, 0, 0);
228 + #endif
229 + if (pContext)
230 + {
231 +@@ -398,13 +444,11 @@ int CSound::LoadWV(const char *pFilename)
232 + }
233 + else
234 + {
235 +- dbg_msg("sound/wv", "failed to open %s: %s", pFilename, aError);
236 ++ dbg_msg("sound/wv", "failed to open '%s': %s", pFilename, aError);
237 + }
238 +
239 +- #ifndef WAVPACK_H
240 + io_close(ms_File);
241 + ms_File = NULL;
242 +- #endif
243 +
244 + if(g_Config.m_Debug)
245 + dbg_msg("sound/wv", "loaded %s", pFilename);
246 +--
247 +1.7.3.4
248 +
249
250 diff --git a/games-action/teeworlds/files/teeworlds-0.6.0-003-use-system-pnglite.patch b/games-action/teeworlds/files/teeworlds-0.6.0-003-use-system-pnglite.patch
251 new file mode 100644
252 index 0000000..5da5c50
253 --- /dev/null
254 +++ b/games-action/teeworlds/files/teeworlds-0.6.0-003-use-system-pnglite.patch
255 @@ -0,0 +1,113 @@
256 +From f4d073f439d50f49055ab75f0f1242b124f9aba2 Mon Sep 17 00:00:00 2001
257 +From: Bruno Tarquini <btarquini@×××××.com>
258 +Date: Tue, 12 Apr 2011 22:53:30 +0200
259 +Subject: [PATCH 3/3] use system pnglite if available. link only the client with pnglite and wavpack
260 +
261 +---
262 + bam.lua | 33 +++++++++++++++++++++------------
263 + src/engine/client/graphics.cpp | 2 +-
264 + src/tools/dilate.cpp | 2 +-
265 + src/tools/tileset_borderfix.cpp | 2 +-
266 + 4 files changed, 24 insertions(+), 15 deletions(-)
267 +
268 +diff --git a/bam.lua b/bam.lua
269 +index ade4ae4..c0c2211 100644
270 +--- a/bam.lua
271 ++++ b/bam.lua
272 +@@ -9,6 +9,7 @@ config = NewConfig()
273 + config:Add(OptCCompiler("compiler"))
274 + config:Add(OptTestCompileC("stackprotector", "int main(){return 0;}", "-fstack-protector -fstack-protector-all"))
275 + config:Add(OptLibrary("zlib", "zlib.h", false))
276 ++config:Add(OptLibrary("pnglite", "pnglite.h", false))
277 + config:Add(OptLibrary("wavpack", "wavpack/wavpack.h", false))
278 + config:Add(SDL.OptFind("sdl", true))
279 + config:Add(FreeType.OptFind("freetype", true))
280 +@@ -177,26 +178,34 @@ function build(settings)
281 + settings.cc.includes:Add("src/engine/external/zlib")
282 + end
283 +
284 ++ -- build game components
285 ++ engine_settings = settings:Copy()
286 ++ server_settings = engine_settings:Copy()
287 ++ client_settings = engine_settings:Copy()
288 ++ launcher_settings = engine_settings:Copy()
289 ++
290 ++ if config.pnglite.value == true then
291 ++ client_settings.link.libs:Add("pnglite")
292 ++ if config.pnglite.include_path then
293 ++ client_settings.cc.includes:Add(config.pnglite.include_path)
294 ++ end
295 ++ pnglite = {}
296 ++ else
297 ++ pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
298 ++ client_settings.cc.includes:Add("src/engine/external/pnglite")
299 ++ end
300 ++
301 + if config.wavpack.value == true then
302 +- settings.link.libs:Add("wavpack")
303 ++ client_settings.link.libs:Add("wavpack")
304 + if config.wavpack.include_path then
305 +- settings.cc.includes:Add(config.wavpack.include_path)
306 ++ client_settings.cc.includes:Add(config.wavpack.include_path)
307 + end
308 + wavpack = {}
309 + else
310 + wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
311 +- settings.cc.includes:Add("src/engine/external/") --The header is wavpack/wavpack.h so include the external folder
312 ++ client_settings.cc.includes:Add("src/engine/external/") --The header is wavpack/wavpack.h so include the external folder
313 + end
314 +
315 +- -- build the small libraries
316 +- pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
317 +-
318 +- -- build game components
319 +- engine_settings = settings:Copy()
320 +- server_settings = engine_settings:Copy()
321 +- client_settings = engine_settings:Copy()
322 +- launcher_settings = engine_settings:Copy()
323 +-
324 + if family == "unix" then
325 + if platform == "macosx" then
326 + client_settings.link.frameworks:Add("OpenGL")
327 +diff --git a/src/engine/client/graphics.cpp b/src/engine/client/graphics.cpp
328 +index 99f5e09..2c867ee 100644
329 +--- a/src/engine/client/graphics.cpp
330 ++++ b/src/engine/client/graphics.cpp
331 +@@ -19,7 +19,7 @@
332 + #endif
333 +
334 + #include <base/system.h>
335 +-#include <engine/external/pnglite/pnglite.h>
336 ++#include <pnglite.h>
337 +
338 + #include <engine/shared/config.h>
339 + #include <engine/graphics.h>
340 +diff --git a/src/tools/dilate.cpp b/src/tools/dilate.cpp
341 +index b1b60ac..b773ceb 100644
342 +--- a/src/tools/dilate.cpp
343 ++++ b/src/tools/dilate.cpp
344 +@@ -2,7 +2,7 @@
345 + /* If you are missing that file, acquire a complete release at teeworlds.com. */
346 + #include <base/system.h>
347 + #include <base/math.h>
348 +-#include <engine/external/pnglite/pnglite.h>
349 ++#include <pnglite.h>
350 +
351 + typedef struct
352 + {
353 +diff --git a/src/tools/tileset_borderfix.cpp b/src/tools/tileset_borderfix.cpp
354 +index d28e307..b060f0d 100644
355 +--- a/src/tools/tileset_borderfix.cpp
356 ++++ b/src/tools/tileset_borderfix.cpp
357 +@@ -2,7 +2,7 @@
358 + /* If you are missing that file, acquire a complete release at teeworlds.com. */
359 + #include <stdlib.h>
360 + #include <base/system.h>
361 +-#include <engine/external/pnglite/pnglite.h>
362 ++#include <pnglite.h>
363 +
364 + typedef struct
365 + {
366 +--
367 +1.7.3.4
368 +
369
370 diff --git a/games-action/teeworlds/files/teeworlds.xpm b/games-action/teeworlds/files/teeworlds.xpm
371 new file mode 100644
372 index 0000000..056b408
373 --- /dev/null
374 +++ b/games-action/teeworlds/files/teeworlds.xpm
375 @@ -0,0 +1,229 @@
376 +/* XPM */
377 +static char *teeworlds_2[] = {
378 +/* columns rows colors chars-per-pixel */
379 +"48 48 175 2 ",
380 +" c #015800F7003A",
381 +". c #094F067B0130",
382 +"X c #0CC509B203CC",
383 +"o c #0E8F0C8D0848",
384 +"O c #11FB0CC70303",
385 +"+ c #169610100202",
386 +"@ c #1ABB129202E3",
387 +"# c #151511110909",
388 +"$ c #1D1D17170A0A",
389 +"% c #1E1E18180E0E",
390 +"& c #21A216960283",
391 +"* c #248B19800505",
392 +"= c #2B211CA20360",
393 +"- c #24241E1E1111",
394 +"; c #292920200D0D",
395 +": c #345F23CE0404",
396 +"> c #3C3C28C20336",
397 +", c #353525250909",
398 +"< c #2BAC23A41394",
399 +"1 c #2B2B25251818",
400 +"2 c #36362B2B1414",
401 +"3 c #38382F2F1F1F",
402 +"4 c #3D3D31311A1A",
403 +"5 c #383831312222",
404 +"6 c #42422E2E0505",
405 +"7 c #464630300303",
406 +"8 c #4ACA32320202",
407 +"9 c #505036360202",
408 +"0 c #5C1C3D3D03C4",
409 +"q c #56563B3B0B0B",
410 +"w c #464637371B1B",
411 +"e c #424237372323",
412 +"r c #44C53BBC29AA",
413 +"t c #5CDD40400E0E",
414 +"y c #5C5C41411212",
415 +"u c #64E542C20404",
416 +"i c #6A6A46C70182",
417 +"p c #6D6D49490303",
418 +"a c #74744D4D0202",
419 +"s c #70704C4C0F0F",
420 +"d c #7E7E54540303",
421 +"f c #7DFE54540B0B",
422 +"g c #68684B4B1616",
423 +"h c #4D4D40402626",
424 +"j c #4D4D41412B2B",
425 +"k c #5F5F4B4B2323",
426 +"l c #515144442A2A",
427 +"z c #5C5C4C0C2BEC",
428 +"x c #5D5D4E4E3232",
429 +"c c #666654542E2E",
430 +"v c #6A6A59033636",
431 +"b c #6F6F5E5E3E3E",
432 +"n c #747461613D3D",
433 +"m c #747463E443C4",
434 +"M c #747465654949",
435 +"N c #808055550000",
436 +"B c #848458580101",
437 +"V c #8A8A5C5C0000",
438 +"C c #818156560A0A",
439 +"Z c #87875E5E1414",
440 +"A c #85855E5E1B1B",
441 +"S c #909060600101",
442 +"D c #9A9A66660000",
443 +"F c #961662E30A8B",
444 +"G c #898961611919",
445 +"H c #909061611010",
446 +"J c #9B9B6B6B1717",
447 +"K c #A8A86F6F0101",
448 +"L c #A0A06B6B0E0E",
449 +"P c #AC2C72720000",
450 +"I c #B7B77A7A0101",
451 +"U c #BDBD7D7D0000",
452 +"Y c #B5B576760909",
453 +"T c #A1A16F6F1919",
454 +"R c #A2A272721F1F",
455 +"E c #AAAA76761D1D",
456 +"W c #ABAB79FA1D9E",
457 +"Q c #B7B77A7A1111",
458 +"! c #A2A273732121",
459 +"~ c #ADAD7B7B2323",
460 +"^ c #B6B67F7F2121",
461 +"/ c #A1A17E7E3838",
462 +"( c #C0C07F7F0D0D",
463 +") c #83836DEE4343",
464 +"_ c #929278784444",
465 +"` c #828272725050",
466 +"' c #BDBD80801414",
467 +"] c #CF4F89090000",
468 +"[ c #C69382B50CDA",
469 +"{ c #C94985050E8F",
470 +"} c #D3D38C360000",
471 +"| c #D8D88F8F0000",
472 +" . c #C5C585051494",
473 +".. c #CB8B874710D1",
474 +"X. c #CEAC8A6813AD",
475 +"o. c #C7C788881919",
476 +"O. c #D18E8D4A16A7",
477 +"+. c #D3938F4F18B9",
478 +"@. c #D67792331B5E",
479 +"#. c #D9D995951E81",
480 +"$. c #E76799190000",
481 +"%. c #EBEB9BDB0000",
482 +"&. c #F574A2220000",
483 +"*. c #FC3BA6E60000",
484 +"=. c #FEFEA8B40027",
485 +"-. c #FE64AC450C3F",
486 +";. c #FEFEAEEE1292",
487 +":. c #FEFEB0B01717",
488 +">. c #FEFEB3331E1E",
489 +",. c #C3C38A8A24A5",
490 +"<. c #D4D492922020",
491 +"1. c #DB6997252076",
492 +"2. c #DDDD99A72278",
493 +"3. c #E18B9D4725F3",
494 +"4. c #E3639F4928A9",
495 +"5. c #E666A2342B06",
496 +"6. c #EA3FA5FB2E84",
497 +"7. c #FEFEB43321A2",
498 +"8. c #FEFEB7772B6B",
499 +"9. c #FEFEB8B82F2F",
500 +"0. c #EBEBA7A73086",
501 +"q. c #EE87AA433300",
502 +"w. c #F0F0ACAC3535",
503 +"e. c #EDEDB1B13B3B",
504 +"r. c #FEFEBABA348A",
505 +"t. c #FEFEBD563C09",
506 +"y. c #9E9E84844F4F",
507 +"u. c #9D9D86865656",
508 +"i. c #9D9D86865959",
509 +"p. c #B4338F0F43C4",
510 +"a. c #AEAE8F8F5353",
511 +"s. c #B0B095955D5D",
512 +"d. c #AFAF95956161",
513 +"f. c #AFAF99996A6A",
514 +"g. c #B5B599996262",
515 +"h. c #BEBEA0A06363",
516 +"j. c #C8C8A3A35A5A",
517 +"k. c #D3D3ABAB5B5B",
518 +"l. c #FEFEBF694298",
519 +"z. c #C0C0A2A26666",
520 +"x. c #CDCDAB00650F",
521 +"c. c #CCCCAD2D6CED",
522 +"v. c #DDDDB5B56666",
523 +"b. c #DBDBB7B76E6E",
524 +"n. c #C0C0AAAA7B7B",
525 +"m. c #CECEB1B17777",
526 +"M. c #D7D7B6B67575",
527 +"N. c #DD5DBABA7676",
528 +"B. c #DC86BCBC7C26",
529 +"V. c #EFEFBFBF6060",
530 +"C. c #FEFEC2974C77",
531 +"Z. c #FEFEC5455353",
532 +"A. c #FEDCC79A5A70",
533 +"S. c #FEFEC8FD5E17",
534 +"D. c #FEFECB01641F",
535 +"F. c #FEFECDBE6C01",
536 +"G. c #E7E7C0C07373",
537 +"H. c #EDEDC56F7474",
538 +"J. c #EA6AC5C57C7C",
539 +"K. c #EEEEC9C97D7D",
540 +"L. c #FEECCFAC71E0",
541 +"P. c #FEFED12E75C9",
542 +"I. c #FEF4D31E7BD7",
543 +"U. c #EEEECACA8080",
544 +"Y. c #FEE7D5DD83CB",
545 +"T. c #F5F5D1D18A8A",
546 +"R. c #FEFED7D7897D",
547 +"E. c #FEFED94C8DB2",
548 +"W. c #EBEBCDCD9191",
549 +"Q. c #F5F5D3D39090",
550 +"!. c #FEFEDB79940E",
551 +"~. c #FEE1DE039B6B",
552 +"^. c #FEFEDFDFA0F6",
553 +"/. c #FEFEE0E0A3A3",
554 +"(. c None",
555 +/* pixels */
556 +"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
557 +"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(. (.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
558 +"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(. o o X . o o (.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
559 +"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(. . X # c a.x.G.I.Y.J.c.s.v # X . (.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
560 +"(.(.(.(.(.(.(.(.(.(.(.(.(. X z j.L.I.I.I.Y.Y.Y.R.Y.R.E.R.c.v X (.(.(.(.(.(.(.(.(.(.(.(.(.",
561 +"(.(.(.(.(.(.(.(.(.(.(.(. O w k.L.L.I.I.I.Y.Y.Y.R.R.E.E.!.E.E.E.N.j X (.(.(.(.(.(.(.(.(.(.(.(.",
562 +"(.(.(.(.(.(.(.(.(.(. O W F.L.L.P.I.I.Y.Y.Y.R.E.E.E.!.!.!.!.!.E.E.g.o (.(.(.(.(.(.(.(.(.(.",
563 +"(.(.(.(.(.(.(.(.(. . @ } A.F.L.P.P.I.I.Y.Y.R.R.E.!.!.!.!.!.!.!.!.!.E.M.% . (.(.(.(.(.(.(.(.(.",
564 +"(.(.(.(.(.(.(.(.(. * %.7.F.F.L.L.I.I.Y.Y.Y.R.E.E.!.!.~.~.~.~.!.!.!.!.E.K.- (.(.(.(.(.(.(.(.(.",
565 +"(.(.(.(.(.(.(.(. O | =.C.F.F.L.P.I.I.I.Y.R.R.E.!.!.~.~.~.~.~.~.!.!.!.R.R.N.o (.(.(.(.(.(.(.(.",
566 +"(.(.(.(.(.(.(. O I =.=.D.F.L.L.P.I.Y.Y.Y.R.R.!.!.!.~.~.~././.~.~.!.!.!.E.Y.h.X (.(.(.(.(.(.(.",
567 +"(.(.(.(.(.(.(.X u =.=.;.F.F.L.L.P.I.I.Y.Y.E.E.!.!.~.~.~./././.~.~.!.!.E.E.R.Y.v . (.(.(.(.(.(.(.",
568 +"(.(.(.(.(.(. O $.=.=.>.D.F.F.P.P.I.I.Y.J.x j B.!.~.~.^.h.r M ^.~.!.!.E.E.R.Y.H.X (.(.(.(.(.(.",
569 +"(.(.(.(.(.(.X d =.=.=.8.F.F.L.L.P.I.I.Y.x 1 !.~.~.W.# M ~.!.!.!.E.Y.Y.Y.) X (.(.(.(.(.(.",
570 +"(.(.(.(.(. . $.=.=.=.t.D.F.F.L.L.I.I.Y.o B.!.~.f. 5 ~.!.!.E.R.R.Y.I.H.. (.(.(.(.(.",
571 +"(.(.(.(.(. > =.=.=.=.t.F.F.F.L.P.I.I.x. i.!.~.M o T.!.E.E.R.Y.Y.Y.I.4 (.(.(.(.(.",
572 +"(.(.(.(.(.O V =.=.=.=.r.D.D.F.L.L.P.I.y. b !.!.r m.!.R.R.Y.Y.Y.I.I._ X (.(.(.(.(.",
573 +"(.(.(.(. O | =.=.=.=.8.D.F.F.F.L.I.I.x. u.R.E.m T.E.R.R.Y.Y.I.I.I.v.X (.(.(.(.",
574 +"(.(.(.(. . &.=.=.=.=.>.D.F.F.F.L.I.P.I.X N.R.E.d. 3 E.R.R.Y.Y.Y.I.I.P.L. (.(.(.(.",
575 +"(.(.(.(. O =.=.=.=.=.-.D.D.F.F.F.L.L.L.z 1 Y.R.R.J.o ) R.Y.Y.Y.Y.I.I.P.P.P.O (.(.(.(.",
576 +"(.(.(.(. = =.=.=.=.=.=.C.D.D.F.F.L.P.P.H.z h b.Y.Y.Y.Y.h.e m Y.Y.Y.Y.I.I.I.I.L.L.F.< (.(.(.(.",
577 +"(.(.(.(. : =.=.=.=.=.=.8.D.D.F.F.L.L.L.P.I.I.I.I.Y.Y.Y.Y.Y.Y.Y.Y.Y.I.I.I.I.L.L.L.F.2 (.(.(.(.",
578 +"(.(.(.(. @ =.=.=.=.=.=.-.D.D.D.F.F.F.L.P.P.I.I.I.I.I.Y.I.Y.I.I.I.I.I.I.I.L.L.L.L.F.$ (.(.(.(.",
579 +"(.(.(.(. =.=.=.=.=.=.=.r.D.D.D.F.F.F.F.P.L.P.P.I.I.I.I.I.I.I.I.I.L.I.L.L.L.F.F.F.. (.(.(.(.",
580 +"(.(.(.(. O $.=.=.=.=.=.=.-.A.D.D.D.F.F.L.F.L.P.L.P.I.P.P.I.P.I.I.L.P.L.L.F.F.F.F.V. (.(.(.(.",
581 +"(.(.(.(. + P =.=.=.=.=.=.=.8.S.D.D.D.D.F.F.F.L.L.L.L.L.L.P.L.L.L.L.L.L.L.F.F.D.D.p.O (.(.(.(.",
582 +"(.(.(.(.(. 0 =.=.=.=.=.=.=.=.l.S.D.D.D.D.F.F.F.L.F.L.L.L.L.L.L.F.F.F.F.F.F.F.D.D.k (.(.(.(.(.",
583 +"(.(.(.(.(. X *.=.=.=.=.=.=.=.-.C.S.D.D.D.D.D.F.F.F.F.F.F.L.F.F.F.F.F.F.D.D.D.D.S.o (.(.(.(.(.",
584 +"(.(.(.(.(. O P =.=.=.=.=.=.=.=.-.C.S.S.D.D.D.D.D.F.D.F.F.F.D.F.F.D.D.D.D.D.D.S.p.O (.(.(.(.(.",
585 +"(.(.(.(.(.(. = *.=.=.=.=.=.=.=.=.-.l.A.S.S.S.D.D.D.D.D.D.D.D.D.D.D.D.D.S.S.A.S.- (.(.(.(.(.(.",
586 +"(.(.(.(.(.(. O D =.=.=.=.=.=.=.=.=.=.r.A.A.S.S.D.S.D.S.D.D.D.D.D.S.S.S.S.A.A./ X (.(.(.(.(.(.",
587 +"(.(.(.(.(.(.(. @ $.=.=.=.=.=.=.=.=.=.=.;.t.A.A.S.S.A.S.S.S.S.S.S.A.S.A.A.A.e.+ (.(.(.(.(.(.(.",
588 +"(.(.(.(.(.(.(.(.. > *.=.=.=.=.=.=.=.=.=.=.=.;.r.Z.S.A.A.A.A.A.A.A.A.A.Z.r.;.6 . (.(.(.(.(.(.(.",
589 +"(.(.(.(.(.(.(.(. O 9 N 8 > : = > i D ] =.=.=.=.=.;.8.r.t.C.C.t.9.7.;.-.=.p X (.(.(.(.(.(.(.(.",
590 +"(.(.(.(.(.(.(.(. O q J E W ,.~ A y * : K *.=.=.=.=.=.=.=.=.=.=.=.=.=.a O (.(.(.(.(.(.(.(.(.",
591 +"(.(.(.(.(.(.(. X F #.1.3.4.5.6.q.w.w.0.R , @ S =.=.=.=.=.=.=.=.=.=.&.8 * . . (.(.(.(.(.(.(.(.",
592 +"(.(.(.(.(.(. X Q +.@.#.3.4.4.6.w.w.w.0.6.4.E , 0 =.=.=.=.=.=.=.=.U = g 6.,.t X (.(.(.(.(.(.(.",
593 +"(.(.(.(.(.(.X C O.+.@.#.#.4.4.6.6.6.6.6.5.3.3.<.> i =.=.=.=.=.] 6 * ! 6.5.5.3.Z O X (.(.(.(.(.(.",
594 +"(.(.(.(.(. . Q { O.+.#.#.3.3.4.5.5.5.4.3.3.2.#.o.X %.=.| B : @ G 4.5.5.3.3.2.#.s = (.(.(.(.(.(.",
595 +"(.(.(.(.(. . [ { O.O.+.#.#.2.3.3.3.4.3.2.2.#.@.+.: & O @ q R 2.3.3.3.3.2.2.#.#. .. (.(.(.(.(.",
596 +"(.(.(.(.(. Y [ { X.O.@.@.#.#.2.2.2.#.#.#.@.+.X.= C Q +.@.#.#.1.2.2.2.#.#.@.+.O.O (.(.(.(.(.",
597 +"(.(.(.(.(. . u [ { { X.O.O.@.@.@.@.@.@.@.+.O.O.F X [ X.O.O.@.@.@.@.@.@.@.+.O.X.L . (.(.(.(.(.",
598 +"(.(.(.(.(.(. . u Y { { X.X.X.O.+.+.O.O.O.X.Q 0 X F [ { ..X.X.O.O.O.O.O.O.X. .f . (.(.(.(.(.(.",
599 +"(.(.(.(.(.(.(. O & = = = = = = = = = X X = = = = = = = = = = = @ . (.(.(.(.(.(.(.",
600 +"(.(.(.(.(.(.(.(. (.(.(.(.(.(.(.(.",
601 +"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
602 +"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.",
603 +"(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(."
604 +};
605
606 diff --git a/games-action/teeworlds/metadata.xml b/games-action/teeworlds/metadata.xml
607 new file mode 100644
608 index 0000000..08e4071
609 --- /dev/null
610 +++ b/games-action/teeworlds/metadata.xml
611 @@ -0,0 +1,15 @@
612 +<?xml version="1.0" encoding="UTF-8"?>
613 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
614 +<pkgmetadata>
615 +<herd>no-herd</herd>
616 +<maintainer>
617 +<email>azamat.hackimov@×××××.com</email>
618 +<name>Azamat H. Hackimov</name>
619 +</maintainer>
620 +<longdescription lang="en">
621 +Online multi-player platform 2D shooter.
622 +</longdescription>
623 +<longdescription lang="ru">
624 +Сетевой многопользовательский двумерный шутер.
625 +</longdescription>
626 +</pkgmetadata>
627
628 diff --git a/games-action/teeworlds/teeworlds-0.6.0.ebuild b/games-action/teeworlds/teeworlds-0.6.0.ebuild
629 new file mode 100644
630 index 0000000..35b90c5
631 --- /dev/null
632 +++ b/games-action/teeworlds/teeworlds-0.6.0.ebuild
633 @@ -0,0 +1,93 @@
634 +# Copyright 1999-2011 Gentoo Foundation
635 +# Distributed under the terms of the GNU General Public License v2
636 +# $Header: /var/cvsroot/gentoo-x86/games-action/teeworlds/teeworlds-0.5.2.ebuild,v 1.2 2010/04/04 13:51:12 hwoarang Exp $
637 +
638 +EAPI=2
639 +
640 +inherit eutils python games
641 +
642 +DESCRIPTION="Online multi-player platform 2D shooter"
643 +HOMEPAGE="http://www.teeworlds.com/"
644 +SRC_URI="http://www.teeworlds.com/files/${P}-src.tar.gz"
645 +
646 +LICENSE="ZLIB"
647 +SLOT="0"
648 +KEYWORDS="~amd64 ~x86"
649 +IUSE="debug dedicated"
650 +
651 +RDEPEND="
652 + !dedicated? ( media-libs/pnglite
653 + media-libs/libsdl[X,audio,opengl,video]
654 + media-sound/wavpack
655 + virtual/opengl
656 + x11-libs/libX11 )
657 + sys-libs/zlib"
658 +DEPEND="${RDEPEND}
659 + =dev-lang/python-2*
660 + ~dev-util/bam-0.4.0"
661 +
662 +S=${WORKDIR}/${P}-source
663 +
664 +pkg_setup() {
665 + python_set_active_version 2
666 + games_pkg_setup
667 +}
668 +
669 +src_prepare() {
670 + # 001 & 002 from pull request: https://github.com/oy/teeworlds/pull/493
671 + epatch \
672 + "${FILESDIR}"/${P}-001-use-system-wavpack.patch \
673 + "${FILESDIR}"/${P}-002-fixed-wavpack-sound-loading.patch \
674 + "${FILESDIR}"/${P}-003-use-system-pnglite.patch
675 +}
676 +
677 +src_configure() {
678 + bam config || die "bam config failed"
679 +}
680 +
681 +src_compile() {
682 + local myopt
683 +
684 + if use debug; then
685 + myopt=" server_debug"
686 + else
687 + myopt=" server_release"
688 + fi
689 + if ! use dedicated; then
690 + if use debug; then
691 + myopt+=" client_debug"
692 + else
693 + myopt+=" client_release"
694 + fi
695 + fi
696 +
697 + bam ${myopt} || die "bam failed"
698 +}
699 +
700 +src_install() {
701 + if use debug; then
702 + newgamesbin ${PN}_srv_d ${PN}_srv || die "newgamesbin failed"
703 + else
704 + dogamesbin ${PN}_srv || die "dogamesbin failed"
705 + fi
706 + if ! use dedicated; then
707 + if use debug; then
708 + newgamesbin ${PN}_d ${PN} || die "newgamesbin failed"
709 + else
710 + dogamesbin ${PN} || die "dogamesbin failed"
711 + fi
712 +
713 + doicon "${FILESDIR}"/${PN}.xpm || die "doicon failed"
714 + make_desktop_entry ${PN} Teeworlds
715 +
716 + insinto "${GAMES_DATADIR}"/${PN}/data
717 + doins -r data/* || die "doins failed"
718 + else
719 + insinto "${GAMES_DATADIR}"/${PN}/data/maps
720 + doins -r data/maps/* || die "doins failed"
721 + fi
722 +
723 + dodoc readme.txt || die "dodoc failed"
724 +
725 + prepgamesdirs
726 +}