Users browsing this thread: 6 Guest(s)
Pony Fantasy VI Remake

Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(05-05-2016, 09:19 PM)DrakeyC Wrote: The Statues, I know the two side ones use the same lower third for their base. The new sprites Rydel made, the left statue needs to have its base flipped to display right.

There are 2 solutions:

1) You make an centered and isometric base (flipped or not will look the same)

2) You reorder the sprite tile in the code / data (don't know where or how though, maybe OAM data).
  Find
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
Well, that's interesting. I solved it by accident. I think it was a pointer issue, the left-side statue was slightly too far to the left in the sprite sheet. Moved it over and presto, all good. Cool. Laugh I didn't do that expecting it to fix it, I was just checking out how the sprites worked.
  Find
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
Recruited Umaro... his magic isn't working. His learn rates are once again all over the place, and when I won a battle he got a magic point and learned Sleep and Meteor (I didn't have anything on him to teach him those). I have a save state from before recruiting him though.

Also because he uses palette 6 (I presume), he doesn't show up right in the party select screen and palette swaps every time I select a different character.

What now?
  Find
Quote  

Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
The patch is made for Gogo, which as the first character after regular magic users, has a new magic block in SRAM after the regular ones. The games write and read in SRAM based on the index of the character. For Gogo it works, but Umaro is the block after (Gogo ID + 1) and the SRAM there is used by the config data. The solution would be to write a condition each time magic is read/write from/to SRAM. In other words, if it's Umaro ID, point to Gogo's SRAM spot.
  Find
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
So how do I do that?
  Find
Quote  

Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
I'll see what I can do today to help.
  Find
Quote  
[-] The following 1 user says Thank You to madsiur for this post:
  • DrakeyC (05-08-2016)

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
Thank you. Smile

So other folks reading the thread know; the magic is fixed, and I just moved Umaro to palette 0 so all is well again. Smile

Three things. First; the Genji Glove and Gauntlet aren't trigger Umaro's auto-re-equip, not sure how to fix. Second, I think this is something Resilient Morph may have done, when Morphed Terra takes more damage from enemy attacks. Presuming it's an easy fix I don't want that.

Third, trying to get my bonus boss working; the fight initiates fine by inspecting Gestahl's portrait, but if the party dies, I just want them to respawn before the painting at 1 HP, instead of a game over. Here's how the Terra fight at the start of the game does things, when you fight the guards with the Moogles.

Code:
CC/AABA: 8B    For character $31 (Party Character 0), take HP and add 1
CC/AABD: 8B    For character $32 (Party Character 1), take HP and add 1
CC/AAC0: 8B    For character $33 (Party Character 2), take HP and add 1
CC/AAC3: 8B    For character $34 (Party Character 3), take HP and add 1
CC/AAC6: 88    Remove the following status ailments from character $31 (Party Character 0): Float, Dog Block, Hide, Chant (Casting Spell), Morph (Esper-form), Instant Death Protection, Frozen, Rage, Death (Wound), Petrify (Stone), Imp, Vanish (Clear), M-Tek, Poison, Zombie, Dark
CC/AACA: 88    Remove the following status ailments from character $32 (Party Character 1): Float, Dog Block, Hide, Chant (Casting Spell), Morph (Esper-form), Instant Death Protection, Frozen, Rage, Death (Wound), Petrify (Stone), Imp, Vanish (Clear), M-Tek, Poison, Zombie, Dark
CC/AACE: 88    Remove the following status ailments from character $33 (Party Character 2): Float, Dog Block, Hide, Chant (Casting Spell), Morph (Esper-form), Instant Death Protection, Frozen, Rage, Death (Wound), Petrify (Stone), Imp, Vanish (Clear), M-Tek, Poison, Zombie, Dark
CC/AAD2: 88    Remove the following status ailments from character $34 (Party Character 3): Float, Dog Block, Hide, Chant (Casting Spell), Morph (Esper-form), Instant Death Protection, Frozen, Rage, Death (Wound), Petrify (Stone), Imp, Vanish (Clear), M-Tek, Poison, Zombie, Dark
CC/AAD6: 7E    Move characters to (14, 11)
CC/AAD9: 31    Begin action queue for character $31 (Party Character 0), 2 bytes long (Wait until complete)
CC/AADB: 28        Do vehicle/entity graphical action $28
CC/AADC: FF        End queue
CC/AADD: 7B    Restore backup party (in $055D) to active status
CC/AADE: FE    Return

CC/AADF: 4C    Center screen on party and invoke battle, enemy set $05, background $3F (Default for this area), (mosaic effect enabled), (swoosh sound enabled)
CC/AAE2: B7    If bit $1DC9($40) [$1DD1, bit 0] is clear, branch to $CCAAEC
CC/AAE7: B2    Call subroutine $CCAABA
CC/AAEB: FE    Return

CC/AAEC: 96    Restore screen from fade
CC/AAED: 5C    Pause execution until fade in or fade out is complete
CC/AAEE: F4    Play sound effect 45
CC/AAF0: 42    Hide object $13
CC/AAF2: 45    Refresh objects
CC/AAF3: DD    Clear event bit $1E80($60A) [$1F41, bit 2]
CC/AAF5: 7B    Restore backup party (in $055D) to active status
CC/AAF6: FE    Return

CC/AADF: 4C    Center screen on party and invoke battle, enemy set $05, background $3F (Default for this area), (mosaic effect enabled), (swoosh sound enabled)
CC/AAE2: B7    If bit $1DC9($40) [$1DD1, bit 0] is clear, branch to $CCAAEC
CC/AAE7: B2    Call subroutine $CCAABA
CC/AAEB: FE    Return

