Page 1 sur 2
[einstein]changer les tuiles du jeu (résolu)
Publié : sam. 15 oct. 2011, 15:08
par ourobolos
Bonjour
Je joue pas mal à
ce jeu, mais les tuiles par défaut commencent à me sortir par les yeux :
du coup, j'ai commencé à en dessiner d'autre avec inkscape :
et maintenant je cherche comment les intégrer au jeu, lire le pkgbuild ne m'a pas aidé et je n'ai pas trouvé les tuiles par défaut dans les emplacement indiqués dans l'archive de ressources présente sur le site du jeu.
par où chercher pour changer ces tuiles ?
Re: [einstein]changer les tuiles du jeu
Publié : sam. 15 oct. 2011, 15:17
par FoolEcho
Re: [einstein]changer les tuiles du jeu
Publié : sam. 15 oct. 2011, 15:28
par benjarobin
En effet il faut régénérer le fichier einstein.res (Je précise au cas où ce n'était pas clair

)
Re: [einstein]changer les tuiles du jeu
Publié : jeu. 20 oct. 2011, 20:25
par ourobolos
Merci de la piste, j'ai remplacé les chemins d'images par les miennes dans le resources.descr et ensuite j'ai appelé le build.sh pour régénérer le einstein.res
Code : Tout sélectionner
#! /bin/sh
../mkres/mkres --source resources.descr --output einstein.res
sauf que le mkres en question n'existe pas dans le dossier mkres, et un yaourt mkres ne m'a rien renvoyé.
j'ai raté quelque chose d'évident ou il manque vraiment quelque chose ? :p
Re: [einstein]changer les tuiles du jeu
Publié : jeu. 20 oct. 2011, 20:50
par benjarobin
Re: [einstein]changer les tuiles du jeu
Publié : jeu. 20 oct. 2011, 21:24
par ourobolos
oui, j'ai cette archive, mais le dossier mkres il n'y a pas de fichier mkres comme celui appelé par le build.sh
du coup par quel moyen je régénère le einstein.res ?
Re: [einstein]changer les tuiles du jeu
Publié : jeu. 20 oct. 2011, 21:29
par benjarobin
Euh, il suffit de lancer make dans le dossier mkres pour générer l’exécutable
Re: [einstein]changer les tuiles du jeu
Publié : lun. 24 oct. 2011, 21:15
par ourobolos
D'accord, j'avais vu le script build.sh et du coup je cherchais à régénérer par ce biais, en revanche j'ai une erreur à la compilation :
Code : Tout sélectionner
~/Desktop/einstein-2.0/mkres$make
g++ -c -Wall -O6 main.cpp
In file included from table.h:7:0,
from main.cpp:4:
lexal.h:18:9: attention : ‘typedef’ was ignored in this declaration [enabled by default]
In file included from main.cpp:4:0:
table.h:21:9: attention : ‘typedef’ was ignored in this declaration [enabled by default]
main.cpp: In function ‘void parseArgs(int, char**)’:
main.cpp:48:42: erreur: ‘strcmp’ was not declared in this scope
make: *** [main.o] Erreur 1
merci du temps passé à me répondre

