Forum Solarus-Games francophone

Zelda => Zelda : Mystery of Solarus DX => Bugs traités => Discussion démarrée par: BenObiWan le 18 Janvier 2012 à 23:01

Titre: [Résolu] Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: BenObiWan le 18 Janvier 2012 à 23:01
Suite a une mise à jour de certaines libs SDL, le jeu ne marche plus sur archlinux :

Paquets mis à jour :

[2012-01-18 21:12] upgraded sdl_image (1.2.10-2 -> 1.2.11-1)
[2012-01-18 21:12] upgraded sdl_mixer (1.2.11-2 -> 1.2.12-1)
[2012-01-18 21:12] upgraded sdl_net (1.2.7-4 -> 1.2.8-1)
[2012-01-18 21:12] upgraded sdl_ttf (2.0.10-1 -> 2.0.11-1)


Pour être plus précis, le jeu se lance normalement, l'écran d'accueil marche, puis au choix des joueurs :
http://pix.toile-libre.org/upload/original/1326894564.png

Et quand on choisit un joueur :
Message d'erreur pour zsdx :

  what():  This surface should have an 8-bit pixel format
/usr/bin/zsdx : ligne 2 :  8101 Abandon                 solarus /usr/share/solarus/zsdx


Message d'erreur pour zsxd :

  what():  This surface should have an 8-bit pixel format
/usr/bin/zsxd : ligne 2 :  8005 Abandon                 solarus /usr/share/solarus/zsxd


J'ai le problème avec la version git aussi.


My 2 cent on the sdl_image update.
Titre: Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: vlag67 le 18 Janvier 2012 à 23:58
J'ai eu le meme soucis quand j'ai compilé solarus sur Mac OS.

A tout hasard, tu peux essayer de modifier lowlevel/PixelBits.cpp, et dans le constructeur, changer le code suivant les conditions preprocesseur #ifdef __APPLE pour qu'il soit pris en compte lors de ta compilation sur archlinux
Titre: Re : Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: BenObiWan le 19 Janvier 2012 à 17:54
Le gars qui a rapporté le bug sur le package archlinux confirme qu'en downgradant sdl_image à 1.2.10 ça passe. Tu as quelle version sous mac?
Si c'est vraiment un problème de version de la bibliothèque, le problème va à terme se produire sur toutes les distributions, il faudrait une solution plus pratique que de la bidouille.
Mon C/C++ est rouillé, il y a moyen de tester la version d'un bibliothèque en directive préprocesseur?
EDIT: peut être plutôt dans le makefile en fait.
Titre: Re : Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: vlag67 le 19 Janvier 2012 à 21:43
C'est pas vraiment de la bidouille, c'est juste que c'est plus optimisé de ne pas mettre ce code. En soit il ne fait que rajouter le support des png 16 et 32 bpp, mais comme je ne pensais le problème présent que sur Mac OS, je ne l'ai rajouté que pour lui.

Cela dit, après vérification, j'utilise SDL_image 1.2.10 sur Mac, donc il est possible que ca n'ai rien a voir en fait ...
Mais sinon, oui c'est possible de tester la version, SDL_image 1.2.10 se défini comme ca
#define SDL_IMAGE_MAJOR_VERSION 1
#define SDL_IMAGE_MINOR_VERSION 2
#define SDL_IMAGE_PATCHLEVEL 10


EDIT: D'autant que le soucis devrais etre reglé sur OSX dans la nouvelle version de SDL_image
CitationChanges:
1.2.11:
[...]
Fixed loading 8-bit PNG images on Mac OS X
Titre: Re : Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: BenObiWan le 20 Janvier 2012 à 07:14
Je vais voir avec Christopho comment on pourrait faire ça, il faut voir si c'est juste une bug avec sdl_image 1.2.11 et qu'il sera réglé avec la 1.2.12.
Ton #ifdef __APPLE inclus d'autres chose que ce bug non? Genre le problème du plein écran. Pas envie de rajouter ça sur archlinux.
Titre: Re : Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: vlag67 le 20 Janvier 2012 à 07:58
Euh non ca n'a absolument rien a voir ^^

Les bouts de code que j'ai rajouté sont la pour contourner temporairement des bugs sur les versions OSX de SDL et SDL_image.
Les morceaux dans les directives preprocesseur __APPLE du constructeur de PixelBit ne font que (et j'insiste :) ) rajouter le support des png 16 et 32 bits.
D'ailleurs il n'est plus utile maintenant que la maj SDL_image corrige le bug des png 8bits.

L'histoire du fullscreen est un bug de l'actuelle version stable de SDL sur OSX, donc rien a voir ^^
Sinon il y a effectivement d'autre directives preproc temporaires, qui servent a contourner un autre bug SDL, c'est-a-dire a expliciter l'endianess pour la couleur des images, mais elles sont dans d'autre fichiers ;)
Titre: Re : Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: vlag67 le 21 Janvier 2012 à 03:15
CitationChanges:
1.2.12:
* Fixed regression in 1.2.11 loading 8-bit PNG images with libpng

Vala, suffisait de demander :)
Titre: Re : Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: BenObiWan le 21 Janvier 2012 à 11:14
Bon bah plus qu'à attendre qu'ils le package pour archlinux et mac ;)
Titre: Re : Le jeu ne marche plus sur Archlinux après mise à jour de paquets liés à la SDL
Posté par: BenObiWan le 22 Janvier 2012 à 12:01

[2012-01-22 11:51] upgraded sdl_image (1.2.11-1 -> 1.2.12-1)

hop ça c'est fait, et ça marche nickel depuis. Donc il faut éviter sdl_image 1.2.11
Chris tu peux marquer ce bug comme  résolu :)