ROM Hack Help with converting the dumped hex(?) to text?

Status
Not open for further replies.

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
I'm planning on setting up a translation project for a certain game, but I'm having some trouble preparing the scripts.

I downloaded WindHex, using the shiftjis.tbl and already found the script files (.bin) in the rom.
When opening them with WindHex you get the usual long table with codes.
(Someone mentioned in a thread you had to select 'View Text Data as Unicode', not that it changed anything visually.)
I also 'learned' (hey, I'm a complete newbie with this.. ) how to dump the data in a text file by setting the offset.

But my only problem is, the dumped text looks nothing like something that I could possibly convert/translate.
Is there a certain step I have to follow?
This is for example what I got: http://www.sendspace.com/file/ol1oyt

($00)($00)($00)($00)($18)($A8)($01)($00)($AF)($DB)($00)($00)($32)($00)($00)($00)($57)($00)($00)($00)($78)($3C)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($D8)($00)($00)($00)($73)($75)($72)($65)($31)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($D8)($00)($00)($00)($46)($01)($00)($00)($73)($75)($72)($65)($32)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($1E)($02)($00)($00)($CC)($09)($00)($00)($73)($75)($72)($65)($33)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($EA)($0B)($00)($00)($E3)($00)($00)($00)($73)($75)($72)($65)($34)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($CD)($0C)($00)($00)($42)($01)($00)($00)($73)($75)($72)($65)($35)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($0F)($0E)($00)($00)($5F)($02)($00)($00)($73)($75)($72)($65)($36)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($6E)($10)($00)($00)($39)($02)($00)($00)($73)($75)($72)($65)($37)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($A7)($12)($00)($00)($9E)($07)($00)($00)($73)($75)($72)($65)($38)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($45)($1A)($00)($00)($C5)($00)($00)($00)($73)($75)($72)($65)($39)($00)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($0A)($1B)($00)($00)($B7)($00)($00)($00)($73)($75)($72)($65)($31)($30)($00)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($C1)($1B)($00)($00)($C7)($00)($00)($00)($73)($75)($72)($65)($31)($31)($00)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($AB)($38)($00)($49)($4E)($5F)($47)($50)($5F)($4C)($49)($4E)($45)($3B)($00)($00)($00)($00)($00)($0F)($00)($00)($00)($3D)($3D)($3D)($3D)($00)($7B)($49)($00)($49)

(Fileden isn't working atm, so unfortunately I can't host it there..)
EDIT: I already put it in the spoiler..

If anyone could help me with this, I would appreciate it A LOT!
 

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
Isn't there anyone who knows?
Another try and I got this:
($10)($C0)($01)($00)($04)($03)($00)($00)($00)($20)($00)($03)($88)($01)($16)($00)($00)($B0)($00)($03)($0C)($00)($0F)($90)($02)($1F)($28)($00)($0A)($20)($11)($17)($00)($27)($D1)($07)($00)($60)($00)($00)($26)($60)($13)($FF)($FF)($FF)($00)($FF)($EB)($10)($07)($80)($27)($10)($1F)($CA)($00)($53)($02)($F0)($27)($20)($2B)($7E)($0E)($40)($4F)($10)($66)($50)($09)($F0)($3B)($F0)($63)($D0)($3B)($14)($F7)($F0)($3B)($20)($77)($F0)($9F)($F0)($77)($1E)($F0)($77)($F0)($B3)($F0)($B3)($BD)($21)($19)($28)($F0)($B3)($F0)($EF)($F0)($EF)($21)($55)($32)($F1)($53)($E2)($21)($53)($91)($67)($91)($53)($00)($10)($04)($31)($8D)($10)($D0)($71)($94)($11)($7F)($08)($81)($A3)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)($00)
If there's just someone who could tell me what exactly these are and how I convert them..
Perhaps I'm doing something wrong?
 

azerty1

Well-Known Member
Member
Joined
Mar 22, 2009
Messages
160
Trophies
0
Age
29
Website
Visit site
XP
99
Country
Canada
ok...i guess you were following my instructions from the other topic...
I kinda skipped the most important step, by accident. before dumping anything and translating anythign, you need to sift through the file and figure out which bytes have something to do with the text, because if you're changing stuff, other stuff needs to be changed too.

oh, and i just realized that windhex does not quite dump from tables the way i thought it would...i had assumed the "Dump Text" would do things in Unicode...
regardless, even if you do dump it all and translate it, that won't actually be all that helpful. ROMs use really random methods of calculating string length and telling things what to do and everything, and it differs with every game. what you really need is a specific program for whatever game it is you're hacking.

FAST tells it all here:
http://gbatemp.net/index.php?showtopic=73394&st=45

