• We have added Language Translations for French, Italian and Spanish menus, you can change your language at the bottom of every page, bottom left in the footer.
  • Spanish (Español, Latin American) translations have been added for the Forums and Resource Manager (Downloads). You can change your Language Here!

BAM BAM Feature How-To Guides

Gimli

Pinball Wizard
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
TABLE OF CONTENTS
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
The following are now part of this thread:
1.Intro and Preamble

2.xBAM texture swapping for texture swapping of table and room objects, playfield textures, translite and cabinet textures , object enamal map textures

3.xBAM.MagneticField for creating magnets and magnetic fields

4.xBAM.GameRoom for toggling on/off FP default game room for room swapping

5.xBAM.BallManager for scripting of many custom ball features

6.Animation Sequencer for changing room angles for attract mode and game play
See XBAM.custom cameras below as it has supplanted this feature

7. XBAM.MiniPlayfield For Miniplayfield and object scaling,moving and animating. And attaching objects to balls

8. XBAM.PhysicsTweaks
The unexplored GEM of BAM.

9. XBAM.CustomCamera ***NEW TUTORIAL ADDED MAY 2020"****
This is enables coding of Custom Camera Views for Desktop users and camera animations for both Desktop and Cabinet Users
There are no camera views or sequence coding options for VR users at this time.

10. Normal "Bump" Maps. Follow this simple procedure to add "Bump" maps to existing FP tables.
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
BAM How-To Guides, tips and tricks
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On this thread, please enter any tutorials re: HOW-TO use BAM features
Please also include the location of the original discussion of each feature and
any examples that have been provided or that you can offer.
Don't worry that your summary is not exhaustive or accurate, we can refine it as we go
:D
This thread can be like Wikkipedia "BAMipedia" :lol:
BAM is and always has been a creative tool that you discover as you jump into the Rabbit Hole and try it.

This will be linked to :
1. The more technical and Succinct BAM Functions-Commands page that is under developement
viewtopic.php?nomobile=0f=86&t=6569p85357
2. The companion thread for Discussion of BAM Functions-Commands here:
viewtopic.php?nomobile=f=86&t=6583&p=85559#p85559

