Hacking Eiyuu Densetsu: Sora no Kiseki FC Evolution [Translation Port]

AttackOtter

Well-Known Member
Member
Joined
Nov 11, 2015
Messages
357
Trophies
0
Age
29
XP
1,375
Country
United States
By decompile I'm pretty sure they meant reversing the script format into a full text-based format. Just being able to read the text does not mean the files aren't compiled. The fact that it has so much garbage data when using a regular text editor means the scripts are encrypted/compiled/whatever it's called.
 
D

Deleted User

Guest
So heres an update, its for SC, but now I know how SC works it shouldn't be hard to do the same for FC either, though there are other issues with other files I have no idea how to get working.

As mentioned before progress is very very slow.

I only did this opening scene anyway.
 
Last edited by ,

moonblood666

Well-Known Member
Member
Joined
Feb 24, 2014
Messages
484
Trophies
0
Age
39
XP
1,693
Country
Gambia, The
Wow, great work man...
So the untranslated hiragana and kanji is text that wasn`t in the PC version, then?
Still, this gets me excited... I mean to be able to play the evo ports one day is like a dream coming true... Keep up the good work.
 
Last edited by moonblood666,
  • Like
Reactions: Diag
D

Deleted User

Guest
Wow, great work man...
So the untranslated hiragana and kanji is text that wasn`t in the PC version, then?
Still, this gets me excited... I mean to be able to play the evo ports one day is like a dream coming true... Keep up the good work.

the untranslated hiragana and kanji is just text I accidentally left in, everything in those screenshots is fully translated. Its just sometimes I accidentally left the original dialogue in there.

I'm really hoping someone else will join and pick this up, I can help out here and there but I can't dedicate much time to this at all, just the odd lunchtime here and there, so if its JUST me, this whole thing is going to take months and months, because i'll have to play the game at the same time, spoiling the game for myself to translate it as I go. And i'm pretty swamped up until around March of next year. So at most I'm only going to be able to put a few hours in until then.

So if anyone else is interested, I can walk them through the steps easily enough, its not difficult to do this, its a little fiddly, but its largely just time consuming.
 

moonblood666

Well-Known Member
Member
Joined
Feb 24, 2014
Messages
484
Trophies
0
Age
39
XP
1,693
Country
Gambia, The
Well, if you need to replace text for EVERY textbox manually, SC may be to much for one person.
The japanese script of SC consists of roughly 3 Million characters (Sora FC only 1.5 Million, Sora 3rd 2 Million). For comparison: Final Fantasy XII has only 600K characters. I don`t want to discourage you, it`s the least i want to do, but having played through FC and SC the mere thought of replacing every line of text manually would drive me to suicide.^^
Maybe Sora FC is managable, but SC is a beast...
I`m personally in a very similar position as you, so i could only work on it on my lunch break at work and i don`t even have a Vita, only a PSTV at home, so i couldn`t even check it at work.
 
Last edited by moonblood666,

satan89

Well-Known Member
Member
Joined
Jan 30, 2014
Messages
424
Trophies
0
Location
Limbo
XP
805
Country
India
the untranslated hiragana and kanji is just text I accidentally left in, everything in those screenshots is fully translated. Its just sometimes I accidentally left the original dialogue in there.

I'm really hoping someone else will join and pick this up, I can help out here and there but I can't dedicate much time to this at all, just the odd lunchtime here and there, so if its JUST me, this whole thing is going to take months and months, because i'll have to play the game at the same time, spoiling the game for myself to translate it as I go. And i'm pretty swamped up until around March of next year. So at most I'm only going to be able to put a few hours in until then.

So if anyone else is interested, I can walk them through the steps easily enough, its not difficult to do this, its a little fiddly, but its largely just time consuming.

Can you explain what kind of knowledge a person would need in order to help out with the translation? I do not know much programming, nor do I know any Japanese, I've played the English version of Both TitS games on PSP. I've got an exam next month but after that I'll be quite free for a couple of months and can put in a few hours everyday.
 
D

Deleted User

Guest
Well, if you need to replace text for EVERY textbox manually, SC may be to much for one person.
The japanese script of SC consists of roughly 3 Million characters (Sora FC only 1.5 Million, Sora 3rd 2 Million). For comparison: Final Fantasy XII has only 600K characters. I don`t want to discourage you, it`s the least i want to do, but having played through FC and SC the mere thought of replacing every line of text manually would drive me to suicide.^^
Maybe Sora FC is managable, but SC is a beast...
I`m personally in a very similar position as you, so i could only work on it on my lunch break at work and i don`t even have a Vita, only a PSTV at home, so i couldn`t even check it at work.

