ROM Hack Please Help With A Text Dump!

PhantomGhost

Well-Known Member
OP
Member
Joined
Nov 12, 2016
Messages
163
Trophies
0
Website
agtteam.tumblr.com
XP
1,157
Country
United Kingdom
Hello!

I'm part of a team working on a translation project, but I'm having some trouble preparing the scripts! I'm really new to ROM Hacking and have tried numerous tutorials, but without any success :unsure:

I've tried CrystalTile, WindHex etc, but I barely understand them, so I'm not even sure if I've found the correct dialogue! There was a file called script.ssc, but it doesn't appear to have all the content.

The game in Question is the Kuroshitsuji/ Black Butler DS Game Phantom & Ghost (JPN) that was released in 2009.

Without the help of someone with expertise, I doubt we will be able to create an english patch as we had hoped, but just having a script that we can understand and translate to allow players to read side-by-side with the gameplay would be a huge step up from what is currently available, so I would like to humbly request some help! It would be really appreciated! I am one step away from getting on my knees and grovelling at this moment :rofl2::cry:

Thank you so much!!!!
 

DarthNemesis

Well-Known Member
Member
Joined
Feb 19, 2008
Messages
1,210
Trophies
0
XP
260
Country
United States
script.slt is a table that lists all of the files within script.ssc. It's a pretty straightforward format that wouldn't take long to write an unpacker for. But the individual script files are in one of the harder formats to work with, where the text strings are embedded within the binary script, so replacing lines won't be as easy as updating a pointer.

Do you have any examples of content that's missing from script.ssc?
 

DarthNemesis

Well-Known Member
Member
Joined
Feb 19, 2008
Messages
1,210
Trophies
0
XP
260
Country
United States
Ok, there weren't that many opcodes to figure out. Here's all the text in script.ssc.

Edit: Went ahead and finished the inserter. Barely any text is going to fit on a page without VWF support, though.

goVltRO.png

Download ButlerTrans v1.0
 

Attachments

  • kuroshitsuji-script.zip
    103.5 KB · Views: 272
Last edited by DarthNemesis,

PhantomGhost

Well-Known Member
OP
Member
Joined
Nov 12, 2016
Messages
163
Trophies
0
Website
agtteam.tumblr.com
XP
1,157
Country
United Kingdom
Hi! Wow, this is amazing!!!! Thank you so so so so so so so so so so much!!!!! Infact, that's not even enough "so's" :rofl2:

I did a quick test and successfully managed to follow everything! Yay! Though you're right about the text being weird, so thanks for mentioning the VWF Tool, I'm trying to figure out how to use it right now :wacko:

As you can probably tell I'm a huge n00b at this :rofl2: But thank you for creating a readme and program so simple and convenient to use! I'm not exaggerating when I say that there's no way this project could have gone on without your help. :shy:

Of course I'd like to credit you, so do you have a particular website or should I just post a link to your profile on this forum?
 
Last edited by PhantomGhost,

Auryn

Well-Known Member
Member
Joined
Jul 21, 2011
Messages
559
Trophies
1
Age
51
XP
706
Country
Swaziland
I believe that if Dark didn't talk about NTFR and the game from is 2009, you will probably not get a VWF to work without programming skills so sorry to say you are not even half way there.

Dammit, why do i have always be the bad guy that say thinks straight on the face??
:whip:
 

PhantomGhost

Well-Known Member
OP
Member
Joined
Nov 12, 2016
Messages
163
Trophies
0
Website
agtteam.tumblr.com
XP
1,157
Country
United Kingdom
Hi!

No it's okay, thanks for being honest with me! I have been having a lot of trouble with the VWF ^^' I don't really think all this ROM hacking stuff is for me... But we're still going to translate the text, and then I'm just hoping that someone will be able to do the finishing touches and pack it all together correctly. ^_^
 

DarthNemesis

Well-Known Member
Member
Joined
Feb 19, 2008
Messages
1,210
Trophies
0
XP
260
Country
United States
No, the game does use NFTR files. What you'll have to do is edit font/font0.nftr to make the characters take up less space. The NFTRedit program in my signature can do that using Tools -> Character Map.

Right now every character is drawn 16 pixels apart, but you can remove all the indentation by setting the offset to 0 and next offset equal to width:
2rJVdoo.png


I'd also recommend editing the glyph graphics themselves to be thinner so you can reduce the actual width of each character.
 

PhantomGhost

