PinEvent - BAM iCOM - RetroFlair: BAM Edition
(only for those who already have Future Pinball and BAM working!)
New update! Nov 24-2019
RetroFlair: BAM Edition 1.21
This can be used on ALL setups. Desktop, cabinet, vr, dof, pup, pup-ssf, pupdmd, real dmd (colour or mono)... or no pup and dof at all. Any combination!
I've been working away at my new PinEvent standard for Future Pinball (with some assistance from Nailbuster).
This is what will manage and control DOF, MX Leds, PuP, PUP-SSF, PUPDMD (mainly for cabinet users) as well as normal FP playsounds used for mechanical events (such as flippers, bumpers, ball drops, drain ,etc). So my table updates now and in the future will be using this.
The idea is that it "should" allow for anyone to be able to use the table...even desktop users if they don't have dof, pup installed at all.
You no longer need DOFLinx to use DOF, PUP or SSF with FP tables that have PinEvent support.
If you wish to use DOF, PUP, SSF with a table that has PinEvent support... you no longer require DOFLinx, or B2S server. (Just DOF or PUP installed and setup, the iCOM BAM plug-in, and PinEvent vbs files).
This is because the iCOM plug-in for BAM (made by Nailbuster and Ravarcade) now allows Future Pinball to directly use DOF and PUP. (you could also use UltraDMD and VPinMAME, B2S Server, etc).
PinEvent Profiles and Settings:
PinEvent will allow for you to use multiple Profiles for different setups such as Autodetect, Desktop, Cabinet, VR, or Custom. This could allow for multiple versions of the table to be used (one for VR, one for desktop, one for cabinets, etc) by only changing one option in the table script.
Or you can use the Autodetect feature (the default) which will automatically apply a PinEvent profile based on what mode FP is running in (Desktop, Cabinet, VR).
Just configure ALL the PinEvent profiles, PUPDMD settings, and Nightmode settings in PinEvent_Settings.vbs for your setup. That's it!
(you can have custom settings per table if needed)
NOTE: Cabinet users with a second screen enabled should have BAM's "Force Arcade Mode" enabled and FP's "Arcade Mode" enabled.
To do this, first disable "Arcade Mode" in FP's Video and Render Settings. Then run a table. Goto BAM's AddOn menu and enable "Force Arcade Mode" (since this is now accessible). Exit the Bam menu, and then exit the table. Now re-enable "Arcade Mode" in FP's Video and Rendering Settings.
If you don't have FP's Arcade Mode enabled... the videos, some timers and other features while run way too fast!
If you don't have BAM's "Force Arcade Mode" enabled, then some elements on some tables may not appear correctly in a cabinet view.
PinEvent, BAM iCOM, and RetroFlair-Bam Edition files:
Here is the link to my current 1.21 update to the RetroFlair - BAM Edition table (with new BAM features and PinEvent support) and the other needed files for PinEvent:
Please download the Pup-Pack zip files separately, as Google Drive sometimes will choke by trying to zip up everything before downloading.
Installing the files:
iCOM.dll (inside BAM\plugins)
This plug-in is what will allow for anything such as DOF, PUP, VPinMAME, etc to be usable with FP (if only we had this YEARS ago!)
- this goes into "BAM\plugins" folder, You need to be sure it's enabled in BAM plug-ins menu.
These are the PinEvent files. Copy these files to your FuturePinball\Scripts folder.
desktop users with no DOF, or PUP installed don't need to make any changes to these files...but you still require them to play the table!
DOF or PUP users, MUST edit the PinEvent_Settings.vbs and make the changes noted in there for your setup in regards to DOF and PUP, PUP_SSF, PUPDMD and Nightmode.
The content in this folder is only for those who have Pinup Player installed, and want to use PUP-SSF or PUPDMD (which can also be a video pup-pack on your Backglass or Middle 16:9 screen).
RF BAM (FULL DMD on BG - PupPack).zip (this is for those who want to use the PUPDMD on their Backglass or their 16:9 middle screen)
RF BAM (LCD DMD - PupPack).zip (this is for those with an LCD DMD or a Real DMD)
Extract the "FP_RETROFLAIR_BAM" folder from your zip file of choice to your "PUPVideos" folder.
This has a BAM cfg for the table all ready to go for proper setup for POV, backbox, etc. Copy to your BAM\CFG folder. Note, if you change the name of the table file, then this must also be changed to match.
This is needed for smoke's Ball rolling function used with FP's normal sound.
Copy these files to your FuturePinball\Scripts folder.
You need the latest update to BAM (1.4-267 when this was posted) for both PinEvent and RetroLair - BAM to work! Get it here:
This is for surround sound feedback (SSF). When used, this will play ALL the mechanical sounds for flippers, bumpers, slings, ball drops, etc on your 5.1 or 7.1 setup. In 7.1, it should only play on the side and rear surround speakers (this is how it works in a cabinet, with the front speakers used only for game audio). This will only work in surround with discrete analogue audio outputs on a sound card, not a digital audio output! (unless your audio card encodes analogue 5.1 to DD or DTS in real-time like mine does)
If you have 2 or more audio cards, only your main (primary) audio card in windows will work with PUP-SSF!
If you only have a 2 speaker setup, you can still use SSF, but there is no benefit to this.
PUP SSF 3D positional Ball Rolling in Future Pinball!
Pinup Player now supports 3D positional Ball Rolling with PUP SSF! This requires Pinup Player 1.4.4 or higher.
The latest update for PuP can be found here:
DOF for the table is now on DOF Config Tool! Update your DOF Configs!
DOFLinx is NOT to be enabled while using PinEvent tables!
You may end up having DOFLinx and normal DOF both triggering your hardware at the same time!
V7.0 of DOFLinx now has a new feature you can use to HOLD / Pause DOFLinx BEFORE you launch a PinEvent table (you don't want FP being detected by DOFLinx). The command is:
You can add that command to your front-end's launch script. This is an example for Pinup Popper:
`cd /d c:\directoutput`
`if "[custom3]"=="NO_DOFLINX" (DOFLinxMsg HOLD_ACTIVATION=1)`
`START "" "[DIREMU]\FutureDMD.exe" table="[GAMENAME]" close=1`
`START "" "[STARTDIR]Launch\VPXSTARTER.exe" 10 5 60 "BSP Software*"`
`START "" "[DIREMU]\FPLoader.exe" /open "[GAMEFULLNAME]" /play /exit /arcaderender /STAYINRAM`
Then you add a command to your Close Script to allow DOFLinx to resume its normal operation. Here is an example for Popper:
`"[STARTDIR]LAUNCH\PUPCLOSER.EXE" WINTIT "Future Pinball" 2 1`
`cd /d c:\directoutput`
Then in Popper's Game Manager, just add NO_DOFLINX to Custom Var #3 for any PinEvent tables.
This means that Popper will HOLD / PAUSE DOFLinx only for FP tables that have NO_DOFLINX in the Custom Var #3 field.
To use PUPDMD, you need to use the correct PuP-Pack for your setup.
You also must set what type of PUPDMD you want to use.
The DEFAULT settings for this can be found in the PUPDMD settings in PinEvent_Settings.vbs.
`'/////// PinEvent - PUPDMD Default Settings ////////`
`PuPDMDDriverType = 0 ' 0 = LCD DMD (4:1), 1 = Real DMD, 2 = FULL DMD (16:9 fullsize)`
`useRealDMDScale = 0 ' 0 or 1 for RealDMD scaling. (for Real DMDs only. If enabled, useDMDVideos should be set to False!)`
`useDMDVideos = true ' true or false to use DMD splash videos. (false may be preferred for real DMDs that are monochrome)`
However... you can override those same settings in the table script, in the section labelled:
'******* PinEvent - Custom Settings for this table *******
This section is there in case a specific table may use a different PUPDMD (or other settings) compared to what your Default / Profile settings are set to.
FULL DMD (16:9)
If you are using 16:9 Full DMD, then you need to set PuPDMDDriverType = 2. If you want to display it on a specific screen, then you need to edit the Pup-Pack with the Pup-Pack Editor, and change the DMD Screen's CustomPos to the screen you are using (such as a 16:9 Stern style middle screen on the backbox). Example:
2,0,0,100,100 This will display the Full DMD using the Backglass screen's position and size
4,0,0,100,100 This will display the Full DMD using screen 4's position and size
LCD DMD (4:1)
If you are using an LCD screen as your 4:1 DMD screen, then you set PuPDMDDriverType = 1
If you are using a real DMD, you need to have PUPDMDControl setup and working. More info can be found here:
Then you need to set PuPDMDDriverType = 1
If you are NOT using any type of PUPDMD, then you MUST edit the PuP-Pack using the PUP-Pack Editor, and set the DMD Screen to OFF!
After those files are installed and setup, then use the table like normal...and all should work! (I hope)
The table script has user options at the top.
Does the COM Extensions plug-in not show up in BAM plug-ins menu?
Go here and install EVERY version (x86 and x64, each year as well) of Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019.:
You may need to update your .Net FrameWork:
Then reboot, and check your plug-ins again.
I have ball stutter or non smooth gameplay...
Go to BAM´s “config / addon” Menu ingame. At the bottom set the “Framerate Limiter Mode” from “auto” to “off” and have fun with an always smooth gameplay.
(thanks to kds70 and Nailbuster for finding that this solved their stuttering problem)
I do find however...that if you are running in forced Borderless Windowed mode, and are using PUPDMD, that this can result in stutters, and I don't know why. If run in Fullscreen, I have never had any issues with PUPDMD and stutters.
RetroFlair - BAM Edition v1.21 (beta, not final)
This table requires:
- BAM 1.4-264 or higher!
- iCOM.dll BAM plug-in file must be installed in "BAM\Plug-ins" folder and enabled in the BAM Plug-ins menu!
- ZBRrollingballsoundslib.vbs in your "FuturePinball\Scripts" folder.
- PinEvent_Settings.vbs, PinEvent_PUPDMD.vbs, PinEvent_Control.vbs in your "FuturePinball\Scripts" folder.
- PinEvent Profiles and PUPDMD settings configured for your setup (in PinEvent_Settings.vbs)
- USER's BAM OPTIONS can be changed (goto the USER's BAM OPTIONS section)
- if using PUP SSF or PUPDMD: Pinup Player 1.4.4 or higher installed
'**** TerryRed BAM Edition Mod V1.21 *****
' added new BAM dynamic physics
' adjusted flipper, bumper settings in editor for strength and elasticity (in editor)
' adjusted table slope (in editor)
' added new adjustable BAM lighting for playfield inserts
' added new adjustable BAM lighting for GI ("detached" nanoflashers)
' added control to turn off GI lighting when ramp flashers go off, and when launching ball
' added new BAM shadowmaps
' added new BAM RGB flashers (on the slingshots) that change colour to match the game's progress
' added "detached" coloured flashers for launch ball rainbow light sequence
' changed bumpers to coloured ghost matching the ghost toys
' changed ghost toys to only move when their matching ghost bumper is hit
' added invisible guide on left orbit so ball movement was smooth coming down
' added fpMusicVolume variable to allow adjusting the volume of the music played
' added smoke's ZBRrollingballsoundslib (FP ball rolling function)
' added full PinEvent support for DOF MX PuP-SSF
' added new PUP SSF 3D positional Ball Rolling support for 5.1 / 7.1 sound setups
' added new Pac-Man mode! (eat pills, avoid ghosts to eat Power Pill, then hit Bumpers to eat ghosts)
' added Custom Balls for Default, and Pac-Man
' added new Speedball mode (hit all Opponent targets, then avoid random Opponent and get the Power Ball)
' added new Outrun mode (avoid cars, hit Checkpoint ramp 3 times to change Outrun tunes to complete the mode)
' left Sign is now larger and changes its marquee to match each song played
' extra voice overs for ball drain
' fixed up the DMD text to be cleaner.
' fixed up some playfield geometry
' fixed PacMan ball and Sign Textures not showing in Cabinet / Arcade mode
' added full PinEvent PUPDMD support for 4:1 LCD DMD, Real DMD, and 16:9 Full DMD
PLEASE give me feedback! Does it work? Does it not work? (give specifics like errors,etc) What setup are you using? (Desktop, cabinet, dof, pup ssf ,etc)