'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' TABLE OF CONTENTS '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' The following are now part of this thread: 1.Intro and Preamble
""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 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 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.
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.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 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
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.
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 http:\\www.ravarcade.pl/beta/SetTextureDemo.fpt
ravarcade wrote:
Video Below: All room walls, floor, doors, art, pinball tables swap textures
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' End of xBAM.SetTexture Tutorial '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 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 !
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.
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
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 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.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 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.
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
"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):
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
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
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" BAM Animation Sequencer ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' This Tool is a well kept secret. In fact I think I am the only one who has ever used it
****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
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 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
It is currently Sat Feb 23, 2019 5:44 pm All times are UTC - 5 hours [ DST ]
Who is online
Users browsing this forum: No registered users and 1 guest
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