Mystery of Solarus XD (le 1er) ne fonctionne pas

Démarré par Maximini, 12 Juillet 2017 à 04:43

0 Membres et 1 Invité sur ce sujet

Bonjour,

Voilà, le titre est clair. Quand j'essaie de lancer le jeu, on me dit "appuie sur espace".

Je le fais et je reçois un message "Invalid keyboard key number: 275", puis le jeu redémarre.

Merci et bonne journée.

Quelle version utilises-tu et sur quel système d'exploitation ?
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Citation de: Christopho le 12 Juillet 2017 à 09:00
Quelle version utilises-tu et sur quel système d'exploitation ?

La plus récente 1.11.0.

Le système d'exploitation est le terrible Windows 10 (pas mon choix). Si ce système est incompatible avec le jeu, je m'excuse du dérangement.

Le jeu est bien compatible avec Windows 10, pas de souci. Merci d'avoir reporté le bug. Est-ce que tu as le même problème avec les autres jeux ? Est-ce que ça fonctionne si tu essayes avec une manette ou avec un autre clavier ?
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Citation de: Christopho le 12 Juillet 2017 à 12:32
Le jeu est bien compatible avec Windows 10, pas de souci. Merci d'avoir reporté le bug. Est-ce que tu as le même problème avec les autres jeux ? Est-ce que ça fonctionne si tu essayes avec une manette ou avec un autre clavier ?

