Difference between revisions of "MSBT file (Pikmin 3)"
(Created page with "{{todo|Document the file format.}} <code>.msbt</code> files contain the strings in ''Pikmin 3''. They can be found in the <code>/content/*/system/message.szs</code> files. For...") |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
== Tools == | == Tools == | ||
+ | * [https://github.com/IcySon55/3DLandMSBTeditor/ MSBT Editor Reloaded] | ||
* [https://gbatemp.net/threads/release-kuriimu-a-general-purpose-game-translation-toolkit-for-authors-of-fan-translations.452375/ Kuriimu] | * [https://gbatemp.net/threads/release-kuriimu-a-general-purpose-game-translation-toolkit-for-authors-of-fan-translations.452375/ Kuriimu] | ||
+ | * [https://github.com/ObsidianX/3dstools/blob/master/msbt.py ObsidianX's msbt.py] (MSBT <-> JSON) | ||
+ | ** To use this tool with ''Hey! Pikmin'', you will need to first change the parameters in JSON's text dumper to force ASCII. Find the line with <code>json.dump</code>, and change <code>ensure_ascii=False</code> to <code>ensure_ascii=True</code>. | ||
+ | ** In addition, in order for it to work with ''Pikmin 3'', find the line with <code>substrings.append</code>, and change the line to <code>substrings.append(string.decode('utf-16-%s' % ('-le' if self.order == '<' else '-be'), 'replace'))</code>. | ||
+ | |||
+ | == Changing who speaks in dialogue == | ||
+ | Before most lines of dialogue in ''Pikmin 3'''s MSBT entries, there are 10 bytes of hex starting with <code>0E 00 17 00</code> or something similar. Of these ten bytes, the last two bytes (the two bytes before the actual dialogue text) determine the character saying this dialogue. The second to last byte determines the voice used, while the last byte determines the icon used. | ||
+ | |||
+ | If MSBT Editor Reloaded (linked above) is used to edit a given MSBT file, the hex values before these lines of dialogue can be directly edited via its hex editor on the bottom right of the window. | ||
+ | |||
+ | {| class="wikitable sortable" | ||
+ | ! Hex value || Character voice | ||
+ | |- | ||
+ | | <code>00</code> || Alph | ||
+ | |- | ||
+ | | <code>01</code> || Brittany | ||
+ | |- | ||
+ | | <code>02</code> || Charlie | ||
+ | |- | ||
+ | | <code>03</code> || Louie | ||
+ | |- | ||
+ | | <code>04</code> || Olimar | ||
+ | |- | ||
+ | | <code>05</code> || S.S. Drake | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable sortable" | ||
+ | ! Hex value || Character icon | ||
+ | |- | ||
+ | | <code>00</code> || Alph, neutral | ||
+ | |- | ||
+ | | <code>01</code> || Brittany, neutral | ||
+ | |- | ||
+ | | <code>02</code> || Charlie, neutral | ||
+ | |- | ||
+ | | <code>03</code> || Louie, neutral | ||
+ | |- | ||
+ | | <code>04</code> || Olimar, neutral | ||
+ | |- | ||
+ | | <code>05</code> || Alph, shocked | ||
+ | |- | ||
+ | | <code>06</code> || Brittany, shocked | ||
+ | |- | ||
+ | | <code>07</code> || Charlie, shocked | ||
+ | |- | ||
+ | | <code>08</code> || Louie, shocked | ||
+ | |- | ||
+ | | <code>09</code> || Olimar, shocked | ||
+ | |- | ||
+ | | <code>0A</code> || Alph, happy | ||
+ | |- | ||
+ | | <code>0B</code> || Brittany, happy | ||
+ | |- | ||
+ | | <code>0C</code> || Charlie, happy | ||
+ | |- | ||
+ | | <code>0D</code> || Louie, happy | ||
+ | |- | ||
+ | | <code>0E</code> || Olimar, happy | ||
+ | |- | ||
+ | | <code>0F</code> || Alph, worried | ||
+ | |- | ||
+ | | <code>10</code> || Brittany, worried | ||
+ | |- | ||
+ | | <code>11</code> || Charlie, worried | ||
+ | |- | ||
+ | | <code>12</code> || Louie, worried | ||
+ | |- | ||
+ | | <code>13</code> || Olimar, worried | ||
+ | |- | ||
+ | | <code>14</code> || Alph, determined | ||
+ | |- | ||
+ | | <code>15</code> || Brittany, determined | ||
+ | |- | ||
+ | | <code>16</code> || Charlie, determined | ||
+ | |- | ||
+ | | <code>17</code> || Louie, determined | ||
+ | |- | ||
+ | | <code>18</code> || Olimar, determined | ||
+ | |- | ||
+ | | <code>19</code> || No icon is displayed | ||
+ | |- | ||
+ | | <code>1A</code> || S.S. Drake | ||
+ | |} | ||
[[Category:File formats]] | [[Category:File formats]] | ||
[[Category:Pikmin 3]] | [[Category:Pikmin 3]] |
Latest revision as of 13:19, 9 April 2023
To do: Document the file format.
.msbt
files contain the strings in Pikmin 3. They can be found in the /content/*/system/message.szs
files. For a list of MSBT files in the game, and what type of strings they usually contain, see MSBT file list.
Tools[edit]
- MSBT Editor Reloaded
- Kuriimu
- ObsidianX's msbt.py (MSBT <-> JSON)
- To use this tool with Hey! Pikmin, you will need to first change the parameters in JSON's text dumper to force ASCII. Find the line with
json.dump
, and changeensure_ascii=False
toensure_ascii=True
. - In addition, in order for it to work with Pikmin 3, find the line with
substrings.append
, and change the line tosubstrings.append(string.decode('utf-16-%s' % ('-le' if self.order == '<' else '-be'), 'replace'))
.
- To use this tool with Hey! Pikmin, you will need to first change the parameters in JSON's text dumper to force ASCII. Find the line with
Changing who speaks in dialogue[edit]
Before most lines of dialogue in Pikmin 3's MSBT entries, there are 10 bytes of hex starting with 0E 00 17 00
or something similar. Of these ten bytes, the last two bytes (the two bytes before the actual dialogue text) determine the character saying this dialogue. The second to last byte determines the voice used, while the last byte determines the icon used.
If MSBT Editor Reloaded (linked above) is used to edit a given MSBT file, the hex values before these lines of dialogue can be directly edited via its hex editor on the bottom right of the window.
Hex value | Character voice |
---|---|
00 |
Alph |
01 |
Brittany |
02 |
Charlie |
03 |
Louie |
04 |
Olimar |
05 |
S.S. Drake |
Hex value | Character icon |
---|---|
00 |
Alph, neutral |
01 |
Brittany, neutral |
02 |
Charlie, neutral |
03 |
Louie, neutral |
04 |
Olimar, neutral |
05 |
Alph, shocked |
06 |
Brittany, shocked |
07 |
Charlie, shocked |
08 |
Louie, shocked |
09 |
Olimar, shocked |
0A |
Alph, happy |
0B |
Brittany, happy |
0C |
Charlie, happy |
0D |
Louie, happy |
0E |
Olimar, happy |
0F |
Alph, worried |
10 |
Brittany, worried |
11 |
Charlie, worried |
12 |
Louie, worried |
13 |
Olimar, worried |
14 |
Alph, determined |
15 |
Brittany, determined |
16 |
Charlie, determined |
17 |
Louie, determined |
18 |
Olimar, determined |
19 |
No icon is displayed |
1A |
S.S. Drake |