Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/06/2007, à 15:31

teto

Gestion des chemins

Bonjour,

Je programme un jeu que je suis en train de porter sous linux.Je me demande comment gérer les chemins  sous linux ( hiérarchie que je n'ai tjrs pas d'ailleurs bien saisie et qui m'a l'air redondante ).
Jusqu'à maintenant j'avais une arborescence simple du style
root
|-img
|-data
|-src
|-music
|Bluecosmos.exe
|..

Maintenant si je veux suivre l'arborescence linux,ou faut-il que j'installe mes donnés ?
Je mets le "BlueCosmos.exe" dans /usr/bin mais le reste ?
faut-il que je change tous mes dossiers dans mon code source ?
Merci

Matt


La révolution est en marche.

Hors ligne

#2 Le 27/06/2007, à 18:19

Yannick_LM

Re : Gestion des chemins

Salut, tu peux t'inspirer d'un jeu déjà existant.
Par exemple, quand tu as fini d'installer supertux, tu as :
un dossier :
/usr/share/games/supertux
avec dedans,
| levels
| - world1
| - world 2
| img
| music

l'exécutable : /usr/bin/supertux

et bien sûr des pages de manuel.
(de mémoire)

N.B : tu "n'est pas obligé" de nommer tes exécutables avec une extension .exe sous linux. ( C'est redondant avec les droits, pour le coup )
Tu peux aussi regarder comment ça se passe en téléchargeant un jeu, et en faisant une recherche du style

slocate supertux

Après, je ne peux que te conseiller de regarder les pages de la doc Ubuntu-fr sur la création de paquets, c'est passionnant.

Dernière modification par Yannick_LM (Le 27/06/2007, à 18:20)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#3 Le 27/06/2007, à 21:23

teto

Re : Gestion des chemins

En fait je me suis rendu compte que ma question n'avait pas de sens.
Tout ( excepté la doc,copyright,man ) se trouve sans /usr/bin comme sous windows.
Et pour le "*.exe",c'était une manière de parler ^^

Connaitrais-tu un moyen de créer simplement des paquetages.Ca m'a l'air affreusement compliqué sur le wiki.


La révolution est en marche.

Hors ligne

#4 Le 27/06/2007, à 23:00

Yannick_LM

Re : Gestion des chemins

C'est plus long que compliqué je trouve.
Il y a certes d'autres moyens de faire des paquets, mais c'est beaucoup moins propre.
Ce qui est présenté dans le wiki, c'est le paquetage "dans les règles de l'art". Ca vaut le coup de s'y conformer, amha, surtout si tu veux que les gens qui installent ton jeu n'aient pas d'ennuis.

Et puis, j'ai vu que tu cherchais des co-développeurs : ça te permettra de mettre de l'ordre dans ton projet, je pense.

EDIT :
Je viens de jeter un œil sur l'artwork. (vidéos et son : c'est très joli)

Dernière modification par Yannick_LM (Le 27/06/2007, à 23:04)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#5 Le 28/06/2007, à 01:05

Link31

Re : Gestion des chemins

/usr/bin/nom_du_jeu (exécutable)

/usr/share/nom_du_jeu/* (les données du jeu, graphiques, musiques...)

/usr/lib/nom_du_jeu/* (les bibliothèques dynamiques)

/usr/doc/nom_du_jeu/AUTHORS
/usr/doc/nom_du_jeu/COPYING
/usr/doc/nom_du_jeu/ChangeLog
/usr/doc/nom_du_jeu/INSTALL
/usr/doc/nom_du_jeu/NEWS
/usr/doc/nom_du_jeu/README
/usr/doc/nom_du_jeu/TODO

Hors ligne

#6 Le 29/06/2007, à 10:36

teto

Re : Gestion des chemins

C'est plus long que compliqué je trouve.

Je suis d'accord.

Et puis, j'ai vu que tu cherchais des co-développeurs : ça te permettra de mettre de l'ordre dans ton projet, je pense.

C'est justement à cause de cela que je cherche à faire un paquetage ( mm si le système 'scons' que j'utilise en ce moment est pas compliqué ).

Je viens de jeter un œil sur l'artwork. (vidéos et son : c'est très joli)

La vidéo est celle d'un projet étranger au notre appelé "Dragoon fantasy".En revanche musique et modèles 3D sont bien les notres.

@Link31: Merci c'est exactement ce que je cherchais.Cela signifie que je dois réécrire mes chemins à l'intérieur du code source ? Au lieu de faire dans mon fichier.cpp:

...
PlayMp3('music/backgroundmusic.mp3')
...

Je devrais faire

...
PlayMp3('/usr/share/bluecosmos/music/backgroundmusic.mp3')
...

??


La révolution est en marche.

Hors ligne

#7 Le 29/06/2007, à 20:37

Link31

Re : Gestion des chemins

Non, c'est une mauvaise idée de mettre les chemins en dur dans le code source.

Il vaut mieux, par exemple, récupérer le chemin général des ressources (/usr/share/nom_du_jeu) dans un argument passé à l'exécutable, ou depuis un fichier, puis accéder aux sous-dossiers de chaque ressource (music, backgrounds, sprites...) qui ne changeront jamais d'une installation à une autre.

De cette façon, ton code sera aussi portable sous windows, simplement en changeant le chemin /usr/share/nom_du_jeu par quelque chose comme C:\Program Files\nom_du_jeu.

Hors ligne

#8 Le 02/07/2007, à 15:24

teto

Re : Gestion des chemins

ok je vais faire ca ( long mais pas compliqué à implémenter ).
Merci pour vos réponses ( en fait ma question n'était pas si bete tongue )

@+


La révolution est en marche.

Hors ligne