From ddc361b961c488424941dd7e0c9a7f2d6a8c0445 Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Sun, 6 Nov 2016 01:45:27 -0400 Subject: [PATCH] Add zelda-roth --- src/zelda-roth/.SRCINFO | 22 + src/zelda-roth/PKGBUILD | 49 ++ src/zelda-roth/zelda-roth-datafolders.patch | 773 ++++++++++++++++++++ src/zelda-roth/zelda-roth.desktop | 8 + 4 files changed, 852 insertions(+) create mode 100644 src/zelda-roth/.SRCINFO create mode 100644 src/zelda-roth/PKGBUILD create mode 100644 src/zelda-roth/zelda-roth-datafolders.patch create mode 100644 src/zelda-roth/zelda-roth.desktop diff --git a/src/zelda-roth/.SRCINFO b/src/zelda-roth/.SRCINFO new file mode 100644 index 0000000..d75459f --- /dev/null +++ b/src/zelda-roth/.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/src/zelda-roth/PKGBUILD b/src/zelda-roth/PKGBUILD new file mode 100644 index 0000000..209af33 --- /dev/null +++ b/src/zelda-roth/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: carstene1ns - 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/src/zelda-roth/zelda-roth-datafolders.patch b/src/zelda-roth/zelda-roth-datafolders.patch new file mode 100644 index 0000000..9b7d66c --- /dev/null +++ b/src/zelda-roth/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 + + #include +-#include ++#include + #include ++#include ++#include ++#include ++#include ++ + #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/src/zelda-roth/zelda-roth.desktop b/src/zelda-roth/zelda-roth.desktop new file mode 100644 index 0000000..df0fddc --- /dev/null +++ b/src/zelda-roth/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;