ROM Hack [PROJECT] "The Legend of Legacy" - English Translation

DJPlayer

Banned!
OP
Banned
Joined
May 21, 2015
Messages
542
Trophies
0
Age
46
XP
429
Country
Netherlands
Hey Guys,

I want to start a second translation project which should be "The Legend of Legacy".
Right now, I've some problems to rebuild it to cia (Need help with Game-Decrypting and Rebuilding) but because of NTR_CFW and LayeredFS, I'm able to test the translation Ingame.
I just changed one simple line yet but we should be able to modify the text without big problems.
Here's a example:
b57bb0920e.bmp
7f462a4b98.bmp
165386e41d.bmp


There are two filetypes which should contain Texts: .nam-files and .msg-files

The .nam-file can be edited when we change the Text Encoding to "UTF-8".
3295e680cd.png
c5aa172ca3.png
Right now I can edit the texts BUT I the changed strings HAVE TO BE THE SAME LENGTH because of the offsets.
For the offsets, we would need a simple editor which edits the offsets manually.

The .msg-file SHOULD be editable when we change the Text Encoding to "UTF-8".
19b9d01dee.png
11e8f7590f.png
The files should be editable too, but I guess that we need a tool for this, too.


After we finished our Translation of Assassination Classroom, I want to translate this game.
But for this, I need YOUR help.
Could you help us to edit this two file formats?
I've uploaded a package with a few of the files for example.
Some of the files.rar

I would be very pleased if you could help us.
 
Last edited by DJPlayer,

Falo

Well-Known Member
Member
Joined
Jul 22, 2012
Messages
680
Trophies
2
XP
2,627
Country
Germany
Easy, *.msg files:
Code:
//--------------------------------------
//--- 010 Editor v5.0.2 Binary Template
//--------------------------------------
local int i, start_of_text, start_of_names;

struct TCRC tcrc;
struct TEXT text;
if(FTell() == FileSize()) return; //check if NPC table is present
struct NPCT npct;
struct NAME name;

Printf("text entries:\n");
for(i = 0;i<(tcrc.size/8);i++)
{
  FSeek(start_of_text + tcrc.entries[i].offset);
  struct{
  char text[];

  //debug print text into output window,
  //note: there are some non-utf8 values like 0x01
  Printf("%08X: %s\n", tcrc.entries[i].hash, text);
  }text_entry;
}
Printf("\nname entries:\n");
for(i = 0;i<(npct.size/0x20);i++)
{
  if(npct.entries[i].id == 0) continue; // skip empty entries

  FSeek(start_of_names + npct.entries[i].offset);
  struct{
  char text[];
  Printf("%08X: %s\n", npct.entries[i].id, text);
  }name_entry;
}

struct TCRC{ //Text CRC table
  char magic[4]; //TCRC
  int size;

  struct TCRC_ENTRY entries[size/8];
};

struct TCRC_ENTRY{
  uint hash;
  int offset;
};

struct TEXT{ //Text Table, linked to Text CRC table
  char magic[4]; //TEXT
  int size;
  start_of_text = FTell();
  byte data[size];
};

struct NPCT{ //NPC Table
  char magic[4]; //NPCT
  int size;
  struct NPCT_ENTRY entries[size/0x20];
};

struct NPCT_ENTRY{
  int offset;
  uint id;
  char npc_id[24];
};

struct NAME{ //Name Table, linked to NPC Table
  char magic[4]; //NAME
  int size;
  start_of_names = FTell();
  byte data[size];
};

Sample: F04_GRE01.msg
Output:
Code:
04423488: 他愛ない。
104C7E28: むむ、床が急に輝きを!?
27A49398: ここが新大陸ですね。@k
さあ、進んでみましょう!
367695B9: はーい、返り討ち仝
3E32F2F6: ここが新大陸ね。@k
まずはいろいろ探索してみましょう。
44305280: 新大陸か……。@k
この空気、どこか郷愁を感じさせるな。
49E63115: 渦巻く風の音が、飛び交う巨鳥の
動きを封じた。
4B421C6F: ん、なんだあの光る床は?
4BAC9D8F: もう! 巣に近づいただけで
襲ってくるなんて!
523AFCE1: 奇襲で倒そうなんて、
はちみつより甘いわね。
5A3166D3: この先へ進みますか?
5A7E9BAE: ふーん、ここが新大陸か。@k
ま、とにかく歩き回ってみましょ。
61F349D1: ん、あの床、
何か光ってるな?
67858674: おー、ここが浮上した大陸かあ。@k
なんか、ワクワクしてきたぜ!
691E7C20: ふー、あやうく
ハチの巣にされる所だったぜ。
811EB230: あれ、あそこの床光ってますよ。
844AE8C5: む、あの光る床は……?
8B38A62A: ここが新大陸だな。@k
ひとまず歩き回ってみるか。
9888D35E: あら? 何かしらあの光る床は。
B083EBF0: 周囲から魔物の気配が消えた!
B6F65F80: おお! この場所は知っておるぞ!@k
……と、思ったが忘れてしまった!!
C154AEF9: 湖の水が、まるで地面のように
固くなった。
C3A849CE: よう、気がついたか。
危ないとこだったぞ、お前ら。
あんまりムチャはするなよ。
CB4AC022: ふん、虫ごときに、
オレは負けん。
DAFE5197: やれやれ、血気盛んな
虫ですな……。
DEFBC481: ここから、切り立った山々に登って行けそうだ。
ECCDA603: その先に拡がるのは、山であって山でなく、
森であって森でない、奇妙な風景だった。
F5D69742: ここから、切り立った山々に登って行けそうだ。
FCC4BA06: あら、あの光る床はなあに?