Here's what I did, using the event bit for the Emperor's letter, since that event has been converted to the fight

Code:
CA/6530: F4    Play sound effect 61
CA/6532: 55    Flash screen with color component(s) 2 (Red), at intensity 0
CA/6534: 4D    Invoke battle, enemy set $96, background $20 (Owzer's House), (mosaic effect enabled), (swoosh sound enabled)
CA/653F: C0    If ($1E80($0A4) [$1E94, bit 4] is clear), branch to $CA6570
CA/6545: B2    Call subroutine $CA658A
CA/6549: FE    Return

Then at CA/6570 I have the code above from CC/AABA, hex dumped and inserted; the jump to CA/658A is to the FE, return.

So, summary of all that - it doesn't work. I still get a game over.
  Find
Quote  

Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
1) To enable Umaro access to the Gauntlet/Genji Glove auto equip feature like the other characters, that is happening here in C3:
C3/9EF4: C90D     CMP #$0D       (Is it Umaro?)
C3/9EF6: F007     BEQ $9EFF      (branch if so)

EA EA EA EA should do the trick. I can't think of any adverse effects from doing this. You can increase it to 0E if you want instead.

2) As for the Resilient Morph issue, that is how version 1.0 of it was. So that's what must be in the gogo magic code as well. You should look into updating to the latest version:
http://www.romhacking.net/hacks/1138/

However, I think without reverting the old resilient morph data the damage change will still happen, so you might want to contact HatZen here via PM about what to change back since version 1.0 of the patch is not available to check and I forget exactly what it was as it's been a couple years. As for the latest version being compatible with the gogo magic code, I'm not sure, but I think it is okay I am using the latest version of Resilient Morph with it and don't remember needing to update anything with gogo magic, but my memory is pretty bad at times...

Or was it that you used Resilient Morph patch already outside of the gogo magic code, in order to make the gogo magic patch work? But no, then that would be the latest version... Hm I can't remember what it was now but I'm wondering if you wanted to use Resilient Morph or got stuck using it as a result of the gogo magic patch? I thought everything Resilient Morph could be removed/left out of the gogo patch and everything else would still work, I don't see why not. Unless you like it, and just want to change the double damage received part, then yeah HatZen could help you revert that.

3) For your event there, it's hard for me to tell without having it here to look at and test, but it definitely sounds like you're still activating the game over subroutine somewhere after that battle, or else it would not happen. The subroutine after pretty much every battle:
B2    Call subroutine $CA5EA9
must be being called in there somewhere after that battle...

Did you include that whole code you posted from the moogle battle? Most of that wouldn't be needed and would definitely mess things up, but I'm guessing you meant you used just the 'take HP and add 1' and remove status parts and not the whole thing you pasted here?

Also I'm a bit confused about that subroutine to CA/658A at the end. That's just a jump to an FE and that's it? This wouldn't make much sense if there's an FE right after this to end it and I can't think of a reason for doing this, so I'm wondering if there's more code there or if you meant something else. It also look like important tile replacement code at that address, unless you removed/moved that. I'm just confused overall about this subroutine.

But yeah if you're getting a gameover, the gameover subroutine is still being called somewhere there, through one of the subroutines you are calling that might branch to it, or some code that is left in - look for that death subroutine. Also it probably goes without saying but be sure and test from before the battle, not from a save state during the battle where the gameover routine might still be being read if it was before you edited it out.
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
Umaro working, thank you Smile

For Resilient Morph, me being me I forgot to comment out the stuff for it from the Gogo patch, and Morph wasn't running out, it was lasting forever. So I applied Resilient Morph after Gogo magic. I'll try the new version and then PM HatZen and see if he knows a manual change. (EDIT - That's the version I already have. I'll PM him.)

For the battle, yes, I just included the HP and status stuff. Why I jumped to the FE at the end, I admittedly don't know.

That said, there is a lot more stuff here being done to set up the battle, including various event bits being set, but I have no idea which ones may affect the game over happening or not. If I had to guess, I'd say one of these is the trick; both the Terra battle and the Narshe battle against Kefka set these three bits at the start of things, then clear them after the fight. But the Phoenix Cave only sets Bit 6, which makes me wonder what the other two do. Is it save to just test setting them on initiating the battle and then clearing them after? It looks like they're used for other events so I'm not fully sure.

Code:
CC/AA99: D2    Set event bit $1E80($1CE) [$1EB9, bit 6] (Enables party switching with the Y button)
CC/AA9B: D2    Set event bit $1E80($1CA) [$1EB9, bit 2]
CC/AA9D: D2    Set event bit $1E80($1C1) [$1EB8, bit 1]
  Find
Quote  

Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
This is the part of damage modification that's affected by Morph, and though I haven't checked HatZen's documentation, this is definitely what his patch changes.

This is what it should look like if you want vanilla Morph damage modification (halve magical damage only), which you do if I understand correctly. If you DON'T want Morph to affect damage taken at all, change the BEQ to a BRA (that's "80" instead of "F0" at C2/0D1C. If you want it to affect physical damage too, replace the "80 0B" at C2/0D15 with "EA EA" (NOP x2).

Code:
C2/0D15: 80 0B        BRA $0D22      (Skip morph if physical attack)
C2/0D17: B9 F9 3E     LDA $3EF9,Y
C2/0D1A: 89 08        BIT #$08
C2/0D1C: F0 04        BEQ $0D22      (Branch if target not morphed)
C2/0D1E: 46 F1        LSR $F1
C2/0D20: 66 F0        ROR $F0        (Cut damage in half)
  Find
Quote  



Forum Jump:

Users browsing this thread: 6 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite