Zophar's Message Domain

Zophar's Message Domain (http://www.zophar.net/forums/index.php)
-   Rom Hack (http://www.zophar.net/forums/forumdisplay.php?f=8)
-   -   Yet another FF6 modding attempt (http://www.zophar.net/forums/showthread.php?t=11741)

Sigma X Virus 07-19-2009 02:51 AM

Yet another FF6 modding attempt
 
I want to make a "revised edition" of FF6, that is, a text hack that changes some little things from the Woolsey version to leave it more in line with the other games (i. e. monster/spell names and some things that were a bit "off" after the localization). My problem is the following:

I need to edit the text from the menus and battle screens. Sadly, no FF6 editor changes this. Is ripping a script with a hex editor w/thingy table a good choice? I ripped a script already, and even though I can freely edit the text with Notepad I'm worried about space issues. What if my edits are heavier in size than the original ROM? Is it possible to have a longer script? Or should I learn the tedious art of hex editing every byte?

Also the same for the normal out of battle dialogue. I was planning on using Yousei's editor for that, but the bugs in that app are discouraging me. Besides, that app rejects any ROM already hacked, so I'm out of luck for dealing with an already modified ROM.

Thanks.

Lenophis 07-19-2009 03:30 AM

Quote:

Originally Posted by Sigma X Virus (Post 91486)
I need to edit the text from the menus and battle screens. Sadly, no FF6 editor changes this.

I don't think any editor will ever change it. The text in the menu is scattered all over bank C3 (open up the FWF table, previously labeled the battle table and take a look). The strings use a format that others may not notice immediately. Before every string are two bytes, which is where in VRAM the string will go (generally, do not edit it unless you know where you want the text to be). After the string is the null terminator, obviously. The text is drawn one of three ways:

LDY #$immedate (pointer to the text! this points to C3/whateverthisLDYholds)
JSR $02F9

LDX #immediate (pointer to pointers to the text! this points to C3/whateverthisLDXholds, then the pointers there point to C3/contentsofpointers)
LDY #immediate (number of strings to write*2)
JSR $69BA

LDA (whatever, could be anything)
STA $2180 (this could be looped to, could be done multiple times
STZ $2180 (or LDA #$00 STA $2180)
JMP $7FD9

This is generally done when it draws text "on the fly" (such as a character's name) as opposed to hard strings in the rom.

As convoluted as this sounds, it's a pretty simple system. As for battles, that's another matter...

Quote:

Also the same for the normal out of battle dialogue. I was planning on using Yousei's editor for that, but the bugs in that app are discouraging me.
Do not use FF3Ed, period. End of discussion, end of story, end of sentence.

Cornellius 07-19-2009 03:58 AM

Quote:

Originally Posted by Lenophis (Post 91487)
Do not use FF3Ed, period. End of discussion, end of story, end of sentence.

Care to explain what so bad about it ?

Lenophis 07-19-2009 04:12 AM

It will corrupt your rom. Maybe not as often as Hyrule Magic does, but it will do it.

Sigma X Virus 07-19-2009 10:27 PM

Well, I tried the script editing method, but I tried to reinsert it and it didn't fit. Is it possible to expand the rom size?

Lenophis 07-19-2009 10:31 PM

Very easily. It's Hirom, so the only option you really need is 32 Mbit (4 MB) on the bottom left.

Sigma X Virus 07-20-2009 06:42 AM

Thanks. So, if I'm getting this correctly (I'm a noob at this) then the process boils down to the following:

- Expand ROM
- Rip script, edit, reinsert (for both battle/menu and dialogue text)
- Recalculate pointers
- ???
- Profit!

Lenophis 07-20-2009 07:46 AM

The dialogue will be a bit of a pain to recalculate, since they aren't 24-bit pointers. The game checks for a specific index, and if greater than that it increments the bank byte. But for the most part, yeah that's pretty much it.

Sigma X Virus 07-27-2009 04:30 PM

I experimented quite a bit. Yeah. FF3Ed is too unstable - even the smallest change to the dialogue left me unable to access the world map.

I guess I have no choice but to edit the script with Notepad, which hangs for a minute everytime I change something big. (and I'm not trusting that either, if this editing has repercussions, I'm screwed) I'll use the program just as a "preview" for how the text fits into the boxes.

Quote:

The dialogue will be a bit of a pain to recalculate, since they aren't 24-bit pointers. The game checks for a specific index, and if greater than that it increments the bank byte.
Excuse my noobness, but if I run into a difficult situation with this, I'd be stumped. I just know how to recalculate with automated tools. Do I have to to it by hand with an hex editor? :(

Lenophis 07-27-2009 09:31 PM

Quote:

Originally Posted by Sigma X Virus (Post 91775)
I guess I have no choice but to edit the script with Notepad, which hangs for a minute everytime I change something big. (and I'm not trusting that either, if this editing has repercussions, I'm screwed) I'll use the program just as a "preview" for how the text fits into the boxes.

If you're dumping it to a text file, how did you plan on reinserting it?

Quote:

Excuse my noobness, but if I run into a difficult situation with this, I'd be stumped. I just know how to recalculate with automated tools. Do I have to to it by hand with an hex editor? :(
Recalculating by hand isn't advised, since there's over 3000 strings. I believe Atlas has support for that, though I'm not 100% sure on it. It'll be easy if you know how to use it (which I do not, unfortunately).


All times are GMT. The time now is 01:13 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.