User Tools

Site Tools


pup_capture

Creating PUP-Packs

PinUP Player is allows interactive videos / audio / media to be played on your backglass / dmd / topper when events happen during gameplay. Like when you hit a drop target, PuP will play a certain video. If a specific DMD image for multiball is seen by PuP, it will start an have awesome looping video and play a separate music file.

There are many options and features to use, and making them is super simple once you get the hang of it.


PUPCapture (Rom based Tables only)

The easiest method when dealing with ROM based games, is to use “PUPCapture” method… it is a neat feature that will scan the DMD in real time and find matching 'boxes' that can trigger video plays with PuPlayer! You simple create a set of 'trigger' screens that then translate to events that PinUP Player will react to.

Note: if you are using PuPcapture method, you must create a text file (empty) inside the PuPCapture subfolder of your pack. This file must be called ExactColorMatch.txt without quotes. This will use the new method for matching with pupcaps/dmdext.

PUPCapture makes it a lot easier for ROM based tables, as dealing with states and switches / lights can be difficult and restricting.


Watch these videos to get a basic idea on how to create PuP-Packs:

(Note: many features have been added since these videos were made)

part1: https://youtu.be/iYvk_FSwGXQ

part2: https://youtu.be/WGPRnLWvFeI


Adding PUP-Pack support (PUPEvent) to a Table Script:

With an original VP table (not rom based), it's super easy to add PuP-Pack support to any table!

All you need to do is copy the code below to your table script. After that, you just use ONE simple command on your table script for each PUP Event you want to trigger in the PuP-Pack.

That's it!

This is the RECOMMENDED method of adding PuP and PuP-Pack support to an original table!

  • you will only need ONE command to trigger pup events from the PuP-Pack (pupevent xxx)
  • this allows for the table to run without PuP installed if the player disables that option
  • this will not require B2S Server or use DOF commands
  • allows the use of more powerful and easy to use features in the PuP-Pack Editor
  • allows the player more options for custom setups using the PuP-Pack Editor (no need to edit the table script anymore)
  • allows the use of custom pinupplayer.ini files in the Pup-Pack (to allow different pup display settings per table)

(NOTE: This does NOT inlcude PUPDMD support. You need to integrate the PUPDMD Framework separately to use those features)

Just copy everything here in to your table script under OPTION EXPLICIT

' COPY EVERYTHING BELOW TO THE TOP OF YOUR TABLE SCRIPT UNDER OPTION EXPLICIT

'****** PuP Variables ******

Dim usePUP: Dim cPuPPack: Dim PuPlayer: Dim PUPStatus: PUPStatus=false ' dont edit this line!!!

'*************************** PuP Settings for this table ********************************

usePUP   = true               ' enable Pinup Player functions for this table
cPuPPack = "pup-pack_name"    ' name of the PuP-Pack / PuPVideos folder for this table

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

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

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

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

' ******* How to use PUPEvent to trigger / control a PuP-Pack *******

' Usage: pupevent(EventNum)

' EventNum = PuP Exxx trigger from the PuP-Pack

' Example: pupevent 102

' This will trigger E102 from the table's PuP-Pack

' DO NOT use any Exxx triggers already used for DOF (if used) to avoid any possible confusion

'************ PuP-Pack Startup **************

PuPStart(cPuPPack) 'Check for PuP - If found, then start Pinup Player / PuP-Pack

Using the PUPEvent command:

Throughout the table script you just use:

pupevent xxx

Just replace the xxx with the PuP-Pack's Exxx trigger you want to use for playing videos / audio / media, etc

Example: pupevent 102

This will trigger E102 in the PuP-Pack

DO NOT use any Exxx triggers already used for DOF on the table (if used) to avoid any possible confusion


PUP-Pack Editor (this info is always a WIP)

With the newest PuP-Pack Editor, you can START the PuP-Pack and FIRE any trigger right from the Editor without the need of a table running. This allows you to manage and test your PuP-Pack first before even starting any table code (PUPEvent) or pupcapture (rom based tables). Keep in mind, this only tests the PuP-Pack… not the communication from the table or pupcapture

Note: PuP-Packs should avoid using PuP displays 5-10 as they are designed for Popper FrontEnd. You should use pup 11-19 with custompos for additional pupdisplays.

PLAYACTION

Normal

-plays the file until it ends

Loop

-plays the file in a Loop

SplashReset

-meant to be used with a Looping file. If this is triggered while a Looping file is currently playing…then the SplashReset file will play to its end, and then the original Looping file will resume from its beginning (there may be a pause when the Looping file begins again). This can be handy, but you would be better using SetBG in most cases to do something similar.

SplashReturn

-meant to be used with a Looping file. If this is triggered while a Looping file is currently playing…then the SplashReturn file will play to its end, and then the original Looping file will resume from where it left off (there may be a pause when the Looping file begins again). This can be handy, but you would be better using SetBG in most cases to do something similar.

StopPlayer

-will stop whatever file is currently playing. Priority MUST be HIGHER than the file currently playing for this to work!

StopFile

-will stop ONLY the file specified in PlayFile (if it's playing). This has no effect on other files that are playing.

SetBG

-“Set Background” will set a new default looping “Background” file. When other files are done playing, then this new SetBG file will be played in a loop. Example: This can be handy for setting a new looping “mode” video, so that new other video events during the new mode will fall back to this SetBG video. Then you can change SetBG again to the main game mode video when the mode is completed.

​​​​PlaySSF

-used to play WAV files for Surround Sound Feedback. (You don't want these sounds playing from your front / backbox speakers). The settings for the 3D position of the sound files are set in COUNTER. The format is in X,Z,Y. Example: “-2,1,-8”. X values range from -10 (left), 0 (center), 10 (right). Z values don't ever change and stay at 1. Y values range from 0 (top), -5 (center), -10 (bottom). NOTE: This currently will only work with the DEFAULT sound card in Windows. Additional sound card / devices are not yet supported!

SkipSamePri

-this will ignore the trigger if the file playing has the same Priority. This is nice for events such as Jackpot videos or others that will play very often, and you don't want to have them constantly interrupting each other. “Normal” PlayAction files with the same Priority will interrupt each other no matter the Rest Seconds. Using SkipSamePri will not play the new file (with same the Priority) if the current file is still playing and allows for smoother non-interruptive action for common events.

pup_capture.txt · Last modified: 2020/06/06 11:44 by A User Not Logged in