Jump to content
 Share

 Share

VPinballX.starter

    Create an account or sign in to download this
download_no_perm
5333 Views
551 Downloads
4.8 From 4 reviews
951.67 kB File Size
Jarr3 Created by

1 Screenshot

About This File

Small tool to start the right VPinballX version depending on the selected table file.

 

To all who ask:

  • Should I really try out the new VPX release with all the new tables coming for 10.8?
  • How can I use different versions of VPinballX for different tables?

 

This is my answer to those questions!  The tool VPinballX.starter can be put as replacement for VPinballX.exe in the default folder....

It will start the right VPinballX version depending on the table file. It is meant to be a "set and forget" tool.
 

Please do not forget to like and review..., what is important for content creators (tables, backglasses, DMD colorization?) is as important for us writing the tool-set!

 

It uses a small ini file similar to this one:

;A Configuration file for VPinballX.starter 
[VPinballX.starter] 
;DefaultVersion when started without any table param. 
DefaultVersion=10.80
LogVersions=1 
[TableNameExceptions] 
;If left string is found in the Table filename we will use the right string to add to the version number search CASE sensitive...
Table Name=x32 
Another Table=GL 
x32=x32
GL=GL 
X74=.RevertX7 
old table=.RevertX7 
[VPinballX] 
;Default value used when not found in the table below. 
Default=VPinballX64.8-1786.exe 
Default.RevertX7=VPinballX.7.4.exe 
;File versions converted to the right VPinballXxx.exe 
10.72=VPinballX72.exe
10.80=VPinballX64.8-1786.exe 
10.80GL=VPinballX_GL64.exe 
10.80x32=VPinballX.8-1786.exe

 

It works like this:

 

VPinballX.starter is started with exactly the same parameters as VPinballX.exe. First it loads the table file and finds out what version it was saved with (using the same technique as VPX). It takes this information and looks in the ini file above to find out which version of VPinballX.xxx.exe YOU want to run.

It will then run the VPinballXxx.exe that you have configured with exactly the same parameters that were given to the starter. If you simply double-click the VPinballX.starter without a table, the default entry under [VPinballX.starter] will be used or if it cannot find a version stored in the table, it will use the default in [VPinballX].

In this way, the correct table version or the version you have selected will be used. Each time you start VPinballX.starter, a log entry will be added to VPinballX.starter.log stating which version was used. This can be disabled by setting LogVersions=0.


Table Name Exceptions
A new feature called Table Name Exceptions allows to configure exceptions to the automated finding the right executable. The Exceptions are either that a string is added to the table filename hinting that this table should use the x32 version instead, or can be parts of a table filename pointing to the same string. This string will be added when searched for the executable. 
So either you name the table with an exception string like (x32, x64, GL) or you enter parts of the table names into the ini, where you know they only want certain versions (like x32, x64 or even GL)

What you decide here is all up to you!

 

E.g starting a table needing 10.80 and having an exception "GL" will look for 10.80GL in the [VPinballX] section in the ini. This is made using pure string handling, there is NO logic behind the strings in the ini file. You can define your own standard here.

 

How to set it up

Copy VPinballX.starter.exe next to your VPinballX.exe files. Double click on VPinballX.starter.exe and follow the instructions. It will create a template VPinballX.starter.ini that you will need to edit to your liking. The values 10.72, 10.80 (10.74 has no specific version saved) and so on all come from the pinball tables saved in different versions by VPinballX.exe.

Once you are happy with VPinballX.starter.exe, you can rename it to VPinballX.exe; it will take care of starting the right version independent if you are using Windows Explorer, PinballX, PinballY or Pinup Popper...

Have fun! 

Edited by jarr3
Instructions updated

What's New in Version 1.7   See changelog

Released

There are some new settings which can be used to run Windows batch cmd files before and after a specific table is opened and also for all tables:

