PDA

View Full Version : Koisuru otome to Shugo no tate


canikizu
2008-09-08, 12:53
I'm playing this game Koisuru otome to Shugo no tate recently and want to do a translation project with it.

Its archive is in .arc format. I checked and saw that .arc format can be extract using mjdev. But since I've never done it before, i don't know if i did it right, or it can't be extracted.

Here are some of its files. Does anyone know how to extract it?

http://www.mediafire.com/file/xdx02ytoejb/script.arc
http://www.mediafire.com/file/yt3xjw2gxyn/instdata.arc
http://www.mediafire.com/file/w8mxrljchjy/se.arc


Thank you, :)

Asceai
2008-09-08, 14:48
.arc is a fairly common extension. Are you sure it's a majiro game?

EusthEnoptEron
2008-09-08, 16:09
I just tried to extract the script.arc with ExtractData - so far it worked. But since the files didn't have a *.mjo suffix, I'm not too sure about it being on the Majiro engine.

canikizu
2008-09-08, 16:33
uhm sorry I didn't check it carefully. I've never use ExtractData before, so I didn't think about it.
Indeed in the game list of Extractdata, there are AXL games.:)

Thank you guys for clearing it. :)

canikizu
2008-09-08, 17:42
I can use ExtractData to extract it, but I wonder what I can do to pack it back. :).

Rasqual Twilight
2008-09-09, 12:47
the AXL .arc format uses a sliding window compression dubbed "LZ" in ExtractData. Repacking should be relatively trivial if you don't try to compress things

The decompression goes like this while ((src_pos <= srcSize) || (dst_pos <= dstSize)) {
BYTE flags = *src++;
src_pos++;

for (int i = 0; i < 8; i++) {
if (flags & 0x01) {
// データ
*dst++ = dic[retSize & (dicSize - 1)] = *src++;
src_pos++;
dst_pos++;
retSize++;
if ((src_pos == srcSize) || (dst_pos == dstSize))
return;
}
etc...
flags >>= 1;
}



so if you have "ABCDEFGHI" to compress, the resulting stream could be "\xFFABCDEFGH\x80I"
After that, look how compressed entries are stored in the .arc format and see if the "encryption" is easy to implement. (should be fairly, I think)

canikizu
2008-09-09, 17:33
I'm a complete newbie about VN editing, as well as programming (unless you count those ancient Pascal lesson), so I don't understand anything :) sorry.

I appreciate it if you can guide me step by step :).

rednaxela
2008-09-16, 11:32
Yeah, I wrote a crude command-line packer for this game over a year ago. Here it is:
http://bbs.sumisora.com/read.php?tid=228258&fpage=3
in case you can't see the thread due to login restrictions, here's the packer:
http://www.mediafire.com/?sharekey=fba2d0f072d5e93eab1eab3e9fa335ca274fb105898347f7

usage:
AXLpack0.exe path-of-dir-to-pack output-file-path

So suppose you've got your edited scripts in ./script folder, pack them with the following command to get ./script1.arc:
AXLpack0 ./script ./script1.arc

This tool works on script.arc of KOITATE only. I was too lazy to write the logic to identify and process BMPs, which require some special care replacig the header. So if you're looking for tools to do that, you'll have to get someone else. I don't write any new tools now...

To unpack the archives you'll just need ExtractData mentioned above.

Have fun!

- RednaxelaFX

canikizu
2008-09-17, 19:58
I used rexanaxelaFx's tool and it turned out good.
But I have another problem.

The text doesn't appeear right in the box.

http://img204.imageshack.us/img204/3803/37633673cl7.jpg

http://img227.imageshack.us/img227/7590/33892228rs4.jpg

Rednaxela talked about I need to hack to the game execute, and double the threshold per line, since the game count letters per line. But then again, I don't have experience with debugger :(. What should I do now?

zalas
2008-09-17, 20:45
Rednaxela talked about I need to hack to the game execute, and double the threshold per line, since the game count letters per line. But then again, I don't have experience with debugger :(. What should I do now?
Since you have no idea how to do the engineering portion of the localisation process, the only thing you can do is wait for a hacker to help you out. Until then, you'll just have to be patient and wait.

canikizu
2008-09-21, 16:32
I'll wait then :).