# 🎼 Retro Game Sets Xtra (RGSX) RGSX est une application Python basĂ©e sur Pygame. --- ## ✹ FonctionnalitĂ©s - **TĂ©lĂ©chargement de jeux** : Prise en charge des fichiers ZIP et gestion des extensions non supportĂ©es grĂące au fichier `info.txt` dans chaque dossier. - Les tĂ©lĂ©chargements ne nĂ©cessitent aucune authentification ni compte pour la plupart. - Les systĂšmes notĂ©s `(1fichier)` dans le nom ne seront accessibles que si vous renseignez votre clĂ© API 1fichier (voir plus bas). - **Historique des tĂ©lĂ©chargements** : Consultez et retĂ©lĂ©chargez les anciens fichiers. - **Personnalisation des contrĂŽles** : Remappez les touches du clavier ou de la manette Ă  votre convenance avec dĂ©tection automatique des noms de boutons depuis EmulationStation. - **Mode recherche** : Filtrez les jeux par nom pour une navigation rapide avec clavier virtuel sur manette. - **Support multilingue** : Interface disponible en plusieurs langues. - **Gestion des erreurs** avec messages informatifs. - **Interface rĂ©active** : L'interface s'adapte Ă  toutes rĂ©solutions de 800x600 Ă  4K (non testĂ© au-delĂ  de 1920x1080). - **Mise Ă  jour automatique** (bug d'affichage Ă  amĂ©liorer lors d'une mise Ă  jour) : l'application doit ĂȘtre relancĂ©e aprĂšs sa fermeture automatique. --- ## đŸ–„ïž PrĂ©requis ### SystĂšme d'exploitation - Batocera ou Knulli ### MatĂ©riel - Manette (optionnelle, mais recommandĂ©e pour une expĂ©rience optimale) ou Clavier. ### Espace disque - Espace suffisant pour stocker les ROMs, images et fichiers de configuration. --- ## 🚀 Installation ### MĂ©thode 1 : Ligne de commande - Sur batocera PC acceder Ă  F1>Applications>xTERM ou - Depuis un autre pc sur le rĂ©seau avec application Putty, powershell SSH ou autre Entrez la commande : ## `curl -L bit.ly/rgsx-install | sh` Patientez et regardez le retour Ă  l'Ă©cran ou sur la commande (Ă  amĂ©liorer). Mettez Ă  jour la liste des jeux via : `Menu > ParamĂštres de jeux > Mettre Ă  jour la liste des jeux `. Vous trouverez RGSX dans le systĂšme "PORTS" ou "Jeux Amateurs et portages" et dans `/roms/ports/RGSX` --- ### MĂ©thode 2 : Copie manuelle - TĂ©lĂ©chargez le contenu du dĂ©pĂŽt en zip : https://github.com/RetroGameSets/RGSX/archive/refs/heads/main.zip - Extrayez le tout dans `roms/ports/RGSX` (le dossier RGSX devra ĂȘtre créé manuellement). Attention de bien respecter la structure indiquĂ©e plus bas. - Mettez Ă  jour la liste des jeux via le menu : `ParamĂštres de jeux > Mettre Ă  jour la liste`. ## 🏁 1er dĂ©marrage --- > ## IMPORTANT > Si vous avez une clĂ© API 1Fichier, vous devez la renseigner dans > `/saves/ports/RGSX/1FichierAPI.txt` > si vous souhaitez tĂ©lĂ©charger depuis des liens 1Fichier. --- - Lancez RGSX depuis ports. - Au premier lancement, l'application importera automatiquement la configuration des contrĂŽles depuis EmulationStation si disponible. - Configurez les contrĂŽles si nĂ©cessaire. Ils pourront ĂȘtre reconfigurĂ©s via le menu pause par la suite. - Supprimez le fichier `/saves/ports/RGSX/controls.json` en cas de problĂšme puis relancez l'application. - L'application tĂ©lĂ©chargera toutes les donnĂ©es nĂ©cessaires automatiquement ensuite. --- ## đŸ•č Utilisation ### Navigation dans les menus - Utilisez les touches directionnelles (D-Pad, flĂšches du clavier) pour naviguer entre les plateformes, jeux et options. - Appuyez sur la touche configurĂ©e comme start (par dĂ©faut, **P** ou bouton Start sur la manette) pour ouvrir le menu pause. - Depuis le menu pause, accĂ©dez Ă  l'historique, Ă  l'aide des contrĂŽles (l'affichage des contrĂŽles change suivant le menu oĂč vous ĂȘtes) ou Ă  la reconfiguration des touches. - Vous pouvez aussi, depuis le menu, rĂ©gĂ©nĂ©rer la liste des systĂšmes/jeux/images pour ĂȘtre sĂ»r d'avoir les derniĂšres mises Ă  jour. --- ### TĂ©lĂ©chargement - SĂ©lectionnez une plateforme, puis un jeu. - Appuyez sur la touche configurĂ©e confirm (par dĂ©faut, **EntrĂ©e** ou bouton **A**) pour lancer le tĂ©lĂ©chargement. - Suivez la progression dans le menu `download_progress`. --- ### Personnalisation des contrĂŽles - Dans le menu pause, sĂ©lectionnez **Remap controls**. - Suivez les instructions Ă  l'Ă©cran pour mapper chaque action en maintenant la touche ou le bouton pendant 3 secondes. - Les noms des boutons s'affichent automatiquement selon votre manette (A, B, X, Y, LB, RB, LT, RT, etc.). - La configuration est compatible avec toutes les manettes supportĂ©es par EmulationStation. --- ### Historique - AccĂ©dez Ă  l'historique des tĂ©lĂ©chargements via le menu pause ou en appuyant sur la touche history (par dĂ©faut, **H**). - SĂ©lectionnez un jeu pour le retĂ©lĂ©charger si nĂ©cessaire. - Videz l'historique via le bouton progress dans le menu historique. --- ### Logs Les logs sont enregistrĂ©s dans `/roms/ports/RGSX/logs/RGSX.log` pour diagnostiquer les problĂšmes. --- ## 📁 Structure du projet ``` /roms/ports/ RGSX-INSTALL.log # LOG d'installation uniquement RGSX/ │ ├── main.py # Point d'entrĂ©e principal de l'application. ├── controls.py # Gestion des Ă©vĂ©nements clavier/manette/souris et navigation dans les menus. ├── controls_mapper.py # Configuration des contrĂŽles avec dĂ©tection automatique des noms de boutons. ├── es_input_parser.py # Parseur de configuration EmulationStation pour l'import automatique des contrĂŽles. ├── display.py # Rendu des interfaces graphiques avec Pygame. ├── config.py # Configuration globale (chemins, paramĂštres, etc.). ├── network.py # Gestion des tĂ©lĂ©chargements de jeux. ├── history.py # Gestion de l'historique des tĂ©lĂ©chargements. ├── language.py # Gestion du support multilingue. ├── utils.py # Fonctions utilitaires (wrap du texte, troncage etc.). └── logs/ └── RGSX.log # Fichier de logs. /saves/ports/ RGSX/ │ ├── controls.json # Fichier de mappage des contrĂŽles (gĂ©nĂ©rĂ© aprĂšs le 1er demarrage) ├── history.json # Base de donnĂ©es de l'historique de tĂ©lĂ©chargements (gĂ©nĂ©rĂ© aprĂšs le 1er tĂ©lĂ©chargement) └── 1FichierAPI.txt # ClĂ© API 1fichier (compte premium et + uniquement) (vide par defaut) ``` --- ## đŸ€ Contribution ### Signaler un bug 1. Consultez les logs dans `/roms/ports/RGSX/logs/RGSX.log`. 2. Ouvrez une issue sur GitHub avec une description dĂ©taillĂ©e et les logs pertinents. ### Proposer une fonctionnalitĂ© - Soumettez une issue avec une description claire de la fonctionnalitĂ© proposĂ©e. - Expliquez comment elle s'intĂšgre dans l'application. ### Contribuer au code 1. Forkez le dĂ©pĂŽt et crĂ©ez une branche pour votre fonctionnalitĂ© ou correction : git checkout -b feature/nom-de-votre-fonctionnalitĂ© 2. Testez vos modifications sur Batocera. 3. Soumettez une pull request avec une description dĂ©taillĂ©e. --- ## ⚠ ProblĂšmes connus / À implĂ©menter - Gestion des tĂ©lĂ©chargements multiples --- ## 📝 Licence Ce projet est libre. Vous ĂȘtes libre de l'utiliser, le modifier et le distribuer selon les termes de cette licence. DĂ©veloppĂ© avec ❀ pour les amateurs de jeux rĂ©tro.