Jump to content

Need Help with Patching a VN


Recommended Posts

Hello there, total newbie here. I had this site recommended to me by someone who was reading a "Let's Play" of a game that's in Japanese. So I've posted this in a few other places, contacted a few other people, but so far, no one has been able to help. I'm personally trying to translate the otome game Persona Opera Za No Kiajin - it's an 18+ dating sim based on the Phantom of the Opera.

I've been just translating the game and posting it in a blog and in my Let's Play thread, but I'd really like to make a patch that would take out the Japanese text and put in the English text that I am translating.

I know this is a big undertaking, but it's something I'd really like to do. Are there any tutorials on how to do it, or people who wouldn't mind showing me the ropes?

What We Know & What I Need:

Not much, unfortunately... I know that there IS a text file in there. Somewhere. Its just compressed. I know that it's not compressed in one of the .H5 files, because that would be easy, and my life is never easy. Also because the amazing Cor checked for me by decompressing the files. There is a file that no one seems to be able to decompress - an .sce file. That's really all I need, and then I SHOULD be able to just rewrite the text file (in English). Then, of course, I will need some way to recompress the .sce file so that the game recognizes it again.

So! Anyone wanna help, or have any suggestions as to where I can go & post or who I can ask for help? It's be greatly appreciated ^_^ Thanks!

Link to comment
Share on other sites

Hey I can ask ask around, ill ask the Hadaka Shitsuji and Dramatical murder people (the BL girls), see if they know a thing or two.

i remember Debono9 said the otome game companies all use their own separate engines and not one of the popular engines used by the guys-games, which makes things tricky...

Usually you have to get a hacker to write your own tools to reinsert the text.

You might want to see Annot Player https://visualnovelaer.wordpress.com/2012/07/01/a-revolution-for-fan-translation-it-is-now-possible-to-sub-any-visual-novel-without-hacking/

With Annot player, you can sub any game so long as you can get ITH 3.0 to hook onto it (i.e. any game basically).

Actually Ive been using it to sub Da Capo III http://visualnovelaer.wordpress.com/2012/11/05/da-capo-iii-the-game-is-about-10-translated/

It's functional but the UI is still a bit unintuitive. Ive been talking to Jichi, he's in the process of making it better and trampling the bugs.

This is an update I wrote recently: https://visualnovelaer.wordpress.com/2012/11/05/update-on-jichis-annot-player/

Link to comment
Share on other sites

Hey I can ask ask around, ill ask the Hadaka Shitsuji and Dramatical murder people (the BL girls), see if they know a thing or two.

i remember Debono9 said the otome game companies all use their own separate engines and not one of the popular engines used by the guys-games, which makes things tricky...

Usually you have to get a hacker to write your own tools to reinsert the text.

You might want to see Annot Player https://visualnovelaer.wordpress.com/2012/07/01/a-revolution-for-fan-translation-it-is-now-possible-to-sub-any-visual-novel-without-hacking/

With Annot player, you can sub any game so long as you can get ITH 3.0 to hook onto it (i.e. any game basically).

Actually Ive been using it to sub Da Capo III http://visualnovelaer.wordpress.com/2012/11/05/da-capo-iii-the-game-is-about-10-translated/

It's functional but the UI is still a bit unintuitive. Ive been talking to Jichi, he's in the process of making it better and trampling the bugs.

This is an update I wrote recently: https://visualnovelaer.wordpress.com/2012/11/05/update-on-jichis-annot-player/

Wow, thanks a bunch! I've next to NO luck with the .sce file, but if you (or anyone) wants to poke at it, here it is

http://www.4shared.com/file/8b_KfLnK/PersonA.html

Link to comment
Share on other sites

Thanks! Here ya go ^_^/>/>

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

Hmm, from the looks of it the raw data itself seems to use a cyclic SHR 4 looping encryption....Or maybe SHL...I can't really tell.

