[Solarus] Impossible de compiler le source de GIT même en version stable

Démarré par darknior, 18 Novembre 2017 à 06:34

0 Membres et 1 Invité sur ce sujet

Bonjour à tous :)

Je suis un peu nouveau ici, même si je passe depuis un bon moment je ne m'étais jamais inscrit.
Mais là ça y est je me suis lancé plus fortement dans l'aventure, envie de faire profiter de tous ces jeux à un maximum de gens ... et comme je suis sur PI, que je côtoie les personnes qui gèrent les divers projets, je suis dans l'optique d'ajouter plusieurs Zelda à RETROPIE, et update les anciens.
Pour ce faire j'ai compilé des jeux sans souci, c'est simple, pas de questions.

MAIS ces jeux me demande de mettre à jour Solarus sur le PI qui est en 1.4.3.
Il me faudrait minimum passer à la 1.5.3 pour ajouter Mercuries Chess ou Book of Mudora qui est en  1.5.1 ...
Et le top je voudrais compiler une version MASTER ou DEV derniers sources en lignes j'espère sans trop de bugs pour avoir un 1.6 !

Elle m'est demandé si je veux tester le projet Zelda Navi's Quest NSQ !
Et je suppose qu'il en sera de même pour Zelda Oni Link Begins OLB SE et Zelda : Mercuris' Chest.
Je suis conscient que ce sont des beta mais juste pour les essayer.

Mon souci c'est donc que j'ai récupéré les sources.

git clone --recursive https://github.com/solarus-games/solarus.git

Puis j'ai fais mon git checkout master pour être sur quelque chose d'un peu stable.

Puis le cmake . pour créer le projet.

Et enfin le maketout cour pour compiler.

Mais j'ai une erreur sur la compilation et je ne comprend pas. Pourrais je avoir de l'aide. Merci


pi@retropie:~/src/solarus $ git branch
  dev
  master
* release-1.5.3
pi@retropie:~/src/solarus $ cmake .
CMake Error at gui/CMakeLists.txt:10 (find_package):
  By not providing "FindQt5LinguistTools.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "Qt5LinguistTools", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5LinguistTools"
  with any of the following names:

    Qt5LinguistToolsConfig.cmake
    qt5linguisttools-config.cmake

  Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or
  set "Qt5LinguistTools_DIR" to a directory containing one of the above
  files.  If "Qt5LinguistTools" provides a separate development package or
  SDK, be sure it has been installed.


-- Configuring incomplete, errors occurred!
See also "/home/pi/src/solarus/CMakeFiles/CMakeOutput.log".
See also "/home/pi/src/solarus/CMakeFiles/CMakeError.log".
pi@retropie:~/src/solarus $


Et je suis sur un PI3 avec RETROPIE et donc un Linux Debian et un proc ARM.
Merci
Life is game, just play it

Tu peux compiler sans Qt en mettant -DSOLARUS_GUI=OFF. Qt n'est utile que pour l'interface du launcher, ce qui ne t'intéresse pas sur Pi.
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

Merci ça marche nickel j'ai pu compiler :)

J'ai un pote super doué en code qui s'y est mi un peu avec moi car il aime bien votre taff aussi.
Il a ajouté son filtre fétiche à votre code pour tester lol



Faut que je le compile sur PI voir si il le supporte et ne rame pas c un filtre CPU : XBRZ x3 pour moi sur PI x6 sur son PC.

Et là on matte pour l'option EXIT ds le menu du jeu, en LUA c'est facile on a trouvé, mais faut le rajouter à chaque jeu dc on va investiguer :p
Life is game, just play it

WOAW pas eu trop de temps aujourd'hui pour compiler tester mais la j'essaye des MOD avec le moteur 1.6.0 et :

[Solarus]
  • Fatal: This quest is made for Solarus 1.4.x but you are running Solarus 1.6.0
    [Solarus]
  • Fatal: This quest is made for Solarus 1.5.x but you are running Solarus 1.6.0

    Le moteur n'est pas rétrocompatible entre les version ?
    Il va falloir en garder 1 EXE différent par jeu presque ?



    EDIT :
    Je me répond à moi même en parti ...

    zsdx 1.12.0 (in progress)

    * Upgrade to Solarus 1.6.
    * Add the Solarus team logo.
    * Change the sound of the Solarus logo.
    * Fix typos in French dialogs (thanks Renkineko).


    Du coup c'est comme OpenBOR ?
    Sauf que lui il plante, au moins vous détectez les version de script compatibles.
    Mais qd mm c'est dommage, ça gâche un peu .. je ne m'y connais pas assez en interpréteur LUA tout ça mais je suppose que ça aurait été possible.

    Je peux bien sur modifier le quest.dat pour forcer une version plus récente ... mais j'ai un peu peur que certains script LUA crashent ?

    Mais je vais me débrouiller, c'est surtout que dans RETROPIE ils avaient prévu de lancer tous les jeux avec le mm moteur ... donc je vais devoir changer ça.
Life is game, just play it

On met à jour tous nos jeux à chaque release, donc il n'y a pas de problèmes de rétrocompatibilité. Solarus est un projet encore récent mais les prochaines versions seront probablement mieux rétrocompatibles, car il commence à exister des jeux faits par la communauté.

PS : ça n'a pas trop d'intérêt de compiler 1.6 pour l'instant à part à des fins de tests car c'est la version de développement et elle est loin d'être finie.
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 20 Novembre 2017 à 09:07
On met à jour tous nos jeux à chaque release, donc il n'y a pas de problèmes de rétrocompatibilité. Solarus est un projet encore récent mais les prochaines versions seront probablement mieux rétrocompatibles, car il commence à exister des jeux faits par la communauté.

Oui c'est à ca que je pense, tous les projets actuel sur GIT son deja passés en 1.6 sauf 2 :
- Zelda Book of Mudora ZBOM 1.3.1 - Solarus 1.5
- Zelda Mercuris Chess ZSXD2 1.0.4 - Solarus 1.5

Et d'autres arrivent je l'espère comme :

- Zelda Navi's Quest NSQ
- The Legend of Zelda - Eternal Struggle
- La légende de Zelda, la Porte des Titans

Et c'est à eux que je pense, possible qu'ils ne soient jamais mis a jour ds le temps ...
Mais bon on est sauvé par le fait que Solarus dis quelle version il nous faut, et que on peux se la compiler qd on sais faire.

Citationça n'a pas trop d'intérêt de compiler 1.6 pour l'instant à part à des fins de tests car c'est la version de développement et elle est loin d'être finie.

Tout à fait, j'utilise la 1.5 surtout, mais c'était pour tester les dernière beta par curiosité. :p
Life is game, just play it

Il se peut que Solarus 1.6 n'ait pas d'incompatibilité avec 1.5. Pas la peine de s'en occuper pour le moment en tout cas ^^
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

Bon c'est good je me suis fait 2 versions, un e 1.5.3 (Master) et une 1.6 (Dev) et voilà tout tourne, de toute façon avec des .sh de chargement c facile a modifier. Et j'ai mis les deux seuls jeux compatible 16/9 en -quest-size=400x240 c'est magnifique, les autres le bloquent dc pas de souci, Book of Madura lui le laisse passer et ça lui occasionne des bugs graphiques ds les menus, donc il ne faut pas le faire :p

Sinon j'ai mis le filtre XBRZ ds ma 1.5.3 et la 1.6 c'est magnifique, je fais un Pull Request sur Git, essaye le, si on veux jouer sans pixel c'est le top. Après moi je suis fan des vieux jeux pixel avec scanline, mais bon, comme ça ça change aussi :)
Et c'est fluide sur un PI sans avoir besoin d'activer l'OpenGL que vous avez mis OFF par défaut, ça ne change rien.

https://github.com/solarus-games/solarus/pull/1108

Du coup il ne manque plus (pour les joueurs console, mobile, ou PI) que le bouton exit pour utiliser à la manette sur tous les mods sans se tapper de les modifier un à un ... surtout que dans certains les menus sont des images comme ds ROTH SE donc c'est un peu la loose :(

Mon pote a regardé aussi pour régler le souci de manette dans le menu principal, ça bouge trop ds tous les sens c limite inutilisable qd on est en analogique, mais c'est chaud à régler. En LUA c'est plus simple, mais du coup c'est par mod et ça cause d'autres soucis.
Si on a une solution je vous dirais c'est tjs une amélioration en plus du moteur :)
Life is game, just play it

Mon petit menu Retropie avec tes jeux Mr @Christopho :D

https://www.youtube.com/watch?v=o6QLhYU605s

Je trouve que ça claque bien avec toutes les infos, les jaquettes, les vidéos, me manque juste à bien terminer le Skin, mais je fais trop de choses à la fois lol
Life is game, just play it

Wow super ton menu :D
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 21 Novembre 2017 à 10:24
Wow super ton menu :D

Merci
Tu as regardé le pull request ?
Je l'ai un peu raté je crois me suis embrouillé ds Git, surtout que j'ai vu que tu bosse aussi sur l'OpenGL et les shader.
Et comme tu as pas inclus ce shader c'est l'occasion.
Life is game, just play it

Merci pour la pull request mais malheureusement je dois la fermer ^^ Désolé :P
Les filtres vidéos software vont disparaître au profit des shaders dans la version 1.6. D'ailleurs si tu peux essayer de la compiler avec OpenGL (dans la branche shaders du git) ce serait pas mal de savoir si ça marche !
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

Mon pote Nico a déjà essayé ce matin. sur sa Debian Linux, ça ne fonctionne pas, écran noir.
Il avait déjà un écran noir avec ton OpenGL SL ancienne version.
Alors que avec tous les autres émulateur il n'a aucun souci, donc on suppose un souci dans tes sources.

Et l'OpenGL XBR n'est pas le XBRZ, ce n'est pas du tout le même rendu.
Now pour faire fonctionner le XBRZ qui est un filtre CPU avec ton nouveau systeme, le seul moyen est piquer et adapter celui de RETROARCH. Il ont converti le filtre CPU.

https://sourceforge.net/projects/xbrz/



Si tu regarde les yeux des personnages par exemple, l'interpolation est meilleure. C'est surtout sur les détails.
Et c'est normal, c'est une reprise et une amélioration du projet XBR
Life is game, just play it

Citation de: darknior le 21 Novembre 2017 à 15:43
Mon pote Nico a déjà essayé ce matin. sur sa Debian Linux, ça ne fonctionne pas, écran noir.
Il avait déjà un écran noir avec ton OpenGL SL ancienne version.
Il a quelle version de SDL ? J'avais un problème d'écran noir avec les shaders sur une de mes machines, mais lorsque j'ai mis à jour SDL 2.0.2 vers SDL 2.0.4 tout s'est mis à fonctionner.
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

C'est pareil il a essayé en 2.0.4 2.0.5 et en beta 2.0.7

[Solarus] [0] Info: SDL: 2.0.7
[Solarus] [0] Info: 2D acceleration: yes
[Solarus] [0] Info: OpenGL: 4.5.0 NVIDIA 375.82
[Solarus] [0] Info: OpenGL vendor: NVIDIA Corporation
[Solarus] [0] Info: OpenGL renderer: GeForce GTX 780 Ti/PCIe/SSE2
[Solarus] [0] Info: OpenGL shading language: 4.50 NVIDIA

Life is game, just play it

Et au fait il a essayé de lancer quel jeu ? Pour l'instant il n'y a que Zelda Mercuris' Chest (la branche dev) qui a des shaders testables avec Solarus.
PS : et ça bouge beaucoup en ce moment. J'ai corrigé des choses aujourd'hui même ;)
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

C'est bon avec tes modif de aujourd'hui ça fonctionne.
Pour le shader video à convertir avec tes variables si tu te sent il est là, mais vraiment ça vaut le coup, moi je joue que avec ça sur ton ancienne version lol

https://github.com/libretro/glsl-shaders/blob/master/xbrz/shaders/6xbrz.glsl

Même si je ne suis pas pour car je trouve que c'est pas précis ds les Zelda, mon pote joue en Analogique, et tu devais le savoir car tu as essayé de fixer le souci ds ton code, ca marche mal ds les menus ca bouge ds tous les sens.
Du coup il a fixé le souci, je te colle le code en issue, c'est dommage mais comme les menus sont gérés en LUA faut le faire pour chaque jeux.

https://github.com/solarus-games/zelda-xd2-mercuris-chess/pulls
https://github.com/solarus-games/zsxd/pulls

Je te l'ai fais sur 2 jeux mais j'ai pas envie de faire de la merde, dc regarde si ca te vas il faut le faire aux 2 autres.
Life is game, just play it

Aussitôt dit aussitôt fait !
Voici ce que ça donne avec les shaders OpenGL :

Normal :


xBR-v3.8c :


6xBRZ :


On peut confirmer ce que montre Darkios dans les posts précédents. Le filtre 6xBRZ donne une bien meilleure qualité, en particulier au niveau des yeux du personnage !
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

Woaw, chapeau, excellent :)

En attendant ta future 1.6 officielle prévu tu as dis en Avril Mai ?
Je me suis fait une version avec le xBRZ software (donc ds tous les jeux), le pad analogique fixé ds le menu de chaque jeux, et le fait que "quitter la partie" me sort du jeu (ds chaque jeu), comme ça plus besoin de clavier sur PI :)
C'est un palliatif disons ;)

