ROM Hack [Release] MSBT Editor Reloaded

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
463
Trophies
1
Age
38
XP
2,261
Country
Canada
I have finally returned from my two week vacation and have some time now to look at this.

Could I get sample MSBT files from Art Academy? Thanks.

Edit: The trick with supporting all the files at the same time is having a method of detecting which UTF the file is.
 
Last edited by IcySon55,
  • Like
Reactions: I pwned U!

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,232
Country
Brazil
I have finally returned from my two week vacation and have some time now to look at this.

Could I get sample MSBT files from Art Academy? Thanks.

Edit: The trick with supporting all the files at the same time is having a method of detecting which UTF the file is.
I added a link in the post

https://a.cocaine.ninja/nqtpfs.zip
 

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
463
Trophies
1
Age
38
XP
2,261
Country
Canada
I did notice that 0xC seemed to determine the encoding. However, looking at the Art Academy files, specifically the English ones, the files seem to be ASCII but 0xC is still 0x00 (UTF8)...

It does not. The Japanese files in Art Academy also show 0x00 at 0xC and they are double byte.
 
Last edited by IcySon55,

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
463
Trophies
1
Age
38
XP
2,261
Country
Canada
If you look at the actual content in the files (in TXT2) for Art Academy, the text is straight ASCII single byte.

Edit: Oh no... Art Academy is using UTF8 for the Japanese files, and the files are set to BigEndian but the Japanese characters themselves are LittleEndian and terminated with a single null byte! This puts all even strings out of alignment while the odd ones work fine. These files are horrible!
 
Last edited by IcySon55,
  • Like
Reactions: I pwned U!

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,232
Country
Brazil
If you look at the actual content in the files (in TXT2) for Art Academy, the text is straight ASCII single byte.

Edit: Oh no... Art Academy is using UTF8 for the Japanese files, and the files are set to BigEndian but the Japanese characters themselves are LittleEndian and terminated with a single null byte! This puts all even strings out of alignment while the odd ones work fine. These files are horrible!
yeah, I could view all files fine after forcing utf8.
 

soneek

Well-Known Member
Member
Joined
Jun 27, 2012
Messages
179
Trophies
0
XP
337
Country
United States
One thing that we could use assistance with is the checksum algorithm for sound labels, which is essential for being able to add new text entries to msbt files. So far I only have it figured out for strings with 3 or less characters, but the formula for that is based the ASCII codes for each character in the string. I posted about it at Zenhax a little while ago, so refer to that thread for my current progress.
 

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
463
Trophies
1
Age
38
XP
2,261
Country
Canada
@soneek I do wish I could help you with this. Unfortunately this kind of reverse engineering is beyond me. If you ever do get it figured out completely, I'd gladly implement adding new labels to MSBT files in my editor.
 

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
463
Trophies
1
Age
38
XP
2,261
Country
Canada
@Hiccup If that information is correct, then it most definitely will blow the lid off this problem!

I will have to implement reading the the LBL1 section more accurately using the information and then test the new reader on all of the different MSBT files that I know about (which is a ton as you know). ^_^;
 
Last edited by IcySon55,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://youtu.be/3eGAHfC5P-Y?si=Fo3iEl1pZ4D_O6dp +1