FF6 Hacking
Making Gogo "normal" - 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: Making Gogo "normal" (/thread-2640.html)

Pages: 1 2


Making Gogo "normal" - Scorcher - 07-21-2014

I want to make it so Gogo no longer has the customizable commands, how do I do this? I'm using WindHex.


RE: Making Gogo "normal" - GrayShadows - 07-21-2014

Okaaaay. Looking at bank C3, I think you can actually make that switch just by changing one byte so that you bypass a lot of code.

Code:
C3/2244:    A509        LDA $09        (from C3/2222)
C3/2246:    8980        BIT #$80       (did you press B?)
C3/2248:    F00A        BEQ $2254      (branch if not, BPL...)
C3/224A:    20A90E      JSR $0EA9
C3/224D:    A904        LDA #$04
C3/224F:    8527        STA $27        (init the main menu, queue up to execute at C3/1A8A)
C3/2251:    6426        STZ $26        (fade out)
C3/2253:    60          RTS

That BEQ $2254 takes you to the code that handles Gogo's custom status menu, where it checks for Gogo and then exits (via RTS) if the character is not Gogo. Which meaaaaans that you /should/ be able to just RTS instead. I think.

This is untested! But give this a try. Change:

Code:
C3/2248:    F00A

to

Code:
C3/2248:    F009

which points that BEQ to C2/2253 instead of /2254, aka the closest RTS.


RE: Making Gogo "normal" - Scorcher - 07-21-2014

It sort of works, but it still has the cursor on the status menu, it doesn't do anything and won't move.


RE: Making Gogo "normal" - GrayShadows - 07-21-2014

Okay, this section of code looks relevant:

Code:
DP $26 is #$0B - initiate the status screen
C3/1C46:    202F35      JSR $352F      (from C3/01F1, turns off DMA and HDMA transfers, turns the screen off)
C3/1C49:    200B62      JSR $620B      (do a DMA transfer)
C3/1C4C:    20055D      JSR $5D05      (put status screen in VRAM?)
C3/1C4F:    205D1C      JSR $1C5D
C3/1C52:    A901        LDA #$01
C3/1C54:    8526        STA $26        (transition process)
C3/1C56:    A90C        LDA #$0C
C3/1C58:    8527        STA $27        (queue up to execute at C3/21F5)
C3/1C5A:    4C4135      JMP $3541

C3/1C5D:    7B          TDC
C3/1C5E:    A528        LDA $28
C3/1C60:    0A          ASL A
C3/1C61:    AA          TAX
C3/1C62:    B46D        LDY $6D,X
C3/1C64:    B90000      LDA $0000,Y    (load character ID)
C3/1C67:    C90C        CMP #$0C       (Is this Gogo?)
C3/1C69:    D00D        BNE $1C78      (branch if not)
C3/1C6B:    20FF36      JSR $36FF      (get hotspot data)
C3/1C6E:    200837      JSR $3708      (set finger positioning)
C3/1C71:    A906        LDA #$06
C3/1C73:    0446        TSB $46
C3/1C75:    4CB007      JMP $07B0      (finger OAM initiating)

C3/1C78:    A906        LDA #$06
C3/1C7A:    1446        TRB $46
C3/1C7C:    60          RTS

You want to avoid this bit of code, too. Try changing:

Code:
C3/1C4F:    205D1C      JSR $1C5D

to

Code:
C3/1C4F:    20781C      JSR $1C78

and see what happens.


RE: Making Gogo "normal" - Scorcher - 07-21-2014

It worked for the most part but I'm okay with that, whenever I switched to "Gogo" from another character in the status menu it still shows that cursor, but other than that, it works just fine.


RE: Making Gogo "normal" - GrayShadows - 07-21-2014

Aha! Found it. There are two more JSR to $1C5D -- you just need to change the same thing at C3/2218 and C3/223E. That'll fix it right up.

ETA: Also, if you're looking at giving Gogo a magic list, that's doable, too, but you need to rearrange some RAM. I've got a patch finished that requires a special case for Gogo, rearranging RAM addresses that aren't altered too much (treasure chest bytes -- if you're working with other patches, this is the most compatible), but I'm also working on one that moves more-frequently-patched RAM addresses -- Morph timer, learned Blitzes, learned SwdTech, etc -- that'll be less compatible if you use any patches that affect those abilities. The advantage to the second patch is that it places Gogo's learned magic in the patch immediately following everyone else's, so you can use the regular game code (with a couple of minor CMP alterations).


RE: Making Gogo "normal" - Scorcher - 07-21-2014

Where is that first patch you mentioned?


RE: Making Gogo "normal" - GrayShadows - 07-21-2014

It's not posted anywhere yet, but the .asm is available here. It's a modification of work I did originally for the 15th Man project (so Iris could have a spell list).


RE: Making Gogo "normal" - Scorcher - 07-21-2014

Don't worry about that actually, all I wanna know how to do now, is make it so he has a normal battle entry pose other than the whole: "SPINNING IN CIRCLES!!!!!" thing.


RE: Making Gogo "normal" - Gi Nattak - 07-21-2014

look here for that:
https://www.ff6hacking.com/forums/showthread.php?tid=2251&highlight=asked+the