Nintendo Modern Arcade games (*.TXBN, Text BiNary)

How to translate the files of a game
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Nintendo Modern Arcade games (*.TXBN, Text BiNary)

Post by LolHacksRule »

I want to help with the English translation project of the JP version of the Mario Kart Arcade GP DX (since that was the only release dumped), preferably edit and view the TXBN (TeXt BiNary) files. So far, this is what I know on the files when examining data_en/txbn/format.txbn (smallest file)... They are similar to Nintendo's MSBT format but I guess Nintendo's Modern Arcade version of the file.

Code: Select all

0x00-0x04: TXBN (54 58 42 4E)
0x04: text node count
0x04-0x07: zero
0x08: same as 0x04
0x09-0x0B: same as 0x04-0x07
0C: 1A/1E/17/2A/2B/28/30/32/34 (unsure? 32: Uses empty bytes in text data? 1A: Uses FF in text data, nodes end with 00 00, add 20 bytes for first byte in, all bytes in or all bytes in first text nodes. 2A: Similar to 1A but the first hex of a text node is is added by 20. 2B: Compressed, add 20 bytes to hex before and after FF bytes in text data, has 30 bytes. 28: Compressed, add 20 bytes to hex before 00 bytes, has 30 before text nodes beyond 1. 30: Similar to 2B but only one byte in nodes are touched. 34: Has padding? First hex in each text node is added by 20, has FF bytes in text nodes, end with 00 00. 1E: Similar to 28 20 ? 17: ?)
0D-0x17: zero
0x18: text node number?
0x19-0x1B: zero
0x1C: same as 0x18
0x1D-0x1F: zero
0x20-0x22: FF
0x23: zero
0x24: ?
0x26-0x2B: zero
0x2C: ?
0x2D-0x33: zero
0x34: Text byte count
0x35-0x37: zero
0x38: Text data
0x46-0x47: zero (end of file)


UPDATE: TXBN is not by Namco, is it Nintendo?
UPDATE2: An SDK kit (?) leftover for TxtMessage is in LM Arcade's dump.
UPDATE3: TXBN is not by SEGA, is it Nintendo?
UPDATE4: Its definitely Nintendo according what I can compare similarly to internal leaks.
Last edited by LolHacksRule on Wed Oct 07, 2020 6:16 pm, edited 2 times in total.
LokiReborn
Posts: 190
Joined: Fri Aug 26, 2016 3:11 pm

Re: Nintendo/+Criware Modern Arcade games (*.TXBN, Text BiNary)

Post by LokiReborn »

Not sure if it's the same for all of the files but looking at one this is the basic breakdown, all strings are unicode.

Code: Select all

54 58 42 4E //Magic
22 00 00 00 //Count Table 1
22 00 00 00 //Count Table 2

/Start Table 1
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00
00 00 00 00 //Identifier
08 00 00 00 //Length with null terminator
00 00 00 00 //Relative offset to String Table

1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 01 00 00 00 0A 00 00 00 08 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 02 00 00 00 0C 00 00 00 12 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 03 00 00 00 08 00 00 00 1E 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 04 00 00 00 0A 00 00 00 26 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 05 00 00 00 0A 00 00 00 30 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 06 00 00 00 0C 00 00 00 3A 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 07 00 00 00 08 00 00 00 46 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 08 00 00 00 10 00 00 00 4E 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 09 00 00 00 08 00 00 00 5E 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 0A 00 00 00 0C 00 00 00 66 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 0B 00 00 00 0E 00 00 00 72 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 0C 00 00 00 0A 00 00 00 80 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 0D 00 00 00 0E 00 00 00 8A 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 0E 00 00 00 0E 00 00 00 98 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 0F 00 00 00 10 00 00 00 A6 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 10 00 00 00 08 00 00 00 B6 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 11 00 00 00 0A 00 00 00 BE 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 12 00 00 00 0C 00 00 00 C8 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 13 00 00 00 08 00 00 00 D4 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 14 00 00 00 0A 00 00 00 DC 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 15 00 00 00 0A 00 00 00 E6 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 16 00 00 00 0C 00 00 00 F0 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 17 00 00 00 08 00 00 00 FC 00 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 18 00 00 00 10 00 00 00 04 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 19 00 00 00 08 00 00 00 14 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 1A 00 00 00 0C 00 00 00 1C 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 1B 00 00 00 0E 00 00 00 28 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 1C 00 00 00 0A 00 00 00 36 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 1D 00 00 00 0E 00 00 00 40 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 1E 00 00 00 0E 00 00 00 4E 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 1F 00 00 00 10 00 00 00 5C 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 20 00 00 00 08 00 00 00 6C 01 00 00
1A 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 FF FF FF 00 01 00 00 00 21 00 00 00 08 00 00 00 74 01 00 00

