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

Author Topic: Help with Fire Emblem DS2 display/font issue  (Read 2249 times)

Aveyn Knight

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
    • Serenes Forest
Help with Fire Emblem DS2 display/font issue
« on: October 22, 2012, 03:31:19 pm »
Hi, I'm working on the Fire Emblem: Heroes of Light and Shadow (HoLaS) translation patch for the DS and I was wondering if any crafty hackers here could help me solve a niggling issue we've got?

Whenever there's a dialogue scene, the game displays the name box of the character whose talking, but sadly part of the name gets cut off towards the bottom part of the box, if the name has any of the following "hanging" letters: g, j, p, q, y.



For instance, above, the character whose talking is "Jagen", but the g is cut off.

What I'd love to do, if possible, is to figure out a way to stop the letters getting cut off. The simplest way would be to shift the entire font up, but I'd rather not do that, since it's rather unwieldly. However, if push comes to shove, I don't mind editing the glyphs, if I knew how to (see further down my post) ^^;;;

In the official translation of Fire Emblem: Shadow Dragon (SD), it seems Nintendo changed it so that the name is lifted 2 pixels up in the name box, but the font itself is unchanged. Screenshot collage for reference. The collage shows Jagen's name in SD (left side) and HoLaS (right side) and the Japanese (above) and English (below) versions of both games. The bottom-right screenshot showcases the HoLaS translation, where the "g" in Jagen is cut off from the box.

My colleague on the translation team figured out part of the reason why the name is cut off, but sadly we don't currently have anyone on the team who's skilled enough to fix the issue.

Quote
Now at the bottom here we have the tile view. What's important is how the graphics are loaded, and it's evident if you look mid-way through the tile viewer that the name box graphics are there... with the letters already embedded onto them.



It shows that the name box is split into 3 rows (each being one tile, or 8 pixels, high). Things start to make sense: The last 80x8 portion doesn't seem to be "written to", i.e. the bottom of the letter "g", which hypothetically SHOULD go onto that part, doesn't. Thus I think it's safe to assume (though I'm no expert so I could always be wrong) that the game manually writes the characters to each part of the name box graphic but doesn't do it for the 3rd. It DOES it do it for the first--if you look very carefully, there's one pixel from the top of the "J" in there, and thus the "J" doesn't get cut-off at the top, and naturally it does it for the middle 80x8 section where the bulk of the characters are, but essentially the allotted space for the character ends at the bottom of the middle 80x8 section, and everything else simply gets cut-off, and the game does NOT extend it to the 3rd 80x8 section, or the bottom of the name box.

Again, 80x8 + 80x8 + 80x8 going vertically is 80x24, the entire name box. This is MORE than enough space; however, we can only actually use the top 80x16 pixels, as everything that would hypothetically go on the bottom 80x8 portion does not go there.
We'd appreciate it if anybody could give us pointers or help us to solve this issue. The rest of the translation is going very smoothily and a public release might be ready soon.

If you're interested, here are some files that you'll need to make sense of the problem. You can compile these files with NDSTool/DSlazy and I've also included a no$gba battery save, which isn't needed for anything.

When you start a new game and begin Prologue I, you will encounter two characters early on with cut off names--Rody and Jagen.

EDIT

Whoops, I made a slight (or big) mistake.

It turns out I got the fonts mixed up and the problem font happens to be the one I can't edit the glyphs of. Does anybody know what format the glyphs might be? I've tried all the common DS/GBA formats, like 2bpp reversed/non-reversed (since the glyphs have around 4 colours, last I checked), but to no avail.

Font file

Glyphs start at 0xAD8. The first symbol should be `. For something a bit more tangile, A should be at 0x12C9.
« Last Edit: October 29, 2012, 03:39:00 pm by Aveyn Knight »