Currently, there are 0 users and 0 guests visiting this topic.
Viewing 20 posts - 21 through 40 (of 172 total)
  • Author
    Posts
  • #172812
    goodGRIEFF76
    Participant
    @goodgrieff76
    Member

    For whatever reason, the scripts can’t be in the scripts folder for me,they have to be in the tables folder…this is what solved all my error messages.  Also, I’m getting the tables and backglass with the videos, but no DMD.  I’m running a 3 monitor setup.

    #172814
    TerryRed
    Moderator
    @terryred
    MemberContributorModerator

    For whatever reason, the scripts can’t be in the scripts folder for me,they have to be in the tables folder…this is what solved all my error messages. Also, I’m getting the tables and backglass with the videos, but no DMD. I’m running a 3 monitor setup.

    That sounds like a setup issue with how you have Future Pinball installed. If you are running tables in their own sub folder that could be the issue.

     

    If you are specific with:

    • what your setup is (cabinet, 2 screen, LCD DMD, Full DMD, desktop, etc)
    • what pup-pack option you tried
    • what pupdmddrivertype you have set
    • what table and pup-pack

     

    …that would help narrow down your problem.

    #172850
    goodGRIEFF76
    Participant
    @goodgrieff76
    Member

    For whatever reason, the scripts can’t be in the scripts folder for me,they have to be in the tables folder…this is what solved all my error messages. Also, I’m getting the tables and backglass with the videos, but no DMD. I’m running a 3 monitor setup.

    That sounds like a setup issue with how you have Future Pinball installed. If you are running tables in their own sub folder that could be the issue.

    If you are specific with:

    • what your setup is (cabinet, 2 screen, LCD DMD, Full DMD, desktop, etc)
    • what pup-pack option you tried
    • what pupdmddrivertype you have set
    • what table and pup-pack

    …that would help narrow down your problem.

     

    what your setup is (cabinet, 2 screen, LCD DMD, Full DMD, desktop, etc)

    I have a cabinet with 3 screens.

     

    what pup-pack option you tried

    My apologies as I’m not sure what you mean by option.  I did change the PinEvent_Profile = 2 if that is what you mean by option.

     

    what pupdmddrivertype you have set

    I updated the pupdmddrivertype = 2 for the Full DMD in Halloween table script

     

    what table and pup-pack

    I tried the Halloween Ultimate Pro – PinEvent DOF MX SSF PUPDMD PuP-Pack

     

    #172866
    TerryRed
    Moderator
    @terryred
    MemberContributorModerator

    For whatever reason, the scripts can’t be in the scripts folder for me,they have to be in the tables folder…this is what solved all my error messages. Also, I’m getting the tables and backglass with the videos, but no DMD. I’m running a 3 monitor setup.

    That sounds like a setup issue with how you have Future Pinball installed. If you are running tables in their own sub folder that could be the issue.

    If you are specific with:

    • what your setup is (cabinet, 2 screen, LCD DMD, Full DMD, desktop, etc)
    • what pup-pack option you tried
    • what pupdmddrivertype you have set
    • what table and pup-pack

    …that would help narrow down your problem.

    what your setup is (cabinet, 2 screen, LCD DMD, Full DMD, desktop, etc)

    I have a cabinet with 3 screens.

    what pup-pack option you tried

    My apologies as I’m not sure what you mean by option. I did change the PinEvent_Profile = 2 if that is what you mean by option.

    what pupdmddrivertype you have set

    I updated the pupdmddrivertype = 2 for the Full DMD in Halloween table script

    what table and pup-pack

    I tried the Halloween Ultimate Pro – PinEvent DOF MX SSF PUPDMD PuP-Pack

    What type of 3rd screen? Is it 4:1 DMD LCD or a 16:9 ratio LCD display?

     

    You are missing reading entire portions of the install instructions for PinEvent and the table / pup-packs.

     

    For your PinEvent setup, you needed to edit PinEvent_Settings.vbs for each profile, AND the PUPDMD settings that is specific for the 3rd screen you have in your cabinet. After doing this…. normally you don’t need to touch the table script at all… as the PinEvent table by default will use the settings in PinEvent_Settings.vbs.

     

    If you did edit the table script… try replacing the table with the original table from the zip again, so that it is set to Autodetect for PinEvent Profile and the Custom Settings are not used.

    Then make sure you have the pupdmddrivertype in PinEvent_Settings.vbs set to what type of DMD display your cabinet has.

     

    THEN after that is done, you need to choose an “Option” for the pup-pack for each table that best matches your cabinet’s PUPDMD and the pupdmddrivertype you set in PinEvent_Setting.vbs. Read the pup-pack install instructions for each table again to see what the Pup-Pack Options are.

    To choose your PuP-Pack Option, you go into the table’s pup-pack folder and click on the “Options xx – xxxxx.BAT file” for the option you need for your setup. This copies the needed *.pup files over so that that pup-pack screens are setup correctly.

     

    After that, the table and pup-pack and pupdmd should work. Be sure your PuP Displays were setup properly with either a 4:1 ratio or 16:9 ratio depending on what your 3rd screen is.

     

    The only time you should need to edit the table script to use Custom Settings is when you want to use a pup-pack option that uses a different pupdmddrivertype than what you have in PinEvent_Settings. An example would be, if you have pupdmddrivertype = 0 for a cabinet with and LCD DMD… but for one table you wanted to use a “FULL DMD on Backglass” pup-pack option. Then in that case you would use Custom Settings to override what is set in PinEvent_Settings.

     

     

    #172873
    ortizthx1138
    Participant
    @ortizthx1138

    For some reason i cannot view the end of the startup script you added to disable the backglass in popper. This is all I see:

    REG ADD “HKCU\Software\Future Pinball\GamePlayer” /v “ArcadeMode” /t REG_DWORD /d 1 /f
    REG ADD “HKCU\Software\Future Pinball\GamePlayer” /v “SecondMonitorEnable” /t REG_DWORD /d 1 /f

    if “[custom1]”==”NoBackGlass” (REG ADD “HKCU\Software\Future Pinball\GamePlayer” /v “ArcadeMode” /t REG_DWORD /d 0 /f)
    if “[custom1]”==”NoBackGlass” (REG ADD “HKCU\Software\Future Pinball\GamePlayer” /v “SecondMonit

    I need what comes after “SecondMonit

    Thanks

    #172888
    TerryRed
    Moderator
    @terryred
    MemberContributorModerator

    For some reason i cannot view the end of the startup script you added to disable the backglass in popper. This is all I see:

    REG ADD “HKCU\Software\Future Pinball\GamePlayer” /v “ArcadeMode” /t REG_DWORD /d 1 /f

    REG ADD “HKCU\Software\Future Pinball\GamePlayer” /v “SecondMonitorEnable” /t REG_DWORD /d 1 /f

    if “[custom1]”==”NoBackGlass” (REG ADD “HKCU\Software\Future Pinball\GamePlayer” /v “ArcadeMode” /t REG_DWORD /d 0 /f)

    if “[custom1]”==”NoBackGlass” (REG ADD “HKCU\Software\Future Pinball\GamePlayer” /v “SecondMonit

    I need what comes after “SecondMonit

    Thanks

    It’s the way the site formats the page if you clicked on the Support TAB.

    Goto this link, and it will show the Support Topic formatted properly and you’ll see all the text:

    https://vpinball.com/forums/topic/pinevent-dof-mx-pup-ssf-pupdmd-for-future-pinball/#post-171545

    #173001
    Arrestis
    Participant
    @arrestis

    To start with DAMN I love this it looks awesome and plays the same!

    I have a couple of questions,  my first one is

    How can I see the highs scores in Retroflair?

    And my second question relates to DOFLINX,  I seem to have broken it or changed something as it links to other tables but I get no lights any idea how to fix it?

    and the last thing is a Pin event issue, it seems that every so often the ball doesn’t launch, it just rolls up the ball launch and back down. Restarting Future pinball resolves this.

    #173031
    outhere
    Moderator
    @outhere
    MemberContributorvipModerator

    Question 2 — PinEvent tables do not use DOFLINX
    You will need to go back through the PinEvent set up directions
    https://vpinball.com/forums/topic/pinevent-dof-mx-pup-ssf-pupdmd-for-future-pinball/

    #173143
    TerryRed
    Moderator
    @terryred
    MemberContributorModerator

    PinEvent tables do not use DOFLINX

    For DOFLinx…. reinstall DOFLinx and copy the latest DOFLinx.vbs to FuturePinball\Scripts

     

    For ball rolling back and forth…

    For PinEvent and FP tables you must always completely exit and close FP befor reloading and starting another table.

     

    RetroFlair was never originally setup for showing Hi Scores. Maybe one day I’ll try to add that in.

    1 user thanked author for this post.
    #173171
    Arrestis
    Participant
    @arrestis

    Thank you Terry and Outhere, just one more question in relation to question 2 about  DOFLINX, for my non PinEvent tables, as i said I broke it some how and cant seem to fix it, is there a guide you would recomend for setting it up again fresh, I  am using the latest DOFLINX. I only us.e it for lights for buttons and addressable LEDs, thank you again.

    #173172
    TerryRed
    Moderator
    @terryred
    MemberContributorModerator

    Thank you Terry and Outhere, just one more question in relation to question 2 about DOFLINX, for my non PinEvent tables, as i said I broke it some how and cant seem to fix it, is there a guide you would recomend for setting it up again fresh, I am using the latest DOFLINX. I only us.e it for lights for buttons and addressable LEDs, thank you again.

    https://vpinball.com/forums/topic/doflinx-guide-by-terryred/

    #173178
    redrooster
    Participant
    @redrooster
    Member

    Just chiming back in to say that I did have things working correctly after the first try, I just didn’t realize it at the time.

    However, the music on both Halloween and Retroflair are crazy loud.  I went into the pup-pack editor and turned the music down to 70% and then 50% with what i perceive to be no change.  Am I missing something on how to turn down the volume of the music on those tables?

    #173219
    TerryRed
    Moderator
    @terryred
    MemberContributorModerator

    Just chiming back in to say that I did have things working correctly after the first try, I just didn’t realize it at the time.

    However, the music on both Halloween and Retroflair are crazy loud. I went into the pup-pack editor and turned the music down to 70% and then 50% with what i perceive to be no change. Am I missing something on how to turn down the volume of the music on those tables?

    Yes… in the Install guide it mentions….

     

    Future Pinball Sound and Music Levels combined with SSF:

    • PUP SSF sound levels are much lower than FP’s Sound or Music levels (by default)
    • you can’t adjust the sound level for PUP SSF Sounds
    • you will most likely need to reduce the table’s FP Sound and Music level (using HOME/END and PAGEUP/PAGEDOWN) to noticeably hear to SSF sounds

    Everyone’s SSF setup varies, as does each table. So you need to find what works best for you. For me, I needed to have both FP’s volume levels at about 3 green bars

     

    FP tends to have hi quality and loud sound compared to VPX or pup-packs. So you need to reduce the FP Sound and FP Music volume

    #173242
    mavritanos
    Participant
    @mavritanos

    please where is BAM plug-ins menu?

    #173245
    TerryRed
    Moderator
    @terryred
    MemberContributorModerator

    please where is BAM plug-ins menu?

     

     

    Press Q or ~ to bring up BAM while playing. On the main BAM menu (you may need to navigate to get there), you will see Plug-ins. In that menu you should be able to see or cycle to COM Extensions.

     

    1 user thanked author for this post.
    #173268
    mavritanos
    Participant
    @mavritanos

    sorry i have a question. i can not understand in the scripts where i put the choices!

     

    ‘ //////////////////// PinEvent SETTINGS ////////////////////

    ‘ By TerryRed
    ‘ Version: 1.3
    ‘ April – 2020

    ‘ The PinEvent_Settings.vbs file is where the user’s default PinEvent settings are set for DOF, PUP, PUP_SSF, PUPDMD, and Nightmode.

    ‘ You need to change the settings in these sections, based on your needs:

    ‘ PinEvent PROFILES
    ‘ PUPDMD Default Settings
    ‘ DOF Settings
    ‘ SSF Settings
    ‘ NIGHT MODE

    ‘ ############### PinEvent PROFILES ###############

    ‘ – set what features you use to true and what you don’t use to false in EVERY profile you would use
    ‘ – you MUST set “useFP_Sounds = False” (no FP mechanical sounds) if you need “usePUP_SSF = True” (use PUP SSF for mechanical sounds)
    ‘ – you don’t want to have useFP_Sounds and PUP_SSF to both play the mechanical sounds at the same time!

    ‘ Night Mode Options are: 1 = Future Pinball Sound 2 = PUP SSF Sound

    ‘*** Desktop: Profile 1 ***

    If PinEvent_Profile = 1 then
    usePUP = false
    usePUP_SSF = false
    usePUPDMD = false
    useDOF = false
    useFP_Sounds = true
    NightModeOption = 1
    AddDebugText “PinEvent – Desktop Profile”
    End if

    ‘*** Cabinet: Profile 2 ***

    If PinEvent_Profile = 2 then
    usePUP = true
    usePUP_SSF = true
    usePUPDMD = true
    useDOF = true
    useFP_Sounds = false
    NightModeOption = 2
    AddDebugText “PinEvent – Cabinet Profile”
    End if

    ‘*** VR: Profile 3 ***

    If PinEvent_Profile = 3 then
    usePUP = false
    usePUP_SSF = false
    usePUPDMD = false
    useDOF = true
    useFP_Sounds = true
    NightModeOption = 1
    AddDebugText “PinEvent – VR Profile”
    End if

    ‘*** Custom 1: Profile 4 ***

    If PinEvent_Profile = 4 then
    usePUP = true
    usePUP_SSF = true
    useDOF = true
    usePUPDMD = true
    useFP_Sounds = false
    NightModeOption = 1
    AddDebugText “PinEvent – Custom 1 Profile”
    End if

    ‘*** Custom 2: Profile 5 ***

    If PinEvent_Profile = 5 then
    usePUP = true
    usePUP_SSF = false
    usePUPDMD = true
    useDOF = true
    useFP_Sounds = true
    NightModeOption = 1
    AddDebugText “PinEvent – Custom 2 Profile”
    End if

    ‘############### PUPDMD Default Settings ###############

    PuPDMDDriverType = 2 ‘ 0 = LCD DMD (4:1), 1 = Real DMD, 2 = FULL DMD (16:9 fullsize screen)
    useDMDVideos = true ‘ true or false to use DMD splash videos. (false may be preferred for real DMDs that are monochrome)
    useRealDMDScale = 0 ‘ 0 or 1 for RealDMD scaling. (for Real DMDs only. If enabled, useDMDVideos should be set to False!)

    ‘Note: useRealDMDScale may not work nicely for all tables.
    ‘ If a table doesn’t look correct, then disable this option in the table script!
    ‘ It’s best to keep this set to 0 by default.

    ‘LCD DMD is for a normal DMD sized pup display (4:1 ratio)
    ‘Real DMD is for those who use a real DMD.
    ‘Full DMD is a 16:9 ratio fullsize pup display

    ‘############### DOF Settings ###############

    ‘ Set what will be used for DOF (Direct Output Framework) mechanical feedback for pinball cabinets

    useFlipper_DOF = true
    useSlingshot_DOF = true
    useBumper_DOF = true
    useSolenoid_DOF = true
    useDropTarget_DOF = true
    useDropTargetReset_DOF = true
    useTarget_DOF = true
    useKnocker_DOF = true
    useChime_DOF = true
    useBell_DOF = true
    useShaker_DOF = true
    useGear_DOF = true
    useFan_DOF = true

    ‘############### SSF Settings ###############

    ‘ Set what will be used for PUP SSF (surround sound feedback)

    useFlipper_SSF = true
    useSlingshot_SSF = true
    useBumper_SSF = true
    useSolenoid_SSF = true
    useDropTarget_SSF = true
    useDropTargetReset_SSF = true
    useTarget_SSF = true
    useKnocker_SSF = true
    useChime_SSF = true
    useBell_SSF = true
    useShaker_SSF = true
    useGear_SSF = true
    useFan_SSF = true

    ‘############### NIGHT MODE ###############

    ‘ When Night Mode is enabled, the DOF noise makers (solenoids,etc) are disabled to
    ‘ keep your sleeping spouse happy at night! (this feature is meant for cabinet users)

    ‘ Set what key you will use to Toggle Night mode. Consult the Future Pinball manual to know what the keycodes are. Example: 36 = J key

    NightModeKey = 36

    ‘ //////////////////////////////// END OF PINEVENT SETTINGS ////////////////////////////////

    If PuPDMDDriverType = 0 then AddDebugText “PUPDMD Default = 0 LCD DMD”
    If PuPDMDDriverType = 1 then AddDebugText “PUPDMD Default = 1 REAL DMD”
    If PuPDMDDriverType = 2 then AddDebugText “PUPDMD Default = 2 FULL DMD”

    ‘############### READ BELOW FOR A DESCRIPTION OF EACH PINEVENT SETTING ###############

    ‘ usePUP = true

    ‘ – set to True to use any Pinup Player features.

    ‘ usePUP_SSF = false

    ‘ – set to True to use Pinup Player Surround Sound Feedback for the game’s mechanical sounds.
    ‘ – usePUP must also be set to True to use PUP SSF

    ‘ usePUPDMD = true

    ‘ – set to True to use Pinup Player for PUPDMD features (4:1 LCD DMD, Real DMD, or 16:9 LCD Full DMD)
    ‘ – usePUP must also be set to True to use PUPDMD

    ‘ Set all PuP options to False if Pinup Player is not installed, or not being used.

    ‘ useDOFn = true

    ‘ – set to True if you have a pinball cabinet with DOF feedback and lighting.
    ‘ – set to False for normal Desktop setups, (or if DOF is not installed / used)

    ‘ useFP_Sounds = true

    ‘ – set to True to use Future Pinball for the game’s mechanical sounds. (this is normal Future Pinball sound which only plays in stereo L/R channels)
    ‘ – set to True if you are playing on a normal desktop setup.

    ‘ You MUST set useFP_Sounds = False (no FP mechanical sounds) if usePUP_SSF = True (use PUP_SSF for mechanical sounds)
    ‘ (you can’t have FP and PUP_SSF both play the mechanical sounds at the same time!)

    ‘ NightModeOption – this option sets what will play the pinball mechanical sounds when Night Mode is enabled.
    ‘ – you need to set this for each PinEvent_Profile

    ‘ Night Mode Options are:

    ‘ 1 = Future Pinball sound
    ‘ 2 = PUP SSF sound

    ‘ ####################################################################################

    ‘ HOW PINEVENT WORKS

    ‘ – the table will load the PinEvent_Variables.vbs and then PinEvent_Settings.vbs file to load a specific PinEvent Profile’s settings. This is based on what PinEvent Profile is set in the table script (0-5)
    ‘ – by default the table is set to Autodetect (0), and will choose a PinEvent Profile based on what mode Future Pinball is using (Desktop, Arcade/Cabinet, VR)
    ‘ – PinEvent will then load PinEvent_Control.vbs and check to see if DOF and PuP are installed.
    ‘ – if they are not installed, then the DOF and PuP features are disabled and their commands are bypassed (the table will operate like a normal Future Pinball table).
    ‘ – if PUPDMD is enabled, then PinEvent_PUPDMD.vbs is loaded
    ‘ – if detected and enabled, a DOF session is started, and the PuP-Pack is started
    ‘ – the table will now play and trigger and control DOF / PUP / SSF / PUPDMD if enabled

    ‘ Custom Settings on a Per-Table Basis

    ‘ – a PinEvent table’s script has a “PinEvent Custom Settings for this table only” section.
    ‘ – this can be used to override the PinEvent settings in the PinEvent_Settings.vbs file.
    ‘ – this is only if needed for custom settings on a per table basis.
    ‘ – an example would be if the table doesn’t offer your preferred PUPDMD feature, or you need to use a different PUPDMD setting for a specific table.

    ‘ Pinup Player features and PuP-Packs

    ‘ – if you are using any Pinup Player features, you will need to edit the table’s PuP-Pack with the PuP-Pack Editor, to enable/disable only what you use (PUPDMD, Topper videos, SSF)

    ‘ DOF (Direct Output Framework)

    ‘ – if you are using DOF in a cabinet for feedback and lighting, you will need to update your DOF config files from the DOF Config Tool website (to retrieve the PinEvent table’s DOF config)

     

     

     

     

    ‘////////////////// PINEVENT PUPDMD /////////////////

    ‘ By Nailbuster and TerryRed
    ‘ Version: 1.3
    ‘ April – 2020

    ‘ This file contains the PUPDMD Framework for Pinevent and Future Pinball

    ‘******************** START OF PUPDMD FRAMEWORK for FP ************************
    ‘******************* DO NOT MODIFY BELOW THIS LINE!!!! ************************
    ‘******************************************************************************

    Dim pDMD = 11

    ‘ Set PUPDMD screen number based on PUPDMD Driver Type

    ‘ Screen 1 is used for standard 4:1 ratio LCD DMD (or to be mirrored to a real DMD)
    ‘ Screen 11 is used for 16:9 Full DMD (use PuP Music Screen’s default position and size for reference)

    If (PuPDMDDriverType=0 or PuPDMDDriverType=1) then pDMD=1
    If (PuPDMDDriverType=2) then pDMD=11

    Const pTopper=0
    Const pBackglass=2
    Const pPlayfield=3
    Const pMusic=4
    Const pMusic2=5
    Const pCallouts=6
    Const pBackglass2=7
    Const pTopper2=8
    Const pPopUP=9
    Const pPopUP2=10

    ‘pages
    Const pDMDBlank=0
    Const pScores=1
    Const pBigLine=2
    Const pThreeLines=3
    Const pTwoLines=4
    Const pTargetLetters=5

    ‘dmdType
    Const pDMDTypeLCD=0
    Const pDMDTypeReal=1
    Const pDMDTypeFULL=2

    Dim PuPlayer
    Dim PUPDMDObject ‘for realtime mirroring.
    Dim pDMDlastchk: pDMDLastchk= -1 ‘performance of updates
    Dim pDMDCurPage: pDMDCurPage= 0 ‘default page is empty.

    ‘************* starts PUPDMD. Must be called AFTER any PuP-Pack has been INIT’d *************

    Sub PUPDMD_Start
    if usePUPDMD=false or PUPStatus=false then exit sub

    if (PuPDMDDriverType=pDMDTypeReal) and (useRealDMDScale=1) Then
    PuPlayer.setScreenEx pDMD,0,0,128,32,0 ‘if hardware set the dmd to 128,32
    End if

    PuPlayer.LabelInit pDMD

    if PuPDMDDriverType=pDMDTypeReal then
    Set PUPDMDObject = CreateObject(“PUPDMDControl.DMD”)
    PUPDMDObject.DMDOpen
    PUPDMDObject.DMDPuPMirror
    PUPDMDObject.DMDPuPTextMirror
    PuPlayer.SendMSG “{ “”mt””:301, “”SN””: 1, “”FN””:33 }” ‘set pupdmd for mirror and hide behind other pups
    PuPlayer.SendMSG “{ “”mt””:301, “”SN””: 1, “”FN””:32, “”FQ””:3 }” ‘set no antialias on font render if real
    End if

    pSetPageLayouts
    pDMDSetPage(pDMDBlank) ‘set blank text overlay page.
    pDMD_StartUP ‘firsttime running for like an startup video..
    End Sub

    ‘**********************************************************************************************

    ‘PinUP Player DMD Helper Functions

    Sub pDMDLabelHide(labName)
    if usePUPDMD=false or PUPStatus=false then exit sub
    PuPlayer.LabelSet pDMD,labName,””,0,””
    end sub

    Sub pDMDScroll(msgText,timeSec,pAniTime,pAniOpt1,pAniOpt2,mColor)
    if usePUPDMD=false or PUPStatus=false then exit sub
    if pAniOpt1=0 then pXPS=0:pXPE=0 ‘no scroll left / right
    if pAniOpt1=10 then pXPS=1:pXPE=0 ‘scroll left and stop
    if pAniOpt1=11 then pXPS=1:pXPE=-1 ‘scroll left
    if pAniOpt1=-10 then pXPS=-1:pXPE=0 ‘scroll right and stop
    if pAniOpt1=-11 then pXPS=-1:pXPE=1 ‘scroll right
    if pAniOpt2=0 then pYPS=0:pYPE=0 ‘no scroll up / down
    if pAniOpt2=10 then pYPS=1:pYPE=0 ‘scroll up and stop
    if pAniOpt2=11 then pYPS=1:pYPE=-1 ‘scroll up
    if pAniOpt2=-10 then pYPS=-1:pYPE=0 ‘scroll down and stop
    if pAniOpt2=-11 then pYPS=-1:pYPE=1 ‘scroll down
    PuPlayer.LabelShowPage pDMD,16,timeSec,””
    PuPlayer.LabelSet pDMD,”Scroll”,msgText,0,”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end sub

    Sub pDMDScoreScroll(msgText,timeSec,pAniTime,pAniOpt1,pAniOpt2,mColor)
    if usePUPDMD=false or PUPStatus=false then exit sub
    if pAniOpt1=0 then pXPS=0:pXPE=0 ‘no scroll left / right
    if pAniOpt1=10 then pXPS=1:pXPE=0 ‘scroll left and stop
    if pAniOpt1=11 then pXPS=1:pXPE=-1 ‘scroll left
    if pAniOpt1=-10 then pXPS=-1:pXPE=0 ‘scroll right and stop
    if pAniOpt1=-11 then pXPS=-1:pXPE=1 ‘scroll right
    if pAniOpt2=0 then pYPS=0:pYPE=0 ‘no scroll up / down
    if pAniOpt2=10 then pYPS=1:pYPE=0 ‘scroll up and stop
    if pAniOpt2=11 then pYPS=1:pYPE=-1 ‘scroll up
    if pAniOpt2=-10 then pYPS=-1:pYPE=0 ‘scroll down and stop
    if pAniOpt2=-11 then pYPS=-1:pYPE=1 ‘scroll down
    PuPlayer.LabelShowPage pDMD,1,timeSec,””
    PuPlayer.LabelSet pDMD,”TopLeft”,msgText,0,”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end Sub

    Sub pDMDFlash(msgText,timeSec,pAniTime,pAniOpt1,pAniOpt2,mColor)
    if usePUPDMD=false or PUPStatus=false then exit sub
    PuPlayer.LabelShowPage pDMD,1,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash”,msgText,0,”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:”& (timeSec*1000) &”,’fc’:” & mColor & “}”
    end Sub

    Sub pDMDZoom(msgText,timeSec,pAniTime,pAniOpt1,pAniOpt2,mColor)
    if usePUPDMD=false or PUPStatus=false then exit sub
    if pAniTime=0 or pAniTime=-1 then pAniTime = 5
    if pAniOpt1=0 or pAniOpt1=-1 then pAniOpt1 = 0
    if pAniOpt2=0 or pAniOpt2=-1 then pAniOpt2 = 50
    PuPlayer.LabelShowPage pDMD,2,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash”,msgText,0,”{‘mt’:1,’at’:3,’hstart’:” & (pAniOpt1*pDMD_ZoomScale) & “,’hend’:” & (pAniOpt2*pDMD_ZoomScale) & “,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end sub

    Sub pDMDZoomAlt(msgText,timeSec,pAniTime,pAniOpt1,pAniOpt2,mColor)
    if usePUPDMD=false or PUPStatus=false then exit sub
    if pAniTime=0 or pAniTime=-1 then pAniTime = 5
    if pAniOpt1=0 or pAniOpt1=-1 then pAniOpt1 = 0
    if pAniOpt2=0 or pAniOpt2=-1 then pAniOpt2 = 50
    PuPlayer.LabelShowPage pDMD,13,timeSec,””
    PuPlayer.LabelSet pDMD,”SplashAlt”,msgText,0,”{‘mt’:1,’at’:3,’hstart’:” & (pAniOpt1*pDMD_ZoomScale) & “,’hend’:” & (pAniOpt2*pDMD_ZoomScale) & “,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end sub

    ‘this function is when you want to hi-lite spelled words. Like B O N U S but have O S hilited as already hit markers… see example.

    Sub pDMDTargetLettersInfo(msgInfo,msgText,msgText2,timeSec,mColor) ‘msgInfo = ‘0211’ 0= layer 1, 1=layer 2, 2=top layer3.
    if usePUPDMD=false or PUPStatus=false then exit sub
    PuPlayer.LabelShowPage pDMD,5,timeSec,”” ‘show page 5
    Dim backText
    Dim middleText
    Dim flashText
    Dim curChar
    Dim i
    Dim offchars:offchars=0
    Dim spaces:spaces=” ” ‘set this to 1 or more depends on font space width. only works with certain fonts
    ‘if using a fixed font width then set spaces to just one space.

    For i=1 To Len(msgInfo)
    curChar=”” & Mid(msgInfo,i,1)
    if curChar=”0″ Then
    backText=backText & Mid(msgText,i,1)
    middleText=middleText & spaces
    flashText=flashText & spaces
    offchars=offchars+1
    End If
    if curChar=”1″ Then
    backText=backText & spaces
    middleText=middleText & Mid(msgText,i,1)
    flashText=flashText & spaces
    End If
    if curChar=”2″ Then
    backText=backText & spaces
    middleText=middleText & spaces
    flashText=flashText & Mid(msgText,i,1)
    End If
    Next

    if offchars=0 Then ‘all litup!… flash entire string
    backText=””
    middleText=””
    FlashText=msgText
    end if

    Dim vis1:vis1=1
    Dim vis2:vis2=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0

    PuPlayer.LabelSet pDMD,”TargetBackInfo”,backText ,1,””
    PuPlayer.LabelSet pDMD,”TargetMiddleInfo”,middleText,1,””
    PuPlayer.LabelSet pDMD,”TargetEffectInfo”,flashText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”TargetInfo”,msgText2,vis2,pLine2Ani

    end Sub

    Sub pDMDTargetLetters(msgInfo,msgText,timeSec,mColor) ‘msgInfo = ‘0211’ 0= layer 1, 1=layer 2, 2=top layer3.
    if usePUPDMD=false or PUPStatus=false then exit sub
    PuPlayer.LabelShowPage pDMD,5,timeSec,”” ‘show page 5
    Dim backText
    Dim middleText
    Dim flashText
    Dim curChar
    Dim i
    Dim offchars:offchars=0
    Dim spaces:spaces=” ” ‘set this to 1 or more depends on font space width. only works with certain fonts
    ‘if using a fixed font width then set spaces to just one space.

    For i=1 To Len(msgInfo)
    curChar=”” & Mid(msgInfo,i,1)
    if curChar=”0″ Then
    backText=backText & Mid(msgText,i,1)
    middleText=middleText & spaces
    flashText=flashText & spaces
    offchars=offchars+1
    End If
    if curChar=”1″ Then
    backText=backText & spaces
    middleText=middleText & Mid(msgText,i,1)
    flashText=flashText & spaces
    End If
    if curChar=”2″ Then
    backText=backText & spaces
    middleText=middleText & spaces
    flashText=flashText & Mid(msgText,i,1)
    End If
    Next

    if offchars=0 Then ‘all litup!… flash entire string
    backText=””
    middleText=””
    FlashText=msgText
    end if

    PuPlayer.LabelSet pDMD,”TargetBack” ,backText ,1,””
    PuPlayer.LabelSet pDMD,”TargetMiddle”,middleText,1,””
    PuPlayer.LabelSet pDMD,”TargetEffect” ,flashText ,0,pLine1Ani

    end Sub

    Sub pDMDShowBig(msgText,timeSec, mColor)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    if pLine1Ani<>”” Then vis1=0
    PuPlayer.LabelShowPage pDMD,2,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash”,msgText,vis1,pLine1Ani
    end sub

    Sub pDMDShowLines3(msgText,msgText2,msgText3,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    Dim vis3:vis3=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    if pLine3Ani<>”” Then vis3=0
    PuPlayer.LabelShowPage pDMD,3,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash3a”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash3b”,msgText2,vis2,pLine2Ani
    PuPlayer.LabelSet pDMD,”Splash3c”,msgText3,vis3,pLine3Ani
    end Sub

    Sub pDMDShowLines2(msgText,msgText2,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    PuPlayer.LabelShowPage pDMD,4,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash4a”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash4b”,msgText2,vis2,pLine2Ani
    end Sub

    Sub pDMDShowCounter(msgText,msgText2,msgText3,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    Dim vis3:vis3=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    if pLine3Ani<>”” Then vis3=0
    PuPlayer.LabelShowPage pDMD,6,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash6a”,msgText,vis1, pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash6b”,msgText2,vis2,pLine2Ani
    PuPlayer.LabelSet pDMD,”Splash6c”,msgText3,vis3,pLine3Ani
    end Sub

    Sub pDMDShowHS(msgText,msgText2,msgText3,timeSec) ‘High Score
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    Dim vis3:vis3=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    if pLine3Ani<>”” Then vis3=0
    PuPlayer.LabelShowPage pDMD,7,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash7a”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash7b”,msgText2,vis2,pLine2Ani
    PuPlayer.LabelSet pDMD,”Splash7c”,msgText3,vis3,pLine3Ani
    end Sub

    Sub pDMD3LinesTopBig(msgText,msgText2,msgText3,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    Dim vis3:vis3=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    if pLine3Ani<>”” Then vis3=0
    PuPlayer.LabelShowPage pDMD,8,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash8a”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash8b”,msgText2,vis2,pLine2Ani
    PuPlayer.LabelSet pDMD,”Splash8c”,msgText3,vis3,pLine3Ani
    end Sub

    Sub pDMD3LinesMidBig(msgText,msgText2,msgText3,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    Dim vis3:vis3=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    if pLine3Ani<>”” Then vis3=0
    PuPlayer.LabelShowPage pDMD,9,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash9a”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash9b”,msgText2,vis2,pLine2Ani
    PuPlayer.LabelSet pDMD,”Splash9c”,msgText3,vis3,pLine3Ani
    end Sub

    Sub pDMD3LinesBottomBig(msgText,msgText2,msgText3,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    Dim vis3:vis3=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    if pLine3Ani<>”” Then vis3=0
    PuPlayer.LabelShowPage pDMD,10,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash10a”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash10b”,msgText2,vis2,pLine2Ani
    PuPlayer.LabelSet pDMD,”Splash10c”,msgText3,vis3,pLine3Ani
    end Sub

    Sub pDMD2LinesTopBig(msgText,msgText2,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    PuPlayer.LabelShowPage pDMD,11,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash11a”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash11b”,msgText2,vis2,pLine2Ani
    end Sub

    Sub pDMD2LinesBottomBig(msgText,msgText2,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    PuPlayer.LabelShowPage pDMD,12,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash12a”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash12b”,msgText2,vis2,pLine2Ani
    end Sub

    Sub pDMDShowLines3Alt(msgText,msgText2,msgText3,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    Dim vis3:vis3=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    if pLine3Ani<>”” Then vis3=0
    PuPlayer.LabelShowPage pDMD,15,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash3Alta”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash3Altb”,msgText2,vis2,pLine2Ani
    PuPlayer.LabelSet pDMD,”Splash3Altc”,msgText3,vis3,pLine3Ani
    end Sub

    Sub pDMDShowLines2Alt(msgText,msgText2,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    Dim vis2:vis2=1
    if pLine1Ani<>”” Then vis1=0
    if pLine2Ani<>”” Then vis2=0
    PuPlayer.LabelShowPage pDMD,14,timeSec,””
    PuPlayer.LabelSet pDMD,”Splash2Alta”,msgText,vis1,pLine1Ani
    PuPlayer.LabelSet pDMD,”Splash2Altb”,msgText2,vis2,pLine2Ani
    end Sub

    Sub pDMDSplashAlt(msgText,timeSec)
    if usePUPDMD=false or PUPStatus=false then exit sub
    Dim vis1:vis1=1
    if pLine1Ani<>”” Then vis1=0
    PuPlayer.LabelShowPage pDMD,13,timeSec,””
    PuPlayer.LabelSet pDMD,”SplashAlt”,msgText,vis1,pLine1Ani
    end Sub

    Sub pDMDSetPage(pagenum)
    if usePUPDMD=false or PUPStatus=false then exit sub
    PuPlayer.LabelShowPage pDMD,pagenum,0,”” ‘set page to blank 0 page if want off
    PDMDCurPage=pagenum
    end Sub

    Sub pHideOverlayText(pDisp)
    if usePUPDMD=false or PUPStatus=false then exit sub
    PuPlayer.SendMSG “{ “”mt””:301, “”SN””: “& pDisp &”, “”FN””: 34 }” ‘hideoverlay text during next videoplay on DMD auto return
    end Sub

    Sub pDMDSetBackFrame(fname)
    if usePUPDMD=false or PUPStatus=false then exit sub
    if useDMDVideos = false then exit sub
    PuPlayer.playlistplayex pDMD,”PUPFrames”,fname,0,1
    end Sub

    Sub pDMDStartBackLoop(fPlayList,fname)
    if usePUPDMD=false or PUPStatus=false then exit sub
    if useDMDVideos = false then exit sub
    PuPlayer.playlistplayex pDMD,fPlayList,fname,0,1
    PuPlayer.SetBackGround pDMD,1
    end Sub

    Sub pDMDStopBackLoop
    if usePUPDMD=false or PUPStatus=false then exit sub
    if useDMDVideos = false then exit sub
    PuPlayer.SetBackGround pDMD,0
    PuPlayer.playstop pDMD
    end Sub

    Sub pDMDSetLoop(fPlayList,fname)
    if usePUPDMD=false or PUPStatus=false then exit sub
    if useDMDVideos = false then exit sub
    PuPlayer.playlistplayex pDMD,fPlayList,fname,0,1
    PuPlayer.SetLoop pDMD,1
    End Sub

    Sub pDMDStopLoop
    if usePUPDMD=false or PUPStatus=false then exit sub
    if useDMDVideos = false then exit sub
    PuPlayer.SetLoop pDMD,0
    PuPlayer.playstop pDMD
    end Sub

    Dim pNumLines

    ‘Theme Colors for Text (not used currentlty), use the |<colornum> in text labels for colouring.
    Dim SpecialInfo
    Dim pLine1Color : pLine1Color=8454143
    Dim pLine2Color : pLine2Color=8454143
    Dim pLine3Color : pLine3Color=8454143
    Dim curLine1Color: curLine1Color=pLine1Color ‘can change later
    Dim curLine2Color: curLine2Color=pLine2Color ‘can change later
    Dim curLine3Color: curLine3Color=pLine3Color ‘can change later

    Dim pDMDCurPriority: pDMDCurPriority =-1
    Dim pDMDDefVolume: pDMDDefVolume = 0 ‘default no audio on pDMD

    Dim pLine1
    Dim pLine2
    Dim pLine3
    Dim pLine1Ani
    Dim pLine2Ani
    Dim pLine3Ani
    Dim pAni
    Dim pAniTime
    Dim pAniOpt1
    Dim pAniOpt2
    Dim pXPS
    Dim pXPE
    Dim pYPS
    Dim pYPE
    Dim pDMD_FontScale: pDMD_FontScale=1
    Dim pDMD_ZoomScale: pDMD_ZoomScale=1

    Dim PriorityReset:PriorityReset=-1
    DIM pDMDVideoPlaying: pDMDVideoPlaying=false

    ‘********************************************* pupDMDDisplay *******************************************
    ‘************************* see docs for examples *************************
    ‘**************************************** DONT TOUCH THIS CODE *************************************

    Sub pupDMDDisplay(pEventID,pText,VideoName,TimeSec,pAni,pAniTime,pAniOpt1,pAniOpt2,pPriority)

    if usePUPDMD=false or PUPStatus=false then exit sub

    ‘ pEventID = reference if applicable, or specific “special” functions
    ‘ pText = “text to show” separate lines by ^ in same string
    ‘ VideoName: “gameover.mp4” will play in background, “@gameover.mp4” will play and disable text during gameplay
    ‘ TimeSec: how long to display msg in Seconds
    ‘ animation effect: 0=none, 1xxx=Flasher, 2xxx=Scroll, 3xxx=Zoom
    ‘ animation effect time: duration of the effect for flasher, scroll and zoom
    ‘ animation option 1: used for flasher, scroll and zoom settings
    ‘ animation option 2: used for flasher, scroll and zoom settings
    ‘ priority: same number or higher will override current action

    ‘ can specify color of each line. “sometext|12345” will set label to “sometext” and set color to 12345

    DIM curPos
    if pDMDCurPriority>pPriority then Exit Sub ‘if something is being displayed that we don’t want interrupted. same level will interrupt.
    pDMDCurPriority=pPriority
    if timeSec=0 then timeSec=1 ‘don’t allow default page by accident

    pLine1=””
    pLine2=””
    pLine3=””
    pLine4=””
    pLine1Ani=””
    pLine2Ani=””
    pLine3Ani=””

    ‘******** FLASHER OPTIONS ********

    if pAni=1 or pAni=1100 or pAni=1010 or pAni=1001 or pAni=1110 or pAni=1101 or pAni=1011 or pAni=1111 then
    if pAniTime=0 or pAniTime=-1 then pAniTime=150 ‘default flash animation time
    end if

    if pAni=1 Then ‘all lines flashed
    pLine1Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    pLine2Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    pLine3Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    end If

    if pAni=1100 Then ‘only line 1 flashed
    pLine1Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    end If

    if pAni=1010 Then ‘only line 2 flashed
    pLine2Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    end If

    if pAni=1001 Then ‘only line 3 flashed
    pLine3Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    end If

    if pAni=1110 Then ‘lines 1 and 2 flashed
    pLine1Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    pLine2Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    end If

    if pAni=1101 Then ‘lines 1 and 3 flashed
    pLine1Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    pLine3Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    end If

    if pAni=1011 Then ‘lines 2 and 3 flashed
    pLine2Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    pLine3Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    end If

    if pAni=1111 Then ‘all 3 lines flashed
    pLine1Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    pLine2Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    pLine3Ani=”{‘mt’:1,’at’:1,’fq’:”& pAniTime &”,’len’:” & (timeSec*1000) & “}”
    end If

    ‘******** SCROLL OPTIONS ********

    if pAni=2 or pAni=2200 or pAni=2020 or pAni=2002 or pAni=2220 or pAni=2202 or pAni=2022 or pAni=2222 then
    if usePUPDMD=false or PUPStatus=false then exit sub
    if pAniOpt1=0 then pXPS=0:pXPE=0 ‘no scroll left / right
    if pAniOpt1=10 then pXPS=1:pXPE=0 ‘scroll left and stop
    if pAniOpt1=11 then pXPS=1:pXPE=-1 ‘scroll left
    if pAniOpt1=-10 then pXPS=-1:pXPE=0 ‘scroll right and stop
    if pAniOpt1=-11 then pXPS=-1:pXPE=1 ‘scroll right
    if pAniOpt2=0 then pYPS=0:pYPE=0 ‘no scroll up / down
    if pAniOpt2=10 then pYPS=1:pYPE=0 ‘scroll up and stop
    if pAniOpt2=11 then pYPS=1:pYPE=-1 ‘scroll up
    if pAniOpt2=-10 then pYPS=-1:pYPE=0 ‘scroll down and stop
    if pAniOpt2=-11 then pYPS=-1:pYPE=1 ‘scroll down
    end if

    if pAni=2 Then ‘all lines scrolled
    pLine1Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    pLine2Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    pLine3Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end If

    if pAni=2200 Then ‘only line 1 scrolled
    pLine1Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end If

    if pAni=2020 Then ‘only line 2 scrolled
    pLine2Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end If

    if pAni=2002 Then ‘only line 3 scrolled
    pLine3Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end If

    if pAni=2220 Then ‘lines 1 and 2 scrolled
    pLine1Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    pLine2Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end If

    if pAni=2202 Then ‘lines 1 and 3 scrolled
    pLine1Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    pLine3Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end If

    if pAni=2022 Then ‘lines 2 and 3 scrolled
    pLine2Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    pLine3Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end If

    if pAni=2222 Then ‘all 3 lines scrolled
    pLine1Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    pLine2Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    pLine3Ani=”{‘mt’:1,’at’:2,’xps’:”& pXPS &”,’xpe’:”& pXPE &”,’yps’:”& pYPS &”,’ype’:”& pYPE &”,’len’:” & (timeSec*1000) & “,’mlen’:”& (pAniTime*1000) &”,’tt’:0,’fc’:” & mColor & “}”
    end If

    ‘******** ZOOM OPTIONS ********

    if pAni=3 or pAni=3300 or pAni=3030 or pAni=3003 or pAni=3330 or pAni=3303 or pAni=3033 or pAni=3333 then
    if pAniTime=0 or pAniTime=-1 then pAniTime = 5
    if pAniOpt1=0 or pAniOpt1=-1 then pAniOpt1 = 0
    if pAniOpt2=0 or pAniOpt2=-1 then pAniOpt2 = 50
    end if

    if pAni=3 Then ‘all lines zoomed
    pLine1Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    pLine2Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    pLine3Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end If

    if pAni=3300 Then ‘only line 1 zoomed
    pLine1Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end If

    if pAni=3030 Then ‘only line 2 zoomed
    pLine2Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end If

    if pAni=3003 Then ‘only line 3 zoomed
    pLine3Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end If

    if pAni=3330 Then ‘lines 1 and 2 flashed
    pLine1Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    pLine2Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end If

    if pAni=3303 Then ‘lines 1 and 3 flashed
    pLine1Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    pLine3Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end If

    if pAni=3033 Then ‘lines 2 and 3 flashed
    pLine2Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    pLine3Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end If

    if pAni=3333 Then ‘all 3 lines zoomed
    pLine1Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    pLine2Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    pLine3Ani=”{‘mt’:1,’at’:3,’hstart’:”& (pAniOpt1*pDMD_ZoomScale) &”,’hend’:”& (pAniOpt2*pDMD_ZoomScale) &”,’len’:” & (timeSec*1000) & “,’mlen’:” & (pAniTime*100) & “,’tt’:5,’fc’:” & mColor & “}”
    end If

    ‘ ****************************

    curPos=InStr(pText,”^”) ‘Lets break apart the string if needed
    if curPos>0 Then
    pLine1=Left(pText,curPos-1)
    pText=Right(pText,Len(pText) – curPos)

    curPos=InStr(pText,”^”) ‘Lets break apart the string
    if curPOS>0 Then
    pLine2=Left(pText,curPos-1)
    pText=Right(pText,Len(pText) – curPos)

    curPos=InStr(“^”,pText) ‘Lets break apart the string
    if curPos>0 Then
    pline3=Left(pText,curPos-1)
    Else
    if pText<>”” Then pline3=pText
    End if
    Else
    if pText<>”” Then pLine2=pText
    End if
    Else
    pLine1=pText ‘just one line with no break
    End if

    ‘lets see how many lines to Show
    pNumLines=0
    if pLine1<>”” then pNumLines=pNumlines+1
    if pLine2<>”” then pNumLines=pNumlines+1
    if pLine3<>”” then pNumLines=pNumlines+1

    if (pDMDVideoPlaying) and (VideoName=””) Then
    PuPlayer.playstop pDMD
    pDMDVideoPlaying=False
    End if

    if (VideoName<>””) and (useDMDVideos) Then ‘we are showing a splash video instead of the text.
    If (PuPDMDDriverType=0 or PuPDMDDriverType=1) then PuPlayer.playlistplayex pDMD,”DMDSplash”,VideoName,pDMDDefVolume,pPriority ‘(no text is displayed)
    If (PuPDMDDriverType=2) then PuPlayer.playlistplayex pDMD,”DMD 16×9 Splash”,VideoName,pDMDDefVolume,pPriority ‘(no text is displayed)
    pDMDVideoPlaying=true
    end if ‘if showing a splash video with no text

    if StrComp(pEventID,”shownum”,1)=0 Then ‘shownum
    pDMDShowCounter pLine1,pLine2,pLine3,timeSec
    Elseif StrComp(pEventID,”target”,1)=0 Then ‘target
    pDMDTargetLetters pLine1,pLine2,timeSec,mColor
    Elseif StrComp(pEventID,”targetinfo”,1)=0 Then ‘targetinfo
    pDMDTargetLettersInfo pLine1,pLine2,pline3,timeSec,mColor
    Elseif StrComp(pEventID,”highscore”,1)=0 Then ‘highscore
    pDMDShowHS pLine1,pLine2,pline3,timeSec
    Elseif StrComp(pEventID,”3Lines_TopBig”,1)=0 Then ‘3Lines_TopBig
    pDMD3LinesTopBig pLine1,pLine2,pLine3,timeSec
    Elseif StrComp(pEventID,”3Lines_MidBig”,1)=0 Then ‘3Lines_MidBig
    pDMD3LinesMidBig pLine1,pLine2,pLine3,timeSec
    Elseif StrComp(pEventID,”3Lines_BottomBig”,1)=0 Then ‘3Lines_BottomBig
    pDMD3LinesBottomBig pLine1,pLine2,pLine3,timeSec
    Elseif StrComp(pEventID,”2Lines_TopBig”,1)=0 Then ‘2Lines_TopBig
    pDMD2LinesTopBig pLine1,pLine2,timeSec
    Elseif StrComp(pEventID,”2Lines_BottomBig”,1)=0 Then ‘2Lines_BottomBig
    pDMD2LinesBottomBig pLine1,pLine2,timeSec
    Elseif StrComp(pEventID,”Scroll”,1)=0 Then ‘Scroll
    pDMDScroll pLine1,timeSec,pAniTime,pAniOpt1,pAniOpt2,mcolour
    Elseif StrComp(pEventID,”Zoom”,1)=0 Then ‘Zoom
    pDMDZoom pLine1,timeSec,pAniTime,pAniOpt1,pAniOpt2,mcolour
    Elseif StrComp(pEventID,”ZoomAlt”,1)=0 Then ‘ZoomAlt
    pDMDZoomAlt pLine1,timeSec,pAniTime,pAniOpt1,pAniOpt2,mcolour
    Elseif StrComp(pEventID,”Splash3Alt”,1)=0 Then ‘Splash3Alt
    pDMDShowLines3Alt pLine1,pLine2,pLine3,TimeSec
    Elseif StrComp(pEventID,”Splash2Alt”,1)=0 Then ‘Splash2Alt
    pDMDShowLines2Alt pLine1,pLine2,TimeSec
    Elseif StrComp(pEventID,”SplashAlt”,1)=0 Then ‘Splash1Alt
    pDMDSplashAlt pLine1,timeSec
    Elseif StrComp(pEventID,”Splash3″,1)=0 Then ‘Splash3
    pDMDShowLines3 pLine1,pLine2,pLine3,TimeSec
    Elseif StrComp(pEventID,”Splash2″,1)=0 Then ‘Splash2
    pDMDShowLines2 pLine1,pLine2,TimeSec
    Elseif StrComp(pEventID,”Splash1″,1)=0 Then ‘Splash1
    pDMDShowBig pLine1,timeSec,curLine1Color
    Elseif (pNumLines=3) Then ‘3 lines Default
    pDMDShowLines3 pLine1,pLine2,pLine3,TimeSec
    Elseif (pNumLines=2) Then ‘2 lines Default
    pDMDShowLines2 pLine1,pLine2,TimeSec
    Elseif (pNumLines=1) Then ‘1 line Default
    pDMDShowBig pLine1,timeSec, curLine1Color
    Else
    pDMDShowBig pLine1,timeSec, curLine1Color
    End if

    PriorityReset=TimeSec*1000

    End Sub ‘pupDMDDisplay message

    Sub pupDMDupdate_expired() ‘updates PUPDMD text and scores on Timer
    if usePUPDMD=false or PUPStatus=false then exit sub
    pUpdateScores
    if PriorityReset>0 Then ‘for splashes we need to reset current prioirty on timer
    PriorityReset=PriorityReset-pupDMDUpdate.interval
    if PriorityReset<=0 Then
    pDMDCurPriority=-1
    pDMDVideoPlaying=false
    pDMDUpdateCurrentPage.enabled=true ‘update current page only after a splash
    End if
    End if
    End Sub

    ‘ pDMDUpdateCurrentPage Timer: used to update the active page only after a splash!
    ‘ This is used for pages with flashing effects,etc that don’t work correctly when updated constantly by the pupDMDupdate timer.
    ‘ All PUPDMD tables must have Sub pDMDUpdateCurrentPage_expired

    ‘************************ END OF PUPDMD FRAMEWORK for FP ************************
    ‘******************** DO NOT MODIFY CODE ABOVE THIS LINE!!! *********************
    ‘********************************************************************************

     

     

    sorry again if its stupid  what i am asking andthanks for your time, but i cant understand WHERE i have to put my options, i have 3 scr cabinet , with lcd scr for dmd, :-(

    #173271
    outhere
    Moderator
    @outhere
    MemberContributorvipModerator

    Go here for more Help – https://vpinball.com/forums/topic/pinevent-dof-mx-pup-ssf-pupdmd-for-future-pinball/



    @mavritanos
    – Set this to match setup  — Either 0 for auto detect or one of the PinEvent_Profiles   — PuPDMDDriverType =
    In the puppack run the bat file That matches your set up

    Change the settings below To match set up

    ‘ Set what will be used for DOF (Direct Output Framework) mechanical feedback for pinball cabinets

    useFlipper_DOF = true
    useSlingshot_DOF = true
    useBumper_DOF = true
    useSolenoid_DOF = true
    useDropTarget_DOF = true
    useDropTargetReset_DOF = true
    useTarget_DOF = true
    useKnocker_DOF = true
    useChime_DOF = true
    useBell_DOF = true
    useShaker_DOF = true
    useGear_DOF = true
    useFan_DOF = true

    ‘############### SSF Settings ###############

    ‘ Set what will be used for PUP SSF (surround sound feedback)

    useFlipper_SSF = true
    useSlingshot_SSF = true
    useBumper_SSF = true
    useSolenoid_SSF = true
    useDropTarget_SSF = true
    useDropTargetReset_SSF = true
    useTarget_SSF = true
    useKnocker_SSF = true
    useChime_SSF = true
    useBell_SSF = true
    useShaker_SSF = true
    useGear_SSF = true
    useFan_SSF = true

    #173275
    mavritanos
    Participant
    @mavritanos

    a 15inch monitor 1280×1024 but i use a part of it to  show the dmd

     

    #173277
    mavritanos
    Participant
    @mavritanos

    93823064_1331473923715825_570882392944803840_n

    #173282
    outhere
    Moderator
    @outhere
    MemberContributorvipModerator

    I would say you need to use the 4:1 ratio since I’m assuming you only see part of your DMD screen

Viewing 20 posts - 21 through 40 (of 172 total)
  • You must be logged in to reply to this topic.

©2021 VPinBall.com

Log in with your credentials

or    

Forgot your details?

Create Account

The Vpinball app

FREE
VIEW