Git Product home page Git Product logo

gamelistpower's Introduction

EMULATIONSTATION GAMELISTPOWER

Readme / lisez-moi

Par Nordicpower [email protected] / https://twitter.com/nordicpower Septembre 2018

Gamelistpower est une série de scripts en python afin d'améliorer Recalbox sur Pi3.

La version 0.9 de Gamelistpower installe une nouvelle plateforme dénommée collections dans RecalBox (avec le thème favori). Celle-ci permet de lancer des jeux sur plusieurs plateformes différentes au sein d'une seule et de les regrouper par dossier, Tout-ceci sans recopier les roms, préservant ainsi l'espace disponible sur votre SD ou HDD!!

Ces dossiers de jeux multi-plateformes sont issus par des recherche des métadonnées des roms (fichiers gamelist.xml), chaque rom trouvé possède alors un script de lancement (sh) et ces métadonnées sont recopiées dans le gamelist de la plateforme collections

Un guide des 1er pas est fourni dans le Wiki !(https://github.com/nordicpower/gamelistpower/wiki)

Copies d'écran du résultat

Le dossier Outrun (Depuis la Recalbox 18.06.27) Alt text Alt text

Le dossier Street-Fighter (Recalbox 18.04.20) Alt text Alt text

Comment installer ?

  1. Ouvrir une session ssh
    mount -o remount,rw /
    cd /recalbox/share
    wget https://github.com/nordicpower/gamelistpower/archive/master.tar.gz
    tar xzvf master.tar.gz
    cp -r /recalbox/share/gamelistpower-master /recalbox/scripts/gamelistpower
    rm -r /recalbox/share/gamelistpower-master
    cd /recalbox/scripts/gamelistpower
    chmod 777 *.sh
    ./install.sh
  2. Une recherche sera lancée, la nouvelle plateforme sera prise en compte après un reboot de recalbox

Comment configurer ?

Dans le fichier rules_gensh.xml (dans /recalbox/scripts/gamelistpower), le fichier contient des règles de recherche permettant d'alimenter la plateforme collections, un exemple :
<rule>
<name>mario</name>
<searchAttribute>name</searchAttribute>
<searchValue>mario</searchValue>
<destination>/recalbox/share/roms/collections/mario</destination>
<preserveFavorite>false</preserveFavorite>
</rule>

Cette règle permettra de rechercher tous les jeux dont le nom contient mario et de copier le résultat dans le dossier /recalbox/share/roms/collections/mario. L'attribut favori ne sera pas conservé.

Configuration par défaut

La configuration par défaut permet de rechercher et de classer des roms sur les thématiques suivantes : Giana Sisters, Magic Drop, Mario, Metal Slug, Outrun, Pang, Pinball, Puyo Puto, Rick Dangerous, Street Fighter, Tetris. Les images des dossiers sont fournies à l'installation.

Configuration avancée

Exclusion de dossiers ou de roms

Il est possible d'exclure au sein d'une règle des roms ou des dossiers, il suffit d'indiquer le nom ou le chemin concerné <exclusions>
<exclusion>Mario Lemieux Hockey.zip</exclusion>
<exclusion>/recalbox/share/roms/mario</exclusion>
</exclusions>

Modifier le titre des roms

<options>
<titleformat>%%NAME%% (%%PLATEFORM%%)</titleformat>
<path>/recalbox/share/roms/collections</path>
</options>
La balise titleformat permet de personnaliser le titre de la rom dans la plateforme collection. La configuration par défaut utilise le nom de la rom et en parenthèse le nom de la plateforme source. Les variables disponibles sont %%NAME%% (la balise name), %%PLATEFORM%% (le nom de la plateforme) et %%REGION%% (la balise region). Il est possible d'avoir le résultat en majuscule ou minuscule par l'utilisation de la variable en majuscule ou minuscule (%%NAME ou %%name%%)

Voici un exemple d'un rom scrappé de la plateforme MAME: <game>
<path>./outrun.zip</path>
<name>out run</name>
<releasedate>19860101T000000</releasedate>
<developer>SEGA</developer>
<publisher>SEGA</publisher>
<region>WORLD</region>
<genre>COURSE, CONDUITE</genre>
</game>
Les titres dans gamelist collections seront les suivants en fonction des formats:
%%NAME%% (%%PLATEFORM%%)=> OUT RUN (MAME)
%%mame%% [%%region%]=> out run [REGION]
%%mame%% => out run

Image des dossiers

Les images de dossiers doivent être stockées dans le dossier /recalbox/share/roms/collections/images. Le script recherche une image du même nom que le dossier de destination de la règle (avec une extension png ou jpg) et créer l'entrée nécessaire.

Comment rafraîchir la plateforme ?

Deux méthodes sont disponibles :

  • Directement à travers emulationstation, une entrée "Z-Refresh" permet de lancer la mise à jour et de relancer Recalbox une fois terminée
  • Via la commande SSH : cd /recalbox/share/scripts/gamelistpower python gamelistpower.py generate_sh info Il sera nécessaire de relancer RecalBox pour prendre en compte les nouvelles roms identifiées.

Scripts complémentaires python (appel via SSH uniquement)

  • gamelist_change_attr.py : permet de modifier automatiquement de valeurs d'attribut (extraire la region du nom du fichier)
  • gamelist_check.py : permet de tester le chargement d'un fichier en python
  • gamelist_diff.py : comparaison de deux fichiers xml afin d'identifier les jeux présents dans un fichier et pas un autre
  • gamelist_favori.py: import/export multi-plateformes des favoris/hidden
  • gamelist_merge.py : permet de fusionner deux fichiers XLM
  • gamelist_sort.py : permet de trier les entrées XML selon un attribut

Mon éditeur MD en ligne : https://stackedit.io/app#

gamelistpower's People

Contributors

nordicpower avatar bozothegeek avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.