News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: [Help] How to add foreign letters to SNES games..?  (Read 3844 times)

lknight

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
[Help] How to add foreign letters to SNES games..?
« on: March 25, 2016, 02:22:21 am »
Im trying to find a way to add foreign letters to some SNES games such as Lagoon, Zelda and Terranigma... but whenever I do this, these letters are not showing up or the roms are not working once i add them. Im talking about letters such as ö, ø, ä, æ, ü, é etc.

Im currently using Hex Workshop.

Any ideas on how to do this..?

VicVergil

  • Hero Member
  • *****
  • Posts: 716
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #1 on: March 25, 2016, 03:18:20 am »
Computer encoding standard for these characters is Unicode. Each letter uses up 2 bytes.
You can't just write those characters in hex editors inside the ROMs and expect the game to have them when most games didn't even have Unicode support until the 2000s, and even the accentuated characters which would be in the ASCII enconding are left out.

You try to find a blank, unused or useless character in the font.
Things like [|]$#@` ...
You may even have luck and find the game still has leftovers from the Japanese font (Terranigma for example has no less than 32 blank characters in the beginning of the English font, these were used in the JP version)
You try to make a TBL file with any relative search tool, and test all values to see the results.
Once you confirm you can use these characters, just draw your umlauts and accented letters there and use the value for that letter in the hex editor as you pretend it stands for that accented letter.

In Zelda 3's case, the font set is too small to fit in accented characters so you'd need to work with the PAL versions (which added French / German accents) or expand the font by modifying the assembly programming.

lknight

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #2 on: March 27, 2016, 02:39:58 pm »
i see, so that is how it is...

but, im wondering... how did they manage to make a full translation by using those letters i mentioned in shadowrun? you can see from this video that the introscreen got swedish text on it. can i get this to appear in other snes games such as zelda 3, or? here's the youtube video: https://www.youtube.com/watch?v=QJ3ahtf2O64

thanks for your reply too, by the way!

VicVergil

  • Hero Member
  • *****
  • Posts: 716
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #3 on: March 27, 2016, 05:43:34 pm »
Most Japanese games had no English letters or just the upper case letters (and sometimes missing a few even).
How do you think the official localizations for those (including Zelda 3, btw) were made?

Since the missing characters don't exist in the game, the programmers just added/replaced two or three extra glyphs to the font, put there whatever letter drawing they wanted (Final Fantasy localizations even put icons in the font).
Say there's a @ symbol (it's often a Japanese character). They'd replace the drawing in the font with ä and just pretend @ is actually ä: so in the text whenever they need ä they'd write @.
 
The result on-screen is the sentence showing as if the game had support for accents.
But the programmers only care about stuff showing on-screen properly.
They don't really give a damn for respecting character value conventions either for the basic latin set (which is why you'd find lots of games where A isn't encoded with 41) or the accented characters for regions they don't even plan to translate the game for.
You are writing directly in computer encoding your text with your accents as you assume the game supports them, and you're in for some disappointment.

tl;dr: accents from your language (swedish?) most likely don't exist in the game you're translating. You need to redraw some characters in the existing font, pretend those are your accents, and use them.

yugisokubodai

  • Full Member
  • ***
  • Posts: 154
    • View Profile
    • Assembly
Re: [Help] How to add foreign letters to SNES games..?
« Reply #4 on: April 04, 2016, 09:23:45 am »
For the sake of simplicity, I say:

1. Not only SNES, but you can add whatever letter to whatever games. PSX, PSX, PS3, PS4, Xbox, PC, Wii, NDS, 3DS or whatever you can name.

2. What is shown on the screen isn't effected by what you type with a keyboard. Characters in games relate to codes. So, to add your language characters, re-draw the existing characters first, then find the codes control these characters.

For example, you can see many "foreign characters" in the pics below. I also made some Sanskrits.




In original game, the code 1F controls the letter "A". Whenever the game hits 1F, it displays "A" on the screen.
I re-drawn the letter "A" to the yellow Sanskrit letter.
So, whenever the game hits 1F, it displays the Sanskrit which I editted from "A".

Simple.

FAST6191

  • Hero Member
  • *****
  • Posts: 2627
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #5 on: April 04, 2016, 03:32:37 pm »
For the sake of simplicity, I say:

1. Not only SNES, but you can add whatever letter to whatever games. PSX, PSX, PS3, PS4, Xbox, PC, Wii, NDS, 3DS or whatever you can name.

Overwriting is a way that works, and without too many downsides but I should say some of the later consoles have font formats you can reasonably easily extend. NFTR on the DS being a pretty good example, one you can even do all in GUI software these days.

