Pure Pure Translation: (Photo Thread) (Last Update: Jan 29)

Post about your projects or talk about mirror moon projects that haven't been announced yet... or something.

Moderator: Staffers

Pure Pure Translation: (Photo Thread) (Last Update: Jan 29)

Unread postby furyoftheskies » November 2nd, 2008, 1:39 pm

Global Newscast:

******Note: I won't be updating this page much anymore. I'll just use this page for photos. Please look at the wiki located here for news updates. ******

Now working on: Sachi Patch

Pictures of Progress (Last Update - Jan 29 ):
What the......? Merone!?
Image

Another CG Door Scene
Image

Hinata's CG Door Scene
Image

Final Translated Load & Save Menu
Image



Dec 14: This next patch will cover all of chapter 1 (In other words, all of the story up to the intro movie). This will take a while to get out, but since I don't have to really worry about checkpoint routes, I'll be translating / editing this all the way.

My original plan was to translate the first half of Chapter 1, but I decided to do all of Chapter 1, because it ends on the introduction movie. Chapter 1 is considered as the first part of the game. The entire game has 4 Chapters.

A total of 518 kbs of script will be edited (out of ~2400 kbs)

Patch Releases:
Introduction Patch - OUT! Get them here:

http://www.megaupload.com/?d=08IXTMFC
http://www.sendspace.com/file/2qjue8

Changelog:
http://tsukuru.info/tlwiki/index.php?ti ... s_Progress

FAQ (Updated Dec 15):

Q: What does [insert word like Ah, Eh, Uuu, Umm, Mimikko, etc. here] mean?

A: Look at the Patch Read Me. Its located in the default installation folder. (X:\Program Files\klein\ぴゅあぴゅあ\Patch Read Me.txt). It contains some translation notes.

Q: Are you still working on translating this game?
A: Yes, naturally. I've set up a wiki page as well found here if you would like to see. I don't know how to set up a website, sorry. Just look at the progress, and see if it updates.

Q: Who's on your team? Is Mirrormoon helping you out?
A: Mirrormoon is not affiliated with what I am doing, but I am being taught 'how to fish' thanks to some of their members (look at the posts in this thread). I am doing this solo (I have no group members except me, myself, and I) so naturally, this will take a while. Look at the wiki and find out what kind of people I want if you wanna help. Or teach me to fish, like the others.


Special Thanks:
phib - Script Coding, Image Hack
Balcerzak - Tool Coding
(The guy who made the English Menu Hack) - .Exe Coding
kazu77 (Hongfire), kyosuke (Hongfire) - Image Translations
Mirrormoon - Allowing me to host some information about this translation here.
Last edited by furyoftheskies on January 28th, 2009, 11:19 pm, edited 53 times in total.
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby frickenmoron » November 4th, 2008, 4:33 pm

If thats really true you'll be my personal hero.

I've longed to see this game translated for years now. Sorry that I can't be of help about the technical stuff, but I hope you really can find someone for that.
frickenmoron
Totally hardly posted
 
Posts: 3
Joined: November 4th, 2008, 4:31 pm

Unread postby furyoftheskies » November 5th, 2008, 8:53 am

Well, I'm taking it slow right now. I'm trying to get a feel for the story.

Since this has the theme of inumimi and nekomimi similar to Wanko to Kurasou, its the same yet way different in storyline.

I had to read a bit of background on the story through Klein's official webpage in order to understand some of the context.

Like for example, my first translation is off by alot. I didn't know that the Main Character Jun or his friend Midou were in a grooming school. (The text uses trimmer as the word for groomer, apparently.) When I first translated it, I thought that Midou was cutting Jun's hair, but in reality, they we're practicing grooming techniques on a puppy's hair. I didn't know that till I read the story lol.

I know how to do a little bit of image hacking, thanks to some useful links though. If I can truly have the time to work on this, I will image edit at least the prompts (Like the very first prompt, which asks you to enter your name) so that its in English. That and the menu as well, since its once big image. But still, its alot of work, and its 2600 KB of scripts that I'm currently soloing (and I'm manually editing the scripts here, I don't have a tool that can recognize where the words are and then replace them on a whim).

The one thing I don't like is the text bubbles. Since the text is written down and read right to left, it oversizes the speech bubble, which isn't good =(
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby Falc0n » November 5th, 2008, 5:38 pm

I'm not sure wether this is helpful at all so don't mind me.
Anyway ->
I've been playing around with the script files of fortune arterial.
When viewed with hex the dialogues can be found at the end of the file
there's a pointer to each dialogue line or file in the first part of the file
EXAMPLE
In this game 03 00 00 00 (the pointer) is often followed by 1a dd 01 00 or something like that
the last one has to be reversed which results in 01dd1a
at this address you usually find text or a file that should be used at that point (NOT ALWAYS, be careful)
now if you edit the ext and make it longer than the original, so the file itself grows too
so in case of my scripts all pointers that refer to anything after the line you made longer,
now search at the wrong point for THEIR LINE making the game crash

sry for the rant
about the integrity check , you mean the game actually checks the files beforehand for even the slightest change in filesize ?
so i guess you need to modifythe game exe then or something ?
Falc0n
Totally hardly posted
 
Posts: 3
Joined: November 5th, 2008, 10:04 am

Unread postby furyoftheskies » November 6th, 2008, 12:23 pm

^^^^

These are the errors I've encountered so far:

1) If the replaced text is LESS than the original, the game won't start.

2) If the text BEFORE a save (meaning that if you saved on lets say Febuary 17, then I decided to edit the text on Febuary 16) is modified, the save becomes invalid and no longer works.

3) If the text of a choice point is modified (Points where you choose between A or B) the game doesn't like it.

Number 3 is very apparent in the introduction scene. The game has a introduction extra that introduces all the characters and their personalities. If I edit any of the files connected to the introduction, the intro freezes and does not run. Which means that there is checker somewhere that's making sure the file is exactly the same size. I need to disable that check, so I need a good .exe hacker.

Oh, and concerning the script files, they can all be opened in a text editor. The script is easily viewable. Naturally, you need to hex edit it to replace the text, which is no problem. Only problem is that if it's shorter than original, game dislikes it. It doesn't mind if its BIGGER than normal though.
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby Falc0n » November 6th, 2008, 12:36 pm

I see.
So it doesn't matter wether the pointers look at the right address for their text,
because the game is kind of modification-protected ?
Well lucky me, in Fortune Arterial, because of the fact that english ends up being longer than the japanese text,
the file always gets bigger.
Fortunately that is of no concern for the game as long as the pointers find their text and commands or whatever at the address i changed according to my translation.
It's also annoying that i can't just save files with the notepad because it messes up the file totally making it unrecognizeable for the game.
i wish i could program tools and stuff X_X

What's the name of the engine the game uses ?

Oh i forgot to say that i don't even need to repack the script files , just putting them in the directory is enough.
Do you have to repack them into whatever the format is for that game ?
Falc0n
Totally hardly posted
 
Posts: 3
Joined: November 5th, 2008, 10:04 am

Unread postby furyoftheskies » November 6th, 2008, 10:10 pm

I haven't figured out the game engine yet =( I'm not sure how to find out what kind of engine the game uses. I wish I had a guide to figure it out though.

Yes, I don't need to repack files. I only need to hex edit it. Like I said, the scripts are all separate for each scene. There are (I believe) 54 scenes, so there are 54 script files, and each one holds the script for that scene.

Naturally, if you edit it with a wordpad, it screws over the coding for the file. You have to hex edit it for the game to read it.

I've yet to create a tool that will just find out where the japanese text it and then let me replace it. I don't know how to make a program that will hex edit. I have to figure out how to do stuff like that. Gotta read more books to get there =(
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby phib » November 8th, 2008, 1:04 am

furyoftheskies wrote:1) If the replaced text is LESS than the original, the game won't start.


This problem is caused because the first bytes of the file are the script size. The script size is the total file size minus 12 bytes (the header).

For example, 1_1_1.scn first bytes are A8 3C, which is a number stored in little-endian, so it becomes 3CA8 (15528). If you add 12 bytes you get 15540 bytes, the size of the whole file.
So just fix that size when you finish modifying the script.
User avatar
phib
Addict
 
Posts: 104
Joined: May 9th, 2007, 12:25 am

Unread postby furyoftheskies » November 9th, 2008, 4:05 am

phib wrote:
furyoftheskies wrote:1) If the replaced text is LESS than the original, the game won't start.


This problem is caused because the first bytes of the file are the script size. The script size is the total file size minus 12 bytes (the header).

For example, 1_1_1.scn first bytes are A8 3C, which is a number stored in little-endian, so it becomes 3CA8 (15528). If you add 12 bytes you get 15540 bytes, the size of the whole file.
So just fix that size when you finish modifying the script.


