Page 1 sur 3

[DEV] HSDBMameTool

Publié : 10 mars 2015 - 11:17
par tom5151
Description:
HSDBMameTool est un utilitaire qui permet de générer une database HyperSpin pour MAME.
Pourquoi cet utilitaire ? Pour maintenir sa database à jour sans se prendre la tête à chaque nouvelle sortie de MAME.

Pré-requis:
  • Installer JAVA JRE 8 (la dernière version est recommandée)
  • Downlader l'exécutable de MAME (version officielle ou une version alternative comme celle de System PIXEL)
  • Downloader le fichier des catégories de MAME : Catlist.ini (fichier cat32)
  • Downloader le fichier des langues de MAME : languages.ini
Utilisation:
  1. Double-cliquer sur le JAR HSDBMameTool-0.7.jar
  2. Etape 1: Sélectionnez où se trouve l'exécutable de MAME
    Image
  3. Etape 2: Sélectionnez où se trouve le fichier des catégories Catlist.ini
    Image
  4. Etape 3: Sélectionnez où se trouve le fichier des langues languages.ini
    Image
  5. Etape 4: Sélectionnez les options de filtres que vous souhaitez appliquer:
    • Filtre sur les clones / preliminary
    • Filtre sur les genres (Mature / TableTop / Casino / ElectroMechanical / Quiz)
    • Filtre sur les drivers (par exemple ne générer une database que pour les jeux CPS1, i.e. qui ont cps1.c comme driver)
    • Filtre sur le nombre de boutons (par exemple ne générer une database que pour les jeux supportant de 1 à 6 boutons)
    • Filtre sur les langues (par exemple ne générer une database que pour les jeux Anglais et Français)
    Le bouton "Generate genres DB" permet de générer les databases par genre (en plus de la database principale).
    Image
  6. Etape 5: vous devriez trouver dans votre "Output directory" le(s) xml(s) à injecter dans le répertoire Databases de votre HyperSpin.
    Image

Historique:
Version 0.8:
  • Prise en charge des dernières versions de MAME >= 0.162 (fusion de MAME et MESS).
    Utiliser la version 0.7 pour les anciennes versions de MAME (<= 0.161).
Version 0.7:
  • Prise en charge des Catlist.ini FR et IT.
Version 0.6:
  • Ajout d'un filtre sur le nombre de boutons
  • Modification du filtre sur les drivers. On peut maintenant sélectionner plusieurs drivers parmi tous les drivers disponibles dans MAME.
Version 0.5:
  • Optimisation de l'étape 2
  • Ajout d'une étape pour charger le fichier languages.ini
  • Changement de l'ancienne étape 3, qui devient donc l'étape 4 avec la possibilité de sélectionner la langue des jeux pour lesquels on souhaite générer une DB
Version 0.1:
  • Version initiale
Télécharger:
HSDBMameTool-0.8.jar
HSDBMameTool-0.7.jar

Re: [EN COURS] MAME Database

Publié : 10 mars 2015 - 22:13
par tom5151
Petite mise à jour,
J'ai re-travaillé sur mon petit programme.
Je génère maintenant la database générale ainsi que les genres.
Je peux filtrer un peu plus qu'auparavant pour générer le XML comme je le souhaite:
  • preliminary=false
  • clone=false
  • mature=false
  • electromechanical=false
  • tabletop=false
  • casino=false
  • quiz=false
  • japan=false
J'ai mis les fichiers sur mon drive si vous êtes intéressés.
" onclick="window.open(this.href);return false;

Re: [EN COURS] MAME Database

Publié : 10 mars 2015 - 22:52
par micaelo14
Ça m'intéresse je regarde ça dès demain
merci

Re: [EN COURS] MAME Database

Publié : 11 mars 2015 - 11:12
par kefran69
"japan=false" ne me semble pas être une bonne idée mais si tu sais en générer plusieurs comme tu veux c'est super !

Si tu le souhaite ton travail pourra être ajouté a mon post dédié a MAME ici : viewtopic.php?f=18&t=6127

Re: [EN COURS] MAME Database

Publié : 11 mars 2015 - 18:11
par tom5151
kefran69 a écrit :"japan=false" ne me semble pas être une bonne idée mais si tu sais en générer plusieurs comme tu veux c'est super !

Si tu le souhaite ton travail pourra être ajouté a mon post dédié a MAME ici : viewtopic.php?f=18&t=6127
Ah oui, quand le programme sera terminé, tu pourras l'ajouter dans ton post. Je suis en train d'essayer de faire une interface graphique (en JAVAFX).
Pourquoi ce n'est pas une bonne idée d'enlever les "JAPAN" ?
Et concernant le rating (dont je me passe), pas d'idée d'où provient l'info ?

Re: [EN COURS] MAME Database

Publié : 11 mars 2015 - 18:17
par kefran69
tom5151 a écrit :Ah oui, quand le programme sera terminé, tu pourras l'ajouter dans ton post. Je suis en train d'essayer de faire une interface graphique (en JAVAFX).
Pourquoi ce n'est pas une bonne idée d'enlever les "JAPAN" ?
Et concernant le rating (dont je me passe), pas d'idée d'où provient l'info ?
Ok je vais surveiller ce que tu fais ça peut être interessant !
Pour les "Japan" a mon avis ça peut quand même supprimer pas mal de jeu jouables malgrè la langue comme les jeu de bastons par exemple.
La rating par contre je ne peux pas t'aider je ne sais pas du tout.