zonk47

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #6 on: April 07, 2016, 01:15:36 am »
Is there a tool he can use to inject a font at a certain address, overwriting the existing character set?
A good slave does not realize he is one; the best slave will not accept that he has become one.

FAST6191

  • Hero Member
  • *****
  • Posts: 2627
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #7 on: April 07, 2016, 02:23:13 am »
Fonts are even more variable than text so no. I guess crystalitle2 will allow you to type and put a character on the tile you are editing, however even with large DS style tiles most windows fonts are not good at the sort of sizes needed.

zonk47

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #8 on: April 07, 2016, 02:09:55 pm »
Fonts are even more variable than text so no. I guess crystalitle2 will allow you to type and put a character on the tile you are editing, however even with large DS style tiles most windows fonts are not good at the sort of sizes needed.

I meant character set. Like say, taking one of those monospaced fonts from OpenGameArt and writing them into the ROM from a certain address. (like, the first blank before the exclamation point)
A good slave does not realize he is one; the best slave will not accept that he has become one.

FAST6191

  • Hero Member
  • *****
  • Posts: 2627
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #9 on: April 07, 2016, 03:38:17 pm »
I guess there could be if you had a known font style or it was braindead basic but for the most part that is hex editor or tile editor territory, no real benefit from making a task specific tool here.

zonk47

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #10 on: April 07, 2016, 03:45:26 pm »
See that's the thing though: I figure it takes at least 10 minutes to copy in fonts that way (for Japanese at least), so it makes sense to have something that will read an image file; cut the characters; and write them into the ROM.
A good slave does not realize he is one; the best slave will not accept that he has become one.

VicVergil

  • Hero Member
  • *****
  • Posts: 716
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #11 on: April 07, 2016, 06:44:50 pm »
Is there a tool he can use to inject a font at a certain address, overwriting the existing character set?

A tile editor and a collection of 8x8 / 8x16 fonts?

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6928
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #12 on: April 07, 2016, 08:34:40 pm »
There some tile editors (like tmod2, an old DOS program you'll probably need to run under DOSbox) that might allow you to copy from a BMP file (tm2 also allows you to open Windows font files), but 10 minutes spent copying a font is pretty much nothing in the world of ROM hacking. (it probably takes longer than that if you need to switch the colors around)
"My watch says 30 chickens" Google, 2018

zonk47

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #13 on: April 08, 2016, 12:48:07 am »
There some tile editors (like tmod2, an old DOS program you'll probably need to run under DOSbox) that might allow you to copy from a BMP file (tm2 also allows you to open Windows font files), but 10 minutes spent copying a font is pretty much nothing in the world of ROM hacking. (it probably takes longer than that if you need to switch the colors around)

Well yeah but it's also kind of monotonous and annoying and so discourages rom hacking activity. We need to cut annoyances wherever possible.
A good slave does not realize he is one; the best slave will not accept that he has become one.

FAST6191

  • Hero Member
  • *****
  • Posts: 2627
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #14 on: April 08, 2016, 04:22:47 am »
Crystaltile2 will do what the tmod2 program that KingMike mentioned (import BMP/PNG, export as well for that matter, and allow you to align with tiles which you have placed in some order) and allow you to pull from installed fonts on a system, again that windows fonts tend to work well at the sizes we see.

Also if inserting a font like this is enough to see people throw in the towel then it is not like they were going to get far in this gig. Similarly how often are fonts edited in such a way (and again plus how often are they standard enough that this would be useful)?

VicVergil

  • Hero Member
  • *****
  • Posts: 716
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #15 on: April 08, 2016, 05:34:28 am »
Well yeah but it's also kind of monotonous and annoying and so discourages rom hacking activity. We need to cut annoyances wherever possible.

If brain dead copy-pasting five lines of letters at most between two files is an "annoyance" that "needs to be cut", you might as well get some artificial intelligence for you to do the rest of the looooooong text / graphic / assembly modifications.

zonk47

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Re: [Help] How to add foreign letters to SNES games..?
« Reply #16 on: April 09, 2016, 12:29:18 am »
Crystaltile2 will do what the tmod2 program that KingMike mentioned (import BMP/PNG, export as well for that matter, and allow you to align with tiles which you have placed in some order) and allow you to pull from installed fonts on a system, again that windows fonts tend to work well at the sizes we see.

Also if inserting a font like this is enough to see people throw in the towel then it is not like they were going to get far in this gig. Similarly how often are fonts edited in such a way (and again plus how often are they standard enough that this would be useful)?

Nonetheless a video example of this would be nice to have. Could mean more menu hacks anyway.
A good slave does not realize he is one; the best slave will not accept that he has become one.