''''''''''''''''''''''''''''''''''''''''''''''''''''''
Preamble:
'''''''''''''''''''''''''''''''''''''''''''''''''''''

BAM was first released in May 2013 by Ravarcade and has grown in a gradual and organic way since, based on Ravarcade's great ideas and suggestions from all of us in the peanut gallery.

With each version of BAM or addition of a new feature, Ravarcade has given explanations as well as demo table examples.

However, many of these discussions are now buried in the many pages of BAM threads and many previously unmentioned nuances have emerged along the way and there is now a need to cull all that BAM has become into a more organized approach.

BAM has many features that are internal and are only accessed through the BAM menu. These tend to allow instant real time adjustment of many features such as Camera Angles, Lighting,
Table Size, Magnetic Fields, Miniplayfields, Gravity setting, Physics tweaks, Ball Swapping, 3d and head tracking modes.

BAM also has many features that are only external and consist of special scripting of an array of features such as highscore fixes, Gameroom swapping, object texture swapping, custom ball features (mass, radius, transparency, texture, location tracking)

In some cases the internal BAM menu will automatically create some of the external code
for you (xml physics creation and adjustment, miniplayfield set up and adjusting, magnet set up and adjusting and gravity refinement for playfields).
This thread while not exhaustive hopefully will give us users a pooled location for some of our tricks and usages of BAM.

Hopefully, this will generate an understanding, appreciation and overall global acceptance of BAM as an essential part Future Pinball use.
 
Last edited:

Gimli

Pinball Wizard
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
xBAM.SetTexture For TEXTURE SWAPPING
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
This feature is awesome! You can "reskin" your table graphics during a game, have rotating colours on lights, create cartoon strips/movies on table objects, make elaborate VR Rooms etc...etc..
viewtopic.php?nomobile=1&f=86&t=3249&p=84086&hilit=Texture#p84086
July 9 and July 17 ,2017

The code is simple and is as follows:

Code:
Code:
xBAM.SetTexture "fpObjectName", "TextureName", "ObjectFace"
1.fpObjectName refers to the name of the table object you want to swap textures on.

Textures can be swapped on the following object types:
Surface
Toy
Bulb,Light
Gate
Spinner
Trigger
TriggerOpto
SpinningDisk
AutoPlunger
Bumper
Diverter
EmKicker
Popup
Flipper
Target
DropTarget
SwingTarget
TargetVari

2.TextureName refers to the name of the texture you want to use.

**TIP in order to be accessible textures must BOTH be imported into texture manager AND assigned to a surface on the table editor (each surface has 2 slots)
3.ObjectFace (0,1,2) refers to objects with more that one side (front, top, side )

Example>
1.use photoshop to make jpg,tga,bmp textures ( ie. SexyTarget.bmp, PlainTarget.bmp, CoolTarget.bmp)

**TIP objects use texture maps, so consider exporting existing object textures from FP texture manager in the table editor of your desired table. You can then use that texture as a template for editing, to create a new texture..

2.import textures using texture manager( ie. SexyTarget.bmp, PlainTarget.bmp, CoolTarget.bmp)See Image below
3.create new surface of any shape or size using table editor and assign your textures
to surface (2 spots "Top Texture" and"Side Texture" in no particular order, it doesn't matter....)See Image 3 below "Create a Surface"


*Note in was previously thought that you could assign textures to a 3rd location "Enamel Map" however this causes graphical glitches in Arcade Mode for some people, so do not assign texture swap to Enamel Map


4.Add table object using table editor in this case add a droptarget. Give it a name "NewTarget" or whatever. choose a default texture as per usual. See Image Below
5. now you can simply use code above to swap textures.
Code will look like this:

Code:
Code:
xBAM.SetTexture "NewTarget", "SexyTarget", "0"
You can create code to swap between textures as follows


Code:
Code:
Dim TargetTexture



Sub CheckTargetTexture

If TargetTexture = 1 then xBAM.SetTexture "NewTarget", "SexyTarget", "0"

If TargetTexture = 2 then xBAM.SetTexture "NewTarget", "PlainTarget", "0"

If TargetTexture = 3 then xBAM.SetTexture "NewTarget", "CoolTarget", "0"

End Sub
Then anywhere in code where you want a switch you simply put the following.
Let's say we want Texture = 2
Code:
Code:
TargetTexture = 2:CheckTargetTexture
*UPDATE November 2019
You can swap textures now on playfield, translite, cabinet, arcade wall poster, object enamel maps. Playfield texture swapping is very useful as lighting and shadow maps are maintained when you swap textures. This is a great feature to create lighting ambiance by swapping textures with various brightness throughout game. The process for importing textures is the same as described above but with the following codes:

Code:
xBAM.SetPlayfieldTexture textureName
Code:
Code:
xBAM.SetPlayfieldTexture "texturename"

xBAM.SetTransliteTexture textureName
Code:
Code:
xBAM.SetCabinetTexture textureName
Code:
Code:
xBAM.SetCabinetTexture "texturename"

xBAM.SetPosterTexture textureName
Code:
Code:
xBAM.SetPosterTexture "texturename"

xBAM.SetEnamelTexture FPObjectName, textureName
 

Attachments

Last edited:

Gimli

Pinball Wizard
Here is Ravarcade's "SetTextureDemo" table:
With keys X,C,V you can change between 3 colors: red, blue, white. On table are all object-types capable to change texture. except "TOYS" which are also texture swappable
:D

http:\\www.ravarcade.pl/beta/SetTextureDemo.fpt
ravarcade wrote:

Image



Video Below: All room walls, floor, doors, art, pinball tables swap textures



Tables at Pinsimdb using xBAM.SetTexture
Creature From the Black Lagoon (For Room Swapping)
http://www.pinsimdb.org/pinball/table-2 ... ack_lagoon

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End of xBAM.SetTexture Tutorial
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Back to TABLE OF CONTENTS
 

Attachments

Last edited:

Gimli

Pinball Wizard
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
xBAM.CreateMagneticField
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Another very cool tool, you can easily create magnets to capture the ball, or
use magnetic fields to push or pull the pinball in any direction !

Original Discussion Here:
viewtopic.php?nomobile=f=86&t=6356

How to create magnet/magnetic field
1.Choose location of Magnet from table editor (with mouse pointer or select object). x,y coordinates
are at the bottom centre of table editor screen
2.Load Table
3.Press Q to bring up BAM menu
4.Select DEV Options
5.Select Magnetic Fields
6.Enter x,y coordinates
7.Press control-c (BAM will copy magnet code to clipboard)
8.Exit table (pres escape)
9.Load script editor
10.At top of script (under "Option Explicit") press Control-V to paste magnet code to script. It will look like this
Code:
Code:
Dim MagneticField_0   '                      X           Y    Z  Range Strength

Set MagneticField_0 = xBAM.CreateMagneticField(1442, 871, 0, 500, 1 )
11.Load table , start game and then go into BAM magnet menu again and play with Range and Strength settings on the fly (When you like it press Control-C and paste overtop of original code in script)
12. ***TIP Step 11 On the fly tweaking can only be done if you keep the original names
MagneticField_0, MagneticField_1, MagneticField_2 etc...)
 
Last edited:

Gimli

Pinball Wizard
Similar to the Texture Swapping Code above, you can create varying magnet features
based on game events.

For instance
Code:
Code:
Dim MagnetIntensity



Sub CheckMagnet

If MagnetIntensity = 1 then MagneticField_0.Strength = 1

If MagnetIntensity= 2 then MagneticField_0.Strength = 2

If MagnetIntensity = 3 then MagneticField_0.Strength = 3

End Sub
So, if a game event calls for lets say MagnetIntensity = 3
Code:
Code:
MagnetIntensity = 3:CheckMagnet
***TIP positive strength values pull and negative strength values push the ball
Rav also has a code for lifting a ball with the magnet off of the table...
Use "U" to lift ball in this demo table
http://www.ravarcade.pl/beta/magneticfield_demo.fpt

Here's a video showing the process of setting up a magnetic field/magnet in BAM:


Attachments:
magnets1.jpg
 

Attachments

Last edited:

Gimli

Pinball Wizard
Tables at Pinsimdb using xBAM.MagneticField
Dragon's Keep (For Magnet)
http://www.pinsimdb.org/pinball/table-2 ... eep_(maxis)


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End of Magnetic Field Tutorial
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Back to TABLE OF CONTENTS


Attachments:
magnets2.jpg
magnets2.jpg [ 161.02 KiB | Viewed 552 times ]
 
Last edited:

Gimli

Pinball Wizard
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
xBAM.GameRoom
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Simple but very useful! This will switch the Standard FP Arcade Room on and off.
Allows you to Switch between FP Arcade Room and any Alternative Rooms you have made.
Previously it was one or the other only.

***TIP in order for this funtion to work you must enable "Render Game Room" under
Future Pinball Video Settings.


Attachments:
ArcadeRoom.jpg
ArcadeRoom.jpg [ 262.5 KiB | Viewed 522 times ]
 

Gimli

Pinball Wizard
This Function is used in the following settings:
1.When table has an alternate Game Room and you don't want the Default Game Room
to interfere
2.When you want to give player options to switch between several different rooms
based on player preference, speed of CPU, mode of play (Desktop, Arcade, VR)

I will use Dragon's Keep as an example. At the top of script Franzleo/Wild already had:
Code:
Code:
Const BAM_VERSION = 0

If BAM_VERSION > 157 Then

xBAM.GameRoom = false

End If

End If
This code has the fail safe code in it "if BAM_VERSION > 157 Then" (Version 157 was the first with this feature) See BAM Functions-Commands viewtopic.php?nomobile=f=86&t=6569&p=85656#p85656

"xBAM.GameRoom = false " Will make sure the Standard room does not interfere with
the Excellent castle room

This is all that is required for option 1 above
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
For option2 above (Give players option to select between different rooms),

I tweaked the code as folllows:
Code:
Code:
Dim RoomNumber

If BAM_VERSION > 157 Then

xBAM.GameRoom = false

RoomNumber = 1

End If

End If

Added Variable "Dim RoomNumber"
And I set RoomNumber = 1
Then I added a cheatcode to switch between rooms

Code:
Code:
If keycode = 48 then 'B on keyboard

If BAM_VERSION > 157 Then

RoomNumber = RoomNumber + 1

If RoomNumber > 2 then RoomNumber = 1

If RoomNumber = 2 then xBAM.GameRoom = True:Call MiniPlayField_0.MoveTo( 258, 534, -950, 0, 0, 0, 0, 0):Exit Sub:End if

If RoomNumber = 1 then xBAM.GameRoom = False:Call MiniPlayField_0.MoveTo( 258, 534, -950, 0, 0, 0, 50, 0):Exit Sub:End if

End if

End if

To hide the New Game Room, I took the existing miniplayfield code (that was used to grab the beautiful game room):
Code:
Code:
Call MiniPlayField_0.MoveTo( 258,   534, -950,       0,       0,       0,    50,       0)
and changed the Scale (the second last number) from 50 to 0 to make it disappear.
Code:
Code:
'                              DstX     DstY     DstZ     RotX  RotY  RotZ  Scale  Time

Call MiniPlayField_0.MoveTo( 258,   534, -950,       0,       0,       0,    0,       0)

Prior to the Ability to move game room models with xBAM.Miniplayfield, table developers
assigned Room Models as Toys and used FP "moveto" scripting. So switching between
those type of rooms is more difficult.....you have to first capture them in a xBAM.miniplayfield box


 
Last edited:

Gimli

Pinball Wizard
Some players like to have no games room just black space around table.
This is easy to add as RoomNumber = 3 as follows:
Code:
Code:
If keycode = 48 then 'B on keyboard

If BAM_VERSION > 157 Then

RoomNumber = RoomNumber + 1

If RoomNumber > 3 then RoomNumber = 1

If RoomNumber = 3 then xBAM.GameRoom = False:Call MiniPlayField_0.MoveTo( 258, 534, -950, 0, 0, 0, 0, 0):Exit Sub:End if

If RoomNumber = 2 then xBAM.GameRoom = True:Call MiniPlayField_0.MoveTo( 258, 534, -950, 0, 0, 0, 0, 0):Exit Sub:End if

If RoomNumber = 1 then xBAM.GameRoom = False:Call MiniPlayField_0.MoveTo( 258, 534, -950, 0, 0, 0, 50, 0):Exit Sub:End if

End if

End if

In RoomNumber= 3 above, I simpy set "xBAM.GameRoom=False" and the Scale of your
room to 0 at the same time



Here is another example of Room Swapping (uses xBAM.GameRoom , Simple Wall and Floor "Overlays Scaled and positioned using xBAM.Miniplayfield)




Tables at Pinsimdb using xBAM.GameRoom
Creature From the Black Lagoon (For Room Swapping)
http://www.pinsimdb.org/pinball/table-2 ... ack_lagoon

Dragon's Keep (For VR Castle Room)
http://www.pinsimdb.org/pinball/table-2 ... eep_(maxis)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End of xBAM.GameRoom Tutorial
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Back to TABLE OF CONTENTS
 
Last edited:

Gimli

Pinball Wizard
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
BAM Animation Sequencer
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
This Tool is a well kept secret. In fact I think I am the only one who has ever used it
:lol:


Original Discussion Here:
viewtopic.php?nomobile=f=86&t=3249&p=70680&hilit=sequencer#p70680

****TIP
To use this feature you MUST do the following:
1. Select Desktop in Future Pinball Video Settings (NOT ARCADE)
2.Be in the Advanced BAM Menu
3.Select "Static Cam" in BAM Menu
4.Select "Forced Arcade Mode" under "AddOns" in BAM menu

See Video Below demonstrating how to access this function

Usages:
1. Create "Room Camera Sequences" as an attract mode type feature to view the Arcade Room and Table
2. Create new camera angles from which to play the table. This is accomplished by setting the transition time to next angle to 100000000 ms (27 hours !)
In other words it won't go to the next transition and remain at your desired location
:lol:


This is a little known BAM Function accessed only through BAM menu.
"Animation Sequencer" is a confusing term.

This function essentially changes the Room Camera angle and creates a sequence of 1 - 10 camera settings per "Animation Sequence".

When in Animation Sequencer Menu
Use the following keys:
1. INSERT to add new line
2.DELETE to remove a line
3. ARROW Keys to move between parameters
4. Select SaveTable.seq
To save

These are the Parameters that can be set and adjusted on the fly:
1. Camera Image Location Tx, Ty, Tz
2. Camera Image Stretch Sx, Sy, Sz
3. Camera Image Rotation Rx, Ry, Rz
4. Time to move the image to parameters set in 1-3 above

You can create 3 independent Sequences per table and they are saved in BAM/CFG directory

The sequences will be played smoothly using F1, F2, F3.


Currently there is a bug and the save feature is creating spacing problems in the tablename.seq file that is generated and saved in your BAM/CFG directory.

This Beta.dll will fix the issue (Released Feb 17,2018. copy this into your BAM directory
after you have renamed the original file of the same name)
http://www.ravarcade.pl/beta/BAM.dll

***Note: Although this function works in all 3 BAM usages (Desktop, Arcade and VR),
The camera angles do vary between them and so the sequences don't translate perfectly.

Examples:
https://www.dropbox.com/s/b03qv1whgl0dz ... s.rar?dl=0
The above zip has example sequence files.
copy the default.seq file into your BAM directory.
It also contains suggested seq files (Desktop.seq for destop users, Arcade.seq for arcade users, the Wild.seq files are suggested for NES table to allow zooming of backglass in that table). Simply substitute the name of your table on the file wish to try and save it
either in the BAM/CFG directory or the FuturePinball/tables directory.
In these demo files, I have set:
1.Animation Sequence1 activated with F1. Will pan around Arcade Room
2.Animation Sequence2 activated with F2 . Goes to Full table view to play table from
3.Animation Sequence3 activated with F3. Zooms to backglass for games with Vertical Playfields



""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
END OF BAM Animation Sequencer Tutorial
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Back to TABLE OF CONTENTS
 
Last edited:

Gimli

Pinball Wizard
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
xBAM.BallManager Tutorial
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
This is another crazy tool with huge creative potential !
You can create balls of different sizes, shapes, graphics, mass, and opacity. You can have them transform when you hit table objects and you can set your game narrative to change based on the custom ball that is currently in play


***Tip***
You MUST have" Ball Marks(Dirt)" enabled in Future Pinball "Video/Rendering Options"
in order to see ball textures properly

Using Script to:
1. define Custom Ball Features including:
Size, Mass, Opacity, Ball Texture
2. To enable transforming from one Ball texture to another with game events
3. To enable game events to change when linked to a specific ball

Extensive and Original Discussion Here:
viewtopic.php?nomobile=0f=86&t=5583&p=80019#p80019

1. Custom Ball Code :
Copy and Paste under "Option Explicit" at top of Script

Code:
Code:
Function CreateCustomBall ( Source, BallName, Radius, Mass, Opacity )

xBAM.BallRadius = Radius

xBAM.BallMass = Mass

xBAM.BallOpacity = Opacity



Dim bi

Set bi = xBAM.BallManager.CreatCustomBall(BallName)

Source.CreateBall bi.Red, bi.Green, bi.Blue, bi.BallNumber

AddDebugText "["&xBAM.BallID&"]"

CreateCustomBall = bi.BallNumber



End Function
2. Ball Textures:
Each ball you create will have 3 textures( 452.bmp, 334.bmp, 269.bmp)

These can be extracted from Miownkhan custom ball packs.
viewtopic.php?nomobile=1&f=86&t=5583

You must unzip these packs and rename the 3 files. For simplicity and clarity, it makes sense to choose a name like the CustomBall your are creating.
(ie "Tennis_452", "Tennis_334", "Tennis_269")

****TIP****
Ball Textures must be BOTH imported in Texture Manager and added to "surfaces" that you create in the FP table editor. This part is same as adding textures described in xBAM.SetTexture feature above...

3. Define Balls ( in example below I chose names "BeachBall" , "VolleyBall" and "TennisBall"

Code:
Code:
Dim Beachball, TennisBall, VolleyBall

BeachBall = xBAM.BallManager.DefineCustomBall(192, 192, 192, "Beach_452", "Beach_334", "Beach_269")

TennisBall = xBAM.BallManager.DefineCustomBall( 222, 253, 130, "Tennis_452", "Tennis_334", "Tennis_269")

VolleyBall = xBAM.BallManager.DefineCustomBall( 255, 255, 255, "Volley_452", "Volley_334", "Volley_269")

In the code above the first 3 numbers (ie 192,192,192) are mixes of the primary colours

R,G,B that give the ball it's colour. You can get these numbers from any colour box in FP table editor.

4. Create a ball in a kicker. Typical location is under Sub Createnewball()
Code:
Code:
Sub CreateNewBall()



call CreateCustomBall(PlungerKicker, BeachBall, 13.0, 20, 1)

' create a ball in the plunger lane kicker.

'PlungerKicker.CreateBall



' There is a (or another) ball on the playfield

BallsOnPlayfield = BallsOnPlayfield + 1



' kick it out..

PlungerKicker.SolenoidPulse

End Sub
***TIP:
Notice the parameter order as per Custom ball code that you copy and pasted above, "Function CreateCustomBall ( Source, BallName, Radius, Mass, Opacity )"
so in above code
"call CreateCustomBall(PlungerKicker, BeachBall, 13.0, 20, 1)"
this means Source = Plungerkicker, BallName = BeachBall, Radius = 13.0, Mass =20 and
Opacity = 1.

You can play with these values. If the Radius is too large the ball won't drain, if the radius is too small the ball will roll under guides. If the Opacity is 0 the ball is invisible

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
5. "Transformation Code" is for Changing custom balls with either hit events or simply in code add the following in same location as above:

Code:
Code:
Dim BallTransformations

Set BallTransformations = xBAM.BallManager.CreateTransformation

call BallTransformations.AddRule(BeachBall, TennisBall)

call BallTransformations.AddRule(TennisBall, VolleyBall)

call BallTransformations.AddRule(VolleyBall, BeachBall)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Example of hit event (This will rotate between custom balls each time LeftSlingshot is hit)

Code:
Code:
Sub LeftSlingshotRubber_Hit()

' add some points

AddScore(5)

' flash the lights around the slingshot

LeftSlingshotBulb1.FlashForMs 100, 50, BulbOff

LeftSlingshotBulb2.FlashForMs 100, 50, BulbOff

BallTransformations.UpdateBall(fpBallID)

End Sub
Example of changing custom ball with code (this will toggle between custom balls with pressing C, V or B on keyboard)

Code:
Code:
Sub FuturePinball_KeyPressed(ByVal KeyCode)

If keycode = 48 then call xBAM.BallManager.UpdateBall(fpBallID,BeachBall)

If keycode = 47 then call xBAM.BallManager.UpdateBall(fpBallID,VolleyBall)

If keycode = 46 then call xBAM.BallManager.UpdateBall(fpBallID,TennisBall)

End sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
6. You can also link game events to whatever the current ball is (For instance when
tennis ball is in play , have tennis table graphics and ball sounds etc...)
Code:
Code:
If xBAM_BallManager.GetBallName(fpBallID) = TennisBall then bla bla bla
In the above example code showing the Left Slingshot_hit code for instance, I added
lights that change and a graphic that changes based on the ball in play. See video below.
I used the texture swapping feature described previously to change the graphics
:shock:


Code:
Code:
Sub LeftSlingshotRubber_Hit()

' add some points

AddScore(5)

' flash the lights around the slingshot

Sub LeftSlingshotBulb1.FlashForMs 100, 50, BulbOff

LeftSlingshotBulb2.FlashForMs 100, 50, BulbOff

BallTransformations.UpdateBall(fpBallID)

If xBAM_BallManager.GetBallName(fpBallID) = BeachBall Then BeachLight.State = BulbBlink:VolleyLight.State = BulbOff:TennisLight.State = BulbOff:xBAM.SetTexture "GameImage", "beachball", 0

If xBAM_BallManager.GetBallName(fpBallID) = VolleyBall Then BeachLight.State = BulbOff:VolleyLight.State = BulbBlink:TennisLight.State = BulbOff:xBAM.SetTexture "GameImage", "Volley", 0

If xBAM_BallManager.GetBallName(fpBallID) = TennisBall Then BeachLight.State = BulbOff:VolleyLight.State = BulbOff:TennisLight.State = BulbBlink:xBAM.SetTexture "GameImage", "Tennis", 0

End Sub
If you want to try the demo table in video below:
https://www.dropbox.com/s/lzmf9zmh8uknv ... d.fpt?dl=0



If you want to get even fancier, you can attach objects to your custom balls
and make the custom ball invisitble to make "Fantasy Pinballs"
This is described in the last section of xBAM.miniplayfield tutorial below.



Tables at Pinsimdb using xBAM.BallManager

Indiana Jones Path of Adventure (for Custom Balls , "Boulder" , "Fire", "Knight")
http://www.pinsimdb.org/pinball/table-2 ... _adventure

Genesis Plus MOD (for Psychodelic custom balls)
http://www.pinsimdb.org/pinball/table-2 ... nesis_plus

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
End of xBAM.BallManager Tutorial
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Back to TABLE OF CONTENTS
 

Attachments

Last edited:

Gimli

Pinball Wizard
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
xBAM.Miniplayfield Tutorial
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
This is one of the most exciting innovations of BAM that opens the door for unlimited creative possibiliies for Future Pinball! (See usages below.)
Original Thread Here:
viewtopic.php?nomobile=0f=86&t=6214
You'll see some videos on that thread of crazy stuff, I've done.
Swinging ball for Junkyard, Hockey table inside a bubble, 2 player "joust-style" table with Mirroring playfields, Projecting Movies on Room walls, Rotating Ceilings, Table Objects that Jump out at you, VR Rooms etc..

Video Tutorial Here (Sorry for the low resolution Quality)
***NOTE: This is an old video using an older version of BAM, so the menu has changed a
little and most importantly Step 2 on video (copying a large "BAM setup segment") is no longer necessary.

Usages:
1. Originally created for scaling, rotating, moving a "Miniplayfield" from beside the table
and onto the desired location on the main table playfield

2. Can actually be used on any object or group of objects (including DMD's , overlays, all table objects) can be scaled, rotated, and moved anywhere in the FP environment (both on the table and in the surrounding Games Room)

3. A Sequence of Moveto commands can be used to animate the miniplayfield or object(s) in 1. and 2. above

4. Can be used to attach any object to an invisible ball


***TIP : To understand what is going on with xBAM.Miniplayfield ,
think of the light saber dual between LUKE SKYWALKER and KYLO REN in the Last Jedi
:D


Luke tricked Kylo into believing he was present when in fact he was projecting an illusion
of himself onto the BattleField. That's exactly what xBAM.miniplayfiield does! It takes object(s) or miniplayfield and projects an image of it onto the table or where ever you choose to project it....

This is important to understand because it means you can superimpose up to 16 miniplayfields onto the table or onto each other and they will not interfere with each other, because like Luke Skywalker they are merely ghost projections....

See 6:30 of above video
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
A .Process for Creating and Defining A "Miniplayfield"
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
1. Create a miniplayfield beside the Main Table in Future Pinball Table Editor (for 1. above). Same process as constructing the main table playfield and elements.

2. or Select an object or Group of Objects (for 2. and 3. Above)

3. Load Table, Enter BAM Menu : PressQ, Advanced Menu, Dev Options, Mini-Playfield

4.Starting with IDx 0 (Which is miniplayfiled_0), capture your miniplayfield or object(s) in Yellow Source Box. Press Control-C
to copy code to clipboard. Screen should display "Clipboard: Create Miniplayfield"
Starting around 10:23 of Video Above.

5.Escape to exit table, and enter FP Script Editor. Press Control-V to Paste code
under "Option Explicit"

It should look like this:
Code:
Code:
Option Explicit            ' Force explicit variable declaration

Dim MiniPlayField_0 ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ

Set MiniPlayField_0 = xBAM.CreateMiniPlayfield( 208, 308, 484, 584, 0, 100, 258, 534, 50)
6.Reload Table and Return to BAM Mini-Playfield Menu. Move Green Target Box
which now contains your Miniplafield or object(s) to desired size, rotation and position.
Press Control-C to copy "moveto" command to clipboard. Screen should display "Clipboard: Moveto" See Around 16:10 of video above

7.Escape to exit table, and enter FP Script Editor. Press Control-V to Paste "Moveto" code under previous entry.
The Script should now look like this:
Code:
Code:
Option Explicit            ' Force explicit variable declaration

Dim MiniPlayField_0 ' Xmin Xmax Ymin Ymax Zmin Zmax CenX CenY CenZ

Set MiniPlayField_0 = xBAM.CreateMiniPlayfield( 208, 308, 484, 584, 0, 100, 258, 534, 50)

' DstX DstY DstZ RotX RotY RotZ Scale Time

Call MiniPlayField_0.MoveTo( 258, 534, 150, 0, 0, 0, 1, 0)
This is all that is required for a simple miniplayfield or relocation of non-moving object(s)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
B. Multiple miniplayfields or object groups can each be assigned a separate "miniplayfield"
BAM allows 16. To configure just change "Idx" number in Miniplayfield Menu.
***TIP
It is best to keep the names that are assigned by BAM for your miniplayfields (" MiniPlayField_0", " MiniPlayField_1", " MiniPlayField_3" etc..)and keep them in order at top of script.
So you can fine-tune your settings in Real Time from BAM miniplafield menu.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
C.Object Animation can be achieved by creating a timer in Table Editor
and adding a code in the script to go from one "moveto" command created above to another.
The BAM/MiniPlayfield Menu has a real-time animation player to assist you.
See around 19:16 of above video.

For example, let's create a timer in FP table editor and call it "AnimationTimer"
And let's choose to create variable called "AnimationPosition"
In the code we can have something like this:
Code:
Code:
Dim AnimationPosition

Sub AnimationTimer_Expired()

AnimationTimer.Enabled False

AnimationPosition = AnimationPosition + 1

If AnimationPosition = 1 then Call MiniPlayField_0.MoveTo( bla ,bla, bla, 2) :AnimationTimer.Enabled True, 2000

If AnimationPosition = 2 then Call MiniPlayField_0.MoveTo( bla ,bla, bla, 2) :AnimationTimer.Enabled True, 2000

If AnimationPosition = 3 then Call MiniPlayField_0.MoveTo( bla ,bla, bla, 2) :AnimationTimer.Enabled True, 2000

If AnimationPosition = 4 then Call MiniPlayField_0.MoveTo( bla ,bla, bla, 2) :AnimationTimer.Enabled False:AnimationPosition =0

End Sub
In the above animation, the "miniplayfield" will move from one location to the next and take 2 seconds to get there as the last number in the bam code is for "time to move to position" and AnimationTimer is set to refresh every 2 seconds (2000 ms). This synchronizes the BAM code with FP Timer for a smooth transition.
To Trigger above animation you simply require the following anywhere in the FP code.

Code:
Code:
AnimationPosition = 0

AnimationTimer.Enabled True
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
D. Assigning an object to a ball

1. Place your object ( A toy or whatever) next to table in FP Table Editor
2. Grab object as "miniplayfield " as described above
3.use xBAM.BallManager
To create a custom ball
4.Assign your object to the custom ball using BAM.closeto command

Code:
Code:
MiniPlayField_0.TrackedBall = xBAM.BallCloseTo(440, 917)
Where x,y Coordinates 440 and 917 are the location of the kicker from which the ball
is being released (in this case the usual "plungerkicker"

Ball tracking will automatically stop when ball hits drain or kicker and is "destroyed"
or when you use TrackedBallStop code:
Code:
Code:
MiniPlayField_0.TrackedBallStop()
The Ball that your object is attached to can be made invisible by setting ball opacity to 0
as described in the BAM.BallManager section.
The Video Below Shows the possibilities:

1. AirPlane Flying above pinball
2.Wild's Flame Hologram blazing on top of a "Fireball" Pinball
3. Hockey Puck (Attached a puck toy and made the Custom PInball invisible)
4.Cartoon Ball where I made a cartoon animated object (Used xBam.SetTexture to assign flashing textures to a stock FP droptarget object, used xBAM.Minipalyfield to grab Droptarget object, and then assigned it to an invisible custom ball ie Opacity = 0 using xBAM.BallManager)
:lol:



:shock:

If you want to try this demo table here it is:
https://www.dropbox.com/s/1uc1whmxrmaen ... g.fpt?dl=0

Tables at Pinsimdb using xBAM.miniplayfield
Krull (for Miniplafield)
http://www.pinsimdb.org/pinball/table-23242-krull

Indiana Jones Path of Adventure (for POA miniplayfield)
http://www.pinsimdb.org/pinball/table-2 ... _adventure

Genesis Plus MOD (For Rising Sarcophagus Miniplayfield)
http://www.pinsimdb.org/pinball/table-2 ... nesis_plus

Creature From the Black Lagoon (For Room Swapping)
http://www.pinsimdb.org/pinball/table-2 ... ack_lagoon

Dragon's Keep (For VR Castle Room)
http://www.pinsimdb.org/pinball/table-2 ... eep_(maxis)

Relevant comments from Discussion Thread:

1. Miniplayfield Shortcut Codes
viewtopic.php?nomobile=0f=86&t=6583&p=85830#p85830
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
End of xBAM.Miniplayfield Tutorial
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Back to TABLE OF CONTENTS
 

Attachments

Last edited:

Gimli

Pinball Wizard
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
xBAM.Physics Tweaks Tutorial
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
This is by far the most under rated and underused GEM of BAM.
This allows Real-time, on the fly tweaking and saving of Physics xml files
Original Thread
viewtopic.php?nomobile=f=86&t=6276&hilit=tweaks

Under Construction......

FP Physics has mesmorized, confounded , frustrated many and it has lead, in many circles, to an unfavorable opinion of Future Pinball.
It may seem overwhelming, but with a little exploration and tweaking, most players can achieve a perfectly acceptable result.

In fact SLAMT1LT is keeping us all in suspense as he claims to have found the perfect physics parameter blend that is more realistic than living
:shock:


I will link some of the threads describing xml usage and then spend most of the time
exploring the BAM.PhysicsTweaks tool and the automatic scripting that it can generate to make FP physics completely customizable

1.In his how-to-setup BAM thread,GeorgeH discusses all the versions of FuturePinball.exe and how the physics paremeters were extracted in files called "XML" files. There are numerous xml's files to try as these
are simply recipes of quantities of the various physics parameters.
viewtopic.php?nomobile=0f=86&t=5544

2.I believe the new Versions of BAM are being released with all of the popular xml files for you to choose from.

3.Here is a link with a listing of them:
viewtopic.php?nomobile=0f=86&t=6173

Loading XML files has been one of the cherished features of BAM almost since its inception.

The beauty of xBAM.PhysicsTweaks is that we can now adjust all of the physics parameters in Real-time and immediately see the results

And then BAM will save the new XML file to be used as before or even now has the feature of creating an xml code that we can simply paste into the script and
thereby make the xml file redundant !

XBAM.Physics tweaks also has the real time flipper adjustments with an amazing test mode where you can test shots from any angle. And once again BAM will create a flipper code that you can paste into the script.

You can set the physics of each flipper independently !
There many features pertaining to flipper testing that haven't even been tested by users yet that Ravarcade has included. See video below...I just discovered this tool!!!
:shock:


xBAM.PhysicsTweaks is already an amazing tool....with huge potential as users learn how to use it.



To be continued....
Back to TABLE OF CONTENTS
 
Last edited:

Gimli

Pinball Wizard
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
xBAM.Custom Camera Views
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Ok it has been a couple of years since all the preceding features were explained and since then there are many new Features.
Custom Camera Views and Camera Animations are an amazing new BAM feature . SLAMT1LT uses Custom Camera Views in his Ultimate Pro tables
during Multiball and for enhanced views of the Backbox during Videos and Celebrations .


Original Thread


With this Feature you can do the following:
1. Code Camera Views in Desktop Mode
2. Code Camera Animation Sequences in Desktop Mode
3. Code Camera Animation Sequences in Cabinet Mode
4. The BAM Menu now allows you to create camera views for all tables , accessed by pressing "C"

**NOTE*** Camera Views and Animation Sequences do not apply to VR Mode at this time

Preliminary Concepts:
1. xBAM.Camera.Mode

BAM will automatically know what type of mode you are playing in be it Desktop Mode, Cabinet Mode or VR Mode.

You can thereby code unique features for each mode.
Code:
xBAM.Camera.Mode =0,1,2
xBAM_Camera_Desktop = 0
xBAM_Camera_Cabinet = 1
xBAM_Camera_VR = 2

***NOTE*** There actually are no camera views or sequences for VR MODE. But you can use the flag in the code if you wish to have code that is specific to VR Mode only.


So For instance if you want to code separate camera animations ( or whatever) for Desktop vs Cab due their unique perspectives, you can code like this:

Code:
If xBAM.Camera.Mode = xBAM_Camera_Desktop then
bla bla bla
End Sub

If xBAM.Camera.Mode = xBAM_Camera_Cabinet  Then
bla bla bla
End Sub

If xBAM.Camera.Mode = xBAM_Camera_VR  Then
Turn on light, Play a sound , change colors, jump up and down or whatever
bla, bla
End Sub
2. Desktop Mode: Camera Views.

camera-request.png


Permission screen for Camera Control

This is the annoying screen that displays asking users for permission to use camera controls.
This is Ravarcades explanation:
"I think, that user will be confused if something starts to happen with game camera without warning. So, i believe script has to ASK user for permission to do anything with camera. "

***NOTE***
TO USE CUSTOM DESKTOP CAMERA VIEWS YOU MUST HAVE THIS CODE AT TOP OF SCRIPT
YOU DON'T NEED IT HOWEVER FOR CAMERA ANIMATION SEQUENCES


Code:
If xBAM.Camera.ScriptControl = FALSE Then
   xBAM.Camera.RequestForControl
End If
Understanding the parameters for the Desktop Mode Camera views is a little confusing and take some practice:
Code:
xBAM.Camera.DesktopSet eyeX, eyeY, eyeZ, atX, atY, atZ, FOV, delay
The key concept to understand is that you are coding a camera view from where you are standing ("eye" x,y,z) to where you are looking ("at" x,y,z)

"FOV" (Field of View ) refers to the magnification or zoom value

and "delay" is the time BAM will take to transition to that Camera View

So for instance here is a camera view that I used on the Labyrinth table below:
Code:
xBAM.Camera.DesktopSet          250,  1185.4,   700,   250,   500,       -200,      50,    500
The best way to get the numbers is in the FP table editor. For the "eye" values put the mouse where you will be "standing" and it will give an x and y value at the bottom left of the screen. Write down those numbers. Fot the "at" values place the mouse where you want to look and again read the x and y values and write them down.

The "z" values you have to play with . Since you will be looking down at the table from above the "eye"z number will be larger than the "at"z number.

***TIP*** if you are looking straight ahead the "eye"x and "at"x values will be the same.

For the Labyrinth Demo Table below, I code an option to switch between several camera views as follows:
Code:
Dim Location

Sub CameraSwap()
    Location = Location + 1
        If Location = 5 then Location = 1
        AddDebugText "Location = " &Location
        Select Case Location
             Case 1: xBAM.Camera.DesktopSet          250,  1185.4,   700,   250,   500,       -200,      50,    500
             Case 2: xBAM.Camera.DesktopSet          250,  1185.4,   691.7,   250,   597.5,      - 200,      40,    500
             Case 3: xBAM.Camera.DesktopSet          250,  1185.4,   800,   250,   597.5,       -200,      40,    500
             Case 4: xBAM.Camera.DesktopSet          250,  1185.4,   1000,   250,   597.5,       -200,      40,    500
        End Select
End Sub
3. Desktop Mode:Look at Back Box Camera Angle

As you likely know pressing the "TAB" key during a desktop mode game will display the Back Box
Also in the Code you can use :
Code:
LookAtBackBox()
And then the code to return to playfield view is:
Code:
LookAtPlayfield()
Now with BAM we can set both the Playfield View( "xBAM.Camera.DesktopSet") and the BackBox View ("xBAM.Camera.DesktopLookAtSet") to ANYTHING we want
The Code for the Back Box can be easily derived from the Desktop view you have coded above. It is just a matter of changing the "z" values.
Instead of looking down , you are looking up. So the "eye"z value should be less than the "at"z' value.

***NOTE***: you must always put the DesktopSet Value before the DesktopLookAtSet value as follows:

Code:
 xBAM.Camera.DesktopSet          250,  1185.4,   700,   250,   500,       -200,      50,    500
xBAM.Camera.DesktopLookAtSet    250,  1185.4,   300,   250,   500,       400,      50,    500
Notice the only values changed are the "Z" values. You can of course tweak these numbers how you wish.

Now whenever you press the TAB key and release it will use your new values for looking at the BACK BOX and Playfield
And now whenever you code "LookAtBackBox" or "LookAtPlayfield" it will also use these settings.

Very Cool !

4. Desktop Mode: Camera Animation Sequence:
Again you do NOT have to use the Camera Permission code for this feature

In some ways this feature is the easiest to configure.
If you access the manual camera after you load a table by pressing F11 , you can then move anywhere around table using the "A,S,W,D" keys. If you go into the BAM Advanced menu/ Dev Options/Desktop Camera Animation and then press "insert" for each position you go to then it will create a list of positions in the room to animate transitions between. Or press 'shift-insert'.

Keyboard shortcuts:
- SHIFT+ENTER - will copy settings of current camera (that what you see now on screen). You can use Manual Camera (F11). I did it on video above
- SHIFT+INSERT -will add new camera settings to list just before line of current select line. So, you can add now position in list not only at end, but also in middle or at begin of list
- SHIFT+DELETE - will remove current postion from list
- CTRL-C - will copy whole camera animation to clipbord in form ready to paste in script

For Desktop Users the Camera Animation Code will look like this:

Code:
    xBAM.Camera.DesktopSequenceBegin 1
    xBAM.Camera.DesktopSequenceAddEntry    -725,    1869,   928.6,   690.1,   -22.6,   110.6,      50,    7000
    xBAM.Camera.DesktopSequenceAddEntry    1275,    1869,   916.7,   220.3,  -114.6,       0,      50,    7000
    xBAM.Camera.DesktopSequenceAddEntry   344.8,    1869,  1068.6,   297.9,  -371.1,       0,      50,    7000
    xBAM.Camera.DesktopSequenceAddEntry   372.8,  1800.8,   948.8,   352.8,  -102.1,       0,      50,    7000
    xBAM.Camera.DesktopSequenceAddEntry   199.4,  1116.7,   434.8,   192.6,   558.3,       0,      50,    8000
    xBAM.Camera.DesktopSequenceAddEntry   199.4,  1116.7,   434.8,   183.7,   617.2,   449.6,      50,    10000
     xBAM.Camera.DesktopSequenceAddEntry   199.4,  1116.7,   434.8,   183.7,   617.2,   449.6,      50,    3000
     xBAM.Camera.DesktopSequenceAddEntry     275,  1421.5,     450,     275,     434,       0,      50,    3000
    xBAM.Camera.DesktopSequenceEnd
You can paste this code anywhere in the script outside of a "Sub Whatever.......End Sub" routine
Then activate the sequence use this code:
Code:
xBAM.Camera.DesktopSequencePlay 1
Try the above code in any table and you should see a panning camera routine that zooms around the fp Games Room and Table.
If you want the Animation to begin immediately just put the "play" code at the very top of this code

You can create many such Camera Animations , just simply change the number for the next sequence
xBAM.Camera.DesktopSequenceBegin "Number" and "xBAM.Camera.DesktopSequencePlay "Number"

The code to stop a running sequence early is :

Code:
xBAM.Camera.DesktopRelease
4. Cabinet Mode: Camera Animation Sequence:
Again you do NOT have to use the Camera Permission code for this feature
You create the Cabinet Animation sequence in the same BAM menu locaton as for desktop and you use the same Short Cut keys to Insert and Delete Choice and for copying the code. The difference is the Manual Camera with F11 DOES NOT WORK in Cabinet Mode so you have to guess which numbers to use and test it as you go.

This is an example of Room Panning Camera Sequence for Cabinet users:
Code:
     Camera.CabinetSequencePlay 2
     xBAM.Camera.CabinetSequenceBegin 2
    xBAM.Camera.CabinetSequenceAddEntry       0,       0,       0,       1,       1,       1,       0,       0,       0,    5000
    xBAM.Camera.CabinetSequenceAddEntry       0,    1200,    -500,       2,       2,     1.1,      20,      -0,       0,   10000
    xBAM.Camera.CabinetSequenceAddEntry   -1700,     800,    -600,       2,       2,     1.1,      20,       0,     -70,   10000
    xBAM.Camera.CabinetSequenceAddEntry    1700,     800,    -600,       2,       2,     1.1,      20,      -0,      70,   10000
  xBAM.Camera.CabinetSequenceEnd
Note: I chose "2" as the sequence number
Note: I put the Sequence Play code at top...but you can put it anywhere in script

The code to stop a running sequence early is :

Code:
xBAM.Camera.CabinetRelease
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
End of xBAM.Custom Camera Views Tutorial
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Back to TABLE OF CONTENTS
 

Attachments

Last edited:

NitroNimbus

Pinball Nudger
Hi Gimli,
Mate thanks for all the info and demo tables. The demo tables realy make it so much easier to understand.
Outstanding effort as always!! :)

Been messing around using gifs as movie players. Wow!! what a difference, added 400mb of movie clips for
a test and it didn't miss a beat. Loading times are a little out there but then again I won't be using 400mb on any table?
Thanks to Rav and this post what would of taken me weeks before to achieve now takes minutes.
Excellent!!!!
 

Gimli

Pinball Wizard
Hi Gimli,
Mate thanks for all the info and demo tables. The demo tables realy make it so much easier to understand.
Outstanding effort as always!! :)

Been messing around using gifs as movie players. Wow!! what a difference, added 400mb of movie clips for
a test and it didn't miss a beat. Loading times are a little out there but then again I won't be using 400mb on any table?
Thanks to Rav and this post what would of taken me weeks before to achieve now takes minutes.
Excellent!!!!
WOW !! Thats great to hear Nitro !
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • @ Ike Savage:
    where is the unapprove option, anyway? is that a super mod thing or something from the admin panel?
    Quote
  • @ Ike Savage:
    oh wait, I see it
    Quote
  • @ JonPurpleHaze:
    true, but they could also be invisible to users and perhaps allow the category to be removed
    Quote
  • @ JonPurpleHaze:
    Don't know, do know that if you delete a category all files would also be removed so that's bad,
    Quote
  • @ Ike Savage:
    seems like we discussed it in some length at one point and came up with the current arrangement, but I don't have a strong opinion on that stuff. the one thing I do like is that I can clear out weaker tables from the main section without deleting them
    Quote
  • @ JonPurpleHaze:
    Sounds fine to me Ike, can't disagree with ya!
    Quote
  • @ Ike Savage:
    is it that you want to declutter more of the resources section?
    Quote
  • @ JonPurpleHaze:
    No it's fine
    Quote
  • @ Ike Savage:
    also, just to be clear-- the issue with "unapprove" is that you don't know if the table actually gets deleted from the server, right? AFAIK I have no way of seeing where the tables actually lie on the server, so it's something I can't test effectively
    Quote
  • @ JonPurpleHaze:
    They wouldn't get deleted from the server, I don't think.
    Quote
  • @ JonPurpleHaze:
    Can we get back to the subdomain folders/files, the uploads.pinballnirvana.com folder is where uploads would need to be, just wondering what might need to be deleted..
    Quote
  • @ Ike Savage:
    do you mind a phone call? probably easier to discuss, save some wear and tear on my hands, too
    Quote
  • @ JonPurpleHaze:
    No problems Ike, can't talk now but will try and set this up.
    Quote
  • @ Ike Savage:
    okay, well let me know if you need space cleared up across the torrent area, because I have some ideas
    Quote
  • @ JonPurpleHaze:
    Yeah, noticed a .zip file contains many versions etc..
    Quote
  • @ JonPurpleHaze:
    Uploading a 1.34 GB Pink Floyd The Wall zip file via ftp to test...
    Quote
  • @ JonPurpleHaze:
    The file is actually on the server in FP originals but isn't public.
    Quote
  • @ Anthias:
    Um, so, Hi!. What did I miss? (he says as though he ducked to the toilet while the adds were on...)
    Quote
  • @ AnonTet:
    Hi guys, I«m asking here as it might have a quicker response. How can I check the ball size used by authors in FP? or at least the default size if anyone knows. Thanks
    Quote
  • @ Gimli:
    Most FP authors use the default size and don't know how to use BAM to alter it.
    Quote
  • @ Gimli:
    I think it may be 13.8 though
    Quote
  • @ AnonTet:
    Thanks. But while I've waited I've looked at a ring around a ramp in LotR that's 26mm so i figure the ball being 24mm. A bit short of real life ball size if that's so.
    Quote
  • @ AnonTet:
    of course I could've used my brains earlier and create a table with some carefully spaced guides and check that the ball is in fact 27mm in diameter. Peeking at fp.exe and bam.dll and there's no way to change this. you can set the colour and the id to track it though (but that's known)
    Quote
  • @ Gimli:
    With Bam custom ball coding you can create balls of any size...see my titorial
    Quote
  • @ Gimli:
    +1
    Quote
    @ Gimli: https://pinballnirvana.com/forums/index.php?threads/bam-feature-how-to-guides.19601/post-120547 +1
    Top