+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Need an instructor (Fireemblem 3)
Pages: [1]
Author Topic: Need an instructor (Fireemblem 3)  (Read 2 times)
Rappa
Guest
« on: February 08, 2009, 11:02:04 pm »

Hi

I have been working on Fireemblem 3 (FE3, aka Monshou no Nazo) for 6 months. The result is that I got all the control codes, pointers... and its structure as well. But I'm not a programmer, so I get stuck at many many things such as variable font width, dte..... I have an headache with them  :banghead:

So, I'm in need someone that is REALLY interested in FE3 (visit this thread oftenly) to instruct me through it. Ofcourse, you don't have to do all the searching. I'll provide you what data you need in the game. I just want someone to drive me through the technicall problems.


Note 1: I intend to translate from Japanese Rom version to another language, but not English. But since you all speak English so I think my first try is to translate it to English, with the experience after then, I can translate it to the language I want. Ofcourse I know there's an English patch out there and It'd be easy to do from it. But this way I can't learn anything, so I decide to do from the origin (Japanese version).

Note 2: I do speak Japanese, so no problem with the script.

Note 3: My purpose is to learn all translation related hacking techniques and FE3 is a good example for me to learn.


Thankyou very much for reading. I appreciate your help  Smiley
Tauwasser
Guest
« Reply #1 on: February 08, 2009, 11:43:42 pm »

Well, first off, not all people here speak English. Secondly, people can still advise you even thought you don't try to translate into English, since it'd be the hacking side not the translation side mostly. Thirdly, you won't get help without formulating a particular problem and providing enough data, be aware of that. Other than that, there are lots of people who would be more than willing to help you, I'm sure of that. It's just that the most general questions usually get the most general answers, so they won't help much.

What are you confused about, what have you already tried, what have you learned to be where you are now? To implement a VWF, it is usually required to have a lot of ASM skill! Also, what did you find out in those six months? It would be good to know what things you have discovered and related to each other so far, just a big overview, mind you, just to know where you are at.

Also, translation hacking is always different. Some things are really easy on one platform/ in one game and mind-bogglingly hard in the next. There is no magic solution to all your hacking problems or something.
So, I think you should start with something that you could not achieve alone and ask for specific help here if you really want to get a feeling for this.

cYa,

Tauwasser
Rappa
Guest
« Reply #2 on: February 09, 2009, 09:37:44 pm »



Thank you for the advise. Ofcourse I'll specify my problems with Fe3. In the last 6 months I've located all pointers, all controll codes and Kanji table, which is a big tedious task.
Now the first of my big problems is variable font width. As you see in picture 1, I just redrew some character




And, in picture 2 is what displayed in the game. There's a lot of space between the characters. A lot of waste!

Now I'm trying with a new method. As you see in pic 1, the letter G meets its left rear at the frame of the tile. So it can only be pushed to the right, not left. Then I pushed the other characters to the right as pic 3 below

http://s33.photobucket.com/albums/d95/Yamato-Ichiro/Fe%20patch/?action=view&current=a3.jpg

Greez! The result is this!



This way, by construction 2 versions of the same letter, say, A which meets its left side at the left rear of the tile's frame; and one version for A which is pushed toward right, therefore, causing a "space" before it. This way can make a space between characters without the need of some kind of control code like

FF=<space>

We can save space for this controll code. No need it anymore!
I haven't come this way far enough to tell whethere it's good or not.
What do you think about this way? I don't know ASM so may be this is my only hope for VWF.

The second, is with text-inserting process. I have no ideal about it. Atlas has many oftions but the readme is vague and seems to gear toward already-knew-it-people. May I ask you about using it?

FE3's dialouge is a bit complex. It uses many control code before the text, as code to begin dialouge, code to open the dialouge box, code to specify music, who speak that line,.....



As you see in pic 5 above, the real dialouge begins at 00071A3C but the sentence begin at 00071A2E, 14 bytes before the text!
When I tried editting (manual) the text to be longer, it screw up the controll codes of the next text blog. Is that why I must use Atlas?

And may I ask:

What do I need to use Atlas? pointers? beginning address? end address?
It's a stupid question but since I have no experiment with Atlas so I have to ask it.

Final for this post, I already have the script for the game. There's a lot of sites out there which provides you with ones. So do I need to dump it from the game?

Thank you for reading this long and stupid post. Any suggestion is welcome.

Tauwasser
Guest
« Reply #3 on: February 09, 2009, 10:44:46 pm »

Yoy may not have noticed, but the game has already a VWF built-in. It's visible clearly from your pictures, because the sizes of the kanji/kana don't add up - notice how マルス is wider than タリス by some pixels. Also, when you edited the K, it was drawn into another character, namely シ. So you only need to find the width table and adjust it properly to make it work!

Your idea with two (or more) versions of the same letter is not good. It will require you to write a program that measures it all and is reduandant as the game obviously has VWF capabilities!

Also, you will either need to dump the script yourself, or get a script in such a format that you can reinsert. It is generally a bad idea to translate the script only to find out that there is no automated way to put it back into the game! A lot of translators and hackers already had this issue, so don't let it happen to you, too!

As for Atlas, I'm sorry, but I'm not knowledgeable about this. I only had to dump a whole script once and programmed my own dumper/inserter for that. However, there are many people here who use it quite regularly and if I'm not mistaken even the creator of it! So chances are good somebody else knows!

So keep your head up and try to find that width table. Even if you do not know assembler, you can always run some basic tracing/breakpointing and get yourself familiar with that at least! If you're on windows, pick up Geiger's SNES9X with debugger (here)
Set a breakpoint on read to the text you are currently working on, say on 0x71A42, that would be the タ from the second line's タリス. You have to figure out the addressing mode of your rom for that (HiRom, LoRom, ExHiRom, ExLoRom, etc.) and convert your data file offset (0x71A42 for example) into the addressing mode of the system and mapper of the game. Then you can set a breakpoint on read to it.
Then you just have to play the game until that text line comes up, the debugger will hit a line of asm and you will just go from there. Usually, what would be happening is, that it reads the hex code for タ, 0x60, and then calculates various offsets for its graphics (the actual gfx 「タ」) and then at some point it's width. When you are at that point, just note down the offset of the table and you're set!

cYa,

Tauwasser
Rappa
Guest
« Reply #4 on: February 10, 2009, 11:33:03 am »

Quote from: Tauwasser on February 09, 2009, 10:44:46 pm
Yoy may not have noticed, but the game has already a VWF built-in. It's visible clearly from your pictures, because the sizes of the kanji/kana don't add up -

THANK YOU VERY MUCH FOR THIS INFO!!

At this time, I wonder where is the thanks button? I want a BIG THANKS BUTTON badly now!  :thumbsup:
Thanks to you, I fond the VWF built-in and everything is Ok now.
Your help is great!!  :beer:
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC