XML slot in BAM Menu

JLou5641

Pinball Hall of Famer
Joined
Jan 10, 2020
Messages
597
Reaction score
308
Points
69
Favorite Pinball Machine
Stargate
Hi, @ravarcade , @TerryRed , @GeorgeH

I saw that you can save different "xml" configuration in BAM menu. Those slot work, base on the "XML" in script, it save the new value you set for each slot.
But, where those setting are saved, and is there a way to call those slot with script?

For exemple, i make 3 slot, the first like the "Script" XML, the second with a different slope, and the third too. it work, but is not loaded automatically. You need to go in BAM menu and choose your "XML" slot.

Greating,
JLou
 
I've never really used that, or used any physics settings in the BAM menu. I always just edited the XML in the table script.
 
it's very cool stuff... I don't find where it store it, even if i delete cfg file, slot are saved with their setting... As lot of setting are customisable in table script and not in bam Menu, it take in account all value in the XML script for all slot, only the new value you set are overided.
 
This could be cool to make somthing like in PBFX with 2,3,4 style of gameplay, just with different slope, PF friction and other.. Selectable in game.
 
Slots? Not sure what you mean. I use the option "Save Tablename.xml" quite a bit when I an working on a table. I start out with my preferred XML file and then change the parameters with the in-game physics menu. The changes are not saved so you need to use the "Save Tablename.xml" before you quit the game. The file gets saved with the same file name as the table. I add the XML to the script until I am finished working on the table.

There is another option called "XML Presets". It allows you to switch to different XMLs. I tried it when it first came out and it didn't really interest me too much because I find it challenging enough developing 1 XML for a table, yet alone 3. I forgot how it works. I think @Gimli can probably tell you more about it. If memory serves me, he requested Rav add the feature.
 
Yes @GeorgeH , I talked about "XML presets".. They work. The first is the XML in script or in file, and the other you create with new value, overide only the "old" value. One exemple, if there is a possiblity to call a "preset" in script, you could make 10 preset with 10 different slope, and change it in game directly with key or in Menu like you do on your table, and save your setting in FpRam file.
By this way, you should able to make different profile of gameplay with more or less speed
 
Interesting, just a thought for tables with that third upper flipper. Would it be possible to change the XML settings on the fly whenever the ball is in that flippers hit zone?
 
@StevOz , you mean set a different strenght between lower and upper flipper?
 
Maybe my understanding of how XML settings work maybe not correct. Though my thinking was that if it just adjusts the flipper physics then for those upper flippers which are at different swing angles start angles a on the fly change would be useful with perhaps an invisible trigger to make that change when within range of said flipper.
 
you can't change the swing angle with xml. The only thing you can do is to change Omega and mass... Can you give me an exemple of what you want exactly?

But you give me an idea.. I work on new Dynamic Flipper V2, wich have EOS now... But in FP, Omega et 0 mean flipper don't rotate... so maybe there is a way to set swing angle in script.. Need to test an idea
 
No bother, it was more of a thought experiment to accommodate those other flippers that have different physics due to their different start angles and/or size.
 
Swing angle is not really the problem. But you can already set different physics between them
 
Interesting, just a thought for tables with that third upper flipper. Would it be possible to change the XML settings on the fly whenever the ball is in that flippers hit zone?

You can adjust omega on each flipper individually with dynamic flippers. Omega is the same thing as the strength adjustment that you can do in FP editor for each flipper. Like JLou said, the only other adjustment in the XML is the mass. I don't adjust mass that often. For me, it is pretty much set and forget.

I just remembered, the flipper rotation speed chart is in there as well. I'm not sure if there would be value in being able to change that for each flipper or not. JLou could probably tell you that better than I.
 
I continue to look at XML preset... And it work with flipper phyiscs too. That mean, on each preset you can have different Rotation Charts.
That mean we can have the possibility to make different flipper style behaviour with more or less power without changing Omega
For exemple, Omega you set is the omega when it's at 100% in Rotation charts... then if you make a Rotation Charts with a max at 90%, with an Omega at 65 for base and 35 for tip, you will have 58.5 and 31.5..
In the same way, it could permit to give flipper with more curved acceleration that make trick easier or harder, or more ON/OFF like old physics or like Gottlieb SYS3 flipper... So, base on the XML in script from the "standard" of the author who make the table, we can easily make easier or harder gameplay depend the player preference.
This this tool is very very usefull and could give us lot of possiblities and could give a corresponding gameplay for each player which could choosable as script option or in game with keys and "HUD" info !

I really hope @ravarcade or @Gimli tell me that we can call those preset in script.

@StevOz , you can't set different Rotation Chart for each flipper.. but even you set same Omega for all fliper in script, you can set different Omega for each one in editor.
Omega you set in script corresponding to the Omega at 100% on Rotation Chart and the "Strength" slider on the middle in Editor. One graduation less will reduce your omega to 12%, one more increase your Omega to 12%.

Two graduation reduce or increase Omega to 12% x 12%

Ex: For Omega 35 at the tip, one graduation less will give you:
35 x 0.88 ( 100% - 12% = 88% ) = 30.8

Two graduation less will give you:

( 35 x 0.88 ) x 0.88 = 27.1

That means you can have at minimum:

((( 35 x 0.88 ) x 0.88) x 0.88 ) x 0.88 = 20.98

and max:

((( 35 x 1.12 ) x 1.12 ) x 1.12 ) x 1.12 = 55.07
 
This could be cool to make somthing like in PBFX with 2,3,4 style of gameplay, just with different slope, PF friction and other.. Selectable in game.

xBAM.PhysicsXML should be able to do that. Problem, you'll have to c&p ALL xml line even if you change just 1 option (like slope). I actually had an old version of ... bally spectrum was it?) with this. I think I had like 6 options (6 different XML's plus the default one that must always exist in the script as well) and then by pressing a key i could cycle trough whatever option I wanted and play with more or less slope. The default/last option loaded would also be saved in one of the nvRxx internal variables.

Here for example: https://pinballnirvana.com/forums/threads/about-physics-for-a-better-gameplay.20401/post-127666

You can also get a "template" of the current physics in the necessary format (as in the link above) by pressing ctrl+c in "physics tweaks" withing BAM menu.

Caveat:
Only settings that are in BAM Menu can be changed on the fly as far as I know but I also I haven't tested thoroughly.
 
yep.

But here with BAM menu and preset, you can tune, set, test and save directly in game, and without making other xml.. The only one you need is the only one you have at start. So the preset feature have lot of advantage
 
xBAM.PhysicsXML should be able to do that.

I tested that the flipper rotation speed chart is loaded with xBAM.PhysicsXML. I tested it adding XML into the script as comment with flipper rotationSpeedChart="{0.0,100.0}[0.0,100.0]".

I pasted the xBAM.PhysicsXML code below the XML as comment above that contains <flipper rotationSpeedChart=""{0.0,1.0},{8.4,3.8},{20.6,9.0},{32.7,15.6},{42.9,22.0},{53.3,31.5},{56.9,39.3},{60.6,50.0},{63.0,62.0},{63.8,75.0},{64.9,100.0},{65.2,130.0}[0.0,0.0],[44.4,1.0],[119.7,14.5],[194.8,50.0],[216.4,100.0]""". It loaded the Rotation Speed Chart from the xBAM.PhysicsXML code.

Like Anon said, you have to paste the entire xBAM.PhysicsXML code for the whole XML. It also needs to be placed in the script after the XML as comment which is needed because the xBAM.PhysicsXML code does not load all the parameters that are in the xBAM.PhysicsXML code.
 
Last edited:
I already know that.
But there is tool to make simplier. Very simplier... So why do complicated when you can make easier
 
I know that I forget stuff I never use in a while hence my post about the XML.

I need to go to bam menu because I really don't recall what you're saying.
But if anything, i'd say it'll be saved in default.cfg. Easy to test. Edit, save, rename, exit FP, rename default.cfg to something else, load FP again and see if the options are gone.

Of course it is either that of inside cfg\game.cfg file which is also easy to test
 
Forum activity
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
      Mibs Mibs: HZR has posted a new reply in the thread "Complete list of VB commands".
      Back
      Top