[TUTO] Cohabitation entre plusieurs tables utilisant une même rom
4 participants
Auteur
Message
ebor Modérateur
Messages : 3125 Département : 30
Sujet: [TUTO] Cohabitation entre plusieurs tables utilisant une même rom Mer 2 Juin 2021 - 23:13
Je vous propose différents cas de figures avec des tables qui utilisent une même rom.
On va essayer de s'en sortir à chaque fois
Principes de base
Les High Scores, les crédits, le nombre de balles sont stockés dans la nvram de la rom (dans VpinMAME\nvram).
Les paramètres VPinMAME liés à une rom (touche F1) sont stockés dans la base de registre (dans Ordinateur\HKEY_CURRENT_USER\Software\Freeware\Visual PinMame)
2 tables pour lesquelles on souhaite avoir une gestion des scores séparés
Ce sujet avait déjà été abordé par [Vous devez être inscrit et connecté pour voir ce lien] dans [Vous devez être inscrit et connecté pour voir ce lien].
Prenons les tables Metallica Premium Monsters (MPM) et Metallica Master Of Puppets (MMOP) (disponibles respectivement ICI et LÀ).
Ces 2 tables, bien que basées sur la même rom (mtl_180hcm) n'ont pas grand chose à voir en terme de fun et de jouabilité.
On peut imaginer vouloir des scores distincts pour chaque table.
Nous allons utiliser la fonction NVOffset()
Dans le script de MPM, nous allons rajouter NVOffset(1) dans la procédure table_Init juste après '.GameName = cGameName'.
Dans le script de MMOP, nous allons rajouter NVOffset(2) au même endroit.
Pour vérifier que la manip a bien marché, vous devriez retrouver un fichier mtl_180hcm v1.txt ou mtl_180hcm v2.txt dans le répertoire nvram.
Maintenant, les scores sont différenciés entre les 2 tables
2 versions d'une même table, une avec un B2S classique et l'autre avec un Pup-Pack
Je vais prendre pour l'exemple la table The Addams Family (Bally 1992)
Le but est d'avoir la table 'standard' (ICI) qui tournera avec le Pup-Pack (ICI) et la même table en version B&W (ICI) qui affichera le B2S fourni.
Étant donné que les 2 tables utilisent la même rom (taf_l7), les deux vont afficher par défaut le Pup-Pack.
Méthode 1 - PupHide
Dans la procédure Table1_Init(), il faut ajouter la commande Pup qui empêche l'affichage.
Attention, la casse est importante. La ligne peut être insérée au milieu des autres.
Code:
.PupHide=1
Méthode 2 - Les alias VPinMAME
Les alias permettent de donner un nouveau nom à une même rom.
La déclaration se fait dans le fichier VPMAlias.txt qui se trouve dans le répertoire VpinMAME.
Il suffit d'y insérer une ligne qui aura cette syntaxe :
nom_alias,rom_origine
Dans notre cas, on va mettre par exemple :
taf_bw,taf_l7
Il faut maintenant utiliser cet alias dans la table B&W et donc déclarer la variable cGameName comme ceci :
Const cGameName = "taf_bw"
A partir de là, la rom taf_l7 sera utilisée mais le nom utilisé par Pinup sera celui de l'alias. Le répertoire taf_bw n'existant pas dans le répertoire PupVideos, le Pup-Pack ne sera pas lancé.
Cherry on the cake
Pour peu que vous ayez mis une rom en couleur dans le répertoire VPinMAME\altcolor\taf_l7, la rom taf_l7 prendra en compte le altcolor contrairement à son alias puisqu'il n'y a pas de répertoire taf_bw dans le altcolor.
En appuyant sur F1 pendant que la table B&W tourne, vous pourrez alors définir 50 4 nuances de gray pour le DMD. Ce sera du plus bel effet avec l'ensemble
Ce qui a été fait pour le altcolor dans le point précédant peut aussi être appliqué sur un altsound
Prenons la table The Getaway High Speed 2 (Williams 1992). Il existe pour cette table, et donc pour la rom gw_l5, plusieurs sons alternatifs (Nirvana, U2, ZZ Top, etc.) à récupérer ICI.
Si vous utilisez le même principe des alias avec par exemple gw_l5_u2,gw_l5 vous pouvez alors avoir la table classique et une copie de la table qui utilisera la rom U2 à partir du moment où vous aurez mis le package récupéré dans le répertoire VPinMAME\altsound\gw_l5_u2
Dernière édition par ebor le Mer 1 Sep 2021 - 23:22, édité 1 fois
ced, nicofab18, Sebcemoi, tealk et BeNBiNoU aiment ce message
seriousam28270
Messages : 42 Département : 94
Sujet: [TUTO] Cohabitation entre plusieurs tables utilisant une même rom Mer 1 Sep 2021 - 22:15
Salut,
Je suis tombé sur ce tuto et je me suis dit que ça devrait être impeccable pour les tables "Black&white Mod".
La modif dans les scripts avec NVOffset() fonctionne, j'ai bien les scores séparées. Par contre, voulant mettre à zéro les scores de la nouvelle table, si je vire le nvram ou je reset les scores dans la rom, bah ça affecte les deux tables. Logique, vu qu'elles partagent la même rom.
Et là, me croyant malin, je me dit qu'il suffit d'appliquer l’astuce des alias VpinMame comme expliqué plus loin dans le tuto. Si j'ai bien compris avec les alias on "feinte" en quelque sorte en spécifiant un nouveau nom à la rom de la table B&W tout en pointant vers la rom d'origine. Et en effet, après vérification je peux utiliser ce nouveau nom dans mes dossiers puppack, altcolor et altsound. L'astuce des alias fonctionne, je peux avoir des dmd colorisés différents ou encore un altsound différent. Cool !
Malheureusement c'est là que ça se complique... car je me rend compte que dorénavant les scores ne sont plus séparés.
Quelqu'un a-t-il réussi a cumuler l'ensemble (scores différenciés + rom différenciées pour dmd et altsound séparés) ?
Pour certaines tables j'ai réussi à contourner le problème en utilisant deux roms différentes, une en freeplay et l'autre à crédit, mais je serai curieux de savoir si c'est moi qui me trompe quelque part ou s'il y a bien une impossibilité.
ebor Modérateur
Messages : 3125 Département : 30
Sujet: Re: [TUTO] Cohabitation entre plusieurs tables utilisant une même rom Mer 1 Sep 2021 - 23:28
Punaise, t'es allé loin là
Si je résume, ça veut dire qu'en gérant le NVOffset() + l'alias, tu n'as que l'alias qui fonctionne ? Du coup, tu as au moins un fichier txt qui est créé dans le répertoire nvram ou pas du tout ?
PS : question existentielle : pourquoi vouloir séparer les scores alors que le principe d'une table B&W n'est que de modifier graphiquement la table ? La jouabilité ne devrait pas être affectée
seriousam28270
Messages : 42 Département : 94
Sujet: Re: [TUTO] Cohabitation entre plusieurs tables utilisant une même rom Jeu 2 Sep 2021 - 8:08
[Vous devez être inscrit et connecté pour voir ce lien] Oui, en effet, l'alias prend le dessus en quelque sorte sur le NVoffset. Le fichier txt est pourtant bien créé dans le répertoire nvram.
L’intérêt est plus lié à l'envie d'arriver à maîtriser l'astuce technique, puisque je te l'accorde, la jouabilité des tables est identique.
leeoneil
Messages : 1715 Département : 63
Sujet: Re: [TUTO] Cohabitation entre plusieurs tables utilisant une même rom Jeu 2 Sep 2021 - 9:17
Ah mais c'est carrément intéressant pour pouvoir faire cohabiter The Beatles et Seawitch ça, non ? A moins que les scores de the Beatles aillent se coller autre part par défaut ? Avec un pupack, où s'enregistrent les scores ????
actarus Modérateur
Messages : 1599 Département : 06
Sujet: Re: [TUTO] Cohabitation entre plusieurs tables utilisant une même rom Jeu 2 Sep 2021 - 11:08
seriousam28270 a écrit:
Quelqu'un a-t-il réussi a cumuler l'ensemble (scores différenciés + rom différenciées pour dmd et altsound séparés) ?
Dixit [Vous devez être inscrit et connecté pour voir ce lien]
ebor a écrit:
Les High Scores, les crédits, le nombre de balles sont stockés dans la nvram de la rom (dans VpinMAME\nvram)
Ça semble donc être la cause du problème - et donc pas trop possible à contourner. Une autre option serait de dupliquer la rom en la renommant, mais il faut modifier les scripts (et du coup annule tout le but/intérêt du tuto)