Tutorial How to add PuP (Pinup Player) and PuP-Pack support to any Future Pinball table

TerryRed

Pinball Master
Joined
Feb 11, 2020
Messages
2,017
Solutions
9
Reaction score
2,467
Points
145
Favorite Pinball Machine
My Virtual Pinball Cabinet
********** How to Add Pinup Player and PuP-Pack support to a Future Pinball table **********

by TerryRed



4RBN3Sm.png



What will this do?

- this will add support for Pinup Player and PuP-Packs to any Future Pinball table
- it will start a PuP-Pack, and trigger events on the PuP-Pack from table script commands (to play videos, music, etc on the PuP display windows)

What will this not do

- this does NOT include support for the PUPDMD framework
- it won't display a PuP-Pack on a texture in a Future Pinball table (like PUP Stream on a PinEvent table)

What is needed?

- the latest version of BAM


- latest version of Pinup Player


What this does NOT use?

- this does NOT use or require the PinEvent vbs files
- this does not use or require DOFLinx





PinEvent

- this is not the same as TerryRed's PinEvent tables
- Please, DO NOT use the name PinEvent when using this code, or when adding Pinup Player support to a FP table

PinEvent = TerryRed's FP tables / mods and pup-pack releases only





****** How to do it ******

Copy the code below to the script of any Future Pinball table under Option Explicit



Code:
'/////////////////////// iCOM BAM PLUG-IN - USE COM OBJECTS ////////////////////////////

' The iCOM plug-in for BAM must be installed and enabled in the BAM Plug-ins menu!

' This will allow programs such as DOF, Pinup Player, and more to work directly with Future Pinball.

Dim icom : Set icom = xBAM.Get("icom") ' "icom" is name of "icom.dll" in BAM\Plugins dir

Function CreateObject(className)  
   Set CreateObject = icom.CreateObject(className)
End Function

'///////////////////////////////////////////////////////////////////////////////////////


'//////////////////// PINUP PLAYER: STARTUP & CONTROL SECTION //////////////////////////

' This is used for the startup and control of Pinup Player

Dim usePUP
Dim cPuPPack
Dim PuPlayer
Dim PUPStatus
PUPStatus=false

Sub PuPStart(cPuPPack)
    If PUPStatus=true then Exit Sub
    If usePUP=true then
        Set PuPlayer = CreateObject("PinUpPlayer.PinDisplay")
        If PuPlayer is Nothing Then
            AddDebugText "PUP is not installed"
            usePUP=false
            usePUP_SSF=false
            PUPStatus=false
        Else
            PuPlayer.B2SInit "",cPuPPack 'start the Pup-Pack
            PUPStatus=true
            AddDebugText "Start PUP"
        End If
    End If
End Sub

Sub pupevent(EventNum)
    if PUPStatus=false then Exit Sub
    if usePUP=false then Exit Sub
    PuPlayer.B2SData "E"&EventNum,1  'send event to Pup-Pack
End Sub


' Usage: pupevent(EventNum)

' EventNum = PuP Exxx trigger from PuP-Pack

' Example:

' pupevent 102

' This will trigger E102 from the PuP-Pack


'///////////////////////////////////////////////////////////////////////////////////////


'////////////// START PUP-PACK ////////////////

usePUP = true               ' enable Pinup Player
cPuPPack = "FP_PUP_PACK"    ' name of the PuP-Pack in the PuPVideos folder for this table
PuPStart(cPuPPack)          ' check for PuP - If found, then start Pinup Player / PuP-Pack

'//////////////////////////////////////////////





Make sure you replace FP_PUP_PACK in the above code with the name of your PuP-Pack folder in the PUPVideos folder





****** PUPEVENT COMMAND ******

Use the pupevent command throughout your table script to trigger the Exxx events on your PuP-Pack

pupevent(EventNum)

EventNum = PuP Exxx trigger from PuP-Pack

Example:

pupevent 102

This will trigger E102 from the PuP-Pack






****** PUP-PACKS ******

For information on "the basics" of how of how to create a PuP-Pack, read here:


...and you can watch this video. It's a bit outdated, but the basics are the same. You are only using Exxx triggers for FP tables.






Those are the essentials you need to get started.

To be CLEAR... I am NOT giving support for this! All the essential info you need is provided. Do the work!


Again, please do NOT use the name PinEvent when referring to adding PuP to a FP table. The name PinEvent is used only for TerryRed releases.

Thank you.
 
Last edited by a moderator:
Again Terry - Thanks for every bit of info you broadcast to us your students.
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
      Chat Bot Mibs Chat Bot Mibs: Flipper Hermann has left the room.
      Back
      Top