Users browsing this thread: 1 Guest(s)
"Normalising" Umaro & Gogo

#1
 
Status
None
In my hack, I've changed Umaro & Gogo into two new characters, and I'm trying to make them behave as much as a "normal" character as possible. I'm stuck on a couple of minor final things, though. Here is my list of progress:

•Change character sprites/faces/names/data—Complete
•Cause names to appear correctly in ending scene—Complete
•Change dialogues at the times the characters join—Complete
•Change (pertinent) Umaro monster data/script/graphic (to new boss)—Complete
•Cause Umaro to be controllable in battle—Complete
•Cause Umaro's equip menu to be accessible as normal—Complete
•Cause Umaro & Gogo to be able to learn & use all spells—Complete
•Change "equipability" of certain items to include Umaro & Gogo—Complete
•Cause Gogo's Espers menu in Skills to be accessible, allowing Esper equip—Incomplete
•Remove Gogo's ability to change battle commands in Status screen—Incomplete

Those last 2 items are what I need help with. I've done extensive searching and have used a wealth of tools, including hex editing, to get the hack where it is so far, but I've had no luck achieving those last 2 goals.

I believe that list is exhaustive (i.e., if completed, you could have 2 fully-functioning normal characters), but it's off the top of my head, and I've been too lazy to keep a changelog.

EDIT: The second-to-last item has been completed; I can now access Gogo's Esper menu and equip espers.

EDIT: The last item is now completed! Please see the newest post in the thread for thanks & how it was done.
 
 

#2
Posts: 3,966
Threads: 279
Thanks Received: 233
Thanks Given: 56
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
I believe this code is preventing Gogo From accessing the Esper menu. I haven't tested this but there is a couple more restrictions in bank C3 regarding Gogo's menus. You can make a search for "#$0C" or "CMP #$0C" or "gogo" (duh). Here the easiest way to remove the condition is to replace the CMP #$0C by two NOP instructions.

Code:
C3/4D6C:    B90000      LDA $0000,Y
C3/4D6F:    C90C        CMP #$0C
C3/4D71:    D004        BNE $4D77      (Branch if it's not Gogo)
C3/4D73:    A924        LDA #$24
C3/4D75:    8579        STA $79        (disable esper menu)
C3/4D77:    60          RTS


As for your second question, there is at least two routines related to the status screen that have conditions on Gogo's chharacter number, maybe more. You could try NOP those conditions as well. The routines are located at C3/1C5D and C3/2254.
  Find
 

#3
 
Status
None
Thanks very much for your quick response, Madisur.

TBH, I'm not sure how to NOP anything, so I don't quite understand the suggestion for preventing Gogo from changing his battle commands.

I did manage to, using the values your provided, change the 0C to 0E for his Esper equipping, which in theory would allow it to work because the game would check if it's someone not in your main group rather than Gogo. Turns out it did work, muchly appreciated!

Could you clarify your second suggestion for a simpleton, or perhaps point me in the right direction?
 
 

#4
Posts: 3,966
Threads: 279
Thanks Received: 233
Thanks Given: 56
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
NOP means "no operation" and it's instruction EA. So you could just write EA EA instead of C9 0C.

There are two others similar instructions in the routine I pointed to you. You can download the C3 bank disassembly from http://slickproductions.org/ and look it up yourself, you'll see the "CPM #$0C".
  Find
 

#5
 
Status
None
Update: Although I could have followed Madisur's suggestion to NOP events (great quick explanation btw!), I used the same strategy as I previously used to solve the second problem.

I have to thank Madisur for pointing me in the right direction: I had a feeling both of these problems were "if-then" checks by the game and was hoping to be able to target the byte it checks and simply change it, but I didn't have the offsets. Madisur confirmed for me that this is the case, and provided me the correct offset for the Espers menu.

After reviewing Angelo's reply in the "Locke to Gogo" thread, i obtained all three offsets for checking if it's Gogo before entering a status menu, and similarly changed the byte it checks to 0E. Voilà!

Thanks Madisur & Angelo, your work and help have been invaluable!
 
 

#6
Posts: 3,966
Threads: 279
Thanks Received: 233
Thanks Given: 56
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Sice the problem is solved, I'll close this.
  Find
 



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite