Die Dateistruktur für Tische und Mediadateien anlegen

Ich werde immer wieder gefragt, wie ich das mit den Tischen und den zugehörigen Dateien denn so mache. Ich denke, das einfachste ist es, wenn ich euch zeige, wie ich die Dateien auf meiner Platte abgelegt habe.

 Hier mal ein Auszug aus meinem Visual Pinball Programmverzeichnis, im speziellen, die Verzeichnisse mit den Tischen.

C:.
+---B2S Backglass Server
+---Doc
+---Music
+---Scripts

+---Tables
+---Tables-VP-NightMod
+---Tables-VP-NightMod990
+---Tables-VP_physmod5
+---Tables990
+---TablesX
+---TablesX-NightMod
+---TablesX1

+---User
+---VPinMame

 

Angefangen habe ich mit Tables und später dann damit begonnen, die Tische entsprechend der Version zu sortieren und abzulegen. So ein Verzeichnis sieht dann beispielsweise so aus:

 

250cc (Inder 1992).directb2s
250cc (Inder 1992).vpt
301 Bullseye (Bally 1986).directb2s
301 Bullseye (Bally 1986).vpt
Aaron Spelling (Data East 1992).directb2s
Aaron Spelling (Data East 1992).vpt
ACDC (JP 2012).directb2s
ACDC (JP 2012).vpt
...

 

also immer der Tisch, dessen Name sich zusammensetzt aus Tischname, Hersteller und Jahr. Dazu dann das entsprechende Backglas. So zieht sich das durch alle meine Verzeichnisse durch. Durch diese Sortierung kann ich auch Tische in anderen Versionen auf der Platte ablegen, die den gleichen Namen tragen. Beispielsweise könnte der ACDC Tisch in einer Version von Visual Pinball 99 und in der Visual Pinball X Version vorhanden sein, identisch heißen, ohne dass sich die Tisch gegenseitig stören.

Sobald die Tische eingepflegt sind, können auch die Mediadaten in PinballX kopiert werden.

Diese Dateien befinden sich bei PinballX im Ordner Media. In diesem Fall wird das Verzeichnislisting schon etwas umfangreicher, ich habe allerdings für die Übersichtlichkeit die Verzeichnisse gelöscht, die jetzt hier nichts zur Sache tun.

 

+---Databases
|   +---Groups
|   +---Visual Pinball
|   +---VP-NightMod
|   +---VP-NightMod990
|   +---VPinball990
|   +---VPinballX
|   +---VPinballX-NightMod
|   +---VpinballX1
|   +---VP_physmod5
+---Media
|   +---Visual Pinball
|   |   +---Backglass Images
|   |   +---Backglass Videos
|   |   +---DMD Images
|   |   +---DMD Videos
|   |   +---Launch Audio
|   |   +---Real DMD Color Images
|   |   +---Real DMD Color Videos
|   |   +---Real DMD Images
|   |   +---Real DMD Videos
|   |   +---Screen Grabs
|   |   +---Table Audio
|   |   +---Table Images
|   |   +---Table Images Desktop
|   |   +---Table Videos
|   |   +---Table Videos Desktop
|   |   +---Wheel Images
|   +---VP-NightMod
|   |   +---Backglass Images
|   |   +---Backglass Videos
|   |   +---DMD Images
|   |   +---DMD Videos
|   |   +---Real DMD Images
|   |   +---Real DMD Videos
|   |   +---Table Audio
|   |   +---Table Images
|   |   +---Table Images Desktop
|   |   +---Table Videos
|   |   +---Table Videos Desktop
|   |   +---Wheel Images
|   +---VP-NightMod990
|   |   +---Backglass Images
|   |   +---Backglass Videos
|   |   +---DMD Images
|   |   +---DMD Videos
|   |   +---Real DMD Images
|   |   +---Real DMD Videos
|   |   +---Screen Grabs
|   |   +---Table Audio
|   |   +---Table Images
|   |   +---Table Images Desktop
|   |   +---Table Videos
|   |   +---Table Videos Desktop
|   |   +---Wheel Images
|   +---VPinball990
|   |   +---Backglass Images
|   |   +---Backglass Videos
|   |   +---DMD Images
|   |   +---DMD Videos
|   |   +---Real DMD Images
|   |   +---Real DMD Videos
|   |   +---Screen Grabs
|   |   +---Space Train (MAC 1987)
|   |   +---Table Audio
|   |   +---Table Images
|   |   +---Table Images Desktop
|   |   +---Table Videos
|   |   +---Table Videos Desktop
|   |   +---Wheel Images
|   +---VPinballX
|   |   +---Backglass Images
|   |   +---Backglass Videos
|   |   +---DMD Images
|   |   +---DMD Videos
|   |   +---Real DMD Images
|   |   +---Real DMD Videos
|   |   +---Screen Grabs
|   |   +---Table Audio
|   |   +---Table Images
|   |   +---Table Images Desktop
|   |   +---Table Videos
|   |   +---Table Videos Desktop
|   |   +---Wheel Images
|   +---VPinballX-NightMod
|   |   +---Backglass Images
|   |   +---Backglass Videos
|   |   +---DMD Images
|   |   +---DMD Videos
|   |   +---Real DMD Images
|   |   +---Real DMD Videos
|   |   +---Screen Grabs
|   |   +---Table Audio
|   |   +---Table Images
|   |   +---Table Images Desktop
|   |   +---Table Videos
|   |   +---Table Videos Desktop
|   |   +---Wheel Images
|   +---VPinballX1
|   |   +---Backglass Images
|   |   +---Backglass Videos
|   |   +---DMD Images
|   |   +---DMD Videos
|   |   +---Real DMD Images
|   |   +---Real DMD Videos
|   |   +---Screen Grabs
|   |   +---Table Audio
|   |   +---Table Images
|   |   +---Table Images Desktop
|   |   +---Table Videos
|   |   +---Table Videos Desktop
|   |   +---Wheel Images
|   +---VP_physmod5
|       +---Backglass Images
|       +---Backglass Videos
|       +---DMD Images
|       +---DMD Videos
|       +---Real DMD Images
|       +---Real DMD Videos
|       +---Screen Grabs
|       +---Table Audio
|       +---Table Images
|       +---Table Images Desktop
|       +---Table Videos
|       +---Table Videos Desktop
|       +---Wheel Images

Wie zu sehen ist, tragen die Verzeichnisse die Namen, die auch im Visual Pinball Verzeichnis verwendet werden, allerdings mit dem Unterschied, dass dort ein "Tables" vorangestellt ist. Diese Namensgebung resultiert aus der Einrichtung von PinballX. Wer das Programm einrichten möchte, benutzt das Programm Settings.exe im Verzeichnis PinballX. Gut zu erkennen an dem Icon des kleinen Zauberhutes.

 Sobald ihr das Programm gestartet habt, klickt ihr euch durch bis zu der Stelle an der Visual Pinball eingerichtet wird. Müsste so auf der Seite 10 sein, vorausgesetzt, ihr habt auf der Eingangsseite den Advanced Modus aktiviert. Einfacher geht es, wenn ich den Custom Mode Nehmt und dann die Seiten markiert, die ihr bearbeiten wollt.

Also, auf der Seite Visual Pinball könnt ihr eigentlich nicht wirklich viel einstellen, weil es ein System ist, welches bereits als Voreinstellung in Pinball X vorhanden ist. Genauso, wie Future Pinball, Pinball FX2 oder Pinball Arcade. Bei mir spielen diese Systeme keine Rolle, deswegen werde ich sie auch nicht beschreiben. Wichtig sind hier nur noch "Other Systems", weil wir dort dann die anderen Visusal Pinball Versionen einstellen können. Aber der Reihe nach.

Also, richten wir erst mal Visual Pjnball ein, für den Fall, dass es noch nicht eingerichtet ist. Die Seite müsste also so aussehen:

 

 

Wie ihr sehen könnt, werden die Tische (Tables Path) aus dem Verzeichnis Tables geholt, die Mediadaten, die in Pinball X angezeigt werden, aus dem Verzeichnis Visual Pinball.

 