;A Configuration file for VPinballX.starter
[VPinballX.starter]
;cmd files to run before and after a table has been started. Activate here:
PREPOSTactive=false
PREcmdExtension=.pre.cmd
POSTcmdExtension=.post.cmd
;you can have different settings depending on the caller: (Pinup popper show up as anonymous)
PREPOSTactive.explorer=true
PREcmdExtension.explorer=.explorerpre.cmd
POSTcmdExtension.explorer=.explorerpost.cmd

 

When VPinballX.starter is triggered it tries to find the process name of the caller. When starting a table from Windows Explorer, the caller is "explorer" and can have unique settings.


This information can be used to have different PRE and POST scripts depending on the caller:
PREcmd can be used to set up the stage for a particular table, loading images or whatever comes to your mind. And POSTcmd is used to clean up afterwards.

If you start "Blood Machines (VPW 2022).vpx" it will try to find "Blood Machines (VPW 2022).pre.cmd" before the table starts (next to the vpx file). After the table has finished it will look for Blood Machines (VPW 2022).post.cmd. It will also look for VPinballX.starter.pre.cmd/post.cmd and run it for each table started.

 

Be careful not to start anything in these cmd batch files that will block the script!

 

In case there are any .net 6 libraries missing, they can be loaded from M$: https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.29-windows-x64-installer (6.0.29 as of today)

User Feedback

Create an account or sign in to leave a review

You need to be a member in order to leave a review

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Tikimaster

   3 of 3 members found this review helpful 3 / 3 members

The starter is a brilliant idea to get around the problems with all the different versions of vpx. It's easier to use the tool than creating categories in the frontend and assigning the tables to start them with the right *exe.

 

Link to review
Cliffy

   2 of 2 members found this review helpful 2 / 2 members

Hello. My name is Cliffy and I am a VPinballX.Starter convert- there, I admit it!

I admit I was hesitating to try it out of fear. Fear that I would mess up my perfectly working vpinball system. My fear was unfounded, however!

@jarr3 has made for us ALL a truly powerful yet simple and incredibly lightweight tool.

 

Why would anyone need it, you might ask? Simple. It single handedly takes care of running the correct version of vpx per the table's requirement!  

Like so many of us I have 5 versions of vpx in my vpinball folder and I have them named like so;

vpinballx.exe (this is 10.7.4-32bit)

vpinballx7-64.exe

vpinball88-32.exe

vpinballx8-64

vpinballxGL.exe

 

Some tables just will not run in 64 bit (video hybrids for example) so having different versions is needed. However, you only need vpinballx.starter to run whichever version is need for you! I renamed my vpinballx.exe to vpinballx7-32.exe and added all my versions to the VPinballX.starter.ini. Then I renamed vpinballx.starter.exe to vpinballx.exe. That's it! Edit the vpinball exe names and paths in the ini file and its really as simple as that.

 

When you double click a vpx table file starter runs behind the scenes and pics the correct version of vpinballx to run. 

I use Launchbox for my frontend, although not terribly often. Previously I had to add all the versions of vpinballx as emulators and then assign the right one to each table. Now I just made vpinballx.exe (really starter) the default for all tables.  Easy peasy and by golly it just works! 

Now obviously it has nothing to do with future pinball tables or FX. Only tables that run with vpinballx. 

 

Bonus from jarr3 is the ability to use .cmd text files to work with specific tables with special requirements- for example, PROC tables. A couple months ago the core.vbs in your scripts folder got changed to the point p-roc games will not start a game. Jarr3 and I narrowed it down to February as the last working core.vbs for p-roc. He has created  pre and post cmd's that swap in the old core.vbs when running p-roc and swaps back instantly on closing.

 

Folks this really is a most useful tool and hopefully you won't wait as long as I did. It won't break your stuff and you'll love the simplicity!

Link to review
PASLA

· Edited by PASLA

   2 of 4 members found this review helpful 2 / 4 members

 

Merci !

Response from the author:

Hello @PASLA,

 

Thanks for reviewing my little tool. Does one  mean you are NOT happy with the tool? Though Merci means thanks in French?

 

Can you please elaborate?

Link to review
×
  • Create New...