Users browsing this thread: 1 Guest(s)
Functional Umaro Patch

#21
Posts: 276
Threads: 33
Thanks Received: 104
Thanks Given: 66
Joined: Feb 2017
Reputation: 19
Status
None
(10-10-2018, 10:42 PM)madsiur Wrote: Does it remove only the sound effect and the pause after? Because that free 6 bytes while you need at least 16 bytes to add Umaro code.

Actually, you need to free up 24 bytes... 8 for the first routine and 16 for the second. I did the following removals:

I removed these 4 bytes from the beginning of each routine:
3B: "Position character in a 'ready-to-go' stance
F4 4F: Play sound effect 79
92: Pause for 30 units

And these 2 bytes from the end of both:
92: Pause for 30 units
3A: Enable player to move while event commands execute

Then, for the CC/351E routine (unequip all), I realized that it was redundant to keep loading the caseword with collected characters, so I removed 12 instances of the E1 command. That got me up to the necessary 24 free bytes. It is not possible to optimize it any more than what that patch does though.


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  

#22
Posts: 3,615
Threads: 264
Thanks Received: 664
Thanks Given: 270
Joined: Oct 2011
Reputation: 60
Status
Faith
(10-10-2018, 11:09 PM)PowerPanda Wrote: Then, for the CC/351E routine (unequip all), I realized that it was redundant to keep loading the caseword with collected characters, so I removed 12 instances of the E1 command.

That is a very good optimization. I wouldn't call removing an SFX an optimization though but your way does the job. At the same time using free space is not a sin, sometimes people are reluctant to it but it has no difference aside of as an example you expand the ROM to do so.



  Find
Quote  

#23
Posts: 276
Threads: 33
Thanks Received: 104
Thanks Given: 66
Joined: Feb 2017
Reputation: 19
Status
None
(10-11-2018, 09:47 AM)madsiur Wrote:
(10-10-2018, 11:09 PM)PowerPanda Wrote: Then, for the CC/351E routine (unequip all), I realized that it was redundant to keep loading the caseword with collected characters, so I removed 12 instances of the E1 command.

That is a very good optimization. I wouldn't call removing an SFX an optimization though but your way does the job. At the same time using free space is not a sin, sometimes people are reluctant to it but it has no difference aside of as an example you expand the ROM to do so.

True, but if you modify an event within the bounds of that event, you ensure compatibility. Using free space introduces the danger of patch conflicts.

I toyed around with putting all of the following into a subroutine, but it takes 4 bytes to call a subroutine, and only 3 bytes to play the sound effect and pause. Since I was so pressed for space, I opted for the 3-byte sound effect.

Note that in the version I'm actually putting out, I use freespace created by the Cyan's Uneventful Dream patch, as the routine is expanded by 72 bytes for 3 extra characters.

Code:
3B: "Position character in a 'ready-to-go' stance
92: Pause for 30 units
F4 4F: Play sound effect 79
92: Pause for 30 units
F4 4F: Play sound effect 79
92: Pause for 30 units
3A: Enable player to move while event commands execute (note: I don't know if this will do anything if nested in a subroutine)
FE: End


Projects:
Divergent Paths: The 3 Scenarios (Completed) - a redo of the 3 scenarios in the original game that gives equal time to each group. Meant to be a basis for future mods.
FFVI: Divergent Paths (In Progress) - a hack built off of the 3 scenarios that changes other events in the same, such as making Leo permanently recruitable, bringing Banon's story closure, and adding 1 more secret character.
  Find
Quote  

#24
Posts: 3,615
Threads: 264
Thanks Received: 664
Thanks Given: 270
Joined: Oct 2011
Reputation: 60
Status
Faith
(10-11-2018, 11:15 AM)PowerPanda Wrote: True, but if you modify an event within the bounds of that event, you ensure compatibility. Using free space introduces the danger of patch conflicts.

One of the job of a ROM hacker is to manage free space and patch conflicts. If you can fit in the same event additional code it's good, but that require often a sacrifice, sometime not noticeable but sometimes noticeable. I don't see any downside with using free space if you provide the proper documentation. The problem is then on the patches that provide none.



  Find
Quote  

#25
Posts: 226
Threads: 16
Thanks Received: 10
Thanks Given: 35
Joined: Dec 2017
Reputation: 2
Status
None
Hah, you guys are masters at freeing up bytes. I am already finding myself enjoying Umaro a whole lot more in my hack; in fact, I have now given him his own unique set of equipment: the bone set. The useless Bone Mail introduced by Fedorajoe is now unique armor only equippable by Umaro and is no longer cursed. Likewise, I have also changed the Thornlet to a Skull Helmet that is also only equippable by Umaro. This also lines up with with Umaro's Bone Club that he starts with.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite