diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 49 | ||||
-rw-r--r-- | zelda-roth-datafolders.patch | 773 | ||||
-rw-r--r-- | zelda-roth.desktop | 8 |
4 files changed, 852 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..d75459fba2db --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,22 @@ +pkgbase = zelda-roth + pkgdesc = 'Zelda: Return of the Hylian' is a fan-made Zelda Game (english version) + pkgver = 6.11 + pkgrel = 1 + url = http://www.zeldaroth.fr/ + arch = i686 + arch = x86_64 + license = unknown + makedepends = imagemagick + depends = sdl_gfx + depends = sdl_mixer + depends = sdl_image + conflicts = zelda-roth-fr + source = http://www.zeldaroth.fr/us/files/ROTH/Linux/ZeldaROTH_US-src-linux.zip + source = zelda-roth-datafolders.patch + source = zelda-roth.desktop + sha256sums = 9919a7fb0d2781f6323bfa27a7929fea68f4b0f26786ba9b6880b1f6a3e6f684 + sha256sums = db0ece6364fca7f4d6519f7e89182012889524b16be98e1953f4d05e227956f0 + sha256sums = 1a22a6fdf433cc6272c5375b7e64cda1480dd559883151a2fe868ae43eaf9364 + +pkgname = zelda-roth + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..209af33991ff --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG + +pkgname=zelda-roth +pkgver=6.11 +pkgrel=1 +pkgdesc="'Zelda: Return of the Hylian' is a fan-made Zelda Game (english version)" +url="http://www.zeldaroth.fr/" +arch=('i686' 'x86_64') +license=('unknown') +depends=('sdl_gfx' 'sdl_mixer' 'sdl_image') +makedepends=("imagemagick") +conflicts=("$pkgname-fr") +source=("http://www.zeldaroth.fr/us/files/ROTH/Linux/ZeldaROTH_US-src-linux.zip" + "$pkgname-datafolders.patch" + "$pkgname.desktop") +sha256sums=('9919a7fb0d2781f6323bfa27a7929fea68f4b0f26786ba9b6880b1f6a3e6f684' + 'db0ece6364fca7f4d6519f7e89182012889524b16be98e1953f4d05e227956f0' + '1a22a6fdf433cc6272c5375b7e64cda1480dd559883151a2fe868ae43eaf9364') + +prepare() { + # use user's $HOME for saves and load data from /usr/share/zelda-roth + patch -Np0 < $pkgname-datafolders.patch + + # add our $CFLAGS + cd ZeldaROTH_US-src-linux/src + sed 's|CFLAGS =|CFLAGS +=|' -i Makefile + + # create an icon + convert data/images/logos/fond.png -thumbnail '48x48' -background transparent \ + -gravity center -extent 48x48 "$srcdir"/$pkgname.png +} + +build () { + make -C ZeldaROTH_US-src-linux/src +} + +package () { + cd ZeldaROTH_US-src-linux/src + + install -Dm755 ZeldaROTH_US "$pkgdir"/usr/bin/$pkgname + # support for the old executable name + ln -s $pkgname "$pkgdir"/usr/bin/zroth + + install -d "$pkgdir"/usr/share/$pkgname + cp -rup data/{images,map,music,sound} "$pkgdir"/usr/share/$pkgname + + install -Dm644 "$srcdir/"$pkgname.png "$pkgdir"/usr/share/pixmaps/$pkgname.png + install -Dm644 "$srcdir/"$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop +} diff --git a/zelda-roth-datafolders.patch b/zelda-roth-datafolders.patch new file mode 100644 index 000000000000..9b7d66ca0853 --- /dev/null +++ b/zelda-roth-datafolders.patch @@ -0,0 +1,773 @@ +diff -Naur ZeldaROTH_US-src-linux.orig/src/Audio.cpp ZeldaROTH_US-src-linux/src/Audio.cpp +--- ZeldaROTH_US-src-linux.orig/src/Audio.cpp 2009-02-18 23:02:59.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Audio.cpp 2015-03-08 20:12:55.388490064 +0100 +@@ -53,46 +53,46 @@ + void Audio::loadSounds() { + sons = new Mix_Chunk*[40]; + +- sons[0] = Mix_LoadWAV("data/sound/text.ogg"); // lettres +- sons[1] = Mix_LoadWAV("data/sound/menu1.ogg"); // menu 1 +- sons[2] = Mix_LoadWAV("data/sound/menu2.ogg"); // menu 2 +- sons[3] = Mix_LoadWAV("data/sound/menu3.ogg"); // menu 3 +- sons[4] = Mix_LoadWAV("data/sound/menu4.ogg"); // menu 4 +- sons[5] = Mix_LoadWAV("data/sound/timewarp.ogg"); // time retour +- sons[6] = Mix_LoadWAV("data/sound/tombe.ogg"); // tombe (ennemi) +- sons[7] = Mix_LoadWAV("data/sound/hitenemy.ogg"); //shot 1 +- sons[8] = Mix_LoadWAV("data/sound/killenemy.ogg"); // shot 2 +- sons[9] = Mix_LoadWAV("data/sound/surprise.ogg"); // surprise +- sons[10] = Mix_LoadWAV("data/sound/monte.ogg"); // monte +- sons[11] = Mix_LoadWAV("data/sound/descend.ogg"); // descend +- sons[12] = Mix_LoadWAV("data/sound/chute.ogg"); // chute +- sons[13] = Mix_LoadWAV("data/sound/item.ogg"); // item +- sons[14] = Mix_LoadWAV("data/sound/rupee.ogg"); // rubis +- sons[15] = Mix_LoadWAV("data/sound/heart.ogg"); // coeur +- sons[16] = Mix_LoadWAV("data/sound/bomb.ogg"); // bombe +- sons[17] = Mix_LoadWAV("data/sound/textnext.ogg"); // suite texte +- sons[18] = Mix_LoadWAV("data/sound/textend.ogg"); // fin texte +- sons[19] = Mix_LoadWAV("data/sound/happy.ogg"); // trouve objet +- sons[20] = Mix_LoadWAV("data/sound/door.ogg"); // ouvre porte +- sons[21] = Mix_LoadWAV("data/sound/pics.ogg"); // pics contre mur +- sons[22] = Mix_LoadWAV("data/sound/sword.ogg"); // Epée +- sons[23] = Mix_LoadWAV("data/sound/SwordCharging.ogg"); // chargée +- sons[24] = Mix_LoadWAV("data/sound/Sword360.ogg"); // spin +- sons[25] = Mix_LoadWAV("data/sound/shoot.ogg"); // flèche +- sons[26] = Mix_LoadWAV("data/sound/hookshot.ogg"); // grappin +- sons[27] = Mix_LoadWAV("data/sound/stamp.ogg"); // pose bombe +- sons[28] = Mix_LoadWAV("data/sound/magic.ogg"); // magie +- sons[29] = Mix_LoadWAV("data/sound/burn.ogg"); // brËšle +- sons[30] = Mix_LoadWAV("data/sound/hammer.ogg"); // marteau +- sons[31] = Mix_LoadWAV("data/sound/plouf.ogg"); // plouf +- sons[32] = Mix_LoadWAV("data/sound/danger.ogg"); // danger +- sons[33] = Mix_LoadWAV("data/sound/hurt.ogg"); // link se blesse +- sons[34] = Mix_LoadWAV("data/sound/porte.ogg"); // porte objet +- sons[35] = Mix_LoadWAV("data/sound/lance.ogg"); // lance objet +- sons[36] = Mix_LoadWAV("data/sound/casse.ogg"); // casse objet +- sons[37] = Mix_LoadWAV("data/sound/charge.ogg"); // charge magie +- sons[38] = Mix_LoadWAV("data/sound/buisson.ogg"); // coupe buisson +- sons[39] = Mix_LoadWAV("data/sound/pousse.ogg"); // pousse caisse ++ sons[0] = Mix_LoadWAV("/usr/share/zelda-roth/sound/text.ogg"); // lettres ++ sons[1] = Mix_LoadWAV("/usr/share/zelda-roth/sound/menu1.ogg"); // menu 1 ++ sons[2] = Mix_LoadWAV("/usr/share/zelda-roth/sound/menu2.ogg"); // menu 2 ++ sons[3] = Mix_LoadWAV("/usr/share/zelda-roth/sound/menu3.ogg"); // menu 3 ++ sons[4] = Mix_LoadWAV("/usr/share/zelda-roth/sound/menu4.ogg"); // menu 4 ++ sons[5] = Mix_LoadWAV("/usr/share/zelda-roth/sound/timewarp.ogg"); // time retour ++ sons[6] = Mix_LoadWAV("/usr/share/zelda-roth/sound/tombe.ogg"); // tombe (ennemi) ++ sons[7] = Mix_LoadWAV("/usr/share/zelda-roth/sound/hitenemy.ogg"); //shot 1 ++ sons[8] = Mix_LoadWAV("/usr/share/zelda-roth/sound/killenemy.ogg"); // shot 2 ++ sons[9] = Mix_LoadWAV("/usr/share/zelda-roth/sound/surprise.ogg"); // surprise ++ sons[10] = Mix_LoadWAV("/usr/share/zelda-roth/sound/monte.ogg"); // monte ++ sons[11] = Mix_LoadWAV("/usr/share/zelda-roth/sound/descend.ogg"); // descend ++ sons[12] = Mix_LoadWAV("/usr/share/zelda-roth/sound/chute.ogg"); // chute ++ sons[13] = Mix_LoadWAV("/usr/share/zelda-roth/sound/item.ogg"); // item ++ sons[14] = Mix_LoadWAV("/usr/share/zelda-roth/sound/rupee.ogg"); // rubis ++ sons[15] = Mix_LoadWAV("/usr/share/zelda-roth/sound/heart.ogg"); // coeur ++ sons[16] = Mix_LoadWAV("/usr/share/zelda-roth/sound/bomb.ogg"); // bombe ++ sons[17] = Mix_LoadWAV("/usr/share/zelda-roth/sound/textnext.ogg"); // suite texte ++ sons[18] = Mix_LoadWAV("/usr/share/zelda-roth/sound/textend.ogg"); // fin texte ++ sons[19] = Mix_LoadWAV("/usr/share/zelda-roth/sound/happy.ogg"); // trouve objet ++ sons[20] = Mix_LoadWAV("/usr/share/zelda-roth/sound/door.ogg"); // ouvre porte ++ sons[21] = Mix_LoadWAV("/usr/share/zelda-roth/sound/pics.ogg"); // pics contre mur ++ sons[22] = Mix_LoadWAV("/usr/share/zelda-roth/sound/sword.ogg"); // Epée ++ sons[23] = Mix_LoadWAV("/usr/share/zelda-roth/sound/SwordCharging.ogg"); // chargée ++ sons[24] = Mix_LoadWAV("/usr/share/zelda-roth/sound/Sword360.ogg"); // spin ++ sons[25] = Mix_LoadWAV("/usr/share/zelda-roth/sound/shoot.ogg"); // flèche ++ sons[26] = Mix_LoadWAV("/usr/share/zelda-roth/sound/hookshot.ogg"); // grappin ++ sons[27] = Mix_LoadWAV("/usr/share/zelda-roth/sound/stamp.ogg"); // pose bombe ++ sons[28] = Mix_LoadWAV("/usr/share/zelda-roth/sound/magic.ogg"); // magie ++ sons[29] = Mix_LoadWAV("/usr/share/zelda-roth/sound/burn.ogg"); // brËšle ++ sons[30] = Mix_LoadWAV("/usr/share/zelda-roth/sound/hammer.ogg"); // marteau ++ sons[31] = Mix_LoadWAV("/usr/share/zelda-roth/sound/plouf.ogg"); // plouf ++ sons[32] = Mix_LoadWAV("/usr/share/zelda-roth/sound/danger.ogg"); // danger ++ sons[33] = Mix_LoadWAV("/usr/share/zelda-roth/sound/hurt.ogg"); // link se blesse ++ sons[34] = Mix_LoadWAV("/usr/share/zelda-roth/sound/porte.ogg"); // porte objet ++ sons[35] = Mix_LoadWAV("/usr/share/zelda-roth/sound/lance.ogg"); // lance objet ++ sons[36] = Mix_LoadWAV("/usr/share/zelda-roth/sound/casse.ogg"); // casse objet ++ sons[37] = Mix_LoadWAV("/usr/share/zelda-roth/sound/charge.ogg"); // charge magie ++ sons[38] = Mix_LoadWAV("/usr/share/zelda-roth/sound/buisson.ogg"); // coupe buisson ++ sons[39] = Mix_LoadWAV("/usr/share/zelda-roth/sound/pousse.ogg"); // pousse caisse + } + + void Audio::freeSounds() { +@@ -131,34 +131,34 @@ + + Mix_Music* Audio::choixMusique(int id) { + switch (id) { +- case 1 : return Mix_LoadMUS("data/music/Foret.mid"); +- case 2 : return Mix_LoadMUS("data/music/Plaine.mid"); +- case 3 : return Mix_LoadMUS("data/music/Lac.mid"); +- case 4 : return Mix_LoadMUS("data/music/Mont.mid"); +- case 5 : return Mix_LoadMUS("data/music/Desert.mid"); +- case 6 : return Mix_LoadMUS("data/music/Ombre.mid"); +- case 7 : return Mix_LoadMUS("data/music/Feu.mid"); +- case 8 : return Mix_LoadMUS("data/music/Cocorico.mid"); +- case 9 : return Mix_LoadMUS("data/music/Chateau.mid"); +- case 10 : case 11 : return Mix_LoadMUS("data/music/Secret.mid"); +- case 12 : case 13 : case 14 : return Mix_LoadMUS("data/music/Donjon1.mid"); +- case 15 : return Mix_LoadMUS("data/music/DDesert.mid"); +- case 16 : case 17 : case 18 : return Mix_LoadMUS("data/music/Donjon2.mid"); +- case 19 : return Mix_LoadMUS("data/music/DSecret.mid"); +- case 20 : return Mix_LoadMUS("data/music/DFinal.mid"); +- case 21 : return Mix_LoadMUS("data/music/Home.mid"); +- case 22 : case 23 : return Mix_LoadMUS("data/music/Cave.mid"); +- case 24 : case 25 : case 26 : case 27 : return Mix_LoadMUS("data/music/Fee.mid"); break; ++ case 1 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Foret.mid"); ++ case 2 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Plaine.mid"); ++ case 3 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Lac.mid"); ++ case 4 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Mont.mid"); ++ case 5 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Desert.mid"); ++ case 6 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Ombre.mid"); ++ case 7 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Feu.mid"); ++ case 8 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Cocorico.mid"); ++ case 9 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Chateau.mid"); ++ case 10 : case 11 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Secret.mid"); ++ case 12 : case 13 : case 14 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Donjon1.mid"); ++ case 15 : return Mix_LoadMUS("/usr/share/zelda-roth/music/DDesert.mid"); ++ case 16 : case 17 : case 18 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Donjon2.mid"); ++ case 19 : return Mix_LoadMUS("/usr/share/zelda-roth/music/DSecret.mid"); ++ case 20 : return Mix_LoadMUS("/usr/share/zelda-roth/music/DFinal.mid"); ++ case 21 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Home.mid"); ++ case 22 : case 23 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Cave.mid"); ++ case 24 : case 25 : case 26 : case 27 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Fee.mid"); break; + //case 28 : case 32 : case 35 : case 36 : case 38 : case 41 : case 42 : case 43 : case 44 : +-// return Mix_LoadMUS("data/music/Maison.mid"); break; +- case 29 : case 37 : case 40 : return Mix_LoadMUS("data/music/Potion.mid"); break; +- case 30 : return Mix_LoadMUS("data/music/Bar.mid"); break; +- case 31 : return Mix_LoadMUS("data/music/Magasin.mid"); break; +- case 33 : case 34 : case 39 : return Mix_LoadMUS("data/music/Jeu.mid"); break; +- case 45 : return Mix_LoadMUS("data/music/Titre.mid"); break; +- case 46 : return Mix_LoadMUS("data/music/Selection.mid"); break; +- case 47 : return Mix_LoadMUS("data/music/Debut.mid"); break; +- default : return Mix_LoadMUS("data/music/Maison.mid"); ++// return Mix_LoadMUS("/usr/share/zelda-roth/music/Maison.mid"); break; ++ case 29 : case 37 : case 40 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Potion.mid"); break; ++ case 30 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Bar.mid"); break; ++ case 31 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Magasin.mid"); break; ++ case 33 : case 34 : case 39 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Jeu.mid"); break; ++ case 45 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Titre.mid"); break; ++ case 46 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Selection.mid"); break; ++ case 47 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Debut.mid"); break; ++ default : return Mix_LoadMUS("/usr/share/zelda-roth/music/Maison.mid"); + } + } + +@@ -184,12 +184,12 @@ + + Mix_Music* Audio::choixSpecial(int id) { + switch (id) { +- case 1 : return Mix_LoadMUS("data/music/Boss.mid"); +- case 2 : return Mix_LoadMUS("data/music/Mort.mid"); +- case 3 : return Mix_LoadMUS("data/music/Epee.mid"); +- case 4 : return Mix_LoadMUS("data/music/BossF.mid"); +- case 5 : return Mix_LoadMUS("data/music/Fin.mid"); +- default : return Mix_LoadMUS("data/music/Boss.mid"); ++ case 1 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Boss.mid"); ++ case 2 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Mort.mid"); ++ case 3 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Epee.mid"); ++ case 4 : return Mix_LoadMUS("/usr/share/zelda-roth/music/BossF.mid"); ++ case 5 : return Mix_LoadMUS("/usr/share/zelda-roth/music/Fin.mid"); ++ default : return Mix_LoadMUS("/usr/share/zelda-roth/music/Boss.mid"); + } + } + +diff -Naur ZeldaROTH_US-src-linux.orig/src/Caisse.cpp ZeldaROTH_US-src-linux/src/Caisse.cpp +--- ZeldaROTH_US-src-linux.orig/src/Caisse.cpp 2008-08-24 13:27:46.000000000 +0200 ++++ ZeldaROTH_US-src-linux/src/Caisse.cpp 2015-03-08 20:12:55.388490064 +0100 +@@ -22,7 +22,7 @@ + Caisse::Caisse(Jeu* jeu, int type, int i, int j) : gpJeu(jeu), id(type),
+ pousseX(0), pousseY(0), direction(N) {
+ x=i; y=j; w=16; h=16; xdep=x; ydep=y;
+- image = IMG_Load("data/images/objet/caisse.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/caisse.png");
+ sx = ((type-1)%3)*w;
+ sy = ((type-1)/3)*h;
+ }
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Carte.cpp ZeldaROTH_US-src-linux/src/Carte.cpp +--- ZeldaROTH_US-src-linux.orig/src/Carte.cpp 2008-11-02 14:57:44.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Carte.cpp 2015-03-08 20:12:55.391823444 +0100 +@@ -25,12 +25,12 @@ + int zone = gpJeu->getZone();
+
+ if (gpJeu->isDehors()) {
+- SDL_Surface* tmp = IMG_Load("data/images/carte/monde.png");
++ SDL_Surface* tmp = IMG_Load("/usr/share/zelda-roth/images/carte/monde.png");
+ src.w = 320; src.h = 240; src.x = 0; src.y = 0; dst.y = 0; dst.x = 0;
+ SDL_BlitSurface(tmp, &src, image, &dst);
+ SDL_FreeSurface(tmp);
+
+- tmp = IMG_Load("data/images/carte/link.png");
++ tmp = IMG_Load("/usr/share/zelda-roth/images/carte/link.png");
+ SDL_SetColorKey(tmp,SDL_SRCCOLORKEY,SDL_MapRGB(tmp->format,0,0,255));
+ src.w = 14; src.h = 12; src.x = 0; src.y = 0;
+
+@@ -68,7 +68,7 @@ + SDL_Rect dst;
+ Joueur* gpJoueur = gpJeu->getJoueur();
+
+- SDL_Surface* tmp = IMG_Load("data/images/carte/donjon.png");
++ SDL_Surface* tmp = IMG_Load("/usr/share/zelda-roth/images/carte/donjon.png");
+ src.w = 320; src.h = 240; src.x = 0; src.y = 0; dst.y = 0; dst.x = 0;
+ SDL_BlitSurface(tmp, &src, image, &dst);
+ SDL_FreeSurface(tmp);
+@@ -92,7 +92,7 @@ + case 8 : src.h=64; src.y=16; dst.y-=16; break;
+ }
+
+- SDL_Surface* tmp = IMG_Load("data/images/carte/level.png");
++ SDL_Surface* tmp = IMG_Load("/usr/share/zelda-roth/images/carte/level.png");
+ SDL_BlitSurface(tmp, &src, image, &dst);
+ SDL_FreeSurface(tmp);
+
+@@ -106,12 +106,12 @@ + }
+ src.h = 16; src.w = 32;src.x = 0;src.y=32-levely*16;dst.x = 40; dst.y = 96-levely*16;
+
+- tmp = IMG_Load("data/images/carte/level2.png");
++ tmp = IMG_Load("/usr/share/zelda-roth/images/carte/level2.png");
+ SDL_BlitSurface(tmp, &src, image, &dst);
+ SDL_FreeSurface(tmp);
+
+ //étage de link
+- tmp = IMG_Load("data/images/carte/link.png");
++ tmp = IMG_Load("/usr/share/zelda-roth/images/carte/link.png");
+ SDL_SetColorKey(tmp,SDL_SRCCOLORKEY,SDL_MapRGB(tmp->format,0,0,255));
+ src.h = 12; src.w = 14;src.x = 0;src.y=0;
+ dst.x = 25; dst.y = 98-gpJeu->getMonde()->etage()*16;
+@@ -150,12 +150,12 @@ + os << (zone-11);
+ os2 << levely;
+
+- SDL_Surface* tmp = IMG_Load(("data/images/carte/d"+os.str()+"e"+os2.str()+".png").c_str());
++ SDL_Surface* tmp = IMG_Load(("/usr/share/zelda-roth/images/carte/d"+os.str()+"e"+os2.str()+".png").c_str());
+ src.x=0; src.y=0; src.w=tmp->w; src.h=tmp->h; dst.y = 48+dy*16; dst.x = 128+dx*16;
+ SDL_BlitSurface(tmp, &src, image, &dst);
+ SDL_FreeSurface(tmp);
+
+- tmp = IMG_Load(("data/images/carte/nd"+os.str()+"e"+os2.str()+".png").c_str());
++ tmp = IMG_Load(("/usr/share/zelda-roth/images/carte/nd"+os.str()+"e"+os2.str()+".png").c_str());
+
+ int di=0;
+ int dj=0;
+@@ -185,7 +185,7 @@ +
+ //étage de link
+ if (gpJeu->getMonde()->etage() == levely) {
+- tmp = IMG_Load("data/images/carte/link.png");
++ tmp = IMG_Load("/usr/share/zelda-roth/images/carte/link.png");
+ SDL_SetColorKey(tmp,SDL_SRCCOLORKEY,SDL_MapRGB(tmp->format,0,0,255));
+ src.h = 12; src.w = 14;src.x = 0;src.y=0;
+ dst.x = 128+(dx-di)*16+(gpJoueur->getX()/20)-6;
+@@ -201,7 +201,7 @@ + int zone = gpJeu->getZone();
+ Joueur* gpJoueur = gpJeu->getJoueur();
+
+- SDL_Surface* tmp = IMG_Load("data/images/carte/boussole.png");
++ SDL_Surface* tmp = IMG_Load("/usr/share/zelda-roth/images/carte/boussole.png");
+ SDL_SetColorKey(tmp,SDL_SRCCOLORKEY,SDL_MapRGB(tmp->format,0,0,255));
+
+ switch (zone-12) {
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Encyclopedie.cpp ZeldaROTH_US-src-linux/src/Encyclopedie.cpp +--- ZeldaROTH_US-src-linux.orig/src/Encyclopedie.cpp 2008-11-02 15:08:58.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Encyclopedie.cpp 2015-03-08 20:12:55.391823444 +0100 +@@ -12,7 +12,7 @@ +
+ Encyclopedie::Encyclopedie(Jeu* jeu) : gpJeu(jeu), page(0), gpEnnemi(0) {
+ image = SDL_CreateRGBSurface(SDL_HWSURFACE, 320, 240, 32, 0, 0, 0, 0);
+- imageCadre = IMG_Load("data/images/logos/cadres.png");
++ imageCadre = IMG_Load("/usr/share/zelda-roth/images/logos/cadres.png");
+ gpEnnemi = new Ennemi(gpJeu, 0, 0, 0, true);
+ }
+
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Ennemi.cpp ZeldaROTH_US-src-linux/src/Ennemi.cpp +--- ZeldaROTH_US-src-linux.orig/src/Ennemi.cpp 2009-02-18 23:50:25.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Ennemi.cpp 2015-03-08 20:12:55.391823444 +0100 +@@ -31,7 +31,7 @@ + else {
+ ostringstream im;
+ im << id;
+- image = IMG_Load(("data/images/ennemi/ennemi" + im.str() + ".png").c_str());
++ image = IMG_Load(("/usr/share/zelda-roth/images/ennemi/ennemi" + im.str() + ".png").c_str());
+ SDL_SetColorKey(image,SDL_SRCCOLORKEY,SDL_MapRGB(image->format,0,0,255));
+ chargeIm = true;
+ }
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Generique.cpp ZeldaROTH_US-src-linux/src/Generique.cpp +--- ZeldaROTH_US-src-linux.orig/src/Generique.cpp 2009-02-18 23:51:26.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Generique.cpp 2015-03-08 20:12:55.391823444 +0100 +@@ -16,14 +16,14 @@ + imageFin = NULL;
+ imageArbre = NULL;
+ image = SDL_CreateRGBSurface(SDL_HWSURFACE, 320, 240, 32, 0, 0, 0, 0);
+- imageTitre = IMG_Load("data/images/logos/titre.png");
++ imageTitre = IMG_Load("/usr/share/zelda-roth/images/logos/titre.png");
+ SDL_SetColorKey(imageTitre,SDL_SRCCOLORKEY,SDL_MapRGB(imageTitre->format,0,0,255));
+- imageCurseur = IMG_Load("data/images/logos/curseur.png");
++ imageCurseur = IMG_Load("/usr/share/zelda-roth/images/logos/curseur.png");
+ SDL_SetColorKey(imageCurseur,SDL_SRCCOLORKEY,SDL_MapRGB(imageCurseur->format,0,0,255));
+- imageNiveau = IMG_Load("data/images/logos/niveau.png");
++ imageNiveau = IMG_Load("/usr/share/zelda-roth/images/logos/niveau.png");
+ SDL_SetColorKey(imageNiveau,SDL_SRCCOLORKEY,SDL_MapRGB(imageNiveau->format,0,0,255));
+- imageFee = IMG_Load("data/images/logos/fee.png");
+- imageCadre = IMG_Load("data/images/logos/cadres.png");
++ imageFee = IMG_Load("/usr/share/zelda-roth/images/logos/fee.png");
++ imageCadre = IMG_Load("/usr/share/zelda-roth/images/logos/cadres.png");
+ imageFond1 = NULL;
+ imageFond2 = NULL;
+ imageNuit = NULL;
+@@ -46,7 +46,7 @@ + }
+
+ void Generique::drawFin(SDL_Surface* gpScreen) {
+- if (!imageFin) imageFin = IMG_Load("data/images/logos/fin.png");
++ if (!imageFin) imageFin = IMG_Load("/usr/share/zelda-roth/images/logos/fin.png");
+ SDL_Rect dst; dst.x = 0; dst.y = 0;
+ SDL_BlitSurface(imageFin, NULL, gpScreen, &dst);
+ gpJeu->getTexte()->draw(gpScreen);
+@@ -54,24 +54,24 @@ +
+ void Generique::initDisclamer() {
+ SDL_Rect dst;
+- SDL_Surface* attention = IMG_Load("data/images/logos/attention.png");
++ SDL_Surface* attention = IMG_Load("/usr/share/zelda-roth/images/logos/attention.png");
+ dst.x = 0; dst.y = 0; SDL_BlitSurface(attention, NULL, image, &dst);
+ SDL_FreeSurface(attention);
+ }
+
+ void Generique::initLogo() {
+ SDL_Rect dst;
+- SDL_Surface* logo = IMG_Load("data/images/logos/logo.png");
++ SDL_Surface* logo = IMG_Load("/usr/share/zelda-roth/images/logos/logo.png");
+ dst.x = 0; dst.y = 0; SDL_BlitSurface(logo, NULL, image, &dst);
+ SDL_FreeSurface(logo);
+ }
+
+ void Generique::initTitre() {
+ SDL_Rect dst;
+- SDL_Surface* fond = IMG_Load("data/images/logos/fond.png");
++ SDL_Surface* fond = IMG_Load("/usr/share/zelda-roth/images/logos/fond.png");
+ dst.x = 0; dst.y = 0; SDL_BlitSurface(fond, NULL, image, &dst);
+ SDL_FreeSurface(fond);
+- SDL_Surface* logo = IMG_Load("data/images/logos/titre.png");
++ SDL_Surface* logo = IMG_Load("/usr/share/zelda-roth/images/logos/titre.png");
+ SDL_SetColorKey(logo,SDL_SRCCOLORKEY,SDL_MapRGB(logo->format,0,0,255));
+ logo = SDL_DisplayFormat(logo);
+ dst.x = 60; dst.y = 56-32; SDL_BlitSurface(logo, NULL, image, &dst);
+@@ -125,10 +125,10 @@ + gpJeu->affiche(image, "RECORDS", 215, 200);
+
+ //stats :
+- SDL_Surface* imageStat = IMG_Load("data/images/statut/statut.png");
++ SDL_Surface* imageStat = IMG_Load("/usr/share/zelda-roth/images/statut/statut.png");
+ SDL_SetColorKey(imageStat,SDL_SRCCOLORKEY,SDL_MapRGB(imageStat->format,0,0,255));
+- SDL_Surface* inventaire = IMG_Load("data/images/statut/inventaire.png");
+- SDL_Surface* objets = IMG_Load("data/images/statut/objets.png");
++ SDL_Surface* inventaire = IMG_Load("/usr/share/zelda-roth/images/statut/inventaire.png");
++ SDL_Surface* objets = IMG_Load("/usr/share/zelda-roth/images/statut/objets.png");
+
+ for (int i = 0; i < 3; i++) {
+ Joueur* gpJoueur = new Joueur(gpJeu,i+1);
+@@ -287,7 +287,7 @@ + gpJeu->affiche(image, "RETURN", 63, 200);
+ gpJeu->affiche(image, "ERASE", 215, 200);
+
+- SDL_Surface* objets = IMG_Load("data/images/statut/objets.png");
++ SDL_Surface* objets = IMG_Load("/usr/share/zelda-roth/images/statut/objets.png");
+
+ //triforce
+ src.y=0; src.w=17; src.h=16;
+@@ -316,15 +316,15 @@ +
+ void Generique::initIntro() {
+ if (imageFond1==NULL) {
+- imageFond1 = IMG_Load("data/images/logos/fond1.png");
++ imageFond1 = IMG_Load("/usr/share/zelda-roth/images/logos/fond1.png");
+ SDL_SetColorKey(imageFond1,SDL_SRCCOLORKEY,SDL_MapRGB(imageFond1->format,0,0,255));}
+- if (imageFond2==NULL) imageFond2 = IMG_Load("data/images/logos/fond2.png");
++ if (imageFond2==NULL) imageFond2 = IMG_Load("/usr/share/zelda-roth/images/logos/fond2.png");
+
+ ostringstream oss;
+ for (int i = 0; i < 5; i++) {
+ if (imageIntro[i]==NULL) {
+ oss.str(""); oss << (i+1);
+- imageIntro[i] = IMG_Load(("data/images/logos/intro" + oss.str() + ".png").c_str());
++ imageIntro[i] = IMG_Load(("/usr/share/zelda-roth/images/logos/intro" + oss.str() + ".png").c_str());
+ }
+ }
+
+@@ -563,7 +563,7 @@ +
+ void Generique::initScore() {
+ SDL_FreeSurface(imageArbre);
+- imageArbre = IMG_Load("data/images/logos/arbre.png");
++ imageArbre = IMG_Load("/usr/share/zelda-roth/images/logos/arbre.png");
+ image = SDL_CreateRGBSurface(SDL_HWSURFACE, 320, 240, 32, 0, 0, 0, 0);
+
+ SDL_Rect dst;
+@@ -773,7 +773,7 @@ + }
+
+ void Generique::drawDebut(SDL_Surface* gpScreen) {
+- if (!imageNuit) imageNuit = IMG_Load("data/images/logos/nuit.png");
++ if (!imageNuit) imageNuit = IMG_Load("/usr/share/zelda-roth/images/logos/nuit.png");
+ SDL_Rect dst; dst.x = 0; dst.y = 0;
+ SDL_BlitSurface(imageNuit, NULL, gpScreen, &dst);
+ gpJeu->getTexte()->draw(gpScreen);
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Jeu.cpp ZeldaROTH_US-src-linux/src/Jeu.cpp +--- ZeldaROTH_US-src-linux.orig/src/Jeu.cpp 2009-02-18 23:53:12.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Jeu.cpp 2015-03-08 20:12:55.395156825 +0100 +@@ -25,7 +25,7 @@ + phg[0] = 0;
+ phg[1] = 0;
+
+- imageObjets = IMG_Load("data/images/objet/objets.png");
++ imageObjets = IMG_Load("/usr/share/zelda-roth/images/objet/objets.png");
+ SDL_SetColorKey(imageObjets,SDL_SRCCOLORKEY,SDL_MapRGB(imageObjets->format,0,0,255));
+
+ gpProjectile = NULL; gpObjet = NULL; gpSnipe = NULL; gpCaisse = NULL; gpEnnemi = NULL;
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Joueur.cpp ZeldaROTH_US-src-linux/src/Joueur.cpp +--- ZeldaROTH_US-src-linux.orig/src/Joueur.cpp 2009-02-18 23:59:34.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Joueur.cpp 2015-03-08 20:12:55.395156825 +0100 +@@ -26,11 +26,11 @@ + mort(0), porte(0), boostVie(0), boostMagie(0), boostRubis(0), pousse(0), trouve(0),
+ avancement(0), invisible(false), dirglisse(0), dirglace(0), glace(0), glisse(0), vitesse(0),
+ oldxg(0), oldyg(0), immo(false), loader(false) {
+- image = IMG_Load("data/images/link/link1.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/link/link1.png");
+ SDL_SetColorKey(image,SDL_SRCCOLORKEY,SDL_MapRGB(image->format,0,0,255));
+- imageSpin = IMG_Load("data/images/link/spin.png");
++ imageSpin = IMG_Load("/usr/share/zelda-roth/images/link/spin.png");
+ SDL_SetColorKey(imageSpin,SDL_SRCCOLORKEY,SDL_MapRGB(imageSpin->format,0,0,255));
+- imageObjets = IMG_Load("data/images/link/objets.png");
++ imageObjets = IMG_Load("/usr/share/zelda-roth/images/link/objets.png");
+ SDL_SetColorKey(imageObjets,SDL_SRCCOLORKEY,SDL_MapRGB(imageObjets->format,0,0,255));
+ x=86;y=24;w=16;h=24;viemax=6;vie=viemax;magie=magiemax;
+ for (int i = 0; i < 44; i++) coeur[i]=0;
+@@ -116,7 +116,7 @@ + if (tps > 359999) tps = 359999;
+ ostringstream im;
+ im << numSave;
+- ofstream f(("data/save/roth" + im.str() + ".dat").c_str(),ios::out | ios::binary);
++ ofstream f((string(getenv("HOME"))+"/.zroth/roth" + im.str() + ".dat").c_str(),ios::out | ios::binary);
+ f.write((char *)&tps,sizeof(int));
+ f.write((char *)&zone,sizeof(int));
+ f.write((char *)&xd,sizeof(int));
+@@ -159,7 +159,7 @@ + int zone;
+ ostringstream im;
+ im << numSave;
+- ifstream f(("data/save/roth" + im.str() + ".dat").c_str(),ios::in | ios::binary);
++ ifstream f((string(getenv("HOME"))+"/.zroth/roth" + im.str() + ".dat").c_str(),ios::in | ios::binary);
+ if(!f.is_open()) return;
+ f.read((char *)&temps,sizeof(int));
+ f.read((char *)&zone,sizeof(int)); gpJeu->setZone(zone);
+@@ -530,7 +530,7 @@ + std::ostringstream im;
+ im << bouclier;
+ if (bouclier)
+- boucl = new Bouclier(IMG_Load(("data/images/link/bouclier" + im.str() + ".png").c_str()), bouclier);
++ boucl = new Bouclier(IMG_Load(("/usr/share/zelda-roth/images/link/bouclier" + im.str() + ".png").c_str()), bouclier);
+ calculDef();
+ }
+
+@@ -539,7 +539,7 @@ + SDL_FreeSurface(imageEpee);
+ std::ostringstream im;
+ im << epee;
+- imageEpee = IMG_Load(("data/images/link/epee" + im.str() + ".png").c_str());
++ imageEpee = IMG_Load(("/usr/share/zelda-roth/images/link/epee" + im.str() + ".png").c_str());
+ SDL_SetColorKey(imageEpee,SDL_SRCCOLORKEY,SDL_MapRGB(imageEpee->format,0,0,255));
+ }
+
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Keyboard.cpp ZeldaROTH_US-src-linux/src/Keyboard.cpp +--- ZeldaROTH_US-src-linux.orig/src/Keyboard.cpp 2009-02-18 23:56:22.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Keyboard.cpp 2015-03-08 20:12:55.395156825 +0100 +@@ -33,7 +33,7 @@ + }
+
+ void Keyboard::saveP() {
+- ofstream f("data/save/system.dat",ios::out | ios::binary);
++ ofstream f((string(getenv("HOME")) + "/.zroth/system.dat").c_str(),ios::out | ios::binary);
+ f.write((char *)&volume,sizeof(int));
+ f.write((char *)&volson,sizeof(int));
+ f.write((char *)&temps,sizeof(int));
+@@ -42,7 +42,7 @@ + }
+
+ void Keyboard::loadP() {
+- ifstream f("data/save/system.dat",ios::in | ios::binary);
++ ifstream f((string(getenv("HOME")) + "/.zroth/system.dat").c_str(),ios::in | ios::binary);
+ if(!f.is_open()) return;
+ f.read((char *)&volume,sizeof(int));
+ f.read((char *)&volson,sizeof(int));
+@@ -565,7 +565,7 @@ + if (keys[SDLK_RETURN] && tmp == 0) {
+ if (ligneVal==0) {
+ ostringstream oss; oss << (ligne+1);
+- remove(("data/save/roth" + oss.str() + ".dat").c_str());
++ remove((string(getenv("HOME"))+"/.zroth/roth" + oss.str() + ".dat").c_str());
+ mode = 4; gpJeu->getGenerique()->initSelection();
+ gpJeu->getAudio()->playSound(2);
+ }
+diff -Naur ZeldaROTH_US-src-linux.orig/src/main.cpp ZeldaROTH_US-src-linux/src/main.cpp +--- ZeldaROTH_US-src-linux.orig/src/main.cpp 2008-12-10 20:23:04.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/main.cpp 2015-03-08 20:24:09.434706614 +0100 +@@ -12,8 +12,13 @@ + #include <SDL/SDL_rotozoom.h>
+
+ #include <iostream>
+-#include <ctime> ++#include <ctime>
+ #include <cstdlib>
++#include <sys/stat.h>
++#include <sys/types.h>
++#include <unistd.h>
++#include <sys/errno.h>
++
+ #include "Keyboard.h"
+ #include "Generique.h"
+
+@@ -26,7 +31,7 @@ + //if(SDL_InitSubSystem(SDL_INIT_AUDIO) == -1) *SOUND = false;
+
+ SDL_WM_SetCaption("Return of the Hylian",NULL);
+- SDL_Surface* icon = SDL_LoadBMP("data/images/logos/triforce.ico");
++ SDL_Surface* icon = SDL_LoadBMP("/usr/share/zelda-roth/images/logos/triforce.ico");
+ SDL_SetColorKey(icon,SDL_SRCCOLORKEY,SDL_MapRGB(icon->format,0,0,0));
+ SDL_WM_SetIcon(icon,NULL);
+
+@@ -40,6 +45,14 @@ +
+ std::srand(std::time(NULL));
+
++ // create folder for save files
++ string user_home = string(getenv("HOME"));
++ if (access((user_home + "/.zroth/").c_str(), F_OK) != 0) {
++ if (errno == ENOENT) {
++ mkdir((user_home + "/.zroth").c_str(), 0700);
++ }
++ }
++
+ SDL_Rect src;
+ SDL_Rect dst;
+ src.w=640; src.h=480; src.y=0;src.x=0;dst.x=0; dst.y=0;
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Menu.cpp ZeldaROTH_US-src-linux/src/Menu.cpp +--- ZeldaROTH_US-src-linux.orig/src/Menu.cpp 2008-12-04 17:22:42.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Menu.cpp 2015-03-08 20:12:55.395156825 +0100 +@@ -25,10 +25,10 @@ + Menu::Menu(Jeu* jeu) : gpJeu(jeu), sens(0), val(0), anim(0) {
+ lastAnimTime = SDL_GetTicks();
+
+- imageCadre = IMG_Load("data/images/menu/bord.png");
+- imageCoeur = IMG_Load("data/images/menu/coeur.png");
+- imageObjets = IMG_Load("data/images/statut/objets.png");
+- imageInventaire = IMG_Load("data/images/statut/inventaire.png");
++ imageCadre = IMG_Load("/usr/share/zelda-roth/images/menu/bord.png");
++ imageCoeur = IMG_Load("/usr/share/zelda-roth/images/menu/coeur.png");
++ imageObjets = IMG_Load("/usr/share/zelda-roth/images/statut/objets.png");
++ imageInventaire = IMG_Load("/usr/share/zelda-roth/images/statut/inventaire.png");
+
+ SDL_SetColorKey(imageCadre,SDL_SRCCOLORKEY,SDL_MapRGB(imageCadre->format,0,0,255));
+ SDL_SetColorKey(imageCoeur,SDL_SRCCOLORKEY,SDL_MapRGB(imageCoeur->format,0,0,255));
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Monde.cpp ZeldaROTH_US-src-linux/src/Monde.cpp +--- ZeldaROTH_US-src-linux.orig/src/Monde.cpp 2009-02-18 23:57:41.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Monde.cpp 2015-03-08 20:12:55.398490206 +0100 +@@ -29,13 +29,13 @@ + for (int i = 0; i < 2; i++) {
+ std::ostringstream im;
+ im << (i+1);
+- image[i] = IMG_Load(("data/images/motifs/image" + im.str() + ".png").c_str());
++ image[i] = IMG_Load(("/usr/share/zelda-roth/images/motifs/image" + im.str() + ".png").c_str());
+ SDL_SetColorKey(image[i],SDL_SRCCOLORKEY,SDL_MapRGB(image[i]->format,0,0,255));
+ }
+
+ imagetransit = SDL_CreateRGBSurface(SDL_HWSURFACE, 320, 240, 32, 0, 0, 0, 0);
+
+- imagelevel = IMG_Load("data/images/menu/level.png");
++ imagelevel = IMG_Load("/usr/share/zelda-roth/images/menu/level.png");
+ SDL_SetColorKey(imagelevel,SDL_SRCCOLORKEY,SDL_MapRGB(imagelevel->format,0,0,255));
+
+ changeZone(gpJeu->getZone());
+@@ -1589,7 +1589,7 @@ +
+ std::ostringstream oss;
+ oss << zone;
+- std::string result = "data/map/carte" + oss.str() + ".map";
++ std::string result = "/usr/share/zelda-roth/map/carte" + oss.str() + ".map";
+ std::ifstream file(result.c_str());
+
+ file >> largeur;
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Pnj.cpp ZeldaROTH_US-src-linux/src/Pnj.cpp +--- ZeldaROTH_US-src-linux.orig/src/Pnj.cpp 2008-08-24 13:31:48.000000000 +0200 ++++ ZeldaROTH_US-src-linux/src/Pnj.cpp 2015-03-08 20:12:55.398490206 +0100 +@@ -22,7 +22,7 @@ + if (id) {
+ ostringstream im;
+ im << id;
+- image = IMG_Load(("data/images/personnage/personnage" + im.str() + ".png").c_str());
++ image = IMG_Load(("/usr/share/zelda-roth/images/personnage/personnage" + im.str() + ".png").c_str());
+ SDL_SetColorKey(image,SDL_SRCCOLORKEY,SDL_MapRGB(image->format,0,0,255));
+ x=i; y=j; saveEmpl(); animmax=1;
+ init();
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Projectile.cpp ZeldaROTH_US-src-linux/src/Projectile.cpp +--- ZeldaROTH_US-src-linux.orig/src/Projectile.cpp 2009-02-18 23:57:37.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Projectile.cpp 2015-03-08 20:12:55.398490206 +0100 +@@ -401,39 +401,39 @@ + switch (type) {
+ case 1 : //flèche
+ case 2 : //flèche argent
+- if (id == 1) image = IMG_Load("data/images/objet/projectiles.png");
+- else image = IMG_Load("data/images/objet/projectilesarg.png");
++ if (id == 1) image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles.png");
++ else image = IMG_Load("/usr/share/zelda-roth/images/objet/projectilesarg.png");
+ w=16; h=16;
+ if (direction == N || direction == S) {zx=4; zy=0; zw=7; zh=16;}
+ else {zx=0; zy=4; zw=16; zh=7;}
+ break;
+ case 3 : //grappin
+- image = IMG_Load("data/images/objet/grappin.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/grappin.png");
+ w=12; h=12;
+ if (direction == N || direction == S) {zx=0; zy=0; zw=12; zh=8;}
+ else {zx=0; zy=0; zw=8; zh=12;}
+ chmax=208;
+ break;
+ case 4 : //bombe
+- image = IMG_Load("data/images/objet/bombe.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/bombe.png");
+ w=16; h=16;
+ zx=0; zy=0; zw=16; zh=16;
+ max=30;
+ break;
+ case 5 : //baguette de feu
+ case 6 : //baguette de glace
+- image = IMG_Load("data/images/objet/magie.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/magie.png");
+ w=17; h=17;
+ zx=0; zy=0; zw=17; zh=17;
+ break;
+ case 7 : //flamme
+- image = IMG_Load("data/images/objet/feu.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/feu.png");
+ w=16; h=16;
+ zx=0; zy=0; zw=16; zh=16;
+ max=5;
+ break;
+ case 8 : //plouf
+- image = IMG_Load("data/images/objet/plouf.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/plouf.png");
+ w=16; h=16;
+ zx=0; zy=0; zw=16; zh=16;
+ vanim=40;
+@@ -444,20 +444,20 @@ + case 10 :
+ case 11 :
+ case 12 :
+- image = IMG_Load("data/images/objet/buisson.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/buisson.png");
+ w=27; h=43;
+ zx=0; zy=0; zw=27; zh=43;
+ max=6;
+ gpJeu->getAudio()->playSound(38);
+ break;
+ case 15 : //explosion fumée blanche
+- image = IMG_Load("data/images/ennemi/explo.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/ennemi/explo.png");
+ w=28; h=28;
+ zx=0; zy=0; zw=w; zh=h;
+ max=6; vanim=60;
+ break;
+ case 16 : //explosion fumée rose
+- image = IMG_Load("data/images/link/exploLapin.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/link/exploLapin.png");
+ w=28; h=28;
+ zx=0; zy=0; zw=w; zh=h;
+ max=3; vanim=60;
+@@ -468,7 +468,7 @@ + case 24 :
+ case 25 :
+ case 26 :
+- image = IMG_Load("data/images/link/objets.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/link/objets.png");
+ w=16; h=16;
+ zx=0; zy=0; zw=16; zh=16;
+ chmax=64;
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Snipe.cpp ZeldaROTH_US-src-linux/src/Snipe.cpp +--- ZeldaROTH_US-src-linux.orig/src/Snipe.cpp 2009-02-18 23:58:11.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Snipe.cpp 2015-03-08 20:12:55.398490206 +0100 +@@ -30,39 +30,39 @@ + switch (id) {
+ case 1 : // boule de feu petite
+ w=7; h=7; force=2; renvoyable=true;
+- image = IMG_Load("data/images/objet/projectiles2.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles2.png");
+ break;
+ case 2 : // boule de feu petite droite
+ if (angly!=0) {h=16;w=7;}
+ if (anglx!=0) {h=7;w=16;}
+ force=4; max=1;
+- image = IMG_Load("data/images/objet/projectiles3.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles3.png");
+ break;
+ case 3 : // arc magique
+ if (angly!=0) {h=8;w=16;}
+ if (anglx!=0) {h=16;w=8;}
+ force=4; max=1; renvoyable=true; element=ENNEMI;
+- image = IMG_Load("data/images/objet/projectiles4.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles4.png");
+ break;
+ case 4 : // boulet
+ w=8; h=13; force=2; element=PROJECTILE;
+- image = IMG_Load("data/images/objet/projectiles5.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles5.png");
+ break;
+ case 5 : // boule magique
+ w=16; h=16; force=2; renvoyable=true; element=ENNEMI; max=1;
+- image = IMG_Load("data/images/objet/projectiles6.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles6.png");
+ break;
+ case 6 : // eclair
+ w=83; h=148; force=6; element=ENNEMI; max=4; anglx=0; angly=0;
+- image = IMG_Load("data/images/objet/projectiles8.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles8.png");
+ break;
+ case 7 : // lapin
+ w=22; h=22; force=0; element=LAPIN; max=1;
+- image = IMG_Load("data/images/objet/projectiles7.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles7.png");
+ break;
+ case 8 : // boule de feu violette
+ w=7; h=7; force=0; renvoyable=true; element=DEMI;
+- image = IMG_Load("data/images/objet/projectiles9.png");
++ image = IMG_Load("/usr/share/zelda-roth/images/objet/projectiles9.png");
+ break;
+ }
+
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Statut.cpp ZeldaROTH_US-src-linux/src/Statut.cpp +--- ZeldaROTH_US-src-linux.orig/src/Statut.cpp 2008-11-02 14:06:04.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Statut.cpp 2015-03-08 20:12:55.398490206 +0100 +@@ -20,9 +20,9 @@ +
+ Statut::Statut(Jeu* jeu) : gpJeu(jeu), jauge(false), valjauge(0), maxjauge(10), nivjauge(50) {
+
+- imageStatut = IMG_Load("data/images/statut/statut.png");
+- imageChiffre = IMG_Load("data/images/statut/chiffres.png");
+- imageInventaire = IMG_Load("data/images/statut/inventaire.png");
++ imageStatut = IMG_Load("/usr/share/zelda-roth/images/statut/statut.png");
++ imageChiffre = IMG_Load("/usr/share/zelda-roth/images/statut/chiffres.png");
++ imageInventaire = IMG_Load("/usr/share/zelda-roth/images/statut/inventaire.png");
+
+ SDL_SetColorKey(imageStatut,SDL_SRCCOLORKEY,SDL_MapRGB(imageStatut->format,0,0,255));
+ SDL_SetColorKey(imageChiffre,SDL_SRCCOLORKEY,SDL_MapRGB(imageChiffre->format,0,0,255));
+diff -Naur ZeldaROTH_US-src-linux.orig/src/Texte.cpp ZeldaROTH_US-src-linux/src/Texte.cpp +--- ZeldaROTH_US-src-linux.orig/src/Texte.cpp 2009-02-18 23:58:33.000000000 +0100 ++++ ZeldaROTH_US-src-linux/src/Texte.cpp 2015-03-08 20:12:55.398490206 +0100 +@@ -21,9 +21,9 @@ + Texte::Texte(Jeu* jeu) : gpJeu(jeu), vitesse(40), av(0), x(0), y(0), w(0), h(0),
+ id(0), idsuiv(0), def(false), cadre(false), texte(""), buffer("") {
+ lastAnimTime = SDL_GetTicks();
+- imageFont = IMG_Load("data/images/texte/font.png");
++ imageFont = IMG_Load("/usr/share/zelda-roth/images/texte/font.png");
+ SDL_SetColorKey(imageFont,SDL_SRCCOLORKEY,SDL_MapRGB(imageFont->format,0,0,255));
+- imageCoeur = IMG_Load("data/images/menu/coeur.png");
++ imageCoeur = IMG_Load("/usr/share/zelda-roth/images/menu/coeur.png");
+ SDL_SetColorKey(imageCoeur,SDL_SRCCOLORKEY,SDL_MapRGB(imageCoeur->format,0,0,255));
+ }
+
diff --git a/zelda-roth.desktop b/zelda-roth.desktop new file mode 100644 index 000000000000..df0fddc06114 --- /dev/null +++ b/zelda-roth.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Zelda: Return of the Hylian +Comment=First Game in a series of fan-made Zelda Games +Exec=zelda-roth +Icon=zelda-roth +Terminal=false +Categories=Game;AdventureGame; |