XD et DX ne fonctionnent pas (le même problème; keyboard 275 suivi de l'erreur runtime).
XD2 et ROTH fonctionnent.

Même chose avec mon clavier USB et une manette de PS4 (non à XD et DX, oui pour XD2 and ROTH).

Bizarre :P
Est-ce que la barre de titre de la fenêtre donne des infos sur la version exacte de Solarus ?
Par exemple quelque chose du genre "Zelda Mystery of Solarus DX 1.0.1 - Solarus 1.5.3" ?
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Citation de: Christopho le 12 Juillet 2017 à 14:05
Bizarre :P
Est-ce que la barre de titre de la fenêtre donne des infos sur la version exacte de Solarus ?
Par exemple quelque chose du genre "Zelda Mystery of Solarus DX 1.0.1 - Solarus 1.5.3" ?

Oui, les deux sont sous Solarus 1.5.1 (mais ROTH, aussi sous 1.5.1 fonctionne).

14 Juillet 2017 à 10:22 #7 Dernière édition: 14 Juillet 2017 à 10:35 par Maximini
J'ai essayé de chercher "invalid keyboard key number" sur Internet, pour voir si le problème n'était pas de mon côté, mais le seul résultat vient du "github" du Solarus, l'an dernier.

Je précise, si ce n'était pas clair, je peux choisir la langue avant le crash. Celui-ci arrive autant en français qu'en anglais.

Ai trouvé dans le dossier un fichier error.txt

[Solarus] [15560] Fatal: Invalid keyboard key number: 275

EDIT: J'ai effacé tout le dossier XD sauf data et les deux .exe et copié le moteur à partir de xd2, pour que le moteur utilisé soit 1.5.3 au lieu de 1.5.1. Le problème est toujours présent. Je suis à court de tests possibles.

15 Juillet 2017 à 12:48 #8 Dernière édition: 15 Juillet 2017 à 12:57 par Maximini
Désolé d'écrire à nouveau dans ce sujet, j'ai creusé plus (j'ai aussi trouvé que cliquer sur le X avant même le plantage fait planter le jeu) et trouvé pourquoi XD et DX plante alors que ROTH et XD2 non.

J'ai décompressé le fichier data.solarus et j'ai examiné le fichier main.lua de chacun (c'est le fichier de lancement du jeu si je comprends bien). XD et DX sont lancés de la même manière, alors que le fichier main.lua de XD2 est totalement différent.

De mes maigres connaissances en informatique, je crois que le script problématique est (je l'ai enlevé et le jeu ne plante plus, même en cliquant sur X, mais bien sur, il ne peut progresser plus loin que l'écran titre), plus d'erreur keyboard:

 -- Then the savegame menu.
 title_screen.on_finished = function()
   if self.game == nil then
     sol.menu.start(self, savegame_menu)
   end
 end
end

Pour vérifier, j'ai aussi enlever le script de l'écran titre, aucun changement (encore l'erreur keyboard). Désolé Christopho d'avoir fouillé les entrailles de votre jeu sans vous demander, mais, dans le doute (et la difficulté de rechercher le problème sur une plateforme ne l'ayant pas), je me suis dis qu'il faillait prendre le taureau par les cornes et vous donner encore plus d'informations (et puis, ça me donne l'occasion d'apprendre des bases de programmation). L'intention est noble.

Le problème serait donc l'écran avec les sauvegardes?

Citation de: Maximini le 15 Juillet 2017 à 12:48
Désolé Christopho d'avoir fouillé les entrailles de votre jeu sans vous demander, mais, dans le doute (et la difficulté de rechercher le problème sur une plateforme ne l'ayant pas), je me suis dis qu'il faillait prendre le taureau par les cornes et vous donner encore plus d'informations (et puis, ça me donne l'occasion d'apprendre des bases de programmation). L'intention est noble.
Le jeu est open source: https://github.com/solarus-games/zsxd ça ne va pas le déranger que tu aies réglé ton problème par toi même ;)
Citation
Ash Nazg Durbatulùk, Ash Nazg Gimbatul,
Ash Nazg Thrakatulùk agh bruzum-ishi krimpatul.
The fellowship of the Ring - J.R.R. Tolkien

16 Juillet 2017 à 14:06 #10 Dernière édition: 16 Juillet 2017 à 19:05 par Maximini
Citation de: BenObiWan le 15 Juillet 2017 à 22:24
Citation de: Maximini le 15 Juillet 2017 à 12:48
Désolé Christopho d'avoir fouillé les entrailles de votre jeu sans vous demander, mais, dans le doute (et la difficulté de rechercher le problème sur une plateforme ne l'ayant pas), je me suis dis qu'il faillait prendre le taureau par les cornes et vous donner encore plus d'informations (et puis, ça me donne l'occasion d'apprendre des bases de programmation). L'intention est noble.
Le jeu est open source: https://github.com/solarus-games/zsxd ça ne va pas le déranger que tu aies réglé ton problème par toi même ;)


Ah, mais le problème n'est pas réglé. Le réparer est au-dessus de mes compétences techniques, mais il m'est clair que le problème est la référence "savegame_menu" et/ou le fichier savegames.lua (je peux arrêter le message d'erreur de deux manières; en ne référant plus au fichier "savegames.lua dans le fichier main.lua ou, dans le fichier savegames.lua, la dernière ligne du fichier ("return savegame_menu"). Bien sur, cela ne règle pas le problème, le message d'erreur étant remplacé par un écran noir.

Un lien avec la "Creators Update" de Windows 10 (déployée en avril, ci-après Windows 10 CU), which has been known to cause issues with various software? Des questions de "library", les logiciels correspondants ont du mettre à jour leurs librairies.

Serais-ce possible que DX et XD utilisent de plus vieilles librairies, incompatibles avec Windows 10 CU? Quelqu'un avec la CU peut tester?

16 Juillet 2017 à 23:41 #11 Dernière édition: 16 Juillet 2017 à 23:46 par lelinuxien
Je viens de télécharger Mystery Of Solarus 1.11.0 (la dernière version) et de l'installer. J'ai la même chose sous mon Windows 10 1703 quand je lance le jeu, après l'écran titre.

Ainsi qu'un Visual C++ Runtime Library Error.

Driver clavier utilisé: Microsoft Wired Keyboard 600 inclus dans le Centre souris et clavier Microsoft.


ÉDIT: Je viens de downgrader en version 1.10.2 (j'avais encore l'installateur) et tout fonctionne sans problème avec cette version. Plus qu'à faire d'autres tests...

26 Septembre 2017 à 13:10 #12 Dernière édition: 26 Septembre 2017 à 13:21 par Christopho
Déterrage de topic ! Je pense que le bug est lié à des anciennes sauvegardes de DX et XD présentes sur votre disque (4 ans ou plus). Les sauvegardes contiennent les infos de personnalisation de touches, et depuis Solarus 1.5, ça plante au menu des sauvegardes si ces certaines de ces touches sont inconnues par le moteur. Ce qui est je pense possible si vous aviez configuré des touches un peu bizarres à l'époque, ou alors si SDL a cassé la compatibilité...
Bref, le bug est corrigé dans la version de développement (1.6). En attendant il suffit de supprimer (ou renommer) vos anciennes sauvegardes.
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus