Création d’un package pour recalbox : ZELDA SOLARUS
-
Non seulement pour les libs. Par exemple pour un libretro, tu a juste a les copier dans target, car aucun autre package va utiliser les fichiers produits pour sa propre compilation
-
ok, je comprends. Merci pour la clarification ^^ Bon faut que je compile Lua maintenant ! Par contre Lua 5.1 n'était pas la bonne lib par rapport à luajit? (je dis ça car il me semble que lua5.1 s'était compilée si je ne dit pas de bêtise le premier coup.
-
par contre pour info, je vais renommer les paquet en solarusengine car là nous ne compilons que le moteur... https://github.com/christopho/solarus le jeu se trouvant ici: https://github.com/christopho/zsdx donc il faudra encore que je crée un dernier paquet pour compiler les data du jeu en lui même et les copier à la main dans un sous dossier dans le répertoire de solarus engine (un truc dans le genre en tout cas..)
-
Courage Hellrider
-
Héhé oui accroche toi
-
héhé, ça compile, ça compile ^^ mais vu l'heure je vais laisser tourner.. je verrai le résultat au réveil en tout cas j'ai poussé les modifications avec l'ajout du package contenant les datas du jeu et en modifiant le nom de l'engine . (pour les data, j'ai fait le .mk de façon qu'il les installe dans le répertoire de solarus ^^ en tout cas si je ne me suis pas trompé..lol)
-
Salut, Alors c'est bon le moteur graphique Solarus a compilé !! et visiblement ça s'est bien passé (on a bien généré un fichier pour du ARM ^^):
~/recalbox-buildroot/output/target/usr/games/solarus$ file solarus_run solarus_run: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped ~/recalbox-buildroot/output/target/usr/games/solarus$ file libsolarus.so libsolarus.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped
par contre la je bloque sur un problème de syntaxe dans le mk des data du jeu. En gros au moment de a compilation des datas, je veux les copier dans un sous répertoire dans le répertoire du moteur solarus.. j'ai tenté pas mal de syntaxes mais rien de passe, comme par exemple file(MAKE_DIRECTORY path ) :
ZSDXDIRECTORY=$(TARGET_DIR)/usr/games/solarus/zsdx file(MAKE_DIRECTORY $(ZSDXDIRECTORY)) me renvoie ce message: >>> zeldasolarusdx 1.10.1 Installing to target ZSDXDIRECTORY=/home/ana/recalbox-buildroot/output/target/usr/games/solarus/zsdx file(MAKE_DIRECTORY ) /bin/bash: -c: ligne 0: erreur de syntaxe près du symbole inattendu « MAKE_DIRECTORY » /bin/bash: -c: ligne 0: `file(MAKE_DIRECTORY )'
là j'en suis là:
MKDIR_P = mkdir -p ZSDXDIRECTORY=$(TARGET_DIR)/usr/games/solarus/zsdx $(MKDIR_P) $(ZSDXDIRECTORY) $(INSTALL) -D $(@D)/* \ $(TARGET_DIR)/usr/games/solarus/zsdx
comme vous pouvais le deviner j'essaie de créer le répertoire zsdx dans le répertoire de solarus (le moteur donc) et ensuite je veux installer les fichiers compilé dans ce répertoire.. hors à le compilateur me jette en me disant que mkdir est une commande introuvable.. Je dois libérer la place car comme vous le voyer dans le nom du user, c'est le PC de ma femme ^^ des idées ?
-
voilà le message que j'ai si j'utilise install -D : dans mon zeldasolarusdx.mk
Just copy the Data in a subdirectory of solaris define ZELDASOLARUSDX_INSTALL_TARGET_CMDS $(INSTALL) -D $(@D)/* \ $(TARGET_DIR)/usr/games/solarus/zsdx endef
et voilà le message d'erreur: /usr/bin/install -D /home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.10.1/* /home/franck/recalbox-buildroot/output/target/usr/games/solarus/zsdx /usr/bin/install: la cible «/home/franck/recalbox-buildroot/output/target/usr/games/solarus/zsdx» n'est pas un répertoire make: *** [/home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.10.1/.stamp_target_installed] Erreur 1 ok la cible n'existe pas encore mais install -D est sensé la créer non?
-
bon bin avec ça :
Just copy the Data in a subdirectory of solaris define ZELDASOLARUSDX_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/usr/games/solarus/zsdx $(INSTALL) -D $(@D)/. \ $(TARGET_DIR)/usr/games/solarus/zsdx endef
ça fonctionne ^^ , y a plus qu'à tester et faire en sorte de pouvoir le lancer depuis emulestation
-
Sa devient bon tous sa, sa donne envie. Merci pour le taff mec.
-
Oué on attends le résultat avec impatience
-
bon pas beaucoup de temps ce soir.. j'ai copié le répertoire games et tout son contenu sur le raspi... mais il se passe ceci quand j'execute solarus (zdsdx contenant les datas du jeu et se trouvant dans solarus): # ./solarus_run zsdx/ ./solarus_run: error while loading shared libraries: libSDL2_image-2.0.so.0: cannot open shared object file: No such file or directory bon du coup j'hésite à refaire une installe complète de ma carte SD.. ou copier à la main les différentes lib manquantes depuis le répertoire target.. mais là j'en ai une qui me réclame la place devant son pc... la suite demain soir retroboy, si tu as une piste pour que je l'exécute "rapidement" depuis emulestation je suis preneur.. vu le message d'erreur, le fichier est bien compilé je pense .. (la je l'ai lancé en ssh .. du coup je ne suis pas sur qu'il se serait exécuté sur la télé si j'avais bien eu toutes les libs...) Bonne fin de soirée à tous et merci pour les encouragements
-
Re, si tu essaies à partir de la version 3.2.11 de recalbox installé sur une microsd, ça ne fonctionnera pas puisqu'il manque des packages. Il faut le recompiler recalbox avec tes ajouts , à moins qu'il y a effectivement une possiblité de le faire sans la recompilation
-
je vais tenter de les copier à la main au même endroit que Solarus.. on verra si ça suffit pour tester rapidement^^ ou alors je créer proprement les différents dossiers tels qu'ils sont dans le dossier TARGET mais sur ma carte SD..
-
Ha mais je pensais que tu aurai fait une install quand même pour le premier test
-
haha, même pas ^^ j'ai suivit ton conseil en copiant avec scp les nouveau fichiers créés.. et j'ai copié aussi dans /usr/lib du raspi les bibliothèques manquantes depuis le répertoire /recalbox-buildroot/output/target/usr/lib/ Ensuite killall emulationstation puis, ./solarus_run zsdx/ m'a envoyé baladé, et.. et.. suspens, j'ai testé ta commande magique (qu'il faudra que tu me dises d'où tu la sort..lol): SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so SDL_NOMOUSE=1 ./solarus_run zsdx et là, BIM, CA MARCHE !!! CA MARCHE !!!!j'ai pu paramétrer ma manette et jouer un petit quart d'heure.. c'est trop bon !!! Bon par contre j'ai un dernier truc à régler, c'est le fait que l'image est assez petite dans le coin en bas à gauche (j'ai l'impression de jouer sur une vieille télé 36cm ...lol ).. tu sais comment le passer en plein écran? Donc prochaines étapes: - le passer en plein écran - le lancer depuis emulationstation Tu veux que je te passe un merge request ou pas encore? En tout cas un grand MERCI à toi retroboy pour ton aide et tes conseils, ainsi qu'à tout le monde pour les encouragement En plus, n'importe qui peut créer son jeu à partir de solarus et ça fonctionnera ! (il y en a déjà un deuxième plutôt humoristique sur le site de solarus).. edit : pour le plein écran, j'ai trouvé ça sur le net... peu être une piste: It is configured to look data files first on /opt/solarus/ Use options to change mode to 'Fullscreen smoothed' (600x480) et j'ai ce warning dans la console depuis laquelle je lance le jeu: libpng warning: iCCP: known incorrect sRGB profile Edit 2: BON, dans les options dans le jeu, si je choisis le mode video hq4x , je suis presque plein écran ^^ en gros 4/3 mais pas centré, l'image est collé à gauche mais c'est largement jouable en l'état.. j'ai eu un petit bug d'absence de son avec ce message dans la console: AL lib: (EE) ALSAProc: Wait timeout... buffer size too low? mais après redémarrage du jeu le son est revenu.. Edit 3 : bon avant de quitter il faut revenir en mode video normal car sinon la page d'acceuil Zelda n'apparait plus et si on appuie sur start quand on reconnait la musique on atterrir de suite à la dernière sauvegarde sans passer par l'écran de choix de sauvegarde.. (d'ailleurs à cet écran on peu aussi choisir le mode video mais tout autre réglage que normal rend l'écran tout noir, mais on peut revenir sur normal avec les flèches..donc en gros on peut jouer mais ça serait mieux que je règle ce soucis d'affichage en plein écran autrement que par le réglage de mode dans le jeu..)
-
Épatant ton travail. Bravo.
-
Merci^^ mais c'est vraiment une goûte d'eau dans l'océan par rapport au travail de retroboy
-
Salut à tous, alors avec digitalLumberJack et cissou, on s'est penché sur la question du plein écran, et il y a dans le répertoire personnel de recalbox(faire cd tout court seul pour y aller) un fichier .solarus/zsdx/settings.dat : dans lequel il suffit de mettre fullscreen à true:
video_mode = "hq4x" fullscreen = true sound_volume = 100 music_volume = 100 language = "fr" joypad_enabled = true
et là c'est bon on démarre enplein écran bien centré. Par contre les gros pixels ça pique les yeux.. alors après dans le jeu (ou dans le fichier de settings) on peut aussi choisir le mode video : normal , 2x , hq2x, hq3x, hq4x. (le 2x a un autre nom que j'ai oublié).. en hq4x, je trouve qu'il y a un ralentissement un peu notable mais tout les autres modes sont bien fluides.. et ma préférence niveau graphisme va pour le 2x ou le hq2x (les 2derniers me semblent trop lissés et font perdre un peu du caractère originel du jeu..) Par contre il y a un dernier bug, c'est que pour voir l'écran de titre au départ et l'écran de choix des "saves / création de profil", il faut être en mode normal, ou alors on n'a plus d'image.. je ne sais pas pourquoi.. il faudrait voir dans le code peut être, mais en appuyant sur start deux fois, on arrive normalement dans le jeu et on retrouve l'image, donc en gros pour l'instant, il faut idéalement se mettre en normal avant de quitter le jeu pour avoir l'écran de titre affiché au prochain lancement ... sinon on devra appuyer sur start "à l'aveugle" pour jouer.. voilà pour les news du soir;)
-
j'ai toujours ce warning.. ça serait une piste ?: libpng warning: iCCP: known incorrect sRGB profile J'ai testé les mode 1, 2 et 16 : # tvservice --explicit="CEA 1 HDMI" # tvservice --explicit="CEA 2 HDMI" # tvservice --explicit="CEA 16 HDMI"
tvservice -m CEA Group CEA has 16 modes: mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced 3D:TopBot|SbS-HH mode 7: 720x480 @ 60Hz 16:9, clock:27MHz x2 interlaced (prefer) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive 3D:TopBot|SbS-HH mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced 3D:TopBot|SbS-HH mode 22: 720x576 @ 50Hz 16:9, clock:27MHz x2 interlaced mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive 3D:TopBot|SbS-HH mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH mode 33: 1920x1080 @ 25Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive 3D:TopBot|SbS-HH
Mais ça ne change rien au fait qu'il faut être en normal pour voir l'écran titre s'afficher normalement..