Here are the new user options for the table that allow all combinations of DOFLinx, PuP, SSF or FP with no DOFLinx to work. This allows the table to be used by anyone with or without doflinx installed for future update possibly. More work...but much easier to implement updates in the future.
'##################################################################
'**** USER OPTIONS FOR DOFLINX, PINUP PLAYER, and NORMAL USE ****
'##################################################################
useDOFLinx=True
' Set useDOFLinx=False if you are NOT using DOFLinx or Pinup Player features and just want to play the table normally.
' Set useDOFLinx=True if you are using any of the following:
' - DOFLinx for Pinball Cabinet hardware feedback (solenoids, shaker motor, blower fan, etc)
' - DOFLinx for Pinball Cabinet lighting (beacon, strobes, RGB lighting, flashers, addressable leds, buttons, etc)
' - Pinup Player for SSF (Surround Sound Feedback) or a PuP-Pack (Active Video Backglass / HUD). Both need to work through DOFLinx.
'================================
useDOFLinx_Sounds=False
' Set useDOFLinx_Sounds=True if you are using solenoids in a cabinet AND you are NOT using Pinup Player SSF (surround sound feedback)
' for the game's mechanical sounds.
' This option allows you to switch off your cabinet's solenoids, and hear the Future Pinball in-game mechanical sounds (using DOFLinx Night Mode).
' If you are using Pinup Player SSF, then this option MUST be False, or you will get mechanical sounds from both SSF and Future Pinball!
'================================
useDOFLinx_NoSounds=True
' Set useDOFLinx_NoSounds=True if your are using Pinup Player SSF (surround sound feedback) for the game's
' mechanical sounds AND if you are using real solenoids in a cabinet.
'================================
usePUP_SSF=True
' Set usePUP_SSF=True only if you are using Pinup Player SSF (surround sound feedback) for the game's mechanical sounds.
'================================
useHUD=False
' Set useHUD=False if you do not want the DMD and the FP Videos HUD displayed on your screen. (for cabinets or VR headsets)
'#######################################################################
'**** END OF USER OPTIONS FOR DOFLINX, PINUP PLAYER, and NORMAL USE ****
'#######################################################################
If useDOFLinx=True then
ExecuteGlobal LoadExternalScript ("doflinx.vbs") ' DOFLinx - Load vbs script
End If
If useHUD = FALSE then
Overlay1.FadeOut
DispDMD2.FadeOut
OverlayMovie.FadeOut
OverlayMovie2.FadeOut
Else
useHUD = TRUE
Overlay1.FadeIn
DispDMD2.FadeIn
OverlayMovie.FadeIn
OverlayMovie2.FadeIn
OverlayMovie.Frame 890
OverlayMovie2.Frame 1
End If
I have approx 1500 lines of DOFLinx code in this table. EVERY event action calls to it's own DOFLinx sub. Makes for easier implementation of all options.
Examples:
'*** Kickers ***
Sub DOFLinx_Kicker7() 'DOFLinx - Kicker7 (Harpoon) Fire
If useDOFLinx=False then 'No DOFLinx
If (KSGame = TRUE) Then
Else
PlaySound "fx_AutoFireR" 'FP plays the sound
End If
Exit Sub
End If
If useDOFLinx_Sounds=True Then FF_Sound DV_LF,-1,"fx_AutoFireR" 'Solenoid - Night mode sound option
If useDOFLinx_NoSounds=True Then FF_Dev DV_LF,-1 'Solenoid - No Sound
If usePUP_SSF=True then FF_PUPlayer PUP_EVENT,"E725",1 'PuP SSF
FF_DOF "E",406,-1 'DOF MX - Strobe
FF_Dev DV_SR,50 'Strobe
FF_Dev DV_SH,50 'Shaker
FF_Dev DV_FN,50 'Fan Pulse
End Sub
Sub DOFLinx_Barrelkicker() 'DOFLinx - Barrelkicker
If useDOFLinx=False then PlaySound "fx_ScoopExit": exit Sub 'No DOFLinx - FP plays the sound
If useDOFLinx_Sounds=True Then FF_Sound DV_ML,-1,"fx_ScoopExit" 'Solenoid - Night mode sound option
If useDOFLinx_NoSounds=True Then FF_Dev DV_ML,-1 'Solenoid - No Sound
If usePUP_SSF=True then FF_PUPlayer PUP_EVENT,"E726",1 'PuP SSF
FF_DOF "E",406,-1 'DOF MX - Strobe
FF_Dev DV_SR,50 'Strobe
End Sub
Sub DOFLinx_Barrelkicker_Hit() 'DOFLinx - Barrelkicker_Hit
If useDOFLinx=False then PlaySound "fx_ScoopHitL": exit Sub 'No DOFLinx - FP plays the sound
If usePUP_SSF=True then
FF_PUPlayer PUP_EVENT,"E727",1 'PuP SSF
Else
PlaySound "fx_ScoopHitL" 'FP plays the sound
End If
End Sub
Sub DOFLinx_KickerShark_Hit() 'DOFLinx - KickerShark_Hit
If useDOFLinx=False then PlaySound "fx_SolenoidHit": exit Sub 'No DOFLinx - FP plays the sound
If usePUP_SSF=True then
FF_PUPlayer PUP_EVENT,"E728",1 'PuP SSF
Else
PlaySound "fx_SolenoidHit" 'FP plays the sound
End If
End Sub
ALL of the DOFLinx and PuP code is in ONE section of the script. The main code just has calls to the DOFLinx subs. The only thing I had to do was disable all the Playsound commands.
I had almost 100 SSF (surround sound feedback) triggers in the pup-pack alone! I was worried about having so many pup, ssf, doflinx, dof mx commands all flying around at once...but no problems....it all works great!
Edited by TerryRed, 16 July 2019 - 02:46 AM.