Users browsing this thread: 1 Guest(s)
Good Lord Send Us An Esper Level Up Bonus Patch

#11
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(05-06-2016, 12:24 AM)Imzogelmo Wrote: While we worked on PB, we made several little fixes, tweaks, and engine extensions that we thought "hey, this would make a great standalone patch". A few of those did ultimately get released, although many did not, partly because we have relocated entire banks of code and data to make room for our planned changes [...]

There'S a few things from PB I'd like to see disassembled. The music player, the new element and the 24-bit monster HP code are among them. I understand you guys got to keep some things exclusive but it would have been more in an optic to understand the change than stealing them (my hack is pretty dead for now anyway). I managed to make the font selector with an event command but was unable to implement it in the menu like you guys. I though about releasing my code but decided it was pretty lame to only be able to change font via event. As for the music player, I got a japanese ASM file that implements it but there are hookups to FF6J C3 routine that are not exactly in the same place as the US version so it makes some part of the code hard to understand. I might get back to it someday.
  Find
Quote  

#12
Posts: 81
Threads: 4
Thanks Received: 6
Thanks Given: 6
Joined: Nov 2009
Reputation: 14
Status
Weakness
The Music Box was hand crafted by Lenophis himself, and so that would be his call. 24-bit HP was my doing, and it was rather hackish due to trying NOT to greatly disrupt existing function locations (translation from Imzogelmo-ese: It's a ton of JSRs to small functions that each check whether HP is looking at a monster and then if so it checks the third byte where appropriate). For instance, if you're reducing HP by 50%, you would shift the top byte right, putting that last bit into the carry, and rotate the bottom 2 bytes. For Scan, you can simply observe that there are general purpose bytes that any display function can use, and stick the 3rd byte in there and then read it out in the Scan routine. For the (FB, I think?) monster AI commands that bring back a monster at full HP, you simply look at whether it had a non-zero byte in the new expanded HP area, and copy it to your new RAM location if so (I used the bottom of the stack space for that, after many observations that the stack never grows all the way to it's limit). The actual function that adds/subtracts HP to targets had to be modified; for that I used the overflow bit (not as the processor designers intended, but merely to check if execution passed a certain point). The Elixir special effect had to be coded to see if it were being used on a monster, and to fill up that upper byte if so. Near-fatal status had to be aware of the 3rd byte... On and on it goes; just Ctrl+F for the variables that affect HP (either current or max) within C2, and you'll see every place that had to be hooked.

TLDR; 24-bit HP touches too many things to "easily" make a standalone patch. It would either take a re-write of the whole bank, or it would eat up so much free space that no other bug fixes could go in. I'm not sure if optimizing alone could resolve this, but I seriously doubt it.


I appreciate the prayers and good wishes. Those who don't know, I was diagnosed with stage 4 melanoma in 2019, and I have done well with the treatment, but eventually treatments stop working and you change.  I recently had a seizure at work, now I am healing but not able to work or really do much at all. The focus is just to get better. Again, thanks for the support and if I can help you I will.  I've forgotten more about this game than most people should ever learn, lol.
  Find
Quote  

#13
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
Yeah, I did a little work on cleaning up an existing 24-bit monster HP patch (the one I got said it was by cklein0001)... and there were quite a few things not taken into account... things as simple as healing on the 3rd byte. I cant remember everything i did on it, I think there was a death bug too... i think if the bottom 2 bytes hit 00 it would trigger death, also drains wouldn't take the 3rd byte into account (i think this is how i found the death bug)... so yeah. I'm sure there's a bunch of other stuff i never got around to also.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite