diff --git a/README.md b/README.md new file mode 100644 index 0000000..2cc1b73 --- /dev/null +++ b/README.md @@ -0,0 +1,175 @@ +# 🎼 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. +- **Mode recherche** : Filtrez les jeux par nom pour une navigation rapide. +- **Gestion des erreurs** +- **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 dans `/userdata/roms/ports/RGSX` 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` + +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 `/userdata/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 `/userdata/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 +> `/userdata/saves/ports/RGSX/1FichierAPI.txt` +> si vous souhaitez tĂ©lĂ©charger depuis des liens 1Fichier. +--- + +- Lancez RGSX depuis ports. +- Configurez les contrĂŽles. Ils pourront ĂȘtre reconfigurĂ©s via le menu pause par la suite si erreur. +- Supprimez le fichier `/userdata/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. +- Appuyez sur **Échap** pour ignorer une action sans la mapper. + +--- + +### 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. + +--- + +### Logs + +Les logs sont enregistrĂ©s dans `/userdata/roms/ports/RGSX/logs/RGSX.log` pour diagnostiquer les problĂšmes. + +--- + +## 📁 Structure du projet +``` +/userdata/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. +├── 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. +├── utils.py # Fonctions utilitaires (wrap du texte, troncage etc.). +└── logs/ + └── RGSX.log # Fichier de logs. + +/userdata/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 `/userdata/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.