+---Media
|   +---Visual Pinball
|   |   +---Backglass Images
|   |   +---Backglass Videos
|   |   +---DMD Images
|   |   +---DMD Videos
|   |   +---Launch Audio
|   |   +---Real DMD Color Images
|   |   +---Real DMD Color Videos
|   |   +---Real DMD Images
|   |   +---Real DMD Videos
|   |   +---Screen Grabs
|   |   +---Table Audio
|   |   +---Table Images
|   |   +---Table Images Desktop
|   |   +---Table Videos
|   |   +---Table Videos Desktop
|   |   +---Wheel Images

 

Bis hier her eigentlich ganz einfach. Aber das ändert sich dann drei Seiten danach, also auf Seite 13:

 

 

Das ist die Seite für die anderen Systeme. Im Grunde gibt es nur drei System Typen: Other, Future Pinball und Visual Pinball.

Aber der Reihe nach:

Nehmen wir an, wir haben bereits Visual Pinball installiert, die Tische befinden sich im Verzeichnis Tables. In unserem Programmverzeichnis befindet sich die Vpinball.exe.

In meinem Fall ist das die Version 9.21

 

 

Ich kopiere jetzt also die VPinball.exe um und benenne sie VPinball921.exe. Außerdem lege ich einen Ordner Tables921 für die Tische an, die mit dieser Version gespielt werden sollen. In dieses Verzeichnis kommen später die Tische rein, immer nach dem gleichen Muster, wie ich es oben schon geschrieben habe, also Tischname, Hersteller und Jahr, natürlich mit dem zugehörigen Backglas.

 

Als nächstes müssen wir in PinballX ein Verzeichnis anlegen, in dem die Mediadaten gespeichert werden. Also erstellen wir einen Ordner in PinballX\Media mit dem Namen: VisualPinball921. Einfacher geht das allerdings, wenn wir den folgenden Befehl auf der Komandozeile eingeben:

xcopy "c:\PinballX\Media\Visual Pinball"  "c:\PinballX\Media\Visual Pinball921" /t /e

Sobald wir den Befehl ausgeführt haben, fragt uns xcopy, ob es sich um ein Verzeichnis oder eine Datei handelt. Da wir ein Verzeichnis mit allen Unterverzeichnissen kopieren wollen ( /t ), geben wir hier ein V ein und schon wird die Verzeichnisstruktur übernommen, allerdings werden nur die leeren Verzeichnisse angelegt, ohne Inhalt, dafür sorgt die /e Option.

 

 

Damit wären die Grundlagen auf Betriebssystemebene gelegt und wir können uns nun der eigentlichen Einrichtung in PinballX zuwenden.

In der Konfigurationsseite für die Other Systems klappen wir zunächst die Auswahl Select System herunter:

 

 

und wählen einen Platz, der bisher noch nicht besetzt ist. In meinem Fall ist das die Nummer 9. Im nächsten Schritt geben wir nun den Ordner an, in dem sich die Mediadateien befinden werden. Das ist der Ordner, den wir gerade mit unserem xcopy Befehl angelegt haben, also Visual Pinball921.  Im Grunde ist das hier der Knackpunkt, de Rest übernehmen wir einfach so, wie es im nachfolgenden Bild gezeigt ist:

 

Jetzt wechseln wir kurz auf die nächste Seite und kommen gleich wieder zurück. Wie wir sehen, wurde jetzt der Eintrag Select System geändert in 9: Visual Pinball921

 

Damit haben wir alles gemacht, damit PinballX die Tische und die Mediadaten finden kann.

Zum Schluss müssen wir PinballX natürlich noch sagen, welche Tische vorhanden sind. Das wird in den XML Steuerdateien unter: C:\PinballX\Databases\<Verzeichnis> eingetragen.

 

Damit wir die Dateien aber ablegen können, müssen wir auch hier ein Verzeichnis Visual Pinball921 anlegen und dort die Dateien platzieren.

 

 