name entries:
80000006: 冒険者男
80000006: 冒険者男

*.arr -> each file has it's own unique structure, it's a value and pointer database, the pointer are linked with *.nam files.

sysmsg_message.arr is the easiest one, because it only contains the pointer table, each pointer is 2 byte, so filesize/2 = count.
 
Last edited by Falo, , Reason: script updated, npc table added and parsed

DJPlayer

Banned!
OP
Banned
Joined
May 21, 2015
Messages
542
Trophies
0
Age
46
XP
429
Country
Netherlands

Ahh, okay :)
Just want to know: Can edit the files with your 010-Editor script?
I'm really new with tools like this but normally I learn very fast if you explain me what I've to do.

btw. I edited the sysmsg_message.nam with EditPadPro (converted to UTF-8 -> Changed something -> checked if it has the same filelength and didn't added/removed bytes)
165386e41d.bmp
 

Falo

Well-Known Member
Member
Joined
Jul 22, 2012
Messages
680
Trophies
2
XP
2,627
Country
Germany
Ahh, okay :)
Just want to know: Can edit the files with your 010-Editor script?
I'm really new with tools like this but normally I learn very fast if you explain me what I've to do.
Technically yes and no, 010 editor is just a fast way to find out the structure of a file and edit it, but you can only edit it with a fixed length.
You need a tool which rebuilds the whole file to support any text length.

Same for the *.arr/*.nam files, but each *.arr needs it's own tool.
 

DJPlayer

Banned!
OP
Banned
Joined
May 21, 2015
Messages
542
Trophies
0
Age
46
XP
429
Country
Netherlands
Technically yes and no, 010 editor is just a fast way to find out the structure of a file and edit it, but you can only edit it with a fixed length.
You need a tool which rebuilds the whole file to support any text length.

Same for the *.arr/*.nam files, but each *.arr needs it's own tool.
oh, understood :/
I think about .nam-files, fixed lengths would not be a big problem. I think I'll be able to edit these files with EditPad-Pro (because of the japanese characters, there should be enough space for changes).
But about the .msg-files, I think I need a Tool to do it.
Do you know someone who is willing to write a simple tool for us to edit this .msg-files?

about the arr/nam-files I'm not sure if it's possible to write a Tool which can get the information of every arr-file to generate the structure for the nam-files to edit these.
Yea..
 

DJPlayer

Banned!
OP
Banned
Joined
May 21, 2015
Messages
542
Trophies
0
Age
46
XP
429
Country
Netherlands
Made a small update. It seems that we need to find a way to ADD new lines or shorten the Character Description.

b57bb0920e.bmp
5911691316.bmp

The fully translation of:
Code:
財宝を求めて世界を旅してま
わるトレジャーハンター。元気
一杯、まっすぐで楽天的。正
義感が強く、曲がったことは

should be like:
Code:
A treasure hunter on his journey through the world, 
wanting to lay his hands on the greatest treasure there is. 
He always keeps his spirits up high and 
is a straight forward person with great health. 
He is also a skilled thief, 
but has a terrible dislike of a certain women's affection.
 

loco365

Well-Known Member
Member
Joined
Sep 1, 2010
Messages
5,457
Trophies
0
XP
2,927
I've been patiently waiting for this game to ever be announced for the West, but it hasn't yet, so seeing a translation attempt for this game really excites me. This is something I'll definitely watch out for, I wish you the best of luck.

By the way, do you plan to just dump all the text and have it translated, then repair and insert it again later on as you go, or will you just be doing it a bit at a time? I barely know much in the way of Japanese, but I do know a little bit and can probably translate some simple menu texts and whatnot if I'm not absurdly busy.
 

DJPlayer

Banned!
OP
Banned
Joined
May 21, 2015
Messages
542
Trophies
0
Age
46
XP
429
Country
Netherlands
I've been patiently waiting for this game to ever be announced for the West, but it hasn't yet, so seeing a translation attempt for this game really excites me. This is something I'll definitely watch out for, I wish you the best of luck.

By the way, do you plan to just dump all the text and have it translated, then repair and insert it again later on as you go, or will you just be doing it a bit at a time? I barely know much in the way of Japanese, but I do know a little bit and can probably translate some simple menu texts and whatnot if I'm not absurdly busy.
I would dump all texts and translate as much as I can when I have free time.
But now I've the problem that I've limited space and a fix length that I can use for each text because of the offsets and such.
I would need a Tool that can completely edit/rebuild these files.
But right now, I can only edit a few strings because of the limitation
 

loco365

Well-Known Member
Member
Joined
Sep 1, 2010
Messages
5,457
Trophies
0
XP
2,927
Isn't Atlus USA already localizing this one?
They announced it during a podcast.
It wasn't an official announcement. I read about this, and in the article, they said that they've asked Atlus directly about it but haven't gotten an answer on the subject.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://www.ebay.com/itm/386617469929?mkcid=16&mkevt=1&mkrid=711-127632-2357-0&ssspo=2T8UwYf_Qse&...