hmm, the best thing you could do would be to figure out the engine that this VN uses, or use an injector like AnnotPlayer or extract the media files and just rewrite the entire game one line at a time.

Link to comment
Share on other sites

Anything to help get more otome games translated :)

I am not too familiar with encryption in general, but I took a lot at the game exe and was able to find this function which seems to do most of the grunt work with. (Removed a lot of surrounding code, the function is located at 0x44D46D if anyone else wants to take a look)



signed int __thiscall sub_44D46D(int this)

{

  ...

  bytesRead = sub_44D035(*(HANDLE *)(v1 + 1044), Buffer, 0x400u, 0);

  memset(&Buffer[bytesRead], 0, 1024 - bytesRead);

  v3 = v1 + 1209;

  if ( *(_DWORD *)(v1 + 1156) == 196609 )

  {

    *(_BYTE *)(v1 + 1208) = v15;

    v4 = 67;

    v13 = 1023;

    do

    {

      v5 = *(_BYTE *)(v3 - 1) ^ Buffer[v4];

      v4 = (v4 + 23) & 0x3FF;

      *(_BYTE *)v3++ = v5;

      --v13;

    }

    while ( v13 );

    v6 = v1 + 1208;

    v7 = 256;

    do

    {

      *(_DWORD *)v6 ^= *(_DWORD *)((char *)&unk_4C4098 + v6 - v1 - 1208); // 0x4C4098 probably contains the encryption key

      v6 += 4;

      --v7;

    }

    while ( v7 );

    memset((void *)(v1 + bytesRead + 1208), 0, 1024 - bytesRead);

  }

...

}


I wrote up a script to try decoding it and was able to get some text out:

http://pastie.org/5455527

I wasn't able to get all of it (or even find the first few lines from the game) but it seems to be a promising start. I'll try and find some time this weekend to work on extracting all the scripts.

Link to comment
Share on other sites

Are they in text files? If so, can you send me the text file with that Japanese in it so I can at least start translating that? lol *super excited!*

Unfortunately not yet, I still mainly just get garbage when I try and decode it, I just pasted some portions that seemed to decode correctly. Hopefully it'll just be a matter of me finding some time to sit down and figure out how the file is structured.