I wouldn't have to type, but yeah its replacing every line manually, it would be somewhat of a lengthy process for sure, and you wouldn't want to automate it either.

Not to mention that character count includes all the non plot dialogue, like NPC dialogue, shops items and so on, the NPC dialogue for the kiseki games alone is already a good 10-20x the length of the main script, the NPC's are the bulk of the games text, I wouldn't bother with the NPC's until after the normal script was done, unless they're story essential NPCs that is.

Can you explain what kind of knowledge a person would need in order to help out with the translation? I do not know much programming, nor do I know any Japanese, I've played the English version of Both TitS games on PSP. I've got an exam next month but after that I'll be quite free for a couple of months and can put in a few hours everyday.

Not knowing Japanese is a bit of a hurdle but I think with google translate you could get around it.

All you need is SC in English, and SC in Japanese, then you go into the msg folder, open the file you want in notepad++ and just replace the text based on whats being said, this would be easier done by playing both games through and if you can't read Japanese you'd know when certain characters popped up, its very laborious though, to say the least.

Theres no programming required here, outside of perhaps making a patch afterward that is.
 
Last edited by ,

the database

Well-Known Member
Member
Joined
Sep 11, 2016
Messages
106
Trophies
0
Age
73
XP
2,041
Country
United States
I wouldn't have to type, but yeah its replacing every line manually, it would be somewhat of a lengthy process for sure, and you wouldn't want to automate it either.

Is there a specific reason you think it couldn't be automated? I'm interested in working on this, but like others I wouldn't have time to do it all by hand. But depending on how complex the process is, I might be able to write a program to help speed things up. I know Japanese too, and I've already played through all the Kiseki games in Japanese, so I would be able to verify the results.
 
  • Like
Reactions: Diag and satan89

AttackOtter

Well-Known Member
Member
Joined
Nov 11, 2015
Messages
357
Trophies
0
Age
29
XP
1,375
Country
United States
Is there a specific reason you think it couldn't be automated? I'm interested in working on this, but like others I wouldn't have time to do it all by hand. But depending on how complex the process is, I might be able to write a program to help speed things up. I know Japanese too, and I've already played through all the Kiseki games in Japanese, so I would be able to verify the results.
I think the problem has to do with script changes between the various versions of the game, or even that some scripts may be completely different in order than the original.

Though if there really are that many differences between the different scripts an automated system would still probably work after extracting the full scripts (Evo, original JP, English PC) so you can automate string matching between the three different versions.
 

the database

Well-Known Member
Member
Joined
Sep 11, 2016
Messages
106
Trophies
0
Age
73
XP
2,041
Country
United States
Though if there really are that many differences between the different scripts an automated system would still probably work after extracting the full scripts (Evo, original JP, English PC) so you can automate string matching between the three different versions.

Yup, that's exactly what I had in mind. I wrote a Python script that finds dialogue lines in an original JP script, determines their mappings to the English script lines, and replaces those lines in the Evo script. It doesn't work yet though -- when I run Evo with the modified script, I either get a black screen or the game crashes. That might not be the Python script's fault though -- I ran into the same issue when trying to do manual edits to the script as well.

Not at all passive aggressive there...

