summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-arcade')
-rw-r--r--games-arcade/atomorun2008/Manifest5
-rw-r--r--games-arcade/atomorun2008/atomorun2008-1.0.ebuild61
-rw-r--r--games-arcade/atomorun2008/files/atomorun2008-1.0.diff686
-rwxr-xr-xgames-arcade/atomorun2008/files/atomorun2008.pngbin0 -> 4003 bytes
-rw-r--r--games-arcade/atomorun2008/metadata.xml9
-rw-r--r--games-arcade/dave/Manifest5
-rw-r--r--games-arcade/dave/dave-1.0.ebuild52
-rw-r--r--games-arcade/dave/files/dave-1.0-data.patch322
-rw-r--r--games-arcade/dave/files/dave-1.0-gcc43.patch22
-rw-r--r--games-arcade/dave/metadata.xml5
-rw-r--r--games-arcade/edgar/Manifest3
-rw-r--r--games-arcade/edgar/edgar-0.25.ebuild37
-rw-r--r--games-arcade/edgar/metadata.xml5
13 files changed, 1212 insertions, 0 deletions
diff --git a/games-arcade/atomorun2008/Manifest b/games-arcade/atomorun2008/Manifest
new file mode 100644
index 0000000..ed4fc72
--- /dev/null
+++ b/games-arcade/atomorun2008/Manifest
@@ -0,0 +1,5 @@
+AUX atomorun2008-1.0.diff 48982 RMD160 4084b875583d8a203363eccaefa7494b5aa695ed SHA1 a8233ae04d323e7466214c07f204e7822015a000 SHA256 6428b8fbddb0b9bb84fdda944daa14d08242f267d6e7eeb76ce86e9f7bdfe95e
+AUX atomorun2008.png 4003 RMD160 89d51abcc81f52928a66a697043c926f3c54ff83 SHA1 aebb38ba7090f84162d06d3266f0236c1955d2ae SHA256 cad07cbd11754bb836a7036f0f0fecdd7a21807c58042f956570e7f9576c270c
+DIST atomorun2008-1.0.tar.bz2 6874942 RMD160 8ae2c95004f3ac202db16cf023db9b59bbdc50d0 SHA1 99821f6a2948352f203b72a0a4cfc54baa57ef6b SHA256 2fb660cf062f15fdd90143af223246d6729c1528a08121d23e1ba73a79c7ba3a
+EBUILD atomorun2008-1.0.ebuild 1170 RMD160 51fe16cf125f8d110ac72445c01fddb71500eac5 SHA1 a4872b3823ba8464e98810b085d5d37d9620953c SHA256 7d5b0c27d3d081422a9dc3e51b2ea16197a8274dd39bc3bb35e7c6fecdd12ed2
+MISC metadata.xml 249 RMD160 220cde0fc1a8d7d355705f0f6772bd8d77cdc17a SHA1 34b33eb8d24cd8bfef2ddfb8e80334fd77cc9488 SHA256 3875fd5008d7f5bfe7f3cf7bf330c209a5034f5988d37c1699fb3be35a7be906
diff --git a/games-arcade/atomorun2008/atomorun2008-1.0.ebuild b/games-arcade/atomorun2008/atomorun2008-1.0.ebuild
new file mode 100644
index 0000000..f1bf39c
--- /dev/null
+++ b/games-arcade/atomorun2008/atomorun2008-1.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit d-games
+
+DESCRIPTION="Matthias Thurau's great OpenGL 3D platform-game Atomorun2008"
+HOMEPAGE="http://atomorun2008.whosme.de/"
+SRC_URI="http://atomorun2008.whosme.de/${PN}-${PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~ppc ~x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl
+ media-libs/mesa
+ media-libs/sdl-mixer"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_PN}
+
+src_unpack(){
+ unpack ${A}
+}
+
+src_prepare(){
+ cd "${S}/${PN}-${PV}"
+ epatch ${FILESDIR}/"${P}.diff"
+ sed -i -e "s:resources/:"${GAMES_DATADIR}"/"${PN}"/resources/:" -i src/sound.d
+
+}
+
+src_compile() {
+ cd "${S}/${PN}-${PV}"
+ emake || die
+}
+
+src_install() {
+ cd "${S}/${PN}-${PV}"
+ dogamesbin ${PN}
+
+ local datadir="${GAMES_DATADIR}"/"${PN}"
+ dodir ${datadir}
+ insinto "${GAMES_DATADIR}"/"${PN}"
+ doins -r resources || die
+
+ insinto "${GAMES_SYSCONFDIR}"/"${PN}"
+ doins resources/config.cfg || die "doins config.cfg failed"
+
+ newicon "${FILESDIR}"/"${PN}.png" "${PN}.png"
+ make_desktop_entry "${PN}" "${PN}"
+ dodoc README*
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+}
diff --git a/games-arcade/atomorun2008/files/atomorun2008-1.0.diff b/games-arcade/atomorun2008/files/atomorun2008-1.0.diff
new file mode 100644
index 0000000..1d74aa4
--- /dev/null
+++ b/games-arcade/atomorun2008/files/atomorun2008-1.0.diff
@@ -0,0 +1,686 @@
+diff -Naur atomorun2008-1.0-O/resources/heightmaps/heightmap1b.txt atomorun2008-1.0/resources/heightmaps/heightmap1b.txt
+--- atomorun2008-1.0-O/resources/heightmaps/heightmap1b.txt 2008-03-13 15:33:12.000000000 +0100
++++ atomorun2008-1.0/resources/heightmaps/heightmap1b.txt 2008-08-13 16:43:42.000000000 +0200
+@@ -1,4 +1,4 @@
+-resources/heightmaps/heightmap1b.png 2.1 3.0 0.08
+-resources/heightmaps/alphamap1b.png resources/textures/grass.png resources/textures/grass.png resources/textures/stone.png
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap1b.png 2.1 3.0 0.08
++/usr/share/games/atomorun2008/resources/heightmaps/alphamap1b.png /usr/share/games/atomorun2008/resources/textures/grass.png /usr/share/games/atomorun2008/resources/textures/grass.png /usr/share/games/atomorun2008/resources/textures/stone.png
+ 200.0 100.0 100.0
+-resources/meshes/tree.zms 0.15
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/meshes/tree.zms 0.15
+diff -Naur atomorun2008-1.0-O/resources/heightmaps/heightmap1.txt atomorun2008-1.0/resources/heightmaps/heightmap1.txt
+--- atomorun2008-1.0-O/resources/heightmaps/heightmap1.txt 2008-03-13 15:33:06.000000000 +0100
++++ atomorun2008-1.0/resources/heightmaps/heightmap1.txt 2008-08-13 16:43:45.000000000 +0200
+@@ -1,4 +1,4 @@
+-resources/heightmaps/heightmap1.png 2.1 3.0 0.08
+-resources/heightmaps/alphamap1.png resources/textures/grass.png resources/textures/grass.png resources/textures/stone.png
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap1.png 2.1 3.0 0.08
++/usr/share/games/atomorun2008/resources/heightmaps/alphamap1.png /usr/share/games/atomorun2008/resources/textures/grass.png /usr/share/games/atomorun2008/resources/textures/grass.png /usr/share/games/atomorun2008/resources/textures/stone.png
+ 200.0 100.0 100.0
+-resources/meshes/tree.zms 0.15
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/meshes/tree.zms 0.15
+diff -Naur atomorun2008-1.0-O/resources/heightmaps/heightmap2b.txt atomorun2008-1.0/resources/heightmaps/heightmap2b.txt
+--- atomorun2008-1.0-O/resources/heightmaps/heightmap2b.txt 2008-03-13 15:33:20.000000000 +0100
++++ atomorun2008-1.0/resources/heightmaps/heightmap2b.txt 2008-08-13 16:44:54.000000000 +0200
+@@ -1,4 +1,4 @@
+-resources/heightmaps/heightmap2b.png 2.1 3.0 0.08
+-resources/heightmaps/alphamap2b.png resources/textures/stone4.png resources/textures/grass.png resources/textures/stone4.png
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap2b.png 2.1 3.0 0.08
++/usr/share/games/atomorun2008/resources/heightmaps/alphamap2b.png /usr/share/games/atomorun2008/resources/textures/stone4.png /usr/share/games/atomorun2008/resources/textures/grass.png /usr/share/games/atomorun2008/resources/textures/stone4.png
+ 140.0 30.0 100.0
+-resources/meshes/tree.zms 0.15
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/meshes/tree.zms 0.15
+diff -Naur atomorun2008-1.0-O/resources/heightmaps/heightmap2.txt atomorun2008-1.0/resources/heightmaps/heightmap2.txt
+--- atomorun2008-1.0-O/resources/heightmaps/heightmap2.txt 2008-03-13 15:33:16.000000000 +0100
++++ atomorun2008-1.0/resources/heightmaps/heightmap2.txt 2008-08-13 17:09:15.000000000 +0200
+@@ -1,4 +1,4 @@
+-resources/heightmaps/heightmap2.png 2.1 3.0 0.08
+-resources/heightmaps/alphamap2.png resources/textures/stone4.png resources/textures/grass.png resources/textures/stone4.png
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap2.png 2.1 3.0 0.08
++/usr/share/games/atomorun2008/resources/heightmaps/alphamap2.png /usr/share/games/atomorun2008/resources/textures/stone4.png /usr/share/games/atomorun2008/resources/textures/grass.png /usr/share/games/atomorun2008/resources/textures/stone4.png
+ 140.0 30.0 100.0
+-resources/meshes/tree.zms 0.15
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/meshes/tree.zms 0.15
+diff -Naur atomorun2008-1.0-O/resources/heightmaps/heightmap3b.txt atomorun2008-1.0/resources/heightmaps/heightmap3b.txt
+--- atomorun2008-1.0-O/resources/heightmaps/heightmap3b.txt 2008-03-13 15:33:26.000000000 +0100
++++ atomorun2008-1.0/resources/heightmaps/heightmap3b.txt 2008-08-13 16:45:55.000000000 +0200
+@@ -1,4 +1,4 @@
+-resources/heightmaps/heightmap3b.png 2.1 3.0 0.1
+-resources/heightmaps/alphamap3b.png resources/textures/snow.png resources/textures/grass2.png resources/textures/sand.png
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap3b.png 2.1 3.0 0.1
++/usr/share/games/atomorun2008/resources/heightmaps/alphamap3b.png /usr/share/games/atomorun2008/resources/textures/snow.png /usr/share/games/atomorun2008/resources/textures/grass2.png /usr/share/games/atomorun2008/resources/textures/sand.png
+ 100.0 100.0 100.0
+-resources/meshes/tree.zms 0.08
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/meshes/tree.zms 0.08
+diff -Naur atomorun2008-1.0-O/resources/heightmaps/heightmap3.txt atomorun2008-1.0/resources/heightmaps/heightmap3.txt
+--- atomorun2008-1.0-O/resources/heightmaps/heightmap3.txt 2008-03-13 15:33:22.000000000 +0100
++++ atomorun2008-1.0/resources/heightmaps/heightmap3.txt 2008-08-13 16:44:52.000000000 +0200
+@@ -1,4 +1,4 @@
+-resources/heightmaps/heightmap3.png 2.1 3.0 0.1
+-resources/heightmaps/alphamap3.png resources/textures/snow.png resources/textures/grass2.png resources/textures/sand2.png
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap3.png 2.1 3.0 0.1
++/usr/share/games/atomorun2008/resources/heightmaps/alphamap3.png /usr/share/games/atomorun2008/resources/textures/snow.png /usr/share/games/atomorun2008/resources/textures/grass2.png /usr/share/games/atomorun2008/resources/textures/sand2.png
+ 110.0 100.0 100.0
+-resources/meshes/tree.zms 0.08
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/meshes/tree.zms 0.08
+diff -Naur atomorun2008-1.0-O/resources/heightmaps/heightmapSpecial.txt atomorun2008-1.0/resources/heightmaps/heightmapSpecial.txt
+--- atomorun2008-1.0-O/resources/heightmaps/heightmapSpecial.txt 2008-03-13 15:37:20.000000000 +0100
++++ atomorun2008-1.0/resources/heightmaps/heightmapSpecial.txt 2008-08-13 16:46:19.000000000 +0200
+@@ -1,4 +1,4 @@
+-resources/heightmaps/heightmapSpecial.png 2.9 3.0 0.08
+-resources/heightmaps/alphamapSpecial.png resources/textures/sand.png resources/textures/grass.png resources/textures/stone.png
++/usr/share/games/atomorun2008/resources/heightmaps/heightmapSpecial.png 2.9 3.0 0.08
++/usr/share/games/atomorun2008/resources/heightmaps/alphamapSpecial.png /usr/share/games/atomorun2008/resources/textures/sand.png /usr/share/games/atomorun2008/resources/textures/grass.png /usr/share/games/atomorun2008/resources/textures/stone.png
+ 200.0 100.0 100.0
+-resources/meshes/tree.zms 0.3
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/meshes/tree.zms 0.3
+diff -Naur atomorun2008-1.0-O/resources/heightmaps/start.txt atomorun2008-1.0/resources/heightmaps/start.txt
+--- atomorun2008-1.0-O/resources/heightmaps/start.txt 2008-03-10 20:07:24.000000000 +0100
++++ atomorun2008-1.0/resources/heightmaps/start.txt 2008-08-13 16:46:54.000000000 +0200
+@@ -1,4 +1,4 @@
+-resources/heightmaps/start.png 3.0 3.0 0.2
+-resources/heightmaps/startalphamap.png resources/textures/sand.png resources/textures/grass.png resources/textures/stone.png
++/usr/share/games/atomorun2008/resources/heightmaps/start.png 3.0 3.0 0.2
++/usr/share/games/atomorun2008/resources/heightmaps/startalphamap.png /usr/share/games/atomorun2008/resources/textures/sand.png /usr/share/games/atomorun2008/resources/textures/grass.png /usr/share/games/atomorun2008/resources/textures/stone.png
+ 10.0 10.0 10.0
+-resources/meshes/tree.zms 0.04f
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/meshes/tree.zms 0.04f
+diff -Naur atomorun2008-1.0-O/resources/lvls/lvl1b.txt atomorun2008-1.0/resources/lvls/lvl1b.txt
+--- atomorun2008-1.0-O/resources/lvls/lvl1b.txt 2008-03-10 23:20:28.000000000 +0100
++++ atomorun2008-1.0/resources/lvls/lvl1b.txt 2008-08-13 16:49:39.000000000 +0200
+@@ -1,3 +1,3 @@
+ Die Beginner Schlucht
+-resources/heightmaps/heightmap1b.txt resources/textures/skys/bg1.png
+-0.01
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap1b.txt /usr/share/games/atomorun2008/resources/textures/skys/bg1.png
++0.01
+diff -Naur atomorun2008-1.0-O/resources/lvls/lvl1.txt atomorun2008-1.0/resources/lvls/lvl1.txt
+--- atomorun2008-1.0-O/resources/lvls/lvl1.txt 2008-03-13 13:17:52.000000000 +0100
++++ atomorun2008-1.0/resources/lvls/lvl1.txt 2008-08-13 16:49:39.000000000 +0200
+@@ -1,3 +1,3 @@
+ Die Beginner Schlucht
+-resources/heightmaps/heightmap1.txt resources/textures/skys/bg1.png
+-0.006
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap1.txt /usr/share/games/atomorun2008/resources/textures/skys/bg1.png
++0.006
+diff -Naur atomorun2008-1.0-O/resources/lvls/lvl2b.txt atomorun2008-1.0/resources/lvls/lvl2b.txt
+--- atomorun2008-1.0-O/resources/lvls/lvl2b.txt 2008-03-07 14:03:58.000000000 +0100
++++ atomorun2008-1.0/resources/lvls/lvl2b.txt 2008-08-13 16:49:39.000000000 +0200
+@@ -1,3 +1,3 @@
+ Die Beginner Schlucht
+-resources/heightmaps/heightmap2b.txt resources/textures/skys/bg2.png
+-0.01
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap2b.txt /usr/share/games/atomorun2008/resources/textures/skys/bg2.png
++0.01
+diff -Naur atomorun2008-1.0-O/resources/lvls/lvl2.txt atomorun2008-1.0/resources/lvls/lvl2.txt
+--- atomorun2008-1.0-O/resources/lvls/lvl2.txt 2008-03-13 13:17:56.000000000 +0100
++++ atomorun2008-1.0/resources/lvls/lvl2.txt 2008-08-13 16:49:39.000000000 +0200
+@@ -1,3 +1,3 @@
+ Die Beginner Schlucht
+-resources/heightmaps/heightmap2.txt resources/textures/skys/bg2.png
+-0.006
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap2.txt /usr/share/games/atomorun2008/resources/textures/skys/bg2.png
++0.006
+diff -Naur atomorun2008-1.0-O/resources/lvls/lvl3b.txt atomorun2008-1.0/resources/lvls/lvl3b.txt
+--- atomorun2008-1.0-O/resources/lvls/lvl3b.txt 2008-03-10 23:06:06.000000000 +0100
++++ atomorun2008-1.0/resources/lvls/lvl3b.txt 2008-08-13 16:49:38.000000000 +0200
+@@ -1,3 +1,3 @@
+ Die Beginner Schlucht
+-resources/heightmaps/heightmap3b.txt resources/textures/skys/bg3.png
+-0.0065
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap3b.txt /usr/share/games/atomorun2008/resources/textures/skys/bg3.png
++0.0065
+diff -Naur atomorun2008-1.0-O/resources/lvls/lvl3.txt atomorun2008-1.0/resources/lvls/lvl3.txt
+--- atomorun2008-1.0-O/resources/lvls/lvl3.txt 2008-03-13 13:18:00.000000000 +0100
++++ atomorun2008-1.0/resources/lvls/lvl3.txt 2008-08-13 16:49:38.000000000 +0200
+@@ -1,3 +1,3 @@
+ Die Beginner Schlucht
+-resources/heightmaps/heightmap3.txt resources/textures/skys/bg3.png
+-0.004
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/heightmaps/heightmap3.txt /usr/share/games/atomorun2008/resources/textures/skys/bg3.png
++0.004
+diff -Naur atomorun2008-1.0-O/resources/lvls/lvlSpecial.txt atomorun2008-1.0/resources/lvls/lvlSpecial.txt
+--- atomorun2008-1.0-O/resources/lvls/lvlSpecial.txt 2008-03-11 10:30:46.000000000 +0100
++++ atomorun2008-1.0/resources/lvls/lvlSpecial.txt 2008-08-13 16:49:38.000000000 +0200
+@@ -1,3 +1,3 @@
+ Die Beginner Schlucht
+-resources/heightmaps/heightmapSpecial.txt resources/textures/skys/bg4.png
+-0.004
+\ Kein Zeilenumbruch am Dateiende.
++/usr/share/games/atomorun2008/resources/heightmaps/heightmapSpecial.txt /usr/share/games/atomorun2008/resources/textures/skys/bg4.png
++0.004
+diff -Naur atomorun2008-1.0-O/resources/meshes/player.zms atomorun2008-1.0/resources/meshes/player.zms
+--- atomorun2008-1.0-O/resources/meshes/player.zms 2008-03-11 01:06:00.000000000 +0100
++++ atomorun2008-1.0/resources/meshes/player.zms 2008-08-13 16:51:02.000000000 +0200
+@@ -1,4 +1,4 @@
+-1 236 368 1 resources/textures/player.png
++1 236 368 1 /usr/share/games/atomorun2008/resources/textures/player.png
+ 1.0000000 1.0000000 1.0000000 50.000000 0.5000000
+ -0.087130 0.000000 -0.996185 -0.426591 -0.001810 1.378833
+ 0.521409 0.761193 -0.385601 0.839694 1.548141 2.932071
+@@ -603,4 +603,4 @@
+ 1 0.096514 0.960192 -0.262136 4 227 0.333002 0.546875 215 0.582031 0.546875 226 0.582031 0.362488 234 0.411636 0.376480
+ 1 0.138911 0.957516 0.252718 4 215 0.582031 0.546875 225 0.831061 0.546875 235 0.752426 0.376480 226 0.582031 0.362488
+ 1 -0.221843 0.948011 -0.228167 4 233 0.411636 0.717270 224 0.582031 0.731262 215 0.582031 0.546875 227 0.333002 0.546875
+-1 -0.242874 0.935816 0.255461 4 224 0.582031 0.731262 232 0.752426 0.717270 225 0.831061 0.546875 215 0.582031 0.546875
+\ Kein Zeilenumbruch am Dateiende.
++1 -0.242874 0.935816 0.255461 4 224 0.582031 0.731262 232 0.752426 0.717270 225 0.831061 0.546875 215 0.582031 0.546875
+diff -Naur atomorun2008-1.0-O/resources/meshes/tree.zms atomorun2008-1.0/resources/meshes/tree.zms
+--- atomorun2008-1.0-O/resources/meshes/tree.zms 2008-03-10 23:58:50.000000000 +0100
++++ atomorun2008-1.0/resources/meshes/tree.zms 2008-08-13 16:51:09.000000000 +0200
+@@ -1,4 +1,4 @@
+-0 60 50 1 resources/textures/tree3.png
++0 60 50 1 /usr/share/games/atomorun2008/resources/textures/tree3.png
+ 0.573046 0.818415 0.042116 0.375114 0.537144 -0.996494
+ 0.955443 -0.292093 0.042116 0.625274 -0.189371 -0.996494
+ 0.017426 -0.998932 0.042116 0.011620 -0.651792 -0.996494
+@@ -108,4 +108,4 @@
+ 1 0.169799 0.364136 0.915737 3 50 0.214922 0.351324 58 0.400933 0.144056 59 0.590816 0.502449
+ 1 0.364121 0.169792 0.915744 3 50 0.214922 0.351324 59 0.590816 0.502449 51 0.205659 0.629667
+ 1 0.387311 -0.103780 0.916090 3 51 0.205659 0.629667 59 0.590816 0.502449 52 0.377479 0.848843
+-1 0.229308 -0.327486 0.916608 3 52 0.377479 0.848843 59 0.590816 0.502449 53 0.649984 0.906299
+\ Kein Zeilenumbruch am Dateiende.
++1 0.229308 -0.327486 0.916608 3 52 0.377479 0.848843 59 0.590816 0.502449 53 0.649984 0.906299
+diff -Naur atomorun2008-1.0-O/resources/meshes/zweisteinexporter.py atomorun2008-1.0/resources/meshes/zweisteinexporter.py
+--- atomorun2008-1.0-O/resources/meshes/zweisteinexporter.py 2008-02-05 18:52:54.000000000 +0100
++++ atomorun2008-1.0/resources/meshes/zweisteinexporter.py 2008-08-13 16:51:39.000000000 +0200
+@@ -52,7 +52,7 @@
+ uvfile = str(myMesh.faces[o].image).split(None,1)[-1][1:-2]
+ if (uvfile != "o"):
+ if (uvfile != ""):
+- uvfilefinal = "resources/textures/" + uvfile;
++ uvfilefinal = "/usr/share/games/atomorun2008/resources/textures/" + uvfile;
+
+ file.write("%i %i %i %i %s" % (hasMaterials, anzahlverts, anzahlfaces, hasUV, uvfilefinal))
+
+diff -Naur atomorun2008-1.0-O/src/application.d atomorun2008-1.0/src/application.d
+--- atomorun2008-1.0-O/src/application.d 2008-03-13 16:33:20.000000000 +0100
++++ atomorun2008-1.0/src/application.d 2008-08-14 13:31:16.000000000 +0200
+@@ -24,6 +24,8 @@
+
+ import std.stdio;
+ import std.stream;
++import std.c.stdlib;
++import std.string;
+
+ class Application : Task, ActionListener {
+ public:
+@@ -137,31 +139,41 @@
+ default: break;
+ };
+ };
++
++ static const char[] PREF_FILE = ".atomorun2008/savegame";
++
++public char[] pref_file() {
++ char * home = getenv("HOME");
++ if (home is null)
++ throw new Error("HOME environment variable is not defined");
++ return std.string.toString(home) ~ "/" ~ PREF_FILE;
++ }
++
+
+ private:
+ void addPrize(int p) {
+ File savegame = new File();
+- savegame.open("resources/savegame", FileMode.In);
++ savegame.open(pref_file(), FileMode.In);
+ int[] savegameData;
+ while (!savegame.eof) {
+ savegameData ~= 0;
+ savegame.readf(&savegameData[length-1]);
+ };
+ savegame.close();
+- savegame.open("resources/savegame", FileMode.Out);
+- if (p>savegameData[0] && attribute == "resources/lvls/lvl1.txt") savegame.writef(p, " ");
++ savegame.open(pref_file(), FileMode.Out);
++ if (p>savegameData[0] && attribute == "/usr/share/games/atomorun2008/resources/lvls/lvl1.txt") savegame.writef(p, " ");
+ else savegame.writef(savegameData[0], " ");
+- if (p>savegameData[1] && attribute == "resources/lvls/lvl2.txt") savegame.writef(p, " ");
++ if (p>savegameData[1] && attribute == "/usr/share/games/atomorun2008/resources/lvls/lvl2.txt") savegame.writef(p, " ");
+ else savegame.writef(savegameData[1], " ");
+- if (p>savegameData[2] && attribute == "resources/lvls/lvl3.txt") savegame.writef(p, " ");
++ if (p>savegameData[2] && attribute == "/usr/share/games/atomorun2008/resources/lvls/lvl3.txt") savegame.writef(p, " ");
+ else savegame.writef(savegameData[2], " ");
+- if (p>savegameData[3] && attribute == "resources/lvls/lvlSpecial.txt") savegame.writef(p, " ");
++ if (p>savegameData[3] && attribute == "/usr/share/games/atomorun2008/resources/lvls/lvlSpecial.txt") savegame.writef(p, " ");
+ else savegame.writef(savegameData[3], " ");
+- if (p>savegameData[4] && attribute == "resources/lvls/lvl1b.txt") savegame.writef(p, " ");
++ if (p>savegameData[4] && attribute == "/usr/share/games/atomorun2008/resources/lvls/lvl1b.txt") savegame.writef(p, " ");
+ else savegame.writef(savegameData[4], " ");
+- if (p>savegameData[5] && attribute == "resources/lvls/lvl2b.txt") savegame.writef(p, " ");
++ if (p>savegameData[5] && attribute == "/usr/share/games/atomorun2008/resources/lvls/lvl2b.txt") savegame.writef(p, " ");
+ else savegame.writef(savegameData[5], " ");
+- if (p>savegameData[6] && attribute == "resources/lvls/lvl3b.txt") savegame.writef(p, " ");
++ if (p>savegameData[6] && attribute == "/usr/share/games/atomorun2008/resources/lvls/lvl3b.txt") savegame.writef(p, " ");
+ else savegame.writef(savegameData[6], " ");
+ savegame.close();
+ };
+diff -Naur atomorun2008-1.0-O/src/dengine.d atomorun2008-1.0/src/dengine.d
+--- atomorun2008-1.0-O/src/dengine.d 2008-03-11 11:44:54.000000000 +0100
++++ atomorun2008-1.0/src/dengine.d 2008-08-14 11:25:16.000000000 +0200
+@@ -12,7 +12,7 @@
+
+ class DEngine : Task {
+ void init() {
+- Config.load("resources/config.cfg");
++ Config.load("/etc/games/atomorun2008/config.cfg");
+
+ myTasks ~= Window.getInstance();
+ myTasks ~= Input.getInstance();
+@@ -37,4 +37,4 @@
+
+ private:
+ Task[] myTasks;
+-};
++};
+diff -Naur atomorun2008-1.0-O/src/fontwriter.d atomorun2008-1.0/src/fontwriter.d
+--- atomorun2008-1.0-O/src/fontwriter.d 2008-02-05 19:42:32.000000000 +0100
++++ atomorun2008-1.0/src/fontwriter.d 2008-08-13 16:26:12.000000000 +0200
+@@ -20,10 +20,10 @@
+ class FontWriter : Unit {
+ mixin Singleton;
+ override void init() {
+- myFonts ~= cast(TextureFont)ResourceManager.getInstance().need(TextureFont.classinfo, "resources/fonts/nfont_12auf256.png");
+- myFonts ~= cast(TextureFont)ResourceManager.getInstance().need(TextureFont.classinfo, "resources/fonts/nfont_14auf256.png");
+- myFonts ~= cast(TextureFont)ResourceManager.getInstance().need(TextureFont.classinfo, "resources/fonts/nfont_18auf512.png");
+- myFonts ~= cast(TextureFont)ResourceManager.getInstance().need(TextureFont.classinfo, "resources/fonts/nfont_24auf512.png");
++ myFonts ~= cast(TextureFont)ResourceManager.getInstance().need(TextureFont.classinfo, "/usr/share/games/atomorun2008/resources/fonts/nfont_12auf256.png");
++ myFonts ~= cast(TextureFont)ResourceManager.getInstance().need(TextureFont.classinfo, "/usr/share/games/atomorun2008/resources/fonts/nfont_14auf256.png");
++ myFonts ~= cast(TextureFont)ResourceManager.getInstance().need(TextureFont.classinfo, "/usr/share/games/atomorun2008/resources/fonts/nfont_18auf512.png");
++ myFonts ~= cast(TextureFont)ResourceManager.getInstance().need(TextureFont.classinfo, "/usr/share/games/atomorun2008/resources/fonts/nfont_24auf512.png");
+ use(myFonts[length-1]);
+ };
+ override void uninit() {
+diff -Naur atomorun2008-1.0-O/src/game.d atomorun2008-1.0/src/game.d
+--- atomorun2008-1.0-O/src/game.d 2008-03-13 14:04:08.000000000 +0100
++++ atomorun2008-1.0/src/game.d 2008-08-13 16:26:12.000000000 +0200
+@@ -58,9 +58,9 @@
+ myBackgroundTexture = cast(Texture2D)ResourceManager.getInstance.need(Texture2D.classinfo, myBackgroundFile);
+ mySceneManager.addItem(myBackgroundTexture);
+
+- myExplosionTexture = cast(Texture2D)ResourceManager.getInstance.need(Texture2D.classinfo, "resources/textures/explosion.png");
++ myExplosionTexture = cast(Texture2D)ResourceManager.getInstance.need(Texture2D.classinfo, "/usr/share/games/atomorun2008/resources/textures/explosion.png");
+
+- myExplosionSound = cast(Sound)ResourceManager.getInstance.need(Sound.classinfo, "resources/sounds/explosion.wav");
++ myExplosionSound = cast(Sound)ResourceManager.getInstance.need(Sound.classinfo, "/usr/share/games/atomorun2008/resources/sounds/explosion.wav");
+ Mix_PlayChannel(-1, myExplosionSound.sound, 0);
+
+ myPlayer = new Player();
+diff -Naur atomorun2008-1.0-O/src/heightmap.d atomorun2008-1.0/src/heightmap.d
+--- atomorun2008-1.0-O/src/heightmap.d 2008-03-13 15:42:20.000000000 +0100
++++ atomorun2008-1.0/src/heightmap.d 2008-08-13 16:26:12.000000000 +0200
+@@ -83,7 +83,7 @@
+
+ if (ARBMultitexture.isEnabled() && ARBShaderObjects.isEnabled()) {
+ myShader = new HLSLShader;
+- myShader.load("resources/shaders/vertexshader_terrain.fx", "resources/shaders/fragmentshader_terrain.fx");
++ myShader.load("/usr/share/games/atomorun2008/resources/shaders/vertexshader_terrain.fx", "/usr/share/games/atomorun2008/resources/shaders/fragmentshader_terrain.fx");
+ };
+
+ myTexture0 = cast(Texture2D)ResourceManager.getInstance.need(Texture2D.classinfo, alphamapFilename);
+diff -Naur atomorun2008-1.0-O/src/image.d atomorun2008-1.0/src/image.d
+--- atomorun2008-1.0-O/src/image.d 2008-03-13 15:46:26.000000000 +0100
++++ atomorun2008-1.0/src/image.d 2008-08-13 16:26:12.000000000 +0200
+@@ -57,7 +57,7 @@
+ };
+ };
+ override void loadDefault() {
+- loadSpecific("resources/textures/standardpic.png");
++ loadSpecific("/usr/share/games/atomorun2008/resources/textures/standardpic.png");
+ };
+
+ int width() { return myWidth; };
+diff -Naur atomorun2008-1.0-O/src/loader.d atomorun2008-1.0/src/loader.d
+--- atomorun2008-1.0-O/src/loader.d 2008-03-11 16:37:08.000000000 +0100
++++ atomorun2008-1.0/src/loader.d 2008-08-13 16:26:12.000000000 +0200
+@@ -29,7 +29,7 @@
+ Loader.getInstance.uninit();
+ };
+ void init() {
+- myTexture = cast(Texture2D)ResourceManager.getInstance.need(Texture2D.classinfo, "resources/textures/loading.png");
++ myTexture = cast(Texture2D)ResourceManager.getInstance.need(Texture2D.classinfo, "/usr/share/games/atomorun2008/resources/textures/loading.png");
+ };
+ void refresh() {
+ glBindTexture(GL_TEXTURE_2D, myTexture.texture);
+diff -Naur atomorun2008-1.0-O/src/menuecopyright.d atomorun2008-1.0/src/menuecopyright.d
+--- atomorun2008-1.0-O/src/menuecopyright.d 2008-03-13 16:24:28.000000000 +0100
++++ atomorun2008-1.0/src/menuecopyright.d 2008-08-13 16:26:12.000000000 +0200
+@@ -20,15 +20,15 @@
+ myButtons.length = 3;
+
+ myButtons[0] = new Button;
+- myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[0].addActionListener(theMenue, "Menue", "LVL");
+
+ myButtons[1] = new Button;
+- myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[1].addActionListener(theMenue, "Menue", "Copyright");
+
+ myButtons[2] = new Button;
+- myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[2].addActionListener(theMenue, "Menue", "Quit");
+ };
+
+diff -Naur atomorun2008-1.0-O/src/menue.d atomorun2008-1.0/src/menue.d
+--- atomorun2008-1.0-O/src/menue.d 2008-03-11 17:05:24.000000000 +0100
++++ atomorun2008-1.0/src/menue.d 2008-08-13 16:26:12.000000000 +0200
+@@ -33,10 +33,10 @@
+
+ class Menue : ActionListener {
+ void init(APP_STATE theState) {
+- myHeightmap = cast(Heightmap)ResourceManager.getInstance.need(Heightmap.classinfo, "resources/heightmaps/start.txt");
+- myTexture = cast(Texture2D)ResourceManager.getInstance.need(Texture2D.classinfo, "resources/textures/menue_shade.png");
+- myClickSound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "resources/sounds/menue_click.wav");
+- myOverSound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "resources/sounds/menue_over.wav");
++ myHeightmap = cast(Heightmap)ResourceManager.getInstance.need(Heightmap.classinfo, "/usr/share/games/atomorun2008/resources/heightmaps/start.txt");
++ myTexture = cast(Texture2D)ResourceManager.getInstance.need(Texture2D.classinfo, "/usr/share/games/atomorun2008/resources/textures/menue_shade.png");
++ myClickSound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav");
++ myOverSound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+
+
+ pos.x = 0;
+diff -Naur atomorun2008-1.0-O/src/menueitem.d atomorun2008-1.0/src/menueitem.d
+--- atomorun2008-1.0-O/src/menueitem.d 2008-01-22 16:46:30.000000000 +0100
++++ atomorun2008-1.0/src/menueitem.d 2008-08-13 16:26:12.000000000 +0200
+@@ -19,7 +19,7 @@
+ myPosition = thePosition;
+ myDimension = theDimension;
+ myBB2D = new BoundingBox2D(Point2D(myPosition.x,myPosition.x+myDimension.x), Point2D(myPosition.y+myDimension.y,myPosition.y));
+- myTexture = cast(Texture2D)ResourceManager.getInstance().need((Texture2D.classinfo), "resources/textures/gui.png");
++ myTexture = cast(Texture2D)ResourceManager.getInstance().need((Texture2D.classinfo), "/usr/share/games/atomorun2008/resources/textures/gui.png");
+ };
+ void refresh() {};
+ void uninit() {
+diff -Naur atomorun2008-1.0-O/src/menuelost.d atomorun2008-1.0/src/menuelost.d
+--- atomorun2008-1.0-O/src/menuelost.d 2008-03-13 16:24:32.000000000 +0100
++++ atomorun2008-1.0/src/menuelost.d 2008-08-13 16:26:12.000000000 +0200
+@@ -20,21 +20,21 @@
+ class MenueLost : MenueImpl {
+ public:
+ override void init(Menue theMenue) {
+- mySound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "resources/sounds/game_end.wav");
++ mySound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "/usr/share/games/atomorun2008/resources/sounds/game_end.wav");
+ Mix_PlayChannel(-1, mySound.sound, 0);
+
+ myButtons.length = 3;
+
+ myButtons[0] = new Button;
+- myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[0].addActionListener(theMenue, "Menue", "LVL");
+
+ myButtons[1] = new Button;
+- myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[1].addActionListener(theMenue, "Menue", "Copyright");
+
+ myButtons[2] = new Button;
+- myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[2].addActionListener(theMenue, "Menue", "Quit");
+ };
+ override void refresh() {
+diff -Naur atomorun2008-1.0-O/src/menuelvl.d atomorun2008-1.0/src/menuelvl.d
+--- atomorun2008-1.0-O/src/menuelvl.d 2008-03-13 16:35:20.000000000 +0100
++++ atomorun2008-1.0/src/menuelvl.d 2008-08-13 16:57:30.000000000 +0200
+@@ -16,48 +16,60 @@
+ import texture2d;
+
+ import std.stream;
++import std.c.stdlib;
++import std.string;
+
+ import std.stdio;
+
+ class MenueLVL : MenueImpl {
+-public:
++public:
++
++ static const char[] PREF_FILE = ".atomorun2008/savegame";
++
++public char[] pref_file() {
++ char * home = getenv("HOME");
++ if (home is null)
++ throw new Error("HOME environment variable is not defined");
++ return std.string.toString(home) ~ "/" ~ PREF_FILE;
++ }
++
+ override void init(Menue theMenue) {
+ myButtons.length = 1;
+ myButtons[0] = new Button;
+- myButtons[0].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37), ".main menu", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[0].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37), ".main menu", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[0].addActionListener(theMenue, "Menue", "Main");
+
+ myImageButtons.length = 7;
+ myImageButtons[0] = new ImageButton();
+- myImageButtons[0].init(Point2D(50, Config["window_height"]-250), Point2D(128,128),"Level 1", "resources/textures/lvls/lvl1_thumb.png", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
+- myImageButtons[0].addActionListener(theMenue, "Game", "resources/lvls/lvl1.txt");
++ myImageButtons[0].init(Point2D(50, Config["window_height"]-250), Point2D(128,128),"Level 1", "/usr/share/games/atomorun2008/resources/textures/lvls/lvl1_thumb.png", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
++ myImageButtons[0].addActionListener(theMenue, "Game", "/usr/share/games/atomorun2008/resources/lvls/lvl1.txt");
+
+ myImageButtons[1] = new ImageButton();
+- myImageButtons[1].init(Point2D(250, Config["window_height"]-250), Point2D(128,128),"Level 2", "resources/textures/lvls/lvl2_thumb.png", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
+- myImageButtons[1].addActionListener(theMenue, "Game", "resources/lvls/lvl2.txt");
++ myImageButtons[1].init(Point2D(250, Config["window_height"]-250), Point2D(128,128),"Level 2", "/usr/share/games/atomorun2008/resources/textures/lvls/lvl2_thumb.png", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
++ myImageButtons[1].addActionListener(theMenue, "Game", "/usr/share/games/atomorun2008/resources/lvls/lvl2.txt");
+
+ myImageButtons[2] = new ImageButton();
+- myImageButtons[2].init(Point2D(450, Config["window_height"]-250), Point2D(128,128),"Level 3", "resources/textures/lvls/lvl3_thumb.png", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
+- myImageButtons[2].addActionListener(theMenue, "Game", "resources/lvls/lvl3.txt");
++ myImageButtons[2].init(Point2D(450, Config["window_height"]-250), Point2D(128,128),"Level 3", "/usr/share/games/atomorun2008/resources/textures/lvls/lvl3_thumb.png", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
++ myImageButtons[2].addActionListener(theMenue, "Game", "/usr/share/games/atomorun2008/resources/lvls/lvl3.txt");
+
+ myImageButtons[3] = new ImageButton();
+- myImageButtons[3].init(Point2D(250, Config["window_height"]-650), Point2D(128,128),"Special Level", "resources/textures/lvls/lvl4_thumb.png", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
+- myImageButtons[3].addActionListener(theMenue, "Game", "resources/lvls/lvlSpecial.txt");
++ myImageButtons[3].init(Point2D(250, Config["window_height"]-650), Point2D(128,128),"Special Level", "/usr/share/games/atomorun2008/resources/textures/lvls/lvl4_thumb.png", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
++ myImageButtons[3].addActionListener(theMenue, "Game", "/usr/share/games/atomorun2008/resources/lvls/lvlSpecial.txt");
+
+ myImageButtons[4] = new ImageButton();
+- myImageButtons[4].init(Point2D(50, Config["window_height"]-450), Point2D(128,128),"Level 4", "resources/textures/lvls/lvl5_thumb.png", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
+- myImageButtons[4].addActionListener(theMenue, "Game", "resources/lvls/lvl1b.txt");
++ myImageButtons[4].init(Point2D(50, Config["window_height"]-450), Point2D(128,128),"Level 4", "/usr/share/games/atomorun2008/resources/textures/lvls/lvl5_thumb.png", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
++ myImageButtons[4].addActionListener(theMenue, "Game", "/usr/share/games/atomorun2008/resources/lvls/lvl1b.txt");
+
+ myImageButtons[5] = new ImageButton();
+- myImageButtons[5].init(Point2D(250, Config["window_height"]-450), Point2D(128,128),"Level 5", "resources/textures/lvls/lvl6_thumb.png", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
+- myImageButtons[5].addActionListener(theMenue, "Game", "resources/lvls/lvl2b.txt");
++ myImageButtons[5].init(Point2D(250, Config["window_height"]-450), Point2D(128,128),"Level 5", "/usr/share/games/atomorun2008/resources/textures/lvls/lvl6_thumb.png", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
++ myImageButtons[5].addActionListener(theMenue, "Game", "/usr/share/games/atomorun2008/resources/lvls/lvl2b.txt");
+
+ myImageButtons[6] = new ImageButton();
+- myImageButtons[6].init(Point2D(450, Config["window_height"]-450), Point2D(128,128),"Level 6", "resources/textures/lvls/lvl7_thumb.png", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
+- myImageButtons[6].addActionListener(theMenue, "Game", "resources/lvls/lvl3b.txt");
++ myImageButtons[6].init(Point2D(450, Config["window_height"]-450), Point2D(128,128),"Level 6", "/usr/share/games/atomorun2008/resources/textures/lvls/lvl7_thumb.png", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
++ myImageButtons[6].addActionListener(theMenue, "Game", "/usr/share/games/atomorun2008/resources/lvls/lvl3b.txt");
+
+ File hm = new File();
+- hm.open("resources/savegame", FileMode.In);
++ hm.open(pref_file(), FileMode.In);
+ int data;
+ while (!hm.eof) {
+ hm.readf(&data);
+@@ -65,9 +77,9 @@
+ };
+ hm.close();
+
+- myTexGold = cast(Texture2D)ResourceManager.getInstance().need((Texture2D.classinfo), "resources/textures/prize/gold.png");
+- myTexSilver = cast(Texture2D)ResourceManager.getInstance().need((Texture2D.classinfo), "resources/textures/prize/silver.png");
+- myTexBronze = cast(Texture2D)ResourceManager.getInstance().need((Texture2D.classinfo), "resources/textures/prize/bronze.png");
++ myTexGold = cast(Texture2D)ResourceManager.getInstance().need((Texture2D.classinfo), "/usr/share/games/atomorun2008/resources/textures/prize/gold.png");
++ myTexSilver = cast(Texture2D)ResourceManager.getInstance().need((Texture2D.classinfo), "/usr/share/games/atomorun2008/resources/textures/prize/silver.png");
++ myTexBronze = cast(Texture2D)ResourceManager.getInstance().need((Texture2D.classinfo), "/usr/share/games/atomorun2008/resources/textures/prize/bronze.png");
+ };
+ override void refresh() {
+ foreach(button; myButtons) button.refresh();
+diff -Naur atomorun2008-1.0-O/src/menuemain.d atomorun2008-1.0/src/menuemain.d
+--- atomorun2008-1.0-O/src/menuemain.d 2008-03-13 16:27:08.000000000 +0100
++++ atomorun2008-1.0/src/menuemain.d 2008-08-13 16:26:12.000000000 +0200
+@@ -19,15 +19,15 @@
+ myButtons.length = 3;
+
+ myButtons[0] = new Button;
+- myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[0].addActionListener(theMenue, "Menue", "LVL");
+
+ myButtons[1] = new Button;
+- myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[1].addActionListener(theMenue, "Menue", "Copyright");
+
+ myButtons[2] = new Button;
+- myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[2].addActionListener(theMenue, "Menue", "Quit");
+ };
+ override void refresh() {
+diff -Naur atomorun2008-1.0-O/src/menuewonbronze.d atomorun2008-1.0/src/menuewonbronze.d
+--- atomorun2008-1.0-O/src/menuewonbronze.d 2008-03-13 16:24:34.000000000 +0100
++++ atomorun2008-1.0/src/menuewonbronze.d 2008-08-13 16:26:12.000000000 +0200
+@@ -19,21 +19,21 @@
+ class MenueWonBronze : MenueImpl {
+ public:
+ override void init(Menue theMenue) {
+- mySound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "resources/sounds/game_end.wav");
++ mySound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "/usr/share/games/atomorun2008/resources/sounds/game_end.wav");
+ Mix_PlayChannel(-1, mySound.sound, 0);
+
+ myButtons.length = 3;
+
+ myButtons[0] = new Button;
+- myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[0].addActionListener(theMenue, "Menue", "LVL");
+
+ myButtons[1] = new Button;
+- myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[1].addActionListener(theMenue, "Menue", "Copyright");
+
+ myButtons[2] = new Button;
+- myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[2].addActionListener(theMenue, "Menue", "Quit");
+ };
+ override void refresh() {
+diff -Naur atomorun2008-1.0-O/src/menuewongold.d atomorun2008-1.0/src/menuewongold.d
+--- atomorun2008-1.0-O/src/menuewongold.d 2008-03-13 16:24:36.000000000 +0100
++++ atomorun2008-1.0/src/menuewongold.d 2008-08-13 16:26:12.000000000 +0200
+@@ -19,21 +19,21 @@
+ class MenueWonGold : MenueImpl {
+ public:
+ override void init(Menue theMenue) {
+- mySound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "resources/sounds/game_end.wav");
++ mySound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "/usr/share/games/atomorun2008/resources/sounds/game_end.wav");
+ Mix_PlayChannel(-1, mySound.sound, 0);
+
+ myButtons.length = 3;
+
+ myButtons[0] = new Button;
+- myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[0].addActionListener(theMenue, "Menue", "LVL");
+
+ myButtons[1] = new Button;
+- myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[1].addActionListener(theMenue, "Menue", "Copyright");
+
+ myButtons[2] = new Button;
+- myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[2].addActionListener(theMenue, "Menue", "Quit");
+ };
+ override void refresh() {
+diff -Naur atomorun2008-1.0-O/src/menuewonsilver.d atomorun2008-1.0/src/menuewonsilver.d
+--- atomorun2008-1.0-O/src/menuewonsilver.d 2008-03-13 16:23:28.000000000 +0100
++++ atomorun2008-1.0/src/menuewonsilver.d 2008-08-13 16:26:12.000000000 +0200
+@@ -19,21 +19,21 @@
+ class MenueWonSilver : MenueImpl {
+ public:
+ override void init(Menue theMenue) {
+- mySound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "resources/sounds/game_end.wav");
++ mySound = cast(Sound)ResourceManager.getInstance().need((Sound.classinfo), "/usr/share/games/atomorun2008/resources/sounds/game_end.wav");
+ Mix_PlayChannel(-1, mySound.sound, 0);
+
+ myButtons.length = 3;
+
+ myButtons[0] = new Button;
+- myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[0].init(Point2D(Config["window_width"]-250, 220), Point2D(256,37),".start game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[0].addActionListener(theMenue, "Menue", "LVL");
+
+ myButtons[1] = new Button;
+- myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[1].init(Point2D(Config["window_width"]-250, 170), Point2D(256,37),".copyrights", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[1].addActionListener(theMenue, "Menue", "Copyright");
+
+ myButtons[2] = new Button;
+- myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "resources/sounds/menue_click.wav", "resources/sounds/menue_over.wav");
++ myButtons[2].init(Point2D(Config["window_width"]-250, 120), Point2D(256,37),".quit game", "/usr/share/games/atomorun2008/resources/sounds/menue_click.wav", "/usr/share/games/atomorun2008/resources/sounds/menue_over.wav");
+ myButtons[2].addActionListener(theMenue, "Menue", "Quit");
+ };
+ override void refresh() {
+diff -Naur atomorun2008-1.0-O/src/meshzms.d atomorun2008-1.0/src/meshzms.d
+--- atomorun2008-1.0-O/src/meshzms.d 2008-03-13 15:01:34.000000000 +0100
++++ atomorun2008-1.0/src/meshzms.d 2008-08-13 16:26:12.000000000 +0200
+@@ -85,7 +85,7 @@
+ };
+
+ void loadDefault() {
+- loadSpecific("resources/meshes/defaultmesh.zms");
++ loadSpecific("/usr/share/games/atomorun2008/resources/meshes/defaultmesh.zms");
+ };
+
+ override void unloadSpecific() {
+diff -Naur atomorun2008-1.0-O/src/player.d atomorun2008-1.0/src/player.d
+--- atomorun2008-1.0-O/src/player.d 2008-03-13 14:59:00.000000000 +0100
++++ atomorun2008-1.0/src/player.d 2008-08-13 16:26:12.000000000 +0200
+@@ -22,10 +22,10 @@
+ public:
+
+ void init() {
+- myMesh = cast(MeshZMS)ResourceManager.getInstance.need(MeshZMS.classinfo, "resources/meshes/player.zms");
+- myJumpSound = cast(Sound)ResourceManager.getInstance.need(Sound.classinfo, "resources/sounds/player_jump.wav");
+- myLandSound = cast(Sound)ResourceManager.getInstance.need(Sound.classinfo, "resources/sounds/player_land2.wav");
+- myWalkSound = cast(Sound)ResourceManager.getInstance.need(Sound.classinfo, "resources/sounds/player_walk.wav");
++ myMesh = cast(MeshZMS)ResourceManager.getInstance.need(MeshZMS.classinfo, "/usr/share/games/atomorun2008/resources/meshes/player.zms");
++ myJumpSound = cast(Sound)ResourceManager.getInstance.need(Sound.classinfo, "/usr/share/games/atomorun2008/resources/sounds/player_jump.wav");
++ myLandSound = cast(Sound)ResourceManager.getInstance.need(Sound.classinfo, "/usr/share/games/atomorun2008/resources/sounds/player_land2.wav");
++ myWalkSound = cast(Sound)ResourceManager.getInstance.need(Sound.classinfo, "/usr/share/games/atomorun2008/resources/sounds/player_walk.wav");
+
+ };
+ void uninit() {
+diff -Naur atomorun2008-1.0-O/src/sound.d atomorun2008-1.0/src/sound.d
+--- atomorun2008-1.0-O/src/sound.d 2008-03-11 12:34:46.000000000 +0100
++++ atomorun2008-1.0/src/sound.d 2008-08-13 16:26:12.000000000 +0200
+@@ -25,7 +25,7 @@
+ mySound = null;
+ };
+ override void loadDefault() {
+- loadSpecific("resources/sounds/defaultsound.wav");
++ loadSpecific("/usr/share/games/atomorun2008/resources/sounds/defaultsound.wav");
+ };
+
+ Mix_Chunk* sound() { return mySound; };
diff --git a/games-arcade/atomorun2008/files/atomorun2008.png b/games-arcade/atomorun2008/files/atomorun2008.png
new file mode 100755
index 0000000..ce18ef9
--- /dev/null
+++ b/games-arcade/atomorun2008/files/atomorun2008.png
Binary files differ
diff --git a/games-arcade/atomorun2008/metadata.xml b/games-arcade/atomorun2008/metadata.xml
new file mode 100644
index 0000000..4e4714e
--- /dev/null
+++ b/games-arcade/atomorun2008/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>frostworks@gmx.de</email>
+ <name>Marcel Unbehaun</name>
+</maintainer>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-arcade/dave/Manifest b/games-arcade/dave/Manifest
new file mode 100644
index 0000000..33d4563
--- /dev/null
+++ b/games-arcade/dave/Manifest
@@ -0,0 +1,5 @@
+AUX dave-1.0-data.patch 14265 RMD160 c3af1446968836c3e3ae8ae136e45f943179658d SHA1 49890786a1a6554130abbd6577a690f63888a7f9 SHA256 01c6503d68a774574deea77b0b2c7c677e66b18546fc9506bb034b463dc4d859
+AUX dave-1.0-gcc43.patch 599 RMD160 a3201aec1262ab3b8fb48bb9b0dead37a458ce2b SHA1 940532fca4aefedceb66f9eec50d691c138532ef SHA256 49edaebcf03ccf9d57c25c93fa38f929fa43fe7ada24847b88367dfa0abddc1a
+DIST dave_sources.zip 35980153 RMD160 84a216d9607c099bdc03b02e3e3aadba492a7f3c SHA1 00ad5657aef4b1b9dd70cf836290eb27ea538338 SHA256 3c84c06fbbcf748fde30885aef401df8c1fc1ff8dd750178a21aae202f7ff866
+EBUILD dave-1.0.ebuild 1160 RMD160 83288deb2c04e98bdebdbae62336d8f33d746edf SHA1 840a1b0aa75d72ce7d42523059d435ba5ed5e36c SHA256 0694a24f11fc665611df5c78861276dfae44fe6b4ef74ea13534f7c9d24754f1
+MISC metadata.xml 161 RMD160 734c72757bdba2e93d5c7cfa946fd9eb69e01681 SHA1 e721608e30cdca8dd809c1024687fe4887c49293 SHA256 5102a957a119374da719ca711f473e89fd4183d4e91e86f59e2fc4dce7e607dc
diff --git a/games-arcade/dave/dave-1.0.ebuild b/games-arcade/dave/dave-1.0.ebuild
new file mode 100644
index 0000000..1e38dd2
--- /dev/null
+++ b/games-arcade/dave/dave-1.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-arcade/dave/dave-1.0.ebuild,v 1.1 2008/09/02 13:31:40 frostwork Exp $
+
+EAPI="2"
+
+inherit games
+
+DESCRIPTION="Dave - The ordinary spaceman"
+HOMEPAGE="http://thykka.ath.cx/dave/?page=115"
+SRC_URI="http://tyk-ry.utu.fi/~jupet/${PN}_sources.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="virtual/opengl
+ media-libs/libsdl
+ media-libs/sdl-mixer
+ media-libs/sdl-image
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/glew"
+DEPEND="${RDEPEND}
+ dev-util/cmake"
+
+S="${WORKDIR}"/"${PN}"
+
+src_prepare(){
+ epatch "${FILESDIR}"/${P}-data.patch
+ epatch "${FILESDIR}"/${P}-gcc43.patch
+}
+
+src_compile() {
+ # dave does not allow out tree build
+ cmake .
+ emake || die "make failed"
+}
+
+src_install() {
+ local datadir="${GAMES_DATADIR}"/${PN}
+
+ dogamesbin ${PN}
+ newgamesbin editor ${PN}-editor
+ dodir ${datadir}
+ insinto "${datadir}"
+ doins -r audio graphics levels || die "data install failed"
+ insinto "${GAMES_SYSCONFDIR}"/${PN}
+ newins ${PN}.conf.sample ${PN}.conf || die "conf install failed"
+
+}
diff --git a/games-arcade/dave/files/dave-1.0-data.patch b/games-arcade/dave/files/dave-1.0-data.patch
new file mode 100644
index 0000000..41b01da
--- /dev/null
+++ b/games-arcade/dave/files/dave-1.0-data.patch
@@ -0,0 +1,322 @@
+diff -Naur dave-org/analog_effects.cpp dave/analog_effects.cpp
+--- dave-org/analog_effects.cpp 2008-08-13 21:43:21.000000000 +0200
++++ dave/analog_effects.cpp 2008-09-02 14:26:36.000000000 +0200
+@@ -881,7 +881,7 @@
+ MotionBlur::MotionBlur() : chroma(1.0f), amount(0.3f), prog(NULL), blurred_fbo(NULL), blurred_texture(NULL)
+ {
+ if (game->get_ext()->shaders && game->get_ext()->fbo) {
+- prog = new GLProgram("graphics/motion_blur_vert.glsl", "graphics/motion_blur_frag.glsl");
++ prog = new GLProgram("/usr/share/games/dave/graphics/motion_blur_vert.glsl", "/usr/share/games/dave/graphics/motion_blur_frag.glsl");
+ prog->use();
+ prog->set_int("current", 0);
+ prog->set_int("blurred", 1);
+@@ -938,7 +938,7 @@
+ {
+ if (!game->get_ext()->shaders || !game->get_ext()->fbo)
+ return;
+- prog = new GLProgram("graphics/gaussian_blur_vert.glsl", "graphics/gaussian_blur_frag.glsl");
++ prog = new GLProgram("/usr/share/games/dave/graphics/gaussian_blur_vert.glsl", "/usr/share/games/dave/graphics/gaussian_blur_frag.glsl");
+ prog->use();
+ prog->set_int("image", 0);
+ prog->unuse();
+@@ -982,7 +982,7 @@
+ TV::TV() : zoom(0.0f), started_zooming_at(-1000.0f), zooming_in(false)
+ {
+ room = new Scene();
+- tv = new Model("graphics/telq.3ds");
++ tv = new Model("/usr/share/games/dave/graphics/telq.3ds");
+ tv->set_texture( lib["toelloe.png" ]);
+ tv->set_self_illumination(&proxy);
+ tv->set_environment( lib["tv_environment.png" ]);
+@@ -1060,7 +1060,7 @@
+ PalNoise::PalNoise()
+ {
+ noise = lib["pal_noise.png"];
+- prog = new GLProgram("graphics/noise_vert.glsl", "graphics/noise_frag.glsl");
++ prog = new GLProgram("/usr/share/games/dave/graphics/noise_vert.glsl", "/usr/share/games/dave/graphics/noise_frag.glsl");
+ }
+
+ PalNoise::~PalNoise()
+@@ -1123,7 +1123,7 @@
+ set_bend(0.0f);
+ offset = 0.0f;
+ if (game->get_ext()->shaders)
+- prog = new GLProgram("graphics/tape_vert.glsl", "graphics/tape_frag.glsl");
++ prog = new GLProgram("/usr/share/games/dave/graphics/tape_vert.glsl", "/usr/share/games/dave/graphics/tape_frag.glsl");
+ }
+
+ TapeDistortion::~TapeDistortion()
+diff -Naur dave-org/editor.cpp dave/editor.cpp
+--- dave-org/editor.cpp 2008-08-13 21:43:21.000000000 +0200
++++ dave/editor.cpp 2008-09-02 14:22:30.000000000 +0200
+@@ -101,7 +101,7 @@
+
+ for (int pass=0; pass<2; pass++) {
+ struct dirent *dir;
+- DIR *d = opendir("graphics");
++ DIR *d = opendir("/usr/share/games/dave/graphics");
+ if (d) {
+ while ((dir = readdir(d)) != NULL) {
+ string name = dir->d_name;
+diff -Naur dave-org/game.cpp dave/game.cpp
+--- dave-org/game.cpp 2008-08-13 21:43:21.000000000 +0200
++++ dave/game.cpp 2008-09-02 14:37:18.000000000 +0200
+@@ -260,7 +260,7 @@
+ dave_kuopio->add_ability(new Ability(Ability::LASER_PULSE));
+ dave_kuopio->set_flags(Level::Block::MONOCHROME, true);
+ if (ext.shaders)
+- kuopio_prog = new GLProgram("graphics/kuopio_vert.glsl", "graphics/kuopio_frag.glsl");
++ kuopio_prog = new GLProgram("/usr/share/games/dave/graphics/kuopio_vert.glsl", "/usr/share/games/dave/graphics/kuopio_frag.glsl");
+ cerr<<"dave lisätty\n";
+ current_level->reset();
+ cerr<<"vihulaiset lisätty\n";
+@@ -291,10 +291,10 @@
+
+ remote = new Remote();
+
+- img_rewind = new Image("graphics/rewind.png", true);
+- img_stop = new Image("graphics/stop.png" , true);
+- img_play = new Image("graphics/play.png" , true);
+- img_record = new Image("graphics/rec.png" , true);
++ img_rewind = new Image("/usr/share/games/dave/graphics/rewind.png", true);
++ img_stop = new Image("/usr/share/games/dave/graphics/stop.png" , true);
++ img_play = new Image("/usr/share/games/dave/graphics/play.png" , true);
++ img_record = new Image("/usr/share/games/dave/graphics/rec.png" , true);
+ }
+
+ Game::~Game()
+@@ -824,7 +824,7 @@
+ {
+ const bool gfin = game_completed;
+ render();
+- Mix_Music *vaapukka = Mix_LoadMUS("audio/Kirahvi_nimelta_Tuike_-_Vaapukkamehulaulu.ogg");
++ Mix_Music *vaapukka = Mix_LoadMUS("/usr/share/games/dave/audio/Kirahvi_nimelta_Tuike_-_Vaapukkamehulaulu.ogg");
+ Mix_PlayMusic(vaapukka, -1);
+ if (fin)
+ Mix_SetMusicPosition(224.0);
+@@ -844,7 +844,7 @@
+
+ set<int> pages;
+ struct dirent *dir;
+- DIR *d = opendir("graphics");
++ DIR *d = opendir("/usr/share/games/dave/graphics");
+ if (d) {
+ while ((dir = readdir(d)) != NULL) {
+ const char *name = dir->d_name;
+@@ -870,7 +870,7 @@
+ teletext[page] = new Teletext();
+ teletext[page]->set_text(string(41 * 26, ' '));
+ ostringstream fname;
+- fname << "graphics/page" << page << ".tv";
++ fname << "/usr/share/games/dave/graphics/page" << page << ".tv";
+ ifstream main_text(fname.str().c_str(), ios_base::in | ios_base::binary);
+ string::size_type pos = 0;
+ for (int y=0; y<25; y++) {
+@@ -1009,7 +1009,7 @@
+ if (!prev_credits) {
+ static Mix_Music *noman;
+ if (!noman)
+- noman = Mix_LoadMUS("audio/Delicious_Orange_-_No-Man.ogg");
++ noman = Mix_LoadMUS("/usr/share/games/dave/audio/Delicious_Orange_-_No-Man.ogg");
+ Mix_PlayMusic(noman, -1);
+ start = 0.001f * SDL_GetTicks();
+ }
+@@ -1301,7 +1301,7 @@
+
+ void Game::save_config() const
+ {
+- ofstream f("dave.conf", ios_base::out | ios_base::binary);
++ ofstream f("/etc/games/dave/dave.conf", ios_base::out | ios_base::binary);
+ for (map<string, string>::const_iterator i=config.begin(); i!=config.end(); ++i) {
+ f << i->first;
+ int si = 20 - i->first.size();
+@@ -1318,11 +1318,11 @@
+ // Parsing file
+ config.clear();
+ ifstream f;
+- f.open("dave.conf", ios_base::in | ios_base::binary);
++ f.open("/etc/games/dave/dave.conf", ios_base::in | ios_base::binary);
+ if (!f.good()) {
+ f.close();
+ f.clear();
+- f.open("dave.conf.sample", ios_base::in | ios_base::binary);
++ f.open("/etc/games/dave/dave.conf.sample", ios_base::in | ios_base::binary);
+ }
+ if (!f.good()) {
+ char cwd[128];
+@@ -1367,10 +1367,10 @@
+ string Game::get_level_filename() const
+ {
+ switch (current_level_number) {
+- case 0: return "levels/practice.dave";
+- case 1: return "levels/avaruus.dave";
+- case 2: return "levels/ruohikko.dave";
+- case 3: return "levels/videonauhuri.dave";
++ case 0: return "/usr/share/games/dave/levels/practice.dave";
++ case 1: return "/usr/share/games/dave/levels/avaruus.dave";
++ case 2: return "/usr/share/games/dave/levels/ruohikko.dave";
++ case 3: return "/usr/share/games/dave/levels/videonauhuri.dave";
+ default:
+ throw;
+ }
+diff -Naur dave-org/level.cpp dave/level.cpp
+--- dave-org/level.cpp 2008-08-13 21:43:21.000000000 +0200
++++ dave/level.cpp 2008-09-02 14:29:41.000000000 +0200
+@@ -503,7 +503,7 @@
+ starfield[i].set_texture(lib["star.png"]);
+ background_scene->add_model(&starfield[i]);
+ if (!i)
+- starfield[i].load_shader("graphics/starfield_vert.glsl", "graphics/starfield_frag.glsl");
++ starfield[i].load_shader("/usr/share/games/dave/graphics/starfield_vert.glsl", "/usr/share/games/dave/graphics/starfield_frag.glsl");
+ else
+ starfield[i].use_same_shader_as(&starfield[0]);
+ }
+@@ -520,12 +520,12 @@
+ else if (lev == 2) { // Grass
+ if (rocket == NULL) {
+ background_scene = new Scene();
+- rocket = new Model("graphics/roket.3ds");
++ rocket = new Model("/usr/share/games/dave/graphics/roket.3ds");
+ background_scene->add_model(rocket);
+- valley = new Model("graphics/laakso.3ds");
++ valley = new Model("/usr/share/games/dave/graphics/laakso.3ds");
+ valley->set_texture(lib["laakso.png"]);
+ background_scene->add_model(valley);
+- sun = new Model("graphics/aurinko.3ds");
++ sun = new Model("/usr/share/games/dave/graphics/aurinko.3ds");
+ sun->set_texture(lib["aurinko.png"]);
+ background_scene->add_model(sun);
+ gaussian = new GaussianBlur();
+@@ -577,28 +577,28 @@
+ (*i)->handle(this, dt, time);
+
+ if (current_music[0] == NULL) {
+- current_music [0] = Mix_LoadMUS("audio/thyks-video_cleaner_fluid.ogg");
+- current_music_reversed[0] = Mix_LoadMUS("audio/thyks-video_cleaner_fluid_reverse.ogg");
++ current_music [0] = Mix_LoadMUS("/usr/share/games/dave/audio/thyks-video_cleaner_fluid.ogg");
++ current_music_reversed[0] = Mix_LoadMUS("/usr/share/games/dave/audio/thyks-video_cleaner_fluid_reverse.ogg");
+ intro [0] = NULL;
+ current_music [1] = current_music[0];
+ current_music_reversed[1] = current_music_reversed[0];
+ intro [1] = NULL;
+- current_music [2] = Mix_LoadMUS("audio/sid000loop.ogg");
+- current_music_reversed[2] = Mix_LoadMUS("audio/sid000loop_reverse.ogg");
+- intro [2] = Mix_LoadMUS("audio/sid000intro.ogg");
+- current_music [3] = Mix_LoadMUS("audio/sid002loop.ogg");
+- current_music_reversed[3] = Mix_LoadMUS("audio/sid002loop_reverse.ogg");
+- intro [3] = Mix_LoadMUS("audio/sid002intro.ogg");
+-
+- ch_lever = Mix_LoadWAV("audio/avaruusvipu.ogg");
+- ch_lazor = Mix_LoadWAV("audio/lazor.ogg");
+- ch_pink = Mix_LoadWAV("audio/pink_noise_10s.ogg");
+- ch_piuingg = Mix_LoadWAV("audio/piuingg.ogg");
+- ch_random = Mix_LoadWAV("audio/random.ogg");
+- ch_tv_noise = Mix_LoadWAV("audio/tv_noise_10s.ogg");
+- ch_tilu = Mix_LoadWAV("audio/tilulilu.ogg");
+- ch_charge = Mix_LoadWAV("audio/charge.ogg");
+- ch_pack = Mix_LoadWAV("audio/pack.ogg");
++ current_music [2] = Mix_LoadMUS("/usr/share/games/dave/audio/sid000loop.ogg");
++ current_music_reversed[2] = Mix_LoadMUS("/usr/share/games/dave/audio/sid000loop_reverse.ogg");
++ intro [2] = Mix_LoadMUS("/usr/share/games/dave/audio/sid000intro.ogg");
++ current_music [3] = Mix_LoadMUS("/usr/share/games/dave/audio/sid002loop.ogg");
++ current_music_reversed[3] = Mix_LoadMUS("/usr/share/games/dave/audio/sid002loop_reverse.ogg");
++ intro [3] = Mix_LoadMUS("/usr/share/games/dave/audio/sid002intro.ogg");
++
++ ch_lever = Mix_LoadWAV("/usr/share/games/dave/audio/avaruusvipu.ogg");
++ ch_lazor = Mix_LoadWAV("/usr/share/games/dave/audio/lazor.ogg");
++ ch_pink = Mix_LoadWAV("/usr/share/games/dave/audio/pink_noise_10s.ogg");
++ ch_piuingg = Mix_LoadWAV("/usr/share/games/dave/audio/piuingg.ogg");
++ ch_random = Mix_LoadWAV("/usr/share/games/dave/audio/random.ogg");
++ ch_tv_noise = Mix_LoadWAV("/usr/share/games/dave/audio/tv_noise_10s.ogg");
++ ch_tilu = Mix_LoadWAV("/usr/share/games/dave/audio/tilulilu.ogg");
++ ch_charge = Mix_LoadWAV("/usr/share/games/dave/audio/charge.ogg");
++ ch_pack = Mix_LoadWAV("/usr/share/games/dave/audio/pack.ogg");
+
+ play_music(false);
+ Mix_VolumeMusic(SDL_MIX_MAXVOLUME);
+diff -Naur dave-org/library.cpp dave/library.cpp
+--- dave-org/library.cpp 2008-08-12 16:38:51.000000000 +0200
++++ dave/library.cpp 2008-09-02 14:27:09.000000000 +0200
+@@ -102,7 +102,7 @@
+ Image *l = new Image();
+ string ff;
+
+- ff = "graphics/" + filename;
++ ff = "/usr/share/games/dave/graphics/" + filename;
+ if (l->load(ff, true))
+ return l;
+
+diff -Naur dave-org/model.cpp dave/model.cpp
+--- dave-org/model.cpp 2008-08-13 21:43:21.000000000 +0200
++++ dave/model.cpp 2008-09-02 14:27:54.000000000 +0200
+@@ -160,7 +160,7 @@
+ build_kdtree(kdtree, hash);
+
+ char buf[64];
+- sprintf(buf, "graphics/aocache%x.tmp", hash);
++ sprintf(buf, "/usr/share/games/dave/graphics/aocache%x.tmp", hash);
+
+ FILE* fp = fopen(buf, "rb");
+ if (fp)
+@@ -598,9 +598,9 @@
+
+ if (using_shader) {
+ if (game->get_ext()->simple_shaders == false)
+- program = new GLProgram("graphics/telq_vert.glsl", "graphics/telq_frag.glsl");
++ program = new GLProgram("/usr/share/games/dave/graphics/telq_vert.glsl", "/usr/share/games/dave/graphics/telq_frag.glsl");
+ else
+- program = new GLProgram("graphics/telq_vert.glsl", "graphics/telq_frag.mac.glsl");
++ program = new GLProgram("/usr/share/games/dave/graphics/telq_vert.glsl", "/usr/share/games/dave/graphics/telq_frag.mac.glsl");
+ program->use();
+ program->set_int("tex", 0);
+ program->set_int("self_illum", 1);
+diff -Naur dave-org/opengl.cpp dave/opengl.cpp
+--- dave-org/opengl.cpp 2008-08-12 16:38:51.000000000 +0200
++++ dave/opengl.cpp 2008-09-02 14:24:50.000000000 +0200
+@@ -72,7 +72,7 @@
+ fprintf(stderr, "Compling shader '%s', '%s'...", vertFile, fragFile);
+ prog = glCreateProgramObjectARB();
+
+- load_file("graphics/std.glsl", buffer);
++ load_file("/usr/share/games/dave/graphics/std.glsl", buffer);
+
+ static const char* src[2] = { buffer, buffer2 };
+
+diff -Naur dave-org/remote.cpp dave/remote.cpp
+--- dave-org/remote.cpp 2008-08-13 21:43:21.000000000 +0200
++++ dave/remote.cpp 2008-09-02 14:31:24.000000000 +0200
+@@ -38,11 +38,11 @@
+ static Storyboard/*<256>*/ record(Storyboard::PLAYBACK, 1 ); // Records the movements of Dave while record button is pressed
+
+ Remote::Remote() :
+- Model("graphics/remote/runko.3DS"),
++ Model("/usr/share/games/dave/graphics/remote/runko.3DS"),
+ pressed(NOTHING),
+ paused(false),
+ screen_texture(GL_RGB8, 512, 512),
+- grid("graphics/lcd_grid.png", false)
++ grid("/usr/share/games/dave/graphics/lcd_grid.png", false)
+ {
+ set_texture(lib["remote/mappi3.png"]);
+ scene = new Scene();
+@@ -51,17 +51,17 @@
+ set_position(0.0f, 0.0f, /*-23.0f*/ -40.0f);
+ //set_rotation(90.0f, 0.0f, 0.0f);
+
+- screen = new Model("graphics/remote/nayttooikee2.3DS");
++ screen = new Model("/usr/share/games/dave/graphics/remote/nayttooikee2.3DS");
+ add_model(screen);
+ screen->set_texture(new TextureProxy(&screen_texture));
+- gaps = new Model("graphics/remote/nreunat.3DS");
++ gaps = new Model("/usr/share/games/dave/graphics/remote/nreunat.3DS");
+ add_model(gaps);
+ gaps->set_texture(lib["remote/napit.png"]);
+ button_count = 27;
+ buttons = new Model [button_count] ();
+ for (int i=0; i<button_count; i++) {
+ ostringstream s;
+- s << "graphics/remote/n" << i + 1 << "ya.3DS";
++ s << "/usr/share/games/dave/graphics/remote/n" << i + 1 << "ya.3DS";
+ buttons[i].load(s.str());
+ buttons[i].set_texture(lib["remote/napit.png"]);
+ add_model(&buttons[i]);
diff --git a/games-arcade/dave/files/dave-1.0-gcc43.patch b/games-arcade/dave/files/dave-1.0-gcc43.patch
new file mode 100644
index 0000000..483f02d
--- /dev/null
+++ b/games-arcade/dave/files/dave-1.0-gcc43.patch
@@ -0,0 +1,22 @@
+diff -urN dave.old/fellow.cpp dave/fellow.cpp
+--- dave.old/fellow.cpp 2008-08-13 21:43:21.000000000 +0200
++++ dave/fellow.cpp 2008-09-03 10:45:11.000000000 +0200
+@@ -23,6 +23,7 @@
+ */
+
+ #include <cassert>
++#include <typeinfo>
+ #include <sstream>
+ #include <set>
+ #if defined(__MACOS__) || defined(__APPLE__)
+diff -urN dave.old/kdtree.cpp dave/kdtree.cpp
+--- dave.old/kdtree.cpp 2008-08-12 16:38:52.000000000 +0200
++++ dave/kdtree.cpp 2008-09-03 10:58:19.000000000 +0200
+@@ -23,6 +23,7 @@
+ */
+
+ #include "kdtree.h"
++#include <cstdio>
+ #include <stack>
+ #include <algorithm>
+ #include <assert.h>
diff --git a/games-arcade/dave/metadata.xml b/games-arcade/dave/metadata.xml
new file mode 100644
index 0000000..4a5a466
--- /dev/null
+++ b/games-arcade/dave/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>playboys</herd>
+</pkgmetadata>
diff --git a/games-arcade/edgar/Manifest b/games-arcade/edgar/Manifest
new file mode 100644
index 0000000..dbc6b20
--- /dev/null
+++ b/games-arcade/edgar/Manifest
@@ -0,0 +1,3 @@
+DIST edgar-0.25-1.tar.gz 8501378 RMD160 7aafa3b0752efb2f638b12d7ed02a656cb6ecb75 SHA1 047a0e664ecd88d96c89d44fe064dc72d3e017c9 SHA256 55af5aa0a06682356e0cd0dda297cadad1db9832af2bd5276287909a4fc64f03
+EBUILD edgar-0.25.ebuild 857 RMD160 8fd777d10c051a03819024e5bba60cf8a116b00a SHA1 f4dd34b3a0dd4c104a82d353ac402433710375b2 SHA256 06aabb14603fbb9a4974cc0b5fc04530cab29343c4a02cf0a9c73346e05af07d
+MISC metadata.xml 161 RMD160 734c72757bdba2e93d5c7cfa946fd9eb69e01681 SHA1 e721608e30cdca8dd809c1024687fe4887c49293 SHA256 5102a957a119374da719ca711f473e89fd4183d4e91e86f59e2fc4dce7e607dc
diff --git a/games-arcade/edgar/edgar-0.25.ebuild b/games-arcade/edgar/edgar-0.25.ebuild
new file mode 100644
index 0000000..5f7d5e1
--- /dev/null
+++ b/games-arcade/edgar/edgar-0.25.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-arcade/edgar/edgar-0.25.ebuild,v 1.1 2008/09/02 13:31:40 frostwork Exp $
+
+EAPI="2"
+
+inherit games
+
+DESCRIPTION="Dave - The ordinary spaceman"
+HOMEPAGE="http://www.parallelrealities.co.uk/projects/edgar.php"
+SRC_URI="http://www.parallelrealities.co.uk/download/8322c274/${PN}/${PN}-${PV}-1.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl
+ media-libs/sdl-mixer
+ media-libs/sdl-image
+ media-libs/sdl-ttf"
+DEPEND="${RDEPEND}"
+
+src_prepare(){
+ sed -i -e "s:\$(PREFIX)/games/:\$(PREFIX)/games/bin/:g" -i makefile
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc doc/* || die "dodoc failed"
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+} \ No newline at end of file
diff --git a/games-arcade/edgar/metadata.xml b/games-arcade/edgar/metadata.xml
new file mode 100644
index 0000000..4a5a466
--- /dev/null
+++ b/games-arcade/edgar/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>playboys</herd>
+</pkgmetadata>