Users browsing this thread: 39 Guest(s)
Finishing Off The Complete Roster Hack

#20
Posts: 617
Threads: 49
Thanks Received: 0
Thanks Given: 5
Joined: Feb 2017
Reputation: 25
Status
None
As you've probably seen over on the patches and bugfixes forum, I released the patch "Cyan's Uneventful Dream", which fixes the issue with there not being enough NPC slots in Cyan's dream, and also frees up 1600 bytes in bank CB. With the extra event space, I took to expanding the subroutines. I finished that off today with the 3.5 subroutines that needed editing.

1. Check # of Characters In the Current Party (CA/C5C1)
There are a ton of branches off of this subroutine. I was able to move the first 2 branches ($16 bytes total) to the new free space and expand the main chunk of the routine by the requisite $10 bytes to check slots $0E and $0F

2. Check for which characters should appear as NPCs on the Falcon (CA/E90B)
There are 3 steps to this subroutine, which runs as the auto-event for the top deck of the Falcon. First, it toggles off all of the event bits that control the character NPCs in the main room. Then, it checks characters you have recruited and toggles the bits back on. Finally, it checks characters in your current party and toggles those 4 bits off. I moved the 3rd step to bank CB, and used the remaining space to expand steps 1 and 2. Two notes: First, characters $0E/$0F were assigned NPC event bits 524/525, two of the bits cleared up by "Cyan's Uneventful Dream". Second, this has left $5C bytes of free data that can be added to this subroutine, which should leave aspiring hackers plenty of room to toggle additional event bits or NPCs on the Falcon.

3a. Unequip All Characters (New Location: CB/853B)
This entire branch of the unequip options was moved to the new free space. It has been expanded to include characters $0D, $0E, and $0F. If I release an optional subpatch that moves Umaro to profile $0F, I'll dummy out the $0F portion. This routine was optimized to only take $6 bytes more than the original.

3b. Unequip Those Not In Your Party (New Location: CC/351E)
I relocated "unequip all characters" so I would have room to expand this lengthier routine in place. It required a full $30 extra bytes to add in characters $0D, $0E, and $0F. There are $4F bytes of free space following this expanded routine.

I did not touch the following subroutines:
* The Inn Subroutine
* NPCs on the Blackjack
* Unequipping and Unenlisting characters during the destruction of the world
The Inn did not need editing, as it targets party character 0-3, rather than actor slots. For the Blackjack and the world destruction scene, the current setup of this hack does not allow for adding characters $0E/$0F prior to the World of Ruin, so they did not need to be edited.

As one final note, I've started looking into the shop OAM. I think I've figured out how to expand the pointers for sprite animation, so that you would get a fully-animated soldier and imp in slots $0E/$0F. If I can get that working, I'll look into combining that with a small portion of m06's unfinished "sprite expansion" project that APPEARS to load shop sprites IDs from SRAM rather than from absolute IDs. That's next on my list at least. Let's hope it works.


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  



Messages In This Thread
RE: Finishing Off The Complete Roster Hack - by PowerPanda - 07-28-2018, 12:36 AM

Forum Jump:

Users browsing this thread: 39 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite