VR Pinball Install Required Files
3 files
-
VPX VR Launcher
By b4ast1
With this tool it's possible to switch tables without the need of removing your VR-headset.
You can use this tool as launcher for 2D-VPX too. For setup instructions see hints below.
Now you can stay at your cabinet while playing and switching tables without the need of VR-controls.
The newest version includes most of the released VR-tables as preview-tables.
If you want me to add new tables simple leave a comment here.
Check out, how it works:
Version 4 (coded in Unity)
Big thanks to A. Rubin for his amazing work on hundreds of tableskins!
Big thanks to Rajo Joey for providing his tablesound-archive!
Installation:
----------
Install downloaded VPX VR-Launcher x.xx.msi. read /vrlauncher4/readme.txt start VPX VR-Launcher 4.exe (from the root) right click trayicon and select settings
Changelog:
---------
What's new in version 4.67
Tablesounds are included in the resources. If you want to overwrite the existing sound you can can place your own tablesounds inside /vrlauncher4/config/tablesounds/
The filenames have to match against the tablearray like the vpx-names.
What's new in version 4.64
If you want to hear backgroundmusic place mp3 here: /vrlauncher4/config/music.mp3.
What's new in version 4.63
You can (it's optional) launch vpx with special params for vr or novr.
vrlauncher4/config/config.xml:
<vpparams2d>-ini novr.ini -Minimized -Play</vpparams2d>
These params will be passed to VPX if you are in launcher 2d-mode.
Since 10.8 Beta 5 you can launch VPX with an ini-file with settings. If you setup a novr.ini with the following setting...
[PlayerVR] AskToTurnOn = 2 ... VPX will start in 2d mode (turn off VR).
<vpparams2d>-ini novr.ini -Minimized -Play</vpparams2d> in vrlauncher4/config/config.xml will load this ini-file while launching tables.
The result of these settings is that you can set in the launcher whether you want to play in VR or 2D.
The launcher automatically detects if you have a VR device connected, so you won't receive any more error messages in VPX because of that. (F9 toggles VR/2D)
What's new in version 4.62 online
/config/offlinedata/mytables.csv merges into tablearray
You can place your special tables there (readme.txt)
What's new in version 4.61
+ VR-settingseditor in VR-mode
+ 2D-settingseditor in 2D-mode
Hint: If you want a full table-rotation set rotation angle to 180°
What's new in version 4.53
The program was created with the latest Unity LTS compiler and
is delivered with an MSI installer to prevent blocked DLLs and
read-only directories from causing issues.
New features in this version include automatic online and offline updates.
Starting from this version, the program can update itself automatically
online or manually through copied update files.
What's new in version 4.50
1) tablename.bat files will launch corectly.
2) Autoupdate-function added.
Please check if /vrkauncher4/update/xdelta.exe is not blocked!
Otherwise the update will not work.
To activate autoupdates you have to setup settings in config.xml to:
<autoupdate>1</autoupdate>
Problems:
to fix update pls check /vrlauncher4/update/
✅ check if the xdelta.exe in this folder is not blocked.
✅ check if update_{YOUVERSION}.zip was downloaded
✅ there is a file version.cfg - check if it‘s {YOURVERSION}. if not, zip was not extracted
✅ set version in version.cfg back to {YOURVERSION} to reset update
✅ restart launcher
What's new in Version 4.36
<suspendmode>4</suspendmode> Launcher4 will stay alive without animation and userinteractions
until vpx finishes. Launcher4's CPU-usage is low. Good loading-times.
(waits in an own task)
<msaaSampleCount>4</msaaSampleCount> Antialiasing
higher = better quality but less performance
possible values:
0 disabled
2 = 2x
4 = 4x
8 = 8x
<renderScale>1.0</renderScale> UniversalRenderPipelineAsset render scale
(Renderresolution of viewport)
<floor>1</floor> 0 = disable floor and shadow-rendering on it
<bgcolor>0.0,0.0,0.0</bgcolor> Backgroundcolor float values
R , G , B 1.0,0.0,0.0 = red 1.0,0.0,1.0 = purple (red+blue)
What's New in Version 4.35
<vpxpreviewx>-1</vpxpreviewx> <vpxpreviewy>-1</vpxpreviewy> <vpxprevieww>1200</vpxprevieww> <vpxpreviewh>800</vpxpreviewh>
You can move and resize the VPX-Preview window. (x,y,w,h)
(-1,-1 disables this movement.)
What's New in Version 4.34
<settings> <vrrecentermode>0</vrrecentermode> <gamma>1.0</gamma> </settings>
vrrecentermode:
0: launcher calls device-recenter-function.
1: launcher calls device-recenter-function AND resets main camera to viewport.
(Meta does not allow device-recenter-function anymore.)
gamma:
Values between 0.0 and 2.0 will change gamma post process.
What's New in Version 4.33
Released October 13
focusgrab works with vpx 10.8 (hidden sdl window) recenter workaround for oculus and openxr
What's New in Version 4.32
Released October 12
-ini param removed (because VPX 10.8 beta is handling them automatically)
What's New in Version 4.31
Released October 10
If you have a 64bit-system this is your config:
<paths> <tables>E:\Tables-VR\</tables> <vpexe32bit>C:\VP\VPinballX_GL_32bit.exe</vpexe32bit> <vpexe64bit>C:\VP\VPinballX_GL_64bit.exe</vpexe64bit> <defaultversion>64bit</defaultversion> <vpparams>-Minimized -Play</vpparams> <highscores>C:\VP\PINemHi\PINemHi.exe</highscores> </paths> If you have 32bit tables you can name them something with "32bit" inside filename.
If you have a 32bit-system this is your config:
<paths> <tables>E:\Tables-VR\</tables> <vpexe32bit>C:\VP\VPinballX_GL_32bit.exe</vpexe32bit> <vpexe64bit>C:\VP\VPinballX_GL_64bit.exe</vpexe64bit> <defaultversion>32bit</defaultversion> <vpparams>-Minimized -Play</vpparams> <highscores>C:\VP\PINemHi\PINemHi.exe</highscores> </paths> If you have 64bit-tables you can name them something with "64bit" inside filename.
What's New in Version 4.30
Released October 1
This time a little update for technicians:
Launcher checks for tablepath/tablename.ini sends -ini params to vpx.
Launcher checks for tablepath/tablename.bat to launch this instead of exe+params. Tablename and vpx params are sent as params to the bat-file.
Make sure, that your bat file waits for VPX to exit.
What's New in Version 4.29 alpha
Released September 24
64bit compiled with newest stable Unity release all 2023 table-artwork included new "openxr" device value
4.28 FEATURES
tabledata offline or ONLINE coded in unity/c# for oculus vr OR openvr (32bit windows) starts only once and takes control, when vpx is quitting 0% CPU-usage while playing VPX much faster loading time than v.3 Favourites are controlled ingame.
Hold filterkey and add/remove current table as favourite.
You can share your tableartwork and get online artwork inside app
since 4.29
coded in unity/c# for oculus vr OR openvr, openxr (64bit windows)
------------------------------------------
INSTALLATION
Install downloaded VPX VR-Launcher 4.57.msi.
Setup instruction inside /vrlauncher4/readme.txt!
start VPX VR-Launcher 4.exe (from the root)
right click trayicon and select settings
----------------------------------------------------------
Important info using VR-Launcher since 4.31: 🔴
If you're using VP 10.7.1 for playing 10.6 and 10.7 tables you should set same startparams for both in the settings-section of config.xml.
If you have a 64bit-system this is your config:
<paths> <tables>E:\Tables-VR\</tables> <vpexe32bit>C:\VP\VPinballX_GL_32bit.exe</vpexe32bit> <vpexe64bit>C:\VP\VPinballX_GL_64bit.exe</vpexe64bit> <defaultversion>64bit</defaultversion> <vpparams>-Minimized -Play</vpparams> <highscores>C:\VP\PINemHi\PINemHi.exe</highscores> </paths> If you have some 32bit tables you can name them something with "32bit" inside filename.
If you have a 32bit-system this is your config:
<paths> <tables>E:\Tables-VR\</tables> <vpexe32bit>C:\VP\VPinballX_GL_32bit.exe</vpexe32bit> <vpexe64bit>C:\VP\VPinballX_GL_64bit.exe</vpexe64bit> <defaultversion>32bit</defaultversion> <vpparams>-Minimized -Play</vpparams> <highscores>C:\VP\PINemHi\PINemHi.exe</highscores> </paths> If you have 64bit-tables you can name them something with "64bit" inside filename.
<vpparams>-Minimized -Play</vpparams>
[" "+filename] of selected table follows directly after last param
10.8 startparams:
-UnregServer Unregister VP functions
-RegServer Register VP functions
-DisableTrueFullscreen Force-disable True Fullscreen setting
-EnableTrueFullscreen Force-enable True Fullscreen setting
-Minimized Start VP in the 'invisible' minimized window mode (autoclose after table-exit)
-ExtMinimized Start VP in the 'invisible' minimized window mode, but with enabled Pause Menu
-Primary Force VP to render on the Primary/Pixel(0,0) Monitor\n\n-GLES [value] Overrides the global emission scale (day/night setting, value range: 0.115..0.925)
-LessCPUthreads Limit the amount of parallel execution
-Edit [filename] Load file into VP
-Play [filename] Load and play file
-PovEdit [filename] Load and run file in camera mode, then export new pov on exit
-Pov [filename] Load, export pov and close
-ExtractVBS [filename] Load, export table script and close
-Ini [filename] Use a custom settings file instead of loading it from the default location
-c1 [customparam] .. -c9 [customparam] Custom user parameters that can be accessed in the script via GetCustomParam(X)",
----------------------------------------------------------
New suspendmodes since 4.21!
Users reported problems with the behavior of the program when starting VPX.
That's why I've added another mode that behaves like the old launcher.
I have also revised the other two modes and, hopefully, optimized them.
You should try first suspendmode 0.
If that causes problems, try 1.
If that also causes problems, use mode 2.
----------------------------------------------------------
CONFIGURATION
/vrlauncher4/config/config.xml
NEW SINCE 4.18 you can have multiple setups:
<setup1>...</setup1> default setup
optional:
<setup2>...</setup2> <setup3>...</setup3>
you can pass the setup as startparam in different shortcuts:
"C:\VP\VPX VR-Launcher 4.exe" setup2
----------------------------------------------------------
Mapping controls section <keys>:
Letter keys a, b, c... Number keys 1, 2, 3... Arrow keys up, down, left, right Numpad keys [1], [2], [3], [+], [equals]... Modifier keys
right shift, left shift, right ctrl, left ctrl, right alt, left alt, right cmd, left cmd Special keys
backspace, tab, return, escape, space, delete, enter, insert, home, end, page up, page down Function keys f1, f2, f3... Mouse buttons mouse 0, mouse 1, mouse 2... A specific button on any joystick
joystick button 0, joystick button 1, joystick button 2... A specific button on a specific joystick
joystick 1 button 0, joystick 1 button 1, joystick 2 button 0...
Hint: If button 1 doesnt't work, try (button 0) reducing the number by 1.
----------------------------------------------------------
section <filters>:
This is a FILENAME filtersystem
<filter> <name><![CDATA[Williams 80's]]></name> <needed><![CDATA[williams,198]]></needed> </filter> You can add as many filters, you want.
"name" holds the name displayed.
"needed" is a commaseperated string of words to must be in filename.
----------------------------------------------------------
section <paths>:
<tables>E:\Tables-VR\</tables> here are your vpx-vr files stores
<vp106exe>C:\VP\VPinballX_GL.exe</vp106exe> the vpx.exe to start 10.6 tables
Hint: If you want to use the launcher in 2d context set this value to VPinballX.exe.
<vp107exe>C:\VP\VPinballX_GL_10.7.exe</vp107exe> the vpx.exe to start 10.7 tables
used by tablenames containing "(10.7)" in filename
<highscores>C:\VP\PINemHi\PINemHi.exe</highscores> Optional: Path to an highscore-tool like pinemhi.
Display your highscores next to the table.
Default: Tablenames are passed as param.
Optional: Romnames are passed as param, if you setup the section <highscores> -> read there.
----------------------------------------------------------
section <settings>:
<onlinedata>0</onlinedata> If set to 1 version will be checked on each start. New tables will
automatically be added to the tablearray in folder "onlinedata".
new artwork for tables will be downloaded from imgdatabase to the
same folder.
Please share your custom artwork. There is an easy function inside app now!
<onlinename>Anonymous</onlinename> Optional name for sharing your artwork and possible stuff in the future.
<vrdevice>openvr</vrdevice> "oculus" uses oculus driver directly (best for oculus devices)
"openvr" for all other devices
Hint: If you want to use the launcher in 2d context let this empty.
<vrtracking>1</vrtracking> you can enable or disable (0) the rotation tracking of your headset
<vrtrackingtype>0</vrtrackingtype> 0 = rotation only
1 = rotation and position
<vrcontroller>0</vrcontroller>
0 = no vr-controller eventlistening
1 = vrcontroller button-layout 1
2 = vrcontroller button-layout 2
3 = vrcontroller button-layout 3
<startdebug>0</startdebug> set this to 1, if you want to start with info-overlay
<cameraheight>16</cameraheight> <cameradistance>40</cameradistance> <cameraangle>8</cameraangle> adjustment for your view (you can reduce distance to stay nearer the cabs)
<fontsize>24</fontsize> You can resize fontsize of the dotmatrix-display showing the tablename.
<effects>1</effects> Set this to 1 to enable additional visual effects
<quality>5</quality> Values from 5 (best image quality) to 1 (lowest image quality)
Reduce this value if you have performance problems and you
should try disable effects too.
<sounds>1</sounds> 0 = sounds disabled
<swapsounds>0</swapsounds> Set this to 1 to swap left and right
<startfocusgrab>1</startfocusgrab> If set to 1 focusmanagement will hold both pinballapps topmost window.
It toggles automatically between launcher and player.
Disable this only if you have issues.
<autodisableb2s>1</autodisableb2s> Set to 1 if you want VPX VR Launcher 4 to manage activation of
directb2s inside VPX. If a filename.vpx has an filename.directb2s
using this will be automatically activated. If no directb2s file
exists directb2s will be disabled. This is nice to avoid file not
found-errors by VPX.
<tablerotationangle>55</tablerotationangle> You can now customise the rotation-angle of the selected table.
If you set this to 0, it will not rotate.
<tablerotationspeed>3.5</tablerotationspeed> You can now customise the rotation-speed of the selected table.
<suspendmode>0</suspendmode> 0 (default/best/use this😞
This method instructs Launcher4 to wait an infinite amount of
time for VPX process and event handlers to exit. This can cause
Launcher4 to stop responding. Zero Launcher4-CPU usage while playing.
Best loading-times. This only works if you start "vpx vr-launcher4.exe"
based next to VPinballX_GL.exe.
1: Launcher4 will stay alive without animation and userinteractions
until vpx finishes. Launcher4's CPU-usage is low. Good loading-times.
2: Launcher4 launches VPX and terminates itself. Only the ToolbarHelper is
listening to VPX-Exit and will restart Launcher4 automatically. Zero
Launcher4-CPU usage while playing. Worst loading-times.
----------------------------------------------------------
Section <highscores> (optional):
Please read section paths above too!
Here you can map roms to tables. So launcher can send them as a param
to highscore-tools like pinemhi. Pinemhi will grap the current highscores
of the rom and launcher can show them next to previewtable.
Example:
<highscores> <table> <name><![CDATA[AC-DC PREMIUM]]></name> <rom>acd_170h</rom> </table> <table> <name><![CDATA[Attack - from Mars]]></name> <rom>afm_113b</rom> </table> <table> <name><![CDATA[Bad Cats]]></name> <rom>bcats_l5</rom> </table> </highscores>
*** NEW in 4.28 ***
VRlauncher autogenerates a file /config/highscores.xml for you.
It analyses your nvram-files and checks them against tablearray.
It will only be generated once. If you want a refresh, delete the file.
You can use the entries in your config.xml. This is just a little help
for many tables. You should check the result manually.
----------------------------------------------------------
Table Config
/vrlauncher4/config/offlinedata/tables.csv
/vrlauncher4/config/onlinedata/{version}.csv
----------------------------------------------------------
New online functionality:
If you set
<onlinedata>1<onlinedata> new table-artwork and new table-recognition will automatically get
downloaded and used. With activated onlinedata your used tablearray
is here: "/onlinedata/{version}.csv"
But your customimages (offlinedata) will farther be loaded
at higher priority.
If you want to stay offline, you can edit tables by yourself:
Tables can be edited (added) inside /offlinedata/tables.csv.
(You should use an (online-)editor.)
CSV structure
name, display, manufactor, needed, forbidden, image, dmd, imgur
"name" sortname of table without formating (used for filenames)
"display" you set the displayed tablename (with html tags like <size>
or <color> or <br>).
optional you can set a html-hexvalue of an rgb color inside a <color> tag.
color=#{red}{green}{blue}
valide hexvalues for the rgb-colors from 00 to FF
"needed" commaseperated words have to be found in filename
THEY NEED QUOTES: "word1,word2,word3"
"forbidden" opposit of "needed"
THEY NEED QUOTES: "word1,word2,word3"
"image" filename of image (jpg/png) without extension
If you want your own custom tableimages, place them inside offlinedata.
The filename should be the "name" of tablearray with "{name}.jpg"
or "{name}.png". [column image is only used internaly]
Example:
Name (1st column): "Adams Family" Filename has to be "Adams Family.png" or "Adams Family.jpg"
If you have customimages created, there is a new item in filtermenu
wich allows you to share your artwork with the community.
Thank you for your support!
The imagefile will be uploaded and a "{name}.txt" file coresponding
to the imagefile is generated with infos about the upload.
If this file exists next to your imagefile, the imagefile will not be
uploaded again.
There is a template file for creating your own images:
/vrlauncher4/config/template.png
If an image-file exists in /config/offlinedata it overwrites the
app-included image. Otherwise the included image will be used.
If you want to know how to make an table-artwork,
Rawd made a great instructionvideo: https://www.youtube.com/watch?v=9u0maGURFoM
"dmd" if you set 0 the DMD area will not be rendered - the table
will show another backbox with a fullheight image.
If set to 1 the DMD with speakers will be rendered.
"imgur" internal value used by onlinefunctionality
----------------------------------------------------------
have fun!
BaSti
4265 downloads
-
Visual Pinball X - Virtual Reality - Official Releases
By Dazz
Visual Pinball - Virtual Reality - VPVR
An open source pinball table editor and simulator.
This project was started by Randy Davis, open sourced in 2010 and continued by the Visual Pinball development team. This link will take you to the official repository.
1238 downloads
0 comments
Submitted
-
OpenComposite OpenXR *FIXED* DLLs
By MrGrynch
The problem: When using OpenComposite with Visual Pinball X, the colors are "washed out" and the scene is generally too bright. This has been broken for almost a year, with an open ticket that is 11 months old.
TLDR; These DLLs are a patched build of the most recent source code, and have been verified to solve this issue. NOTE: You cannot use Virtual Desktop OpenXR with 32-bit applications.
Detailed explanation of the problem
VPX outputs color in RGBA8 format encoded for corrected-gamma. RGBA8 is a linear color space format, and the OC render does not properly detect that it contains gamma information. The downstream render chain reads the gamma-corrected color data as linear RGB and adds gamma correction. This "double-corrected" color data causes the washed out color and high gamma reported by users.
The solution
In the swapchain for the runtime, I am specifying SRGB8_ALPHA8 instead. This causes the downstream render chain to treat the color data as non-linear gamma-corrected color, resulting in correct color reproduction.
LICENSE INFO
This software is licensed under the GNU General Public License v3 (June 3, 2007) and is provided here with permission
181 downloads
- opencomposite
- vr
- (and 2 more)