Jump to content



Photo
- - - - -

Future Pinball table modding for DOFLinx - Standard Templates Guide!


  • Please log in to reply
1 reply to this topic

#1 TerryRed

TerryRed

    Pinball Fan

  • Silver Supporter
  • 1,818 posts

  • Flag: Canada

  • Favorite Pinball: Too many to choose...

Contributor

Posted 03 October 2016 - 02:22 AM

Now that DOFLinx is out in the wild and people are starting to get some Future Pinball tables working with full cabinet feedback, it's probably a good idea to have a "standard" for certain aspects of the table, script mods and files included with the table, etc...  This is work in progress guide that will be updated as needed.

 

This will help to have consistency (and examples for others) and also to answer some questions people may have about the table you have modded.

 

 

Name the Future Pinball table file with complete information:

 

It would be a good idea to name the Future Pinball table file (*.fpt) with the name, table version, physics version (if you know it), and DOFLinx at the end. This really does help with people who may not know why this table is different then other versions of the same table. An example:

 

Centaur (Ultimate Edition, v1.03)(Physics 2.7)(DOFLinx).fpt

 

 

Include the correct version of Physics the table was designed for:

 

I have seen many people use vanilla Future Pinball (without BAM) while trying to play newer tables that are configured for different physics settings, (Zed, 2.5,2.6,2.7,2.7 SLAMT1LT, etc) and of course those tables will play horrendously if not setup correctly.  Make sure to include the correct "intended" physics XML file for the table. This way, anyone who uses BAM (which should be EVERYONE using Future Pinball) will get the correct "intended" physics for the table from the XML file, no matter what version of Future Pinball they are using. Make sure the XML file is named the same as the table file. An example:

 

Centaur (Ultimate Edition, v1.03)(Physics 2.7)(DOFLinx).xml

 

========================================================

 

Readme.txt file with instructions for the table:

 

Include a readme.txt file with the table, with instructions. This way anyone who downloads the table will have the "essential" info that they will need. Name the file something like ReadMe 1st! - DOFLinx Install Instructions for this table.txt ​  Try to include something like the following in the file:

 

 

DOFLinx - "A powerful utility for cabinet owners to make the most of force feedback and lighting." - by DDH69

This Future Pinball table has DOFLinx commands added to it. This will enable support for pinball cabinet force feedback devices such as solenoids (flippers,bumpers,slingshots,drop targets,etc), RGB lighting and flashers, beacon, strobes, blower fan, shaker and more!

Requirements and Installation: Regardless of using this table with force feedback (Cabinet) or without (Desktop), you MUST install the current DOFLinx.vbs script into your ‘Future Pinball\Scripts’ folder. Running the table without this file will cause an error with FF_INIT.

The DOFLinx.vbs is included with the DOFLinx install package.  This file is not included with this table to avoid version mismatches.

DOFLinx install package download:
The current download of DOFLinx can be found through this post at vpforums:

http://www.vpforums....showtopic=35852    (make sure the link is copied correctly!)

It is recommended to use this table with BAM (Better Arcade Mode), in order to get the most accurate version of physics intended for this table. Copy the *.fpt and *.xml within this archive to your "Future Pinball\Tables" directory.

Cabinet Use:
For cabinet users running DOFLinx: This table will function with the in-game sounds for mechanical devices such as flippers,slingshots, bumpers, etc muted.  Instead, you will only hear your cabinet's feedback devices for those actions. The rest of the game's sounds will play normally as intended by the table author.

Desktop Use:
For desktop users: This table will still function normally without the need for DOFLinx to be running or installed
(read "Requirements"). It will play perfectly with the original in-game mechanical sounds playing through your PC's speakers.
Note: Any DMDs or HudOverlays intended for desktop use were moved out of view so that they will not appear on the playfield (this was intended for DOFLinx cabinet use) .

Night Mode: (This is assuming you added this into your table's script. Use DDH69's example in the DOFLinx guide)
For cabinet users who want to play at night with their cabinet noise makers turned off, this table can be toggled between
Cabinet Use (noisy), and Desktop Use (Night Mode). Please consult the DOFLinx guide (included with the DOFLinx install package)
for more information on how to use Night Mode.

We hope you enjoy the DOFLinx cabinet experience!

For SLAMT1LT's newest versions of his tables (without DOFLinx support), goto his website:  (include a link to the author's website, if they have one, so people will know where to get the original version of their table if they want it, and also to be respectful of the author)

http://speak1970.wix...pinballemporium       (make sure the link is copied correctly)

 

====================================================

 

 

Table scripting:

 

At the beginning of the table's script, there should be small summary about DOFLinx, the mod author, and what basic changes and functions have been added to the table. This will allow others who want to know what this table mod is about, and what basic feedback functions may have been added. This will allow for others who may want to add more feedback to the table to know what has already been done. An example:

 

' #####################################################################
' ##                                                                                                                                  ##
' ##                                           DOFLinx by DDH69                                                       ##
' ##                                        Table mod by senseless                                                   ##
' ##                                                                                                                                  ##
' #####################################################################
' This table has been modded to include support for DOFLinx.
' DOFLinx is a program that provides controlled feedback and lighting for pinball cabinet users.
' Even if you are not using DOFLinx, please make sure you have the DOFLinx.vbs file copied to your "Future Pinball/scripts" folder
' If you don't you will get a "Pinball Meditation Error" about  FF_Init, and the table cannot play!
' Provided you have the script file above, if you are not using DOFLinx this table will operate as normal.
' Read the DOFLinx guide for more info!
' To find the DOFLinx force feedback commands in this table script, do a simple search for "FF_"

' DOFLinx devices used in this table:
' DV_LF   = Left flipper
' DV_RF   = Right flipper
' DV_LS   = Left slingshot
' DV_RS   = Right slingshot
' DV_ML   = Mid field left solenoid
' DV_MC   = Mid field centre solenoid
' DV_MR   = Mid field right solenoid
' DV_BL   = Back left solenoid
' DV_BR   = Back right solenoid
' DV_FLOL = Flasher, outside left
' DV_FLIL = Flasher, inside left
' DV_FLCN = Flasher, centre
' DV_FLOR = Flasher outside right
' DV_FLIR = Flasher, inside right
' DV_KN   = Knocker
' BUT_ST  = Start button
' BUT_EX  = Exit button
' BUT_CN  = Coin button
' BUT_LB  = Launch ball button

 

=====================================================

 

 

 

Add notes about DOFLinx and what the command is doing to EVERY line / section that you add to the table script:

 

This is VERY important as it will help you keep track of what you have done, makes it easy to copy and paste commands for future use in another table, makes it easy to search for DOFLinx specific mods, and allows the original table author to see what you have done. This seems like more work at first, but trust me it saves you so much more time in the long run! It also makes it easier for others to learn how to add DOFLinx support to other tables!  Everything after the   '   is a "note / comment" and is ignored by the table script. Some examples:

 

FF_Button BUT_ST,BA_OFF,0,0    'DOFLinx - Start Button - OFF

 

FF_DEV DV_SR,30        'DOFLinx - STROBE - Coin inserted

 

FF_Button BUT_ST,BA_FL,1000,50   'DOFLinx - Start Button - Flashing - Coin inserted

 

FF_Flasher DV_FLIR,FL_FL,10,20,100,"Red" 'DOFLinx - Outer Right Flasher - Red

 

FF_Dev DV_RS,-1  'DOFLinx - Right Slingshot

 

FF_Button BUT_LB,BA_FL,1000,50   'DOFLinx - Launch ball Button - Flashing

 

FF_Dev DV_MC,-1     'DOFLinx - Mid center solenoid when target is hit

 

 

==================================================

 

 

Loading Screen Table Information:

 

You can also add to the Table Info that you modded the table for DOFLinx. This is the text that displays on the screen when a Future Pinball table is loading. Just add it to the Table Author section, but make sure the original author's name is still prominently displayed. An example:

 

                      Centaur

           Ultimate Edition v1.03

                           by

SLAMT1LT (DOFLinx mod by senseless)

 

Just be sure when you do this part, you are using the newest BAM while saving. This will avoid the dreaded "black text" bug that makes all the text stuck as BLACK and unreadable. If you have a table with this bug, just load it up using the newest BAM, pick your text colour, and resave the table.

 

 

=================================================

 

Move any (HUD) items (DMDs, Overlays, Scores,etc) out of view so they won't appear on the playfield:

 

There are two types of "DMD / Overlay / Score / Display" type objects in Future Pinball. The standard version named DMD, Overlay, EM Score, etc that will only show up on the backbox / translate while playing.

 

The other type are the "HUD" versions. These are all referenced with a "HUD" in the editor like DMD (HUD) but could be named anything by the author. They are located on the translate screen in the editor (they are a pinkish colour), but they actually display on your playfield screen as these were intended for desktop use on a single screen.

 

We want these "HUD" items moved out of our viewing area so they don't appear on the playfield while playing in a cabinet. Just right-click on each item and make sure they are not "Locked". Then just move them far out of view, then save the table.

 

==================================================

 

 

Here are a couple of great guides to help you understand the basics of Visual Basic scripting for Future Pinball tables.

 

http://www.vpforums....s/BigDraco.html

 

http://www.vpforums....cript_guide.htm

 

 

By trying to keep to a standard template for adding DOFLinx support to Future Pinball tables, we will make it way easier for both the table modders and the player who just wants to enjoy the fruits of your hard work!

 

You don't need to be a great programmer to add DOFLinx support to a Future Pinball table. It's easier than you think.

 

 

Now that we will hopefully have a good standard to start with....that doesn't mean your DOFLinx mods have be boring! Use your imagination! This is Future Pinball! There ain't no "roms" controlling us here! Let's make some noise, flash some lights, and drive our spouses crazy!  :)


Edited by TerryRed, 03 October 2016 - 04:18 AM.


#2 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,024 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 03 October 2016 - 02:32 AM

Great post TerryRed.

 

I'll add one more process type thing, if / when you need help or find a problem, just create a new thread in this "DOFLinx Table Scripting" sub-forum of the main DOFLinx forum.  All courtesy of our most supportive host.


DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here