//Start Table 2
06 00 00 00 //Length of string without null terminator
08 00 00 00
0A 00 00 00
06 00 00 00
08 00 00 00
08 00 00 00
0A 00 00 00
06 00 00 00
0E 00 00 00
06 00 00 00
0A 00 00 00
0C 00 00 00
08 00 00 00
0C 00 00 00
0C 00 00 00
0E 00 00 00
06 00 00 00
08 00 00 00
0A 00 00 00
06 00 00 00
08 00 00 00
08 00 00 00
0A 00 00 00
06 00 00 00
0E 00 00 00
06 00 00 00
0A 00 00 00
0C 00 00 00
08 00 00 00
0C 00 00 00
0C 00 00 00
0E 00 00 00
06 00 00 00
06 00 00 00

//Strings
DE 30 EA 30 AA 30 00 00
EB 30 A4 30 FC 30 B8 30 00 00
D1 30 C3 30 AF 30 DE 30 F3 30 00 00
D4 30 FC 30 C1 30 00 00
E8 30 C3 30 B7 30 FC 30 00 00
AD 30 CE 30 D4 30 AA 30 00 00
69 30 93 30 61 30 83 30 93 30 00 00
AF 30 C3 30 D1 30 00 00
C9 30 F3 30 AD 30 FC 30 B3 30 F3 30 B0 30 00 00
EF 30 EA 30 AA 30 00 00
EF 30 EB 30 A4 30 FC 30 B8 30 00 00
AF 30 C3 30 D1 30 2A FF 52 FF 0E FF 00 00
ED 30 BC 30 C3 30 BF 30 00 00
E1 30 BF 30 EB 30 DE 30 EA 30 AA 30 00 00
BF 30 CC 30 AD 30 DE 30 EA 30 AA 30 00 00
DA 30 F3 30 AE 30 F3 30 DE 30 EA 30 AA 30 00 00
DE 30 EA 30 AA 30 00 00
EB 30 A4 30 FC 30 B8 30 00 00
D1 30 C3 30 AF 30 DE 30 F3 30 00 00
D4 30 FC 30 C1 30 00 00
E8 30 C3 30 B7 30 FC 30 00 00
AD 30 CE 30 D4 30 AA 30 00 00
69 30 93 30 61 30 83 30 93 30 00 00
AF 30 C3 30 D1 30 00 00
C9 30 F3 30 AD 30 FC 30 B3 30 F3 30 B0 30 00 00
EF 30 EA 30 AA 30 00 00
EF 30 EB 30 A4 30 FC 30 B8 30 00 00
AF 30 C3 30 D1 30 2A FF 52 FF 0E FF 00 00
ED 30 BC 30 C3 30 BF 30 00 00
E1 30 BF 30 EB 30 DE 30 EA 30 AA 30 00 00
BF 30 CC 30 AD 30 DE 30 EA 30 AA 30 00 00
DA 30 F3 30 AE 30 F3 30 DE 30 EA 30 AA 30 00 00
C1 30 FC 30 E0 30 00 00
00 30 FB 30 00 30 00 00
ducan012456
Posts: 64
Joined: Mon Apr 08, 2019 8:20 am

Re: Nintendo/+Criware Modern Arcade games (*.TXBN, Text BiNary)

Post by ducan012456 »

Mario Kart Arcade GP DX text tool
By Cloud

Note:
- Not tested in-game
- Do not delete, modify "<ByCloud>" or the game crash

*edit by aluigi* https://www.mediafire.com/file/ci9c8zqu ... l.zip/file
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Nintendo/+Criware Modern Arcade games (*.TXBN, Text BiNary)

Post by LolHacksRule »

Thanks so much. tbh someone has a tool too but I don't think he's giving it away... Doesn't really work on some of Luigi's Mansion Arcade's TXBNs (some of them have "no data" exported and are binary).
LokiReborn
Posts: 190
Joined: Fri Aug 26, 2016 3:11 pm

Re: Nintendo/+Criware Modern Arcade games (*.TXBN, Text BiNary)

Post by LokiReborn »

LolHacksRule wrote:Thanks so much. tbh someone has a tool too but I don't think he's giving it away... Doesn't really work on some of Luigi's Mansion Arcade's TXBNs (some of them have "no data" exported and are binary).


The format for these files are similar but different, so the same tool wouldn't work on it as is. Were these files edited at all, specifically system.txbn? The count of the entries in table 1 is wrong which was kind of weird.

In regards to extracting them the process is pretty simple, something like the attached would work. In regards to repacking the part where it gets interesting is if you want to change the number of lines and stuff. The default is 0x0A which is switched to printed \n and you need to generate the string table according for the lengths of the line breaks.
Last edited by LokiReborn on Mon Mar 02, 2020 1:47 am, edited 1 time in total.
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Nintendo/+Criware Modern Arcade games (*.TXBN, Text BiNary)

Post by LolHacksRule »

Thanks
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Nintendo/+Criware Modern Arcade games (*.TXBN, Text BiNary)

Post by LolHacksRule »

No the files are clean from the game's dir.
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Nintendo/+Criware Modern Arcade games (*.TXBN, Text BiNary)

Post by LolHacksRule »

Never mind