Re: [EN COURS] MAME Database

Publié : 12 mars 2015 - 10:32
par tom5151
kefran69 a écrit :Pour les "Japan" a mon avis ça peut quand même supprimer pas mal de jeu jouables malgrè la langue comme les jeu de bastons par exemple.
Tu aurais un exemple de jeux JAP (non clone) de baston stp ?

Re: [EN COURS] MAME Database

Publié : 12 mars 2015 - 10:38
par ralf5543
kefran69 a écrit : Pour les "Japan" a mon avis ça peut quand même supprimer pas mal de jeu jouables malgrè la langue comme les jeu de bastons par exemple.
Je suis plutôt d'accord avec sa démarche, moi. Là je suis en train d'éplucher les jeux multi super nes, c'est impressionnant le nombre de daubes japonaises. Filtrer permet à mon sens de se débarrasser des jeux dont la qualité n'avait pas été jugée suffisante pour arriver jusqu'à nous.

Re: [EN COURS] MAME Database

Publié : 12 mars 2015 - 10:44
par tom5151
ralf5543 a écrit :Je suis plutôt d'accord avec sa démarche, moi. Là je suis en train d'éplucher les jeux multi super nes, c'est impressionnant le nombre de daubes japonaises. Filtrer permet à mon sens de se débarrasser des jeux dont la qualité n'avait pas été jugée suffisante pour arriver jusqu'à nous.
Je suis en train de creuser le truc.
J'ai l'impression qu'en enlevant les clones, et les catégories mahjong, je ne trouve plus de jeux jap (en tout cas identifiés comme tel).
Car pour trouver les jeux jap, je peux me baser sur la catégorie (qui contient japan dans son libellé) ou éventuellement les titres de jeux qui contiennent "(Japan..."
Si quelqu'un a une autre idée pour les identifier, je suis preneur.

Re: [EN COURS] MAME Database

Publié : 12 mars 2015 - 13:11
par kefran69
Pour les identifier il y a le fichier "language.ini" a mettre dans le dossier "folders". Tu le trouveras dans la catégorie COMPLEMENTS MAME de mon post ici viewtopic.php?f=18&t=6127
Tu pourra donc trier la liste des jeux par langues utilisées et sur japan y'a pas mal de non-clones

Re: [EN COURS] MAME Database

Publié : 13 mars 2015 - 00:00
par tom5151
Voilà une version (très alpha ;)) de l'interface.
HSDBMameTool-0.1.jar: https://docs.google.com/uc?authuser=0&i ... t=download

C'est donc en JAVA, vous devez avoir le dernier JRE 8 d'installé pour le faire fonctionner.
La commande est la suivante (à lancer dans une cmd en tant qu'administrateur pour ne pas avoir de problème d'accès en écriture sur C:)

Code : Tout sélectionner

java -jar HSDBMameTool-0.1.jar
Dans cette première version, j'ai mis de côté le filtre sur la langue.

Les étapes sont assez simples:
  1. On sélectionne où se trouve l'exécutable de MAME (http://www.systempixel.fr/)
    Image
  2. On sélectionne ensuite où se trouve le fichier des catégories Catlist.ini (http://www.progettoemma.net/history/catlist.php)
    Image
  3. On choisit enfin les filtres à appliquer
    Image
    La case à cocher "Generate subcategories" permet de générer les databases des genres (en plus de la database principale).
En l'attente de vos retours...

Re: [EN COURS] MAME Database

Publié : 13 mars 2015 - 03:01
par chelo2014
Merci utilitaire fantastique ¡¡ :)

Re: [EN COURS] MAME Database

Publié : 13 mars 2015 - 12:25
par kefran69
J'avoue que ton utilitaire commence m'interesser ! Penses tu pouvoir faire la même chose a partir d'autres .ini dans l'étape 2 ?

Re: [EN COURS] MAME Database

Publié : 13 mars 2015 - 17:36
par tom5151
kefran69 a écrit :J'avoue que ton utilitaire commence m'interesser ! Penses tu pouvoir faire la même chose a partir d'autres .ini dans l'étape 2 ?
Ca doit être possible.
Avec du temps, tout est possible ;)
Tu penses à quel ini ?

