Fonctions avancées de Pinup

Fonctions avancées de Pinup

Rénald 3 mai 2020
Print Friendly, PDF & Email

Objectif : Vous permettre d’utiliser une bonne partie des fonctions avancées de PinuP Popper, notamment celles vous permettant d’organiser vos tables et leurs métadonnées ( Année, Genre, Fabricant,etc…) et dans un second temps, de créer des playlists thématiques qui se gèrent toutes seules 😉

Pré-requis : disposer déjà de tables identifiées sous PinUp, c’est à dire installées depuis l’onglet “Add Games” de Pinup Popper. Prévoir aussi du Guronsan et/ou du Doliprane on sait jamais.

1 – Récupération des données

La toute première étape va consister à donner à manger à PinUp en récupérant une liste de tables la plus récente possible. Cette liste à jour va vous permettre de récupérer le maximum d’infos pertinentes pour les tables que vous possédez.

Rendez-vous sur le lien suivant pour découvrir cette liste de tables :

PinUP System ‘puplookup.csv’ Database Creator

Le but n’étant pas de faire un tuto sur le fonctionnement précis de ce SpreadSheet, je vous laisse découvrir dans l’onglet “Step 1 – Options”, comment affiner la liste que vous souhaitez récupérer.

Vous téléchargez ensuite votre liste comme ci-dessous


