Je ne sais pas trop pour les jeux, mais la plupart des programmes qui supportent de fonctionner en mode "pas installé" le font de la façon suivante:
D'abord tu as une fonction qui te retourne le chemin de base pour les données, qui en temps normal va retourner DATADIR "/monprog" (c'est toujours utile, et ça laisse le code propre)
Si tu buildes avec une option spécifique (genre --enable-uninstalled-build si je prends le cas de totem), alors la fonction est altérée pour aussi chercher dans . si ce n'est pas installé.
Alternativement tu peux te baser sur une variable d'environnement ou quelque chose du genre. Peut-être même que quand tu lances le programme sans l'installer il est en fait remplacé par un script shell qui exporte plein de trucs comme avec les autotools.
Ou alors tu t'en moques, et vu que de toute façon les données ne changent pas si souvent tu ne supportes pas le fait que ton programme soit lancé sans être installé. Si quelqu'un veut builder ton jeu sous windows par exemple, libre à lui de changer ton get_data_path() pour correspondre à ce qui est attendu par son système.
# La foire au hack
Posté par nud . En réponse au message Savoir où chercher les données utilisées après un make install. Évalué à 1.
Je ne sais pas trop pour les jeux, mais la plupart des programmes qui supportent de fonctionner en mode "pas installé" le font de la façon suivante:
D'abord tu as une fonction qui te retourne le chemin de base pour les données, qui en temps normal va retourner DATADIR "/monprog" (c'est toujours utile, et ça laisse le code propre)
Si tu buildes avec une option spécifique (genre --enable-uninstalled-build si je prends le cas de totem), alors la fonction est altérée pour aussi chercher dans . si ce n'est pas installé.
Alternativement tu peux te baser sur une variable d'environnement ou quelque chose du genre. Peut-être même que quand tu lances le programme sans l'installer il est en fait remplacé par un script shell qui exporte plein de trucs comme avec les autotools.
Ou alors tu t'en moques, et vu que de toute façon les données ne changent pas si souvent tu ne supportes pas le fait que ton programme soit lancé sans être installé. Si quelqu'un veut builder ton jeu sous windows par exemple, libre à lui de changer ton get_data_path() pour correspondre à ce qui est attendu par son système.