OMG! I must thank you for this. I thought that the first numbers were a signature of the script. I didn't know it was an endian value.

So when I finish editing the entire script, I can just look in the properties, get the byte number, subtract 12, then replace the first bytes as a new file size correct?

Well, looks like I can make a bit more progress now thanks to you phib :D (Since you knew the size of the first script, I'm guessing you have this game)

I don't suppose you would mind looking at charaprof.scn would you? The signature for that one is odd.

The value is 0x6F0B0000, so I read it as 0x00000B6F (2927), but the problem is that the size of the file 3155, so there's 228 bytes missing somewhere. There is another value ahead of the first bytes that isn't 0 too.

It goes:

6F0B0000 06000000 <---- this second one seems odd since the other files usually have 8 more zeros after the signature.

charaprof.scn is the introduction scene (the one you find in the extra's) that introduces all the characters. I can't edit it since it freezes when it gets to the checkpoint where you choose a girl to interview. :( I'll see if editing the size without minding the 228 bytes will let it work.

Edit: Failure. If its even 1 byte bigger or 1 byte smaller than the original, the checkpoint will not start, and the game freezes X_X.
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby phib » November 9th, 2008, 3:31 pm

That one seems a little different, but the first 4 bytes are still the size. In this case the script starts at 0xE4 (E4 + B6F= C53 [total file size]). So just substract 0xE4 from the total size.
User avatar
phib
Addict
 
Posts: 104
Joined: May 9th, 2007, 12:25 am

Unread postby furyoftheskies » November 9th, 2008, 9:31 pm

Well, tried what you said.

Yes, the game still starts and the intro scene runs, but the checkpoint still refuses to start.

I only increased the filesize by 2 bytes (2927 to 2929) and changed the signature of the filesize (0xB6F to 0xB71), and the checkpoint hates it.

If the filesize stays the same, then the checkpoint starts. If it changes, it doesn't. I think there's a checker coming from somewhere that's stopping me from going anywhere.
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby phib » November 9th, 2008, 9:58 pm

Can you upload that file?
User avatar
phib
Addict
 
Posts: 104
Joined: May 9th, 2007, 12:25 am

Unread postby furyoftheskies » November 10th, 2008, 6:29 am

Here's the upload on megaupload:

http://www.megaupload.com/?d=VLFSVD0N


I put a About the Files text document if you don't understand.
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby phib » November 10th, 2008, 5:16 pm

I meant a modified script which makes the game freeze.
User avatar
phib
Addict
 
Posts: 104
Joined: May 9th, 2007, 12:25 am

Unread postby furyoftheskies » November 10th, 2008, 9:38 pm

Opps, my bad. Heres the modified file.

http://www.megaupload.com/?d=YWUFDV70
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby phib » November 11th, 2008, 2:26 am

The problem is that there are some offsets regarding the choice buttons that reference the script, so I had to increase by two the value (B71-B6F).

Here's the list of offsets you'll have to tweak when you finish modifying the script (remember that if you overflow the least significant byte you have to increase the other byte too).

Image

First I modified the ones in the header (range 0-E4) which where the easiest to spot. Afterwards I moved to the first offset tweaked in the header (E4+880+2) and fixed every F2 [byte] [byte] where [byte] [byte] could be a valid offset (greater than 880). Maybe this method can help you with the scripts that contain choices.
User avatar
phib
Addict
 
Posts: 104
Joined: May 9th, 2007, 12:25 am

Unread postby furyoftheskies » November 11th, 2008, 8:32 am

Holy cow phib, you are a god to me. I bow down to your greatness. I will put a special thanks for you.

EDIT: I understand the byte byte problem, never mind.

New Edit: After finishing the edit of a translated script, the game will not run even after I fix the offsets! To be specific, it goes back to freezing at the checkpoint again. Would you mind looking at it? I know I calculated all the offsets correctly, and it worked for the 2 byte increase file, but now it won't work for this file that I increased by 129 bytes.

http://www.megaupload.com/?d=B6BTMJ42


I have a slight feeling that it might have something to do with editing the text in the checkpoints themselves (I changed the text in the checkpoint from Japanese to English; would that affect it since the files link to other files?)

I have a couple questions though :P .

Why F2? Will I have to use a different one per script or will it always stay F2?

Oh yes, and could I ask for help with a couple more files (with finding the offsets X_X)

I can upload them to you, they are different from the other checkpoints.

After I got the offset of intro working thanks to you, I chose a character and let it run through a modified script (ex. s_hinata.scn), and the checkpoint actually still works. As in, when I get to the 3 choices, I can choose one, but if I do, the game freezes AFTER the checkpoint. How will I find the offsets now that it freezes AFTER the checkpoint?

Heres the modified script file for it (Its 6 bytes SMALLER, the header size is 516 bytes (0x204). I didn't modify the first value yet, so you'll need to subtract 6 from it if you need to.)

http://www.megaupload.com/?d=YWVBNCF7


I just need a generalization of what to edit. The other introduction files for the other girls are the same way, but the headers are all different sizes.

And, (sorry if this is getting a bit long) would you happen to know how to fix the before save modifications? (The one where if you save the day after and I modify the script of the day before it, it invalidates the game save)
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby phib » November 11th, 2008, 5:56 pm

furyoftheskies wrote:I have a slight feeling that it might have something to do with editing the text in the checkpoints themselves (I changed the text in the checkpoint from Japanese to English; would that affect it since the files link to other files?)


Yes, since you modified text above the E4+880, most of the offsets are wrong. So you will have to manually fix them by looking where did they point in the original script and increase the offset value so it points again at the same position.

Why F2? Will I have to use a different one per script or will it always stay F2?


The scripts are in binary format, so it will use arbitrary bytes as opcodes which tell the game what to do. For example, the opcode to indicate a dialogue text is F3 [4 bytes id/counter]. This will always be the same, though I don't know if F2 is the full opcode.

After I got the offset of intro working thanks to you, I chose a character and let it run through a modified script (ex. s_hinata.scn), and the checkpoint actually still works. As in, when I get to the 3 choices, I can choose one, but if I do, the game freezes AFTER the checkpoint. How will I find the offsets now that it freezes AFTER the checkpoint?


The problem is probably in the script it jumps to. I suggest to translate one script at time and test it thoroughly, that way it will be easier to know which script is giving problems.

And, (sorry if this is getting a bit long) would you happen to know how to fix the before save modifications? (The one where if you save the day after and I modify the script of the day before it, it invalidates the game save)


Probably the game stores the script position or something like that, so better give up because those will shift everytime you add or remove characters in the script.
User avatar
phib
Addict
 
Posts: 104
Joined: May 9th, 2007, 12:25 am

Unread postby furyoftheskies » November 11th, 2008, 9:33 pm

phib wrote:Yes, since you modified text above the E4+880, most of the offsets are wrong. So you will have to manually fix them by looking where did they point in the original script and increase the offset value so it points again at the same position.


Okay, so if I understand correctly, I just have to find out where the original offsets point to in the script, and then find the same relative position in the new script correct? I assume that when I figure out the original location of the pointer, I have to take it's position and subtract the header size (e4 in this case) to get the number to use for reference, right?

GROUNDBREAKING EDIT:

PHIB! YOU ARE A GENIUS! IT WORKED! I fixed all the offsets to their original positions, and the game works now! Here's the fruit of your help!

ImageImage

Hopefully, should I not run into any problems editing the script, I'll release an introduction manual install (I have no clue how to make an installer) so that everyone can know who the characters are.

argh phib, I gotta thank you for everything you've done so far. Teaching me how to read endian values and the offsets was really nice of you to do. I was merely a noob who didn't even know how to hex edit properly, and then you decided to help me out. Hopefully in the future, if I should run into anything that would stop me from fixing the script, I can look for you :P

Are you sure you wouldn't want to be part of the team? lol, I am looking for script editors.

EDIT 2: Never mind! I fixed the problem now! The script now runs ENTIRELY! Its perfect! Now I can guarantee a intro patch ^_^
User avatar
furyoftheskies
Might just like this board
 
Posts: 37
Joined: November 2nd, 2008, 1:21 pm

Unread postby phib » November 13th, 2008, 4:52 pm

Thanks for the offer, but I prefer 'teaching to fish' which is more entertaining than 'fishing for others'. Also I already have my hands full with other projects.
But I don't mind helping from time to time if you encounter any technical difficulties.
User avatar
phib
Addict
 
Posts: 104
Joined: May 9th, 2007, 12:25 am

Next

Return to General Translation Projects

Who is online

Users browsing this forum: No registered users and 2 guests

cron