Final Requests for Help - 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: Final Requests for Help (/thread-4095.html) |
RE: Final Requests for Help - assassin - 04-07-2021 it gets trickier in that Y needs to be restored for the $3A01 branch. so you'll want to use the space created by the NOP'ed STA to turn the PLY into relocated twins. RE: Final Requests for Help - PowerPanda - 04-07-2021 (04-07-2021, 12:11 AM)Drakkhen Wrote: Drakkhen, you mad genius, that's it. This should honestly be released as a standalone patch. I can't imagine someone not wanting it, even in a mostly vanilla playthrough. Do you want to do that, or do you want me to? assassin Wrote:it gets trickier in that Y needs to be restored for the $3A01 branch. so you'll want to use the space created by the NOP'ed STA to turn the PLY into relocated twins.Not sure I understand. In my initial tests, Drakkhen's code seems to be working. It says "couldn't steal" until both items have been stolen, and then displays "doesn't have anything" once they are both gone. I changed the chance between the common and the rare to a 50/50 for testing purposes, and it seemed to work both ways. Is something screwy going on in the background that I'm not seeing? Also, I have updated the original post with one more "just for fun" thing. Kappa is now unaffected by the imp status, but it would be fun if, when Imp is cast on her, she turns into a human (Sprite 13 - the merchant). I already have code to dummy out changing the character's portrait when they have imp status, so the lack of portrait is not a concern. RE: Final Requests for Help - Drakkhen - 04-07-2021 (04-07-2021, 10:17 AM)assassin Wrote: it gets trickier in that Y needs to be restored for the $3A01 branch. so you'll want to use the space created by the NOP'ed STA to turn the PLY into relocated twins. Ah, yep, missed that. I believe this should fix it: Code: C2/399E: A3 05 LDA $05,s Quote:This should honestly be released as a standalone patch. Do you want to do that, or do you want me to?Have at it RE: Final Requests for Help - assassin - 04-07-2021 PowerPanda: Y needed restoring so that C2/3A01 would write to the proper counterattack variable when reached via C2/39E7. RE: Final Requests for Help - PowerPanda - 04-07-2021 Okay, I've gotten it working. Drakkhen, your full code was missing line C2/39D8, which had been nopped out in the previous version. I finally figured out that it needed to be restored to 5A in order for the later 7As to work. So the full code changes, in case anyone wants to duplicate it, are as follows: Code: ;Presented with the original value, and the value to change it to underneath, marked with "->" RE: Final Requests for Help - assassin - 04-07-2021 1) C2/39D8's "PHY" isn't missing; it was deliberately moved to C2/39AC. 2) accordingly, your list of code changes is FAR from full. nearly half of the function is shifted forward 1 byte! most changes here are trivial, but nonetheless necessary for anybody who's typing in these bytes by hand (something i cannot recommend, btw). better to just get xkas or asar, assemble his code, and then use a program like DOS's file compare (Windows command line usage example: "fc/b [file1] [file2] > diffs.txt") to get a full list of changed bytes. trying to manually track this stuff is a recipe for aggravation and oversights. RE: Final Requests for Help - PowerPanda - 04-07-2021 (04-07-2021, 08:15 PM)assassin Wrote: 1) C2/39D8's "PHY" isn't missing; it was deliberately moved to C2/39AC. I tried several things, including xkas. Is there a reason that the PHY was moved to C2/39AC? I kept it in its place, and it *seems* to be working. I hand-entered my full list of changes into a clean untouched rom, tested it out, and I'm not noticing anything off. EDIT: Looks like I did miss that 5A at C2/39AC. My xkas file also had an error in it, and didn't compile correctly, so it reverted to my hand-entered version without me noticing. Sorry about that. That being said, my 10-byte version IS working, so if there is no real difference between the two, I'll release the smaller of the two. Note that all of my branches EXCEPT for the one at $39E7 skip over the 7A at $3A00 and just go straight to the original code at $3A01. RE: Final Requests for Help - assassin - 04-07-2021 the reason for the changes: PowerPanda Wrote:Not sure I understand. In my initial tests, Drakkhen's code seems to be working. It says "couldn't steal" until both items have been stolen, and then displays "doesn't have anything" once they are both gone. I changed the chance between the common and the rare to a 50/50 for testing purposes, and it seemed to work both ways. Is something screwy going on in the background that I'm not seeing? (04-07-2021, 01:36 PM)assassin Wrote: PowerPanda: Y needed restoring so that C2/3A01 would write to the proper counterattack variable when reached via C2/39E7. to solve this and still have stack balance, PHY needed (edit: apparently) to be moved up. Quote:My xkas file also had an error in it, and didn't compile correctly better to familiarize yourself with an assembler, than trying to pare down very functional code just to accommodate briefer hand-typing of instructions. EDIT: it's possible your latest iteration works. i thought it didn't at first, but am giving it a 3rd look. EDIT 2: haha; i think it does. i initially thought you wanted to eschew the fix and/or the requisite stack balance, but looks like you're retaining the former while accomplishing fewer edits for the latter. kudos! i stand by my comments on the worth of using assemblers, though. practice at it! it'll get easy, and prevent all sorts of busywork or outright errors. RE: Final Requests for Help - PowerPanda - 04-07-2021 Yes, I saw the obvious benefits of the assembler during my Genji Glove hack, but with my main patch at 95%+ completion, I've made the intentional decision to just keep doing what I've been doing, even though I know it's the harder way, rather than switch to a new process right at the end. I mean, I have one or two more C2 edits to do at this point (see first post), and the rest is animation and event code, which doesn't gain much benefit from assembly. But you don't have to win me over on assembly. if I do another hack after this one, I'm doing that from the start. RE: Final Requests for Help - C-Dude - 04-08-2021 You asked in the shout-box about the Airborne Imp bug. This will not only concern Palidor, but also your Celes if she gets imped after she's queued a jump but before she's leapt into the air. That's how I discovered the bug, actually, with a dedicated jumper and with a jumping Imped enemy. Code: ==================================== Uses 21 bytes in C2. You can put it in another bank's freespace if you instead make a long jump (JML) from 02A0, but that command uses four bytes instead of three and thus doesn't fit in the existing space. You would have to recreate some of the surrounding code that you displace with the JML. Imps will still be able to jump when forced (as in, they have a jump queued or Palidor intercedes), but they will come back down from those jumps instead of replacing the 'land' action with a fight command. |