ROM Hack Lux-Pain Re-translation

DR_Chain

Member
OP
Newcomer
Joined
Apr 9, 2014
Messages
14
Trophies
0
XP
122
Country
Netherlands
Just putting this out here, in case anyone was planning on picking this up as well.

I've been thinking of translating the game Lux-Pain, from Japanese.
There is an official version out there, but the translation for that is kind of... lacking, so to say.
I've played the game and enjoyed it a lot, but because of the translation it was very confusing.

This is by no means a professional re-translation.
It's a one-man project and just for fun.

Also I've never done a project like this before


At first this was just for myself.
I wanted to improve my Japanese and just finished replaying this game.
As it had some awkward English, why not kill two birds with one stone?
And I thought there might be others who'd like a translation a little easier to read, so I made this post.

I'll try to translate 1 chapter at a time.
However, progress will be slow.
Just a warning, don't get your hopes up to much. (^▽^;

If anyone's willing to check the grammar and spelling of the translation that'd be great.
Also I know NOTHING about programming.
So if there's someone who, if I ever finish this, would be willing to make a patch that'd be awesome.
Or tell me how to do it myself would be great too.
(Although it's probably going to be a while before we even get to that point.)

EDIT:
Also there's this site:
http://www.maql.co.jp/special/game/ds/lux-pain/index.html

Which is the official Japanese site.
It contains 5 Web Novels and I'm also considering translating these.
There's no set plan or schedule so I'll just see which way life takes me.

EDIT 2:
I made a BLOG(?) for this.
It won't have any regular or consistent updates though (Because I suck at time management, and there's life)
But here's the link, check it out if you have some time
There's not much on there for the moment though
https://lux-pain-project.tumblr.com/
 
Last edited by DR_Chain,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
I would like to hear more about this iffy translation. I have not put enough time into the game to say I have played it at this point though so I can not come from that angle.

I quite like retranslation and improvement hacking but I have been caught out more than once with people wanting a purely literal translation -- fully interpreted has its uses but I do skew more towards favouring the less literal and more readable stuff.
 
  • Like
Reactions: yule80

GHANMI

Well-Known Member
Member
Joined
Jun 10, 2012
Messages
969
Trophies
0
XP
914
Country
A lot of files (extension ahx) seems compressed but have their hexadecimal data finish with this:
AHXE(c)CRI (plus two 00 bytes)
(on second thought it seems like those are voice samples... an undub has been done already by the way and swaps those)

Under evt I suspect those are the text files, but besides the SC01 header everything seems compressed (nothing appears under the hex viewer). Don't know more since I can't do asm, so, sorry for this useless post.
 

Skelletonike

♂ ♥ Gallant Pervert ♥ ♀
Member
GBAtemp Patron
Joined
Dec 26, 2008
Messages
3,433
Trophies
3
Age
32
Location
Steam City
XP
2,684
Country
Portugal
Oh, this is quite a great idea, just yesterday I was wondering about it as I looked at my Lux Pain cart. x'D
I've finished the game twice, but even so the game get's me lost several times, the grammar, among other things, makes no sense at a lot of times. Not to mention that there's tons of nonsensical sentences.
Anyway, this would be a great idea and I'd love to play the game in a proper way for once. =O
 

DR_Chain

Member
OP
Newcomer
Joined
Apr 9, 2014
Messages
14
Trophies
0
XP
122
Country
Netherlands
(Sorry for the late reply, I had some schoolwork to finish)

Well for example: the voice acting and text often don't match, So you don't know which one you should see as "this is being said" (btw, in the japanese version it DOES match)
or they switch between America and Japan as the country where the story is taking place, and this just makes things confusing.
or just translate it literally.
(It's been a while since I played, so I might have left something out or mixed something up.)

Hmmm, I do like literal translations, but literal doesn't always make sense in English if you're not used to it (Japanese to English literal translation, I mean)
I also translate text from Japanese fanart/writing, but the people who read that are used to reading it , the translation, the literal way.
But with games people don't always have prior knowledge of Japanese, so it won't make sense to them if you translate literally.
So I'll try to write it in a way that is recognizable to people who don't know much about Japan, and also keep as close to the original meaning as possible.
Since this game is more for the teenage crowd, I think the audience would be able to understand it even if it's a little literal.

I'll be posting the chapters one by one, if you think there's something wrong with the translation, or the way I wrote it, please tell me and if there's indeed room for debate, I'll consider and try to make something different of it.
 
  • Like
Reactions: yule80

neoxephon

Well-Known Member
Member
Joined
Jul 13, 2009
Messages
437
Trophies
0
Age
35
Location
USA
XP
547
Country
United States
A lot of files (extension ahx) seems compressed but have their hexadecimal data finish with this:
AHXE(c)CRI (plus two 00 bytes)
(on second thought it seems like those are voice samples... an undub has been done already by the way and swaps those)

Under evt I suspect those are the text files, but besides the SC01 header everything seems compressed (nothing appears under the hex viewer). Don't know more since I can't do asm, so, sorry for this useless post.


The script isn't compressed. First dialogue of the game is located in \evt\park_00.evt, use a hex editor with Shift-JIS (wxMEdit is good).

For whatever reason, the game uses double-byte English characters. The font does not have single-byte.

The script doesn't use a pointer system. It simply uses the control code FF to tell the game when a string ends and then one byte of padding before the next string begins.

Increasing the file size by even just one byte causes the game not to work correctly. It's been years since I've done anything with a NDS game, but if I remember right this is a common thing.
 

Kelebek

Well-Known Member
Member
Joined
May 25, 2012
Messages
165
Trophies
0
XP
156
Country
It does use a pointer system. This one's beyond my ability though, I can't figure out WHERE it's pulling the string number from. Anyway for the evt files:

SC01 signature, followed by a list of absolute address for table starts. The first one always seems to be at 0x18, leaving 5 tables total. If the tables are invalid they're just set to the end of the file.

String offsets are in the table at 0x10. Not sure what the first word is, but after that are the string starts / 0x2 from the start of the text table. The text table is the last table in the list defined at 0x14. Has a bunch of control codes in it. ff00 is a new line, 0000 marks the end of the string I think. There's a few others, all seem to begin with either FF or 00.

So that's the strings and their positions, which is all fine and technically doable if all you do is replace existing strings. But for adding strings, that's where I have no idea. I think you would need that to enable you to make new pages if you need space. I don't think a single string has the ability to start a new page itself. I can't figure out how the game is getting the position of the opcode which is defining the correct string. The opcode looks to be 4d though, but I'm entirely not sure.
 

DR_Chain

Member
OP
Newcomer
Joined
Apr 9, 2014
Messages
14
Trophies
0
XP
122
Country
Netherlands
Just putting this out here, in case anyone was planning on picking this up as well.
I've decided to translate the game Lux-Pain, from Japanese.
There's an official version out there, but the translation for that is kind of... lacking, so to say.
And from what I've seen so far they tend to leave out information as well.
Or translate it in a way that's slightly off.
At the very least it's confusing.

It's a one-man project and just for fun.
The kind of fun where one tries to test ones skills.
In this case: I'm testing my translating skills.
I'll be translating the game as I play through it, one chapter at a time.

If anyone's willing to check the grammar and spelling of the translation that'd be great.
Also, I'm a translator, not a programmer.
So if someone would be willing to make a patch that'd be awesome.
Or tell me how to do it myself would be great too.
(Although it's probably going to be a while before we even get to that point.)

EDIT:
Also I'd like to know:
Would you people like it if I translated some sections from this site?

http://www.maql.co.jp/special/game/ds/lux-pain/index.html

It's the official japanese site, last updated in 2008.
Meaning I can work with it easily.

I'm willing to translate Character, Story, System and Silent & Fort.
Since they seem to contain, you know, important basic information.
Top, News, Special and Blog look less important if you're planning on playing the game.

By the way, this site also contains 5 web novels.
I'm considering translating these, when I'm not working on the game translation.
Tell me if you'd like me to post the translation (somewhere) online.


----------UPDATE----------

Currently working on Chapter 00.

Okay, I played through the whole game again.
And realized that I would probably need the actual text files for some parts.
Because sometimes the dialogue chances depending on your choices.
If someone could provide them that'd be a huge help, because I don't know how to do so myself.
For now, I can still translate by hand tho.

Also, I am thinking about letting honorifics and suffixes stay as is?
Like "Onii-chan" or "-San" (but not like "Seinen" or "Shoujo", just the ones used to address someone personally I guess).
Since it's taking place in Japan and all.
I mean, for example, when some French character shows up in games they can say "Bonjour" or whatever as well, so I thought why not?
(Plus, this was originally meant to be just for myself, so...)
 
  • Like
Reactions: yule80 and GHANMI

GHANMI

Well-Known Member
Member
Joined
Jun 10, 2012
Messages
969
Trophies
0
XP
914
Country
Currently working on Chapter 00.

Okay, I played through the whole game again.
And realized that I would probably need the actual text files for some parts.
Because sometimes the dialogue chances depending on your choices.
If someone could provide them that'd be a huge help, because I don't know how to do so myself.
For now, I can still translate by hand tho.

The script isn't compressed. First dialogue of the game is located in \evt\park_00.evt, use a hex editor with Shift-JIS (wxMEdit is good).

For whatever reason, the game uses double-byte English characters. The font does not have single-byte.

The script doesn't use a pointer system. It simply uses the control code FF to tell the game when a string ends and then one byte of padding before the next string begins.

Increasing the file size by even just one byte causes the game not to work correctly. It's been years since I've done anything with a NDS game, but if I remember right this is a common thing.


Get the Tinke tool, open the Japanese rom with it, open the folder evt.
Choose one of those, open with a hexadecimal tool (Tinke has an internal one).
Choose Shift-JIS.
Japanese text will appear. Sentences are separated with FF characters to tell where one of those end.

Now that's how you get the original script.

If you want to translate it, I recommend you try opening those same files but from either the English rom or the French rom if you can recognize the corresponding sentences (since that language has longer sentences by design, your translation can fit in less or equal characters -provided you don't get too wild with it-. Since it uses a pointer system, put FF whenever you want to finish the sentence if it's short than the replaced faulty official localized script.)
And actually modify the text in the hex editor this time around.

See if fileswapping is possible between versions. Chances are the graphics with text on them that need swapping are marked en/fr/ge/it in the PAL rom.
 

DR_Chain

Member
OP
Newcomer
Joined
Apr 9, 2014
Messages
14
Trophies
0
XP
122
Country
Netherlands
Get the Tinke tool, open the Japanese rom with it, open the folder evt.
Choose one of those, open with a hexadecimal tool (Tinke has an internal one).
Choose Shift-JIS.
Japanese text will appear. Sentences are separated with FF characters to tell where one of those end.

Now that's how you get the original script.

If you want to translate it, I recommend you try opening those same files but from either the English rom or the French rom if you can recognize the corresponding sentences (since that language has longer sentences by design, your translation can fit in less or equal characters -provided you don't get too wild with it-. Since it uses a pointer system, put FF whenever you want to finish the sentence if it's short than the replaced faulty official localized script.)
And actually modify the text in the hex editor this time around.

See if fileswapping is possible between versions. Chances are the graphics with text on them that need swapping are marked en/fr/ge/it in the PAL rom.


Thank you very much, also for explaining.
I'll try it out.
Could I ask you for help if I get stuck?

The script isn't compressed. First dialogue of the game is located in \evt\park_00.evt, use a hex editor with Shift-JIS (wxMEdit is good).

For whatever reason, the game uses double-byte English characters. The font does not have single-byte.

The script doesn't use a pointer system. It simply uses the control code FF to tell the game when a string ends and then one byte of padding before the next string begins.

Increasing the file size by even just one byte causes the game not to work correctly. It's been years since I've done anything with a NDS game, but if I remember right this is a common thing.


So... In short I have to watch how many letters/symbols I use?

It does use a pointer system. This one's beyond my ability though, I can't figure out WHERE it's pulling the string number from. Anyway for the evt files:

SC01 signature, followed by a list of absolute address for table starts. The first one always seems to be at 0x18, leaving 5 tables total. If the tables are invalid they're just set to the end of the file.

String offsets are in the table at 0x10. Not sure what the first word is, but after that are the string starts / 0x2 from the start of the text table. The text table is the last table in the list defined at 0x14. Has a bunch of control codes in it. ff00 is a new line, 0000 marks the end of the string I think. There's a few others, all seem to begin with either FF or 00.

So that's the strings and their positions, which is all fine and technically doable if all you do is replace existing strings. But for adding strings, that's where I have no idea. I think you would need that to enable you to make new pages if you need space. I don't think a single string has the ability to start a new page itself. I can't figure out how the game is getting the position of the opcode which is defining the correct string. The opcode looks to be 4d though, but I'm entirely not sure.


Um, I am a person who has no experience with programming.
So it's a little confusing for me, sorry.
 
  • Like
Reactions: yule80 and GHANMI

GHANMI

Well-Known Member
Member
Joined
Jun 10, 2012
Messages
969
Trophies
0
XP
914
Country
Bump
Is this still going?


Nope. It's cancelled. Abandoned. Finito. Boom.
The fact that the translator went for A WHOLE 15 DAYS (OH GOD, THE HORROR!) without posting reports to his superiors at work in this forum means that he/she has suddenly abandoned this fun hobby of his/her, which would be a serious slacking off from an important life-changing duty.
HOW DARE HE/SHE!

Your bump is appreciated and valuable so that we can denounce those lazy @&%! translators who dare not to post online at least once per 24 hours. Would it kill them to post on forums about how much progress instead of doing said progress or just enjoying their lives as they see fit?
 

Skelletonike

♂ ♥ Gallant Pervert ♥ ♀
Member
GBAtemp Patron
Joined
Dec 26, 2008
Messages
3,433
Trophies
3
Age
32
Location
Steam City
XP
2,684
Country
Portugal
Not sure if sarcastic or serious... Oh well, off to play the official translation then D:

In case it wasn't obvious, he was being sarcastic, translation projects tend to take a long time. Take a look at Kingcom's website, he releases like two updates a year, which doesn't mean he has stopped working on the projects.

Unless there's anything worth reporting, they don't really bother to post about it.
 
  • Like
Reactions: Lycan911 and GHANMI

DR_Chain

Member
OP
Newcomer
Joined
Apr 9, 2014
Messages
14
Trophies
0
XP
122
Country
Netherlands
Bump

Is this still going?

Yes, this is still going

Nope. It's cancelled. Abandoned. Finito. Boom.
The fact that the translator went for A WHOLE 15 DAYS (OH GOD, THE HORROR!) without posting reports to his superiors at work in this forum means that he/she has suddenly abandoned this fun hobby of his/her, which would be a serious slacking off from an important life-changing duty.
HOW DARE HE/SHE!

Your bump is appreciated and valuable so that we can denounce those lazy @&%! translators who dare not to post online at least once per 24 hours. Would it kill them to post on forums about how much progress instead of doing said progress or just enjoying their lives as they see fit?

I'm not sure if I should have, but I kind of had to laugh when I read this.
But it's fine. You know, asking never hurts.

To clarify for anyone who is wondering like NikolaMiljevic:
I am working on it.
But for me, it seems kind of pointless to update everyday, when progress isn't that fast (Since I am but one person)
"Today I did this and this, but I'm not finished yet so I can't show you", is not something that I feel like I need to update for.
Because I wouldn't have anything to show yet anyway.
It just seemed more, you know, efficient if I report and update when I ACTUALLY made some progress.

In case it wasn't obvious, he was being sarcastic, translation projects tend to take a long time. Take a look at Kingcom's website, he releases like two updates a year, which doesn't mean he has stopped working on the projects.

Unless there's anything worth reporting, they don't really bother to post about it.
This just came in, it's pretty much like this.
 

DataDrain

Active Member
Newcomer
Joined
Nov 28, 2006
Messages
37
Trophies
0
XP
215
Country
Oh dear God, yes. Yes, please. I loved Lux Pain so much but the translation was so godawful.

I don't have much experience in translation or programming, but I have a very good grasp on the English language if you ever need a proofreader or editor or something.

I'm seriously so excited for this. Good luck!!
 
  • Like
Reactions: yule80

DR_Chain

Member
OP
Newcomer
Joined
Apr 9, 2014
Messages
14
Trophies
0
XP
122
Country
Netherlands
Oh dear God, yes. Yes, please. I loved Lux Pain so much but the translation was so godawful.

I don't have much experience in translation or programming, but I have a very good grasp on the English language if you ever need a proofreader or editor or something.

I'm seriously so excited for this. Good luck!!


Thank you and oh, yes please.
If you would proofread that'd be a great help.

Thanks for your work!

Looking forward to this!


Thanks for your support :D
 

DR_Chain

Member
OP
Newcomer
Joined
Apr 9, 2014
Messages
14
Trophies
0
XP
122
Country
Netherlands
Just out of curiosity, I have a question.
so I downloaded Tinke.
And I can find the text I need just fine.
(At least so far so good)
But there's one thing I don't understand:
Why is the first half of the text I get a mix of (probably) code and Japanese characters?
(Again, just so you know: I have about zero experience with this kind of thing)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BakerMan @ BakerMan:
    for real
  • BakerMan @ BakerMan:
    at least with them, it was because of the DDOS attacks, ubisoft was just scummy
  • BakerMan @ BakerMan:
    fuck ubisoft, and fuck activision
    +1
  • realtimesave @ realtimesave:
    Nintendo needs to release a new console, switch is getting such shitty little games lately lol it's pathetic
  • Purple_Heart @ Purple_Heart:
    Lmao a new flashcart... The Unlock Switch... I knew it's not fake xD
    +1
  • NinStar @ NinStar:
    A new consoles won't solve that problem
  • NinStar @ NinStar:
    It will actually make it worse
  • The Real Jdbye @ The Real Jdbye:
    well actually
    a new console won't do anything right now, because the games are still in development, that's why there are few games being released
  • The Real Jdbye @ The Real Jdbye:
    it won't make the games finish any faster
  • Veho @ Veho:
    2/3rds of launch titles for the Switch 2 will just be lazy ports of Switch games anyway.
  • The Real Jdbye @ The Real Jdbye:
    probably
  • The Real Jdbye @ The Real Jdbye:
    maybe mario kart 9 will be a launch title
  • The Real Jdbye @ The Real Jdbye:
    i really want a new mario kart
  • Veho @ Veho:
    What, you mean the endless stream of DLCs doesn't count?
  • Veho @ Veho:
    Why develop a new game when you can just sell season passes forever?
  • Veho @ Veho:
    I'm still on MKDS so I'm not bothered :tpi:
  • The Real Jdbye @ The Real Jdbye:
    i like the dlc tbh, i'd like a new game more
  • ZeroT21 @ ZeroT21:
    but the current version is still selling fine at full price
  • SylverReZ @ SylverReZ:
    Hello
  • ZeroT21 @ ZeroT21:
    sup
    +1
  • SylverReZ @ SylverReZ:
    @realtimesave, You seen the Unlock Switch flashcart yet?
  • K3Nv2 @ K3Nv2:
    I'll see the 19.0 update that blocks use ability to it
    +1
  • K3Nv2 @ K3Nv2:
    Lol newegg+
    Screenshot-20240423-053504-Gmail.jpg
  • S @ salazarcosplay:
    does update 19 really block it
    S @ salazarcosplay: does update 19 really block it