Support File Tutorial BAM Add Freezy DMD directly to your table like VPX.

JLou5641

Pinball Hall of Famer
Joined
Jan 10, 2020
Messages
601
Reaction score
309
Points
69
Favorite Pinball Machine
Stargate
Hello

Here a little tutorial for adding Freezy DMD directly in your table, without need to launch it from Frontend or bat file.
It allow you to save configuration for each table independantly.
It allow FP to use his own DMDdevice.ini to avoid conflict with VPX.​



I
- Be sure you are at least on BAM v365
- Download the little package DMDextFP.zip below.
- Download and install DMDext from Terry Essential files or the last version from Freezy Github
https://pinballnirvana.com/forums/threads/future-pinball-and-bam-essentials-all-in-one.22393/
https://github.com/freezy/dmd-extensions/releases

- Use x64 version if you are with Windows x64
- Use x86 version if you are with Windows x86

II
- Two way how adding Freezy DMD to your future Pinball Table like VPX:

**************************************************************************************************************************************​
- 1 - Directly launched from table script. Put those 3 lines in your table script ( better option for Table Author before release their work ):

Code:
    Dim icom : Set icom = xBAM.Get("icom") ' "icom" is name of "icom.dll" in BAM\Plugins dir ' <---    check if this line is already in table script. If yes, no need to copy this again.
    Dim DMDext : Set DMDext = icom.CreateObject( "WScript.Shell" )
    DMDext.Run """%DMDFP_EXE%"" mirror -s futurepinball -g " & xbam.table.name & " -q --use-ini=""%DMDFP_INI%""",0


Be carefull, check if Dim icom : Set icom = xBAM.Get("icom") line already exist.

***************************************************************************************************************************************​

OR

***************************************************************************************************************************************​
- 2 - From external preconfigurated Future pinball Script ( Easier for fast update of any table for personnal use. )

- Copy DMDext.vbs file in your \FuturePinball\Scripts folder
- Search for line wich contain "Explicit" on top of script.
- add this line just after :

Code:
ExecuteGlobal LoadExternalScript ("DMDext.vbs") 'Add this line to your table script for launching DMDext Automatically

**************************************************************************************************************************************​



III
- Copy DMDFP_REGISTER.exe where your dmdext files ( dmdext.exe and dmddevice.ini ) are, usualy in Future Pinball Folder for his own usage.
- Launch DMDFP_REGISTER.exe

- Be sure it's still with Admin rights
- It will register Dmdext.exe and DmdDevice.ini for Future Pinball


IV
- Launch a table
- Go to BAM menu --> Plugins
- Select plugins : COM Extensions
- Set Security level "Same as VPX "
- Exit the current table and launch your updated one.
- Look here for more info about Security level : https://pinballnirvana.com/forums/threads/bam-update-v1-5-365.22384/#post-144524
- For the release of your table, i highly suggest you to add a variable in script to enable or disable Freezy DMD.


Extra note: you can eventually put DMDext.exe and DMDdevice.ini where you want, or use the one already installed for VPX. In this case, Copy DMDFP_REGISTER.exe where the files are located.


Greetings,
JLou
 

Attachments

  • DMDextFP.zip
    50.8 KB · Views: 26
Last edited:
Hi JLou,

First let me thank you as this is a great improvement for me! I really like having Freezy DMD launch from the table script.

I have been able to successfully add this some tables, but for some reason I cannot get it to mirror the HUD DMD on my Cars table (which is built on the All In One Table script) or the AIO Table itself.

It works great on other tables HUD DMD (tested on an older version of Star Wars DSA) and my own Cars DMD test file (screenshots below).

The HUD DMD's and code is written exactly the same.

I am new to this, so maybe I am missing something obvious ...

Is it possible the FizXDMD is preventing the mirroring? How does DMDExt know which DMD to mirror?

Again, thank you for all your efforts making Future Pinball incredible!

Screenshot 2023-10-11 002515.png

Screenshot 2023-10-12 215457.png

1697167199231.png
 
Hi JLou,

First let me thank you as this is a great improvement for me! I really like having Freezy DMD launch from the table script.

I have been able to successfully add this some tables, but for some reason I cannot get it to mirror the HUD DMD on my Cars table (which is built on the All In One Table script) or the AIO Table itself.

It works great on other tables HUD DMD (tested on an older version of Star Wars DSA) and my own Cars DMD test file (screenshots below).

The HUD DMD's and code is written exactly the same.

I am new to this, so maybe I am missing something obvious ...

Is it possible the FizXDMD is preventing the mirroring? How does DMDExt know which DMD to mirror?

Again, thank you for all your efforts making Future Pinball incredible!

View attachment 39401

View attachment 39402

View attachment 39403

The DMD (to be mirrored), won't be the HUD DMD.

You need to have a translite DMD (it's the "DMD" under displays, not the HUD DMD).

Many tables have both. This means you need to have code on your table for both DMDs as well.
 
Thanks for the reply Terry. Oddly, my DMD Testing table (attached) only has a HUD DMD and it is able to be mirrored. I don't mind doubling all the code to a translite DMD (because I'd just drag the Freezy over it) but it would be super cool to just mirror the HUD!

Ted
 

Attachments

  • Cars DMD Tester.fpt
    351.5 KB · Views: 4
Thanks for the reply Terry. Oddly, my DMD Testing table (attached) only has a HUD DMD and it is able to be mirrored. I don't mind doubling all the code to a translite DMD (because I'd just drag the Freezy over it) but it would be super cool to just mirror the HUD!

Ted

Sometimes it comes down to the "last" DMD that was made. It's a strange ordering thing... because the OpenGL32.DLL that DMDext uses looks for FP's DMD somewhere in ram to mirror from... and if the DMD isn't there.... it won't work.
 
Ok, I had some time to monkey around with this and the "ordering" issue you mentioned is the culprit. Since my table is based off the All In One Table (thank you for this btw!) I simply had to delete the FizXDMD object and create a new one with the same name. Now my HUD DMD is the "first in line" to be mirrored by DMDExt ... Easy fix!

Can't wait to share this table once I get it all setup.

1697420710459.png
 
Hi @MetaTed ,

Sorry, i didn't see your post... Even if i follow the thread, i don't have notification most of time.

Thanks @TerryRed for answering him

Everything is it good for you now Metated?


PS: A new FizX update will come soon... And simplify a lot integration of it in Editor.. Native FP rubber, Target and Drop Target will work with FizX


Greetings,
JLou
 
@JLou5641 ,

Yes, I got it to work by deleting the FizX DMD object and placing a new one with the same name. This reordered the DMD's so my HUD DMD would be mirrored by DMDext. Thanks for all you do and looking forward to the next update!

Ted
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
      Chat Bot Mibs Chat Bot Mibs: hellrzr2k1 has left the room.
      Back
      Top