Gaming Persona 2: Eternal Punishment - Time for a Fan Translation?

GDW

Active Member
Newcomer
Joined
Nov 29, 2013
Messages
29
Trophies
0
Age
34
XP
125
Country
Canada
Since my last post, I've been doing a lot more poking into the CPK format with comparisons of Tsumi/Batsu/Innocent Sin, and I've got a couple hunches about how I could go about writing a packer even without knowledge of internal CRI shenanigans. I've got some sets of image files trans-edited and repacked for reinsertion into the CPK and then the ISO, so expect to hear back on how that goes.

Arizato, I should clarify that I don't have results to share really, just lots of information about boring hex stuff. Right now I'm documenting ordered content offsets and redundancy check values! But it's looking more and more like I'm going to have an active part in this hack after all, so I won't have to offload any work onto other people.

Iwakura, I had found my way to your stuff and I've been enjoying your Suda 51 posts and following Shadowrun. I'd love to pick your brain about finding the text in Batsu when we both have a dry spell.
 

Arizato

Memento Mori
Member
Joined
Jun 1, 2009
Messages
499
Trophies
0
Age
32
XP
562
Country
Since my last post, I've been doing a lot more poking into the CPK format with comparisons of Tsumi/Batsu/Innocent Sin, and I've got a couple hunches about how I could go about writing a packer even without knowledge of internal CRI shenanigans. I've got some sets of image files trans-edited and repacked for reinsertion into the CPK and then the ISO, so expect to hear back on how that goes.

Arizato, I should clarify that I don't have results to share really, just lots of information about boring hex stuff. Right now I'm documenting ordered content offsets and redundancy check values! But it's looking more and more like I'm going to have an active part in this hack after all, so I won't have to offload any work onto other people.

Iwakura, I had found my way to your stuff and I've been enjoying your Suda 51 posts and following Shadowrun. I'd love to pick your brain about finding the text in Batsu when we both have a dry spell.


Very interesting. Would be awesome to get a project like this going after all! Looking forward to your next update!
 

SkyBladeCloud

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
CPK's not encypted... Text might be compressed, chicking it out now...

EDIT1: found a debug font (set of alpha channels), almost looks like a bait for romhackers lol... Not biting this one :P

q4mb.png


EDIT2: Content of the CPK is partially compressed. Checking it out right now...
 

Arizato

Memento Mori
Member
Joined
Jun 1, 2009
Messages
499
Trophies
0
Age
32
XP
562
Country
CPK's not encypted... Text might be compressed, chicking it out now...

EDIT1: found a debug font (set of alpha channels), almost looks like a bait for romhackers lol... Not biting this one :P

q4mb.png


EDIT2: Content of the CPK is partially compressed. Checking it out right now...


This is amazing, SkyBlade! Are you seriously suggesting we might be able to translate this one after all?
 

SkyBladeCloud

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
All games are possible to be translated, it's just a matter of not giving up ;)

EDIT: Continuing with the research... CPK unpacked and decompressed... I'll have to study the format deeper, to make sure it's possible to repack it back.

interesting subfiles:

SE_DVL.BIN -> custom packed adpcm-xa encoded sfx... AKA easy stuff
event.bin -> custom packed deflate data, might be event scripts containing actual text...

Checking event.bin right now...

...
 

Arizato

Memento Mori
Member
Joined
Jun 1, 2009
Messages
499
Trophies
0
Age
32
XP
562
Country
All games are possible to be translated, it's just a matter of not giving up ;)


Or having your 1337skillz! ;) While I've worked a little with stuff like this before it's never been this complicated. Really looking forward to what your next update might bring!
 

SkyBladeCloud

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
Package and image format figured out, I'm just gonna post some samples because there is an actual crapload of resources like this in the game xD (these are only from the title data package):

8y7j.png

6ws4.png

mnu6.png

1o46.png

ggiq.png


Imagine how cool would it be to extract the text from the PSX ENG version and put it in the PSP JAP version xD.

...
 

Arizato

Memento Mori
Member
Joined
Jun 1, 2009
Messages
499
Trophies
0
Age
32
XP
562
Country
Package and image format figured out, I'm just gonna post some samples because there is an actual crapload of resources like this in the game xD (these are only from the title data package):



Imagine how cool would it be to extract the text from the PSX ENG version and put it in the PSP JAP version xD.

...

Wow, this is amazing! Are you up for another potential project, Sky? Or is Type-0 taking up too much time at the moment?


That is exactly what I am suggesting that should be done. Since this game's main story hasn't been altered, it should be doable! It's the new PSP exclusive Tatsuya scenario I want to play and to my understanding it's not that long, so that's the only thing we might have to translate ourselves. It's just so hilarious how the west only got Eternal Punishment back in the day and now we only got Innocent Sin.

No, this one is different. It's buggy, but 90% playable.

As a dedicated Megami Tensei collector the first Megami Tensei game has been on my shelf for quite some time now. Would be awesome to be able to play it. Since I don't know that much japanese I have to wait for translations.
 

SkyBladeCloud

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
I'm just using a hex editor to inspect the data, a tile editor to get the images. It seems that there is text in that messdic dat file. It's coded somehow, most likely using font positions. btw, is there any fruit-machine-like minigame in this title?

n6m5.png


...
 

Arizato

Memento Mori
Member
Joined
Jun 1, 2009
Messages
499
Trophies
0
Age
32
XP
562
Country
I'm just using a hex editor to inspect the data, a tile editor to get the images. It seems that there is text in that messdic dat file. It's coded somehow, most likely using font positions. btw, is there any fruit-machine-like minigame in this title?

n6m5.png


...


Yup. There is a casino! Should also contain blackjack and stuff like that IIRC.
 

SkyBladeCloud

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
Yeah, there is a poker file with some images too... And... I found the font!! ^_^" (You need to visualize it with a darker background, as it's just color variable alpha channels)... It's pretty big and divided in multiple 256*256 smaller image files like these...

sqyn.png

y574.png

96oh.png

...
 

Arizato

Memento Mori
Member
Joined
Jun 1, 2009
Messages
499
Trophies
0
Age
32
XP
562
Country
Yeah, there is a poker file with some images too... And... I found the font!! ^_^" (You need to visualize it with a darker background, as it's just color variable alpha channels)... It's pretty big and divided in multiple 256*256 smaller image files like these...

sqyn.png

y574.png

96oh.png

...


This is so cool! You're awesome, Sky!

Found anything relating to the dialogue or story yet?
 

SkyBladeCloud

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
Well, there are 32 small 256*256@4bpp indexed argb8888 font images... (the above post only shows 3 of them).

Each one has 256 glyphs but some of them are hex characters, in theory, if a "subfont image" (one of the 32 small font images) were to have 256 hex character, it would go from 0 to 0xff. The last subfont looks like this, so my theory seems to be correct:

5o1u.png


Now this means, that each font position in each subfont has a given hex character. And that's the hex byte assigned to it in the text file (messdic, maybe?). But hey, there are 32 font files, right? If I had to guess, I'd say each character in the text data uses 2 bytes, one that tells which subfont file is the glyph located it (which could range from 0 to 31, for all 32 font subimages), an another byte, that tell the position of the character in the selected font image.

This is at least how many other Japanse games work (except for the fact that in this case we have multiple files). It seems that, when coding the game, they had a "uber-font", and then, by scanning the game's script, another font was created using only the characters present in the script, the rest were left as hex characters. Again, If I had to guess, I'd say that the PSX version, due to memory limitations, does not have these hex character present. And that would be the text encoding (pretty similar to the ones used in Valkyrie Profile, Star Ocean or Final Fantasy I).

~Sky
 

Arizato

Memento Mori
Member
Joined
Jun 1, 2009
Messages
499
Trophies
0
Age
32
XP
562
Country
Well, there are 32 small 256*256@4bpp indexed argb8888 font images... (the above post only shows 3 of them).

Each one has 256 glyphs but some of them are hex characters, in theory, if a "subfont image" (one of the 32 small font images) were to have 256 hex character, it would go from 0 to 0xff. The last subfont looks like this, so my theory seems to be correct:

5o1u.png


Now this means, that each font position in each subfont has a given hex character. And that's the hex byte assigned to it in the text file (messdic, maybe?). But hey, there are 32 font files, right? If I had to guess, I'd say each character in the text data uses 2 bytes, one that tells which subfont file is the glyph located it (which could range from 0 to 31, for all 32 font subimages), an another byte, that tell the position of the character in the selected font image.

This is at least how many other Japanse games work (except for the fact that in this case we have multiple files). It seems that, when coding the game, they had a "uber-font", and then, by scanning the game's script, another font was created using only the characters present in the script, the rest were left as hex characters. Again, If I had to guess, I'd say that the PSX version, due to memory limitations, does not have these hex character present. And that would be the text encoding (pretty similar to the ones used in Valkyrie Profile, Star Ocean or Final Fantasy I).

~Sky


Yeah, I think so too regarding the PSX translations. Do you have much experience with PSX games?
 

Arizato

Memento Mori
Member
Joined
Jun 1, 2009
Messages
499
Trophies
0
Age
32
XP
562
Country
Well, I've translated some PSX games into Spanish.


Hmm... I wonder if it's possible to lift all the text out of the PSX version and put it in the PSP version. My main concern is that some of the the text might have changed "place" during the porting to PSP. Which might slow us down if we decide to do this.
 

SkyBladeCloud

Well-Known Member
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
I once did something similar, inserting the Spanish script of Final Fantasy I, in the English PSP release. Text was in different order, but there is a AI algorithm called "levenstheim distance" than can detect similar text patterns. Though I don't know how would it work with Japanese lol.

Basically comparing the Original PSX Japanese script and the PSP version, you can know where the correct English text is located in the PSX English version.

...
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BigOnYa @ BigOnYa: Ok good chatting, I'm off to the bar, to shoot some pool, nighty night. +1