Wie ihr sehen könnt, habe ich in dem Verzeichnis verschiedene XML Dateien angelegt, warum, das erkläre ich gleich, vorher solltet ihr euch aber noch den den Inhalt der anderen Verzeichnisse anschauen. Bei euch kann und wird das anders aussehen, ich habe auch Verzeichnisse, die an dieser Stelle nicht interessant sind, gelöscht, um das Listing klein zu halten.

Was wir hier sehen, sind zunächst einmal die Unterverzeichnisse im Verzeichnis Database. Dort finden sich alle korrespondierenden Verzeichnisse zu den Mediadaten und den Tischen wieder. Außerdem seht ihr ein Verzeichnis Groups. In diesem Verzeichnis werden die Steuerdateien für die Gruppen abgelegt. Im Programm GameManger von Pinball X kann man solche Gruppen zusammenstellen. Ich habe diese gemacht, um die verschiedenen Dekaden zusammen zu fassen, das gibt PinballX nicht so ohne weiteres her. In den Verzeichisen selber, befinden sich dann wieder die gleichen Dateien, allerdings dann mit entsprechenden Tischen darin. Weiter unten zeige ich dann, wie das genau aussieht.

Diese Gruppen werden dann zusammengefasst und entsprechend im Menü angezeigt. Allerdings muss man dafür einige Einstellungen in PinballX Einstellungen machen, die auf Features wie Hersteller und Dekaden verzichtet. Vorteil ist eben, dass man die Gruppen selber zusammenstellen kann.

Wenn ich richtig liege, dann ist es nicht einmal nötig, alle Gruppen anzulegen, es reicht eine einzige, den Rest, jedenfalls bei mir, fasst PinballX dann automatisch zusammen. Sichtbar wird da an der Beste.xml, die nicht in allen Verzeichnissen vorhanden ist und auch keine eigene Gruppe hat. Bei mir geht es, beschwören möchte ich das aber nicht. Könnte auch an meiner Notation liegen. Fakt ist, das nicht in jedem Verzeichnis alle entsprechenden xml Dateien sein müssen, eine Gruppe über alle, z.B. 1950er Tische bildet sich automatisch und neue xml Dateien werden automatisch hinzugefügt.

Neben diesen, ich sage mal, Dekadengruppen, ist auch immer eine Gruppe vorhanden, die den gleichen Namen trägt, wie das Verzeichnis. Alle diese Gruppen werden vom Programm automatisch zusammengefasst und zeigen die Gesamtanzahl aller Tische an. Ich handhabe es so, dass ich die Tische in die einzelnen Dekaden einsortiere und zusätzlich in die <Verzeichnisname>.xml.

Damit kann ich über alle Tische suchen, aber auch die einzelnen Dekaden auswählen. Das ist aber Geschmackssache.

 

Verzeichnis von C:\PinballX\Databases
19.01.2016  17:46    <DIR>          Groups
30.10.2016  16:37    <DIR>          Visual Pinball
05.11.2016  18:02    <DIR>          Visual Pinball921
19.01.2016  17:46    <DIR>          VP-NightMod
19.01.2016  17:46    <DIR>          VP-NightMod990
30.10.2016  16:51    <DIR>          VPinball990
02.03.2016  20:57    <DIR>          VPinballX
05.11.2016  14:22    <DIR>          VPinballX-NightMod
04.11.2016  16:36    <DIR>          VpinballX1
19.01.2016  17:46    <DIR>          VP_physmod5

Verzeichnis von C:\PinballX\Databases\Groups
14.10.2015  18:22                78 1950er.xml
14.10.2015  18:22               120 1960er.xml
14.10.2015  18:23               162 1970er.xml
14.10.2015  18:23               162 1980er.xml
14.10.2015  18:24               162 1990er.xml
14.10.2015  18:25               120 2000er.xml
14.10.2015  18:25               120 2010er.xml
14.10.2015  18:20                39 Sample.xml
               8 Datei(en),            963 Bytes