The project isn't dead, but it has rather hit a wall, and as far as I'm aware I've gotten further with this than anyone else in this thread so far, in that I actually changed and tested stuff, only for it to crash., but I have successfully found the dialogue files at least.

Give it a few weeks and the original poster might have results, and if I manage to get a free 20-30 minutes at work i may also give it a shot again.

I've basically reached this point that Dan reached a few weeks ago. Dan, what did you do differently to get past the game crashing in your more recent post?

It's worth mentioning that I did all my testing with FC so far, so it might be a different issue with FC only.
 
Last edited by the database,
  • Like
Reactions: AttackOtter

AttackOtter

Well-Known Member
Member
Joined
Nov 11, 2015
Messages
357
Trophies
0
Age
29
XP
1,375
Country
United States
If it blackscreens, I'd say the problem might be that there are hex values (either in the eboot or the file themselves) that point to specific offsets in the file, and changing the script causes those offsets to become misaligned. It's a problem with a ton of games I've seen, especially on Sony systems.
 
  • Like
Reactions: Deleted User

the database

Well-Known Member
Member
Joined
Sep 11, 2016
Messages
106
Trophies
0
Age
73
XP
2,041
Country
United States
If it blackscreens, I'd say the problem might be that there are hex values (either in the eboot or the file themselves) that point to specific offsets in the file, and changing the script causes those offsets to become misaligned. It's a problem with a ton of games I've seen, especially on Sony systems.

This was a big help and put me on the right path. Thanks a lot.

It turns out that the script files that need to be edited for the vita version are in the msg directory, not the scenario directory. Editing the .mbin files in this directory allowed me to see my edits in the game without crashing, but it still had issues showing the correct line, because of the pointers you mentioned.

I spent a few days looking for where to find these pointers, and I finally found them right in the headers of the .mbin files. I updated my Python script to fix these pointers after inserting the English script. Here's the result of running my script against t0311.mbin:



A few lines were left untranslated because my script for detecting lines isn't perfect yet, and also because some Japanese lines have been edited between the PC JPN script and VITA JPN script (like 目を醒ます -> 目を覚ます). Still, it's a good start!
 

AttackOtter

Well-Known Member
Member
Joined
Nov 11, 2015
Messages
357
Trophies
0
Age
29
XP
1,375
Country
United States
I asked a friend and that JP line that got changed has practically zero difference between the meanings, so it's either just a kanji fix, or someone hit space a few too many times when transcribing the line lol

It seems like the script is pretty much 1:1 (outside of maybe a few typos and the new scripts), so it seems like a pretty viable project now.
 

the database

Well-Known Member
Member
Joined
Sep 11, 2016
Messages
106
Trophies
0
Age
73
XP
2,041
Country
United States
I think I'm just about done with patching all the script files in the msg directory, which gives a full translation of the story and NPC dialogue. I used EDDecompiler to decompile the script files in the scenario directory of the USA PC version, which allowed me to get clean dialogue strings that mostly lined up with the vita dialogue (unfortunately the decompiler does not seem to work for SC since that game introduced new op codes that the decompiler doesn't recognize). There were a handful of new lines exclusive to the vita version (maybe 10-20); I went ahead and translated those by hand.

An issue I ran into with the msg script patch is that some lines didn't fit into the dialogue box:

Aqc39ma.jpg

1tR66zO.jpg

Since the font is fixed-width, I counted the number of characters that fit in a line and implemented word wrapping in my python script. It helped.


But in some situations, the text box doesn't allow more than three lines:

aYfxA4l.jpg

sq1Xnzc.jpg
To combat this, I prioritized fitting the dialogue into 3 lines when the text box size won't fit more than 3 rows.

A bit ugly, but I think it's the best I can do, unless someone has any ideas on how to hack a smaller font size or use a different font entirely. I know that the vita version uses the font in data/system/vitafont2bit.fnt, but I don't know if there's anything we can do with it.

