- This topic has 15 replies, 9 voices, and was last updated 6 years, 4 months ago by randr.
-
AuthorPosts
-
November 25, 2017 at 10:41 am #69860
So I’m a big fan of the Dr. Who pinball. I owned one for many years. One of my favorite features was the double leaf switch which allowed the upper flipper to be controlled separate of the lower flipper. I recently added magna saves (sorry randr) and double leaf switches to both of my flippers. Attached is a video of a test with Dr. Who. I found that the upper flipper solenoid call is delayed from the lower, so the only way I could get this to work satisfactorily was to use NFozzy’s (@NFozzy) fast flips scripts. WOW, what a difference it makes! In order to update DOF and fire separate contactors for the upper and lower flipper, I needed to modify/create a separate WPC.vbs file so I could control the upper and lower flipper switches separately. I’m pretty happy with the result.
Current Project: Perpetual updates of VPX physics.
You need to login in order to like this post: click here
November 25, 2017 at 10:53 am #69862Very cool but now every table needs modding and dof needs modding for all the extra flipper :)
i may be doing this as it is really correct way to do it  great work Roth(your sick in the head) but amazing!
********************************************************
Messing with the VPinball app and push notifications.
So if you haven't downloaded app yet what are you waiting for!?
for IOS and Android********************************************************
You need to login in order to like this post: click here
November 25, 2017 at 10:56 am #69863Details … I demand details
You need to login in order to like this post: click here
November 25, 2017 at 11:39 am #69864yeah, what @thalamus says.. we need details. Like what did you map the second switch to in the keys controls? I do not see a dual-switch flipper setting there. I would think to do this right that would need to be added as well. I need to replace the switches on my flipper buttons anyway, might have to go the dual route.. more wires..
You need to login in order to like this post: click here
November 25, 2017 at 3:46 pm #69874i have been thinking about double leafs for the cab here too. Maybe someone can set a standard for assignments that all can consider using on multi flipper tables. Would be nice to have a script option to toggle between modes too. I see it more ss a novelty thing in the end.
My VP Pincab /MAME Arcade Specs: MSI Micro-ATX Z390m MOBO, Core I5-9600K CPU @ 3.70GHz, 16GB NVRAM, Nvidia 1660 Super,
40" PF Sony gaming LED TV, Dual 23" monitors in the backbox , Pinscape w. expansion board, Full DOF - Full MAME arcade support
You need to login in order to like this post: click here
November 25, 2017 at 4:02 pm #69875Years ago when I built my first cab I thought about doing it but since it was not a common practice I just went with the standard setup. This really should be an option in vp for the cab as we all want it authentic as possible
********************************************************
Messing with the VPinball app and push notifications.
So if you haven't downloaded app yet what are you waiting for!?
for IOS and Android********************************************************
You need to login in order to like this post: click here
November 25, 2017 at 4:30 pm #69876I’m a little surprised by the interest. I thought most would see this as a novelty. There is actually strategic advantage with this feature on tables like Jurassic Park.
I’ll post full details on how I did it on Doctor Who in the next couple of days. About to hit the road for some travel and will document the steps as soon as I can find an hour.
Current Project: Perpetual updates of VPX physics.
You need to login in order to like this post: click here
November 25, 2017 at 4:42 pm #69877im not a good enough player to use flipper staging anyway. i always feel off on the virtual cab compared to a real anyway. i currently have microleafs for my flippers, so id ned to swap the flipper buttons completely to support this, plus the code change
You need to login in order to like this post: click here
November 26, 2017 at 4:36 am #69892Well the code is easy. Wiring it up is easy. Getting the proper leaf switches is the hard part.
Punch it!
You need to login in order to like this post: click here
1 user thanked author for this post.
November 26, 2017 at 9:43 am #69904http://www.pinballlife.com/index.php?p=product&id=598
You need to login in order to like this post: click here
November 26, 2017 at 8:10 pm #69945Double leafs would be great! I think way more than WPC need it.
Gah! $19 per switch! And will they work with low voltage? Some don’t play nice if I recall.
-Mike
You need to login in order to like this post: click here
November 26, 2017 at 9:57 pm #69948Here is the switch I used ($10.95 each)
http://www.marcospecialties.com/pinball-parts/SW-1A-192
These come apart easily to adjust spacing and you can remove the long leaf if you wish, which I did on the left flipper. I needed the long leaf on my right flipper as my zebs plunger didn’t allow enough clearance for a double switch without it. I’m very happy with them.
I mapped my left second flipper switch (vbs variable name KeyUpperLeft) to the (A) key and right second flipper (vbs variable name KeyUpperRight) switch to the ( ‘ ) key. These are the same mappings found in the VPMKeys.vbs file.
To get the upper flipper key to work in Doctor Who, I made the following changes:
Note:
- The upper right flipper is mapped to Solenoid 34 (or use SURFlipper variable in vbs) and uses switch 116 (or us SWURFlip variable in vbs)
- The upper left flipper is mapped to Solenoid 36 (or use SULFlipper variable in vbs) and uses switch 118 (or us SWULFlip variable in vbs)
- WPC.vbs sets both the upper and lower switch with the flipper key, I didn’t know how or if I could overwrite this in the table script so I created a WPC2.vbs file changing the following two lines (this is only needed if you’re going to either use the solenoid calls to manage flipper activation or you want to update DOF to call separate contactors for the upper and lower flippers):
If keycode = RightFlipperKey Then .Switch(swLRFlip) = True : If cSingleRFlip Or Err Then .Switch(swURFlip) = True
If keycode = LeftFlipperKey Then .Switch(swLLFlip) = True : If cSingleLFlip Or Err Then .Switch(swULFlip) = TrueTo ( WPC2.vbs https://pastebin.com/fhkJd7Xu ):
If keycode = RightFlipperKey Then .Switch(swLRFlip) = True : ‘If cSingleRFlip Or Err Then .Switch(swURFlip) = True
If keycode = LeftFlipperKey Then .Switch(swLLFlip) = True : ‘If cSingleLFlip Or Err Then .Switch(swULFlip) = TrueChanges to the table script are as follows ( https://pastebin.com/UYTEdJpZ )
Add NFozzy’s FastFlips:
- Add “dim FastFlips” near the top of the script outside of any subs or functions
- Add the following to the Table1_Init Sub
Set FastFlips = new cFastFlips
with FastFlips
.CallBackL = “SolLflipper” ‘Point these to flipper subs
.CallBackR = “SolRflipper” ‘…
.CallBackUL = “SolULflipper”‘…(upper flippers, if needed)
‘.CallBackUR = “SolURflipper”‘… .TiltObjects = True ‘Optional, if True calls vpmnudge.solgameon automatically. IF YOU GET A LINE 1 ERROR, DISABLE THIS! (or setup vpmNudge.TiltObj!) ‘
‘.InitDelay “FastFlips”, 100     ‘Optional, if > 0 adds some compensation for solenoid jitter (occasional problem on Bram Stoker’s Dracula)  .DebugOn = False    ‘Debug, always-on flippers. Call FastFlips.DebugOn True or False in debugger to enable/disable. end with- Add the following to the Solenoid setup:
SolCallBack(31) = “FastFlips.TiltSol”
- Add the following to the keydown sub:
If keycode = LeftFlipperKey Then FastFlips.FlipL True :controller.Switch(swLLFlip) = True
If keycode = KeyUpperLeft Then FastFlips.FlipUL True :controller.Switch(swULFlip) = True
If KeyCode = RightFlipperKey then FastFlips.FlipR True- Add the following to the keyup sub:
If keycode = KeyUpperLeft Then FastFlips.FlipUL False :controller.Switch(swULFlip) = False
If KeyCode = LeftFlipperKey then FastFlips.FlipL False :controller.Switch(swLLFlip) = False
If KeyCode = RightFlipperKey then FastFlips.FlipR False- Change the flipper code to the following:
‘**************
‘ Flipper Subs
‘**************
‘SolCallback(sLRFlipper) = “SolRFlipper”
‘SolCallback(sLLFlipper) = “SolLFlipper”
‘SolCallback(sULFlipper) = “solULFlipper”Sub SolLFlipper(Enabled)
If Enabled Then
PlaySound SoundFX(“flipperup” ,DOFFlippers),0,1,-.5:LeftFlipper.RotateToEnd
Else
PlaySound SoundFX(“FlipperDown” ,DOFFlippers),0,1,-.5:LeftFlipper.RotateToStart
End If
End SubSub SolULFlipper(Enabled)
If Enabled Then
PlaySound SoundFX(“flipperup” ,DOFFlippers),0,1,-.5:LeftFlipper2.RotateToEnd
Else
PlaySound SoundFX(“FlipperDown” ,DOFFlippers),0,1,-.5:LeftFlipper2.RotateToStart
End If
End SubSub SolRFlipper(Enabled)
If Enabled Then
PlaySound SoundFX(“flipperup” ,DOFFLippers),0,1,.5:RightFlipper.RotateToEnd
Else
PlaySound SoundFX(“FlipperDown” ,DOFFlippers),0,1,.5:RightFlipper.RotateToStart
End If
End Sub- Then add the rest of NFozzy’s FastFlips code to the end of the table script:
‘cFastFlips by nFozzy
‘Bypasses pinmame callback for faster and more responsive flippers
‘Version 1.1 beta2 (More proper behaviour, extra safety against script errors)‘*************************************************
Function NullFunction(aEnabled):End Function ‘1 argument null function placeholder
Class cFastFlips
Public TiltObjects, DebugOn, hi
Private SubL, SubUL, SubR, SubUR, FlippersEnabled, Delay, LagCompensation, Name, FlipState(3)Private Sub Class_Initialize()
Delay = 0 : FlippersEnabled = False : DebugOn = False : LagCompensation = False
Set SubL = GetRef(“NullFunction”): Set SubR = GetRef(“NullFunction”) : Set SubUL = GetRef(“NullFunction”): Set SubUR = GetRef(“NullFunction”)
End Sub‘set callbacks
Public Property Let CallBackL(aInput) : Set SubL = GetRef(aInput) : Decouple sLLFlipper, aInput: End Property
Public Property Let CallBackUL(aInput) : Set SubUL = GetRef(aInput) : End Property
Public Property Let CallBackR(aInput) : Set SubR = GetRef(aInput) : Decouple sLRFlipper, aInput: End Property
Public Property Let CallBackUR(aInput) : Set SubUR = GetRef(aInput) : End Property
Public Sub InitDelay(aName, aDelay) : Name = aName : delay = aDelay : End Sub ‘Create Delay
‘Automatically decouple flipper solcallback script lines (only if both are pointing to the same sub) thanks gtxjoe
Private Sub Decouple(aSolType, aInput) : If StrComp(SolCallback(aSolType),aInput,1) = 0 then SolCallback(aSolType) = Empty End If : End Sub‘call callbacks
Public Sub FlipL(aEnabled)
FlipState(0) = aEnabled ‘track flipper button states: the game-on sol flips immediately if the button is held down (1.1)
If not FlippersEnabled and not DebugOn then Exit Sub
subL aEnabled
End SubPublic Sub FlipR(aEnabled)
FlipState(1) = aEnabled
If not FlippersEnabled and not DebugOn then Exit Sub
subR aEnabled
End SubPublic Sub FlipUL(aEnabled)
FlipState(2) = aEnabled
If not FlippersEnabled and not DebugOn then Exit Sub
subUL aEnabled
End SubPublic Sub FlipUR(aEnabled)
FlipState(3) = aEnabled
If not FlippersEnabled and not DebugOn then Exit Sub
subUR aEnabled
End SubPublic Sub TiltSol(aEnabled) ‘Handle solenoid / Delay (if delayinit)
If delay > 0 and not aEnabled then ‘handle delay
vpmtimer.addtimer Delay, Name & “.FireDelay” & “‘”
LagCompensation = True
else
If Delay > 0 then LagCompensation = False
EnableFlippers(aEnabled)
end If
End SubSub FireDelay() : If LagCompensation then EnableFlippers False End If : End Sub
Private Sub EnableFlippers(aEnabled)
If aEnabled then SubL FlipState(0) : SubR FlipState(1) : subUL FlipState(2) : subUR FlipState(3)
FlippersEnabled = aEnabled
If TiltObjects then vpmnudge.solgameon aEnabled
If Not aEnabled then
subL False
subR False
If not IsEmpty(subUL) then subUL False
If not IsEmpty(subUR) then subUR False
End If
End SubEnd Class
Current Project: Perpetual updates of VPX physics.
You need to login in order to like this post: click here
November 26, 2017 at 10:02 pm #69949Just one other note, I originally implemented without NFozzy’s FastFlips. While everything worked using solenoid calls, I saw significant lag.
I’ve performed extensive testing on my mini cab and see no noticeable difference between FastFlips and solenoid calls. On my full size cab, however, I see a significant difference. I need to do some more testing, but the only differences between my mini and full that I’m aware of is that I use Force Exclusive Fullscreen and Brute Force on the full size cab. It will be interesting to see if one of those two are the cause of the flipper lag.
Current Project: Perpetual updates of VPX physics.
You need to login in order to like this post: click here
November 26, 2017 at 10:58 pm #69953cSingleRFlip / cSingleLFlip is a weird thing exclusive to WPC.vbs. They’re undeclared variables, you’d have to dim them first either in the wpc.vbs file or in the table script before LoadVPM, and then set them to false. Only Wpc.vbs does this.. Other system scripts don’t handle upper flipper buttons at all. It’s just assumed that you’ll rig those up those switches manually in the table script.
For modern games all it would take would be dedicated key bindings and then the tracking down of upper flipper switch numbers. The system scripts can handle the switch handling, and if the table script is set up correctly the upper flippers will work properly (Pinmame’s flipper solenoid numbers are always supposed to be consistent across all systems and games)
Pre-solid state flippers are different though because they typically don’t have dedicated switches for upper flippers at all. These flippers aren’t getting any signals from the game code, so it’s all Pinmame’s abstraction, and pinmame doesn’t make the distinction between lower and upper flippers and only sends the one flipper call. So you’ll have to make table script modifications to split them apart.
You need to login in order to like this post: click here
December 7, 2017 at 6:42 pm #70752Added an option for double leaf switch in next release of Tee’d Off along with Fastflips.
Current Project: Perpetual updates of VPX physics.
You need to login in order to like this post: click here
December 7, 2017 at 6:58 pm #70753CRAP! now im going to have to add the dang thingsÂ
********************************************************
Messing with the VPinball app and push notifications.
So if you haven't downloaded app yet what are you waiting for!?
for IOS and Android********************************************************
You need to login in order to like this post: click here
-
AuthorPosts
Forums are currently locked.