Well-Known Member
OP
Member
Joined
Nov 12, 2016
Messages
163
Trophies
0
Website
agtteam.tumblr.com
XP
1,157
Country
United Kingdom
Thankfully graphics is something I can do so editing the font to be thinner should be no problem. :rofl2:

The NFTRedit program you wrote is amazing. :bow:

The only thing I've noticed is that if we edit the name tags between the 【】's in the text files to read in English, they don't appear in-game, it's just a blank space. Is there a simple fix for this, or will it have to done with a hex editor?
 

DarthNemesis

Well-Known Member
Member
Joined
Feb 19, 2008
Messages
1,210
Trophies
0
XP
260
Country
United States
The only thing I've noticed is that if we edit the name tags between the 【】's in the text files to read in English, they don't appear in-game, it's just a blank space. Is there a simple fix for this, or will it have to done with a hex editor?

It seems like you can only use predefined names for those captions, and anything else won't show up. The glyphs don't match the NFTR fonts, either. My guess is that they're stored as graphics, so you'd need to find and edit those rather than translate them in the text.
 

Auryn

Well-Known Member
Member
Joined
Jul 21, 2011
Messages
559
Trophies
1
Age
51
XP
706
Country
Swaziland
I took a quick look at the game and it seems that there is a double problem.
Your program Dark convert the "English" letter into ASCII and don't let them in SJIS format.
And the second problem is what you said.


PS:
Searching in the ram, i found this:
dp96s4.png


Seems Dark is right. It's the first time i see this kind of "link" between text and images.
 
Last edited by Auryn,

DarthNemesis

Well-Known Member
Member
Joined
Feb 19, 2008
Messages
1,210
Trophies
0
XP
260
Country
United States
I took a quick look at the game and it seems that there is a double problem.
Your program Dark convert the "English" letter into ASCII and don't let them in SJIS format.

ASCII is part of Shift_JIS, and the above screenshots were created with it, so what exactly is the problem? And the inserter doesn't do any character conversion other than carriage return/line feed, you can use single-byte or double-byte characters freely.

Edit:
v0.9 - Added support for unpacking the graphics on initial Load and repacking any that were modified since the previous Save. Make sure to start over with a new dslazy/dsbuff folder from an unmodified NDS file. You can replace the font and any modified .sjs files after exporting with the new version.

Edit:
v1.0 - Added support for editing the text in arm9.bin. There's limited space, so you may get an error when importing if the new lines won't fit. The list of character names that correspond to those caption graphics is probably in there somewhere too.
 
Last edited by DarthNemesis,

PhantomGhost

Well-Known Member
OP
Member
Joined
Nov 12, 2016
Messages
163
Trophies
0
Website
agtteam.tumblr.com
XP
1,157
Country
United Kingdom
With v1.0 does it only import the arm9.bin? It's not loading any of the text or the graphics.. or maybe I'm just doing something wrong :blink: (I've only just seen your message so I didn't get a chance to download v.09)
 

Auryn

Well-Known Member
Member
Joined
Jul 21, 2011
Messages
559
Trophies
1
Age
51
XP
706
Country
Swaziland
ASCII is part of Shift_JIS, and the above screenshots were created with it, so what exactly is the problem? And the inserter doesn't do any character conversion other than carriage return/line feed, you can use single-byte or double-byte characters freely.

Edit:
v0.9 - Added support for unpacking the graphics on initial Load and repacking any that were modified since the previous Save. Make sure to start over with a new dslazy/dsbuff folder from an unmodified NDS file. You can replace the font and any modified .sjs files after exporting with the new version.

Edit:
v1.0 - Added support for editing the text in arm9.bin. There's limited space, so you may get an error when importing if the new lines won't fit. The list of character names that correspond to those caption graphics is probably in there somewhere too.
even if double byte is inputed, your program convert it to single byte. Mostly its not a problem but it can be if a game has an incomplete sjis set.
I posted the first part of the post before I tried to edit the script file directly by inputting double byte letters and see that nothing changed.
 

DarthNemesis

Well-Known Member
Member
Joined
Feb 19, 2008
Messages
1,210
Trophies
0
XP
260
Country
United States
With v1.0 does it only import the arm9.bin? It's not loading any of the text or the graphics.. or maybe I'm just doing something wrong :blink: (I've only just seen your message so I didn't get a chance to download v.09)

Whoops, had the other files commented out while I was working on arm9 and forgot to uncomment them afterwards. Fixed. You can set the log level to Info instead of Debug to speed up saving.

even if double byte is inputed, your program convert it to single byte. Mostly its not a problem but it can be if a game has an incomplete sjis set.
I posted the first part of the post before I tried to edit the script file directly by inputting double byte letters and see that nothing changed.

I just tried using double-byte characters and it didn't convert them.
 
Last edited by DarthNemesis,

PhantomGhost

Well-Known Member
OP
Member
Joined
Nov 12, 2016
Messages
163
Trophies
0
Website
agtteam.tumblr.com
XP
1,157
Country
United Kingdom
Thanks again! This is wonderful!

I finally managed to figure out how to open the images with Crystal Tile so I'm quite proud of myself :rofl2: It took me a while because a lot of programs want you to open them from the .nds but since the images are stored in those weird .obc files none of them could open it, so I used this guide to import it manually :D
a.png
This is just a bonus CG screen though, what I really need to find and edit are the instructions for the minigames. I found them in the bmp folder and managed to open it in crystal tile but it looks pretty weird. According to console tool, this is how it's supposed to look though?
Untitled.png
Tbh it wouldn't be hard to piece it back together with photoshop and translate the text (sticking to the palette so I don't have to figure out how to edit that too lol) but I'm worried that since it's scrambled in the viewer, if I put it back in the game straightened up, is it going to show correctly? Is it possible that there's more than one file I'll need to edit, or that I've just opened the wrong thing? (Still very much a n00b here :blush:)
I tried to do a very crude test edit to see what would happen, but when I played the game in the emulator all I got was this
oops.png
so in other words, I have no clue...

The other thing I want to ask is about ButlerTrans. When discussing it with other people I was told
If you just remove Japanese text and insert in its place as many letters of English as you require, you risk breaking all the jumps later on in the rom file. The program may, say, be expecting for there to be dialogue in place 27421, but when that dialogue starts at 27429 instead, unpredictable things will happen, the least of which is outputting nonsense on the screen. So it's absolutely necessary to overwrite and not insert/delete text
and not knowing enough about the subject, I have no idea if this is valid. Will I be able to use ButlerTrans to insert all of the translated text, or are they correct in saying that it's going to be necessary to have programming knowledge and edit the jumps?
 
Last edited by PhantomGhost,

DarthNemesis

Well-Known Member
Member
Joined
Feb 19, 2008
Messages
1,210
Trophies
0
XP
260
Country
United States
I'm worried that since it's scrambled in the viewer, if I put it back in the game straightened up, is it going to show correctly? Is it possible that there's more than one file I'll need to edit, or that I've just opened the wrong thing?
- NCLR files contain palettes
- NCGR files contain the graphics for individual tiles
- NSCR files contain the instructions for how to arrange tiles to form the full picture

So the tiles need to be in the same position relative to each other inside the NCGR in order for the NSCR to find them where it expects them to be. Ideally you'd find a program that's aware of both formats and updates the NSCR along with the NCGR so you don't have to manually move tiles around, but I haven't looked around for something like that. Maybe try Tinke?

Will I be able to use ButlerTrans to insert all of the translated text, or are they correct in saying that it's going to be necessary to have programming knowledge and edit the jumps?
That would be a problem if you were manually replacing text in a hex editor, but inserters like ButlerTrans recalculate the pointers and file sizes for you.
 
Last edited by DarthNemesis,

PhantomGhost

Well-Known Member
OP
Member
Joined
Nov 12, 2016
Messages
163
Trophies
0
Website
agtteam.tumblr.com
XP
1,157
Country
United Kingdom
That would be a problem if you were manually replacing text in a hex editor, but inserters like ButlerTrans recalculate the pointers and file sizes for you.

Oh, phew! Thanks for reassuring me :D

NSCR files contain the instructions for how to arrange tiles to form the full picture.

Ahh, that makes a lot of sense! I was just opening the NCGR which would explain that spectacular fail :rofl2: Funnily enough, I'd tried Tinke before but couldn't understand it, so I gave it another shot and then it worked wonderfully (maybe I'd originally accidentally used an out-dated version.)

It took me a while to sort all the bugs out, but I think I've finally got a grip on what to do! :toot:
EDIT: I lied. I messed up again. :cry: But I started a new thread for it since it's about images not text dumps, plus I feel really bad for bugging you guys again ^^'''

Anyway... Thank you both so so much for helping me out! You've been so kind giving up time to help me and there's no way this project could have even started without ButlerTrans. ^_^
 
Last edited by PhantomGhost,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Black_Manta_8bit @ Black_Manta_8bit: hey