Une fois ce fichier récupéré, plusieurs petites étapes avant de le rendre exploitable :

  1. vous renommez ce fichier en ‘puplookup.csv’
  2. Dans votre dossier “c:\PinupSystem\”, renommez le fichier existant ‘puplookup.csv’ en ‘puplookup.csv.old’ par exemple.
  3. Copier le fichier téléchargé à cet emplacement
  4. Lancez PinupMenuSetup, choisissez l’onglet popper setup, puis cliquez sur le bouton DB Editor. Une fois dans le DB Editor, cliquez sur le bouton Import Lookup pour lancer l’importation des données dans la base de PinUp, un message de confirmation vous demande de valider ce choix, faites OK ( la procédure d’importation prend un peu de temps, un compteur défile et peut même se figer, keep calm et patientez jusqu’au message indiquant que c’est fini (DONE) 🙂

1ère étape terminée 🙂

2 – utilisation des données

Rendez-vous dans l’onglet “Game Manager” de PinUp, puis cliquez sur le bouton ‘Game Manager’.

Arrivé sur l’écran suivant, l’onglet “All Games” vous présente sur sa partie gauche la liste de toutes vos tables installées, sur sa droite les métadonnées relatives à la table en surbrillance dans la liste de gauche.

Un onglet “Add New Games” vous permet d’ajouter de nouvelles tables, un autre onglet “ImportData” va permettre d’exploiter les données CSV importées. L’onglet Lookups permet de gérer des listes prédéfinies pour compléter les métadonnées, et un dernier onglet apparu en 1.4.4, “stats”, permet d’avoir un classement des tables avec temps de jeu, etc…

Pour notre exemple, nous allons exploiter l’onglet “ImportData” et commencer en séléctionnant la table “RollerCoaster Tycoon”, où vous pouvez voir que le nommage du fichier n’est pas conventionnel et que la zone de métadonnées est pratiquement vide de contenu.

A ce niveau de la présentation 2 points importants à retenir :

  1. Certaines manipulations vont permettre d’ajouter des métadonnées à chaque table. Cela complètera la partie droite de l’écran ci-dessus et ces infos serviront pour l’essentiel à constituer facilement des playlist personnalisées
  2. D’autres manipulations permettront de renommer votre table, ce qui aura pour effet de renommer le .vpx, le .db2s ainsi que tous les fichiers médias que vous avez associés à votre table.

2.1 Import des métadonnées :

Une fois la table “RollerCoaster Tycoon” mis en surbrillance, cliquez sur le bouton à droite du”Game FileName” et nommé “Import”.

Vous arrivez sur l’écran suivant :

La case à cocher repérée par le “1” vous indique que la procédure d’import renommera le “ScreenName” à l’identique du “GameName” si celle-ci est cochée, ce que je conseille de faire pour des questions de lisibilité entre les différentes versions de tables.

Pour importer les métadonnées c’est donc très simple, vous choisissez la ligne qui correspond dans la liste à votre table, et vous validez l’import en faisant un double-clic sur la ligne ou en cliquant sur le bouton “Import Field”. L’une ou l’autre des méthodes vous ramène sous l’onglet “All Games” ou vous pouvez constater qu’une bonne partie de vos métadonnées à droite sont désormais remplies 😉

Vous noterez par contre que les champs ‘FileName’ et ‘GameFileName’ n’ont pas été modifiés par cette manipulation et conservent leur nom d’origine.

!!!! Pensez à faire un clic sur le bouton ‘SAVE’ régulièrement pour ne pas perdre vos modifications lors des imports !!!

2.2 Renommage de la table

Pour renommer votre table la démarche de départ reste identique, sélection de votre table dans la liste puis clic sur le bouton “import” qui vous amène dans l’onglet “ImportData”.

Pour renommer votre table, sélectionnez la dans la liste déroulante. Ensuite deux choix possibles :

  1. La table va être renommée à l’identique du nom qu’elle porte dans la colonne ‘PrOPPER Filename’ de la liste
  2. Le système vous affiche le nouveau nom de la table, identique à celui de la liste, mais vous propose de l’éditer, si vous le souhaitez, avant de valider le renommage. Cela peut s’avérer pratique dans certains cas. Je précise qu’il est inutile de passer par cette option si c’est pour juste supprimer ce qui est entre paranthèses dans le nom (fabricant année) car une option de pinup vous permet ne pas afficher ces infos si vous le désirez (paramètre NoBracketText=1 dans le fichier PupMenuScriptSysOptions.txt situé dans le dossier “C:\Pinupsystem”)

Un message de validation vous demandera, quel que soit l’option choisie, de confirmer la demande de renommage.

Situation de mes fichiers avant le renommage :

Après :

De retour sur l’onglet “All Games” vous constatez, comme le montre l’écran ci-dessous, que ce coup-ci les champs ‘FileName’ et ‘GameFileName’ ont été renommés (1). Un bug d’affichage montre par contre en (2) que le nom dans la liste n’a pas été modifié. Il suffit de sortir/entrer de nouveau sur cet écran pour le voir apparaitre.

Etape 2 terminée, vous disposez à présent si tout va bien d’une liste de tables harmonieuse et opérationnelle pour faire des playlists 🙂

3 – Création de playlists

Pinup une fois installé, permet de disposer de quelques playlists prédéfinies, une par émulateur ains que quelques autres. Elles sont à alimenter manuellement, en choissisant dans la liste de toutes les tables celles que l’on veut intégrer à une playlist. Tout ceci se fait depuis l’écran suivant accessible dans Pinup depuis l’onglet ‘Game Manager’ en cliquant sur le bouton ‘Playlist Config’.

La gestion des playlists est relativement simple. vous disposez d’un bouton ‘Add New Playlist’ qui vous permet d’en créer à volonté. Ensuite vous sélectionnez (1) la playlist que vous souhaitez modifier. A droite figure la liste de toutes les tables installées et vous pouvez affiner cette liste avec le ‘Filter emulator’ (2). Pour finir, vous sélectionnez dans cette liste la table que vous souhaitez ajouter à la playlist et vous cliquez pour cela sur le bouton ‘Add Games’ (3). La manipulation inverse avec le bouton ‘Remove Games’ permettant de retirer une table d’une playlist.

Super, mais bon une fois qu’on a dépassé la centaine de tables et 5 ou 6 playlists perso ça devient compliqué et source d’oublis de procéder ainsi.

But du Jeu : Exploiter la puissance des requêtes pour créer des playlists qui se gèrent toutes seules ou presque, en essayant d’être le moins technique possible pour les non initiés 😉

Une requête consiste à faire certaines manipulations sur les éléments constituant une base de données. Ces éléments sont nommés CHAMPS et sont regroupés dans des TABLES ( rien à voir avec les tables pincab hein). Dans notre cas cela va se limiter à utiliser la commande ‘SELECT’ qui permet de sélectionner des éléments pour les afficher ( ZERO risque pour la base de données ). ‘SELECT’ est un des nombreux arguments du langage SQL que l’on va utiliser à présent.

C’est pas le moment de décrocher, vous allez vite vous limiter à faire des copier/coller pour faire marcher tout ça ! Allez on enchaîne, direction l’onglet ‘Popper Setup’ puis clic sur le bouton ‘DB Editor’ (DB pour DataBase ou base de données).

Comme vous allez le voir sur le screen ci-dessous, il se divise en deux parties, la partie du haut pour la saisie de commandes SQL, la partie du bas pour voir le résultat (ou pas).

Le bouton ‘Execute SQL’ permet de lancer l’exécution de la requête, une fois que vous avez cliquez dessus, soit PinUp vous insulte parce que vous avez saisi une requête de merde soit il vous dit ‘good Job’. Dans le second cas, cliquez ensuite sur le bouton ‘Open SQL Results’ pour voir apparaitre en dessous le résultat de votre labeur ! Pensez à répondre OK au message inutile qui vous dit qu’il a affiché le résultat et vous pouvez ensuite vous servir des ascenseurs ( Horiz. et Vert.) pour parcourir votre résultat.

Dans ces exemples nous n’allons faire que des requêtes sur la table GAMES qui contient la description de l’ensemble de vos tables de jeu ( les fameuses métadonnées vues plus haut

Exemple de l’écran ci-dessus :

SELECT * FROM GAMES soit en français ‘Affiche moi tous les champs de la table GAMES’

* est un Joker qui désigne tous les champs d’une table

Le résultat qui s’affiche fait apparaitre plusieurs champs (1 par colonne), GameID désigne le numéro unique de la table ( son numéro de sécu quoi), EmuID désigne le numéro unique de l’émulateur servant à lancer la table, GameName le nom de la table,etc… Pour info, quand vous allez dans la gestion des émulateurs, à droite de chaque émulateur se trouve… son EmuID 🙂

Dans mon cas, Visual Pinball X a un EmuID=1

Moi je veux par exemple une playlist avec que les jeux VPX, je continue de les rentrer à la main ??? Non bien sûr (putain quand je me relis on dirait un bonimenteur de la Foire de Paris ), j’utilise SQL que je maitrîse à merveille :

SELECT * from GAMES WHERE EMUID=1

‘WHERE’ est un argument qui permet d’introduire (hummm) une condition sur un champ, en l’occurence ici dire je veux que les éléments dont l’émulateur est VPX.

Maintenant que j’ai testé ma requête, qu’elle fonctionne, je fais quoi ?

On retourne dans ‘Playlist Config’ pour détailler 2 onglets en particulier

Le premier onglet nommé ‘Settings’ offre plusieurs réglages dont 2 qui nous intéressent dans ce tuto. La zone de de saisie (1) va vous permettre d’écrire ( ou copier/coller après test dans DB Editor hein 😉 ) la requête qui s’exécutera à chaque sélection de la playlist. La case à cocher (2) indiquera que, pour cette playlist, c’est la requête qui remplie la playlist.

On retrouve la requête testée et expliquée un peu plus haut avec un argument supplémentaire ‘Order By’ qui permet d’indiquer un ordre de tri, en l’occurrence ici un tri alphabétique croissant sur le champ ‘GameDisplay’.

Le second onglet, nommé ‘ActiveList’ vous permet de consulter le résultat de votre requête en live, en cliquant sur le bouton ‘Test ActiveSQL’, histoire de s’assurer qu’aucune connerie n’a été faite dans la saisie de la requête.

Voilà c’est fini !!! vous venez de créer votre playlist des jeux VPX. Chaque nouvelle table VPX que vous ajouterez dans PinUp sera automatiquement reprise dans cette playlist, elle est pas belle la vie !

L’exemple que je vous ai montré s’appuie sur un champ (EMUID) systématiquement renseigné à l’ajout d’une table de jeu dans PinUp. Ce qui ne sera pas forcément le cas de toutes les métadonnées importées, comme vous avez sans doute pu le voir. Dans le cas de certaines playlists il vous faudra mettre quand même la main à la pâte en renseignant manuellement certains champs de métadonnées non importées ou peu explicites, notamment par exemple si vous souhaitez faire une playlist thématique musique,cinéma,comics et où le champ du Genre n’est pas très cohérent. Le mieux sera dans ce cas là de créer vos propres thèmes et les renseigner à vutre goût pour chaque table. Attention !!!!!! SQL n’aime pas l’inexactitude. si vous faites une requête pour sortir toutes les tables dont le genre est égal à ‘Sport’ et que vous avez dans vos métadonnées écrit selon le cas sport,sports,SPORT, votre requête sera incomplète. RIGUEUR 🙂

Ce que je vous conseille c’est de vous appuyer sur l’onglet ‘Lookups’ accessible depuis le bouton ‘Game Manager’. Vous retrouverez dans cette écran une série de listes pré-remplies que vous pourrez modifier à volonté, et qui vous permettra de sélectionner des informations dans les métadonnées sans les saisir, afin d’éviter les anomalies évoquées juste au-dessus.

En encadré apparait ce qui est issu de la sasie faite dans la catégorie concernée dans l’onglet ‘Lookups’ (1)

3 remarques sur cette partie :

  1. Pensez à cliquer sur le bouton ‘Save Lists’ pour sauvegarder votre travail
  2. La plupart des métadonnées sont susceptibles d’être écrasées si vous faites un import pour une table donnée, gare à vos listes !
  3. Les champs ‘CUSTOM 2’ et ‘CUSTOM3’ sont libres, donc jamais écrasées par un import, vous pouvez en faire ce que vous voulez, en tout bien tout honneur hein 😉

On arrive au bout. Pour finir ce tuto je vous liste ci-dessous quelques infos supplémentaires sur la façon de faire des requêtes ainsi que des exemples.

D’une manière générale une requête SQL s’écrit toujours de la façon suivante :

Commande (SELECT,ADD…) Champ(s) ( Joker ou noms des champs séparés par des virgules) Table(s) ( FROM nomtable,etc…) Tri/Regroupement (ORDER, GROUP BY,etc…) Argument (DESC,etc..)

Lexique SQL :

  • SELECT : Sélectionner des éléments
  • FROM : indique la ou les tables SQL concernées par la requête
  • WHERE : Accompagné d’argument de comparaison (=,<,>, LIKE,etc…) , permet d’affiner, de restreindre le résultat attendu
  • AND / OR : Permet de préciser encore plus le résultat recherché en enchaînant les comparaisons (WHERE compare1 AND compare2)
  • ORDER BY : Trié le résultat dans un ordre croissant selon le ou les champs renseignés après
  • GROUP BY: Permet de regrouper le résultat selon un ou plusieurs champs ( peu utile dans notre cas)
  • DESC : indiqué en fin de requête, change le tri en décroissant

Requêtes exemples :

SELECT * FROM Games WHERE EMUID= ‘2’ Or EMUID=’3′ ORDER BY GameDisplay; Affiche toutes les tables Pinball FX (2 et 3). Vérifiez l’EMUID de vos émulateurs 😉

SELECT * FROM Games WHERE GameTheme=’Star Wars’ ORDER BY GameDisplay; Une spéciale pour Stéphane 😉 qui vous l’aurez deviné ne ressort que les tables dont le thème est égal à ‘Star Wars’

SELECT * FROM Games WHERE GameYear >= 1990 AND GameYear < 2000 ORDER BY GameDisplay; Pour les fans des années 90 uniquement, avec ici un exemple d’utilisation de l’argument ‘AND’

SELECT * FROM Games WHERE GameYear >= 1980 ORDER BY GameDisplay; n’affiche que les tables Old School en testant le champ ‘GameYear’

SELECT * FROM Games WHERE GameType=’EM’ ORDER BY GameDisplay; Les tables mécaniques sont à l’honneur ici 😉

SELECT * FROM Games WHERE Author LIKE ‘%Mussin%’ ORDER BY GameDisplay; Nouvel argument LIKE qui permet de rechercher un élément comportant la chaîne de caractères indiquée entre ‘% %’. Bizzare cette requête m’a sorti que les tables d’un certain Mussinger ! Who’s that girl ?

SELECT * FROM Games ORDER BY GameRating DESC LIMIT (25); Affiche les tables triées selon leur note, avec l’utilisation d’un nouvel argument ‘LIMIT’ qui permet de prendre que les 25 premiers résultats de la liste

Et pour finir sans doute ma préférée, qui ne laisse aucune table abandonnée, seule dans son coin

SELECT * FROM Games WHERE EmuID=1 ORDER BY RANDOM() LIMIT(1); La playlist ‘TABLE OF THE DAY’ qui propose une table au hasard à chaque fois qu’on y accède, grâce notamment à un nouvel argument ‘RANDOM()’. Dans mon cas j’ai restreint cette table du jour aux tables VPX mais je sais que vous l’aviez capté hein 😉

Sources : Site Web Nailbuster

Rédacteur : Rénald THOMAS

2 thoughts on “Fonctions avancées de Pinup

Laisser un commentaire



Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.