One important thing that remains in Japanese is all dialogue prompt options. These aren't stored in the msg scripts; they're stored in the original scenario folder script files, which are more difficult to edit. I'm going to look into how to edit these next. I think this is the last piece of the puzzle.
 
Last edited by the database,
D

Deleted User

Guest
I think I'm just about done with patching all the script files in the msg directory, which gives a full translation of the story and NPC dialogue. I used EDDecompiler to decompile the script files in the scenario directory of the USA PC version, which allowed me to get clean dialogue strings that mostly lined up with the vita dialogue (unfortunately the decompiler does not seem to work for SC since that game introduced new op codes that the decompiler doesn't recognize). There were a handful of new lines exclusive to the vita version (maybe 10-20); I went ahead and translated those by hand.

An issue I ran into with the msg script patch is that some lines didn't fit into the dialogue box:

Since the font is fixed-width, I counted the number of characters that fit in a line and implemented word wrapping in my python script. It helped.

There are codes to increase a texts size, but I'm unsure if its only for a few particular sizes, essentially standard and large (for example when someone screams), one of the very first dialogues in SC has a code to change the scale of the text as Estelle is shouting. But shrinking the text might not be possible.

I'm a bit sad to hear it doesn't work with SC though, that's what i was most exciting for actually, given that the games are 2 parts of a single thing.

The decompiler source is available though, perhaps it'd be possible to edit that so it supports SC.

I'm really happy someone continued where I left off though, but I apologize for being able to provide any help at all, you essentially did it all from scratch.
 
  • Like
Reactions: satan89

AttackOtter

Well-Known Member
Member
Joined
Nov 11, 2015
Messages
357
Trophies
0
Age
29
XP
1,375
Country
United States
I think the problem is both the variable vs fixed width font and the additional space between letters that was lessened in English releases of the games.
Unfortunately, if the font data isn't built in to the font file, that would require either assembly hacking, or finding what specific file or part of the eboot determines the font's kerning and changing those values.
 

happydance

Well-Known Member
Member
Joined
Jul 16, 2009
Messages
598
Trophies
0
XP
349
Country
For reference about how long would the hex editing process take because I'm currently taking a embedded software system class so I might be able to try this out

Took me about a year manually hexediting scripts and images on my first serious ps3 full translation that you could just play through just in 2 hours haha :D
 

moonblood666

Well-Known Member
Member
Joined
Feb 24, 2014
Messages
484
Trophies
0
Age
39
XP
1,693
Country
Gambia, The
I think I'm just about done with patching all the script files in the msg directory, which gives a full translation of the story and NPC dialogue. I used EDDecompiler to decompile the script files in the scenario directory of the USA PC version, which allowed me to get clean dialogue strings that mostly lined up with the vita dialogue (unfortunately the decompiler does not seem to work for SC since that game introduced new op codes that the decompiler doesn't recognize). There were a handful of new lines exclusive to the vita version (maybe 10-20); I went ahead and translated those by hand.

An issue I ran into with the msg script patch is that some lines didn't fit into the dialogue box:

Aqc39ma.jpg

1tR66zO.jpg

Since the font is fixed-width, I counted the number of characters that fit in a line and implemented word wrapping in my python script. It helped.


But in some situations, the text box doesn't allow more than three lines:

aYfxA4l.jpg

sq1Xnzc.jpg
To combat this, I prioritized fitting the dialogue into 3 lines when the text box size won't fit more than 3 rows.

A bit ugly, but I think it's the best I can do, unless someone has any ideas on how to hack a smaller font size or use a different font entirely. I know that the vita version uses the font in data/system/vitafont2bit.fnt, but I don't know if there's anything we can do with it.

One important thing that remains in Japanese is all dialogue prompt options. These aren't stored in the msg scripts; they're stored in the original scenario folder script files, which are more difficult to edit. I'm going to look into how to edit these next. I think this is the last piece of the puzzle.

Amazing... Do you plan to make your project available to download when it`s completely finished?
 
Last edited by moonblood666,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: :rofl2: :rofl2: