ROM Hack In need of assistance with custom text importer.

PhantomGhost

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

I have to start by saying that I'm quite a novice at ROM Hacking, despite my best efforts to understand it... but luckily the very kind DarthNemesis helped us out by writing a custom text extractor/inserter. Thanks to that me and my team have been able to make great progress on our quest to release an English patch for the 2009 Black Butler/Kuroshitsuji DS Game Phantom & Ghost!

We're now at the stage where I'd really like to be formatting files and testing them out in the game. However, I've noticed that importing doesn't always work quite right, and it tends to cause any repacked .nds games to crash whilst playtesting. I've tried messaging DarthNemesis about this, but it seems like they're no longer on this forum. I believe the program they wrote was shared with MIT license (which freely allows editing) as previous ones have been, so I'd like to b̶e̶g̶ ask someone with the know-how to aid us!

I'm providing a demo translation and the edited NFTR for testing. To get to this scene there's a little introduction, and on the first character choice you need to pick "Ciel."

Incidentally those two introduction scenes 'boot' and 'op' work fine with the English translation. But I have tried around with files other than c01a and have also had issues. It always causes a progression block, usually by freezing the game but sometimes skipping a portion of it and on one occasion just showing garbled text that got stuck.

They always occur in the same places. On the first choice, if you pick "30 minutes" or "I’ll leave it to you." it ends just before a minigame. You can progress further only if you press "5 minutes.". Doing so continues onto another choice, but whatever you pick here ends at the line "As you should. Alright, let’s go." Though it continues onto day 2, it entirely skips the end of c01a, where you're supposed to be met by a mysterious stranger regardless of the choice.

So I'm at a bit of a loss on how to proceed. I'm just assuming it's the importation method here. I'm using Windows 10, ButlerTrans 1.0, DeSmuME 0.9.11 and dsbuff is apparently "v1 final". Ideally I'm hoping to get this issue fixed so we can continue using ButlerTrans, but if that's not possible then I'd be happy to try to manually insert text via a hex editor, provided that someone would be able to help get me started with some n00b friendly guidance.

The team has come a long way and the project has gathered a humble following on tumblr, so I really don't want to let them down of my own incompetence. I would be really, really grateful for the assistance. (And happy to offer any assistance you might need that's within my skillset e.g. anime/pixel art, image editing, proofreading, formatting (assuming I'm given instructions) testing or anything else you might need in exchange for the time.)

Thanks for reading!

EDIT EDIT: I know that editing someone else's work can often be more frustrating and time consuming than writing something new from scratch, so I'm very welcome to anyone who might want to create a new inserter/extractor separate to ButlerTrans. Here's everything I know on that front;
The game is produced by Square Enix. The original language is Japanese, though it does also use English text on various occasions.
The games text is contained within data> script folder. There's 'script.slt' which is a table listing all of the files within script.ssc. When extracted with ButlerTrans, it splits into various .sjs files with titles such as 'c01a'.
The text strings are embedded within the binary script, so replacing lines isn't as easy as updating a pointer. (However ButlerTrans 1.0 does come with a pointers folder, I think it's to do with the arm9.bin which it also unpacks. That's got all the text for saving/loading data etc so also needs to be extracted/inserted.)
Images are in .bgc files which ButlerTrans also extracts into .ncgr/.nclr e.t.c. files. Graphics Hacking is something I think I have figured out(!), and from my preliminary tests there are no issues trying to insert modified images back into the ROM with ButlerTrans. I have not tested it with any large number of images as of yet, but so far I don't think there's any need for any new program to also handle images (unless you think it's worth doing for any reason.)

I know I'm shamefully pretty much asking "hey, can someone do all the work for me?" I have been around the web and found a wealth of knowledge to help beginners to ROM Hacking. I've taken note how they all mention a steep learning curve. File types in this game seem to be unusual (at least, nothing a thorough google search has discovered.) I wouldn't be here if I wasn't at my wits end. I'm afraid that I don't have a technical bone in me (much more of an 'artsy fartsy' person, after struggling for a while I was immensely pleased with myself for even being able to view and image correctly with CT2...) So, this is me, grovelling and asking for someone else to do the work that I'm failing to understand so don't think I'd be able to. :blush:

"Why not give up here?" I have a team of about 20 on/off people who, like I am asking you to do, have volunteered their free time with faith in this project and a desire to bring a translation patch to the fandom! They have all been doing their very best, and I will never forgive myself if I were to just let their work go to waste. If I could pay someone to help, I would. But I have neither the means, nor the way given the fact offering money would probably be very inappropriate as a newbie member to the forum without any reputation to go on. However as stated above, I will GLADLY trade you my time, doing any task you need that's within my capabilities. I'm happy to complete this task before you even look into the ROM. I'm not asking for help out of laziness or sneakiness, and I hope you can see that this is a genuine case and lend me your assistance in return.

Thank you so much for reading this to the end! :D

Update: I'm still looking into anything that I can figure out. Had a bright spark to try using a different emulator (iDeaS). Still not working with ButlerTrans, but I did have a look with the debugger. It's loading addresses around 03FFFFFF into memory. In an unedited ROM, these come at the very end (and don't really seem to contain anything?), but in the ButlerTrans version, these lines no longer exist. I'm assuming the screen freeze is therefore due to the game attempting to run something that it can't actually find, though I don't think I'm getting any closer to figuring out a solution..
 
Last edited by PhantomGhost,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Lol rappers still promoting crypto