Users browsing this thread: 1 Guest(s)
Tentative Runic -> SwdMagic patch
The actual issue is that the dialogue (where you'd see the names) pulls names straight out of SRAM. There is no DTE going on with them, even when it would match, and there won't be any equivilent letter for unused tiles. Editing tiles in the monowidth font is easy; you just need a tile editor. Editing VWF is a bit harder. FF3usME has a VWF editor, but only for what's available in vanilla. I've little doubt you'd need to move the VWF font to add in any multi-letter equivilents, which means finding any references to it in the game. You'd also need to figure out how it's dealing with conversion, since dialogue and menu text use different tables.
05-27-2016, 04:50 PM
(This post was last modified: 05-27-2016, 04:54 PM by FF6Fanatic.)
I'll ditch the multi-letter approach for now, and try what Angelo did for the extended spell names like Thundara, etc. He moved the names to C2 and used some free space at C3. Ofc he also expanded the rom to 32Mbits, but all I need is enough room for one name.
I used the free space at C3/F0A3 to write the word Siegfried. I also found this in the C3 disassembly:
Draw name of character onscreen at 16-bit Y
C3/34CF: 201935 JSR $3519
C3/34D2: A20600 LDX #$0006 (length of character name)
So I changed
C3/34D2: A20600 LDX #$0006
to
C3/34D2: A20900 LDX #$0009
Since "Siegfried" has 9 letters.
I also found
C3/662E: E00600 CPX #$0006 (check all 6 letters of character name)
which I changed to
C3/662E: E00900 CPX #$0009
And finally
C3/DF92: E00600 CPX #$0006 (have we done 6 letters yet?)
to
C3/DF92 E00900 CPX #$0009
I still can't find the actual pointer so I can assign it the new offset for Siegfried's name. I loaded the Ff3battl.tbl and did a text search for char names, found them all grouped together, starting at 04/78C0 (unheadered rom). But what bank is that? There isn't a C4 bank, is there? And the D4 disassembly has no such offset.
I used the free space at C3/F0A3 to write the word Siegfried. I also found this in the C3 disassembly:
Draw name of character onscreen at 16-bit Y
C3/34CF: 201935 JSR $3519
C3/34D2: A20600 LDX #$0006 (length of character name)
So I changed
C3/34D2: A20600 LDX #$0006
to
C3/34D2: A20900 LDX #$0009
Since "Siegfried" has 9 letters.
I also found
C3/662E: E00600 CPX #$0006 (check all 6 letters of character name)
which I changed to
C3/662E: E00900 CPX #$0009
And finally
C3/DF92: E00600 CPX #$0006 (have we done 6 letters yet?)
to
C3/DF92 E00900 CPX #$0009
I still can't find the actual pointer so I can assign it the new offset for Siegfried's name. I loaded the Ff3battl.tbl and did a text search for char names, found them all grouped together, starting at 04/78C0 (unheadered rom). But what bank is that? There isn't a C4 bank, is there? And the D4 disassembly has no such offset.
05-27-2016, 05:30 PM
Expanding character names directly is an entirely different ballgame than expanding spellnames.
1) The name struct in SRAM is strictly 6 letters. There are places to add the other 3, but it's a complex affair.
2) You'll need to edit every single call to character names in C0-C3.
3) Changing the name input screen is a nightmare. I've tried before, and the PB hackers can attest.
1) The name struct in SRAM is strictly 6 letters. There are places to add the other 3, but it's a complex affair.
2) You'll need to edit every single call to character names in C0-C3.
3) Changing the name input screen is a nightmare. I've tried before, and the PB hackers can attest.
05-27-2016, 05:45 PM
So I'm screwed.
Then what is the more viable option? Apart from "Siegfd", that is. Give me some good news, man.
Then what is the more viable option? Apart from "Siegfd", that is. Give me some good news, man.
05-27-2016, 05:57 PM
Is it possible to make the custom characters "S-ie-g-fr-ie-d", putting them in usME, then removing the bytes that call for the name selection screen to avoid the trouble? Then, if <Ax00> (assuming 00 = Siegfried) doesn't work, you can just remove every instance of "<Ax00>" and putting "Siegfried" instead...though I wonder if if <Ax00> doesn't work, it's probably not gonna work either with "Siegfried gained a level"...
Step forward, spriters! We are also responsible to make hacks look new and fresh, we are no less important than code or ASM hackers! CHARGE!!
If Siegfried is learning magic or abilities in battle, a hardcoded name with squishy tiles could be a problem. Other than that, I can't think of anything.
Edit: Oh wait. Yeah, level text will be an issue. It'd still need VWF assignment.
Edit: Oh wait. Yeah, level text will be an issue. It'd still need VWF assignment.
05-27-2016, 07:40 PM
Ok, I'll use the double characters approach, then. The other day I remade the "=" character into "ie" using FF3usME, but that just gave me "S=gf=d" in the menu screen. So it's already clear that's not enough.
Would I need to move the VFW font to replace a character? I wouldn't have to really add a new character, just replace an old one.
Also, is it possible that the characters on the menu screen are monowidth? They kind of look like that to me.
In any case, we've already established that the menu doesn't reference the same table used by the dialogue. So even if I edit the font in FF3usME that won't have any effect on the menu screens. On that note, Poco Loco's GBA font patch replaces both the dialogue and menu screen characters so they share the same style. I take it he didn't achieve this by simply editing the font through FF3usME, like I was trying to do. No, that would be ineffective -- he did something else in addition to that. If I can find exactly what it was, I could use it to model the changes I need to do.
(05-27-2016, 04:19 AM)dn Wrote: Editing VWF is a bit harder. FF3usME has a VWF editor, but only for what's available in vanilla. I've little doubt you'd need to move the VWF font to add in any multi-letter equivalents, which means finding any references to it in the game. You'd also need to figure out how it's dealing with conversion, since dialogue and menu text use different tables.
Would I need to move the VFW font to replace a character? I wouldn't have to really add a new character, just replace an old one.
Also, is it possible that the characters on the menu screen are monowidth? They kind of look like that to me.
In any case, we've already established that the menu doesn't reference the same table used by the dialogue. So even if I edit the font in FF3usME that won't have any effect on the menu screens. On that note, Poco Loco's GBA font patch replaces both the dialogue and menu screen characters so they share the same style. I take it he didn't achieve this by simply editing the font through FF3usME, like I was trying to do. No, that would be ineffective -- he did something else in addition to that. If I can find exactly what it was, I could use it to model the changes I need to do.
05-27-2016, 07:46 PM
Axing an old character is possible, but there's still finding out how it's converting tile-based text to VWF (which I think is in C0).
05-28-2016, 07:23 AM
(This post was last modified: 05-28-2016, 02:33 PM by FF6Fanatic.)
How's this?
The "Attack" in the command window should give away how I did this. Thanks, Angelo.
A few things:
- will have to disable naming screen. I don't mind this, though.
- will need a workaround for battle quotes such as "gained a level"
- I want to change the position of the Siegfried text a bit so it looks better
- latest version of the Restored Abilities pacth doesn't display the character class on the main screen*
*I'm kind of digging the non-descript look of the main screen right now, though. Might keep it that way.
Dialogue won't be an issue since I can still edit it in FF3usME. And I can edit spell/abilities names directly in hex, so yeah.
This is a nice turnaround, maybe this will work after all.
EDIT: managed to implement Spirit on top of Angelo's hack. His patch uses the free space at C3 I had set for the custom name, so I moved it elsewhere. Everything's working now.
Now to disable the naming screen.
The "Attack" in the command window should give away how I did this. Thanks, Angelo.
A few things:
- will have to disable naming screen. I don't mind this, though.
- will need a workaround for battle quotes such as "gained a level"
- I want to change the position of the Siegfried text a bit so it looks better
- latest version of the Restored Abilities pacth doesn't display the character class on the main screen*
*I'm kind of digging the non-descript look of the main screen right now, though. Might keep it that way.
Dialogue won't be an issue since I can still edit it in FF3usME. And I can edit spell/abilities names directly in hex, so yeah.
This is a nice turnaround, maybe this will work after all.
EDIT: managed to implement Spirit on top of Angelo's hack. His patch uses the free space at C3 I had set for the custom name, so I moved it elsewhere. Everything's working now.
Now to disable the naming screen.
09-05-2020, 05:52 PM
(05-27-2016, 07:40 PM)FF6Fanatic Wrote: Ok, I'll use the double characters approach, then. The other day I remade the "=" character into "ie" using FF3usME, but that just gave me "S=gf=d" in the menu screen. So it's already clear that's not enough.Ahh this is happening to me too. so frustrating. any hints as to how you got it working? I can't see the photos you posted back in 2016. this is the only thread I could find info on replacing VWF characters...
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)