News:

The forum has been updated to SMF (2.1.3)!
Please be patient as we work to polish up the place and update features as we can.

Main Menu

TLA Translation font editing?

Started by TenkaiSp, 10, December, 2014, 10:10:50 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TenkaiSp

Hello everybody,

I'm planning to translate our beloved Golden Sun: TLA into Polish, using gstlatoolkit (kudos to the creator!).
The obvious problem is, that TLA font doesn't have the polish characters in it.

Is it possible to add new characters to the font, or at least replace some of the original characters that aren't used in the english version? :)

Luna_blade

Hello there and welcome to the forums!
Unfortunately I don't have any hacking experience, but there are people here that do have that knowledge.

Also there might be a little patch somewhere that fixes some mistranslations in the english version of GS1 & GS2.
"Hear the sounds and melodies
Of rilets flowing down
They're the verlasting songs
Whispering all the time
As a warning that behind some rocks
There's a rigid grap even
Oreads fear the tread"

Salanewt

Hm... I found a little information here, but there isn't much about it there. I can try taking a look for you after tomorrow if nobody else does, since I should have more spare time then.
Oh yeah baby, £ me harder.

Fusion is just a cheap tactic to make weak Adepts stronger.

Yoshi's Lighthouse is a hacking website in progress. Why not check it out if you like Yoshi or the Mario & Luigi games?

TenkaiSp

#3
Quote from: Lord Squirtle on 10, December, 2014, 12:50:22 PM
Hm... I found a little information here, but there isn't much about it there. I can try taking a look for you after tomorrow if nobody else does, since I should have more spare time then.

Looks like a good beginning. Basically what I need is to be able to edit the font image - replace the extra language characters with Polish ones using my incredible paint skills :D.
I've tried using the Tile Molester, but couldn't find anything.

Daddy Poi's Oily Gorillas

#4
Atrius's TLA Editor 0.5 > Data Browser > Entry #19 shows a font with non-italic characters. (At 0x08682010)

The italics font... is somewhere... Probably at 0x0805A4E0. (Should be in an uncompressed format... Given that there's a byte for each character's width for each letter here, it's likely Tile Molester won't read it properly, though.)

Like with all GBA games, remove the 08 prefix when viewing in an actual Hex Editor.
Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

TenkaiSp

Quote from: Fox on 10, December, 2014, 05:33:59 PM
Atrius's TLA Editor 0.5 > Data Browser > Entry #19 shows a font with non-italic characters. (At 0x08682010)

The italics font... is somewhere... Probably at 0x0805A4E0. (Should be in an uncompressed format... Given that there's a byte for each character's width for each letter here, it's likely Tile Molester won't read it properly, though.)

Like with all GBA games, remove the 08 prefix when viewing in an actual Hex Editor.

Thanks a lot! I was able to view the italics font in the Tile Molester using 4bpp, composite (2x2bpp) codec:

Click!

Looks kinda messy, but I tried to edit the 'á'... and it works!

:VenusDjinni:



Daddy Poi's Oily Gorillas

#6
You are welcome.
Cool. I rarely ever use Tile Molester, so I didn't know for sure. (That and I didn't verify what the actual format was... except that it was uncompressed...)


First character is 0x20 (Space)... All numbers < 0x20 are not letters, but commands... so after a string is parsed, then numbers 0x0 to 0x1F likely never show up in the RAM string data.
Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

KyleRunner

Quote from: TenkaiSp on 10, December, 2014, 10:10:50 AM
Hello everybody,

I'm planning to translate our beloved Golden Sun: TLA into Polish, using gstlatoolkit (kudos to the creator!).
The obvious problem is, that TLA font doesn't have the polish characters in it.

Is it possible to add new characters to the font, or at least replace some of the original characters that aren't used in the english version? :)



Hmmm... Did you translate the first one too? I remember seeing a polish translatio of the first one.
I'm translating the second game (three years ago I finished the first one) into my language as well (portuguese).
We have to thank Atrius for the "new" translation toolkit!
Good luck on your translation!

TenkaiSp

Quote from: KyleRunner on 11, December, 2014, 08:21:14 PM
Hmmm... Did you translate the first one too? I remember seeing a polish translatio of the first one.
I'm translating the second game (three years ago I finished the first one) into my language as well (portuguese).
We have to thank Atrius for the "new" translation toolkit!
Good luck on your translation!

Thank you  :happy:
And no, I didn't translate the first game. But it is a pretty solid translation into polish, so I'm going to partially base mine on it.
... Erm, maybe I'll leave the original Djinn names, they sound really silly in my language. :)

Anyway, how far did you get?

KyleRunner

Quote from: TenkaiSp on 12, December, 2014, 04:29:26 AM
Quote from: KyleRunner on 11, December, 2014, 08:21:14 PM
Hmmm... Did you translate the first one too? I remember seeing a polish translatio of the first one.
I'm translating the second game (three years ago I finished the first one) into my language as well (portuguese).
We have to thank Atrius for the "new" translation toolkit!
Good luck on your translation!

Thank you  :happy:
And no, I didn't translate the first game. But it is a pretty solid translation into polish, so I'm going to partially base mine on it.
... Erm, maybe I'll leave the original Djinn names, they sound really silly in my language. :)

Anyway, how far did you get?

Hmmm... Maybe 25%... I'll continue as soon as I solve some work issues.

Atrius (He/Him)

#10
Just so this knowledge is out there:  The italic font is stored as 1bpp with the first byte of each character representing the width of the character (The first 8 pixels are always blank)  Each character is 16x16 pixels, and takes up 32 bytes.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Daddy Poi's Oily Gorillas

#11
Does this mean that TenkaiSp was doing wrong by using 4bpp, composite (2x2bpp) codec? (which shows 8x8 characters) ;  And should have instead used a 1-bit one for 16x16 tiled if that exists in TileMolester? (I'm a bit lost about how to do it in the program, so there probably isn't a way with it... which means his/her way of doing it would be the compromise.)
Anyway, thanks for that tid-bit, I'm just a tiny bit surprised I didn't verify that by now... Just to make sure, though... There are only two fonts in the entire game? (Most likely, aside from built-in text found in images like the title screen(s), and some numbers like the ones used during the start of Trial Roads.)

Quotethe first byte of each character representing the width of the character (The first 8 pixels are always blank) Each character is 16x16 pixels
Isn't that two bytes? And 14x14 max if you don't count shadow... (Which means the last two bytes go unused.... and the two bits that would go at the end of each row go unused.) Even with the shadow, which is made one pixel to the right and down, it would then be 15x15 at best.
Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

Atrius (He/Him)

#12
*actually tests it out instead of speaking from memory*

Huh, so it's 14x14 pixels per text character.

- Seems like you CAN use the second byte as part of the character width. (Creating impossibly wide characters, and in some cases causing weird glitches)
- The third byte of each character's data starts the third row of pixels.  (The first TWO rows of pixels are always blank.)
- The last two bytes of each character's data are unused. (To make up for the second missing row of pixels)
- The first two bits for each row of pixels are unused. (Making the 14 pixel width limit)
- Any white pixels in the bottom row will not have a shadow.

[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Daddy Poi's Oily Gorillas

#13
Sounds good.

Quote- The first two bits for each row of pixels are unused. (Making the 14 pixel width limit)
Oh yeah.... But I guess what I said works out if you look at the least significant bits as the end of the row since characters are made from left to right per 16-bit. (So 0xFFFC are the used ones, where 0x8000 is the first pixel, and 0x0004 is the last pixel in a row.)

Quote- Any white pixels in the bottom row will not have a shadow.
Well, I sort of did notice that, but wasn't sure if I was doing something wrong. Seeing the first two rows of a 16x16 tile going unused, however, probably proves this is the case every time.

So, when two characters are put on the same 16x16 sprite, would I be right to assume that the game checks the sum of the width of two characters? Most likely, but I haven't actually checked yet.

-Checking the width of all characters, the largest one I see is 10.
-Not sure which character has the largest height.
Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

TenkaiSp

Whoa, lot of new information here. But as for now it works fine the way I did it.
I almost finished translating everything which is not a main dialogue (like first 40% of the text document).
Guess what is the most annoying thing ever... character limits :)

Actually the italic font is quite handy, I was able to make some nice looking Polish characters.
And I am still amazed that it worked in Tile Molester, though in some messy way.

Thanks again Atrius and Fox! May the Psynergy be with you! :D

TenkaiSp

Hi again folks!
I'm happy to announce that the translation is finally out!
I know you probably won't understand a thing, but here's the link to the translation if you would like to check it out (for some reason).
Yay!
It uses a beat patch, .bps, because .ips has a limit of 16 MB.

Atrius, Fox, at least look at the end of the included text file. Thanks again :)

Daddy Poi's Oily Gorillas

#16
Good. Good!

Would this be the final version?

Now that IPS patching is slowly going away, kinda think automated patching for BPS and UPS should be put into VisualBoyAdvance.

Should probably be noted that this (GSHC) is the only place that I go by Fox. (And that it may be a temporary name.)  - Not that this is of any importance, because credit is not entirely required. (As long as you are not misleading anyone.)
Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)

TenkaiSp

QuoteWould this be the final version?

Nope. There are some errors related to the language and text placement (getting out of the borders, as it is too long).
So right now it is being tested.
Oh. And I still need to find a way to edit the image text. Like gambling ones at 08854574 (entry #134 in the Editor). Is there any way?