Il y a un autre truc que tu pourrais prendre de RETROARCH qui est vraiment top, je sais que l'émulateur Amiga viens aussi de s'en inspirer, c'est pour la gestion des manettes.
En fait qd on a plusieurs manettes chez soit, différentes comme moi, chaque fois que l'on lance un emu ou ici Solaris les ID des touches donné par UDEV changent. du coup il faut tout reconfigurer.
Dés que l'on branche une manette elle est reconnu et possède un ID unique.

https://github.com/torvalds/linux/blob/master/drivers/input/joystick/xpad.c

Est alors créé un fichier avec la chaque touche de la manette assigné à un ID générique.

# 8Bitdo NES30 Pro settings

input_device = "8Bitdo NES30 Pro"
input_driver = "udev"

# Buttons for RetroArch Pad.
input_start_btn = "11"
input_select_btn = "10"

input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"

input_a_btn = "0"
input_b_btn = "1"
input_x_btn = "3"
input_y_btn = "4"
input_l_btn = "6"
input_l2_btn = "8"
input_l3_btn = "13"
input_r_btn = "7"
input_r2_btn = "9"
input_r3_btn = "14"

# Axis for RetroArch D-Pad.
# Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number.
input_l_x_plus_axis = "+0"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"
input_r_x_plus_axis = "+2"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"

# Hotkeys- Hotkeys enable you to press a combination of buttons to do such things as exit emulators, save states,
# and load states, as well as any other functionality in an emulator. (In the example below 8 is the select key
# and 9 is the start key so when I hold down select and press start it will exit the emulator.)
# HOTKEY
input_enable_hotkey_btn = "10"
# INPORTANT
input_exit_emulator_btn = "11"
input_reset_btn = "h0down"
input_menu_toggle_btn = "3"
# USED
input_hold_fast_forward_btn = "7"
input_rewind_btn = "6"
input_load_state_btn = "1"
input_save_state_btn = "0"
input_pause_toggle_btn = "4"
input_osk_toggle_btn = "14"
input_disk_eject_toggle_btn = "h0up"
input_disk_next_btn = "h0right"
input_disk_prev_btn = "h0left3"


Ainsi que des fonction perso assignés à des touches que l'on utilise dans retroarch mais donc utilisable n'importe ou ailleurs, on les utilise en simultané avec la HOTKEY.
Et vraiment le système de hotkey pour avoir des fonctions en plus sur un pad avec peux de boutons comme la sauvegarde etc c pas mal du tout :)

Ainsi chaque manette ayant son fichier, une fois qu'on les as configuré, dans l'Emu ou Solaris on aura tjs le mm comportement puis que ds ton ini tu ne va plus sauver 1, 2, 11, 15 mais input_a_btn, input_y_btn, etc ..
C'est vraiment je pense et comme d'autres une excellente idée. surtout que l'on peux fournir plusieurs de ces fichiers avec Solarus déjà configurés.

D'ailleurs je t'écris tout ça, mais avec tout ce que tu as codé et la qualité de ton code, tu aurais peut être mm pu porter Solarus en temps que moteur de RETROARCH. Et ainsi mm si c une contrainte je suppose au niveau du codage au dépars, de toutes ces fonctionnalités. Savestate, Screenshot, accélération du temps, retour arrière rembobiner, les filtres identique à ce que tu code en ce moment, et surtout un support de ton moteur sur presque toutes les machines qui existent à ce jour. Et comme tu lance des .solarus c top c'est comme une rom d'émulateur.
En jeux Homebrew ils ont déjà porté Cave Story et Mr.Boom ... C'est peut être aussi une idée à creuser pour toi, mais une fois en SDL 2 c'est apparemment simple de faire le portage.
Life is game, just play it

Au fait je me posais une question conne lol
Et je ne sais où la poser ...

- Vue que tout est LUA, Solarus supporte le concept de monture ?
Comme dans le Zelda sur Wii, ou mm un hack sur NES où ça a été fait aussi. Je suis juste étonné que personne n'y ai pensé ...
J'ai vue que les nouveaux mod qui arrivent ont le radeau, du coup c'est similaire ...
Par contre faut tout coder main, rien de prévu dans le moteur.

- Et pareil peux on faire un Zelda à 2 ou 4 ? Comme sur GBA je crois, j'avais trouvé ça génial, pour jouer avec ses enfants :)
Mais idem, concept jamais repris, c'est dommage en plus ça donnerait lieu à des énigmes bien différentes ...
Après faudrait être capable en LUA de bien gérer le nombre de player pour bien adapter la difficulté au nbre de joueurs en cours. Au moins au niveau des ennemies, les enigmes ça ne peux pas trop varier.
Mais déjà des énigmes qui se résolvent au moins à 2, le kif, ou à 3 4 avec un système de PNJ mm tout simple en cas de moins de joueurs.
Life is game, just play it