Unfortunately a bug in WINE prevents it to initialize default constants of Visual Basic scripts, making lights not work and throw an error.
The editor loads ok. But trying to play a pinball table, it displays the playfield only in window mode and only works once; when I quit and restart the game or try fullscreen mode, there is only the empty background with the score counters but no playfield is drawn. I also tried VP6 on WINE, which behaves very similar but has an additional graphics bug (draws ugly intransparent box around ball). Some playfield objects have an ugly pixelish dark line around them (a minor cosmetic bug), which is particularly visible in semi-transparent textures those contain pixelated sections to approximate an alpha channel effect.
I have installed VP8.1.1 on WINE 8.10. I had to add the component wsh57 to make it recognize keypresses. I tried Xp and Win7 mode (Win2000 and Win98 truncated the screen?). The hardware has a Ryzen 2400G CPU with 16GB RAM, running WINE 8.10 through PlayOnLinux on Linux Mint 20.1 with KDE Plasma 5 desktop.
In 2002 I had programmed 2 very sophisticated emulated EM pinballs on VP6, those both fail on WINE with an "lightStateOff" error. On my real Win98SE system (VP6 and VP8) they still run fine.
see http://weltenschule.de/pinball.html
Boomerang v1.4
Code: Select all
"Play" in editor shows error:
Line: 2138
Variable is undefined: 'lightStateOff'
Code: Select all
"Play" in editor shows error:
Line: 2768
Variable is undefined: 'lightStateOff'
workaround
Thanks to a tip on VPForums.org I got a workaround. Insert into the script of the .vpt file these lines (after "option explicit").
Code: Select all
option explicit
...
const lightStateOff = 0
const lightStateOn = 1
const lightStateBlinking = 2
This makes the games play correctly with working lights and even fullscreen mode. But this can't be the intended solution to edit every .vpt file (pinball game) to make it run (which is anyway impossible with protected ones).
I suspect that some kind of internal include file with the constant definitions is not loaded by VP when running on WINE, which makes VBScripts fail. PlayOnLinux also warned not to install programs outside the Windows "programs" folder (mine is in the equivalent of "c:\Visual Pinball"), which however is necessary for Visual Pinball due to the program folder write protection of Windows. Also returning to editor and restarting the game still draws no playfield, so I have to quit and restart VP to play again e.g. after editing. I have also submitted the bug report and workaround to the WineHQ site.
- Is there a trick to make VP run without patching every pinball table?