Romhacking => Newcomer's Board => Topic started by: rikoren on May 28, 2012, 11:10:11 pm

Title: Hacking Summon Night 1
Post by: rikoren on May 28, 2012, 11:10:11 pm
Hi, I've recently restarted a personal project of translating the original Summon Night for PSX. I've bumbled my way far enough to rip .DAT files from the game, and I could make out some of it with MadEdit, but I'm stuck on what to do next. More specifically, reading/writing/re-inserting the files back into the game.

I've looked at all the guides and documents and things on the main site and followed where I could, but if they give any details past where I am then I must not understand them, because I'm seriously a little lost right now. Is half the text supposed to look like gibberish? Do I just type translations over the Japanese in MadEdit? Should I be using a different program? Please help.
Title: Re: Hacking Summon Night 1
Post by: Xalphenos on May 29, 2012, 01:11:16 pm
If part of the text is gibberish its probably compressed. Madedit is fine as long as the text is shift-jis.   If it is compressed you will need to figure out the compression and either get rid of it so the game will load uncompressed text or modify it to work with English.  Something like that anyway. Depends on a number of things.  I'm new here.  So take the above with a grain of salt.
Title: Re: Hacking Summon Night 1
Post by: Auryn on May 31, 2012, 04:28:39 am
@Xalphenos: nope, almost everything you said is correct. The only thing "wrong" is the Shift-jis thing: Madedit supports many encodings and not only Shift-jis and the little correction below.

@rikoren: if you see the original text as gibberish, then the compression thing applies (note that compression include DTE/MTE but I doubt that a game still use them on the PSX era or later) or the game use a custom encoding (or naturally a combination of both).
If you see the original text correctly, you overwrite something in english and when you play the game you see gibberish english, try to use EDC/ECC Regen on it after you saved your changes and before you play the game.
Title: Re: Hacking Summon Night 1
Post by: Xalphenos on May 31, 2012, 01:40:39 pm
You are of course correct Auryn.  I have even been using madedit to view Korean, euc-kr, for a little while now.  Not sure why I said it had to be shift-jis.

To the OP  I looked at one of the dat files for the game and it looks to be uncompressed shift-jis to me, and what seems to be a pointer table.  Granted I can't read Japanese but I saw no gibberish.  Do you have Japanese fonts installed?  On my xp machine when I first looked at Korean in madedit half of it was gibberish until I installed Korean support in xp.  This is of course not a problem on win 7.  This was in cm1100.dat by the way.
Title: Re: Hacking Summon Night 1
Post by: rikoren on May 31, 2012, 08:06:48 pm
The dat files look like gibberish for me, though I did find some readable text halfway down cm1100. Thanks for the tips, and I'll try looking up this ECC Regen thing!

June 06, 2012, 08:07:54 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Okay, I managed to figure out inputting text. My problem now is that when I play the scene I've translated, the words go out of the text bubble, off the screen, and repeat themselves.  Does anyone have any clues on how to fix that?
Title: Re: Hacking Summon Night 1
Post by: Auryn on June 07, 2012, 08:53:26 pm
Well, if you go out of the screen, it means you have too many characters for each line. You have to figure out what is the max number of characters and insert a line break. If you have repeating text, you probably didn't correct the pointers and you made your translation longer that the original size.
Title: Re: Hacking Summon Night 1
Post by: rikoren on June 08, 2012, 11:23:34 pm
That makes do I do line breaks or find pointers though?
Title: Re: Hacking Summon Night 1
Post by: Auryn on June 09, 2012, 06:27:41 pm
There is no universal answer for both your question because each game is programmed differently.
Anyway, line breaks are easy, just check the hex values between the letters when the original text go to a new line and figure out which one is the correct one (could be 2 bytes as well).
For the pointers it's another story. Usually they are found just before or just after the text but there is no garantie for that; they could even be on another file.
I suggest you check some of the guides you can find online about pointers or HERE. (
Title: Re: Hacking Summon Night 1
Post by: Xalphenos on June 09, 2012, 07:28:32 pm
I don't think there are line breaks for this game.  Each line has a pointer, each line ends with 0x00.  The pointer table is just before the text.  The file cm1100.dat is actually a collection of many files.  If for instance you copy everything from 0xc3000 until the end of the text that's one file.  At the beginning of that file it looks like garbage then there is all the text.  The garbage is actually a pointer table.  Every word, two bytes, is a pointer to a text location in this file.  Well except the first one seems to be garbage.  To get the pointer we'll take the second word of the file which is 0xe800 reverse the bytes, it becomes 0x00e8, and multiply it by 2, actually its shifted left once in game, which will give us 0x01d0.  That is the offset of the first text in the file.  Then just repeat the process.