Questions sur l'API et son avenir
-
@Substring Je confirme c'est généré après le retour sous ES.
J'ai tenté une alternative : lancer retroarch en verbose, ça marche bien on a tout plein d'infos (--verbose > /tmp/retroarch.txt 2>&1). Nouveau fichier à chaque jeu, ca paraissait pas mal.
Après je l'ai ajouté dans /recalbox/scripts/emulatorlauncher.sh (j'ai remonté le disque en écriture) :
retroarchbin="/usr/bin/retroarch --verbose > /tmp/retroarch.txt 2>&1"
Mais visiblement je suis pas au bon endroit, la commande est toujours exécutée sans cette option lorsque je lance un jeu.
C'est tout pour aujourd'hui, les yeux piquent ce soir
-
@kjbstar je te déconseille cette méthode, certains emulateurs sont très verbeux.
La seule vraie methode c'est avec un ps.
On n'utilise plus ce emulatorlauncher.sh depuis un bail cela dit
-
Bon, avant de repartir dans cette recherche d'infos de jeu en cours, j'ai remis le nez dans la base de l'idée, à savoir faire prendre en charge le bouton Hotkey pour ensuite se servir de la fonction "combo" pour voir si on peut gérer la sortie de jeu, la sauvegarde, etc.
Autant ajouter le Hotkey c'est simple, autant j'ai perdu 2h ensuite, entre l'api qui marchait plus pour le gamepad au 1er reboot du Rpi (et c'est parti pour l'install de la dév sur une VM rapide, et des tests sur la VM finalement injoignable niveau API...), pour finalement bêtement redémarrer une 2nde fois le Rpi, et ô miracle l'API remarche.
Sauf qu'après quarante-douze mille tentatives d'envois de combos et de pressions de touches, je me suis rendu compte qu'en fait le gamepad virtuel (de l'API) ne fonctionne pas ingame, seulement dans ES.
Le comble, c'est que je testais sur un jeu SNES, et que le gamepad virtuel est justement SNES.Tout mon truc tombe à l'eau, c'est balo ^^
-
@kjbstar je te l'ai dit : le jeu en cours c'est en scrutant les process (ou une autre méthode en python avec configgen)
-
@Substring Oui, je voulais juste retenter l'idée de base avant, pour valider ou non mon projet d'écran "compagnon" (et donc savoir si oui ou non j'achète un tactile à cet usage).
J'ai retenté ce matin pour le virtual gamepad, mais bon je suis obligé de laisser tomber. Obligé de configurer le gamepad sur le joueur 1 pour avoir accès à Hotkey (1er problème), et la fonction Combo de l'API ne semble tout simplement pas fonctionner. J'ai juste réussi à déclencher 1 fois le menu de Retroarch en bourrinant de désespoir les envois "touche par touche".
Bref, des touches dédiées sauvegarde & co sur un écran déporté, c'est pas demain la veille
Je checkerais quand même par curiosité pour ce que tu me dis, même si du coup je risque de pas m'en servir. Merci en tout cas !
-
@kjbstar la fonction combo ne pourra jamais marcher puisque qu'elle implique activer des évènements d'un périphérique matériel (et donc autonome) par logiciel. Pas possible. Tu veux faire quoi exactement ? Regarde vers les commandes réseau de retroarch par exemple.
Tu ferais bien d'unier tes forces avec https://forum.recalbox.com/topic/5777/relier-à-un-écran-et-afficher-du-texte/
-
@Substring L'idée c'était de faire une interface très simple via navigateur, avec des gros boutons, à utiliser sur écran tactile.
A la base c'était juste 2 fonctions :
- sauvegarder
- restaurer
Car intégration dans borne d'arcade, et le kit que je prévois a l'emplacement pour le hotkey sur sur la face verticale du panel. Donc un peu plus chiant que bouger 2 pouces sur une manette, pour sauver dans le feu de l'action.
Faire un truc de feiniasse, quoi !
Je me disais ensuite qu'éventuellement ça pouvait être sympa que je détecte le jeu lancé pour afficher les movelists, dans le cas des bourre-pifs.
Et même afficher un listing des différentes savestates pour se repérer dans les dates et charger celle souhaitée, quand on reprend un jeu X temps après.J'ai vu le topic oui ce matin, je voulais tenter de faire sortir le nom du jeu en json sur une url propre et donc facile à récupérer pour une autre machine sur le local, mais j'ai pété le recalbox manager là, mes premières joies du python
EDIT : je ne savais pas du tout que RetroArch avait cette possibilité de commandes réseaux. Ca m'a l'air de répondre à ce besoin, merci !
-
@kjbstar on a déjà un bout de code python pour les network commands retroarch (donc en local), faut demander à @supernature2k
Mais si toi tu gères ta page web dans tn coin sans rien appeler de recalbox mais juste envoyer les commandes reseau à retroarch, pani pwoblemIdée : si ton jeu est scrapé, tu afficher des données tant qu'il edt en cours genre l'image, l'annee etc ... Tu peux aussi afficher le core etc ...
Et si tut'y connais et que n'es pas un amateur, tu peux partger tes sources sur github
-
@Substring Vu le désastre que j'ai fais dans le Recalbox Manager rien qu'en me contentant de dupliquer la page de monitoring (vue et fichier python) et créer une route, je crois que je vais laisser tomber Python. D'ailleurs il se remettra bien comme il faut quand je mettrais à jour ? Je suis en 4.0.1.
J'ai fais une première page vite fait, le plus long ayant été de capter que mes tests merdaient car j'avais des sauts de lignes pourris dans les fichiers sh... Hosté sur une VM, à terme ce sera sur un Raspi Zero, qui aura donc son p'tit écran.
Petite démo : https://youtu.be/9pSU0wJu16U
Pas con pour l'idée, mais juste en techno web, sur une machine à part, je crains que je vais être coincé pour aller lire les gamelist, non ?
Pour le github, of course, ce sera l'occasion de faire un truc propre, et j'aurais enfin un repo utile
-
@kjbstar excellent ca dis donc ! quelle techno derriere ?
-
@Substring Thx ! C'est du bête JS/jQuery qui appelle un bête php qui exec la bête commande donnée en exemple sur le wiki de Retroarch. Mais c'est très moche là, tout est en triple, je voulais juste tester en speed. Le vrai truc propre ce sera plus tard
Surtout que ta suggestion me titille... Je posterais des news sur ce fil quand j'aurais avancé (ou bloqué !). -
@kjbstar on a nodejs sur recalbox, donc tu pourrais tout faire avec
-
@Substring Ce serait le mieux et le plus logique oui, mais j'ai jamais fait de nodejs. Pas trop le temps de m'y mettre, même si j'aimerais bien. Je serais plus rapide en php et js "à l'ancienne". J'ai quelques pistes, je vais voir un peu demain.
-
@kjbstar je me disais la même chose après 8 ans de dev full php et je suis passé dev full js
-
@kjbstar Salut,
Pas mal la petite vidéo, bien joué ! Ton idée est vraiment pas mal, en espérant qu'un jour elle se retrouvera sur nos téléphones !
ça serait pas mal de contrôler quelques trucs comme tu le fais via une application, exemple tu descends, mince j'ai oublié d'éteindre la Recalbox ! Tu sors le téléphone, plop t'appuie et tu continues ton activité ^^ (Le même système que sur ta vidéo en gros)
Par contre il est impossible de redémarrer la Recalbox via ton appli une fois que son extinction est complète ? Il est obligatoire de déconnecter et de reconnecter l'alimentation ou de rajouter un bouton sur le Pi ?
J'aime bien le thème de la Recalbox, c'est lequel s'il te plait ? Merci
-
@kjbstar sauf que pas de php sur recalbox, et il n'y en aura pas. Déjà django (ahem ...) Et nodejs (qui lui a bcp plus de chances de rester)
-
Bon, j'ai terminé une 1ère version complète de mon compagnon "Recalboy" ^^
La vidéo par ici, [TEASER] avec une petite fonction sympa à la fin [/TEASER] : https://youtu.be/k_k3ho4qGwg
J'ai encore des finitions, une grosse feature (chargement des instructions lists de certains jeux arcade, encore faut-il en trouver un max et faire une intégration/ergonomie correcte...), et du css/autres images, mais je mettrais sur Github après les finitions, et après avoir fait un fichier de config complet.
@Substring
Je me doute oui. Je ne visais pas l'intégration dans Recalbox de toutes façons (cf je connais pas nodejs, et projet d'écran déporté, sur un Raspberry Zero, sur borne d'arcade), même si ça aurait été évidemment le plus pratique.@DjLeChuck
Full js ? Ca mérite de bien grands débats, mais là n'est pas l'endroit Plus sérieusement, je suis pas dév, donc pas vraiment le temps ni le besoin. Mais ça m'intéresse, un jour peut être...@Genetik57
C'est du réseau local, donc non on peut pas démarrer le Rpi, car s'il est éteint on peut pas communiquer avec lui L'extinction pourquoi pas. -
@kjbstar excellentisdime mais pourquoi ne pas drastiquement diminuer la taille du bouton et les afficher sous l'image sur une ou deux lignes, ce qui permettrait à l'affichage de tenir sur une simple page sans avoir besoin de scroller ?
En tout cas chapeau c'est vraiment top y compris l'intégration google drive
-
@kjbstar Merci Et ton thème pour la Recalbox c'est quoi s'il te plait ? Celui de la v4.1 ???
Deuxième question, une fois sur GitHub, tu autorises la modification de ton code ainsi que de la structure, thème ... etc à des fins personnelles ?
-
Dommage que tu cantonnes ce projet chez toi c'est vraiment un truc chouette