Line 1: |
Line 1: |
− | Badge Arcade plays actions and formats text with what I like to call, “tags”. Tags are a collection of hex bytes, and these tags can be placed inside of text to color or scale text, and play animations on Badge Bunny. | + | Nintendo Badge Arcade uses <code>MSBT</code> files for Badge Bunny's dialog and animations |
| | | |
− | These tags are used for the MSBT text inside of <code>boss.sarc</code>.
| + | This page will only cover <code>MSBT</code> control tags specific to Nintendo Badge Arcade. For more details on <code>MSBT</code> files in general, refer to https://github.com/kinnay/Nintendo-File-Formats/wiki/MSBT-File-Format and https://mk8.tockdom.com/wiki/MSBT_(File_Format) |
| | | |
− | <span id="tag-format"></span> | + | <span id="location"></span> |
− | == Tag Format == | + | == Location == |
| | | |
− | {| class="wikitable"
| + | Nintendo Badge Arcade's <code>MSBT</code> files are loaded using <code>BOSS</code>. A large <code>SARC</code> archive file is downloaded which holds all the games data. Inside this <code>SARC</code> file, the <code>MSBT</code> files are stored in <code>/message/boss_REGION/LANG/slotID</code> |
− | |-
| |
− | ! Begin Format Tag
| |
− | ! Type
| |
− | ! Begin Data
| |
− | ! Data
| |
− | ! End Data and Tag
| |
− | |-
| |
− | | <code>0E 00 00 00</code>
| |
− | | <code>03</code>
| |
− | | <code>00</code>
| |
− | | <code>02 00 78</code>
| |
− | | <code>00 / FF / CD</code>
| |
− | |}
| |
| | | |
− | Tags have a 4 byte section to begin the tag. The 3rd byte will be 02 if it is an action tag.
| + | <span id="format"></span> |
| + | == Format == |
| | | |
− | This is followed by what type of tag it is, if it’s a text format tag.
| + | <code>MSBT</code> control tags have the following format |
| | | |
− | A 00 byte then follows to begin the tag data. This data continues until it hits either a 00, FF, or CD byte depending on what type of tag it is.
| + | {|class="wikitable" |
− | | + | |- |
− | <span id="tags"></span>
| + | ! Offset !! Size !! Description |
− | == Tags ==
| + | |- |
− | | + | | 0x0 || 0x2 || '''Magic'''. Always '''0E00'''. |
− | These are the tags that Badge Arcade uses to format.
| |
− | | |
− | {| class="wikitable"
| |
| |- | | |- |
− | ! Tag
| + | | 0x2 || 0x2 || Tag group ID |
− | ! Description
| |
| |- | | |- |
− | | <code>0E 00 00 00 03 00 04 00 RR GG BB FF</code> | + | | 0x4 || 0x2 || Tag ID |
− | | Colors text using the RR GG BB bytes as RGB hex. | |
| |- | | |- |
− | | <code>0E 00 00 00 02 00 02 00 FS 00</code> | + | | 0x6 || 0x2 || Data size |
− | | Changes the font scale using the FS byte. | |
| |- | | |- |
− | | <code>0E 00 02 00 00 00 04 00 AC TI ON CD</code> | + | | 0x8 || Data size || Data |
− | | Changes Badge Bunny’s action using the AC TI ON bytes. | |
| |} | | |} |
| | | |
− | The color and font scale tags format everything after them, unless an exit tag resets it. Action tags are to be placed at the end of a message.
| + | <span id="tag-groups"></span> |
− | | + | == Tag Groups == |
− | <span id="exit-tags"></span> | |
− | == Exit Tags == | |
| | | |
− | Exit tags are simply normal tags that set the already customized values back to defaults. They are exactly like normal tags, and are provided for reference. Exit tags are not necessary if you do not want to unformat the text at any point during the message.
| + | Nintendo Badge Arcade uses the following known tag groups: |
| | | |
− | {| class="wikitable" | + | {|class="wikitable" |
| |- | | |- |
− | ! Exit Tag | + | ! Tag group ID !! Description |
− | ! Description | |
| |- | | |- |
− | | <code>0E 00 00 00 03 00 04 00 00 00 00 FF</code> | + | | 2 || Badge Bunny (?) |
− | | Changes text to black. | |
− | |- | |
− | | <code>0E 00 00 00 02 00 02 00 64 00</code>
| |
− | | Changes font scale to 64, the default.
| |
| |} | | |} |
| | | |
− | If an exit tag is at the end of a message, an action tag MUST be provided, otherwise the game will read the exit tag as an action, which could cause problems.
| + | <span id="tags"></span> |
| + | == Tags == |
| + | |
| + | The following is an incomplete list of the tag groups tags, with names describing each tag type |
| | | |
− | <span id="recommended-color-values"></span> | + | <span id="badge-bunny"></span> |
− | == Recommended Color Values == | + | === Badge Bunny (?) === |
| | | |
− | These values are recommended for text coloration, as it is what official text is colored as. These are '''''not''''' restrictions.
| + | Tag group ID <code>2</code> |
| | | |
− | {| class="wikitable" | + | {|class="wikitable" |
− | |-
| |
− | ! Color
| |
− | ! Red
| |
− | ! Green
| |
− | ! Blue
| |
| |- | | |- |
− | | Hex
| + | ! Tag ID !! Name !! Data format |
− | | <code>#FF0000</code>
| |
− | | <code>#009B00</code>
| |
− | | <code>#0000FF</code>
| |
| |- | | |- |
− | | Note | + | | 0x0 || Play Animation || Animation ID. See below for details |
− | | Used for general highlighting,<br>and game names in the Miiverse Gallery. | |
− | | Rarely used, but mainly for the Miiverse Gallery. | |
− | | Usually used for character names,<br>and themes in the Miiverse Gallery.
| |
| |} | | |} |
| | | |
− | <span id="actions"></span> | + | <span id="badge-bunny-animations"></span> |
− | == Actions == | + | ==== Badge Bunny Animations ==== |
| | | |
− | Actions are animations that play on Badge Bunny when he says the current message. If there are multiple action tags, only the last one will play. If there is '''no''' action tag, a default nodding animation will play.
| + | The following is an incomplete list of the animation datas, with names describing each, and a preview of the animation. They are in no particular order |
| | | |
− | An incomplete list of the most common actions is below, with names describing them, and a GIF preview of the animation. They are in no particular order.
| + | {|class="wikitable" |
− | | + | |- |
− | You can substitute these into the ACTION bytes of the action tag.
| + | ! Animation ID !! Name !! Preview |
− | {| class="wikitable"
| + | |- |
| + | | <code>121414CD</code> || Flames || https://i.imgur.com/XJOXecm.gif |
| + | |- |
| + | | <code>111313CD</code> || Pounce || https://i.imgur.com/yF5kIhz.gif |
| + | |- |
| + | | <code>00302ECD</code> || Shocked || https://i.imgur.com/yUopyml.gif |
| |- | | |- |
− | ! Action
| + | | <code>003432CD</code> || Disappointed || https://i.imgur.com/Gg71ww3.gif |
− | ! Hex
| |
− | ! Preview
| |
| |- | | |- |
− | | Flames
| + | | <code>030505CD</code> || Shake My Hand || https://i.imgur.com/0koci1z.gif |
− | | <code>12 14 14</code> | |
− | | https://i.imgur.com/XJOXecm.gif | |
| |- | | |- |
− | | Pounce
| + | | <code>181F1FCD</code> || Chop Explain || https://i.imgur.com/usfbqcq.gif |
− | | <code>11 13 13</code> | |
− | | https://i.imgur.com/yF5kIhz.gif | |
| |- | | |- |
− | | Shocked
| + | | <code>002020CD</code> || Laugh (Small) || https://i.imgur.com/eLgzpfm.gif |
− | | <code>00 30 2E</code> | |
− | | https://i.imgur.com/yUopyml.gif | |
| |- | | |- |
− | | Disappointed
| + | | <code>192121CD</code> || Laugh (Slapping) || https://i.imgur.com/YR47psp.gif |
− | | <code>00 34 32</code> | |
− | | https://i.imgur.com/Gg71ww3.gif | |
| |- | | |- |
− | | Shake My Hand
| + | | <code>002828CD</code> || Head Shake || https://i.imgur.com/OUbeKS5.gif |
− | | <code>03 05 05</code> | |
− | | https://i.imgur.com/0koci1z.gif | |
| |- | | |- |
− | | Chop Explain
| + | | <code>1D2727CD</code> || Clap Explain || https://i.imgur.com/tCnWOdJ.gif |
− | | <code>18 1F 1F</code> | |
− | | https://i.imgur.com/usfbqcq.gif | |
| |- | | |- |
− | | Laugh (Small)
| + | | <code>020404CD</code> || Awkward || https://i.imgur.com/jO6Mlfo.gif |
− | | <code>00 20 20</code> | |
− | | https://i.imgur.com/eLgzpfm.gif | |
| |- | | |- |
− | | Laugh (Slapping)
| + | | <code>003937CD</code> || Flushed || https://i.imgur.com/ue2vopA.gif |
− | | <code>19 21 21</code> | |
− | | https://i.imgur.com/YR47psp.gif | |
| |- | | |- |
− | | Head Shake
| + | | <code>001B1BCD</code> || Shimmer || https://i.imgur.com/PotZ3LP.gif |
− | | <code>00 28 28</code> | |
− | | https://i.imgur.com/OUbeKS5.gif | |
| |- | | |- |
− | | Clap Explain
| + | | <code>000000CD</code> || Arms Crossed || https://i.imgur.com/G7VYCsu.gif |
− | | <code>1D 27 27</code> | |
− | | https://i.imgur.com/tCnWOdJ.gif | |
| |- | | |- |
− | | Awkward
| + | | <code>001818CD</code> || Clapping || https://i.imgur.com/fopecNR.gif |
− | | <code>02 04 04</code> | |
− | | https://i.imgur.com/jO6Mlfo.gif | |
| |- | | |- |
− | | Flushed
| + | | <code>1E2A2ACD</code> || Right Hand Slap || https://i.imgur.com/fnICcPG.gif |
− | | <code>00 39 37</code> | |
− | | https://i.imgur.com/ue2vopA.gif | |
| |- | | |- |
− | | Shimmer
| + | | <code>171D1DCD</code> || Music Note Burst || https://i.imgur.com/QXchrzO.gif |
− | | <code>00 1B 1B</code> | + | |} |
− | | https://i.imgur.com/PotZ3LP.gif | + | |
| + | <span id="recommended-color-values"></span> |
| + | == Recommended Color Values == |
| + | |
| + | These values are recommended for text coloration, as it is what official text is colored as. These are '''''not''''' restrictions |
| + | |
| + | Format is RGBA. Alpha is ignored by Nintendo Badge Arcade and is always set to <code>FF</code> |
| + | |
| + | {|class="wikitable" |
| |- | | |- |
− | | Arms Crossed
| + | ! Color !! Value !! Note |
− | | <code>00 00 00</code>
| |
− | | https://i.imgur.com/G7VYCsu.gif
| |
| |- | | |- |
− | | Clapping | + | | Red || <code>FF0000FF</code> || Used for general highlighting,<br>and game names in the Miiverse Gallery. |
− | | <code>00 18 18</code> | |
− | | https://i.imgur.com/fopecNR.gif | |
| |- | | |- |
− | | Right Hand Slap | + | | Green || <code>009B00FF</code> || Rarely used, but mainly for the Miiverse Gallery. |
− | | <code>1E 2A 2A</code> | |
− | | https://i.imgur.com/fnICcPG.gif | |
| |- | | |- |
− | | Music Note Burst | + | | Blue || <code>0000FFFF</code> || Usually used for character names,<br>and themes in the Miiverse Gallery. |
− | | <code>17 1D 1D</code> | |
− | | https://i.imgur.com/QXchrzO.gif | |
| |} | | |} |
| | | |