Là, je regarde pour optimiser un peu (l'étape 2 est trop lente), et j'aimerais ajouter un step pour le languages.ini

Re: [EN COURS] MAME Database

Publié : 19 mars 2015 - 23:59
par tom5151
Voilà une nouvelle version pour les intéressés: HSDBMameTool-0.5.jar

Pour l'exécuter, il faut avoir installé JRE 8.
Une fois l'installation du JRE 8 réalisée, un double click sur le fichier HSDBMameTool-0.5.jar devrait lancer l'application.

Liste des nouveautés:
  • Optimisation de l'étape 2
  • Ajout d'une étape pour charger le fichier languages.ini
    Image
  • Changement de l'ancienne étape 3, qui devient donc l'étape 4 avec la possibilité de sélectionner la langue des jeux pour lesquels on souhaite générer une DB
    Image
N'hésitez pas à me faire des retours.
@kefran69: je pense que tu peux ajouter un lien dans ton post dédié à MAME.

Re: [EN COURS] MAME Database

Publié : 20 mars 2015 - 09:11
par kefran69
tom5151 a écrit : N'hésitez pas à me faire des retours.
@kefran69: je pense que tu peux ajouter un lien dans ton post dédié à MAME.
Ton utilitaire est vraiment bien conçu et très pratique ! J'aime surtout le fait de pouvoir choisir le driver et le language, cela va beaucoup me servir pour mes tris. Pour l'ajout a mon post dédié a Mame aucun problème ce sera fait d'ici peu ! Merci encore.

EDIT : Après un test plus avancé je me demande toujours pourquoi tu te sert de catlist comme base de départ alors que le meilleur selon moi serait d'avoir comme base un xml en full set puis étape par étape pouvoir affiner une database selon divers fichiers .ini de tris (languages, genre etc...)
Deuxièmement pourquoi ne peut on pas séléctionner plus de "driver" dans la liste déroulante ? je trouve cette fonction de tri super interessante pour un vrai classement par systèmes et non par "manufacturer"
En tout cas c'est vraiment pas mal comme truc mais manque 2 ou 3 bricoles je t'encourage a continuer de l'améliorer ! Tu as déjà fait du bon boulot :)

Re: [EN COURS] MAME Database

Publié : 21 mars 2015 - 19:51
par tom5151
Merci pour ton retour.

Le step 1 exécute la commande mame.exe -lx pour générer le full xml.
Le step 2 charge le catlist.ini pour compléter le full xml avec le genre.
Le step 3 charge le languages.ini pour compléter le full xml avec la langue.
Alors je ne comprends pas ta remarque. Tu pourrais préciser ?

Pour la liste des drivers, effectivement, j'ai mis ce dont je me servais, ce qui ne doit pas correspondre à ce dont tu as besoin :lol:
J'avais pensé à mettre tous ceux présents dans mame, mais ça fait une sacrée liste.
Il faudrait peut être ajouter les drivers les plus "aimés", mais je n'ai pas assez de recul pour ça.
Si tu me donnes une liste plus complète, je peux les ajouter sans problème.

Re: [EN COURS] MAME Database

Publié : 21 mars 2015 - 23:37
par LaDite
St,

Ça a l air pas mal ton soft :)

Il te serait possible d ajouter une option avec le nombre de boutons utilisés par le jeu (1,2,3,4,6,8, et + de 8) , ça serait sympa de pouvoir faire le tri suivant le nombre de bouton que possède la borne,

je pense à ça car mon neveu possède un panel avec 3 boutons, ce qui fait qu il a pas mal de jeu auquels il ne sait pas jouer et un tri s impose

merci et bonne continuation

Re: [EN COURS] MAME Database

Publié : 22 mars 2015 - 09:20
par kefran69
Effectivement tom5151 ce qui m'interesse le + c'est un classement par "driver" et mon idéal serait que l'on puisse avec ton soft séléctionner un ou plusieurs driver de mon choix et n'en faire qu'un seul .xml peu importe le genre ou la langue :) Je ne sais pas si c'est possible pour toi ou non ?

Sinon il y a vraiment beaucoup de façons differentes de classer les jeux mame alors pourquoi pas essayer de faire en sorte que l'on puisse charger le ou les .ini que l'on souhaite ? (genre, serie, language, players, manufacturer etc...)

Attention je précise que ce ne sont que des suggestions et je n'imagine et ne remet en cause a aucun moment la difficulté et ton envie a mettre en oeuvre tout cela ! Mais quand un soft est développé en "interne" on voudrait que ce soit le meilleur ;) tu pourrais aussi pourquoi pas t'inspirer de 2 ou 3 bricoles de l'utilitaire des ricains Don's Hypertools.

Re: [EN COURS] MAME Database

Publié : 22 mars 2015 - 12:27
par tom5151
@LaDite
Cela doit être possible, dans le xml de mame, je vois ceci qui pourrait permettre une sélection (dans le step 4) comme tu le souhaiterais je pense.

Code : Tout sélectionner

<input players="2" buttons="4" coins="4" service="yes">
  <control type="joy" ways="8"/>
</input>
@kefran69
Pas de souci, je suis preneur de suggestions, tu as vu mon nombre de post et te le tiens, j'ai mis le nez dans hyperspin depuis peu ;-)
Pour les drivers, je peux faire comme pour la sélection des langues dans le step 4.
Dans ce cas, je récupère la liste complète des drivers de mame, et les mets tous par défaut dans la liste des drivers sélectionnés.
Après à l'utilisateur de laisser tout par défaut ou de tout enlever et mettre les drivers qu'il souhaite.

En fait, c'est ma première interface en JAVA, alors je ne maitrise pas tout, mais c'est fun à faire.
Je vais essayer de regarder pour l'histoire des drivers et le nombre de boutons.