User Tools

Site Tools


pup_capture

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pup_capture [2020/05/16 15:49]
pinupadmin
pup_capture [2021/08/20 12:57] (current)
pinupadmin
Line 1: Line 1:
 ====== Creating PUP-Packs ====== ====== Creating PUP-Packs ======
  
-PinUP Player is a component of the system that allows interactive videos to be played on your backglass/dmd/topper when events happen during gameplay. Like hit a drop target, play a certain video, or start multiball and have awesome video/music follow the mode along. There are so many options, and making them is super simple once you get the hang of it.+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 PuPit 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. 
 + 
 +---- 
 + 
 +<font 18px/inherit;;inherit;;inherit>**PUPCapture (Rom based Tables only)**</font>
  
 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. 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.//+//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. 
 + 
 +----
  
-It makes it lot easier to code with ROM tables, as dealing with states and switches/lights can be difficult.+<font 16px/inherit;;inherit;;inherit>**Watch these videos to get basic idea on how to create PuP-Packs:**</font>
  
-Watch these video series on how to use this feature:+(Notemany features have been added since these videos were made)
  
 part1: [[https://youtu.be/iYvk_FSwGXQ|https://youtu.be/iYvk_FSwGXQ]] part1: [[https://youtu.be/iYvk_FSwGXQ|https://youtu.be/iYvk_FSwGXQ]]
Line 15: Line 25:
 part2: [[https://youtu.be/WGPRnLWvFeI|https://youtu.be/WGPRnLWvFeI]] part2: [[https://youtu.be/WGPRnLWvFeI|https://youtu.be/WGPRnLWvFeI]]
  
-<font 22px/inherit;;inherit;;inherit>**PUP-Pack Editor **</font><font 22px/inherit;;inherit;;inherit>**(WIP)**</font>+---- 
 + 
 +=====   ===== 
 + 
 +===== 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** 
 +<code> 
 + 
 +' 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, '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 
 + 
 +</code> 
 + 
 +**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 
 + 
 +---- 
 + 
 +<font 22px/inherit;;inherit;;inherit>**PUP-Pack Editor **</font><font 22px/inherit;;inherit;;inherit>**(this info is always a WIP)**</font> 
 + 
 +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 
 + 
 +<font inherit/inherit;;#27ae60;;inherit>**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.**</font> 
 + 
 +{{:7fb9a91c9eca3feb0bd4c85581365d03.png}} 
 + 
 +{{:d4cdc446f218f7ac411479c141a4798e.png}}
  
 **<font 18px/inherit;;inherit;;inherit>PLAYACTION</font>** **<font 18px/inherit;;inherit;;inherit>PLAYACTION</font>**
Line 55: Line 167:
 -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. -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.
  
-Adding PUPEvents to Table Script:+=====   =====
  
-if you are using an original table and want to send simple pupevents to your puppack heres a simple code to can add to the end of your original table script.<code>+===== PuPPack Screen Terminology: =====
  
-Dim PuPlayer +**Show** \\ 
-Dim PUPStatus +This will use whatever settings are set for this screen’s “default” settings.
-PUPStatus=false+
  
-Sub PuPStart(cPuPPack) +**ForceON** \\ 
-    If PUPStatus=true then Exit Sub +Forces the window to be the Top most window, and it stays onA video is always going to be playing in this modeWhen a new video starts or the current video restarts, the ForceON action happens and will force the window to be the Top window again.
-    Set PuPlayer = CreateObject("PinUpPlayer.PinDisplay"+
-    PuPlayer.B2SInit "",cPuPPack 'start the Pup-Pack +
-    PUPStatus=true+
  
-End Sub+**ForcePoP** \\ 
 +Similar to ForceOn, except the vlc window opens and closes with each video played
  
-Sub pupevent(EventNum) +**ForceBack** \\ 
-    if PUPStatus=false then Exit Sub +Keeps the video window always open, but under the other PuP screensThis can cause any PuP screen with this setting to get pushed behind your game window.
-    PuPlayer.B2SData "E"&EventNum, 'send event to Pup-Pack +
-End Sub+
  
-PuPStart("tf_180"  'change this to cgamename or the puppackfolder name+**ForcePopBack** \\ 
 +Similar to ForceBack, except the vlc window opens and closes with each video played
  
-' Usagepupevent(EventNum) +**CustomPos** \\ 
-' EventNum PuP Exxx trigger from PuP-Pack +First number is always the screen. 1,<font inherit/inherit;;#e74c3c;;inherit>22.5</font>,<font inherit/inherit;;#2980b9;;inherit>45.3</font>,<font inherit/inherit;;#27ae60;;inherit>55.1</font>,<font inherit/inherit;;#8e44ad;;inherit>54.7</font> [pupid # source screen,xpos,ypos,width,height] values in % of pupdisplay.  You can watch this video to help understand https://www.youtube.com/watch?v=9FSBGFGWGgY 
-' Example: + 
-' pupevent 102 +====== Special Function Playlists ====== 
-' This will trigger E102 from the PuP-Pack + 
-</code>+Theres a few 'special' playlists that do things when you play something from them. Create the playlists (sub-folders) with the exact spelling and they will work once media is played. 
 + 
 +**PUPOverlays**  you put 32bit pngs in there and when you play them it will set them as current overlay frame. 
 + 
 +**PUPFrames**  you put 32bit pngs in there and when you play them it will set the background png (good for performance) 
 + 
 +**PUPAlphas**  you put 32bit pngs in there and when you play them it will set them as current overlay frame with alpha blending (performance, v1.4.5+) 
 + 
 +**PuPShapes **  you put 24bit bmps files in there and the pixel color (0,0) will be used as a mask to make a see=through shape. See twister puppack for example. 
 + 
 +These will usually be setup as a trigger with D0 (zero) so that on startup the frame is setup via the puppack. 
 + 
 +====== Media for PuP-Packs ====== 
 + 
 +You should stick with 'normalized' media file format. MP4 files 1920×1080 30fps. Its important for file size and stability that all video media doesn't change fps or resolutions during play.
  
-then throughout the table script you call pupEvent XXX   that will trigger an event EXXX in the puppack that you can do stuff with.+The best solution is to run your pack through the pupStandardAllMedia_1080p_replaces.bat found here: [[https://nailbuster.com/uploads/PuPStandard_or_Resize.zip|https://nailbuster.com/uploads/PuPStandard_or_Resize.zip]]
  
-NOTE this is not something you'd want to do with ROMTables as pupcapture is easier, but sometimes having table script pupevents helps.+Read the readme.txt in root.
  
  
pup_capture.1589658543.txt.gz · Last modified: 2020/05/16 15:49 by pinupadmin