Verzeichnis von C:\PinballX\Databases\Visual Pinball
04.11.2016  16:42             1.271 1950er.xml
04.11.2016  16:42             6.623 1960er.xml
04.11.2016  16:42            40.481 1970er.xml
04.11.2016  16:42            57.307 1980er.xml
04.11.2016  16:42            31.829 1990er.xml
04.11.2016  16:42             5.785 2000er.xml
04.11.2016  16:42             5.194 2010er.xml
05.03.2016  19:09               645 Beste.xml
04.11.2016  16:43           148.388 Visual Pinball.xml

Verzeichnis von C:\PinballX\Databases\Visual Pinball921
04.11.2016  16:42             1.271 1950er.xml
04.11.2016  16:42             6.623 1960er.xml
04.11.2016  16:42            40.481 1970er.xml
04.11.2016  16:42            57.307 1980er.xml
04.11.2016  16:42            31.829 1990er.xml
04.11.2016  16:42             5.785 2000er.xml
04.11.2016  16:42             5.194 2010er.xml
05.03.2016  19:09               645 Beste.xml
04.11.2016  16:43           148.388 Visual Pinball921.xml

Verzeichnis von C:\PinballX\Databases\VP-NightMod
29.02.2016  22:19               993 1980er.xml
29.02.2016  22:15               658 1990er.xml
04.11.2016  16:44             1.632 VP-NightMod.xml

Verzeichnis von C:\PinballX\Databases\VP-NightMod990
29.02.2016  22:18               990 1980er.xml
01.11.2016  16:34               670 1990er.xml
04.11.2016  16:44             1.641 VP-NightMod990.xml

Verzeichnis von C:\PinballX\Databases\VPinball990
29.02.2016  22:17               334 1950er.xml
04.11.2016  16:43             3.193 1960er.xml
04.11.2016  16:43            13.649 1970er.xml
04.11.2016  16:43            16.304 1980er.xml
04.11.2016  16:44             9.464 1990er.xml
04.11.2016  16:44             2.570 2000er.xml
04.11.2016  16:44             2.464 2010er.xml
05.03.2016  19:10               328 Beste.xml
04.11.2016  16:44            47.876 VPinball990.xml

Verzeichnis von C:\PinballX\Databases\VPinballX
02.03.2016  20:58               346 1960er.xml
04.11.2016  16:45             4.798 1970er.xml
04.11.2016  16:46             6.170 1980er.xml
04.11.2016  16:46             5.225 1990er.xml
06.03.2016  19:03               637 2000er.xml
04.11.2016  16:46            17.102 VPinballX.xml

Verzeichnis von C:\PinballX\Databases\VPinballX-NightMod
02.04.2016  18:20               709 1990er.xml
02.04.2016  18:20               709 VPinballX-NightMod.xml

Verzeichnis von C:\PinballX\Databases\VpinballX1
04.11.2016  16:46               631 1960er.xml
04.11.2016  16:47             5.688 1970er.xml
04.11.2016  16:47             5.471 1980er.xml
04.11.2016  16:47             4.234 1990er.xml
04.11.2016  16:47            15.973 VPinballX1.xml

Verzeichnis von C:\PinballX\Databases\VP_physmod5
29.02.2016  22:19               941 1970er.xml
11.01.2016  22:56               970 1980er.xml
29.02.2016  22:19             2.303 1990er.xml
14.12.2015  19:08                20 2000er.xml
04.11.2016  16:45             4.180 VP_physmod5.xml

 

 

 

 

 

 

so, aber warum haben wir jetzt den ganzen Aufwand gemacht?

Wie ich euch schon eingangs gesagt habe, lege ich die Tische immer folgendermaßen an:

 

301 Bullseye (Bally 1986).directb2s
301 Bullseye (Bally 1986).vpt

 

also immer der Tisch, dessen Name sich zusammensetzt aus Tischname, Hersteller und Jahr.

Da ich verschiedene Verzeichnisse für verschiedene Visual Pinball Versionen benutze, kann ich auch den 301 Bullseye Tisch unter dem gleichen Namen in verschiedenen Versionen ablegen. Sicher habt ihr schon gehört, dass die Mediadateien genauso heißen müssen wie der Tisch. In meinem Falle wäre das also: 301 Bullseye (Bally 1986).png

