VECTREX
-
Super boulot ForeTricks......Merci. Bouuuu, je peux plus scaper Thegamesdb est HS, griiii. Bon, ben je vais re-essayer d'integrer ses fichus overlays....je reprend depuis le debut!!
-
SOLAR QUEST... et une petite pause pour le week-end
-
Nan, pas de pause, ouin Gros prod cette semaine, tu l'as mérité ton repos.  Bon, je reçois plus aucune notifications du forum, c'est étrange.  Frankeezz, tu tu veux que je poste un howto avec une install toute fraiche de la 3.3.0b17, dis moi quoi. Je parle pas le la 4.0.0 pour le moment, je pense que le but est de tester tout ça sur la 3.0.0 et d’intégrer ces magnifiques Overlays dans la 4.0.0
-
Merci pour le boulot, @foretriks, pas encore eu le temps de les tester (des mois que je n'ais pas allumé ma recalbox, pour me poser et jouer) mais ça semble très sympa !
Frankeezz, tu tu veux que je poste un howto avec une install toute fraiche de la 3.3.0b17, dis moi quoi. Je parle pas le la 4.0.0 pour le moment, je pense que le but est de tester tout ça sur la 3.0.0 et d’intégrer ces magnifiques Overlays dans la 4.0.0
Que dirais tu de prendre ce point @ironic et de modifier le configgen pour intégrer ces overlays au système ? Les points s'entassent et un coup de main ne serait pas de refus
-
Je t'avouerais que j'ai pas cherché une seule seconde comment fonctionne configgen. Mais vu la simplicité d'utilisation des overlays sous RetroArch, je ne pense pas que cela soit difficile a faire. Et le travail de Foretriks merite d'etre intégré a la 4.0.x J’espère avoir un moment cette semaine pour me pencher sur le sujet. D’autant plus que moi et Voljega on a assez bien peaufiné l’intégration de uae4arm (émulateur Amiga) a Recalbox 3.0.0. Ça serait bien de commencer à l’intégrer a la 4.0.x Vais regarder ça de plus près...
-
J'y connais rien en Python, pas évident de s'y retrouver. La finalité, c'est de remplacer la ligne de commande actuelle de emulatorlauncher.sh :
if [[ "$emulator" == "vectrex" ]]; then /recalbox/scripts/runcommand.sh 4 "$retroarchbin -L $retroarchcores/vecx_libretro.so --config /recalbox/configs/retroarch/retroarchcustom.cfg \"$1\"" fi
Par (Pour la 4.0.0 c'est share_init, je pense) :
if [[ "$emulator" == "vectrex" ]]; then /recalbox/scripts/runcommand.sh 4 "$retroarchbin -L $retroarchcores/vecx_libretro.so --config /recalbox/configs/retroarch/retroarchcustom.cfg --appendconfig /recalbox/<strong>share</strong>/overlays/vectrex/$filenameNoExt.cfg \"$1\"" fi
Et de placer (par exemple, pour Mine_Storm) les fichiers suivant dans /recalbox/share/overlays/vectrex. Mine_Storm.cfg
video_shader = "/recalbox/share/shaders/5xbr.glslp" video_shader_enable = "true" overlay_directory = "default" input_overlay = "/recalbox/share/overlays/vectrex/Mine_Storm-Overlay.cfg" input_overlay_enable = "true" input_overlay_enable_autopreferred = "true" input_overlay_hide_in_menu = "true" input_overlay_opacity = "1.000000" input_overlay_scale = "1.000000" gamma_correction = "false" soft_filter_enable = "false" flicker_filter_enable = "false" console_resolution_width = "0" console_resolution_height = "0" flicker_filter_index = "0" soft_filter_index = "0" current_resolution_id = "0" custom_viewport_width = "538" custom_viewport_height = "696" custom_viewport_x = "372" custom_viewport_y = "2"
Mine_Storm-Overlay.cfg
overlays = 1 overlay0_overlay = Mine_Storm.png overlay0_full_screen = true overlay0_descs = 0
Mine_Storm.png L'overlay de Foretriks que l'on peut retrouver ici, attention au nom de fichier. https://mega.nz/#F!f9ZzyTrY!M6S3RA1KNxmiHibj3J92Aw Mine_Storm.vec La rom du jeu a mettre dans
recalbox/share/roms/vectrex
 Si la rom/cfg n'existe pas, le paramètre--appendconfig /recalbox/<strong>share</strong>/overlays/vectrex/$filenameNoExt.cfg
est ignoré par RetroArch.  Maintenant, faut trouver comment apporter tout ça a configgen...  En cours de Debugage pour la 4.0.0... -
WEB WARP
-
Et un de plus Sinon, je misère sur la 4.0.0... J'ai pas vraiment le temps d'absorber la "philosophie" configgen. Ma prochaine mission sera de créer les .cfg des Overlays pour caler au mieux chaque jeu sur son overlay. Il faut une version 720p et pourquoi pas une version 1080p et 1024p, a tester...
-
@ironic > peut être devrais tu te rendre sur le canal irc pour discuter philosophie configgen. ça pourrait t'aider surement.
-
Oui je sais, faut juste du temps... du temps... Je pense m'y mettre prochainement. Poser directement quelques questions c'est des fois tellement plus rapide que je passer des heures et des heures dans les infos/docs/scripts.
-
je vais y jeter un oeil prochainement. Ajouter un simple param pour préciser un overlay, c'est du pipi de chat. Mais le but est que le code passe partout, meme pour des overlays mame. Comme je n'ai pas regardé une seule seconde encore les params de retroarch pour ca, c'est possible de me résumer : - ce qui va dans le retroarchcustom.cfg - ce qui est déporté dans un autre cfg - si on peut se contenter d'une image bien calée niveau transparence (dans l'hypothèse mame/fba_libretro) Il y aura quelques obligations : le cfg doit avoir strictement le meme nom que la rom, mais pour mine_storm au moins ca a deja l'air d'etre le cas. Eventuellement, peut etre définir un .cfg générique d'overlay dans overlays/vectrex poru éviter d'écrire nu cfg par jeu. Gardons la chose aussi simple que possible : si on fait qqc, l'idée est "je pose mes png et ca marche". Donc autant aller dès le début dans cette optique. Ca veut aussi dire qu'il faut réfléchir à l'overlay : si on peut avoir un seul overlay pour tout type de ratio d'écran (4/3, 5/4, 16/9, 16/10), ca sera quand même BEAUCOUP plus facile à gérer. Je referai signe quand je m'y mettrai. Mais pas pour tout de suite, ne me demandez pas quand hein ? vous savez comment ca marche when it's done
-
oups
-
Je ferais un petit exemple prochainement pour expliquer les contrainte de l'Overlay pour Vectrex...
-
J'avais commencer a modifier configgen mais suite au non réponse de la part de l'équipe pour juste créer un dossier standard pour les overlay, j'avais abandonner. Dans generators/libretro/libretroConfig.py :
if defined('overlay', recalboxConfig): retroarchConfig['input_overlay'] = recalboxFiles.overlayRoot + system.name + '/' + 'ROM SANS EXTANSION' + recalboxFiles.overlayExt retroarchConfig['input_overlay_opacity'] = recalboxConfig.get('overlay.opacity', "") retroarchConfig['input_overlay_scale'] = recalboxConfig.get('overlay.scale', "") else: retroarchConfig['input_overlay'] = ''
Dans recalboxFiles.py :
overlayRoot = "~/.config/retroarch/overlay/" overlayExt = '.cfg'
et dans recalbox.conf (attention je suis plus dans configen) :
Overlay support for libretro vectrex.overlay=1 vectrex.overlay.opacity=0.700000 vectrex.overlay.scale=1.000000
Maintenant je m'explique ou je buguer, je n'arrive pas a trouver l'argument rom qui devrait sortir d'un def generate(self, system, rom, playersControllers): que je ne serait placer la dedans. Après je rappelle que c'est impossible a intégrer car mettre des overlays dans les entrailles d'un system/.configs/retroarch/ c'est pas possible.
-
Connaitre la taille et l'Aspect Ratio exacte d'un jeu Vectrex est impossible dans la mesure ou elle varies d'un modèle a l'autre. De plus, avec le temps qui passe, l'image se déforme, se déplace... Donc, ce qu'il faut faire, c'est prendre comme base, un Overlay et caler la surface de jeux dessus. J'ai déjà testé pas mal de trucs et en scannant un Overlay, on obtient le bon format. Les Overlays de @ForeTriks respectent le bon format. Donc maintenant, il faut afficher l'Overlay en plein écran sur Y, pour cela, il faut utiliser un fichier de config de l'Overlay comme celui-ci :
overlays = 1 overlay0_overlay = armor-attack-1280x1024.png overlay0_full_screen = true overlay0_descs = 0
Il faut bien entendu que le PNG (ici : armor-attack-1280x1024.png) fasse 1280x1024 (Grosses bandes noires de chaque coté). - Si le PNG ne fait que la taille de l'Overlay (soit 800x1024), il sera déformé pour occupé les 1280x1024 - Si on utilise le paramètre overlay0_full_screen = false, l'Overlay sera aux bonnes dimensions mais ne pourra occuper que la surface du jeu. Comme il faut réduire la surface du jeu pour qu'il corresponde exactement aux dimensions souhaité, cela réduit également l'Overlay... Une fois que l'on a le .PNG (Overlay) du jeu, il faut obligatoirement son .CFG (fichier de config). armor-attack-1280x1024.png armor-attack-1280x1024.cfg
overlays = 1 overlay0_overlay = armor-attack-1280x1024.png overlay0_full_screen = <strong>true</strong> overlay0_descs = 0
Lors du lancement du jeu, il faut également donner quelques informations a RetroArch pour qu'il charge, affiche aux bonnes dimensions le jeu et l'Overlay. Il faut donc un fichier de configuration pour RetroArch :
# Si on veut un Shader video_shader = "/recalbox/share/shaders/hq4x.glslp" video_shader_enable = "true" # Taille et position de la surface du jeu aspect_ratio_index = "22" custom_viewport_width = "758" custom_viewport_height = "978" custom_viewport_x = "260" custom_viewport_y = "12" # L'Overlay a charger avec ses parametres input_overlay = "/recalbox/share/overlays/vectrex/Armor_Attack-Overlay.cfg" input_overlay_enable = "true" input_overlay_hide_in_menu = "true" input_overlay_opacity = "0.600000" input_overlay_scale = "1.000000"
On peu ajouter ou supprimer certains paramètres... Les paramètres :
custom_viewport_width = "758" custom_viewport_height = "978" custom_viewport_x = "260" custom_viewport_y = "12"
Seront différents a chaque jeu et chaque résolution utilisée. Ça permet de caler au mieux, le jeu sur l'Overlay. On pourrait trouver des paramètres a peu près standard pour tous les jeux mais le résultat serait nettement moins agréable. Voici ce que j'obtiens avec ces paramètres : Bon, la capture d'écran sous RetroArch, ne capture que la surface du jeu. Comme celle-ci est réduite pour coller parfaitement a l'Overlay, la capture tronque les bordes de l'Overlay. Avec ces paramètres, vous pouvez voir que la superposition de l'Overlay sur le jeu est "parfaite". Et même plus fidèle/précise qu'une Vectrex original qui était peut précise a ce sujet. Je doit encore chercher la solution ultime pour le Shader, afin de lisser au maximum les pixels.
-
@ironic comment fais tu pour que retroarch charge automatiquement le bon overlay pour chaque jeu ?
-
Comme je l'ai déjà dis, je me passe des services de configgen. Pour la Vectrex, j'ai un .CFG Retroarch générique que je lance avec chaque jeu (vectrex.cfg) et un autre qui s'appelle comme la rom mais le .ZIP est un .CFG La ligne de commande suivante (du fichier emulatorlauncher.sh) permet de : - Exécuter le binaire Retroarch - Avec la rom choisi par EmulationStation - Et avec comme fichier de configuration Retroarch (vectrex.cfg). - Puis le dernier paramètre de cette ligne charge un second fichier de configuration Retroarch ($filenameNoExt.cfg) qui ajoute ou remplace des paramètres de configuration a RetroArch. C'est dans ce fichier que sont les paramètres de chargement et d'affichage de l'Overlay.
/recalbox/scripts/runcommand.sh 4 "$retroarchbin -L $retroarchcores/vecx_libretro.so --config /recalbox/configs/retroarch/vectrex.cfg --appendconfig /recalbox/share/overlays/vectrex/$filenameNoExt.cfg \"$1\""
Si le fichier .CFG du jeu n'existe pas, il est ignoré par Retroarch. -
@Acris, il utilise l'ancien configgen pour rajouter avec la command -appconfig qui rajoutera au fichier retroarchcustom les lignes nécessaire a l'affichage du overlay. @ironic,pour tes overlays tu dis que tu as besoin de faire de la gestion sur les ratio, et autres donc ca veut dire qu'il ne sera pas possible de créer un système universel aussi précis que tu le veut car je pense pas même si je n'ai pas tester que réduire la surface de jeu en pixel est adapter a tous les télévisions. @digitalumberjack @retroboy: je n'arrive pas a sortir l'argument rom dans libretroconfig.py, il faut utiliser un import particulier ou le rajouter un lien (désolé je connais pas le nom qu'on en envoie des données du genre fonction(argument1, argument2); dans un autre fichier.
-
On réduit la surface du jeu pour "coller" a l'Overlay qui lui est en plein écran (verticalement). Il existe 22 jeux officiels, on peut très bien créer les 3 overlays par jeux et donc les 3 CFG par jeux. Ça fait en tout, 66 fichier de configuration a créer et il seront utilisables par tous. De plus, c'est extrêmement simple a modifier. De toute façon, il faut des Overlays pour ces trois formats (5/4, 16/9 et 16/10 ... on peut ajouter le 4/3 également), j'ai pas trouvé comment faire autrement. Faut faire un choix entre qualité et simplification. Même si on utilise pas de cfg optimisé pour le jeu/overlay, il faudra quand même les 3 Overlays PNG par jeux. Celui qui utilise du 800x600 ou du 640x480 pourra utiliser le 1280x1024 sans probleme. Après je peux faire une équation qui calcul les X, Y, Largeur, Hauteur pour un Overlay 16/9 en fonction des paramètres d'un 5/4. Les paramètres d'un 5/4 : - Custom_viewport_width = "758" (Taille en X de la surface du jeu). Max : 1280 - custom_viewport_height = "978" (Taille en Y de la surface du jeu). Max 1024 - custom_viewport_x = "260" (décalage en X du début de l'affichage de la surface du jeu). Équivaut a environ (1280-758)/2. - custom_viewport_y = "12" (décalage en Y du début de l'affichage de la surface du jeu). Équivaut a environ (1024-978)/2. ... Bon, c'est pas très précis, vaut mieux faire ça a la main...
-
Comme je l’ai déjà dis, je me passe des services de configgen.
oui je sais que tu ne l utilises pas mais subs a besoin de savoir comment le gérer avec retroarch justement quel argument fait que. le ratio a été ajouté au configgen pour recalbox 4.1