Register    Login    Forum    FAQ    PinSimDB.org

Board index » Resources » Tutorials, how-to's, bug report and docs




Post new topic Reply to topic  [ 13 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: BAM Feature How-to Guides
 Post Posted: Thu Feb 08, 2018 12:52 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
TABLE OF CONTENTS
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

The following are now part of this thread:
1.Intro and Preamble

2.xBAM.SetTexture for texture swapping of table and room objects
viewtopic.php?nomobile=f=55&t=6587&p=85592#p85592

3.xBAM.MagneticField for creating magnets and magnetic fields
viewtopic.php?nomobile=f=55&t=6587&p=85594#p85594

4.xBAM.GameRoom for toggling on/off FP default game room for room swapping
viewtopic.php?nomobile=f=55&t=6587&p=85657#p85657

5.xBAM.BallManager for scripting of many custom ball features
viewtopic.php?nomobile=f=55&t=6587&p=85765#p85765

6.Animation Sequencer for changing room angles for attract mode and game play
viewtopic.php?nomobile=f=55&t=6587&p=85723#p85723

7. XBAM.MiniPlayfield For Miniplayfield and object scaling,moving and animating. And attaching objects to balls
viewtopic.php?nomobile=1&f=55&t=6587&p=85768#p85768

8. XBAM.PhysicsTweaks
The unexplored GEM of BAM.
viewtopic.php?nomobile=0f=55&t=6587&p=85810#p85810


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
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 by Gimli on Fri Apr 13, 2018 10:19 am, edited 51 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Thu Feb 08, 2018 12:54 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
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:
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 3 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 (3 spots "Top Texture" "Side Texture" and "Enamel Map" in no particular order, it doesn't matter....)See Image 3 below "Create a Surface"
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:
xBAM.SetTexture "NewTarget", "SexyTarget", "0"


You can create code to swap between textures as follows


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:
TargetTexture = 2:CheckTargetTexture 


You do not have the required permissions to view the files attached to this post.


Last edited by Gimli on Fri Apr 13, 2018 10:28 am, edited 10 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Thu Feb 08, 2018 12:55 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
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
viewtopic.php?nomobile=0f=55&t=6587#p85591


Last edited by Gimli on Mon Feb 26, 2018 6:39 pm, edited 6 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Thu Feb 08, 2018 12:59 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
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:
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 by Gimli on Wed Feb 28, 2018 11:31 pm, edited 7 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Thu Feb 08, 2018 1:00 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
Similar to the Texture Swapping Code above, you can create varying magnet features
based on game events.

For instance
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:
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:
https://youtu.be/98OO_uVey9M


You do not have the required permissions to view the files attached to this post.


Last edited by Gimli on Fri Feb 23, 2018 12:43 am, edited 9 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Thu Feb 08, 2018 1:51 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada


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
viewtopic.php?nomobile=0f=55&t=6587#p85591


You do not have the required permissions to view the files attached to this post.


Last edited by Gimli on Mon Feb 26, 2018 6:40 pm, edited 6 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Sat Feb 10, 2018 11:58 am 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
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.


You do not have the required permissions to view the files attached to this post.


Last edited by Gimli on Wed Feb 28, 2018 11:39 pm, edited 9 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Sat Feb 10, 2018 12:01 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
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:
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:
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:
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:
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:
'                              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


https://youtu.be/dzL3oiE7SaQ
Here is the modded table ( use "B" to toggle Game Room)
https://www.dropbox.com/s/myt16p8ufvfxu ... h.rar?dl=0


Last edited by Gimli on Sun Mar 04, 2018 9:48 am, edited 13 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Sat Feb 10, 2018 12:28 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
Some players like to have no games room just black space around table.
This is easy to add as RoomNumber = 3 as follows:
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


https://youtu.be/itaZMicNUsc

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
viewtopic.php?nomobile=0f=55&t=6587#p85591


Last edited by Gimli on Mon Feb 26, 2018 6:44 pm, edited 2 times in total.

Top 
 Profile  
 
 Post subject: Re: BAM Feature How-to Guides
 Post Posted: Sat Feb 17, 2018 12:11 pm 
Online

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 2096
Location: Ontario, Canada
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
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

https://www.youtube.com/watch?v=umY58FRUnLM


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


Back to TABLE OF CONTENTS
viewtopic.php?nomobile=0f=55&t=6587#p85591


Last edited by Gimli on Wed Feb 28, 2018 11:39 pm, edited 28 times in total.

Top 
 Profile  
 
Display posts from previous:  Sort by  
 
Post new topic Reply to topic  [ 13 posts ]  Go to page 1, 2  Next

Board index » Resources » Tutorials, how-to's, bug report and docs


Who is online

Users browsing this forum: No registered users and 10 guests

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
cron