what game are you hacking? i'll take a look and see if i can help you.
 

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
The first spoiler contains data from Ouran Koukou Host Bu and the second one from Kimi ni Todoke - Sodateru Omoi. Both games received many requests and I'm as well very interested in playing these.

I'm not sure if I used your instructions per se, I mostly referred to;
http://gbatemp.net/index.php?showtopic=106706&hl=

However, if you're willing to help me to get started with this or give me some useful hints, that'd be great.
 

jjjewel

Well-Known Member
Member
Joined
Dec 17, 2009
Messages
1,010
Trophies
0
XP
522
Country
United States
5hours said:
The first spoiler contains data from Ouran Koukou Host Bu and the second one from Kimi ni Todoke - Sodateru Omoi. Both games received many requests and I'm as well very interested in playing these.

I'm not sure if I used your instructions per se, I mostly referred to;
http://gbatemp.net/index.php?showtopic=106706&hl=

However, if you're willing to help me to get started with this or give me some useful hints, that'd be great.

Scripts for Kimi ni Todoke - Sodateru Omoi are compressed so you need to use a program to decompress them first before they're readable. (Search for LZ77 decompressor for the decompression tool.)

I was also interested in translating this game a while back so I extracted and decompressed the scripts. I'll post the download here in case it's helpful. (But as azerty1 said in the earlier post, being able to extract and translate scripts aren't everything you need for rom hacking, not until you can find out how to insert the translated scripts back without messing the texts.)

Here's the link for decompressed Kimi Todoke scripts (decompressed .bin files in \event\script folder)

http://www.mediafire.com/?mykzhted5eu

There are also some text in "growth" folder too but I didn't extract them. (Some of the files have texts, some don't. So you might have to manually check them.)


For Ouran, the scripts aren't compressed. You should be able to find them without too much trouble. (Most scripts are in \scr\bin and \scr\scene folders.)


I'd recommend CrystalTile2 if you want to check the scripts. Just change the encoding to Shift-JIS and you'll be able to read all the text. Anyway, the script texts are stored almost at the end of the files. Most codes at the beginning are probably pointers and control codes. (Most likely these are codes that you need to change in order to make your translated text readable when you insert it back to the game.)
 

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
@Jei:
Well, since these two games are visual novels, they have quite a lot of different scenarios, and therefore lots of dialogue, but they're mostly stored at at the same place.

For the Ouran rom; data\scr\bin

For the Kimi ni Todoke rom; -> data\event\script

Thanks for willing to look into it.

@jjjewel, I'll try everything out you just recommended. Already downloaded CrystalTile2 but so far I've had no luck. Hopefully this time..
Getting the text out and preparing the scripts for translation are the most important things now.. translators etc. will come later..
 

Jei

Translator and romhacker wannabe
Member
Joined
Oct 17, 2003
Messages
864
Trophies
0
Age
38
Location
Zillions of pixels far away~
Website
space.offgamers.com
XP
370
Country
Brazil
Since jjjewel took care of Kimi ni Todoke already, I think I'm looking at Ouran tonight
smileipb2.png
 

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
Thanks Jei, that's nice of you!
And thanks jjjewel for the decompressed files, I actually managed to see whole dialogues for the first time! But realizing that there's indeed a chance of not being able to correctly input the text back into the game makes me worry a bit. But right now I don't want to focus too much on that, haha.

Oh, I've got another question? (Gah, I feel so useless, blargh..)
How do I dump/extract the kanji texts from Crystaltile?
 

miruki

Well-Known Member
Member
Joined
Apr 23, 2008
Messages
635
Trophies
0
Age
38
Location
Awesometown
Website
geekouts.blogspot.com
XP
296
Country
Gambia, The
I would suggest taking those dl links off before any mod notices them. The roms are not hard to find if you know where to look.

Posting links to roms is forbidden, so better hurry before you get a warning. XD
 

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
miruki said:
I would suggest taking those dl links off before any mod notices them. The roms are not hard to find if you know where to look.

Posting links to roms is forbidden, so better hurry before you get a warning. XD
Okay, noted and deleted ;p
 

jjjewel

Well-Known Member
Member
Joined
Dec 17, 2009
Messages
1,010
Trophies
0
XP
522
Country
United States
5hours said:
Oh, I've got another question? (Gah, I feel so useless, blargh..)
How do I dump/extract the kanji texts from Crystaltile?

There's a text search function in CrystalTile. (View--> Text Search, then Search-->Ambassador Search)

