Difference between revisions of "MSBT file (Pikmin 3)"

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
(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...")
 
(Added msbt.py. Also added the changes I needed to make to get this to work with Pikmin 3.)
Line 4: Line 4:
 
== Tools ==
 
== Tools ==
 
* [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>.
  
 
[[Category:File formats]]
 
[[Category:File formats]]
 
[[Category:Pikmin 3]]
 
[[Category:Pikmin 3]]

Revision as of 17:26, 14 November 2020

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

  • 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 change ensure_ascii=False to ensure_ascii=True.
    • In addition, in order for it to work with Pikmin 3, find the line with substrings.append, and change the line to substrings.append(string.decode('utf-16-%s' % ('-le' if self.order == '<' else '-be'), 'replace')).