FF6 Hacking
Character Replacing - Printable Version

+- FF6 Hacking (https://www.ff6hacking.com/forums)
+-- Forum: Discussion Forums (https://www.ff6hacking.com/forums/forum-5.html)
+--- Forum: Magitek Research Facility (https://www.ff6hacking.com/forums/forum-9.html)
+--- Thread: Character Replacing (/thread-2446.html)

Pages: 1 2


Character Replacing - RaikouGilgamesh - 12-20-2013

Ok, so, I need something explained to me, please... Would it be possible to change an event to where Celes takes the place of Terra at the beginning of the game, and Terra is the one chained up that Locke frees... without simply swapping the sprites? Because I still want Terra to be the one who goes berserk. I figure the easiest way to do that would be to change some code in the game that just swaps the two's placement for the duration of those events.


RE: Character Replacing - madsiur - 12-20-2013

You need to change some of the character properties such as graphics and palette when the character first join your party. If you plan to reassign another palette or graphic later, the character must be out of the party in order for make it work. Here is Celes assignantion:

Code:
CA/86FA: 7F    Change character $06's name to $06 (CELES )
CA/86FD: 40    Assign properties $06 to character $06 (Actor in stot 6)
CA/8700: 88    Remove the following status ailments from character $06 (Actor in stot 6): Float, Hide, Chant (Casting Spell), Morph (Esper-form), Instant Death Protection, Frozen, Rage, Death (Wound), Petrify (Stone), Imp, Vanish (Clear), Poison, Zombie, Dark
CA/8704: 8B    For character $06 (Actor in stot 6), take HP and set to maximum
CA/8707: 37    Assign graphics $06 to object $06 (Actor in stot 6)
CA/870A: 43    Assign palette $00 to character $06 (Actor in stot 6)

And here's Terra's assignation:

Code:
CA/5E34: 7F    Change character $00's name to $1D (????? )
CA/5E37: 40    Assign properties $00 to character $00 (Actor in stot 0)
CA/5E3A: 3D    Create object $00
CA/5E3C: 3F    Assign character $00 (Actor in stot 0) to party 1
CA/5E3F: 37    Assign graphics $00 to object $00 (Actor in stot 0)
CA/5E42: 43    Assign palette $02 to character $00 (Actor in stot 0)




RE: Character Replacing - Ghost XIII - 12-20-2013

As Madsiur was saying, just make respective changes to which characters are assigned in those segments of the code and any other points between the start of the game and the battle for Narshe which involves either Terra or Celes. You will likely need to parse through the event script and find any instances involving properties for actor $00 and $06, swapping them and any relevant data.

You will need to make at least one sprite change though, sprite 65, which is the sprite of Celes chained to the wall. You will need to make a sprite of Terra chained to the wall, which shouldn't prove too difficult. Furthermore you may need to make changes using the tile editor if Terra or Celes's sprites are ever loaded before the battle for Narshe without referencing their actor data. You may or may not need to make changes to Terra's flashback about Vector.


RE: Character Replacing - RaikouGilgamesh - 12-23-2013

I definitely won't need to change her flashback... this is more complicated than I originally thought it might be. I was hoping not to delve into Hex, so I could just focus on the story re-writing.


RE: Character Replacing - Ghost XIII - 12-23-2013

To be honest the hex editing required for a job like this is pretty minimal, I would be more than happy to assist in whatever way I could. If I have time I could probably redo sprite 65 for you as well, that would be a pretty simple job.

Correct me if I'm wrong, but you are only changing the place of Terra and Celes up until the end of the 3 scenarios?


RE: Character Replacing - malachitate - 04-01-2014

So, if I were to switch, say, Locke and Celes... Then I would have to alter all of her Natural Magical Learning, in the C0 Bank, as well? So that it points to Character $01, rather than $06?


RE: Character Replacing - Royaken - 04-02-2014

It's unfortunate that you feel this is gonna be complicated xD. It's pretty basic hex editting like Tin Man said and a hefty amount of the info needed was given to you already by Madsiur.

Believe me once you hop in and try some things out and actually go for it, it gets easier Smile


RE: Character Replacing - madsiur - 04-02-2014

(04-01-2014, 09:21 PM)Nyquill MacQuaid Wrote: So, if I were to switch, say, Locke and Celes... Then I would have to alter all of her Natural Magical Learning, in the C0 Bank, as well? So that it points to Character $01, rather than $06?

There are two places where you need to change the CMP value from #$06 to #$01. The C2 code is called at the end of a battle while the C0 code is called when a level averaging is performed:

Code:
C2/61C0: C9 06        CMP #$06     (is it character #6, Celes?)
C2/61C2: F0 38        BEQ $61FC    (if yes, branch to see if she learns any spells)

Code:
C0/A186:    C906        CMP #$06       (is character Celes?)
C0/A188:    F02E        BEQ $A1B8      (branch if so)



RE: Character Replacing - malachitate - 04-02-2014

(04-02-2014, 10:50 AM)Madsiur Wrote: There are two places where you need to change the CMP value from #$06 to #$01. The C2 code is called at the end of a battle while the C0 code is called when a level averaging is performed:

Code:
C2/61C0: C9 06        CMP #$06     (is it character #6, Celes?)
C2/61C2: F0 38        BEQ $61FC    (if yes, branch to see if she learns any spells)

Code:
C0/A186:    C906        CMP #$06       (is character Celes?)
C0/A188:    F02E        BEQ $A1B8      (branch if so)


Right, I got ya there... So Now I ask you, is there a Way to Fundamentally Change WHO $06 is assigned to? Would it be Possible to Juggle Those Values on a Deeper Level?

i.e., To make Character Slot $01 be fully Associated with Celes? So that the Changes would Automatically Trickle-down through the Entire game?
Sprites, Pallets, Battle Statistics, etc.?

By the way, Madsiur... I really Appreciate your taking the Time to bother with me.


RE: Character Replacing - Synchysi - 04-03-2014

The easiest way to do that is probably just to swap the entirety of their character data in FF3usME.