Re: [einstein]changer les tuiles du jeu
Publié : lun. 24 oct. 2011, 23:57
par benjarobin
Voila le PKGBUILD qui corrige l'ensemble des problèmes, tu n'as qu'a le modifier pour inclure tes ressources:
http://benjarobin.fr/Program/ArchLinux/ ... src.tar.gz
Re: [einstein]changer les tuiles du jeu
Publié : jeu. 27 oct. 2011, 23:30
par farvardin
savez-vous comment éviter d'avoir ce jeu en plein écran ? La résolution réduite me fait un "out of range". Font ch%£$& avec leurs jeux plein écran par défaut...
Re: [einstein]changer les tuiles du jeu
Publié : sam. 29 oct. 2011, 20:20
par farvardin
bon, j'ai contourné le truc en le démarrant dans Xephyr, et en supprimant le mode plein écran, ce qui a créé un
~/.einstein/einsteinrc avec dedans :
fullscreen = 0;
Re: [einstein]changer les tuiles du jeu
Publié : mar. 01 nov. 2011, 13:35
par ourobolos
Merci pour le PKGBUILD patché, si je le lance tel quel pas de soucis ça fonctionne et il va chercher les bonnes sources et me construit le logiciel.
J'ai été voir sur le wiki la doc pour les
sources histoire d'y inclure mes modifications en local, j'ai juste remplacé les images par mes images, de même taille et de même type.
Code : Tout sélectionner
source=(einstein-2.0 "${pkgname}.desktop" "${pkgname}.png" einstein.patch)
mais en lançant la compilation, il ne trouve pas mes ressources qui sont dans le même dossier (alors qu'il trouve bien le einstein.patch)
Code : Tout sélectionner
~/Desktop/modif einstein/einstein-2.0.1$makepkg PKGBUILD
==> Création du paquet einstein 2.0-1 (mar. nov. 1 13:27:00 CET 2011)
==> Vérification des dépendances pour l'exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
==> ERREUR: einstein-2.0 n'a pas été trouvé dans le répertoire de travail et n'est pas une URL.
du coup, je suis encore perdu

Re: [einstein]changer les tuiles du jeu
Publié : mar. 01 nov. 2011, 14:35
par FoolEcho
Si le "einstein-2.0" que tu as indiqué dans les sources est un répertoire, ça ne va pas le faire: compresse-le en tar.gz (+ modification de la somme de contrôle).
Re: [einstein]changer les tuiles du jeu
Publié : sam. 05 nov. 2011, 10:03
par ourobolos
Merci à tous, je suis (enfin) parvenu à créer le paquet avec mes modifications
pour les intéressés, vous le trouverez
ici
du coup, je pense que je vais continuer à modifier le reste des graphismes histoire de rendre le tout un peu plus cohérent.
merci encore
Re: [einstein]changer les tuiles du jeu (résolu)
Publié : sam. 05 nov. 2011, 10:35
par benjarobin
Pourquoi tu ne fournis pas les sources ? C'est mieux que tu fournisse la même chose que je t'ai fournit

Re: [einstein]changer les tuiles du jeu (résolu)
Publié : dim. 06 nov. 2011, 19:34
par ourobolos
hop, voici les tuiles et le fichier svg :
http://dl.free.fr/vWQcxRAiU
Re: [einstein]changer les tuiles du jeu (résolu)
Publié : sam. 14 avr. 2012, 12:13
par ourobolos
Bonjour
Je reviens vers vous parce qu'ayant changé de machine je suis passé sur arch 64bits, j'ai voulu répéter la manœuvre pour cette architecture et je butte sur une nouvelle erreur :
Code : Tout sélectionner
makepkg PKGBUILD
==> Création du paquet einstein 2.0-1 (sam. avril 14 11:57:00 CEST 2012)
==> Vérification des dépendances pour l'exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
-> modif.tar.gz trouvé
-> einstein.desktop trouvé
-> einstein.png trouvé
-> einstein.patch trouvé
==> Validation des fichiers sources avec md5sums...
modif.tar.gz ... Réussite
einstein.desktop ... Réussite
einstein.png ... Réussite
einstein.patch ... Réussite
==> Extraction des sources...
-> Extraction de modif.tar.gz avec bsdtar
==> Lancement de build()...
patching file einstein-2.0/Makefile
patching file einstein-2.0/convert.h
patching file einstein-2.0/descr.cpp
patching file einstein-2.0/game.cpp
patching file einstein-2.0/horhints.cpp
patching file einstein-2.0/lexal.h
patching file einstein-2.0/main.cpp
patching file einstein-2.0/menu.cpp
patching file einstein-2.0/mkres/Makefile
patching file einstein-2.0/mkres/compressor.cpp
patching file einstein-2.0/mkres/convert.h
patching file einstein-2.0/mkres/lexal.h
patching file einstein-2.0/mkres/main.cpp
patching file einstein-2.0/mkres/table.h
patching file einstein-2.0/mkres/unicode.cpp
patching file einstein-2.0/opensave.cpp
patching file einstein-2.0/options.cpp
patching file einstein-2.0/res/resources.descr
patching file einstein-2.0/table.h
patching file einstein-2.0/topscores.cpp
patching file einstein-2.0/unicode.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c main.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c resources.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c utils.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c game.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c widgets.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c iconset.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c puzzle.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c rules.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c verthints.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c random.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c horhints.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c menu.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c font.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c conf.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c storage.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c options.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c tablestorage.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c regstorage.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c topscores.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c opensave.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c descr.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c messages.cpp
g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 `sdl-config --cflags` -DPREFIX=L\"/usr\" -c formatter.cpp
formatter.cpp: In constructor ‘Formatter::Formatter(unsigned char*, int)’:
formatter.cpp:42:21: attention : transtypage vers un pointeur depuis un entier de taille différente [-Wint-to-pointer-cast]
formatter.cpp:43:21: attention : transtypage vers un pointeur depuis un entier de taille différente [-Wint-to-pointer-cast]
formatter.cpp:44:21: attention : transtypage vers un pointeur depuis un entier de taille différente [-Wint-to-pointer-cast]
formatter.cpp:45:21: attention : transtypage vers un pointeur depuis un entier de taille différente [-Wint-to-pointer-cast]
formatter.cpp:61:33: erreur: cast from ‘void*’ to ‘int’ loses precision [-fpermissive]
formatter.cpp: In member function ‘std::wstring Formatter::format(std::vector<ArgValue*>&) const’:
formatter.cpp:138:32: erreur: cast from ‘void*’ to ‘int’ loses precision [-fpermissive]
make: *** [formatter.o] Erreur 1
==> ERREUR : Une erreur s'est produite dans build().
Abandon...
Par où je commence pour m'en sortir ?

Re: [einstein]changer les tuiles du jeu (résolu)
Publié : sam. 14 avr. 2012, 13:41
par FoolEcho
ourobolos a écrit :Par où je commence pour m'en sortir ?

Par nous indiquer le contenu de ton PKGBUILD + sources utilisées, puisqu'il n'existe pas sur Aur et que les liens précédents (sauf celui de benjarobin) sont morts.
ourobolos a écrit :Code : Tout sélectionner
formatter.cpp:61:33: erreur: cast from ‘void*’ to ‘int’ loses precision [-fpermissive]
formatter.cpp: In member function ‘std::wstring Formatter::format(std::vector<ArgValue*>&) const’:
formatter.cpp:138:32: erreur: cast from ‘void*’ to ‘int’ loses precision [-fpermissive]
Éventuellement, tu peux rajouter
export CXXFLAGS="${CXXFLAGS} -fpermissive"
dans le build()...
... mais le plus propre (et avant qu'on me tape dessus

) serait d'inclure le arch.patch (à récupèrer sur
einstein) dans le PKGBUILD de benjarobin:
Code : Tout sélectionner
pkgrel=2 #;-)
...
source=("http://einstein.sourcearchive.com/downloads/2.0.dfsg.2-8/einstein_2.0.dfsg.2.orig.tar.gz" "${pkgname}.desktop" "${pkgname}.png" arch.patch einstein.patch)
...
md5sums=('d47d4ae80478d4d8d5796e65d134124f'
'5569fad47dee36655abba9a8eb7ed19b'
'81b58f2e3c61c0b50716992a30f2d4cc'
'df3a91453d5ed60cc651c7932d7e5e2e'
'c6ebda83843f640179fb483377ac5372'
)
build() {
export LDFLAGS=${LDFLAGS/,--as-needed/}
cd ${srcdir}
patch -p0 < ../../arch.patch
patch -p1 < einstein.patch
...
}
...
(à adapter selon les apports que tu as fait

)
Re: [einstein]changer les tuiles du jeu (résolu)
Publié : sam. 14 avr. 2012, 14:49
par ourobolos
j'ai utilisé les sources de la dernière fois, que j'avais extraites depuis le site (flowix) du jeu
mon PKGBUILD :
Code : Tout sélectionner
# $Id$
# Maintainer: Kevin Piche <kevin@archlinux.org>
# Contributor: K. Piche <kpiche@rogers.com>
# Contributor: Artiom Molchanov ar.molchanov gmail.com
pkgname=einstein
pkgver=2.0
pkgrel=1
pkgdesc="Remake of old DOS game Sherlock which was inspired by Albert Einstein's puzzle"
url="http://games.flowix.com/en/index.html"
source=(modif.tar.gz "${pkgname}.desktop" "${pkgname}.png" einstein.patch)
depends=('sdl_ttf' 'sdl_mixer' 'font-bh-ttf' 'ttf-dejavu')
license=('GPL')
arch=('i686' 'x86_64')
md5sums=('b79f759845883276ab66bfea239ec6e7'
'5569fad47dee36655abba9a8eb7ed19b'
'81b58f2e3c61c0b50716992a30f2d4cc'
'c6ebda83843f640179fb483377ac5372')
build() {
export LDFLAGS=${LDFLAGS/,--as-needed/}
cd ${srcdir}
patch -p1 < einstein.patch
cd ${pkgname}-${pkgver}
make PREFIX=/usr
cd ${srcdir}/${pkgname}-${pkgver}/mkres
make PREFIX=/usr
cd ${srcdir}/${pkgname}-${pkgver}/res
cp /usr/share/fonts/TTF/luximb.ttf .
cp /usr/share/fonts/TTF/DejaVuSans.ttf .
./build.sh
cd ${srcdir}/${pkgname}-${pkgver}/
ln -s res/einstein.res einstein.res
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make PREFIX=${pkgdir}/usr install
mkdir -p ${pkgdir}/usr/share/applications
install -m644 ${srcdir}/${pkgname}.desktop ${pkgdir}/usr/share/applications/
mkdir -p ${pkgdir}/usr/share/pixmaps
install -m644 ${srcdir}/${pkgname}.png ${pkgdir}/usr/share/pixmaps/
}
Je l'ai amendé avec tes suggestions :
Code : Tout sélectionner
# $Id$
# Maintainer: Kevin Piche <kevin@archlinux.org>
# Contributor: K. Piche <kpiche@rogers.com>
# Contributor: Artiom Molchanov ar.molchanov gmail.com
pkgname=einstein
pkgver=2.0
pkgrel=2
pkgdesc="Remake of old DOS game Sherlock which was inspired by Albert Einstein's puzzle"
url="http://games.flowix.com/en/index.html"
source=("http://einstein.sourcearchive.com/downloads/2.0.dfsg.2-8/einstein_2.0.dfsg.2.orig.tar.gz" modif.tar.gz "${pkgname}.desktop" "${pkgname}.png" arch.patch einstein.patch)
depends=('sdl_ttf' 'sdl_mixer' 'font-bh-ttf' 'ttf-dejavu')
license=('GPL')
arch=('i686' 'x86_64')
md5sums=('d47d4ae80478d4d8d5796e65d134124f'
'b79f759845883276ab66bfea239ec6e7'
'5569fad47dee36655abba9a8eb7ed19b'
'81b58f2e3c61c0b50716992a30f2d4cc'
'df3a91453d5ed60cc651c7932d7e5e2e'
'c6ebda83843f640179fb483377ac5372')
build() {
export LDFLAGS=${LDFLAGS/,--as-needed/}
cd ${srcdir}
patch -p0 < ../../arch.patch
patch -p1 < einstein.patch
cd ${pkgname}-${pkgver}
make PREFIX=/usr
cd ${srcdir}/${pkgname}-${pkgver}/mkres
make PREFIX=/usr
cd ${srcdir}/${pkgname}-${pkgver}/res
cp /usr/share/fonts/TTF/luximb.ttf .
cp /usr/share/fonts/TTF/DejaVuSans.ttf .
./build.sh
cd ${srcdir}/${pkgname}-${pkgver}/
ln -s res/einstein.res einstein.res
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make PREFIX=${pkgdir}/usr install
mkdir -p ${pkgdir}/usr/share/applications
install -m644 ${srcdir}/${pkgname}.desktop ${pkgdir}/usr/share/applications/
mkdir -p ${pkgdir}/usr/share/pixmaps
install -m644 ${srcdir}/${pkgname}.png ${pkgdir}/usr/share/pixmaps/
}
sans succès, j'ai eu les mêmes erreurs
Edit : en fait pas du tout, ça fonctionne, il fallait juste savoir que makepkg attends PKGBUILD et que même si on fait « makepkg PKGBUILD2 » il s'en fout et prends le PKGBUILD qui trainait par là. Et mettre le bon chemin relatif pour le arch.patch aussi
Merci de ton aide !
Re: [einstein]changer les tuiles du jeu (résolu)
Publié : sam. 14 avr. 2012, 15:37
par benjarobin