Diese Dateien kommen dann vor allem in den Verzeichnissen Backglass Images, Table Images und Wheel Images zum Einsatz. Manchmal habt ihr auch noch die Backglas Videos und die Table Videos herunter geladen und, wie ich, vielleicht auch noch die DMD Videos.

Alle diese Dateien müssen exakt so heißen wie der Tisch, sonst funktioniert es nicht. So weit so gut. Stellen wir uns nun vor, ich habe alle Tische, in verschiedenen Versionen in einem einzigen Verzeichnis. Das bedeutet, dass ich bereits im Verzeichnis folgende Struktur für meinen Bullseye hätte:

301 Bullseye (Bally 1986)Version921.directb2s
301 Bullseye (Bally 1986)Version921.vpt

301 Bullseye (Bally 1986)Version990.directb2s
301 Bullseye (Bally 1986)Version990.vpt

301 Bullseye (Bally 1986)VersionX.directb2s
301 Bullseye (Bally 1986)VersionX.vpt

301 Bullseye (Bally 1986)VersionX1.directb2s
301 Bullseye (Bally 1986)VersionX1.vpt

 

Ich habe den Bullseye also in den Versionen für VP921, 990, X und X, möglicherweise noch alsPysmod5 und den NightMod auch in zwei verschiedenen Versionen:

301 Bullseye (Bally 1986)Version921.directb2s
301 Bullseye (Bally 1986)Version921.vpt

301 Bullseye (Bally 1986)Version990.directb2s
301 Bullseye (Bally 1986)Version990.vpt

301 Bullseye (Bally 1986)VersionX.directb2s
301 Bullseye (Bally 1986)VersionX.vpt

301 Bullseye (Bally 1986)VersionX1.directb2s
301 Bullseye (Bally 1986)VersionX1.vpt

301 Bullseye (Bally 1986)Physmod5.directb2s
301 Bullseye (Bally 1986)Physmod5.vpt

301 Bullseye (Bally 1986)VersionX1NM.directb2s
301 Bullseye (Bally 1986)VersionX1NM.vpt

301 Bullseye (Bally 1986)Physmod5NM.directb2s
301 Bullseye (Bally 1986)Physmod5NM.vpt

und so weiter und so fort. Für jeden Tisch muss ich jetzt eine entsprechende Mediadatei anlegen. auch wenn die den identischen Tisch zeigt. Da alle Tische in dem gleichen Verzeichnis liegen, müssen auch alle Mediadateien im gleichen Verzeichnis liegen. Ganz zu schweigen von den xml-Steuerdateien,

Durch die Unterteilung in Verzeichnisse kann ich jetzt viel schneller den entsprechenden Tisch mit den zugehörigen Mediadateien finden. Jeder Tisch heißt gleich, nämlich 301 Bullseye (Bally 1986), egal mit welcher Visual Pinball  Version er gestartet wird. Vorteil ist, dass ich zum einen auf einen Blick sehe, wie viele Tische ich in einer Version habe (Anzahl der Tische im Verzeichnis), ich kann mal schnell ein Backglass kopieren und weiter benutzen, das in einer anderen Version schon vorhanden ist, den Eintrag in der XML kann ich auch kurz kopieren und wenn ich einen Tisch entferne, dann muss ich mich nur auf den Namen konzentrieren und die entsprechenden Dateien in den Verzeichnissen löschen.

Einfacher wird es, wenn ein Tisch in einer Version verbessert wird, aber noch genauso aussieht. Also, wenn der Bullseye plötzlich nicht mehr mit der VP921 spielbar ist, sondern nur noch mit der VP990. In dem Fall nur den neuen Tisch ins 990er Verzeichnis werfen, Backglas und Mediadateien verschieben, xml anpassen durch Cut n` Paste und die alte Version löschen.

Die Alternative in einem einzigen Verzeichnis heißt: Jede Datei, die zum Tisch gehört anfassen und umbenennen.

Also, ich fahre damit ganz gut so :-)