-
Notifications
You must be signed in to change notification settings - Fork 6
Bitmap format
The Bitmap format (.bits) is used to map bones to bit values.
For instance, bones tied to bit 166 will be moved when bit 166 is triggered.
I made this format as no other RR-compatible engine has a way to add brand new user-made characters, and being able to tell the engine how you want every individual part of the bot to react when a bit value is sent out is important for features like physics.
Note
Make sure to use VSCode and the official VSCode extension while working with this format, as it is FAR easier
An example bits file is available here (or browse this mod's repository and look inside src/main/resources/assets/showbiz/showbiz/*)
Say we are working with this file:
I'll be dissecting it so its easier for you to understand how it works!
-
We first set up the mappings to for example tell Showbiz we'll be using Billy Bob if players are trying to play a standard RR Engine tape, or Bonnie if they're trying to play a Faz-Anim tape.
This is because Showbiz tries to maintain support for several RR Engine formats, as it is a bummer making a tape for one engine and not being able to play it on another, especially as many share common characters (ex: both Beach Bear and Bonnie have a guitar, a body tilt movement, etc)
-
Next is a block.
Blocks are responsible for performing actions when a bit value is received.
For instance, this reacts to the
body_leanit receives from any mapping. In our case, that is either Billy Bob's or Bonnie'sbody_lean.-
any/faz/rae<move>
The very first word here (any) refers to the mapping.anyis a special keyword that refers to any/all possible mappings.The
<move>can either be a name or an ID.Showbiz tries to abstract the actual bit ID numbers away to more easily allow sharing moves between different show formats, but you can still use them (ex:
rae 166to address Beach Bear's jaw)
-
-
This block chains together several
rotatefunctions.
Functions are read from top to bottom, and will be executed at precisely the same time -
By using a comma, you can target several bit values to make them trigger the same block.
This just saves you time while writing, and makes things more readable.
For more information, look at the Bitmap API reference page, as it lists all of the functions you can call