Hacking [WIP English Translation] Conception: Ore no Kodomo wo Unde Kure!

master801

Well-Known Member
OP
Member
Joined
Feb 24, 2011
Messages
1,135
Trophies
1
XP
2,475
Country
United States
My CFI program now works, it currently only extracts. I am now working on how to create a CFI file.

I do understand how a CFI file is structured now at the very least.

There is now a GitHub repository for the project, but there is nothing on it yet as I have no intention of releasing my program without it be able to create a CFI file.

GitHub: https://github.com/master801/Conception-Ore-no-Kodomo-wo-Unde-Kure-English-Translation

Dev screen-shot(s):

Credits:
chrrox for the CFI extraction script [src]
Darthlink9 for the translation request [src]
 
Last edited by master801, , Reason: Update 1

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Unpack GAMEDATA.CFI (Python 3): http://pastebin.com/29fZNQqU
This is based on the BMS script.

The first script file is \script\main_00_01.rtz
The first text is this:
NPJH50583_00000.jpg

Text is encoded in UTF16-LE and this text appears at 0xE6BC.
I am finding all text is preceded by a byte with the length divided by 2. UTF16-LE encodes every character in 2 bytes, 'that's why it has 16 in the name.
Another pattern I am seeing: After the text, there's 4 bytes (unknown) after that is the length byte for the next text and then the next text. Maybe offsets of some kind? We need to know where are the jumps.

I guess you'll need to do some debugging to figure this one out.
 
Last edited by flame1234,

master801

Well-Known Member
OP
Member
Joined
Feb 24, 2011
Messages
1,135
Trophies
1
XP
2,475
Country
United States
Unpack GAMEDATA.CFI (Python 3): http://pastebin.com/29fZNQqU
This is based on the BMS script.

The first script file is \script\main_00_01.rtz
The first text is this:
View attachment 63356

Text is encoded in UTF16-LE and this text appears at 0xE6BC.
I am finding all text is preceded by a byte with the length divided by 2. UTF16-LE encodes every character in 2 bytes, 'that's why it has 16 in the name.
Another pattern I am seeing: After the text, there's 4 bytes (unknown) after that is the length byte for the next text and then the next text. Maybe offsets of some kind? We need to know where are the jumps.

I guess you'll need to do some debugging to figure this one out.

Thanks for the script documentation, I'll take a deeper look at it later when I have time.
 

ExData7

Well-Known Member
Member
Joined
Jan 10, 2017
Messages
200
Trophies
0
Age
28
XP
2,185
Country
United States
Is this still being worked on? It's be great to have this translated fully. This one seems more interesting than the second game

Sent from my GT-I9505 using Tapatalk
 

master801

Well-Known Member
OP
Member
Joined
Feb 24, 2011
Messages
1,135
Trophies
1
XP
2,475
Country
United States
Did the translation ever got anywhere near the start?

Not really. I started working on a script editor to streamline the translation process (like extract the text from the script files then write the extracted text into a json file or something along those lines) but I never really figured out how the script worked, aside from text length and such.

I first started in Java, but looking at it now, it was a stupid idea. Python is a much better solution, since it can properly handle number types (short, integer, long) and endianess. And I don't have a huge overhead when working with files, anymore, since switching the Python. *Shudders*

Is this still being worked on? It's be great to have this translated fully. This one seems more interesting than the second game

Sent from my GT-I9505 using Tapatalk

No, it is not. I'm just poking at the scripts, now, since I'm bored and some-what interested in it, now.


Don't expect any release or news, I am not really interested in this project, anymore.
 

Darksabre72

Blue Falcon
Member
Joined
Nov 26, 2016
Messages
652
Trophies
0
XP
1,862
Country
United States
Not really. I started working on a script editor to streamline the translation process (like extract the text from the script files then write the extracted text into a json file or something along those lines) but I never really figured out how the script worked, aside from text length and such.

I first started in Java, but looking at it now, it was a stupid idea. Python is a much better solution, since it can properly handle number types (short, integer, long) and endianess. And I don't have a huge overhead when working with files, anymore, since switching the Python. *Shudders*



No, it is not. I'm just poking at the scripts, now, since I'm bored and some-what interested in it, now.


Don't expect any release or news, I am not really interested in this project, anymore.
aw man and this was looking to be a good start
 

ExData7

Well-Known Member
Member
Joined
Jan 10, 2017
Messages
200
Trophies
0
Age
28
XP
2,185
Country
United States
Not really. I started working on a script editor to streamline the translation process (like extract the text from the script files then write the extracted text into a json file or something along those lines) but I never really figured out how the script worked, aside from text length and such.

I first started in Java, but looking at it now, it was a stupid idea. Python is a much better solution, since it can properly handle number types (short, integer, long) and endianess. And I don't have a huge overhead when working with files, anymore, since switching the Python. *Shudders*



No, it is not. I'm just poking at the scripts, now, since I'm bored and some-what interested in it, now.


Don't expect any release or news, I am not really interested in this project, anymore.
Ah well if u can maybe u could see if anyone else is interested in translating it and share any info you have with them

Sent from my GT-I9505 using Tapatalk
 

master801

Well-Known Member
OP
Member
Joined
Feb 24, 2011
Messages
1,135
Trophies
1
XP
2,475
Country
United States
aw man and this was looking to be a good start

The only part I'm having difficulties with is automating the process of figuring out where the text starts in the script files.

If I take a look at it myself in a hex editor (using Hex Workshop with the data visualizer), I can figure out where the text is, however I cannot seem to figure out how it's referenced. Whether it's a pointer/jump or if it's just like a normal script and is just the "next line".

However, I know that the text lines are near the end of the script file and never in the beginning nor middle.

EDIT:

No, I haven't solved the problem yet, but I at least got started on it. I found a place where I could at least start to see where the text begins.
https://github.com/master801/Concepted-RTZ
 
Last edited by master801,
  • Like
Reactions: kagekyo

Serberker

Well-Known Member
Member
Joined
Jan 13, 2019
Messages
105
Trophies
0
XP
1,181
Country
Hungary
I have looked into it. The rtz files are looking like everything have been vomited together in one place.

Each rtz file seems to have some sort of imports at the header.
The first few (10-15) lines are the same for each file.

Same goes for the ending:
eg: 73 63 68 6F 6F 6C A5 85 25 10 01 65 BC 41 48 17 01 61 8E C9 93 19 01 69 FD F2 99 24 07 73 6B 69 70 70 65 64 00 60 A0 32 04 2E 72 74 7A 8F 16 C6 37 14 3A 73 6F 75 6E 64 2F 73 65 2F 65 76 25 30 33 64 2E 73 62 6B 9B 32 D7 40 04 6D 61 69 6E 20 C6 F8 48 10 70 61 75 73 65 5F 73 75 62 5F 73 63 72 69 70 74 80 13 D1 50 08 5F 73 6B 69 70 70 65 64 33 B5 22 67 01 64 95 A2 1C 68 0B 5F 70 68 61 73 65 5F 6E 65 78 74 01 3D F9 69 01 6C 18 F9 94 6E 01 68 D9 52 C2 7E 06 5F 66 6C 61 67 73 34 98 9A 80 01 6A 91 3E 71 83 06 5F 74 6F 75 63

Are you sure that these files contain the dialogs? I don't think so.
These look like script files to me. There are many repeated symbols, which could mean they are probably the same scrambled + minified variable names.
 
Last edited by Serberker,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    HiradeGirl @ HiradeGirl: Coming.