@Popotte @Runner @Zobou @JLou5641 @GeorgeH @Gimli @AnonTet @LtJazz
1.6 - AIO Example table - Big update! Fixes and changes!
- removed commands for functions not used in this example table (PUP_DMD_Enabled, PUP_Stream_Enabled, etc) thanks to
@GeorgeH for catching that!
- updated FizX physics code to change how ball ID's are handled to prevent conflicts
- updated FizX physics code for more efficient Rubber bounce handling
- updated Ball Rolling Sound code to change how ball ID's are tracked to prevent conflicts
- Ball Rolling Sound settings has a new option to disable / enable Ball Rolling Sounds
- Ball Rolling Sound settings has TrackedBalls() now (it was located in Rall Rolling Sound code section before)
- ray cast shadows are enabled, because..... why not :)
With the previous (1.5 AIO table and older) code for FizX and Ball Rolling Sounds, there were conflicts with some tables that used the same Integer arrays (for BAM Custom Balls and other things), which would cause some problems.
Now the following are used by FizX and Ball Rolling Sound tracking:
Ball.ExtInt3 --> FizX
Ball.ExtFloat3 --> Rolling sound tracking ID
This frees up the following for other uses:
Ball.ExtInt1
Ball.ExtInt2
Ball.ExtFloat1
Ball.ExtFloat2
Ball Rolling Sound Settings and startup changes:
- note the new Enabled setting and the new location for TrackedBalls() (which is no longer in the Ball Rolling Sound code!)
...and the Ball_Rolling_Sounds_Start has been updated
As for how the Ball Rolling sound works... a simple explanation as best as I can describe...
- Table starts
- Ball_Rolling_Sounds_Start is run, and the Ball Rolling Timer starts (timer is always running, never stops)
- Ball Rolling code waits to see if any balls are created
- once a Ball is created, it's detected and now assigned a tracking ID, and is now tracked
- looping sound is started with volume = 0 on next available "channel" (PUP has its own multiple channels, FP Sound uses specified playmusic channel in Ball Rolling Sound settings)
- volume / pitch will change based on ball speed and position, etc.
- if more balls are created, they are tracked, assigned an ID and will play another looping rolling sound on next available channel (PUP SSF only), which will change based on position / speed of those balls
- if a tracked ball is destroyed, then Ball Rolling tracking / looping sound ends (no longer using that "channel")
- Ball Rolling Timer checks for any other balls
- if any other balls exist, then process repeats and is now tracking another ball (next in line) and playing rolling sounds based on this ball's speed and position on next available channel
- this process repeats each time a ball is destroyed
- when all balls are destroyed, then timer keeps checking for any new balls
The nice thing is.... you don't need to really understand how it works... as it just works automatically. :)
Updating previous tables already using the AIO Example code version 1.5 or older
To anyone who has used the AIO Example table code (1.5 or older), I highly recommend you update to the new code.
To properly update your table, do the following:
- make a backup of your current table with the older AIO Example table code
- copy
ALL the code from the new 1.6 table starting from
"COPY ALL CODE TO ANOTHER TABLE - START HERE!" to
"COPY ALL CODE TO ANOTHER TABLE - END HERE!"... and replace your table's (AIO Example table) code with the new 1.6 table code (all of it!).
- it's important that you use all the new code, as some things are arranged different, and new settings added, etc
- update the
FizX_General_Settings section using the settings from your backup table
- update the
FizX_Profile_1_Settings section using the settings from your backup table
- update the
FizX_Profile_2_Settings section using the settings from your backup table
- copy the
PHYSICS XML section from your backup table and replace the PHYSICS XML section in the new table.
Only do this if you made any needed changes to this section!
- copy the
MECHANICAL SOUNDS AND FEEDBACK section from your backup table and replace the MECHANICAL SOUNDS AND FEEDBACK section in the new table
- update the
"Ball Hit Sounds : Volume Setup" and the
"Ball Rolling Sound Settings" as needed based on your backup table's settings
PUP SSF and the FP_PUP_SSF pup-pack
- if the player has PUP installed, but does not have the FP_PUP_SSF pup-pack installed, then if PUP_SSF_Enabled = true, the player will have no mechanical / ball rolling sounds, as PUP won't be able to load any sounds from the FP_PUP_SSF PuP-Pack
- I recommend you include the FP_PUP_SSF pup-pack folder with your tables that use this AIO Example code. Make mention in your download post about copying FP_PUP_SSF to the PUPVideos folder for anyone who has PUP installed
- if you do not want to include the FP_PUP_SSF pup-pack with your table, or don't want to support PUP features on your table... then be sure you have PUP_SSF_Enabled = false set in your table script
The new 1.6 table update can be found here (also on the first page's tutorial)
drive.google.com