If you'd like to do your own research on the engine, here's some strings I dumped while the game was running. (I was able to find a few mentions of it on random Japanese sites, but didn't see any obvious links to extractors/tools; maybe someone who understands Japanese might be able to do better.)


040004b08

CompanyNameK.K. MADOKA0

FileDescriptionGSX6

FileVersion3, 0, 0, 0(InternalNameGSXl$

LegalCopyrightCopyright (C) 1999,2011 K.K. MADOKA8

OriginalFilenameGSX.exeJ

ProductNameGame Script eXecuter:

ProductVersion3, 0, 0, 0

080004b00

CompanyName*h

O>y~0i0K02

FileDescriptionUGSX6

FileVersion3, 0, 0, 0*

InternalNameUGSXd 

LegalCopyrightCopyright (C) 1999,2011 *h

O>y~0i0K0:	

OriginalFilenameUGSX.exe

ProductNameUniversal Game Script eXecuter:

ProductVersion3, 0, 0, 0H

VarFileInfo(Translation


<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

	<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="MADOKA.GSX" type="win32">

	</assemblyIdentity>

	<description>

		Madoka Game Script eXecuter

	</description>

	<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

		<security>

			<requestedPrivileges>

				<requestedExecutionLevel level="asInvoker" uiAccess="false">

				</requestedExecutionLevel>

			</requestedPrivileges>

		</security>

	</trustInfo>

</assembly>

Of particular note would be that the engine is called "GSX" (Game Script eXecuter)

Link to comment
Share on other sites

Of particular note would be that the engine is called "GSX" (Game Script eXecuter)

Yeah, I did some research with boyfriend a few months back when this project first started. We couldn't find anywhere offering the GSX program, no torrents, nothing. We came to the conclusion that PersonA, since they're such a large company, probably coded it themselves, or else bought exclusive rights to use it >.<

Link to comment
Share on other sites

Ello...I didnt manage to check in the forum the past few days..

Anyway PersonA ~オペラ座の怪人~?

if this is the same pose as gemot were the files is k5

then did you try arc_conv? it supports k5 files dunno about sce.

the one w8m made, I remember it has 星の王女: 光のつばさ the same publisher to PersonA.

try to contact him maybe he can help ya out...

Link to comment
Share on other sites

Ello...I didnt manage to check in the forum the past few days..

Anyway PersonA ~オペラ座の怪人~?

if this is the same pose as gemot were the files is k5

then did you try arc_conv? it supports k5 files dunno about sce.

the one w8m made, I remember it has 星の王女: 光のつばさ the same publisher to PersonA.

try to contact him maybe he can help ya out...

I actually had someone decompress the .K5 files and that's where all the images live lol. SO MANY IMAGES! I'll try to contact w8m, tahnks for the suggestion!

Link to comment
Share on other sites

he cant be found in this forum, and also it seems he is out because the site is down and no word from him.

sigh..it number of potential hackers are diminishing, busy or being lazy.

he should at least give out his src code if he going to stop.

Falaina try to trace and breakpoint the ReadFile and CreateFile of the exe.

probably you'll get the format of the files containing inside sce

the Header is CRPT in 0x04 has 1 and 0x06 has 3 for I dont know whats its use.

but in 0x08 to 0x0b possible the original file size because its 14372924; its quite close to the file size 14373920 it but 1004 gap.

I'm quite busy I cant check it sorry, pull I have a pile of stuff to do :(

Link to comment
Share on other sites

he cant be found in this forum, and also it seems he is out because the site is down and no word from him.

sigh..it number of potential hackers are diminishing, busy or being lazy.

he should at least give out his src code if he going to stop.

Falaina try to trace and breakpoint the ReadFile and CreateFile of the exe.

probably you'll get the format of the files containing inside sce

the Header is CRPT in 0x04 has 1 and 0x06 has 3 for I dont know whats its use.

but in 0x08 to 0x0b possible the original file size because its 14372924; its quite close to the file size 14373920 it but 1004 gap.

I'm quite busy I cant check it sorry, pull I have a pile of stuff to do :(/>

Too bad about w8m going missing. Hopefully he comes back sometime!

And I'll just... Sit over here... And pretend I know what's going on >.>;;; *feeling useless*

Link to comment
Share on other sites

I actually already have the whole prelude translated, if you want to try to put it back? I'm not sure how though. It's at my blog here:

http://personaphantomoftheopera.wordpress.com/intro/

I haven't had much time during the week to mess with it, however I'll try reinserting some of the prelude over the weekend. If I have success, I'll have to discuss with you how the translation process will go (mainly the easiest way for both you to continue translating, as well for creating a patch from the translation)

Link to comment
Share on other sites

I haven't had much time during the week to mess with it, however I'll try reinserting some of the prelude over the weekend. If I have success, I'll have to discuss with you how the translation process will go (mainly the easiest way for both you to continue translating, as well for creating a patch from the translation)

That's great! I'm free for about a month - no school or work or anything. Should be a good chance to get a big chunk of this done ^_^

Link to comment
Share on other sites

That's great! I'm free for about a month - no school or work or anything. Should be a good chance to get a big chunk of this done ^_^/>/>

Whew, okay, so I think I've got it mostly figured out. There's still some stuff I need to figure out (text layout, really long lines, etc.) but here are a few action shots:

First scene:

S6vjQ.jpg

Message log (The 'at first...' passage runs over the length of a text box):

0GvOz.jpg

An example of words getting split (winsome -> wins ome):

q9zIl.jpg

I'll have to figure out the remaining issues, but I think i'm at a point where you can start working on the translation. Could you PM me a place to discuss something with you (Do you use IRC?).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...