Problem: It's probably been asked before, but I ran a few searches for "Final Fantasy" in this forum and couldn't find anything like this, so here goes. I would like to give a couple characters in my FF4j game (patched with JCE's translation) access to some extra magic menus (specifically I'm trying to give Kain limited Black magic, in particular Psych and Drain (in imitation of the Lancet ability), and I'm trying to give the adult Rydia her White magic menu back).
Here is what little I do know regarding my problem:
----------------------------------------------------------------------
*I know where Character Menu Commands are located in the ROM and which addresses apply to which characters. So giving a character the actual "Black", "White", etc. commands, I can do.
*I know where Spells Learned data is kept (like when Cecil learns the Sight spell at level 3, that's "03 17" at the start of that section of the ROM) and what most of the numbers themselves mean (using "FF" or multiple "FF"s to segment the different characters' submenus).
*I know where the Starting Spells data is kept for characters like Tella and FuSoYa.
----------------------------------------------------------------------
These are the parts I couldn't find in JCE's documentation and don't know anything about:
--------------------------------------------------------------------------------------------------------------------
*The pointers (or whatever method the ROM uses) for the different magic menus for each character. As an example: I could give Kain the !Black command, but it'll be completely empty, and I have no idea how to get spells in there via the ROM (actually I'm not even sure if there are GG codes for that).
*How the Spells Learned and Starting Spells data is read while the game is playing. For example, if I paste either set of data from the original Japanese version to the American 1.1 ROM, the data is used properly (so Rosa will learn Dspel, Armor and Shell normally through levelling up, something that doesn't happen in the American ROM). But, if I write in my own series of Spells Learned data, while starting from the same point in the ROM and using the exact same sequence of "FF" breaks, the characters won't learn any spells through levelling up -at all-.
--------------------------------------------------------------------------------------------------------------------
I guess my question consists of this: Is this a simple manner of finding a table with pointers, that I can then reassign after finding it, or do the magic menus in FF4j use routines to determine how spells are learned/kept for each character that would require knowledge of ASM to rewrite? I'm hoping it's the former, as my knowledge of assembly hacking is zero . I've considered doing a sprite swap for Rydia, but I'd rather avoid that if possible. Thanks for any advice in advance.