BAM auto resize for new table is not working.
I still see a large gap between the side of the lcd and the table.

No. Auto resize is working ok.
Problem description:

Physical dimensions of the table. Tables in FP are very precise recreations of the real tables. Creators of FP tables do incredibly hard work. For me their work is like art.

  • jaws_physicalJAWS - physical dimensions
Now look at physical dimensions of the table "JAWS" in FP (see screenshot).

- Table with is 516 mm.
- Table glass length is 1070mm. (= sqrt(Length2 + (Rear_Glass_Height - Front_Glass_Height)2).
So we want to display object with dimensions: 1070x516 mm on LCD screen (1920x1080). Proportions of the table and lcd screen aren't the same and we have problem. We want to see whole table, use whole surface of screen.

There are several possible solutions:

  1. BAM scales the length of the table to occupy 1920 pixels and to preserve aspect ratio. So scaled table will have width 926 pixels. 
    + we keep aspect ratio (no distorion in geometry)
    + full table is visible
    - on left/right side of screen will be black border or "game room".

    Good setting for math purists. (me :))

  2. We scale table in X axis to fill whole screen.
    + full screen is used to draw table
    - we don't preserve aspect ratio. Geometry will be distorted (clearly visible when Head Tracking is in use).

    Good setting for "Static Cam" and those accustomed to the "old 2D" FP and VP.

    • jaws_rotJAWS - promblem solution no. 3.
    Rotate table (set "angle" = 6-12 deg).
    Enlarge whole table (Scale X = Scale Y = Scale Z = 1.25 (for example)).
    Set Translate X/Y/Z for best view.
    (see screenshot).
    + we keep aspect ratio (no distorion in geometry)
    + almost full screen is used.
    + almost full table is used (some parts are off screen)
    + no geometry distortion
    + usable for Head Tracking (but far parts of table are "deeper" inside screen)
    - all "almost"
    - need manual setting for every table.

    At first, when I found users using these settings, I wanted to say "hey .. You are doing this wrong."
    Now i use the same setting  :).

  3. Find LCD screen with right aspect (20:10). Impossible.

I don't like default values

You can change default values.


When You load the table for first time, BAM uses default values. You can change these default settings.

  1. Load first table. Set all settings that you would like to be default. BAM will save these setting in BAM folder in file "TABLENAME.cfg".
  2. Go to BAM folder and rename file "TABLENAME.cfg" to "default.cfg".

Now when you load a table without saved settings, BAM will use these new values from default.cfg" .

How to verify if head tracking is working correctly

You can verify if tracking is working correctly.
Take look at "Cam Y" value when tracking is on.
For example, I get Cam Y = ~880.0 
Then switch mode to "Static Cam" and enter this value.

For example it shows me, that it is "66cm" from screen.
I measure this distance in reality from my eye to screen border.
I get ~60 cm. 

How to connect 2 WiiMotes (in Win XP)

  • WiiPair-okWiiPair window.

  1. Install only BT drivers (no custom BT Stack).
  2. Download, unzip and run: WiiPair.
    ( ).
    Notice. I added to ZIP MSVCR80.dll. It is lib from MS Visual C++ 2005. 
  3. Connect WiiMotes one at a time:
    - press (and hold) red button near battery on wiimote.
    - press Easy Pair 
    You shoud see WiiMote Adress and 3 times TRUE in line.
    If there is WiiMote adress but no 3 times TRUE (one or more FALSE) select line and press Remove.
    Do the same with second wiimote.
    If every thing is ok WiiPair window will look like on screenshot.
  4. Then you want to start BAM you have to:
    - press A key on both WiiMotes. Leds start blinking.
    - Start BAM and launch game. Leds will stop blinking.

    If BAM detects only one WiiMote:
    - exit FP,
    - Start again FP
    - load table (don't press F5)
    - press A on WiiMotes (only not connected will start blinking)
    - launch game (press F5)

WiiMotes will be connected until computer restart. If You exit from FP and start again they will be working normally.  After computer restart, you only have to do point 4.

How to setup Hyper Pin to use BAM

  1. in Setting ini change line:
    Path = C:/Games/Future Pinball/to
    Path = C:/Games/Future Pinball/BAM/
  2. rename FPLoader.exe to "Future Pinball.exe"
  3. [optional] modifi FPLaunch4-7.ahk
    RunWait, "%emuPath%%executable%" /open "%tablePath%%tableName%.fpt" /play /exit /arcaderender,,hide UseErrorLevelto
    RunWait, "%emuPath%%executable%" /STAYINRAM /open "%tablePath%%tableName%.fpt" /play /exit /arcaderender,,hide UseErrorLeveland recompile script.