So I was playing around with Pinball FX2 (Steam version to work with PinballX) and thought this lacks some pizzazz. In a fit of madness I decided to write some code to make the flippers fire, some fixed button LEDs come on and RGB under cabinet have some life. Now that I have it working, I thought I'd share with anyone interested.
Edit: Since I started this little project its grown a lot. There is now logic to provide flipper force feedback for FP and VP tables that have not been DOF'ed using simple flag files, you can send messages form other batch, VB Script or applications to trigger colours and outputs, plus a lot more.
Here's the deal:
- DOF R3 (beta) framework only
- LEDWiz (upto 9 boards) + SainSmart relay board + PacLed64 (upto 4 boards) + KL25Z
- Pinball FX2 Steam version
- Flipper keys can be assigned
- Multiple fixed outputs can be turned on, ie button LEDs, relays, toys
- multiple RGB outputs can be setup
- RGB can be set to various patterns and triggers
- Subsets of colours can be set for differenet FX2 games
- Uses standard DOF colours
- Can be used for more than just Pinball FX2, now monitoring multiple processes
- Set keys to trigger output devices
- Set keys to trigger new RGB colours
- Messages can be sent from batch and script files to trigger outputs and RGBs
The idea is that the program runs (hidden) all the time. It consumes SFA resources. It "comes to life" when a "Pinball FX2" (or other defined processes, ie Pinball Arcade, FP, VP) process is active. It goes back to "sleep" when the PInball FX2 (or other) process goes away. When it goes back to sleep it turns off all DOF outputs. As such, there is no need to start it up via your menu and stop it on exit - you could, but don't need to. Its designed to have a shortcut placed in the Startup folder.
I'm running it with PinballX and multiple versions of VP. It happily coexists.
What to do to try this ....
- Ensure you have DOF R3 installed and running
- download the zip
- Place the exe and ini files in your DirectOutput folder - that's the one with DirectOutput.dll, LedWiz.dll and ftd2xx.dll in it
- read the guide
- Edit the DOFFX2.ini file for your setup
- Place a shortcut to DOFFX2.exe in your startup list
- reboot
- have fun
- report back how it works for you
You can run it in DEBUG mode by setting the DEBUG line in the ini file to 1, DEBUG=1. This will make the window visible and allow you to see what's happening, as well as fake a valid running process for testing purposes. If you press the Debug off button the window hides and you can keep running. The program can run in DEBUG mode and operate normally - you will just be able to see the window and get a very big DOFFX2.log file. If you run in DEBUG then stop, feel free to just delete the DOFFX2.log file.
WARNING - I feel obliged to say, while all care has been taken, and I'm running this myself, any risk is yours. I've added maximum timers to stop contactors / solenoids accidentally being left on (not that this should be needed) - just saying.
The ZIP is here ... (Link removed as V3 is released as DOFLinx)
Edited by DDH69, 17 September 2016 - 06:47 AM.