HyperManager.MameUtilities

Vous trouverez ici les développements et les logiciels faits maison et qui répondent au mieux à nos besoin.

Modérateur : Modérateurs

Avatar de l’utilisateur
GreenTentacle
noob
noob
Messages : 6
Inscription : 07 févr. 2015 - 19:12

HyperManager.MameUtilities

Message par GreenTentacle » 25 mai 2015 - 21:19

Description:
Tentacule.HyperManager.MameUtilities.exe permet de filtrer les jeux grace à des expressions xpath (http://fr.wikipedia.org/wiki/XPath" onclick="window.open(this.href);return false;) à partir d’un fichier listfull de MAME.

L’avantage du xpath par rapport à une interface standard est d’avoir accès pour le filtrage à toutes les infos présentes dans le listfull de mame et de pouvoir les combiner à souhait, filtre par nombres de joueurs, de boutons, type de controle, driver, status du driver, type de processeur principal ou sonore, ecran vertical ou horizontal, mode cocktail, tout est possible...

La deuxieme caracteristique de ce programme est de s'executer en ligne de commande, ce qui peut etre un peu rebuttant mais qui permet de creer des batch qu'on peut lancer apres chaque mise à jour de mame pour recreer ses listes de jeux filtrées comme on veut.

C'est pour l'instant une version préliminaire qui s'adresse plustot à des bricoleurs (il n'y a pas d'aide interne, de log, ...), mais j'essayerai au maximun d'apporter du support à ceux qui voudront l'essayer.

Pré-requis:
.NET Framework 4 ou supérieur.

Utilisation:

Obtenir un fichier listfull.xml:
mame.exe -listfull > listfull.xml


En ligne de commande:
Tentacule.HyperManager.MameUtilities.exe --action="xxx" --input="x:\xxx\listxml.xml" -output="x:\xxx\filtered-games.xml" ...

Les arguments obligatoires:
--action est l’action à effectuer.
--input le fichier listxml.xml.
--output le fichier de sortie.

Filtrer les jeux:
--action="filtergames"
--xpaths="x:\xxx\filter-cps-working.txt"

avec filter-cps-working.txt qui contient une liste de xpath:
/mame/game[@sourcefile='cps1.c' or @sourcefile='cps2.c' or @sourcefile='cps3.c']
/mame/game/driver[@status!='preliminary']
Dans cet exemple on veut les jeux avec un sourcefile (driver) cps1, 2 ou 3.c et dont le driver n’a pas le status ‘preliminary’

Appliquer un catini:
--action="applycatini"
--catini="x:\xxx\Catlist.ini"

Ajoute un noeud xml pour chaque jeu contenant les info présente dans le fichier cat.ini (languages.ini, genre.ini,...)
<game name="005" sourcefile="segag80r.c" sampleof="005">
<description>005</description>
<year>1981</year>
<manufacturer>Sega</manufacturer>
<driver status="imperfect" emulation="good" color="good" sound="imperfect" graphic="good" savestate="unsupported" />
....
<customcategories>
<Genre>Labyrinthe / Etroit - Tir</Genre>
</customcategories>

</game>
Ces noeuds sont utilisable avec le xpath, permettant d’ajouter de nouveaux critères de tris.


Convertir un fichier mame xml en database hyperspin:
--action="convert"


Download:
https://www.dropbox.com/s/6plz2w3rg2yai ... s.zip?dl=0

Avatar de l’utilisateur
Narugawa
Virtuose
Virtuose
Messages : 1147
Inscription : 28 mars 2014 - 00:00
A remercié : 11 fois
A été remercié : 8 fois

Re: HyperManager.MameUtilities

Message par Narugawa » 25 mai 2015 - 23:32

Sympa tout ça !

Avatar de l’utilisateur
kefran69
Maître
Maître
Messages : 3907
Inscription : 05 mai 2013 - 01:00
Localisation : Villefranche sur Saône
A remercié : 46 fois
A été remercié : 615 fois

Re: HyperManager.MameUtilities

Message par kefran69 » 26 mai 2015 - 11:39

Héhé je garde un oeil la dessus et lorsque tu auras bien avancé si tu le souhaite j'ajoute un lien sur mon post dédié a MAME

Répondre

Revenir à « Développements et logiciels maison »