For Kimi Todoke, after you use Ambassador Search you should see the script text at the bottom of the list. Move your mouse to the first column where it says pointer, then you can highlight only the rows with the script. (You can't highlight from other columns though, only the first column.) Then Edit-->Export Image. You'll see a Save As window. Change "Code" at the bottom part to "Unicode" and save. And you should get the script in .txt file.
 

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
I don't see an Ambassador Search option though..
only - (E)
- (A)
etc..

And the page just stays blank..
 

jjjewel

Well-Known Member
Member
Joined
Dec 17, 2009
Messages
1,010
Trophies
0
XP
522
Country
United States
5hours said:
I don't see an Ambassador Search option though..
only - (E)
- (A)
etc..

And the page just stays blank..

You probably have different version of CrystalTile then. Hm... Try playing around with the Search menu then. (After View-->Text Search). It should be one of the commands in the Search menu. Most likely the top or the second one, I guess. Try to get the text to show first. We can try to figure out how to import it later. (Maybe Edit--> Extract, if I remembered it right.)

Otherwise, try the latest version of CrystalTile2. (There should be a download link some threads back, in this forum.)
 

azerty1

Well-Known Member
Member
Joined
Mar 22, 2009
Messages
160
Trophies
0
Age
29
Website
Visit site
XP
99
Country
Canada
ok...the ouran rom is 256 Mb, meaning i can't download it at home...i'll get it at school and take a look.
depending on how busy i am and how easy it is, i might be able to pull together an extractor and an inserter sometime this week.
if anyone can check if pointers need to be reset, that would be quite helpful.
 

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
jjjewel said:
You probably have different version of CrystalTile then. Hm... Try playing around with the Search menu then. (After View-->Text Search). It should be one of the commands in the Search menu. Most likely the top or the second one, I guess. Try to get the text to show first. We can try to figure out how to import it later. (Maybe Edit--> Extract, if I remembered it right.)

Otherwise, try the latest version of CrystalTile2. (There should be a download link some threads back, in this forum.)
I'm already using Crystaltile2, should have mentioned that, I guess. I decided to take a screenshot to show you what my Search menu looked like,
everything is in English, except those commands. I'm assuming the (A) refers to Ambassador, but so far nothing happened.

screenshot
screenbw.png
 

suruz

Well-Known Member
Member
Joined
Oct 1, 2007
Messages
607
Trophies
0
Website
Visit site
XP
338
Country
I used translhextion to dump text.. you turn Unicode on, select the necessary .tbl file and turn "thingy view" on. Then you can see the text and dump it in that format. Or... is this situation different?

Anyway, if someone's making an extractor/inserter then problem solved, I guess ;D
 

jjjewel

Well-Known Member
Member
Joined
Dec 17, 2009
Messages
1,010
Trophies
0
XP
522
Country
United States
5hours said:
I'm already using Crystaltile2, should have mentioned that, I guess. I decided to take a screenshot to show you what my Search menu looked like,
everything is in English, except those commands. I'm assuming the (A) refers to Ambassador, but so far nothing happened.

screenshot
screenbw.png

In this case, the first one, "Search Script" should be the same as Ambassador search. (I guess.) Or you can try suruz's advice. I have read about translhextion some where too but didn't have a chance to try it yet.

Or you can try this version of CrystalTile2. I think it's the version with English interface modified by people from this forum. (There's a thread in this forum, maybe many pages back.)

http://www.mediafire.com/?1zzqg1y2dgh
 

azerty1

Well-Known Member
Member
Joined
Mar 22, 2009
Messages
160
Trophies
0
Age
29
Website
Visit site
XP
99
Country
Canada
well...the text hacking is in progress, but I'm getting into some troubles with the pointers (not too much experience in finding the tables...)
The script is in the .bin files in the data\scr\bin folder.
The header is in this format
00000000 tttttt 00 ???? 0000 ?? 000000
?? 000000 eeeeee 0000000

tttttt text start. Right on the 's' of "switch"

eeeeee is exactly 5 bytes after the end of weird commands that are in text...
everything is in reverse byte order.
after the header is a part that goes up to offset eeeeee, that is really, really weird...
it's got stuff writting like :
sure29 00 INE;
0D IN {5F} GP {5F} LINE;
after that, it's got some more stuff that i don't understand, but that has a pointer table somewhere in there.
The question marks are what I don't understand, of course...
I tried going to those offsets, but they either point to someplace outside the file, or into the middle of what looks like a pointer table, but isn't...

I can't brute force the extraction by looking for textbox initializations in this game since the commands are all in ascii and are kinda screwy...

could anyone lend a hand, please?
 

5hours

Active Member
OP
Newcomer
Joined
Jan 17, 2010
Messages
30
Trophies
0
XP
95
Country
United States
Nice to see you're willing to spend your time to look into this.
smile.gif
Unfortunately, I won't be able to help you with this matter, since I just got into this whole hex/script thing yesterday.
I hope someone else gives this thread a visit!
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: @BakerMan, https://youtu.be/KaMSXIRReOo?si=2hRoijJtiwPUHXk5